diff --git a/CHANGES b/CHANGES index cd435524..8cfdec68 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,50 @@ https://github.com/openssl/openssl/commits/ and pick the appropriate release branch. + Changes between 1.0.2r and 1.0.2s [28 May 2019] + + *) Change the default RSA, DSA and DH size to 2048 bit instead of 1024. + This changes the size when using the genpkey app when no size is given. It + fixes an omission in earlier changes that changed all RSA, DSA and DH + generation apps to use 2048 bits by default. + [Kurt Roeckx] + + *) Add FIPS support for Android Arm 64-bit + + Support for Android Arm 64-bit was added to the OpenSSL FIPS Object + Module in Version 2.0.10. For some reason, the corresponding target + 'android64-aarch64' was missing OpenSSL 1.0.2, whence it could not be + built with FIPS support on Android Arm 64-bit. This omission has been + fixed. + [Matthias St. Pierre] + + Changes between 1.0.2q and 1.0.2r [26 Feb 2019] + + *) 0-byte record padding oracle + + If an application encounters a fatal protocol error and then calls + SSL_shutdown() twice (once to send a close_notify, and once to receive one) + then OpenSSL can respond differently to the calling application if a 0 byte + record is received with invalid padding compared to if a 0 byte record is + received with an invalid MAC. If the application then behaves differently + based on that in a way that is detectable to the remote peer, then this + amounts to a padding oracle that could be used to decrypt data. + + In order for this to be exploitable "non-stitched" ciphersuites must be in + use. Stitched ciphersuites are optimised implementations of certain + commonly used ciphersuites. Also the application must call SSL_shutdown() + twice even if a protocol error has occurred (applications should not do + this but some do anyway). + + This issue was discovered by Juraj Somorovsky, Robert Merget and Nimrod + Aviram, with additional investigation by Steven Collison and Andrew + Hourselt. It was reported to OpenSSL on 10th December 2018. + (CVE-2019-1559) + [Matt Caswell] + + *) Move strictness check from EVP_PKEY_asn1_new() to EVP_PKEY_asn1_add0(). + [Richard Levitte] + Changes between 1.0.2p and 1.0.2q [20 Nov 2018] *) Microarchitecture timing vulnerability in ECC scalar multiplication diff --git a/Configure b/Configure index c7066dc9..3846c913 100644 --- a/Configure +++ b/Configure @@ -475,6 +475,7 @@ my %table=( "android-x86","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:".eval{my $asm=${x86_elf_asm};$asm=~s/:elf/:android/;$asm}.":dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "android-armv7","gcc:-march=armv7-a -mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "android-mips","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"android64-aarch64","gcc:-mandroid -fPIC -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -Wall::-D_REENTRANT::-pie%-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${aarch64_asm}:linux64:dlfcn:linux-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", #### *BSD [do see comment about ${BSDthreads} above!] "BSD-generic32","gcc:-O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", diff --git a/MINFO b/MINFO index be13ba47..9ec84a0e 100644 --- a/MINFO +++ b/MINFO @@ -1,1460 +1,1460 @@ -RELATIVE_DIRECTORY=. -AES_ENC=aes-586.o vpaes-x86.o aesni-x86.o -AR=ar r -ARFLAGS= -AS=cl -c -ASFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -BASEADDR=0xFB00000 -BASENAME=openssl -BF_ENC=bf-586.o -BN_ASM=bn-586.o co-586.o x86-mont.o x86-gf2m.o -BUILDENV=LC_ALL=C PLATFORM='VC-WIN32' PROCESSOR='' CC='cl' CFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM' AS='cl' ASFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -c' AR='ar r' NM='nm' RANLIB='true' RC='windres' CROSS_COMPILE='' PERL='perl' ENGDIRS='ccgost' SDIRS='objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac' LIBRPATH='/usr/local/ssl/lib' INSTALL_PREFIX='' INSTALLTOP='/usr/local/ssl' OPENSSLDIR='/usr/local/ssl' LIBDIR='lib' MAKEDEPEND='$$$./util/domd $$$. -MD makedepend' DEPFLAG='-DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS' MAKEDEPPROG='makedepend' SHARED_LDFLAGS='' KRB5_INCLUDES='' LIBKRB5='' ZLIB_INCLUDE='' LIBZLIB='' EXE_EXT='' SHARED_LIBS='' SHLIB_EXT='' SHLIB_TARGET='' PEX_LIBS='' EX_LIBS='' CPUID_OBJ='x86cpuid.o' BN_ASM='bn-586.o co-586.o x86-mont.o x86-gf2m.o' EC_ASM='' DES_ENC='des-586.o crypt586.o' AES_ENC='aes-586.o vpaes-x86.o aesni-x86.o' CMLL_ENC='cmll-x86.o' BF_ENC='bf-586.o' CAST_ENC='cast-586.o' RC4_ENC='rc4-586.o' RC5_ENC='rc5-586.o' SHA1_ASM_OBJ='sha1-586.o sha256-586.o sha512-586.o' MD5_ASM_OBJ='md5-586.o' RMD160_ASM_OBJ='rmd-586.o' WP_ASM_OBJ='wp_block.o wp-mmx.o' MODES_ASM_OBJ='ghash-x86.o' ENGINES_ASM_OBJ='' PERLASM_SCHEME='win32n' FIPSLIBDIR='' FIPSDIR='/usr/local/ssl/fips-2.0' FIPSCANLIB="$}" THIS=$ MAKEFILE=Makefile MAKEOVERRIDES= -BUILD_CMD=if [ -d "$$dir" ]; then ( cd $$dir && echo "making $$target in $$dir..." && TOP= && unset TOP $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ && -e LC_ALL=C PLATFORM='VC-WIN32' PROCESSOR='' CC='cl' CFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM' AS='cl' ASFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -c' AR='ar r' NM='nm' RANLIB='true' RC='windres' CROSS_COMPILE='' PERL='perl' ENGDIRS='ccgost' SDIRS='objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac' LIBRPATH='/usr/local/ssl/lib' INSTALL_PREFIX='' INSTALLTOP='/usr/local/ssl' OPENSSLDIR='/usr/local/ssl' LIBDIR='lib' MAKEDEPEND='$$$./util/domd $$$. -MD makedepend' DEPFLAG='-DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS' MAKEDEPPROG='makedepend' SHARED_LDFLAGS='' KRB5_INCLUDES='' LIBKRB5='' ZLIB_INCLUDE='' LIBZLIB='' EXE_EXT='' SHARED_LIBS='' SHLIB_EXT='' SHLIB_TARGET='' PEX_LIBS='' EX_LIBS='' CPUID_OBJ='x86cpuid.o' BN_ASM='bn-586.o co-586.o x86-mont.o x86-gf2m.o' EC_ASM='' DES_ENC='des-586.o crypt586.o' AES_ENC='aes-586.o vpaes-x86.o aesni-x86.o' CMLL_ENC='cmll-x86.o' BF_ENC='bf-586.o' CAST_ENC='cast-586.o' RC4_ENC='rc4-586.o' RC5_ENC='rc5-586.o' SHA1_ASM_OBJ='sha1-586.o sha256-586.o sha512-586.o' MD5_ASM_OBJ='md5-586.o' RMD160_ASM_OBJ='rmd-586.o' WP_ASM_OBJ='wp_block.o wp-mmx.o' MODES_ASM_OBJ='ghash-x86.o' ENGINES_ASM_OBJ='' PERLASM_SCHEME='win32n' FIPSLIBDIR='' FIPSDIR='/usr/local/ssl/fips-2.0' FIPSCANLIB="$}" THIS=$ MAKEFILE=Makefile MAKEOVERRIDES= TOP=.. DIR=$$dir $$target ) || exit 1; fi -BUILD_ONE_CMD=if expr " crypto ssl engines apps test tools " : ".* $$dir " >/dev/null 2>&1; then if [ -d "$$dir" ]; then ( cd $$dir && echo "making $$target in $$dir..." && TOP= && unset TOP $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ && -e LC_ALL=C PLATFORM='VC-WIN32' PROCESSOR='' CC='cl' CFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM' AS='cl' ASFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -c' AR='ar r' NM='nm' RANLIB='true' RC='windres' CROSS_COMPILE='' PERL='perl' ENGDIRS='ccgost' SDIRS='objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac' LIBRPATH='/usr/local/ssl/lib' INSTALL_PREFIX='' INSTALLTOP='/usr/local/ssl' OPENSSLDIR='/usr/local/ssl' LIBDIR='lib' MAKEDEPEND='$$$./util/domd $$$. -MD makedepend' DEPFLAG='-DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS' MAKEDEPPROG='makedepend' SHARED_LDFLAGS='' KRB5_INCLUDES='' LIBKRB5='' ZLIB_INCLUDE='' LIBZLIB='' EXE_EXT='' SHARED_LIBS='' SHLIB_EXT='' SHLIB_TARGET='' PEX_LIBS='' EX_LIBS='' CPUID_OBJ='x86cpuid.o' BN_ASM='bn-586.o co-586.o x86-mont.o x86-gf2m.o' EC_ASM='' DES_ENC='des-586.o crypt586.o' AES_ENC='aes-586.o vpaes-x86.o aesni-x86.o' CMLL_ENC='cmll-x86.o' BF_ENC='bf-586.o' CAST_ENC='cast-586.o' RC4_ENC='rc4-586.o' RC5_ENC='rc5-586.o' SHA1_ASM_OBJ='sha1-586.o sha256-586.o sha512-586.o' MD5_ASM_OBJ='md5-586.o' RMD160_ASM_OBJ='rmd-586.o' WP_ASM_OBJ='wp_block.o wp-mmx.o' MODES_ASM_OBJ='ghash-x86.o' ENGINES_ASM_OBJ='' PERLASM_SCHEME='win32n' FIPSLIBDIR='' FIPSDIR='/usr/local/ssl/fips-2.0' FIPSCANLIB="$}" THIS=$ MAKEFILE=Makefile MAKEOVERRIDES= TOP=.. DIR=$$dir $$target ) || exit 1; fi; fi -CAST_ENC=cast-586.o -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CLEARENV=TOP= && unset TOP $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ -CMLL_ENC=cmll-x86.o -CONFIGURE_ARGS=VC-WIN32 no-idea no-mdc2 -CPUID_OBJ=x86cpuid.o -DEPFLAG=-DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS -DES_ENC=des-586.o crypt586.o -DIRS=crypto ssl engines apps test tools -EC_ASM= -EDIRS=times doc bugs util include certs ms shlib mt demos perl sf dep VMS -ENGDIRS=ccgost -ENGINES_ASM_OBJ= -EXE_EXT= -EXHEADER=e_os2.h -EX_LIBS= -FIPSCANLIB= -FIPSDIR=/usr/local/ssl/fips-2.0 -FIPSLIBDIR= -GENERAL=Makefile -HEADER=e_os.h -HERE=. -HTMLDIR=/usr/local/ssl/html -HTMLSUFFIX=html -INSTALLTOP=/usr/local/ssl -INSTALL_PREFIX= -KRB5_INCLUDES= -LIBDIR=lib -LIBKRB5= -LIBS=libcrypto.a libssl.a -LIBZLIB= -MAJOR=1 -MAKEDEPPROG=makedepend -MAKEFILE=Makefile -MAN1=1 -MAN3=3 -MANDIR=/usr/local/ssl/man -MANSUFFIX= -MD5_ASM_OBJ=md5-586.o -MINOR=0.2 -MODES_ASM_OBJ=ghash-x86.o -NAME=openssl-1.0.2q -NM=nm -ONEDIRS=out tmp -OPENSSLDIR=/usr/local/ssl -OPTIONS=no-ec_nistp_64_gcc_128 no-gmp no-idea no-jpake no-krb5 no-libunbound no-md2 no-mdc2 no-rc5 no-rfc3779 no-sctp no-shared no-ssl-trace no-ssl2 no-store no-unit-test no-weak-ssl-ciphers no-zlib no-zlib-dynamic -PERL=perl -PERLASM_SCHEME=win32n -PEX_LIBS= -PLATFORM=VC-WIN32 -PROCESSOR= -RANLIB=true -RC=windres -RC4_ENC=rc4-586.o -RC5_ENC=rc5-586.o -RECURSIVE_BUILD_CMD=for dir in crypto ssl engines apps test tools; do if [ -d "$$dir" ]; then ( cd $$dir && echo "making $$target in $$dir..." && TOP= && unset TOP $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ && -e LC_ALL=C PLATFORM='VC-WIN32' PROCESSOR='' CC='cl' CFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM' AS='cl' ASFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -c' AR='ar r' NM='nm' RANLIB='true' RC='windres' CROSS_COMPILE='' PERL='perl' ENGDIRS='ccgost' SDIRS='objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac' LIBRPATH='/usr/local/ssl/lib' INSTALL_PREFIX='' INSTALLTOP='/usr/local/ssl' OPENSSLDIR='/usr/local/ssl' LIBDIR='lib' MAKEDEPEND='$$$./util/domd $$$. -MD makedepend' DEPFLAG='-DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS' MAKEDEPPROG='makedepend' SHARED_LDFLAGS='' KRB5_INCLUDES='' LIBKRB5='' ZLIB_INCLUDE='' LIBZLIB='' EXE_EXT='' SHARED_LIBS='' SHLIB_EXT='' SHLIB_TARGET='' PEX_LIBS='' EX_LIBS='' CPUID_OBJ='x86cpuid.o' BN_ASM='bn-586.o co-586.o x86-mont.o x86-gf2m.o' EC_ASM='' DES_ENC='des-586.o crypt586.o' AES_ENC='aes-586.o vpaes-x86.o aesni-x86.o' CMLL_ENC='cmll-x86.o' BF_ENC='bf-586.o' CAST_ENC='cast-586.o' RC4_ENC='rc4-586.o' RC5_ENC='rc5-586.o' SHA1_ASM_OBJ='sha1-586.o sha256-586.o sha512-586.o' MD5_ASM_OBJ='md5-586.o' RMD160_ASM_OBJ='rmd-586.o' WP_ASM_OBJ='wp_block.o wp-mmx.o' MODES_ASM_OBJ='ghash-x86.o' ENGINES_ASM_OBJ='' PERLASM_SCHEME='win32n' FIPSLIBDIR='' FIPSDIR='/usr/local/ssl/fips-2.0' FIPSCANLIB="$}" THIS=$ MAKEFILE=Makefile MAKEOVERRIDES= TOP=.. DIR=$$dir $$target ) || exit 1; fi; done -RMD160_ASM_OBJ=rmd-586.o -SDIRS=objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac -SHA1_ASM_OBJ=sha1-586.o sha256-586.o sha512-586.o -SHARED_CRYPTO=libcrypto -SHARED_LDFLAGS= -SHARED_LIBS= -SHARED_LIBS_LINK_EXTS= -SHARED_SSL=libssl -SHELL=/bin/sh -SHLIBDIRS=crypto ssl -SHLIB_EXT= -SHLIB_MAJOR=1 -SHLIB_MINOR=0.0 -SHLIB_TARGET= -SHLIB_VERSION_HISTORY= -SHLIB_VERSION_NUMBER=1.0.0 -TAR=tar -TARFILE=../openssl-1.0.2q.tar -TARFLAGS=--no-recursion -TAR_COMMAND=tar --no-recursion --files-from ../openssl-1.0.2q.tar.list --owner 0 --group 0 --transform 's|^|openssl-1.0.2q/|' -cvf - -TESTS=alltests -TOP=. -VERSION=1.0.2q -WDIRS=windows -WP_ASM_OBJ=wp_block.o wp-mmx.o -ZLIB_INCLUDE= -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto -AFLAGS=-I. -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile README crypto-lib.com install.com cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c getenv.c cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h constant_time_locl.h bn_int.h crypto.h opensslv.h opensslconf.h ebcdic.h symhacks.h ossl_typ.h -AR=ar r -ASFLAGS=-I. -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I. -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPUID_OBJ=x86cpuid.o -DIR=crypto -EXHEADER=crypto.h opensslv.h opensslconf.h ebcdic.h symhacks.h ossl_typ.h -EX_LIBS= -GENERAL=Makefile README crypto-lib.com install.com -HEADER=cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h constant_time_locl.h bn_int.h crypto.h opensslv.h opensslconf.h ebcdic.h symhacks.h ossl_typ.h -INCLUDE=-I. -I.. -I../include -INCLUDES=-I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -LIB=../libcrypto.a -LIBOBJ=cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o o_fips.o o_init.o fips_ers.o getenv.o x86cpuid.o -LIBS= -LIBSRC=cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c getenv.c -MAKEDEPEND=../util/domd .. -MD makedepend -MAKEDEPPROG=makedepend -MAKEFILE=Makefile -PEX_LIBS= -RECURSIVE_MAKE=[ -n "objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac" ] && for i in objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac ; do (cd $$i && echo "making $$target in crypto/$$i..." && -e TOP=../.. DIR=$$i INCLUDES='-I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include ' $$target ) || exit 1; done; -RM=rm -f -SHARED_LIB=libcrypto -SRC=cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c getenv.c -TEST=constant_time_test.c -TOP=.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/md2 -ALL=Makefile md2_dgst.c md2_one.c md2.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=md2 -EXHEADER=md2.h -GENERAL=Makefile -HEADER=md2.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=md2_dgst.o md2_one.o -LIBSRC=md2_dgst.c md2_one.c -MAKEFILE=Makefile -SRC=md2_dgst.c md2_one.c -TEST=md2test.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/md4 -ALL=Makefile md4_dgst.c md4_one.c md4_locl.h md4.h -APPS=md4.c -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=md4 -EXHEADER=md4.h -GENERAL=Makefile -HEADER=md4_locl.h md4.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=md4_dgst.o md4_one.o -LIBSRC=md4_dgst.c md4_one.c -MAKEFILE=Makefile -SRC=md4_dgst.c md4_one.c -TEST=md4test.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/md5 -AFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile md5_dgst.c md5_one.c md5_locl.h md5.h -APPS= -AR=ar r -ASFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=md5 -EXHEADER=md5.h -GENERAL=Makefile -HEADER=md5_locl.h md5.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=md5_dgst.o md5_one.o md5-586.o -LIBSRC=md5_dgst.c md5_one.c -MAKEFILE=Makefile -MD5_ASM_OBJ=md5-586.o -SRC=md5_dgst.c md5_one.c -TEST=md5test.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/sha -AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile sha_dgst.c sha1dgst.c sha_one.c sha1_one.c sha256.c sha512.c sha_locl.h sha.h -APPS= -AR=ar r -ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=sha -EXHEADER=sha.h -GENERAL=Makefile -HEADER=sha_locl.h sha.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=sha_dgst.o sha1dgst.o sha_one.o sha1_one.o sha256.o sha512.o sha1-586.o sha256-586.o sha512-586.o -LIBSRC=sha_dgst.c sha1dgst.c sha_one.c sha1_one.c sha256.c sha512.c -MAKEFILE=Makefile -SHA1_ASM_OBJ=sha1-586.o sha256-586.o sha512-586.o -SRC=sha_dgst.c sha1dgst.c sha_one.c sha1_one.c sha256.c sha512.c -TEST=shatest.c sha1test.c sha256t.c sha512t.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/mdc2 -ALL=Makefile mdc2dgst.c mdc2_one.c mdc2.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=mdc2 -EXHEADER=mdc2.h -GENERAL=Makefile -HEADER=mdc2.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=mdc2dgst.o mdc2_one.o -LIBSRC=mdc2dgst.c mdc2_one.c -MAKEFILE=Makefile -SRC=mdc2dgst.c mdc2_one.c -TEST=mdc2test.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/hmac -ALL=Makefile hmac.c hm_ameth.c hm_pmeth.c hmac.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=hmac -EXHEADER=hmac.h -GENERAL=Makefile -HEADER=hmac.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=hmac.o hm_ameth.o hm_pmeth.o -LIBSRC=hmac.c hm_ameth.c hm_pmeth.c -MAKEFILE=Makefile -SRC=hmac.c hm_ameth.c hm_pmeth.c -TEST=hmactest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/cmac -ALL=Makefile cmac.c cm_ameth.c cm_pmeth.c cmac.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=cmac -EXHEADER=cmac.h -GENERAL=Makefile -HEADER=cmac.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=cmac.o cm_ameth.o cm_pmeth.o -LIBSRC=cmac.c cm_ameth.c cm_pmeth.c -MAKEFILE=Makefile -SRC=cmac.c cm_ameth.c cm_pmeth.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/ripemd -AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile rmd_dgst.c rmd_one.c rmd_locl.h rmdconst.h ripemd.h -APPS= -AR=ar r -ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=ripemd -EXHEADER=ripemd.h -GENERAL=Makefile -HEADER=rmd_locl.h rmdconst.h ripemd.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=rmd_dgst.o rmd_one.o rmd-586.o -LIBSRC=rmd_dgst.c rmd_one.c -MAKEFILE=Makefile -RIP_ASM_OBJ= -SRC=rmd_dgst.c rmd_one.c -TEST=rmdtest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/des -AFLAGS=-I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c enc_read.c enc_writ.c fcrypt.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c ede_cbcm_enc.c des_old.c des_old2.c read2pwd.c des_locl.h rpc_des.h spr.h des_ver.h des.h des_old.h -APPS= -AR=ar r -ASFLAGS=-I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DES_ENC=des-586.o crypt586.o -DIR=des -EXHEADER=des.h des_old.h -GENERAL=Makefile -HEADER=des_locl.h rpc_des.h spr.h des_ver.h des.h des_old.h -INCLUDES=-I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=set_key.o ecb_enc.o cbc_enc.o ecb3_enc.o cfb64enc.o cfb64ede.o cfb_enc.o ofb64ede.o enc_read.o enc_writ.o ofb64enc.o ofb_enc.o str2key.o pcbc_enc.o qud_cksm.o rand_key.o des-586.o crypt586.o fcrypt.o xcbc_enc.o rpc_enc.o cbc_cksm.o ede_cbcm_enc.o des_old.o des_old2.o read2pwd.o -LIBSRC=cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c enc_read.c enc_writ.c fcrypt.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c ede_cbcm_enc.c des_old.c des_old2.c read2pwd.c -MAKEFILE=Makefile -RANLIB=true -SRC=cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c enc_read.c enc_writ.c fcrypt.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c ede_cbcm_enc.c des_old.c des_old2.c read2pwd.c -TEST=destest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/rc2 -ALL=Makefile rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c rc2_locl.h rc2.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=rc2 -EXHEADER=rc2.h -GENERAL=Makefile -HEADER=rc2_locl.h rc2.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=rc2_ecb.o rc2_skey.o rc2_cbc.o rc2cfb64.o rc2ofb64.o -LIBSRC=rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c -MAKEFILE=Makefile -SRC=rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c -TEST=rc2test.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/rc4 -AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile rc4_skey.c rc4_enc.c rc4_utl.c rc4.h rc4_locl.h -APPS= -AR=ar r -ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=rc4 -EXHEADER=rc4.h -GENERAL=Makefile -HEADER=rc4.h rc4_locl.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=rc4-586.o rc4_utl.o -LIBSRC=rc4_skey.c rc4_enc.c rc4_utl.c -RC4_ENC=rc4-586.o -SRC=rc4_skey.c rc4_enc.c rc4_utl.c -TEST=rc4test.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/rc5 -AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile rc5_skey.c rc5_ecb.c rc5_enc.c rc5cfb64.c rc5ofb64.c rc5_locl.h rc5.h -APPS= -AR=ar r -ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=rc5 -EXHEADER=rc5.h -GENERAL=Makefile -HEADER=rc5_locl.h rc5.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=rc5_skey.o rc5_ecb.o rc5-586.o rc5cfb64.o rc5ofb64.o -LIBSRC=rc5_skey.c rc5_ecb.c rc5_enc.c rc5cfb64.c rc5ofb64.c -MAKEFILE=Makefile -RC5_ENC=rc5-586.o -SRC=rc5_skey.c rc5_ecb.c rc5_enc.c rc5cfb64.c rc5ofb64.c -TEST=rc5test.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/idea -ALL=Makefile i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c idea_lcl.h idea.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=idea -EXHEADER=idea.h -GENERAL=Makefile -HEADER=idea_lcl.h idea.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=i_cbc.o i_cfb64.o i_ofb64.o i_ecb.o i_skey.o -LIBSRC=i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c -MAKEFILE=Makefile -SRC=i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c -TEST=ideatest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/bf -AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile bf_skey.c bf_ecb.c bf_enc.c bf_cfb64.c bf_ofb64.c bf_pi.h bf_locl.h blowfish.h -APPS= -AR=ar r -ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -BF_ENC=bf-586.o -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=bf -EXHEADER=blowfish.h -GENERAL=Makefile -HEADER=bf_pi.h bf_locl.h blowfish.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=bf_skey.o bf_ecb.o bf-586.o bf_cfb64.o bf_ofb64.o -LIBSRC=bf_skey.c bf_ecb.c bf_enc.c bf_cfb64.c bf_ofb64.c -MAKEFILE=Makefile -SRC=bf_skey.c bf_ecb.c bf_enc.c bf_cfb64.c bf_ofb64.c -TEST=bftest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/cast -AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c cast_s.h cast_lcl.h cast.h -APPS= -AR=ar r -ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CAST_ENC=cast-586.o -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=cast -EXHEADER=cast.h -GENERAL=Makefile -HEADER=cast_s.h cast_lcl.h cast.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=c_skey.o c_ecb.o cast-586.o c_cfb64.o c_ofb64.o -LIBSRC=c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c -MAKEFILE=Makefile -SRC=c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c -TEST=casttest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/aes -AES_ENC=aes-586.o vpaes-x86.o aesni-x86.o -AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile aes_core.c aes_misc.c aes_ecb.c aes_cbc.c aes_cfb.c aes_ofb.c aes_ctr.c aes_ige.c aes_wrap.c aes_locl.h aes.h -APPS= -AR=ar r -ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=aes -EXHEADER=aes.h -GENERAL=Makefile -HEADER=aes_locl.h aes.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=aes_misc.o aes_ecb.o aes_cfb.o aes_ofb.o aes_ctr.o aes_ige.o aes_wrap.o aes-586.o vpaes-x86.o aesni-x86.o -LIBSRC=aes_core.c aes_misc.c aes_ecb.c aes_cbc.c aes_cfb.c aes_ofb.c aes_ctr.c aes_ige.c aes_wrap.c -MAKEFILE=Makefile -SRC=aes_core.c aes_misc.c aes_ecb.c aes_cbc.c aes_cfb.c aes_ofb.c aes_ctr.c aes_ige.c aes_wrap.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/camellia -AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile camellia.c cmll_misc.c cmll_ecb.c cmll_cbc.c cmll_ofb.c cmll_cfb.c cmll_ctr.c cmll_utl.c cmll_locl.h camellia.h -APPS= -AR=ar r -ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CMLL_ENC=cmll-x86.o -CPP=cl -E -DIR=camellia -EXHEADER=camellia.h -GENERAL=Makefile -HEADER=cmll_locl.h camellia.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=cmll_ecb.o cmll_ofb.o cmll_cfb.o cmll_ctr.o cmll_utl.o cmll-x86.o -LIBSRC=camellia.c cmll_misc.c cmll_ecb.c cmll_cbc.c cmll_ofb.c cmll_cfb.c cmll_ctr.c cmll_utl.c -MAKEFILE=Makefile -SRC=camellia.c cmll_misc.c cmll_ecb.c cmll_cbc.c cmll_ofb.c cmll_cfb.c cmll_ctr.c cmll_utl.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/seed -ALL=Makefile seed.c seed_ecb.c seed_cbc.c seed_cfb.c seed_ofb.c seed_locl.h seed.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=seed -EXHEADER=seed.h -GENERAL=Makefile -HEADER=seed_locl.h seed.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=seed.o seed_ecb.o seed_cbc.o seed_cfb.o seed_ofb.o -LIBSRC=seed.c seed_ecb.c seed_cbc.c seed_cfb.c seed_ofb.c -MAKEFILE=Makefile -SRC=seed.c seed_ecb.c seed_cbc.c seed_cfb.c seed_ofb.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/modes -AFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile cbc128.c ctr128.c cts128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c wrap128.c modes_lcl.h modes.h -APPS= -AR=ar r -ASFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=modes -EXHEADER=modes.h -GENERAL=Makefile -HEADER=modes_lcl.h modes.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=cbc128.o ctr128.o cts128.o cfb128.o ofb128.o gcm128.o ccm128.o xts128.o wrap128.o ghash-x86.o -LIBSRC=cbc128.c ctr128.c cts128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c wrap128.c -MAKEFILE=Makefile -MODES_ASM_OBJ=ghash-x86.o -SRC=cbc128.c ctr128.c cts128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c wrap128.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/bn -AFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c bn_depr.c bn_const.c bn_x931p.c bn_lcl.h bn_prime.h bn.h -APPS= -AR=ar r -ASFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -BN_ASM=bn-586.o co-586.o x86-mont.o x86-gf2m.o -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=bn -EXHEADER=bn.h -GENERAL=Makefile -HEADER=bn_lcl.h bn_prime.h bn.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=bn_add.o bn_div.o bn_exp.o bn_lib.o bn_ctx.o bn_mul.o bn_mod.o bn_print.o bn_rand.o bn_shift.o bn_word.o bn_blind.o bn_kron.o bn_sqrt.o bn_gcd.o bn_prime.o bn_err.o bn_sqr.o bn-586.o co-586.o x86-mont.o x86-gf2m.o bn_recp.o bn_mont.o bn_mpi.o bn_exp2.o bn_gf2m.o bn_nist.o bn_depr.o bn_const.o bn_x931p.o -LIBSRC=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c bn_depr.c bn_const.c bn_x931p.c -MAKEFILE=Makefile -SRC=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c bn_depr.c bn_const.c bn_x931p.c -TEST=bntest.c exptest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/rsa -ALL=Makefile rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c rsa_pk1.c rsa_ssl.c rsa_none.c rsa_oaep.c rsa_chk.c rsa_null.c rsa_pss.c rsa_x931.c rsa_asn1.c rsa_depr.c rsa_ameth.c rsa_prn.c rsa_pmeth.c rsa_crpt.c rsa.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=rsa -EXHEADER=rsa.h -GENERAL=Makefile -HEADER=rsa.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=rsa_eay.o rsa_gen.o rsa_lib.o rsa_sign.o rsa_saos.o rsa_err.o rsa_pk1.o rsa_ssl.o rsa_none.o rsa_oaep.o rsa_chk.o rsa_null.o rsa_pss.o rsa_x931.o rsa_asn1.o rsa_depr.o rsa_ameth.o rsa_prn.o rsa_pmeth.o rsa_crpt.o -LIBSRC=rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c rsa_pk1.c rsa_ssl.c rsa_none.c rsa_oaep.c rsa_chk.c rsa_null.c rsa_pss.c rsa_x931.c rsa_asn1.c rsa_depr.c rsa_ameth.c rsa_prn.c rsa_pmeth.c rsa_crpt.c -MAKEFILE=Makefile -SRC=rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c rsa_pk1.c rsa_ssl.c rsa_none.c rsa_oaep.c rsa_chk.c rsa_null.c rsa_pss.c rsa_x931.c rsa_asn1.c rsa_depr.c rsa_ameth.c rsa_prn.c rsa_pmeth.c rsa_crpt.c -TEST=rsa_test.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/dsa -ALL=Makefile dsa_gen.c dsa_key.c dsa_lib.c dsa_asn1.c dsa_vrf.c dsa_sign.c dsa_err.c dsa_ossl.c dsa_depr.c dsa_ameth.c dsa_pmeth.c dsa_prn.c dsa_locl.h dsa.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=dsa -EXHEADER=dsa.h -GENERAL=Makefile -HEADER=dsa_locl.h dsa.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=dsa_gen.o dsa_key.o dsa_lib.o dsa_asn1.o dsa_vrf.o dsa_sign.o dsa_err.o dsa_ossl.o dsa_depr.o dsa_ameth.o dsa_pmeth.o dsa_prn.o -LIBSRC=dsa_gen.c dsa_key.c dsa_lib.c dsa_asn1.c dsa_vrf.c dsa_sign.c dsa_err.c dsa_ossl.c dsa_depr.c dsa_ameth.c dsa_pmeth.c dsa_prn.c -MAKEFILE=Makefile -SRC=dsa_gen.c dsa_key.c dsa_lib.c dsa_asn1.c dsa_vrf.c dsa_sign.c dsa_err.c dsa_ossl.c dsa_depr.c dsa_ameth.c dsa_pmeth.c dsa_prn.c -TEST=dsatest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/dso -ALL=Makefile dso_dl.c dso_dlfcn.c dso_err.c dso_lib.c dso_null.c dso_openssl.c dso_win32.c dso_vms.c dso_beos.c dso.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=dso -EXHEADER=dso.h -GENERAL=Makefile -HEADER=dso.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=dso_dl.o dso_dlfcn.o dso_err.o dso_lib.o dso_null.o dso_openssl.o dso_win32.o dso_vms.o dso_beos.o -LIBSRC=dso_dl.c dso_dlfcn.c dso_err.c dso_lib.c dso_null.c dso_openssl.c dso_win32.c dso_vms.c dso_beos.c -MAKEFILE=Makefile -SRC=dso_dl.c dso_dlfcn.c dso_err.c dso_lib.c dso_null.c dso_openssl.c dso_win32.c dso_vms.c dso_beos.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/dh -ALL=Makefile dh_asn1.c dh_gen.c dh_key.c dh_lib.c dh_check.c dh_err.c dh_depr.c dh_ameth.c dh_pmeth.c dh_prn.c dh_rfc5114.c dh_kdf.c dh.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=dh -EXHEADER=dh.h -GENERAL=Makefile -HEADER=dh.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=dh_asn1.o dh_gen.o dh_key.o dh_lib.o dh_check.o dh_err.o dh_depr.o dh_ameth.o dh_pmeth.o dh_prn.o dh_rfc5114.o dh_kdf.o -LIBSRC=dh_asn1.c dh_gen.c dh_key.c dh_lib.c dh_check.c dh_err.c dh_depr.c dh_ameth.c dh_pmeth.c dh_prn.c dh_rfc5114.c dh_kdf.c -MAKEFILE=Makefile -SRC=dh_asn1.c dh_gen.c dh_key.c dh_lib.c dh_check.c dh_err.c dh_depr.c dh_ameth.c dh_pmeth.c dh_prn.c dh_rfc5114.c dh_kdf.c -TEST=dhtest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/ec -AFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c ec_err.c ec_curve.c ec_check.c ec_print.c ec_asn1.c ec_key.c ec2_smpl.c ec2_mult.c ec_ameth.c ec_pmeth.c eck_prn.c ecp_nistp224.c ecp_nistp256.c ecp_nistp521.c ecp_nistputil.c ecp_oct.c ec2_oct.c ec_oct.c ec_lcl.h ec.h -APPS= -AR=ar r -ASFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=ec -EXHEADER=ec.h -GENERAL=Makefile -HEADER=ec_lcl.h ec.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=ec_lib.o ecp_smpl.o ecp_mont.o ecp_nist.o ec_cvt.o ec_mult.o ec_err.o ec_curve.o ec_check.o ec_print.o ec_asn1.o ec_key.o ec2_smpl.o ec2_mult.o ec_ameth.o ec_pmeth.o eck_prn.o ecp_nistp224.o ecp_nistp256.o ecp_nistp521.o ecp_nistputil.o ecp_oct.o ec2_oct.o ec_oct.o -LIBSRC=ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c ec_err.c ec_curve.c ec_check.c ec_print.c ec_asn1.c ec_key.c ec2_smpl.c ec2_mult.c ec_ameth.c ec_pmeth.c eck_prn.c ecp_nistp224.c ecp_nistp256.c ecp_nistp521.c ecp_nistputil.c ecp_oct.c ec2_oct.c ec_oct.c -MAKEFILE=Makefile -SRC=ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c ec_err.c ec_curve.c ec_check.c ec_print.c ec_asn1.c ec_key.c ec2_smpl.c ec2_mult.c ec_ameth.c ec_pmeth.c eck_prn.c ecp_nistp224.c ecp_nistp256.c ecp_nistp521.c ecp_nistputil.c ecp_oct.c ec2_oct.c ec_oct.c -TEST=ectest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/ecdh -ALL=Makefile ech_lib.c ech_ossl.c ech_key.c ech_err.c ech_kdf.c ech_locl.h ecdh.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=ecdh -EXHEADER=ecdh.h -GENERAL=Makefile -HEADER=ech_locl.h ecdh.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=ech_lib.o ech_ossl.o ech_key.o ech_err.o ech_kdf.o -LIBSRC=ech_lib.c ech_ossl.c ech_key.c ech_err.c ech_kdf.c -MAKEFILE=Makefile -SRC=ech_lib.c ech_ossl.c ech_key.c ech_err.c ech_kdf.c -TEST=ecdhtest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/ecdsa -ALL=Makefile ecs_lib.c ecs_asn1.c ecs_ossl.c ecs_sign.c ecs_vrf.c ecs_err.c ecs_locl.h ecdsa.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=ecdsa -EXHEADER=ecdsa.h -GENERAL=Makefile -HEADER=ecs_locl.h ecdsa.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=ecs_lib.o ecs_asn1.o ecs_ossl.o ecs_sign.o ecs_vrf.o ecs_err.o -LIBSRC=ecs_lib.c ecs_asn1.c ecs_ossl.c ecs_sign.c ecs_vrf.c ecs_err.c -MAKEFILE=Makefile -SRC=ecs_lib.c ecs_asn1.c ecs_ossl.c ecs_sign.c ecs_vrf.c ecs_err.c -TEST=ecdsatest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/buffer -ALL=Makefile buffer.c buf_str.c buf_err.c buffer.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=buffer -EXHEADER=buffer.h -GENERAL=Makefile -HEADER=buffer.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=buffer.o buf_str.o buf_err.o -LIBSRC=buffer.c buf_str.c buf_err.c -MAKEFILE=Makefile -SRC=buffer.c buf_str.c buf_err.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/bio -ALL=Makefile bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c bss_log.c bss_bio.c bss_dgram.c bio_lcl.h bio.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=bio -EXHEADER=bio.h -GENERAL=Makefile -HEADER=bio_lcl.h bio.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=bio_lib.o bio_cb.o bio_err.o bss_mem.o bss_null.o bss_fd.o bss_file.o bss_sock.o bss_conn.o bf_null.o bf_buff.o b_print.o b_dump.o b_sock.o bss_acpt.o bf_nbio.o bss_log.o bss_bio.o bss_dgram.o -LIBSRC=bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c bss_log.c bss_bio.c bss_dgram.c -MAKEFILE=Makefile -SRC=bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c bss_log.c bss_bio.c bss_dgram.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/stack -ALL=Makefile stack.c stack.h safestack.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=stack -EXHEADER=stack.h safestack.h -GENERAL=Makefile -HEADER=stack.h safestack.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=stack.o -LIBSRC=stack.c -MAKEFILE=Makefile -SRC=stack.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/lhash -ALL=Makefile lhash.c lh_stats.c lhash.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=lhash -EXHEADER=lhash.h -GENERAL=Makefile -HEADER=lhash.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=lhash.o lh_stats.o -LIBSRC=lhash.c lh_stats.c -MAKEFILE=Makefile -SRC=lhash.c lh_stats.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/rand -ALL=Makefile md_rand.c randfile.c rand_lib.c rand_err.c rand_egd.c rand_win.c rand_unix.c rand_os2.c rand_nw.c rand.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=rand -EXHEADER=rand.h -GENERAL=Makefile -HEADER=rand.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=md_rand.o randfile.o rand_lib.o rand_err.o rand_egd.o rand_win.o rand_unix.o rand_os2.o rand_nw.o -LIBSRC=md_rand.c randfile.c rand_lib.c rand_err.c rand_egd.c rand_win.c rand_unix.c rand_os2.c rand_nw.c -MAKEFILE=Makefile -SRC=md_rand.c randfile.c rand_lib.c rand_err.c rand_egd.c rand_win.c rand_unix.c rand_os2.c rand_nw.c -TEST=randtest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/err -ALL=Makefile err.c err_all.c err_prn.c err.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=err -EXHEADER=err.h -GENERAL=Makefile -HEADER=err.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=err.o err_all.o err_prn.o -LIBSRC=err.c err_all.c err_prn.c -MAKEFILE=Makefile -SRC=err.c err_all.c err_prn.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/objects -ALL=Makefile README o_names.c obj_dat.c obj_lib.c obj_err.c obj_xref.c objects.h obj_mac.h obj_dat.h obj_xref.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=objects -EXHEADER=objects.h obj_mac.h -GENERAL=Makefile README -HEADER=objects.h obj_mac.h obj_dat.h obj_xref.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=o_names.o obj_dat.o obj_lib.o obj_err.o obj_xref.o -LIBSRC=o_names.c obj_dat.c obj_lib.c obj_err.c obj_xref.c -MAKEFILE=Makefile -PERL=perl -SRC=o_names.c obj_dat.c obj_lib.c obj_err.c obj_xref.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/evp -ALL=Makefile encode.c digest.c evp_enc.c evp_key.c evp_acnf.c evp_cnf.c e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c e_rc4.c e_aes.c names.c e_seed.c e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c m_null.c m_md2.c m_md4.c m_md5.c m_sha.c m_sha1.c m_wp.c m_dss.c m_dss1.c m_mdc2.c m_ripemd.c m_ecdsa.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c c_allc.c c_alld.c evp_lib.c bio_ok.c evp_pkey.c evp_pbe.c p5_crpt.c p5_crpt2.c e_old.c pmeth_lib.c pmeth_fn.c pmeth_gn.c m_sigver.c e_aes_cbc_hmac_sha1.c e_aes_cbc_hmac_sha256.c e_rc4_hmac_md5.c evp_locl.h evp.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=evp -EXHEADER=evp.h -GENERAL=Makefile -HEADER=evp_locl.h evp.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=encode.o digest.o evp_enc.o evp_key.o evp_acnf.o evp_cnf.o e_des.o e_bf.o e_idea.o e_des3.o e_camellia.o e_rc4.o e_aes.o names.o e_seed.o e_xcbc_d.o e_rc2.o e_cast.o e_rc5.o m_null.o m_md2.o m_md4.o m_md5.o m_sha.o m_sha1.o m_wp.o m_dss.o m_dss1.o m_mdc2.o m_ripemd.o m_ecdsa.o p_open.o p_seal.o p_sign.o p_verify.o p_lib.o p_enc.o p_dec.o bio_md.o bio_b64.o bio_enc.o evp_err.o e_null.o c_all.o c_allc.o c_alld.o evp_lib.o bio_ok.o evp_pkey.o evp_pbe.o p5_crpt.o p5_crpt2.o e_old.o pmeth_lib.o pmeth_fn.o pmeth_gn.o m_sigver.o e_aes_cbc_hmac_sha1.o e_aes_cbc_hmac_sha256.o e_rc4_hmac_md5.o -LIBSRC=encode.c digest.c evp_enc.c evp_key.c evp_acnf.c evp_cnf.c e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c e_rc4.c e_aes.c names.c e_seed.c e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c m_null.c m_md2.c m_md4.c m_md5.c m_sha.c m_sha1.c m_wp.c m_dss.c m_dss1.c m_mdc2.c m_ripemd.c m_ecdsa.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c c_allc.c c_alld.c evp_lib.c bio_ok.c evp_pkey.c evp_pbe.c p5_crpt.c p5_crpt2.c e_old.c pmeth_lib.c pmeth_fn.c pmeth_gn.c m_sigver.c e_aes_cbc_hmac_sha1.c e_aes_cbc_hmac_sha256.c e_rc4_hmac_md5.c -MAKEFILE=Makefile -SRC=encode.c digest.c evp_enc.c evp_key.c evp_acnf.c evp_cnf.c e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c e_rc4.c e_aes.c names.c e_seed.c e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c m_null.c m_md2.c m_md4.c m_md5.c m_sha.c m_sha1.c m_wp.c m_dss.c m_dss1.c m_mdc2.c m_ripemd.c m_ecdsa.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c c_allc.c c_alld.c evp_lib.c bio_ok.c evp_pkey.c evp_pbe.c p5_crpt.c p5_crpt2.c e_old.c pmeth_lib.c pmeth_fn.c pmeth_gn.c m_sigver.c e_aes_cbc_hmac_sha1.c e_aes_cbc_hmac_sha256.c e_rc4_hmac_md5.c -TEST=evp_test.c evp_extra_test.c -TESTDATA=evptests.txt -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/asn1 -ALL=Makefile README a_object.c a_bitstr.c a_utctm.c a_gentm.c a_time.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_enum.c a_utf8.c a_sign.c a_digest.c a_verify.c a_mbstr.c a_strex.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_bignum.c x_long.c x_name.c x_x509.c x_x509a.c x_crl.c x_info.c x_spki.c nsseq.c x_nx509.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_x509a.c t_crl.c t_pkey.c t_spki.c t_bitst.c tasn_new.c tasn_fre.c tasn_enc.c tasn_dec.c tasn_utl.c tasn_typ.c tasn_prn.c ameth_lib.c f_int.c f_string.c n_pkey.c f_enum.c x_pkey.c a_bool.c x_exten.c bio_asn1.c bio_ndef.c asn_mime.c asn1_gen.c asn1_par.c asn1_lib.c asn1_err.c a_bytes.c a_strnid.c evp_asn1.c asn_pack.c p5_pbe.c p5_pbev2.c p8_pkey.c asn_moid.c asn1.h asn1_mac.h asn1t.h asn1_locl.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=asn1 -EXHEADER=asn1.h asn1_mac.h asn1t.h -GENERAL=Makefile README -HEADER=asn1.h asn1_mac.h asn1t.h asn1_locl.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=a_object.o a_bitstr.o a_utctm.o a_gentm.o a_time.o a_int.o a_octet.o a_print.o a_type.o a_set.o a_dup.o a_d2i_fp.o a_i2d_fp.o a_enum.o a_utf8.o a_sign.o a_digest.o a_verify.o a_mbstr.o a_strex.o x_algor.o x_val.o x_pubkey.o x_sig.o x_req.o x_attrib.o x_bignum.o x_long.o x_name.o x_x509.o x_x509a.o x_crl.o x_info.o x_spki.o nsseq.o x_nx509.o d2i_pu.o d2i_pr.o i2d_pu.o i2d_pr.o t_req.o t_x509.o t_x509a.o t_crl.o t_pkey.o t_spki.o t_bitst.o tasn_new.o tasn_fre.o tasn_enc.o tasn_dec.o tasn_utl.o tasn_typ.o tasn_prn.o ameth_lib.o f_int.o f_string.o n_pkey.o f_enum.o x_pkey.o a_bool.o x_exten.o bio_asn1.o bio_ndef.o asn_mime.o asn1_gen.o asn1_par.o asn1_lib.o asn1_err.o a_bytes.o a_strnid.o evp_asn1.o asn_pack.o p5_pbe.o p5_pbev2.o p8_pkey.o asn_moid.o -LIBSRC=a_object.c a_bitstr.c a_utctm.c a_gentm.c a_time.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_enum.c a_utf8.c a_sign.c a_digest.c a_verify.c a_mbstr.c a_strex.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_bignum.c x_long.c x_name.c x_x509.c x_x509a.c x_crl.c x_info.c x_spki.c nsseq.c x_nx509.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_x509a.c t_crl.c t_pkey.c t_spki.c t_bitst.c tasn_new.c tasn_fre.c tasn_enc.c tasn_dec.c tasn_utl.c tasn_typ.c tasn_prn.c ameth_lib.c f_int.c f_string.c n_pkey.c f_enum.c x_pkey.c a_bool.c x_exten.c bio_asn1.c bio_ndef.c asn_mime.c asn1_gen.c asn1_par.c asn1_lib.c asn1_err.c a_bytes.c a_strnid.c evp_asn1.c asn_pack.c p5_pbe.c p5_pbev2.c p8_pkey.c asn_moid.c -MAKEFILE=Makefile -SRC=a_object.c a_bitstr.c a_utctm.c a_gentm.c a_time.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_enum.c a_utf8.c a_sign.c a_digest.c a_verify.c a_mbstr.c a_strex.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_bignum.c x_long.c x_name.c x_x509.c x_x509a.c x_crl.c x_info.c x_spki.c nsseq.c x_nx509.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_x509a.c t_crl.c t_pkey.c t_spki.c t_bitst.c tasn_new.c tasn_fre.c tasn_enc.c tasn_dec.c tasn_utl.c tasn_typ.c tasn_prn.c ameth_lib.c f_int.c f_string.c n_pkey.c f_enum.c x_pkey.c a_bool.c x_exten.c bio_asn1.c bio_ndef.c asn_mime.c asn1_gen.c asn1_par.c asn1_lib.c asn1_err.c a_bytes.c a_strnid.c evp_asn1.c asn_pack.c p5_pbe.c p5_pbev2.c p8_pkey.c asn_moid.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/pem -ALL=Makefile pem_sign.c pem_seal.c pem_info.c pem_lib.c pem_all.c pem_err.c pem_x509.c pem_xaux.c pem_oth.c pem_pk8.c pem_pkey.c pvkfmt.c pem.h pem2.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=pem -EXHEADER=pem.h pem2.h -GENERAL=Makefile -HEADER=pem.h pem2.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=pem_sign.o pem_seal.o pem_info.o pem_lib.o pem_all.o pem_err.o pem_x509.o pem_xaux.o pem_oth.o pem_pk8.o pem_pkey.o pvkfmt.o -LIBSRC=pem_sign.c pem_seal.c pem_info.c pem_lib.c pem_all.c pem_err.c pem_x509.c pem_xaux.c pem_oth.c pem_pk8.c pem_pkey.c pvkfmt.c -MAKEFILE=Makefile -SRC=pem_sign.c pem_seal.c pem_info.c pem_lib.c pem_all.c pem_err.c pem_x509.c pem_xaux.c pem_oth.c pem_pk8.c pem_pkey.c pvkfmt.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/x509 -ALL=Makefile README x509_def.c x509_d2.c x509_r2x.c x509_cmp.c x509_obj.c x509_req.c x509spki.c x509_vfy.c x509_set.c x509cset.c x509rset.c x509_err.c x509name.c x509_v3.c x509_ext.c x509_att.c x509type.c x509_lu.c x_all.c x509_txt.c x509_trs.c by_file.c by_dir.c x509_vpm.c x509.h x509_vfy.h vpm_int.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=x509 -EXHEADER=x509.h x509_vfy.h -GENERAL=Makefile README -HEADER=x509.h x509_vfy.h vpm_int.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=x509_def.o x509_d2.o x509_r2x.o x509_cmp.o x509_obj.o x509_req.o x509spki.o x509_vfy.o x509_set.o x509cset.o x509rset.o x509_err.o x509name.o x509_v3.o x509_ext.o x509_att.o x509type.o x509_lu.o x_all.o x509_txt.o x509_trs.o by_file.o by_dir.o x509_vpm.o -LIBSRC=x509_def.c x509_d2.c x509_r2x.c x509_cmp.c x509_obj.c x509_req.c x509spki.c x509_vfy.c x509_set.c x509cset.c x509rset.c x509_err.c x509name.c x509_v3.c x509_ext.c x509_att.c x509type.c x509_lu.c x_all.c x509_txt.c x509_trs.c by_file.c by_dir.c x509_vpm.c -MAKEFILE=Makefile -SRC=x509_def.c x509_d2.c x509_r2x.c x509_cmp.c x509_obj.c x509_req.c x509spki.c x509_vfy.c x509_set.c x509cset.c x509rset.c x509_err.c x509name.c x509_v3.c x509_ext.c x509_att.c x509type.c x509_lu.c x_all.c x509_txt.c x509_trs.c by_file.c by_dir.c x509_vpm.c -TEST=verify_extra_test.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/x509v3 -ALL=Makefile README v3_bcons.c v3_bitst.c v3_conf.c v3_extku.c v3_ia5.c v3_lib.c v3_prn.c v3_utl.c v3err.c v3_genn.c v3_alt.c v3_skey.c v3_akey.c v3_pku.c v3_int.c v3_enum.c v3_sxnet.c v3_cpols.c v3_crld.c v3_purp.c v3_info.c v3_ocsp.c v3_akeya.c v3_pmaps.c v3_pcons.c v3_ncons.c v3_pcia.c v3_pci.c pcy_cache.c pcy_node.c pcy_data.c pcy_map.c pcy_tree.c pcy_lib.c v3_asid.c v3_addr.c v3_scts.c x509v3.h pcy_int.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=x509v3 -EXHEADER=x509v3.h -GENERAL=Makefile README -HEADER=x509v3.h pcy_int.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=v3_bcons.o v3_bitst.o v3_conf.o v3_extku.o v3_ia5.o v3_lib.o v3_prn.o v3_utl.o v3err.o v3_genn.o v3_alt.o v3_skey.o v3_akey.o v3_pku.o v3_int.o v3_enum.o v3_sxnet.o v3_cpols.o v3_crld.o v3_purp.o v3_info.o v3_ocsp.o v3_akeya.o v3_pmaps.o v3_pcons.o v3_ncons.o v3_pcia.o v3_pci.o pcy_cache.o pcy_node.o pcy_data.o pcy_map.o pcy_tree.o pcy_lib.o v3_asid.o v3_addr.o v3_scts.o -LIBSRC=v3_bcons.c v3_bitst.c v3_conf.c v3_extku.c v3_ia5.c v3_lib.c v3_prn.c v3_utl.c v3err.c v3_genn.c v3_alt.c v3_skey.c v3_akey.c v3_pku.c v3_int.c v3_enum.c v3_sxnet.c v3_cpols.c v3_crld.c v3_purp.c v3_info.c v3_ocsp.c v3_akeya.c v3_pmaps.c v3_pcons.c v3_ncons.c v3_pcia.c v3_pci.c pcy_cache.c pcy_node.c pcy_data.c pcy_map.c pcy_tree.c pcy_lib.c v3_asid.c v3_addr.c v3_scts.c -MAKEFILE=Makefile -SRC=v3_bcons.c v3_bitst.c v3_conf.c v3_extku.c v3_ia5.c v3_lib.c v3_prn.c v3_utl.c v3err.c v3_genn.c v3_alt.c v3_skey.c v3_akey.c v3_pku.c v3_int.c v3_enum.c v3_sxnet.c v3_cpols.c v3_crld.c v3_purp.c v3_info.c v3_ocsp.c v3_akeya.c v3_pmaps.c v3_pcons.c v3_ncons.c v3_pcia.c v3_pci.c pcy_cache.c pcy_node.c pcy_data.c pcy_map.c pcy_tree.c pcy_lib.c v3_asid.c v3_addr.c v3_scts.c -TEST=v3nametest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/cms -ALL=Makefile cms_lib.c cms_asn1.c cms_att.c cms_io.c cms_smime.c cms_err.c cms_sd.c cms_dd.c cms_cd.c cms_env.c cms_enc.c cms_ess.c cms_pwri.c cms_kari.c cms_lcl.h cms.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=cms -EXHEADER=cms.h -GENERAL=Makefile -HEADER=cms_lcl.h cms.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=cms_lib.o cms_asn1.o cms_att.o cms_io.o cms_smime.o cms_err.o cms_sd.o cms_dd.o cms_cd.o cms_env.o cms_enc.o cms_ess.o cms_pwri.o cms_kari.o -LIBSRC=cms_lib.c cms_asn1.c cms_att.c cms_io.c cms_smime.c cms_err.c cms_sd.c cms_dd.c cms_cd.c cms_env.c cms_enc.c cms_ess.c cms_pwri.c cms_kari.c -MAKEFILE=Makefile -SRC=cms_lib.c cms_asn1.c cms_att.c cms_io.c cms_smime.c cms_err.c cms_sd.c cms_dd.c cms_cd.c cms_env.c cms_enc.c cms_ess.c cms_pwri.c cms_kari.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/conf -ALL=Makefile conf_err.c conf_lib.c conf_api.c conf_def.c conf_mod.c conf_mall.c conf_sap.c conf_def.h conf.h conf_api.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=conf -EXHEADER=conf.h conf_api.h -GENERAL=Makefile -HEADER=conf_def.h conf.h conf_api.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=conf_err.o conf_lib.o conf_api.o conf_def.o conf_mod.o conf_mall.o conf_sap.o -LIBSRC=conf_err.c conf_lib.c conf_api.c conf_def.c conf_mod.c conf_mall.c conf_sap.c -MAKEFILE=Makefile -SRC=conf_err.c conf_lib.c conf_api.c conf_def.c conf_mod.c conf_mall.c conf_sap.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/jpake -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=jpake -EXHEADER=jpake.h -LIB=../../libcrypto.a -LIBOBJ=jpake.o jpake_err.o -LIBSRC=jpake.c jpake_err.c -TEST=jpaketest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/txt_db -ALL=Makefile txt_db.c txt_db.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=txt_db -EXHEADER=txt_db.h -GENERAL=Makefile -HEADER=txt_db.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=txt_db.o -LIBSRC=txt_db.c -MAKEFILE=Makefile -SRC=txt_db.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/pkcs7 -ALL=Makefile README pk7_asn1.c pk7_lib.c pkcs7err.c pk7_doit.c pk7_smime.c pk7_attr.c pk7_mime.c bio_pk7.c pkcs7.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=pkcs7 -EXHEADER=pkcs7.h -EX_LIBS= -GENERAL=Makefile README -HEADER=pkcs7.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=pk7_asn1.o pk7_lib.o pkcs7err.o pk7_doit.o pk7_smime.o pk7_attr.o pk7_mime.o bio_pk7.o -LIBSRC=pk7_asn1.c pk7_lib.c pkcs7err.c pk7_doit.c pk7_smime.c pk7_attr.c pk7_mime.c bio_pk7.c -MAKEFILE=Makefile -PEX_LIBS= -SRC=pk7_asn1.c pk7_lib.c pkcs7err.c pk7_doit.c pk7_smime.c pk7_attr.c pk7_mime.c bio_pk7.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/pkcs12 -ALL=Makefile p12_add.c p12_asn.c p12_attr.c p12_crpt.c p12_crt.c p12_decr.c p12_init.c p12_key.c p12_kiss.c p12_mutl.c p12_utl.c p12_npas.c pk12err.c p12_p8d.c p12_p8e.c pkcs12.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=pkcs12 -EXHEADER=pkcs12.h -GENERAL=Makefile -HEADER=pkcs12.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=p12_add.o p12_asn.o p12_attr.o p12_crpt.o p12_crt.o p12_decr.o p12_init.o p12_key.o p12_kiss.o p12_mutl.o p12_utl.o p12_npas.o pk12err.o p12_p8d.o p12_p8e.o -LIBSRC=p12_add.c p12_asn.c p12_attr.c p12_crpt.c p12_crt.c p12_decr.c p12_init.c p12_key.c p12_kiss.c p12_mutl.c p12_utl.c p12_npas.c pk12err.c p12_p8d.c p12_p8e.c -MAKEFILE=Makefile -SRC=p12_add.c p12_asn.c p12_attr.c p12_crpt.c p12_crt.c p12_decr.c p12_init.c p12_key.c p12_kiss.c p12_mutl.c p12_utl.c p12_npas.c pk12err.c p12_p8d.c p12_p8e.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/comp -ALL=Makefile comp_lib.c comp_err.c c_rle.c c_zlib.c comp.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=comp -EXHEADER=comp.h -GENERAL=Makefile -HEADER=comp.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=comp_lib.o comp_err.o c_rle.o c_zlib.o -LIBSRC=comp_lib.c comp_err.c c_rle.c c_zlib.c -MAKEFILE=Makefile -SRC=comp_lib.c comp_err.c c_rle.c c_zlib.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/engine -ALL=Makefile eng_err.c eng_lib.c eng_list.c eng_init.c eng_ctrl.c eng_table.c eng_pkey.c eng_fat.c eng_all.c tb_rsa.c tb_dsa.c tb_ecdsa.c tb_dh.c tb_ecdh.c tb_rand.c tb_store.c tb_cipher.c tb_digest.c tb_pkmeth.c tb_asnmth.c eng_openssl.c eng_cnf.c eng_dyn.c eng_cryptodev.c eng_rdrand.c engine.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=engine -EXHEADER=engine.h -GENERAL=Makefile -HEADER=engine.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=eng_err.o eng_lib.o eng_list.o eng_init.o eng_ctrl.o eng_table.o eng_pkey.o eng_fat.o eng_all.o tb_rsa.o tb_dsa.o tb_ecdsa.o tb_dh.o tb_ecdh.o tb_rand.o tb_store.o tb_cipher.o tb_digest.o tb_pkmeth.o tb_asnmth.o eng_openssl.o eng_cnf.o eng_dyn.o eng_cryptodev.o eng_rdrand.o -LIBSRC=eng_err.c eng_lib.c eng_list.c eng_init.c eng_ctrl.c eng_table.c eng_pkey.c eng_fat.c eng_all.c tb_rsa.c tb_dsa.c tb_ecdsa.c tb_dh.c tb_ecdh.c tb_rand.c tb_store.c tb_cipher.c tb_digest.c tb_pkmeth.c tb_asnmth.c eng_openssl.c eng_cnf.c eng_dyn.c eng_cryptodev.c eng_rdrand.c -MAKEFILE=Makefile -SRC=eng_err.c eng_lib.c eng_list.c eng_init.c eng_ctrl.c eng_table.c eng_pkey.c eng_fat.c eng_all.c tb_rsa.c tb_dsa.c tb_ecdsa.c tb_dh.c tb_ecdh.c tb_rand.c tb_store.c tb_cipher.c tb_digest.c tb_pkmeth.c tb_asnmth.c eng_openssl.c eng_cnf.c eng_dyn.c eng_cryptodev.c eng_rdrand.c -TEST=enginetest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/ocsp -ALL=Makefile README ocsp_asn.c ocsp_ext.c ocsp_ht.c ocsp_lib.c ocsp_cl.c ocsp_srv.c ocsp_prn.c ocsp_vfy.c ocsp_err.c ocsp.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=ocsp -EXHEADER=ocsp.h -GENERAL=Makefile README -HEADER=ocsp.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=ocsp_asn.o ocsp_ext.o ocsp_ht.o ocsp_lib.o ocsp_cl.o ocsp_srv.o ocsp_prn.o ocsp_vfy.o ocsp_err.o -LIBSRC=ocsp_asn.c ocsp_ext.c ocsp_ht.c ocsp_lib.c ocsp_cl.c ocsp_srv.c ocsp_prn.c ocsp_vfy.c ocsp_err.c -MAKEFILE=Makefile -SRC=ocsp_asn.c ocsp_ext.c ocsp_ht.c ocsp_lib.c ocsp_cl.c ocsp_srv.c ocsp_prn.c ocsp_vfy.c ocsp_err.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/ui -ALL=Makefile ui_err.c ui_lib.c ui_openssl.c ui_util.c ui_compat.c ui.h ui_compat.h ui_locl.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -COMPATOBJ=ui_compat.o -COMPATSRC=ui_compat.c -DIR=ui -EXHEADER=ui.h ui_compat.h -GENERAL=Makefile -HEADER=ui.h ui_compat.h ui_locl.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=ui_err.o ui_lib.o ui_openssl.o ui_util.o ui_compat.o -LIBSRC=ui_err.c ui_lib.c ui_openssl.c ui_util.c ui_compat.c -MAKEFILE=Makefile -SRC=ui_err.c ui_lib.c ui_openssl.c ui_util.c ui_compat.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/krb5 -ALL=Makefile README krb5_asn.c krb5_asn.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=krb5 -EXHEADER=krb5_asn.h -GENERAL=Makefile README -HEADER=krb5_asn.h -INCLUDES=-I.. -I../.. -I../../include -LIB=../../libcrypto.a -LIBOBJ=krb5_asn.o -LIBSRC=krb5_asn.c -MAKEFILE=Makefile -SRC=krb5_asn.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/pqueue -ALL=Makefile pqueue.c pqueue.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=pqueue -EXHEADER=pqueue.h -GENERAL=Makefile -HEADER=pqueue.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=pqueue.o -LIBSRC=pqueue.c -MAKEFILE=Makefile -SRC=pqueue.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/whrlpool -AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -ALL=Makefile wp_dgst.c wp_block.c wp_locl.h whrlpool.h -APPS= -AR=ar r -ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CPP=cl -E -DIR=whrlpool -EXHEADER=whrlpool.h -GENERAL=Makefile -HEADER=wp_locl.h whrlpool.h -INCLUDES= -LIB=../../libcrypto.a -LIBOBJ=wp_dgst.o wp_block.o wp-mmx.o -LIBSRC=wp_dgst.c wp_block.c -MAKEFILE=Makefile -SRC=wp_dgst.c wp_block.c -TEST=wp_test.c -TOP=../.. -WP_ASM_OBJ=wp_block.o wp-mmx.o -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/ts -ALL=Makefile ts_err.c ts_req_utils.c ts_req_print.c ts_rsp_utils.c ts_rsp_print.c ts_rsp_sign.c ts_rsp_verify.c ts_verify_ctx.c ts_lib.c ts_conf.c ts_asn1.c ts.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=ts -EXHEADER=ts.h -EX_LIBS= -GENERAL=Makefile -HEADER=ts.h -INCLUDES=-I.. -I../../include -INSTALLTOP=/usr/local/ssl -INSTALL_PREFIX= -LIB=../../libcrypto.a -LIBOBJ=ts_err.o ts_req_utils.o ts_req_print.o ts_rsp_utils.o ts_rsp_print.o ts_rsp_sign.o ts_rsp_verify.o ts_verify_ctx.o ts_lib.o ts_conf.o ts_asn1.o -LIBSRC=ts_err.c ts_req_utils.c ts_req_print.c ts_rsp_utils.c ts_rsp_print.c ts_rsp_sign.c ts_rsp_verify.c ts_verify_ctx.c ts_lib.c ts_conf.c ts_asn1.c -MAKEDEPEND=../../util/domd ../.. -MD makedepend -MAKEDEPPROG=makedepend -MAKEFILE=Makefile -OPENSSLDIR=/usr/local/ssl -PEX_LIBS= -SRC=ts_err.c ts_req_utils.c ts_req_print.c ts_rsp_utils.c ts_rsp_print.c ts_rsp_sign.c ts_rsp_verify.c ts_verify_ctx.c ts_lib.c ts_conf.c ts_asn1.c -TEST= -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=crypto/srp -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=srp -EXHEADER=srp.h -GENERAL=Makefile -HEADER=srp.h -INCLUDES=-I.. -I../.. -I../../include -INSTALLTOP=/usr/local/ssl -INSTALL_PREFIX= -LIB=../../libcrypto.a -LIBOBJ=srp_lib.o srp_vfy.o -LIBSRC=srp_lib.c srp_vfy.c -MAKE=make -f Makefile.ssl -MAKEDEPEND=../../util/domd ../.. -MD makedepend -MAKEDEPPROG=makedepend -MAKEFILE=Makefile -OPENSSLDIR=/usr/local/ssl -SRC=srp_lib.c srp_vfy.c -TEST=srptest.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=ssl -ALL=Makefile README ssl-lib.com install.com s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_enc.c s2_pkt.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c s3_cbc.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c t1_ext.c d1_meth.c d1_srvr.c d1_clnt.c d1_lib.c d1_pkt.c d1_both.c d1_srtp.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c ssl_conf.c bio_ssl.c ssl_err.c kssl.c t1_reneg.c tls_srp.c t1_trce.c ssl_utst.c ssl.h ssl2.h ssl3.h ssl23.h tls1.h dtls1.h kssl.h srtp.h ssl_locl.h kssl_lcl.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I../crypto -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=ssl -EXHEADER=ssl.h ssl2.h ssl3.h ssl23.h tls1.h dtls1.h kssl.h srtp.h -GENERAL=Makefile README ssl-lib.com install.com -HEADER=ssl.h ssl2.h ssl3.h ssl23.h tls1.h dtls1.h kssl.h srtp.h ssl_locl.h kssl_lcl.h -INCLUDES=-I../crypto -I.. -I../include -KRB5_INCLUDES= -LIB=../libssl.a -LIBOBJ=s2_meth.o s2_srvr.o s2_clnt.o s2_lib.o s2_enc.o s2_pkt.o s3_meth.o s3_srvr.o s3_clnt.o s3_lib.o s3_enc.o s3_pkt.o s3_both.o s3_cbc.o s23_meth.o s23_srvr.o s23_clnt.o s23_lib.o s23_pkt.o t1_meth.o t1_srvr.o t1_clnt.o t1_lib.o t1_enc.o t1_ext.o d1_meth.o d1_srvr.o d1_clnt.o d1_lib.o d1_pkt.o d1_both.o d1_srtp.o ssl_lib.o ssl_err2.o ssl_cert.o ssl_sess.o ssl_ciph.o ssl_stat.o ssl_rsa.o ssl_asn1.o ssl_txt.o ssl_algs.o ssl_conf.o bio_ssl.o ssl_err.o kssl.o t1_reneg.o tls_srp.o t1_trce.o ssl_utst.o -LIBSRC=s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_enc.c s2_pkt.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c s3_cbc.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c t1_ext.c d1_meth.c d1_srvr.c d1_clnt.c d1_lib.c d1_pkt.c d1_both.c d1_srtp.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c ssl_conf.c bio_ssl.c ssl_err.c kssl.c t1_reneg.c tls_srp.c t1_trce.c ssl_utst.c -MAKEFILE=Makefile -SHARED_LIB=libssl -SRC=s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_enc.c s2_pkt.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c s3_cbc.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c t1_ext.c d1_meth.c d1_srvr.c d1_clnt.c d1_lib.c d1_pkt.c d1_both.c d1_srtp.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c ssl_conf.c bio_ssl.c ssl_err.c kssl.c t1_reneg.c tls_srp.c t1_trce.c ssl_utst.c -TEST=ssltest.c heartbeat_test.c clienthellotest.c sslv2conftest.c dtlstest.c bad_dtls_test.c fatalerrtest.c -TOP=.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=apps -ALL=Makefile makeapps.com install.com verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c pkcs7.c crl2p7.c crl.c rsa.c rsautl.c dsa.c dsaparam.c ec.c ecparam.c x509.c genrsa.c gendsa.c genpkey.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c app_rand.c version.c sess_id.c ciphers.c nseq.c pkcs12.c pkcs8.c pkey.c pkeyparam.c pkeyutl.c spkac.c smime.c cms.c rand.c engine.c ocsp.c prime.c ts.c srp.c apps.h progs.h s_apps.h testdsa.h testrsa.h -A_OBJ=apps.o -A_SRC=apps.c -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-DMONOLITH -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=apps -DLIBCRYPTO=../libcrypto.a -DLIBSSL=../libssl.a -EXE=openssl -EXE_EXT= -EXHEADER= -EX_LIBS= -E_EXE=verify asn1pars req dgst dh dhparam enc passwd gendh errstr ca crl rsa rsautl dsa dsaparam ec ecparam x509 genrsa gendsa genpkey s_server s_client speed s_time version pkcs7 cms crl2pkcs7 sess_id ciphers nseq pkcs12 pkcs8 pkey pkeyparam pkeyutl spkac smime rand engine ocsp prime ts srp -E_OBJ=verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o gendsa.o genpkey.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o pkcs12.o pkcs8.o pkey.o pkeyparam.o pkeyutl.o spkac.o smime.o cms.o rand.o engine.o ocsp.o prime.o ts.o srp.o -E_SRC=verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c pkcs7.c crl2p7.c crl.c rsa.c rsautl.c dsa.c dsaparam.c ec.c ecparam.c x509.c genrsa.c gendsa.c genpkey.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c app_rand.c version.c sess_id.c ciphers.c nseq.c pkcs12.c pkcs8.c pkey.c pkeyparam.c pkeyutl.c spkac.c smime.c cms.c rand.c engine.c ocsp.c prime.c ts.c srp.c -GENERAL=Makefile makeapps.com install.com -HEADER=apps.h progs.h s_apps.h testdsa.h testrsa.h -INCLUDES=-I.. -I../include -KRB5_INCLUDES= -LIBCRYPTO=-L.. -lcrypto -LIBKRB5= -LIBSSL=-L.. -lssl -MAKEFILE=Makefile -PERL=perl -PEX_LIBS= -PROGRAM=openssl -PROGS=openssl.c -RAND_OBJ=app_rand.o -RAND_SRC=app_rand.c -RM=rm -f -SCRIPTS=CA.sh CA.pl tsget -SHLIB_TARGET= -SRC=verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c pkcs7.c crl2p7.c crl.c rsa.c rsautl.c dsa.c dsaparam.c ec.c ecparam.c x509.c genrsa.c gendsa.c genpkey.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c app_rand.c version.c sess_id.c ciphers.c nseq.c pkcs12.c pkcs8.c pkey.c pkeyparam.c pkeyutl.c spkac.c smime.c cms.c rand.c engine.c ocsp.c prime.c ts.c srp.c -S_OBJ=s_cb.o s_socket.o -S_SRC=s_cb.c s_socket.c -TOP=.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=engines -ALL=Makefile engines.com install.com engine_vector.mar e_4758cca.c e_aep.c e_atalla.c e_cswift.c e_gmp.c e_chil.c e_nuron.c e_sureware.c e_ubsec.c e_padlock.c e_capi.c e_4758cca_err.c e_4758cca_err.h e_aep_err.c e_aep_err.h e_atalla_err.c e_atalla_err.h e_cswift_err.c e_cswift_err.h e_gmp_err.c e_gmp_err.h e_chil_err.c e_chil_err.h e_nuron_err.c e_nuron_err.h e_sureware_err.c e_sureware_err.h e_ubsec_err.c e_ubsec_err.h e_capi_err.c e_capi_err.h -APPS= -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=engines -ENGDIRS=ccgost -EXHEADER= -EX_LIBS= -GENERAL=Makefile engines.com install.com engine_vector.mar -HEADER=e_4758cca_err.c e_4758cca_err.h e_aep_err.c e_aep_err.h e_atalla_err.c e_atalla_err.h e_cswift_err.c e_cswift_err.h e_gmp_err.c e_gmp_err.h e_chil_err.c e_chil_err.h e_nuron_err.c e_nuron_err.h e_sureware_err.c e_sureware_err.h e_ubsec_err.c e_ubsec_err.h e_capi_err.c e_capi_err.h -INCLUDES=-I../include -LIB=../libcrypto.a -LIBNAMES=4758cca aep atalla cswift gmp chil nuron sureware ubsec padlock capi -LIBOBJ=e_4758cca.o e_aep.o e_atalla.o e_cswift.o e_gmp.o e_chil.o e_nuron.o e_sureware.o e_ubsec.o e_padlock.o e_capi.o -LIBSRC=e_4758cca.c e_aep.c e_atalla.c e_cswift.c e_gmp.c e_chil.c e_nuron.c e_sureware.c e_ubsec.c e_padlock.c e_capi.c -MAKEFILE=Makefile -PEX_LIBS= -RECURSIVE_MAKE=[ -z "ccgost" ] || for i in ccgost ; do (cd $$i && echo "making $$target in engines/$$i..." && -e TOP=../.. DIR=$$i $$target ) || exit 1; done; -SRC=e_4758cca.c e_aep.c e_atalla.c e_cswift.c e_gmp.c e_chil.c e_nuron.c e_sureware.c e_ubsec.c e_padlock.c e_capi.c -TEST= -TOP=.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=engines/ccgost -AR=ar r -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=ccgost -INCLUDES=-I../../include -LIB=../../libcrypto.a -LIBNAME=gost -LIBOBJ=e_gost_err.o gost2001_keyx.o gost2001.o gost89.o gost94_keyx.o gost_ameth.o gost_asn1.o gost_crypt.o gost_ctl.o gost_eng.o gosthash.o gost_keywrap.o gost_md.o gost_params.o gost_pmeth.o gost_sign.o -LIBSRC=gost2001.c gost2001_keyx.c gost89.c gost94_keyx.c gost_ameth.c gost_asn1.c gost_crypt.c gost_ctl.c gost_eng.c gosthash.c gost_keywrap.c gost_md.c gost_params.c gost_pmeth.c gost_sign.c -MAKEFILE=Makefile -SRC=gost2001.c gost2001_keyx.c gost89.c gost94_keyx.c gost_ameth.c gost_asn1.c gost_crypt.c gost_ctl.c gost_eng.c gosthash.c gost_keywrap.c gost_md.c gost_params.c gost_pmeth.c gost_sign.c -TOP=../.. -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=test -ALL=Makefile maketests.com tests.com testenc.com tx509.com trsa.com tcrl.com tsid.com treq.com tpkcs7.com tpkcs7d.com tverify.com testgen.com testss.com testssl.com testca.com VMSca-response.1 VMSca-response.2 bntest.c ectest.c ecdsatest.c ecdhtest.c ideatest.c md2test.c md4test.c md5test.c hmactest.c wp_test.c rc2test.c rc4test.c rc5test.c destest.c shatest.c sha1test.c mdc2test.c rmdtest.c randtest.c dhtest.c enginetest.c casttest.c bftest.c ssltest.c dsatest.c exptest.c rsa_test.c evp_test.c evp_extra_test.c igetest.c jpaketest.c srptest.c asn1test.c v3nametest.c heartbeat_test.c constant_time_test.c verify_extra_test.c clienthellotest.c sslv2conftest.c dtlstest.c ssltestlib.c bad_dtls_test.c fatalerrtest.c x509_time_test.c testutil.h ssltestlib.h -ASN1TEST=asn1test -BADDTLSTEST=bad_dtls_test -BFTEST=bftest -BNTEST=bntest -BUILD_CMD=shlib_target=; if [ -n "" ]; then shlib_target=""; fi; LIBRARIES="-L.. -lssl -L.. -lcrypto "; -f ../Makefile.shared -e CC="$cl" APPNAME=$$target OBJECTS="$$target.o $$exobj" LIBDEPS=" $$LIBRARIES " link_app.$ -BUILD_CMD_STATIC=shlib_target=; LIBRARIES="../libssl.a ../libcrypto.a "; -f ../Makefile.shared -e APPNAME=$$target OBJECTS="$$target.o" LIBDEPS=" $$LIBRARIES " link_app.$ -CASTTEST=casttest -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CLIENTHELLOTEST=clienthellotest -CONSTTIMETEST=constant_time_test -DESTEST=destest -DHTEST=dhtest -DIR=test -DLIBCRYPTO=../libcrypto.a -DLIBSSL=../libssl.a -DSATEST=dsatest -DTLSTEST=dtlstest -ECDHTEST=ecdhtest -ECDSATEST=ecdsatest -ECTEST=ectest -ENGINETEST=enginetest -EVPEXTRATEST=evp_extra_test -EVPTEST=evp_test -EXE=bntest ectest ecdsatest ecdhtest ideatest md2test md4test md5test hmactest wp_test rc2test rc4test rc5test destest shatest sha1test sha256t sha512t mdc2test rmdtest randtest dhtest enginetest bftest casttest ssltest exptest dsatest rsa_test evp_test evp_extra_test igetest jpaketest srptest asn1test v3nametest heartbeat_test constant_time_test verify_extra_test clienthellotest sslv2conftest dtlstest bad_dtls_test fatalerrtest x509_time_test -EXHEADER= -EXPTEST=exptest -EX_LIBS= -FATALERRTEST=fatalerrtest -FIPS_BUILD_CMD=shlib_target=; if [ -n "" ]; then shlib_target=""; fi; LIBRARIES="-L.. -lssl -L.. -lcrypto "; if [ -z "" -a -n "" ] ; then FIPSLD_CC="cl"; CC=/usr/local/ssl/fips-2.0/bin/fipsld; export CC FIPSLD_CC; fi; -f ../Makefile.shared -e CC="$cl" APPNAME=$$target OBJECTS="$$target.o" LIBDEPS=" $$LIBRARIES " link_app.$ -GENERAL=Makefile maketests.com tests.com testenc.com tx509.com trsa.com tcrl.com tsid.com treq.com tpkcs7.com tpkcs7d.com tverify.com testgen.com testss.com testssl.com testca.com VMSca-response.1 VMSca-response.2 -HEADER=testutil.h ssltestlib.h -HEARTBEATTEST=heartbeat_test -HMACTEST=hmactest -IDEATEST=ideatest -IGETEST=igetest -INCLUDES=-I.. -I../include -JPAKETEST=jpaketest -KRB5_INCLUDES= -LIBCRYPTO=-L.. -lcrypto -LIBKRB5= -LIBSSL=-L.. -lssl -MAKEDEPEND=../util/domd .. -MD makedepend -MD2TEST=md2test -MD4TEST=md4test -MD5TEST=md5test -MDC2TEST=mdc2test -METHTEST=methtest -OBJ=bntest.o ectest.o ecdsatest.o ecdhtest.o ideatest.o md2test.o md4test.o md5test.o hmactest.o wp_test.o rc2test.o rc4test.o rc5test.o destest.o shatest.o sha1test.o sha256t.o sha512t.o mdc2test.o rmdtest.o randtest.o dhtest.o enginetest.o casttest.o bftest.o ssltest.o dsatest.o exptest.o rsa_test.o evp_test.o evp_extra_test.o igetest.o jpaketest.o asn1test.o v3nametest.o heartbeat_test.o constant_time_test.o verify_extra_test.o clienthellotest.o sslv2conftest.o dtlstest.o ssltestlib.o bad_dtls_test.o fatalerrtest.o x509_time_test.o -PERL=perl -PEX_LIBS= -RANDTEST=randtest -RC2TEST=rc2test -RC4TEST=rc4test -RC5TEST=rc5test -RMDTEST=rmdtest -RSATEST=rsa_test -SHA1TEST=sha1test -SHA256TEST=sha256t -SHA512TEST=sha512t -SHATEST=shatest -SRC=bntest.c ectest.c ecdsatest.c ecdhtest.c ideatest.c md2test.c md4test.c md5test.c hmactest.c wp_test.c rc2test.c rc4test.c rc5test.c destest.c shatest.c sha1test.c mdc2test.c rmdtest.c randtest.c dhtest.c enginetest.c casttest.c bftest.c ssltest.c dsatest.c exptest.c rsa_test.c evp_test.c evp_extra_test.c igetest.c jpaketest.c srptest.c asn1test.c v3nametest.c heartbeat_test.c constant_time_test.c verify_extra_test.c clienthellotest.c sslv2conftest.c dtlstest.c ssltestlib.c bad_dtls_test.c fatalerrtest.c x509_time_test.c -SRPTEST=srptest -SSLTEST=ssltest -SSLV2CONFTEST=sslv2conftest -TEST=igetest.c -TESTS=alltests -TOP=.. -V3NAMETEST=v3nametest -VERIFYEXTRATEST=verify_extra_test -WPTEST=wp_test -X509TIMETEST=x509_time_test -RELATIVE_DIRECTORY= -RELATIVE_DIRECTORY=tools -APPS=c_rehash -CC=cl -CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -CFLAGS=-I.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DIR=tools -GENERAL=Makefile -INCLUDES=-I.. -I../../include -MAKEFILE=Makefile -MISC_APPS=c_hash c_info c_issuer c_name -TEST= -TOP=.. -RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=. +AES_ENC=aes-586.o vpaes-x86.o aesni-x86.o +AR=ar r +ARFLAGS= +AS=cl -c +ASFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +BASEADDR=0xFB00000 +BASENAME=openssl +BF_ENC=bf-586.o +BN_ASM=bn-586.o co-586.o x86-mont.o x86-gf2m.o +BUILDENV=LC_ALL=C PLATFORM='VC-WIN32' PROCESSOR='' CC='cl' CFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM' AS='cl' ASFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -c' AR='ar r' NM='nm' RANLIB='true' RC='windres' CROSS_COMPILE='' PERL='perl' ENGDIRS='ccgost' SDIRS='objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac' LIBRPATH='/usr/local/ssl/lib' INSTALL_PREFIX='' INSTALLTOP='/usr/local/ssl' OPENSSLDIR='/usr/local/ssl' LIBDIR='lib' MAKEDEPEND='$$$./util/domd $$$. -MD makedepend' DEPFLAG='-DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS' MAKEDEPPROG='makedepend' SHARED_LDFLAGS='' KRB5_INCLUDES='' LIBKRB5='' ZLIB_INCLUDE='' LIBZLIB='' EXE_EXT='' SHARED_LIBS='' SHLIB_EXT='' SHLIB_TARGET='' PEX_LIBS='' EX_LIBS='' CPUID_OBJ='x86cpuid.o' BN_ASM='bn-586.o co-586.o x86-mont.o x86-gf2m.o' EC_ASM='' DES_ENC='des-586.o crypt586.o' AES_ENC='aes-586.o vpaes-x86.o aesni-x86.o' CMLL_ENC='cmll-x86.o' BF_ENC='bf-586.o' CAST_ENC='cast-586.o' RC4_ENC='rc4-586.o' RC5_ENC='rc5-586.o' SHA1_ASM_OBJ='sha1-586.o sha256-586.o sha512-586.o' MD5_ASM_OBJ='md5-586.o' RMD160_ASM_OBJ='rmd-586.o' WP_ASM_OBJ='wp_block.o wp-mmx.o' MODES_ASM_OBJ='ghash-x86.o' ENGINES_ASM_OBJ='' PERLASM_SCHEME='win32n' FIPSLIBDIR='' FIPSDIR='/usr/local/ssl/fips-2.0' FIPSCANLIB="$}" THIS=$ MAKEFILE=Makefile MAKEOVERRIDES= +BUILD_CMD=if [ -d "$$dir" ]; then ( cd $$dir && echo "making $$target in $$dir..." && TOP= && unset TOP $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ && -e LC_ALL=C PLATFORM='VC-WIN32' PROCESSOR='' CC='cl' CFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM' AS='cl' ASFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -c' AR='ar r' NM='nm' RANLIB='true' RC='windres' CROSS_COMPILE='' PERL='perl' ENGDIRS='ccgost' SDIRS='objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac' LIBRPATH='/usr/local/ssl/lib' INSTALL_PREFIX='' INSTALLTOP='/usr/local/ssl' OPENSSLDIR='/usr/local/ssl' LIBDIR='lib' MAKEDEPEND='$$$./util/domd $$$. -MD makedepend' DEPFLAG='-DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS' MAKEDEPPROG='makedepend' SHARED_LDFLAGS='' KRB5_INCLUDES='' LIBKRB5='' ZLIB_INCLUDE='' LIBZLIB='' EXE_EXT='' SHARED_LIBS='' SHLIB_EXT='' SHLIB_TARGET='' PEX_LIBS='' EX_LIBS='' CPUID_OBJ='x86cpuid.o' BN_ASM='bn-586.o co-586.o x86-mont.o x86-gf2m.o' EC_ASM='' DES_ENC='des-586.o crypt586.o' AES_ENC='aes-586.o vpaes-x86.o aesni-x86.o' CMLL_ENC='cmll-x86.o' BF_ENC='bf-586.o' CAST_ENC='cast-586.o' RC4_ENC='rc4-586.o' RC5_ENC='rc5-586.o' SHA1_ASM_OBJ='sha1-586.o sha256-586.o sha512-586.o' MD5_ASM_OBJ='md5-586.o' RMD160_ASM_OBJ='rmd-586.o' WP_ASM_OBJ='wp_block.o wp-mmx.o' MODES_ASM_OBJ='ghash-x86.o' ENGINES_ASM_OBJ='' PERLASM_SCHEME='win32n' FIPSLIBDIR='' FIPSDIR='/usr/local/ssl/fips-2.0' FIPSCANLIB="$}" THIS=$ MAKEFILE=Makefile MAKEOVERRIDES= TOP=.. DIR=$$dir $$target ) || exit 1; fi +BUILD_ONE_CMD=if expr " crypto ssl engines apps test tools " : ".* $$dir " >/dev/null 2>&1; then if [ -d "$$dir" ]; then ( cd $$dir && echo "making $$target in $$dir..." && TOP= && unset TOP $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ && -e LC_ALL=C PLATFORM='VC-WIN32' PROCESSOR='' CC='cl' CFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM' AS='cl' ASFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -c' AR='ar r' NM='nm' RANLIB='true' RC='windres' CROSS_COMPILE='' PERL='perl' ENGDIRS='ccgost' SDIRS='objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac' LIBRPATH='/usr/local/ssl/lib' INSTALL_PREFIX='' INSTALLTOP='/usr/local/ssl' OPENSSLDIR='/usr/local/ssl' LIBDIR='lib' MAKEDEPEND='$$$./util/domd $$$. -MD makedepend' DEPFLAG='-DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS' MAKEDEPPROG='makedepend' SHARED_LDFLAGS='' KRB5_INCLUDES='' LIBKRB5='' ZLIB_INCLUDE='' LIBZLIB='' EXE_EXT='' SHARED_LIBS='' SHLIB_EXT='' SHLIB_TARGET='' PEX_LIBS='' EX_LIBS='' CPUID_OBJ='x86cpuid.o' BN_ASM='bn-586.o co-586.o x86-mont.o x86-gf2m.o' EC_ASM='' DES_ENC='des-586.o crypt586.o' AES_ENC='aes-586.o vpaes-x86.o aesni-x86.o' CMLL_ENC='cmll-x86.o' BF_ENC='bf-586.o' CAST_ENC='cast-586.o' RC4_ENC='rc4-586.o' RC5_ENC='rc5-586.o' SHA1_ASM_OBJ='sha1-586.o sha256-586.o sha512-586.o' MD5_ASM_OBJ='md5-586.o' RMD160_ASM_OBJ='rmd-586.o' WP_ASM_OBJ='wp_block.o wp-mmx.o' MODES_ASM_OBJ='ghash-x86.o' ENGINES_ASM_OBJ='' PERLASM_SCHEME='win32n' FIPSLIBDIR='' FIPSDIR='/usr/local/ssl/fips-2.0' FIPSCANLIB="$}" THIS=$ MAKEFILE=Makefile MAKEOVERRIDES= TOP=.. DIR=$$dir $$target ) || exit 1; fi; fi +CAST_ENC=cast-586.o +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CLEARENV=TOP= && unset TOP $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ +CMLL_ENC=cmll-x86.o +CONFIGURE_ARGS=VC-WIN32 no-idea no-mdc2 +CPUID_OBJ=x86cpuid.o +DEPFLAG=-DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS +DES_ENC=des-586.o crypt586.o +DIRS=crypto ssl engines apps test tools +EC_ASM= +EDIRS=times doc bugs util include certs ms shlib mt demos perl sf dep VMS +ENGDIRS=ccgost +ENGINES_ASM_OBJ= +EXE_EXT= +EXHEADER=e_os2.h +EX_LIBS= +FIPSCANLIB= +FIPSDIR=/usr/local/ssl/fips-2.0 +FIPSLIBDIR= +GENERAL=Makefile +HEADER=e_os.h +HERE=. +HTMLDIR=/usr/local/ssl/html +HTMLSUFFIX=html +INSTALLTOP=/usr/local/ssl +INSTALL_PREFIX= +KRB5_INCLUDES= +LIBDIR=lib +LIBKRB5= +LIBS=libcrypto.a libssl.a +LIBZLIB= +MAJOR=1 +MAKEDEPPROG=makedepend +MAKEFILE=Makefile +MAN1=1 +MAN3=3 +MANDIR=/usr/local/ssl/man +MANSUFFIX= +MD5_ASM_OBJ=md5-586.o +MINOR=0.2 +MODES_ASM_OBJ=ghash-x86.o +NAME=openssl-1.0.2s +NM=nm +ONEDIRS=out tmp +OPENSSLDIR=/usr/local/ssl +OPTIONS=no-ec_nistp_64_gcc_128 no-gmp no-idea no-jpake no-krb5 no-libunbound no-md2 no-mdc2 no-rc5 no-rfc3779 no-sctp no-shared no-ssl-trace no-ssl2 no-store no-unit-test no-weak-ssl-ciphers no-zlib no-zlib-dynamic +PERL=perl +PERLASM_SCHEME=win32n +PEX_LIBS= +PLATFORM=VC-WIN32 +PROCESSOR= +RANLIB=true +RC=windres +RC4_ENC=rc4-586.o +RC5_ENC=rc5-586.o +RECURSIVE_BUILD_CMD=for dir in crypto ssl engines apps test tools; do if [ -d "$$dir" ]; then ( cd $$dir && echo "making $$target in $$dir..." && TOP= && unset TOP $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ && -e LC_ALL=C PLATFORM='VC-WIN32' PROCESSOR='' CC='cl' CFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM' AS='cl' ASFLAG='-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -c' AR='ar r' NM='nm' RANLIB='true' RC='windres' CROSS_COMPILE='' PERL='perl' ENGDIRS='ccgost' SDIRS='objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac' LIBRPATH='/usr/local/ssl/lib' INSTALL_PREFIX='' INSTALLTOP='/usr/local/ssl' OPENSSLDIR='/usr/local/ssl' LIBDIR='lib' MAKEDEPEND='$$$./util/domd $$$. -MD makedepend' DEPFLAG='-DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS' MAKEDEPPROG='makedepend' SHARED_LDFLAGS='' KRB5_INCLUDES='' LIBKRB5='' ZLIB_INCLUDE='' LIBZLIB='' EXE_EXT='' SHARED_LIBS='' SHLIB_EXT='' SHLIB_TARGET='' PEX_LIBS='' EX_LIBS='' CPUID_OBJ='x86cpuid.o' BN_ASM='bn-586.o co-586.o x86-mont.o x86-gf2m.o' EC_ASM='' DES_ENC='des-586.o crypt586.o' AES_ENC='aes-586.o vpaes-x86.o aesni-x86.o' CMLL_ENC='cmll-x86.o' BF_ENC='bf-586.o' CAST_ENC='cast-586.o' RC4_ENC='rc4-586.o' RC5_ENC='rc5-586.o' SHA1_ASM_OBJ='sha1-586.o sha256-586.o sha512-586.o' MD5_ASM_OBJ='md5-586.o' RMD160_ASM_OBJ='rmd-586.o' WP_ASM_OBJ='wp_block.o wp-mmx.o' MODES_ASM_OBJ='ghash-x86.o' ENGINES_ASM_OBJ='' PERLASM_SCHEME='win32n' FIPSLIBDIR='' FIPSDIR='/usr/local/ssl/fips-2.0' FIPSCANLIB="$}" THIS=$ MAKEFILE=Makefile MAKEOVERRIDES= TOP=.. DIR=$$dir $$target ) || exit 1; fi; done +RMD160_ASM_OBJ=rmd-586.o +SDIRS=objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac +SHA1_ASM_OBJ=sha1-586.o sha256-586.o sha512-586.o +SHARED_CRYPTO=libcrypto +SHARED_LDFLAGS= +SHARED_LIBS= +SHARED_LIBS_LINK_EXTS= +SHARED_SSL=libssl +SHELL=/bin/sh +SHLIBDIRS=crypto ssl +SHLIB_EXT= +SHLIB_MAJOR=1 +SHLIB_MINOR=0.0 +SHLIB_TARGET= +SHLIB_VERSION_HISTORY= +SHLIB_VERSION_NUMBER=1.0.0 +TAR=tar +TARFILE=../openssl-1.0.2s.tar +TARFLAGS=--no-recursion +TAR_COMMAND=tar --no-recursion --files-from ../openssl-1.0.2s.tar.list --owner 0 --group 0 --transform 's|^|openssl-1.0.2s/|' -cvf - +TESTS=alltests +TOP=. +VERSION=1.0.2s +WDIRS=windows +WP_ASM_OBJ=wp_block.o wp-mmx.o +ZLIB_INCLUDE= +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto +AFLAGS=-I. -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile README crypto-lib.com install.com cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c getenv.c cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h constant_time_locl.h bn_int.h crypto.h opensslv.h opensslconf.h ebcdic.h symhacks.h ossl_typ.h +AR=ar r +ASFLAGS=-I. -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I. -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPUID_OBJ=x86cpuid.o +DIR=crypto +EXHEADER=crypto.h opensslv.h opensslconf.h ebcdic.h symhacks.h ossl_typ.h +EX_LIBS= +GENERAL=Makefile README crypto-lib.com install.com +HEADER=cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h constant_time_locl.h bn_int.h crypto.h opensslv.h opensslconf.h ebcdic.h symhacks.h ossl_typ.h +INCLUDE=-I. -I.. -I../include +INCLUDES=-I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include +LIB=../libcrypto.a +LIBOBJ=cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o o_fips.o o_init.o fips_ers.o getenv.o x86cpuid.o +LIBS= +LIBSRC=cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c getenv.c +MAKEDEPEND=../util/domd .. -MD makedepend +MAKEDEPPROG=makedepend +MAKEFILE=Makefile +PEX_LIBS= +RECURSIVE_MAKE=[ -n "objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac" ] && for i in objects md4 md5 sha hmac ripemd whrlpool des aes rc2 rc4 bf cast camellia seed modes bn ec rsa dsa ecdsa dh ecdh dso engine buffer bio stack lhash rand err evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 cms pqueue ts srp cmac ; do (cd $$i && echo "making $$target in crypto/$$i..." && -e TOP=../.. DIR=$$i INCLUDES='-I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include ' $$target ) || exit 1; done; +RM=rm -f +SHARED_LIB=libcrypto +SRC=cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c getenv.c +TEST=constant_time_test.c +TOP=.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/md2 +ALL=Makefile md2_dgst.c md2_one.c md2.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=md2 +EXHEADER=md2.h +GENERAL=Makefile +HEADER=md2.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=md2_dgst.o md2_one.o +LIBSRC=md2_dgst.c md2_one.c +MAKEFILE=Makefile +SRC=md2_dgst.c md2_one.c +TEST=md2test.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/md4 +ALL=Makefile md4_dgst.c md4_one.c md4_locl.h md4.h +APPS=md4.c +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=md4 +EXHEADER=md4.h +GENERAL=Makefile +HEADER=md4_locl.h md4.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=md4_dgst.o md4_one.o +LIBSRC=md4_dgst.c md4_one.c +MAKEFILE=Makefile +SRC=md4_dgst.c md4_one.c +TEST=md4test.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/md5 +AFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile md5_dgst.c md5_one.c md5_locl.h md5.h +APPS= +AR=ar r +ASFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=md5 +EXHEADER=md5.h +GENERAL=Makefile +HEADER=md5_locl.h md5.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=md5_dgst.o md5_one.o md5-586.o +LIBSRC=md5_dgst.c md5_one.c +MAKEFILE=Makefile +MD5_ASM_OBJ=md5-586.o +SRC=md5_dgst.c md5_one.c +TEST=md5test.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/sha +AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile sha_dgst.c sha1dgst.c sha_one.c sha1_one.c sha256.c sha512.c sha_locl.h sha.h +APPS= +AR=ar r +ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=sha +EXHEADER=sha.h +GENERAL=Makefile +HEADER=sha_locl.h sha.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=sha_dgst.o sha1dgst.o sha_one.o sha1_one.o sha256.o sha512.o sha1-586.o sha256-586.o sha512-586.o +LIBSRC=sha_dgst.c sha1dgst.c sha_one.c sha1_one.c sha256.c sha512.c +MAKEFILE=Makefile +SHA1_ASM_OBJ=sha1-586.o sha256-586.o sha512-586.o +SRC=sha_dgst.c sha1dgst.c sha_one.c sha1_one.c sha256.c sha512.c +TEST=shatest.c sha1test.c sha256t.c sha512t.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/mdc2 +ALL=Makefile mdc2dgst.c mdc2_one.c mdc2.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=mdc2 +EXHEADER=mdc2.h +GENERAL=Makefile +HEADER=mdc2.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=mdc2dgst.o mdc2_one.o +LIBSRC=mdc2dgst.c mdc2_one.c +MAKEFILE=Makefile +SRC=mdc2dgst.c mdc2_one.c +TEST=mdc2test.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/hmac +ALL=Makefile hmac.c hm_ameth.c hm_pmeth.c hmac.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=hmac +EXHEADER=hmac.h +GENERAL=Makefile +HEADER=hmac.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=hmac.o hm_ameth.o hm_pmeth.o +LIBSRC=hmac.c hm_ameth.c hm_pmeth.c +MAKEFILE=Makefile +SRC=hmac.c hm_ameth.c hm_pmeth.c +TEST=hmactest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/cmac +ALL=Makefile cmac.c cm_ameth.c cm_pmeth.c cmac.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=cmac +EXHEADER=cmac.h +GENERAL=Makefile +HEADER=cmac.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=cmac.o cm_ameth.o cm_pmeth.o +LIBSRC=cmac.c cm_ameth.c cm_pmeth.c +MAKEFILE=Makefile +SRC=cmac.c cm_ameth.c cm_pmeth.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/ripemd +AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile rmd_dgst.c rmd_one.c rmd_locl.h rmdconst.h ripemd.h +APPS= +AR=ar r +ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=ripemd +EXHEADER=ripemd.h +GENERAL=Makefile +HEADER=rmd_locl.h rmdconst.h ripemd.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=rmd_dgst.o rmd_one.o rmd-586.o +LIBSRC=rmd_dgst.c rmd_one.c +MAKEFILE=Makefile +RIP_ASM_OBJ= +SRC=rmd_dgst.c rmd_one.c +TEST=rmdtest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/des +AFLAGS=-I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c enc_read.c enc_writ.c fcrypt.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c ede_cbcm_enc.c des_old.c des_old2.c read2pwd.c des_locl.h rpc_des.h spr.h des_ver.h des.h des_old.h +APPS= +AR=ar r +ASFLAGS=-I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DES_ENC=des-586.o crypt586.o +DIR=des +EXHEADER=des.h des_old.h +GENERAL=Makefile +HEADER=des_locl.h rpc_des.h spr.h des_ver.h des.h des_old.h +INCLUDES=-I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=set_key.o ecb_enc.o cbc_enc.o ecb3_enc.o cfb64enc.o cfb64ede.o cfb_enc.o ofb64ede.o enc_read.o enc_writ.o ofb64enc.o ofb_enc.o str2key.o pcbc_enc.o qud_cksm.o rand_key.o des-586.o crypt586.o fcrypt.o xcbc_enc.o rpc_enc.o cbc_cksm.o ede_cbcm_enc.o des_old.o des_old2.o read2pwd.o +LIBSRC=cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c enc_read.c enc_writ.c fcrypt.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c ede_cbcm_enc.c des_old.c des_old2.c read2pwd.c +MAKEFILE=Makefile +RANLIB=true +SRC=cbc_cksm.c cbc_enc.c cfb64enc.c cfb_enc.c ecb3_enc.c ecb_enc.c enc_read.c enc_writ.c fcrypt.c ofb64enc.c ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c rpc_enc.c set_key.c des_enc.c fcrypt_b.c xcbc_enc.c str2key.c cfb64ede.c ofb64ede.c ede_cbcm_enc.c des_old.c des_old2.c read2pwd.c +TEST=destest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/rc2 +ALL=Makefile rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c rc2_locl.h rc2.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=rc2 +EXHEADER=rc2.h +GENERAL=Makefile +HEADER=rc2_locl.h rc2.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=rc2_ecb.o rc2_skey.o rc2_cbc.o rc2cfb64.o rc2ofb64.o +LIBSRC=rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c +MAKEFILE=Makefile +SRC=rc2_ecb.c rc2_skey.c rc2_cbc.c rc2cfb64.c rc2ofb64.c +TEST=rc2test.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/rc4 +AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile rc4_skey.c rc4_enc.c rc4_utl.c rc4.h rc4_locl.h +APPS= +AR=ar r +ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=rc4 +EXHEADER=rc4.h +GENERAL=Makefile +HEADER=rc4.h rc4_locl.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=rc4-586.o rc4_utl.o +LIBSRC=rc4_skey.c rc4_enc.c rc4_utl.c +RC4_ENC=rc4-586.o +SRC=rc4_skey.c rc4_enc.c rc4_utl.c +TEST=rc4test.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/rc5 +AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile rc5_skey.c rc5_ecb.c rc5_enc.c rc5cfb64.c rc5ofb64.c rc5_locl.h rc5.h +APPS= +AR=ar r +ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=rc5 +EXHEADER=rc5.h +GENERAL=Makefile +HEADER=rc5_locl.h rc5.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=rc5_skey.o rc5_ecb.o rc5-586.o rc5cfb64.o rc5ofb64.o +LIBSRC=rc5_skey.c rc5_ecb.c rc5_enc.c rc5cfb64.c rc5ofb64.c +MAKEFILE=Makefile +RC5_ENC=rc5-586.o +SRC=rc5_skey.c rc5_ecb.c rc5_enc.c rc5cfb64.c rc5ofb64.c +TEST=rc5test.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/idea +ALL=Makefile i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c idea_lcl.h idea.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=idea +EXHEADER=idea.h +GENERAL=Makefile +HEADER=idea_lcl.h idea.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=i_cbc.o i_cfb64.o i_ofb64.o i_ecb.o i_skey.o +LIBSRC=i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c +MAKEFILE=Makefile +SRC=i_cbc.c i_cfb64.c i_ofb64.c i_ecb.c i_skey.c +TEST=ideatest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/bf +AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile bf_skey.c bf_ecb.c bf_enc.c bf_cfb64.c bf_ofb64.c bf_pi.h bf_locl.h blowfish.h +APPS= +AR=ar r +ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +BF_ENC=bf-586.o +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=bf +EXHEADER=blowfish.h +GENERAL=Makefile +HEADER=bf_pi.h bf_locl.h blowfish.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=bf_skey.o bf_ecb.o bf-586.o bf_cfb64.o bf_ofb64.o +LIBSRC=bf_skey.c bf_ecb.c bf_enc.c bf_cfb64.c bf_ofb64.c +MAKEFILE=Makefile +SRC=bf_skey.c bf_ecb.c bf_enc.c bf_cfb64.c bf_ofb64.c +TEST=bftest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/cast +AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c cast_s.h cast_lcl.h cast.h +APPS= +AR=ar r +ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CAST_ENC=cast-586.o +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=cast +EXHEADER=cast.h +GENERAL=Makefile +HEADER=cast_s.h cast_lcl.h cast.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=c_skey.o c_ecb.o cast-586.o c_cfb64.o c_ofb64.o +LIBSRC=c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c +MAKEFILE=Makefile +SRC=c_skey.c c_ecb.c c_enc.c c_cfb64.c c_ofb64.c +TEST=casttest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/aes +AES_ENC=aes-586.o vpaes-x86.o aesni-x86.o +AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile aes_core.c aes_misc.c aes_ecb.c aes_cbc.c aes_cfb.c aes_ofb.c aes_ctr.c aes_ige.c aes_wrap.c aes_locl.h aes.h +APPS= +AR=ar r +ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=aes +EXHEADER=aes.h +GENERAL=Makefile +HEADER=aes_locl.h aes.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=aes_misc.o aes_ecb.o aes_cfb.o aes_ofb.o aes_ctr.o aes_ige.o aes_wrap.o aes-586.o vpaes-x86.o aesni-x86.o +LIBSRC=aes_core.c aes_misc.c aes_ecb.c aes_cbc.c aes_cfb.c aes_ofb.c aes_ctr.c aes_ige.c aes_wrap.c +MAKEFILE=Makefile +SRC=aes_core.c aes_misc.c aes_ecb.c aes_cbc.c aes_cfb.c aes_ofb.c aes_ctr.c aes_ige.c aes_wrap.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/camellia +AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile camellia.c cmll_misc.c cmll_ecb.c cmll_cbc.c cmll_ofb.c cmll_cfb.c cmll_ctr.c cmll_utl.c cmll_locl.h camellia.h +APPS= +AR=ar r +ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CMLL_ENC=cmll-x86.o +CPP=cl -E +DIR=camellia +EXHEADER=camellia.h +GENERAL=Makefile +HEADER=cmll_locl.h camellia.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=cmll_ecb.o cmll_ofb.o cmll_cfb.o cmll_ctr.o cmll_utl.o cmll-x86.o +LIBSRC=camellia.c cmll_misc.c cmll_ecb.c cmll_cbc.c cmll_ofb.c cmll_cfb.c cmll_ctr.c cmll_utl.c +MAKEFILE=Makefile +SRC=camellia.c cmll_misc.c cmll_ecb.c cmll_cbc.c cmll_ofb.c cmll_cfb.c cmll_ctr.c cmll_utl.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/seed +ALL=Makefile seed.c seed_ecb.c seed_cbc.c seed_cfb.c seed_ofb.c seed_locl.h seed.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=seed +EXHEADER=seed.h +GENERAL=Makefile +HEADER=seed_locl.h seed.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=seed.o seed_ecb.o seed_cbc.o seed_cfb.o seed_ofb.o +LIBSRC=seed.c seed_ecb.c seed_cbc.c seed_cfb.c seed_ofb.c +MAKEFILE=Makefile +SRC=seed.c seed_ecb.c seed_cbc.c seed_cfb.c seed_ofb.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/modes +AFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile cbc128.c ctr128.c cts128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c wrap128.c modes_lcl.h modes.h +APPS= +AR=ar r +ASFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=modes +EXHEADER=modes.h +GENERAL=Makefile +HEADER=modes_lcl.h modes.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=cbc128.o ctr128.o cts128.o cfb128.o ofb128.o gcm128.o ccm128.o xts128.o wrap128.o ghash-x86.o +LIBSRC=cbc128.c ctr128.c cts128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c wrap128.c +MAKEFILE=Makefile +MODES_ASM_OBJ=ghash-x86.o +SRC=cbc128.c ctr128.c cts128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c wrap128.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/bn +AFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c bn_depr.c bn_const.c bn_x931p.c bn_lcl.h bn_prime.h bn.h +APPS= +AR=ar r +ASFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +BN_ASM=bn-586.o co-586.o x86-mont.o x86-gf2m.o +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=bn +EXHEADER=bn.h +GENERAL=Makefile +HEADER=bn_lcl.h bn_prime.h bn.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=bn_add.o bn_div.o bn_exp.o bn_lib.o bn_ctx.o bn_mul.o bn_mod.o bn_print.o bn_rand.o bn_shift.o bn_word.o bn_blind.o bn_kron.o bn_sqrt.o bn_gcd.o bn_prime.o bn_err.o bn_sqr.o bn-586.o co-586.o x86-mont.o x86-gf2m.o bn_recp.o bn_mont.o bn_mpi.o bn_exp2.o bn_gf2m.o bn_nist.o bn_depr.o bn_const.o bn_x931p.o +LIBSRC=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c bn_depr.c bn_const.c bn_x931p.c +MAKEFILE=Makefile +SRC=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c bn_mod.c bn_print.c bn_rand.c bn_shift.c bn_word.c bn_blind.c bn_kron.c bn_sqrt.c bn_gcd.c bn_prime.c bn_err.c bn_sqr.c bn_asm.c bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c bn_depr.c bn_const.c bn_x931p.c +TEST=bntest.c exptest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/rsa +ALL=Makefile rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c rsa_pk1.c rsa_ssl.c rsa_none.c rsa_oaep.c rsa_chk.c rsa_null.c rsa_pss.c rsa_x931.c rsa_asn1.c rsa_depr.c rsa_ameth.c rsa_prn.c rsa_pmeth.c rsa_crpt.c rsa.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=rsa +EXHEADER=rsa.h +GENERAL=Makefile +HEADER=rsa.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=rsa_eay.o rsa_gen.o rsa_lib.o rsa_sign.o rsa_saos.o rsa_err.o rsa_pk1.o rsa_ssl.o rsa_none.o rsa_oaep.o rsa_chk.o rsa_null.o rsa_pss.o rsa_x931.o rsa_asn1.o rsa_depr.o rsa_ameth.o rsa_prn.o rsa_pmeth.o rsa_crpt.o +LIBSRC=rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c rsa_pk1.c rsa_ssl.c rsa_none.c rsa_oaep.c rsa_chk.c rsa_null.c rsa_pss.c rsa_x931.c rsa_asn1.c rsa_depr.c rsa_ameth.c rsa_prn.c rsa_pmeth.c rsa_crpt.c +MAKEFILE=Makefile +SRC=rsa_eay.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_saos.c rsa_err.c rsa_pk1.c rsa_ssl.c rsa_none.c rsa_oaep.c rsa_chk.c rsa_null.c rsa_pss.c rsa_x931.c rsa_asn1.c rsa_depr.c rsa_ameth.c rsa_prn.c rsa_pmeth.c rsa_crpt.c +TEST=rsa_test.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/dsa +ALL=Makefile dsa_gen.c dsa_key.c dsa_lib.c dsa_asn1.c dsa_vrf.c dsa_sign.c dsa_err.c dsa_ossl.c dsa_depr.c dsa_ameth.c dsa_pmeth.c dsa_prn.c dsa_locl.h dsa.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=dsa +EXHEADER=dsa.h +GENERAL=Makefile +HEADER=dsa_locl.h dsa.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=dsa_gen.o dsa_key.o dsa_lib.o dsa_asn1.o dsa_vrf.o dsa_sign.o dsa_err.o dsa_ossl.o dsa_depr.o dsa_ameth.o dsa_pmeth.o dsa_prn.o +LIBSRC=dsa_gen.c dsa_key.c dsa_lib.c dsa_asn1.c dsa_vrf.c dsa_sign.c dsa_err.c dsa_ossl.c dsa_depr.c dsa_ameth.c dsa_pmeth.c dsa_prn.c +MAKEFILE=Makefile +SRC=dsa_gen.c dsa_key.c dsa_lib.c dsa_asn1.c dsa_vrf.c dsa_sign.c dsa_err.c dsa_ossl.c dsa_depr.c dsa_ameth.c dsa_pmeth.c dsa_prn.c +TEST=dsatest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/dso +ALL=Makefile dso_dl.c dso_dlfcn.c dso_err.c dso_lib.c dso_null.c dso_openssl.c dso_win32.c dso_vms.c dso_beos.c dso.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=dso +EXHEADER=dso.h +GENERAL=Makefile +HEADER=dso.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=dso_dl.o dso_dlfcn.o dso_err.o dso_lib.o dso_null.o dso_openssl.o dso_win32.o dso_vms.o dso_beos.o +LIBSRC=dso_dl.c dso_dlfcn.c dso_err.c dso_lib.c dso_null.c dso_openssl.c dso_win32.c dso_vms.c dso_beos.c +MAKEFILE=Makefile +SRC=dso_dl.c dso_dlfcn.c dso_err.c dso_lib.c dso_null.c dso_openssl.c dso_win32.c dso_vms.c dso_beos.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/dh +ALL=Makefile dh_asn1.c dh_gen.c dh_key.c dh_lib.c dh_check.c dh_err.c dh_depr.c dh_ameth.c dh_pmeth.c dh_prn.c dh_rfc5114.c dh_kdf.c dh.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=dh +EXHEADER=dh.h +GENERAL=Makefile +HEADER=dh.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=dh_asn1.o dh_gen.o dh_key.o dh_lib.o dh_check.o dh_err.o dh_depr.o dh_ameth.o dh_pmeth.o dh_prn.o dh_rfc5114.o dh_kdf.o +LIBSRC=dh_asn1.c dh_gen.c dh_key.c dh_lib.c dh_check.c dh_err.c dh_depr.c dh_ameth.c dh_pmeth.c dh_prn.c dh_rfc5114.c dh_kdf.c +MAKEFILE=Makefile +SRC=dh_asn1.c dh_gen.c dh_key.c dh_lib.c dh_check.c dh_err.c dh_depr.c dh_ameth.c dh_pmeth.c dh_prn.c dh_rfc5114.c dh_kdf.c +TEST=dhtest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/ec +AFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c ec_err.c ec_curve.c ec_check.c ec_print.c ec_asn1.c ec_key.c ec2_smpl.c ec2_mult.c ec_ameth.c ec_pmeth.c eck_prn.c ecp_nistp224.c ecp_nistp256.c ecp_nistp521.c ecp_nistputil.c ecp_oct.c ec2_oct.c ec_oct.c ec_lcl.h ec.h +APPS= +AR=ar r +ASFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=ec +EXHEADER=ec.h +GENERAL=Makefile +HEADER=ec_lcl.h ec.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=ec_lib.o ecp_smpl.o ecp_mont.o ecp_nist.o ec_cvt.o ec_mult.o ec_err.o ec_curve.o ec_check.o ec_print.o ec_asn1.o ec_key.o ec2_smpl.o ec2_mult.o ec_ameth.o ec_pmeth.o eck_prn.o ecp_nistp224.o ecp_nistp256.o ecp_nistp521.o ecp_nistputil.o ecp_oct.o ec2_oct.o ec_oct.o +LIBSRC=ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c ec_err.c ec_curve.c ec_check.c ec_print.c ec_asn1.c ec_key.c ec2_smpl.c ec2_mult.c ec_ameth.c ec_pmeth.c eck_prn.c ecp_nistp224.c ecp_nistp256.c ecp_nistp521.c ecp_nistputil.c ecp_oct.c ec2_oct.c ec_oct.c +MAKEFILE=Makefile +SRC=ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c ec_err.c ec_curve.c ec_check.c ec_print.c ec_asn1.c ec_key.c ec2_smpl.c ec2_mult.c ec_ameth.c ec_pmeth.c eck_prn.c ecp_nistp224.c ecp_nistp256.c ecp_nistp521.c ecp_nistputil.c ecp_oct.c ec2_oct.c ec_oct.c +TEST=ectest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/ecdh +ALL=Makefile ech_lib.c ech_ossl.c ech_key.c ech_err.c ech_kdf.c ech_locl.h ecdh.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=ecdh +EXHEADER=ecdh.h +GENERAL=Makefile +HEADER=ech_locl.h ecdh.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=ech_lib.o ech_ossl.o ech_key.o ech_err.o ech_kdf.o +LIBSRC=ech_lib.c ech_ossl.c ech_key.c ech_err.c ech_kdf.c +MAKEFILE=Makefile +SRC=ech_lib.c ech_ossl.c ech_key.c ech_err.c ech_kdf.c +TEST=ecdhtest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/ecdsa +ALL=Makefile ecs_lib.c ecs_asn1.c ecs_ossl.c ecs_sign.c ecs_vrf.c ecs_err.c ecs_locl.h ecdsa.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=ecdsa +EXHEADER=ecdsa.h +GENERAL=Makefile +HEADER=ecs_locl.h ecdsa.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=ecs_lib.o ecs_asn1.o ecs_ossl.o ecs_sign.o ecs_vrf.o ecs_err.o +LIBSRC=ecs_lib.c ecs_asn1.c ecs_ossl.c ecs_sign.c ecs_vrf.c ecs_err.c +MAKEFILE=Makefile +SRC=ecs_lib.c ecs_asn1.c ecs_ossl.c ecs_sign.c ecs_vrf.c ecs_err.c +TEST=ecdsatest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/buffer +ALL=Makefile buffer.c buf_str.c buf_err.c buffer.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=buffer +EXHEADER=buffer.h +GENERAL=Makefile +HEADER=buffer.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=buffer.o buf_str.o buf_err.o +LIBSRC=buffer.c buf_str.c buf_err.c +MAKEFILE=Makefile +SRC=buffer.c buf_str.c buf_err.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/bio +ALL=Makefile bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c bss_log.c bss_bio.c bss_dgram.c bio_lcl.h bio.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=bio +EXHEADER=bio.h +GENERAL=Makefile +HEADER=bio_lcl.h bio.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=bio_lib.o bio_cb.o bio_err.o bss_mem.o bss_null.o bss_fd.o bss_file.o bss_sock.o bss_conn.o bf_null.o bf_buff.o b_print.o b_dump.o b_sock.o bss_acpt.o bf_nbio.o bss_log.o bss_bio.o bss_dgram.o +LIBSRC=bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c bss_log.c bss_bio.c bss_dgram.c +MAKEFILE=Makefile +SRC=bio_lib.c bio_cb.c bio_err.c bss_mem.c bss_null.c bss_fd.c bss_file.c bss_sock.c bss_conn.c bf_null.c bf_buff.c b_print.c b_dump.c b_sock.c bss_acpt.c bf_nbio.c bss_log.c bss_bio.c bss_dgram.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/stack +ALL=Makefile stack.c stack.h safestack.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=stack +EXHEADER=stack.h safestack.h +GENERAL=Makefile +HEADER=stack.h safestack.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=stack.o +LIBSRC=stack.c +MAKEFILE=Makefile +SRC=stack.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/lhash +ALL=Makefile lhash.c lh_stats.c lhash.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=lhash +EXHEADER=lhash.h +GENERAL=Makefile +HEADER=lhash.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=lhash.o lh_stats.o +LIBSRC=lhash.c lh_stats.c +MAKEFILE=Makefile +SRC=lhash.c lh_stats.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/rand +ALL=Makefile md_rand.c randfile.c rand_lib.c rand_err.c rand_egd.c rand_win.c rand_unix.c rand_os2.c rand_nw.c rand.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=rand +EXHEADER=rand.h +GENERAL=Makefile +HEADER=rand.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=md_rand.o randfile.o rand_lib.o rand_err.o rand_egd.o rand_win.o rand_unix.o rand_os2.o rand_nw.o +LIBSRC=md_rand.c randfile.c rand_lib.c rand_err.c rand_egd.c rand_win.c rand_unix.c rand_os2.c rand_nw.c +MAKEFILE=Makefile +SRC=md_rand.c randfile.c rand_lib.c rand_err.c rand_egd.c rand_win.c rand_unix.c rand_os2.c rand_nw.c +TEST=randtest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/err +ALL=Makefile err.c err_all.c err_prn.c err.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=err +EXHEADER=err.h +GENERAL=Makefile +HEADER=err.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=err.o err_all.o err_prn.o +LIBSRC=err.c err_all.c err_prn.c +MAKEFILE=Makefile +SRC=err.c err_all.c err_prn.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/objects +ALL=Makefile README o_names.c obj_dat.c obj_lib.c obj_err.c obj_xref.c objects.h obj_mac.h obj_dat.h obj_xref.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=objects +EXHEADER=objects.h obj_mac.h +GENERAL=Makefile README +HEADER=objects.h obj_mac.h obj_dat.h obj_xref.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=o_names.o obj_dat.o obj_lib.o obj_err.o obj_xref.o +LIBSRC=o_names.c obj_dat.c obj_lib.c obj_err.c obj_xref.c +MAKEFILE=Makefile +PERL=perl +SRC=o_names.c obj_dat.c obj_lib.c obj_err.c obj_xref.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/evp +ALL=Makefile encode.c digest.c evp_enc.c evp_key.c evp_acnf.c evp_cnf.c e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c e_rc4.c e_aes.c names.c e_seed.c e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c m_null.c m_md2.c m_md4.c m_md5.c m_sha.c m_sha1.c m_wp.c m_dss.c m_dss1.c m_mdc2.c m_ripemd.c m_ecdsa.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c c_allc.c c_alld.c evp_lib.c bio_ok.c evp_pkey.c evp_pbe.c p5_crpt.c p5_crpt2.c e_old.c pmeth_lib.c pmeth_fn.c pmeth_gn.c m_sigver.c e_aes_cbc_hmac_sha1.c e_aes_cbc_hmac_sha256.c e_rc4_hmac_md5.c evp_locl.h evp.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=evp +EXHEADER=evp.h +GENERAL=Makefile +HEADER=evp_locl.h evp.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=encode.o digest.o evp_enc.o evp_key.o evp_acnf.o evp_cnf.o e_des.o e_bf.o e_idea.o e_des3.o e_camellia.o e_rc4.o e_aes.o names.o e_seed.o e_xcbc_d.o e_rc2.o e_cast.o e_rc5.o m_null.o m_md2.o m_md4.o m_md5.o m_sha.o m_sha1.o m_wp.o m_dss.o m_dss1.o m_mdc2.o m_ripemd.o m_ecdsa.o p_open.o p_seal.o p_sign.o p_verify.o p_lib.o p_enc.o p_dec.o bio_md.o bio_b64.o bio_enc.o evp_err.o e_null.o c_all.o c_allc.o c_alld.o evp_lib.o bio_ok.o evp_pkey.o evp_pbe.o p5_crpt.o p5_crpt2.o e_old.o pmeth_lib.o pmeth_fn.o pmeth_gn.o m_sigver.o e_aes_cbc_hmac_sha1.o e_aes_cbc_hmac_sha256.o e_rc4_hmac_md5.o +LIBSRC=encode.c digest.c evp_enc.c evp_key.c evp_acnf.c evp_cnf.c e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c e_rc4.c e_aes.c names.c e_seed.c e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c m_null.c m_md2.c m_md4.c m_md5.c m_sha.c m_sha1.c m_wp.c m_dss.c m_dss1.c m_mdc2.c m_ripemd.c m_ecdsa.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c c_allc.c c_alld.c evp_lib.c bio_ok.c evp_pkey.c evp_pbe.c p5_crpt.c p5_crpt2.c e_old.c pmeth_lib.c pmeth_fn.c pmeth_gn.c m_sigver.c e_aes_cbc_hmac_sha1.c e_aes_cbc_hmac_sha256.c e_rc4_hmac_md5.c +MAKEFILE=Makefile +SRC=encode.c digest.c evp_enc.c evp_key.c evp_acnf.c evp_cnf.c e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c e_rc4.c e_aes.c names.c e_seed.c e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c m_null.c m_md2.c m_md4.c m_md5.c m_sha.c m_sha1.c m_wp.c m_dss.c m_dss1.c m_mdc2.c m_ripemd.c m_ecdsa.c p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c c_all.c c_allc.c c_alld.c evp_lib.c bio_ok.c evp_pkey.c evp_pbe.c p5_crpt.c p5_crpt2.c e_old.c pmeth_lib.c pmeth_fn.c pmeth_gn.c m_sigver.c e_aes_cbc_hmac_sha1.c e_aes_cbc_hmac_sha256.c e_rc4_hmac_md5.c +TEST=evp_test.c evp_extra_test.c +TESTDATA=evptests.txt +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/asn1 +ALL=Makefile README a_object.c a_bitstr.c a_utctm.c a_gentm.c a_time.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_enum.c a_utf8.c a_sign.c a_digest.c a_verify.c a_mbstr.c a_strex.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_bignum.c x_long.c x_name.c x_x509.c x_x509a.c x_crl.c x_info.c x_spki.c nsseq.c x_nx509.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_x509a.c t_crl.c t_pkey.c t_spki.c t_bitst.c tasn_new.c tasn_fre.c tasn_enc.c tasn_dec.c tasn_utl.c tasn_typ.c tasn_prn.c ameth_lib.c f_int.c f_string.c n_pkey.c f_enum.c x_pkey.c a_bool.c x_exten.c bio_asn1.c bio_ndef.c asn_mime.c asn1_gen.c asn1_par.c asn1_lib.c asn1_err.c a_bytes.c a_strnid.c evp_asn1.c asn_pack.c p5_pbe.c p5_pbev2.c p8_pkey.c asn_moid.c asn1.h asn1_mac.h asn1t.h asn1_locl.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=asn1 +EXHEADER=asn1.h asn1_mac.h asn1t.h +GENERAL=Makefile README +HEADER=asn1.h asn1_mac.h asn1t.h asn1_locl.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=a_object.o a_bitstr.o a_utctm.o a_gentm.o a_time.o a_int.o a_octet.o a_print.o a_type.o a_set.o a_dup.o a_d2i_fp.o a_i2d_fp.o a_enum.o a_utf8.o a_sign.o a_digest.o a_verify.o a_mbstr.o a_strex.o x_algor.o x_val.o x_pubkey.o x_sig.o x_req.o x_attrib.o x_bignum.o x_long.o x_name.o x_x509.o x_x509a.o x_crl.o x_info.o x_spki.o nsseq.o x_nx509.o d2i_pu.o d2i_pr.o i2d_pu.o i2d_pr.o t_req.o t_x509.o t_x509a.o t_crl.o t_pkey.o t_spki.o t_bitst.o tasn_new.o tasn_fre.o tasn_enc.o tasn_dec.o tasn_utl.o tasn_typ.o tasn_prn.o ameth_lib.o f_int.o f_string.o n_pkey.o f_enum.o x_pkey.o a_bool.o x_exten.o bio_asn1.o bio_ndef.o asn_mime.o asn1_gen.o asn1_par.o asn1_lib.o asn1_err.o a_bytes.o a_strnid.o evp_asn1.o asn_pack.o p5_pbe.o p5_pbev2.o p8_pkey.o asn_moid.o +LIBSRC=a_object.c a_bitstr.c a_utctm.c a_gentm.c a_time.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_enum.c a_utf8.c a_sign.c a_digest.c a_verify.c a_mbstr.c a_strex.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_bignum.c x_long.c x_name.c x_x509.c x_x509a.c x_crl.c x_info.c x_spki.c nsseq.c x_nx509.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_x509a.c t_crl.c t_pkey.c t_spki.c t_bitst.c tasn_new.c tasn_fre.c tasn_enc.c tasn_dec.c tasn_utl.c tasn_typ.c tasn_prn.c ameth_lib.c f_int.c f_string.c n_pkey.c f_enum.c x_pkey.c a_bool.c x_exten.c bio_asn1.c bio_ndef.c asn_mime.c asn1_gen.c asn1_par.c asn1_lib.c asn1_err.c a_bytes.c a_strnid.c evp_asn1.c asn_pack.c p5_pbe.c p5_pbev2.c p8_pkey.c asn_moid.c +MAKEFILE=Makefile +SRC=a_object.c a_bitstr.c a_utctm.c a_gentm.c a_time.c a_int.c a_octet.c a_print.c a_type.c a_set.c a_dup.c a_d2i_fp.c a_i2d_fp.c a_enum.c a_utf8.c a_sign.c a_digest.c a_verify.c a_mbstr.c a_strex.c x_algor.c x_val.c x_pubkey.c x_sig.c x_req.c x_attrib.c x_bignum.c x_long.c x_name.c x_x509.c x_x509a.c x_crl.c x_info.c x_spki.c nsseq.c x_nx509.c d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c t_req.c t_x509.c t_x509a.c t_crl.c t_pkey.c t_spki.c t_bitst.c tasn_new.c tasn_fre.c tasn_enc.c tasn_dec.c tasn_utl.c tasn_typ.c tasn_prn.c ameth_lib.c f_int.c f_string.c n_pkey.c f_enum.c x_pkey.c a_bool.c x_exten.c bio_asn1.c bio_ndef.c asn_mime.c asn1_gen.c asn1_par.c asn1_lib.c asn1_err.c a_bytes.c a_strnid.c evp_asn1.c asn_pack.c p5_pbe.c p5_pbev2.c p8_pkey.c asn_moid.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/pem +ALL=Makefile pem_sign.c pem_seal.c pem_info.c pem_lib.c pem_all.c pem_err.c pem_x509.c pem_xaux.c pem_oth.c pem_pk8.c pem_pkey.c pvkfmt.c pem.h pem2.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=pem +EXHEADER=pem.h pem2.h +GENERAL=Makefile +HEADER=pem.h pem2.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=pem_sign.o pem_seal.o pem_info.o pem_lib.o pem_all.o pem_err.o pem_x509.o pem_xaux.o pem_oth.o pem_pk8.o pem_pkey.o pvkfmt.o +LIBSRC=pem_sign.c pem_seal.c pem_info.c pem_lib.c pem_all.c pem_err.c pem_x509.c pem_xaux.c pem_oth.c pem_pk8.c pem_pkey.c pvkfmt.c +MAKEFILE=Makefile +SRC=pem_sign.c pem_seal.c pem_info.c pem_lib.c pem_all.c pem_err.c pem_x509.c pem_xaux.c pem_oth.c pem_pk8.c pem_pkey.c pvkfmt.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/x509 +ALL=Makefile README x509_def.c x509_d2.c x509_r2x.c x509_cmp.c x509_obj.c x509_req.c x509spki.c x509_vfy.c x509_set.c x509cset.c x509rset.c x509_err.c x509name.c x509_v3.c x509_ext.c x509_att.c x509type.c x509_lu.c x_all.c x509_txt.c x509_trs.c by_file.c by_dir.c x509_vpm.c x509.h x509_vfy.h vpm_int.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=x509 +EXHEADER=x509.h x509_vfy.h +GENERAL=Makefile README +HEADER=x509.h x509_vfy.h vpm_int.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=x509_def.o x509_d2.o x509_r2x.o x509_cmp.o x509_obj.o x509_req.o x509spki.o x509_vfy.o x509_set.o x509cset.o x509rset.o x509_err.o x509name.o x509_v3.o x509_ext.o x509_att.o x509type.o x509_lu.o x_all.o x509_txt.o x509_trs.o by_file.o by_dir.o x509_vpm.o +LIBSRC=x509_def.c x509_d2.c x509_r2x.c x509_cmp.c x509_obj.c x509_req.c x509spki.c x509_vfy.c x509_set.c x509cset.c x509rset.c x509_err.c x509name.c x509_v3.c x509_ext.c x509_att.c x509type.c x509_lu.c x_all.c x509_txt.c x509_trs.c by_file.c by_dir.c x509_vpm.c +MAKEFILE=Makefile +SRC=x509_def.c x509_d2.c x509_r2x.c x509_cmp.c x509_obj.c x509_req.c x509spki.c x509_vfy.c x509_set.c x509cset.c x509rset.c x509_err.c x509name.c x509_v3.c x509_ext.c x509_att.c x509type.c x509_lu.c x_all.c x509_txt.c x509_trs.c by_file.c by_dir.c x509_vpm.c +TEST=verify_extra_test.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/x509v3 +ALL=Makefile README v3_bcons.c v3_bitst.c v3_conf.c v3_extku.c v3_ia5.c v3_lib.c v3_prn.c v3_utl.c v3err.c v3_genn.c v3_alt.c v3_skey.c v3_akey.c v3_pku.c v3_int.c v3_enum.c v3_sxnet.c v3_cpols.c v3_crld.c v3_purp.c v3_info.c v3_ocsp.c v3_akeya.c v3_pmaps.c v3_pcons.c v3_ncons.c v3_pcia.c v3_pci.c pcy_cache.c pcy_node.c pcy_data.c pcy_map.c pcy_tree.c pcy_lib.c v3_asid.c v3_addr.c v3_scts.c x509v3.h pcy_int.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=x509v3 +EXHEADER=x509v3.h +GENERAL=Makefile README +HEADER=x509v3.h pcy_int.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=v3_bcons.o v3_bitst.o v3_conf.o v3_extku.o v3_ia5.o v3_lib.o v3_prn.o v3_utl.o v3err.o v3_genn.o v3_alt.o v3_skey.o v3_akey.o v3_pku.o v3_int.o v3_enum.o v3_sxnet.o v3_cpols.o v3_crld.o v3_purp.o v3_info.o v3_ocsp.o v3_akeya.o v3_pmaps.o v3_pcons.o v3_ncons.o v3_pcia.o v3_pci.o pcy_cache.o pcy_node.o pcy_data.o pcy_map.o pcy_tree.o pcy_lib.o v3_asid.o v3_addr.o v3_scts.o +LIBSRC=v3_bcons.c v3_bitst.c v3_conf.c v3_extku.c v3_ia5.c v3_lib.c v3_prn.c v3_utl.c v3err.c v3_genn.c v3_alt.c v3_skey.c v3_akey.c v3_pku.c v3_int.c v3_enum.c v3_sxnet.c v3_cpols.c v3_crld.c v3_purp.c v3_info.c v3_ocsp.c v3_akeya.c v3_pmaps.c v3_pcons.c v3_ncons.c v3_pcia.c v3_pci.c pcy_cache.c pcy_node.c pcy_data.c pcy_map.c pcy_tree.c pcy_lib.c v3_asid.c v3_addr.c v3_scts.c +MAKEFILE=Makefile +SRC=v3_bcons.c v3_bitst.c v3_conf.c v3_extku.c v3_ia5.c v3_lib.c v3_prn.c v3_utl.c v3err.c v3_genn.c v3_alt.c v3_skey.c v3_akey.c v3_pku.c v3_int.c v3_enum.c v3_sxnet.c v3_cpols.c v3_crld.c v3_purp.c v3_info.c v3_ocsp.c v3_akeya.c v3_pmaps.c v3_pcons.c v3_ncons.c v3_pcia.c v3_pci.c pcy_cache.c pcy_node.c pcy_data.c pcy_map.c pcy_tree.c pcy_lib.c v3_asid.c v3_addr.c v3_scts.c +TEST=v3nametest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/cms +ALL=Makefile cms_lib.c cms_asn1.c cms_att.c cms_io.c cms_smime.c cms_err.c cms_sd.c cms_dd.c cms_cd.c cms_env.c cms_enc.c cms_ess.c cms_pwri.c cms_kari.c cms_lcl.h cms.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=cms +EXHEADER=cms.h +GENERAL=Makefile +HEADER=cms_lcl.h cms.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=cms_lib.o cms_asn1.o cms_att.o cms_io.o cms_smime.o cms_err.o cms_sd.o cms_dd.o cms_cd.o cms_env.o cms_enc.o cms_ess.o cms_pwri.o cms_kari.o +LIBSRC=cms_lib.c cms_asn1.c cms_att.c cms_io.c cms_smime.c cms_err.c cms_sd.c cms_dd.c cms_cd.c cms_env.c cms_enc.c cms_ess.c cms_pwri.c cms_kari.c +MAKEFILE=Makefile +SRC=cms_lib.c cms_asn1.c cms_att.c cms_io.c cms_smime.c cms_err.c cms_sd.c cms_dd.c cms_cd.c cms_env.c cms_enc.c cms_ess.c cms_pwri.c cms_kari.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/conf +ALL=Makefile conf_err.c conf_lib.c conf_api.c conf_def.c conf_mod.c conf_mall.c conf_sap.c conf_def.h conf.h conf_api.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=conf +EXHEADER=conf.h conf_api.h +GENERAL=Makefile +HEADER=conf_def.h conf.h conf_api.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=conf_err.o conf_lib.o conf_api.o conf_def.o conf_mod.o conf_mall.o conf_sap.o +LIBSRC=conf_err.c conf_lib.c conf_api.c conf_def.c conf_mod.c conf_mall.c conf_sap.c +MAKEFILE=Makefile +SRC=conf_err.c conf_lib.c conf_api.c conf_def.c conf_mod.c conf_mall.c conf_sap.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/jpake +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=jpake +EXHEADER=jpake.h +LIB=../../libcrypto.a +LIBOBJ=jpake.o jpake_err.o +LIBSRC=jpake.c jpake_err.c +TEST=jpaketest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/txt_db +ALL=Makefile txt_db.c txt_db.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=txt_db +EXHEADER=txt_db.h +GENERAL=Makefile +HEADER=txt_db.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=txt_db.o +LIBSRC=txt_db.c +MAKEFILE=Makefile +SRC=txt_db.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/pkcs7 +ALL=Makefile README pk7_asn1.c pk7_lib.c pkcs7err.c pk7_doit.c pk7_smime.c pk7_attr.c pk7_mime.c bio_pk7.c pkcs7.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=pkcs7 +EXHEADER=pkcs7.h +EX_LIBS= +GENERAL=Makefile README +HEADER=pkcs7.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=pk7_asn1.o pk7_lib.o pkcs7err.o pk7_doit.o pk7_smime.o pk7_attr.o pk7_mime.o bio_pk7.o +LIBSRC=pk7_asn1.c pk7_lib.c pkcs7err.c pk7_doit.c pk7_smime.c pk7_attr.c pk7_mime.c bio_pk7.c +MAKEFILE=Makefile +PEX_LIBS= +SRC=pk7_asn1.c pk7_lib.c pkcs7err.c pk7_doit.c pk7_smime.c pk7_attr.c pk7_mime.c bio_pk7.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/pkcs12 +ALL=Makefile p12_add.c p12_asn.c p12_attr.c p12_crpt.c p12_crt.c p12_decr.c p12_init.c p12_key.c p12_kiss.c p12_mutl.c p12_utl.c p12_npas.c pk12err.c p12_p8d.c p12_p8e.c pkcs12.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=pkcs12 +EXHEADER=pkcs12.h +GENERAL=Makefile +HEADER=pkcs12.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=p12_add.o p12_asn.o p12_attr.o p12_crpt.o p12_crt.o p12_decr.o p12_init.o p12_key.o p12_kiss.o p12_mutl.o p12_utl.o p12_npas.o pk12err.o p12_p8d.o p12_p8e.o +LIBSRC=p12_add.c p12_asn.c p12_attr.c p12_crpt.c p12_crt.c p12_decr.c p12_init.c p12_key.c p12_kiss.c p12_mutl.c p12_utl.c p12_npas.c pk12err.c p12_p8d.c p12_p8e.c +MAKEFILE=Makefile +SRC=p12_add.c p12_asn.c p12_attr.c p12_crpt.c p12_crt.c p12_decr.c p12_init.c p12_key.c p12_kiss.c p12_mutl.c p12_utl.c p12_npas.c pk12err.c p12_p8d.c p12_p8e.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/comp +ALL=Makefile comp_lib.c comp_err.c c_rle.c c_zlib.c comp.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=comp +EXHEADER=comp.h +GENERAL=Makefile +HEADER=comp.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=comp_lib.o comp_err.o c_rle.o c_zlib.o +LIBSRC=comp_lib.c comp_err.c c_rle.c c_zlib.c +MAKEFILE=Makefile +SRC=comp_lib.c comp_err.c c_rle.c c_zlib.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/engine +ALL=Makefile eng_err.c eng_lib.c eng_list.c eng_init.c eng_ctrl.c eng_table.c eng_pkey.c eng_fat.c eng_all.c tb_rsa.c tb_dsa.c tb_ecdsa.c tb_dh.c tb_ecdh.c tb_rand.c tb_store.c tb_cipher.c tb_digest.c tb_pkmeth.c tb_asnmth.c eng_openssl.c eng_cnf.c eng_dyn.c eng_cryptodev.c eng_rdrand.c engine.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=engine +EXHEADER=engine.h +GENERAL=Makefile +HEADER=engine.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=eng_err.o eng_lib.o eng_list.o eng_init.o eng_ctrl.o eng_table.o eng_pkey.o eng_fat.o eng_all.o tb_rsa.o tb_dsa.o tb_ecdsa.o tb_dh.o tb_ecdh.o tb_rand.o tb_store.o tb_cipher.o tb_digest.o tb_pkmeth.o tb_asnmth.o eng_openssl.o eng_cnf.o eng_dyn.o eng_cryptodev.o eng_rdrand.o +LIBSRC=eng_err.c eng_lib.c eng_list.c eng_init.c eng_ctrl.c eng_table.c eng_pkey.c eng_fat.c eng_all.c tb_rsa.c tb_dsa.c tb_ecdsa.c tb_dh.c tb_ecdh.c tb_rand.c tb_store.c tb_cipher.c tb_digest.c tb_pkmeth.c tb_asnmth.c eng_openssl.c eng_cnf.c eng_dyn.c eng_cryptodev.c eng_rdrand.c +MAKEFILE=Makefile +SRC=eng_err.c eng_lib.c eng_list.c eng_init.c eng_ctrl.c eng_table.c eng_pkey.c eng_fat.c eng_all.c tb_rsa.c tb_dsa.c tb_ecdsa.c tb_dh.c tb_ecdh.c tb_rand.c tb_store.c tb_cipher.c tb_digest.c tb_pkmeth.c tb_asnmth.c eng_openssl.c eng_cnf.c eng_dyn.c eng_cryptodev.c eng_rdrand.c +TEST=enginetest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/ocsp +ALL=Makefile README ocsp_asn.c ocsp_ext.c ocsp_ht.c ocsp_lib.c ocsp_cl.c ocsp_srv.c ocsp_prn.c ocsp_vfy.c ocsp_err.c ocsp.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=ocsp +EXHEADER=ocsp.h +GENERAL=Makefile README +HEADER=ocsp.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=ocsp_asn.o ocsp_ext.o ocsp_ht.o ocsp_lib.o ocsp_cl.o ocsp_srv.o ocsp_prn.o ocsp_vfy.o ocsp_err.o +LIBSRC=ocsp_asn.c ocsp_ext.c ocsp_ht.c ocsp_lib.c ocsp_cl.c ocsp_srv.c ocsp_prn.c ocsp_vfy.c ocsp_err.c +MAKEFILE=Makefile +SRC=ocsp_asn.c ocsp_ext.c ocsp_ht.c ocsp_lib.c ocsp_cl.c ocsp_srv.c ocsp_prn.c ocsp_vfy.c ocsp_err.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/ui +ALL=Makefile ui_err.c ui_lib.c ui_openssl.c ui_util.c ui_compat.c ui.h ui_compat.h ui_locl.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +COMPATOBJ=ui_compat.o +COMPATSRC=ui_compat.c +DIR=ui +EXHEADER=ui.h ui_compat.h +GENERAL=Makefile +HEADER=ui.h ui_compat.h ui_locl.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=ui_err.o ui_lib.o ui_openssl.o ui_util.o ui_compat.o +LIBSRC=ui_err.c ui_lib.c ui_openssl.c ui_util.c ui_compat.c +MAKEFILE=Makefile +SRC=ui_err.c ui_lib.c ui_openssl.c ui_util.c ui_compat.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/krb5 +ALL=Makefile README krb5_asn.c krb5_asn.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=krb5 +EXHEADER=krb5_asn.h +GENERAL=Makefile README +HEADER=krb5_asn.h +INCLUDES=-I.. -I../.. -I../../include +LIB=../../libcrypto.a +LIBOBJ=krb5_asn.o +LIBSRC=krb5_asn.c +MAKEFILE=Makefile +SRC=krb5_asn.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/pqueue +ALL=Makefile pqueue.c pqueue.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=pqueue +EXHEADER=pqueue.h +GENERAL=Makefile +HEADER=pqueue.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=pqueue.o +LIBSRC=pqueue.c +MAKEFILE=Makefile +SRC=pqueue.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/whrlpool +AFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +ALL=Makefile wp_dgst.c wp_block.c wp_locl.h whrlpool.h +APPS= +AR=ar r +ASFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CPP=cl -E +DIR=whrlpool +EXHEADER=whrlpool.h +GENERAL=Makefile +HEADER=wp_locl.h whrlpool.h +INCLUDES= +LIB=../../libcrypto.a +LIBOBJ=wp_dgst.o wp_block.o wp-mmx.o +LIBSRC=wp_dgst.c wp_block.c +MAKEFILE=Makefile +SRC=wp_dgst.c wp_block.c +TEST=wp_test.c +TOP=../.. +WP_ASM_OBJ=wp_block.o wp-mmx.o +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/ts +ALL=Makefile ts_err.c ts_req_utils.c ts_req_print.c ts_rsp_utils.c ts_rsp_print.c ts_rsp_sign.c ts_rsp_verify.c ts_verify_ctx.c ts_lib.c ts_conf.c ts_asn1.c ts.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=ts +EXHEADER=ts.h +EX_LIBS= +GENERAL=Makefile +HEADER=ts.h +INCLUDES=-I.. -I../../include +INSTALLTOP=/usr/local/ssl +INSTALL_PREFIX= +LIB=../../libcrypto.a +LIBOBJ=ts_err.o ts_req_utils.o ts_req_print.o ts_rsp_utils.o ts_rsp_print.o ts_rsp_sign.o ts_rsp_verify.o ts_verify_ctx.o ts_lib.o ts_conf.o ts_asn1.o +LIBSRC=ts_err.c ts_req_utils.c ts_req_print.c ts_rsp_utils.c ts_rsp_print.c ts_rsp_sign.c ts_rsp_verify.c ts_verify_ctx.c ts_lib.c ts_conf.c ts_asn1.c +MAKEDEPEND=../../util/domd ../.. -MD makedepend +MAKEDEPPROG=makedepend +MAKEFILE=Makefile +OPENSSLDIR=/usr/local/ssl +PEX_LIBS= +SRC=ts_err.c ts_req_utils.c ts_req_print.c ts_rsp_utils.c ts_rsp_print.c ts_rsp_sign.c ts_rsp_verify.c ts_verify_ctx.c ts_lib.c ts_conf.c ts_asn1.c +TEST= +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=crypto/srp +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=srp +EXHEADER=srp.h +GENERAL=Makefile +HEADER=srp.h +INCLUDES=-I.. -I../.. -I../../include +INSTALLTOP=/usr/local/ssl +INSTALL_PREFIX= +LIB=../../libcrypto.a +LIBOBJ=srp_lib.o srp_vfy.o +LIBSRC=srp_lib.c srp_vfy.c +MAKE=make -f Makefile.ssl +MAKEDEPEND=../../util/domd ../.. -MD makedepend +MAKEDEPPROG=makedepend +MAKEFILE=Makefile +OPENSSLDIR=/usr/local/ssl +SRC=srp_lib.c srp_vfy.c +TEST=srptest.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=ssl +ALL=Makefile README ssl-lib.com install.com s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_enc.c s2_pkt.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c s3_cbc.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c t1_ext.c d1_meth.c d1_srvr.c d1_clnt.c d1_lib.c d1_pkt.c d1_both.c d1_srtp.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c ssl_conf.c bio_ssl.c ssl_err.c kssl.c t1_reneg.c tls_srp.c t1_trce.c ssl_utst.c ssl.h ssl2.h ssl3.h ssl23.h tls1.h dtls1.h kssl.h srtp.h ssl_locl.h kssl_lcl.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I../crypto -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=ssl +EXHEADER=ssl.h ssl2.h ssl3.h ssl23.h tls1.h dtls1.h kssl.h srtp.h +GENERAL=Makefile README ssl-lib.com install.com +HEADER=ssl.h ssl2.h ssl3.h ssl23.h tls1.h dtls1.h kssl.h srtp.h ssl_locl.h kssl_lcl.h +INCLUDES=-I../crypto -I.. -I../include +KRB5_INCLUDES= +LIB=../libssl.a +LIBOBJ=s2_meth.o s2_srvr.o s2_clnt.o s2_lib.o s2_enc.o s2_pkt.o s3_meth.o s3_srvr.o s3_clnt.o s3_lib.o s3_enc.o s3_pkt.o s3_both.o s3_cbc.o s23_meth.o s23_srvr.o s23_clnt.o s23_lib.o s23_pkt.o t1_meth.o t1_srvr.o t1_clnt.o t1_lib.o t1_enc.o t1_ext.o d1_meth.o d1_srvr.o d1_clnt.o d1_lib.o d1_pkt.o d1_both.o d1_srtp.o ssl_lib.o ssl_err2.o ssl_cert.o ssl_sess.o ssl_ciph.o ssl_stat.o ssl_rsa.o ssl_asn1.o ssl_txt.o ssl_algs.o ssl_conf.o bio_ssl.o ssl_err.o kssl.o t1_reneg.o tls_srp.o t1_trce.o ssl_utst.o +LIBSRC=s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_enc.c s2_pkt.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c s3_cbc.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c t1_ext.c d1_meth.c d1_srvr.c d1_clnt.c d1_lib.c d1_pkt.c d1_both.c d1_srtp.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c ssl_conf.c bio_ssl.c ssl_err.c kssl.c t1_reneg.c tls_srp.c t1_trce.c ssl_utst.c +MAKEFILE=Makefile +SHARED_LIB=libssl +SRC=s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_enc.c s2_pkt.c s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c s3_cbc.c s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c t1_ext.c d1_meth.c d1_srvr.c d1_clnt.c d1_lib.c d1_pkt.c d1_both.c d1_srtp.c ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c ssl_ciph.c ssl_stat.c ssl_rsa.c ssl_asn1.c ssl_txt.c ssl_algs.c ssl_conf.c bio_ssl.c ssl_err.c kssl.c t1_reneg.c tls_srp.c t1_trce.c ssl_utst.c +TEST=ssltest.c heartbeat_test.c clienthellotest.c sslv2conftest.c dtlstest.c bad_dtls_test.c fatalerrtest.c +TOP=.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=apps +ALL=Makefile makeapps.com install.com verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c pkcs7.c crl2p7.c crl.c rsa.c rsautl.c dsa.c dsaparam.c ec.c ecparam.c x509.c genrsa.c gendsa.c genpkey.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c app_rand.c version.c sess_id.c ciphers.c nseq.c pkcs12.c pkcs8.c pkey.c pkeyparam.c pkeyutl.c spkac.c smime.c cms.c rand.c engine.c ocsp.c prime.c ts.c srp.c apps.h progs.h s_apps.h testdsa.h testrsa.h +A_OBJ=apps.o +A_SRC=apps.c +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-DMONOLITH -I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=apps +DLIBCRYPTO=../libcrypto.a +DLIBSSL=../libssl.a +EXE=openssl +EXE_EXT= +EXHEADER= +EX_LIBS= +E_EXE=verify asn1pars req dgst dh dhparam enc passwd gendh errstr ca crl rsa rsautl dsa dsaparam ec ecparam x509 genrsa gendsa genpkey s_server s_client speed s_time version pkcs7 cms crl2pkcs7 sess_id ciphers nseq pkcs12 pkcs8 pkey pkeyparam pkeyutl spkac smime rand engine ocsp prime ts srp +E_OBJ=verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o gendsa.o genpkey.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o pkcs12.o pkcs8.o pkey.o pkeyparam.o pkeyutl.o spkac.o smime.o cms.o rand.o engine.o ocsp.o prime.o ts.o srp.o +E_SRC=verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c pkcs7.c crl2p7.c crl.c rsa.c rsautl.c dsa.c dsaparam.c ec.c ecparam.c x509.c genrsa.c gendsa.c genpkey.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c app_rand.c version.c sess_id.c ciphers.c nseq.c pkcs12.c pkcs8.c pkey.c pkeyparam.c pkeyutl.c spkac.c smime.c cms.c rand.c engine.c ocsp.c prime.c ts.c srp.c +GENERAL=Makefile makeapps.com install.com +HEADER=apps.h progs.h s_apps.h testdsa.h testrsa.h +INCLUDES=-I.. -I../include +KRB5_INCLUDES= +LIBCRYPTO=-L.. -lcrypto +LIBKRB5= +LIBSSL=-L.. -lssl +MAKEFILE=Makefile +PERL=perl +PEX_LIBS= +PROGRAM=openssl +PROGS=openssl.c +RAND_OBJ=app_rand.o +RAND_SRC=app_rand.c +RM=rm -f +SCRIPTS=CA.sh CA.pl tsget +SHLIB_TARGET= +SRC=verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c pkcs7.c crl2p7.c crl.c rsa.c rsautl.c dsa.c dsaparam.c ec.c ecparam.c x509.c genrsa.c gendsa.c genpkey.c s_server.c s_client.c speed.c s_time.c apps.c s_cb.c s_socket.c app_rand.c version.c sess_id.c ciphers.c nseq.c pkcs12.c pkcs8.c pkey.c pkeyparam.c pkeyutl.c spkac.c smime.c cms.c rand.c engine.c ocsp.c prime.c ts.c srp.c +S_OBJ=s_cb.o s_socket.o +S_SRC=s_cb.c s_socket.c +TOP=.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=engines +ALL=Makefile engines.com install.com engine_vector.mar e_4758cca.c e_aep.c e_atalla.c e_cswift.c e_gmp.c e_chil.c e_nuron.c e_sureware.c e_ubsec.c e_padlock.c e_capi.c e_4758cca_err.c e_4758cca_err.h e_aep_err.c e_aep_err.h e_atalla_err.c e_atalla_err.h e_cswift_err.c e_cswift_err.h e_gmp_err.c e_gmp_err.h e_chil_err.c e_chil_err.h e_nuron_err.c e_nuron_err.h e_sureware_err.c e_sureware_err.h e_ubsec_err.c e_ubsec_err.h e_capi_err.c e_capi_err.h +APPS= +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=engines +ENGDIRS=ccgost +EXHEADER= +EX_LIBS= +GENERAL=Makefile engines.com install.com engine_vector.mar +HEADER=e_4758cca_err.c e_4758cca_err.h e_aep_err.c e_aep_err.h e_atalla_err.c e_atalla_err.h e_cswift_err.c e_cswift_err.h e_gmp_err.c e_gmp_err.h e_chil_err.c e_chil_err.h e_nuron_err.c e_nuron_err.h e_sureware_err.c e_sureware_err.h e_ubsec_err.c e_ubsec_err.h e_capi_err.c e_capi_err.h +INCLUDES=-I../include +LIB=../libcrypto.a +LIBNAMES=4758cca aep atalla cswift gmp chil nuron sureware ubsec padlock capi +LIBOBJ=e_4758cca.o e_aep.o e_atalla.o e_cswift.o e_gmp.o e_chil.o e_nuron.o e_sureware.o e_ubsec.o e_padlock.o e_capi.o +LIBSRC=e_4758cca.c e_aep.c e_atalla.c e_cswift.c e_gmp.c e_chil.c e_nuron.c e_sureware.c e_ubsec.c e_padlock.c e_capi.c +MAKEFILE=Makefile +PEX_LIBS= +RECURSIVE_MAKE=[ -z "ccgost" ] || for i in ccgost ; do (cd $$i && echo "making $$target in engines/$$i..." && -e TOP=../.. DIR=$$i $$target ) || exit 1; done; +SRC=e_4758cca.c e_aep.c e_atalla.c e_cswift.c e_gmp.c e_chil.c e_nuron.c e_sureware.c e_ubsec.c e_padlock.c e_capi.c +TEST= +TOP=.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=engines/ccgost +AR=ar r +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=ccgost +INCLUDES=-I../../include +LIB=../../libcrypto.a +LIBNAME=gost +LIBOBJ=e_gost_err.o gost2001_keyx.o gost2001.o gost89.o gost94_keyx.o gost_ameth.o gost_asn1.o gost_crypt.o gost_ctl.o gost_eng.o gosthash.o gost_keywrap.o gost_md.o gost_params.o gost_pmeth.o gost_sign.o +LIBSRC=gost2001.c gost2001_keyx.c gost89.c gost94_keyx.c gost_ameth.c gost_asn1.c gost_crypt.c gost_ctl.c gost_eng.c gosthash.c gost_keywrap.c gost_md.c gost_params.c gost_pmeth.c gost_sign.c +MAKEFILE=Makefile +SRC=gost2001.c gost2001_keyx.c gost89.c gost94_keyx.c gost_ameth.c gost_asn1.c gost_crypt.c gost_ctl.c gost_eng.c gosthash.c gost_keywrap.c gost_md.c gost_params.c gost_pmeth.c gost_sign.c +TOP=../.. +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=test +ALL=Makefile maketests.com tests.com testenc.com tx509.com trsa.com tcrl.com tsid.com treq.com tpkcs7.com tpkcs7d.com tverify.com testgen.com testss.com testssl.com testca.com VMSca-response.1 VMSca-response.2 bntest.c ectest.c ecdsatest.c ecdhtest.c ideatest.c md2test.c md4test.c md5test.c hmactest.c wp_test.c rc2test.c rc4test.c rc5test.c destest.c shatest.c sha1test.c mdc2test.c rmdtest.c randtest.c dhtest.c enginetest.c casttest.c bftest.c ssltest.c dsatest.c exptest.c rsa_test.c evp_test.c evp_extra_test.c igetest.c jpaketest.c srptest.c asn1test.c v3nametest.c heartbeat_test.c constant_time_test.c verify_extra_test.c clienthellotest.c sslv2conftest.c dtlstest.c ssltestlib.c bad_dtls_test.c fatalerrtest.c x509_time_test.c testutil.h ssltestlib.h +ASN1TEST=asn1test +BADDTLSTEST=bad_dtls_test +BFTEST=bftest +BNTEST=bntest +BUILD_CMD=shlib_target=; if [ -n "" ]; then shlib_target=""; fi; LIBRARIES="-L.. -lssl -L.. -lcrypto "; -f ../Makefile.shared -e CC="$cl" APPNAME=$$target OBJECTS="$$target.o $$exobj" LIBDEPS=" $$LIBRARIES " link_app.$ +BUILD_CMD_STATIC=shlib_target=; LIBRARIES="../libssl.a ../libcrypto.a "; -f ../Makefile.shared -e APPNAME=$$target OBJECTS="$$target.o" LIBDEPS=" $$LIBRARIES " link_app.$ +CASTTEST=casttest +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CLIENTHELLOTEST=clienthellotest +CONSTTIMETEST=constant_time_test +DESTEST=destest +DHTEST=dhtest +DIR=test +DLIBCRYPTO=../libcrypto.a +DLIBSSL=../libssl.a +DSATEST=dsatest +DTLSTEST=dtlstest +ECDHTEST=ecdhtest +ECDSATEST=ecdsatest +ECTEST=ectest +ENGINETEST=enginetest +EVPEXTRATEST=evp_extra_test +EVPTEST=evp_test +EXE=bntest ectest ecdsatest ecdhtest ideatest md2test md4test md5test hmactest wp_test rc2test rc4test rc5test destest shatest sha1test sha256t sha512t mdc2test rmdtest randtest dhtest enginetest bftest casttest ssltest exptest dsatest rsa_test evp_test evp_extra_test igetest jpaketest srptest asn1test v3nametest heartbeat_test constant_time_test verify_extra_test clienthellotest sslv2conftest dtlstest bad_dtls_test fatalerrtest x509_time_test +EXHEADER= +EXPTEST=exptest +EX_LIBS= +FATALERRTEST=fatalerrtest +FIPS_BUILD_CMD=shlib_target=; if [ -n "" ]; then shlib_target=""; fi; LIBRARIES="-L.. -lssl -L.. -lcrypto "; if [ -z "" -a -n "" ] ; then FIPSLD_CC="cl"; CC=/usr/local/ssl/fips-2.0/bin/fipsld; export CC FIPSLD_CC; fi; -f ../Makefile.shared -e CC="$cl" APPNAME=$$target OBJECTS="$$target.o" LIBDEPS=" $$LIBRARIES " link_app.$ +GENERAL=Makefile maketests.com tests.com testenc.com tx509.com trsa.com tcrl.com tsid.com treq.com tpkcs7.com tpkcs7d.com tverify.com testgen.com testss.com testssl.com testca.com VMSca-response.1 VMSca-response.2 +HEADER=testutil.h ssltestlib.h +HEARTBEATTEST=heartbeat_test +HMACTEST=hmactest +IDEATEST=ideatest +IGETEST=igetest +INCLUDES=-I.. -I../include +JPAKETEST=jpaketest +KRB5_INCLUDES= +LIBCRYPTO=-L.. -lcrypto +LIBKRB5= +LIBSSL=-L.. -lssl +MAKEDEPEND=../util/domd .. -MD makedepend +MD2TEST=md2test +MD4TEST=md4test +MD5TEST=md5test +MDC2TEST=mdc2test +METHTEST=methtest +OBJ=bntest.o ectest.o ecdsatest.o ecdhtest.o ideatest.o md2test.o md4test.o md5test.o hmactest.o wp_test.o rc2test.o rc4test.o rc5test.o destest.o shatest.o sha1test.o sha256t.o sha512t.o mdc2test.o rmdtest.o randtest.o dhtest.o enginetest.o casttest.o bftest.o ssltest.o dsatest.o exptest.o rsa_test.o evp_test.o evp_extra_test.o igetest.o jpaketest.o asn1test.o v3nametest.o heartbeat_test.o constant_time_test.o verify_extra_test.o clienthellotest.o sslv2conftest.o dtlstest.o ssltestlib.o bad_dtls_test.o fatalerrtest.o x509_time_test.o +PERL=perl +PEX_LIBS= +RANDTEST=randtest +RC2TEST=rc2test +RC4TEST=rc4test +RC5TEST=rc5test +RMDTEST=rmdtest +RSATEST=rsa_test +SHA1TEST=sha1test +SHA256TEST=sha256t +SHA512TEST=sha512t +SHATEST=shatest +SRC=bntest.c ectest.c ecdsatest.c ecdhtest.c ideatest.c md2test.c md4test.c md5test.c hmactest.c wp_test.c rc2test.c rc4test.c rc5test.c destest.c shatest.c sha1test.c mdc2test.c rmdtest.c randtest.c dhtest.c enginetest.c casttest.c bftest.c ssltest.c dsatest.c exptest.c rsa_test.c evp_test.c evp_extra_test.c igetest.c jpaketest.c srptest.c asn1test.c v3nametest.c heartbeat_test.c constant_time_test.c verify_extra_test.c clienthellotest.c sslv2conftest.c dtlstest.c ssltestlib.c bad_dtls_test.c fatalerrtest.c x509_time_test.c +SRPTEST=srptest +SSLTEST=ssltest +SSLV2CONFTEST=sslv2conftest +TEST=igetest.c +TESTS=alltests +TOP=.. +V3NAMETEST=v3nametest +VERIFYEXTRATEST=verify_extra_test +WPTEST=wp_test +X509TIMETEST=x509_time_test +RELATIVE_DIRECTORY= +RELATIVE_DIRECTORY=tools +APPS=c_rehash +CC=cl +CFLAG=-DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +CFLAGS=-I.. -I../../include -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DIR=tools +GENERAL=Makefile +INCLUDES=-I.. -I../../include +MAKEFILE=Makefile +MISC_APPS=c_hash c_info c_issuer c_name +TEST= +TOP=.. +RELATIVE_DIRECTORY= diff --git a/Makefile b/Makefile index 245d82e7..49a1a0c5 100644 --- a/Makefile +++ b/Makefile @@ -1,692 +1,692 @@ -### Generated automatically from Makefile.org by Configure. - -## -## Makefile for OpenSSL -## - -VERSION=1.0.2q -MAJOR=1 -MINOR=0.2 -SHLIB_VERSION_NUMBER=1.0.0 -SHLIB_VERSION_HISTORY= -SHLIB_MAJOR=1 -SHLIB_MINOR=0.0 -SHLIB_EXT= -PLATFORM=VC-WIN32 -OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-idea no-jpake no-krb5 no-libunbound no-md2 no-mdc2 no-rc5 no-rfc3779 no-sctp no-shared no-ssl-trace no-ssl2 no-store no-unit-test no-weak-ssl-ciphers no-zlib no-zlib-dynamic -CONFIGURE_ARGS=VC-WIN32 no-idea no-mdc2 -SHLIB_TARGET= - -# HERE indicates where this Makefile lives. This can be used to indicate -# where sub-Makefiles are expected to be. Currently has very limited usage, -# and should probably not be bothered with at all. -HERE=. - -# INSTALL_PREFIX is for package builders so that they can configure -# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/. -# Normally it is left empty. -INSTALL_PREFIX= -INSTALLTOP=/usr/local/ssl - -# Do not edit this manually. Use Configure --openssldir=DIR do change this! -OPENSSLDIR=/usr/local/ssl - -# NO_IDEA - Define to build without the IDEA algorithm -# NO_RC4 - Define to build without the RC4 algorithm -# NO_RC2 - Define to build without the RC2 algorithm -# THREADS - Define when building with threads, you will probably also need any -# system defines as well, i.e. _REENTERANT for Solaris 2.[34] -# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing. -# TERMIOS - Define the termios terminal subsystem, Silicon Graphics. -# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3). -# DEVRANDOM - Give this the value of the 'random device' if your OS supports -# one. 32 bytes will be read from this when the random -# number generator is initalised. -# SSL_FORBID_ENULL - define if you want the server to be not able to use the -# NULL encryption ciphers. -# -# LOCK_DEBUG - turns on lots of lock debug output :-) -# REF_CHECK - turn on some xyz_free() assertions. -# REF_PRINT - prints some stuff on structure free. -# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff -# MFUNC - Make all Malloc/Free/Realloc calls call -# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to -# call application defined callbacks via CRYPTO_set_mem_functions() -# MD5_ASM needs to be defined to use the x86 assembler for MD5 -# SHA1_ASM needs to be defined to use the x86 assembler for SHA1 -# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160 -# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must -# equal 4. -# PKCS1_CHECK - pkcs1 tests. - -CC= cl -CFLAG= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS -PEX_LIBS= -EX_LIBS= -EXE_EXT= -ARFLAGS= -AR= ar $(ARFLAGS) r -RANLIB= true -RC= windres -NM= nm -PERL= perl -TAR= tar -TARFLAGS= --no-recursion -MAKEDEPPROG=makedepend -LIBDIR=lib - -# We let the C compiler driver to take care of .s files. This is done in -# order to be excused from maintaining a separate set of architecture -# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC -# gcc, then the driver will automatically translate it to -xarch=v8plus -# and pass it down to assembler. -AS=$(CC) -c -ASFLAG=$(CFLAG) - -# For x86 assembler: Set PROCESSOR to 386 if you want to support -# the 80386. -PROCESSOR= - -# CPUID module collects small commonly used assembler snippets -CPUID_OBJ= x86cpuid.o -BN_ASM= bn-586.o co-586.o x86-mont.o x86-gf2m.o -EC_ASM= -DES_ENC= des-586.o crypt586.o -AES_ENC= aes-586.o vpaes-x86.o aesni-x86.o -BF_ENC= bf-586.o -CAST_ENC= cast-586.o -RC4_ENC= rc4-586.o -RC5_ENC= rc5-586.o -MD5_ASM_OBJ= md5-586.o -SHA1_ASM_OBJ= sha1-586.o sha256-586.o sha512-586.o -RMD160_ASM_OBJ= rmd-586.o -WP_ASM_OBJ= wp_block.o wp-mmx.o -CMLL_ENC= cmll-x86.o -MODES_ASM_OBJ= ghash-x86.o -ENGINES_ASM_OBJ= -PERLASM_SCHEME= win32n - -# KRB5 stuff -KRB5_INCLUDES= -LIBKRB5= - -# Zlib stuff -ZLIB_INCLUDE= -LIBZLIB= - -# TOP level FIPS install directory. -FIPSDIR=/usr/local/ssl/fips-2.0 - -# This is the location of fipscanister.o and friends. -# The FIPS module build will place it $(INSTALLTOP)/lib -# but since $(INSTALLTOP) can only take the default value -# when the module is built it will be in /usr/local/ssl/lib -# $(INSTALLTOP) for this build may be different so hard -# code the path. - -FIPSLIBDIR= - -# The location of the library which contains fipscanister.o -# normally it will be libcrypto unless fipsdso is set in which -# case it will be libfips. If not compiling in FIPS mode at all -# this is empty making it a useful test for a FIPS compile. - -FIPSCANLIB= - -# Shared library base address. Currently only used on Windows. -# - -BASEADDR=0xFB00000 - -DIRS= crypto ssl engines apps test tools -ENGDIRS= ccgost -SHLIBDIRS= crypto ssl - -# dirs in crypto to build -SDIRS= \ - objects \ - md4 md5 sha hmac ripemd whrlpool \ - des aes rc2 rc4 bf cast camellia seed modes \ - bn ec rsa dsa ecdsa dh ecdh dso engine \ - buffer bio stack lhash rand err \ - evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \ - cms pqueue ts srp cmac -# keep in mind that the above list is adjusted by ./Configure -# according to no-xxx arguments... - -# tests to perform. "alltests" is a special word indicating that all tests -# should be performed. -TESTS = alltests - -MAKEFILE= Makefile - -MANDIR=$(OPENSSLDIR)/man -MAN1=1 -MAN3=3 -MANSUFFIX= -HTMLSUFFIX=html -HTMLDIR=$(OPENSSLDIR)/html -SHELL=/bin/sh - -TOP= . -ONEDIRS=out tmp -EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS -WDIRS= windows -LIBS= libcrypto.a libssl.a -SHARED_CRYPTO=libcrypto$(SHLIB_EXT) -SHARED_SSL=libssl$(SHLIB_EXT) -SHARED_LIBS= -SHARED_LIBS_LINK_EXTS= -SHARED_LDFLAGS= - -GENERAL= Makefile -BASENAME= openssl -NAME= $(BASENAME)-$(VERSION) -TARFILE= ../$(NAME).tar -EXHEADER= e_os2.h -HEADER= e_os.h - -all: Makefile build_all - -# as we stick to -e, CLEARENV ensures that local variables in lower -# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn -# shell, which [annoyingly enough] terminates unset with error if VAR -# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh, -# which terminates unset with error if no variable was present:-( -CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \ - $${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES} \ - $${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC} \ - $${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \ - $${EXHEADER+EXHEADER} $${HEADER+HEADER} \ - $${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \ - $${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \ - $${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} $${SCRIPTS+SCRIPTS} \ - $${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \ - $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS} \ - $${APPS+APPS} - -# LC_ALL=C ensures that error [and other] messages are delivered in -# same language for uniform treatment. -BUILDENV= LC_ALL=C PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)'\ - CC='$(CC)' CFLAG='$(CFLAG)' \ - AS='$(CC)' ASFLAG='$(CFLAG) -c' \ - AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \ - RC='$(RC)' \ - CROSS_COMPILE='$(CROSS_COMPILE)' \ - PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \ - SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)' \ - INSTALL_PREFIX='$(INSTALL_PREFIX)' \ - INSTALLTOP='$(INSTALLTOP)' OPENSSLDIR='$(OPENSSLDIR)' \ - LIBDIR='$(LIBDIR)' \ - MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \ - DEPFLAG='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \ - MAKEDEPPROG='$(MAKEDEPPROG)' \ - SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \ - KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \ - ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \ - EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \ - SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \ - PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)' \ - CPUID_OBJ='$(CPUID_OBJ)' BN_ASM='$(BN_ASM)' \ - EC_ASM='$(EC_ASM)' DES_ENC='$(DES_ENC)' \ - AES_ENC='$(AES_ENC)' CMLL_ENC='$(CMLL_ENC)' \ - BF_ENC='$(BF_ENC)' CAST_ENC='$(CAST_ENC)' \ - RC4_ENC='$(RC4_ENC)' RC5_ENC='$(RC5_ENC)' \ - SHA1_ASM_OBJ='$(SHA1_ASM_OBJ)' \ - MD5_ASM_OBJ='$(MD5_ASM_OBJ)' \ - RMD160_ASM_OBJ='$(RMD160_ASM_OBJ)' \ - WP_ASM_OBJ='$(WP_ASM_OBJ)' \ - MODES_ASM_OBJ='$(MODES_ASM_OBJ)' \ - ENGINES_ASM_OBJ='$(ENGINES_ASM_OBJ)' \ - PERLASM_SCHEME='$(PERLASM_SCHEME)' \ - FIPSLIBDIR='${FIPSLIBDIR}' \ - FIPSDIR='${FIPSDIR}' \ - FIPSCANLIB="$${FIPSCANLIB:-$(FIPSCANLIB)}" \ - THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES= -# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors, -# which in turn eliminates ambiguities in variable treatment with -e. - -# BUILD_CMD is a generic macro to build a given target in a given -# subdirectory. The target must be given through the shell variable -# `target' and the subdirectory to build in must be given through `dir'. -# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or -# BUILD_ONE_CMD instead. -# -# BUILD_ONE_CMD is a macro to build a given target in a given -# subdirectory if that subdirectory is part of $(DIRS). It requires -# exactly the same shell variables as BUILD_CMD. -# -# RECURSIVE_BUILD_CMD is a macro to build a given target in all -# subdirectories defined in $(DIRS). It requires that the target -# is given through the shell variable `target'. -BUILD_CMD= if [ -d "$$dir" ]; then \ - ( cd $$dir && echo "making $$target in $$dir..." && \ - $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \ - ) || exit 1; \ - fi -RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done -BUILD_ONE_CMD=\ - if expr " $(DIRS) " : ".* $$dir " >/dev/null 2>&1; then \ - $(BUILD_CMD); \ - fi - -reflect: - @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV) - -sub_all: build_all - -build_all: build_libs build_apps build_tests build_tools - -build_libs: build_libcrypto build_libssl openssl.pc - -build_libcrypto: build_crypto build_engines libcrypto.pc -build_libssl: build_ssl libssl.pc - -build_crypto: - @dir=crypto; target=all; $(BUILD_ONE_CMD) -build_ssl: build_crypto - @dir=ssl; target=all; $(BUILD_ONE_CMD) -build_engines: build_crypto - @dir=engines; target=all; $(BUILD_ONE_CMD) -build_apps: build_libs - @dir=apps; target=all; $(BUILD_ONE_CMD) -build_tests: build_libs - @dir=test; target=all; $(BUILD_ONE_CMD) -build_tools: build_libs - @dir=tools; target=all; $(BUILD_ONE_CMD) - -all_testapps: build_libs build_testapps -build_testapps: - @dir=crypto; target=testapps; $(BUILD_ONE_CMD) - -fips_premain_dso$(EXE_EXT): libcrypto.a - [ -z "$(FIPSCANLIB)" ] || $(CC) $(CFLAG) -Iinclude \ - -DFINGERPRINT_PREMAIN_DSO_LOAD -o $@ \ - $(FIPSLIBDIR)fips_premain.c $(FIPSLIBDIR)fipscanister.o \ - libcrypto.a $(EX_LIBS) - -libcrypto$(SHLIB_EXT): libcrypto.a fips_premain_dso$(EXE_EXT) - @if [ "$(SHLIB_TARGET)" != "" ]; then \ - if [ "$(FIPSCANLIB)" = "libcrypto" ]; then \ - FIPSLD_LIBCRYPTO=libcrypto.a ; \ - FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \ - export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \ - fi; \ - $(MAKE) -e SHLIBDIRS=crypto CC="$${CC:-$(CC)}" build-shared && \ - (touch -c fips_premain_dso$(EXE_EXT) || :); \ - else \ - echo "There's no support for shared libraries on this platform" >&2; \ - exit 1; \ - fi - -libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a - @if [ "$(SHLIB_TARGET)" != "" ]; then \ - $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \ - else \ - echo "There's no support for shared libraries on this platform" >&2; \ - exit 1; \ - fi - -clean-shared: - @set -e; for i in $(SHLIBDIRS); do \ - if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \ - tmp="$(SHARED_LIBS_LINK_EXTS)"; \ - for j in $${tmp:-x}; do \ - ( set -x; rm -f lib$$i$$j ); \ - done; \ - fi; \ - ( set -x; rm -f lib$$i$(SHLIB_EXT) ); \ - if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ - ( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \ - fi; \ - done - -link-shared: - @ set -e; for i in $(SHLIBDIRS); do \ - $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \ - LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ - LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ - symlink.$(SHLIB_TARGET); \ - libs="$$libs -l$$i"; \ - done - -build-shared: do_$(SHLIB_TARGET) link-shared - -do_$(SHLIB_TARGET): - @ set -e; libs='-L. $(SHLIBDEPS)'; for i in $(SHLIBDIRS); do \ - if [ "$$i" = "ssl" -a -n "$(LIBKRB5)" ]; then \ - libs="$(LIBKRB5) $$libs"; \ - fi; \ - $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \ - LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ - LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ - LIBDEPS="$$libs $(EX_LIBS)" \ - link_a.$(SHLIB_TARGET); \ - libs="-l$$i $$libs"; \ - done - -libcrypto.pc: Makefile - @ ( echo 'prefix=$(INSTALLTOP)'; \ - echo 'exec_prefix=$${prefix}'; \ - echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ - echo 'includedir=$${prefix}/include'; \ - echo 'enginesdir=$${libdir}/engines'; \ - echo ''; \ - echo 'Name: OpenSSL-libcrypto'; \ - echo 'Description: OpenSSL cryptography library'; \ - echo 'Version: '$(VERSION); \ - echo 'Requires: '; \ - echo 'Libs: -L$${libdir} -lcrypto'; \ - echo 'Libs.private: $(EX_LIBS)'; \ - echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc - -libssl.pc: Makefile - @ ( echo 'prefix=$(INSTALLTOP)'; \ - echo 'exec_prefix=$${prefix}'; \ - echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ - echo 'includedir=$${prefix}/include'; \ - echo ''; \ - echo 'Name: OpenSSL-libssl'; \ - echo 'Description: Secure Sockets Layer and cryptography libraries'; \ - echo 'Version: '$(VERSION); \ - echo 'Requires.private: libcrypto'; \ - echo 'Libs: -L$${libdir} -lssl'; \ - echo 'Libs.private: $(EX_LIBS)'; \ - echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc - -openssl.pc: Makefile - @ ( echo 'prefix=$(INSTALLTOP)'; \ - echo 'exec_prefix=$${prefix}'; \ - echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ - echo 'includedir=$${prefix}/include'; \ - echo ''; \ - echo 'Name: OpenSSL'; \ - echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \ - echo 'Version: '$(VERSION); \ - echo 'Requires: libssl libcrypto' ) > openssl.pc - -Makefile: Makefile.org Configure config - @echo "Makefile is older than Makefile.org, Configure or config." - @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please." - @false - -libclean: - rm -f *.map *.so *.so.* *.dylib *.dll engines/*.so engines/*.dll engines/*.dylib *.a engines/*.a */lib */*/lib - -clean: libclean - rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c - @set -e; target=clean; $(RECURSIVE_BUILD_CMD) - rm -f $(LIBS) - rm -f openssl.pc libssl.pc libcrypto.pc - rm -f speed.* .pure - rm -f $(TARFILE) - @set -e; for i in $(ONEDIRS) ;\ - do \ - rm -fr $$i/*; \ - done - -distclean: clean - -$(RM) `find . -name .git -prune -o -type l -print` - $(RM) apps/CA.pl - $(RM) test/evptests.txt test/newkey.pem test/testkey.pem test/testreq.pem - $(RM) tools/c_rehash - $(RM) crypto/opensslconf.h - $(RM) Makefile Makefile.bak - -makefile.one: files - $(PERL) util/mk1mf.pl >makefile.one; \ - sh util/do_ms.sh - -files: - $(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO - @set -e; target=files; $(RECURSIVE_BUILD_CMD) - -links: - @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl - @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) - @set -e; target=links; $(RECURSIVE_BUILD_CMD) - -gentests: - @(cd test && echo "generating dummy tests (if needed)..." && \ - $(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on generate ); - -dclean: - rm -rf *.bak include/openssl certs/.0 - @set -e; target=dclean; $(RECURSIVE_BUILD_CMD) - -rehash: rehash.time -rehash.time: certs apps - @if [ -z "$(CROSS_COMPILE)" ]; then \ - (OPENSSL="`pwd`/util/opensslwrap.sh"; \ - [ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \ - OPENSSL_DEBUG_MEMORY=on; \ - export OPENSSL OPENSSL_DEBUG_MEMORY; \ - $(PERL) tools/c_rehash certs/demo) && \ - touch rehash.time; \ - else :; fi - -test: tests - -tests: rehash - @(cd test && echo "testing..." && \ - $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests ); - OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a - -report: - @$(PERL) util/selftest.pl - -update: errors stacks util/libeay.num util/ssleay.num TABLE - @set -e; target=update; $(RECURSIVE_BUILD_CMD) - -depend: - @set -e; target=depend; $(RECURSIVE_BUILD_CMD) - -lint: - @set -e; target=lint; $(RECURSIVE_BUILD_CMD) - -tags: - rm -f TAGS - find . -name '[^.]*.[ch]' | xargs etags -a - -errors: - $(PERL) util/ck_errf.pl -strict */*.c */*/*.c - $(PERL) util/mkerr.pl -recurse -write - (cd engines; $(MAKE) PERL=$(PERL) errors) - -stacks: - $(PERL) util/mkstack.pl -write - -util/libeay.num:: - $(PERL) util/mkdef.pl crypto update - -util/ssleay.num:: - $(PERL) util/mkdef.pl ssl update - -TABLE: Configure - (echo 'Output of `Configure TABLE'"':"; \ - $(PERL) Configure TABLE) > TABLE - -# Build distribution tar-file. As the list of files returned by "find" is -# pretty long, on several platforms a "too many arguments" error or similar -# would occur. Therefore the list of files is temporarily stored into a file -# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal -# tar does not support the --files-from option. -TAR_COMMAND=$(TAR) $(TARFLAGS) --files-from $(TARFILE).list \ - --owner 0 --group 0 \ - --transform 's|^|$(NAME)/|' \ - -cvf - - -$(TARFILE).list: - find * \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \ - \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \ - \( \! -name '*test' -o -name bctest -o -name pod2mantest \) \ - \! -name '.#*' \! -name '*~' \! -type l \ - | sort > $(TARFILE).list - -tar: $(TARFILE).list - find . -type d -print | xargs chmod 755 - find . -type f -print | xargs chmod a+r - find . -type f -perm -0100 -print | xargs chmod a+x - $(TAR_COMMAND) | gzip --best > $(TARFILE).gz - rm -f $(TARFILE).list - ls -l $(TARFILE).gz - -tar-snap: $(TARFILE).list - $(TAR_COMMAND) > $(TARFILE) - rm -f $(TARFILE).list - ls -l $(TARFILE) - -dist: - $(PERL) Configure dist - @$(MAKE) SDIRS='$(SDIRS)' clean - @$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar - -install: all install_docs install_sw - -install_sw: - @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ - $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \ - $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ - $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \ - $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \ - $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ - $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ - $(INSTALL_PREFIX)$(OPENSSLDIR)/private - @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\ - do \ - (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ - done; - @set -e; target=install; $(RECURSIVE_BUILD_CMD) - @set -e; liblist="$(LIBS)"; for i in $$liblist ;\ - do \ - if [ -f "$$i" ]; then \ - ( echo installing $$i; \ - cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i ); \ - fi; \ - done; - @set -e; if [ -n "$(SHARED_LIBS)" ]; then \ - tmp="$(SHARED_LIBS)"; \ - for i in $${tmp:-x}; \ - do \ - if [ -f "$$i" -o -f "$$i.a" ]; then \ - ( echo installing $$i; \ - if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ - c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \ - cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ - chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \ - cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ - else \ - cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ - fi ); \ - if expr $(PLATFORM) : 'mingw' > /dev/null; then \ - ( case $$i in \ - *crypto*) i=libeay32.dll;; \ - *ssl*) i=ssleay32.dll;; \ - esac; \ - echo installing $$i; \ - cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ - chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \ - fi; \ - fi; \ - done; \ - ( here="`pwd`"; \ - cd $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR); \ - $(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \ - if [ "$(INSTALLTOP)" != "/usr" ]; then \ - echo 'OpenSSL shared libraries have been installed in:'; \ - echo ' $(INSTALLTOP)'; \ - echo ''; \ - sed -e '1,/^$$/d' doc/openssl-shared.txt; \ - fi; \ - fi - cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc - cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc - cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc - -install_html_docs: - here="`pwd`"; \ - filecase=; \ - case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ - filecase=-i; \ - esac; \ - for subdir in apps crypto ssl; do \ - mkdir -p $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ - for i in doc/$$subdir/*.pod; do \ - fn=`basename $$i .pod`; \ - echo "installing html/$$fn.$(HTMLSUFFIX)"; \ - cat $$i \ - | sed -r 's/L<([^)]*)(\([0-9]\))?\|([^)]*)(\([0-9]\))?>/L<\1|\3>/g' \ - | pod2html --podroot=doc --htmlroot=.. --podpath=apps:crypto:ssl \ - | sed -r 's/ $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir/$$fn.$(HTMLSUFFIX); \ - $(PERL) util/extract-names.pl < $$i | \ - grep -v $$filecase "^$$fn\$$" | \ - (cd $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ - while read n; do \ - PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$(HTMLSUFFIX) "$$n".$(HTMLSUFFIX); \ - done); \ - done; \ - done - -install_docs: - @$(PERL) $(TOP)/util/mkdir-p.pl \ - $(INSTALL_PREFIX)$(MANDIR)/man1 \ - $(INSTALL_PREFIX)$(MANDIR)/man3 \ - $(INSTALL_PREFIX)$(MANDIR)/man5 \ - $(INSTALL_PREFIX)$(MANDIR)/man7 - @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \ - here="`pwd`"; \ - filecase=; \ - case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ - filecase=-i; \ - esac; \ - set -e; for i in doc/apps/*.pod; do \ - fn=`basename $$i .pod`; \ - sec=`$(PERL) util/extract-section.pl 1 < $$i`; \ - echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ - (cd `$(PERL) util/dirname.pl $$i`; \ - sh -c "$$pod2man \ - --section=$$sec --center=OpenSSL \ - --release=$(VERSION) `basename $$i`") \ - > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ - $(PERL) util/extract-names.pl < $$i | \ - (grep -v $$filecase "^$$fn\$$"; true) | \ - (grep -v "[ ]"; true) | \ - (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ - while read n; do \ - PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ - done); \ - done; \ - set -e; for i in doc/crypto/*.pod doc/ssl/*.pod; do \ - fn=`basename $$i .pod`; \ - sec=`$(PERL) util/extract-section.pl 3 < $$i`; \ - echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ - (cd `$(PERL) util/dirname.pl $$i`; \ - sh -c "$$pod2man \ - --section=$$sec --center=OpenSSL \ - --release=$(VERSION) `basename $$i`") \ - > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ - $(PERL) util/extract-names.pl < $$i | \ - (grep -v $$filecase "^$$fn\$$"; true) | \ - (grep -v "[ ]"; true) | \ - (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ - while read n; do \ - PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ - done); \ - done - -# DO NOT DELETE THIS LINE -- make depend depends on it. +### Generated automatically from Makefile.org by Configure. + +## +## Makefile for OpenSSL +## + +VERSION=1.0.2s +MAJOR=1 +MINOR=0.2 +SHLIB_VERSION_NUMBER=1.0.0 +SHLIB_VERSION_HISTORY= +SHLIB_MAJOR=1 +SHLIB_MINOR=0.0 +SHLIB_EXT= +PLATFORM=VC-WIN32 +OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-idea no-jpake no-krb5 no-libunbound no-md2 no-mdc2 no-rc5 no-rfc3779 no-sctp no-shared no-ssl-trace no-ssl2 no-store no-unit-test no-weak-ssl-ciphers no-zlib no-zlib-dynamic +CONFIGURE_ARGS=VC-WIN32 no-idea no-mdc2 +SHLIB_TARGET= + +# HERE indicates where this Makefile lives. This can be used to indicate +# where sub-Makefiles are expected to be. Currently has very limited usage, +# and should probably not be bothered with at all. +HERE=. + +# INSTALL_PREFIX is for package builders so that they can configure +# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/. +# Normally it is left empty. +INSTALL_PREFIX= +INSTALLTOP=/usr/local/ssl + +# Do not edit this manually. Use Configure --openssldir=DIR do change this! +OPENSSLDIR=/usr/local/ssl + +# NO_IDEA - Define to build without the IDEA algorithm +# NO_RC4 - Define to build without the RC4 algorithm +# NO_RC2 - Define to build without the RC2 algorithm +# THREADS - Define when building with threads, you will probably also need any +# system defines as well, i.e. _REENTERANT for Solaris 2.[34] +# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing. +# TERMIOS - Define the termios terminal subsystem, Silicon Graphics. +# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3). +# DEVRANDOM - Give this the value of the 'random device' if your OS supports +# one. 32 bytes will be read from this when the random +# number generator is initalised. +# SSL_FORBID_ENULL - define if you want the server to be not able to use the +# NULL encryption ciphers. +# +# LOCK_DEBUG - turns on lots of lock debug output :-) +# REF_CHECK - turn on some xyz_free() assertions. +# REF_PRINT - prints some stuff on structure free. +# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff +# MFUNC - Make all Malloc/Free/Realloc calls call +# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to +# call application defined callbacks via CRYPTO_set_mem_functions() +# MD5_ASM needs to be defined to use the x86 assembler for MD5 +# SHA1_ASM needs to be defined to use the x86 assembler for SHA1 +# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160 +# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must +# equal 4. +# PKCS1_CHECK - pkcs1 tests. + +CC= cl +CFLAG= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM +DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS +PEX_LIBS= +EX_LIBS= +EXE_EXT= +ARFLAGS= +AR= ar $(ARFLAGS) r +RANLIB= true +RC= windres +NM= nm +PERL= perl +TAR= tar +TARFLAGS= --no-recursion +MAKEDEPPROG=makedepend +LIBDIR=lib + +# We let the C compiler driver to take care of .s files. This is done in +# order to be excused from maintaining a separate set of architecture +# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC +# gcc, then the driver will automatically translate it to -xarch=v8plus +# and pass it down to assembler. +AS=$(CC) -c +ASFLAG=$(CFLAG) + +# For x86 assembler: Set PROCESSOR to 386 if you want to support +# the 80386. +PROCESSOR= + +# CPUID module collects small commonly used assembler snippets +CPUID_OBJ= x86cpuid.o +BN_ASM= bn-586.o co-586.o x86-mont.o x86-gf2m.o +EC_ASM= +DES_ENC= des-586.o crypt586.o +AES_ENC= aes-586.o vpaes-x86.o aesni-x86.o +BF_ENC= bf-586.o +CAST_ENC= cast-586.o +RC4_ENC= rc4-586.o +RC5_ENC= rc5-586.o +MD5_ASM_OBJ= md5-586.o +SHA1_ASM_OBJ= sha1-586.o sha256-586.o sha512-586.o +RMD160_ASM_OBJ= rmd-586.o +WP_ASM_OBJ= wp_block.o wp-mmx.o +CMLL_ENC= cmll-x86.o +MODES_ASM_OBJ= ghash-x86.o +ENGINES_ASM_OBJ= +PERLASM_SCHEME= win32n + +# KRB5 stuff +KRB5_INCLUDES= +LIBKRB5= + +# Zlib stuff +ZLIB_INCLUDE= +LIBZLIB= + +# TOP level FIPS install directory. +FIPSDIR=/usr/local/ssl/fips-2.0 + +# This is the location of fipscanister.o and friends. +# The FIPS module build will place it $(INSTALLTOP)/lib +# but since $(INSTALLTOP) can only take the default value +# when the module is built it will be in /usr/local/ssl/lib +# $(INSTALLTOP) for this build may be different so hard +# code the path. + +FIPSLIBDIR= + +# The location of the library which contains fipscanister.o +# normally it will be libcrypto unless fipsdso is set in which +# case it will be libfips. If not compiling in FIPS mode at all +# this is empty making it a useful test for a FIPS compile. + +FIPSCANLIB= + +# Shared library base address. Currently only used on Windows. +# + +BASEADDR=0xFB00000 + +DIRS= crypto ssl engines apps test tools +ENGDIRS= ccgost +SHLIBDIRS= crypto ssl + +# dirs in crypto to build +SDIRS= \ + objects \ + md4 md5 sha hmac ripemd whrlpool \ + des aes rc2 rc4 bf cast camellia seed modes \ + bn ec rsa dsa ecdsa dh ecdh dso engine \ + buffer bio stack lhash rand err \ + evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \ + cms pqueue ts srp cmac +# keep in mind that the above list is adjusted by ./Configure +# according to no-xxx arguments... + +# tests to perform. "alltests" is a special word indicating that all tests +# should be performed. +TESTS = alltests + +MAKEFILE= Makefile + +MANDIR=$(OPENSSLDIR)/man +MAN1=1 +MAN3=3 +MANSUFFIX= +HTMLSUFFIX=html +HTMLDIR=$(OPENSSLDIR)/html +SHELL=/bin/sh + +TOP= . +ONEDIRS=out tmp +EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS +WDIRS= windows +LIBS= libcrypto.a libssl.a +SHARED_CRYPTO=libcrypto$(SHLIB_EXT) +SHARED_SSL=libssl$(SHLIB_EXT) +SHARED_LIBS= +SHARED_LIBS_LINK_EXTS= +SHARED_LDFLAGS= + +GENERAL= Makefile +BASENAME= openssl +NAME= $(BASENAME)-$(VERSION) +TARFILE= ../$(NAME).tar +EXHEADER= e_os2.h +HEADER= e_os.h + +all: Makefile build_all + +# as we stick to -e, CLEARENV ensures that local variables in lower +# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn +# shell, which [annoyingly enough] terminates unset with error if VAR +# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh, +# which terminates unset with error if no variable was present:-( +CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \ + $${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES} \ + $${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC} \ + $${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \ + $${EXHEADER+EXHEADER} $${HEADER+HEADER} \ + $${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \ + $${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \ + $${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} $${SCRIPTS+SCRIPTS} \ + $${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \ + $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS} \ + $${APPS+APPS} + +# LC_ALL=C ensures that error [and other] messages are delivered in +# same language for uniform treatment. +BUILDENV= LC_ALL=C PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)'\ + CC='$(CC)' CFLAG='$(CFLAG)' \ + AS='$(CC)' ASFLAG='$(CFLAG) -c' \ + AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \ + RC='$(RC)' \ + CROSS_COMPILE='$(CROSS_COMPILE)' \ + PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \ + SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)' \ + INSTALL_PREFIX='$(INSTALL_PREFIX)' \ + INSTALLTOP='$(INSTALLTOP)' OPENSSLDIR='$(OPENSSLDIR)' \ + LIBDIR='$(LIBDIR)' \ + MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \ + DEPFLAG='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \ + MAKEDEPPROG='$(MAKEDEPPROG)' \ + SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \ + KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \ + ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \ + EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \ + SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \ + PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)' \ + CPUID_OBJ='$(CPUID_OBJ)' BN_ASM='$(BN_ASM)' \ + EC_ASM='$(EC_ASM)' DES_ENC='$(DES_ENC)' \ + AES_ENC='$(AES_ENC)' CMLL_ENC='$(CMLL_ENC)' \ + BF_ENC='$(BF_ENC)' CAST_ENC='$(CAST_ENC)' \ + RC4_ENC='$(RC4_ENC)' RC5_ENC='$(RC5_ENC)' \ + SHA1_ASM_OBJ='$(SHA1_ASM_OBJ)' \ + MD5_ASM_OBJ='$(MD5_ASM_OBJ)' \ + RMD160_ASM_OBJ='$(RMD160_ASM_OBJ)' \ + WP_ASM_OBJ='$(WP_ASM_OBJ)' \ + MODES_ASM_OBJ='$(MODES_ASM_OBJ)' \ + ENGINES_ASM_OBJ='$(ENGINES_ASM_OBJ)' \ + PERLASM_SCHEME='$(PERLASM_SCHEME)' \ + FIPSLIBDIR='${FIPSLIBDIR}' \ + FIPSDIR='${FIPSDIR}' \ + FIPSCANLIB="$${FIPSCANLIB:-$(FIPSCANLIB)}" \ + THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES= +# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors, +# which in turn eliminates ambiguities in variable treatment with -e. + +# BUILD_CMD is a generic macro to build a given target in a given +# subdirectory. The target must be given through the shell variable +# `target' and the subdirectory to build in must be given through `dir'. +# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or +# BUILD_ONE_CMD instead. +# +# BUILD_ONE_CMD is a macro to build a given target in a given +# subdirectory if that subdirectory is part of $(DIRS). It requires +# exactly the same shell variables as BUILD_CMD. +# +# RECURSIVE_BUILD_CMD is a macro to build a given target in all +# subdirectories defined in $(DIRS). It requires that the target +# is given through the shell variable `target'. +BUILD_CMD= if [ -d "$$dir" ]; then \ + ( cd $$dir && echo "making $$target in $$dir..." && \ + $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \ + ) || exit 1; \ + fi +RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done +BUILD_ONE_CMD=\ + if expr " $(DIRS) " : ".* $$dir " >/dev/null 2>&1; then \ + $(BUILD_CMD); \ + fi + +reflect: + @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV) + +sub_all: build_all + +build_all: build_libs build_apps build_tests build_tools + +build_libs: build_libcrypto build_libssl openssl.pc + +build_libcrypto: build_crypto build_engines libcrypto.pc +build_libssl: build_ssl libssl.pc + +build_crypto: + @dir=crypto; target=all; $(BUILD_ONE_CMD) +build_ssl: build_crypto + @dir=ssl; target=all; $(BUILD_ONE_CMD) +build_engines: build_crypto + @dir=engines; target=all; $(BUILD_ONE_CMD) +build_apps: build_libs + @dir=apps; target=all; $(BUILD_ONE_CMD) +build_tests: build_libs + @dir=test; target=all; $(BUILD_ONE_CMD) +build_tools: build_libs + @dir=tools; target=all; $(BUILD_ONE_CMD) + +all_testapps: build_libs build_testapps +build_testapps: + @dir=crypto; target=testapps; $(BUILD_ONE_CMD) + +fips_premain_dso$(EXE_EXT): libcrypto.a + [ -z "$(FIPSCANLIB)" ] || $(CC) $(CFLAG) -Iinclude \ + -DFINGERPRINT_PREMAIN_DSO_LOAD -o $@ \ + $(FIPSLIBDIR)fips_premain.c $(FIPSLIBDIR)fipscanister.o \ + libcrypto.a $(EX_LIBS) + +libcrypto$(SHLIB_EXT): libcrypto.a fips_premain_dso$(EXE_EXT) + @if [ "$(SHLIB_TARGET)" != "" ]; then \ + if [ "$(FIPSCANLIB)" = "libcrypto" ]; then \ + FIPSLD_LIBCRYPTO=libcrypto.a ; \ + FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \ + export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \ + fi; \ + $(MAKE) -e SHLIBDIRS=crypto CC="$${CC:-$(CC)}" build-shared && \ + (touch -c fips_premain_dso$(EXE_EXT) || :); \ + else \ + echo "There's no support for shared libraries on this platform" >&2; \ + exit 1; \ + fi + +libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a + @if [ "$(SHLIB_TARGET)" != "" ]; then \ + $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \ + else \ + echo "There's no support for shared libraries on this platform" >&2; \ + exit 1; \ + fi + +clean-shared: + @set -e; for i in $(SHLIBDIRS); do \ + if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \ + tmp="$(SHARED_LIBS_LINK_EXTS)"; \ + for j in $${tmp:-x}; do \ + ( set -x; rm -f lib$$i$$j ); \ + done; \ + fi; \ + ( set -x; rm -f lib$$i$(SHLIB_EXT) ); \ + if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ + ( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \ + fi; \ + done + +link-shared: + @ set -e; for i in $(SHLIBDIRS); do \ + $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \ + LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ + LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ + symlink.$(SHLIB_TARGET); \ + libs="$$libs -l$$i"; \ + done + +build-shared: do_$(SHLIB_TARGET) link-shared + +do_$(SHLIB_TARGET): + @ set -e; libs='-L. $(SHLIBDEPS)'; for i in $(SHLIBDIRS); do \ + if [ "$$i" = "ssl" -a -n "$(LIBKRB5)" ]; then \ + libs="$(LIBKRB5) $$libs"; \ + fi; \ + $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \ + LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ + LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ + LIBDEPS="$$libs $(EX_LIBS)" \ + link_a.$(SHLIB_TARGET); \ + libs="-l$$i $$libs"; \ + done + +libcrypto.pc: Makefile + @ ( echo 'prefix=$(INSTALLTOP)'; \ + echo 'exec_prefix=$${prefix}'; \ + echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ + echo 'includedir=$${prefix}/include'; \ + echo 'enginesdir=$${libdir}/engines'; \ + echo ''; \ + echo 'Name: OpenSSL-libcrypto'; \ + echo 'Description: OpenSSL cryptography library'; \ + echo 'Version: '$(VERSION); \ + echo 'Requires: '; \ + echo 'Libs: -L$${libdir} -lcrypto'; \ + echo 'Libs.private: $(EX_LIBS)'; \ + echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc + +libssl.pc: Makefile + @ ( echo 'prefix=$(INSTALLTOP)'; \ + echo 'exec_prefix=$${prefix}'; \ + echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ + echo 'includedir=$${prefix}/include'; \ + echo ''; \ + echo 'Name: OpenSSL-libssl'; \ + echo 'Description: Secure Sockets Layer and cryptography libraries'; \ + echo 'Version: '$(VERSION); \ + echo 'Requires.private: libcrypto'; \ + echo 'Libs: -L$${libdir} -lssl'; \ + echo 'Libs.private: $(EX_LIBS)'; \ + echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc + +openssl.pc: Makefile + @ ( echo 'prefix=$(INSTALLTOP)'; \ + echo 'exec_prefix=$${prefix}'; \ + echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ + echo 'includedir=$${prefix}/include'; \ + echo ''; \ + echo 'Name: OpenSSL'; \ + echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \ + echo 'Version: '$(VERSION); \ + echo 'Requires: libssl libcrypto' ) > openssl.pc + +Makefile: Makefile.org Configure config + @echo "Makefile is older than Makefile.org, Configure or config." + @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please." + @false + +libclean: + rm -f *.map *.so *.so.* *.dylib *.dll engines/*.so engines/*.dll engines/*.dylib *.a engines/*.a */lib */*/lib + +clean: libclean + rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c + @set -e; target=clean; $(RECURSIVE_BUILD_CMD) + rm -f $(LIBS) + rm -f openssl.pc libssl.pc libcrypto.pc + rm -f speed.* .pure + rm -f $(TARFILE) + @set -e; for i in $(ONEDIRS) ;\ + do \ + rm -fr $$i/*; \ + done + +distclean: clean + -$(RM) `find . -name .git -prune -o -type l -print` + $(RM) apps/CA.pl + $(RM) test/evptests.txt test/newkey.pem test/testkey.pem test/testreq.pem + $(RM) tools/c_rehash + $(RM) crypto/opensslconf.h + $(RM) Makefile Makefile.bak + +makefile.one: files + $(PERL) util/mk1mf.pl >makefile.one; \ + sh util/do_ms.sh + +files: + $(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO + @set -e; target=files; $(RECURSIVE_BUILD_CMD) + +links: + @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl + @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) + @set -e; target=links; $(RECURSIVE_BUILD_CMD) + +gentests: + @(cd test && echo "generating dummy tests (if needed)..." && \ + $(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on generate ); + +dclean: + rm -rf *.bak include/openssl certs/.0 + @set -e; target=dclean; $(RECURSIVE_BUILD_CMD) + +rehash: rehash.time +rehash.time: certs apps + @if [ -z "$(CROSS_COMPILE)" ]; then \ + (OPENSSL="`pwd`/util/opensslwrap.sh"; \ + [ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \ + OPENSSL_DEBUG_MEMORY=on; \ + export OPENSSL OPENSSL_DEBUG_MEMORY; \ + $(PERL) tools/c_rehash certs/demo) && \ + touch rehash.time; \ + else :; fi + +test: tests + +tests: rehash + @(cd test && echo "testing..." && \ + $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests ); + OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a + +report: + @$(PERL) util/selftest.pl + +update: errors stacks util/libeay.num util/ssleay.num TABLE + @set -e; target=update; $(RECURSIVE_BUILD_CMD) + +depend: + @set -e; target=depend; $(RECURSIVE_BUILD_CMD) + +lint: + @set -e; target=lint; $(RECURSIVE_BUILD_CMD) + +tags: + rm -f TAGS + find . -name '[^.]*.[ch]' | xargs etags -a + +errors: + $(PERL) util/ck_errf.pl -strict */*.c */*/*.c + $(PERL) util/mkerr.pl -recurse -write + (cd engines; $(MAKE) PERL=$(PERL) errors) + +stacks: + $(PERL) util/mkstack.pl -write + +util/libeay.num:: + $(PERL) util/mkdef.pl crypto update + +util/ssleay.num:: + $(PERL) util/mkdef.pl ssl update + +TABLE: Configure + (echo 'Output of `Configure TABLE'"':"; \ + $(PERL) Configure TABLE) > TABLE + +# Build distribution tar-file. As the list of files returned by "find" is +# pretty long, on several platforms a "too many arguments" error or similar +# would occur. Therefore the list of files is temporarily stored into a file +# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal +# tar does not support the --files-from option. +TAR_COMMAND=$(TAR) $(TARFLAGS) --files-from $(TARFILE).list \ + --owner 0 --group 0 \ + --transform 's|^|$(NAME)/|' \ + -cvf - + +$(TARFILE).list: + find * \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \ + \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \ + \( \! -name '*test' -o -name bctest -o -name pod2mantest \) \ + \! -name '.#*' \! -name '*.bak' \! -name '*~' \! -type l \ + | sort > $(TARFILE).list + +tar: $(TARFILE).list + find . -type d -print | xargs chmod 755 + find . -type f -print | xargs chmod a+r + find . -type f -perm -0100 -print | xargs chmod a+x + $(TAR_COMMAND) | gzip --best > $(TARFILE).gz + rm -f $(TARFILE).list + ls -l $(TARFILE).gz + +tar-snap: $(TARFILE).list + $(TAR_COMMAND) > $(TARFILE) + rm -f $(TARFILE).list + ls -l $(TARFILE) + +dist: + $(PERL) Configure dist + @$(MAKE) SDIRS='$(SDIRS)' clean + @$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar + +install: all install_docs install_sw + +install_sw: + @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \ + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \ + $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \ + $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ + $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ + $(INSTALL_PREFIX)$(OPENSSLDIR)/private + @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\ + do \ + (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ + done; + @set -e; target=install; $(RECURSIVE_BUILD_CMD) + @set -e; liblist="$(LIBS)"; for i in $$liblist ;\ + do \ + if [ -f "$$i" ]; then \ + ( echo installing $$i; \ + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i ); \ + fi; \ + done; + @set -e; if [ -n "$(SHARED_LIBS)" ]; then \ + tmp="$(SHARED_LIBS)"; \ + for i in $${tmp:-x}; \ + do \ + if [ -f "$$i" -o -f "$$i.a" ]; then \ + ( echo installing $$i; \ + if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ + c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \ + cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ + chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \ + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ + else \ + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ + fi ); \ + if expr $(PLATFORM) : 'mingw' > /dev/null; then \ + ( case $$i in \ + *crypto*) i=libeay32.dll;; \ + *ssl*) i=ssleay32.dll;; \ + esac; \ + echo installing $$i; \ + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ + chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \ + fi; \ + fi; \ + done; \ + ( here="`pwd`"; \ + cd $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR); \ + $(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \ + if [ "$(INSTALLTOP)" != "/usr" ]; then \ + echo 'OpenSSL shared libraries have been installed in:'; \ + echo ' $(INSTALLTOP)'; \ + echo ''; \ + sed -e '1,/^$$/d' doc/openssl-shared.txt; \ + fi; \ + fi + cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc + cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc + cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc + +install_html_docs: + here="`pwd`"; \ + filecase=; \ + case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ + filecase=-i; \ + esac; \ + for subdir in apps crypto ssl; do \ + mkdir -p $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ + for i in doc/$$subdir/*.pod; do \ + fn=`basename $$i .pod`; \ + echo "installing html/$$fn.$(HTMLSUFFIX)"; \ + cat $$i \ + | sed -r 's/L<([^)]*)(\([0-9]\))?\|([^)]*)(\([0-9]\))?>/L<\1|\3>/g' \ + | pod2html --podroot=doc --htmlroot=.. --podpath=apps:crypto:ssl \ + | sed -r 's/ $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir/$$fn.$(HTMLSUFFIX); \ + $(PERL) util/extract-names.pl < $$i | \ + grep -v $$filecase "^$$fn\$$" | \ + (cd $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ + while read n; do \ + PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$(HTMLSUFFIX) "$$n".$(HTMLSUFFIX); \ + done); \ + done; \ + done + +install_docs: + @$(PERL) $(TOP)/util/mkdir-p.pl \ + $(INSTALL_PREFIX)$(MANDIR)/man1 \ + $(INSTALL_PREFIX)$(MANDIR)/man3 \ + $(INSTALL_PREFIX)$(MANDIR)/man5 \ + $(INSTALL_PREFIX)$(MANDIR)/man7 + @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \ + here="`pwd`"; \ + filecase=; \ + case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ + filecase=-i; \ + esac; \ + set -e; for i in doc/apps/*.pod; do \ + fn=`basename $$i .pod`; \ + sec=`$(PERL) util/extract-section.pl 1 < $$i`; \ + echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ + (cd `$(PERL) util/dirname.pl $$i`; \ + sh -c "$$pod2man \ + --section=$$sec --center=OpenSSL \ + --release=$(VERSION) `basename $$i`") \ + > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ + $(PERL) util/extract-names.pl < $$i | \ + (grep -v $$filecase "^$$fn\$$"; true) | \ + (grep -v "[ ]"; true) | \ + (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ + while read n; do \ + PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ + done); \ + done; \ + set -e; for i in doc/crypto/*.pod doc/ssl/*.pod; do \ + fn=`basename $$i .pod`; \ + sec=`$(PERL) util/extract-section.pl 3 < $$i`; \ + echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ + (cd `$(PERL) util/dirname.pl $$i`; \ + sh -c "$$pod2man \ + --section=$$sec --center=OpenSSL \ + --release=$(VERSION) `basename $$i`") \ + > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ + $(PERL) util/extract-names.pl < $$i | \ + (grep -v $$filecase "^$$fn\$$"; true) | \ + (grep -v "[ ]"; true) | \ + (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ + while read n; do \ + PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ + done); \ + done + +# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/Makefile.bak b/Makefile.bak index 984e165f..be3a1605 100644 --- a/Makefile.bak +++ b/Makefile.bak @@ -1,692 +1,692 @@ -### Generated automatically from Makefile.org by Configure. - -## -## Makefile for OpenSSL -## - -VERSION=1.0.2q -MAJOR=1 -MINOR=0.2 -SHLIB_VERSION_NUMBER=1.0.0 -SHLIB_VERSION_HISTORY= -SHLIB_MAJOR=1 -SHLIB_MINOR=0.0 -SHLIB_EXT= -PLATFORM=VC-WIN64A -OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-idea no-jpake no-krb5 no-libunbound no-md2 no-mdc2 no-rc5 no-rfc3779 no-sctp no-shared no-ssl-trace no-ssl2 no-store no-unit-test no-weak-ssl-ciphers no-zlib no-zlib-dynamic -CONFIGURE_ARGS=VC-WIN64A no-idea no-mdc2 -SHLIB_TARGET= - -# HERE indicates where this Makefile lives. This can be used to indicate -# where sub-Makefiles are expected to be. Currently has very limited usage, -# and should probably not be bothered with at all. -HERE=. - -# INSTALL_PREFIX is for package builders so that they can configure -# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/. -# Normally it is left empty. -INSTALL_PREFIX= -INSTALLTOP=/usr/local/ssl - -# Do not edit this manually. Use Configure --openssldir=DIR do change this! -OPENSSLDIR=/usr/local/ssl - -# NO_IDEA - Define to build without the IDEA algorithm -# NO_RC4 - Define to build without the RC4 algorithm -# NO_RC2 - Define to build without the RC2 algorithm -# THREADS - Define when building with threads, you will probably also need any -# system defines as well, i.e. _REENTERANT for Solaris 2.[34] -# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing. -# TERMIOS - Define the termios terminal subsystem, Silicon Graphics. -# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3). -# DEVRANDOM - Give this the value of the 'random device' if your OS supports -# one. 32 bytes will be read from this when the random -# number generator is initalised. -# SSL_FORBID_ENULL - define if you want the server to be not able to use the -# NULL encryption ciphers. -# -# LOCK_DEBUG - turns on lots of lock debug output :-) -# REF_CHECK - turn on some xyz_free() assertions. -# REF_PRINT - prints some stuff on structure free. -# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff -# MFUNC - Make all Malloc/Free/Realloc calls call -# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to -# call application defined callbacks via CRYPTO_set_mem_functions() -# MD5_ASM needs to be defined to use the x86 assembler for MD5 -# SHA1_ASM needs to be defined to use the x86 assembler for SHA1 -# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160 -# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must -# equal 4. -# PKCS1_CHECK - pkcs1 tests. - -CC= cl -CFLAG= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS -PEX_LIBS= -EX_LIBS= -EXE_EXT= -ARFLAGS= -AR= ar $(ARFLAGS) r -RANLIB= true -RC= windres -NM= nm -PERL= perl -TAR= tar -TARFLAGS= --no-recursion -MAKEDEPPROG=makedepend -LIBDIR=lib - -# We let the C compiler driver to take care of .s files. This is done in -# order to be excused from maintaining a separate set of architecture -# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC -# gcc, then the driver will automatically translate it to -xarch=v8plus -# and pass it down to assembler. -AS=$(CC) -c -ASFLAG=$(CFLAG) - -# For x86 assembler: Set PROCESSOR to 386 if you want to support -# the 80386. -PROCESSOR= - -# CPUID module collects small commonly used assembler snippets -CPUID_OBJ= x86_64cpuid.o -BN_ASM= bn_asm.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o -EC_ASM= ecp_nistz256.o ecp_nistz256-x86_64.o -DES_ENC= des_enc.o fcrypt_b.o -AES_ENC= aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o -BF_ENC= bf_enc.o -CAST_ENC= c_enc.o -RC4_ENC= rc4-x86_64.o rc4-md5-x86_64.o -RC5_ENC= rc5_enc.o -MD5_ASM_OBJ= md5-x86_64.o -SHA1_ASM_OBJ= sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o sha256-mb-x86_64.o -RMD160_ASM_OBJ= -WP_ASM_OBJ= wp-x86_64.o -CMLL_ENC= cmll-x86_64.o cmll_misc.o -MODES_ASM_OBJ= ghash-x86_64.o aesni-gcm-x86_64.o -ENGINES_ASM_OBJ= -PERLASM_SCHEME= auto - -# KRB5 stuff -KRB5_INCLUDES= -LIBKRB5= - -# Zlib stuff -ZLIB_INCLUDE= -LIBZLIB= - -# TOP level FIPS install directory. -FIPSDIR=/usr/local/ssl/fips-2.0 - -# This is the location of fipscanister.o and friends. -# The FIPS module build will place it $(INSTALLTOP)/lib -# but since $(INSTALLTOP) can only take the default value -# when the module is built it will be in /usr/local/ssl/lib -# $(INSTALLTOP) for this build may be different so hard -# code the path. - -FIPSLIBDIR= - -# The location of the library which contains fipscanister.o -# normally it will be libcrypto unless fipsdso is set in which -# case it will be libfips. If not compiling in FIPS mode at all -# this is empty making it a useful test for a FIPS compile. - -FIPSCANLIB= - -# Shared library base address. Currently only used on Windows. -# - -BASEADDR=0xFB00000 - -DIRS= crypto ssl engines apps test tools -ENGDIRS= ccgost -SHLIBDIRS= crypto ssl - -# dirs in crypto to build -SDIRS= \ - objects \ - md4 md5 sha hmac ripemd whrlpool \ - des aes rc2 rc4 bf cast camellia seed modes \ - bn ec rsa dsa ecdsa dh ecdh dso engine \ - buffer bio stack lhash rand err \ - evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \ - cms pqueue ts srp cmac -# keep in mind that the above list is adjusted by ./Configure -# according to no-xxx arguments... - -# tests to perform. "alltests" is a special word indicating that all tests -# should be performed. -TESTS = alltests - -MAKEFILE= Makefile - -MANDIR=$(OPENSSLDIR)/man -MAN1=1 -MAN3=3 -MANSUFFIX= -HTMLSUFFIX=html -HTMLDIR=$(OPENSSLDIR)/html -SHELL=/bin/sh - -TOP= . -ONEDIRS=out tmp -EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS -WDIRS= windows -LIBS= libcrypto.a libssl.a -SHARED_CRYPTO=libcrypto$(SHLIB_EXT) -SHARED_SSL=libssl$(SHLIB_EXT) -SHARED_LIBS= -SHARED_LIBS_LINK_EXTS= -SHARED_LDFLAGS= - -GENERAL= Makefile -BASENAME= openssl -NAME= $(BASENAME)-$(VERSION) -TARFILE= ../$(NAME).tar -EXHEADER= e_os2.h -HEADER= e_os.h - -all: Makefile build_all - -# as we stick to -e, CLEARENV ensures that local variables in lower -# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn -# shell, which [annoyingly enough] terminates unset with error if VAR -# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh, -# which terminates unset with error if no variable was present:-( -CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \ - $${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES} \ - $${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC} \ - $${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \ - $${EXHEADER+EXHEADER} $${HEADER+HEADER} \ - $${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \ - $${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \ - $${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} $${SCRIPTS+SCRIPTS} \ - $${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \ - $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS} \ - $${APPS+APPS} - -# LC_ALL=C ensures that error [and other] messages are delivered in -# same language for uniform treatment. -BUILDENV= LC_ALL=C PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)'\ - CC='$(CC)' CFLAG='$(CFLAG)' \ - AS='$(CC)' ASFLAG='$(CFLAG) -c' \ - AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \ - RC='$(RC)' \ - CROSS_COMPILE='$(CROSS_COMPILE)' \ - PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \ - SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)' \ - INSTALL_PREFIX='$(INSTALL_PREFIX)' \ - INSTALLTOP='$(INSTALLTOP)' OPENSSLDIR='$(OPENSSLDIR)' \ - LIBDIR='$(LIBDIR)' \ - MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \ - DEPFLAG='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \ - MAKEDEPPROG='$(MAKEDEPPROG)' \ - SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \ - KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \ - ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \ - EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \ - SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \ - PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)' \ - CPUID_OBJ='$(CPUID_OBJ)' BN_ASM='$(BN_ASM)' \ - EC_ASM='$(EC_ASM)' DES_ENC='$(DES_ENC)' \ - AES_ENC='$(AES_ENC)' CMLL_ENC='$(CMLL_ENC)' \ - BF_ENC='$(BF_ENC)' CAST_ENC='$(CAST_ENC)' \ - RC4_ENC='$(RC4_ENC)' RC5_ENC='$(RC5_ENC)' \ - SHA1_ASM_OBJ='$(SHA1_ASM_OBJ)' \ - MD5_ASM_OBJ='$(MD5_ASM_OBJ)' \ - RMD160_ASM_OBJ='$(RMD160_ASM_OBJ)' \ - WP_ASM_OBJ='$(WP_ASM_OBJ)' \ - MODES_ASM_OBJ='$(MODES_ASM_OBJ)' \ - ENGINES_ASM_OBJ='$(ENGINES_ASM_OBJ)' \ - PERLASM_SCHEME='$(PERLASM_SCHEME)' \ - FIPSLIBDIR='${FIPSLIBDIR}' \ - FIPSDIR='${FIPSDIR}' \ - FIPSCANLIB="$${FIPSCANLIB:-$(FIPSCANLIB)}" \ - THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES= -# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors, -# which in turn eliminates ambiguities in variable treatment with -e. - -# BUILD_CMD is a generic macro to build a given target in a given -# subdirectory. The target must be given through the shell variable -# `target' and the subdirectory to build in must be given through `dir'. -# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or -# BUILD_ONE_CMD instead. -# -# BUILD_ONE_CMD is a macro to build a given target in a given -# subdirectory if that subdirectory is part of $(DIRS). It requires -# exactly the same shell variables as BUILD_CMD. -# -# RECURSIVE_BUILD_CMD is a macro to build a given target in all -# subdirectories defined in $(DIRS). It requires that the target -# is given through the shell variable `target'. -BUILD_CMD= if [ -d "$$dir" ]; then \ - ( cd $$dir && echo "making $$target in $$dir..." && \ - $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \ - ) || exit 1; \ - fi -RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done -BUILD_ONE_CMD=\ - if expr " $(DIRS) " : ".* $$dir " >/dev/null 2>&1; then \ - $(BUILD_CMD); \ - fi - -reflect: - @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV) - -sub_all: build_all - -build_all: build_libs build_apps build_tests build_tools - -build_libs: build_libcrypto build_libssl openssl.pc - -build_libcrypto: build_crypto build_engines libcrypto.pc -build_libssl: build_ssl libssl.pc - -build_crypto: - @dir=crypto; target=all; $(BUILD_ONE_CMD) -build_ssl: build_crypto - @dir=ssl; target=all; $(BUILD_ONE_CMD) -build_engines: build_crypto - @dir=engines; target=all; $(BUILD_ONE_CMD) -build_apps: build_libs - @dir=apps; target=all; $(BUILD_ONE_CMD) -build_tests: build_libs - @dir=test; target=all; $(BUILD_ONE_CMD) -build_tools: build_libs - @dir=tools; target=all; $(BUILD_ONE_CMD) - -all_testapps: build_libs build_testapps -build_testapps: - @dir=crypto; target=testapps; $(BUILD_ONE_CMD) - -fips_premain_dso$(EXE_EXT): libcrypto.a - [ -z "$(FIPSCANLIB)" ] || $(CC) $(CFLAG) -Iinclude \ - -DFINGERPRINT_PREMAIN_DSO_LOAD -o $@ \ - $(FIPSLIBDIR)fips_premain.c $(FIPSLIBDIR)fipscanister.o \ - libcrypto.a $(EX_LIBS) - -libcrypto$(SHLIB_EXT): libcrypto.a fips_premain_dso$(EXE_EXT) - @if [ "$(SHLIB_TARGET)" != "" ]; then \ - if [ "$(FIPSCANLIB)" = "libcrypto" ]; then \ - FIPSLD_LIBCRYPTO=libcrypto.a ; \ - FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \ - export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \ - fi; \ - $(MAKE) -e SHLIBDIRS=crypto CC="$${CC:-$(CC)}" build-shared && \ - (touch -c fips_premain_dso$(EXE_EXT) || :); \ - else \ - echo "There's no support for shared libraries on this platform" >&2; \ - exit 1; \ - fi - -libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a - @if [ "$(SHLIB_TARGET)" != "" ]; then \ - $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \ - else \ - echo "There's no support for shared libraries on this platform" >&2; \ - exit 1; \ - fi - -clean-shared: - @set -e; for i in $(SHLIBDIRS); do \ - if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \ - tmp="$(SHARED_LIBS_LINK_EXTS)"; \ - for j in $${tmp:-x}; do \ - ( set -x; rm -f lib$$i$$j ); \ - done; \ - fi; \ - ( set -x; rm -f lib$$i$(SHLIB_EXT) ); \ - if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ - ( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \ - fi; \ - done - -link-shared: - @ set -e; for i in $(SHLIBDIRS); do \ - $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \ - LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ - LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ - symlink.$(SHLIB_TARGET); \ - libs="$$libs -l$$i"; \ - done - -build-shared: do_$(SHLIB_TARGET) link-shared - -do_$(SHLIB_TARGET): - @ set -e; libs='-L. $(SHLIBDEPS)'; for i in $(SHLIBDIRS); do \ - if [ "$$i" = "ssl" -a -n "$(LIBKRB5)" ]; then \ - libs="$(LIBKRB5) $$libs"; \ - fi; \ - $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \ - LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ - LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ - LIBDEPS="$$libs $(EX_LIBS)" \ - link_a.$(SHLIB_TARGET); \ - libs="-l$$i $$libs"; \ - done - -libcrypto.pc: Makefile - @ ( echo 'prefix=$(INSTALLTOP)'; \ - echo 'exec_prefix=$${prefix}'; \ - echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ - echo 'includedir=$${prefix}/include'; \ - echo 'enginesdir=$${libdir}/engines'; \ - echo ''; \ - echo 'Name: OpenSSL-libcrypto'; \ - echo 'Description: OpenSSL cryptography library'; \ - echo 'Version: '$(VERSION); \ - echo 'Requires: '; \ - echo 'Libs: -L$${libdir} -lcrypto'; \ - echo 'Libs.private: $(EX_LIBS)'; \ - echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc - -libssl.pc: Makefile - @ ( echo 'prefix=$(INSTALLTOP)'; \ - echo 'exec_prefix=$${prefix}'; \ - echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ - echo 'includedir=$${prefix}/include'; \ - echo ''; \ - echo 'Name: OpenSSL-libssl'; \ - echo 'Description: Secure Sockets Layer and cryptography libraries'; \ - echo 'Version: '$(VERSION); \ - echo 'Requires.private: libcrypto'; \ - echo 'Libs: -L$${libdir} -lssl'; \ - echo 'Libs.private: $(EX_LIBS)'; \ - echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc - -openssl.pc: Makefile - @ ( echo 'prefix=$(INSTALLTOP)'; \ - echo 'exec_prefix=$${prefix}'; \ - echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ - echo 'includedir=$${prefix}/include'; \ - echo ''; \ - echo 'Name: OpenSSL'; \ - echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \ - echo 'Version: '$(VERSION); \ - echo 'Requires: libssl libcrypto' ) > openssl.pc - -Makefile: Makefile.org Configure config - @echo "Makefile is older than Makefile.org, Configure or config." - @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please." - @false - -libclean: - rm -f *.map *.so *.so.* *.dylib *.dll engines/*.so engines/*.dll engines/*.dylib *.a engines/*.a */lib */*/lib - -clean: libclean - rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c - @set -e; target=clean; $(RECURSIVE_BUILD_CMD) - rm -f $(LIBS) - rm -f openssl.pc libssl.pc libcrypto.pc - rm -f speed.* .pure - rm -f $(TARFILE) - @set -e; for i in $(ONEDIRS) ;\ - do \ - rm -fr $$i/*; \ - done - -distclean: clean - -$(RM) `find . -name .git -prune -o -type l -print` - $(RM) apps/CA.pl - $(RM) test/evptests.txt test/newkey.pem test/testkey.pem test/testreq.pem - $(RM) tools/c_rehash - $(RM) crypto/opensslconf.h - $(RM) Makefile Makefile.bak - -makefile.one: files - $(PERL) util/mk1mf.pl >makefile.one; \ - sh util/do_ms.sh - -files: - $(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO - @set -e; target=files; $(RECURSIVE_BUILD_CMD) - -links: - @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl - @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) - @set -e; target=links; $(RECURSIVE_BUILD_CMD) - -gentests: - @(cd test && echo "generating dummy tests (if needed)..." && \ - $(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on generate ); - -dclean: - rm -rf *.bak include/openssl certs/.0 - @set -e; target=dclean; $(RECURSIVE_BUILD_CMD) - -rehash: rehash.time -rehash.time: certs apps - @if [ -z "$(CROSS_COMPILE)" ]; then \ - (OPENSSL="`pwd`/util/opensslwrap.sh"; \ - [ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \ - OPENSSL_DEBUG_MEMORY=on; \ - export OPENSSL OPENSSL_DEBUG_MEMORY; \ - $(PERL) tools/c_rehash certs/demo) && \ - touch rehash.time; \ - else :; fi - -test: tests - -tests: rehash - @(cd test && echo "testing..." && \ - $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests ); - OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a - -report: - @$(PERL) util/selftest.pl - -update: errors stacks util/libeay.num util/ssleay.num TABLE - @set -e; target=update; $(RECURSIVE_BUILD_CMD) - -depend: - @set -e; target=depend; $(RECURSIVE_BUILD_CMD) - -lint: - @set -e; target=lint; $(RECURSIVE_BUILD_CMD) - -tags: - rm -f TAGS - find . -name '[^.]*.[ch]' | xargs etags -a - -errors: - $(PERL) util/ck_errf.pl -strict */*.c */*/*.c - $(PERL) util/mkerr.pl -recurse -write - (cd engines; $(MAKE) PERL=$(PERL) errors) - -stacks: - $(PERL) util/mkstack.pl -write - -util/libeay.num:: - $(PERL) util/mkdef.pl crypto update - -util/ssleay.num:: - $(PERL) util/mkdef.pl ssl update - -TABLE: Configure - (echo 'Output of `Configure TABLE'"':"; \ - $(PERL) Configure TABLE) > TABLE - -# Build distribution tar-file. As the list of files returned by "find" is -# pretty long, on several platforms a "too many arguments" error or similar -# would occur. Therefore the list of files is temporarily stored into a file -# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal -# tar does not support the --files-from option. -TAR_COMMAND=$(TAR) $(TARFLAGS) --files-from $(TARFILE).list \ - --owner 0 --group 0 \ - --transform 's|^|$(NAME)/|' \ - -cvf - - -$(TARFILE).list: - find * \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \ - \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \ - \( \! -name '*test' -o -name bctest -o -name pod2mantest \) \ - \! -name '.#*' \! -name '*~' \! -type l \ - | sort > $(TARFILE).list - -tar: $(TARFILE).list - find . -type d -print | xargs chmod 755 - find . -type f -print | xargs chmod a+r - find . -type f -perm -0100 -print | xargs chmod a+x - $(TAR_COMMAND) | gzip --best > $(TARFILE).gz - rm -f $(TARFILE).list - ls -l $(TARFILE).gz - -tar-snap: $(TARFILE).list - $(TAR_COMMAND) > $(TARFILE) - rm -f $(TARFILE).list - ls -l $(TARFILE) - -dist: - $(PERL) Configure dist - @$(MAKE) SDIRS='$(SDIRS)' clean - @$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar - -install: all install_docs install_sw - -install_sw: - @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ - $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \ - $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ - $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \ - $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \ - $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ - $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ - $(INSTALL_PREFIX)$(OPENSSLDIR)/private - @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\ - do \ - (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ - done; - @set -e; target=install; $(RECURSIVE_BUILD_CMD) - @set -e; liblist="$(LIBS)"; for i in $$liblist ;\ - do \ - if [ -f "$$i" ]; then \ - ( echo installing $$i; \ - cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i ); \ - fi; \ - done; - @set -e; if [ -n "$(SHARED_LIBS)" ]; then \ - tmp="$(SHARED_LIBS)"; \ - for i in $${tmp:-x}; \ - do \ - if [ -f "$$i" -o -f "$$i.a" ]; then \ - ( echo installing $$i; \ - if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ - c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \ - cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ - chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \ - cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ - else \ - cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ - fi ); \ - if expr $(PLATFORM) : 'mingw' > /dev/null; then \ - ( case $$i in \ - *crypto*) i=libeay32.dll;; \ - *ssl*) i=ssleay32.dll;; \ - esac; \ - echo installing $$i; \ - cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ - chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ - mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \ - fi; \ - fi; \ - done; \ - ( here="`pwd`"; \ - cd $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR); \ - $(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \ - if [ "$(INSTALLTOP)" != "/usr" ]; then \ - echo 'OpenSSL shared libraries have been installed in:'; \ - echo ' $(INSTALLTOP)'; \ - echo ''; \ - sed -e '1,/^$$/d' doc/openssl-shared.txt; \ - fi; \ - fi - cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc - cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc - cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig - chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc - -install_html_docs: - here="`pwd`"; \ - filecase=; \ - case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ - filecase=-i; \ - esac; \ - for subdir in apps crypto ssl; do \ - mkdir -p $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ - for i in doc/$$subdir/*.pod; do \ - fn=`basename $$i .pod`; \ - echo "installing html/$$fn.$(HTMLSUFFIX)"; \ - cat $$i \ - | sed -r 's/L<([^)]*)(\([0-9]\))?\|([^)]*)(\([0-9]\))?>/L<\1|\3>/g' \ - | pod2html --podroot=doc --htmlroot=.. --podpath=apps:crypto:ssl \ - | sed -r 's/ $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir/$$fn.$(HTMLSUFFIX); \ - $(PERL) util/extract-names.pl < $$i | \ - grep -v $$filecase "^$$fn\$$" | \ - (cd $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ - while read n; do \ - PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$(HTMLSUFFIX) "$$n".$(HTMLSUFFIX); \ - done); \ - done; \ - done - -install_docs: - @$(PERL) $(TOP)/util/mkdir-p.pl \ - $(INSTALL_PREFIX)$(MANDIR)/man1 \ - $(INSTALL_PREFIX)$(MANDIR)/man3 \ - $(INSTALL_PREFIX)$(MANDIR)/man5 \ - $(INSTALL_PREFIX)$(MANDIR)/man7 - @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \ - here="`pwd`"; \ - filecase=; \ - case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ - filecase=-i; \ - esac; \ - set -e; for i in doc/apps/*.pod; do \ - fn=`basename $$i .pod`; \ - sec=`$(PERL) util/extract-section.pl 1 < $$i`; \ - echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ - (cd `$(PERL) util/dirname.pl $$i`; \ - sh -c "$$pod2man \ - --section=$$sec --center=OpenSSL \ - --release=$(VERSION) `basename $$i`") \ - > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ - $(PERL) util/extract-names.pl < $$i | \ - (grep -v $$filecase "^$$fn\$$"; true) | \ - (grep -v "[ ]"; true) | \ - (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ - while read n; do \ - PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ - done); \ - done; \ - set -e; for i in doc/crypto/*.pod doc/ssl/*.pod; do \ - fn=`basename $$i .pod`; \ - sec=`$(PERL) util/extract-section.pl 3 < $$i`; \ - echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ - (cd `$(PERL) util/dirname.pl $$i`; \ - sh -c "$$pod2man \ - --section=$$sec --center=OpenSSL \ - --release=$(VERSION) `basename $$i`") \ - > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ - $(PERL) util/extract-names.pl < $$i | \ - (grep -v $$filecase "^$$fn\$$"; true) | \ - (grep -v "[ ]"; true) | \ - (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ - while read n; do \ - PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ - done); \ - done - -# DO NOT DELETE THIS LINE -- make depend depends on it. +### Generated automatically from Makefile.org by Configure. + +## +## Makefile for OpenSSL +## + +VERSION=1.0.2s +MAJOR=1 +MINOR=0.2 +SHLIB_VERSION_NUMBER=1.0.0 +SHLIB_VERSION_HISTORY= +SHLIB_MAJOR=1 +SHLIB_MINOR=0.0 +SHLIB_EXT= +PLATFORM=VC-WIN64A +OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-idea no-jpake no-krb5 no-libunbound no-md2 no-mdc2 no-rc5 no-rfc3779 no-sctp no-shared no-ssl-trace no-ssl2 no-store no-unit-test no-weak-ssl-ciphers no-zlib no-zlib-dynamic +CONFIGURE_ARGS=VC-WIN64A no-idea no-mdc2 +SHLIB_TARGET= + +# HERE indicates where this Makefile lives. This can be used to indicate +# where sub-Makefiles are expected to be. Currently has very limited usage, +# and should probably not be bothered with at all. +HERE=. + +# INSTALL_PREFIX is for package builders so that they can configure +# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/. +# Normally it is left empty. +INSTALL_PREFIX= +INSTALLTOP=/usr/local/ssl + +# Do not edit this manually. Use Configure --openssldir=DIR do change this! +OPENSSLDIR=/usr/local/ssl + +# NO_IDEA - Define to build without the IDEA algorithm +# NO_RC4 - Define to build without the RC4 algorithm +# NO_RC2 - Define to build without the RC2 algorithm +# THREADS - Define when building with threads, you will probably also need any +# system defines as well, i.e. _REENTERANT for Solaris 2.[34] +# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing. +# TERMIOS - Define the termios terminal subsystem, Silicon Graphics. +# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3). +# DEVRANDOM - Give this the value of the 'random device' if your OS supports +# one. 32 bytes will be read from this when the random +# number generator is initalised. +# SSL_FORBID_ENULL - define if you want the server to be not able to use the +# NULL encryption ciphers. +# +# LOCK_DEBUG - turns on lots of lock debug output :-) +# REF_CHECK - turn on some xyz_free() assertions. +# REF_PRINT - prints some stuff on structure free. +# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff +# MFUNC - Make all Malloc/Free/Realloc calls call +# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to +# call application defined callbacks via CRYPTO_set_mem_functions() +# MD5_ASM needs to be defined to use the x86 assembler for MD5 +# SHA1_ASM needs to be defined to use the x86 assembler for SHA1 +# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160 +# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must +# equal 4. +# PKCS1_CHECK - pkcs1 tests. + +CC= cl +CFLAG= -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM +DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_IDEA -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS +PEX_LIBS= +EX_LIBS= +EXE_EXT= +ARFLAGS= +AR= ar $(ARFLAGS) r +RANLIB= true +RC= windres +NM= nm +PERL= perl +TAR= tar +TARFLAGS= --no-recursion +MAKEDEPPROG=makedepend +LIBDIR=lib + +# We let the C compiler driver to take care of .s files. This is done in +# order to be excused from maintaining a separate set of architecture +# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC +# gcc, then the driver will automatically translate it to -xarch=v8plus +# and pass it down to assembler. +AS=$(CC) -c +ASFLAG=$(CFLAG) + +# For x86 assembler: Set PROCESSOR to 386 if you want to support +# the 80386. +PROCESSOR= + +# CPUID module collects small commonly used assembler snippets +CPUID_OBJ= x86_64cpuid.o +BN_ASM= bn_asm.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o +EC_ASM= ecp_nistz256.o ecp_nistz256-x86_64.o +DES_ENC= des_enc.o fcrypt_b.o +AES_ENC= aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o +BF_ENC= bf_enc.o +CAST_ENC= c_enc.o +RC4_ENC= rc4-x86_64.o rc4-md5-x86_64.o +RC5_ENC= rc5_enc.o +MD5_ASM_OBJ= md5-x86_64.o +SHA1_ASM_OBJ= sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o sha256-mb-x86_64.o +RMD160_ASM_OBJ= +WP_ASM_OBJ= wp-x86_64.o +CMLL_ENC= cmll-x86_64.o cmll_misc.o +MODES_ASM_OBJ= ghash-x86_64.o aesni-gcm-x86_64.o +ENGINES_ASM_OBJ= +PERLASM_SCHEME= auto + +# KRB5 stuff +KRB5_INCLUDES= +LIBKRB5= + +# Zlib stuff +ZLIB_INCLUDE= +LIBZLIB= + +# TOP level FIPS install directory. +FIPSDIR=/usr/local/ssl/fips-2.0 + +# This is the location of fipscanister.o and friends. +# The FIPS module build will place it $(INSTALLTOP)/lib +# but since $(INSTALLTOP) can only take the default value +# when the module is built it will be in /usr/local/ssl/lib +# $(INSTALLTOP) for this build may be different so hard +# code the path. + +FIPSLIBDIR= + +# The location of the library which contains fipscanister.o +# normally it will be libcrypto unless fipsdso is set in which +# case it will be libfips. If not compiling in FIPS mode at all +# this is empty making it a useful test for a FIPS compile. + +FIPSCANLIB= + +# Shared library base address. Currently only used on Windows. +# + +BASEADDR=0xFB00000 + +DIRS= crypto ssl engines apps test tools +ENGDIRS= ccgost +SHLIBDIRS= crypto ssl + +# dirs in crypto to build +SDIRS= \ + objects \ + md4 md5 sha hmac ripemd whrlpool \ + des aes rc2 rc4 bf cast camellia seed modes \ + bn ec rsa dsa ecdsa dh ecdh dso engine \ + buffer bio stack lhash rand err \ + evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \ + cms pqueue ts srp cmac +# keep in mind that the above list is adjusted by ./Configure +# according to no-xxx arguments... + +# tests to perform. "alltests" is a special word indicating that all tests +# should be performed. +TESTS = alltests + +MAKEFILE= Makefile + +MANDIR=$(OPENSSLDIR)/man +MAN1=1 +MAN3=3 +MANSUFFIX= +HTMLSUFFIX=html +HTMLDIR=$(OPENSSLDIR)/html +SHELL=/bin/sh + +TOP= . +ONEDIRS=out tmp +EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS +WDIRS= windows +LIBS= libcrypto.a libssl.a +SHARED_CRYPTO=libcrypto$(SHLIB_EXT) +SHARED_SSL=libssl$(SHLIB_EXT) +SHARED_LIBS= +SHARED_LIBS_LINK_EXTS= +SHARED_LDFLAGS= + +GENERAL= Makefile +BASENAME= openssl +NAME= $(BASENAME)-$(VERSION) +TARFILE= ../$(NAME).tar +EXHEADER= e_os2.h +HEADER= e_os.h + +all: Makefile build_all + +# as we stick to -e, CLEARENV ensures that local variables in lower +# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn +# shell, which [annoyingly enough] terminates unset with error if VAR +# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh, +# which terminates unset with error if no variable was present:-( +CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \ + $${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES} \ + $${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC} \ + $${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \ + $${EXHEADER+EXHEADER} $${HEADER+HEADER} \ + $${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \ + $${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \ + $${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} $${SCRIPTS+SCRIPTS} \ + $${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \ + $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS} \ + $${APPS+APPS} + +# LC_ALL=C ensures that error [and other] messages are delivered in +# same language for uniform treatment. +BUILDENV= LC_ALL=C PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)'\ + CC='$(CC)' CFLAG='$(CFLAG)' \ + AS='$(CC)' ASFLAG='$(CFLAG) -c' \ + AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \ + RC='$(RC)' \ + CROSS_COMPILE='$(CROSS_COMPILE)' \ + PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \ + SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)' \ + INSTALL_PREFIX='$(INSTALL_PREFIX)' \ + INSTALLTOP='$(INSTALLTOP)' OPENSSLDIR='$(OPENSSLDIR)' \ + LIBDIR='$(LIBDIR)' \ + MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \ + DEPFLAG='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \ + MAKEDEPPROG='$(MAKEDEPPROG)' \ + SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \ + KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \ + ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \ + EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \ + SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \ + PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)' \ + CPUID_OBJ='$(CPUID_OBJ)' BN_ASM='$(BN_ASM)' \ + EC_ASM='$(EC_ASM)' DES_ENC='$(DES_ENC)' \ + AES_ENC='$(AES_ENC)' CMLL_ENC='$(CMLL_ENC)' \ + BF_ENC='$(BF_ENC)' CAST_ENC='$(CAST_ENC)' \ + RC4_ENC='$(RC4_ENC)' RC5_ENC='$(RC5_ENC)' \ + SHA1_ASM_OBJ='$(SHA1_ASM_OBJ)' \ + MD5_ASM_OBJ='$(MD5_ASM_OBJ)' \ + RMD160_ASM_OBJ='$(RMD160_ASM_OBJ)' \ + WP_ASM_OBJ='$(WP_ASM_OBJ)' \ + MODES_ASM_OBJ='$(MODES_ASM_OBJ)' \ + ENGINES_ASM_OBJ='$(ENGINES_ASM_OBJ)' \ + PERLASM_SCHEME='$(PERLASM_SCHEME)' \ + FIPSLIBDIR='${FIPSLIBDIR}' \ + FIPSDIR='${FIPSDIR}' \ + FIPSCANLIB="$${FIPSCANLIB:-$(FIPSCANLIB)}" \ + THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES= +# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors, +# which in turn eliminates ambiguities in variable treatment with -e. + +# BUILD_CMD is a generic macro to build a given target in a given +# subdirectory. The target must be given through the shell variable +# `target' and the subdirectory to build in must be given through `dir'. +# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or +# BUILD_ONE_CMD instead. +# +# BUILD_ONE_CMD is a macro to build a given target in a given +# subdirectory if that subdirectory is part of $(DIRS). It requires +# exactly the same shell variables as BUILD_CMD. +# +# RECURSIVE_BUILD_CMD is a macro to build a given target in all +# subdirectories defined in $(DIRS). It requires that the target +# is given through the shell variable `target'. +BUILD_CMD= if [ -d "$$dir" ]; then \ + ( cd $$dir && echo "making $$target in $$dir..." && \ + $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \ + ) || exit 1; \ + fi +RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done +BUILD_ONE_CMD=\ + if expr " $(DIRS) " : ".* $$dir " >/dev/null 2>&1; then \ + $(BUILD_CMD); \ + fi + +reflect: + @[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV) + +sub_all: build_all + +build_all: build_libs build_apps build_tests build_tools + +build_libs: build_libcrypto build_libssl openssl.pc + +build_libcrypto: build_crypto build_engines libcrypto.pc +build_libssl: build_ssl libssl.pc + +build_crypto: + @dir=crypto; target=all; $(BUILD_ONE_CMD) +build_ssl: build_crypto + @dir=ssl; target=all; $(BUILD_ONE_CMD) +build_engines: build_crypto + @dir=engines; target=all; $(BUILD_ONE_CMD) +build_apps: build_libs + @dir=apps; target=all; $(BUILD_ONE_CMD) +build_tests: build_libs + @dir=test; target=all; $(BUILD_ONE_CMD) +build_tools: build_libs + @dir=tools; target=all; $(BUILD_ONE_CMD) + +all_testapps: build_libs build_testapps +build_testapps: + @dir=crypto; target=testapps; $(BUILD_ONE_CMD) + +fips_premain_dso$(EXE_EXT): libcrypto.a + [ -z "$(FIPSCANLIB)" ] || $(CC) $(CFLAG) -Iinclude \ + -DFINGERPRINT_PREMAIN_DSO_LOAD -o $@ \ + $(FIPSLIBDIR)fips_premain.c $(FIPSLIBDIR)fipscanister.o \ + libcrypto.a $(EX_LIBS) + +libcrypto$(SHLIB_EXT): libcrypto.a fips_premain_dso$(EXE_EXT) + @if [ "$(SHLIB_TARGET)" != "" ]; then \ + if [ "$(FIPSCANLIB)" = "libcrypto" ]; then \ + FIPSLD_LIBCRYPTO=libcrypto.a ; \ + FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \ + export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \ + fi; \ + $(MAKE) -e SHLIBDIRS=crypto CC="$${CC:-$(CC)}" build-shared && \ + (touch -c fips_premain_dso$(EXE_EXT) || :); \ + else \ + echo "There's no support for shared libraries on this platform" >&2; \ + exit 1; \ + fi + +libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a + @if [ "$(SHLIB_TARGET)" != "" ]; then \ + $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \ + else \ + echo "There's no support for shared libraries on this platform" >&2; \ + exit 1; \ + fi + +clean-shared: + @set -e; for i in $(SHLIBDIRS); do \ + if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \ + tmp="$(SHARED_LIBS_LINK_EXTS)"; \ + for j in $${tmp:-x}; do \ + ( set -x; rm -f lib$$i$$j ); \ + done; \ + fi; \ + ( set -x; rm -f lib$$i$(SHLIB_EXT) ); \ + if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ + ( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \ + fi; \ + done + +link-shared: + @ set -e; for i in $(SHLIBDIRS); do \ + $(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \ + LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ + LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ + symlink.$(SHLIB_TARGET); \ + libs="$$libs -l$$i"; \ + done + +build-shared: do_$(SHLIB_TARGET) link-shared + +do_$(SHLIB_TARGET): + @ set -e; libs='-L. $(SHLIBDEPS)'; for i in $(SHLIBDIRS); do \ + if [ "$$i" = "ssl" -a -n "$(LIBKRB5)" ]; then \ + libs="$(LIBKRB5) $$libs"; \ + fi; \ + $(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \ + LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ + LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ + LIBDEPS="$$libs $(EX_LIBS)" \ + link_a.$(SHLIB_TARGET); \ + libs="-l$$i $$libs"; \ + done + +libcrypto.pc: Makefile + @ ( echo 'prefix=$(INSTALLTOP)'; \ + echo 'exec_prefix=$${prefix}'; \ + echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ + echo 'includedir=$${prefix}/include'; \ + echo 'enginesdir=$${libdir}/engines'; \ + echo ''; \ + echo 'Name: OpenSSL-libcrypto'; \ + echo 'Description: OpenSSL cryptography library'; \ + echo 'Version: '$(VERSION); \ + echo 'Requires: '; \ + echo 'Libs: -L$${libdir} -lcrypto'; \ + echo 'Libs.private: $(EX_LIBS)'; \ + echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc + +libssl.pc: Makefile + @ ( echo 'prefix=$(INSTALLTOP)'; \ + echo 'exec_prefix=$${prefix}'; \ + echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ + echo 'includedir=$${prefix}/include'; \ + echo ''; \ + echo 'Name: OpenSSL-libssl'; \ + echo 'Description: Secure Sockets Layer and cryptography libraries'; \ + echo 'Version: '$(VERSION); \ + echo 'Requires.private: libcrypto'; \ + echo 'Libs: -L$${libdir} -lssl'; \ + echo 'Libs.private: $(EX_LIBS)'; \ + echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc + +openssl.pc: Makefile + @ ( echo 'prefix=$(INSTALLTOP)'; \ + echo 'exec_prefix=$${prefix}'; \ + echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ + echo 'includedir=$${prefix}/include'; \ + echo ''; \ + echo 'Name: OpenSSL'; \ + echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \ + echo 'Version: '$(VERSION); \ + echo 'Requires: libssl libcrypto' ) > openssl.pc + +Makefile: Makefile.org Configure config + @echo "Makefile is older than Makefile.org, Configure or config." + @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please." + @false + +libclean: + rm -f *.map *.so *.so.* *.dylib *.dll engines/*.so engines/*.dll engines/*.dylib *.a engines/*.a */lib */*/lib + +clean: libclean + rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c + @set -e; target=clean; $(RECURSIVE_BUILD_CMD) + rm -f $(LIBS) + rm -f openssl.pc libssl.pc libcrypto.pc + rm -f speed.* .pure + rm -f $(TARFILE) + @set -e; for i in $(ONEDIRS) ;\ + do \ + rm -fr $$i/*; \ + done + +distclean: clean + -$(RM) `find . -name .git -prune -o -type l -print` + $(RM) apps/CA.pl + $(RM) test/evptests.txt test/newkey.pem test/testkey.pem test/testreq.pem + $(RM) tools/c_rehash + $(RM) crypto/opensslconf.h + $(RM) Makefile Makefile.bak + +makefile.one: files + $(PERL) util/mk1mf.pl >makefile.one; \ + sh util/do_ms.sh + +files: + $(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO + @set -e; target=files; $(RECURSIVE_BUILD_CMD) + +links: + @$(PERL) $(TOP)/util/mkdir-p.pl include/openssl + @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) + @set -e; target=links; $(RECURSIVE_BUILD_CMD) + +gentests: + @(cd test && echo "generating dummy tests (if needed)..." && \ + $(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on generate ); + +dclean: + rm -rf *.bak include/openssl certs/.0 + @set -e; target=dclean; $(RECURSIVE_BUILD_CMD) + +rehash: rehash.time +rehash.time: certs apps + @if [ -z "$(CROSS_COMPILE)" ]; then \ + (OPENSSL="`pwd`/util/opensslwrap.sh"; \ + [ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \ + OPENSSL_DEBUG_MEMORY=on; \ + export OPENSSL OPENSSL_DEBUG_MEMORY; \ + $(PERL) tools/c_rehash certs/demo) && \ + touch rehash.time; \ + else :; fi + +test: tests + +tests: rehash + @(cd test && echo "testing..." && \ + $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests ); + OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a + +report: + @$(PERL) util/selftest.pl + +update: errors stacks util/libeay.num util/ssleay.num TABLE + @set -e; target=update; $(RECURSIVE_BUILD_CMD) + +depend: + @set -e; target=depend; $(RECURSIVE_BUILD_CMD) + +lint: + @set -e; target=lint; $(RECURSIVE_BUILD_CMD) + +tags: + rm -f TAGS + find . -name '[^.]*.[ch]' | xargs etags -a + +errors: + $(PERL) util/ck_errf.pl -strict */*.c */*/*.c + $(PERL) util/mkerr.pl -recurse -write + (cd engines; $(MAKE) PERL=$(PERL) errors) + +stacks: + $(PERL) util/mkstack.pl -write + +util/libeay.num:: + $(PERL) util/mkdef.pl crypto update + +util/ssleay.num:: + $(PERL) util/mkdef.pl ssl update + +TABLE: Configure + (echo 'Output of `Configure TABLE'"':"; \ + $(PERL) Configure TABLE) > TABLE + +# Build distribution tar-file. As the list of files returned by "find" is +# pretty long, on several platforms a "too many arguments" error or similar +# would occur. Therefore the list of files is temporarily stored into a file +# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal +# tar does not support the --files-from option. +TAR_COMMAND=$(TAR) $(TARFLAGS) --files-from $(TARFILE).list \ + --owner 0 --group 0 \ + --transform 's|^|$(NAME)/|' \ + -cvf - + +$(TARFILE).list: + find * \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \ + \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \ + \( \! -name '*test' -o -name bctest -o -name pod2mantest \) \ + \! -name '.#*' \! -name '*.bak' \! -name '*~' \! -type l \ + | sort > $(TARFILE).list + +tar: $(TARFILE).list + find . -type d -print | xargs chmod 755 + find . -type f -print | xargs chmod a+r + find . -type f -perm -0100 -print | xargs chmod a+x + $(TAR_COMMAND) | gzip --best > $(TARFILE).gz + rm -f $(TARFILE).list + ls -l $(TARFILE).gz + +tar-snap: $(TARFILE).list + $(TAR_COMMAND) > $(TARFILE) + rm -f $(TARFILE).list + ls -l $(TARFILE) + +dist: + $(PERL) Configure dist + @$(MAKE) SDIRS='$(SDIRS)' clean + @$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar + +install: all install_docs install_sw + +install_sw: + @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \ + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ + $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \ + $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \ + $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ + $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ + $(INSTALL_PREFIX)$(OPENSSLDIR)/private + @set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\ + do \ + (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ + done; + @set -e; target=install; $(RECURSIVE_BUILD_CMD) + @set -e; liblist="$(LIBS)"; for i in $$liblist ;\ + do \ + if [ -f "$$i" ]; then \ + ( echo installing $$i; \ + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i ); \ + fi; \ + done; + @set -e; if [ -n "$(SHARED_LIBS)" ]; then \ + tmp="$(SHARED_LIBS)"; \ + for i in $${tmp:-x}; \ + do \ + if [ -f "$$i" -o -f "$$i.a" ]; then \ + ( echo installing $$i; \ + if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ + c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \ + cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ + chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \ + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ + else \ + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ + fi ); \ + if expr $(PLATFORM) : 'mingw' > /dev/null; then \ + ( case $$i in \ + *crypto*) i=libeay32.dll;; \ + *ssl*) i=ssleay32.dll;; \ + esac; \ + echo installing $$i; \ + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ + chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \ + fi; \ + fi; \ + done; \ + ( here="`pwd`"; \ + cd $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR); \ + $(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \ + if [ "$(INSTALLTOP)" != "/usr" ]; then \ + echo 'OpenSSL shared libraries have been installed in:'; \ + echo ' $(INSTALLTOP)'; \ + echo ''; \ + sed -e '1,/^$$/d' doc/openssl-shared.txt; \ + fi; \ + fi + cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc + cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc + cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc + +install_html_docs: + here="`pwd`"; \ + filecase=; \ + case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ + filecase=-i; \ + esac; \ + for subdir in apps crypto ssl; do \ + mkdir -p $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ + for i in doc/$$subdir/*.pod; do \ + fn=`basename $$i .pod`; \ + echo "installing html/$$fn.$(HTMLSUFFIX)"; \ + cat $$i \ + | sed -r 's/L<([^)]*)(\([0-9]\))?\|([^)]*)(\([0-9]\))?>/L<\1|\3>/g' \ + | pod2html --podroot=doc --htmlroot=.. --podpath=apps:crypto:ssl \ + | sed -r 's/ $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir/$$fn.$(HTMLSUFFIX); \ + $(PERL) util/extract-names.pl < $$i | \ + grep -v $$filecase "^$$fn\$$" | \ + (cd $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ + while read n; do \ + PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$(HTMLSUFFIX) "$$n".$(HTMLSUFFIX); \ + done); \ + done; \ + done + +install_docs: + @$(PERL) $(TOP)/util/mkdir-p.pl \ + $(INSTALL_PREFIX)$(MANDIR)/man1 \ + $(INSTALL_PREFIX)$(MANDIR)/man3 \ + $(INSTALL_PREFIX)$(MANDIR)/man5 \ + $(INSTALL_PREFIX)$(MANDIR)/man7 + @pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \ + here="`pwd`"; \ + filecase=; \ + case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ + filecase=-i; \ + esac; \ + set -e; for i in doc/apps/*.pod; do \ + fn=`basename $$i .pod`; \ + sec=`$(PERL) util/extract-section.pl 1 < $$i`; \ + echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ + (cd `$(PERL) util/dirname.pl $$i`; \ + sh -c "$$pod2man \ + --section=$$sec --center=OpenSSL \ + --release=$(VERSION) `basename $$i`") \ + > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ + $(PERL) util/extract-names.pl < $$i | \ + (grep -v $$filecase "^$$fn\$$"; true) | \ + (grep -v "[ ]"; true) | \ + (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ + while read n; do \ + PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ + done); \ + done; \ + set -e; for i in doc/crypto/*.pod doc/ssl/*.pod; do \ + fn=`basename $$i .pod`; \ + sec=`$(PERL) util/extract-section.pl 3 < $$i`; \ + echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ + (cd `$(PERL) util/dirname.pl $$i`; \ + sh -c "$$pod2man \ + --section=$$sec --center=OpenSSL \ + --release=$(VERSION) `basename $$i`") \ + > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ + $(PERL) util/extract-names.pl < $$i | \ + (grep -v $$filecase "^$$fn\$$"; true) | \ + (grep -v "[ ]"; true) | \ + (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ + while read n; do \ + PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ + done); \ + done + +# DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/Makefile.org b/Makefile.org index f51f0a75..8089d3fc 100644 --- a/Makefile.org +++ b/Makefile.org @@ -519,7 +519,7 @@ $(TARFILE).list: find * \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \ \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \ \( \! -name '*test' -o -name bctest -o -name pod2mantest \) \ - \! -name '.#*' \! -name '*~' \! -type l \ + \! -name '.#*' \! -name '*.bak' \! -name '*~' \! -type l \ | sort > $(TARFILE).list tar: $(TARFILE).list diff --git a/NEWS b/NEWS index 2c7473ab..4d4e9df3 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,10 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. + Major changes between OpenSSL 1.0.2q and OpenSSL 1.0.2r [26 Feb 2019] + + o 0-byte record padding oracle (CVE-2019-1559) + Major changes between OpenSSL 1.0.2p and OpenSSL 1.0.2q [20 Nov 2018] o Microarchitecture timing vulnerability in ECC scalar multiplication (CVE-2018-5407) diff --git a/README b/README index ab31b382..42883251 100644 --- a/README +++ b/README @@ -1,7 +1,7 @@ - OpenSSL 1.0.2q 20 Nov 2018 + OpenSSL 1.0.2s 28 May 2019 - Copyright (c) 1998-2018 The OpenSSL Project + Copyright (c) 1998-2019 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson All rights reserved. diff --git a/apps/CA.pl b/apps/CA.pl index 43c20b20..3bf4c99f 100644 --- a/apps/CA.pl +++ b/apps/CA.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/local/bin/perl # # CA - wrapper around ca to make it easier to use ... basically ca requires # some setup stuff to be done before you can use it and this makes diff --git a/apps/CA.pl.bak b/apps/CA.pl.bak deleted file mode 100644 index 43c20b20..00000000 --- a/apps/CA.pl.bak +++ /dev/null @@ -1,188 +0,0 @@ -#!/usr/bin/perl -# -# CA - wrapper around ca to make it easier to use ... basically ca requires -# some setup stuff to be done before you can use it and this makes -# things easier between now and when Eric is convinced to fix it :-) -# -# CA -newca ... will setup the right stuff -# CA -newreq[-nodes] ... will generate a certificate request -# CA -sign ... will sign the generated request and output -# -# At the end of that grab newreq.pem and newcert.pem (one has the key -# and the other the certificate) and cat them together and that is what -# you want/need ... I'll make even this a little cleaner later. -# -# -# 12-Jan-96 tjh Added more things ... including CA -signcert which -# converts a certificate to a request and then signs it. -# 10-Jan-96 eay Fixed a few more bugs and added the SSLEAY_CONFIG -# environment variable so this can be driven from -# a script. -# 25-Jul-96 eay Cleaned up filenames some more. -# 11-Jun-96 eay Fixed a few filename missmatches. -# 03-May-96 eay Modified to use 'ssleay cmd' instead of 'cmd'. -# 18-Apr-96 tjh Original hacking -# -# Tim Hudson -# tjh@cryptsoft.com -# - -# 27-Apr-98 snh Translation into perl, fix existing CA bug. -# -# -# Steve Henson -# shenson@bigfoot.com - -# default openssl.cnf file has setup as per the following -# demoCA ... where everything is stored - -my $openssl; -if(defined $ENV{OPENSSL}) { - $openssl = $ENV{OPENSSL}; -} else { - $openssl = "openssl"; - $ENV{OPENSSL} = $openssl; -} - -$SSLEAY_CONFIG=$ENV{"SSLEAY_CONFIG"}; -$DAYS="-days 365"; # 1 year -$CADAYS="-days 1095"; # 3 years -$REQ="$openssl req $SSLEAY_CONFIG"; -$CA="$openssl ca $SSLEAY_CONFIG"; -$VERIFY="$openssl verify"; -$X509="$openssl x509"; -$PKCS12="$openssl pkcs12"; - -$CATOP="./demoCA"; -$CAKEY="cakey.pem"; -$CAREQ="careq.pem"; -$CACERT="cacert.pem"; - -$DIRMODE = 0777; - -$RET = 0; - -foreach (@ARGV) { - if ( /^(-\?|-h|-help)$/ ) { - print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-signcert|-verify\n"; - exit 0; - } elsif (/^-newcert$/) { - # create a certificate - system ("$REQ -new -x509 -keyout newkey.pem -out newcert.pem $DAYS"); - $RET=$?; - print "Certificate is in newcert.pem, private key is in newkey.pem\n" - } elsif (/^-newreq$/) { - # create a certificate request - system ("$REQ -new -keyout newkey.pem -out newreq.pem $DAYS"); - $RET=$?; - print "Request is in newreq.pem, private key is in newkey.pem\n"; - } elsif (/^-newreq-nodes$/) { - # create a certificate request - system ("$REQ -new -nodes -keyout newkey.pem -out newreq.pem $DAYS"); - $RET=$?; - print "Request is in newreq.pem, private key is in newkey.pem\n"; - } elsif (/^-newca$/) { - # if explicitly asked for or it doesn't exist then setup the - # directory structure that Eric likes to manage things - $NEW="1"; - if ( "$NEW" || ! -f "${CATOP}/serial" ) { - # create the directory hierarchy - mkdir $CATOP, $DIRMODE; - mkdir "${CATOP}/certs", $DIRMODE; - mkdir "${CATOP}/crl", $DIRMODE ; - mkdir "${CATOP}/newcerts", $DIRMODE; - mkdir "${CATOP}/private", $DIRMODE; - open OUT, ">${CATOP}/index.txt"; - close OUT; - open OUT, ">${CATOP}/crlnumber"; - print OUT "01\n"; - close OUT; - } - if ( ! -f "${CATOP}/private/$CAKEY" ) { - print "CA certificate filename (or enter to create)\n"; - $FILE = ; - - chop $FILE; - - # ask user for existing CA certificate - if ($FILE) { - cp_pem($FILE,"${CATOP}/private/$CAKEY", "PRIVATE"); - cp_pem($FILE,"${CATOP}/$CACERT", "CERTIFICATE"); - $RET=$?; - } else { - print "Making CA certificate ...\n"; - system ("$REQ -new -keyout " . - "${CATOP}/private/$CAKEY -out ${CATOP}/$CAREQ"); - system ("$CA -create_serial " . - "-out ${CATOP}/$CACERT $CADAYS -batch " . - "-keyfile ${CATOP}/private/$CAKEY -selfsign " . - "-extensions v3_ca " . - "-infiles ${CATOP}/$CAREQ "); - $RET=$?; - } - } - } elsif (/^-pkcs12$/) { - my $cname = $ARGV[1]; - $cname = "My Certificate" unless defined $cname; - system ("$PKCS12 -in newcert.pem -inkey newkey.pem " . - "-certfile ${CATOP}/$CACERT -out newcert.p12 " . - "-export -name \"$cname\""); - $RET=$?; - print "PKCS #12 file is in newcert.p12\n"; - exit $RET; - } elsif (/^-xsign$/) { - system ("$CA -policy policy_anything -infiles newreq.pem"); - $RET=$?; - } elsif (/^(-sign|-signreq)$/) { - system ("$CA -policy policy_anything -out newcert.pem " . - "-infiles newreq.pem"); - $RET=$?; - print "Signed certificate is in newcert.pem\n"; - } elsif (/^(-signCA)$/) { - system ("$CA -policy policy_anything -out newcert.pem " . - "-extensions v3_ca -infiles newreq.pem"); - $RET=$?; - print "Signed CA certificate is in newcert.pem\n"; - } elsif (/^-signcert$/) { - system ("$X509 -x509toreq -in newreq.pem -signkey newreq.pem " . - "-out tmp.pem"); - system ("$CA -policy policy_anything -out newcert.pem " . - "-infiles tmp.pem"); - $RET = $?; - print "Signed certificate is in newcert.pem\n"; - } elsif (/^-verify$/) { - if (shift) { - foreach $j (@ARGV) { - system ("$VERIFY -CAfile $CATOP/$CACERT $j"); - $RET=$? if ($? != 0); - } - exit $RET; - } else { - system ("$VERIFY -CAfile $CATOP/$CACERT newcert.pem"); - $RET=$?; - exit 0; - } - } else { - print STDERR "Unknown arg $_\n"; - print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n"; - exit 1; - } -} - -exit $RET; - -sub cp_pem { -my ($infile, $outfile, $bound) = @_; -open IN, $infile; -open OUT, ">$outfile"; -my $flag = 0; -while () { - $flag = 1 if (/^-----BEGIN.*$bound/) ; - print OUT $_ if ($flag); - if (/^-----END.*$bound/) { - close IN; - close OUT; - return; - } -} -} diff --git a/config b/config index 6214c4b1..c8a3b589 100644 --- a/config +++ b/config @@ -871,6 +871,7 @@ case "$GUESSOS" in *-*-qnx6) OUT="QNX6" ;; x86-*-android|i?86-*-android) OUT="android-x86" ;; armv[7-9]*-*-android) OUT="android-armv7" ;; + aarch64-*-android) OUT="android64-aarch64" ;; *) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;; esac diff --git a/crypto/asn1/ameth_lib.c b/crypto/asn1/ameth_lib.c index cc8f9a82..d04f7861 100644 --- a/crypto/asn1/ameth_lib.c +++ b/crypto/asn1/ameth_lib.c @@ -234,6 +234,21 @@ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe, int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth) { + /* + * One of the following must be true: + * + * pem_str == NULL AND ASN1_PKEY_ALIAS is set + * pem_str != NULL AND ASN1_PKEY_ALIAS is clear + * + * Anything else is an error and may lead to a corrupt ASN1 method table + */ + if (!((ameth->pem_str == NULL + && (ameth->pkey_flags & ASN1_PKEY_ALIAS) != 0) + || (ameth->pem_str != NULL + && (ameth->pkey_flags & ASN1_PKEY_ALIAS) == 0))) { + return 0; + } + if (app_methods == NULL) { app_methods = sk_EVP_PKEY_ASN1_METHOD_new(ameth_cmp); if (!app_methods) @@ -305,18 +320,6 @@ EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags, } else ameth->info = NULL; - /* - * One of the following must be true: - * - * pem_str == NULL AND ASN1_PKEY_ALIAS is set - * pem_str != NULL AND ASN1_PKEY_ALIAS is clear - * - * Anything else is an error and may lead to a corrupt ASN1 method table - */ - if (!((pem_str == NULL && (flags & ASN1_PKEY_ALIAS) != 0) - || (pem_str != NULL && (flags & ASN1_PKEY_ALIAS) == 0))) - goto err; - if (pem_str) { ameth->pem_str = BUF_strdup(pem_str); if (!ameth->pem_str) diff --git a/crypto/bio/bss_file.c b/crypto/bio/bss_file.c index bbf906fa..024d0cf4 100644 --- a/crypto/bio/bss_file.c +++ b/crypto/bio/bss_file.c @@ -361,12 +361,16 @@ static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, void *ptr) } else _setmode(fd, _O_BINARY); } -# elif defined(OPENSSL_SYS_OS2) || defined(OPENSSL_SYS_WIN32_CYGWIN) +# elif defined(OPENSSL_SYS_OS2) int fd = fileno((FILE *)ptr); if (num & BIO_FP_TEXT) setmode(fd, O_TEXT); else setmode(fd, O_BINARY); +# elif defined(OPENSSL_SYS_WIN32_CYGWIN) + int fd = fileno((FILE *)ptr); + if (!(num & BIO_FP_TEXT)) + setmode(fd, O_BINARY); # endif } break; @@ -389,11 +393,14 @@ static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, void *ptr) ret = 0; break; } -# if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_OS2) || defined(OPENSSL_SYS_WIN32_CYGWIN) +# if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_OS2) if (!(num & BIO_FP_TEXT)) strcat(p, "b"); else strcat(p, "t"); +# elif defined(OPENSSL_SYS_WIN32_CYGWIN) + if (!(num & BIO_FP_TEXT)) + strcat(p, "b"); # endif # if defined(OPENSSL_SYS_NETWARE) if (!(num & BIO_FP_TEXT)) diff --git a/crypto/bn/bn_ctx.c b/crypto/bn/bn_ctx.c index 526c6a04..d18eedbd 100644 --- a/crypto/bn/bn_ctx.c +++ b/crypto/bn/bn_ctx.c @@ -1,7 +1,7 @@ /* crypto/bn/bn_ctx.c */ /* Written by Ulf Moeller for the OpenSSL project. */ /* ==================================================================== - * Copyright (c) 1998-2004 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -299,6 +299,8 @@ BIGNUM *BN_CTX_get(BN_CTX *ctx) } /* OK, make sure the returned bignum is "zero" */ BN_zero(ret); + /* clear BN_FLG_CONSTTIME if leaked from previous frames */ + ret->flags &= (~BN_FLG_CONSTTIME); ctx->used++; CTXDBG_RET(ctx, ret); return ret; diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index 9b95e5f2..2a84698a 100644 --- a/crypto/bn/bn_lib.c +++ b/crypto/bn/bn_lib.c @@ -836,6 +836,9 @@ int bn_cmp_words(const BN_ULONG *a, const BN_ULONG *b, int n) int i; BN_ULONG aa, bb; + if (n == 0) + return 0; + aa = a[n - 1]; bb = b[n - 1]; if (aa != bb) diff --git a/crypto/bn/bntest.c b/crypto/bn/bntest.c index abe5dbe0..75aa7075 100644 --- a/crypto/bn/bntest.c +++ b/crypto/bn/bntest.c @@ -89,6 +89,10 @@ #include #include +#ifndef OSSL_NELEM +# define OSSL_NELEM(x) (sizeof(x)/sizeof(x[0])) +#endif + const int num0 = 100; /* number of tests */ const int num1 = 50; /* additional tests for some functions */ const int num2 = 5; /* number of tests for slow functions */ @@ -123,6 +127,7 @@ int test_gf2m_mod_solve_quad(BIO *bp, BN_CTX *ctx); int test_kron(BIO *bp, BN_CTX *ctx); int test_sqrt(BIO *bp, BN_CTX *ctx); int rand_neg(void); +static int test_ctx_consttime_flag(void); static int results = 0; static unsigned char lst[] = @@ -330,6 +335,15 @@ int main(int argc, char *argv[]) goto err; (void)BIO_flush(out); #endif + + /* silently flush any pre-existing error on the stack */ + ERR_clear_error(); + + message(out, "BN_CTX_get BN_FLG_CONSTTIME"); + if (!test_ctx_consttime_flag()) + goto err; + (void)BIO_flush(out); + BN_CTX_free(ctx); BIO_free(out); @@ -2158,3 +2172,90 @@ int rand_neg(void) return (sign[(neg++) % 8]); } + +static int test_ctx_set_ct_flag(BN_CTX *c) +{ + int st = 0; + size_t i; + BIGNUM *b[15]; + + BN_CTX_start(c); + for (i = 0; i < OSSL_NELEM(b); i++) { + if (NULL == (b[i] = BN_CTX_get(c))) { + fprintf(stderr, "ERROR: BN_CTX_get() failed.\n"); + goto err; + } + if (i % 2 == 1) + BN_set_flags(b[i], BN_FLG_CONSTTIME); + } + + st = 1; + err: + BN_CTX_end(c); + return st; +} + +static int test_ctx_check_ct_flag(BN_CTX *c) +{ + int st = 0; + size_t i; + BIGNUM *b[30]; + + BN_CTX_start(c); + for (i = 0; i < OSSL_NELEM(b); i++) { + if (NULL == (b[i] = BN_CTX_get(c))) { + fprintf(stderr, "ERROR: BN_CTX_get() failed.\n"); + goto err; + } + if (BN_get_flags(b[i], BN_FLG_CONSTTIME) != 0) { + fprintf(stderr, "ERROR: BN_FLG_CONSTTIME should not be set.\n"); + goto err; + } + } + + st = 1; + err: + BN_CTX_end(c); + return st; +} + +static int test_ctx_consttime_flag(void) +{ + /*- + * The constant-time flag should not "leak" among BN_CTX frames: + * + * - test_ctx_set_ct_flag() starts a frame in the given BN_CTX and + * sets the BN_FLG_CONSTTIME flag on some of the BIGNUMs obtained + * from the frame before ending it. + * - test_ctx_check_ct_flag() then starts a new frame and gets a + * number of BIGNUMs from it. In absence of leaks, none of the + * BIGNUMs in the new frame should have BN_FLG_CONSTTIME set. + * + * In actual BN_CTX usage inside libcrypto the leak could happen at + * any depth level in the BN_CTX stack, with varying results + * depending on the patterns of sibling trees of nested function + * calls sharing the same BN_CTX object, and the effect of + * unintended BN_FLG_CONSTTIME on the called BN_* functions. + * + * This simple unit test abstracts away this complexity and verifies + * that the leak does not happen between two sibling functions + * sharing the same BN_CTX object at the same level of nesting. + * + */ + BN_CTX *c = NULL; + int st = 0; + + if (NULL == (c = BN_CTX_new())) { + fprintf(stderr, "ERROR: BN_CTX_new() failed.\n"); + goto err; + } + + if (!test_ctx_set_ct_flag(c) + || !test_ctx_check_ct_flag(c)) + goto err; + + st = 1; + err: + BN_CTX_free(c); + return st; +} diff --git a/crypto/buildinf.h b/crypto/buildinf.h index 05dd3d79..f6305720 100644 --- a/crypto/buildinf.h +++ b/crypto/buildinf.h @@ -1,19 +1,19 @@ -#ifndef MK1MF_BUILD - /* auto-generated by Configure for crypto/cversion.c: - * for Unix builds, crypto/Makefile.ssl generates functional definitions; - * Windows builds (and other mk1mf builds) compile cversion.c with - * -DMK1MF_BUILD and use definitions added to this file by util/mk1mf.pl. */ - #error "Windows builds (PLATFORM=VC-WIN32) use mk1mf.pl-created Makefiles" -#endif -#ifdef MK1MF_PLATFORM_VC_WIN32 - /* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */ - #define CFLAGS "compiler: cl /MD /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_STATIC_ENGINE " - #define PLATFORM "VC-WIN32" - #define DATE "Fri Dec 7 19:08:23 2018" -#endif -#ifdef MK1MF_PLATFORM_BC_NT - /* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */ - #define CFLAGS "compiler: bcc32 -DWIN32_LEAN_AND_MEAN -q -w-ccc -w-rch -w-pia -w-aus -w-par -w-inl -c -tWC -tWM -DOPENSSL_SYSNAME_WIN32 -DL_ENDIAN -DDSO_WIN32 -D_stricmp=stricmp -D_strnicmp=strnicmp -O2 -ff -fp -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE " - #define PLATFORM "BC-NT" - #define DATE "Fri Dec 7 19:08:23 2018" -#endif +#ifndef MK1MF_BUILD + /* auto-generated by Configure for crypto/cversion.c: + * for Unix builds, crypto/Makefile.ssl generates functional definitions; + * Windows builds (and other mk1mf builds) compile cversion.c with + * -DMK1MF_BUILD and use definitions added to this file by util/mk1mf.pl. */ + #error "Windows builds (PLATFORM=VC-WIN32) use mk1mf.pl-created Makefiles" +#endif +#ifdef MK1MF_PLATFORM_VC_WIN32 + /* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */ + #define CFLAGS "compiler: cl /MD /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_STATIC_ENGINE " + #define PLATFORM "VC-WIN32" + #define DATE "Mon Jun 17 15:40:00 2019" +#endif +#ifdef MK1MF_PLATFORM_BC_NT + /* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */ + #define CFLAGS "compiler: bcc32 -DWIN32_LEAN_AND_MEAN -q -w-ccc -w-rch -w-pia -w-aus -w-par -w-inl -c -tWC -tWM -DOPENSSL_SYSNAME_WIN32 -DL_ENDIAN -DDSO_WIN32 -D_stricmp=stricmp -D_strnicmp=strnicmp -O2 -ff -fp -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE " + #define PLATFORM "BC-NT" + #define DATE "Mon Jun 17 15:40:00 2019" +#endif diff --git a/crypto/constant_time_locl.h b/crypto/constant_time_locl.h index c786aea9..a5734f2f 100644 --- a/crypto/constant_time_locl.h +++ b/crypto/constant_time_locl.h @@ -204,6 +204,12 @@ static inline int constant_time_select_int(unsigned int mask, int a, int b) return (int)(constant_time_select(mask, (unsigned)(a), (unsigned)(b))); } +/* + * Expected usage pattern is to unconditionally set error and then + * wipe it if there was no actual error. |clear| is 1 or 0. + */ +void err_clear_last_constant_time(int clear); + #ifdef __cplusplus } #endif diff --git a/crypto/dh/dh_pmeth.c b/crypto/dh/dh_pmeth.c index 162753af..924a5ae6 100644 --- a/crypto/dh/dh_pmeth.c +++ b/crypto/dh/dh_pmeth.c @@ -3,7 +3,7 @@ * 2006. */ /* ==================================================================== - * Copyright (c) 2006-2018 The OpenSSL Project. All rights reserved. + * Copyright (c) 2006-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -101,7 +101,7 @@ static int pkey_dh_init(EVP_PKEY_CTX *ctx) dctx = OPENSSL_malloc(sizeof(DH_PKEY_CTX)); if (!dctx) return 0; - dctx->prime_len = 1024; + dctx->prime_len = 2048; dctx->subprime_len = -1; dctx->generator = 2; dctx->use_dsa = 0; diff --git a/crypto/dsa/dsa_pmeth.c b/crypto/dsa/dsa_pmeth.c index 7f00e970..cdf73203 100644 --- a/crypto/dsa/dsa_pmeth.c +++ b/crypto/dsa/dsa_pmeth.c @@ -3,7 +3,7 @@ * 2006. */ /* ==================================================================== - * Copyright (c) 2006-2018 The OpenSSL Project. All rights reserved. + * Copyright (c) 2006-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -69,8 +69,8 @@ typedef struct { /* Parameter gen parameters */ - int nbits; /* size of p in bits (default: 1024) */ - int qbits; /* size of q in bits (default: 160) */ + int nbits; /* size of p in bits (default: 2048) */ + int qbits; /* size of q in bits (default: 224) */ const EVP_MD *pmd; /* MD for parameter generation */ /* Keygen callback info */ int gentmp[2]; @@ -84,8 +84,8 @@ static int pkey_dsa_init(EVP_PKEY_CTX *ctx) dctx = OPENSSL_malloc(sizeof(DSA_PKEY_CTX)); if (!dctx) return 0; - dctx->nbits = 1024; - dctx->qbits = 160; + dctx->nbits = 2048; + dctx->qbits = 224; dctx->pmd = NULL; dctx->md = NULL; diff --git a/crypto/ec/ec2_oct.c b/crypto/ec/ec2_oct.c index 0d04cc69..5da3cd8b 100644 --- a/crypto/ec/ec2_oct.c +++ b/crypto/ec/ec2_oct.c @@ -14,7 +14,7 @@ * */ /* ==================================================================== - * Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -299,7 +299,7 @@ int ec_GF2m_simple_oct2point(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx) { point_conversion_form_t form; - int y_bit; + int y_bit, m; BN_CTX *new_ctx = NULL; BIGNUM *x, *y, *yxi; size_t field_len, enc_len; @@ -332,7 +332,8 @@ int ec_GF2m_simple_oct2point(const EC_GROUP *group, EC_POINT *point, return EC_POINT_set_to_infinity(group, point); } - field_len = (EC_GROUP_get_degree(group) + 7) / 8; + m = EC_GROUP_get_degree(group); + field_len = (m + 7) / 8; enc_len = (form == POINT_CONVERSION_COMPRESSED) ? 1 + field_len : 1 + 2 * field_len; @@ -357,7 +358,7 @@ int ec_GF2m_simple_oct2point(const EC_GROUP *group, EC_POINT *point, if (!BN_bin2bn(buf + 1, field_len, x)) goto err; - if (BN_ucmp(x, &group->field) >= 0) { + if (BN_num_bits(x) > m) { ECerr(EC_F_EC_GF2M_SIMPLE_OCT2POINT, EC_R_INVALID_ENCODING); goto err; } @@ -369,7 +370,7 @@ int ec_GF2m_simple_oct2point(const EC_GROUP *group, EC_POINT *point, } else { if (!BN_bin2bn(buf + 1 + field_len, field_len, y)) goto err; - if (BN_ucmp(y, &group->field) >= 0) { + if (BN_num_bits(y) > m) { ECerr(EC_F_EC_GF2M_SIMPLE_OCT2POINT, EC_R_INVALID_ENCODING); goto err; } @@ -382,16 +383,14 @@ int ec_GF2m_simple_oct2point(const EC_GROUP *group, EC_POINT *point, } } + /* + * EC_POINT_set_affine_coordinates_GF2m is responsible for checking that + * the point is on the curve. + */ if (!EC_POINT_set_affine_coordinates_GF2m(group, point, x, y, ctx)) goto err; } - /* test required by X9.62 */ - if (EC_POINT_is_on_curve(group, point, ctx) <= 0) { - ECerr(EC_F_EC_GF2M_SIMPLE_OCT2POINT, EC_R_POINT_IS_NOT_ON_CURVE); - goto err; - } - ret = 1; err: diff --git a/crypto/ec/ec_ameth.c b/crypto/ec/ec_ameth.c index aa5f3056..db7e791b 100644 --- a/crypto/ec/ec_ameth.c +++ b/crypto/ec/ec_ameth.c @@ -601,7 +601,7 @@ static int ec_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) case ASN1_PKEY_CTRL_DEFAULT_MD_NID: *(int *)arg2 = NID_sha256; - return 2; + return 1; default: return -2; diff --git a/crypto/ec/ec_lib.c b/crypto/ec/ec_lib.c index df56484b..cd2c4201 100644 --- a/crypto/ec/ec_lib.c +++ b/crypto/ec/ec_lib.c @@ -3,7 +3,7 @@ * Originally written by Bodo Moeller for the OpenSSL project. */ /* ==================================================================== - * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -872,7 +872,15 @@ int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_R_INCOMPATIBLE_OBJECTS); return 0; } - return group->meth->point_set_affine_coordinates(group, point, x, y, ctx); + if (!group->meth->point_set_affine_coordinates(group, point, x, y, ctx)) + return 0; + + if (EC_POINT_is_on_curve(group, point, ctx) <= 0) { + ECerr(EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP, + EC_R_POINT_IS_NOT_ON_CURVE); + return 0; + } + return 1; } #ifndef OPENSSL_NO_EC2M @@ -890,7 +898,15 @@ int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_R_INCOMPATIBLE_OBJECTS); return 0; } - return group->meth->point_set_affine_coordinates(group, point, x, y, ctx); + if (!group->meth->point_set_affine_coordinates(group, point, x, y, ctx)) + return 0; + + if (EC_POINT_is_on_curve(group, point, ctx) <= 0) { + ECerr(EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M, + EC_R_POINT_IS_NOT_ON_CURVE); + return 0; + } + return 1; } #endif diff --git a/crypto/ec/ec_mult.c b/crypto/ec/ec_mult.c index da715268..a784a99c 100644 --- a/crypto/ec/ec_mult.c +++ b/crypto/ec/ec_mult.c @@ -3,7 +3,7 @@ * Originally written by Bodo Moeller and Nils Larsch for the OpenSSL project. */ /* ==================================================================== - * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -519,7 +519,7 @@ static int ec_mul_consttime(const EC_GROUP *group, EC_POINT *r, ret = 1; err: - EC_POINT_free(s); + EC_POINT_clear_free(s); BN_CTX_end(ctx); BN_CTX_free(new_ctx); diff --git a/crypto/ec/ecp_nistp521.c b/crypto/ec/ecp_nistp521.c index 90989c5a..1a42068c 100644 --- a/crypto/ec/ecp_nistp521.c +++ b/crypto/ec/ecp_nistp521.c @@ -356,10 +356,15 @@ static void felem_diff64(felem out, const felem in) static void felem_diff_128_64(largefelem out, const felem in) { /* - * In order to prevent underflow, we add 0 mod p before subtracting. + * In order to prevent underflow, we add 64p mod p (which is equivalent + * to 0 mod p) before subtracting. p is 2^521 - 1, i.e. in binary a 521 + * digit number with all bits set to 1. See "The representation of field + * elements" comment above for a description of how limbs are used to + * represent a number. 64p is represented with 8 limbs containing a number + * with 58 bits set and one limb with a number with 57 bits set. */ - static const limb two63m6 = (((limb) 1) << 62) - (((limb) 1) << 5); - static const limb two63m5 = (((limb) 1) << 62) - (((limb) 1) << 4); + static const limb two63m6 = (((limb) 1) << 63) - (((limb) 1) << 6); + static const limb two63m5 = (((limb) 1) << 63) - (((limb) 1) << 5); out[0] += two63m6 - in[0]; out[1] += two63m5 - in[1]; diff --git a/crypto/ec/ecp_oct.c b/crypto/ec/ecp_oct.c index 1bc3f39a..6943ceee 100644 --- a/crypto/ec/ecp_oct.c +++ b/crypto/ec/ecp_oct.c @@ -5,7 +5,7 @@ * OpenSSL project. */ /* ==================================================================== - * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -408,16 +408,14 @@ int ec_GFp_simple_oct2point(const EC_GROUP *group, EC_POINT *point, } } + /* + * EC_POINT_set_affine_coordinates_GFp is responsible for checking that + * the point is on the curve. + */ if (!EC_POINT_set_affine_coordinates_GFp(group, point, x, y, ctx)) goto err; } - /* test required by X9.62 */ - if (EC_POINT_is_on_curve(group, point, ctx) <= 0) { - ECerr(EC_F_EC_GFP_SIMPLE_OCT2POINT, EC_R_POINT_IS_NOT_ON_CURVE); - goto err; - } - ret = 1; err: diff --git a/crypto/ec/ectest.c b/crypto/ec/ectest.c index 5e1ef509..73f73744 100644 --- a/crypto/ec/ectest.c +++ b/crypto/ec/ectest.c @@ -3,7 +3,7 @@ * Originally written by Bodo Moeller for the OpenSSL project. */ /* ==================================================================== - * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -325,7 +325,7 @@ static void prime_field_tests(void) EC_GROUP *P_160 = NULL, *P_192 = NULL, *P_224 = NULL, *P_256 = NULL, *P_384 = NULL, *P_521 = NULL; EC_POINT *P, *Q, *R; - BIGNUM *x, *y, *z; + BIGNUM *x, *y, *z, *yplusone; unsigned char buf[100]; size_t i, len; int k; @@ -405,7 +405,8 @@ static void prime_field_tests(void) x = BN_new(); y = BN_new(); z = BN_new(); - if (!x || !y || !z) + yplusone = BN_new(); + if (x == NULL || y == NULL || z == NULL || yplusone == NULL) ABORT; if (!BN_hex2bn(&x, "D")) @@ -542,6 +543,14 @@ static void prime_field_tests(void) ABORT; if (!BN_hex2bn(&y, "23a628553168947d59dcc912042351377ac5fb32")) ABORT; + if (!BN_add(yplusone, y, BN_value_one())) + ABORT; + /* + * When (x, y) is on the curve, (x, y + 1) is, as it happens, not, + * and therefore setting the coordinates should fail. + */ + if (EC_POINT_set_affine_coordinates_GFp(group, P, x, yplusone, ctx)) + ABORT; if (!EC_POINT_set_affine_coordinates_GFp(group, P, x, y, ctx)) ABORT; if (EC_POINT_is_on_curve(group, P, ctx) <= 0) @@ -613,6 +622,15 @@ static void prime_field_tests(void) if (0 != BN_cmp(y, z)) ABORT; + if (!BN_add(yplusone, y, BN_value_one())) + ABORT; + /* + * When (x, y) is on the curve, (x, y + 1) is, as it happens, not, + * and therefore setting the coordinates should fail. + */ + if (EC_POINT_set_affine_coordinates_GFp(group, P, x, yplusone, ctx)) + ABORT; + fprintf(stdout, "verify degree ..."); if (EC_GROUP_get_degree(group) != 192) ABORT; @@ -668,6 +686,15 @@ static void prime_field_tests(void) if (0 != BN_cmp(y, z)) ABORT; + if (!BN_add(yplusone, y, BN_value_one())) + ABORT; + /* + * When (x, y) is on the curve, (x, y + 1) is, as it happens, not, + * and therefore setting the coordinates should fail. + */ + if (EC_POINT_set_affine_coordinates_GFp(group, P, x, yplusone, ctx)) + ABORT; + fprintf(stdout, "verify degree ..."); if (EC_GROUP_get_degree(group) != 224) ABORT; @@ -728,6 +755,15 @@ static void prime_field_tests(void) if (0 != BN_cmp(y, z)) ABORT; + if (!BN_add(yplusone, y, BN_value_one())) + ABORT; + /* + * When (x, y) is on the curve, (x, y + 1) is, as it happens, not, + * and therefore setting the coordinates should fail. + */ + if (EC_POINT_set_affine_coordinates_GFp(group, P, x, yplusone, ctx)) + ABORT; + fprintf(stdout, "verify degree ..."); if (EC_GROUP_get_degree(group) != 256) ABORT; @@ -783,6 +819,15 @@ static void prime_field_tests(void) if (0 != BN_cmp(y, z)) ABORT; + if (!BN_add(yplusone, y, BN_value_one())) + ABORT; + /* + * When (x, y) is on the curve, (x, y + 1) is, as it happens, not, + * and therefore setting the coordinates should fail. + */ + if (EC_POINT_set_affine_coordinates_GFp(group, P, x, yplusone, ctx)) + ABORT; + fprintf(stdout, "verify degree ..."); if (EC_GROUP_get_degree(group) != 384) ABORT; @@ -844,6 +889,15 @@ static void prime_field_tests(void) if (0 != BN_cmp(y, z)) ABORT; + if (!BN_add(yplusone, y, BN_value_one())) + ABORT; + /* + * When (x, y) is on the curve, (x, y + 1) is, as it happens, not, + * and therefore setting the coordinates should fail. + */ + if (EC_POINT_set_affine_coordinates_GFp(group, P, x, yplusone, ctx)) + ABORT; + fprintf(stdout, "verify degree ..."); if (EC_GROUP_get_degree(group) != 521) ABORT; @@ -858,6 +912,10 @@ static void prime_field_tests(void) /* more tests using the last curve */ + /* Restore the point that got mangled in the (x, y + 1) test. */ + if (!EC_POINT_set_affine_coordinates_GFp(group, P, x, y, ctx)) + ABORT; + if (!EC_POINT_copy(Q, P)) ABORT; if (EC_POINT_is_at_infinity(group, Q)) @@ -987,6 +1045,7 @@ static void prime_field_tests(void) BN_free(x); BN_free(y); BN_free(z); + BN_free(yplusone); if (P_160) EC_GROUP_free(P_160); @@ -1007,6 +1066,13 @@ static void prime_field_tests(void) # ifdef OPENSSL_EC_BIN_PT_COMP # define CHAR2_CURVE_TEST_INTERNAL(_name, _p, _a, _b, _x, _y, _y_bit, _order, _cof, _degree, _variable) \ if (!BN_hex2bn(&x, _x)) ABORT; \ + if (!BN_hex2bn(&y, _y)) ABORT; \ + if (!BN_add(yplusone, y, BN_value_one())) ABORT; \ + /* \ + * When (x, y) is on the curve, (x, y + 1) is, as it happens, not, \ + * and therefore setting the coordinates should fail. \ + */ \ + if (EC_POINT_set_affine_coordinates_GF2m(group, P, x, yplusone, ctx)) ABORT; \ if (!EC_POINT_set_compressed_coordinates_GF2m(group, P, x, _y_bit, ctx)) ABORT; \ if (EC_POINT_is_on_curve(group, P, ctx) <= 0) ABORT; \ if (!BN_hex2bn(&z, _order)) ABORT; \ @@ -1025,6 +1091,12 @@ static void prime_field_tests(void) # define CHAR2_CURVE_TEST_INTERNAL(_name, _p, _a, _b, _x, _y, _y_bit, _order, _cof, _degree, _variable) \ if (!BN_hex2bn(&x, _x)) ABORT; \ if (!BN_hex2bn(&y, _y)) ABORT; \ + if (!BN_add(yplusone, y, BN_value_one())) ABORT; \ + /* \ + * When (x, y) is on the curve, (x, y + 1) is, as it happens, not, \ + * and therefore setting the coordinates should fail. \ + */ \ + if (EC_POINT_set_affine_coordinates_GF2m(group, P, x, yplusone, ctx)) ABORT; \ if (!EC_POINT_set_affine_coordinates_GF2m(group, P, x, y, ctx)) ABORT; \ if (EC_POINT_is_on_curve(group, P, ctx) <= 0) ABORT; \ if (!BN_hex2bn(&z, _order)) ABORT; \ @@ -1062,7 +1134,7 @@ static void char2_field_tests(void) EC_GROUP *C2_B163 = NULL, *C2_B233 = NULL, *C2_B283 = NULL, *C2_B409 = NULL, *C2_B571 = NULL; EC_POINT *P, *Q, *R; - BIGNUM *x, *y, *z, *cof; + BIGNUM *x, *y, *z, *cof, *yplusone; unsigned char buf[100]; size_t i, len; int k; @@ -1076,7 +1148,7 @@ static void char2_field_tests(void) p = BN_new(); a = BN_new(); b = BN_new(); - if (!p || !a || !b) + if (p == NULL || a == NULL || b == NULL) ABORT; if (!BN_hex2bn(&p, "13")) @@ -1142,7 +1214,8 @@ static void char2_field_tests(void) y = BN_new(); z = BN_new(); cof = BN_new(); - if (!x || !y || !z || !cof) + yplusone = BN_new(); + if (x == NULL || y == NULL || z == NULL || cof == NULL || yplusone == NULL) ABORT; if (!BN_hex2bn(&x, "6")) @@ -1504,6 +1577,7 @@ static void char2_field_tests(void) BN_free(y); BN_free(z); BN_free(cof); + BN_free(yplusone); if (C2_K163) EC_GROUP_free(C2_K163); @@ -1672,7 +1746,7 @@ static const struct nistp_test_params nistp_tests_params[] = { static void nistp_single_test(const struct nistp_test_params *test) { BN_CTX *ctx; - BIGNUM *p, *a, *b, *x, *y, *n, *m, *order; + BIGNUM *p, *a, *b, *x, *y, *n, *m, *order, *yplusone; EC_GROUP *NISTP; EC_POINT *G, *P, *Q, *Q_CHECK; @@ -1687,6 +1761,7 @@ static void nistp_single_test(const struct nistp_test_params *test) m = BN_new(); n = BN_new(); order = BN_new(); + yplusone = BN_new(); NISTP = EC_GROUP_new(test->meth()); if (!NISTP) @@ -1709,6 +1784,14 @@ static void nistp_single_test(const struct nistp_test_params *test) ABORT; if (!BN_hex2bn(&y, test->Qy)) ABORT; + if (!BN_add(yplusone, y, BN_value_one())) + ABORT; + /* + * When (x, y) is on the curve, (x, y + 1) is, as it happens, not, + * and therefore setting the coordinates should fail. + */ + if (EC_POINT_set_affine_coordinates_GFp(NISTP, Q_CHECK, x, yplusone, ctx)) + ABORT; if (!EC_POINT_set_affine_coordinates_GFp(NISTP, Q_CHECK, x, y, ctx)) ABORT; if (!BN_hex2bn(&x, test->Gx)) @@ -1811,6 +1894,7 @@ static void nistp_single_test(const struct nistp_test_params *test) BN_free(x); BN_free(y); BN_free(order); + BN_free(yplusone); BN_CTX_free(ctx); } diff --git a/crypto/ecdh/ech_ossl.c b/crypto/ecdh/ech_ossl.c index d3b05247..2185c385 100644 --- a/crypto/ecdh/ech_ossl.c +++ b/crypto/ecdh/ech_ossl.c @@ -14,7 +14,7 @@ * */ /* ==================================================================== - * Copyright (c) 1998-2003 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -207,7 +207,7 @@ static int ecdh_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, err: if (tmp) - EC_POINT_free(tmp); + EC_POINT_clear_free(tmp); if (ctx) BN_CTX_end(ctx); if (ctx) diff --git a/crypto/err/Makefile b/crypto/err/Makefile index b6f3ef17..a09312b9 100644 --- a/crypto/err/Makefile +++ b/crypto/err/Makefile @@ -82,7 +82,7 @@ err.o: ../../include/openssl/err.h ../../include/openssl/lhash.h err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -err.o: ../cryptlib.h err.c +err.o: ../constant_time_locl.h ../cryptlib.h err.c err_all.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h err_all.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h err_all.o: ../../include/openssl/cms.h ../../include/openssl/comp.h diff --git a/crypto/err/err.c b/crypto/err/err.c index e9ef2156..e6138aa2 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -56,7 +56,7 @@ * [including the GNU Public Licence.] */ /* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -118,6 +118,7 @@ #include #include #include +#include "constant_time_locl.h" DECLARE_LHASH_OF(ERR_STRING_DATA); DECLARE_LHASH_OF(ERR_STATE); @@ -826,8 +827,24 @@ static unsigned long get_error_values(int inc, int top, const char **file, return ERR_R_INTERNAL_ERROR; } + while (es->bottom != es->top) { + if (es->err_flags[es->top] & ERR_FLAG_CLEAR) { + err_clear(es, es->top); + es->top = es->top > 0 ? es->top - 1 : ERR_NUM_ERRORS - 1; + continue; + } + i = (es->bottom + 1) % ERR_NUM_ERRORS; + if (es->err_flags[i] & ERR_FLAG_CLEAR) { + es->bottom = i; + err_clear(es, es->bottom); + continue; + } + break; + } + if (es->bottom == es->top) return 0; + if (top) i = es->top; /* last error */ else @@ -1156,3 +1173,23 @@ int ERR_pop_to_mark(void) es->err_flags[es->top] &= ~ERR_FLAG_MARK; return 1; } + +void err_clear_last_constant_time(int clear) +{ + ERR_STATE *es; + int top; + + es = ERR_get_state(); + if (es == NULL) + return; + + top = es->top; + + /* + * Flag error as cleared but remove it elsewhere to avoid two errors + * accessing the same error stack location, revealing timing information. + */ + clear = constant_time_select_int(constant_time_eq_int(clear, 0), + 0, ERR_FLAG_CLEAR); + es->err_flags[top] |= clear; +} diff --git a/crypto/err/err.h b/crypto/err/err.h index f4236562..1862456e 100644 --- a/crypto/err/err.h +++ b/crypto/err/err.h @@ -56,7 +56,7 @@ * [including the GNU Public Licence.] */ /* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -143,6 +143,7 @@ extern "C" { # define ERR_TXT_STRING 0x02 # define ERR_FLAG_MARK 0x01 +# define ERR_FLAG_CLEAR 0x02 # define ERR_NUM_ERRORS 16 typedef struct err_state_st { diff --git a/crypto/evp/evp.h b/crypto/evp/evp.h index cf1de15e..883a9434 100644 --- a/crypto/evp/evp.h +++ b/crypto/evp/evp.h @@ -1489,8 +1489,10 @@ void ERR_load_EVP_strings(void); # define EVP_F_EVP_CIPHER_CTX_CTRL 124 # define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 # define EVP_F_EVP_DECRYPTFINAL_EX 101 +# define EVP_F_EVP_DECRYPTUPDATE 181 # define EVP_F_EVP_DIGESTINIT_EX 128 # define EVP_F_EVP_ENCRYPTFINAL_EX 127 +# define EVP_F_EVP_ENCRYPTUPDATE 180 # define EVP_F_EVP_MD_CTX_COPY_EX 110 # define EVP_F_EVP_MD_SIZE 162 # define EVP_F_EVP_OPENINIT 102 diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c index 0c740d16..c63fb53a 100644 --- a/crypto/evp/evp_enc.c +++ b/crypto/evp/evp_enc.c @@ -317,8 +317,9 @@ int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, return EVP_CipherInit_ex(ctx, cipher, impl, key, iv, 0); } -int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, - const unsigned char *in, int inl) +static int evp_EncryptDecryptUpdate(EVP_CIPHER_CTX *ctx, + unsigned char *out, int *outl, + const unsigned char *in, int inl) { int i, j, bl; @@ -380,6 +381,18 @@ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, return 1; } +int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, + const unsigned char *in, int inl) +{ + /* Prevent accidental use of decryption context when encrypting */ + if (!ctx->encrypt) { + EVPerr(EVP_F_EVP_ENCRYPTUPDATE, EVP_R_INVALID_OPERATION); + return 0; + } + + return evp_EncryptDecryptUpdate(ctx, out, outl, in, inl); +} + int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl) { int ret; @@ -392,6 +405,12 @@ int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl) int n, ret; unsigned int i, b, bl; + /* Prevent accidental use of decryption context when encrypting */ + if (!ctx->encrypt) { + EVPerr(EVP_F_EVP_ENCRYPTFINAL_EX, EVP_R_INVALID_OPERATION); + return 0; + } + if (ctx->cipher->flags & EVP_CIPH_FLAG_CUSTOM_CIPHER) { ret = M_do_cipher(ctx, out, NULL, 0); if (ret < 0) @@ -435,6 +454,12 @@ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, int fix_len; unsigned int b; + /* Prevent accidental use of encryption context when decrypting */ + if (ctx->encrypt) { + EVPerr(EVP_F_EVP_DECRYPTUPDATE, EVP_R_INVALID_OPERATION); + return 0; + } + if (ctx->cipher->flags & EVP_CIPH_FLAG_CUSTOM_CIPHER) { fix_len = M_do_cipher(ctx, out, in, inl); if (fix_len < 0) { @@ -451,7 +476,7 @@ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, } if (ctx->flags & EVP_CIPH_NO_PADDING) - return EVP_EncryptUpdate(ctx, out, outl, in, inl); + return evp_EncryptDecryptUpdate(ctx, out, outl, in, inl); b = ctx->cipher->block_size; OPENSSL_assert(b <= sizeof(ctx->final)); @@ -463,7 +488,7 @@ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, } else fix_len = 0; - if (!EVP_EncryptUpdate(ctx, out, outl, in, inl)) + if (!evp_EncryptDecryptUpdate(ctx, out, outl, in, inl)) return 0; /* @@ -494,6 +519,13 @@ int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl) { int i, n; unsigned int b; + + /* Prevent accidental use of encryption context when decrypting */ + if (ctx->encrypt) { + EVPerr(EVP_F_EVP_DECRYPTFINAL_EX, EVP_R_INVALID_OPERATION); + return 0; + } + *outl = 0; if (ctx->cipher->flags & EVP_CIPH_FLAG_CUSTOM_CIPHER) { diff --git a/crypto/evp/evp_err.c b/crypto/evp/evp_err.c index bcd841eb..11647b92 100644 --- a/crypto/evp/evp_err.c +++ b/crypto/evp/evp_err.c @@ -1,6 +1,6 @@ /* crypto/evp/evp_err.c */ /* ==================================================================== - * Copyright (c) 1999-2016 The OpenSSL Project. All rights reserved. + * Copyright (c) 1999-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -92,8 +92,10 @@ static ERR_STRING_DATA EVP_str_functs[] = { {ERR_FUNC(EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH), "EVP_CIPHER_CTX_set_key_length"}, {ERR_FUNC(EVP_F_EVP_DECRYPTFINAL_EX), "EVP_DecryptFinal_ex"}, + {ERR_FUNC(EVP_F_EVP_DECRYPTUPDATE), "EVP_DecryptUpdate"}, {ERR_FUNC(EVP_F_EVP_DIGESTINIT_EX), "EVP_DigestInit_ex"}, {ERR_FUNC(EVP_F_EVP_ENCRYPTFINAL_EX), "EVP_EncryptFinal_ex"}, + {ERR_FUNC(EVP_F_EVP_ENCRYPTUPDATE), "EVP_EncryptUpdate"}, {ERR_FUNC(EVP_F_EVP_MD_CTX_COPY_EX), "EVP_MD_CTX_copy_ex"}, {ERR_FUNC(EVP_F_EVP_MD_SIZE), "EVP_MD_size"}, {ERR_FUNC(EVP_F_EVP_OPENINIT), "EVP_OpenInit"}, diff --git a/crypto/evp/evp_test.c b/crypto/evp/evp_test.c index 97a20830..28544a61 100644 --- a/crypto/evp/evp_test.c +++ b/crypto/evp/evp_test.c @@ -1,6 +1,6 @@ /* Written by Ben Laurie, 2001 */ /* - * Copyright (c) 2001 The OpenSSL Project. All rights reserved. + * Copyright (c) 2001-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -327,7 +327,7 @@ static void test1(const EVP_CIPHER *c, const unsigned char *key, int kn, ERR_print_errors_fp(stderr); test1_exit(12); } - if (an && !EVP_EncryptUpdate(&ctx, NULL, &outl, aad, an)) { + if (an && !EVP_DecryptUpdate(&ctx, NULL, &outl, aad, an)) { fprintf(stderr, "AAD set failed\n"); ERR_print_errors_fp(stderr); test1_exit(13); diff --git a/crypto/opensslconf.h b/crypto/opensslconf.h index f237989c..dfbbf830 100644 --- a/crypto/opensslconf.h +++ b/crypto/opensslconf.h @@ -1,283 +1,283 @@ -/* opensslconf.h */ -/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ - -#ifdef __cplusplus -extern "C" { -#endif -/* OpenSSL was configured with the following options: */ -#ifndef OPENSSL_SYSNAME_WIN32 -# define OPENSSL_SYSNAME_WIN32 -#endif -#ifndef OPENSSL_DOING_MAKEDEPEND - - -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -# define OPENSSL_NO_EC_NISTP_64_GCC_128 -#endif -#ifndef OPENSSL_NO_GMP -# define OPENSSL_NO_GMP -#endif -#ifndef OPENSSL_NO_IDEA -# define OPENSSL_NO_IDEA -#endif -#ifndef OPENSSL_NO_JPAKE -# define OPENSSL_NO_JPAKE -#endif -#ifndef OPENSSL_NO_KRB5 -# define OPENSSL_NO_KRB5 -#endif -#ifndef OPENSSL_NO_LIBUNBOUND -# define OPENSSL_NO_LIBUNBOUND -#endif -#ifndef OPENSSL_NO_MD2 -# define OPENSSL_NO_MD2 -#endif -#ifndef OPENSSL_NO_MDC2 -# define OPENSSL_NO_MDC2 -#endif -#ifndef OPENSSL_NO_RC5 -# define OPENSSL_NO_RC5 -#endif -#ifndef OPENSSL_NO_RFC3779 -# define OPENSSL_NO_RFC3779 -#endif -#ifndef OPENSSL_NO_SCTP -# define OPENSSL_NO_SCTP -#endif -#ifndef OPENSSL_NO_SSL_TRACE -# define OPENSSL_NO_SSL_TRACE -#endif -#ifndef OPENSSL_NO_SSL2 -# define OPENSSL_NO_SSL2 -#endif -#ifndef OPENSSL_NO_STORE -# define OPENSSL_NO_STORE -#endif -#ifndef OPENSSL_NO_UNIT_TEST -# define OPENSSL_NO_UNIT_TEST -#endif -#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS -# define OPENSSL_NO_WEAK_SSL_CIPHERS -#endif - -#endif /* OPENSSL_DOING_MAKEDEPEND */ - -#ifndef OPENSSL_THREADS -# define OPENSSL_THREADS -#endif - -/* The OPENSSL_NO_* macros are also defined as NO_* if the application - asks for it. This is a transient feature that is provided for those - who haven't had the time to do the appropriate changes in their - applications. */ -#ifdef OPENSSL_ALGORITHM_DEFINES -# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) -# define NO_EC_NISTP_64_GCC_128 -# endif -# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) -# define NO_GMP -# endif -# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) -# define NO_IDEA -# endif -# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) -# define NO_JPAKE -# endif -# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) -# define NO_KRB5 -# endif -# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) -# define NO_LIBUNBOUND -# endif -# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) -# define NO_MD2 -# endif -# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2) -# define NO_MDC2 -# endif -# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) -# define NO_RC5 -# endif -# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) -# define NO_RFC3779 -# endif -# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) -# define NO_SCTP -# endif -# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) -# define NO_SSL_TRACE -# endif -# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) -# define NO_SSL2 -# endif -# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) -# define NO_STORE -# endif -# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) -# define NO_UNIT_TEST -# endif -# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) -# define NO_WEAK_SSL_CIPHERS -# endif -#endif - -#define OPENSSL_CPUID_OBJ - -/* crypto/opensslconf.h.in */ - -/* Generate 80386 code? */ -#undef I386_ONLY - -#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ -#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) -#define ENGINESDIR "/usr/local/ssl/lib/engines" -#define OPENSSLDIR "/usr/local/ssl" -#endif -#endif - -#undef OPENSSL_UNISTD -#define OPENSSL_UNISTD - -#undef OPENSSL_EXPORT_VAR_AS_FUNCTION -#define OPENSSL_EXPORT_VAR_AS_FUNCTION - -#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) -#define IDEA_INT unsigned int -#endif - -#if defined(HEADER_MD2_H) && !defined(MD2_INT) -#define MD2_INT unsigned int -#endif - -#if defined(HEADER_RC2_H) && !defined(RC2_INT) -/* I need to put in a mod for the alpha - eay */ -#define RC2_INT unsigned int -#endif - -#if defined(HEADER_RC4_H) -#if !defined(RC4_INT) -/* using int types make the structure larger but make the code faster - * on most boxes I have tested - up to %20 faster. */ -/* - * I don't know what does "most" mean, but declaring "int" is a must on: - * - Intel P6 because partial register stalls are very expensive; - * - elder Alpha because it lacks byte load/store instructions; - */ -#define RC4_INT unsigned int -#endif -#if !defined(RC4_CHUNK) -/* - * This enables code handling data aligned at natural CPU word - * boundary. See crypto/rc4/rc4_enc.c for further details. - */ -#undef RC4_CHUNK -#endif -#endif - -#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) -/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a - * %20 speed up (longs are 8 bytes, int's are 4). */ -#ifndef DES_LONG -#define DES_LONG unsigned long -#endif -#endif - -#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) -#define CONFIG_HEADER_BN_H -#define BN_LLONG - -/* Should we define BN_DIV2W here? */ - -/* Only one for the following should be defined */ -#undef SIXTY_FOUR_BIT_LONG -#undef SIXTY_FOUR_BIT -#define THIRTY_TWO_BIT -#endif - -#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) -#define CONFIG_HEADER_RC4_LOCL_H -/* if this is defined data[i] is used instead of *data, this is a %20 - * speedup on x86 */ -#define RC4_INDEX -#endif - -#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) -#define CONFIG_HEADER_BF_LOCL_H -#undef BF_PTR -#endif /* HEADER_BF_LOCL_H */ - -#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) -#define CONFIG_HEADER_DES_LOCL_H -#ifndef DES_DEFAULT_OPTIONS -/* the following is tweaked from a config script, that is why it is a - * protected undef/define */ -#ifndef DES_PTR -#undef DES_PTR -#endif - -/* This helps C compiler generate the correct code for multiple functional - * units. It reduces register dependancies at the expense of 2 more - * registers */ -#ifndef DES_RISC1 -#undef DES_RISC1 -#endif - -#ifndef DES_RISC2 -#undef DES_RISC2 -#endif - -#if defined(DES_RISC1) && defined(DES_RISC2) -#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! -#endif - -/* Unroll the inner loop, this sometimes helps, sometimes hinders. - * Very mucy CPU dependant */ -#ifndef DES_UNROLL -#undef DES_UNROLL -#endif - -/* These default values were supplied by - * Peter Gutman - * They are only used if nothing else has been defined */ -#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) -/* Special defines which change the way the code is built depending on the - CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find - even newer MIPS CPU's, but at the moment one size fits all for - optimization options. Older Sparc's work better with only UNROLL, but - there's no way to tell at compile time what it is you're running on */ - -#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#elif defined( __ultrix ) /* Older MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined( __osf1__ ) /* Alpha */ -# define DES_PTR -# define DES_RISC2 -#elif defined ( _AIX ) /* RS6000 */ - /* Unknown */ -#elif defined( __hpux ) /* HP-PA */ - /* Unknown */ -#elif defined( __aux ) /* 68K */ - /* Unknown */ -#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ -# define DES_UNROLL -#elif defined( __sgi ) /* Newer MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#endif /* Systems-specific speed defines */ -#endif - -#endif /* DES_DEFAULT_OPTIONS */ -#endif /* HEADER_DES_LOCL_H */ -#ifdef __cplusplus -} -#endif +/* opensslconf.h */ +/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ + +#ifdef __cplusplus +extern "C" { +#endif +/* OpenSSL was configured with the following options: */ +#ifndef OPENSSL_SYSNAME_WIN32 +# define OPENSSL_SYSNAME_WIN32 +#endif +#ifndef OPENSSL_DOING_MAKEDEPEND + + +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_GMP +# define OPENSSL_NO_GMP +#endif +#ifndef OPENSSL_NO_IDEA +# define OPENSSL_NO_IDEA +#endif +#ifndef OPENSSL_NO_JPAKE +# define OPENSSL_NO_JPAKE +#endif +#ifndef OPENSSL_NO_KRB5 +# define OPENSSL_NO_KRB5 +#endif +#ifndef OPENSSL_NO_LIBUNBOUND +# define OPENSSL_NO_LIBUNBOUND +#endif +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_MDC2 +# define OPENSSL_NO_MDC2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_NO_RFC3779 +# define OPENSSL_NO_RFC3779 +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL2 +# define OPENSSL_NO_SSL2 +#endif +#ifndef OPENSSL_NO_STORE +# define OPENSSL_NO_STORE +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif + +#endif /* OPENSSL_DOING_MAKEDEPEND */ + +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif + +/* The OPENSSL_NO_* macros are also defined as NO_* if the application + asks for it. This is a transient feature that is provided for those + who haven't had the time to do the appropriate changes in their + applications. */ +#ifdef OPENSSL_ALGORITHM_DEFINES +# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) +# define NO_EC_NISTP_64_GCC_128 +# endif +# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) +# define NO_GMP +# endif +# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) +# define NO_IDEA +# endif +# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) +# define NO_JPAKE +# endif +# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) +# define NO_KRB5 +# endif +# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) +# define NO_LIBUNBOUND +# endif +# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) +# define NO_MD2 +# endif +# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2) +# define NO_MDC2 +# endif +# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) +# define NO_RC5 +# endif +# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) +# define NO_RFC3779 +# endif +# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) +# define NO_SCTP +# endif +# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) +# define NO_SSL_TRACE +# endif +# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) +# define NO_SSL2 +# endif +# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) +# define NO_STORE +# endif +# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) +# define NO_UNIT_TEST +# endif +# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) +# define NO_WEAK_SSL_CIPHERS +# endif +#endif + +#define OPENSSL_CPUID_OBJ + +/* crypto/opensslconf.h.in */ + +/* Generate 80386 code? */ +#undef I386_ONLY + +#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ +#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) +#define ENGINESDIR "/usr/local/ssl/lib/engines" +#define OPENSSLDIR "/usr/local/ssl" +#endif +#endif + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION +#define OPENSSL_EXPORT_VAR_AS_FUNCTION + +#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) +#define IDEA_INT unsigned int +#endif + +#if defined(HEADER_MD2_H) && !defined(MD2_INT) +#define MD2_INT unsigned int +#endif + +#if defined(HEADER_RC2_H) && !defined(RC2_INT) +/* I need to put in a mod for the alpha - eay */ +#define RC2_INT unsigned int +#endif + +#if defined(HEADER_RC4_H) +#if !defined(RC4_INT) +/* using int types make the structure larger but make the code faster + * on most boxes I have tested - up to %20 faster. */ +/* + * I don't know what does "most" mean, but declaring "int" is a must on: + * - Intel P6 because partial register stalls are very expensive; + * - elder Alpha because it lacks byte load/store instructions; + */ +#define RC4_INT unsigned int +#endif +#if !defined(RC4_CHUNK) +/* + * This enables code handling data aligned at natural CPU word + * boundary. See crypto/rc4/rc4_enc.c for further details. + */ +#undef RC4_CHUNK +#endif +#endif + +#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) +/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a + * %20 speed up (longs are 8 bytes, int's are 4). */ +#ifndef DES_LONG +#define DES_LONG unsigned long +#endif +#endif + +#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) +#define CONFIG_HEADER_BN_H +#define BN_LLONG + +/* Should we define BN_DIV2W here? */ + +/* Only one for the following should be defined */ +#undef SIXTY_FOUR_BIT_LONG +#undef SIXTY_FOUR_BIT +#define THIRTY_TWO_BIT +#endif + +#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) +#define CONFIG_HEADER_RC4_LOCL_H +/* if this is defined data[i] is used instead of *data, this is a %20 + * speedup on x86 */ +#define RC4_INDEX +#endif + +#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) +#define CONFIG_HEADER_BF_LOCL_H +#undef BF_PTR +#endif /* HEADER_BF_LOCL_H */ + +#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) +#define CONFIG_HEADER_DES_LOCL_H +#ifndef DES_DEFAULT_OPTIONS +/* the following is tweaked from a config script, that is why it is a + * protected undef/define */ +#ifndef DES_PTR +#undef DES_PTR +#endif + +/* This helps C compiler generate the correct code for multiple functional + * units. It reduces register dependancies at the expense of 2 more + * registers */ +#ifndef DES_RISC1 +#undef DES_RISC1 +#endif + +#ifndef DES_RISC2 +#undef DES_RISC2 +#endif + +#if defined(DES_RISC1) && defined(DES_RISC2) +#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! +#endif + +/* Unroll the inner loop, this sometimes helps, sometimes hinders. + * Very mucy CPU dependant */ +#ifndef DES_UNROLL +#undef DES_UNROLL +#endif + +/* These default values were supplied by + * Peter Gutman + * They are only used if nothing else has been defined */ +#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) +/* Special defines which change the way the code is built depending on the + CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find + even newer MIPS CPU's, but at the moment one size fits all for + optimization options. Older Sparc's work better with only UNROLL, but + there's no way to tell at compile time what it is you're running on */ + +#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#elif defined( __ultrix ) /* Older MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined( __osf1__ ) /* Alpha */ +# define DES_PTR +# define DES_RISC2 +#elif defined ( _AIX ) /* RS6000 */ + /* Unknown */ +#elif defined( __hpux ) /* HP-PA */ + /* Unknown */ +#elif defined( __aux ) /* 68K */ + /* Unknown */ +#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ +# define DES_UNROLL +#elif defined( __sgi ) /* Newer MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#endif /* Systems-specific speed defines */ +#endif + +#endif /* DES_DEFAULT_OPTIONS */ +#endif /* HEADER_DES_LOCL_H */ +#ifdef __cplusplus +} +#endif diff --git a/crypto/opensslconf.h.bak b/crypto/opensslconf.h.bak index 7ebd579e..389c556e 100644 --- a/crypto/opensslconf.h.bak +++ b/crypto/opensslconf.h.bak @@ -1,283 +1,283 @@ -/* opensslconf.h */ -/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ - -#ifdef __cplusplus -extern "C" { -#endif -/* OpenSSL was configured with the following options: */ -#ifndef OPENSSL_SYSNAME_WIN64A -# define OPENSSL_SYSNAME_WIN64A -#endif -#ifndef OPENSSL_DOING_MAKEDEPEND - - -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -# define OPENSSL_NO_EC_NISTP_64_GCC_128 -#endif -#ifndef OPENSSL_NO_GMP -# define OPENSSL_NO_GMP -#endif -#ifndef OPENSSL_NO_IDEA -# define OPENSSL_NO_IDEA -#endif -#ifndef OPENSSL_NO_JPAKE -# define OPENSSL_NO_JPAKE -#endif -#ifndef OPENSSL_NO_KRB5 -# define OPENSSL_NO_KRB5 -#endif -#ifndef OPENSSL_NO_LIBUNBOUND -# define OPENSSL_NO_LIBUNBOUND -#endif -#ifndef OPENSSL_NO_MD2 -# define OPENSSL_NO_MD2 -#endif -#ifndef OPENSSL_NO_MDC2 -# define OPENSSL_NO_MDC2 -#endif -#ifndef OPENSSL_NO_RC5 -# define OPENSSL_NO_RC5 -#endif -#ifndef OPENSSL_NO_RFC3779 -# define OPENSSL_NO_RFC3779 -#endif -#ifndef OPENSSL_NO_SCTP -# define OPENSSL_NO_SCTP -#endif -#ifndef OPENSSL_NO_SSL_TRACE -# define OPENSSL_NO_SSL_TRACE -#endif -#ifndef OPENSSL_NO_SSL2 -# define OPENSSL_NO_SSL2 -#endif -#ifndef OPENSSL_NO_STORE -# define OPENSSL_NO_STORE -#endif -#ifndef OPENSSL_NO_UNIT_TEST -# define OPENSSL_NO_UNIT_TEST -#endif -#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS -# define OPENSSL_NO_WEAK_SSL_CIPHERS -#endif - -#endif /* OPENSSL_DOING_MAKEDEPEND */ - -#ifndef OPENSSL_THREADS -# define OPENSSL_THREADS -#endif - -/* The OPENSSL_NO_* macros are also defined as NO_* if the application - asks for it. This is a transient feature that is provided for those - who haven't had the time to do the appropriate changes in their - applications. */ -#ifdef OPENSSL_ALGORITHM_DEFINES -# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) -# define NO_EC_NISTP_64_GCC_128 -# endif -# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) -# define NO_GMP -# endif -# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) -# define NO_IDEA -# endif -# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) -# define NO_JPAKE -# endif -# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) -# define NO_KRB5 -# endif -# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) -# define NO_LIBUNBOUND -# endif -# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) -# define NO_MD2 -# endif -# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2) -# define NO_MDC2 -# endif -# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) -# define NO_RC5 -# endif -# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) -# define NO_RFC3779 -# endif -# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) -# define NO_SCTP -# endif -# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) -# define NO_SSL_TRACE -# endif -# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) -# define NO_SSL2 -# endif -# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) -# define NO_STORE -# endif -# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) -# define NO_UNIT_TEST -# endif -# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) -# define NO_WEAK_SSL_CIPHERS -# endif -#endif - -#define OPENSSL_CPUID_OBJ - -/* crypto/opensslconf.h.in */ - -/* Generate 80386 code? */ -#undef I386_ONLY - -#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ -#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) -#define ENGINESDIR "/usr/local/ssl/lib/engines" -#define OPENSSLDIR "/usr/local/ssl" -#endif -#endif - -#undef OPENSSL_UNISTD -#define OPENSSL_UNISTD - -#undef OPENSSL_EXPORT_VAR_AS_FUNCTION -#define OPENSSL_EXPORT_VAR_AS_FUNCTION - -#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) -#define IDEA_INT unsigned int -#endif - -#if defined(HEADER_MD2_H) && !defined(MD2_INT) -#define MD2_INT unsigned int -#endif - -#if defined(HEADER_RC2_H) && !defined(RC2_INT) -/* I need to put in a mod for the alpha - eay */ -#define RC2_INT unsigned int -#endif - -#if defined(HEADER_RC4_H) -#if !defined(RC4_INT) -/* using int types make the structure larger but make the code faster - * on most boxes I have tested - up to %20 faster. */ -/* - * I don't know what does "most" mean, but declaring "int" is a must on: - * - Intel P6 because partial register stalls are very expensive; - * - elder Alpha because it lacks byte load/store instructions; - */ -#define RC4_INT unsigned int -#endif -#if !defined(RC4_CHUNK) -/* - * This enables code handling data aligned at natural CPU word - * boundary. See crypto/rc4/rc4_enc.c for further details. - */ -#define RC4_CHUNK unsigned long long -#endif -#endif - -#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) -/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a - * %20 speed up (longs are 8 bytes, int's are 4). */ -#ifndef DES_LONG -#define DES_LONG unsigned int -#endif -#endif - -#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) -#define CONFIG_HEADER_BN_H -#undef BN_LLONG - -/* Should we define BN_DIV2W here? */ - -/* Only one for the following should be defined */ -#undef SIXTY_FOUR_BIT_LONG -#define SIXTY_FOUR_BIT -#undef THIRTY_TWO_BIT -#endif - -#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) -#define CONFIG_HEADER_RC4_LOCL_H -/* if this is defined data[i] is used instead of *data, this is a %20 - * speedup on x86 */ -#undef RC4_INDEX -#endif - -#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) -#define CONFIG_HEADER_BF_LOCL_H -#undef BF_PTR -#endif /* HEADER_BF_LOCL_H */ - -#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) -#define CONFIG_HEADER_DES_LOCL_H -#ifndef DES_DEFAULT_OPTIONS -/* the following is tweaked from a config script, that is why it is a - * protected undef/define */ -#ifndef DES_PTR -#undef DES_PTR -#endif - -/* This helps C compiler generate the correct code for multiple functional - * units. It reduces register dependancies at the expense of 2 more - * registers */ -#ifndef DES_RISC1 -#undef DES_RISC1 -#endif - -#ifndef DES_RISC2 -#undef DES_RISC2 -#endif - -#if defined(DES_RISC1) && defined(DES_RISC2) -#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! -#endif - -/* Unroll the inner loop, this sometimes helps, sometimes hinders. - * Very mucy CPU dependant */ -#ifndef DES_UNROLL -#undef DES_UNROLL -#endif - -/* These default values were supplied by - * Peter Gutman - * They are only used if nothing else has been defined */ -#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) -/* Special defines which change the way the code is built depending on the - CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find - even newer MIPS CPU's, but at the moment one size fits all for - optimization options. Older Sparc's work better with only UNROLL, but - there's no way to tell at compile time what it is you're running on */ - -#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#elif defined( __ultrix ) /* Older MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined( __osf1__ ) /* Alpha */ -# define DES_PTR -# define DES_RISC2 -#elif defined ( _AIX ) /* RS6000 */ - /* Unknown */ -#elif defined( __hpux ) /* HP-PA */ - /* Unknown */ -#elif defined( __aux ) /* 68K */ - /* Unknown */ -#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ -# define DES_UNROLL -#elif defined( __sgi ) /* Newer MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#endif /* Systems-specific speed defines */ -#endif - -#endif /* DES_DEFAULT_OPTIONS */ -#endif /* HEADER_DES_LOCL_H */ -#ifdef __cplusplus -} -#endif +/* opensslconf.h */ +/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ + +#ifdef __cplusplus +extern "C" { +#endif +/* OpenSSL was configured with the following options: */ +#ifndef OPENSSL_SYSNAME_WIN64A +# define OPENSSL_SYSNAME_WIN64A +#endif +#ifndef OPENSSL_DOING_MAKEDEPEND + + +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_GMP +# define OPENSSL_NO_GMP +#endif +#ifndef OPENSSL_NO_IDEA +# define OPENSSL_NO_IDEA +#endif +#ifndef OPENSSL_NO_JPAKE +# define OPENSSL_NO_JPAKE +#endif +#ifndef OPENSSL_NO_KRB5 +# define OPENSSL_NO_KRB5 +#endif +#ifndef OPENSSL_NO_LIBUNBOUND +# define OPENSSL_NO_LIBUNBOUND +#endif +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_MDC2 +# define OPENSSL_NO_MDC2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_NO_RFC3779 +# define OPENSSL_NO_RFC3779 +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL2 +# define OPENSSL_NO_SSL2 +#endif +#ifndef OPENSSL_NO_STORE +# define OPENSSL_NO_STORE +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif + +#endif /* OPENSSL_DOING_MAKEDEPEND */ + +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif + +/* The OPENSSL_NO_* macros are also defined as NO_* if the application + asks for it. This is a transient feature that is provided for those + who haven't had the time to do the appropriate changes in their + applications. */ +#ifdef OPENSSL_ALGORITHM_DEFINES +# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) +# define NO_EC_NISTP_64_GCC_128 +# endif +# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) +# define NO_GMP +# endif +# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) +# define NO_IDEA +# endif +# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) +# define NO_JPAKE +# endif +# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) +# define NO_KRB5 +# endif +# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) +# define NO_LIBUNBOUND +# endif +# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) +# define NO_MD2 +# endif +# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2) +# define NO_MDC2 +# endif +# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) +# define NO_RC5 +# endif +# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) +# define NO_RFC3779 +# endif +# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) +# define NO_SCTP +# endif +# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) +# define NO_SSL_TRACE +# endif +# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) +# define NO_SSL2 +# endif +# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) +# define NO_STORE +# endif +# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) +# define NO_UNIT_TEST +# endif +# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) +# define NO_WEAK_SSL_CIPHERS +# endif +#endif + +#define OPENSSL_CPUID_OBJ + +/* crypto/opensslconf.h.in */ + +/* Generate 80386 code? */ +#undef I386_ONLY + +#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ +#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) +#define ENGINESDIR "/usr/local/ssl/lib/engines" +#define OPENSSLDIR "/usr/local/ssl" +#endif +#endif + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION +#define OPENSSL_EXPORT_VAR_AS_FUNCTION + +#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) +#define IDEA_INT unsigned int +#endif + +#if defined(HEADER_MD2_H) && !defined(MD2_INT) +#define MD2_INT unsigned int +#endif + +#if defined(HEADER_RC2_H) && !defined(RC2_INT) +/* I need to put in a mod for the alpha - eay */ +#define RC2_INT unsigned int +#endif + +#if defined(HEADER_RC4_H) +#if !defined(RC4_INT) +/* using int types make the structure larger but make the code faster + * on most boxes I have tested - up to %20 faster. */ +/* + * I don't know what does "most" mean, but declaring "int" is a must on: + * - Intel P6 because partial register stalls are very expensive; + * - elder Alpha because it lacks byte load/store instructions; + */ +#define RC4_INT unsigned int +#endif +#if !defined(RC4_CHUNK) +/* + * This enables code handling data aligned at natural CPU word + * boundary. See crypto/rc4/rc4_enc.c for further details. + */ +#define RC4_CHUNK unsigned long long +#endif +#endif + +#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) +/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a + * %20 speed up (longs are 8 bytes, int's are 4). */ +#ifndef DES_LONG +#define DES_LONG unsigned int +#endif +#endif + +#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) +#define CONFIG_HEADER_BN_H +#undef BN_LLONG + +/* Should we define BN_DIV2W here? */ + +/* Only one for the following should be defined */ +#undef SIXTY_FOUR_BIT_LONG +#define SIXTY_FOUR_BIT +#undef THIRTY_TWO_BIT +#endif + +#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) +#define CONFIG_HEADER_RC4_LOCL_H +/* if this is defined data[i] is used instead of *data, this is a %20 + * speedup on x86 */ +#undef RC4_INDEX +#endif + +#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) +#define CONFIG_HEADER_BF_LOCL_H +#undef BF_PTR +#endif /* HEADER_BF_LOCL_H */ + +#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) +#define CONFIG_HEADER_DES_LOCL_H +#ifndef DES_DEFAULT_OPTIONS +/* the following is tweaked from a config script, that is why it is a + * protected undef/define */ +#ifndef DES_PTR +#undef DES_PTR +#endif + +/* This helps C compiler generate the correct code for multiple functional + * units. It reduces register dependancies at the expense of 2 more + * registers */ +#ifndef DES_RISC1 +#undef DES_RISC1 +#endif + +#ifndef DES_RISC2 +#undef DES_RISC2 +#endif + +#if defined(DES_RISC1) && defined(DES_RISC2) +#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! +#endif + +/* Unroll the inner loop, this sometimes helps, sometimes hinders. + * Very mucy CPU dependant */ +#ifndef DES_UNROLL +#undef DES_UNROLL +#endif + +/* These default values were supplied by + * Peter Gutman + * They are only used if nothing else has been defined */ +#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) +/* Special defines which change the way the code is built depending on the + CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find + even newer MIPS CPU's, but at the moment one size fits all for + optimization options. Older Sparc's work better with only UNROLL, but + there's no way to tell at compile time what it is you're running on */ + +#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#elif defined( __ultrix ) /* Older MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined( __osf1__ ) /* Alpha */ +# define DES_PTR +# define DES_RISC2 +#elif defined ( _AIX ) /* RS6000 */ + /* Unknown */ +#elif defined( __hpux ) /* HP-PA */ + /* Unknown */ +#elif defined( __aux ) /* 68K */ + /* Unknown */ +#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ +# define DES_UNROLL +#elif defined( __sgi ) /* Newer MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#endif /* Systems-specific speed defines */ +#endif + +#endif /* DES_DEFAULT_OPTIONS */ +#endif /* HEADER_DES_LOCL_H */ +#ifdef __cplusplus +} +#endif diff --git a/crypto/opensslv.h b/crypto/opensslv.h index 73d22b39..8b475698 100644 --- a/crypto/opensslv.h +++ b/crypto/opensslv.h @@ -30,11 +30,11 @@ extern "C" { * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -# define OPENSSL_VERSION_NUMBER 0x1000211fL +# define OPENSSL_VERSION_NUMBER 0x1000213fL # ifdef OPENSSL_FIPS -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q-fips 20 Nov 2018" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2s-fips 28 May 2019" # else -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q 20 Nov 2018" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2s 28 May 2019" # endif # define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT diff --git a/crypto/rsa/Makefile b/crypto/rsa/Makefile index 6be73ed1..b083e291 100644 --- a/crypto/rsa/Makefile +++ b/crypto/rsa/Makefile @@ -153,7 +153,8 @@ rsa_eay.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h rsa_eay.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h rsa_eay.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h rsa_eay.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -rsa_eay.o: ../../include/openssl/symhacks.h ../bn_int.h ../cryptlib.h rsa_eay.c +rsa_eay.o: ../../include/openssl/symhacks.h ../bn_int.h ../constant_time_locl.h +rsa_eay.o: ../cryptlib.h rsa_eay.c rsa_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h rsa_err.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h rsa_err.o: ../../include/openssl/err.h ../../include/openssl/lhash.h @@ -299,7 +300,8 @@ rsa_ssl.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h rsa_ssl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h rsa_ssl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h rsa_ssl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -rsa_ssl.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_ssl.c +rsa_ssl.o: ../../include/openssl/symhacks.h ../constant_time_locl.h +rsa_ssl.o: ../cryptlib.h rsa_ssl.c rsa_x931.o: ../../e_os.h ../../include/openssl/asn1.h rsa_x931.o: ../../include/openssl/bio.h ../../include/openssl/bn.h rsa_x931.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h diff --git a/crypto/rsa/rsa_eay.c b/crypto/rsa/rsa_eay.c index be948a4c..b7362ad7 100644 --- a/crypto/rsa/rsa_eay.c +++ b/crypto/rsa/rsa_eay.c @@ -56,7 +56,7 @@ * [including the GNU Public Licence.] */ /* ==================================================================== - * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -115,6 +115,7 @@ #include #include #include "bn_int.h" +#include "constant_time_locl.h" #ifndef RSA_NULL @@ -397,6 +398,11 @@ static int RSA_eay_private_encrypt(int flen, const unsigned char *from, goto err; } + if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) + if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, CRYPTO_LOCK_RSA, + rsa->n, ctx)) + goto err; + if (!(rsa->flags & RSA_FLAG_NO_BLINDING)) { blinding = rsa_get_blinding(rsa, &local_blinding, ctx); if (blinding == NULL) { @@ -431,11 +437,6 @@ static int RSA_eay_private_encrypt(int flen, const unsigned char *from, } else d = rsa->d; - if (rsa->flags & RSA_FLAG_CACHE_PUBLIC) - if (!BN_MONT_CTX_set_locked(&rsa->_method_mod_n, CRYPTO_LOCK_RSA, - rsa->n, ctx)) - goto err; - if (!rsa->meth->bn_mod_exp(ret, f, d, rsa->n, ctx, rsa->_method_mod_n)) goto err; @@ -587,8 +588,8 @@ static int RSA_eay_private_decrypt(int flen, const unsigned char *from, RSAerr(RSA_F_RSA_EAY_PRIVATE_DECRYPT, RSA_R_UNKNOWN_PADDING_TYPE); goto err; } - if (r < 0) - RSAerr(RSA_F_RSA_EAY_PRIVATE_DECRYPT, RSA_R_PADDING_CHECK_FAILED); + RSAerr(RSA_F_RSA_EAY_PRIVATE_DECRYPT, RSA_R_PADDING_CHECK_FAILED); + err_clear_last_constant_time(1 & ~constant_time_msb(r)); err: if (ctx != NULL) { diff --git a/crypto/rsa/rsa_oaep.c b/crypto/rsa/rsa_oaep.c index 3fb8f6b3..41e9c3bf 100644 --- a/crypto/rsa/rsa_oaep.c +++ b/crypto/rsa/rsa_oaep.c @@ -121,7 +121,7 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, const EVP_MD *mgf1md) { int i, dblen = 0, mlen = -1, one_index = 0, msg_index; - unsigned int good, found_one_byte; + unsigned int good = 0, found_one_byte, mask; const unsigned char *maskedseed, *maskeddb; /* * |em| is the encoded message, zero-padded to exactly |num| bytes: em = @@ -144,12 +144,15 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, * |num| is the length of the modulus; |flen| is the length of the * encoded message. Therefore, for any |from| that was obtained by * decrypting a ciphertext, we must have |flen| <= |num|. Similarly, - * num < 2 * mdlen + 2 must hold for the modulus irrespective of + * |num| >= 2 * |mdlen| + 2 must hold for the modulus irrespective of * the ciphertext, see PKCS #1 v2.2, section 7.1.2. * This does not leak any side-channel information. */ - if (num < flen || num < 2 * mdlen + 2) - goto decoding_err; + if (num < flen || num < 2 * mdlen + 2) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, + RSA_R_OAEP_DECODING_ERROR); + return -1; + } dblen = num - mdlen - 1; db = OPENSSL_malloc(dblen); @@ -158,25 +161,24 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, goto cleanup; } - if (flen != num) { - em = OPENSSL_malloc(num); - if (em == NULL) { - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, - ERR_R_MALLOC_FAILURE); - goto cleanup; - } + em = OPENSSL_malloc(num); + if (em == NULL) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, + ERR_R_MALLOC_FAILURE); + goto cleanup; + } - /* - * Caller is encouraged to pass zero-padded message created with - * BN_bn2binpad, but if it doesn't, we do this zero-padding copy - * to avoid leaking that information. The copy still leaks some - * side-channel information, but it's impossible to have a fixed - * memory access pattern since we can't read out of the bounds of - * |from|. - */ - memset(em, 0, num); - memcpy(em + num - flen, from, flen); - from = em; + /* + * Caller is encouraged to pass zero-padded message created with + * BN_bn2binpad. Trouble is that since we can't read out of |from|'s + * bounds, it's impossible to have an invariant memory access pattern + * in case |from| was not zero-padded in advance. + */ + for (from += flen, em += num, i = 0; i < num; i++) { + mask = ~constant_time_is_zero(flen); + flen -= 1 & mask; + from -= 1 & mask; + *--em = *from & mask; } /* @@ -184,10 +186,10 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, * true. See James H. Manger, "A Chosen Ciphertext Attack on RSA * Optimal Asymmetric Encryption Padding (OAEP) [...]", CRYPTO 2001). */ - good = constant_time_is_zero(from[0]); + good = constant_time_is_zero(em[0]); - maskedseed = from + 1; - maskeddb = from + 1 + mdlen; + maskedseed = em + 1; + maskeddb = em + 1 + mdlen; if (PKCS1_MGF1(seed, mdlen, maskeddb, dblen, mgf1md)) goto cleanup; @@ -224,37 +226,51 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, * so plaintext-awareness ensures timing side-channels are no longer a * concern. */ - if (!good) - goto decoding_err; - msg_index = one_index + 1; mlen = dblen - msg_index; - if (tlen < mlen) { - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, RSA_R_DATA_TOO_LARGE); - mlen = -1; - } else { - memcpy(to, db + msg_index, mlen); - goto cleanup; + /* + * For good measure, do this check in constant time as well. + */ + good &= constant_time_ge(tlen, mlen); + + /* + * Move the result in-place by |dblen|-|mdlen|-1-|mlen| bytes to the left. + * Then if |good| move |mlen| bytes from |db|+|mdlen|+1 to |to|. + * Otherwise leave |to| unchanged. + * Copy the memory back in a way that does not reveal the size of + * the data being copied via a timing side channel. This requires copying + * parts of the buffer multiple times based on the bits set in the real + * length. Clear bits do a non-copy with identical access pattern. + * The loop below has overall complexity of O(N*log(N)). + */ + tlen = constant_time_select_int(constant_time_lt(dblen - mdlen - 1, tlen), + dblen - mdlen - 1, tlen); + for (msg_index = 1; msg_index < dblen - mdlen - 1; msg_index <<= 1) { + mask = ~constant_time_eq(msg_index & (dblen - mdlen - 1 - mlen), 0); + for (i = mdlen + 1; i < dblen - msg_index; i++) + db[i] = constant_time_select_8(mask, db[i + msg_index], db[i]); + } + for (i = 0; i < tlen; i++) { + mask = good & constant_time_lt(i, mlen); + to[i] = constant_time_select_8(mask, db[i + mdlen + 1], to[i]); } - decoding_err: /* * To avoid chosen ciphertext attacks, the error message should not * reveal which kind of decoding error happened. */ RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1, RSA_R_OAEP_DECODING_ERROR); + err_clear_last_constant_time(1 & good); cleanup: - if (db != NULL) { - OPENSSL_cleanse(db, dblen); - OPENSSL_free(db); - } - if (em != NULL) { - OPENSSL_cleanse(em, num); - OPENSSL_free(em); - } - return mlen; + OPENSSL_cleanse(seed, sizeof(seed)); + OPENSSL_cleanse(db, dblen); + OPENSSL_free(db); + OPENSSL_cleanse(em, num); + OPENSSL_free(em); + + return constant_time_select_int(good, mlen, -1); } int PKCS1_MGF1(unsigned char *mask, long len, diff --git a/crypto/rsa/rsa_pk1.c b/crypto/rsa/rsa_pk1.c index 5d7882a3..86e0debc 100644 --- a/crypto/rsa/rsa_pk1.c +++ b/crypto/rsa/rsa_pk1.c @@ -207,7 +207,7 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, int i; /* |em| is the encoded message, zero-padded to exactly |num| bytes */ unsigned char *em = NULL; - unsigned int good, found_zero_byte; + unsigned int good, found_zero_byte, mask; int zero_index = 0, msg_index, mlen = -1; if (tlen < 0 || flen < 0) @@ -218,49 +218,49 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, * section 7.2.2. */ - if (flen > num) - goto err; - - if (num < 11) - goto err; - - if (flen != num) { - em = OPENSSL_malloc(num); - if (em == NULL) { - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, ERR_R_MALLOC_FAILURE); - return -1; - } - /* - * Caller is encouraged to pass zero-padded message created with - * BN_bn2binpad, but if it doesn't, we do this zero-padding copy - * to avoid leaking that information. The copy still leaks some - * side-channel information, but it's impossible to have a fixed - * memory access pattern since we can't read out of the bounds of - * |from|. - */ - memset(em, 0, num); - memcpy(em + num - flen, from, flen); - from = em; + if (flen > num || num < 11) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, + RSA_R_PKCS_DECODING_ERROR); + return -1; } - good = constant_time_is_zero(from[0]); - good &= constant_time_eq(from[1], 2); + em = OPENSSL_malloc(num); + if (em == NULL) { + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, ERR_R_MALLOC_FAILURE); + return -1; + } + /* + * Caller is encouraged to pass zero-padded message created with + * BN_bn2binpad. Trouble is that since we can't read out of |from|'s + * bounds, it's impossible to have an invariant memory access pattern + * in case |from| was not zero-padded in advance. + */ + for (from += flen, em += num, i = 0; i < num; i++) { + mask = ~constant_time_is_zero(flen); + flen -= 1 & mask; + from -= 1 & mask; + *--em = *from & mask; + } + good = constant_time_is_zero(em[0]); + good &= constant_time_eq(em[1], 2); + + /* scan over padding data */ found_zero_byte = 0; for (i = 2; i < num; i++) { - unsigned int equals0 = constant_time_is_zero(from[i]); - zero_index = - constant_time_select_int(~found_zero_byte & equals0, i, - zero_index); + unsigned int equals0 = constant_time_is_zero(em[i]); + + zero_index = constant_time_select_int(~found_zero_byte & equals0, + i, zero_index); found_zero_byte |= equals0; } /* - * PS must be at least 8 bytes long, and it starts two bytes into |from|. + * PS must be at least 8 bytes long, and it starts two bytes into |em|. * If we never found a 0-byte, then |zero_index| is 0 and the check * also fails. */ - good &= constant_time_ge((unsigned int)(zero_index), 2 + 8); + good &= constant_time_ge(zero_index, 2 + 8); /* * Skip the zero byte. This is incorrect if we never found a zero-byte @@ -270,30 +270,36 @@ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, mlen = num - msg_index; /* - * For good measure, do this check in constant time as well; it could - * leak something if |tlen| was assuming valid padding. + * For good measure, do this check in constant time as well. */ - good &= constant_time_ge((unsigned int)(tlen), (unsigned int)(mlen)); + good &= constant_time_ge(tlen, mlen); /* - * We can't continue in constant-time because we need to copy the result - * and we cannot fake its length. This unavoidably leaks timing - * information at the API boundary. + * Move the result in-place by |num|-11-|mlen| bytes to the left. + * Then if |good| move |mlen| bytes from |em|+11 to |to|. + * Otherwise leave |to| unchanged. + * Copy the memory back in a way that does not reveal the size of + * the data being copied via a timing side channel. This requires copying + * parts of the buffer multiple times based on the bits set in the real + * length. Clear bits do a non-copy with identical access pattern. + * The loop below has overall complexity of O(N*log(N)). */ - if (!good) { - mlen = -1; - goto err; + tlen = constant_time_select_int(constant_time_lt(num - 11, tlen), + num - 11, tlen); + for (msg_index = 1; msg_index < num - 11; msg_index <<= 1) { + mask = ~constant_time_eq(msg_index & (num - 11 - mlen), 0); + for (i = 11; i < num - msg_index; i++) + em[i] = constant_time_select_8(mask, em[i + msg_index], em[i]); + } + for (i = 0; i < tlen; i++) { + mask = good & constant_time_lt(i, mlen); + to[i] = constant_time_select_8(mask, em[i + 11], to[i]); } - memcpy(to, from + msg_index, mlen); + OPENSSL_cleanse(em, num); + OPENSSL_free(em); + RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, RSA_R_PKCS_DECODING_ERROR); + err_clear_last_constant_time(1 & good); - err: - if (em != NULL) { - OPENSSL_cleanse(em, num); - OPENSSL_free(em); - } - if (mlen == -1) - RSAerr(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2, - RSA_R_PKCS_DECODING_ERROR); - return mlen; + return constant_time_select_int(good, mlen, -1); } diff --git a/crypto/rsa/rsa_pmeth.c b/crypto/rsa/rsa_pmeth.c index 00e730ff..a798be5b 100644 --- a/crypto/rsa/rsa_pmeth.c +++ b/crypto/rsa/rsa_pmeth.c @@ -4,7 +4,7 @@ * 2006. */ /* ==================================================================== - * Copyright (c) 2006 The OpenSSL Project. All rights reserved. + * Copyright (c) 2006-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -103,7 +103,7 @@ static int pkey_rsa_init(EVP_PKEY_CTX *ctx) rctx = OPENSSL_malloc(sizeof(RSA_PKEY_CTX)); if (!rctx) return 0; - rctx->nbits = 1024; + rctx->nbits = 2048; rctx->pub_exp = NULL; rctx->pad_mode = RSA_PKCS1_PADDING; rctx->md = NULL; diff --git a/crypto/rsa/rsa_ssl.c b/crypto/rsa/rsa_ssl.c index 831f75aa..6f25acda 100644 --- a/crypto/rsa/rsa_ssl.c +++ b/crypto/rsa/rsa_ssl.c @@ -61,6 +61,7 @@ #include #include #include +#include "constant_time_locl.h" int RSA_padding_add_SSLv23(unsigned char *to, int tlen, const unsigned char *from, int flen) @@ -101,57 +102,119 @@ int RSA_padding_add_SSLv23(unsigned char *to, int tlen, return (1); } +/* + * Copy of RSA_padding_check_PKCS1_type_2 with a twist that rejects padding + * if nul delimiter is not preceded by 8 consecutive 0x03 bytes. It also + * preserves error code reporting for backward compatibility. + */ int RSA_padding_check_SSLv23(unsigned char *to, int tlen, const unsigned char *from, int flen, int num) { - int i, j, k; - const unsigned char *p; + int i; + /* |em| is the encoded message, zero-padded to exactly |num| bytes */ + unsigned char *em = NULL; + unsigned int good, found_zero_byte, mask, threes_in_row; + int zero_index = 0, msg_index, mlen = -1, err; - p = from; - if (flen < 10) { + if (tlen <= 0 || flen <= 0) + return -1; + + if (flen > num || num < 11) { RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_DATA_TOO_SMALL); return (-1); } - /* Accept even zero-padded input */ - if (flen == num) { - if (*(p++) != 0) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_BLOCK_TYPE_IS_NOT_02); - return -1; - } - flen--; + + em = OPENSSL_malloc(num); + if (em == NULL) { + RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, ERR_R_MALLOC_FAILURE); + return -1; } - if ((num != (flen + 1)) || (*(p++) != 02)) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_BLOCK_TYPE_IS_NOT_02); - return (-1); + /* + * Caller is encouraged to pass zero-padded message created with + * BN_bn2binpad. Trouble is that since we can't read out of |from|'s + * bounds, it's impossible to have an invariant memory access pattern + * in case |from| was not zero-padded in advance. + */ + for (from += flen, em += num, i = 0; i < num; i++) { + mask = ~constant_time_is_zero(flen); + flen -= 1 & mask; + from -= 1 & mask; + *--em = *from & mask; } + good = constant_time_is_zero(em[0]); + good &= constant_time_eq(em[1], 2); + err = constant_time_select_int(good, 0, RSA_R_BLOCK_TYPE_IS_NOT_02); + mask = ~good; + /* scan over padding data */ - j = flen - 1; /* one for type */ - for (i = 0; i < j; i++) - if (*(p++) == 0) - break; + found_zero_byte = 0; + threes_in_row = 0; + for (i = 2; i < num; i++) { + unsigned int equals0 = constant_time_is_zero(em[i]); - if ((i == j) || (i < 8)) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, - RSA_R_NULL_BEFORE_BLOCK_MISSING); - return (-1); - } - for (k = -9; k < -1; k++) { - if (p[k] != 0x03) - break; - } - if (k == -1) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_SSLV3_ROLLBACK_ATTACK); - return (-1); + zero_index = constant_time_select_int(~found_zero_byte & equals0, + i, zero_index); + found_zero_byte |= equals0; + + threes_in_row += 1 & ~found_zero_byte; + threes_in_row &= found_zero_byte | constant_time_eq(em[i], 3); } - i++; /* Skip over the '\0' */ - j -= i; - if (j > tlen) { - RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, RSA_R_DATA_TOO_LARGE); - return (-1); - } - memcpy(to, p, (unsigned int)j); + /* + * PS must be at least 8 bytes long, and it starts two bytes into |em|. + * If we never found a 0-byte, then |zero_index| is 0 and the check + * also fails. + */ + good &= constant_time_ge(zero_index, 2 + 8); + err = constant_time_select_int(mask | good, err, + RSA_R_NULL_BEFORE_BLOCK_MISSING); + mask = ~good; - return (j); + good &= constant_time_ge(threes_in_row, 8); + err = constant_time_select_int(mask | good, err, + RSA_R_SSLV3_ROLLBACK_ATTACK); + mask = ~good; + + /* + * Skip the zero byte. This is incorrect if we never found a zero-byte + * but in this case we also do not copy the message out. + */ + msg_index = zero_index + 1; + mlen = num - msg_index; + + /* + * For good measure, do this check in constant time as well. + */ + good &= constant_time_ge(tlen, mlen); + err = constant_time_select_int(mask | good, err, RSA_R_DATA_TOO_LARGE); + + /* + * Move the result in-place by |num|-11-|mlen| bytes to the left. + * Then if |good| move |mlen| bytes from |em|+11 to |to|. + * Otherwise leave |to| unchanged. + * Copy the memory back in a way that does not reveal the size of + * the data being copied via a timing side channel. This requires copying + * parts of the buffer multiple times based on the bits set in the real + * length. Clear bits do a non-copy with identical access pattern. + * The loop below has overall complexity of O(N*log(N)). + */ + tlen = constant_time_select_int(constant_time_lt(num - 11, tlen), + num - 11, tlen); + for (msg_index = 1; msg_index < num - 11; msg_index <<= 1) { + mask = ~constant_time_eq(msg_index & (num - 11 - mlen), 0); + for (i = 11; i < num - msg_index; i++) + em[i] = constant_time_select_8(mask, em[i + msg_index], em[i]); + } + for (i = 0; i < tlen; i++) { + mask = good & constant_time_lt(i, mlen); + to[i] = constant_time_select_8(mask, em[i + 11], to[i]); + } + + OPENSSL_cleanse(em, num); + OPENSSL_free(em); + RSAerr(RSA_F_RSA_PADDING_CHECK_SSLV23, err); + err_clear_last_constant_time(1 & good); + + return constant_time_select_int(good, mlen, -1); } diff --git a/doc/apps/ca.pod b/doc/apps/ca.pod index 8d94ecb4..76586059 100644 --- a/doc/apps/ca.pod +++ b/doc/apps/ca.pod @@ -214,7 +214,7 @@ the section of the configuration file containing certificate extensions to be added when a certificate is issued (defaults to B unless the B<-extfile> option is used). If no extension section is present then, a V1 certificate is created. If the extension section -is present (even if it is empty), then a V3 certificate is created. See the:w +is present (even if it is empty), then a V3 certificate is created. See the L manual page for details of the extension section format. diff --git a/doc/apps/genpkey.pod b/doc/apps/genpkey.pod index 2e244005..2a86c680 100644 --- a/doc/apps/genpkey.pod +++ b/doc/apps/genpkey.pod @@ -111,7 +111,7 @@ below. =item B -The number of bits in the generated key. If not specified 1024 is used. +The number of bits in the generated key. If not specified 2048 is used. =item B @@ -149,12 +149,12 @@ below. =item B -The number of bits in the generated prime. If not specified 1024 is used. +The number of bits in the generated prime. If not specified 2048 is used. =item B The number of bits in the q parameter. Must be one of 160, 224 or 256. If not -specified 160 is used. +specified 224 is used. =item B @@ -173,7 +173,7 @@ or B if it is 256. =item B -The number of bits in the prime parameter B

. The default is 1024. +The number of bits in the prime parameter B

. The default is 2048. =item B diff --git a/doc/crypto/PKCS12_parse.pod b/doc/crypto/PKCS12_parse.pod index c54cf2ad..cd648d39 100644 --- a/doc/crypto/PKCS12_parse.pod +++ b/doc/crypto/PKCS12_parse.pod @@ -8,7 +8,8 @@ PKCS12_parse - parse a PKCS#12 structure #include -int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, STACK_OF(X509) **ca); + int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, + STACK_OF(X509) **ca); =head1 DESCRIPTION diff --git a/doc/crypto/RSA_padding_add_PKCS1_type_1.pod b/doc/crypto/RSA_padding_add_PKCS1_type_1.pod index f20f815d..800e7778 100644 --- a/doc/crypto/RSA_padding_add_PKCS1_type_1.pod +++ b/doc/crypto/RSA_padding_add_PKCS1_type_1.pod @@ -109,7 +109,12 @@ L. The RSA_padding_check_PKCS1_type_2() padding check leaks timing information which can potentially be used to mount a Bleichenbacher padding oracle attack. This is an inherent weakness in the PKCS #1 -v1.5 padding design. Prefer PKCS1_OAEP padding. +v1.5 padding design. Prefer PKCS1_OAEP padding. Otherwise it can +be recommended to pass zero-padded B, so that B equals to +B, and if fixed by protocol, B being set to the +expected length. In such case leakage would be minimal, it would +take attacker's ability to observe memory access pattern with byte +granilarity as it occurs, post-factum timing analysis won't do. =head1 SEE ALSO diff --git a/doc/crypto/X509_NAME_ENTRY_get_object.pod b/doc/crypto/X509_NAME_ENTRY_get_object.pod index 4716e7ee..403725fd 100644 --- a/doc/crypto/X509_NAME_ENTRY_get_object.pod +++ b/doc/crypto/X509_NAME_ENTRY_get_object.pod @@ -44,9 +44,6 @@ X509_NAME_ENTRY_get_object() and X509_NAME_ENTRY_get_data() can be used to examine an B function as returned by X509_NAME_get_entry() for example. -X509_NAME_ENTRY_create_by_txt(), X509_NAME_ENTRY_create_by_NID(), -and X509_NAME_ENTRY_create_by_OBJ() create and return an - X509_NAME_ENTRY_create_by_txt(), X509_NAME_ENTRY_create_by_OBJ(), X509_NAME_ENTRY_create_by_NID() and X509_NAME_ENTRY_set_data() are seldom used in practice because B structures diff --git a/doc/man3/X509_cmp_time.pod b/doc/crypto/X509_cmp_time.pod similarity index 93% rename from doc/man3/X509_cmp_time.pod rename to doc/crypto/X509_cmp_time.pod index 5bf51114..f3c0750e 100644 --- a/doc/man3/X509_cmp_time.pod +++ b/doc/crypto/X509_cmp_time.pod @@ -29,7 +29,7 @@ B, and 1 otherwise. It returns 0 on error. =head1 COPYRIGHT -Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2019 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 diff --git a/doc/ssl/SSL_get_error.pod b/doc/ssl/SSL_get_error.pod index 2a938940..7537616d 100644 --- a/doc/ssl/SSL_get_error.pod +++ b/doc/ssl/SSL_get_error.pod @@ -90,14 +90,17 @@ Details depend on the application. =item SSL_ERROR_SYSCALL -Some non-recoverable I/O error occurred. -The OpenSSL error queue may contain more information on the error. -For socket I/O on Unix systems, consult B for details. +Some non-recoverable, fatal I/O error occurred. The OpenSSL error queue may +contain more information on the error. For socket I/O on Unix systems, consult +B for details. If this error occurs then no further I/O operations should +be performed on the connection and SSL_shutdown() must not be called. =item SSL_ERROR_SSL -A failure in the SSL library occurred, usually a protocol error. The -OpenSSL error queue contains more information on the error. +A non-recoverable, fatal error in the SSL library occurred, usually a protocol +error. The OpenSSL error queue contains more information on the error. If this +error occurs then no further I/O operations should be performed on the +connection and SSL_shutdown() must not be called. =back diff --git a/doc/ssl/SSL_shutdown.pod b/doc/ssl/SSL_shutdown.pod index efbff5a0..e2a776cf 100644 --- a/doc/ssl/SSL_shutdown.pod +++ b/doc/ssl/SSL_shutdown.pod @@ -22,6 +22,10 @@ Whether the operation succeeds or not, the SSL_SENT_SHUTDOWN flag is set and a currently open session is considered closed and good and will be kept in the session cache for further reuse. +Note that SSL_shutdown() must not be called if a previous fatal error has +occurred on a connection i.e. if SSL_get_error() has returned SSL_ERROR_SYSCALL +or SSL_ERROR_SSL. + The shutdown procedure consists of 2 steps: the sending of the "close notify" shutdown alert and the reception of the peer's "close notify" shutdown alert. According to the TLS standard, it is acceptable for an application diff --git a/include32/openssl/err.h b/include32/openssl/err.h index f4236562..1862456e 100644 --- a/include32/openssl/err.h +++ b/include32/openssl/err.h @@ -56,7 +56,7 @@ * [including the GNU Public Licence.] */ /* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -143,6 +143,7 @@ extern "C" { # define ERR_TXT_STRING 0x02 # define ERR_FLAG_MARK 0x01 +# define ERR_FLAG_CLEAR 0x02 # define ERR_NUM_ERRORS 16 typedef struct err_state_st { diff --git a/include32/openssl/evp.h b/include32/openssl/evp.h index cf1de15e..883a9434 100644 --- a/include32/openssl/evp.h +++ b/include32/openssl/evp.h @@ -1489,8 +1489,10 @@ void ERR_load_EVP_strings(void); # define EVP_F_EVP_CIPHER_CTX_CTRL 124 # define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 # define EVP_F_EVP_DECRYPTFINAL_EX 101 +# define EVP_F_EVP_DECRYPTUPDATE 181 # define EVP_F_EVP_DIGESTINIT_EX 128 # define EVP_F_EVP_ENCRYPTFINAL_EX 127 +# define EVP_F_EVP_ENCRYPTUPDATE 180 # define EVP_F_EVP_MD_CTX_COPY_EX 110 # define EVP_F_EVP_MD_SIZE 162 # define EVP_F_EVP_OPENINIT 102 diff --git a/include32/openssl/opensslconf.h b/include32/openssl/opensslconf.h index f237989c..dfbbf830 100644 --- a/include32/openssl/opensslconf.h +++ b/include32/openssl/opensslconf.h @@ -1,283 +1,283 @@ -/* opensslconf.h */ -/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ - -#ifdef __cplusplus -extern "C" { -#endif -/* OpenSSL was configured with the following options: */ -#ifndef OPENSSL_SYSNAME_WIN32 -# define OPENSSL_SYSNAME_WIN32 -#endif -#ifndef OPENSSL_DOING_MAKEDEPEND - - -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -# define OPENSSL_NO_EC_NISTP_64_GCC_128 -#endif -#ifndef OPENSSL_NO_GMP -# define OPENSSL_NO_GMP -#endif -#ifndef OPENSSL_NO_IDEA -# define OPENSSL_NO_IDEA -#endif -#ifndef OPENSSL_NO_JPAKE -# define OPENSSL_NO_JPAKE -#endif -#ifndef OPENSSL_NO_KRB5 -# define OPENSSL_NO_KRB5 -#endif -#ifndef OPENSSL_NO_LIBUNBOUND -# define OPENSSL_NO_LIBUNBOUND -#endif -#ifndef OPENSSL_NO_MD2 -# define OPENSSL_NO_MD2 -#endif -#ifndef OPENSSL_NO_MDC2 -# define OPENSSL_NO_MDC2 -#endif -#ifndef OPENSSL_NO_RC5 -# define OPENSSL_NO_RC5 -#endif -#ifndef OPENSSL_NO_RFC3779 -# define OPENSSL_NO_RFC3779 -#endif -#ifndef OPENSSL_NO_SCTP -# define OPENSSL_NO_SCTP -#endif -#ifndef OPENSSL_NO_SSL_TRACE -# define OPENSSL_NO_SSL_TRACE -#endif -#ifndef OPENSSL_NO_SSL2 -# define OPENSSL_NO_SSL2 -#endif -#ifndef OPENSSL_NO_STORE -# define OPENSSL_NO_STORE -#endif -#ifndef OPENSSL_NO_UNIT_TEST -# define OPENSSL_NO_UNIT_TEST -#endif -#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS -# define OPENSSL_NO_WEAK_SSL_CIPHERS -#endif - -#endif /* OPENSSL_DOING_MAKEDEPEND */ - -#ifndef OPENSSL_THREADS -# define OPENSSL_THREADS -#endif - -/* The OPENSSL_NO_* macros are also defined as NO_* if the application - asks for it. This is a transient feature that is provided for those - who haven't had the time to do the appropriate changes in their - applications. */ -#ifdef OPENSSL_ALGORITHM_DEFINES -# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) -# define NO_EC_NISTP_64_GCC_128 -# endif -# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) -# define NO_GMP -# endif -# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) -# define NO_IDEA -# endif -# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) -# define NO_JPAKE -# endif -# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) -# define NO_KRB5 -# endif -# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) -# define NO_LIBUNBOUND -# endif -# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) -# define NO_MD2 -# endif -# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2) -# define NO_MDC2 -# endif -# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) -# define NO_RC5 -# endif -# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) -# define NO_RFC3779 -# endif -# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) -# define NO_SCTP -# endif -# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) -# define NO_SSL_TRACE -# endif -# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) -# define NO_SSL2 -# endif -# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) -# define NO_STORE -# endif -# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) -# define NO_UNIT_TEST -# endif -# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) -# define NO_WEAK_SSL_CIPHERS -# endif -#endif - -#define OPENSSL_CPUID_OBJ - -/* crypto/opensslconf.h.in */ - -/* Generate 80386 code? */ -#undef I386_ONLY - -#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ -#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) -#define ENGINESDIR "/usr/local/ssl/lib/engines" -#define OPENSSLDIR "/usr/local/ssl" -#endif -#endif - -#undef OPENSSL_UNISTD -#define OPENSSL_UNISTD - -#undef OPENSSL_EXPORT_VAR_AS_FUNCTION -#define OPENSSL_EXPORT_VAR_AS_FUNCTION - -#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) -#define IDEA_INT unsigned int -#endif - -#if defined(HEADER_MD2_H) && !defined(MD2_INT) -#define MD2_INT unsigned int -#endif - -#if defined(HEADER_RC2_H) && !defined(RC2_INT) -/* I need to put in a mod for the alpha - eay */ -#define RC2_INT unsigned int -#endif - -#if defined(HEADER_RC4_H) -#if !defined(RC4_INT) -/* using int types make the structure larger but make the code faster - * on most boxes I have tested - up to %20 faster. */ -/* - * I don't know what does "most" mean, but declaring "int" is a must on: - * - Intel P6 because partial register stalls are very expensive; - * - elder Alpha because it lacks byte load/store instructions; - */ -#define RC4_INT unsigned int -#endif -#if !defined(RC4_CHUNK) -/* - * This enables code handling data aligned at natural CPU word - * boundary. See crypto/rc4/rc4_enc.c for further details. - */ -#undef RC4_CHUNK -#endif -#endif - -#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) -/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a - * %20 speed up (longs are 8 bytes, int's are 4). */ -#ifndef DES_LONG -#define DES_LONG unsigned long -#endif -#endif - -#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) -#define CONFIG_HEADER_BN_H -#define BN_LLONG - -/* Should we define BN_DIV2W here? */ - -/* Only one for the following should be defined */ -#undef SIXTY_FOUR_BIT_LONG -#undef SIXTY_FOUR_BIT -#define THIRTY_TWO_BIT -#endif - -#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) -#define CONFIG_HEADER_RC4_LOCL_H -/* if this is defined data[i] is used instead of *data, this is a %20 - * speedup on x86 */ -#define RC4_INDEX -#endif - -#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) -#define CONFIG_HEADER_BF_LOCL_H -#undef BF_PTR -#endif /* HEADER_BF_LOCL_H */ - -#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) -#define CONFIG_HEADER_DES_LOCL_H -#ifndef DES_DEFAULT_OPTIONS -/* the following is tweaked from a config script, that is why it is a - * protected undef/define */ -#ifndef DES_PTR -#undef DES_PTR -#endif - -/* This helps C compiler generate the correct code for multiple functional - * units. It reduces register dependancies at the expense of 2 more - * registers */ -#ifndef DES_RISC1 -#undef DES_RISC1 -#endif - -#ifndef DES_RISC2 -#undef DES_RISC2 -#endif - -#if defined(DES_RISC1) && defined(DES_RISC2) -#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! -#endif - -/* Unroll the inner loop, this sometimes helps, sometimes hinders. - * Very mucy CPU dependant */ -#ifndef DES_UNROLL -#undef DES_UNROLL -#endif - -/* These default values were supplied by - * Peter Gutman - * They are only used if nothing else has been defined */ -#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) -/* Special defines which change the way the code is built depending on the - CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find - even newer MIPS CPU's, but at the moment one size fits all for - optimization options. Older Sparc's work better with only UNROLL, but - there's no way to tell at compile time what it is you're running on */ - -#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#elif defined( __ultrix ) /* Older MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined( __osf1__ ) /* Alpha */ -# define DES_PTR -# define DES_RISC2 -#elif defined ( _AIX ) /* RS6000 */ - /* Unknown */ -#elif defined( __hpux ) /* HP-PA */ - /* Unknown */ -#elif defined( __aux ) /* 68K */ - /* Unknown */ -#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ -# define DES_UNROLL -#elif defined( __sgi ) /* Newer MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#endif /* Systems-specific speed defines */ -#endif - -#endif /* DES_DEFAULT_OPTIONS */ -#endif /* HEADER_DES_LOCL_H */ -#ifdef __cplusplus -} -#endif +/* opensslconf.h */ +/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ + +#ifdef __cplusplus +extern "C" { +#endif +/* OpenSSL was configured with the following options: */ +#ifndef OPENSSL_SYSNAME_WIN32 +# define OPENSSL_SYSNAME_WIN32 +#endif +#ifndef OPENSSL_DOING_MAKEDEPEND + + +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_GMP +# define OPENSSL_NO_GMP +#endif +#ifndef OPENSSL_NO_IDEA +# define OPENSSL_NO_IDEA +#endif +#ifndef OPENSSL_NO_JPAKE +# define OPENSSL_NO_JPAKE +#endif +#ifndef OPENSSL_NO_KRB5 +# define OPENSSL_NO_KRB5 +#endif +#ifndef OPENSSL_NO_LIBUNBOUND +# define OPENSSL_NO_LIBUNBOUND +#endif +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_MDC2 +# define OPENSSL_NO_MDC2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_NO_RFC3779 +# define OPENSSL_NO_RFC3779 +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL2 +# define OPENSSL_NO_SSL2 +#endif +#ifndef OPENSSL_NO_STORE +# define OPENSSL_NO_STORE +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif + +#endif /* OPENSSL_DOING_MAKEDEPEND */ + +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif + +/* The OPENSSL_NO_* macros are also defined as NO_* if the application + asks for it. This is a transient feature that is provided for those + who haven't had the time to do the appropriate changes in their + applications. */ +#ifdef OPENSSL_ALGORITHM_DEFINES +# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) +# define NO_EC_NISTP_64_GCC_128 +# endif +# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) +# define NO_GMP +# endif +# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) +# define NO_IDEA +# endif +# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) +# define NO_JPAKE +# endif +# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) +# define NO_KRB5 +# endif +# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) +# define NO_LIBUNBOUND +# endif +# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) +# define NO_MD2 +# endif +# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2) +# define NO_MDC2 +# endif +# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) +# define NO_RC5 +# endif +# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) +# define NO_RFC3779 +# endif +# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) +# define NO_SCTP +# endif +# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) +# define NO_SSL_TRACE +# endif +# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) +# define NO_SSL2 +# endif +# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) +# define NO_STORE +# endif +# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) +# define NO_UNIT_TEST +# endif +# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) +# define NO_WEAK_SSL_CIPHERS +# endif +#endif + +#define OPENSSL_CPUID_OBJ + +/* crypto/opensslconf.h.in */ + +/* Generate 80386 code? */ +#undef I386_ONLY + +#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ +#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) +#define ENGINESDIR "/usr/local/ssl/lib/engines" +#define OPENSSLDIR "/usr/local/ssl" +#endif +#endif + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION +#define OPENSSL_EXPORT_VAR_AS_FUNCTION + +#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) +#define IDEA_INT unsigned int +#endif + +#if defined(HEADER_MD2_H) && !defined(MD2_INT) +#define MD2_INT unsigned int +#endif + +#if defined(HEADER_RC2_H) && !defined(RC2_INT) +/* I need to put in a mod for the alpha - eay */ +#define RC2_INT unsigned int +#endif + +#if defined(HEADER_RC4_H) +#if !defined(RC4_INT) +/* using int types make the structure larger but make the code faster + * on most boxes I have tested - up to %20 faster. */ +/* + * I don't know what does "most" mean, but declaring "int" is a must on: + * - Intel P6 because partial register stalls are very expensive; + * - elder Alpha because it lacks byte load/store instructions; + */ +#define RC4_INT unsigned int +#endif +#if !defined(RC4_CHUNK) +/* + * This enables code handling data aligned at natural CPU word + * boundary. See crypto/rc4/rc4_enc.c for further details. + */ +#undef RC4_CHUNK +#endif +#endif + +#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) +/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a + * %20 speed up (longs are 8 bytes, int's are 4). */ +#ifndef DES_LONG +#define DES_LONG unsigned long +#endif +#endif + +#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) +#define CONFIG_HEADER_BN_H +#define BN_LLONG + +/* Should we define BN_DIV2W here? */ + +/* Only one for the following should be defined */ +#undef SIXTY_FOUR_BIT_LONG +#undef SIXTY_FOUR_BIT +#define THIRTY_TWO_BIT +#endif + +#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) +#define CONFIG_HEADER_RC4_LOCL_H +/* if this is defined data[i] is used instead of *data, this is a %20 + * speedup on x86 */ +#define RC4_INDEX +#endif + +#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) +#define CONFIG_HEADER_BF_LOCL_H +#undef BF_PTR +#endif /* HEADER_BF_LOCL_H */ + +#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) +#define CONFIG_HEADER_DES_LOCL_H +#ifndef DES_DEFAULT_OPTIONS +/* the following is tweaked from a config script, that is why it is a + * protected undef/define */ +#ifndef DES_PTR +#undef DES_PTR +#endif + +/* This helps C compiler generate the correct code for multiple functional + * units. It reduces register dependancies at the expense of 2 more + * registers */ +#ifndef DES_RISC1 +#undef DES_RISC1 +#endif + +#ifndef DES_RISC2 +#undef DES_RISC2 +#endif + +#if defined(DES_RISC1) && defined(DES_RISC2) +#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! +#endif + +/* Unroll the inner loop, this sometimes helps, sometimes hinders. + * Very mucy CPU dependant */ +#ifndef DES_UNROLL +#undef DES_UNROLL +#endif + +/* These default values were supplied by + * Peter Gutman + * They are only used if nothing else has been defined */ +#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) +/* Special defines which change the way the code is built depending on the + CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find + even newer MIPS CPU's, but at the moment one size fits all for + optimization options. Older Sparc's work better with only UNROLL, but + there's no way to tell at compile time what it is you're running on */ + +#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#elif defined( __ultrix ) /* Older MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined( __osf1__ ) /* Alpha */ +# define DES_PTR +# define DES_RISC2 +#elif defined ( _AIX ) /* RS6000 */ + /* Unknown */ +#elif defined( __hpux ) /* HP-PA */ + /* Unknown */ +#elif defined( __aux ) /* 68K */ + /* Unknown */ +#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ +# define DES_UNROLL +#elif defined( __sgi ) /* Newer MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#endif /* Systems-specific speed defines */ +#endif + +#endif /* DES_DEFAULT_OPTIONS */ +#endif /* HEADER_DES_LOCL_H */ +#ifdef __cplusplus +} +#endif diff --git a/include32/openssl/opensslv.h b/include32/openssl/opensslv.h index 73d22b39..8b475698 100644 --- a/include32/openssl/opensslv.h +++ b/include32/openssl/opensslv.h @@ -30,11 +30,11 @@ extern "C" { * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -# define OPENSSL_VERSION_NUMBER 0x1000211fL +# define OPENSSL_VERSION_NUMBER 0x1000213fL # ifdef OPENSSL_FIPS -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q-fips 20 Nov 2018" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2s-fips 28 May 2019" # else -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q 20 Nov 2018" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2s 28 May 2019" # endif # define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT diff --git a/include64/openssl/err.h b/include64/openssl/err.h index f4236562..1862456e 100644 --- a/include64/openssl/err.h +++ b/include64/openssl/err.h @@ -56,7 +56,7 @@ * [including the GNU Public Licence.] */ /* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -143,6 +143,7 @@ extern "C" { # define ERR_TXT_STRING 0x02 # define ERR_FLAG_MARK 0x01 +# define ERR_FLAG_CLEAR 0x02 # define ERR_NUM_ERRORS 16 typedef struct err_state_st { diff --git a/include64/openssl/evp.h b/include64/openssl/evp.h index cf1de15e..883a9434 100644 --- a/include64/openssl/evp.h +++ b/include64/openssl/evp.h @@ -1489,8 +1489,10 @@ void ERR_load_EVP_strings(void); # define EVP_F_EVP_CIPHER_CTX_CTRL 124 # define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 # define EVP_F_EVP_DECRYPTFINAL_EX 101 +# define EVP_F_EVP_DECRYPTUPDATE 181 # define EVP_F_EVP_DIGESTINIT_EX 128 # define EVP_F_EVP_ENCRYPTFINAL_EX 127 +# define EVP_F_EVP_ENCRYPTUPDATE 180 # define EVP_F_EVP_MD_CTX_COPY_EX 110 # define EVP_F_EVP_MD_SIZE 162 # define EVP_F_EVP_OPENINIT 102 diff --git a/include64/openssl/opensslconf.h b/include64/openssl/opensslconf.h index 7ebd579e..389c556e 100644 --- a/include64/openssl/opensslconf.h +++ b/include64/openssl/opensslconf.h @@ -1,283 +1,283 @@ -/* opensslconf.h */ -/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ - -#ifdef __cplusplus -extern "C" { -#endif -/* OpenSSL was configured with the following options: */ -#ifndef OPENSSL_SYSNAME_WIN64A -# define OPENSSL_SYSNAME_WIN64A -#endif -#ifndef OPENSSL_DOING_MAKEDEPEND - - -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -# define OPENSSL_NO_EC_NISTP_64_GCC_128 -#endif -#ifndef OPENSSL_NO_GMP -# define OPENSSL_NO_GMP -#endif -#ifndef OPENSSL_NO_IDEA -# define OPENSSL_NO_IDEA -#endif -#ifndef OPENSSL_NO_JPAKE -# define OPENSSL_NO_JPAKE -#endif -#ifndef OPENSSL_NO_KRB5 -# define OPENSSL_NO_KRB5 -#endif -#ifndef OPENSSL_NO_LIBUNBOUND -# define OPENSSL_NO_LIBUNBOUND -#endif -#ifndef OPENSSL_NO_MD2 -# define OPENSSL_NO_MD2 -#endif -#ifndef OPENSSL_NO_MDC2 -# define OPENSSL_NO_MDC2 -#endif -#ifndef OPENSSL_NO_RC5 -# define OPENSSL_NO_RC5 -#endif -#ifndef OPENSSL_NO_RFC3779 -# define OPENSSL_NO_RFC3779 -#endif -#ifndef OPENSSL_NO_SCTP -# define OPENSSL_NO_SCTP -#endif -#ifndef OPENSSL_NO_SSL_TRACE -# define OPENSSL_NO_SSL_TRACE -#endif -#ifndef OPENSSL_NO_SSL2 -# define OPENSSL_NO_SSL2 -#endif -#ifndef OPENSSL_NO_STORE -# define OPENSSL_NO_STORE -#endif -#ifndef OPENSSL_NO_UNIT_TEST -# define OPENSSL_NO_UNIT_TEST -#endif -#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS -# define OPENSSL_NO_WEAK_SSL_CIPHERS -#endif - -#endif /* OPENSSL_DOING_MAKEDEPEND */ - -#ifndef OPENSSL_THREADS -# define OPENSSL_THREADS -#endif - -/* The OPENSSL_NO_* macros are also defined as NO_* if the application - asks for it. This is a transient feature that is provided for those - who haven't had the time to do the appropriate changes in their - applications. */ -#ifdef OPENSSL_ALGORITHM_DEFINES -# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) -# define NO_EC_NISTP_64_GCC_128 -# endif -# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) -# define NO_GMP -# endif -# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) -# define NO_IDEA -# endif -# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) -# define NO_JPAKE -# endif -# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) -# define NO_KRB5 -# endif -# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) -# define NO_LIBUNBOUND -# endif -# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) -# define NO_MD2 -# endif -# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2) -# define NO_MDC2 -# endif -# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) -# define NO_RC5 -# endif -# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) -# define NO_RFC3779 -# endif -# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) -# define NO_SCTP -# endif -# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) -# define NO_SSL_TRACE -# endif -# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) -# define NO_SSL2 -# endif -# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) -# define NO_STORE -# endif -# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) -# define NO_UNIT_TEST -# endif -# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) -# define NO_WEAK_SSL_CIPHERS -# endif -#endif - -#define OPENSSL_CPUID_OBJ - -/* crypto/opensslconf.h.in */ - -/* Generate 80386 code? */ -#undef I386_ONLY - -#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ -#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) -#define ENGINESDIR "/usr/local/ssl/lib/engines" -#define OPENSSLDIR "/usr/local/ssl" -#endif -#endif - -#undef OPENSSL_UNISTD -#define OPENSSL_UNISTD - -#undef OPENSSL_EXPORT_VAR_AS_FUNCTION -#define OPENSSL_EXPORT_VAR_AS_FUNCTION - -#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) -#define IDEA_INT unsigned int -#endif - -#if defined(HEADER_MD2_H) && !defined(MD2_INT) -#define MD2_INT unsigned int -#endif - -#if defined(HEADER_RC2_H) && !defined(RC2_INT) -/* I need to put in a mod for the alpha - eay */ -#define RC2_INT unsigned int -#endif - -#if defined(HEADER_RC4_H) -#if !defined(RC4_INT) -/* using int types make the structure larger but make the code faster - * on most boxes I have tested - up to %20 faster. */ -/* - * I don't know what does "most" mean, but declaring "int" is a must on: - * - Intel P6 because partial register stalls are very expensive; - * - elder Alpha because it lacks byte load/store instructions; - */ -#define RC4_INT unsigned int -#endif -#if !defined(RC4_CHUNK) -/* - * This enables code handling data aligned at natural CPU word - * boundary. See crypto/rc4/rc4_enc.c for further details. - */ -#define RC4_CHUNK unsigned long long -#endif -#endif - -#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) -/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a - * %20 speed up (longs are 8 bytes, int's are 4). */ -#ifndef DES_LONG -#define DES_LONG unsigned int -#endif -#endif - -#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) -#define CONFIG_HEADER_BN_H -#undef BN_LLONG - -/* Should we define BN_DIV2W here? */ - -/* Only one for the following should be defined */ -#undef SIXTY_FOUR_BIT_LONG -#define SIXTY_FOUR_BIT -#undef THIRTY_TWO_BIT -#endif - -#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) -#define CONFIG_HEADER_RC4_LOCL_H -/* if this is defined data[i] is used instead of *data, this is a %20 - * speedup on x86 */ -#undef RC4_INDEX -#endif - -#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) -#define CONFIG_HEADER_BF_LOCL_H -#undef BF_PTR -#endif /* HEADER_BF_LOCL_H */ - -#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) -#define CONFIG_HEADER_DES_LOCL_H -#ifndef DES_DEFAULT_OPTIONS -/* the following is tweaked from a config script, that is why it is a - * protected undef/define */ -#ifndef DES_PTR -#undef DES_PTR -#endif - -/* This helps C compiler generate the correct code for multiple functional - * units. It reduces register dependancies at the expense of 2 more - * registers */ -#ifndef DES_RISC1 -#undef DES_RISC1 -#endif - -#ifndef DES_RISC2 -#undef DES_RISC2 -#endif - -#if defined(DES_RISC1) && defined(DES_RISC2) -#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! -#endif - -/* Unroll the inner loop, this sometimes helps, sometimes hinders. - * Very mucy CPU dependant */ -#ifndef DES_UNROLL -#undef DES_UNROLL -#endif - -/* These default values were supplied by - * Peter Gutman - * They are only used if nothing else has been defined */ -#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) -/* Special defines which change the way the code is built depending on the - CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find - even newer MIPS CPU's, but at the moment one size fits all for - optimization options. Older Sparc's work better with only UNROLL, but - there's no way to tell at compile time what it is you're running on */ - -#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#elif defined( __ultrix ) /* Older MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined( __osf1__ ) /* Alpha */ -# define DES_PTR -# define DES_RISC2 -#elif defined ( _AIX ) /* RS6000 */ - /* Unknown */ -#elif defined( __hpux ) /* HP-PA */ - /* Unknown */ -#elif defined( __aux ) /* 68K */ - /* Unknown */ -#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ -# define DES_UNROLL -#elif defined( __sgi ) /* Newer MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#endif /* Systems-specific speed defines */ -#endif - -#endif /* DES_DEFAULT_OPTIONS */ -#endif /* HEADER_DES_LOCL_H */ -#ifdef __cplusplus -} -#endif +/* opensslconf.h */ +/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ + +#ifdef __cplusplus +extern "C" { +#endif +/* OpenSSL was configured with the following options: */ +#ifndef OPENSSL_SYSNAME_WIN64A +# define OPENSSL_SYSNAME_WIN64A +#endif +#ifndef OPENSSL_DOING_MAKEDEPEND + + +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_GMP +# define OPENSSL_NO_GMP +#endif +#ifndef OPENSSL_NO_IDEA +# define OPENSSL_NO_IDEA +#endif +#ifndef OPENSSL_NO_JPAKE +# define OPENSSL_NO_JPAKE +#endif +#ifndef OPENSSL_NO_KRB5 +# define OPENSSL_NO_KRB5 +#endif +#ifndef OPENSSL_NO_LIBUNBOUND +# define OPENSSL_NO_LIBUNBOUND +#endif +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_MDC2 +# define OPENSSL_NO_MDC2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_NO_RFC3779 +# define OPENSSL_NO_RFC3779 +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL2 +# define OPENSSL_NO_SSL2 +#endif +#ifndef OPENSSL_NO_STORE +# define OPENSSL_NO_STORE +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif + +#endif /* OPENSSL_DOING_MAKEDEPEND */ + +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif + +/* The OPENSSL_NO_* macros are also defined as NO_* if the application + asks for it. This is a transient feature that is provided for those + who haven't had the time to do the appropriate changes in their + applications. */ +#ifdef OPENSSL_ALGORITHM_DEFINES +# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) +# define NO_EC_NISTP_64_GCC_128 +# endif +# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) +# define NO_GMP +# endif +# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) +# define NO_IDEA +# endif +# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) +# define NO_JPAKE +# endif +# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) +# define NO_KRB5 +# endif +# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) +# define NO_LIBUNBOUND +# endif +# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) +# define NO_MD2 +# endif +# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2) +# define NO_MDC2 +# endif +# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) +# define NO_RC5 +# endif +# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) +# define NO_RFC3779 +# endif +# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) +# define NO_SCTP +# endif +# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) +# define NO_SSL_TRACE +# endif +# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) +# define NO_SSL2 +# endif +# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) +# define NO_STORE +# endif +# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) +# define NO_UNIT_TEST +# endif +# if defined(OPENSSL_NO_WEAK_SSL_CIPHERS) && !defined(NO_WEAK_SSL_CIPHERS) +# define NO_WEAK_SSL_CIPHERS +# endif +#endif + +#define OPENSSL_CPUID_OBJ + +/* crypto/opensslconf.h.in */ + +/* Generate 80386 code? */ +#undef I386_ONLY + +#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ +#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) +#define ENGINESDIR "/usr/local/ssl/lib/engines" +#define OPENSSLDIR "/usr/local/ssl" +#endif +#endif + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION +#define OPENSSL_EXPORT_VAR_AS_FUNCTION + +#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) +#define IDEA_INT unsigned int +#endif + +#if defined(HEADER_MD2_H) && !defined(MD2_INT) +#define MD2_INT unsigned int +#endif + +#if defined(HEADER_RC2_H) && !defined(RC2_INT) +/* I need to put in a mod for the alpha - eay */ +#define RC2_INT unsigned int +#endif + +#if defined(HEADER_RC4_H) +#if !defined(RC4_INT) +/* using int types make the structure larger but make the code faster + * on most boxes I have tested - up to %20 faster. */ +/* + * I don't know what does "most" mean, but declaring "int" is a must on: + * - Intel P6 because partial register stalls are very expensive; + * - elder Alpha because it lacks byte load/store instructions; + */ +#define RC4_INT unsigned int +#endif +#if !defined(RC4_CHUNK) +/* + * This enables code handling data aligned at natural CPU word + * boundary. See crypto/rc4/rc4_enc.c for further details. + */ +#define RC4_CHUNK unsigned long long +#endif +#endif + +#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) +/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a + * %20 speed up (longs are 8 bytes, int's are 4). */ +#ifndef DES_LONG +#define DES_LONG unsigned int +#endif +#endif + +#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) +#define CONFIG_HEADER_BN_H +#undef BN_LLONG + +/* Should we define BN_DIV2W here? */ + +/* Only one for the following should be defined */ +#undef SIXTY_FOUR_BIT_LONG +#define SIXTY_FOUR_BIT +#undef THIRTY_TWO_BIT +#endif + +#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) +#define CONFIG_HEADER_RC4_LOCL_H +/* if this is defined data[i] is used instead of *data, this is a %20 + * speedup on x86 */ +#undef RC4_INDEX +#endif + +#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) +#define CONFIG_HEADER_BF_LOCL_H +#undef BF_PTR +#endif /* HEADER_BF_LOCL_H */ + +#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) +#define CONFIG_HEADER_DES_LOCL_H +#ifndef DES_DEFAULT_OPTIONS +/* the following is tweaked from a config script, that is why it is a + * protected undef/define */ +#ifndef DES_PTR +#undef DES_PTR +#endif + +/* This helps C compiler generate the correct code for multiple functional + * units. It reduces register dependancies at the expense of 2 more + * registers */ +#ifndef DES_RISC1 +#undef DES_RISC1 +#endif + +#ifndef DES_RISC2 +#undef DES_RISC2 +#endif + +#if defined(DES_RISC1) && defined(DES_RISC2) +#error YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! +#endif + +/* Unroll the inner loop, this sometimes helps, sometimes hinders. + * Very mucy CPU dependant */ +#ifndef DES_UNROLL +#undef DES_UNROLL +#endif + +/* These default values were supplied by + * Peter Gutman + * They are only used if nothing else has been defined */ +#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) +/* Special defines which change the way the code is built depending on the + CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find + even newer MIPS CPU's, but at the moment one size fits all for + optimization options. Older Sparc's work better with only UNROLL, but + there's no way to tell at compile time what it is you're running on */ + +#if defined( __sun ) || defined ( sun ) /* Newer Sparc's */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#elif defined( __ultrix ) /* Older MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined( __osf1__ ) /* Alpha */ +# define DES_PTR +# define DES_RISC2 +#elif defined ( _AIX ) /* RS6000 */ + /* Unknown */ +#elif defined( __hpux ) /* HP-PA */ + /* Unknown */ +#elif defined( __aux ) /* 68K */ + /* Unknown */ +#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ +# define DES_UNROLL +#elif defined( __sgi ) /* Newer MIPS */ +# define DES_PTR +# define DES_RISC2 +# define DES_UNROLL +#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ +# define DES_PTR +# define DES_RISC1 +# define DES_UNROLL +#endif /* Systems-specific speed defines */ +#endif + +#endif /* DES_DEFAULT_OPTIONS */ +#endif /* HEADER_DES_LOCL_H */ +#ifdef __cplusplus +} +#endif diff --git a/include64/openssl/opensslv.h b/include64/openssl/opensslv.h index 73d22b39..8b475698 100644 --- a/include64/openssl/opensslv.h +++ b/include64/openssl/opensslv.h @@ -30,11 +30,11 @@ extern "C" { * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -# define OPENSSL_VERSION_NUMBER 0x1000211fL +# define OPENSSL_VERSION_NUMBER 0x1000213fL # ifdef OPENSSL_FIPS -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q-fips 20 Nov 2018" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2s-fips 28 May 2019" # else -# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2q 20 Nov 2018" +# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2s 28 May 2019" # endif # define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT diff --git a/ms/bcb.mak b/ms/bcb.mak index cf7fb602..3db4cd44 100644 --- a/ms/bcb.mak +++ b/ms/bcb.mak @@ -1,3409 +1,3409 @@ -# N.B. You MUST use -j on FreeBSD. -# This makefile has been automatically generated from the OpenSSL distribution. -# This single makefile will build the complete OpenSSL distribution and -# by default leave the 'interesting' output files in .\out and the stuff -# that needs deleting in .\tmp. -# The file was generated by running 'make makefile.one', which -# does a 'make files', which writes all the environment variables from all -# the makefiles to the file call MINFO. This file is used by -# util\mk1mf.pl to generate makefile.one. -# The 'makefile per directory' system suites me when developing this -# library and also so I can 'distribute' indervidual library sections. -# The one monster makefile better suits building in non-unix -# environments. - -INSTALLTOP=\usr\local\ssl -OPENSSLDIR=\usr\local\ssl - -# Set your compiler options -PLATFORM=BC-NT -CC=bcc32 -CFLAG=-DWIN32_LEAN_AND_MEAN -q -w-ccc -w-rch -w-pia -w-aus -w-par -w-inl -c -tWC -tWM -DOPENSSL_SYSNAME_WIN32 -DL_ENDIAN -DDSO_WIN32 -D_stricmp=stricmp -D_strnicmp=strnicmp -O2 -ff -fp -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE -APP_CFLAG= -LIB_CFLAG= -SHLIB_CFLAG= -APP_EX_OBJ=c0x32.obj -SHLIB_EX_OBJ= -# add extra libraries to this define, for solaris -lsocket -lnsl would -# be added -EX_LIBS=cw32mt.lib import32.lib crypt32.lib ws2_32.lib - -# The OpenSSL directory -SRC_D=. - -LINK_CMD=ilink32 -LFLAGS=-ap -Tpe -x -Gn -RSC= - -# The output directory for everything interesting -OUT_D=out32 -# The output directory for all the temporary muck -TMP_D=tmp32 -# The output directory for the header files -INC_D=inc32 -INCO_D=inc32\openssl - -PERL=perl -CP=copy -RM=del -RANLIB= -MKDIR=-mkdir -MKLIB=tlib /P64 -MLFLAGS= -ASM=nasm -f obj -d__omf__ - -# FIPS validated module and support file locations - -E_PREMAIN_DSO=fips_premain_dso - -FIPSDIR=\usr\local\ssl\fips-2.0 -BASEADDR=0xFB00000 -FIPSLIB_D=$(FIPSDIR)\lib -FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c -O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib -FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe -PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe -FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl - -###################################################### -# You should not need to touch anything below this point -###################################################### - -E_EXE=openssl -SSL=ssleay32 -CRYPTO=libeay32 - -# BIN_D - Binary output directory -# TEST_D - Binary test file output directory -# LIB_D - library output directory -# ENG_D - dynamic engine output directory -# Note: if you change these point to different directories then uncomment out -# the lines around the 'NB' comment below. -# -BIN_D=$(OUT_D) -TEST_D=$(OUT_D) -LIB_D=$(OUT_D) -ENG_D=$(OUT_D) - -# INCL_D - local library directory -# OBJ_D - temp object file directory -OBJ_D=$(TMP_D) -INCL_D=$(TMP_D) - -O_SSL= $(LIB_D)\$(SSL).lib -O_CRYPTO= $(LIB_D)\$(CRYPTO).lib -SO_SSL= $(SSL) -SO_CRYPTO= $(CRYPTO) -L_SSL= $(LIB_D)\$(SSL).lib -L_CRYPTO= $(LIB_D)\$(CRYPTO).lib - -L_LIBS= $(L_SSL) $(L_CRYPTO) - -###################################################### -# Don't touch anything below this point -###################################################### - -INC=-I$(INC_D) -I$(INCL_D) -APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) -LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) -SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) -LIBS_DEP=$(O_CRYPTO) $(O_SSL) - -############################################# -HEADER=$(INCL_D)\e_os.h \ - $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ - $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ - $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ - $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ - $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ - $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ - $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ - $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ - $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ - $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ - $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ - $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ - $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ - $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ - $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ - $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ - $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ - $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ - $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ - $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ - $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ - $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ - $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ - $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ - $(INCL_D)\ssltestlib.h - -EXHEADER=$(INCO_D)\e_os2.h \ - $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ - $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ - $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ - $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ - $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ - $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ - $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ - $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ - $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ - $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ - $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ - $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ - $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ - $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ - $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ - $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ - $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ - $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ - $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ - $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ - $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ - $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ - $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ - $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h - -T_OBJ=$(OBJ_D)\constant_time_test.obj \ - $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ - $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ - $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ - $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ - $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ - $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ - $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ - $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ - $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ - $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ - $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ - $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ - $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj - -E_OBJ=$(OBJ_D)\verify.obj \ - $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ - $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ - $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ - $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ - $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ - $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ - $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ - $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ - $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ - $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ - $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ - $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ - $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ - $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ - $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ - $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ - $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj - -CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ - $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ - $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ - $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ - $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ - $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \ - $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ - $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \ - $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ - $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \ - $(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \ - $(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \ - $(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \ - $(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \ - $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \ - $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \ - $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \ - $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \ - $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \ - $(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \ - $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \ - $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \ - $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \ - $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \ - $(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \ - $(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \ - $(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \ - $(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \ - $(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \ - $(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \ - $(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \ - $(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ - $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ - $(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \ - $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \ - $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \ - $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \ - $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \ - $(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \ - $(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \ - $(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \ - $(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \ - $(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \ - $(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \ - $(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \ - $(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \ - $(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \ - $(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \ - $(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \ - $(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \ - $(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \ - $(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \ - $(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \ - $(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \ - $(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \ - $(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \ - $(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \ - $(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \ - $(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \ - $(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \ - $(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \ - $(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \ - $(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \ - $(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \ - $(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \ - $(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \ - $(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \ - $(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \ - $(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \ - $(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \ - $(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \ - $(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \ - $(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \ - $(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \ - $(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \ - $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \ - $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \ - $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \ - $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \ - $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \ - $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \ - $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \ - $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \ - $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \ - $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \ - $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \ - $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \ - $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \ - $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \ - $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \ - $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \ - $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \ - $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \ - $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \ - $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \ - $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \ - $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \ - $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \ - $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \ - $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \ - $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \ - $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \ - $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \ - $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \ - $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \ - $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \ - $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \ - $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \ - $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \ - $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \ - $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \ - $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \ - $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \ - $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \ - $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \ - $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \ - $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \ - $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \ - $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \ - $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \ - $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \ - $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \ - $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \ - $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \ - $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \ - $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \ - $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \ - $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \ - $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \ - $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \ - $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \ - $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \ - $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \ - $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \ - $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \ - $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \ - $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \ - $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \ - $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \ - $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \ - $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \ - $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \ - $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \ - $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \ - $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \ - $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \ - $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \ - $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \ - $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \ - $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \ - $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \ - $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \ - $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \ - $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \ - $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \ - $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \ - $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \ - $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \ - $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \ - $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \ - $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \ - $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \ - $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \ - $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \ - $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \ - $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \ - $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \ - $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \ - $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \ - $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \ - $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \ - $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \ - $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \ - $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \ - $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \ - $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \ - $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \ - $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \ - $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \ - $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \ - $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \ - $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \ - $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \ - $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \ - $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \ - $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \ - $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \ - $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \ - $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \ - $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \ - $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \ - $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \ - $(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ - $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ - $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ - $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ - $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \ - $(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \ - $(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \ - $(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \ - $(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \ - $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \ - $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \ - $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \ - $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \ - $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj - -SSLOBJ=$(OBJ_D)\s2_meth.obj \ - $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ - $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ - $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ - $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ - $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ - $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ - $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ - $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ - $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ - $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ - $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ - $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ - $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ - $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ - $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ - $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ - $(OBJ_D)\ssl_utst.obj - -T_EXE=$(TEST_D)\constant_time_test.exe \ - $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ - $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ - $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ - $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ - $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ - $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ - $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ - $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ - $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ - $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ - $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ - $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ - $(TEST_D)\igetest.exe - -E_SHLIB= - -################################################################### -all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe - -banner: - @echo Building OpenSSL - -$(TMP_D): - $(MKDIR) "$(TMP_D)" -# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different -#$(BIN_D): -# $(MKDIR) $(BIN_D) -# -#$(TEST_D): -# $(MKDIR) $(TEST_D) - -$(LIB_D): - $(MKDIR) "$(LIB_D)" - -$(INCO_D): $(INC_D) - $(MKDIR) "$(INCO_D)" - -$(INC_D): - $(MKDIR) "$(INC_D)" - -# This needs to be invoked once, when the makefile is first constructed, or -# after cleaning. -init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers - $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" - -headers: $(HEADER) $(EXHEADER) - -lib: $(LIBS_DEP) $(E_SHLIB) - -exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe - -install: all - $(MKDIR) "$(INSTALLTOP)" - $(MKDIR) "$(INSTALLTOP)\bin" - $(MKDIR) "$(INSTALLTOP)\include" - $(MKDIR) "$(INSTALLTOP)\include\openssl" - $(MKDIR) "$(INSTALLTOP)\lib" - $(CP) "$(INCO_D)\*.[ch]" "$(INSTALLTOP)\include\openssl" - $(CP) "$(BIN_D)\$(E_EXE).exe" "$(INSTALLTOP)\bin" - $(MKDIR) "$(OPENSSLDIR)" - $(CP) apps\openssl.cnf "$(OPENSSLDIR)" - $(CP) "$(O_SSL)" "$(INSTALLTOP)\lib" - $(CP) "$(O_CRYPTO)" "$(INSTALLTOP)\lib" - - -clean: - $(RM) $(TMP_D)\*.* - -vclean: - $(RM) $(TMP_D)\*.* - $(RM) $(OUT_D)\*.* - -reallyclean: - $(RM) -rf $(TMP_D) - $(RM) -rf $(BIN_D) - $(RM) -rf $(TEST_D) - $(RM) -rf $(LIB_D) - $(RM) -rf $(INC_D) - -test: $(T_EXE) - cd $(BIN_D) - ..\ms\test - -$(INCL_D)\e_os.h: $(SRC_D)\.\e_os.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os.h" "$(INCL_D)\e_os.h" - -$(INCL_D)\cryptlib.h: $(SRC_D)\crypto\cryptlib.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cryptlib.h" "$(INCL_D)\cryptlib.h" - -$(INCL_D)\buildinf.h: $(SRC_D)\crypto\buildinf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buildinf.h" "$(INCL_D)\buildinf.h" - -$(INCL_D)\md32_common.h: $(SRC_D)\crypto\md32_common.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md32_common.h" "$(INCL_D)\md32_common.h" - -$(INCL_D)\o_time.h: $(SRC_D)\crypto\o_time.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_time.h" "$(INCL_D)\o_time.h" - -$(INCL_D)\o_str.h: $(SRC_D)\crypto\o_str.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_str.h" "$(INCL_D)\o_str.h" - -$(INCL_D)\o_dir.h: $(SRC_D)\crypto\o_dir.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_dir.h" "$(INCL_D)\o_dir.h" - -$(INCL_D)\constant_time_locl.h: $(SRC_D)\crypto\constant_time_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\constant_time_locl.h" "$(INCL_D)\constant_time_locl.h" - -$(INCL_D)\bn_int.h: $(SRC_D)\crypto\bn_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn_int.h" "$(INCL_D)\bn_int.h" - -$(INCL_D)\md4_locl.h: $(SRC_D)\crypto\md4\md4_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4_locl.h" "$(INCL_D)\md4_locl.h" - -$(INCL_D)\md5_locl.h: $(SRC_D)\crypto\md5\md5_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5_locl.h" "$(INCL_D)\md5_locl.h" - -$(INCL_D)\sha_locl.h: $(SRC_D)\crypto\sha\sha_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha_locl.h" "$(INCL_D)\sha_locl.h" - -$(INCL_D)\rmd_locl.h: $(SRC_D)\crypto\ripemd\rmd_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmd_locl.h" "$(INCL_D)\rmd_locl.h" - -$(INCL_D)\rmdconst.h: $(SRC_D)\crypto\ripemd\rmdconst.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmdconst.h" "$(INCL_D)\rmdconst.h" - -$(INCL_D)\des_locl.h: $(SRC_D)\crypto\des\des_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_locl.h" "$(INCL_D)\des_locl.h" - -$(INCL_D)\rpc_des.h: $(SRC_D)\crypto\des\rpc_des.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\rpc_des.h" "$(INCL_D)\rpc_des.h" - -$(INCL_D)\spr.h: $(SRC_D)\crypto\des\spr.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\spr.h" "$(INCL_D)\spr.h" - -$(INCL_D)\des_ver.h: $(SRC_D)\crypto\des\des_ver.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_ver.h" "$(INCL_D)\des_ver.h" - -$(INCL_D)\rc2_locl.h: $(SRC_D)\crypto\rc2\rc2_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2_locl.h" "$(INCL_D)\rc2_locl.h" - -$(INCL_D)\rc4_locl.h: $(SRC_D)\crypto\rc4\rc4_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4_locl.h" "$(INCL_D)\rc4_locl.h" - -$(INCL_D)\bf_pi.h: $(SRC_D)\crypto\bf\bf_pi.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_pi.h" "$(INCL_D)\bf_pi.h" - -$(INCL_D)\bf_locl.h: $(SRC_D)\crypto\bf\bf_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_locl.h" "$(INCL_D)\bf_locl.h" - -$(INCL_D)\cast_s.h: $(SRC_D)\crypto\cast\cast_s.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_s.h" "$(INCL_D)\cast_s.h" - -$(INCL_D)\cast_lcl.h: $(SRC_D)\crypto\cast\cast_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_lcl.h" "$(INCL_D)\cast_lcl.h" - -$(INCL_D)\aes_locl.h: $(SRC_D)\crypto\aes\aes_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes_locl.h" "$(INCL_D)\aes_locl.h" - -$(INCL_D)\cmll_locl.h: $(SRC_D)\crypto\camellia\cmll_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\cmll_locl.h" "$(INCL_D)\cmll_locl.h" - -$(INCL_D)\seed_locl.h: $(SRC_D)\crypto\seed\seed_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed_locl.h" "$(INCL_D)\seed_locl.h" - -$(INCL_D)\modes_lcl.h: $(SRC_D)\crypto\modes\modes_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes_lcl.h" "$(INCL_D)\modes_lcl.h" - -$(INCL_D)\bn_lcl.h: $(SRC_D)\crypto\bn\bn_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_lcl.h" "$(INCL_D)\bn_lcl.h" - -$(INCL_D)\bn_prime.h: $(SRC_D)\crypto\bn\bn_prime.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_prime.h" "$(INCL_D)\bn_prime.h" - -$(INCL_D)\dsa_locl.h: $(SRC_D)\crypto\dsa\dsa_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa_locl.h" "$(INCL_D)\dsa_locl.h" - -$(INCL_D)\ec_lcl.h: $(SRC_D)\crypto\ec\ec_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec_lcl.h" "$(INCL_D)\ec_lcl.h" - -$(INCL_D)\ech_locl.h: $(SRC_D)\crypto\ecdh\ech_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ech_locl.h" "$(INCL_D)\ech_locl.h" - -$(INCL_D)\ecs_locl.h: $(SRC_D)\crypto\ecdsa\ecs_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecs_locl.h" "$(INCL_D)\ecs_locl.h" - -$(INCL_D)\bio_lcl.h: $(SRC_D)\crypto\bio\bio_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio_lcl.h" "$(INCL_D)\bio_lcl.h" - -$(INCL_D)\obj_dat.h: $(SRC_D)\crypto\objects\obj_dat.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_dat.h" "$(INCL_D)\obj_dat.h" - -$(INCL_D)\obj_xref.h: $(SRC_D)\crypto\objects\obj_xref.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_xref.h" "$(INCL_D)\obj_xref.h" - -$(INCL_D)\evp_locl.h: $(SRC_D)\crypto\evp\evp_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp_locl.h" "$(INCL_D)\evp_locl.h" - -$(INCL_D)\asn1_locl.h: $(SRC_D)\crypto\asn1\asn1_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_locl.h" "$(INCL_D)\asn1_locl.h" - -$(INCL_D)\vpm_int.h: $(SRC_D)\crypto\x509\vpm_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\vpm_int.h" "$(INCL_D)\vpm_int.h" - -$(INCL_D)\pcy_int.h: $(SRC_D)\crypto\x509v3\pcy_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\pcy_int.h" "$(INCL_D)\pcy_int.h" - -$(INCL_D)\cms_lcl.h: $(SRC_D)\crypto\cms\cms_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms_lcl.h" "$(INCL_D)\cms_lcl.h" - -$(INCL_D)\conf_def.h: $(SRC_D)\crypto\conf\conf_def.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_def.h" "$(INCL_D)\conf_def.h" - -$(INCL_D)\ui_locl.h: $(SRC_D)\crypto\ui\ui_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_locl.h" "$(INCL_D)\ui_locl.h" - -$(INCL_D)\wp_locl.h: $(SRC_D)\crypto\whrlpool\wp_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\wp_locl.h" "$(INCL_D)\wp_locl.h" - -$(INCL_D)\ssl_locl.h: $(SRC_D)\ssl\ssl_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl_locl.h" "$(INCL_D)\ssl_locl.h" - -$(INCL_D)\kssl_lcl.h: $(SRC_D)\ssl\kssl_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl_lcl.h" "$(INCL_D)\kssl_lcl.h" - -$(INCL_D)\apps.h: $(SRC_D)\apps\apps.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\apps.h" "$(INCL_D)\apps.h" - -$(INCL_D)\progs.h: $(SRC_D)\apps\progs.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\progs.h" "$(INCL_D)\progs.h" - -$(INCL_D)\s_apps.h: $(SRC_D)\apps\s_apps.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\s_apps.h" "$(INCL_D)\s_apps.h" - -$(INCL_D)\testdsa.h: $(SRC_D)\apps\testdsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testdsa.h" "$(INCL_D)\testdsa.h" - -$(INCL_D)\testrsa.h: $(SRC_D)\apps\testrsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testrsa.h" "$(INCL_D)\testrsa.h" - -$(INCL_D)\e_4758cca_err.c: $(SRC_D)\engines\e_4758cca_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.c" "$(INCL_D)\e_4758cca_err.c" - -$(INCL_D)\e_4758cca_err.h: $(SRC_D)\engines\e_4758cca_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.h" "$(INCL_D)\e_4758cca_err.h" - -$(INCL_D)\e_aep_err.c: $(SRC_D)\engines\e_aep_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.c" "$(INCL_D)\e_aep_err.c" - -$(INCL_D)\e_aep_err.h: $(SRC_D)\engines\e_aep_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.h" "$(INCL_D)\e_aep_err.h" - -$(INCL_D)\e_atalla_err.c: $(SRC_D)\engines\e_atalla_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.c" "$(INCL_D)\e_atalla_err.c" - -$(INCL_D)\e_atalla_err.h: $(SRC_D)\engines\e_atalla_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.h" "$(INCL_D)\e_atalla_err.h" - -$(INCL_D)\e_cswift_err.c: $(SRC_D)\engines\e_cswift_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.c" "$(INCL_D)\e_cswift_err.c" - -$(INCL_D)\e_cswift_err.h: $(SRC_D)\engines\e_cswift_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.h" "$(INCL_D)\e_cswift_err.h" - -$(INCL_D)\e_gmp_err.c: $(SRC_D)\engines\e_gmp_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.c" "$(INCL_D)\e_gmp_err.c" - -$(INCL_D)\e_gmp_err.h: $(SRC_D)\engines\e_gmp_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.h" "$(INCL_D)\e_gmp_err.h" - -$(INCL_D)\e_chil_err.c: $(SRC_D)\engines\e_chil_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.c" "$(INCL_D)\e_chil_err.c" - -$(INCL_D)\e_chil_err.h: $(SRC_D)\engines\e_chil_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.h" "$(INCL_D)\e_chil_err.h" - -$(INCL_D)\e_nuron_err.c: $(SRC_D)\engines\e_nuron_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.c" "$(INCL_D)\e_nuron_err.c" - -$(INCL_D)\e_nuron_err.h: $(SRC_D)\engines\e_nuron_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.h" "$(INCL_D)\e_nuron_err.h" - -$(INCL_D)\e_sureware_err.c: $(SRC_D)\engines\e_sureware_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.c" "$(INCL_D)\e_sureware_err.c" - -$(INCL_D)\e_sureware_err.h: $(SRC_D)\engines\e_sureware_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.h" "$(INCL_D)\e_sureware_err.h" - -$(INCL_D)\e_ubsec_err.c: $(SRC_D)\engines\e_ubsec_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.c" "$(INCL_D)\e_ubsec_err.c" - -$(INCL_D)\e_ubsec_err.h: $(SRC_D)\engines\e_ubsec_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.h" "$(INCL_D)\e_ubsec_err.h" - -$(INCL_D)\e_capi_err.c: $(SRC_D)\engines\e_capi_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.c" "$(INCL_D)\e_capi_err.c" - -$(INCL_D)\e_capi_err.h: $(SRC_D)\engines\e_capi_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.h" "$(INCL_D)\e_capi_err.h" - -$(INCL_D)\testutil.h: $(SRC_D)\test\testutil.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\testutil.h" "$(INCL_D)\testutil.h" - -$(INCL_D)\ssltestlib.h: $(SRC_D)\test\ssltestlib.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\ssltestlib.h" "$(INCL_D)\ssltestlib.h" - -$(INCO_D)\e_os2.h: $(SRC_D)\.\e_os2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os2.h" "$(INCO_D)\e_os2.h" - -$(INCO_D)\crypto.h: $(SRC_D)\crypto\crypto.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\crypto.h" "$(INCO_D)\crypto.h" - -$(INCO_D)\opensslv.h: $(SRC_D)\crypto\opensslv.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslv.h" "$(INCO_D)\opensslv.h" - -$(INCO_D)\opensslconf.h: $(SRC_D)\crypto\opensslconf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslconf.h" "$(INCO_D)\opensslconf.h" - -$(INCO_D)\ebcdic.h: $(SRC_D)\crypto\ebcdic.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ebcdic.h" "$(INCO_D)\ebcdic.h" - -$(INCO_D)\symhacks.h: $(SRC_D)\crypto\symhacks.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\symhacks.h" "$(INCO_D)\symhacks.h" - -$(INCO_D)\ossl_typ.h: $(SRC_D)\crypto\ossl_typ.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ossl_typ.h" "$(INCO_D)\ossl_typ.h" - -$(INCO_D)\md4.h: $(SRC_D)\crypto\md4\md4.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4.h" "$(INCO_D)\md4.h" - -$(INCO_D)\md5.h: $(SRC_D)\crypto\md5\md5.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5.h" "$(INCO_D)\md5.h" - -$(INCO_D)\sha.h: $(SRC_D)\crypto\sha\sha.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha.h" "$(INCO_D)\sha.h" - -$(INCO_D)\hmac.h: $(SRC_D)\crypto\hmac\hmac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\hmac\hmac.h" "$(INCO_D)\hmac.h" - -$(INCO_D)\cmac.h: $(SRC_D)\crypto\cmac\cmac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cmac\cmac.h" "$(INCO_D)\cmac.h" - -$(INCO_D)\ripemd.h: $(SRC_D)\crypto\ripemd\ripemd.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\ripemd.h" "$(INCO_D)\ripemd.h" - -$(INCO_D)\des.h: $(SRC_D)\crypto\des\des.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des.h" "$(INCO_D)\des.h" - -$(INCO_D)\des_old.h: $(SRC_D)\crypto\des\des_old.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_old.h" "$(INCO_D)\des_old.h" - -$(INCO_D)\rc2.h: $(SRC_D)\crypto\rc2\rc2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2.h" "$(INCO_D)\rc2.h" - -$(INCO_D)\rc4.h: $(SRC_D)\crypto\rc4\rc4.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4.h" "$(INCO_D)\rc4.h" - -$(INCO_D)\blowfish.h: $(SRC_D)\crypto\bf\blowfish.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\blowfish.h" "$(INCO_D)\blowfish.h" - -$(INCO_D)\cast.h: $(SRC_D)\crypto\cast\cast.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast.h" "$(INCO_D)\cast.h" - -$(INCO_D)\aes.h: $(SRC_D)\crypto\aes\aes.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes.h" "$(INCO_D)\aes.h" - -$(INCO_D)\camellia.h: $(SRC_D)\crypto\camellia\camellia.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\camellia.h" "$(INCO_D)\camellia.h" - -$(INCO_D)\seed.h: $(SRC_D)\crypto\seed\seed.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed.h" "$(INCO_D)\seed.h" - -$(INCO_D)\modes.h: $(SRC_D)\crypto\modes\modes.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes.h" "$(INCO_D)\modes.h" - -$(INCO_D)\bn.h: $(SRC_D)\crypto\bn\bn.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn.h" "$(INCO_D)\bn.h" - -$(INCO_D)\rsa.h: $(SRC_D)\crypto\rsa\rsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rsa\rsa.h" "$(INCO_D)\rsa.h" - -$(INCO_D)\dsa.h: $(SRC_D)\crypto\dsa\dsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa.h" "$(INCO_D)\dsa.h" - -$(INCO_D)\dso.h: $(SRC_D)\crypto\dso\dso.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dso\dso.h" "$(INCO_D)\dso.h" - -$(INCO_D)\dh.h: $(SRC_D)\crypto\dh\dh.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dh\dh.h" "$(INCO_D)\dh.h" - -$(INCO_D)\ec.h: $(SRC_D)\crypto\ec\ec.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec.h" "$(INCO_D)\ec.h" - -$(INCO_D)\ecdh.h: $(SRC_D)\crypto\ecdh\ecdh.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ecdh.h" "$(INCO_D)\ecdh.h" - -$(INCO_D)\ecdsa.h: $(SRC_D)\crypto\ecdsa\ecdsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecdsa.h" "$(INCO_D)\ecdsa.h" - -$(INCO_D)\buffer.h: $(SRC_D)\crypto\buffer\buffer.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buffer\buffer.h" "$(INCO_D)\buffer.h" - -$(INCO_D)\bio.h: $(SRC_D)\crypto\bio\bio.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio.h" "$(INCO_D)\bio.h" - -$(INCO_D)\stack.h: $(SRC_D)\crypto\stack\stack.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\stack.h" "$(INCO_D)\stack.h" - -$(INCO_D)\safestack.h: $(SRC_D)\crypto\stack\safestack.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\safestack.h" "$(INCO_D)\safestack.h" - -$(INCO_D)\lhash.h: $(SRC_D)\crypto\lhash\lhash.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\lhash\lhash.h" "$(INCO_D)\lhash.h" - -$(INCO_D)\rand.h: $(SRC_D)\crypto\rand\rand.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rand\rand.h" "$(INCO_D)\rand.h" - -$(INCO_D)\err.h: $(SRC_D)\crypto\err\err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\err\err.h" "$(INCO_D)\err.h" - -$(INCO_D)\objects.h: $(SRC_D)\crypto\objects\objects.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\objects.h" "$(INCO_D)\objects.h" - -$(INCO_D)\obj_mac.h: $(SRC_D)\crypto\objects\obj_mac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_mac.h" "$(INCO_D)\obj_mac.h" - -$(INCO_D)\evp.h: $(SRC_D)\crypto\evp\evp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp.h" "$(INCO_D)\evp.h" - -$(INCO_D)\asn1.h: $(SRC_D)\crypto\asn1\asn1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1.h" "$(INCO_D)\asn1.h" - -$(INCO_D)\asn1_mac.h: $(SRC_D)\crypto\asn1\asn1_mac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_mac.h" "$(INCO_D)\asn1_mac.h" - -$(INCO_D)\asn1t.h: $(SRC_D)\crypto\asn1\asn1t.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1t.h" "$(INCO_D)\asn1t.h" - -$(INCO_D)\pem.h: $(SRC_D)\crypto\pem\pem.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem.h" "$(INCO_D)\pem.h" - -$(INCO_D)\pem2.h: $(SRC_D)\crypto\pem\pem2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem2.h" "$(INCO_D)\pem2.h" - -$(INCO_D)\x509.h: $(SRC_D)\crypto\x509\x509.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509.h" "$(INCO_D)\x509.h" - -$(INCO_D)\x509_vfy.h: $(SRC_D)\crypto\x509\x509_vfy.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509_vfy.h" "$(INCO_D)\x509_vfy.h" - -$(INCO_D)\x509v3.h: $(SRC_D)\crypto\x509v3\x509v3.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\x509v3.h" "$(INCO_D)\x509v3.h" - -$(INCO_D)\cms.h: $(SRC_D)\crypto\cms\cms.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms.h" "$(INCO_D)\cms.h" - -$(INCO_D)\conf.h: $(SRC_D)\crypto\conf\conf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf.h" "$(INCO_D)\conf.h" - -$(INCO_D)\conf_api.h: $(SRC_D)\crypto\conf\conf_api.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_api.h" "$(INCO_D)\conf_api.h" - -$(INCO_D)\txt_db.h: $(SRC_D)\crypto\txt_db\txt_db.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\txt_db\txt_db.h" "$(INCO_D)\txt_db.h" - -$(INCO_D)\pkcs7.h: $(SRC_D)\crypto\pkcs7\pkcs7.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs7\pkcs7.h" "$(INCO_D)\pkcs7.h" - -$(INCO_D)\pkcs12.h: $(SRC_D)\crypto\pkcs12\pkcs12.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs12\pkcs12.h" "$(INCO_D)\pkcs12.h" - -$(INCO_D)\comp.h: $(SRC_D)\crypto\comp\comp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\comp\comp.h" "$(INCO_D)\comp.h" - -$(INCO_D)\engine.h: $(SRC_D)\crypto\engine\engine.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\engine\engine.h" "$(INCO_D)\engine.h" - -$(INCO_D)\ocsp.h: $(SRC_D)\crypto\ocsp\ocsp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ocsp\ocsp.h" "$(INCO_D)\ocsp.h" - -$(INCO_D)\ui.h: $(SRC_D)\crypto\ui\ui.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui.h" "$(INCO_D)\ui.h" - -$(INCO_D)\ui_compat.h: $(SRC_D)\crypto\ui\ui_compat.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_compat.h" "$(INCO_D)\ui_compat.h" - -$(INCO_D)\krb5_asn.h: $(SRC_D)\crypto\krb5\krb5_asn.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\krb5\krb5_asn.h" "$(INCO_D)\krb5_asn.h" - -$(INCO_D)\pqueue.h: $(SRC_D)\crypto\pqueue\pqueue.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pqueue\pqueue.h" "$(INCO_D)\pqueue.h" - -$(INCO_D)\whrlpool.h: $(SRC_D)\crypto\whrlpool\whrlpool.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\whrlpool.h" "$(INCO_D)\whrlpool.h" - -$(INCO_D)\ts.h: $(SRC_D)\crypto\ts\ts.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ts\ts.h" "$(INCO_D)\ts.h" - -$(INCO_D)\srp.h: $(SRC_D)\crypto\srp\srp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\srp\srp.h" "$(INCO_D)\srp.h" - -$(INCO_D)\ssl.h: $(SRC_D)\ssl\ssl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl.h" "$(INCO_D)\ssl.h" - -$(INCO_D)\ssl2.h: $(SRC_D)\ssl\ssl2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl2.h" "$(INCO_D)\ssl2.h" - -$(INCO_D)\ssl3.h: $(SRC_D)\ssl\ssl3.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl3.h" "$(INCO_D)\ssl3.h" - -$(INCO_D)\ssl23.h: $(SRC_D)\ssl\ssl23.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl23.h" "$(INCO_D)\ssl23.h" - -$(INCO_D)\tls1.h: $(SRC_D)\ssl\tls1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\tls1.h" "$(INCO_D)\tls1.h" - -$(INCO_D)\dtls1.h: $(SRC_D)\ssl\dtls1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\dtls1.h" "$(INCO_D)\dtls1.h" - -$(INCO_D)\kssl.h: $(SRC_D)\ssl\kssl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl.h" "$(INCO_D)\kssl.h" - -$(INCO_D)\srtp.h: $(SRC_D)\ssl\srtp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\srtp.h" "$(INCO_D)\srtp.h" - -$(OBJ_D)\constant_time_test.obj: $(SRC_D)\crypto\constant_time_test.c - $(CC) -o$(OBJ_D)\constant_time_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\constant_time_test.c - -$(OBJ_D)\md4test.obj: $(SRC_D)\crypto\md4\md4test.c - $(CC) -o$(OBJ_D)\md4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md4\md4test.c - -$(OBJ_D)\md5test.obj: $(SRC_D)\crypto\md5\md5test.c - $(CC) -o$(OBJ_D)\md5test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md5\md5test.c - -$(OBJ_D)\shatest.obj: $(SRC_D)\crypto\sha\shatest.c - $(CC) -o$(OBJ_D)\shatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\shatest.c - -$(OBJ_D)\sha1test.obj: $(SRC_D)\crypto\sha\sha1test.c - $(CC) -o$(OBJ_D)\sha1test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha1test.c - -$(OBJ_D)\sha256t.obj: $(SRC_D)\crypto\sha\sha256t.c - $(CC) -o$(OBJ_D)\sha256t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha256t.c - -$(OBJ_D)\sha512t.obj: $(SRC_D)\crypto\sha\sha512t.c - $(CC) -o$(OBJ_D)\sha512t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha512t.c - -$(OBJ_D)\hmactest.obj: $(SRC_D)\crypto\hmac\hmactest.c - $(CC) -o$(OBJ_D)\hmactest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\hmac\hmactest.c - -$(OBJ_D)\rmdtest.obj: $(SRC_D)\crypto\ripemd\rmdtest.c - $(CC) -o$(OBJ_D)\rmdtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmdtest.c - -$(OBJ_D)\destest.obj: $(SRC_D)\crypto\des\destest.c - $(CC) -o$(OBJ_D)\destest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\des\destest.c - -$(OBJ_D)\rc2test.obj: $(SRC_D)\crypto\rc2\rc2test.c - $(CC) -o$(OBJ_D)\rc2test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2test.c - -$(OBJ_D)\rc4test.obj: $(SRC_D)\crypto\rc4\rc4test.c - $(CC) -o$(OBJ_D)\rc4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4test.c - -$(OBJ_D)\bftest.obj: $(SRC_D)\crypto\bf\bftest.c - $(CC) -o$(OBJ_D)\bftest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bf\bftest.c - -$(OBJ_D)\casttest.obj: $(SRC_D)\crypto\cast\casttest.c - $(CC) -o$(OBJ_D)\casttest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\cast\casttest.c - -$(OBJ_D)\bntest.obj: $(SRC_D)\crypto\bn\bntest.c - $(CC) -o$(OBJ_D)\bntest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\bntest.c - -$(OBJ_D)\exptest.obj: $(SRC_D)\crypto\bn\exptest.c - $(CC) -o$(OBJ_D)\exptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\exptest.c - -$(OBJ_D)\rsa_test.obj: $(SRC_D)\crypto\rsa\rsa_test.c - $(CC) -o$(OBJ_D)\rsa_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_test.c - -$(OBJ_D)\dsatest.obj: $(SRC_D)\crypto\dsa\dsatest.c - $(CC) -o$(OBJ_D)\dsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dsa\dsatest.c - -$(OBJ_D)\dhtest.obj: $(SRC_D)\crypto\dh\dhtest.c - $(CC) -o$(OBJ_D)\dhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dh\dhtest.c - -$(OBJ_D)\ectest.obj: $(SRC_D)\crypto\ec\ectest.c - $(CC) -o$(OBJ_D)\ectest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ec\ectest.c - -$(OBJ_D)\ecdhtest.obj: $(SRC_D)\crypto\ecdh\ecdhtest.c - $(CC) -o$(OBJ_D)\ecdhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdh\ecdhtest.c - -$(OBJ_D)\ecdsatest.obj: $(SRC_D)\crypto\ecdsa\ecdsatest.c - $(CC) -o$(OBJ_D)\ecdsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecdsatest.c - -$(OBJ_D)\randtest.obj: $(SRC_D)\crypto\rand\randtest.c - $(CC) -o$(OBJ_D)\randtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rand\randtest.c - -$(OBJ_D)\evp_test.obj: $(SRC_D)\crypto\evp\evp_test.c - $(CC) -o$(OBJ_D)\evp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_test.c - -$(OBJ_D)\evp_extra_test.obj: $(SRC_D)\crypto\evp\evp_extra_test.c - $(CC) -o$(OBJ_D)\evp_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_extra_test.c - -$(OBJ_D)\verify_extra_test.obj: $(SRC_D)\crypto\x509\verify_extra_test.c - $(CC) -o$(OBJ_D)\verify_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509\verify_extra_test.c - -$(OBJ_D)\v3nametest.obj: $(SRC_D)\crypto\x509v3\v3nametest.c - $(CC) -o$(OBJ_D)\v3nametest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3nametest.c - -$(OBJ_D)\enginetest.obj: $(SRC_D)\crypto\engine\enginetest.c - $(CC) -o$(OBJ_D)\enginetest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\engine\enginetest.c - -$(OBJ_D)\wp_test.obj: $(SRC_D)\crypto\whrlpool\wp_test.c - $(CC) -o$(OBJ_D)\wp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_test.c - -$(OBJ_D)\srptest.obj: $(SRC_D)\crypto\srp\srptest.c - $(CC) -o$(OBJ_D)\srptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\srp\srptest.c - -$(OBJ_D)\ssltest.obj: $(SRC_D)\ssl\ssltest.c - $(CC) -o$(OBJ_D)\ssltest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\ssltest.c - -$(OBJ_D)\heartbeat_test.obj: $(SRC_D)\ssl\heartbeat_test.c - $(CC) -o$(OBJ_D)\heartbeat_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\heartbeat_test.c - -$(OBJ_D)\clienthellotest.obj: $(SRC_D)\ssl\clienthellotest.c - $(CC) -o$(OBJ_D)\clienthellotest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\clienthellotest.c - -$(OBJ_D)\sslv2conftest.obj: $(SRC_D)\ssl\sslv2conftest.c - $(CC) -o$(OBJ_D)\sslv2conftest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\sslv2conftest.c - -$(OBJ_D)\dtlstest.obj: $(SRC_D)\ssl\dtlstest.c - $(CC) -o$(OBJ_D)\dtlstest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\dtlstest.c - -$(OBJ_D)\bad_dtls_test.obj: $(SRC_D)\ssl\bad_dtls_test.c - $(CC) -o$(OBJ_D)\bad_dtls_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\bad_dtls_test.c - -$(OBJ_D)\fatalerrtest.obj: $(SRC_D)\ssl\fatalerrtest.c - $(CC) -o$(OBJ_D)\fatalerrtest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\fatalerrtest.c - -$(OBJ_D)\igetest.obj: $(SRC_D)\test\igetest.c - $(CC) -o$(OBJ_D)\igetest.obj $(APP_CFLAGS) -c $(SRC_D)\test\igetest.c - -$(OBJ_D)\ssltestlib.obj: $(SRC_D)\test\ssltestlib.c - $(CC) -o$(OBJ_D)\ssltestlib.obj $(APP_CFLAGS) -c $(SRC_D)\test\ssltestlib.c - -$(OBJ_D)\verify.obj: $(SRC_D)\apps\verify.c - $(CC) -o$(OBJ_D)\verify.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\verify.c - -$(OBJ_D)\asn1pars.obj: $(SRC_D)\apps\asn1pars.c - $(CC) -o$(OBJ_D)\asn1pars.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\asn1pars.c - -$(OBJ_D)\req.obj: $(SRC_D)\apps\req.c - $(CC) -o$(OBJ_D)\req.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\req.c - -$(OBJ_D)\dgst.obj: $(SRC_D)\apps\dgst.c - $(CC) -o$(OBJ_D)\dgst.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dgst.c - -$(OBJ_D)\dh.obj: $(SRC_D)\apps\dh.c - $(CC) -o$(OBJ_D)\dh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dh.c - -$(OBJ_D)\dhparam.obj: $(SRC_D)\apps\dhparam.c - $(CC) -o$(OBJ_D)\dhparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dhparam.c - -$(OBJ_D)\enc.obj: $(SRC_D)\apps\enc.c - $(CC) -o$(OBJ_D)\enc.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\enc.c - -$(OBJ_D)\passwd.obj: $(SRC_D)\apps\passwd.c - $(CC) -o$(OBJ_D)\passwd.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\passwd.c - -$(OBJ_D)\gendh.obj: $(SRC_D)\apps\gendh.c - $(CC) -o$(OBJ_D)\gendh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendh.c - -$(OBJ_D)\errstr.obj: $(SRC_D)\apps\errstr.c - $(CC) -o$(OBJ_D)\errstr.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\errstr.c - -$(OBJ_D)\ca.obj: $(SRC_D)\apps\ca.c - $(CC) -o$(OBJ_D)\ca.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ca.c - -$(OBJ_D)\pkcs7.obj: $(SRC_D)\apps\pkcs7.c - $(CC) -o$(OBJ_D)\pkcs7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs7.c - -$(OBJ_D)\crl2p7.obj: $(SRC_D)\apps\crl2p7.c - $(CC) -o$(OBJ_D)\crl2p7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl2p7.c - -$(OBJ_D)\crl.obj: $(SRC_D)\apps\crl.c - $(CC) -o$(OBJ_D)\crl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl.c - -$(OBJ_D)\rsa.obj: $(SRC_D)\apps\rsa.c - $(CC) -o$(OBJ_D)\rsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsa.c - -$(OBJ_D)\rsautl.obj: $(SRC_D)\apps\rsautl.c - $(CC) -o$(OBJ_D)\rsautl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsautl.c - -$(OBJ_D)\dsa.obj: $(SRC_D)\apps\dsa.c - $(CC) -o$(OBJ_D)\dsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsa.c - -$(OBJ_D)\dsaparam.obj: $(SRC_D)\apps\dsaparam.c - $(CC) -o$(OBJ_D)\dsaparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsaparam.c - -$(OBJ_D)\ec.obj: $(SRC_D)\apps\ec.c - $(CC) -o$(OBJ_D)\ec.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ec.c - -$(OBJ_D)\ecparam.obj: $(SRC_D)\apps\ecparam.c - $(CC) -o$(OBJ_D)\ecparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ecparam.c - -$(OBJ_D)\x509.obj: $(SRC_D)\apps\x509.c - $(CC) -o$(OBJ_D)\x509.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\x509.c - -$(OBJ_D)\genrsa.obj: $(SRC_D)\apps\genrsa.c - $(CC) -o$(OBJ_D)\genrsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genrsa.c - -$(OBJ_D)\gendsa.obj: $(SRC_D)\apps\gendsa.c - $(CC) -o$(OBJ_D)\gendsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendsa.c - -$(OBJ_D)\genpkey.obj: $(SRC_D)\apps\genpkey.c - $(CC) -o$(OBJ_D)\genpkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genpkey.c - -$(OBJ_D)\s_server.obj: $(SRC_D)\apps\s_server.c - $(CC) -o$(OBJ_D)\s_server.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_server.c - -$(OBJ_D)\s_client.obj: $(SRC_D)\apps\s_client.c - $(CC) -o$(OBJ_D)\s_client.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_client.c - -$(OBJ_D)\speed.obj: $(SRC_D)\apps\speed.c - $(CC) -o$(OBJ_D)\speed.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\speed.c - -$(OBJ_D)\s_time.obj: $(SRC_D)\apps\s_time.c - $(CC) -o$(OBJ_D)\s_time.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_time.c - -$(OBJ_D)\apps.obj: $(SRC_D)\apps\apps.c - $(CC) -o$(OBJ_D)\apps.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\apps.c - -$(OBJ_D)\s_cb.obj: $(SRC_D)\apps\s_cb.c - $(CC) -o$(OBJ_D)\s_cb.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_cb.c - -$(OBJ_D)\s_socket.obj: $(SRC_D)\apps\s_socket.c - $(CC) -o$(OBJ_D)\s_socket.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_socket.c - -$(OBJ_D)\app_rand.obj: $(SRC_D)\apps\app_rand.c - $(CC) -o$(OBJ_D)\app_rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\app_rand.c - -$(OBJ_D)\version.obj: $(SRC_D)\apps\version.c - $(CC) -o$(OBJ_D)\version.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\version.c - -$(OBJ_D)\sess_id.obj: $(SRC_D)\apps\sess_id.c - $(CC) -o$(OBJ_D)\sess_id.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\sess_id.c - -$(OBJ_D)\ciphers.obj: $(SRC_D)\apps\ciphers.c - $(CC) -o$(OBJ_D)\ciphers.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ciphers.c - -$(OBJ_D)\nseq.obj: $(SRC_D)\apps\nseq.c - $(CC) -o$(OBJ_D)\nseq.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\nseq.c - -$(OBJ_D)\pkcs12.obj: $(SRC_D)\apps\pkcs12.c - $(CC) -o$(OBJ_D)\pkcs12.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs12.c - -$(OBJ_D)\pkcs8.obj: $(SRC_D)\apps\pkcs8.c - $(CC) -o$(OBJ_D)\pkcs8.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs8.c - -$(OBJ_D)\pkey.obj: $(SRC_D)\apps\pkey.c - $(CC) -o$(OBJ_D)\pkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkey.c - -$(OBJ_D)\pkeyparam.obj: $(SRC_D)\apps\pkeyparam.c - $(CC) -o$(OBJ_D)\pkeyparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyparam.c - -$(OBJ_D)\pkeyutl.obj: $(SRC_D)\apps\pkeyutl.c - $(CC) -o$(OBJ_D)\pkeyutl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyutl.c - -$(OBJ_D)\spkac.obj: $(SRC_D)\apps\spkac.c - $(CC) -o$(OBJ_D)\spkac.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\spkac.c - -$(OBJ_D)\smime.obj: $(SRC_D)\apps\smime.c - $(CC) -o$(OBJ_D)\smime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\smime.c - -$(OBJ_D)\cms.obj: $(SRC_D)\apps\cms.c - $(CC) -o$(OBJ_D)\cms.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\cms.c - -$(OBJ_D)\rand.obj: $(SRC_D)\apps\rand.c - $(CC) -o$(OBJ_D)\rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rand.c - -$(OBJ_D)\engine.obj: $(SRC_D)\apps\engine.c - $(CC) -o$(OBJ_D)\engine.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\engine.c - -$(OBJ_D)\ocsp.obj: $(SRC_D)\apps\ocsp.c - $(CC) -o$(OBJ_D)\ocsp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ocsp.c - -$(OBJ_D)\prime.obj: $(SRC_D)\apps\prime.c - $(CC) -o$(OBJ_D)\prime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\prime.c - -$(OBJ_D)\ts.obj: $(SRC_D)\apps\ts.c - $(CC) -o$(OBJ_D)\ts.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ts.c - -$(OBJ_D)\srp.obj: $(SRC_D)\apps\srp.c - $(CC) -o$(OBJ_D)\srp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\srp.c - -$(OBJ_D)\openssl.obj: $(SRC_D)\apps\openssl.c - $(CC) -o$(OBJ_D)\openssl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\openssl.c - -$(OBJ_D)\cryptlib.obj: $(SRC_D)\crypto\cryptlib.c - $(CC) -o$(OBJ_D)\cryptlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cryptlib.c - -$(OBJ_D)\mem.obj: $(SRC_D)\crypto\mem.c - $(CC) -o$(OBJ_D)\mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem.c - -$(OBJ_D)\mem_dbg.obj: $(SRC_D)\crypto\mem_dbg.c - $(CC) -o$(OBJ_D)\mem_dbg.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem_dbg.c - -$(OBJ_D)\cversion.obj: $(SRC_D)\crypto\cversion.c - $(CC) -o$(OBJ_D)\cversion.obj $(LIB_CFLAGS) -DMK1MF_BUILD -DMK1MF_PLATFORM_BC_NT -c $(SRC_D)\crypto\cversion.c - -$(OBJ_D)\ex_data.obj: $(SRC_D)\crypto\ex_data.c - $(CC) -o$(OBJ_D)\ex_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ex_data.c - -$(OBJ_D)\cpt_err.obj: $(SRC_D)\crypto\cpt_err.c - $(CC) -o$(OBJ_D)\cpt_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cpt_err.c - -$(OBJ_D)\ebcdic.obj: $(SRC_D)\crypto\ebcdic.c - $(CC) -o$(OBJ_D)\ebcdic.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ebcdic.c - -$(OBJ_D)\uid.obj: $(SRC_D)\crypto\uid.c - $(CC) -o$(OBJ_D)\uid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\uid.c - -$(OBJ_D)\o_time.obj: $(SRC_D)\crypto\o_time.c - $(CC) -o$(OBJ_D)\o_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_time.c - -$(OBJ_D)\o_str.obj: $(SRC_D)\crypto\o_str.c - $(CC) -o$(OBJ_D)\o_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_str.c - -$(OBJ_D)\o_dir.obj: $(SRC_D)\crypto\o_dir.c - $(CC) -o$(OBJ_D)\o_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_dir.c - -$(OBJ_D)\o_fips.obj: $(SRC_D)\crypto\o_fips.c - $(CC) -o$(OBJ_D)\o_fips.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_fips.c - -$(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c - $(CC) -o$(OBJ_D)\o_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_init.c - -$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c - $(CC) -o$(OBJ_D)\fips_ers.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\fips_ers.c - -$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c - $(CC) -o$(OBJ_D)\getenv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\getenv.c - -$(TMP_D)\x86cpuid.asm: crypto\x86cpuid.pl - $(PERL) crypto\x86cpuid.pl $(CFLAG) >$@ - -$(OBJ_D)\x86cpuid.obj: $(TMP_D)\x86cpuid.asm - $(ASM) -o$@ $(TMP_D)\x86cpuid.asm - -$(OBJ_D)\md4_dgst.obj: $(SRC_D)\crypto\md4\md4_dgst.c - $(CC) -o$(OBJ_D)\md4_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_dgst.c - -$(OBJ_D)\md4_one.obj: $(SRC_D)\crypto\md4\md4_one.c - $(CC) -o$(OBJ_D)\md4_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_one.c - -$(OBJ_D)\md5_dgst.obj: $(SRC_D)\crypto\md5\md5_dgst.c - $(CC) -o$(OBJ_D)\md5_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_dgst.c - -$(OBJ_D)\md5_one.obj: $(SRC_D)\crypto\md5\md5_one.c - $(CC) -o$(OBJ_D)\md5_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_one.c - -$(TMP_D)\md5-586.asm: crypto\md5\asm\md5-586.pl - $(PERL) crypto\md5\asm\md5-586.pl $(CFLAG) >$@ - -$(OBJ_D)\md5-586.obj: $(TMP_D)\md5-586.asm - $(ASM) -o$@ $(TMP_D)\md5-586.asm - -$(OBJ_D)\sha_dgst.obj: $(SRC_D)\crypto\sha\sha_dgst.c - $(CC) -o$(OBJ_D)\sha_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_dgst.c - -$(OBJ_D)\sha1dgst.obj: $(SRC_D)\crypto\sha\sha1dgst.c - $(CC) -o$(OBJ_D)\sha1dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1dgst.c - -$(OBJ_D)\sha_one.obj: $(SRC_D)\crypto\sha\sha_one.c - $(CC) -o$(OBJ_D)\sha_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_one.c - -$(OBJ_D)\sha1_one.obj: $(SRC_D)\crypto\sha\sha1_one.c - $(CC) -o$(OBJ_D)\sha1_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1_one.c - -$(OBJ_D)\sha256.obj: $(SRC_D)\crypto\sha\sha256.c - $(CC) -o$(OBJ_D)\sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha256.c - -$(OBJ_D)\sha512.obj: $(SRC_D)\crypto\sha\sha512.c - $(CC) -o$(OBJ_D)\sha512.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha512.c - -$(TMP_D)\sha1-586.asm: crypto\sha\asm\sha1-586.pl - $(PERL) crypto\sha\asm\sha1-586.pl $(CFLAG) >$@ - -$(OBJ_D)\sha1-586.obj: $(TMP_D)\sha1-586.asm - $(ASM) -o$@ $(TMP_D)\sha1-586.asm - -$(TMP_D)\sha256-586.asm: crypto\sha\asm\sha256-586.pl - $(PERL) crypto\sha\asm\sha256-586.pl $(CFLAG) >$@ - -$(OBJ_D)\sha256-586.obj: $(TMP_D)\sha256-586.asm - $(ASM) -o$@ $(TMP_D)\sha256-586.asm - -$(TMP_D)\sha512-586.asm: crypto\sha\asm\sha512-586.pl - $(PERL) crypto\sha\asm\sha512-586.pl $(CFLAG) >$@ - -$(OBJ_D)\sha512-586.obj: $(TMP_D)\sha512-586.asm - $(ASM) -o$@ $(TMP_D)\sha512-586.asm - -$(OBJ_D)\hmac.obj: $(SRC_D)\crypto\hmac\hmac.c - $(CC) -o$(OBJ_D)\hmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hmac.c - -$(OBJ_D)\hm_ameth.obj: $(SRC_D)\crypto\hmac\hm_ameth.c - $(CC) -o$(OBJ_D)\hm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_ameth.c - -$(OBJ_D)\hm_pmeth.obj: $(SRC_D)\crypto\hmac\hm_pmeth.c - $(CC) -o$(OBJ_D)\hm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_pmeth.c - -$(OBJ_D)\cmac.obj: $(SRC_D)\crypto\cmac\cmac.c - $(CC) -o$(OBJ_D)\cmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cmac.c - -$(OBJ_D)\cm_ameth.obj: $(SRC_D)\crypto\cmac\cm_ameth.c - $(CC) -o$(OBJ_D)\cm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_ameth.c - -$(OBJ_D)\cm_pmeth.obj: $(SRC_D)\crypto\cmac\cm_pmeth.c - $(CC) -o$(OBJ_D)\cm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_pmeth.c - -$(OBJ_D)\rmd_dgst.obj: $(SRC_D)\crypto\ripemd\rmd_dgst.c - $(CC) -o$(OBJ_D)\rmd_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_dgst.c - -$(OBJ_D)\rmd_one.obj: $(SRC_D)\crypto\ripemd\rmd_one.c - $(CC) -o$(OBJ_D)\rmd_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_one.c - -$(TMP_D)\rmd-586.asm: crypto\ripemd\asm\rmd-586.pl - $(PERL) crypto\ripemd\asm\rmd-586.pl $(CFLAG) >$@ - -$(OBJ_D)\rmd-586.obj: $(TMP_D)\rmd-586.asm - $(ASM) -o$@ $(TMP_D)\rmd-586.asm - -$(OBJ_D)\set_key.obj: $(SRC_D)\crypto\des\set_key.c - $(CC) -o$(OBJ_D)\set_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\set_key.c - -$(OBJ_D)\ecb_enc.obj: $(SRC_D)\crypto\des\ecb_enc.c - $(CC) -o$(OBJ_D)\ecb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb_enc.c - -$(OBJ_D)\cbc_enc.obj: $(SRC_D)\crypto\des\cbc_enc.c - $(CC) -o$(OBJ_D)\cbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_enc.c - -$(OBJ_D)\ecb3_enc.obj: $(SRC_D)\crypto\des\ecb3_enc.c - $(CC) -o$(OBJ_D)\ecb3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb3_enc.c - -$(OBJ_D)\cfb64enc.obj: $(SRC_D)\crypto\des\cfb64enc.c - $(CC) -o$(OBJ_D)\cfb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64enc.c - -$(OBJ_D)\cfb64ede.obj: $(SRC_D)\crypto\des\cfb64ede.c - $(CC) -o$(OBJ_D)\cfb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64ede.c - -$(OBJ_D)\cfb_enc.obj: $(SRC_D)\crypto\des\cfb_enc.c - $(CC) -o$(OBJ_D)\cfb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb_enc.c - -$(OBJ_D)\ofb64ede.obj: $(SRC_D)\crypto\des\ofb64ede.c - $(CC) -o$(OBJ_D)\ofb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64ede.c - -$(OBJ_D)\enc_read.obj: $(SRC_D)\crypto\des\enc_read.c - $(CC) -o$(OBJ_D)\enc_read.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_read.c - -$(OBJ_D)\enc_writ.obj: $(SRC_D)\crypto\des\enc_writ.c - $(CC) -o$(OBJ_D)\enc_writ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_writ.c - -$(OBJ_D)\ofb64enc.obj: $(SRC_D)\crypto\des\ofb64enc.c - $(CC) -o$(OBJ_D)\ofb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64enc.c - -$(OBJ_D)\ofb_enc.obj: $(SRC_D)\crypto\des\ofb_enc.c - $(CC) -o$(OBJ_D)\ofb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb_enc.c - -$(OBJ_D)\str2key.obj: $(SRC_D)\crypto\des\str2key.c - $(CC) -o$(OBJ_D)\str2key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\str2key.c - -$(OBJ_D)\pcbc_enc.obj: $(SRC_D)\crypto\des\pcbc_enc.c - $(CC) -o$(OBJ_D)\pcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\pcbc_enc.c - -$(OBJ_D)\qud_cksm.obj: $(SRC_D)\crypto\des\qud_cksm.c - $(CC) -o$(OBJ_D)\qud_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\qud_cksm.c - -$(OBJ_D)\rand_key.obj: $(SRC_D)\crypto\des\rand_key.c - $(CC) -o$(OBJ_D)\rand_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rand_key.c - -$(TMP_D)\des-586.asm: crypto\des\asm\des-586.pl - $(PERL) crypto\des\asm\des-586.pl $(CFLAG) >$@ - -$(OBJ_D)\des-586.obj: $(TMP_D)\des-586.asm - $(ASM) -o$@ $(TMP_D)\des-586.asm - -$(TMP_D)\crypt586.asm: crypto\des\asm\crypt586.pl - $(PERL) crypto\des\asm\crypt586.pl $(CFLAG) >$@ - -$(OBJ_D)\crypt586.obj: $(TMP_D)\crypt586.asm - $(ASM) -o$@ $(TMP_D)\crypt586.asm - -$(OBJ_D)\fcrypt.obj: $(SRC_D)\crypto\des\fcrypt.c - $(CC) -o$(OBJ_D)\fcrypt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\fcrypt.c - -$(OBJ_D)\xcbc_enc.obj: $(SRC_D)\crypto\des\xcbc_enc.c - $(CC) -o$(OBJ_D)\xcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\xcbc_enc.c - -$(OBJ_D)\rpc_enc.obj: $(SRC_D)\crypto\des\rpc_enc.c - $(CC) -o$(OBJ_D)\rpc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rpc_enc.c - -$(OBJ_D)\cbc_cksm.obj: $(SRC_D)\crypto\des\cbc_cksm.c - $(CC) -o$(OBJ_D)\cbc_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_cksm.c - -$(OBJ_D)\ede_cbcm_enc.obj: $(SRC_D)\crypto\des\ede_cbcm_enc.c - $(CC) -o$(OBJ_D)\ede_cbcm_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ede_cbcm_enc.c - -$(OBJ_D)\des_old.obj: $(SRC_D)\crypto\des\des_old.c - $(CC) -o$(OBJ_D)\des_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old.c - -$(OBJ_D)\des_old2.obj: $(SRC_D)\crypto\des\des_old2.c - $(CC) -o$(OBJ_D)\des_old2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old2.c - -$(OBJ_D)\read2pwd.obj: $(SRC_D)\crypto\des\read2pwd.c - $(CC) -o$(OBJ_D)\read2pwd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\read2pwd.c - -$(OBJ_D)\rc2_ecb.obj: $(SRC_D)\crypto\rc2\rc2_ecb.c - $(CC) -o$(OBJ_D)\rc2_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_ecb.c - -$(OBJ_D)\rc2_skey.obj: $(SRC_D)\crypto\rc2\rc2_skey.c - $(CC) -o$(OBJ_D)\rc2_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_skey.c - -$(OBJ_D)\rc2_cbc.obj: $(SRC_D)\crypto\rc2\rc2_cbc.c - $(CC) -o$(OBJ_D)\rc2_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_cbc.c - -$(OBJ_D)\rc2cfb64.obj: $(SRC_D)\crypto\rc2\rc2cfb64.c - $(CC) -o$(OBJ_D)\rc2cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2cfb64.c - -$(OBJ_D)\rc2ofb64.obj: $(SRC_D)\crypto\rc2\rc2ofb64.c - $(CC) -o$(OBJ_D)\rc2ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2ofb64.c - -$(TMP_D)\rc4-586.asm: crypto\rc4\asm\rc4-586.pl - $(PERL) crypto\rc4\asm\rc4-586.pl $(CFLAG) >$@ - -$(OBJ_D)\rc4-586.obj: $(TMP_D)\rc4-586.asm - $(ASM) -o$@ $(TMP_D)\rc4-586.asm - -$(OBJ_D)\rc4_utl.obj: $(SRC_D)\crypto\rc4\rc4_utl.c - $(CC) -o$(OBJ_D)\rc4_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4_utl.c - -$(OBJ_D)\bf_skey.obj: $(SRC_D)\crypto\bf\bf_skey.c - $(CC) -o$(OBJ_D)\bf_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_skey.c - -$(OBJ_D)\bf_ecb.obj: $(SRC_D)\crypto\bf\bf_ecb.c - $(CC) -o$(OBJ_D)\bf_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ecb.c - -$(TMP_D)\bf-586.asm: crypto\bf\asm\bf-586.pl - $(PERL) crypto\bf\asm\bf-586.pl $(CFLAG) >$@ - -$(OBJ_D)\bf-586.obj: $(TMP_D)\bf-586.asm - $(ASM) -o$@ $(TMP_D)\bf-586.asm - -$(OBJ_D)\bf_cfb64.obj: $(SRC_D)\crypto\bf\bf_cfb64.c - $(CC) -o$(OBJ_D)\bf_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_cfb64.c - -$(OBJ_D)\bf_ofb64.obj: $(SRC_D)\crypto\bf\bf_ofb64.c - $(CC) -o$(OBJ_D)\bf_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ofb64.c - -$(OBJ_D)\c_skey.obj: $(SRC_D)\crypto\cast\c_skey.c - $(CC) -o$(OBJ_D)\c_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_skey.c - -$(OBJ_D)\c_ecb.obj: $(SRC_D)\crypto\cast\c_ecb.c - $(CC) -o$(OBJ_D)\c_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ecb.c - -$(TMP_D)\cast-586.asm: crypto\cast\asm\cast-586.pl - $(PERL) crypto\cast\asm\cast-586.pl $(CFLAG) >$@ - -$(OBJ_D)\cast-586.obj: $(TMP_D)\cast-586.asm - $(ASM) -o$@ $(TMP_D)\cast-586.asm - -$(OBJ_D)\c_cfb64.obj: $(SRC_D)\crypto\cast\c_cfb64.c - $(CC) -o$(OBJ_D)\c_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_cfb64.c - -$(OBJ_D)\c_ofb64.obj: $(SRC_D)\crypto\cast\c_ofb64.c - $(CC) -o$(OBJ_D)\c_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ofb64.c - -$(OBJ_D)\aes_misc.obj: $(SRC_D)\crypto\aes\aes_misc.c - $(CC) -o$(OBJ_D)\aes_misc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_misc.c - -$(OBJ_D)\aes_ecb.obj: $(SRC_D)\crypto\aes\aes_ecb.c - $(CC) -o$(OBJ_D)\aes_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ecb.c - -$(OBJ_D)\aes_cfb.obj: $(SRC_D)\crypto\aes\aes_cfb.c - $(CC) -o$(OBJ_D)\aes_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_cfb.c - -$(OBJ_D)\aes_ofb.obj: $(SRC_D)\crypto\aes\aes_ofb.c - $(CC) -o$(OBJ_D)\aes_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ofb.c - -$(OBJ_D)\aes_ctr.obj: $(SRC_D)\crypto\aes\aes_ctr.c - $(CC) -o$(OBJ_D)\aes_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ctr.c - -$(OBJ_D)\aes_ige.obj: $(SRC_D)\crypto\aes\aes_ige.c - $(CC) -o$(OBJ_D)\aes_ige.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ige.c - -$(OBJ_D)\aes_wrap.obj: $(SRC_D)\crypto\aes\aes_wrap.c - $(CC) -o$(OBJ_D)\aes_wrap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_wrap.c - -$(TMP_D)\aes-586.asm: crypto\aes\asm\aes-586.pl - $(PERL) crypto\aes\asm\aes-586.pl $(CFLAG) >$@ - -$(OBJ_D)\aes-586.obj: $(TMP_D)\aes-586.asm - $(ASM) -o$@ $(TMP_D)\aes-586.asm - -$(TMP_D)\vpaes-x86.asm: crypto\aes\asm\vpaes-x86.pl - $(PERL) crypto\aes\asm\vpaes-x86.pl $(CFLAG) >$@ - -$(OBJ_D)\vpaes-x86.obj: $(TMP_D)\vpaes-x86.asm - $(ASM) -o$@ $(TMP_D)\vpaes-x86.asm - -$(TMP_D)\aesni-x86.asm: crypto\aes\asm\aesni-x86.pl - $(PERL) crypto\aes\asm\aesni-x86.pl $(CFLAG) >$@ - -$(OBJ_D)\aesni-x86.obj: $(TMP_D)\aesni-x86.asm - $(ASM) -o$@ $(TMP_D)\aesni-x86.asm - -$(OBJ_D)\cmll_ecb.obj: $(SRC_D)\crypto\camellia\cmll_ecb.c - $(CC) -o$(OBJ_D)\cmll_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ecb.c - -$(OBJ_D)\cmll_ofb.obj: $(SRC_D)\crypto\camellia\cmll_ofb.c - $(CC) -o$(OBJ_D)\cmll_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ofb.c - -$(OBJ_D)\cmll_cfb.obj: $(SRC_D)\crypto\camellia\cmll_cfb.c - $(CC) -o$(OBJ_D)\cmll_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_cfb.c - -$(OBJ_D)\cmll_ctr.obj: $(SRC_D)\crypto\camellia\cmll_ctr.c - $(CC) -o$(OBJ_D)\cmll_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ctr.c - -$(OBJ_D)\cmll_utl.obj: $(SRC_D)\crypto\camellia\cmll_utl.c - $(CC) -o$(OBJ_D)\cmll_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_utl.c - -$(TMP_D)\cmll-x86.asm: crypto\camellia\asm\cmll-x86.pl - $(PERL) crypto\camellia\asm\cmll-x86.pl $(CFLAG) >$@ - -$(OBJ_D)\cmll-x86.obj: $(TMP_D)\cmll-x86.asm - $(ASM) -o$@ $(TMP_D)\cmll-x86.asm - -$(OBJ_D)\seed.obj: $(SRC_D)\crypto\seed\seed.c - $(CC) -o$(OBJ_D)\seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed.c - -$(OBJ_D)\seed_ecb.obj: $(SRC_D)\crypto\seed\seed_ecb.c - $(CC) -o$(OBJ_D)\seed_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ecb.c - -$(OBJ_D)\seed_cbc.obj: $(SRC_D)\crypto\seed\seed_cbc.c - $(CC) -o$(OBJ_D)\seed_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cbc.c - -$(OBJ_D)\seed_cfb.obj: $(SRC_D)\crypto\seed\seed_cfb.c - $(CC) -o$(OBJ_D)\seed_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cfb.c - -$(OBJ_D)\seed_ofb.obj: $(SRC_D)\crypto\seed\seed_ofb.c - $(CC) -o$(OBJ_D)\seed_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ofb.c - -$(OBJ_D)\cbc128.obj: $(SRC_D)\crypto\modes\cbc128.c - $(CC) -o$(OBJ_D)\cbc128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cbc128.c - -$(OBJ_D)\ctr128.obj: $(SRC_D)\crypto\modes\ctr128.c - $(CC) -o$(OBJ_D)\ctr128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ctr128.c - -$(OBJ_D)\cts128.obj: $(SRC_D)\crypto\modes\cts128.c - $(CC) -o$(OBJ_D)\cts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cts128.c - -$(OBJ_D)\cfb128.obj: $(SRC_D)\crypto\modes\cfb128.c - $(CC) -o$(OBJ_D)\cfb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cfb128.c - -$(OBJ_D)\ofb128.obj: $(SRC_D)\crypto\modes\ofb128.c - $(CC) -o$(OBJ_D)\ofb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ofb128.c - -$(OBJ_D)\gcm128.obj: $(SRC_D)\crypto\modes\gcm128.c - $(CC) -o$(OBJ_D)\gcm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\gcm128.c - -$(OBJ_D)\ccm128.obj: $(SRC_D)\crypto\modes\ccm128.c - $(CC) -o$(OBJ_D)\ccm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ccm128.c - -$(OBJ_D)\xts128.obj: $(SRC_D)\crypto\modes\xts128.c - $(CC) -o$(OBJ_D)\xts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\xts128.c - -$(OBJ_D)\wrap128.obj: $(SRC_D)\crypto\modes\wrap128.c - $(CC) -o$(OBJ_D)\wrap128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\wrap128.c - -$(TMP_D)\ghash-x86.asm: crypto\modes\asm\ghash-x86.pl - $(PERL) crypto\modes\asm\ghash-x86.pl $(CFLAG) >$@ - -$(OBJ_D)\ghash-x86.obj: $(TMP_D)\ghash-x86.asm - $(ASM) -o$@ $(TMP_D)\ghash-x86.asm - -$(OBJ_D)\bn_add.obj: $(SRC_D)\crypto\bn\bn_add.c - $(CC) -o$(OBJ_D)\bn_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_add.c - -$(OBJ_D)\bn_div.obj: $(SRC_D)\crypto\bn\bn_div.c - $(CC) -o$(OBJ_D)\bn_div.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_div.c - -$(OBJ_D)\bn_exp.obj: $(SRC_D)\crypto\bn\bn_exp.c - $(CC) -o$(OBJ_D)\bn_exp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp.c - -$(OBJ_D)\bn_lib.obj: $(SRC_D)\crypto\bn\bn_lib.c - $(CC) -o$(OBJ_D)\bn_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_lib.c - -$(OBJ_D)\bn_ctx.obj: $(SRC_D)\crypto\bn\bn_ctx.c - $(CC) -o$(OBJ_D)\bn_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_ctx.c - -$(OBJ_D)\bn_mul.obj: $(SRC_D)\crypto\bn\bn_mul.c - $(CC) -o$(OBJ_D)\bn_mul.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mul.c - -$(OBJ_D)\bn_mod.obj: $(SRC_D)\crypto\bn\bn_mod.c - $(CC) -o$(OBJ_D)\bn_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mod.c - -$(OBJ_D)\bn_print.obj: $(SRC_D)\crypto\bn\bn_print.c - $(CC) -o$(OBJ_D)\bn_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_print.c - -$(OBJ_D)\bn_rand.obj: $(SRC_D)\crypto\bn\bn_rand.c - $(CC) -o$(OBJ_D)\bn_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_rand.c - -$(OBJ_D)\bn_shift.obj: $(SRC_D)\crypto\bn\bn_shift.c - $(CC) -o$(OBJ_D)\bn_shift.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_shift.c - -$(OBJ_D)\bn_word.obj: $(SRC_D)\crypto\bn\bn_word.c - $(CC) -o$(OBJ_D)\bn_word.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_word.c - -$(OBJ_D)\bn_blind.obj: $(SRC_D)\crypto\bn\bn_blind.c - $(CC) -o$(OBJ_D)\bn_blind.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_blind.c - -$(OBJ_D)\bn_kron.obj: $(SRC_D)\crypto\bn\bn_kron.c - $(CC) -o$(OBJ_D)\bn_kron.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_kron.c - -$(OBJ_D)\bn_sqrt.obj: $(SRC_D)\crypto\bn\bn_sqrt.c - $(CC) -o$(OBJ_D)\bn_sqrt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqrt.c - -$(OBJ_D)\bn_gcd.obj: $(SRC_D)\crypto\bn\bn_gcd.c - $(CC) -o$(OBJ_D)\bn_gcd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gcd.c - -$(OBJ_D)\bn_prime.obj: $(SRC_D)\crypto\bn\bn_prime.c - $(CC) -o$(OBJ_D)\bn_prime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_prime.c - -$(OBJ_D)\bn_err.obj: $(SRC_D)\crypto\bn\bn_err.c - $(CC) -o$(OBJ_D)\bn_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_err.c - -$(OBJ_D)\bn_sqr.obj: $(SRC_D)\crypto\bn\bn_sqr.c - $(CC) -o$(OBJ_D)\bn_sqr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqr.c - -$(TMP_D)\bn-586.asm: crypto\bn\asm\bn-586.pl - $(PERL) crypto\bn\asm\bn-586.pl $(CFLAG) >$@ - -$(OBJ_D)\bn-586.obj: $(TMP_D)\bn-586.asm - $(ASM) -o$@ $(TMP_D)\bn-586.asm - -$(TMP_D)\co-586.asm: crypto\bn\asm\co-586.pl - $(PERL) crypto\bn\asm\co-586.pl $(CFLAG) >$@ - -$(OBJ_D)\co-586.obj: $(TMP_D)\co-586.asm - $(ASM) -o$@ $(TMP_D)\co-586.asm - -$(TMP_D)\x86-mont.asm: crypto\bn\asm\x86-mont.pl - $(PERL) crypto\bn\asm\x86-mont.pl $(CFLAG) >$@ - -$(OBJ_D)\x86-mont.obj: $(TMP_D)\x86-mont.asm - $(ASM) -o$@ $(TMP_D)\x86-mont.asm - -$(TMP_D)\x86-gf2m.asm: crypto\bn\asm\x86-gf2m.pl - $(PERL) crypto\bn\asm\x86-gf2m.pl $(CFLAG) >$@ - -$(OBJ_D)\x86-gf2m.obj: $(TMP_D)\x86-gf2m.asm - $(ASM) -o$@ $(TMP_D)\x86-gf2m.asm - -$(OBJ_D)\bn_recp.obj: $(SRC_D)\crypto\bn\bn_recp.c - $(CC) -o$(OBJ_D)\bn_recp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_recp.c - -$(OBJ_D)\bn_mont.obj: $(SRC_D)\crypto\bn\bn_mont.c - $(CC) -o$(OBJ_D)\bn_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mont.c - -$(OBJ_D)\bn_mpi.obj: $(SRC_D)\crypto\bn\bn_mpi.c - $(CC) -o$(OBJ_D)\bn_mpi.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mpi.c - -$(OBJ_D)\bn_exp2.obj: $(SRC_D)\crypto\bn\bn_exp2.c - $(CC) -o$(OBJ_D)\bn_exp2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp2.c - -$(OBJ_D)\bn_gf2m.obj: $(SRC_D)\crypto\bn\bn_gf2m.c - $(CC) -o$(OBJ_D)\bn_gf2m.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gf2m.c - -$(OBJ_D)\bn_nist.obj: $(SRC_D)\crypto\bn\bn_nist.c - $(CC) -o$(OBJ_D)\bn_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_nist.c - -$(OBJ_D)\bn_depr.obj: $(SRC_D)\crypto\bn\bn_depr.c - $(CC) -o$(OBJ_D)\bn_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_depr.c - -$(OBJ_D)\bn_const.obj: $(SRC_D)\crypto\bn\bn_const.c - $(CC) -o$(OBJ_D)\bn_const.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_const.c - -$(OBJ_D)\bn_x931p.obj: $(SRC_D)\crypto\bn\bn_x931p.c - $(CC) -o$(OBJ_D)\bn_x931p.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_x931p.c - -$(OBJ_D)\rsa_eay.obj: $(SRC_D)\crypto\rsa\rsa_eay.c - $(CC) -o$(OBJ_D)\rsa_eay.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_eay.c - -$(OBJ_D)\rsa_gen.obj: $(SRC_D)\crypto\rsa\rsa_gen.c - $(CC) -o$(OBJ_D)\rsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_gen.c - -$(OBJ_D)\rsa_lib.obj: $(SRC_D)\crypto\rsa\rsa_lib.c - $(CC) -o$(OBJ_D)\rsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_lib.c - -$(OBJ_D)\rsa_sign.obj: $(SRC_D)\crypto\rsa\rsa_sign.c - $(CC) -o$(OBJ_D)\rsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_sign.c - -$(OBJ_D)\rsa_saos.obj: $(SRC_D)\crypto\rsa\rsa_saos.c - $(CC) -o$(OBJ_D)\rsa_saos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_saos.c - -$(OBJ_D)\rsa_err.obj: $(SRC_D)\crypto\rsa\rsa_err.c - $(CC) -o$(OBJ_D)\rsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_err.c - -$(OBJ_D)\rsa_pk1.obj: $(SRC_D)\crypto\rsa\rsa_pk1.c - $(CC) -o$(OBJ_D)\rsa_pk1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pk1.c - -$(OBJ_D)\rsa_ssl.obj: $(SRC_D)\crypto\rsa\rsa_ssl.c - $(CC) -o$(OBJ_D)\rsa_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ssl.c - -$(OBJ_D)\rsa_none.obj: $(SRC_D)\crypto\rsa\rsa_none.c - $(CC) -o$(OBJ_D)\rsa_none.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_none.c - -$(OBJ_D)\rsa_oaep.obj: $(SRC_D)\crypto\rsa\rsa_oaep.c - $(CC) -o$(OBJ_D)\rsa_oaep.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_oaep.c - -$(OBJ_D)\rsa_chk.obj: $(SRC_D)\crypto\rsa\rsa_chk.c - $(CC) -o$(OBJ_D)\rsa_chk.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_chk.c - -$(OBJ_D)\rsa_null.obj: $(SRC_D)\crypto\rsa\rsa_null.c - $(CC) -o$(OBJ_D)\rsa_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_null.c - -$(OBJ_D)\rsa_pss.obj: $(SRC_D)\crypto\rsa\rsa_pss.c - $(CC) -o$(OBJ_D)\rsa_pss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pss.c - -$(OBJ_D)\rsa_x931.obj: $(SRC_D)\crypto\rsa\rsa_x931.c - $(CC) -o$(OBJ_D)\rsa_x931.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_x931.c - -$(OBJ_D)\rsa_asn1.obj: $(SRC_D)\crypto\rsa\rsa_asn1.c - $(CC) -o$(OBJ_D)\rsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_asn1.c - -$(OBJ_D)\rsa_depr.obj: $(SRC_D)\crypto\rsa\rsa_depr.c - $(CC) -o$(OBJ_D)\rsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_depr.c - -$(OBJ_D)\rsa_ameth.obj: $(SRC_D)\crypto\rsa\rsa_ameth.c - $(CC) -o$(OBJ_D)\rsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ameth.c - -$(OBJ_D)\rsa_prn.obj: $(SRC_D)\crypto\rsa\rsa_prn.c - $(CC) -o$(OBJ_D)\rsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_prn.c - -$(OBJ_D)\rsa_pmeth.obj: $(SRC_D)\crypto\rsa\rsa_pmeth.c - $(CC) -o$(OBJ_D)\rsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pmeth.c - -$(OBJ_D)\rsa_crpt.obj: $(SRC_D)\crypto\rsa\rsa_crpt.c - $(CC) -o$(OBJ_D)\rsa_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_crpt.c - -$(OBJ_D)\dsa_gen.obj: $(SRC_D)\crypto\dsa\dsa_gen.c - $(CC) -o$(OBJ_D)\dsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_gen.c - -$(OBJ_D)\dsa_key.obj: $(SRC_D)\crypto\dsa\dsa_key.c - $(CC) -o$(OBJ_D)\dsa_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_key.c - -$(OBJ_D)\dsa_lib.obj: $(SRC_D)\crypto\dsa\dsa_lib.c - $(CC) -o$(OBJ_D)\dsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_lib.c - -$(OBJ_D)\dsa_asn1.obj: $(SRC_D)\crypto\dsa\dsa_asn1.c - $(CC) -o$(OBJ_D)\dsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_asn1.c - -$(OBJ_D)\dsa_vrf.obj: $(SRC_D)\crypto\dsa\dsa_vrf.c - $(CC) -o$(OBJ_D)\dsa_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_vrf.c - -$(OBJ_D)\dsa_sign.obj: $(SRC_D)\crypto\dsa\dsa_sign.c - $(CC) -o$(OBJ_D)\dsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_sign.c - -$(OBJ_D)\dsa_err.obj: $(SRC_D)\crypto\dsa\dsa_err.c - $(CC) -o$(OBJ_D)\dsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_err.c - -$(OBJ_D)\dsa_ossl.obj: $(SRC_D)\crypto\dsa\dsa_ossl.c - $(CC) -o$(OBJ_D)\dsa_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ossl.c - -$(OBJ_D)\dsa_depr.obj: $(SRC_D)\crypto\dsa\dsa_depr.c - $(CC) -o$(OBJ_D)\dsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_depr.c - -$(OBJ_D)\dsa_ameth.obj: $(SRC_D)\crypto\dsa\dsa_ameth.c - $(CC) -o$(OBJ_D)\dsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ameth.c - -$(OBJ_D)\dsa_pmeth.obj: $(SRC_D)\crypto\dsa\dsa_pmeth.c - $(CC) -o$(OBJ_D)\dsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_pmeth.c - -$(OBJ_D)\dsa_prn.obj: $(SRC_D)\crypto\dsa\dsa_prn.c - $(CC) -o$(OBJ_D)\dsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_prn.c - -$(OBJ_D)\dso_dl.obj: $(SRC_D)\crypto\dso\dso_dl.c - $(CC) -o$(OBJ_D)\dso_dl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dl.c - -$(OBJ_D)\dso_dlfcn.obj: $(SRC_D)\crypto\dso\dso_dlfcn.c - $(CC) -o$(OBJ_D)\dso_dlfcn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dlfcn.c - -$(OBJ_D)\dso_err.obj: $(SRC_D)\crypto\dso\dso_err.c - $(CC) -o$(OBJ_D)\dso_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_err.c - -$(OBJ_D)\dso_lib.obj: $(SRC_D)\crypto\dso\dso_lib.c - $(CC) -o$(OBJ_D)\dso_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_lib.c - -$(OBJ_D)\dso_null.obj: $(SRC_D)\crypto\dso\dso_null.c - $(CC) -o$(OBJ_D)\dso_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_null.c - -$(OBJ_D)\dso_openssl.obj: $(SRC_D)\crypto\dso\dso_openssl.c - $(CC) -o$(OBJ_D)\dso_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_openssl.c - -$(OBJ_D)\dso_win32.obj: $(SRC_D)\crypto\dso\dso_win32.c - $(CC) -o$(OBJ_D)\dso_win32.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_win32.c - -$(OBJ_D)\dso_vms.obj: $(SRC_D)\crypto\dso\dso_vms.c - $(CC) -o$(OBJ_D)\dso_vms.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_vms.c - -$(OBJ_D)\dso_beos.obj: $(SRC_D)\crypto\dso\dso_beos.c - $(CC) -o$(OBJ_D)\dso_beos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_beos.c - -$(OBJ_D)\dh_asn1.obj: $(SRC_D)\crypto\dh\dh_asn1.c - $(CC) -o$(OBJ_D)\dh_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_asn1.c - -$(OBJ_D)\dh_gen.obj: $(SRC_D)\crypto\dh\dh_gen.c - $(CC) -o$(OBJ_D)\dh_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_gen.c - -$(OBJ_D)\dh_key.obj: $(SRC_D)\crypto\dh\dh_key.c - $(CC) -o$(OBJ_D)\dh_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_key.c - -$(OBJ_D)\dh_lib.obj: $(SRC_D)\crypto\dh\dh_lib.c - $(CC) -o$(OBJ_D)\dh_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_lib.c - -$(OBJ_D)\dh_check.obj: $(SRC_D)\crypto\dh\dh_check.c - $(CC) -o$(OBJ_D)\dh_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_check.c - -$(OBJ_D)\dh_err.obj: $(SRC_D)\crypto\dh\dh_err.c - $(CC) -o$(OBJ_D)\dh_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_err.c - -$(OBJ_D)\dh_depr.obj: $(SRC_D)\crypto\dh\dh_depr.c - $(CC) -o$(OBJ_D)\dh_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_depr.c - -$(OBJ_D)\dh_ameth.obj: $(SRC_D)\crypto\dh\dh_ameth.c - $(CC) -o$(OBJ_D)\dh_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_ameth.c - -$(OBJ_D)\dh_pmeth.obj: $(SRC_D)\crypto\dh\dh_pmeth.c - $(CC) -o$(OBJ_D)\dh_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_pmeth.c - -$(OBJ_D)\dh_prn.obj: $(SRC_D)\crypto\dh\dh_prn.c - $(CC) -o$(OBJ_D)\dh_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_prn.c - -$(OBJ_D)\dh_rfc5114.obj: $(SRC_D)\crypto\dh\dh_rfc5114.c - $(CC) -o$(OBJ_D)\dh_rfc5114.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_rfc5114.c - -$(OBJ_D)\dh_kdf.obj: $(SRC_D)\crypto\dh\dh_kdf.c - $(CC) -o$(OBJ_D)\dh_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_kdf.c - -$(OBJ_D)\ec_lib.obj: $(SRC_D)\crypto\ec\ec_lib.c - $(CC) -o$(OBJ_D)\ec_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_lib.c - -$(OBJ_D)\ecp_smpl.obj: $(SRC_D)\crypto\ec\ecp_smpl.c - $(CC) -o$(OBJ_D)\ecp_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_smpl.c - -$(OBJ_D)\ecp_mont.obj: $(SRC_D)\crypto\ec\ecp_mont.c - $(CC) -o$(OBJ_D)\ecp_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_mont.c - -$(OBJ_D)\ecp_nist.obj: $(SRC_D)\crypto\ec\ecp_nist.c - $(CC) -o$(OBJ_D)\ecp_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nist.c - -$(OBJ_D)\ec_cvt.obj: $(SRC_D)\crypto\ec\ec_cvt.c - $(CC) -o$(OBJ_D)\ec_cvt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_cvt.c - -$(OBJ_D)\ec_mult.obj: $(SRC_D)\crypto\ec\ec_mult.c - $(CC) -o$(OBJ_D)\ec_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_mult.c - -$(OBJ_D)\ec_err.obj: $(SRC_D)\crypto\ec\ec_err.c - $(CC) -o$(OBJ_D)\ec_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_err.c - -$(OBJ_D)\ec_curve.obj: $(SRC_D)\crypto\ec\ec_curve.c - $(CC) -o$(OBJ_D)\ec_curve.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_curve.c - -$(OBJ_D)\ec_check.obj: $(SRC_D)\crypto\ec\ec_check.c - $(CC) -o$(OBJ_D)\ec_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_check.c - -$(OBJ_D)\ec_print.obj: $(SRC_D)\crypto\ec\ec_print.c - $(CC) -o$(OBJ_D)\ec_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_print.c - -$(OBJ_D)\ec_asn1.obj: $(SRC_D)\crypto\ec\ec_asn1.c - $(CC) -o$(OBJ_D)\ec_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_asn1.c - -$(OBJ_D)\ec_key.obj: $(SRC_D)\crypto\ec\ec_key.c - $(CC) -o$(OBJ_D)\ec_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_key.c - -$(OBJ_D)\ec2_smpl.obj: $(SRC_D)\crypto\ec\ec2_smpl.c - $(CC) -o$(OBJ_D)\ec2_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_smpl.c - -$(OBJ_D)\ec2_mult.obj: $(SRC_D)\crypto\ec\ec2_mult.c - $(CC) -o$(OBJ_D)\ec2_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_mult.c - -$(OBJ_D)\ec_ameth.obj: $(SRC_D)\crypto\ec\ec_ameth.c - $(CC) -o$(OBJ_D)\ec_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_ameth.c - -$(OBJ_D)\ec_pmeth.obj: $(SRC_D)\crypto\ec\ec_pmeth.c - $(CC) -o$(OBJ_D)\ec_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_pmeth.c - -$(OBJ_D)\eck_prn.obj: $(SRC_D)\crypto\ec\eck_prn.c - $(CC) -o$(OBJ_D)\eck_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\eck_prn.c - -$(OBJ_D)\ecp_nistp224.obj: $(SRC_D)\crypto\ec\ecp_nistp224.c - $(CC) -o$(OBJ_D)\ecp_nistp224.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp224.c - -$(OBJ_D)\ecp_nistp256.obj: $(SRC_D)\crypto\ec\ecp_nistp256.c - $(CC) -o$(OBJ_D)\ecp_nistp256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp256.c - -$(OBJ_D)\ecp_nistp521.obj: $(SRC_D)\crypto\ec\ecp_nistp521.c - $(CC) -o$(OBJ_D)\ecp_nistp521.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp521.c - -$(OBJ_D)\ecp_nistputil.obj: $(SRC_D)\crypto\ec\ecp_nistputil.c - $(CC) -o$(OBJ_D)\ecp_nistputil.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistputil.c - -$(OBJ_D)\ecp_oct.obj: $(SRC_D)\crypto\ec\ecp_oct.c - $(CC) -o$(OBJ_D)\ecp_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_oct.c - -$(OBJ_D)\ec2_oct.obj: $(SRC_D)\crypto\ec\ec2_oct.c - $(CC) -o$(OBJ_D)\ec2_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_oct.c - -$(OBJ_D)\ec_oct.obj: $(SRC_D)\crypto\ec\ec_oct.c - $(CC) -o$(OBJ_D)\ec_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_oct.c - -$(OBJ_D)\ech_lib.obj: $(SRC_D)\crypto\ecdh\ech_lib.c - $(CC) -o$(OBJ_D)\ech_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_lib.c - -$(OBJ_D)\ech_ossl.obj: $(SRC_D)\crypto\ecdh\ech_ossl.c - $(CC) -o$(OBJ_D)\ech_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_ossl.c - -$(OBJ_D)\ech_key.obj: $(SRC_D)\crypto\ecdh\ech_key.c - $(CC) -o$(OBJ_D)\ech_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_key.c - -$(OBJ_D)\ech_err.obj: $(SRC_D)\crypto\ecdh\ech_err.c - $(CC) -o$(OBJ_D)\ech_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_err.c - -$(OBJ_D)\ech_kdf.obj: $(SRC_D)\crypto\ecdh\ech_kdf.c - $(CC) -o$(OBJ_D)\ech_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_kdf.c - -$(OBJ_D)\ecs_lib.obj: $(SRC_D)\crypto\ecdsa\ecs_lib.c - $(CC) -o$(OBJ_D)\ecs_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_lib.c - -$(OBJ_D)\ecs_asn1.obj: $(SRC_D)\crypto\ecdsa\ecs_asn1.c - $(CC) -o$(OBJ_D)\ecs_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_asn1.c - -$(OBJ_D)\ecs_ossl.obj: $(SRC_D)\crypto\ecdsa\ecs_ossl.c - $(CC) -o$(OBJ_D)\ecs_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_ossl.c - -$(OBJ_D)\ecs_sign.obj: $(SRC_D)\crypto\ecdsa\ecs_sign.c - $(CC) -o$(OBJ_D)\ecs_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_sign.c - -$(OBJ_D)\ecs_vrf.obj: $(SRC_D)\crypto\ecdsa\ecs_vrf.c - $(CC) -o$(OBJ_D)\ecs_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_vrf.c - -$(OBJ_D)\ecs_err.obj: $(SRC_D)\crypto\ecdsa\ecs_err.c - $(CC) -o$(OBJ_D)\ecs_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_err.c - -$(OBJ_D)\buffer.obj: $(SRC_D)\crypto\buffer\buffer.c - $(CC) -o$(OBJ_D)\buffer.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buffer.c - -$(OBJ_D)\buf_str.obj: $(SRC_D)\crypto\buffer\buf_str.c - $(CC) -o$(OBJ_D)\buf_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_str.c - -$(OBJ_D)\buf_err.obj: $(SRC_D)\crypto\buffer\buf_err.c - $(CC) -o$(OBJ_D)\buf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_err.c - -$(OBJ_D)\bio_lib.obj: $(SRC_D)\crypto\bio\bio_lib.c - $(CC) -o$(OBJ_D)\bio_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_lib.c - -$(OBJ_D)\bio_cb.obj: $(SRC_D)\crypto\bio\bio_cb.c - $(CC) -o$(OBJ_D)\bio_cb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_cb.c - -$(OBJ_D)\bio_err.obj: $(SRC_D)\crypto\bio\bio_err.c - $(CC) -o$(OBJ_D)\bio_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_err.c - -$(OBJ_D)\bss_mem.obj: $(SRC_D)\crypto\bio\bss_mem.c - $(CC) -o$(OBJ_D)\bss_mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_mem.c - -$(OBJ_D)\bss_null.obj: $(SRC_D)\crypto\bio\bss_null.c - $(CC) -o$(OBJ_D)\bss_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_null.c - -$(OBJ_D)\bss_fd.obj: $(SRC_D)\crypto\bio\bss_fd.c - $(CC) -o$(OBJ_D)\bss_fd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_fd.c - -$(OBJ_D)\bss_file.obj: $(SRC_D)\crypto\bio\bss_file.c - $(CC) -o$(OBJ_D)\bss_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_file.c - -$(OBJ_D)\bss_sock.obj: $(SRC_D)\crypto\bio\bss_sock.c - $(CC) -o$(OBJ_D)\bss_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_sock.c - -$(OBJ_D)\bss_conn.obj: $(SRC_D)\crypto\bio\bss_conn.c - $(CC) -o$(OBJ_D)\bss_conn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_conn.c - -$(OBJ_D)\bf_null.obj: $(SRC_D)\crypto\bio\bf_null.c - $(CC) -o$(OBJ_D)\bf_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_null.c - -$(OBJ_D)\bf_buff.obj: $(SRC_D)\crypto\bio\bf_buff.c - $(CC) -o$(OBJ_D)\bf_buff.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_buff.c - -$(OBJ_D)\b_print.obj: $(SRC_D)\crypto\bio\b_print.c - $(CC) -o$(OBJ_D)\b_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_print.c - -$(OBJ_D)\b_dump.obj: $(SRC_D)\crypto\bio\b_dump.c - $(CC) -o$(OBJ_D)\b_dump.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_dump.c - -$(OBJ_D)\b_sock.obj: $(SRC_D)\crypto\bio\b_sock.c - $(CC) -o$(OBJ_D)\b_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_sock.c - -$(OBJ_D)\bss_acpt.obj: $(SRC_D)\crypto\bio\bss_acpt.c - $(CC) -o$(OBJ_D)\bss_acpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_acpt.c - -$(OBJ_D)\bf_nbio.obj: $(SRC_D)\crypto\bio\bf_nbio.c - $(CC) -o$(OBJ_D)\bf_nbio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_nbio.c - -$(OBJ_D)\bss_log.obj: $(SRC_D)\crypto\bio\bss_log.c - $(CC) -o$(OBJ_D)\bss_log.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_log.c - -$(OBJ_D)\bss_bio.obj: $(SRC_D)\crypto\bio\bss_bio.c - $(CC) -o$(OBJ_D)\bss_bio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_bio.c - -$(OBJ_D)\bss_dgram.obj: $(SRC_D)\crypto\bio\bss_dgram.c - $(CC) -o$(OBJ_D)\bss_dgram.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_dgram.c - -$(OBJ_D)\stack.obj: $(SRC_D)\crypto\stack\stack.c - $(CC) -o$(OBJ_D)\stack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\stack\stack.c - -$(OBJ_D)\lhash.obj: $(SRC_D)\crypto\lhash\lhash.c - $(CC) -o$(OBJ_D)\lhash.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lhash.c - -$(OBJ_D)\lh_stats.obj: $(SRC_D)\crypto\lhash\lh_stats.c - $(CC) -o$(OBJ_D)\lh_stats.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lh_stats.c - -$(OBJ_D)\md_rand.obj: $(SRC_D)\crypto\rand\md_rand.c - $(CC) -o$(OBJ_D)\md_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\md_rand.c - -$(OBJ_D)\randfile.obj: $(SRC_D)\crypto\rand\randfile.c - $(CC) -o$(OBJ_D)\randfile.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\randfile.c - -$(OBJ_D)\rand_lib.obj: $(SRC_D)\crypto\rand\rand_lib.c - $(CC) -o$(OBJ_D)\rand_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_lib.c - -$(OBJ_D)\rand_err.obj: $(SRC_D)\crypto\rand\rand_err.c - $(CC) -o$(OBJ_D)\rand_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_err.c - -$(OBJ_D)\rand_egd.obj: $(SRC_D)\crypto\rand\rand_egd.c - $(CC) -o$(OBJ_D)\rand_egd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_egd.c - -$(OBJ_D)\rand_win.obj: $(SRC_D)\crypto\rand\rand_win.c - $(CC) -o$(OBJ_D)\rand_win.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_win.c - -$(OBJ_D)\rand_unix.obj: $(SRC_D)\crypto\rand\rand_unix.c - $(CC) -o$(OBJ_D)\rand_unix.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_unix.c - -$(OBJ_D)\rand_os2.obj: $(SRC_D)\crypto\rand\rand_os2.c - $(CC) -o$(OBJ_D)\rand_os2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_os2.c - -$(OBJ_D)\rand_nw.obj: $(SRC_D)\crypto\rand\rand_nw.c - $(CC) -o$(OBJ_D)\rand_nw.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_nw.c - -$(OBJ_D)\err.obj: $(SRC_D)\crypto\err\err.c - $(CC) -o$(OBJ_D)\err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err.c - -$(OBJ_D)\err_all.obj: $(SRC_D)\crypto\err\err_all.c - $(CC) -o$(OBJ_D)\err_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_all.c - -$(OBJ_D)\err_prn.obj: $(SRC_D)\crypto\err\err_prn.c - $(CC) -o$(OBJ_D)\err_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_prn.c - -$(OBJ_D)\o_names.obj: $(SRC_D)\crypto\objects\o_names.c - $(CC) -o$(OBJ_D)\o_names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\o_names.c - -$(OBJ_D)\obj_dat.obj: $(SRC_D)\crypto\objects\obj_dat.c - $(CC) -o$(OBJ_D)\obj_dat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_dat.c - -$(OBJ_D)\obj_lib.obj: $(SRC_D)\crypto\objects\obj_lib.c - $(CC) -o$(OBJ_D)\obj_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_lib.c - -$(OBJ_D)\obj_err.obj: $(SRC_D)\crypto\objects\obj_err.c - $(CC) -o$(OBJ_D)\obj_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_err.c - -$(OBJ_D)\obj_xref.obj: $(SRC_D)\crypto\objects\obj_xref.c - $(CC) -o$(OBJ_D)\obj_xref.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_xref.c - -$(OBJ_D)\encode.obj: $(SRC_D)\crypto\evp\encode.c - $(CC) -o$(OBJ_D)\encode.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\encode.c - -$(OBJ_D)\digest.obj: $(SRC_D)\crypto\evp\digest.c - $(CC) -o$(OBJ_D)\digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\digest.c - -$(OBJ_D)\evp_enc.obj: $(SRC_D)\crypto\evp\evp_enc.c - $(CC) -o$(OBJ_D)\evp_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_enc.c - -$(OBJ_D)\evp_key.obj: $(SRC_D)\crypto\evp\evp_key.c - $(CC) -o$(OBJ_D)\evp_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_key.c - -$(OBJ_D)\evp_acnf.obj: $(SRC_D)\crypto\evp\evp_acnf.c - $(CC) -o$(OBJ_D)\evp_acnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_acnf.c - -$(OBJ_D)\evp_cnf.obj: $(SRC_D)\crypto\evp\evp_cnf.c - $(CC) -o$(OBJ_D)\evp_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_cnf.c - -$(OBJ_D)\e_des.obj: $(SRC_D)\crypto\evp\e_des.c - $(CC) -o$(OBJ_D)\e_des.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des.c - -$(OBJ_D)\e_bf.obj: $(SRC_D)\crypto\evp\e_bf.c - $(CC) -o$(OBJ_D)\e_bf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_bf.c - -$(OBJ_D)\e_idea.obj: $(SRC_D)\crypto\evp\e_idea.c - $(CC) -o$(OBJ_D)\e_idea.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_idea.c - -$(OBJ_D)\e_des3.obj: $(SRC_D)\crypto\evp\e_des3.c - $(CC) -o$(OBJ_D)\e_des3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des3.c - -$(OBJ_D)\e_camellia.obj: $(SRC_D)\crypto\evp\e_camellia.c - $(CC) -o$(OBJ_D)\e_camellia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_camellia.c - -$(OBJ_D)\e_rc4.obj: $(SRC_D)\crypto\evp\e_rc4.c - $(CC) -o$(OBJ_D)\e_rc4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4.c - -$(OBJ_D)\e_aes.obj: $(SRC_D)\crypto\evp\e_aes.c - $(CC) -o$(OBJ_D)\e_aes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes.c - -$(OBJ_D)\names.obj: $(SRC_D)\crypto\evp\names.c - $(CC) -o$(OBJ_D)\names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\names.c - -$(OBJ_D)\e_seed.obj: $(SRC_D)\crypto\evp\e_seed.c - $(CC) -o$(OBJ_D)\e_seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_seed.c - -$(OBJ_D)\e_xcbc_d.obj: $(SRC_D)\crypto\evp\e_xcbc_d.c - $(CC) -o$(OBJ_D)\e_xcbc_d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_xcbc_d.c - -$(OBJ_D)\e_rc2.obj: $(SRC_D)\crypto\evp\e_rc2.c - $(CC) -o$(OBJ_D)\e_rc2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc2.c - -$(OBJ_D)\e_cast.obj: $(SRC_D)\crypto\evp\e_cast.c - $(CC) -o$(OBJ_D)\e_cast.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_cast.c - -$(OBJ_D)\e_rc5.obj: $(SRC_D)\crypto\evp\e_rc5.c - $(CC) -o$(OBJ_D)\e_rc5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc5.c - -$(OBJ_D)\m_null.obj: $(SRC_D)\crypto\evp\m_null.c - $(CC) -o$(OBJ_D)\m_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_null.c - -$(OBJ_D)\m_md4.obj: $(SRC_D)\crypto\evp\m_md4.c - $(CC) -o$(OBJ_D)\m_md4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md4.c - -$(OBJ_D)\m_md5.obj: $(SRC_D)\crypto\evp\m_md5.c - $(CC) -o$(OBJ_D)\m_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md5.c - -$(OBJ_D)\m_sha.obj: $(SRC_D)\crypto\evp\m_sha.c - $(CC) -o$(OBJ_D)\m_sha.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha.c - -$(OBJ_D)\m_sha1.obj: $(SRC_D)\crypto\evp\m_sha1.c - $(CC) -o$(OBJ_D)\m_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha1.c - -$(OBJ_D)\m_wp.obj: $(SRC_D)\crypto\evp\m_wp.c - $(CC) -o$(OBJ_D)\m_wp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_wp.c - -$(OBJ_D)\m_dss.obj: $(SRC_D)\crypto\evp\m_dss.c - $(CC) -o$(OBJ_D)\m_dss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss.c - -$(OBJ_D)\m_dss1.obj: $(SRC_D)\crypto\evp\m_dss1.c - $(CC) -o$(OBJ_D)\m_dss1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss1.c - -$(OBJ_D)\m_ripemd.obj: $(SRC_D)\crypto\evp\m_ripemd.c - $(CC) -o$(OBJ_D)\m_ripemd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ripemd.c - -$(OBJ_D)\m_ecdsa.obj: $(SRC_D)\crypto\evp\m_ecdsa.c - $(CC) -o$(OBJ_D)\m_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ecdsa.c - -$(OBJ_D)\p_open.obj: $(SRC_D)\crypto\evp\p_open.c - $(CC) -o$(OBJ_D)\p_open.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_open.c - -$(OBJ_D)\p_seal.obj: $(SRC_D)\crypto\evp\p_seal.c - $(CC) -o$(OBJ_D)\p_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_seal.c - -$(OBJ_D)\p_sign.obj: $(SRC_D)\crypto\evp\p_sign.c - $(CC) -o$(OBJ_D)\p_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_sign.c - -$(OBJ_D)\p_verify.obj: $(SRC_D)\crypto\evp\p_verify.c - $(CC) -o$(OBJ_D)\p_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_verify.c - -$(OBJ_D)\p_lib.obj: $(SRC_D)\crypto\evp\p_lib.c - $(CC) -o$(OBJ_D)\p_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_lib.c - -$(OBJ_D)\p_enc.obj: $(SRC_D)\crypto\evp\p_enc.c - $(CC) -o$(OBJ_D)\p_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_enc.c - -$(OBJ_D)\p_dec.obj: $(SRC_D)\crypto\evp\p_dec.c - $(CC) -o$(OBJ_D)\p_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_dec.c - -$(OBJ_D)\bio_md.obj: $(SRC_D)\crypto\evp\bio_md.c - $(CC) -o$(OBJ_D)\bio_md.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_md.c - -$(OBJ_D)\bio_b64.obj: $(SRC_D)\crypto\evp\bio_b64.c - $(CC) -o$(OBJ_D)\bio_b64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_b64.c - -$(OBJ_D)\bio_enc.obj: $(SRC_D)\crypto\evp\bio_enc.c - $(CC) -o$(OBJ_D)\bio_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_enc.c - -$(OBJ_D)\evp_err.obj: $(SRC_D)\crypto\evp\evp_err.c - $(CC) -o$(OBJ_D)\evp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_err.c - -$(OBJ_D)\e_null.obj: $(SRC_D)\crypto\evp\e_null.c - $(CC) -o$(OBJ_D)\e_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_null.c - -$(OBJ_D)\c_all.obj: $(SRC_D)\crypto\evp\c_all.c - $(CC) -o$(OBJ_D)\c_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_all.c - -$(OBJ_D)\c_allc.obj: $(SRC_D)\crypto\evp\c_allc.c - $(CC) -o$(OBJ_D)\c_allc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_allc.c - -$(OBJ_D)\c_alld.obj: $(SRC_D)\crypto\evp\c_alld.c - $(CC) -o$(OBJ_D)\c_alld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_alld.c - -$(OBJ_D)\evp_lib.obj: $(SRC_D)\crypto\evp\evp_lib.c - $(CC) -o$(OBJ_D)\evp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_lib.c - -$(OBJ_D)\bio_ok.obj: $(SRC_D)\crypto\evp\bio_ok.c - $(CC) -o$(OBJ_D)\bio_ok.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_ok.c - -$(OBJ_D)\evp_pkey.obj: $(SRC_D)\crypto\evp\evp_pkey.c - $(CC) -o$(OBJ_D)\evp_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pkey.c - -$(OBJ_D)\evp_pbe.obj: $(SRC_D)\crypto\evp\evp_pbe.c - $(CC) -o$(OBJ_D)\evp_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pbe.c - -$(OBJ_D)\p5_crpt.obj: $(SRC_D)\crypto\evp\p5_crpt.c - $(CC) -o$(OBJ_D)\p5_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt.c - -$(OBJ_D)\p5_crpt2.obj: $(SRC_D)\crypto\evp\p5_crpt2.c - $(CC) -o$(OBJ_D)\p5_crpt2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt2.c - -$(OBJ_D)\e_old.obj: $(SRC_D)\crypto\evp\e_old.c - $(CC) -o$(OBJ_D)\e_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_old.c - -$(OBJ_D)\pmeth_lib.obj: $(SRC_D)\crypto\evp\pmeth_lib.c - $(CC) -o$(OBJ_D)\pmeth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_lib.c - -$(OBJ_D)\pmeth_fn.obj: $(SRC_D)\crypto\evp\pmeth_fn.c - $(CC) -o$(OBJ_D)\pmeth_fn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_fn.c - -$(OBJ_D)\pmeth_gn.obj: $(SRC_D)\crypto\evp\pmeth_gn.c - $(CC) -o$(OBJ_D)\pmeth_gn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_gn.c - -$(OBJ_D)\m_sigver.obj: $(SRC_D)\crypto\evp\m_sigver.c - $(CC) -o$(OBJ_D)\m_sigver.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sigver.c - -$(OBJ_D)\e_aes_cbc_hmac_sha1.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c - $(CC) -o$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c - -$(OBJ_D)\e_aes_cbc_hmac_sha256.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c - $(CC) -o$(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c - -$(OBJ_D)\e_rc4_hmac_md5.obj: $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c - $(CC) -o$(OBJ_D)\e_rc4_hmac_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c - -$(OBJ_D)\a_object.obj: $(SRC_D)\crypto\asn1\a_object.c - $(CC) -o$(OBJ_D)\a_object.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_object.c - -$(OBJ_D)\a_bitstr.obj: $(SRC_D)\crypto\asn1\a_bitstr.c - $(CC) -o$(OBJ_D)\a_bitstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bitstr.c - -$(OBJ_D)\a_utctm.obj: $(SRC_D)\crypto\asn1\a_utctm.c - $(CC) -o$(OBJ_D)\a_utctm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utctm.c - -$(OBJ_D)\a_gentm.obj: $(SRC_D)\crypto\asn1\a_gentm.c - $(CC) -o$(OBJ_D)\a_gentm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_gentm.c - -$(OBJ_D)\a_time.obj: $(SRC_D)\crypto\asn1\a_time.c - $(CC) -o$(OBJ_D)\a_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_time.c - -$(OBJ_D)\a_int.obj: $(SRC_D)\crypto\asn1\a_int.c - $(CC) -o$(OBJ_D)\a_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_int.c - -$(OBJ_D)\a_octet.obj: $(SRC_D)\crypto\asn1\a_octet.c - $(CC) -o$(OBJ_D)\a_octet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_octet.c - -$(OBJ_D)\a_print.obj: $(SRC_D)\crypto\asn1\a_print.c - $(CC) -o$(OBJ_D)\a_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_print.c - -$(OBJ_D)\a_type.obj: $(SRC_D)\crypto\asn1\a_type.c - $(CC) -o$(OBJ_D)\a_type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_type.c - -$(OBJ_D)\a_set.obj: $(SRC_D)\crypto\asn1\a_set.c - $(CC) -o$(OBJ_D)\a_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_set.c - -$(OBJ_D)\a_dup.obj: $(SRC_D)\crypto\asn1\a_dup.c - $(CC) -o$(OBJ_D)\a_dup.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_dup.c - -$(OBJ_D)\a_d2i_fp.obj: $(SRC_D)\crypto\asn1\a_d2i_fp.c - $(CC) -o$(OBJ_D)\a_d2i_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_d2i_fp.c - -$(OBJ_D)\a_i2d_fp.obj: $(SRC_D)\crypto\asn1\a_i2d_fp.c - $(CC) -o$(OBJ_D)\a_i2d_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_i2d_fp.c - -$(OBJ_D)\a_enum.obj: $(SRC_D)\crypto\asn1\a_enum.c - $(CC) -o$(OBJ_D)\a_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_enum.c - -$(OBJ_D)\a_utf8.obj: $(SRC_D)\crypto\asn1\a_utf8.c - $(CC) -o$(OBJ_D)\a_utf8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utf8.c - -$(OBJ_D)\a_sign.obj: $(SRC_D)\crypto\asn1\a_sign.c - $(CC) -o$(OBJ_D)\a_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_sign.c - -$(OBJ_D)\a_digest.obj: $(SRC_D)\crypto\asn1\a_digest.c - $(CC) -o$(OBJ_D)\a_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_digest.c - -$(OBJ_D)\a_verify.obj: $(SRC_D)\crypto\asn1\a_verify.c - $(CC) -o$(OBJ_D)\a_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_verify.c - -$(OBJ_D)\a_mbstr.obj: $(SRC_D)\crypto\asn1\a_mbstr.c - $(CC) -o$(OBJ_D)\a_mbstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_mbstr.c - -$(OBJ_D)\a_strex.obj: $(SRC_D)\crypto\asn1\a_strex.c - $(CC) -o$(OBJ_D)\a_strex.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strex.c - -$(OBJ_D)\x_algor.obj: $(SRC_D)\crypto\asn1\x_algor.c - $(CC) -o$(OBJ_D)\x_algor.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_algor.c - -$(OBJ_D)\x_val.obj: $(SRC_D)\crypto\asn1\x_val.c - $(CC) -o$(OBJ_D)\x_val.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_val.c - -$(OBJ_D)\x_pubkey.obj: $(SRC_D)\crypto\asn1\x_pubkey.c - $(CC) -o$(OBJ_D)\x_pubkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pubkey.c - -$(OBJ_D)\x_sig.obj: $(SRC_D)\crypto\asn1\x_sig.c - $(CC) -o$(OBJ_D)\x_sig.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_sig.c - -$(OBJ_D)\x_req.obj: $(SRC_D)\crypto\asn1\x_req.c - $(CC) -o$(OBJ_D)\x_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_req.c - -$(OBJ_D)\x_attrib.obj: $(SRC_D)\crypto\asn1\x_attrib.c - $(CC) -o$(OBJ_D)\x_attrib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_attrib.c - -$(OBJ_D)\x_bignum.obj: $(SRC_D)\crypto\asn1\x_bignum.c - $(CC) -o$(OBJ_D)\x_bignum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_bignum.c - -$(OBJ_D)\x_long.obj: $(SRC_D)\crypto\asn1\x_long.c - $(CC) -o$(OBJ_D)\x_long.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_long.c - -$(OBJ_D)\x_name.obj: $(SRC_D)\crypto\asn1\x_name.c - $(CC) -o$(OBJ_D)\x_name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_name.c - -$(OBJ_D)\x_x509.obj: $(SRC_D)\crypto\asn1\x_x509.c - $(CC) -o$(OBJ_D)\x_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509.c - -$(OBJ_D)\x_x509a.obj: $(SRC_D)\crypto\asn1\x_x509a.c - $(CC) -o$(OBJ_D)\x_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509a.c - -$(OBJ_D)\x_crl.obj: $(SRC_D)\crypto\asn1\x_crl.c - $(CC) -o$(OBJ_D)\x_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_crl.c - -$(OBJ_D)\x_info.obj: $(SRC_D)\crypto\asn1\x_info.c - $(CC) -o$(OBJ_D)\x_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_info.c - -$(OBJ_D)\x_spki.obj: $(SRC_D)\crypto\asn1\x_spki.c - $(CC) -o$(OBJ_D)\x_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_spki.c - -$(OBJ_D)\nsseq.obj: $(SRC_D)\crypto\asn1\nsseq.c - $(CC) -o$(OBJ_D)\nsseq.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\nsseq.c - -$(OBJ_D)\x_nx509.obj: $(SRC_D)\crypto\asn1\x_nx509.c - $(CC) -o$(OBJ_D)\x_nx509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_nx509.c - -$(OBJ_D)\d2i_pu.obj: $(SRC_D)\crypto\asn1\d2i_pu.c - $(CC) -o$(OBJ_D)\d2i_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pu.c - -$(OBJ_D)\d2i_pr.obj: $(SRC_D)\crypto\asn1\d2i_pr.c - $(CC) -o$(OBJ_D)\d2i_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pr.c - -$(OBJ_D)\i2d_pu.obj: $(SRC_D)\crypto\asn1\i2d_pu.c - $(CC) -o$(OBJ_D)\i2d_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pu.c - -$(OBJ_D)\i2d_pr.obj: $(SRC_D)\crypto\asn1\i2d_pr.c - $(CC) -o$(OBJ_D)\i2d_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pr.c - -$(OBJ_D)\t_req.obj: $(SRC_D)\crypto\asn1\t_req.c - $(CC) -o$(OBJ_D)\t_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_req.c - -$(OBJ_D)\t_x509.obj: $(SRC_D)\crypto\asn1\t_x509.c - $(CC) -o$(OBJ_D)\t_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509.c - -$(OBJ_D)\t_x509a.obj: $(SRC_D)\crypto\asn1\t_x509a.c - $(CC) -o$(OBJ_D)\t_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509a.c - -$(OBJ_D)\t_crl.obj: $(SRC_D)\crypto\asn1\t_crl.c - $(CC) -o$(OBJ_D)\t_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_crl.c - -$(OBJ_D)\t_pkey.obj: $(SRC_D)\crypto\asn1\t_pkey.c - $(CC) -o$(OBJ_D)\t_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_pkey.c - -$(OBJ_D)\t_spki.obj: $(SRC_D)\crypto\asn1\t_spki.c - $(CC) -o$(OBJ_D)\t_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_spki.c - -$(OBJ_D)\t_bitst.obj: $(SRC_D)\crypto\asn1\t_bitst.c - $(CC) -o$(OBJ_D)\t_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_bitst.c - -$(OBJ_D)\tasn_new.obj: $(SRC_D)\crypto\asn1\tasn_new.c - $(CC) -o$(OBJ_D)\tasn_new.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_new.c - -$(OBJ_D)\tasn_fre.obj: $(SRC_D)\crypto\asn1\tasn_fre.c - $(CC) -o$(OBJ_D)\tasn_fre.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_fre.c - -$(OBJ_D)\tasn_enc.obj: $(SRC_D)\crypto\asn1\tasn_enc.c - $(CC) -o$(OBJ_D)\tasn_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_enc.c - -$(OBJ_D)\tasn_dec.obj: $(SRC_D)\crypto\asn1\tasn_dec.c - $(CC) -o$(OBJ_D)\tasn_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_dec.c - -$(OBJ_D)\tasn_utl.obj: $(SRC_D)\crypto\asn1\tasn_utl.c - $(CC) -o$(OBJ_D)\tasn_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_utl.c - -$(OBJ_D)\tasn_typ.obj: $(SRC_D)\crypto\asn1\tasn_typ.c - $(CC) -o$(OBJ_D)\tasn_typ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_typ.c - -$(OBJ_D)\tasn_prn.obj: $(SRC_D)\crypto\asn1\tasn_prn.c - $(CC) -o$(OBJ_D)\tasn_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_prn.c - -$(OBJ_D)\ameth_lib.obj: $(SRC_D)\crypto\asn1\ameth_lib.c - $(CC) -o$(OBJ_D)\ameth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\ameth_lib.c - -$(OBJ_D)\f_int.obj: $(SRC_D)\crypto\asn1\f_int.c - $(CC) -o$(OBJ_D)\f_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_int.c - -$(OBJ_D)\f_string.obj: $(SRC_D)\crypto\asn1\f_string.c - $(CC) -o$(OBJ_D)\f_string.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_string.c - -$(OBJ_D)\n_pkey.obj: $(SRC_D)\crypto\asn1\n_pkey.c - $(CC) -o$(OBJ_D)\n_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\n_pkey.c - -$(OBJ_D)\f_enum.obj: $(SRC_D)\crypto\asn1\f_enum.c - $(CC) -o$(OBJ_D)\f_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_enum.c - -$(OBJ_D)\x_pkey.obj: $(SRC_D)\crypto\asn1\x_pkey.c - $(CC) -o$(OBJ_D)\x_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pkey.c - -$(OBJ_D)\a_bool.obj: $(SRC_D)\crypto\asn1\a_bool.c - $(CC) -o$(OBJ_D)\a_bool.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bool.c - -$(OBJ_D)\x_exten.obj: $(SRC_D)\crypto\asn1\x_exten.c - $(CC) -o$(OBJ_D)\x_exten.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_exten.c - -$(OBJ_D)\bio_asn1.obj: $(SRC_D)\crypto\asn1\bio_asn1.c - $(CC) -o$(OBJ_D)\bio_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_asn1.c - -$(OBJ_D)\bio_ndef.obj: $(SRC_D)\crypto\asn1\bio_ndef.c - $(CC) -o$(OBJ_D)\bio_ndef.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_ndef.c - -$(OBJ_D)\asn_mime.obj: $(SRC_D)\crypto\asn1\asn_mime.c - $(CC) -o$(OBJ_D)\asn_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_mime.c - -$(OBJ_D)\asn1_gen.obj: $(SRC_D)\crypto\asn1\asn1_gen.c - $(CC) -o$(OBJ_D)\asn1_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_gen.c - -$(OBJ_D)\asn1_par.obj: $(SRC_D)\crypto\asn1\asn1_par.c - $(CC) -o$(OBJ_D)\asn1_par.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_par.c - -$(OBJ_D)\asn1_lib.obj: $(SRC_D)\crypto\asn1\asn1_lib.c - $(CC) -o$(OBJ_D)\asn1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_lib.c - -$(OBJ_D)\asn1_err.obj: $(SRC_D)\crypto\asn1\asn1_err.c - $(CC) -o$(OBJ_D)\asn1_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_err.c - -$(OBJ_D)\a_bytes.obj: $(SRC_D)\crypto\asn1\a_bytes.c - $(CC) -o$(OBJ_D)\a_bytes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bytes.c - -$(OBJ_D)\a_strnid.obj: $(SRC_D)\crypto\asn1\a_strnid.c - $(CC) -o$(OBJ_D)\a_strnid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strnid.c - -$(OBJ_D)\evp_asn1.obj: $(SRC_D)\crypto\asn1\evp_asn1.c - $(CC) -o$(OBJ_D)\evp_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\evp_asn1.c - -$(OBJ_D)\asn_pack.obj: $(SRC_D)\crypto\asn1\asn_pack.c - $(CC) -o$(OBJ_D)\asn_pack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_pack.c - -$(OBJ_D)\p5_pbe.obj: $(SRC_D)\crypto\asn1\p5_pbe.c - $(CC) -o$(OBJ_D)\p5_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbe.c - -$(OBJ_D)\p5_pbev2.obj: $(SRC_D)\crypto\asn1\p5_pbev2.c - $(CC) -o$(OBJ_D)\p5_pbev2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbev2.c - -$(OBJ_D)\p8_pkey.obj: $(SRC_D)\crypto\asn1\p8_pkey.c - $(CC) -o$(OBJ_D)\p8_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p8_pkey.c - -$(OBJ_D)\asn_moid.obj: $(SRC_D)\crypto\asn1\asn_moid.c - $(CC) -o$(OBJ_D)\asn_moid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_moid.c - -$(OBJ_D)\pem_sign.obj: $(SRC_D)\crypto\pem\pem_sign.c - $(CC) -o$(OBJ_D)\pem_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_sign.c - -$(OBJ_D)\pem_seal.obj: $(SRC_D)\crypto\pem\pem_seal.c - $(CC) -o$(OBJ_D)\pem_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_seal.c - -$(OBJ_D)\pem_info.obj: $(SRC_D)\crypto\pem\pem_info.c - $(CC) -o$(OBJ_D)\pem_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_info.c - -$(OBJ_D)\pem_lib.obj: $(SRC_D)\crypto\pem\pem_lib.c - $(CC) -o$(OBJ_D)\pem_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_lib.c - -$(OBJ_D)\pem_all.obj: $(SRC_D)\crypto\pem\pem_all.c - $(CC) -o$(OBJ_D)\pem_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_all.c - -$(OBJ_D)\pem_err.obj: $(SRC_D)\crypto\pem\pem_err.c - $(CC) -o$(OBJ_D)\pem_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_err.c - -$(OBJ_D)\pem_x509.obj: $(SRC_D)\crypto\pem\pem_x509.c - $(CC) -o$(OBJ_D)\pem_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_x509.c - -$(OBJ_D)\pem_xaux.obj: $(SRC_D)\crypto\pem\pem_xaux.c - $(CC) -o$(OBJ_D)\pem_xaux.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_xaux.c - -$(OBJ_D)\pem_oth.obj: $(SRC_D)\crypto\pem\pem_oth.c - $(CC) -o$(OBJ_D)\pem_oth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_oth.c - -$(OBJ_D)\pem_pk8.obj: $(SRC_D)\crypto\pem\pem_pk8.c - $(CC) -o$(OBJ_D)\pem_pk8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pk8.c - -$(OBJ_D)\pem_pkey.obj: $(SRC_D)\crypto\pem\pem_pkey.c - $(CC) -o$(OBJ_D)\pem_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pkey.c - -$(OBJ_D)\pvkfmt.obj: $(SRC_D)\crypto\pem\pvkfmt.c - $(CC) -o$(OBJ_D)\pvkfmt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pvkfmt.c - -$(OBJ_D)\x509_def.obj: $(SRC_D)\crypto\x509\x509_def.c - $(CC) -o$(OBJ_D)\x509_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_def.c - -$(OBJ_D)\x509_d2.obj: $(SRC_D)\crypto\x509\x509_d2.c - $(CC) -o$(OBJ_D)\x509_d2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_d2.c - -$(OBJ_D)\x509_r2x.obj: $(SRC_D)\crypto\x509\x509_r2x.c - $(CC) -o$(OBJ_D)\x509_r2x.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_r2x.c - -$(OBJ_D)\x509_cmp.obj: $(SRC_D)\crypto\x509\x509_cmp.c - $(CC) -o$(OBJ_D)\x509_cmp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_cmp.c - -$(OBJ_D)\x509_obj.obj: $(SRC_D)\crypto\x509\x509_obj.c - $(CC) -o$(OBJ_D)\x509_obj.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_obj.c - -$(OBJ_D)\x509_req.obj: $(SRC_D)\crypto\x509\x509_req.c - $(CC) -o$(OBJ_D)\x509_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_req.c - -$(OBJ_D)\x509spki.obj: $(SRC_D)\crypto\x509\x509spki.c - $(CC) -o$(OBJ_D)\x509spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509spki.c - -$(OBJ_D)\x509_vfy.obj: $(SRC_D)\crypto\x509\x509_vfy.c - $(CC) -o$(OBJ_D)\x509_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vfy.c - -$(OBJ_D)\x509_set.obj: $(SRC_D)\crypto\x509\x509_set.c - $(CC) -o$(OBJ_D)\x509_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_set.c - -$(OBJ_D)\x509cset.obj: $(SRC_D)\crypto\x509\x509cset.c - $(CC) -o$(OBJ_D)\x509cset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509cset.c - -$(OBJ_D)\x509rset.obj: $(SRC_D)\crypto\x509\x509rset.c - $(CC) -o$(OBJ_D)\x509rset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509rset.c - -$(OBJ_D)\x509_err.obj: $(SRC_D)\crypto\x509\x509_err.c - $(CC) -o$(OBJ_D)\x509_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_err.c - -$(OBJ_D)\x509name.obj: $(SRC_D)\crypto\x509\x509name.c - $(CC) -o$(OBJ_D)\x509name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509name.c - -$(OBJ_D)\x509_v3.obj: $(SRC_D)\crypto\x509\x509_v3.c - $(CC) -o$(OBJ_D)\x509_v3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_v3.c - -$(OBJ_D)\x509_ext.obj: $(SRC_D)\crypto\x509\x509_ext.c - $(CC) -o$(OBJ_D)\x509_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_ext.c - -$(OBJ_D)\x509_att.obj: $(SRC_D)\crypto\x509\x509_att.c - $(CC) -o$(OBJ_D)\x509_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_att.c - -$(OBJ_D)\x509type.obj: $(SRC_D)\crypto\x509\x509type.c - $(CC) -o$(OBJ_D)\x509type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509type.c - -$(OBJ_D)\x509_lu.obj: $(SRC_D)\crypto\x509\x509_lu.c - $(CC) -o$(OBJ_D)\x509_lu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_lu.c - -$(OBJ_D)\x_all.obj: $(SRC_D)\crypto\x509\x_all.c - $(CC) -o$(OBJ_D)\x_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x_all.c - -$(OBJ_D)\x509_txt.obj: $(SRC_D)\crypto\x509\x509_txt.c - $(CC) -o$(OBJ_D)\x509_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_txt.c - -$(OBJ_D)\x509_trs.obj: $(SRC_D)\crypto\x509\x509_trs.c - $(CC) -o$(OBJ_D)\x509_trs.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_trs.c - -$(OBJ_D)\by_file.obj: $(SRC_D)\crypto\x509\by_file.c - $(CC) -o$(OBJ_D)\by_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_file.c - -$(OBJ_D)\by_dir.obj: $(SRC_D)\crypto\x509\by_dir.c - $(CC) -o$(OBJ_D)\by_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_dir.c - -$(OBJ_D)\x509_vpm.obj: $(SRC_D)\crypto\x509\x509_vpm.c - $(CC) -o$(OBJ_D)\x509_vpm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vpm.c - -$(OBJ_D)\v3_bcons.obj: $(SRC_D)\crypto\x509v3\v3_bcons.c - $(CC) -o$(OBJ_D)\v3_bcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bcons.c - -$(OBJ_D)\v3_bitst.obj: $(SRC_D)\crypto\x509v3\v3_bitst.c - $(CC) -o$(OBJ_D)\v3_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bitst.c - -$(OBJ_D)\v3_conf.obj: $(SRC_D)\crypto\x509v3\v3_conf.c - $(CC) -o$(OBJ_D)\v3_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_conf.c - -$(OBJ_D)\v3_extku.obj: $(SRC_D)\crypto\x509v3\v3_extku.c - $(CC) -o$(OBJ_D)\v3_extku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_extku.c - -$(OBJ_D)\v3_ia5.obj: $(SRC_D)\crypto\x509v3\v3_ia5.c - $(CC) -o$(OBJ_D)\v3_ia5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ia5.c - -$(OBJ_D)\v3_lib.obj: $(SRC_D)\crypto\x509v3\v3_lib.c - $(CC) -o$(OBJ_D)\v3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_lib.c - -$(OBJ_D)\v3_prn.obj: $(SRC_D)\crypto\x509v3\v3_prn.c - $(CC) -o$(OBJ_D)\v3_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_prn.c - -$(OBJ_D)\v3_utl.obj: $(SRC_D)\crypto\x509v3\v3_utl.c - $(CC) -o$(OBJ_D)\v3_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_utl.c - -$(OBJ_D)\v3err.obj: $(SRC_D)\crypto\x509v3\v3err.c - $(CC) -o$(OBJ_D)\v3err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3err.c - -$(OBJ_D)\v3_genn.obj: $(SRC_D)\crypto\x509v3\v3_genn.c - $(CC) -o$(OBJ_D)\v3_genn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_genn.c - -$(OBJ_D)\v3_alt.obj: $(SRC_D)\crypto\x509v3\v3_alt.c - $(CC) -o$(OBJ_D)\v3_alt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_alt.c - -$(OBJ_D)\v3_skey.obj: $(SRC_D)\crypto\x509v3\v3_skey.c - $(CC) -o$(OBJ_D)\v3_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_skey.c - -$(OBJ_D)\v3_akey.obj: $(SRC_D)\crypto\x509v3\v3_akey.c - $(CC) -o$(OBJ_D)\v3_akey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akey.c - -$(OBJ_D)\v3_pku.obj: $(SRC_D)\crypto\x509v3\v3_pku.c - $(CC) -o$(OBJ_D)\v3_pku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pku.c - -$(OBJ_D)\v3_int.obj: $(SRC_D)\crypto\x509v3\v3_int.c - $(CC) -o$(OBJ_D)\v3_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_int.c - -$(OBJ_D)\v3_enum.obj: $(SRC_D)\crypto\x509v3\v3_enum.c - $(CC) -o$(OBJ_D)\v3_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_enum.c - -$(OBJ_D)\v3_sxnet.obj: $(SRC_D)\crypto\x509v3\v3_sxnet.c - $(CC) -o$(OBJ_D)\v3_sxnet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_sxnet.c - -$(OBJ_D)\v3_cpols.obj: $(SRC_D)\crypto\x509v3\v3_cpols.c - $(CC) -o$(OBJ_D)\v3_cpols.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_cpols.c - -$(OBJ_D)\v3_crld.obj: $(SRC_D)\crypto\x509v3\v3_crld.c - $(CC) -o$(OBJ_D)\v3_crld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_crld.c - -$(OBJ_D)\v3_purp.obj: $(SRC_D)\crypto\x509v3\v3_purp.c - $(CC) -o$(OBJ_D)\v3_purp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_purp.c - -$(OBJ_D)\v3_info.obj: $(SRC_D)\crypto\x509v3\v3_info.c - $(CC) -o$(OBJ_D)\v3_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_info.c - -$(OBJ_D)\v3_ocsp.obj: $(SRC_D)\crypto\x509v3\v3_ocsp.c - $(CC) -o$(OBJ_D)\v3_ocsp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ocsp.c - -$(OBJ_D)\v3_akeya.obj: $(SRC_D)\crypto\x509v3\v3_akeya.c - $(CC) -o$(OBJ_D)\v3_akeya.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akeya.c - -$(OBJ_D)\v3_pmaps.obj: $(SRC_D)\crypto\x509v3\v3_pmaps.c - $(CC) -o$(OBJ_D)\v3_pmaps.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pmaps.c - -$(OBJ_D)\v3_pcons.obj: $(SRC_D)\crypto\x509v3\v3_pcons.c - $(CC) -o$(OBJ_D)\v3_pcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcons.c - -$(OBJ_D)\v3_ncons.obj: $(SRC_D)\crypto\x509v3\v3_ncons.c - $(CC) -o$(OBJ_D)\v3_ncons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ncons.c - -$(OBJ_D)\v3_pcia.obj: $(SRC_D)\crypto\x509v3\v3_pcia.c - $(CC) -o$(OBJ_D)\v3_pcia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcia.c - -$(OBJ_D)\v3_pci.obj: $(SRC_D)\crypto\x509v3\v3_pci.c - $(CC) -o$(OBJ_D)\v3_pci.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pci.c - -$(OBJ_D)\pcy_cache.obj: $(SRC_D)\crypto\x509v3\pcy_cache.c - $(CC) -o$(OBJ_D)\pcy_cache.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_cache.c - -$(OBJ_D)\pcy_node.obj: $(SRC_D)\crypto\x509v3\pcy_node.c - $(CC) -o$(OBJ_D)\pcy_node.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_node.c - -$(OBJ_D)\pcy_data.obj: $(SRC_D)\crypto\x509v3\pcy_data.c - $(CC) -o$(OBJ_D)\pcy_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_data.c - -$(OBJ_D)\pcy_map.obj: $(SRC_D)\crypto\x509v3\pcy_map.c - $(CC) -o$(OBJ_D)\pcy_map.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_map.c - -$(OBJ_D)\pcy_tree.obj: $(SRC_D)\crypto\x509v3\pcy_tree.c - $(CC) -o$(OBJ_D)\pcy_tree.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_tree.c - -$(OBJ_D)\pcy_lib.obj: $(SRC_D)\crypto\x509v3\pcy_lib.c - $(CC) -o$(OBJ_D)\pcy_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_lib.c - -$(OBJ_D)\v3_asid.obj: $(SRC_D)\crypto\x509v3\v3_asid.c - $(CC) -o$(OBJ_D)\v3_asid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_asid.c - -$(OBJ_D)\v3_addr.obj: $(SRC_D)\crypto\x509v3\v3_addr.c - $(CC) -o$(OBJ_D)\v3_addr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_addr.c - -$(OBJ_D)\v3_scts.obj: $(SRC_D)\crypto\x509v3\v3_scts.c - $(CC) -o$(OBJ_D)\v3_scts.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_scts.c - -$(OBJ_D)\cms_lib.obj: $(SRC_D)\crypto\cms\cms_lib.c - $(CC) -o$(OBJ_D)\cms_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_lib.c - -$(OBJ_D)\cms_asn1.obj: $(SRC_D)\crypto\cms\cms_asn1.c - $(CC) -o$(OBJ_D)\cms_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_asn1.c - -$(OBJ_D)\cms_att.obj: $(SRC_D)\crypto\cms\cms_att.c - $(CC) -o$(OBJ_D)\cms_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_att.c - -$(OBJ_D)\cms_io.obj: $(SRC_D)\crypto\cms\cms_io.c - $(CC) -o$(OBJ_D)\cms_io.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_io.c - -$(OBJ_D)\cms_smime.obj: $(SRC_D)\crypto\cms\cms_smime.c - $(CC) -o$(OBJ_D)\cms_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_smime.c - -$(OBJ_D)\cms_err.obj: $(SRC_D)\crypto\cms\cms_err.c - $(CC) -o$(OBJ_D)\cms_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_err.c - -$(OBJ_D)\cms_sd.obj: $(SRC_D)\crypto\cms\cms_sd.c - $(CC) -o$(OBJ_D)\cms_sd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_sd.c - -$(OBJ_D)\cms_dd.obj: $(SRC_D)\crypto\cms\cms_dd.c - $(CC) -o$(OBJ_D)\cms_dd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_dd.c - -$(OBJ_D)\cms_cd.obj: $(SRC_D)\crypto\cms\cms_cd.c - $(CC) -o$(OBJ_D)\cms_cd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_cd.c - -$(OBJ_D)\cms_env.obj: $(SRC_D)\crypto\cms\cms_env.c - $(CC) -o$(OBJ_D)\cms_env.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_env.c - -$(OBJ_D)\cms_enc.obj: $(SRC_D)\crypto\cms\cms_enc.c - $(CC) -o$(OBJ_D)\cms_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_enc.c - -$(OBJ_D)\cms_ess.obj: $(SRC_D)\crypto\cms\cms_ess.c - $(CC) -o$(OBJ_D)\cms_ess.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_ess.c - -$(OBJ_D)\cms_pwri.obj: $(SRC_D)\crypto\cms\cms_pwri.c - $(CC) -o$(OBJ_D)\cms_pwri.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_pwri.c - -$(OBJ_D)\cms_kari.obj: $(SRC_D)\crypto\cms\cms_kari.c - $(CC) -o$(OBJ_D)\cms_kari.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_kari.c - -$(OBJ_D)\conf_err.obj: $(SRC_D)\crypto\conf\conf_err.c - $(CC) -o$(OBJ_D)\conf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_err.c - -$(OBJ_D)\conf_lib.obj: $(SRC_D)\crypto\conf\conf_lib.c - $(CC) -o$(OBJ_D)\conf_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_lib.c - -$(OBJ_D)\conf_api.obj: $(SRC_D)\crypto\conf\conf_api.c - $(CC) -o$(OBJ_D)\conf_api.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_api.c - -$(OBJ_D)\conf_def.obj: $(SRC_D)\crypto\conf\conf_def.c - $(CC) -o$(OBJ_D)\conf_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_def.c - -$(OBJ_D)\conf_mod.obj: $(SRC_D)\crypto\conf\conf_mod.c - $(CC) -o$(OBJ_D)\conf_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mod.c - -$(OBJ_D)\conf_mall.obj: $(SRC_D)\crypto\conf\conf_mall.c - $(CC) -o$(OBJ_D)\conf_mall.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mall.c - -$(OBJ_D)\conf_sap.obj: $(SRC_D)\crypto\conf\conf_sap.c - $(CC) -o$(OBJ_D)\conf_sap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_sap.c - -$(OBJ_D)\txt_db.obj: $(SRC_D)\crypto\txt_db\txt_db.c - $(CC) -o$(OBJ_D)\txt_db.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\txt_db\txt_db.c - -$(OBJ_D)\pk7_asn1.obj: $(SRC_D)\crypto\pkcs7\pk7_asn1.c - $(CC) -o$(OBJ_D)\pk7_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_asn1.c - -$(OBJ_D)\pk7_lib.obj: $(SRC_D)\crypto\pkcs7\pk7_lib.c - $(CC) -o$(OBJ_D)\pk7_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_lib.c - -$(OBJ_D)\pkcs7err.obj: $(SRC_D)\crypto\pkcs7\pkcs7err.c - $(CC) -o$(OBJ_D)\pkcs7err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pkcs7err.c - -$(OBJ_D)\pk7_doit.obj: $(SRC_D)\crypto\pkcs7\pk7_doit.c - $(CC) -o$(OBJ_D)\pk7_doit.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_doit.c - -$(OBJ_D)\pk7_smime.obj: $(SRC_D)\crypto\pkcs7\pk7_smime.c - $(CC) -o$(OBJ_D)\pk7_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_smime.c - -$(OBJ_D)\pk7_attr.obj: $(SRC_D)\crypto\pkcs7\pk7_attr.c - $(CC) -o$(OBJ_D)\pk7_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_attr.c - -$(OBJ_D)\pk7_mime.obj: $(SRC_D)\crypto\pkcs7\pk7_mime.c - $(CC) -o$(OBJ_D)\pk7_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_mime.c - -$(OBJ_D)\bio_pk7.obj: $(SRC_D)\crypto\pkcs7\bio_pk7.c - $(CC) -o$(OBJ_D)\bio_pk7.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\bio_pk7.c - -$(OBJ_D)\p12_add.obj: $(SRC_D)\crypto\pkcs12\p12_add.c - $(CC) -o$(OBJ_D)\p12_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_add.c - -$(OBJ_D)\p12_asn.obj: $(SRC_D)\crypto\pkcs12\p12_asn.c - $(CC) -o$(OBJ_D)\p12_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_asn.c - -$(OBJ_D)\p12_attr.obj: $(SRC_D)\crypto\pkcs12\p12_attr.c - $(CC) -o$(OBJ_D)\p12_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_attr.c - -$(OBJ_D)\p12_crpt.obj: $(SRC_D)\crypto\pkcs12\p12_crpt.c - $(CC) -o$(OBJ_D)\p12_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crpt.c - -$(OBJ_D)\p12_crt.obj: $(SRC_D)\crypto\pkcs12\p12_crt.c - $(CC) -o$(OBJ_D)\p12_crt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crt.c - -$(OBJ_D)\p12_decr.obj: $(SRC_D)\crypto\pkcs12\p12_decr.c - $(CC) -o$(OBJ_D)\p12_decr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_decr.c - -$(OBJ_D)\p12_init.obj: $(SRC_D)\crypto\pkcs12\p12_init.c - $(CC) -o$(OBJ_D)\p12_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_init.c - -$(OBJ_D)\p12_key.obj: $(SRC_D)\crypto\pkcs12\p12_key.c - $(CC) -o$(OBJ_D)\p12_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_key.c - -$(OBJ_D)\p12_kiss.obj: $(SRC_D)\crypto\pkcs12\p12_kiss.c - $(CC) -o$(OBJ_D)\p12_kiss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_kiss.c - -$(OBJ_D)\p12_mutl.obj: $(SRC_D)\crypto\pkcs12\p12_mutl.c - $(CC) -o$(OBJ_D)\p12_mutl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_mutl.c - -$(OBJ_D)\p12_utl.obj: $(SRC_D)\crypto\pkcs12\p12_utl.c - $(CC) -o$(OBJ_D)\p12_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_utl.c - -$(OBJ_D)\p12_npas.obj: $(SRC_D)\crypto\pkcs12\p12_npas.c - $(CC) -o$(OBJ_D)\p12_npas.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_npas.c - -$(OBJ_D)\pk12err.obj: $(SRC_D)\crypto\pkcs12\pk12err.c - $(CC) -o$(OBJ_D)\pk12err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\pk12err.c - -$(OBJ_D)\p12_p8d.obj: $(SRC_D)\crypto\pkcs12\p12_p8d.c - $(CC) -o$(OBJ_D)\p12_p8d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8d.c - -$(OBJ_D)\p12_p8e.obj: $(SRC_D)\crypto\pkcs12\p12_p8e.c - $(CC) -o$(OBJ_D)\p12_p8e.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8e.c - -$(OBJ_D)\comp_lib.obj: $(SRC_D)\crypto\comp\comp_lib.c - $(CC) -o$(OBJ_D)\comp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_lib.c - -$(OBJ_D)\comp_err.obj: $(SRC_D)\crypto\comp\comp_err.c - $(CC) -o$(OBJ_D)\comp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_err.c - -$(OBJ_D)\c_rle.obj: $(SRC_D)\crypto\comp\c_rle.c - $(CC) -o$(OBJ_D)\c_rle.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_rle.c - -$(OBJ_D)\c_zlib.obj: $(SRC_D)\crypto\comp\c_zlib.c - $(CC) -o$(OBJ_D)\c_zlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_zlib.c - -$(OBJ_D)\eng_err.obj: $(SRC_D)\crypto\engine\eng_err.c - $(CC) -o$(OBJ_D)\eng_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_err.c - -$(OBJ_D)\eng_lib.obj: $(SRC_D)\crypto\engine\eng_lib.c - $(CC) -o$(OBJ_D)\eng_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_lib.c - -$(OBJ_D)\eng_list.obj: $(SRC_D)\crypto\engine\eng_list.c - $(CC) -o$(OBJ_D)\eng_list.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_list.c - -$(OBJ_D)\eng_init.obj: $(SRC_D)\crypto\engine\eng_init.c - $(CC) -o$(OBJ_D)\eng_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_init.c - -$(OBJ_D)\eng_ctrl.obj: $(SRC_D)\crypto\engine\eng_ctrl.c - $(CC) -o$(OBJ_D)\eng_ctrl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_ctrl.c - -$(OBJ_D)\eng_table.obj: $(SRC_D)\crypto\engine\eng_table.c - $(CC) -o$(OBJ_D)\eng_table.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_table.c - -$(OBJ_D)\eng_pkey.obj: $(SRC_D)\crypto\engine\eng_pkey.c - $(CC) -o$(OBJ_D)\eng_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_pkey.c - -$(OBJ_D)\eng_fat.obj: $(SRC_D)\crypto\engine\eng_fat.c - $(CC) -o$(OBJ_D)\eng_fat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_fat.c - -$(OBJ_D)\eng_all.obj: $(SRC_D)\crypto\engine\eng_all.c - $(CC) -o$(OBJ_D)\eng_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_all.c - -$(OBJ_D)\tb_rsa.obj: $(SRC_D)\crypto\engine\tb_rsa.c - $(CC) -o$(OBJ_D)\tb_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rsa.c - -$(OBJ_D)\tb_dsa.obj: $(SRC_D)\crypto\engine\tb_dsa.c - $(CC) -o$(OBJ_D)\tb_dsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dsa.c - -$(OBJ_D)\tb_ecdsa.obj: $(SRC_D)\crypto\engine\tb_ecdsa.c - $(CC) -o$(OBJ_D)\tb_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdsa.c - -$(OBJ_D)\tb_dh.obj: $(SRC_D)\crypto\engine\tb_dh.c - $(CC) -o$(OBJ_D)\tb_dh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dh.c - -$(OBJ_D)\tb_ecdh.obj: $(SRC_D)\crypto\engine\tb_ecdh.c - $(CC) -o$(OBJ_D)\tb_ecdh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdh.c - -$(OBJ_D)\tb_rand.obj: $(SRC_D)\crypto\engine\tb_rand.c - $(CC) -o$(OBJ_D)\tb_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rand.c - -$(OBJ_D)\tb_store.obj: $(SRC_D)\crypto\engine\tb_store.c - $(CC) -o$(OBJ_D)\tb_store.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_store.c - -$(OBJ_D)\tb_cipher.obj: $(SRC_D)\crypto\engine\tb_cipher.c - $(CC) -o$(OBJ_D)\tb_cipher.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_cipher.c - -$(OBJ_D)\tb_digest.obj: $(SRC_D)\crypto\engine\tb_digest.c - $(CC) -o$(OBJ_D)\tb_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_digest.c - -$(OBJ_D)\tb_pkmeth.obj: $(SRC_D)\crypto\engine\tb_pkmeth.c - $(CC) -o$(OBJ_D)\tb_pkmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_pkmeth.c - -$(OBJ_D)\tb_asnmth.obj: $(SRC_D)\crypto\engine\tb_asnmth.c - $(CC) -o$(OBJ_D)\tb_asnmth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_asnmth.c - -$(OBJ_D)\eng_openssl.obj: $(SRC_D)\crypto\engine\eng_openssl.c - $(CC) -o$(OBJ_D)\eng_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_openssl.c - -$(OBJ_D)\eng_cnf.obj: $(SRC_D)\crypto\engine\eng_cnf.c - $(CC) -o$(OBJ_D)\eng_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cnf.c - -$(OBJ_D)\eng_dyn.obj: $(SRC_D)\crypto\engine\eng_dyn.c - $(CC) -o$(OBJ_D)\eng_dyn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_dyn.c - -$(OBJ_D)\eng_cryptodev.obj: $(SRC_D)\crypto\engine\eng_cryptodev.c - $(CC) -o$(OBJ_D)\eng_cryptodev.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cryptodev.c - -$(OBJ_D)\eng_rdrand.obj: $(SRC_D)\crypto\engine\eng_rdrand.c - $(CC) -o$(OBJ_D)\eng_rdrand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_rdrand.c - -$(OBJ_D)\ocsp_asn.obj: $(SRC_D)\crypto\ocsp\ocsp_asn.c - $(CC) -o$(OBJ_D)\ocsp_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_asn.c - -$(OBJ_D)\ocsp_ext.obj: $(SRC_D)\crypto\ocsp\ocsp_ext.c - $(CC) -o$(OBJ_D)\ocsp_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ext.c - -$(OBJ_D)\ocsp_ht.obj: $(SRC_D)\crypto\ocsp\ocsp_ht.c - $(CC) -o$(OBJ_D)\ocsp_ht.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ht.c - -$(OBJ_D)\ocsp_lib.obj: $(SRC_D)\crypto\ocsp\ocsp_lib.c - $(CC) -o$(OBJ_D)\ocsp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_lib.c - -$(OBJ_D)\ocsp_cl.obj: $(SRC_D)\crypto\ocsp\ocsp_cl.c - $(CC) -o$(OBJ_D)\ocsp_cl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_cl.c - -$(OBJ_D)\ocsp_srv.obj: $(SRC_D)\crypto\ocsp\ocsp_srv.c - $(CC) -o$(OBJ_D)\ocsp_srv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_srv.c - -$(OBJ_D)\ocsp_prn.obj: $(SRC_D)\crypto\ocsp\ocsp_prn.c - $(CC) -o$(OBJ_D)\ocsp_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_prn.c - -$(OBJ_D)\ocsp_vfy.obj: $(SRC_D)\crypto\ocsp\ocsp_vfy.c - $(CC) -o$(OBJ_D)\ocsp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_vfy.c - -$(OBJ_D)\ocsp_err.obj: $(SRC_D)\crypto\ocsp\ocsp_err.c - $(CC) -o$(OBJ_D)\ocsp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_err.c - -$(OBJ_D)\ui_err.obj: $(SRC_D)\crypto\ui\ui_err.c - $(CC) -o$(OBJ_D)\ui_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_err.c - -$(OBJ_D)\ui_lib.obj: $(SRC_D)\crypto\ui\ui_lib.c - $(CC) -o$(OBJ_D)\ui_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_lib.c - -$(OBJ_D)\ui_openssl.obj: $(SRC_D)\crypto\ui\ui_openssl.c - $(CC) -o$(OBJ_D)\ui_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_openssl.c - -$(OBJ_D)\ui_util.obj: $(SRC_D)\crypto\ui\ui_util.c - $(CC) -o$(OBJ_D)\ui_util.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_util.c - -$(OBJ_D)\ui_compat.obj: $(SRC_D)\crypto\ui\ui_compat.c - $(CC) -o$(OBJ_D)\ui_compat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_compat.c - -$(OBJ_D)\krb5_asn.obj: $(SRC_D)\crypto\krb5\krb5_asn.c - $(CC) -o$(OBJ_D)\krb5_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\krb5\krb5_asn.c - -$(OBJ_D)\pqueue.obj: $(SRC_D)\crypto\pqueue\pqueue.c - $(CC) -o$(OBJ_D)\pqueue.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pqueue\pqueue.c - -$(OBJ_D)\wp_dgst.obj: $(SRC_D)\crypto\whrlpool\wp_dgst.c - $(CC) -o$(OBJ_D)\wp_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_dgst.c - -$(OBJ_D)\wp_block.obj: $(SRC_D)\crypto\whrlpool\wp_block.c - $(CC) -o$(OBJ_D)\wp_block.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_block.c - -$(TMP_D)\wp-mmx.asm: crypto\whrlpool\asm\wp-mmx.pl - $(PERL) crypto\whrlpool\asm\wp-mmx.pl $(CFLAG) >$@ - -$(OBJ_D)\wp-mmx.obj: $(TMP_D)\wp-mmx.asm - $(ASM) -o$@ $(TMP_D)\wp-mmx.asm - -$(OBJ_D)\ts_err.obj: $(SRC_D)\crypto\ts\ts_err.c - $(CC) -o$(OBJ_D)\ts_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_err.c - -$(OBJ_D)\ts_req_utils.obj: $(SRC_D)\crypto\ts\ts_req_utils.c - $(CC) -o$(OBJ_D)\ts_req_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_utils.c - -$(OBJ_D)\ts_req_print.obj: $(SRC_D)\crypto\ts\ts_req_print.c - $(CC) -o$(OBJ_D)\ts_req_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_print.c - -$(OBJ_D)\ts_rsp_utils.obj: $(SRC_D)\crypto\ts\ts_rsp_utils.c - $(CC) -o$(OBJ_D)\ts_rsp_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_utils.c - -$(OBJ_D)\ts_rsp_print.obj: $(SRC_D)\crypto\ts\ts_rsp_print.c - $(CC) -o$(OBJ_D)\ts_rsp_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_print.c - -$(OBJ_D)\ts_rsp_sign.obj: $(SRC_D)\crypto\ts\ts_rsp_sign.c - $(CC) -o$(OBJ_D)\ts_rsp_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_sign.c - -$(OBJ_D)\ts_rsp_verify.obj: $(SRC_D)\crypto\ts\ts_rsp_verify.c - $(CC) -o$(OBJ_D)\ts_rsp_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_verify.c - -$(OBJ_D)\ts_verify_ctx.obj: $(SRC_D)\crypto\ts\ts_verify_ctx.c - $(CC) -o$(OBJ_D)\ts_verify_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_verify_ctx.c - -$(OBJ_D)\ts_lib.obj: $(SRC_D)\crypto\ts\ts_lib.c - $(CC) -o$(OBJ_D)\ts_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_lib.c - -$(OBJ_D)\ts_conf.obj: $(SRC_D)\crypto\ts\ts_conf.c - $(CC) -o$(OBJ_D)\ts_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_conf.c - -$(OBJ_D)\ts_asn1.obj: $(SRC_D)\crypto\ts\ts_asn1.c - $(CC) -o$(OBJ_D)\ts_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_asn1.c - -$(OBJ_D)\srp_lib.obj: $(SRC_D)\crypto\srp\srp_lib.c - $(CC) -o$(OBJ_D)\srp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_lib.c - -$(OBJ_D)\srp_vfy.obj: $(SRC_D)\crypto\srp\srp_vfy.c - $(CC) -o$(OBJ_D)\srp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_vfy.c - -$(OBJ_D)\e_4758cca.obj: $(SRC_D)\engines\e_4758cca.c - $(CC) -o$(OBJ_D)\e_4758cca.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_4758cca.c - -$(OBJ_D)\e_aep.obj: $(SRC_D)\engines\e_aep.c - $(CC) -o$(OBJ_D)\e_aep.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_aep.c - -$(OBJ_D)\e_atalla.obj: $(SRC_D)\engines\e_atalla.c - $(CC) -o$(OBJ_D)\e_atalla.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_atalla.c - -$(OBJ_D)\e_cswift.obj: $(SRC_D)\engines\e_cswift.c - $(CC) -o$(OBJ_D)\e_cswift.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_cswift.c - -$(OBJ_D)\e_gmp.obj: $(SRC_D)\engines\e_gmp.c - $(CC) -o$(OBJ_D)\e_gmp.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_gmp.c - -$(OBJ_D)\e_chil.obj: $(SRC_D)\engines\e_chil.c - $(CC) -o$(OBJ_D)\e_chil.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_chil.c - -$(OBJ_D)\e_nuron.obj: $(SRC_D)\engines\e_nuron.c - $(CC) -o$(OBJ_D)\e_nuron.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_nuron.c - -$(OBJ_D)\e_sureware.obj: $(SRC_D)\engines\e_sureware.c - $(CC) -o$(OBJ_D)\e_sureware.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_sureware.c - -$(OBJ_D)\e_ubsec.obj: $(SRC_D)\engines\e_ubsec.c - $(CC) -o$(OBJ_D)\e_ubsec.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_ubsec.c - -$(OBJ_D)\e_padlock.obj: $(SRC_D)\engines\e_padlock.c - $(CC) -o$(OBJ_D)\e_padlock.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_padlock.c - -$(OBJ_D)\e_capi.obj: $(SRC_D)\engines\e_capi.c - $(CC) -o$(OBJ_D)\e_capi.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_capi.c - -$(OBJ_D)\e_gost_err.obj: $(SRC_D)\engines\ccgost\e_gost_err.c - $(CC) -o$(OBJ_D)\e_gost_err.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\e_gost_err.c - -$(OBJ_D)\gost2001_keyx.obj: $(SRC_D)\engines\ccgost\gost2001_keyx.c - $(CC) -o$(OBJ_D)\gost2001_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001_keyx.c - -$(OBJ_D)\gost2001.obj: $(SRC_D)\engines\ccgost\gost2001.c - $(CC) -o$(OBJ_D)\gost2001.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001.c - -$(OBJ_D)\gost89.obj: $(SRC_D)\engines\ccgost\gost89.c - $(CC) -o$(OBJ_D)\gost89.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost89.c - -$(OBJ_D)\gost94_keyx.obj: $(SRC_D)\engines\ccgost\gost94_keyx.c - $(CC) -o$(OBJ_D)\gost94_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost94_keyx.c - -$(OBJ_D)\gost_ameth.obj: $(SRC_D)\engines\ccgost\gost_ameth.c - $(CC) -o$(OBJ_D)\gost_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ameth.c - -$(OBJ_D)\gost_asn1.obj: $(SRC_D)\engines\ccgost\gost_asn1.c - $(CC) -o$(OBJ_D)\gost_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_asn1.c - -$(OBJ_D)\gost_crypt.obj: $(SRC_D)\engines\ccgost\gost_crypt.c - $(CC) -o$(OBJ_D)\gost_crypt.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_crypt.c - -$(OBJ_D)\gost_ctl.obj: $(SRC_D)\engines\ccgost\gost_ctl.c - $(CC) -o$(OBJ_D)\gost_ctl.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ctl.c - -$(OBJ_D)\gost_eng.obj: $(SRC_D)\engines\ccgost\gost_eng.c - $(CC) -o$(OBJ_D)\gost_eng.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_eng.c - -$(OBJ_D)\gosthash.obj: $(SRC_D)\engines\ccgost\gosthash.c - $(CC) -o$(OBJ_D)\gosthash.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gosthash.c - -$(OBJ_D)\gost_keywrap.obj: $(SRC_D)\engines\ccgost\gost_keywrap.c - $(CC) -o$(OBJ_D)\gost_keywrap.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_keywrap.c - -$(OBJ_D)\gost_md.obj: $(SRC_D)\engines\ccgost\gost_md.c - $(CC) -o$(OBJ_D)\gost_md.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_md.c - -$(OBJ_D)\gost_params.obj: $(SRC_D)\engines\ccgost\gost_params.c - $(CC) -o$(OBJ_D)\gost_params.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_params.c - -$(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c - $(CC) -o$(OBJ_D)\gost_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_pmeth.c - -$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c - $(CC) -o$(OBJ_D)\gost_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c - -$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c - $(CC) -o$(OBJ_D)\s2_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_meth.c - -$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c - $(CC) -o$(OBJ_D)\s2_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_srvr.c - -$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c - $(CC) -o$(OBJ_D)\s2_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_clnt.c - -$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c - $(CC) -o$(OBJ_D)\s2_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_lib.c - -$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c - $(CC) -o$(OBJ_D)\s2_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_enc.c - -$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c - $(CC) -o$(OBJ_D)\s2_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_pkt.c - -$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c - $(CC) -o$(OBJ_D)\s3_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_meth.c - -$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c - $(CC) -o$(OBJ_D)\s3_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_srvr.c - -$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c - $(CC) -o$(OBJ_D)\s3_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_clnt.c - -$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c - $(CC) -o$(OBJ_D)\s3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_lib.c - -$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c - $(CC) -o$(OBJ_D)\s3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_enc.c - -$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c - $(CC) -o$(OBJ_D)\s3_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_pkt.c - -$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c - $(CC) -o$(OBJ_D)\s3_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_both.c - -$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c - $(CC) -o$(OBJ_D)\s3_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_cbc.c - -$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c - $(CC) -o$(OBJ_D)\s23_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_meth.c - -$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c - $(CC) -o$(OBJ_D)\s23_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_srvr.c - -$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c - $(CC) -o$(OBJ_D)\s23_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_clnt.c - -$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c - $(CC) -o$(OBJ_D)\s23_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_lib.c - -$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c - $(CC) -o$(OBJ_D)\s23_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_pkt.c - -$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c - $(CC) -o$(OBJ_D)\t1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_meth.c - -$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c - $(CC) -o$(OBJ_D)\t1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_srvr.c - -$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c - $(CC) -o$(OBJ_D)\t1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_clnt.c - -$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c - $(CC) -o$(OBJ_D)\t1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_lib.c - -$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c - $(CC) -o$(OBJ_D)\t1_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_enc.c - -$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c - $(CC) -o$(OBJ_D)\t1_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_ext.c - -$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c - $(CC) -o$(OBJ_D)\d1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_meth.c - -$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c - $(CC) -o$(OBJ_D)\d1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srvr.c - -$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c - $(CC) -o$(OBJ_D)\d1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_clnt.c - -$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c - $(CC) -o$(OBJ_D)\d1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_lib.c - -$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c - $(CC) -o$(OBJ_D)\d1_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_pkt.c - -$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c - $(CC) -o$(OBJ_D)\d1_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_both.c - -$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c - $(CC) -o$(OBJ_D)\d1_srtp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srtp.c - -$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c - $(CC) -o$(OBJ_D)\ssl_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_lib.c - -$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c - $(CC) -o$(OBJ_D)\ssl_err2.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err2.c - -$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c - $(CC) -o$(OBJ_D)\ssl_cert.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_cert.c - -$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c - $(CC) -o$(OBJ_D)\ssl_sess.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_sess.c - -$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c - $(CC) -o$(OBJ_D)\ssl_ciph.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_ciph.c - -$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c - $(CC) -o$(OBJ_D)\ssl_stat.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_stat.c - -$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c - $(CC) -o$(OBJ_D)\ssl_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_rsa.c - -$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c - $(CC) -o$(OBJ_D)\ssl_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_asn1.c - -$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c - $(CC) -o$(OBJ_D)\ssl_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_txt.c - -$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c - $(CC) -o$(OBJ_D)\ssl_algs.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_algs.c - -$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c - $(CC) -o$(OBJ_D)\ssl_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_conf.c - -$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c - $(CC) -o$(OBJ_D)\bio_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\bio_ssl.c - -$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c - $(CC) -o$(OBJ_D)\ssl_err.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err.c - -$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c - $(CC) -o$(OBJ_D)\kssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\kssl.c - -$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c - $(CC) -o$(OBJ_D)\t1_reneg.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_reneg.c - -$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c - $(CC) -o$(OBJ_D)\tls_srp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\tls_srp.c - -$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c - $(CC) -o$(OBJ_D)\t1_trce.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_trce.c - -$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c - $(CC) -o$(OBJ_D)\ssl_utst.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_utst.c - -$(TEST_D)\constant_time_test.exe: $(OBJ_D)\constant_time_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\constant_time_test.obj $(APP_EX_OBJ), $(TEST_D)\constant_time_test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\md4test.exe: $(OBJ_D)\md4test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\md4test.obj $(APP_EX_OBJ), $(TEST_D)\md4test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\md5test.exe: $(OBJ_D)\md5test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\md5test.obj $(APP_EX_OBJ), $(TEST_D)\md5test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\shatest.exe: $(OBJ_D)\shatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\shatest.obj $(APP_EX_OBJ), $(TEST_D)\shatest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\sha1test.exe: $(OBJ_D)\sha1test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\sha1test.obj $(APP_EX_OBJ), $(TEST_D)\sha1test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\sha256t.exe: $(OBJ_D)\sha256t.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\sha256t.obj $(APP_EX_OBJ), $(TEST_D)\sha256t.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\sha512t.exe: $(OBJ_D)\sha512t.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\sha512t.obj $(APP_EX_OBJ), $(TEST_D)\sha512t.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\hmactest.exe: $(OBJ_D)\hmactest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\hmactest.obj $(APP_EX_OBJ), $(TEST_D)\hmactest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\rmdtest.exe: $(OBJ_D)\rmdtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\rmdtest.obj $(APP_EX_OBJ), $(TEST_D)\rmdtest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\destest.exe: $(OBJ_D)\destest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\destest.obj $(APP_EX_OBJ), $(TEST_D)\destest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\rc2test.exe: $(OBJ_D)\rc2test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\rc2test.obj $(APP_EX_OBJ), $(TEST_D)\rc2test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\rc4test.exe: $(OBJ_D)\rc4test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\rc4test.obj $(APP_EX_OBJ), $(TEST_D)\rc4test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\bftest.exe: $(OBJ_D)\bftest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\bftest.obj $(APP_EX_OBJ), $(TEST_D)\bftest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\casttest.exe: $(OBJ_D)\casttest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\casttest.obj $(APP_EX_OBJ), $(TEST_D)\casttest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\bntest.exe: $(OBJ_D)\bntest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\bntest.obj $(APP_EX_OBJ), $(TEST_D)\bntest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\exptest.exe: $(OBJ_D)\exptest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\exptest.obj $(APP_EX_OBJ), $(TEST_D)\exptest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\rsa_test.exe: $(OBJ_D)\rsa_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\rsa_test.obj $(APP_EX_OBJ), $(TEST_D)\rsa_test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\dsatest.exe: $(OBJ_D)\dsatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\dsatest.obj $(APP_EX_OBJ), $(TEST_D)\dsatest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\dhtest.exe: $(OBJ_D)\dhtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\dhtest.obj $(APP_EX_OBJ), $(TEST_D)\dhtest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\ectest.exe: $(OBJ_D)\ectest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\ectest.obj $(APP_EX_OBJ), $(TEST_D)\ectest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\ecdhtest.exe: $(OBJ_D)\ecdhtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\ecdhtest.obj $(APP_EX_OBJ), $(TEST_D)\ecdhtest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\ecdsatest.exe: $(OBJ_D)\ecdsatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\ecdsatest.obj $(APP_EX_OBJ), $(TEST_D)\ecdsatest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\randtest.exe: $(OBJ_D)\randtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\randtest.obj $(APP_EX_OBJ), $(TEST_D)\randtest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\evp_test.exe: $(OBJ_D)\evp_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\evp_test.obj $(APP_EX_OBJ), $(TEST_D)\evp_test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\evp_extra_test.exe: $(OBJ_D)\evp_extra_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\evp_extra_test.obj $(APP_EX_OBJ), $(TEST_D)\evp_extra_test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\verify_extra_test.exe: $(OBJ_D)\verify_extra_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\verify_extra_test.obj $(APP_EX_OBJ), $(TEST_D)\verify_extra_test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\v3nametest.exe: $(OBJ_D)\v3nametest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\v3nametest.obj $(APP_EX_OBJ), $(TEST_D)\v3nametest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\enginetest.exe: $(OBJ_D)\enginetest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\enginetest.obj $(APP_EX_OBJ), $(TEST_D)\enginetest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\wp_test.exe: $(OBJ_D)\wp_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\wp_test.obj $(APP_EX_OBJ), $(TEST_D)\wp_test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\srptest.exe: $(OBJ_D)\srptest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\srptest.obj $(APP_EX_OBJ), $(TEST_D)\srptest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\ssltest.exe: $(OBJ_D)\ssltest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\ssltest.obj $(APP_EX_OBJ), $(TEST_D)\ssltest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\heartbeat_test.exe: $(OBJ_D)\heartbeat_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\heartbeat_test.obj $(APP_EX_OBJ), $(TEST_D)\heartbeat_test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\clienthellotest.exe: $(OBJ_D)\clienthellotest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\clienthellotest.obj $(APP_EX_OBJ), $(TEST_D)\clienthellotest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\sslv2conftest.exe: $(OBJ_D)\sslv2conftest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\sslv2conftest.obj $(APP_EX_OBJ), $(TEST_D)\sslv2conftest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\dtlstest.exe: $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(APP_EX_OBJ), $(TEST_D)\dtlstest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\bad_dtls_test.exe: $(OBJ_D)\bad_dtls_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\bad_dtls_test.obj $(APP_EX_OBJ), $(TEST_D)\bad_dtls_test.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\fatalerrtest.exe: $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(APP_EX_OBJ), $(TEST_D)\fatalerrtest.exe,, $(L_LIBS) $(EX_LIBS) - -$(TEST_D)\igetest.exe: $(OBJ_D)\igetest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(OBJ_D)\igetest.obj $(APP_EX_OBJ), $(TEST_D)\igetest.exe,, $(L_LIBS) $(EX_LIBS) - -$(O_SSL): $(SSLOBJ) - -$(RM) $(O_SSL) - $(MKLIB) $(O_SSL) @&&! -+$(**: = &^ -+) -! - -$(O_CRYPTO): $(CRYPTOOBJ) - -$(RM) $(O_CRYPTO) - $(MKLIB) $(O_CRYPTO) @&&! -+$(**: = &^ -+) -! - -$(BIN_D)\$(E_EXE).exe: $(E_OBJ) $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) $(E_OBJ) $(APP_EX_OBJ), $(BIN_D)\$(E_EXE).exe,, $(L_LIBS) $(EX_LIBS) - +# N.B. You MUST use -j on FreeBSD. +# This makefile has been automatically generated from the OpenSSL distribution. +# This single makefile will build the complete OpenSSL distribution and +# by default leave the 'interesting' output files in .\out and the stuff +# that needs deleting in .\tmp. +# The file was generated by running 'make makefile.one', which +# does a 'make files', which writes all the environment variables from all +# the makefiles to the file call MINFO. This file is used by +# util\mk1mf.pl to generate makefile.one. +# The 'makefile per directory' system suites me when developing this +# library and also so I can 'distribute' indervidual library sections. +# The one monster makefile better suits building in non-unix +# environments. + +INSTALLTOP=\usr\local\ssl +OPENSSLDIR=\usr\local\ssl + +# Set your compiler options +PLATFORM=BC-NT +CC=bcc32 +CFLAG=-DWIN32_LEAN_AND_MEAN -q -w-ccc -w-rch -w-pia -w-aus -w-par -w-inl -c -tWC -tWM -DOPENSSL_SYSNAME_WIN32 -DL_ENDIAN -DDSO_WIN32 -D_stricmp=stricmp -D_strnicmp=strnicmp -O2 -ff -fp -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE +APP_CFLAG= +LIB_CFLAG= +SHLIB_CFLAG= +APP_EX_OBJ=c0x32.obj +SHLIB_EX_OBJ= +# add extra libraries to this define, for solaris -lsocket -lnsl would +# be added +EX_LIBS=cw32mt.lib import32.lib crypt32.lib ws2_32.lib + +# The OpenSSL directory +SRC_D=. + +LINK_CMD=ilink32 +LFLAGS=-ap -Tpe -x -Gn +RSC= + +# The output directory for everything interesting +OUT_D=out32 +# The output directory for all the temporary muck +TMP_D=tmp32 +# The output directory for the header files +INC_D=inc32 +INCO_D=inc32\openssl + +PERL=perl +CP=copy +RM=del +RANLIB= +MKDIR=-mkdir +MKLIB=tlib /P64 +MLFLAGS= +ASM=nasm -f obj -d__omf__ + +# FIPS validated module and support file locations + +E_PREMAIN_DSO=fips_premain_dso + +FIPSDIR=\usr\local\ssl\fips-2.0 +BASEADDR=0xFB00000 +FIPSLIB_D=$(FIPSDIR)\lib +FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c +O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib +FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe +PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe +FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl + +###################################################### +# You should not need to touch anything below this point +###################################################### + +E_EXE=openssl +SSL=ssleay32 +CRYPTO=libeay32 + +# BIN_D - Binary output directory +# TEST_D - Binary test file output directory +# LIB_D - library output directory +# ENG_D - dynamic engine output directory +# Note: if you change these point to different directories then uncomment out +# the lines around the 'NB' comment below. +# +BIN_D=$(OUT_D) +TEST_D=$(OUT_D) +LIB_D=$(OUT_D) +ENG_D=$(OUT_D) + +# INCL_D - local library directory +# OBJ_D - temp object file directory +OBJ_D=$(TMP_D) +INCL_D=$(TMP_D) + +O_SSL= $(LIB_D)\$(SSL).lib +O_CRYPTO= $(LIB_D)\$(CRYPTO).lib +SO_SSL= $(SSL) +SO_CRYPTO= $(CRYPTO) +L_SSL= $(LIB_D)\$(SSL).lib +L_CRYPTO= $(LIB_D)\$(CRYPTO).lib + +L_LIBS= $(L_SSL) $(L_CRYPTO) + +###################################################### +# Don't touch anything below this point +###################################################### + +INC=-I$(INC_D) -I$(INCL_D) +APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) +LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) +SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) +LIBS_DEP=$(O_CRYPTO) $(O_SSL) + +############################################# +HEADER=$(INCL_D)\e_os.h \ + $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ + $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ + $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ + $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ + $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ + $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ + $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ + $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ + $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ + $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ + $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ + $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ + $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ + $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ + $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ + $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ + $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ + $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ + $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ + $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ + $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ + $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ + $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ + $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ + $(INCL_D)\ssltestlib.h + +EXHEADER=$(INCO_D)\e_os2.h \ + $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ + $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ + $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ + $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ + $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ + $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ + $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ + $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ + $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ + $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ + $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ + $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ + $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ + $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ + $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ + $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ + $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ + $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ + $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ + $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ + $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ + $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ + $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ + $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h + +T_OBJ=$(OBJ_D)\constant_time_test.obj \ + $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ + $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ + $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ + $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ + $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ + $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ + $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ + $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ + $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ + $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ + $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ + $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ + $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj + +E_OBJ=$(OBJ_D)\verify.obj \ + $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ + $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ + $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ + $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ + $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ + $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ + $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ + $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ + $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ + $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ + $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ + $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ + $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ + $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ + $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ + $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ + $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj + +SSLOBJ=$(OBJ_D)\s2_meth.obj \ + $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ + $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ + $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ + $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ + $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ + $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ + $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ + $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ + $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ + $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ + $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ + $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ + $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ + $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ + $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ + $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ + $(OBJ_D)\ssl_utst.obj + +CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ + $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ + $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ + $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ + $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ + $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \ + $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ + $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \ + $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ + $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \ + $(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \ + $(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \ + $(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \ + $(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \ + $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \ + $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \ + $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \ + $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \ + $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \ + $(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \ + $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \ + $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \ + $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \ + $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \ + $(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \ + $(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \ + $(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \ + $(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \ + $(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \ + $(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \ + $(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \ + $(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ + $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ + $(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \ + $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \ + $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \ + $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \ + $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \ + $(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \ + $(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \ + $(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \ + $(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \ + $(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \ + $(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \ + $(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \ + $(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \ + $(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \ + $(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \ + $(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \ + $(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \ + $(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \ + $(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \ + $(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \ + $(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \ + $(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \ + $(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \ + $(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \ + $(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \ + $(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \ + $(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \ + $(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \ + $(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \ + $(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \ + $(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \ + $(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \ + $(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \ + $(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \ + $(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \ + $(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \ + $(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \ + $(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \ + $(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \ + $(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \ + $(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \ + $(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \ + $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \ + $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \ + $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \ + $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \ + $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \ + $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \ + $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \ + $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \ + $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \ + $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \ + $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \ + $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \ + $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \ + $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \ + $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \ + $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \ + $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \ + $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \ + $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \ + $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \ + $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \ + $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \ + $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \ + $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \ + $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \ + $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \ + $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \ + $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \ + $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \ + $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \ + $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \ + $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \ + $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \ + $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \ + $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \ + $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \ + $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \ + $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \ + $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \ + $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \ + $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \ + $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \ + $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \ + $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \ + $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \ + $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \ + $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \ + $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \ + $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \ + $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \ + $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \ + $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \ + $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \ + $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \ + $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \ + $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \ + $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \ + $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \ + $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \ + $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \ + $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \ + $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \ + $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \ + $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \ + $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \ + $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \ + $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \ + $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \ + $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \ + $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \ + $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \ + $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \ + $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \ + $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \ + $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \ + $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \ + $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \ + $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \ + $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \ + $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \ + $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \ + $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \ + $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \ + $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \ + $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \ + $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \ + $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \ + $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \ + $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \ + $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \ + $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \ + $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \ + $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \ + $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \ + $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \ + $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \ + $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \ + $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \ + $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \ + $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \ + $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \ + $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \ + $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \ + $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \ + $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \ + $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \ + $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \ + $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \ + $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \ + $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \ + $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \ + $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \ + $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \ + $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \ + $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \ + $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \ + $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \ + $(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ + $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ + $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ + $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ + $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \ + $(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \ + $(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \ + $(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \ + $(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \ + $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \ + $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \ + $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \ + $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \ + $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj + +T_EXE=$(TEST_D)\constant_time_test.exe \ + $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ + $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ + $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ + $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ + $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ + $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ + $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ + $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ + $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ + $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ + $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ + $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ + $(TEST_D)\igetest.exe + +E_SHLIB= + +################################################################### +all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe + +banner: + @echo Building OpenSSL + +$(TMP_D): + $(MKDIR) "$(TMP_D)" +# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different +#$(BIN_D): +# $(MKDIR) $(BIN_D) +# +#$(TEST_D): +# $(MKDIR) $(TEST_D) + +$(LIB_D): + $(MKDIR) "$(LIB_D)" + +$(INCO_D): $(INC_D) + $(MKDIR) "$(INCO_D)" + +$(INC_D): + $(MKDIR) "$(INC_D)" + +# This needs to be invoked once, when the makefile is first constructed, or +# after cleaning. +init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers + $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" + +headers: $(HEADER) $(EXHEADER) + +lib: $(LIBS_DEP) $(E_SHLIB) + +exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe + +install: all + $(MKDIR) "$(INSTALLTOP)" + $(MKDIR) "$(INSTALLTOP)\bin" + $(MKDIR) "$(INSTALLTOP)\include" + $(MKDIR) "$(INSTALLTOP)\include\openssl" + $(MKDIR) "$(INSTALLTOP)\lib" + $(CP) "$(INCO_D)\*.[ch]" "$(INSTALLTOP)\include\openssl" + $(CP) "$(BIN_D)\$(E_EXE).exe" "$(INSTALLTOP)\bin" + $(MKDIR) "$(OPENSSLDIR)" + $(CP) apps\openssl.cnf "$(OPENSSLDIR)" + $(CP) "$(O_SSL)" "$(INSTALLTOP)\lib" + $(CP) "$(O_CRYPTO)" "$(INSTALLTOP)\lib" + + +clean: + $(RM) $(TMP_D)\*.* + +vclean: + $(RM) $(TMP_D)\*.* + $(RM) $(OUT_D)\*.* + +reallyclean: + $(RM) -rf $(TMP_D) + $(RM) -rf $(BIN_D) + $(RM) -rf $(TEST_D) + $(RM) -rf $(LIB_D) + $(RM) -rf $(INC_D) + +test: $(T_EXE) + cd $(BIN_D) + ..\ms\test + +$(INCL_D)\e_os.h: $(SRC_D)\.\e_os.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os.h" "$(INCL_D)\e_os.h" + +$(INCL_D)\cryptlib.h: $(SRC_D)\crypto\cryptlib.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cryptlib.h" "$(INCL_D)\cryptlib.h" + +$(INCL_D)\buildinf.h: $(SRC_D)\crypto\buildinf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buildinf.h" "$(INCL_D)\buildinf.h" + +$(INCL_D)\md32_common.h: $(SRC_D)\crypto\md32_common.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md32_common.h" "$(INCL_D)\md32_common.h" + +$(INCL_D)\o_time.h: $(SRC_D)\crypto\o_time.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_time.h" "$(INCL_D)\o_time.h" + +$(INCL_D)\o_str.h: $(SRC_D)\crypto\o_str.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_str.h" "$(INCL_D)\o_str.h" + +$(INCL_D)\o_dir.h: $(SRC_D)\crypto\o_dir.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_dir.h" "$(INCL_D)\o_dir.h" + +$(INCL_D)\constant_time_locl.h: $(SRC_D)\crypto\constant_time_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\constant_time_locl.h" "$(INCL_D)\constant_time_locl.h" + +$(INCL_D)\bn_int.h: $(SRC_D)\crypto\bn_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn_int.h" "$(INCL_D)\bn_int.h" + +$(INCL_D)\md4_locl.h: $(SRC_D)\crypto\md4\md4_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4_locl.h" "$(INCL_D)\md4_locl.h" + +$(INCL_D)\md5_locl.h: $(SRC_D)\crypto\md5\md5_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5_locl.h" "$(INCL_D)\md5_locl.h" + +$(INCL_D)\sha_locl.h: $(SRC_D)\crypto\sha\sha_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha_locl.h" "$(INCL_D)\sha_locl.h" + +$(INCL_D)\rmd_locl.h: $(SRC_D)\crypto\ripemd\rmd_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmd_locl.h" "$(INCL_D)\rmd_locl.h" + +$(INCL_D)\rmdconst.h: $(SRC_D)\crypto\ripemd\rmdconst.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmdconst.h" "$(INCL_D)\rmdconst.h" + +$(INCL_D)\des_locl.h: $(SRC_D)\crypto\des\des_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_locl.h" "$(INCL_D)\des_locl.h" + +$(INCL_D)\rpc_des.h: $(SRC_D)\crypto\des\rpc_des.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\rpc_des.h" "$(INCL_D)\rpc_des.h" + +$(INCL_D)\spr.h: $(SRC_D)\crypto\des\spr.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\spr.h" "$(INCL_D)\spr.h" + +$(INCL_D)\des_ver.h: $(SRC_D)\crypto\des\des_ver.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_ver.h" "$(INCL_D)\des_ver.h" + +$(INCL_D)\rc2_locl.h: $(SRC_D)\crypto\rc2\rc2_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2_locl.h" "$(INCL_D)\rc2_locl.h" + +$(INCL_D)\rc4_locl.h: $(SRC_D)\crypto\rc4\rc4_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4_locl.h" "$(INCL_D)\rc4_locl.h" + +$(INCL_D)\bf_pi.h: $(SRC_D)\crypto\bf\bf_pi.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_pi.h" "$(INCL_D)\bf_pi.h" + +$(INCL_D)\bf_locl.h: $(SRC_D)\crypto\bf\bf_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_locl.h" "$(INCL_D)\bf_locl.h" + +$(INCL_D)\cast_s.h: $(SRC_D)\crypto\cast\cast_s.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_s.h" "$(INCL_D)\cast_s.h" + +$(INCL_D)\cast_lcl.h: $(SRC_D)\crypto\cast\cast_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_lcl.h" "$(INCL_D)\cast_lcl.h" + +$(INCL_D)\aes_locl.h: $(SRC_D)\crypto\aes\aes_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes_locl.h" "$(INCL_D)\aes_locl.h" + +$(INCL_D)\cmll_locl.h: $(SRC_D)\crypto\camellia\cmll_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\cmll_locl.h" "$(INCL_D)\cmll_locl.h" + +$(INCL_D)\seed_locl.h: $(SRC_D)\crypto\seed\seed_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed_locl.h" "$(INCL_D)\seed_locl.h" + +$(INCL_D)\modes_lcl.h: $(SRC_D)\crypto\modes\modes_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes_lcl.h" "$(INCL_D)\modes_lcl.h" + +$(INCL_D)\bn_lcl.h: $(SRC_D)\crypto\bn\bn_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_lcl.h" "$(INCL_D)\bn_lcl.h" + +$(INCL_D)\bn_prime.h: $(SRC_D)\crypto\bn\bn_prime.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_prime.h" "$(INCL_D)\bn_prime.h" + +$(INCL_D)\dsa_locl.h: $(SRC_D)\crypto\dsa\dsa_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa_locl.h" "$(INCL_D)\dsa_locl.h" + +$(INCL_D)\ec_lcl.h: $(SRC_D)\crypto\ec\ec_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec_lcl.h" "$(INCL_D)\ec_lcl.h" + +$(INCL_D)\ech_locl.h: $(SRC_D)\crypto\ecdh\ech_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ech_locl.h" "$(INCL_D)\ech_locl.h" + +$(INCL_D)\ecs_locl.h: $(SRC_D)\crypto\ecdsa\ecs_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecs_locl.h" "$(INCL_D)\ecs_locl.h" + +$(INCL_D)\bio_lcl.h: $(SRC_D)\crypto\bio\bio_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio_lcl.h" "$(INCL_D)\bio_lcl.h" + +$(INCL_D)\obj_dat.h: $(SRC_D)\crypto\objects\obj_dat.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_dat.h" "$(INCL_D)\obj_dat.h" + +$(INCL_D)\obj_xref.h: $(SRC_D)\crypto\objects\obj_xref.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_xref.h" "$(INCL_D)\obj_xref.h" + +$(INCL_D)\evp_locl.h: $(SRC_D)\crypto\evp\evp_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp_locl.h" "$(INCL_D)\evp_locl.h" + +$(INCL_D)\asn1_locl.h: $(SRC_D)\crypto\asn1\asn1_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_locl.h" "$(INCL_D)\asn1_locl.h" + +$(INCL_D)\vpm_int.h: $(SRC_D)\crypto\x509\vpm_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\vpm_int.h" "$(INCL_D)\vpm_int.h" + +$(INCL_D)\pcy_int.h: $(SRC_D)\crypto\x509v3\pcy_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\pcy_int.h" "$(INCL_D)\pcy_int.h" + +$(INCL_D)\cms_lcl.h: $(SRC_D)\crypto\cms\cms_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms_lcl.h" "$(INCL_D)\cms_lcl.h" + +$(INCL_D)\conf_def.h: $(SRC_D)\crypto\conf\conf_def.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_def.h" "$(INCL_D)\conf_def.h" + +$(INCL_D)\ui_locl.h: $(SRC_D)\crypto\ui\ui_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_locl.h" "$(INCL_D)\ui_locl.h" + +$(INCL_D)\wp_locl.h: $(SRC_D)\crypto\whrlpool\wp_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\wp_locl.h" "$(INCL_D)\wp_locl.h" + +$(INCL_D)\ssl_locl.h: $(SRC_D)\ssl\ssl_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl_locl.h" "$(INCL_D)\ssl_locl.h" + +$(INCL_D)\kssl_lcl.h: $(SRC_D)\ssl\kssl_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl_lcl.h" "$(INCL_D)\kssl_lcl.h" + +$(INCL_D)\apps.h: $(SRC_D)\apps\apps.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\apps.h" "$(INCL_D)\apps.h" + +$(INCL_D)\progs.h: $(SRC_D)\apps\progs.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\progs.h" "$(INCL_D)\progs.h" + +$(INCL_D)\s_apps.h: $(SRC_D)\apps\s_apps.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\s_apps.h" "$(INCL_D)\s_apps.h" + +$(INCL_D)\testdsa.h: $(SRC_D)\apps\testdsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testdsa.h" "$(INCL_D)\testdsa.h" + +$(INCL_D)\testrsa.h: $(SRC_D)\apps\testrsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testrsa.h" "$(INCL_D)\testrsa.h" + +$(INCL_D)\e_4758cca_err.c: $(SRC_D)\engines\e_4758cca_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.c" "$(INCL_D)\e_4758cca_err.c" + +$(INCL_D)\e_4758cca_err.h: $(SRC_D)\engines\e_4758cca_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.h" "$(INCL_D)\e_4758cca_err.h" + +$(INCL_D)\e_aep_err.c: $(SRC_D)\engines\e_aep_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.c" "$(INCL_D)\e_aep_err.c" + +$(INCL_D)\e_aep_err.h: $(SRC_D)\engines\e_aep_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.h" "$(INCL_D)\e_aep_err.h" + +$(INCL_D)\e_atalla_err.c: $(SRC_D)\engines\e_atalla_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.c" "$(INCL_D)\e_atalla_err.c" + +$(INCL_D)\e_atalla_err.h: $(SRC_D)\engines\e_atalla_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.h" "$(INCL_D)\e_atalla_err.h" + +$(INCL_D)\e_cswift_err.c: $(SRC_D)\engines\e_cswift_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.c" "$(INCL_D)\e_cswift_err.c" + +$(INCL_D)\e_cswift_err.h: $(SRC_D)\engines\e_cswift_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.h" "$(INCL_D)\e_cswift_err.h" + +$(INCL_D)\e_gmp_err.c: $(SRC_D)\engines\e_gmp_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.c" "$(INCL_D)\e_gmp_err.c" + +$(INCL_D)\e_gmp_err.h: $(SRC_D)\engines\e_gmp_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.h" "$(INCL_D)\e_gmp_err.h" + +$(INCL_D)\e_chil_err.c: $(SRC_D)\engines\e_chil_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.c" "$(INCL_D)\e_chil_err.c" + +$(INCL_D)\e_chil_err.h: $(SRC_D)\engines\e_chil_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.h" "$(INCL_D)\e_chil_err.h" + +$(INCL_D)\e_nuron_err.c: $(SRC_D)\engines\e_nuron_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.c" "$(INCL_D)\e_nuron_err.c" + +$(INCL_D)\e_nuron_err.h: $(SRC_D)\engines\e_nuron_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.h" "$(INCL_D)\e_nuron_err.h" + +$(INCL_D)\e_sureware_err.c: $(SRC_D)\engines\e_sureware_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.c" "$(INCL_D)\e_sureware_err.c" + +$(INCL_D)\e_sureware_err.h: $(SRC_D)\engines\e_sureware_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.h" "$(INCL_D)\e_sureware_err.h" + +$(INCL_D)\e_ubsec_err.c: $(SRC_D)\engines\e_ubsec_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.c" "$(INCL_D)\e_ubsec_err.c" + +$(INCL_D)\e_ubsec_err.h: $(SRC_D)\engines\e_ubsec_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.h" "$(INCL_D)\e_ubsec_err.h" + +$(INCL_D)\e_capi_err.c: $(SRC_D)\engines\e_capi_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.c" "$(INCL_D)\e_capi_err.c" + +$(INCL_D)\e_capi_err.h: $(SRC_D)\engines\e_capi_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.h" "$(INCL_D)\e_capi_err.h" + +$(INCL_D)\testutil.h: $(SRC_D)\test\testutil.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\testutil.h" "$(INCL_D)\testutil.h" + +$(INCL_D)\ssltestlib.h: $(SRC_D)\test\ssltestlib.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\ssltestlib.h" "$(INCL_D)\ssltestlib.h" + +$(INCO_D)\e_os2.h: $(SRC_D)\.\e_os2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os2.h" "$(INCO_D)\e_os2.h" + +$(INCO_D)\crypto.h: $(SRC_D)\crypto\crypto.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\crypto.h" "$(INCO_D)\crypto.h" + +$(INCO_D)\opensslv.h: $(SRC_D)\crypto\opensslv.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslv.h" "$(INCO_D)\opensslv.h" + +$(INCO_D)\opensslconf.h: $(SRC_D)\crypto\opensslconf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslconf.h" "$(INCO_D)\opensslconf.h" + +$(INCO_D)\ebcdic.h: $(SRC_D)\crypto\ebcdic.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ebcdic.h" "$(INCO_D)\ebcdic.h" + +$(INCO_D)\symhacks.h: $(SRC_D)\crypto\symhacks.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\symhacks.h" "$(INCO_D)\symhacks.h" + +$(INCO_D)\ossl_typ.h: $(SRC_D)\crypto\ossl_typ.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ossl_typ.h" "$(INCO_D)\ossl_typ.h" + +$(INCO_D)\md4.h: $(SRC_D)\crypto\md4\md4.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4.h" "$(INCO_D)\md4.h" + +$(INCO_D)\md5.h: $(SRC_D)\crypto\md5\md5.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5.h" "$(INCO_D)\md5.h" + +$(INCO_D)\sha.h: $(SRC_D)\crypto\sha\sha.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha.h" "$(INCO_D)\sha.h" + +$(INCO_D)\hmac.h: $(SRC_D)\crypto\hmac\hmac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\hmac\hmac.h" "$(INCO_D)\hmac.h" + +$(INCO_D)\cmac.h: $(SRC_D)\crypto\cmac\cmac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cmac\cmac.h" "$(INCO_D)\cmac.h" + +$(INCO_D)\ripemd.h: $(SRC_D)\crypto\ripemd\ripemd.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\ripemd.h" "$(INCO_D)\ripemd.h" + +$(INCO_D)\des.h: $(SRC_D)\crypto\des\des.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des.h" "$(INCO_D)\des.h" + +$(INCO_D)\des_old.h: $(SRC_D)\crypto\des\des_old.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_old.h" "$(INCO_D)\des_old.h" + +$(INCO_D)\rc2.h: $(SRC_D)\crypto\rc2\rc2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2.h" "$(INCO_D)\rc2.h" + +$(INCO_D)\rc4.h: $(SRC_D)\crypto\rc4\rc4.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4.h" "$(INCO_D)\rc4.h" + +$(INCO_D)\blowfish.h: $(SRC_D)\crypto\bf\blowfish.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\blowfish.h" "$(INCO_D)\blowfish.h" + +$(INCO_D)\cast.h: $(SRC_D)\crypto\cast\cast.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast.h" "$(INCO_D)\cast.h" + +$(INCO_D)\aes.h: $(SRC_D)\crypto\aes\aes.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes.h" "$(INCO_D)\aes.h" + +$(INCO_D)\camellia.h: $(SRC_D)\crypto\camellia\camellia.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\camellia.h" "$(INCO_D)\camellia.h" + +$(INCO_D)\seed.h: $(SRC_D)\crypto\seed\seed.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed.h" "$(INCO_D)\seed.h" + +$(INCO_D)\modes.h: $(SRC_D)\crypto\modes\modes.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes.h" "$(INCO_D)\modes.h" + +$(INCO_D)\bn.h: $(SRC_D)\crypto\bn\bn.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn.h" "$(INCO_D)\bn.h" + +$(INCO_D)\rsa.h: $(SRC_D)\crypto\rsa\rsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rsa\rsa.h" "$(INCO_D)\rsa.h" + +$(INCO_D)\dsa.h: $(SRC_D)\crypto\dsa\dsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa.h" "$(INCO_D)\dsa.h" + +$(INCO_D)\dso.h: $(SRC_D)\crypto\dso\dso.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dso\dso.h" "$(INCO_D)\dso.h" + +$(INCO_D)\dh.h: $(SRC_D)\crypto\dh\dh.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dh\dh.h" "$(INCO_D)\dh.h" + +$(INCO_D)\ec.h: $(SRC_D)\crypto\ec\ec.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec.h" "$(INCO_D)\ec.h" + +$(INCO_D)\ecdh.h: $(SRC_D)\crypto\ecdh\ecdh.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ecdh.h" "$(INCO_D)\ecdh.h" + +$(INCO_D)\ecdsa.h: $(SRC_D)\crypto\ecdsa\ecdsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecdsa.h" "$(INCO_D)\ecdsa.h" + +$(INCO_D)\buffer.h: $(SRC_D)\crypto\buffer\buffer.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buffer\buffer.h" "$(INCO_D)\buffer.h" + +$(INCO_D)\bio.h: $(SRC_D)\crypto\bio\bio.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio.h" "$(INCO_D)\bio.h" + +$(INCO_D)\stack.h: $(SRC_D)\crypto\stack\stack.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\stack.h" "$(INCO_D)\stack.h" + +$(INCO_D)\safestack.h: $(SRC_D)\crypto\stack\safestack.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\safestack.h" "$(INCO_D)\safestack.h" + +$(INCO_D)\lhash.h: $(SRC_D)\crypto\lhash\lhash.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\lhash\lhash.h" "$(INCO_D)\lhash.h" + +$(INCO_D)\rand.h: $(SRC_D)\crypto\rand\rand.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rand\rand.h" "$(INCO_D)\rand.h" + +$(INCO_D)\err.h: $(SRC_D)\crypto\err\err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\err\err.h" "$(INCO_D)\err.h" + +$(INCO_D)\objects.h: $(SRC_D)\crypto\objects\objects.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\objects.h" "$(INCO_D)\objects.h" + +$(INCO_D)\obj_mac.h: $(SRC_D)\crypto\objects\obj_mac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_mac.h" "$(INCO_D)\obj_mac.h" + +$(INCO_D)\evp.h: $(SRC_D)\crypto\evp\evp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp.h" "$(INCO_D)\evp.h" + +$(INCO_D)\asn1.h: $(SRC_D)\crypto\asn1\asn1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1.h" "$(INCO_D)\asn1.h" + +$(INCO_D)\asn1_mac.h: $(SRC_D)\crypto\asn1\asn1_mac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_mac.h" "$(INCO_D)\asn1_mac.h" + +$(INCO_D)\asn1t.h: $(SRC_D)\crypto\asn1\asn1t.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1t.h" "$(INCO_D)\asn1t.h" + +$(INCO_D)\pem.h: $(SRC_D)\crypto\pem\pem.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem.h" "$(INCO_D)\pem.h" + +$(INCO_D)\pem2.h: $(SRC_D)\crypto\pem\pem2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem2.h" "$(INCO_D)\pem2.h" + +$(INCO_D)\x509.h: $(SRC_D)\crypto\x509\x509.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509.h" "$(INCO_D)\x509.h" + +$(INCO_D)\x509_vfy.h: $(SRC_D)\crypto\x509\x509_vfy.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509_vfy.h" "$(INCO_D)\x509_vfy.h" + +$(INCO_D)\x509v3.h: $(SRC_D)\crypto\x509v3\x509v3.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\x509v3.h" "$(INCO_D)\x509v3.h" + +$(INCO_D)\cms.h: $(SRC_D)\crypto\cms\cms.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms.h" "$(INCO_D)\cms.h" + +$(INCO_D)\conf.h: $(SRC_D)\crypto\conf\conf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf.h" "$(INCO_D)\conf.h" + +$(INCO_D)\conf_api.h: $(SRC_D)\crypto\conf\conf_api.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_api.h" "$(INCO_D)\conf_api.h" + +$(INCO_D)\txt_db.h: $(SRC_D)\crypto\txt_db\txt_db.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\txt_db\txt_db.h" "$(INCO_D)\txt_db.h" + +$(INCO_D)\pkcs7.h: $(SRC_D)\crypto\pkcs7\pkcs7.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs7\pkcs7.h" "$(INCO_D)\pkcs7.h" + +$(INCO_D)\pkcs12.h: $(SRC_D)\crypto\pkcs12\pkcs12.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs12\pkcs12.h" "$(INCO_D)\pkcs12.h" + +$(INCO_D)\comp.h: $(SRC_D)\crypto\comp\comp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\comp\comp.h" "$(INCO_D)\comp.h" + +$(INCO_D)\engine.h: $(SRC_D)\crypto\engine\engine.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\engine\engine.h" "$(INCO_D)\engine.h" + +$(INCO_D)\ocsp.h: $(SRC_D)\crypto\ocsp\ocsp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ocsp\ocsp.h" "$(INCO_D)\ocsp.h" + +$(INCO_D)\ui.h: $(SRC_D)\crypto\ui\ui.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui.h" "$(INCO_D)\ui.h" + +$(INCO_D)\ui_compat.h: $(SRC_D)\crypto\ui\ui_compat.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_compat.h" "$(INCO_D)\ui_compat.h" + +$(INCO_D)\krb5_asn.h: $(SRC_D)\crypto\krb5\krb5_asn.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\krb5\krb5_asn.h" "$(INCO_D)\krb5_asn.h" + +$(INCO_D)\pqueue.h: $(SRC_D)\crypto\pqueue\pqueue.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pqueue\pqueue.h" "$(INCO_D)\pqueue.h" + +$(INCO_D)\whrlpool.h: $(SRC_D)\crypto\whrlpool\whrlpool.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\whrlpool.h" "$(INCO_D)\whrlpool.h" + +$(INCO_D)\ts.h: $(SRC_D)\crypto\ts\ts.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ts\ts.h" "$(INCO_D)\ts.h" + +$(INCO_D)\srp.h: $(SRC_D)\crypto\srp\srp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\srp\srp.h" "$(INCO_D)\srp.h" + +$(INCO_D)\ssl.h: $(SRC_D)\ssl\ssl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl.h" "$(INCO_D)\ssl.h" + +$(INCO_D)\ssl2.h: $(SRC_D)\ssl\ssl2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl2.h" "$(INCO_D)\ssl2.h" + +$(INCO_D)\ssl3.h: $(SRC_D)\ssl\ssl3.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl3.h" "$(INCO_D)\ssl3.h" + +$(INCO_D)\ssl23.h: $(SRC_D)\ssl\ssl23.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl23.h" "$(INCO_D)\ssl23.h" + +$(INCO_D)\tls1.h: $(SRC_D)\ssl\tls1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\tls1.h" "$(INCO_D)\tls1.h" + +$(INCO_D)\dtls1.h: $(SRC_D)\ssl\dtls1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\dtls1.h" "$(INCO_D)\dtls1.h" + +$(INCO_D)\kssl.h: $(SRC_D)\ssl\kssl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl.h" "$(INCO_D)\kssl.h" + +$(INCO_D)\srtp.h: $(SRC_D)\ssl\srtp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\srtp.h" "$(INCO_D)\srtp.h" + +$(OBJ_D)\constant_time_test.obj: $(SRC_D)\crypto\constant_time_test.c + $(CC) -o$(OBJ_D)\constant_time_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\constant_time_test.c + +$(OBJ_D)\md4test.obj: $(SRC_D)\crypto\md4\md4test.c + $(CC) -o$(OBJ_D)\md4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md4\md4test.c + +$(OBJ_D)\md5test.obj: $(SRC_D)\crypto\md5\md5test.c + $(CC) -o$(OBJ_D)\md5test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md5\md5test.c + +$(OBJ_D)\shatest.obj: $(SRC_D)\crypto\sha\shatest.c + $(CC) -o$(OBJ_D)\shatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\shatest.c + +$(OBJ_D)\sha1test.obj: $(SRC_D)\crypto\sha\sha1test.c + $(CC) -o$(OBJ_D)\sha1test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha1test.c + +$(OBJ_D)\sha256t.obj: $(SRC_D)\crypto\sha\sha256t.c + $(CC) -o$(OBJ_D)\sha256t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha256t.c + +$(OBJ_D)\sha512t.obj: $(SRC_D)\crypto\sha\sha512t.c + $(CC) -o$(OBJ_D)\sha512t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha512t.c + +$(OBJ_D)\hmactest.obj: $(SRC_D)\crypto\hmac\hmactest.c + $(CC) -o$(OBJ_D)\hmactest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\hmac\hmactest.c + +$(OBJ_D)\rmdtest.obj: $(SRC_D)\crypto\ripemd\rmdtest.c + $(CC) -o$(OBJ_D)\rmdtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmdtest.c + +$(OBJ_D)\destest.obj: $(SRC_D)\crypto\des\destest.c + $(CC) -o$(OBJ_D)\destest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\des\destest.c + +$(OBJ_D)\rc2test.obj: $(SRC_D)\crypto\rc2\rc2test.c + $(CC) -o$(OBJ_D)\rc2test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2test.c + +$(OBJ_D)\rc4test.obj: $(SRC_D)\crypto\rc4\rc4test.c + $(CC) -o$(OBJ_D)\rc4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4test.c + +$(OBJ_D)\bftest.obj: $(SRC_D)\crypto\bf\bftest.c + $(CC) -o$(OBJ_D)\bftest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bf\bftest.c + +$(OBJ_D)\casttest.obj: $(SRC_D)\crypto\cast\casttest.c + $(CC) -o$(OBJ_D)\casttest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\cast\casttest.c + +$(OBJ_D)\bntest.obj: $(SRC_D)\crypto\bn\bntest.c + $(CC) -o$(OBJ_D)\bntest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\bntest.c + +$(OBJ_D)\exptest.obj: $(SRC_D)\crypto\bn\exptest.c + $(CC) -o$(OBJ_D)\exptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\exptest.c + +$(OBJ_D)\rsa_test.obj: $(SRC_D)\crypto\rsa\rsa_test.c + $(CC) -o$(OBJ_D)\rsa_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_test.c + +$(OBJ_D)\dsatest.obj: $(SRC_D)\crypto\dsa\dsatest.c + $(CC) -o$(OBJ_D)\dsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dsa\dsatest.c + +$(OBJ_D)\dhtest.obj: $(SRC_D)\crypto\dh\dhtest.c + $(CC) -o$(OBJ_D)\dhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dh\dhtest.c + +$(OBJ_D)\ectest.obj: $(SRC_D)\crypto\ec\ectest.c + $(CC) -o$(OBJ_D)\ectest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ec\ectest.c + +$(OBJ_D)\ecdhtest.obj: $(SRC_D)\crypto\ecdh\ecdhtest.c + $(CC) -o$(OBJ_D)\ecdhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdh\ecdhtest.c + +$(OBJ_D)\ecdsatest.obj: $(SRC_D)\crypto\ecdsa\ecdsatest.c + $(CC) -o$(OBJ_D)\ecdsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecdsatest.c + +$(OBJ_D)\randtest.obj: $(SRC_D)\crypto\rand\randtest.c + $(CC) -o$(OBJ_D)\randtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rand\randtest.c + +$(OBJ_D)\evp_test.obj: $(SRC_D)\crypto\evp\evp_test.c + $(CC) -o$(OBJ_D)\evp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_test.c + +$(OBJ_D)\evp_extra_test.obj: $(SRC_D)\crypto\evp\evp_extra_test.c + $(CC) -o$(OBJ_D)\evp_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_extra_test.c + +$(OBJ_D)\verify_extra_test.obj: $(SRC_D)\crypto\x509\verify_extra_test.c + $(CC) -o$(OBJ_D)\verify_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509\verify_extra_test.c + +$(OBJ_D)\v3nametest.obj: $(SRC_D)\crypto\x509v3\v3nametest.c + $(CC) -o$(OBJ_D)\v3nametest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3nametest.c + +$(OBJ_D)\enginetest.obj: $(SRC_D)\crypto\engine\enginetest.c + $(CC) -o$(OBJ_D)\enginetest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\engine\enginetest.c + +$(OBJ_D)\wp_test.obj: $(SRC_D)\crypto\whrlpool\wp_test.c + $(CC) -o$(OBJ_D)\wp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_test.c + +$(OBJ_D)\srptest.obj: $(SRC_D)\crypto\srp\srptest.c + $(CC) -o$(OBJ_D)\srptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\srp\srptest.c + +$(OBJ_D)\ssltest.obj: $(SRC_D)\ssl\ssltest.c + $(CC) -o$(OBJ_D)\ssltest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\ssltest.c + +$(OBJ_D)\heartbeat_test.obj: $(SRC_D)\ssl\heartbeat_test.c + $(CC) -o$(OBJ_D)\heartbeat_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\heartbeat_test.c + +$(OBJ_D)\clienthellotest.obj: $(SRC_D)\ssl\clienthellotest.c + $(CC) -o$(OBJ_D)\clienthellotest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\clienthellotest.c + +$(OBJ_D)\sslv2conftest.obj: $(SRC_D)\ssl\sslv2conftest.c + $(CC) -o$(OBJ_D)\sslv2conftest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\sslv2conftest.c + +$(OBJ_D)\dtlstest.obj: $(SRC_D)\ssl\dtlstest.c + $(CC) -o$(OBJ_D)\dtlstest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\dtlstest.c + +$(OBJ_D)\bad_dtls_test.obj: $(SRC_D)\ssl\bad_dtls_test.c + $(CC) -o$(OBJ_D)\bad_dtls_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\bad_dtls_test.c + +$(OBJ_D)\fatalerrtest.obj: $(SRC_D)\ssl\fatalerrtest.c + $(CC) -o$(OBJ_D)\fatalerrtest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\fatalerrtest.c + +$(OBJ_D)\igetest.obj: $(SRC_D)\test\igetest.c + $(CC) -o$(OBJ_D)\igetest.obj $(APP_CFLAGS) -c $(SRC_D)\test\igetest.c + +$(OBJ_D)\ssltestlib.obj: $(SRC_D)\test\ssltestlib.c + $(CC) -o$(OBJ_D)\ssltestlib.obj $(APP_CFLAGS) -c $(SRC_D)\test\ssltestlib.c + +$(OBJ_D)\verify.obj: $(SRC_D)\apps\verify.c + $(CC) -o$(OBJ_D)\verify.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\verify.c + +$(OBJ_D)\asn1pars.obj: $(SRC_D)\apps\asn1pars.c + $(CC) -o$(OBJ_D)\asn1pars.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\asn1pars.c + +$(OBJ_D)\req.obj: $(SRC_D)\apps\req.c + $(CC) -o$(OBJ_D)\req.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\req.c + +$(OBJ_D)\dgst.obj: $(SRC_D)\apps\dgst.c + $(CC) -o$(OBJ_D)\dgst.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dgst.c + +$(OBJ_D)\dh.obj: $(SRC_D)\apps\dh.c + $(CC) -o$(OBJ_D)\dh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dh.c + +$(OBJ_D)\dhparam.obj: $(SRC_D)\apps\dhparam.c + $(CC) -o$(OBJ_D)\dhparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dhparam.c + +$(OBJ_D)\enc.obj: $(SRC_D)\apps\enc.c + $(CC) -o$(OBJ_D)\enc.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\enc.c + +$(OBJ_D)\passwd.obj: $(SRC_D)\apps\passwd.c + $(CC) -o$(OBJ_D)\passwd.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\passwd.c + +$(OBJ_D)\gendh.obj: $(SRC_D)\apps\gendh.c + $(CC) -o$(OBJ_D)\gendh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendh.c + +$(OBJ_D)\errstr.obj: $(SRC_D)\apps\errstr.c + $(CC) -o$(OBJ_D)\errstr.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\errstr.c + +$(OBJ_D)\ca.obj: $(SRC_D)\apps\ca.c + $(CC) -o$(OBJ_D)\ca.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ca.c + +$(OBJ_D)\pkcs7.obj: $(SRC_D)\apps\pkcs7.c + $(CC) -o$(OBJ_D)\pkcs7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs7.c + +$(OBJ_D)\crl2p7.obj: $(SRC_D)\apps\crl2p7.c + $(CC) -o$(OBJ_D)\crl2p7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl2p7.c + +$(OBJ_D)\crl.obj: $(SRC_D)\apps\crl.c + $(CC) -o$(OBJ_D)\crl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl.c + +$(OBJ_D)\rsa.obj: $(SRC_D)\apps\rsa.c + $(CC) -o$(OBJ_D)\rsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsa.c + +$(OBJ_D)\rsautl.obj: $(SRC_D)\apps\rsautl.c + $(CC) -o$(OBJ_D)\rsautl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsautl.c + +$(OBJ_D)\dsa.obj: $(SRC_D)\apps\dsa.c + $(CC) -o$(OBJ_D)\dsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsa.c + +$(OBJ_D)\dsaparam.obj: $(SRC_D)\apps\dsaparam.c + $(CC) -o$(OBJ_D)\dsaparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsaparam.c + +$(OBJ_D)\ec.obj: $(SRC_D)\apps\ec.c + $(CC) -o$(OBJ_D)\ec.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ec.c + +$(OBJ_D)\ecparam.obj: $(SRC_D)\apps\ecparam.c + $(CC) -o$(OBJ_D)\ecparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ecparam.c + +$(OBJ_D)\x509.obj: $(SRC_D)\apps\x509.c + $(CC) -o$(OBJ_D)\x509.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\x509.c + +$(OBJ_D)\genrsa.obj: $(SRC_D)\apps\genrsa.c + $(CC) -o$(OBJ_D)\genrsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genrsa.c + +$(OBJ_D)\gendsa.obj: $(SRC_D)\apps\gendsa.c + $(CC) -o$(OBJ_D)\gendsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendsa.c + +$(OBJ_D)\genpkey.obj: $(SRC_D)\apps\genpkey.c + $(CC) -o$(OBJ_D)\genpkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genpkey.c + +$(OBJ_D)\s_server.obj: $(SRC_D)\apps\s_server.c + $(CC) -o$(OBJ_D)\s_server.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_server.c + +$(OBJ_D)\s_client.obj: $(SRC_D)\apps\s_client.c + $(CC) -o$(OBJ_D)\s_client.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_client.c + +$(OBJ_D)\speed.obj: $(SRC_D)\apps\speed.c + $(CC) -o$(OBJ_D)\speed.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\speed.c + +$(OBJ_D)\s_time.obj: $(SRC_D)\apps\s_time.c + $(CC) -o$(OBJ_D)\s_time.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_time.c + +$(OBJ_D)\apps.obj: $(SRC_D)\apps\apps.c + $(CC) -o$(OBJ_D)\apps.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\apps.c + +$(OBJ_D)\s_cb.obj: $(SRC_D)\apps\s_cb.c + $(CC) -o$(OBJ_D)\s_cb.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_cb.c + +$(OBJ_D)\s_socket.obj: $(SRC_D)\apps\s_socket.c + $(CC) -o$(OBJ_D)\s_socket.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_socket.c + +$(OBJ_D)\app_rand.obj: $(SRC_D)\apps\app_rand.c + $(CC) -o$(OBJ_D)\app_rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\app_rand.c + +$(OBJ_D)\version.obj: $(SRC_D)\apps\version.c + $(CC) -o$(OBJ_D)\version.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\version.c + +$(OBJ_D)\sess_id.obj: $(SRC_D)\apps\sess_id.c + $(CC) -o$(OBJ_D)\sess_id.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\sess_id.c + +$(OBJ_D)\ciphers.obj: $(SRC_D)\apps\ciphers.c + $(CC) -o$(OBJ_D)\ciphers.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ciphers.c + +$(OBJ_D)\nseq.obj: $(SRC_D)\apps\nseq.c + $(CC) -o$(OBJ_D)\nseq.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\nseq.c + +$(OBJ_D)\pkcs12.obj: $(SRC_D)\apps\pkcs12.c + $(CC) -o$(OBJ_D)\pkcs12.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs12.c + +$(OBJ_D)\pkcs8.obj: $(SRC_D)\apps\pkcs8.c + $(CC) -o$(OBJ_D)\pkcs8.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs8.c + +$(OBJ_D)\pkey.obj: $(SRC_D)\apps\pkey.c + $(CC) -o$(OBJ_D)\pkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkey.c + +$(OBJ_D)\pkeyparam.obj: $(SRC_D)\apps\pkeyparam.c + $(CC) -o$(OBJ_D)\pkeyparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyparam.c + +$(OBJ_D)\pkeyutl.obj: $(SRC_D)\apps\pkeyutl.c + $(CC) -o$(OBJ_D)\pkeyutl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyutl.c + +$(OBJ_D)\spkac.obj: $(SRC_D)\apps\spkac.c + $(CC) -o$(OBJ_D)\spkac.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\spkac.c + +$(OBJ_D)\smime.obj: $(SRC_D)\apps\smime.c + $(CC) -o$(OBJ_D)\smime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\smime.c + +$(OBJ_D)\cms.obj: $(SRC_D)\apps\cms.c + $(CC) -o$(OBJ_D)\cms.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\cms.c + +$(OBJ_D)\rand.obj: $(SRC_D)\apps\rand.c + $(CC) -o$(OBJ_D)\rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rand.c + +$(OBJ_D)\engine.obj: $(SRC_D)\apps\engine.c + $(CC) -o$(OBJ_D)\engine.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\engine.c + +$(OBJ_D)\ocsp.obj: $(SRC_D)\apps\ocsp.c + $(CC) -o$(OBJ_D)\ocsp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ocsp.c + +$(OBJ_D)\prime.obj: $(SRC_D)\apps\prime.c + $(CC) -o$(OBJ_D)\prime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\prime.c + +$(OBJ_D)\ts.obj: $(SRC_D)\apps\ts.c + $(CC) -o$(OBJ_D)\ts.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ts.c + +$(OBJ_D)\srp.obj: $(SRC_D)\apps\srp.c + $(CC) -o$(OBJ_D)\srp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\srp.c + +$(OBJ_D)\openssl.obj: $(SRC_D)\apps\openssl.c + $(CC) -o$(OBJ_D)\openssl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\openssl.c + +$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c + $(CC) -o$(OBJ_D)\s2_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_meth.c + +$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c + $(CC) -o$(OBJ_D)\s2_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_srvr.c + +$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c + $(CC) -o$(OBJ_D)\s2_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_clnt.c + +$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c + $(CC) -o$(OBJ_D)\s2_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_lib.c + +$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c + $(CC) -o$(OBJ_D)\s2_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_enc.c + +$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c + $(CC) -o$(OBJ_D)\s2_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_pkt.c + +$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c + $(CC) -o$(OBJ_D)\s3_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_meth.c + +$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c + $(CC) -o$(OBJ_D)\s3_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_srvr.c + +$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c + $(CC) -o$(OBJ_D)\s3_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_clnt.c + +$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c + $(CC) -o$(OBJ_D)\s3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_lib.c + +$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c + $(CC) -o$(OBJ_D)\s3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_enc.c + +$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c + $(CC) -o$(OBJ_D)\s3_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_pkt.c + +$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c + $(CC) -o$(OBJ_D)\s3_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_both.c + +$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c + $(CC) -o$(OBJ_D)\s3_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_cbc.c + +$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c + $(CC) -o$(OBJ_D)\s23_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_meth.c + +$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c + $(CC) -o$(OBJ_D)\s23_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_srvr.c + +$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c + $(CC) -o$(OBJ_D)\s23_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_clnt.c + +$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c + $(CC) -o$(OBJ_D)\s23_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_lib.c + +$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c + $(CC) -o$(OBJ_D)\s23_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_pkt.c + +$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c + $(CC) -o$(OBJ_D)\t1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_meth.c + +$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c + $(CC) -o$(OBJ_D)\t1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_srvr.c + +$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c + $(CC) -o$(OBJ_D)\t1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_clnt.c + +$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c + $(CC) -o$(OBJ_D)\t1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_lib.c + +$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c + $(CC) -o$(OBJ_D)\t1_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_enc.c + +$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c + $(CC) -o$(OBJ_D)\t1_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_ext.c + +$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c + $(CC) -o$(OBJ_D)\d1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_meth.c + +$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c + $(CC) -o$(OBJ_D)\d1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srvr.c + +$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c + $(CC) -o$(OBJ_D)\d1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_clnt.c + +$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c + $(CC) -o$(OBJ_D)\d1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_lib.c + +$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c + $(CC) -o$(OBJ_D)\d1_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_pkt.c + +$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c + $(CC) -o$(OBJ_D)\d1_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_both.c + +$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c + $(CC) -o$(OBJ_D)\d1_srtp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srtp.c + +$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c + $(CC) -o$(OBJ_D)\ssl_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_lib.c + +$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c + $(CC) -o$(OBJ_D)\ssl_err2.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err2.c + +$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c + $(CC) -o$(OBJ_D)\ssl_cert.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_cert.c + +$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c + $(CC) -o$(OBJ_D)\ssl_sess.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_sess.c + +$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c + $(CC) -o$(OBJ_D)\ssl_ciph.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_ciph.c + +$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c + $(CC) -o$(OBJ_D)\ssl_stat.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_stat.c + +$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c + $(CC) -o$(OBJ_D)\ssl_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_rsa.c + +$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c + $(CC) -o$(OBJ_D)\ssl_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_asn1.c + +$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c + $(CC) -o$(OBJ_D)\ssl_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_txt.c + +$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c + $(CC) -o$(OBJ_D)\ssl_algs.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_algs.c + +$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c + $(CC) -o$(OBJ_D)\ssl_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_conf.c + +$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c + $(CC) -o$(OBJ_D)\bio_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\bio_ssl.c + +$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c + $(CC) -o$(OBJ_D)\ssl_err.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err.c + +$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c + $(CC) -o$(OBJ_D)\kssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\kssl.c + +$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c + $(CC) -o$(OBJ_D)\t1_reneg.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_reneg.c + +$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c + $(CC) -o$(OBJ_D)\tls_srp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\tls_srp.c + +$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c + $(CC) -o$(OBJ_D)\t1_trce.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_trce.c + +$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c + $(CC) -o$(OBJ_D)\ssl_utst.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_utst.c + +$(OBJ_D)\cryptlib.obj: $(SRC_D)\crypto\cryptlib.c + $(CC) -o$(OBJ_D)\cryptlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cryptlib.c + +$(OBJ_D)\mem.obj: $(SRC_D)\crypto\mem.c + $(CC) -o$(OBJ_D)\mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem.c + +$(OBJ_D)\mem_dbg.obj: $(SRC_D)\crypto\mem_dbg.c + $(CC) -o$(OBJ_D)\mem_dbg.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem_dbg.c + +$(OBJ_D)\cversion.obj: $(SRC_D)\crypto\cversion.c + $(CC) -o$(OBJ_D)\cversion.obj $(LIB_CFLAGS) -DMK1MF_BUILD -DMK1MF_PLATFORM_BC_NT -c $(SRC_D)\crypto\cversion.c + +$(OBJ_D)\ex_data.obj: $(SRC_D)\crypto\ex_data.c + $(CC) -o$(OBJ_D)\ex_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ex_data.c + +$(OBJ_D)\cpt_err.obj: $(SRC_D)\crypto\cpt_err.c + $(CC) -o$(OBJ_D)\cpt_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cpt_err.c + +$(OBJ_D)\ebcdic.obj: $(SRC_D)\crypto\ebcdic.c + $(CC) -o$(OBJ_D)\ebcdic.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ebcdic.c + +$(OBJ_D)\uid.obj: $(SRC_D)\crypto\uid.c + $(CC) -o$(OBJ_D)\uid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\uid.c + +$(OBJ_D)\o_time.obj: $(SRC_D)\crypto\o_time.c + $(CC) -o$(OBJ_D)\o_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_time.c + +$(OBJ_D)\o_str.obj: $(SRC_D)\crypto\o_str.c + $(CC) -o$(OBJ_D)\o_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_str.c + +$(OBJ_D)\o_dir.obj: $(SRC_D)\crypto\o_dir.c + $(CC) -o$(OBJ_D)\o_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_dir.c + +$(OBJ_D)\o_fips.obj: $(SRC_D)\crypto\o_fips.c + $(CC) -o$(OBJ_D)\o_fips.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_fips.c + +$(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c + $(CC) -o$(OBJ_D)\o_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_init.c + +$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c + $(CC) -o$(OBJ_D)\fips_ers.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\fips_ers.c + +$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c + $(CC) -o$(OBJ_D)\getenv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\getenv.c + +$(TMP_D)\x86cpuid.asm: crypto\x86cpuid.pl + $(PERL) crypto\x86cpuid.pl $(CFLAG) >$@ + +$(OBJ_D)\x86cpuid.obj: $(TMP_D)\x86cpuid.asm + $(ASM) -o$@ $(TMP_D)\x86cpuid.asm + +$(OBJ_D)\md4_dgst.obj: $(SRC_D)\crypto\md4\md4_dgst.c + $(CC) -o$(OBJ_D)\md4_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_dgst.c + +$(OBJ_D)\md4_one.obj: $(SRC_D)\crypto\md4\md4_one.c + $(CC) -o$(OBJ_D)\md4_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_one.c + +$(OBJ_D)\md5_dgst.obj: $(SRC_D)\crypto\md5\md5_dgst.c + $(CC) -o$(OBJ_D)\md5_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_dgst.c + +$(OBJ_D)\md5_one.obj: $(SRC_D)\crypto\md5\md5_one.c + $(CC) -o$(OBJ_D)\md5_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_one.c + +$(TMP_D)\md5-586.asm: crypto\md5\asm\md5-586.pl + $(PERL) crypto\md5\asm\md5-586.pl $(CFLAG) >$@ + +$(OBJ_D)\md5-586.obj: $(TMP_D)\md5-586.asm + $(ASM) -o$@ $(TMP_D)\md5-586.asm + +$(OBJ_D)\sha_dgst.obj: $(SRC_D)\crypto\sha\sha_dgst.c + $(CC) -o$(OBJ_D)\sha_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_dgst.c + +$(OBJ_D)\sha1dgst.obj: $(SRC_D)\crypto\sha\sha1dgst.c + $(CC) -o$(OBJ_D)\sha1dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1dgst.c + +$(OBJ_D)\sha_one.obj: $(SRC_D)\crypto\sha\sha_one.c + $(CC) -o$(OBJ_D)\sha_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_one.c + +$(OBJ_D)\sha1_one.obj: $(SRC_D)\crypto\sha\sha1_one.c + $(CC) -o$(OBJ_D)\sha1_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1_one.c + +$(OBJ_D)\sha256.obj: $(SRC_D)\crypto\sha\sha256.c + $(CC) -o$(OBJ_D)\sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha256.c + +$(OBJ_D)\sha512.obj: $(SRC_D)\crypto\sha\sha512.c + $(CC) -o$(OBJ_D)\sha512.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha512.c + +$(TMP_D)\sha1-586.asm: crypto\sha\asm\sha1-586.pl + $(PERL) crypto\sha\asm\sha1-586.pl $(CFLAG) >$@ + +$(OBJ_D)\sha1-586.obj: $(TMP_D)\sha1-586.asm + $(ASM) -o$@ $(TMP_D)\sha1-586.asm + +$(TMP_D)\sha256-586.asm: crypto\sha\asm\sha256-586.pl + $(PERL) crypto\sha\asm\sha256-586.pl $(CFLAG) >$@ + +$(OBJ_D)\sha256-586.obj: $(TMP_D)\sha256-586.asm + $(ASM) -o$@ $(TMP_D)\sha256-586.asm + +$(TMP_D)\sha512-586.asm: crypto\sha\asm\sha512-586.pl + $(PERL) crypto\sha\asm\sha512-586.pl $(CFLAG) >$@ + +$(OBJ_D)\sha512-586.obj: $(TMP_D)\sha512-586.asm + $(ASM) -o$@ $(TMP_D)\sha512-586.asm + +$(OBJ_D)\hmac.obj: $(SRC_D)\crypto\hmac\hmac.c + $(CC) -o$(OBJ_D)\hmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hmac.c + +$(OBJ_D)\hm_ameth.obj: $(SRC_D)\crypto\hmac\hm_ameth.c + $(CC) -o$(OBJ_D)\hm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_ameth.c + +$(OBJ_D)\hm_pmeth.obj: $(SRC_D)\crypto\hmac\hm_pmeth.c + $(CC) -o$(OBJ_D)\hm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_pmeth.c + +$(OBJ_D)\cmac.obj: $(SRC_D)\crypto\cmac\cmac.c + $(CC) -o$(OBJ_D)\cmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cmac.c + +$(OBJ_D)\cm_ameth.obj: $(SRC_D)\crypto\cmac\cm_ameth.c + $(CC) -o$(OBJ_D)\cm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_ameth.c + +$(OBJ_D)\cm_pmeth.obj: $(SRC_D)\crypto\cmac\cm_pmeth.c + $(CC) -o$(OBJ_D)\cm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_pmeth.c + +$(OBJ_D)\rmd_dgst.obj: $(SRC_D)\crypto\ripemd\rmd_dgst.c + $(CC) -o$(OBJ_D)\rmd_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_dgst.c + +$(OBJ_D)\rmd_one.obj: $(SRC_D)\crypto\ripemd\rmd_one.c + $(CC) -o$(OBJ_D)\rmd_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_one.c + +$(TMP_D)\rmd-586.asm: crypto\ripemd\asm\rmd-586.pl + $(PERL) crypto\ripemd\asm\rmd-586.pl $(CFLAG) >$@ + +$(OBJ_D)\rmd-586.obj: $(TMP_D)\rmd-586.asm + $(ASM) -o$@ $(TMP_D)\rmd-586.asm + +$(OBJ_D)\set_key.obj: $(SRC_D)\crypto\des\set_key.c + $(CC) -o$(OBJ_D)\set_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\set_key.c + +$(OBJ_D)\ecb_enc.obj: $(SRC_D)\crypto\des\ecb_enc.c + $(CC) -o$(OBJ_D)\ecb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb_enc.c + +$(OBJ_D)\cbc_enc.obj: $(SRC_D)\crypto\des\cbc_enc.c + $(CC) -o$(OBJ_D)\cbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_enc.c + +$(OBJ_D)\ecb3_enc.obj: $(SRC_D)\crypto\des\ecb3_enc.c + $(CC) -o$(OBJ_D)\ecb3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb3_enc.c + +$(OBJ_D)\cfb64enc.obj: $(SRC_D)\crypto\des\cfb64enc.c + $(CC) -o$(OBJ_D)\cfb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64enc.c + +$(OBJ_D)\cfb64ede.obj: $(SRC_D)\crypto\des\cfb64ede.c + $(CC) -o$(OBJ_D)\cfb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64ede.c + +$(OBJ_D)\cfb_enc.obj: $(SRC_D)\crypto\des\cfb_enc.c + $(CC) -o$(OBJ_D)\cfb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb_enc.c + +$(OBJ_D)\ofb64ede.obj: $(SRC_D)\crypto\des\ofb64ede.c + $(CC) -o$(OBJ_D)\ofb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64ede.c + +$(OBJ_D)\enc_read.obj: $(SRC_D)\crypto\des\enc_read.c + $(CC) -o$(OBJ_D)\enc_read.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_read.c + +$(OBJ_D)\enc_writ.obj: $(SRC_D)\crypto\des\enc_writ.c + $(CC) -o$(OBJ_D)\enc_writ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_writ.c + +$(OBJ_D)\ofb64enc.obj: $(SRC_D)\crypto\des\ofb64enc.c + $(CC) -o$(OBJ_D)\ofb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64enc.c + +$(OBJ_D)\ofb_enc.obj: $(SRC_D)\crypto\des\ofb_enc.c + $(CC) -o$(OBJ_D)\ofb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb_enc.c + +$(OBJ_D)\str2key.obj: $(SRC_D)\crypto\des\str2key.c + $(CC) -o$(OBJ_D)\str2key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\str2key.c + +$(OBJ_D)\pcbc_enc.obj: $(SRC_D)\crypto\des\pcbc_enc.c + $(CC) -o$(OBJ_D)\pcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\pcbc_enc.c + +$(OBJ_D)\qud_cksm.obj: $(SRC_D)\crypto\des\qud_cksm.c + $(CC) -o$(OBJ_D)\qud_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\qud_cksm.c + +$(OBJ_D)\rand_key.obj: $(SRC_D)\crypto\des\rand_key.c + $(CC) -o$(OBJ_D)\rand_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rand_key.c + +$(TMP_D)\des-586.asm: crypto\des\asm\des-586.pl + $(PERL) crypto\des\asm\des-586.pl $(CFLAG) >$@ + +$(OBJ_D)\des-586.obj: $(TMP_D)\des-586.asm + $(ASM) -o$@ $(TMP_D)\des-586.asm + +$(TMP_D)\crypt586.asm: crypto\des\asm\crypt586.pl + $(PERL) crypto\des\asm\crypt586.pl $(CFLAG) >$@ + +$(OBJ_D)\crypt586.obj: $(TMP_D)\crypt586.asm + $(ASM) -o$@ $(TMP_D)\crypt586.asm + +$(OBJ_D)\fcrypt.obj: $(SRC_D)\crypto\des\fcrypt.c + $(CC) -o$(OBJ_D)\fcrypt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\fcrypt.c + +$(OBJ_D)\xcbc_enc.obj: $(SRC_D)\crypto\des\xcbc_enc.c + $(CC) -o$(OBJ_D)\xcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\xcbc_enc.c + +$(OBJ_D)\rpc_enc.obj: $(SRC_D)\crypto\des\rpc_enc.c + $(CC) -o$(OBJ_D)\rpc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rpc_enc.c + +$(OBJ_D)\cbc_cksm.obj: $(SRC_D)\crypto\des\cbc_cksm.c + $(CC) -o$(OBJ_D)\cbc_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_cksm.c + +$(OBJ_D)\ede_cbcm_enc.obj: $(SRC_D)\crypto\des\ede_cbcm_enc.c + $(CC) -o$(OBJ_D)\ede_cbcm_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ede_cbcm_enc.c + +$(OBJ_D)\des_old.obj: $(SRC_D)\crypto\des\des_old.c + $(CC) -o$(OBJ_D)\des_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old.c + +$(OBJ_D)\des_old2.obj: $(SRC_D)\crypto\des\des_old2.c + $(CC) -o$(OBJ_D)\des_old2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old2.c + +$(OBJ_D)\read2pwd.obj: $(SRC_D)\crypto\des\read2pwd.c + $(CC) -o$(OBJ_D)\read2pwd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\read2pwd.c + +$(OBJ_D)\rc2_ecb.obj: $(SRC_D)\crypto\rc2\rc2_ecb.c + $(CC) -o$(OBJ_D)\rc2_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_ecb.c + +$(OBJ_D)\rc2_skey.obj: $(SRC_D)\crypto\rc2\rc2_skey.c + $(CC) -o$(OBJ_D)\rc2_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_skey.c + +$(OBJ_D)\rc2_cbc.obj: $(SRC_D)\crypto\rc2\rc2_cbc.c + $(CC) -o$(OBJ_D)\rc2_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_cbc.c + +$(OBJ_D)\rc2cfb64.obj: $(SRC_D)\crypto\rc2\rc2cfb64.c + $(CC) -o$(OBJ_D)\rc2cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2cfb64.c + +$(OBJ_D)\rc2ofb64.obj: $(SRC_D)\crypto\rc2\rc2ofb64.c + $(CC) -o$(OBJ_D)\rc2ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2ofb64.c + +$(TMP_D)\rc4-586.asm: crypto\rc4\asm\rc4-586.pl + $(PERL) crypto\rc4\asm\rc4-586.pl $(CFLAG) >$@ + +$(OBJ_D)\rc4-586.obj: $(TMP_D)\rc4-586.asm + $(ASM) -o$@ $(TMP_D)\rc4-586.asm + +$(OBJ_D)\rc4_utl.obj: $(SRC_D)\crypto\rc4\rc4_utl.c + $(CC) -o$(OBJ_D)\rc4_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4_utl.c + +$(OBJ_D)\bf_skey.obj: $(SRC_D)\crypto\bf\bf_skey.c + $(CC) -o$(OBJ_D)\bf_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_skey.c + +$(OBJ_D)\bf_ecb.obj: $(SRC_D)\crypto\bf\bf_ecb.c + $(CC) -o$(OBJ_D)\bf_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ecb.c + +$(TMP_D)\bf-586.asm: crypto\bf\asm\bf-586.pl + $(PERL) crypto\bf\asm\bf-586.pl $(CFLAG) >$@ + +$(OBJ_D)\bf-586.obj: $(TMP_D)\bf-586.asm + $(ASM) -o$@ $(TMP_D)\bf-586.asm + +$(OBJ_D)\bf_cfb64.obj: $(SRC_D)\crypto\bf\bf_cfb64.c + $(CC) -o$(OBJ_D)\bf_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_cfb64.c + +$(OBJ_D)\bf_ofb64.obj: $(SRC_D)\crypto\bf\bf_ofb64.c + $(CC) -o$(OBJ_D)\bf_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ofb64.c + +$(OBJ_D)\c_skey.obj: $(SRC_D)\crypto\cast\c_skey.c + $(CC) -o$(OBJ_D)\c_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_skey.c + +$(OBJ_D)\c_ecb.obj: $(SRC_D)\crypto\cast\c_ecb.c + $(CC) -o$(OBJ_D)\c_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ecb.c + +$(TMP_D)\cast-586.asm: crypto\cast\asm\cast-586.pl + $(PERL) crypto\cast\asm\cast-586.pl $(CFLAG) >$@ + +$(OBJ_D)\cast-586.obj: $(TMP_D)\cast-586.asm + $(ASM) -o$@ $(TMP_D)\cast-586.asm + +$(OBJ_D)\c_cfb64.obj: $(SRC_D)\crypto\cast\c_cfb64.c + $(CC) -o$(OBJ_D)\c_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_cfb64.c + +$(OBJ_D)\c_ofb64.obj: $(SRC_D)\crypto\cast\c_ofb64.c + $(CC) -o$(OBJ_D)\c_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ofb64.c + +$(OBJ_D)\aes_misc.obj: $(SRC_D)\crypto\aes\aes_misc.c + $(CC) -o$(OBJ_D)\aes_misc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_misc.c + +$(OBJ_D)\aes_ecb.obj: $(SRC_D)\crypto\aes\aes_ecb.c + $(CC) -o$(OBJ_D)\aes_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ecb.c + +$(OBJ_D)\aes_cfb.obj: $(SRC_D)\crypto\aes\aes_cfb.c + $(CC) -o$(OBJ_D)\aes_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_cfb.c + +$(OBJ_D)\aes_ofb.obj: $(SRC_D)\crypto\aes\aes_ofb.c + $(CC) -o$(OBJ_D)\aes_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ofb.c + +$(OBJ_D)\aes_ctr.obj: $(SRC_D)\crypto\aes\aes_ctr.c + $(CC) -o$(OBJ_D)\aes_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ctr.c + +$(OBJ_D)\aes_ige.obj: $(SRC_D)\crypto\aes\aes_ige.c + $(CC) -o$(OBJ_D)\aes_ige.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ige.c + +$(OBJ_D)\aes_wrap.obj: $(SRC_D)\crypto\aes\aes_wrap.c + $(CC) -o$(OBJ_D)\aes_wrap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_wrap.c + +$(TMP_D)\aes-586.asm: crypto\aes\asm\aes-586.pl + $(PERL) crypto\aes\asm\aes-586.pl $(CFLAG) >$@ + +$(OBJ_D)\aes-586.obj: $(TMP_D)\aes-586.asm + $(ASM) -o$@ $(TMP_D)\aes-586.asm + +$(TMP_D)\vpaes-x86.asm: crypto\aes\asm\vpaes-x86.pl + $(PERL) crypto\aes\asm\vpaes-x86.pl $(CFLAG) >$@ + +$(OBJ_D)\vpaes-x86.obj: $(TMP_D)\vpaes-x86.asm + $(ASM) -o$@ $(TMP_D)\vpaes-x86.asm + +$(TMP_D)\aesni-x86.asm: crypto\aes\asm\aesni-x86.pl + $(PERL) crypto\aes\asm\aesni-x86.pl $(CFLAG) >$@ + +$(OBJ_D)\aesni-x86.obj: $(TMP_D)\aesni-x86.asm + $(ASM) -o$@ $(TMP_D)\aesni-x86.asm + +$(OBJ_D)\cmll_ecb.obj: $(SRC_D)\crypto\camellia\cmll_ecb.c + $(CC) -o$(OBJ_D)\cmll_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ecb.c + +$(OBJ_D)\cmll_ofb.obj: $(SRC_D)\crypto\camellia\cmll_ofb.c + $(CC) -o$(OBJ_D)\cmll_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ofb.c + +$(OBJ_D)\cmll_cfb.obj: $(SRC_D)\crypto\camellia\cmll_cfb.c + $(CC) -o$(OBJ_D)\cmll_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_cfb.c + +$(OBJ_D)\cmll_ctr.obj: $(SRC_D)\crypto\camellia\cmll_ctr.c + $(CC) -o$(OBJ_D)\cmll_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ctr.c + +$(OBJ_D)\cmll_utl.obj: $(SRC_D)\crypto\camellia\cmll_utl.c + $(CC) -o$(OBJ_D)\cmll_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_utl.c + +$(TMP_D)\cmll-x86.asm: crypto\camellia\asm\cmll-x86.pl + $(PERL) crypto\camellia\asm\cmll-x86.pl $(CFLAG) >$@ + +$(OBJ_D)\cmll-x86.obj: $(TMP_D)\cmll-x86.asm + $(ASM) -o$@ $(TMP_D)\cmll-x86.asm + +$(OBJ_D)\seed.obj: $(SRC_D)\crypto\seed\seed.c + $(CC) -o$(OBJ_D)\seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed.c + +$(OBJ_D)\seed_ecb.obj: $(SRC_D)\crypto\seed\seed_ecb.c + $(CC) -o$(OBJ_D)\seed_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ecb.c + +$(OBJ_D)\seed_cbc.obj: $(SRC_D)\crypto\seed\seed_cbc.c + $(CC) -o$(OBJ_D)\seed_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cbc.c + +$(OBJ_D)\seed_cfb.obj: $(SRC_D)\crypto\seed\seed_cfb.c + $(CC) -o$(OBJ_D)\seed_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cfb.c + +$(OBJ_D)\seed_ofb.obj: $(SRC_D)\crypto\seed\seed_ofb.c + $(CC) -o$(OBJ_D)\seed_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ofb.c + +$(OBJ_D)\cbc128.obj: $(SRC_D)\crypto\modes\cbc128.c + $(CC) -o$(OBJ_D)\cbc128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cbc128.c + +$(OBJ_D)\ctr128.obj: $(SRC_D)\crypto\modes\ctr128.c + $(CC) -o$(OBJ_D)\ctr128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ctr128.c + +$(OBJ_D)\cts128.obj: $(SRC_D)\crypto\modes\cts128.c + $(CC) -o$(OBJ_D)\cts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cts128.c + +$(OBJ_D)\cfb128.obj: $(SRC_D)\crypto\modes\cfb128.c + $(CC) -o$(OBJ_D)\cfb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cfb128.c + +$(OBJ_D)\ofb128.obj: $(SRC_D)\crypto\modes\ofb128.c + $(CC) -o$(OBJ_D)\ofb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ofb128.c + +$(OBJ_D)\gcm128.obj: $(SRC_D)\crypto\modes\gcm128.c + $(CC) -o$(OBJ_D)\gcm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\gcm128.c + +$(OBJ_D)\ccm128.obj: $(SRC_D)\crypto\modes\ccm128.c + $(CC) -o$(OBJ_D)\ccm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ccm128.c + +$(OBJ_D)\xts128.obj: $(SRC_D)\crypto\modes\xts128.c + $(CC) -o$(OBJ_D)\xts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\xts128.c + +$(OBJ_D)\wrap128.obj: $(SRC_D)\crypto\modes\wrap128.c + $(CC) -o$(OBJ_D)\wrap128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\wrap128.c + +$(TMP_D)\ghash-x86.asm: crypto\modes\asm\ghash-x86.pl + $(PERL) crypto\modes\asm\ghash-x86.pl $(CFLAG) >$@ + +$(OBJ_D)\ghash-x86.obj: $(TMP_D)\ghash-x86.asm + $(ASM) -o$@ $(TMP_D)\ghash-x86.asm + +$(OBJ_D)\bn_add.obj: $(SRC_D)\crypto\bn\bn_add.c + $(CC) -o$(OBJ_D)\bn_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_add.c + +$(OBJ_D)\bn_div.obj: $(SRC_D)\crypto\bn\bn_div.c + $(CC) -o$(OBJ_D)\bn_div.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_div.c + +$(OBJ_D)\bn_exp.obj: $(SRC_D)\crypto\bn\bn_exp.c + $(CC) -o$(OBJ_D)\bn_exp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp.c + +$(OBJ_D)\bn_lib.obj: $(SRC_D)\crypto\bn\bn_lib.c + $(CC) -o$(OBJ_D)\bn_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_lib.c + +$(OBJ_D)\bn_ctx.obj: $(SRC_D)\crypto\bn\bn_ctx.c + $(CC) -o$(OBJ_D)\bn_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_ctx.c + +$(OBJ_D)\bn_mul.obj: $(SRC_D)\crypto\bn\bn_mul.c + $(CC) -o$(OBJ_D)\bn_mul.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mul.c + +$(OBJ_D)\bn_mod.obj: $(SRC_D)\crypto\bn\bn_mod.c + $(CC) -o$(OBJ_D)\bn_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mod.c + +$(OBJ_D)\bn_print.obj: $(SRC_D)\crypto\bn\bn_print.c + $(CC) -o$(OBJ_D)\bn_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_print.c + +$(OBJ_D)\bn_rand.obj: $(SRC_D)\crypto\bn\bn_rand.c + $(CC) -o$(OBJ_D)\bn_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_rand.c + +$(OBJ_D)\bn_shift.obj: $(SRC_D)\crypto\bn\bn_shift.c + $(CC) -o$(OBJ_D)\bn_shift.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_shift.c + +$(OBJ_D)\bn_word.obj: $(SRC_D)\crypto\bn\bn_word.c + $(CC) -o$(OBJ_D)\bn_word.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_word.c + +$(OBJ_D)\bn_blind.obj: $(SRC_D)\crypto\bn\bn_blind.c + $(CC) -o$(OBJ_D)\bn_blind.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_blind.c + +$(OBJ_D)\bn_kron.obj: $(SRC_D)\crypto\bn\bn_kron.c + $(CC) -o$(OBJ_D)\bn_kron.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_kron.c + +$(OBJ_D)\bn_sqrt.obj: $(SRC_D)\crypto\bn\bn_sqrt.c + $(CC) -o$(OBJ_D)\bn_sqrt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqrt.c + +$(OBJ_D)\bn_gcd.obj: $(SRC_D)\crypto\bn\bn_gcd.c + $(CC) -o$(OBJ_D)\bn_gcd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gcd.c + +$(OBJ_D)\bn_prime.obj: $(SRC_D)\crypto\bn\bn_prime.c + $(CC) -o$(OBJ_D)\bn_prime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_prime.c + +$(OBJ_D)\bn_err.obj: $(SRC_D)\crypto\bn\bn_err.c + $(CC) -o$(OBJ_D)\bn_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_err.c + +$(OBJ_D)\bn_sqr.obj: $(SRC_D)\crypto\bn\bn_sqr.c + $(CC) -o$(OBJ_D)\bn_sqr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqr.c + +$(TMP_D)\bn-586.asm: crypto\bn\asm\bn-586.pl + $(PERL) crypto\bn\asm\bn-586.pl $(CFLAG) >$@ + +$(OBJ_D)\bn-586.obj: $(TMP_D)\bn-586.asm + $(ASM) -o$@ $(TMP_D)\bn-586.asm + +$(TMP_D)\co-586.asm: crypto\bn\asm\co-586.pl + $(PERL) crypto\bn\asm\co-586.pl $(CFLAG) >$@ + +$(OBJ_D)\co-586.obj: $(TMP_D)\co-586.asm + $(ASM) -o$@ $(TMP_D)\co-586.asm + +$(TMP_D)\x86-mont.asm: crypto\bn\asm\x86-mont.pl + $(PERL) crypto\bn\asm\x86-mont.pl $(CFLAG) >$@ + +$(OBJ_D)\x86-mont.obj: $(TMP_D)\x86-mont.asm + $(ASM) -o$@ $(TMP_D)\x86-mont.asm + +$(TMP_D)\x86-gf2m.asm: crypto\bn\asm\x86-gf2m.pl + $(PERL) crypto\bn\asm\x86-gf2m.pl $(CFLAG) >$@ + +$(OBJ_D)\x86-gf2m.obj: $(TMP_D)\x86-gf2m.asm + $(ASM) -o$@ $(TMP_D)\x86-gf2m.asm + +$(OBJ_D)\bn_recp.obj: $(SRC_D)\crypto\bn\bn_recp.c + $(CC) -o$(OBJ_D)\bn_recp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_recp.c + +$(OBJ_D)\bn_mont.obj: $(SRC_D)\crypto\bn\bn_mont.c + $(CC) -o$(OBJ_D)\bn_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mont.c + +$(OBJ_D)\bn_mpi.obj: $(SRC_D)\crypto\bn\bn_mpi.c + $(CC) -o$(OBJ_D)\bn_mpi.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mpi.c + +$(OBJ_D)\bn_exp2.obj: $(SRC_D)\crypto\bn\bn_exp2.c + $(CC) -o$(OBJ_D)\bn_exp2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp2.c + +$(OBJ_D)\bn_gf2m.obj: $(SRC_D)\crypto\bn\bn_gf2m.c + $(CC) -o$(OBJ_D)\bn_gf2m.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gf2m.c + +$(OBJ_D)\bn_nist.obj: $(SRC_D)\crypto\bn\bn_nist.c + $(CC) -o$(OBJ_D)\bn_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_nist.c + +$(OBJ_D)\bn_depr.obj: $(SRC_D)\crypto\bn\bn_depr.c + $(CC) -o$(OBJ_D)\bn_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_depr.c + +$(OBJ_D)\bn_const.obj: $(SRC_D)\crypto\bn\bn_const.c + $(CC) -o$(OBJ_D)\bn_const.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_const.c + +$(OBJ_D)\bn_x931p.obj: $(SRC_D)\crypto\bn\bn_x931p.c + $(CC) -o$(OBJ_D)\bn_x931p.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_x931p.c + +$(OBJ_D)\rsa_eay.obj: $(SRC_D)\crypto\rsa\rsa_eay.c + $(CC) -o$(OBJ_D)\rsa_eay.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_eay.c + +$(OBJ_D)\rsa_gen.obj: $(SRC_D)\crypto\rsa\rsa_gen.c + $(CC) -o$(OBJ_D)\rsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_gen.c + +$(OBJ_D)\rsa_lib.obj: $(SRC_D)\crypto\rsa\rsa_lib.c + $(CC) -o$(OBJ_D)\rsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_lib.c + +$(OBJ_D)\rsa_sign.obj: $(SRC_D)\crypto\rsa\rsa_sign.c + $(CC) -o$(OBJ_D)\rsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_sign.c + +$(OBJ_D)\rsa_saos.obj: $(SRC_D)\crypto\rsa\rsa_saos.c + $(CC) -o$(OBJ_D)\rsa_saos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_saos.c + +$(OBJ_D)\rsa_err.obj: $(SRC_D)\crypto\rsa\rsa_err.c + $(CC) -o$(OBJ_D)\rsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_err.c + +$(OBJ_D)\rsa_pk1.obj: $(SRC_D)\crypto\rsa\rsa_pk1.c + $(CC) -o$(OBJ_D)\rsa_pk1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pk1.c + +$(OBJ_D)\rsa_ssl.obj: $(SRC_D)\crypto\rsa\rsa_ssl.c + $(CC) -o$(OBJ_D)\rsa_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ssl.c + +$(OBJ_D)\rsa_none.obj: $(SRC_D)\crypto\rsa\rsa_none.c + $(CC) -o$(OBJ_D)\rsa_none.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_none.c + +$(OBJ_D)\rsa_oaep.obj: $(SRC_D)\crypto\rsa\rsa_oaep.c + $(CC) -o$(OBJ_D)\rsa_oaep.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_oaep.c + +$(OBJ_D)\rsa_chk.obj: $(SRC_D)\crypto\rsa\rsa_chk.c + $(CC) -o$(OBJ_D)\rsa_chk.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_chk.c + +$(OBJ_D)\rsa_null.obj: $(SRC_D)\crypto\rsa\rsa_null.c + $(CC) -o$(OBJ_D)\rsa_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_null.c + +$(OBJ_D)\rsa_pss.obj: $(SRC_D)\crypto\rsa\rsa_pss.c + $(CC) -o$(OBJ_D)\rsa_pss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pss.c + +$(OBJ_D)\rsa_x931.obj: $(SRC_D)\crypto\rsa\rsa_x931.c + $(CC) -o$(OBJ_D)\rsa_x931.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_x931.c + +$(OBJ_D)\rsa_asn1.obj: $(SRC_D)\crypto\rsa\rsa_asn1.c + $(CC) -o$(OBJ_D)\rsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_asn1.c + +$(OBJ_D)\rsa_depr.obj: $(SRC_D)\crypto\rsa\rsa_depr.c + $(CC) -o$(OBJ_D)\rsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_depr.c + +$(OBJ_D)\rsa_ameth.obj: $(SRC_D)\crypto\rsa\rsa_ameth.c + $(CC) -o$(OBJ_D)\rsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ameth.c + +$(OBJ_D)\rsa_prn.obj: $(SRC_D)\crypto\rsa\rsa_prn.c + $(CC) -o$(OBJ_D)\rsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_prn.c + +$(OBJ_D)\rsa_pmeth.obj: $(SRC_D)\crypto\rsa\rsa_pmeth.c + $(CC) -o$(OBJ_D)\rsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pmeth.c + +$(OBJ_D)\rsa_crpt.obj: $(SRC_D)\crypto\rsa\rsa_crpt.c + $(CC) -o$(OBJ_D)\rsa_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_crpt.c + +$(OBJ_D)\dsa_gen.obj: $(SRC_D)\crypto\dsa\dsa_gen.c + $(CC) -o$(OBJ_D)\dsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_gen.c + +$(OBJ_D)\dsa_key.obj: $(SRC_D)\crypto\dsa\dsa_key.c + $(CC) -o$(OBJ_D)\dsa_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_key.c + +$(OBJ_D)\dsa_lib.obj: $(SRC_D)\crypto\dsa\dsa_lib.c + $(CC) -o$(OBJ_D)\dsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_lib.c + +$(OBJ_D)\dsa_asn1.obj: $(SRC_D)\crypto\dsa\dsa_asn1.c + $(CC) -o$(OBJ_D)\dsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_asn1.c + +$(OBJ_D)\dsa_vrf.obj: $(SRC_D)\crypto\dsa\dsa_vrf.c + $(CC) -o$(OBJ_D)\dsa_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_vrf.c + +$(OBJ_D)\dsa_sign.obj: $(SRC_D)\crypto\dsa\dsa_sign.c + $(CC) -o$(OBJ_D)\dsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_sign.c + +$(OBJ_D)\dsa_err.obj: $(SRC_D)\crypto\dsa\dsa_err.c + $(CC) -o$(OBJ_D)\dsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_err.c + +$(OBJ_D)\dsa_ossl.obj: $(SRC_D)\crypto\dsa\dsa_ossl.c + $(CC) -o$(OBJ_D)\dsa_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ossl.c + +$(OBJ_D)\dsa_depr.obj: $(SRC_D)\crypto\dsa\dsa_depr.c + $(CC) -o$(OBJ_D)\dsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_depr.c + +$(OBJ_D)\dsa_ameth.obj: $(SRC_D)\crypto\dsa\dsa_ameth.c + $(CC) -o$(OBJ_D)\dsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ameth.c + +$(OBJ_D)\dsa_pmeth.obj: $(SRC_D)\crypto\dsa\dsa_pmeth.c + $(CC) -o$(OBJ_D)\dsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_pmeth.c + +$(OBJ_D)\dsa_prn.obj: $(SRC_D)\crypto\dsa\dsa_prn.c + $(CC) -o$(OBJ_D)\dsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_prn.c + +$(OBJ_D)\dso_dl.obj: $(SRC_D)\crypto\dso\dso_dl.c + $(CC) -o$(OBJ_D)\dso_dl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dl.c + +$(OBJ_D)\dso_dlfcn.obj: $(SRC_D)\crypto\dso\dso_dlfcn.c + $(CC) -o$(OBJ_D)\dso_dlfcn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dlfcn.c + +$(OBJ_D)\dso_err.obj: $(SRC_D)\crypto\dso\dso_err.c + $(CC) -o$(OBJ_D)\dso_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_err.c + +$(OBJ_D)\dso_lib.obj: $(SRC_D)\crypto\dso\dso_lib.c + $(CC) -o$(OBJ_D)\dso_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_lib.c + +$(OBJ_D)\dso_null.obj: $(SRC_D)\crypto\dso\dso_null.c + $(CC) -o$(OBJ_D)\dso_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_null.c + +$(OBJ_D)\dso_openssl.obj: $(SRC_D)\crypto\dso\dso_openssl.c + $(CC) -o$(OBJ_D)\dso_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_openssl.c + +$(OBJ_D)\dso_win32.obj: $(SRC_D)\crypto\dso\dso_win32.c + $(CC) -o$(OBJ_D)\dso_win32.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_win32.c + +$(OBJ_D)\dso_vms.obj: $(SRC_D)\crypto\dso\dso_vms.c + $(CC) -o$(OBJ_D)\dso_vms.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_vms.c + +$(OBJ_D)\dso_beos.obj: $(SRC_D)\crypto\dso\dso_beos.c + $(CC) -o$(OBJ_D)\dso_beos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_beos.c + +$(OBJ_D)\dh_asn1.obj: $(SRC_D)\crypto\dh\dh_asn1.c + $(CC) -o$(OBJ_D)\dh_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_asn1.c + +$(OBJ_D)\dh_gen.obj: $(SRC_D)\crypto\dh\dh_gen.c + $(CC) -o$(OBJ_D)\dh_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_gen.c + +$(OBJ_D)\dh_key.obj: $(SRC_D)\crypto\dh\dh_key.c + $(CC) -o$(OBJ_D)\dh_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_key.c + +$(OBJ_D)\dh_lib.obj: $(SRC_D)\crypto\dh\dh_lib.c + $(CC) -o$(OBJ_D)\dh_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_lib.c + +$(OBJ_D)\dh_check.obj: $(SRC_D)\crypto\dh\dh_check.c + $(CC) -o$(OBJ_D)\dh_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_check.c + +$(OBJ_D)\dh_err.obj: $(SRC_D)\crypto\dh\dh_err.c + $(CC) -o$(OBJ_D)\dh_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_err.c + +$(OBJ_D)\dh_depr.obj: $(SRC_D)\crypto\dh\dh_depr.c + $(CC) -o$(OBJ_D)\dh_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_depr.c + +$(OBJ_D)\dh_ameth.obj: $(SRC_D)\crypto\dh\dh_ameth.c + $(CC) -o$(OBJ_D)\dh_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_ameth.c + +$(OBJ_D)\dh_pmeth.obj: $(SRC_D)\crypto\dh\dh_pmeth.c + $(CC) -o$(OBJ_D)\dh_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_pmeth.c + +$(OBJ_D)\dh_prn.obj: $(SRC_D)\crypto\dh\dh_prn.c + $(CC) -o$(OBJ_D)\dh_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_prn.c + +$(OBJ_D)\dh_rfc5114.obj: $(SRC_D)\crypto\dh\dh_rfc5114.c + $(CC) -o$(OBJ_D)\dh_rfc5114.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_rfc5114.c + +$(OBJ_D)\dh_kdf.obj: $(SRC_D)\crypto\dh\dh_kdf.c + $(CC) -o$(OBJ_D)\dh_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_kdf.c + +$(OBJ_D)\ec_lib.obj: $(SRC_D)\crypto\ec\ec_lib.c + $(CC) -o$(OBJ_D)\ec_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_lib.c + +$(OBJ_D)\ecp_smpl.obj: $(SRC_D)\crypto\ec\ecp_smpl.c + $(CC) -o$(OBJ_D)\ecp_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_smpl.c + +$(OBJ_D)\ecp_mont.obj: $(SRC_D)\crypto\ec\ecp_mont.c + $(CC) -o$(OBJ_D)\ecp_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_mont.c + +$(OBJ_D)\ecp_nist.obj: $(SRC_D)\crypto\ec\ecp_nist.c + $(CC) -o$(OBJ_D)\ecp_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nist.c + +$(OBJ_D)\ec_cvt.obj: $(SRC_D)\crypto\ec\ec_cvt.c + $(CC) -o$(OBJ_D)\ec_cvt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_cvt.c + +$(OBJ_D)\ec_mult.obj: $(SRC_D)\crypto\ec\ec_mult.c + $(CC) -o$(OBJ_D)\ec_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_mult.c + +$(OBJ_D)\ec_err.obj: $(SRC_D)\crypto\ec\ec_err.c + $(CC) -o$(OBJ_D)\ec_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_err.c + +$(OBJ_D)\ec_curve.obj: $(SRC_D)\crypto\ec\ec_curve.c + $(CC) -o$(OBJ_D)\ec_curve.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_curve.c + +$(OBJ_D)\ec_check.obj: $(SRC_D)\crypto\ec\ec_check.c + $(CC) -o$(OBJ_D)\ec_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_check.c + +$(OBJ_D)\ec_print.obj: $(SRC_D)\crypto\ec\ec_print.c + $(CC) -o$(OBJ_D)\ec_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_print.c + +$(OBJ_D)\ec_asn1.obj: $(SRC_D)\crypto\ec\ec_asn1.c + $(CC) -o$(OBJ_D)\ec_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_asn1.c + +$(OBJ_D)\ec_key.obj: $(SRC_D)\crypto\ec\ec_key.c + $(CC) -o$(OBJ_D)\ec_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_key.c + +$(OBJ_D)\ec2_smpl.obj: $(SRC_D)\crypto\ec\ec2_smpl.c + $(CC) -o$(OBJ_D)\ec2_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_smpl.c + +$(OBJ_D)\ec2_mult.obj: $(SRC_D)\crypto\ec\ec2_mult.c + $(CC) -o$(OBJ_D)\ec2_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_mult.c + +$(OBJ_D)\ec_ameth.obj: $(SRC_D)\crypto\ec\ec_ameth.c + $(CC) -o$(OBJ_D)\ec_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_ameth.c + +$(OBJ_D)\ec_pmeth.obj: $(SRC_D)\crypto\ec\ec_pmeth.c + $(CC) -o$(OBJ_D)\ec_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_pmeth.c + +$(OBJ_D)\eck_prn.obj: $(SRC_D)\crypto\ec\eck_prn.c + $(CC) -o$(OBJ_D)\eck_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\eck_prn.c + +$(OBJ_D)\ecp_nistp224.obj: $(SRC_D)\crypto\ec\ecp_nistp224.c + $(CC) -o$(OBJ_D)\ecp_nistp224.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp224.c + +$(OBJ_D)\ecp_nistp256.obj: $(SRC_D)\crypto\ec\ecp_nistp256.c + $(CC) -o$(OBJ_D)\ecp_nistp256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp256.c + +$(OBJ_D)\ecp_nistp521.obj: $(SRC_D)\crypto\ec\ecp_nistp521.c + $(CC) -o$(OBJ_D)\ecp_nistp521.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp521.c + +$(OBJ_D)\ecp_nistputil.obj: $(SRC_D)\crypto\ec\ecp_nistputil.c + $(CC) -o$(OBJ_D)\ecp_nistputil.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistputil.c + +$(OBJ_D)\ecp_oct.obj: $(SRC_D)\crypto\ec\ecp_oct.c + $(CC) -o$(OBJ_D)\ecp_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_oct.c + +$(OBJ_D)\ec2_oct.obj: $(SRC_D)\crypto\ec\ec2_oct.c + $(CC) -o$(OBJ_D)\ec2_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_oct.c + +$(OBJ_D)\ec_oct.obj: $(SRC_D)\crypto\ec\ec_oct.c + $(CC) -o$(OBJ_D)\ec_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_oct.c + +$(OBJ_D)\ech_lib.obj: $(SRC_D)\crypto\ecdh\ech_lib.c + $(CC) -o$(OBJ_D)\ech_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_lib.c + +$(OBJ_D)\ech_ossl.obj: $(SRC_D)\crypto\ecdh\ech_ossl.c + $(CC) -o$(OBJ_D)\ech_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_ossl.c + +$(OBJ_D)\ech_key.obj: $(SRC_D)\crypto\ecdh\ech_key.c + $(CC) -o$(OBJ_D)\ech_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_key.c + +$(OBJ_D)\ech_err.obj: $(SRC_D)\crypto\ecdh\ech_err.c + $(CC) -o$(OBJ_D)\ech_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_err.c + +$(OBJ_D)\ech_kdf.obj: $(SRC_D)\crypto\ecdh\ech_kdf.c + $(CC) -o$(OBJ_D)\ech_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_kdf.c + +$(OBJ_D)\ecs_lib.obj: $(SRC_D)\crypto\ecdsa\ecs_lib.c + $(CC) -o$(OBJ_D)\ecs_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_lib.c + +$(OBJ_D)\ecs_asn1.obj: $(SRC_D)\crypto\ecdsa\ecs_asn1.c + $(CC) -o$(OBJ_D)\ecs_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_asn1.c + +$(OBJ_D)\ecs_ossl.obj: $(SRC_D)\crypto\ecdsa\ecs_ossl.c + $(CC) -o$(OBJ_D)\ecs_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_ossl.c + +$(OBJ_D)\ecs_sign.obj: $(SRC_D)\crypto\ecdsa\ecs_sign.c + $(CC) -o$(OBJ_D)\ecs_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_sign.c + +$(OBJ_D)\ecs_vrf.obj: $(SRC_D)\crypto\ecdsa\ecs_vrf.c + $(CC) -o$(OBJ_D)\ecs_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_vrf.c + +$(OBJ_D)\ecs_err.obj: $(SRC_D)\crypto\ecdsa\ecs_err.c + $(CC) -o$(OBJ_D)\ecs_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_err.c + +$(OBJ_D)\buffer.obj: $(SRC_D)\crypto\buffer\buffer.c + $(CC) -o$(OBJ_D)\buffer.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buffer.c + +$(OBJ_D)\buf_str.obj: $(SRC_D)\crypto\buffer\buf_str.c + $(CC) -o$(OBJ_D)\buf_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_str.c + +$(OBJ_D)\buf_err.obj: $(SRC_D)\crypto\buffer\buf_err.c + $(CC) -o$(OBJ_D)\buf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_err.c + +$(OBJ_D)\bio_lib.obj: $(SRC_D)\crypto\bio\bio_lib.c + $(CC) -o$(OBJ_D)\bio_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_lib.c + +$(OBJ_D)\bio_cb.obj: $(SRC_D)\crypto\bio\bio_cb.c + $(CC) -o$(OBJ_D)\bio_cb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_cb.c + +$(OBJ_D)\bio_err.obj: $(SRC_D)\crypto\bio\bio_err.c + $(CC) -o$(OBJ_D)\bio_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_err.c + +$(OBJ_D)\bss_mem.obj: $(SRC_D)\crypto\bio\bss_mem.c + $(CC) -o$(OBJ_D)\bss_mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_mem.c + +$(OBJ_D)\bss_null.obj: $(SRC_D)\crypto\bio\bss_null.c + $(CC) -o$(OBJ_D)\bss_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_null.c + +$(OBJ_D)\bss_fd.obj: $(SRC_D)\crypto\bio\bss_fd.c + $(CC) -o$(OBJ_D)\bss_fd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_fd.c + +$(OBJ_D)\bss_file.obj: $(SRC_D)\crypto\bio\bss_file.c + $(CC) -o$(OBJ_D)\bss_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_file.c + +$(OBJ_D)\bss_sock.obj: $(SRC_D)\crypto\bio\bss_sock.c + $(CC) -o$(OBJ_D)\bss_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_sock.c + +$(OBJ_D)\bss_conn.obj: $(SRC_D)\crypto\bio\bss_conn.c + $(CC) -o$(OBJ_D)\bss_conn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_conn.c + +$(OBJ_D)\bf_null.obj: $(SRC_D)\crypto\bio\bf_null.c + $(CC) -o$(OBJ_D)\bf_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_null.c + +$(OBJ_D)\bf_buff.obj: $(SRC_D)\crypto\bio\bf_buff.c + $(CC) -o$(OBJ_D)\bf_buff.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_buff.c + +$(OBJ_D)\b_print.obj: $(SRC_D)\crypto\bio\b_print.c + $(CC) -o$(OBJ_D)\b_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_print.c + +$(OBJ_D)\b_dump.obj: $(SRC_D)\crypto\bio\b_dump.c + $(CC) -o$(OBJ_D)\b_dump.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_dump.c + +$(OBJ_D)\b_sock.obj: $(SRC_D)\crypto\bio\b_sock.c + $(CC) -o$(OBJ_D)\b_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_sock.c + +$(OBJ_D)\bss_acpt.obj: $(SRC_D)\crypto\bio\bss_acpt.c + $(CC) -o$(OBJ_D)\bss_acpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_acpt.c + +$(OBJ_D)\bf_nbio.obj: $(SRC_D)\crypto\bio\bf_nbio.c + $(CC) -o$(OBJ_D)\bf_nbio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_nbio.c + +$(OBJ_D)\bss_log.obj: $(SRC_D)\crypto\bio\bss_log.c + $(CC) -o$(OBJ_D)\bss_log.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_log.c + +$(OBJ_D)\bss_bio.obj: $(SRC_D)\crypto\bio\bss_bio.c + $(CC) -o$(OBJ_D)\bss_bio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_bio.c + +$(OBJ_D)\bss_dgram.obj: $(SRC_D)\crypto\bio\bss_dgram.c + $(CC) -o$(OBJ_D)\bss_dgram.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_dgram.c + +$(OBJ_D)\stack.obj: $(SRC_D)\crypto\stack\stack.c + $(CC) -o$(OBJ_D)\stack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\stack\stack.c + +$(OBJ_D)\lhash.obj: $(SRC_D)\crypto\lhash\lhash.c + $(CC) -o$(OBJ_D)\lhash.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lhash.c + +$(OBJ_D)\lh_stats.obj: $(SRC_D)\crypto\lhash\lh_stats.c + $(CC) -o$(OBJ_D)\lh_stats.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lh_stats.c + +$(OBJ_D)\md_rand.obj: $(SRC_D)\crypto\rand\md_rand.c + $(CC) -o$(OBJ_D)\md_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\md_rand.c + +$(OBJ_D)\randfile.obj: $(SRC_D)\crypto\rand\randfile.c + $(CC) -o$(OBJ_D)\randfile.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\randfile.c + +$(OBJ_D)\rand_lib.obj: $(SRC_D)\crypto\rand\rand_lib.c + $(CC) -o$(OBJ_D)\rand_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_lib.c + +$(OBJ_D)\rand_err.obj: $(SRC_D)\crypto\rand\rand_err.c + $(CC) -o$(OBJ_D)\rand_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_err.c + +$(OBJ_D)\rand_egd.obj: $(SRC_D)\crypto\rand\rand_egd.c + $(CC) -o$(OBJ_D)\rand_egd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_egd.c + +$(OBJ_D)\rand_win.obj: $(SRC_D)\crypto\rand\rand_win.c + $(CC) -o$(OBJ_D)\rand_win.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_win.c + +$(OBJ_D)\rand_unix.obj: $(SRC_D)\crypto\rand\rand_unix.c + $(CC) -o$(OBJ_D)\rand_unix.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_unix.c + +$(OBJ_D)\rand_os2.obj: $(SRC_D)\crypto\rand\rand_os2.c + $(CC) -o$(OBJ_D)\rand_os2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_os2.c + +$(OBJ_D)\rand_nw.obj: $(SRC_D)\crypto\rand\rand_nw.c + $(CC) -o$(OBJ_D)\rand_nw.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_nw.c + +$(OBJ_D)\err.obj: $(SRC_D)\crypto\err\err.c + $(CC) -o$(OBJ_D)\err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err.c + +$(OBJ_D)\err_all.obj: $(SRC_D)\crypto\err\err_all.c + $(CC) -o$(OBJ_D)\err_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_all.c + +$(OBJ_D)\err_prn.obj: $(SRC_D)\crypto\err\err_prn.c + $(CC) -o$(OBJ_D)\err_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_prn.c + +$(OBJ_D)\o_names.obj: $(SRC_D)\crypto\objects\o_names.c + $(CC) -o$(OBJ_D)\o_names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\o_names.c + +$(OBJ_D)\obj_dat.obj: $(SRC_D)\crypto\objects\obj_dat.c + $(CC) -o$(OBJ_D)\obj_dat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_dat.c + +$(OBJ_D)\obj_lib.obj: $(SRC_D)\crypto\objects\obj_lib.c + $(CC) -o$(OBJ_D)\obj_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_lib.c + +$(OBJ_D)\obj_err.obj: $(SRC_D)\crypto\objects\obj_err.c + $(CC) -o$(OBJ_D)\obj_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_err.c + +$(OBJ_D)\obj_xref.obj: $(SRC_D)\crypto\objects\obj_xref.c + $(CC) -o$(OBJ_D)\obj_xref.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_xref.c + +$(OBJ_D)\encode.obj: $(SRC_D)\crypto\evp\encode.c + $(CC) -o$(OBJ_D)\encode.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\encode.c + +$(OBJ_D)\digest.obj: $(SRC_D)\crypto\evp\digest.c + $(CC) -o$(OBJ_D)\digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\digest.c + +$(OBJ_D)\evp_enc.obj: $(SRC_D)\crypto\evp\evp_enc.c + $(CC) -o$(OBJ_D)\evp_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_enc.c + +$(OBJ_D)\evp_key.obj: $(SRC_D)\crypto\evp\evp_key.c + $(CC) -o$(OBJ_D)\evp_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_key.c + +$(OBJ_D)\evp_acnf.obj: $(SRC_D)\crypto\evp\evp_acnf.c + $(CC) -o$(OBJ_D)\evp_acnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_acnf.c + +$(OBJ_D)\evp_cnf.obj: $(SRC_D)\crypto\evp\evp_cnf.c + $(CC) -o$(OBJ_D)\evp_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_cnf.c + +$(OBJ_D)\e_des.obj: $(SRC_D)\crypto\evp\e_des.c + $(CC) -o$(OBJ_D)\e_des.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des.c + +$(OBJ_D)\e_bf.obj: $(SRC_D)\crypto\evp\e_bf.c + $(CC) -o$(OBJ_D)\e_bf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_bf.c + +$(OBJ_D)\e_idea.obj: $(SRC_D)\crypto\evp\e_idea.c + $(CC) -o$(OBJ_D)\e_idea.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_idea.c + +$(OBJ_D)\e_des3.obj: $(SRC_D)\crypto\evp\e_des3.c + $(CC) -o$(OBJ_D)\e_des3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des3.c + +$(OBJ_D)\e_camellia.obj: $(SRC_D)\crypto\evp\e_camellia.c + $(CC) -o$(OBJ_D)\e_camellia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_camellia.c + +$(OBJ_D)\e_rc4.obj: $(SRC_D)\crypto\evp\e_rc4.c + $(CC) -o$(OBJ_D)\e_rc4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4.c + +$(OBJ_D)\e_aes.obj: $(SRC_D)\crypto\evp\e_aes.c + $(CC) -o$(OBJ_D)\e_aes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes.c + +$(OBJ_D)\names.obj: $(SRC_D)\crypto\evp\names.c + $(CC) -o$(OBJ_D)\names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\names.c + +$(OBJ_D)\e_seed.obj: $(SRC_D)\crypto\evp\e_seed.c + $(CC) -o$(OBJ_D)\e_seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_seed.c + +$(OBJ_D)\e_xcbc_d.obj: $(SRC_D)\crypto\evp\e_xcbc_d.c + $(CC) -o$(OBJ_D)\e_xcbc_d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_xcbc_d.c + +$(OBJ_D)\e_rc2.obj: $(SRC_D)\crypto\evp\e_rc2.c + $(CC) -o$(OBJ_D)\e_rc2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc2.c + +$(OBJ_D)\e_cast.obj: $(SRC_D)\crypto\evp\e_cast.c + $(CC) -o$(OBJ_D)\e_cast.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_cast.c + +$(OBJ_D)\e_rc5.obj: $(SRC_D)\crypto\evp\e_rc5.c + $(CC) -o$(OBJ_D)\e_rc5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc5.c + +$(OBJ_D)\m_null.obj: $(SRC_D)\crypto\evp\m_null.c + $(CC) -o$(OBJ_D)\m_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_null.c + +$(OBJ_D)\m_md4.obj: $(SRC_D)\crypto\evp\m_md4.c + $(CC) -o$(OBJ_D)\m_md4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md4.c + +$(OBJ_D)\m_md5.obj: $(SRC_D)\crypto\evp\m_md5.c + $(CC) -o$(OBJ_D)\m_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md5.c + +$(OBJ_D)\m_sha.obj: $(SRC_D)\crypto\evp\m_sha.c + $(CC) -o$(OBJ_D)\m_sha.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha.c + +$(OBJ_D)\m_sha1.obj: $(SRC_D)\crypto\evp\m_sha1.c + $(CC) -o$(OBJ_D)\m_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha1.c + +$(OBJ_D)\m_wp.obj: $(SRC_D)\crypto\evp\m_wp.c + $(CC) -o$(OBJ_D)\m_wp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_wp.c + +$(OBJ_D)\m_dss.obj: $(SRC_D)\crypto\evp\m_dss.c + $(CC) -o$(OBJ_D)\m_dss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss.c + +$(OBJ_D)\m_dss1.obj: $(SRC_D)\crypto\evp\m_dss1.c + $(CC) -o$(OBJ_D)\m_dss1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss1.c + +$(OBJ_D)\m_ripemd.obj: $(SRC_D)\crypto\evp\m_ripemd.c + $(CC) -o$(OBJ_D)\m_ripemd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ripemd.c + +$(OBJ_D)\m_ecdsa.obj: $(SRC_D)\crypto\evp\m_ecdsa.c + $(CC) -o$(OBJ_D)\m_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ecdsa.c + +$(OBJ_D)\p_open.obj: $(SRC_D)\crypto\evp\p_open.c + $(CC) -o$(OBJ_D)\p_open.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_open.c + +$(OBJ_D)\p_seal.obj: $(SRC_D)\crypto\evp\p_seal.c + $(CC) -o$(OBJ_D)\p_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_seal.c + +$(OBJ_D)\p_sign.obj: $(SRC_D)\crypto\evp\p_sign.c + $(CC) -o$(OBJ_D)\p_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_sign.c + +$(OBJ_D)\p_verify.obj: $(SRC_D)\crypto\evp\p_verify.c + $(CC) -o$(OBJ_D)\p_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_verify.c + +$(OBJ_D)\p_lib.obj: $(SRC_D)\crypto\evp\p_lib.c + $(CC) -o$(OBJ_D)\p_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_lib.c + +$(OBJ_D)\p_enc.obj: $(SRC_D)\crypto\evp\p_enc.c + $(CC) -o$(OBJ_D)\p_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_enc.c + +$(OBJ_D)\p_dec.obj: $(SRC_D)\crypto\evp\p_dec.c + $(CC) -o$(OBJ_D)\p_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_dec.c + +$(OBJ_D)\bio_md.obj: $(SRC_D)\crypto\evp\bio_md.c + $(CC) -o$(OBJ_D)\bio_md.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_md.c + +$(OBJ_D)\bio_b64.obj: $(SRC_D)\crypto\evp\bio_b64.c + $(CC) -o$(OBJ_D)\bio_b64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_b64.c + +$(OBJ_D)\bio_enc.obj: $(SRC_D)\crypto\evp\bio_enc.c + $(CC) -o$(OBJ_D)\bio_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_enc.c + +$(OBJ_D)\evp_err.obj: $(SRC_D)\crypto\evp\evp_err.c + $(CC) -o$(OBJ_D)\evp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_err.c + +$(OBJ_D)\e_null.obj: $(SRC_D)\crypto\evp\e_null.c + $(CC) -o$(OBJ_D)\e_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_null.c + +$(OBJ_D)\c_all.obj: $(SRC_D)\crypto\evp\c_all.c + $(CC) -o$(OBJ_D)\c_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_all.c + +$(OBJ_D)\c_allc.obj: $(SRC_D)\crypto\evp\c_allc.c + $(CC) -o$(OBJ_D)\c_allc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_allc.c + +$(OBJ_D)\c_alld.obj: $(SRC_D)\crypto\evp\c_alld.c + $(CC) -o$(OBJ_D)\c_alld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_alld.c + +$(OBJ_D)\evp_lib.obj: $(SRC_D)\crypto\evp\evp_lib.c + $(CC) -o$(OBJ_D)\evp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_lib.c + +$(OBJ_D)\bio_ok.obj: $(SRC_D)\crypto\evp\bio_ok.c + $(CC) -o$(OBJ_D)\bio_ok.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_ok.c + +$(OBJ_D)\evp_pkey.obj: $(SRC_D)\crypto\evp\evp_pkey.c + $(CC) -o$(OBJ_D)\evp_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pkey.c + +$(OBJ_D)\evp_pbe.obj: $(SRC_D)\crypto\evp\evp_pbe.c + $(CC) -o$(OBJ_D)\evp_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pbe.c + +$(OBJ_D)\p5_crpt.obj: $(SRC_D)\crypto\evp\p5_crpt.c + $(CC) -o$(OBJ_D)\p5_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt.c + +$(OBJ_D)\p5_crpt2.obj: $(SRC_D)\crypto\evp\p5_crpt2.c + $(CC) -o$(OBJ_D)\p5_crpt2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt2.c + +$(OBJ_D)\e_old.obj: $(SRC_D)\crypto\evp\e_old.c + $(CC) -o$(OBJ_D)\e_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_old.c + +$(OBJ_D)\pmeth_lib.obj: $(SRC_D)\crypto\evp\pmeth_lib.c + $(CC) -o$(OBJ_D)\pmeth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_lib.c + +$(OBJ_D)\pmeth_fn.obj: $(SRC_D)\crypto\evp\pmeth_fn.c + $(CC) -o$(OBJ_D)\pmeth_fn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_fn.c + +$(OBJ_D)\pmeth_gn.obj: $(SRC_D)\crypto\evp\pmeth_gn.c + $(CC) -o$(OBJ_D)\pmeth_gn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_gn.c + +$(OBJ_D)\m_sigver.obj: $(SRC_D)\crypto\evp\m_sigver.c + $(CC) -o$(OBJ_D)\m_sigver.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sigver.c + +$(OBJ_D)\e_aes_cbc_hmac_sha1.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c + $(CC) -o$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c + +$(OBJ_D)\e_aes_cbc_hmac_sha256.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c + $(CC) -o$(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c + +$(OBJ_D)\e_rc4_hmac_md5.obj: $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c + $(CC) -o$(OBJ_D)\e_rc4_hmac_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c + +$(OBJ_D)\a_object.obj: $(SRC_D)\crypto\asn1\a_object.c + $(CC) -o$(OBJ_D)\a_object.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_object.c + +$(OBJ_D)\a_bitstr.obj: $(SRC_D)\crypto\asn1\a_bitstr.c + $(CC) -o$(OBJ_D)\a_bitstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bitstr.c + +$(OBJ_D)\a_utctm.obj: $(SRC_D)\crypto\asn1\a_utctm.c + $(CC) -o$(OBJ_D)\a_utctm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utctm.c + +$(OBJ_D)\a_gentm.obj: $(SRC_D)\crypto\asn1\a_gentm.c + $(CC) -o$(OBJ_D)\a_gentm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_gentm.c + +$(OBJ_D)\a_time.obj: $(SRC_D)\crypto\asn1\a_time.c + $(CC) -o$(OBJ_D)\a_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_time.c + +$(OBJ_D)\a_int.obj: $(SRC_D)\crypto\asn1\a_int.c + $(CC) -o$(OBJ_D)\a_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_int.c + +$(OBJ_D)\a_octet.obj: $(SRC_D)\crypto\asn1\a_octet.c + $(CC) -o$(OBJ_D)\a_octet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_octet.c + +$(OBJ_D)\a_print.obj: $(SRC_D)\crypto\asn1\a_print.c + $(CC) -o$(OBJ_D)\a_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_print.c + +$(OBJ_D)\a_type.obj: $(SRC_D)\crypto\asn1\a_type.c + $(CC) -o$(OBJ_D)\a_type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_type.c + +$(OBJ_D)\a_set.obj: $(SRC_D)\crypto\asn1\a_set.c + $(CC) -o$(OBJ_D)\a_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_set.c + +$(OBJ_D)\a_dup.obj: $(SRC_D)\crypto\asn1\a_dup.c + $(CC) -o$(OBJ_D)\a_dup.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_dup.c + +$(OBJ_D)\a_d2i_fp.obj: $(SRC_D)\crypto\asn1\a_d2i_fp.c + $(CC) -o$(OBJ_D)\a_d2i_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_d2i_fp.c + +$(OBJ_D)\a_i2d_fp.obj: $(SRC_D)\crypto\asn1\a_i2d_fp.c + $(CC) -o$(OBJ_D)\a_i2d_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_i2d_fp.c + +$(OBJ_D)\a_enum.obj: $(SRC_D)\crypto\asn1\a_enum.c + $(CC) -o$(OBJ_D)\a_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_enum.c + +$(OBJ_D)\a_utf8.obj: $(SRC_D)\crypto\asn1\a_utf8.c + $(CC) -o$(OBJ_D)\a_utf8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utf8.c + +$(OBJ_D)\a_sign.obj: $(SRC_D)\crypto\asn1\a_sign.c + $(CC) -o$(OBJ_D)\a_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_sign.c + +$(OBJ_D)\a_digest.obj: $(SRC_D)\crypto\asn1\a_digest.c + $(CC) -o$(OBJ_D)\a_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_digest.c + +$(OBJ_D)\a_verify.obj: $(SRC_D)\crypto\asn1\a_verify.c + $(CC) -o$(OBJ_D)\a_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_verify.c + +$(OBJ_D)\a_mbstr.obj: $(SRC_D)\crypto\asn1\a_mbstr.c + $(CC) -o$(OBJ_D)\a_mbstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_mbstr.c + +$(OBJ_D)\a_strex.obj: $(SRC_D)\crypto\asn1\a_strex.c + $(CC) -o$(OBJ_D)\a_strex.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strex.c + +$(OBJ_D)\x_algor.obj: $(SRC_D)\crypto\asn1\x_algor.c + $(CC) -o$(OBJ_D)\x_algor.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_algor.c + +$(OBJ_D)\x_val.obj: $(SRC_D)\crypto\asn1\x_val.c + $(CC) -o$(OBJ_D)\x_val.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_val.c + +$(OBJ_D)\x_pubkey.obj: $(SRC_D)\crypto\asn1\x_pubkey.c + $(CC) -o$(OBJ_D)\x_pubkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pubkey.c + +$(OBJ_D)\x_sig.obj: $(SRC_D)\crypto\asn1\x_sig.c + $(CC) -o$(OBJ_D)\x_sig.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_sig.c + +$(OBJ_D)\x_req.obj: $(SRC_D)\crypto\asn1\x_req.c + $(CC) -o$(OBJ_D)\x_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_req.c + +$(OBJ_D)\x_attrib.obj: $(SRC_D)\crypto\asn1\x_attrib.c + $(CC) -o$(OBJ_D)\x_attrib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_attrib.c + +$(OBJ_D)\x_bignum.obj: $(SRC_D)\crypto\asn1\x_bignum.c + $(CC) -o$(OBJ_D)\x_bignum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_bignum.c + +$(OBJ_D)\x_long.obj: $(SRC_D)\crypto\asn1\x_long.c + $(CC) -o$(OBJ_D)\x_long.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_long.c + +$(OBJ_D)\x_name.obj: $(SRC_D)\crypto\asn1\x_name.c + $(CC) -o$(OBJ_D)\x_name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_name.c + +$(OBJ_D)\x_x509.obj: $(SRC_D)\crypto\asn1\x_x509.c + $(CC) -o$(OBJ_D)\x_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509.c + +$(OBJ_D)\x_x509a.obj: $(SRC_D)\crypto\asn1\x_x509a.c + $(CC) -o$(OBJ_D)\x_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509a.c + +$(OBJ_D)\x_crl.obj: $(SRC_D)\crypto\asn1\x_crl.c + $(CC) -o$(OBJ_D)\x_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_crl.c + +$(OBJ_D)\x_info.obj: $(SRC_D)\crypto\asn1\x_info.c + $(CC) -o$(OBJ_D)\x_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_info.c + +$(OBJ_D)\x_spki.obj: $(SRC_D)\crypto\asn1\x_spki.c + $(CC) -o$(OBJ_D)\x_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_spki.c + +$(OBJ_D)\nsseq.obj: $(SRC_D)\crypto\asn1\nsseq.c + $(CC) -o$(OBJ_D)\nsseq.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\nsseq.c + +$(OBJ_D)\x_nx509.obj: $(SRC_D)\crypto\asn1\x_nx509.c + $(CC) -o$(OBJ_D)\x_nx509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_nx509.c + +$(OBJ_D)\d2i_pu.obj: $(SRC_D)\crypto\asn1\d2i_pu.c + $(CC) -o$(OBJ_D)\d2i_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pu.c + +$(OBJ_D)\d2i_pr.obj: $(SRC_D)\crypto\asn1\d2i_pr.c + $(CC) -o$(OBJ_D)\d2i_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pr.c + +$(OBJ_D)\i2d_pu.obj: $(SRC_D)\crypto\asn1\i2d_pu.c + $(CC) -o$(OBJ_D)\i2d_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pu.c + +$(OBJ_D)\i2d_pr.obj: $(SRC_D)\crypto\asn1\i2d_pr.c + $(CC) -o$(OBJ_D)\i2d_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pr.c + +$(OBJ_D)\t_req.obj: $(SRC_D)\crypto\asn1\t_req.c + $(CC) -o$(OBJ_D)\t_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_req.c + +$(OBJ_D)\t_x509.obj: $(SRC_D)\crypto\asn1\t_x509.c + $(CC) -o$(OBJ_D)\t_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509.c + +$(OBJ_D)\t_x509a.obj: $(SRC_D)\crypto\asn1\t_x509a.c + $(CC) -o$(OBJ_D)\t_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509a.c + +$(OBJ_D)\t_crl.obj: $(SRC_D)\crypto\asn1\t_crl.c + $(CC) -o$(OBJ_D)\t_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_crl.c + +$(OBJ_D)\t_pkey.obj: $(SRC_D)\crypto\asn1\t_pkey.c + $(CC) -o$(OBJ_D)\t_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_pkey.c + +$(OBJ_D)\t_spki.obj: $(SRC_D)\crypto\asn1\t_spki.c + $(CC) -o$(OBJ_D)\t_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_spki.c + +$(OBJ_D)\t_bitst.obj: $(SRC_D)\crypto\asn1\t_bitst.c + $(CC) -o$(OBJ_D)\t_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_bitst.c + +$(OBJ_D)\tasn_new.obj: $(SRC_D)\crypto\asn1\tasn_new.c + $(CC) -o$(OBJ_D)\tasn_new.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_new.c + +$(OBJ_D)\tasn_fre.obj: $(SRC_D)\crypto\asn1\tasn_fre.c + $(CC) -o$(OBJ_D)\tasn_fre.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_fre.c + +$(OBJ_D)\tasn_enc.obj: $(SRC_D)\crypto\asn1\tasn_enc.c + $(CC) -o$(OBJ_D)\tasn_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_enc.c + +$(OBJ_D)\tasn_dec.obj: $(SRC_D)\crypto\asn1\tasn_dec.c + $(CC) -o$(OBJ_D)\tasn_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_dec.c + +$(OBJ_D)\tasn_utl.obj: $(SRC_D)\crypto\asn1\tasn_utl.c + $(CC) -o$(OBJ_D)\tasn_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_utl.c + +$(OBJ_D)\tasn_typ.obj: $(SRC_D)\crypto\asn1\tasn_typ.c + $(CC) -o$(OBJ_D)\tasn_typ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_typ.c + +$(OBJ_D)\tasn_prn.obj: $(SRC_D)\crypto\asn1\tasn_prn.c + $(CC) -o$(OBJ_D)\tasn_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_prn.c + +$(OBJ_D)\ameth_lib.obj: $(SRC_D)\crypto\asn1\ameth_lib.c + $(CC) -o$(OBJ_D)\ameth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\ameth_lib.c + +$(OBJ_D)\f_int.obj: $(SRC_D)\crypto\asn1\f_int.c + $(CC) -o$(OBJ_D)\f_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_int.c + +$(OBJ_D)\f_string.obj: $(SRC_D)\crypto\asn1\f_string.c + $(CC) -o$(OBJ_D)\f_string.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_string.c + +$(OBJ_D)\n_pkey.obj: $(SRC_D)\crypto\asn1\n_pkey.c + $(CC) -o$(OBJ_D)\n_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\n_pkey.c + +$(OBJ_D)\f_enum.obj: $(SRC_D)\crypto\asn1\f_enum.c + $(CC) -o$(OBJ_D)\f_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_enum.c + +$(OBJ_D)\x_pkey.obj: $(SRC_D)\crypto\asn1\x_pkey.c + $(CC) -o$(OBJ_D)\x_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pkey.c + +$(OBJ_D)\a_bool.obj: $(SRC_D)\crypto\asn1\a_bool.c + $(CC) -o$(OBJ_D)\a_bool.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bool.c + +$(OBJ_D)\x_exten.obj: $(SRC_D)\crypto\asn1\x_exten.c + $(CC) -o$(OBJ_D)\x_exten.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_exten.c + +$(OBJ_D)\bio_asn1.obj: $(SRC_D)\crypto\asn1\bio_asn1.c + $(CC) -o$(OBJ_D)\bio_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_asn1.c + +$(OBJ_D)\bio_ndef.obj: $(SRC_D)\crypto\asn1\bio_ndef.c + $(CC) -o$(OBJ_D)\bio_ndef.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_ndef.c + +$(OBJ_D)\asn_mime.obj: $(SRC_D)\crypto\asn1\asn_mime.c + $(CC) -o$(OBJ_D)\asn_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_mime.c + +$(OBJ_D)\asn1_gen.obj: $(SRC_D)\crypto\asn1\asn1_gen.c + $(CC) -o$(OBJ_D)\asn1_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_gen.c + +$(OBJ_D)\asn1_par.obj: $(SRC_D)\crypto\asn1\asn1_par.c + $(CC) -o$(OBJ_D)\asn1_par.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_par.c + +$(OBJ_D)\asn1_lib.obj: $(SRC_D)\crypto\asn1\asn1_lib.c + $(CC) -o$(OBJ_D)\asn1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_lib.c + +$(OBJ_D)\asn1_err.obj: $(SRC_D)\crypto\asn1\asn1_err.c + $(CC) -o$(OBJ_D)\asn1_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_err.c + +$(OBJ_D)\a_bytes.obj: $(SRC_D)\crypto\asn1\a_bytes.c + $(CC) -o$(OBJ_D)\a_bytes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bytes.c + +$(OBJ_D)\a_strnid.obj: $(SRC_D)\crypto\asn1\a_strnid.c + $(CC) -o$(OBJ_D)\a_strnid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strnid.c + +$(OBJ_D)\evp_asn1.obj: $(SRC_D)\crypto\asn1\evp_asn1.c + $(CC) -o$(OBJ_D)\evp_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\evp_asn1.c + +$(OBJ_D)\asn_pack.obj: $(SRC_D)\crypto\asn1\asn_pack.c + $(CC) -o$(OBJ_D)\asn_pack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_pack.c + +$(OBJ_D)\p5_pbe.obj: $(SRC_D)\crypto\asn1\p5_pbe.c + $(CC) -o$(OBJ_D)\p5_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbe.c + +$(OBJ_D)\p5_pbev2.obj: $(SRC_D)\crypto\asn1\p5_pbev2.c + $(CC) -o$(OBJ_D)\p5_pbev2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbev2.c + +$(OBJ_D)\p8_pkey.obj: $(SRC_D)\crypto\asn1\p8_pkey.c + $(CC) -o$(OBJ_D)\p8_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p8_pkey.c + +$(OBJ_D)\asn_moid.obj: $(SRC_D)\crypto\asn1\asn_moid.c + $(CC) -o$(OBJ_D)\asn_moid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_moid.c + +$(OBJ_D)\pem_sign.obj: $(SRC_D)\crypto\pem\pem_sign.c + $(CC) -o$(OBJ_D)\pem_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_sign.c + +$(OBJ_D)\pem_seal.obj: $(SRC_D)\crypto\pem\pem_seal.c + $(CC) -o$(OBJ_D)\pem_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_seal.c + +$(OBJ_D)\pem_info.obj: $(SRC_D)\crypto\pem\pem_info.c + $(CC) -o$(OBJ_D)\pem_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_info.c + +$(OBJ_D)\pem_lib.obj: $(SRC_D)\crypto\pem\pem_lib.c + $(CC) -o$(OBJ_D)\pem_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_lib.c + +$(OBJ_D)\pem_all.obj: $(SRC_D)\crypto\pem\pem_all.c + $(CC) -o$(OBJ_D)\pem_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_all.c + +$(OBJ_D)\pem_err.obj: $(SRC_D)\crypto\pem\pem_err.c + $(CC) -o$(OBJ_D)\pem_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_err.c + +$(OBJ_D)\pem_x509.obj: $(SRC_D)\crypto\pem\pem_x509.c + $(CC) -o$(OBJ_D)\pem_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_x509.c + +$(OBJ_D)\pem_xaux.obj: $(SRC_D)\crypto\pem\pem_xaux.c + $(CC) -o$(OBJ_D)\pem_xaux.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_xaux.c + +$(OBJ_D)\pem_oth.obj: $(SRC_D)\crypto\pem\pem_oth.c + $(CC) -o$(OBJ_D)\pem_oth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_oth.c + +$(OBJ_D)\pem_pk8.obj: $(SRC_D)\crypto\pem\pem_pk8.c + $(CC) -o$(OBJ_D)\pem_pk8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pk8.c + +$(OBJ_D)\pem_pkey.obj: $(SRC_D)\crypto\pem\pem_pkey.c + $(CC) -o$(OBJ_D)\pem_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pkey.c + +$(OBJ_D)\pvkfmt.obj: $(SRC_D)\crypto\pem\pvkfmt.c + $(CC) -o$(OBJ_D)\pvkfmt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pvkfmt.c + +$(OBJ_D)\x509_def.obj: $(SRC_D)\crypto\x509\x509_def.c + $(CC) -o$(OBJ_D)\x509_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_def.c + +$(OBJ_D)\x509_d2.obj: $(SRC_D)\crypto\x509\x509_d2.c + $(CC) -o$(OBJ_D)\x509_d2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_d2.c + +$(OBJ_D)\x509_r2x.obj: $(SRC_D)\crypto\x509\x509_r2x.c + $(CC) -o$(OBJ_D)\x509_r2x.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_r2x.c + +$(OBJ_D)\x509_cmp.obj: $(SRC_D)\crypto\x509\x509_cmp.c + $(CC) -o$(OBJ_D)\x509_cmp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_cmp.c + +$(OBJ_D)\x509_obj.obj: $(SRC_D)\crypto\x509\x509_obj.c + $(CC) -o$(OBJ_D)\x509_obj.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_obj.c + +$(OBJ_D)\x509_req.obj: $(SRC_D)\crypto\x509\x509_req.c + $(CC) -o$(OBJ_D)\x509_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_req.c + +$(OBJ_D)\x509spki.obj: $(SRC_D)\crypto\x509\x509spki.c + $(CC) -o$(OBJ_D)\x509spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509spki.c + +$(OBJ_D)\x509_vfy.obj: $(SRC_D)\crypto\x509\x509_vfy.c + $(CC) -o$(OBJ_D)\x509_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vfy.c + +$(OBJ_D)\x509_set.obj: $(SRC_D)\crypto\x509\x509_set.c + $(CC) -o$(OBJ_D)\x509_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_set.c + +$(OBJ_D)\x509cset.obj: $(SRC_D)\crypto\x509\x509cset.c + $(CC) -o$(OBJ_D)\x509cset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509cset.c + +$(OBJ_D)\x509rset.obj: $(SRC_D)\crypto\x509\x509rset.c + $(CC) -o$(OBJ_D)\x509rset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509rset.c + +$(OBJ_D)\x509_err.obj: $(SRC_D)\crypto\x509\x509_err.c + $(CC) -o$(OBJ_D)\x509_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_err.c + +$(OBJ_D)\x509name.obj: $(SRC_D)\crypto\x509\x509name.c + $(CC) -o$(OBJ_D)\x509name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509name.c + +$(OBJ_D)\x509_v3.obj: $(SRC_D)\crypto\x509\x509_v3.c + $(CC) -o$(OBJ_D)\x509_v3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_v3.c + +$(OBJ_D)\x509_ext.obj: $(SRC_D)\crypto\x509\x509_ext.c + $(CC) -o$(OBJ_D)\x509_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_ext.c + +$(OBJ_D)\x509_att.obj: $(SRC_D)\crypto\x509\x509_att.c + $(CC) -o$(OBJ_D)\x509_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_att.c + +$(OBJ_D)\x509type.obj: $(SRC_D)\crypto\x509\x509type.c + $(CC) -o$(OBJ_D)\x509type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509type.c + +$(OBJ_D)\x509_lu.obj: $(SRC_D)\crypto\x509\x509_lu.c + $(CC) -o$(OBJ_D)\x509_lu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_lu.c + +$(OBJ_D)\x_all.obj: $(SRC_D)\crypto\x509\x_all.c + $(CC) -o$(OBJ_D)\x_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x_all.c + +$(OBJ_D)\x509_txt.obj: $(SRC_D)\crypto\x509\x509_txt.c + $(CC) -o$(OBJ_D)\x509_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_txt.c + +$(OBJ_D)\x509_trs.obj: $(SRC_D)\crypto\x509\x509_trs.c + $(CC) -o$(OBJ_D)\x509_trs.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_trs.c + +$(OBJ_D)\by_file.obj: $(SRC_D)\crypto\x509\by_file.c + $(CC) -o$(OBJ_D)\by_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_file.c + +$(OBJ_D)\by_dir.obj: $(SRC_D)\crypto\x509\by_dir.c + $(CC) -o$(OBJ_D)\by_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_dir.c + +$(OBJ_D)\x509_vpm.obj: $(SRC_D)\crypto\x509\x509_vpm.c + $(CC) -o$(OBJ_D)\x509_vpm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vpm.c + +$(OBJ_D)\v3_bcons.obj: $(SRC_D)\crypto\x509v3\v3_bcons.c + $(CC) -o$(OBJ_D)\v3_bcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bcons.c + +$(OBJ_D)\v3_bitst.obj: $(SRC_D)\crypto\x509v3\v3_bitst.c + $(CC) -o$(OBJ_D)\v3_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bitst.c + +$(OBJ_D)\v3_conf.obj: $(SRC_D)\crypto\x509v3\v3_conf.c + $(CC) -o$(OBJ_D)\v3_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_conf.c + +$(OBJ_D)\v3_extku.obj: $(SRC_D)\crypto\x509v3\v3_extku.c + $(CC) -o$(OBJ_D)\v3_extku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_extku.c + +$(OBJ_D)\v3_ia5.obj: $(SRC_D)\crypto\x509v3\v3_ia5.c + $(CC) -o$(OBJ_D)\v3_ia5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ia5.c + +$(OBJ_D)\v3_lib.obj: $(SRC_D)\crypto\x509v3\v3_lib.c + $(CC) -o$(OBJ_D)\v3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_lib.c + +$(OBJ_D)\v3_prn.obj: $(SRC_D)\crypto\x509v3\v3_prn.c + $(CC) -o$(OBJ_D)\v3_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_prn.c + +$(OBJ_D)\v3_utl.obj: $(SRC_D)\crypto\x509v3\v3_utl.c + $(CC) -o$(OBJ_D)\v3_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_utl.c + +$(OBJ_D)\v3err.obj: $(SRC_D)\crypto\x509v3\v3err.c + $(CC) -o$(OBJ_D)\v3err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3err.c + +$(OBJ_D)\v3_genn.obj: $(SRC_D)\crypto\x509v3\v3_genn.c + $(CC) -o$(OBJ_D)\v3_genn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_genn.c + +$(OBJ_D)\v3_alt.obj: $(SRC_D)\crypto\x509v3\v3_alt.c + $(CC) -o$(OBJ_D)\v3_alt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_alt.c + +$(OBJ_D)\v3_skey.obj: $(SRC_D)\crypto\x509v3\v3_skey.c + $(CC) -o$(OBJ_D)\v3_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_skey.c + +$(OBJ_D)\v3_akey.obj: $(SRC_D)\crypto\x509v3\v3_akey.c + $(CC) -o$(OBJ_D)\v3_akey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akey.c + +$(OBJ_D)\v3_pku.obj: $(SRC_D)\crypto\x509v3\v3_pku.c + $(CC) -o$(OBJ_D)\v3_pku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pku.c + +$(OBJ_D)\v3_int.obj: $(SRC_D)\crypto\x509v3\v3_int.c + $(CC) -o$(OBJ_D)\v3_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_int.c + +$(OBJ_D)\v3_enum.obj: $(SRC_D)\crypto\x509v3\v3_enum.c + $(CC) -o$(OBJ_D)\v3_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_enum.c + +$(OBJ_D)\v3_sxnet.obj: $(SRC_D)\crypto\x509v3\v3_sxnet.c + $(CC) -o$(OBJ_D)\v3_sxnet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_sxnet.c + +$(OBJ_D)\v3_cpols.obj: $(SRC_D)\crypto\x509v3\v3_cpols.c + $(CC) -o$(OBJ_D)\v3_cpols.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_cpols.c + +$(OBJ_D)\v3_crld.obj: $(SRC_D)\crypto\x509v3\v3_crld.c + $(CC) -o$(OBJ_D)\v3_crld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_crld.c + +$(OBJ_D)\v3_purp.obj: $(SRC_D)\crypto\x509v3\v3_purp.c + $(CC) -o$(OBJ_D)\v3_purp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_purp.c + +$(OBJ_D)\v3_info.obj: $(SRC_D)\crypto\x509v3\v3_info.c + $(CC) -o$(OBJ_D)\v3_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_info.c + +$(OBJ_D)\v3_ocsp.obj: $(SRC_D)\crypto\x509v3\v3_ocsp.c + $(CC) -o$(OBJ_D)\v3_ocsp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ocsp.c + +$(OBJ_D)\v3_akeya.obj: $(SRC_D)\crypto\x509v3\v3_akeya.c + $(CC) -o$(OBJ_D)\v3_akeya.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akeya.c + +$(OBJ_D)\v3_pmaps.obj: $(SRC_D)\crypto\x509v3\v3_pmaps.c + $(CC) -o$(OBJ_D)\v3_pmaps.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pmaps.c + +$(OBJ_D)\v3_pcons.obj: $(SRC_D)\crypto\x509v3\v3_pcons.c + $(CC) -o$(OBJ_D)\v3_pcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcons.c + +$(OBJ_D)\v3_ncons.obj: $(SRC_D)\crypto\x509v3\v3_ncons.c + $(CC) -o$(OBJ_D)\v3_ncons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ncons.c + +$(OBJ_D)\v3_pcia.obj: $(SRC_D)\crypto\x509v3\v3_pcia.c + $(CC) -o$(OBJ_D)\v3_pcia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcia.c + +$(OBJ_D)\v3_pci.obj: $(SRC_D)\crypto\x509v3\v3_pci.c + $(CC) -o$(OBJ_D)\v3_pci.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pci.c + +$(OBJ_D)\pcy_cache.obj: $(SRC_D)\crypto\x509v3\pcy_cache.c + $(CC) -o$(OBJ_D)\pcy_cache.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_cache.c + +$(OBJ_D)\pcy_node.obj: $(SRC_D)\crypto\x509v3\pcy_node.c + $(CC) -o$(OBJ_D)\pcy_node.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_node.c + +$(OBJ_D)\pcy_data.obj: $(SRC_D)\crypto\x509v3\pcy_data.c + $(CC) -o$(OBJ_D)\pcy_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_data.c + +$(OBJ_D)\pcy_map.obj: $(SRC_D)\crypto\x509v3\pcy_map.c + $(CC) -o$(OBJ_D)\pcy_map.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_map.c + +$(OBJ_D)\pcy_tree.obj: $(SRC_D)\crypto\x509v3\pcy_tree.c + $(CC) -o$(OBJ_D)\pcy_tree.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_tree.c + +$(OBJ_D)\pcy_lib.obj: $(SRC_D)\crypto\x509v3\pcy_lib.c + $(CC) -o$(OBJ_D)\pcy_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_lib.c + +$(OBJ_D)\v3_asid.obj: $(SRC_D)\crypto\x509v3\v3_asid.c + $(CC) -o$(OBJ_D)\v3_asid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_asid.c + +$(OBJ_D)\v3_addr.obj: $(SRC_D)\crypto\x509v3\v3_addr.c + $(CC) -o$(OBJ_D)\v3_addr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_addr.c + +$(OBJ_D)\v3_scts.obj: $(SRC_D)\crypto\x509v3\v3_scts.c + $(CC) -o$(OBJ_D)\v3_scts.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_scts.c + +$(OBJ_D)\cms_lib.obj: $(SRC_D)\crypto\cms\cms_lib.c + $(CC) -o$(OBJ_D)\cms_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_lib.c + +$(OBJ_D)\cms_asn1.obj: $(SRC_D)\crypto\cms\cms_asn1.c + $(CC) -o$(OBJ_D)\cms_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_asn1.c + +$(OBJ_D)\cms_att.obj: $(SRC_D)\crypto\cms\cms_att.c + $(CC) -o$(OBJ_D)\cms_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_att.c + +$(OBJ_D)\cms_io.obj: $(SRC_D)\crypto\cms\cms_io.c + $(CC) -o$(OBJ_D)\cms_io.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_io.c + +$(OBJ_D)\cms_smime.obj: $(SRC_D)\crypto\cms\cms_smime.c + $(CC) -o$(OBJ_D)\cms_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_smime.c + +$(OBJ_D)\cms_err.obj: $(SRC_D)\crypto\cms\cms_err.c + $(CC) -o$(OBJ_D)\cms_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_err.c + +$(OBJ_D)\cms_sd.obj: $(SRC_D)\crypto\cms\cms_sd.c + $(CC) -o$(OBJ_D)\cms_sd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_sd.c + +$(OBJ_D)\cms_dd.obj: $(SRC_D)\crypto\cms\cms_dd.c + $(CC) -o$(OBJ_D)\cms_dd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_dd.c + +$(OBJ_D)\cms_cd.obj: $(SRC_D)\crypto\cms\cms_cd.c + $(CC) -o$(OBJ_D)\cms_cd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_cd.c + +$(OBJ_D)\cms_env.obj: $(SRC_D)\crypto\cms\cms_env.c + $(CC) -o$(OBJ_D)\cms_env.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_env.c + +$(OBJ_D)\cms_enc.obj: $(SRC_D)\crypto\cms\cms_enc.c + $(CC) -o$(OBJ_D)\cms_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_enc.c + +$(OBJ_D)\cms_ess.obj: $(SRC_D)\crypto\cms\cms_ess.c + $(CC) -o$(OBJ_D)\cms_ess.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_ess.c + +$(OBJ_D)\cms_pwri.obj: $(SRC_D)\crypto\cms\cms_pwri.c + $(CC) -o$(OBJ_D)\cms_pwri.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_pwri.c + +$(OBJ_D)\cms_kari.obj: $(SRC_D)\crypto\cms\cms_kari.c + $(CC) -o$(OBJ_D)\cms_kari.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_kari.c + +$(OBJ_D)\conf_err.obj: $(SRC_D)\crypto\conf\conf_err.c + $(CC) -o$(OBJ_D)\conf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_err.c + +$(OBJ_D)\conf_lib.obj: $(SRC_D)\crypto\conf\conf_lib.c + $(CC) -o$(OBJ_D)\conf_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_lib.c + +$(OBJ_D)\conf_api.obj: $(SRC_D)\crypto\conf\conf_api.c + $(CC) -o$(OBJ_D)\conf_api.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_api.c + +$(OBJ_D)\conf_def.obj: $(SRC_D)\crypto\conf\conf_def.c + $(CC) -o$(OBJ_D)\conf_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_def.c + +$(OBJ_D)\conf_mod.obj: $(SRC_D)\crypto\conf\conf_mod.c + $(CC) -o$(OBJ_D)\conf_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mod.c + +$(OBJ_D)\conf_mall.obj: $(SRC_D)\crypto\conf\conf_mall.c + $(CC) -o$(OBJ_D)\conf_mall.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mall.c + +$(OBJ_D)\conf_sap.obj: $(SRC_D)\crypto\conf\conf_sap.c + $(CC) -o$(OBJ_D)\conf_sap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_sap.c + +$(OBJ_D)\txt_db.obj: $(SRC_D)\crypto\txt_db\txt_db.c + $(CC) -o$(OBJ_D)\txt_db.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\txt_db\txt_db.c + +$(OBJ_D)\pk7_asn1.obj: $(SRC_D)\crypto\pkcs7\pk7_asn1.c + $(CC) -o$(OBJ_D)\pk7_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_asn1.c + +$(OBJ_D)\pk7_lib.obj: $(SRC_D)\crypto\pkcs7\pk7_lib.c + $(CC) -o$(OBJ_D)\pk7_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_lib.c + +$(OBJ_D)\pkcs7err.obj: $(SRC_D)\crypto\pkcs7\pkcs7err.c + $(CC) -o$(OBJ_D)\pkcs7err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pkcs7err.c + +$(OBJ_D)\pk7_doit.obj: $(SRC_D)\crypto\pkcs7\pk7_doit.c + $(CC) -o$(OBJ_D)\pk7_doit.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_doit.c + +$(OBJ_D)\pk7_smime.obj: $(SRC_D)\crypto\pkcs7\pk7_smime.c + $(CC) -o$(OBJ_D)\pk7_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_smime.c + +$(OBJ_D)\pk7_attr.obj: $(SRC_D)\crypto\pkcs7\pk7_attr.c + $(CC) -o$(OBJ_D)\pk7_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_attr.c + +$(OBJ_D)\pk7_mime.obj: $(SRC_D)\crypto\pkcs7\pk7_mime.c + $(CC) -o$(OBJ_D)\pk7_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_mime.c + +$(OBJ_D)\bio_pk7.obj: $(SRC_D)\crypto\pkcs7\bio_pk7.c + $(CC) -o$(OBJ_D)\bio_pk7.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\bio_pk7.c + +$(OBJ_D)\p12_add.obj: $(SRC_D)\crypto\pkcs12\p12_add.c + $(CC) -o$(OBJ_D)\p12_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_add.c + +$(OBJ_D)\p12_asn.obj: $(SRC_D)\crypto\pkcs12\p12_asn.c + $(CC) -o$(OBJ_D)\p12_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_asn.c + +$(OBJ_D)\p12_attr.obj: $(SRC_D)\crypto\pkcs12\p12_attr.c + $(CC) -o$(OBJ_D)\p12_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_attr.c + +$(OBJ_D)\p12_crpt.obj: $(SRC_D)\crypto\pkcs12\p12_crpt.c + $(CC) -o$(OBJ_D)\p12_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crpt.c + +$(OBJ_D)\p12_crt.obj: $(SRC_D)\crypto\pkcs12\p12_crt.c + $(CC) -o$(OBJ_D)\p12_crt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crt.c + +$(OBJ_D)\p12_decr.obj: $(SRC_D)\crypto\pkcs12\p12_decr.c + $(CC) -o$(OBJ_D)\p12_decr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_decr.c + +$(OBJ_D)\p12_init.obj: $(SRC_D)\crypto\pkcs12\p12_init.c + $(CC) -o$(OBJ_D)\p12_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_init.c + +$(OBJ_D)\p12_key.obj: $(SRC_D)\crypto\pkcs12\p12_key.c + $(CC) -o$(OBJ_D)\p12_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_key.c + +$(OBJ_D)\p12_kiss.obj: $(SRC_D)\crypto\pkcs12\p12_kiss.c + $(CC) -o$(OBJ_D)\p12_kiss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_kiss.c + +$(OBJ_D)\p12_mutl.obj: $(SRC_D)\crypto\pkcs12\p12_mutl.c + $(CC) -o$(OBJ_D)\p12_mutl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_mutl.c + +$(OBJ_D)\p12_utl.obj: $(SRC_D)\crypto\pkcs12\p12_utl.c + $(CC) -o$(OBJ_D)\p12_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_utl.c + +$(OBJ_D)\p12_npas.obj: $(SRC_D)\crypto\pkcs12\p12_npas.c + $(CC) -o$(OBJ_D)\p12_npas.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_npas.c + +$(OBJ_D)\pk12err.obj: $(SRC_D)\crypto\pkcs12\pk12err.c + $(CC) -o$(OBJ_D)\pk12err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\pk12err.c + +$(OBJ_D)\p12_p8d.obj: $(SRC_D)\crypto\pkcs12\p12_p8d.c + $(CC) -o$(OBJ_D)\p12_p8d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8d.c + +$(OBJ_D)\p12_p8e.obj: $(SRC_D)\crypto\pkcs12\p12_p8e.c + $(CC) -o$(OBJ_D)\p12_p8e.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8e.c + +$(OBJ_D)\comp_lib.obj: $(SRC_D)\crypto\comp\comp_lib.c + $(CC) -o$(OBJ_D)\comp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_lib.c + +$(OBJ_D)\comp_err.obj: $(SRC_D)\crypto\comp\comp_err.c + $(CC) -o$(OBJ_D)\comp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_err.c + +$(OBJ_D)\c_rle.obj: $(SRC_D)\crypto\comp\c_rle.c + $(CC) -o$(OBJ_D)\c_rle.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_rle.c + +$(OBJ_D)\c_zlib.obj: $(SRC_D)\crypto\comp\c_zlib.c + $(CC) -o$(OBJ_D)\c_zlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_zlib.c + +$(OBJ_D)\eng_err.obj: $(SRC_D)\crypto\engine\eng_err.c + $(CC) -o$(OBJ_D)\eng_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_err.c + +$(OBJ_D)\eng_lib.obj: $(SRC_D)\crypto\engine\eng_lib.c + $(CC) -o$(OBJ_D)\eng_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_lib.c + +$(OBJ_D)\eng_list.obj: $(SRC_D)\crypto\engine\eng_list.c + $(CC) -o$(OBJ_D)\eng_list.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_list.c + +$(OBJ_D)\eng_init.obj: $(SRC_D)\crypto\engine\eng_init.c + $(CC) -o$(OBJ_D)\eng_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_init.c + +$(OBJ_D)\eng_ctrl.obj: $(SRC_D)\crypto\engine\eng_ctrl.c + $(CC) -o$(OBJ_D)\eng_ctrl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_ctrl.c + +$(OBJ_D)\eng_table.obj: $(SRC_D)\crypto\engine\eng_table.c + $(CC) -o$(OBJ_D)\eng_table.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_table.c + +$(OBJ_D)\eng_pkey.obj: $(SRC_D)\crypto\engine\eng_pkey.c + $(CC) -o$(OBJ_D)\eng_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_pkey.c + +$(OBJ_D)\eng_fat.obj: $(SRC_D)\crypto\engine\eng_fat.c + $(CC) -o$(OBJ_D)\eng_fat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_fat.c + +$(OBJ_D)\eng_all.obj: $(SRC_D)\crypto\engine\eng_all.c + $(CC) -o$(OBJ_D)\eng_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_all.c + +$(OBJ_D)\tb_rsa.obj: $(SRC_D)\crypto\engine\tb_rsa.c + $(CC) -o$(OBJ_D)\tb_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rsa.c + +$(OBJ_D)\tb_dsa.obj: $(SRC_D)\crypto\engine\tb_dsa.c + $(CC) -o$(OBJ_D)\tb_dsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dsa.c + +$(OBJ_D)\tb_ecdsa.obj: $(SRC_D)\crypto\engine\tb_ecdsa.c + $(CC) -o$(OBJ_D)\tb_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdsa.c + +$(OBJ_D)\tb_dh.obj: $(SRC_D)\crypto\engine\tb_dh.c + $(CC) -o$(OBJ_D)\tb_dh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dh.c + +$(OBJ_D)\tb_ecdh.obj: $(SRC_D)\crypto\engine\tb_ecdh.c + $(CC) -o$(OBJ_D)\tb_ecdh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdh.c + +$(OBJ_D)\tb_rand.obj: $(SRC_D)\crypto\engine\tb_rand.c + $(CC) -o$(OBJ_D)\tb_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rand.c + +$(OBJ_D)\tb_store.obj: $(SRC_D)\crypto\engine\tb_store.c + $(CC) -o$(OBJ_D)\tb_store.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_store.c + +$(OBJ_D)\tb_cipher.obj: $(SRC_D)\crypto\engine\tb_cipher.c + $(CC) -o$(OBJ_D)\tb_cipher.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_cipher.c + +$(OBJ_D)\tb_digest.obj: $(SRC_D)\crypto\engine\tb_digest.c + $(CC) -o$(OBJ_D)\tb_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_digest.c + +$(OBJ_D)\tb_pkmeth.obj: $(SRC_D)\crypto\engine\tb_pkmeth.c + $(CC) -o$(OBJ_D)\tb_pkmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_pkmeth.c + +$(OBJ_D)\tb_asnmth.obj: $(SRC_D)\crypto\engine\tb_asnmth.c + $(CC) -o$(OBJ_D)\tb_asnmth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_asnmth.c + +$(OBJ_D)\eng_openssl.obj: $(SRC_D)\crypto\engine\eng_openssl.c + $(CC) -o$(OBJ_D)\eng_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_openssl.c + +$(OBJ_D)\eng_cnf.obj: $(SRC_D)\crypto\engine\eng_cnf.c + $(CC) -o$(OBJ_D)\eng_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cnf.c + +$(OBJ_D)\eng_dyn.obj: $(SRC_D)\crypto\engine\eng_dyn.c + $(CC) -o$(OBJ_D)\eng_dyn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_dyn.c + +$(OBJ_D)\eng_cryptodev.obj: $(SRC_D)\crypto\engine\eng_cryptodev.c + $(CC) -o$(OBJ_D)\eng_cryptodev.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cryptodev.c + +$(OBJ_D)\eng_rdrand.obj: $(SRC_D)\crypto\engine\eng_rdrand.c + $(CC) -o$(OBJ_D)\eng_rdrand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_rdrand.c + +$(OBJ_D)\ocsp_asn.obj: $(SRC_D)\crypto\ocsp\ocsp_asn.c + $(CC) -o$(OBJ_D)\ocsp_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_asn.c + +$(OBJ_D)\ocsp_ext.obj: $(SRC_D)\crypto\ocsp\ocsp_ext.c + $(CC) -o$(OBJ_D)\ocsp_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ext.c + +$(OBJ_D)\ocsp_ht.obj: $(SRC_D)\crypto\ocsp\ocsp_ht.c + $(CC) -o$(OBJ_D)\ocsp_ht.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ht.c + +$(OBJ_D)\ocsp_lib.obj: $(SRC_D)\crypto\ocsp\ocsp_lib.c + $(CC) -o$(OBJ_D)\ocsp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_lib.c + +$(OBJ_D)\ocsp_cl.obj: $(SRC_D)\crypto\ocsp\ocsp_cl.c + $(CC) -o$(OBJ_D)\ocsp_cl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_cl.c + +$(OBJ_D)\ocsp_srv.obj: $(SRC_D)\crypto\ocsp\ocsp_srv.c + $(CC) -o$(OBJ_D)\ocsp_srv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_srv.c + +$(OBJ_D)\ocsp_prn.obj: $(SRC_D)\crypto\ocsp\ocsp_prn.c + $(CC) -o$(OBJ_D)\ocsp_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_prn.c + +$(OBJ_D)\ocsp_vfy.obj: $(SRC_D)\crypto\ocsp\ocsp_vfy.c + $(CC) -o$(OBJ_D)\ocsp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_vfy.c + +$(OBJ_D)\ocsp_err.obj: $(SRC_D)\crypto\ocsp\ocsp_err.c + $(CC) -o$(OBJ_D)\ocsp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_err.c + +$(OBJ_D)\ui_err.obj: $(SRC_D)\crypto\ui\ui_err.c + $(CC) -o$(OBJ_D)\ui_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_err.c + +$(OBJ_D)\ui_lib.obj: $(SRC_D)\crypto\ui\ui_lib.c + $(CC) -o$(OBJ_D)\ui_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_lib.c + +$(OBJ_D)\ui_openssl.obj: $(SRC_D)\crypto\ui\ui_openssl.c + $(CC) -o$(OBJ_D)\ui_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_openssl.c + +$(OBJ_D)\ui_util.obj: $(SRC_D)\crypto\ui\ui_util.c + $(CC) -o$(OBJ_D)\ui_util.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_util.c + +$(OBJ_D)\ui_compat.obj: $(SRC_D)\crypto\ui\ui_compat.c + $(CC) -o$(OBJ_D)\ui_compat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_compat.c + +$(OBJ_D)\krb5_asn.obj: $(SRC_D)\crypto\krb5\krb5_asn.c + $(CC) -o$(OBJ_D)\krb5_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\krb5\krb5_asn.c + +$(OBJ_D)\pqueue.obj: $(SRC_D)\crypto\pqueue\pqueue.c + $(CC) -o$(OBJ_D)\pqueue.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pqueue\pqueue.c + +$(OBJ_D)\wp_dgst.obj: $(SRC_D)\crypto\whrlpool\wp_dgst.c + $(CC) -o$(OBJ_D)\wp_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_dgst.c + +$(OBJ_D)\wp_block.obj: $(SRC_D)\crypto\whrlpool\wp_block.c + $(CC) -o$(OBJ_D)\wp_block.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_block.c + +$(TMP_D)\wp-mmx.asm: crypto\whrlpool\asm\wp-mmx.pl + $(PERL) crypto\whrlpool\asm\wp-mmx.pl $(CFLAG) >$@ + +$(OBJ_D)\wp-mmx.obj: $(TMP_D)\wp-mmx.asm + $(ASM) -o$@ $(TMP_D)\wp-mmx.asm + +$(OBJ_D)\ts_err.obj: $(SRC_D)\crypto\ts\ts_err.c + $(CC) -o$(OBJ_D)\ts_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_err.c + +$(OBJ_D)\ts_req_utils.obj: $(SRC_D)\crypto\ts\ts_req_utils.c + $(CC) -o$(OBJ_D)\ts_req_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_utils.c + +$(OBJ_D)\ts_req_print.obj: $(SRC_D)\crypto\ts\ts_req_print.c + $(CC) -o$(OBJ_D)\ts_req_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_print.c + +$(OBJ_D)\ts_rsp_utils.obj: $(SRC_D)\crypto\ts\ts_rsp_utils.c + $(CC) -o$(OBJ_D)\ts_rsp_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_utils.c + +$(OBJ_D)\ts_rsp_print.obj: $(SRC_D)\crypto\ts\ts_rsp_print.c + $(CC) -o$(OBJ_D)\ts_rsp_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_print.c + +$(OBJ_D)\ts_rsp_sign.obj: $(SRC_D)\crypto\ts\ts_rsp_sign.c + $(CC) -o$(OBJ_D)\ts_rsp_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_sign.c + +$(OBJ_D)\ts_rsp_verify.obj: $(SRC_D)\crypto\ts\ts_rsp_verify.c + $(CC) -o$(OBJ_D)\ts_rsp_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_verify.c + +$(OBJ_D)\ts_verify_ctx.obj: $(SRC_D)\crypto\ts\ts_verify_ctx.c + $(CC) -o$(OBJ_D)\ts_verify_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_verify_ctx.c + +$(OBJ_D)\ts_lib.obj: $(SRC_D)\crypto\ts\ts_lib.c + $(CC) -o$(OBJ_D)\ts_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_lib.c + +$(OBJ_D)\ts_conf.obj: $(SRC_D)\crypto\ts\ts_conf.c + $(CC) -o$(OBJ_D)\ts_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_conf.c + +$(OBJ_D)\ts_asn1.obj: $(SRC_D)\crypto\ts\ts_asn1.c + $(CC) -o$(OBJ_D)\ts_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_asn1.c + +$(OBJ_D)\srp_lib.obj: $(SRC_D)\crypto\srp\srp_lib.c + $(CC) -o$(OBJ_D)\srp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_lib.c + +$(OBJ_D)\srp_vfy.obj: $(SRC_D)\crypto\srp\srp_vfy.c + $(CC) -o$(OBJ_D)\srp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_vfy.c + +$(OBJ_D)\e_4758cca.obj: $(SRC_D)\engines\e_4758cca.c + $(CC) -o$(OBJ_D)\e_4758cca.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_4758cca.c + +$(OBJ_D)\e_aep.obj: $(SRC_D)\engines\e_aep.c + $(CC) -o$(OBJ_D)\e_aep.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_aep.c + +$(OBJ_D)\e_atalla.obj: $(SRC_D)\engines\e_atalla.c + $(CC) -o$(OBJ_D)\e_atalla.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_atalla.c + +$(OBJ_D)\e_cswift.obj: $(SRC_D)\engines\e_cswift.c + $(CC) -o$(OBJ_D)\e_cswift.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_cswift.c + +$(OBJ_D)\e_gmp.obj: $(SRC_D)\engines\e_gmp.c + $(CC) -o$(OBJ_D)\e_gmp.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_gmp.c + +$(OBJ_D)\e_chil.obj: $(SRC_D)\engines\e_chil.c + $(CC) -o$(OBJ_D)\e_chil.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_chil.c + +$(OBJ_D)\e_nuron.obj: $(SRC_D)\engines\e_nuron.c + $(CC) -o$(OBJ_D)\e_nuron.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_nuron.c + +$(OBJ_D)\e_sureware.obj: $(SRC_D)\engines\e_sureware.c + $(CC) -o$(OBJ_D)\e_sureware.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_sureware.c + +$(OBJ_D)\e_ubsec.obj: $(SRC_D)\engines\e_ubsec.c + $(CC) -o$(OBJ_D)\e_ubsec.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_ubsec.c + +$(OBJ_D)\e_padlock.obj: $(SRC_D)\engines\e_padlock.c + $(CC) -o$(OBJ_D)\e_padlock.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_padlock.c + +$(OBJ_D)\e_capi.obj: $(SRC_D)\engines\e_capi.c + $(CC) -o$(OBJ_D)\e_capi.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_capi.c + +$(OBJ_D)\e_gost_err.obj: $(SRC_D)\engines\ccgost\e_gost_err.c + $(CC) -o$(OBJ_D)\e_gost_err.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\e_gost_err.c + +$(OBJ_D)\gost2001_keyx.obj: $(SRC_D)\engines\ccgost\gost2001_keyx.c + $(CC) -o$(OBJ_D)\gost2001_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001_keyx.c + +$(OBJ_D)\gost2001.obj: $(SRC_D)\engines\ccgost\gost2001.c + $(CC) -o$(OBJ_D)\gost2001.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001.c + +$(OBJ_D)\gost89.obj: $(SRC_D)\engines\ccgost\gost89.c + $(CC) -o$(OBJ_D)\gost89.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost89.c + +$(OBJ_D)\gost94_keyx.obj: $(SRC_D)\engines\ccgost\gost94_keyx.c + $(CC) -o$(OBJ_D)\gost94_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost94_keyx.c + +$(OBJ_D)\gost_ameth.obj: $(SRC_D)\engines\ccgost\gost_ameth.c + $(CC) -o$(OBJ_D)\gost_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ameth.c + +$(OBJ_D)\gost_asn1.obj: $(SRC_D)\engines\ccgost\gost_asn1.c + $(CC) -o$(OBJ_D)\gost_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_asn1.c + +$(OBJ_D)\gost_crypt.obj: $(SRC_D)\engines\ccgost\gost_crypt.c + $(CC) -o$(OBJ_D)\gost_crypt.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_crypt.c + +$(OBJ_D)\gost_ctl.obj: $(SRC_D)\engines\ccgost\gost_ctl.c + $(CC) -o$(OBJ_D)\gost_ctl.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ctl.c + +$(OBJ_D)\gost_eng.obj: $(SRC_D)\engines\ccgost\gost_eng.c + $(CC) -o$(OBJ_D)\gost_eng.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_eng.c + +$(OBJ_D)\gosthash.obj: $(SRC_D)\engines\ccgost\gosthash.c + $(CC) -o$(OBJ_D)\gosthash.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gosthash.c + +$(OBJ_D)\gost_keywrap.obj: $(SRC_D)\engines\ccgost\gost_keywrap.c + $(CC) -o$(OBJ_D)\gost_keywrap.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_keywrap.c + +$(OBJ_D)\gost_md.obj: $(SRC_D)\engines\ccgost\gost_md.c + $(CC) -o$(OBJ_D)\gost_md.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_md.c + +$(OBJ_D)\gost_params.obj: $(SRC_D)\engines\ccgost\gost_params.c + $(CC) -o$(OBJ_D)\gost_params.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_params.c + +$(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c + $(CC) -o$(OBJ_D)\gost_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_pmeth.c + +$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c + $(CC) -o$(OBJ_D)\gost_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c + +$(TEST_D)\constant_time_test.exe: $(OBJ_D)\constant_time_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\constant_time_test.obj $(APP_EX_OBJ), $(TEST_D)\constant_time_test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\md4test.exe: $(OBJ_D)\md4test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\md4test.obj $(APP_EX_OBJ), $(TEST_D)\md4test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\md5test.exe: $(OBJ_D)\md5test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\md5test.obj $(APP_EX_OBJ), $(TEST_D)\md5test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\shatest.exe: $(OBJ_D)\shatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\shatest.obj $(APP_EX_OBJ), $(TEST_D)\shatest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\sha1test.exe: $(OBJ_D)\sha1test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\sha1test.obj $(APP_EX_OBJ), $(TEST_D)\sha1test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\sha256t.exe: $(OBJ_D)\sha256t.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\sha256t.obj $(APP_EX_OBJ), $(TEST_D)\sha256t.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\sha512t.exe: $(OBJ_D)\sha512t.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\sha512t.obj $(APP_EX_OBJ), $(TEST_D)\sha512t.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\hmactest.exe: $(OBJ_D)\hmactest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\hmactest.obj $(APP_EX_OBJ), $(TEST_D)\hmactest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\rmdtest.exe: $(OBJ_D)\rmdtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\rmdtest.obj $(APP_EX_OBJ), $(TEST_D)\rmdtest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\destest.exe: $(OBJ_D)\destest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\destest.obj $(APP_EX_OBJ), $(TEST_D)\destest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\rc2test.exe: $(OBJ_D)\rc2test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\rc2test.obj $(APP_EX_OBJ), $(TEST_D)\rc2test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\rc4test.exe: $(OBJ_D)\rc4test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\rc4test.obj $(APP_EX_OBJ), $(TEST_D)\rc4test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\bftest.exe: $(OBJ_D)\bftest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\bftest.obj $(APP_EX_OBJ), $(TEST_D)\bftest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\casttest.exe: $(OBJ_D)\casttest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\casttest.obj $(APP_EX_OBJ), $(TEST_D)\casttest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\bntest.exe: $(OBJ_D)\bntest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\bntest.obj $(APP_EX_OBJ), $(TEST_D)\bntest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\exptest.exe: $(OBJ_D)\exptest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\exptest.obj $(APP_EX_OBJ), $(TEST_D)\exptest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\rsa_test.exe: $(OBJ_D)\rsa_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\rsa_test.obj $(APP_EX_OBJ), $(TEST_D)\rsa_test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\dsatest.exe: $(OBJ_D)\dsatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\dsatest.obj $(APP_EX_OBJ), $(TEST_D)\dsatest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\dhtest.exe: $(OBJ_D)\dhtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\dhtest.obj $(APP_EX_OBJ), $(TEST_D)\dhtest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\ectest.exe: $(OBJ_D)\ectest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\ectest.obj $(APP_EX_OBJ), $(TEST_D)\ectest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\ecdhtest.exe: $(OBJ_D)\ecdhtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\ecdhtest.obj $(APP_EX_OBJ), $(TEST_D)\ecdhtest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\ecdsatest.exe: $(OBJ_D)\ecdsatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\ecdsatest.obj $(APP_EX_OBJ), $(TEST_D)\ecdsatest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\randtest.exe: $(OBJ_D)\randtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\randtest.obj $(APP_EX_OBJ), $(TEST_D)\randtest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\evp_test.exe: $(OBJ_D)\evp_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\evp_test.obj $(APP_EX_OBJ), $(TEST_D)\evp_test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\evp_extra_test.exe: $(OBJ_D)\evp_extra_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\evp_extra_test.obj $(APP_EX_OBJ), $(TEST_D)\evp_extra_test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\verify_extra_test.exe: $(OBJ_D)\verify_extra_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\verify_extra_test.obj $(APP_EX_OBJ), $(TEST_D)\verify_extra_test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\v3nametest.exe: $(OBJ_D)\v3nametest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\v3nametest.obj $(APP_EX_OBJ), $(TEST_D)\v3nametest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\enginetest.exe: $(OBJ_D)\enginetest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\enginetest.obj $(APP_EX_OBJ), $(TEST_D)\enginetest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\wp_test.exe: $(OBJ_D)\wp_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\wp_test.obj $(APP_EX_OBJ), $(TEST_D)\wp_test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\srptest.exe: $(OBJ_D)\srptest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\srptest.obj $(APP_EX_OBJ), $(TEST_D)\srptest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\ssltest.exe: $(OBJ_D)\ssltest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\ssltest.obj $(APP_EX_OBJ), $(TEST_D)\ssltest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\heartbeat_test.exe: $(OBJ_D)\heartbeat_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\heartbeat_test.obj $(APP_EX_OBJ), $(TEST_D)\heartbeat_test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\clienthellotest.exe: $(OBJ_D)\clienthellotest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\clienthellotest.obj $(APP_EX_OBJ), $(TEST_D)\clienthellotest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\sslv2conftest.exe: $(OBJ_D)\sslv2conftest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\sslv2conftest.obj $(APP_EX_OBJ), $(TEST_D)\sslv2conftest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\dtlstest.exe: $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(APP_EX_OBJ), $(TEST_D)\dtlstest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\bad_dtls_test.exe: $(OBJ_D)\bad_dtls_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\bad_dtls_test.obj $(APP_EX_OBJ), $(TEST_D)\bad_dtls_test.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\fatalerrtest.exe: $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(APP_EX_OBJ), $(TEST_D)\fatalerrtest.exe,, $(L_LIBS) $(EX_LIBS) + +$(TEST_D)\igetest.exe: $(OBJ_D)\igetest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(OBJ_D)\igetest.obj $(APP_EX_OBJ), $(TEST_D)\igetest.exe,, $(L_LIBS) $(EX_LIBS) + +$(O_SSL): $(SSLOBJ) + -$(RM) $(O_SSL) + $(MKLIB) $(O_SSL) @&&! ++$(**: = &^ ++) +! + +$(O_CRYPTO): $(CRYPTOOBJ) + -$(RM) $(O_CRYPTO) + $(MKLIB) $(O_CRYPTO) @&&! ++$(**: = &^ ++) +! + +$(BIN_D)\$(E_EXE).exe: $(E_OBJ) $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) $(E_OBJ) $(APP_EX_OBJ), $(BIN_D)\$(E_EXE).exe,, $(L_LIBS) $(EX_LIBS) + diff --git a/ms/libeay32.def b/ms/libeay32.def index ccbfd760..3af30256 100644 --- a/ms/libeay32.def +++ b/ms/libeay32.def @@ -1,3687 +1,3687 @@ -; -; Definition file for the DLL version of the LIBEAY library from OpenSSL -; - -LIBRARY LIBEAY32 - -EXPORTS - SSLeay @1 - ACCESS_DESCRIPTION_free @1994 - ACCESS_DESCRIPTION_it @2751 - ACCESS_DESCRIPTION_new @1925 - AES_bi_ige_encrypt @3860 - AES_cbc_encrypt @3171 - AES_cfb128_encrypt @3217 - AES_cfb1_encrypt @3279 - AES_cfb8_encrypt @3261 - AES_ctr128_encrypt @3216 - AES_decrypt @3040 - AES_ecb_encrypt @2801 - AES_encrypt @3033 - AES_ige_encrypt @3829 - AES_ofb128_encrypt @3215 - AES_options @3074 - AES_set_decrypt_key @3106 - AES_set_encrypt_key @3024 - AES_unwrap_key @3929 - AES_wrap_key @3930 - ASN1_ANY_it @3035 - ASN1_BIT_STRING_check @4495 - ASN1_BIT_STRING_free @2080 - ASN1_BIT_STRING_get_bit @1060 - ASN1_BIT_STRING_it @2878 - ASN1_BIT_STRING_name_print @2134 - ASN1_BIT_STRING_new @1957 - ASN1_BIT_STRING_num_asc @1986 - ASN1_BIT_STRING_set @2109 - ASN1_BIT_STRING_set_asc @2017 - ASN1_BIT_STRING_set_bit @1061 - ASN1_BMPSTRING_free @2057 - ASN1_BMPSTRING_it @2787 - ASN1_BMPSTRING_new @1936 - ASN1_BOOLEAN_it @3142 - ASN1_ENUMERATED_free @2027 - ASN1_ENUMERATED_get @1206 - ASN1_ENUMERATED_it @3015 - ASN1_ENUMERATED_new @2052 - ASN1_ENUMERATED_set @1205 - ASN1_ENUMERATED_to_BN @1208 - ASN1_FBOOLEAN_it @2806 - ASN1_GENERALIZEDTIME_adj @4484 - ASN1_GENERALIZEDTIME_check @1157 - ASN1_GENERALIZEDTIME_free @1908 - ASN1_GENERALIZEDTIME_it @2595 - ASN1_GENERALIZEDTIME_new @2126 - ASN1_GENERALIZEDTIME_print @1158 - ASN1_GENERALIZEDTIME_set @1159 - ASN1_GENERALIZEDTIME_set_string @1160 - ASN1_GENERALSTRING_free @2541 - ASN1_GENERALSTRING_it @2761 - ASN1_GENERALSTRING_new @2846 - ASN1_IA5STRING_free @2065 - ASN1_IA5STRING_it @2722 - ASN1_IA5STRING_new @2049 - ASN1_INTEGER_cmp @1963 - ASN1_INTEGER_dup @2114 - ASN1_INTEGER_free @2111 - ASN1_INTEGER_get @7 - ASN1_INTEGER_it @2914 - ASN1_INTEGER_new @2131 - ASN1_INTEGER_set @8 - ASN1_INTEGER_to_BN @9 - ASN1_NULL_free @2168 - ASN1_NULL_it @3150 - ASN1_NULL_new @2170 - ASN1_OBJECT_create @10 - ASN1_OBJECT_free @11 - ASN1_OBJECT_it @3180 - ASN1_OBJECT_new @12 - ASN1_OCTET_STRING_NDEF_it @3389 - ASN1_OCTET_STRING_cmp @1955 - ASN1_OCTET_STRING_dup @2108 - ASN1_OCTET_STRING_free @2016 - ASN1_OCTET_STRING_it @3090 - ASN1_OCTET_STRING_new @2130 - ASN1_OCTET_STRING_set @2040 - ASN1_PCTX_free @4498 - ASN1_PCTX_get_cert_flags @4166 - ASN1_PCTX_get_flags @4200 - ASN1_PCTX_get_nm_flags @4242 - ASN1_PCTX_get_oid_flags @4274 - ASN1_PCTX_get_str_flags @4493 - ASN1_PCTX_new @4476 - ASN1_PCTX_set_cert_flags @4528 - ASN1_PCTX_set_flags @4363 - ASN1_PCTX_set_nm_flags @4298 - ASN1_PCTX_set_oid_flags @4451 - ASN1_PCTX_set_str_flags @4392 - ASN1_PRINTABLESTRING_free @1934 - ASN1_PRINTABLESTRING_it @2797 - ASN1_PRINTABLESTRING_new @2025 - ASN1_PRINTABLE_free @3082 - ASN1_PRINTABLE_it @2861 - ASN1_PRINTABLE_new @2571 - ASN1_PRINTABLE_type @13 - ASN1_SEQUENCE_ANY_it @4148 - ASN1_SEQUENCE_it @2943 - ASN1_SET_ANY_it @4217 - ASN1_STRING_TABLE_add @2245 - ASN1_STRING_TABLE_cleanup @2020 - ASN1_STRING_TABLE_get @2091 - ASN1_STRING_clear_free @2392 - ASN1_STRING_cmp @14 - ASN1_STRING_copy @4305 - ASN1_STRING_data @2075 - ASN1_STRING_dup @15 - ASN1_STRING_free @16 - ASN1_STRING_get_default_mask @2072 - ASN1_STRING_length @2023 - ASN1_STRING_length_set @2136 - ASN1_STRING_new @17 - ASN1_STRING_print @18 - ASN1_STRING_print_ex @2432 - ASN1_STRING_print_ex_fp @2430 - ASN1_STRING_set0 @3933 - ASN1_STRING_set @19 - ASN1_STRING_set_by_NID @1996 - ASN1_STRING_set_default_mask @2032 - ASN1_STRING_set_default_mask_asc @1960 - ASN1_STRING_to_UTF8 @2442 - ASN1_STRING_type @1951 - ASN1_STRING_type_new @20 - ASN1_T61STRING_free @1946 - ASN1_T61STRING_it @2567 - ASN1_T61STRING_new @2058 - ASN1_TBOOLEAN_it @3167 - ASN1_TIME_adj @4267 - ASN1_TIME_check @2782 - ASN1_TIME_diff @4739 - ASN1_TIME_free @1954 - ASN1_TIME_it @2715 - ASN1_TIME_new @1973 - ASN1_TIME_print @1161 - ASN1_TIME_set @1253 - ASN1_TIME_set_string @4536 - ASN1_TIME_to_generalizedtime @3169 - ASN1_TYPE_cmp @4428 - ASN1_TYPE_free @21 - ASN1_TYPE_get @916 - ASN1_TYPE_get_int_octetstring @1076 - ASN1_TYPE_get_octetstring @1077 - ASN1_TYPE_new @22 - ASN1_TYPE_set1 @3932 - ASN1_TYPE_set @917 - ASN1_TYPE_set_int_octetstring @1078 - ASN1_TYPE_set_octetstring @1079 - ASN1_UNIVERSALSTRING_free @3233 - ASN1_UNIVERSALSTRING_it @3234 - ASN1_UNIVERSALSTRING_new @3230 - ASN1_UNIVERSALSTRING_to_string @23 - ASN1_UTCTIME_adj @4251 - ASN1_UTCTIME_check @24 - ASN1_UTCTIME_cmp_time_t @2455 - ASN1_UTCTIME_free @1988 - ASN1_UTCTIME_it @3021 - ASN1_UTCTIME_new @2060 - ASN1_UTCTIME_print @25 - ASN1_UTCTIME_set @26 - ASN1_UTCTIME_set_string @1080 - ASN1_UTF8STRING_free @2092 - ASN1_UTF8STRING_it @2527 - ASN1_UTF8STRING_new @1938 - ASN1_VISIBLESTRING_free @2118 - ASN1_VISIBLESTRING_it @2865 - ASN1_VISIBLESTRING_new @1932 - ASN1_add_oid_module @3186 - ASN1_bn_print @4295 - ASN1_check_infinite_end @27 - ASN1_const_check_infinite_end @3623 - ASN1_d2i_bio @28 - ASN1_d2i_fp @29 - ASN1_digest @30 - ASN1_dup @31 - ASN1_generate_nconf @3488 - ASN1_generate_v3 @3571 - ASN1_get_object @32 - ASN1_i2d_bio @33 - ASN1_i2d_fp @34 - ASN1_item_d2i @3050 - ASN1_item_d2i_bio @3069 - ASN1_item_d2i_fp @2868 - ASN1_item_digest @2552 - ASN1_item_dup @2772 - ASN1_item_ex_d2i @2957 - ASN1_item_ex_free @3141 - ASN1_item_ex_i2d @2533 - ASN1_item_ex_new @3063 - ASN1_item_free @2623 - ASN1_item_i2d @2655 - ASN1_item_i2d_bio @2858 - ASN1_item_i2d_fp @3095 - ASN1_item_ndef_i2d @3564 - ASN1_item_new @3168 - ASN1_item_pack @3136 - ASN1_item_print @4126 - ASN1_item_sign @2741 - ASN1_item_sign_ctx @4671 - ASN1_item_unpack @2640 - ASN1_item_verify @2777 - ASN1_mbstring_copy @1937 - ASN1_mbstring_ncopy @2123 - ASN1_object_size @35 - ASN1_pack_string @1261 - ASN1_parse @36 - ASN1_parse_dump @2427 - ASN1_primitive_free @3051 - ASN1_primitive_new @2860 - ASN1_put_eoc @3523 - ASN1_put_object @37 - ASN1_seq_pack @1259 - ASN1_seq_unpack @1258 - ASN1_sign @38 - ASN1_tag2bit @2788 - ASN1_tag2str @1905 - ASN1_template_d2i @2987 - ASN1_template_free @2974 - ASN1_template_i2d @2583 - ASN1_template_new @3093 - ASN1_unpack_string @1260 - ASN1_verify @39 - AUTHORITY_INFO_ACCESS_free @2048 - AUTHORITY_INFO_ACCESS_it @2805 - AUTHORITY_INFO_ACCESS_new @2247 - AUTHORITY_KEYID_free @1257 - AUTHORITY_KEYID_it @2625 - AUTHORITY_KEYID_new @1256 - BASIC_CONSTRAINTS_free @1162 - BASIC_CONSTRAINTS_it @2922 - BASIC_CONSTRAINTS_new @1163 - BF_cbc_encrypt @40 - BF_cfb64_encrypt @41 - BF_decrypt @987 - BF_ecb_encrypt @42 - BF_encrypt @43 - BF_ofb64_encrypt @44 - BF_options @45 - BF_set_key @46 - BIGNUM_it @3170 - BIO_accept @51 - BIO_asn1_get_prefix @4133 - BIO_asn1_get_suffix @4458 - BIO_asn1_set_prefix @4173 - BIO_asn1_set_suffix @4440 - BIO_callback_ctrl @2252 - BIO_clear_flags @3846 - BIO_copy_next_retry @955 - BIO_ctrl @52 - BIO_ctrl_get_read_request @1799 - BIO_ctrl_get_write_guarantee @1803 - BIO_ctrl_pending @1800 - BIO_ctrl_reset_read_request @1906 - BIO_ctrl_wpending @1801 - BIO_debug_callback @54 - BIO_dgram_non_fatal_error @3586 - BIO_dump @55 - BIO_dump_cb @3764 - BIO_dump_fp @3370 - BIO_dump_indent @2426 - BIO_dump_indent_cb @3697 - BIO_dump_indent_fp @3511 - BIO_dup_chain @56 - BIO_f_asn1 @4384 - BIO_f_base64 @57 - BIO_f_buffer @58 - BIO_f_cipher @59 - BIO_f_md @60 - BIO_f_nbio_test @915 - BIO_f_null @61 - BIO_f_reliable @1244 - BIO_fd_non_fatal_error @63 - BIO_fd_should_retry @64 - BIO_find_type @65 - BIO_free @66 - BIO_free_all @67 - BIO_get_accept_socket @69 - BIO_get_callback @3861 - BIO_get_callback_arg @3902 - BIO_get_ex_data @1062 - BIO_get_ex_new_index @1063 - BIO_get_host_ip @71 - BIO_get_port @72 - BIO_get_retry_BIO @73 - BIO_get_retry_reason @74 - BIO_gethostbyname @75 - BIO_gets @76 - BIO_hex_string @4764 - BIO_indent @3242 - BIO_int_ctrl @53 - BIO_method_name @3898 - BIO_method_type @3826 - BIO_new @78 - BIO_new_CMS @4175 - BIO_new_NDEF @4153 - BIO_new_PKCS7 @4518 - BIO_new_accept @79 - BIO_new_bio_pair @1802 - BIO_new_connect @80 - BIO_new_dgram @3330 - BIO_new_fd @81 - BIO_new_file @82 - BIO_new_fp @83 - BIO_new_mem_buf @1882 - BIO_new_socket @84 - BIO_next @2461 - BIO_nread0 @1880 - BIO_nread @1876 - BIO_number_read @2203 - BIO_number_written @2202 - BIO_nwrite0 @1878 - BIO_nwrite @1874 - BIO_pop @85 - BIO_printf @86 - BIO_ptr_ctrl @969 - BIO_push @87 - BIO_puts @88 - BIO_read @89 - BIO_s_accept @90 - BIO_s_bio @1793 - BIO_s_connect @91 - BIO_s_datagram @3542 - BIO_s_fd @92 - BIO_s_file @93 - BIO_s_mem @95 - BIO_s_null @96 - BIO_s_socket @98 - BIO_set @100 - BIO_set_callback @3903 - BIO_set_callback_arg @3820 - BIO_set_cipher @101 - BIO_set_ex_data @1064 - BIO_set_flags @3823 - BIO_set_tcp_ndelay @102 - BIO_snprintf @2292 - BIO_sock_cleanup @103 - BIO_sock_error @104 - BIO_sock_init @105 - BIO_sock_non_fatal_error @106 - BIO_sock_should_retry @107 - BIO_socket_ioctl @108 - BIO_socket_nbio @1102 - BIO_test_flags @3866 - BIO_vfree @2334 - BIO_vprintf @2443 - BIO_vsnprintf @2444 - BIO_write @109 - BN_BLINDING_convert @973 - BN_BLINDING_convert_ex @3465 - BN_BLINDING_create_param @3705 - BN_BLINDING_free @981 - BN_BLINDING_get_flags @3725 - BN_BLINDING_get_thread_id @3340 - BN_BLINDING_invert @974 - BN_BLINDING_invert_ex @3337 - BN_BLINDING_new @980 - BN_BLINDING_set_flags @3411 - BN_BLINDING_set_thread_id @3770 - BN_BLINDING_thread_id @4239 - BN_BLINDING_update @975 - BN_CTX_end @2241 - BN_CTX_free @110 - BN_CTX_get @2243 - BN_CTX_init @1135 - BN_CTX_new @111 - BN_CTX_start @2242 - BN_GENCB_call @3474 - BN_GF2m_add @3574 - BN_GF2m_arr2poly @3552 - BN_GF2m_mod @3515 - BN_GF2m_mod_arr @3431 - BN_GF2m_mod_div @3420 - BN_GF2m_mod_div_arr @3604 - BN_GF2m_mod_exp @3598 - BN_GF2m_mod_exp_arr @3361 - BN_GF2m_mod_inv @3597 - BN_GF2m_mod_inv_arr @3768 - BN_GF2m_mod_mul @3490 - BN_GF2m_mod_mul_arr @3366 - BN_GF2m_mod_solve_quad @3653 - BN_GF2m_mod_solve_quad_arr @3417 - BN_GF2m_mod_sqr @3397 - BN_GF2m_mod_sqr_arr @3540 - BN_GF2m_mod_sqrt @3548 - BN_GF2m_mod_sqrt_arr @3451 - BN_GF2m_poly2arr @3468 - BN_MONT_CTX_copy @1109 - BN_MONT_CTX_free @112 - BN_MONT_CTX_init @1136 - BN_MONT_CTX_new @113 - BN_MONT_CTX_set @114 - BN_MONT_CTX_set_locked @3310 - BN_RECP_CTX_free @1130 - BN_RECP_CTX_init @1128 - BN_RECP_CTX_new @1129 - BN_RECP_CTX_set @1131 - BN_X931_derive_prime_ex @4085 - BN_X931_generate_Xpq @3325 - BN_X931_generate_prime_ex @4060 - BN_add @115 - BN_add_word @116 - BN_asc2bn @4191 - BN_bin2bn @118 - BN_bn2bin @120 - BN_bn2dec @1002 - BN_bn2hex @119 - BN_bn2mpi @1058 - BN_bntest_rand @2464 - BN_clear @121 - BN_clear_bit @122 - BN_clear_free @123 - BN_cmp @124 - BN_consttime_swap @3907 - BN_copy @125 - BN_dec2bn @1001 - BN_div @126 - BN_div_recp @1134 - BN_div_word @127 - BN_dup @128 - BN_exp @998 - BN_free @129 - BN_from_montgomery @130 - BN_gcd @131 - BN_generate_prime @132 - BN_generate_prime_ex @3710 - BN_get0_nist_prime_192 @3358 - BN_get0_nist_prime_224 @3471 - BN_get0_nist_prime_256 @3629 - BN_get0_nist_prime_384 @3331 - BN_get0_nist_prime_521 @3708 - BN_get_params @1249 - BN_get_word @133 - BN_hex2bn @117 - BN_init @1095 - BN_is_bit_set @134 - BN_is_prime @135 - BN_is_prime_ex @3503 - BN_is_prime_fasttest @2240 - BN_is_prime_fasttest_ex @3718 - BN_kronecker @3011 - BN_lshift1 @137 - BN_lshift @136 - BN_mask_bits @138 - BN_mod_add @2774 - BN_mod_add_quick @2923 - BN_mod_exp2_mont @1514 - BN_mod_exp @140 - BN_mod_exp_mont @141 - BN_mod_exp_mont_consttime @3318 - BN_mod_exp_mont_word @2401 - BN_mod_exp_recp @1133 - BN_mod_exp_simple @143 - BN_mod_inverse @144 - BN_mod_lshift1 @3151 - BN_mod_lshift1_quick @2958 - BN_mod_lshift @3120 - BN_mod_lshift_quick @2621 - BN_mod_mul @145 - BN_mod_mul_montgomery @146 - BN_mod_mul_reciprocal @1132 - BN_mod_sqr @2802 - BN_mod_sqrt @2961 - BN_mod_sub @2824 - BN_mod_sub_quick @2933 - BN_mod_word @148 - BN_mpi2bn @1059 - BN_mul @149 - BN_mul_word @999 - BN_new @150 - BN_nist_mod_192 @3346 - BN_nist_mod_224 @3580 - BN_nist_mod_256 @3702 - BN_nist_mod_384 @3641 - BN_nist_mod_521 @3615 - BN_nnmod @2606 - BN_num_bits @151 - BN_num_bits_word @152 - BN_options @153 - BN_print @154 - BN_print_fp @155 - BN_pseudo_rand @2239 - BN_pseudo_rand_range @2523 - BN_rand @156 - BN_rand_range @2466 - BN_reciprocal @157 - BN_rshift1 @159 - BN_rshift @158 - BN_set_bit @160 - BN_set_negative @3635 - BN_set_params @1248 - BN_set_word @161 - BN_sqr @162 - BN_sub @163 - BN_sub_word @1000 - BN_swap @2990 - BN_to_ASN1_ENUMERATED @1207 - BN_to_ASN1_INTEGER @164 - BN_uadd @708 - BN_ucmp @165 - BN_usub @709 - BN_value_one @166 - BUF_MEM_free @167 - BUF_MEM_grow @168 - BUF_MEM_grow_clean @3239 - BUF_MEM_new @169 - BUF_memdup @3489 - BUF_reverse @4284 - BUF_strdup @170 - BUF_strlcat @3241 - BUF_strlcpy @3243 - BUF_strndup @3513 - BUF_strnlen @4766 - CAST_cbc_encrypt @992 - CAST_cfb64_encrypt @993 - CAST_decrypt @990 - CAST_ecb_encrypt @991 - CAST_encrypt @989 - CAST_ofb64_encrypt @994 - CAST_set_key @988 - CBIGNUM_it @2982 - CERTIFICATEPOLICIES_free @1486 - CERTIFICATEPOLICIES_it @2728 - CERTIFICATEPOLICIES_new @1485 - CMAC_CTX_cleanup @4621 - CMAC_CTX_copy @4618 - CMAC_CTX_free @4619 - CMAC_CTX_get0_cipher_ctx @4620 - CMAC_CTX_new @4625 - CMAC_Final @4626 - CMAC_Init @4622 - CMAC_Update @4623 - CMAC_resume @4624 - CMS_ContentInfo_free @3964 - CMS_ContentInfo_it @3969 - CMS_ContentInfo_new @3987 - CMS_ContentInfo_print_ctx @4401 - CMS_EncryptedData_decrypt @3995 - CMS_EncryptedData_encrypt @4005 - CMS_EncryptedData_set1_key @3977 - CMS_EnvelopedData_create @3955 - CMS_ReceiptRequest_create0 @4041 - CMS_ReceiptRequest_free @3938 - CMS_ReceiptRequest_get0_values @4001 - CMS_ReceiptRequest_it @4013 - CMS_ReceiptRequest_new @4018 - CMS_RecipientEncryptedKey_cert_cmp @4734 - CMS_RecipientEncryptedKey_get0_id @4753 - CMS_RecipientInfo_decrypt @4037 - CMS_RecipientInfo_encrypt @4712 - CMS_RecipientInfo_get0_pkey_ctx @4752 - CMS_RecipientInfo_kari_decrypt @4724 - CMS_RecipientInfo_kari_get0_alg @4729 - CMS_RecipientInfo_kari_get0_ctx @4750 - CMS_RecipientInfo_kari_get0_orig_id @4758 - CMS_RecipientInfo_kari_get0_reks @4742 - CMS_RecipientInfo_kari_orig_id_cmp @4728 - CMS_RecipientInfo_kari_set0_pkey @4746 - CMS_RecipientInfo_kekri_get0_id @4011 - CMS_RecipientInfo_kekri_id_cmp @4022 - CMS_RecipientInfo_ktri_cert_cmp @3962 - CMS_RecipientInfo_ktri_get0_algs @3963 - CMS_RecipientInfo_ktri_get0_signer_id @4032 - CMS_RecipientInfo_set0_key @4009 - CMS_RecipientInfo_set0_password @4660 - CMS_RecipientInfo_set0_pkey @4043 - CMS_RecipientInfo_type @3988 - CMS_SharedInfo_encode @4756 - CMS_SignedData_init @4010 - CMS_SignerInfo_cert_cmp @3973 - CMS_SignerInfo_get0_algs @3951 - CMS_SignerInfo_get0_md_ctx @4744 - CMS_SignerInfo_get0_pkey_ctx @4725 - CMS_SignerInfo_get0_signature @4741 - CMS_SignerInfo_get0_signer_id @4024 - CMS_SignerInfo_set1_signer_cert @3999 - CMS_SignerInfo_sign @3974 - CMS_SignerInfo_verify @3967 - CMS_SignerInfo_verify_content @3958 - CMS_add0_CertificateChoices @3940 - CMS_add0_RevocationInfoChoice @3997 - CMS_add0_cert @4004 - CMS_add0_crl @3957 - CMS_add0_recipient_key @4016 - CMS_add0_recipient_password @4658 - CMS_add1_ReceiptRequest @4023 - CMS_add1_cert @3952 - CMS_add1_crl @4405 - CMS_add1_recipient_cert @4034 - CMS_add1_signer @4042 - CMS_add_simple_smimecap @3966 - CMS_add_smimecap @3982 - CMS_add_standard_smimecap @3986 - CMS_compress @3971 - CMS_dataFinal @4031 - CMS_dataInit @4035 - CMS_data @3968 - CMS_data_create @3975 - CMS_decrypt @3978 - CMS_decrypt_set1_key @3950 - CMS_decrypt_set1_password @4659 - CMS_decrypt_set1_pkey @3998 - CMS_digest_create @3972 - CMS_digest_verify @4006 - CMS_encrypt @3954 - CMS_final @3965 - CMS_get0_RecipientInfos @3996 - CMS_get0_SignerInfos @4003 - CMS_get0_content @4019 - CMS_get0_eContentType @4039 - CMS_get0_signers @4000 - CMS_get0_type @3989 - CMS_get1_ReceiptRequest @4020 - CMS_get1_certs @4028 - CMS_get1_crls @4015 - CMS_is_detached @3990 - CMS_set1_eContentType @4040 - CMS_set1_signers_certs @4007 - CMS_set_detached @3953 - CMS_sign @3991 - CMS_sign_receipt @3943 - CMS_signed_add1_attr @3992 - CMS_signed_add1_attr_by_NID @4029 - CMS_signed_add1_attr_by_OBJ @4021 - CMS_signed_add1_attr_by_txt @4036 - CMS_signed_delete_attr @3945 - CMS_signed_get0_data_by_OBJ @4002 - CMS_signed_get_attr @4008 - CMS_signed_get_attr_by_NID @4027 - CMS_signed_get_attr_by_OBJ @3984 - CMS_signed_get_attr_count @4038 - CMS_stream @4271 - CMS_uncompress @3956 - CMS_unsigned_add1_attr @4026 - CMS_unsigned_add1_attr_by_NID @4025 - CMS_unsigned_add1_attr_by_OBJ @3941 - CMS_unsigned_add1_attr_by_txt @4030 - CMS_unsigned_delete_attr @3980 - CMS_unsigned_get0_data_by_OBJ @3959 - CMS_unsigned_get_attr @3961 - CMS_unsigned_get_attr_by_NID @3947 - CMS_unsigned_get_attr_by_OBJ @3993 - CMS_unsigned_get_attr_count @3981 - CMS_verify @3948 - CMS_verify_receipt @4012 - COMP_CTX_free @1097 - COMP_CTX_new @1096 - COMP_compress_block @1144 - COMP_expand_block @1145 - COMP_rle @1146 - COMP_zlib @1147 - COMP_zlib_cleanup @3936 - CONF_dump_bio @2288 - CONF_dump_fp @2283 - CONF_free @171 - CONF_get1_default_config_file @3194 - CONF_get_number @172 - CONF_get_section @173 - CONF_get_string @174 - CONF_imodule_get_flags @3195 - CONF_imodule_get_module @3196 - CONF_imodule_get_name @3198 - CONF_imodule_get_usr_data @3200 - CONF_imodule_get_value @3190 - CONF_imodule_set_flags @3201 - CONF_imodule_set_usr_data @3183 - CONF_load @175 - CONF_load_bio @1805 - CONF_load_fp @1806 - CONF_module_add @3193 - CONF_module_get_usr_data @3185 - CONF_module_set_usr_data @3191 - CONF_modules_finish @3187 - CONF_modules_free @3226 - CONF_modules_load @3197 - CONF_modules_load_file @3182 - CONF_modules_unload @3189 - CONF_parse_list @3192 - CONF_set_default_method @2290 - CONF_set_nconf @3081 - CRL_DIST_POINTS_free @1539 - CRL_DIST_POINTS_it @2869 - CRL_DIST_POINTS_new @1538 - CRYPTO_128_unwrap @4722 - CRYPTO_128_wrap @4720 - CRYPTO_THREADID_cmp @4176 - CRYPTO_THREADID_cpy @4165 - CRYPTO_THREADID_current @4244 - CRYPTO_THREADID_get_callback @4416 - CRYPTO_THREADID_hash @4400 - CRYPTO_THREADID_set_callback @4346 - CRYPTO_THREADID_set_numeric @4334 - CRYPTO_THREADID_set_pointer @4159 - CRYPTO_add_lock @176 - CRYPTO_cbc128_decrypt @4561 - CRYPTO_cbc128_encrypt @4556 - CRYPTO_ccm128_aad @4649 - CRYPTO_ccm128_decrypt @4648 - CRYPTO_ccm128_decrypt_ccm64 @4629 - CRYPTO_ccm128_encrypt @4630 - CRYPTO_ccm128_encrypt_ccm64 @4639 - CRYPTO_ccm128_init @4644 - CRYPTO_ccm128_setiv @4641 - CRYPTO_ccm128_tag @4647 - CRYPTO_cfb128_1_encrypt @4555 - CRYPTO_cfb128_8_encrypt @4563 - CRYPTO_cfb128_encrypt @4562 - CRYPTO_cleanup_all_ex_data @2604 - CRYPTO_ctr128_encrypt @4557 - CRYPTO_ctr128_encrypt_ctr32 @4627 - CRYPTO_cts128_decrypt @4559 - CRYPTO_cts128_decrypt_block @4554 - CRYPTO_cts128_encrypt @4553 - CRYPTO_cts128_encrypt_block @4560 - CRYPTO_dbg_free @177 - CRYPTO_dbg_get_options @2246 - CRYPTO_dbg_malloc @178 - CRYPTO_dbg_realloc @179 - CRYPTO_dbg_set_options @2157 - CRYPTO_destroy_dynlockid @2413 - CRYPTO_dup_ex_data @1025 - CRYPTO_ex_data_new_class @3036 - CRYPTO_free @181 - CRYPTO_free_ex_data @1004 - CRYPTO_free_locked @1513 - CRYPTO_gcm128_aad @4643 - CRYPTO_gcm128_decrypt @4651 - CRYPTO_gcm128_decrypt_ctr32 @4653 - CRYPTO_gcm128_encrypt @4631 - CRYPTO_gcm128_encrypt_ctr32 @4654 - CRYPTO_gcm128_finish @4655 - CRYPTO_gcm128_init @4650 - CRYPTO_gcm128_new @4646 - CRYPTO_gcm128_release @4628 - CRYPTO_gcm128_setiv @4635 - CRYPTO_gcm128_tag @4638 - CRYPTO_get_add_lock_callback @182 - CRYPTO_get_dynlock_create_callback @2420 - CRYPTO_get_dynlock_destroy_callback @2418 - CRYPTO_get_dynlock_lock_callback @2417 - CRYPTO_get_dynlock_value @2419 - CRYPTO_get_ex_data @1005 - CRYPTO_get_ex_data_implementation @3135 - CRYPTO_get_ex_new_index @1041 - CRYPTO_get_id_callback @183 - CRYPTO_get_lock_name @184 - CRYPTO_get_locked_mem_ex_functions @2781 - CRYPTO_get_locked_mem_functions @1511 - CRYPTO_get_locking_callback @185 - CRYPTO_get_mem_debug_functions @2159 - CRYPTO_get_mem_debug_options @2248 - CRYPTO_get_mem_ex_functions @2855 - CRYPTO_get_mem_functions @186 - CRYPTO_get_new_dynlockid @2410 - CRYPTO_get_new_lockid @1026 - CRYPTO_is_mem_check_on @2160 - CRYPTO_lock @187 - CRYPTO_malloc @188 - CRYPTO_malloc_locked @1512 - CRYPTO_mem_ctrl @189 - CRYPTO_mem_leaks @190 - CRYPTO_mem_leaks_cb @191 - CRYPTO_mem_leaks_fp @192 - CRYPTO_memcmp @3906 - CRYPTO_new_ex_data @1027 - CRYPTO_nistcts128_decrypt @4645 - CRYPTO_nistcts128_decrypt_block @4634 - CRYPTO_nistcts128_encrypt @4636 - CRYPTO_nistcts128_encrypt_block @4642 - CRYPTO_num_locks @1804 - CRYPTO_ofb128_encrypt @4558 - CRYPTO_pop_info @2162 - CRYPTO_push_info_ @2163 - CRYPTO_realloc @193 - CRYPTO_realloc_clean @3240 - CRYPTO_remalloc @194 - CRYPTO_remove_all_info @2158 - CRYPTO_set_add_lock_callback @195 - CRYPTO_set_dynlock_create_callback @2415 - CRYPTO_set_dynlock_destroy_callback @2412 - CRYPTO_set_dynlock_lock_callback @2416 - CRYPTO_set_ex_data @1007 - CRYPTO_set_ex_data_implementation @2841 - CRYPTO_set_id_callback @196 - CRYPTO_set_locked_mem_ex_functions @2770 - CRYPTO_set_locked_mem_functions @1510 - CRYPTO_set_locking_callback @197 - CRYPTO_set_mem_debug_functions @2161 - CRYPTO_set_mem_debug_options @2164 - CRYPTO_set_mem_ex_functions @2778 - CRYPTO_set_mem_functions @198 - CRYPTO_strdup @4093 - CRYPTO_thread_id @199 - CRYPTO_xts128_encrypt @4632 - Camellia_cbc_encrypt @3784 - Camellia_cfb128_encrypt @3785 - Camellia_cfb1_encrypt @3786 - Camellia_cfb8_encrypt @3787 - Camellia_ctr128_encrypt @3788 - Camellia_decrypt @3790 - Camellia_ecb_encrypt @3791 - Camellia_encrypt @3792 - Camellia_ofb128_encrypt @3793 - Camellia_set_key @3794 - DES_cbc_cksum @777 - DES_cbc_encrypt @778 - DES_cfb64_encrypt @780 - DES_cfb_encrypt @781 - DES_check_key_parity @2256 - DES_crypt @2249 - DES_decrypt3 @782 - DES_ecb3_encrypt @783 - DES_ecb_encrypt @784 - DES_ede3_cbc_encrypt @785 - DES_ede3_cbcm_encrypt @1225 - DES_ede3_cfb64_encrypt @786 - DES_ede3_cfb_encrypt @3257 - DES_ede3_ofb64_encrypt @787 - DES_enc_read @788 - DES_enc_write @789 - DES_encrypt1 @790 - DES_encrypt2 @791 - DES_encrypt3 @792 - DES_fcrypt @793 - DES_is_weak_key @794 - DES_key_sched @795 - DES_ncbc_encrypt @796 - DES_ofb64_encrypt @797 - DES_ofb_encrypt @798 - DES_options @799 - DES_pcbc_encrypt @800 - DES_quad_cksum @801 - DES_random_key @802 - DES_read_2passwords @3206 - DES_read_password @3207 - DES_set_key @808 - DES_set_key_checked @2144 - DES_set_key_unchecked @2147 - DES_set_odd_parity @809 - DES_string_to_2keys @810 - DES_string_to_key @811 - DES_xcbc_encrypt @812 - DH_KDF_X9_42 @4735 - DH_OpenSSL @1890 - DH_check @200 - DH_check_pub_key @3774 - DH_compute_key @201 - DH_compute_key_padded @4732 - DH_free @202 - DH_generate_key @203 - DH_generate_parameters @204 - DH_generate_parameters_ex @3713 - DH_get_1024_160 @4685 - DH_get_2048_224 @4691 - DH_get_2048_256 @4689 - DH_get_default_method @1892 - DH_get_ex_data @1886 - DH_get_ex_new_index @1887 - DH_new @205 - DH_new_method @1889 - DH_set_default_method @1894 - DH_set_ex_data @1883 - DH_set_method @1884 - DH_size @206 - DH_up_ref @2930 - DHparams_dup @4540 - DHparams_print @207 - DHparams_print_fp @208 - DIRECTORYSTRING_free @2038 - DIRECTORYSTRING_it @2767 - DIRECTORYSTRING_new @2137 - DISPLAYTEXT_free @1998 - DISPLAYTEXT_it @2836 - DISPLAYTEXT_new @1907 - DIST_POINT_NAME_free @1547 - DIST_POINT_NAME_it @3084 - DIST_POINT_NAME_new @1546 - DIST_POINT_free @1544 - DIST_POINT_it @2950 - DIST_POINT_new @1542 - DIST_POINT_set_dpname @4215 - DSA_OpenSSL @1885 - DSA_SIG_free @1334 - DSA_SIG_new @1333 - DSA_do_sign @1335 - DSA_do_verify @1336 - DSA_dup_DH @1871 - DSA_free @209 - DSA_generate_key @210 - DSA_generate_parameters @211 - DSA_generate_parameters_ex @3687 - DSA_get_default_method @1941 - DSA_get_ex_data @1895 - DSA_get_ex_new_index @1891 - DSA_new @213 - DSA_new_method @1888 - DSA_print @214 - DSA_print_fp @215 - DSA_set_default_method @1989 - DSA_set_ex_data @1893 - DSA_set_method @1949 - DSA_sign @216 - DSA_sign_setup @217 - DSA_size @218 - DSA_up_ref @2785 - DSA_verify @219 - DSAparams_dup @4539 - DSAparams_print @220 - DSAparams_print_fp @221 - DSO_METHOD_beos @4122 - DSO_METHOD_dl @2275 - DSO_METHOD_dlfcn @2272 - DSO_METHOD_null @2270 - DSO_METHOD_openssl @2271 - DSO_METHOD_vms @2462 - DSO_METHOD_win32 @2273 - DSO_bind_func @2409 - DSO_bind_var @2269 - DSO_convert_filename @2618 - DSO_ctrl @2293 - DSO_flags @2262 - DSO_free @2261 - DSO_get_default_method @2265 - DSO_get_filename @3115 - DSO_get_loaded_filename @2731 - DSO_get_method @2266 - DSO_global_lookup @4195 - DSO_load @2268 - DSO_merge @3762 - DSO_new @2259 - DSO_new_method @2260 - DSO_pathbyaddr @4523 - DSO_set_default_method @2264 - DSO_set_filename @2622 - DSO_set_method @2267 - DSO_set_name_converter @3105 - DSO_up_ref @2843 - ECDH_KDF_X9_62 @4749 - ECDH_OpenSSL @3442 - ECDH_compute_key @3644 - ECDH_get_default_method @3351 - ECDH_get_ex_data @3438 - ECDH_get_ex_new_index @3590 - ECDH_set_default_method @3549 - ECDH_set_ex_data @3613 - ECDH_set_method @3611 - ECDSA_METHOD_free @4759 - ECDSA_METHOD_get_app_data @4770 - ECDSA_METHOD_new @4751 - ECDSA_METHOD_set_app_data @4768 - ECDSA_METHOD_set_flags @4726 - ECDSA_METHOD_set_name @4723 - ECDSA_METHOD_set_sign @4733 - ECDSA_METHOD_set_sign_setup @4727 - ECDSA_METHOD_set_verify @4755 - ECDSA_OpenSSL @3620 - ECDSA_SIG_free @3455 - ECDSA_SIG_new @3395 - ECDSA_do_sign @3440 - ECDSA_do_sign_ex @3671 - ECDSA_do_verify @3672 - ECDSA_get_default_method @3522 - ECDSA_get_ex_data @3509 - ECDSA_get_ex_new_index @3744 - ECDSA_set_default_method @3625 - ECDSA_set_ex_data @3739 - ECDSA_set_method @3731 - ECDSA_sign @3719 - ECDSA_sign_ex @3403 - ECDSA_sign_setup @3416 - ECDSA_size @3706 - ECDSA_verify @3666 - ECPKParameters_print @3607 - ECPKParameters_print_fp @3453 - ECParameters_print @3485 - ECParameters_print_fp @3688 - EC_GF2m_simple_method @3738 - EC_GFp_mont_method @2689 - EC_GFp_nist_method @3529 - EC_GFp_simple_method @3099 - EC_GROUP_check @3555 - EC_GROUP_check_discriminant @3372 - EC_GROUP_clear_free @2550 - EC_GROUP_cmp @3627 - EC_GROUP_copy @2962 - EC_GROUP_dup @3661 - EC_GROUP_free @2877 - EC_GROUP_get0_generator @2693 - EC_GROUP_get0_seed @3601 - EC_GROUP_get_asn1_flag @3587 - EC_GROUP_get_basis_type @3637 - EC_GROUP_get_cofactor @2683 - EC_GROUP_get_curve_GF2m @3500 - EC_GROUP_get_curve_GFp @2985 - EC_GROUP_get_curve_name @3695 - EC_GROUP_get_degree @3570 - EC_GROUP_get_mont_data @4772 - EC_GROUP_get_order @2701 - EC_GROUP_get_pentanomial_basis @3409 - EC_GROUP_get_point_conversion_form @3405 - EC_GROUP_get_seed_len @3517 - EC_GROUP_get_trinomial_basis @3347 - EC_GROUP_have_precompute_mult @3429 - EC_GROUP_method_of @2568 - EC_GROUP_new @2995 - EC_GROUP_new_by_curve_name @3711 - EC_GROUP_new_curve_GF2m @3382 - EC_GROUP_new_curve_GFp @2885 - EC_GROUP_precompute_mult @3100 - EC_GROUP_set_asn1_flag @3749 - EC_GROUP_set_curve_GF2m @3545 - EC_GROUP_set_curve_GFp @2564 - EC_GROUP_set_curve_name @3533 - EC_GROUP_set_generator @2724 - EC_GROUP_set_point_conversion_form @3617 - EC_GROUP_set_seed @3494 - EC_KEY_check_key @3750 - EC_KEY_clear_flags @4602 - EC_KEY_copy @3369 - EC_KEY_dup @3729 - EC_KEY_free @3422 - EC_KEY_generate_key @3550 - EC_KEY_get0_group @3575 - EC_KEY_get0_private_key @3608 - EC_KEY_get0_public_key @3480 - EC_KEY_get_conv_form @3388 - EC_KEY_get_enc_flags @3622 - EC_KEY_get_flags @4593 - EC_KEY_get_key_method_data @3402 - EC_KEY_insert_key_method_data @3557 - EC_KEY_new @3663 - EC_KEY_new_by_curve_name @3353 - EC_KEY_precompute_mult @3374 - EC_KEY_print @3742 - EC_KEY_print_fp @3430 - EC_KEY_set_asn1_flag @3400 - EC_KEY_set_conv_form @3443 - EC_KEY_set_enc_flags @3665 - EC_KEY_set_flags @4603 - EC_KEY_set_group @3512 - EC_KEY_set_private_key @3459 - EC_KEY_set_public_key @3682 - EC_KEY_set_public_key_affine_coordinates @4585 - EC_KEY_up_ref @3418 - EC_METHOD_get_field_type @3528 - EC_POINT_add @2532 - EC_POINT_bn2point @3398 - EC_POINT_clear_free @3039 - EC_POINT_cmp @2953 - EC_POINT_copy @3010 - EC_POINT_dbl @3070 - EC_POINT_dup @3444 - EC_POINT_free @2929 - EC_POINT_get_Jprojective_coordinates_GFp @2779 - EC_POINT_get_affine_coordinates_GF2m @3660 - EC_POINT_get_affine_coordinates_GFp @2909 - EC_POINT_hex2point @3763 - EC_POINT_invert @2896 - EC_POINT_is_at_infinity @2616 - EC_POINT_is_on_curve @2769 - EC_POINT_make_affine @3114 - EC_POINT_method_of @2852 - EC_POINT_mul @2831 - EC_POINT_new @2924 - EC_POINT_oct2point @2578 - EC_POINT_point2bn @3379 - EC_POINT_point2hex @3667 - EC_POINT_point2oct @3178 - EC_POINT_set_Jprojective_coordinates_GFp @2575 - EC_POINT_set_affine_coordinates_GF2m @3360 - EC_POINT_set_affine_coordinates_GFp @2611 - EC_POINT_set_compressed_coordinates_GF2m @3626 - EC_POINT_set_compressed_coordinates_GFp @2597 - EC_POINT_set_to_infinity @3176 - EC_POINTs_make_affine @2830 - EC_POINTs_mul @2940 - EC_curve_nid2nist @4688 - EC_curve_nist2nid @4684 - EC_get_builtin_curves @3447 - EDIPARTYNAME_free @2883 - EDIPARTYNAME_it @3005 - EDIPARTYNAME_new @2671 - ENGINE_add @2518 - ENGINE_add_conf_module @3202 - ENGINE_by_id @2493 - ENGINE_cleanup @2949 - ENGINE_cmd_is_executable @2759 - ENGINE_ctrl @2481 - ENGINE_ctrl_cmd @2900 - ENGINE_ctrl_cmd_string @2628 - ENGINE_finish @2478 - ENGINE_free @2502 - ENGINE_get_DH @2480 - ENGINE_get_DSA @2520 - ENGINE_get_ECDH @3716 - ENGINE_get_ECDSA @3723 - ENGINE_get_RAND @2491 - ENGINE_get_RSA @2489 - ENGINE_get_STORE @3668 - ENGINE_get_cipher @2756 - ENGINE_get_cipher_engine @3008 - ENGINE_get_ciphers @2529 - ENGINE_get_cmd_defns @2658 - ENGINE_get_ctrl_function @2521 - ENGINE_get_default_DH @2488 - ENGINE_get_default_DSA @2506 - ENGINE_get_default_ECDH @3387 - ENGINE_get_default_ECDSA @3662 - ENGINE_get_default_RAND @2509 - ENGINE_get_default_RSA @2470 - ENGINE_get_destroy_function @3080 - ENGINE_get_digest @2748 - ENGINE_get_digest_engine @2563 - ENGINE_get_digests @2816 - ENGINE_get_ex_data @2856 - ENGINE_get_ex_new_index @2826 - ENGINE_get_finish_function @2469 - ENGINE_get_first @2492 - ENGINE_get_flags @2911 - ENGINE_get_id @2516 - ENGINE_get_init_function @2482 - ENGINE_get_last @2486 - ENGINE_get_load_privkey_function @3172 - ENGINE_get_load_pubkey_function @2792 - ENGINE_get_name @2485 - ENGINE_get_next @2504 - ENGINE_get_pkey_asn1_meth @4151 - ENGINE_get_pkey_asn1_meth_engine @4140 - ENGINE_get_pkey_asn1_meth_str @4393 - ENGINE_get_pkey_asn1_meths @4342 - ENGINE_get_pkey_meth @4154 - ENGINE_get_pkey_meth_engine @4425 - ENGINE_get_pkey_meths @4287 - ENGINE_get_prev @2487 - ENGINE_get_ssl_client_cert_function @4045 - ENGINE_get_static_state @3393 - ENGINE_get_table_flags @3143 - ENGINE_init @2475 - ENGINE_load_builtin_engines @2708 - ENGINE_load_cryptodev @2617 - ENGINE_load_dynamic @2547 - ENGINE_load_openssl @2657 - ENGINE_load_private_key @2498 - ENGINE_load_public_key @2479 - ENGINE_load_rdrand @4640 - ENGINE_load_ssl_client_cert @4046 - ENGINE_new @2515 - ENGINE_pkey_asn1_find_str @4282 - ENGINE_register_DH @2584 - ENGINE_register_DSA @2762 - ENGINE_register_ECDH @3355 - ENGINE_register_ECDSA @3335 - ENGINE_register_RAND @2609 - ENGINE_register_RSA @2664 - ENGINE_register_STORE @3685 - ENGINE_register_all_DH @2907 - ENGINE_register_all_DSA @2918 - ENGINE_register_all_ECDH @3646 - ENGINE_register_all_ECDSA @3658 - ENGINE_register_all_RAND @2546 - ENGINE_register_all_RSA @2809 - ENGINE_register_all_STORE @3567 - ENGINE_register_all_ciphers @3009 - ENGINE_register_all_complete @2970 - ENGINE_register_all_digests @2637 - ENGINE_register_all_pkey_asn1_meths @4398 - ENGINE_register_all_pkey_meths @4367 - ENGINE_register_ciphers @2620 - ENGINE_register_complete @2941 - ENGINE_register_digests @2889 - ENGINE_register_pkey_asn1_meths @4297 - ENGINE_register_pkey_meths @4129 - ENGINE_remove @2501 - ENGINE_set_DH @2473 - ENGINE_set_DSA @2468 - ENGINE_set_ECDH @3477 - ENGINE_set_ECDSA @3605 - ENGINE_set_RAND @2511 - ENGINE_set_RSA @2497 - ENGINE_set_STORE @3334 - ENGINE_set_ciphers @2676 - ENGINE_set_cmd_defns @2875 - ENGINE_set_ctrl_function @2522 - ENGINE_set_default @2490 - ENGINE_set_default_DH @2514 - ENGINE_set_default_DSA @2484 - ENGINE_set_default_ECDH @3759 - ENGINE_set_default_ECDSA @3546 - ENGINE_set_default_RAND @2499 - ENGINE_set_default_RSA @2508 - ENGINE_set_default_ciphers @3029 - ENGINE_set_default_digests @2661 - ENGINE_set_default_pkey_asn1_meths @4193 - ENGINE_set_default_pkey_meths @4300 - ENGINE_set_default_string @3184 - ENGINE_set_destroy_function @2992 - ENGINE_set_digests @2937 - ENGINE_set_ex_data @2980 - ENGINE_set_finish_function @2494 - ENGINE_set_flags @3162 - ENGINE_set_id @2512 - ENGINE_set_init_function @2483 - ENGINE_set_load_privkey_function @2659 - ENGINE_set_load_pubkey_function @2764 - ENGINE_set_load_ssl_client_cert_function @4044 - ENGINE_set_name @2505 - ENGINE_set_pkey_asn1_meths @4409 - ENGINE_set_pkey_meths @4508 - ENGINE_set_table_flags @3073 - ENGINE_unregister_DH @2917 - ENGINE_unregister_DSA @2665 - ENGINE_unregister_ECDH @3441 - ENGINE_unregister_ECDSA @3769 - ENGINE_unregister_RAND @3044 - ENGINE_unregister_RSA @2539 - ENGINE_unregister_STORE @3384 - ENGINE_unregister_ciphers @2528 - ENGINE_unregister_digests @2813 - ENGINE_unregister_pkey_asn1_meths @4497 - ENGINE_unregister_pkey_meths @4478 - ENGINE_up_ref @3238 - ERR_add_error_data @1081 - ERR_add_error_vdata @4589 - ERR_clear_error @222 - ERR_error_string @223 - ERR_error_string_n @2291 - ERR_free_strings @224 - ERR_func_error_string @225 - ERR_get_err_state_table @226 - ERR_get_error @227 - ERR_get_error_line @228 - ERR_get_error_line_data @1515 - ERR_get_implementation @2601 - ERR_get_next_error_library @966 - ERR_get_state @229 - ERR_get_string_table @230 - ERR_lib_error_string @231 - ERR_load_ASN1_strings @232 - ERR_load_BIO_strings @233 - ERR_load_BN_strings @234 - ERR_load_BUF_strings @235 - ERR_load_CMS_strings @3942 - ERR_load_COMP_strings @2525 - ERR_load_CONF_strings @236 - ERR_load_CRYPTO_strings @1009 - ERR_load_DH_strings @237 - ERR_load_DSA_strings @238 - ERR_load_DSO_strings @2274 - ERR_load_ECDH_strings @3728 - ERR_load_ECDSA_strings @3636 - ERR_load_EC_strings @2849 - ERR_load_ENGINE_strings @2467 - ERR_load_ERR_strings @239 - ERR_load_EVP_strings @240 - ERR_load_OBJ_strings @241 - ERR_load_OCSP_strings @3177 - ERR_load_PEM_strings @242 - ERR_load_PKCS12_strings @1300 - ERR_load_PKCS7_strings @919 - ERR_load_RAND_strings @2205 - ERR_load_RSA_strings @244 - ERR_load_TS_strings @4314 - ERR_load_UI_strings @3091 - ERR_load_X509V3_strings @1164 - ERR_load_X509_strings @245 - ERR_load_crypto_strings @246 - ERR_load_strings @247 - ERR_peek_error @248 - ERR_peek_error_line @249 - ERR_peek_error_line_data @1516 - ERR_peek_last_error @3205 - ERR_peek_last_error_line @3203 - ERR_peek_last_error_line_data @3204 - ERR_pop_to_mark @3566 - ERR_print_errors @250 - ERR_print_errors_cb @2675 - ERR_print_errors_fp @251 - ERR_put_error @252 - ERR_reason_error_string @253 - ERR_release_err_state_table @3247 - ERR_remove_state @254 - ERR_remove_thread_state @4445 - ERR_set_error_data @1082 - ERR_set_implementation @2848 - ERR_set_mark @3332 - ERR_unload_strings @2881 - ESS_CERT_ID_dup @4203 - ESS_CERT_ID_free @4477 - ESS_CERT_ID_new @4281 - ESS_ISSUER_SERIAL_dup @4491 - ESS_ISSUER_SERIAL_free @4391 - ESS_ISSUER_SERIAL_new @4404 - ESS_SIGNING_CERT_dup @4452 - ESS_SIGNING_CERT_free @4504 - ESS_SIGNING_CERT_new @4385 - EVP_BytesToKey @255 - EVP_CIPHER_CTX_block_size @3879 - EVP_CIPHER_CTX_cipher @3888 - EVP_CIPHER_CTX_cleanup @256 - EVP_CIPHER_CTX_clear_flags @4050 - EVP_CIPHER_CTX_copy @4549 - EVP_CIPHER_CTX_ctrl @2400 - EVP_CIPHER_CTX_flags @3891 - EVP_CIPHER_CTX_free @3783 - EVP_CIPHER_CTX_get_app_data @3889 - EVP_CIPHER_CTX_init @961 - EVP_CIPHER_CTX_iv_length @3899 - EVP_CIPHER_CTX_key_length @3841 - EVP_CIPHER_CTX_new @3782 - EVP_CIPHER_CTX_nid @3831 - EVP_CIPHER_CTX_rand_key @3730 - EVP_CIPHER_CTX_set_app_data @3819 - EVP_CIPHER_CTX_set_flags @4059 - EVP_CIPHER_CTX_set_key_length @2399 - EVP_CIPHER_CTX_set_padding @3019 - EVP_CIPHER_CTX_test_flags @4069 - EVP_CIPHER_asn1_to_param @1083 - EVP_CIPHER_block_size @3816 - EVP_CIPHER_do_all @4353 - EVP_CIPHER_do_all_sorted @4429 - EVP_CIPHER_flags @3857 - EVP_CIPHER_get_asn1_iv @1085 - EVP_CIPHER_iv_length @3836 - EVP_CIPHER_key_length @3873 - EVP_CIPHER_nid @3877 - EVP_CIPHER_param_to_asn1 @1084 - EVP_CIPHER_set_asn1_iv @1086 - EVP_CIPHER_type @1649 - EVP_CipherFinal @257 - EVP_CipherFinal_ex @2602 - EVP_CipherInit @258 - EVP_CipherInit_ex @2915 - EVP_CipherUpdate @259 - EVP_Cipher @3874 - EVP_DecodeBlock @260 - EVP_DecodeFinal @261 - EVP_DecodeInit @262 - EVP_DecodeUpdate @263 - EVP_DecryptFinal @264 - EVP_DecryptFinal_ex @2656 - EVP_DecryptInit @265 - EVP_DecryptInit_ex @3067 - EVP_DecryptUpdate @266 - EVP_DigestFinal @267 - EVP_DigestFinal_ex @2936 - EVP_DigestInit @268 - EVP_DigestInit_ex @3109 - EVP_DigestSignFinal @4372 - EVP_DigestSignInit @4144 - EVP_DigestUpdate @269 - EVP_DigestVerifyFinal @4206 - EVP_DigestVerifyInit @4299 - EVP_Digest @3165 - EVP_EncodeBlock @270 - EVP_EncodeFinal @271 - EVP_EncodeInit @272 - EVP_EncodeUpdate @273 - EVP_EncryptFinal @274 - EVP_EncryptFinal_ex @2660 - EVP_EncryptInit @275 - EVP_EncryptInit_ex @2894 - EVP_EncryptUpdate @276 - EVP_MD_CTX_cleanup @2821 - EVP_MD_CTX_clear_flags @3853 - EVP_MD_CTX_copy @1202 - EVP_MD_CTX_copy_ex @2589 - EVP_MD_CTX_create @2712 - EVP_MD_CTX_destroy @2925 - EVP_MD_CTX_init @2630 - EVP_MD_CTX_md @3896 - EVP_MD_CTX_set_flags @3883 - EVP_MD_CTX_test_flags @3845 - EVP_MD_block_size @3890 - EVP_MD_do_all @4442 - EVP_MD_do_all_sorted @4253 - EVP_MD_flags @4537 - EVP_MD_pkey_type @3852 - EVP_MD_size @3844 - EVP_MD_type @3837 - EVP_OpenFinal @277 - EVP_OpenInit @278 - EVP_PBE_CipherInit @1650 - EVP_PBE_alg_add @1322 - EVP_PBE_alg_add_type @4437 - EVP_PBE_cleanup @1324 - EVP_PBE_find @4386 - EVP_PKCS82PKEY @1318 - EVP_PKEY2PKCS8 @1319 - EVP_PKEY2PKCS8_broken @2244 - EVP_PKEY_CTX_ctrl @4233 - EVP_PKEY_CTX_ctrl_str @4187 - EVP_PKEY_CTX_dup @4316 - EVP_PKEY_CTX_free @4430 - EVP_PKEY_CTX_get0_peerkey @4465 - EVP_PKEY_CTX_get0_pkey @4381 - EVP_PKEY_CTX_get_app_data @4344 - EVP_PKEY_CTX_get_cb @4419 - EVP_PKEY_CTX_get_data @4218 - EVP_PKEY_CTX_get_keygen_info @4137 - EVP_PKEY_CTX_get_operation @4434 - EVP_PKEY_CTX_new @4119 - EVP_PKEY_CTX_new_id @4532 - EVP_PKEY_CTX_set0_keygen_info @4214 - EVP_PKEY_CTX_set_app_data @4330 - EVP_PKEY_CTX_set_cb @4272 - EVP_PKEY_CTX_set_data @4182 - EVP_PKEY_add1_attr @3690 - EVP_PKEY_add1_attr_by_NID @3345 - EVP_PKEY_add1_attr_by_OBJ @3756 - EVP_PKEY_add1_attr_by_txt @3410 - EVP_PKEY_asn1_add0 @4130 - EVP_PKEY_asn1_add_alias @4222 - EVP_PKEY_asn1_copy @4427 - EVP_PKEY_asn1_find @4121 - EVP_PKEY_asn1_find_str @4383 - EVP_PKEY_asn1_free @4503 - EVP_PKEY_asn1_get0 @4258 - EVP_PKEY_asn1_get0_info @4320 - EVP_PKEY_asn1_get_count @4296 - EVP_PKEY_asn1_new @4152 - EVP_PKEY_asn1_set_ctrl @4530 - EVP_PKEY_asn1_set_free @4178 - EVP_PKEY_asn1_set_item @4774 - EVP_PKEY_asn1_set_param @4361 - EVP_PKEY_asn1_set_private @4308 - EVP_PKEY_asn1_set_public @4171 - EVP_PKEY_assign @279 - EVP_PKEY_base_id @4230 - EVP_PKEY_bits @1010 - EVP_PKEY_cmp @3433 - EVP_PKEY_cmp_parameters @967 - EVP_PKEY_copy_parameters @280 - EVP_PKEY_decrypt @1070 - EVP_PKEY_decrypt_init @4245 - EVP_PKEY_decrypt_old @4378 - EVP_PKEY_delete_attr @3624 - EVP_PKEY_derive @4388 - EVP_PKEY_derive_init @4220 - EVP_PKEY_derive_set_peer @4488 - EVP_PKEY_encrypt @1071 - EVP_PKEY_encrypt_init @4164 - EVP_PKEY_encrypt_old @4163 - EVP_PKEY_free @281 - EVP_PKEY_get0 @4439 - EVP_PKEY_get0_asn1 @4179 - EVP_PKEY_get1_DH @2128 - EVP_PKEY_get1_DSA @1935 - EVP_PKEY_get1_EC_KEY @3385 - EVP_PKEY_get1_RSA @2034 - EVP_PKEY_get_attr @3439 - EVP_PKEY_get_attr_by_NID @3721 - EVP_PKEY_get_attr_by_OBJ @3651 - EVP_PKEY_get_attr_count @3498 - EVP_PKEY_get_default_digest_nid @4188 - EVP_PKEY_id @4470 - EVP_PKEY_keygen @4143 - EVP_PKEY_keygen_init @4183 - EVP_PKEY_meth_add0 @4446 - EVP_PKEY_meth_copy @4588 - EVP_PKEY_meth_find @4469 - EVP_PKEY_meth_free @4460 - EVP_PKEY_meth_get0_info @4587 - EVP_PKEY_meth_get_cleanup @4786 - EVP_PKEY_meth_get_copy @4788 - EVP_PKEY_meth_get_ctrl @4784 - EVP_PKEY_meth_get_decrypt @4785 - EVP_PKEY_meth_get_derive @4778 - EVP_PKEY_meth_get_encrypt @4787 - EVP_PKEY_meth_get_init @4775 - EVP_PKEY_meth_get_keygen @4777 - EVP_PKEY_meth_get_paramgen @4780 - EVP_PKEY_meth_get_sign @4782 - EVP_PKEY_meth_get_signctx @4783 - EVP_PKEY_meth_get_verify @4781 - EVP_PKEY_meth_get_verify_recover @4776 - EVP_PKEY_meth_get_verifyctx @4779 - EVP_PKEY_meth_new @4448 - EVP_PKEY_meth_set_cleanup @4502 - EVP_PKEY_meth_set_copy @4527 - EVP_PKEY_meth_set_ctrl @4236 - EVP_PKEY_meth_set_decrypt @4135 - EVP_PKEY_meth_set_derive @4276 - EVP_PKEY_meth_set_encrypt @4362 - EVP_PKEY_meth_set_init @4264 - EVP_PKEY_meth_set_keygen @4514 - EVP_PKEY_meth_set_paramgen @4517 - EVP_PKEY_meth_set_sign @4243 - EVP_PKEY_meth_set_signctx @4426 - EVP_PKEY_meth_set_verify @4317 - EVP_PKEY_meth_set_verify_recover @4269 - EVP_PKEY_meth_set_verifyctx @4332 - EVP_PKEY_missing_parameters @282 - EVP_PKEY_new @283 - EVP_PKEY_new_mac_key @4174 - EVP_PKEY_paramgen @4516 - EVP_PKEY_paramgen_init @4261 - EVP_PKEY_print_params @4207 - EVP_PKEY_print_private @4248 - EVP_PKEY_print_public @4118 - EVP_PKEY_save_parameters @284 - EVP_PKEY_set1_DH @2107 - EVP_PKEY_set1_DSA @1970 - EVP_PKEY_set1_EC_KEY @3450 - EVP_PKEY_set1_RSA @2063 - EVP_PKEY_set_type @4524 - EVP_PKEY_set_type_str @4136 - EVP_PKEY_sign @4262 - EVP_PKEY_sign_init @4125 - EVP_PKEY_size @285 - EVP_PKEY_type @286 - EVP_PKEY_verify @4369 - EVP_PKEY_verify_init @4474 - EVP_PKEY_verify_recover @4519 - EVP_PKEY_verify_recover_init @4181 - EVP_SealFinal @287 - EVP_SealInit @288 - EVP_SignFinal @289 - EVP_VerifyFinal @290 - EVP_add_alg_module @4077 - EVP_add_cipher @292 - EVP_add_digest @293 - EVP_aes_128_cbc @2927 - EVP_aes_128_cbc_hmac_sha1 @4637 - EVP_aes_128_cbc_hmac_sha256 @4731 - EVP_aes_128_ccm @4609 - EVP_aes_128_cfb128 @3222 - EVP_aes_128_cfb1 @3251 - EVP_aes_128_cfb8 @3248 - EVP_aes_128_ctr @4590 - EVP_aes_128_ecb @2644 - EVP_aes_128_gcm @4601 - EVP_aes_128_ofb @3224 - EVP_aes_128_wrap @4743 - EVP_aes_128_xts @4595 - EVP_aes_192_cbc @3155 - EVP_aes_192_ccm @4617 - EVP_aes_192_cfb128 @3225 - EVP_aes_192_cfb1 @3264 - EVP_aes_192_cfb8 @3252 - EVP_aes_192_ctr @4586 - EVP_aes_192_ecb @2862 - EVP_aes_192_gcm @4611 - EVP_aes_192_ofb @3221 - EVP_aes_192_wrap @4730 - EVP_aes_256_cbc @2996 - EVP_aes_256_cbc_hmac_sha1 @4656 - EVP_aes_256_cbc_hmac_sha256 @4740 - EVP_aes_256_ccm @4605 - EVP_aes_256_cfb128 @3223 - EVP_aes_256_cfb1 @3271 - EVP_aes_256_cfb8 @3255 - EVP_aes_256_ctr @4591 - EVP_aes_256_ecb @2720 - EVP_aes_256_gcm @4615 - EVP_aes_256_ofb @3220 - EVP_aes_256_wrap @4719 - EVP_aes_256_xts @4599 - EVP_bf_cbc @294 - EVP_bf_cfb64 @295 - EVP_bf_ecb @296 - EVP_bf_ofb @297 - EVP_camellia_128_cbc @3795 - EVP_camellia_128_cfb128 @3796 - EVP_camellia_128_cfb1 @3797 - EVP_camellia_128_cfb8 @3798 - EVP_camellia_128_ecb @3799 - EVP_camellia_128_ofb @3800 - EVP_camellia_192_cbc @3801 - EVP_camellia_192_cfb128 @3802 - EVP_camellia_192_cfb1 @3803 - EVP_camellia_192_cfb8 @3804 - EVP_camellia_192_ecb @3805 - EVP_camellia_192_ofb @3806 - EVP_camellia_256_cbc @3807 - EVP_camellia_256_cfb128 @3808 - EVP_camellia_256_cfb1 @3809 - EVP_camellia_256_cfb8 @3810 - EVP_camellia_256_ecb @3811 - EVP_camellia_256_ofb @3812 - EVP_cast5_cbc @983 - EVP_cast5_cfb64 @984 - EVP_cast5_ecb @985 - EVP_cast5_ofb @986 - EVP_cleanup @298 - EVP_des_cbc @299 - EVP_des_cfb1 @3277 - EVP_des_cfb64 @300 - EVP_des_cfb8 @3267 - EVP_des_ecb @301 - EVP_des_ede3 @303 - EVP_des_ede3_cbc @304 - EVP_des_ede3_cfb1 @3280 - EVP_des_ede3_cfb64 @305 - EVP_des_ede3_cfb8 @3258 - EVP_des_ede3_ecb @3236 - EVP_des_ede3_ofb @306 - EVP_des_ede3_wrap @4737 - EVP_des_ede @302 - EVP_des_ede_cbc @307 - EVP_des_ede_cfb64 @308 - EVP_des_ede_ecb @3231 - EVP_des_ede_ofb @309 - EVP_des_ofb @310 - EVP_desx_cbc @311 - EVP_dss1 @313 - EVP_dss @312 - EVP_ecdsa @3724 - EVP_enc_null @314 - EVP_get_cipherbyname @315 - EVP_get_digestbyname @316 - EVP_get_pw_prompt @317 - EVP_md4 @2438 - EVP_md5 @323 - EVP_md_null @324 - EVP_rc2_40_cbc @959 - EVP_rc2_64_cbc @1103 - EVP_rc2_cbc @325 - EVP_rc2_cfb64 @326 - EVP_rc2_ecb @327 - EVP_rc2_ofb @328 - EVP_rc4 @329 - EVP_rc4_40 @960 - EVP_rc4_hmac_md5 @4633 - EVP_read_pw_string @330 - EVP_read_pw_string_min @4552 - EVP_ripemd160 @1252 - EVP_seed_cbc @3914 - EVP_seed_cfb128 @3918 - EVP_seed_ecb @3916 - EVP_seed_ofb @3911 - EVP_set_pw_prompt @331 - EVP_sha1 @333 - EVP_sha224 @3314 - EVP_sha256 @3315 - EVP_sha384 @3312 - EVP_sha512 @3313 - EVP_sha @332 - EVP_whirlpool @4360 - EXTENDED_KEY_USAGE_free @2631 - EXTENDED_KEY_USAGE_it @3098 - EXTENDED_KEY_USAGE_new @2549 - FIPS_mode @3283 - FIPS_mode_set @3253 - GENERAL_NAMES_free @1216 - GENERAL_NAMES_it @2804 - GENERAL_NAMES_new @1215 - GENERAL_NAME_cmp @4506 - GENERAL_NAME_dup @4147 - GENERAL_NAME_free @1214 - GENERAL_NAME_get0_otherName @4511 - GENERAL_NAME_get0_value @4249 - GENERAL_NAME_it @2594 - GENERAL_NAME_new @1213 - GENERAL_NAME_print @2870 - GENERAL_NAME_set0_othername @4421 - GENERAL_NAME_set0_value @4225 - GENERAL_SUBTREE_free @3349 - GENERAL_SUBTREE_it @3694 - GENERAL_SUBTREE_new @3445 - HMAC @962 - HMAC_CTX_cleanup @2784 - HMAC_CTX_copy @4340 - HMAC_CTX_init @2747 - HMAC_CTX_set_flags @3288 - HMAC_Final @965 - HMAC_Init @963 - HMAC_Init_ex @2572 - HMAC_Update @964 - ISSUING_DIST_POINT_free @4403 - ISSUING_DIST_POINT_it @4431 - ISSUING_DIST_POINT_new @4266 - KRB5_APREQBODY_free @2692 - KRB5_APREQBODY_it @3061 - KRB5_APREQBODY_new @2626 - KRB5_APREQ_free @3179 - KRB5_APREQ_it @3079 - KRB5_APREQ_new @2984 - KRB5_AUTHDATA_free @2775 - KRB5_AUTHDATA_it @3121 - KRB5_AUTHDATA_new @2687 - KRB5_AUTHENTBODY_free @3049 - KRB5_AUTHENTBODY_it @2976 - KRB5_AUTHENTBODY_new @3003 - KRB5_AUTHENT_free @2645 - KRB5_AUTHENT_it @2735 - KRB5_AUTHENT_new @3103 - KRB5_CHECKSUM_free @2634 - KRB5_CHECKSUM_it @2531 - KRB5_CHECKSUM_new @3026 - KRB5_ENCDATA_free @2963 - KRB5_ENCDATA_it @2791 - KRB5_ENCDATA_new @2842 - KRB5_ENCKEY_free @2592 - KRB5_ENCKEY_it @2557 - KRB5_ENCKEY_new @2986 - KRB5_PRINCNAME_free @3096 - KRB5_PRINCNAME_it @3066 - KRB5_PRINCNAME_new @2699 - KRB5_TICKET_free @3156 - KRB5_TICKET_it @3154 - KRB5_TICKET_new @2983 - KRB5_TKTBODY_free @2624 - KRB5_TKTBODY_it @2750 - KRB5_TKTBODY_new @3089 - LONG_it @2864 - MD4 @2433 - MD4_Final @2435 - MD4_Init @2437 - MD4_Transform @2434 - MD4_Update @2436 - MD5 @339 - MD5_Final @340 - MD5_Init @341 - MD5_Transform @1011 - MD5_Update @342 - NAME_CONSTRAINTS_check @4494 - NAME_CONSTRAINTS_free @3338 - NAME_CONSTRAINTS_it @3350 - NAME_CONSTRAINTS_new @3478 - NCONF_WIN32 @3229 - NCONF_default @3227 - NCONF_dump_bio @2287 - NCONF_dump_fp @2285 - NCONF_free @2281 - NCONF_free_data @2289 - NCONF_get_number_e @2704 - NCONF_get_section @2286 - NCONF_get_string @2280 - NCONF_load @2276 - NCONF_load_bio @2284 - NCONF_load_fp @2278 - NCONF_new @2279 - NETSCAPE_CERT_SEQUENCE_free @1165 - NETSCAPE_CERT_SEQUENCE_it @2803 - NETSCAPE_CERT_SEQUENCE_new @1166 - NETSCAPE_SPKAC_free @347 - NETSCAPE_SPKAC_it @2641 - NETSCAPE_SPKAC_new @348 - NETSCAPE_SPKI_b64_decode @1901 - NETSCAPE_SPKI_b64_encode @1899 - NETSCAPE_SPKI_free @349 - NETSCAPE_SPKI_get_pubkey @1900 - NETSCAPE_SPKI_it @3006 - NETSCAPE_SPKI_new @350 - NETSCAPE_SPKI_print @1897 - NETSCAPE_SPKI_set_pubkey @1898 - NETSCAPE_SPKI_sign @351 - NETSCAPE_SPKI_verify @352 - NETSCAPE_X509_free @4246 - NETSCAPE_X509_it @4374 - NETSCAPE_X509_new @4485 - NOTICEREF_free @1503 - NOTICEREF_it @3030 - NOTICEREF_new @1501 - OBJ_NAME_add @1101 - OBJ_NAME_cleanup @1104 - OBJ_NAME_do_all @2939 - OBJ_NAME_do_all_sorted @2743 - OBJ_NAME_get @1105 - OBJ_NAME_init @1106 - OBJ_NAME_new_index @1107 - OBJ_NAME_remove @1108 - OBJ_add_object @353 - OBJ_add_sigid @4259 - OBJ_bsearch_ @4331 - OBJ_bsearch_ex_ @4294 - OBJ_cleanup @355 - OBJ_cmp @356 - OBJ_create @357 - OBJ_create_objects @997 - OBJ_dup @358 - OBJ_find_sigid_algs @4513 - OBJ_find_sigid_by_algs @4210 - OBJ_ln2nid @359 - OBJ_new_nid @360 - OBJ_nid2ln @361 - OBJ_nid2obj @362 - OBJ_nid2sn @363 - OBJ_obj2nid @364 - OBJ_obj2txt @1870 - OBJ_sigid_free @4263 - OBJ_sn2nid @365 - OBJ_txt2nid @366 - OBJ_txt2obj @1167 - OCSP_BASICRESP_add1_ext_i2d @2839 - OCSP_BASICRESP_add_ext @2556 - OCSP_BASICRESP_delete_ext @2553 - OCSP_BASICRESP_free @2838 - OCSP_BASICRESP_get1_ext_d2i @2905 - OCSP_BASICRESP_get_ext @3134 - OCSP_BASICRESP_get_ext_by_NID @3083 - OCSP_BASICRESP_get_ext_by_OBJ @2577 - OCSP_BASICRESP_get_ext_by_critical @2646 - OCSP_BASICRESP_get_ext_count @3014 - OCSP_BASICRESP_it @2800 - OCSP_BASICRESP_new @3077 - OCSP_CERTID_dup @4355 - OCSP_CERTID_free @2726 - OCSP_CERTID_it @2534 - OCSP_CERTID_new @3043 - OCSP_CERTSTATUS_free @2653 - OCSP_CERTSTATUS_it @3116 - OCSP_CERTSTATUS_new @2603 - OCSP_CRLID_free @2904 - OCSP_CRLID_it @3127 - OCSP_CRLID_new @2910 - OCSP_ONEREQ_add1_ext_i2d @3145 - OCSP_ONEREQ_add_ext @2934 - OCSP_ONEREQ_delete_ext @3166 - OCSP_ONEREQ_free @2796 - OCSP_ONEREQ_get1_ext_d2i @2545 - OCSP_ONEREQ_get_ext @2851 - OCSP_ONEREQ_get_ext_by_NID @2733 - OCSP_ONEREQ_get_ext_by_OBJ @2859 - OCSP_ONEREQ_get_ext_by_critical @2919 - OCSP_ONEREQ_get_ext_count @2717 - OCSP_ONEREQ_it @2912 - OCSP_ONEREQ_new @3153 - OCSP_REQINFO_free @2884 - OCSP_REQINFO_it @3001 - OCSP_REQINFO_new @3133 - OCSP_REQUEST_add1_ext_i2d @2828 - OCSP_REQUEST_add_ext @2710 - OCSP_REQUEST_delete_ext @2794 - OCSP_REQUEST_free @2827 - OCSP_REQUEST_get1_ext_d2i @2886 - OCSP_REQUEST_get_ext @2635 - OCSP_REQUEST_get_ext_by_NID @3078 - OCSP_REQUEST_get_ext_by_OBJ @2565 - OCSP_REQUEST_get_ext_by_critical @3161 - OCSP_REQUEST_get_ext_count @3129 - OCSP_REQUEST_it @2799 - OCSP_REQUEST_new @3034 - OCSP_REQUEST_print @2981 - OCSP_REQ_CTX_add1_header @4541 - OCSP_REQ_CTX_free @3921 - OCSP_REQ_CTX_get0_mem_bio @4709 - OCSP_REQ_CTX_http @4713 - OCSP_REQ_CTX_i2d @4708 - OCSP_REQ_CTX_nbio @4714 - OCSP_REQ_CTX_nbio_d2i @4718 - OCSP_REQ_CTX_new @4717 - OCSP_REQ_CTX_set1_req @4542 - OCSP_RESPBYTES_free @2926 - OCSP_RESPBYTES_it @2811 - OCSP_RESPBYTES_new @2711 - OCSP_RESPDATA_free @2818 - OCSP_RESPDATA_it @2968 - OCSP_RESPDATA_new @2688 - OCSP_RESPID_free @3124 - OCSP_RESPID_it @2994 - OCSP_RESPID_new @2967 - OCSP_RESPONSE_free @3173 - OCSP_RESPONSE_it @3111 - OCSP_RESPONSE_new @3023 - OCSP_RESPONSE_print @2749 - OCSP_REVOKEDINFO_free @2690 - OCSP_REVOKEDINFO_it @3032 - OCSP_REVOKEDINFO_new @2954 - OCSP_SERVICELOC_free @2876 - OCSP_SERVICELOC_it @2740 - OCSP_SERVICELOC_new @2610 - OCSP_SIGNATURE_free @3094 - OCSP_SIGNATURE_it @2554 - OCSP_SIGNATURE_new @2863 - OCSP_SINGLERESP_add1_ext_i2d @2866 - OCSP_SINGLERESP_add_ext @2975 - OCSP_SINGLERESP_delete_ext @2871 - OCSP_SINGLERESP_free @2707 - OCSP_SINGLERESP_get1_ext_d2i @2928 - OCSP_SINGLERESP_get_ext @2903 - OCSP_SINGLERESP_get_ext_by_NID @2825 - OCSP_SINGLERESP_get_ext_by_OBJ @2965 - OCSP_SINGLERESP_get_ext_by_critical @2652 - OCSP_SINGLERESP_get_ext_count @2579 - OCSP_SINGLERESP_it @2951 - OCSP_SINGLERESP_new @2758 - OCSP_accept_responses_new @3058 - OCSP_archive_cutoff_new @2574 - OCSP_basic_add1_cert @2600 - OCSP_basic_add1_nonce @2956 - OCSP_basic_add1_status @3123 - OCSP_basic_sign @2897 - OCSP_basic_verify @3048 - OCSP_cert_id_new @2921 - OCSP_cert_status_str @2647 - OCSP_cert_to_id @2966 - OCSP_check_nonce @2899 - OCSP_check_validity @2971 - OCSP_copy_nonce @2686 - OCSP_crlID_new @3181 - OCSP_crl_reason_str @2844 - OCSP_id_cmp @3076 - OCSP_id_get0_info @2960 - OCSP_id_issuer_cmp @2938 - OCSP_onereq_get0_id @3028 - OCSP_parse_url @2902 - OCSP_request_add0_id @3113 - OCSP_request_add1_cert @3117 - OCSP_request_add1_nonce @2874 - OCSP_request_is_signed @2590 - OCSP_request_onereq_count @3047 - OCSP_request_onereq_get0 @3101 - OCSP_request_set1_name @2716 - OCSP_request_sign @2935 - OCSP_request_verify @2703 - OCSP_resp_count @3025 - OCSP_resp_find @2605 - OCSP_resp_find_status @2713 - OCSP_resp_get0 @2593 - OCSP_response_create @3158 - OCSP_response_get1_basic @3164 - OCSP_response_status @2561 - OCSP_response_status_str @2598 - OCSP_sendreq_bio @2551 - OCSP_sendreq_nbio @3923 - OCSP_sendreq_new @3924 - OCSP_set_max_response_length @4716 - OCSP_single_get0_status @2989 - OCSP_url_svcloc_new @2973 - OPENSSL_DIR_end @3396 - OPENSSL_DIR_read @3657 - OPENSSL_add_all_algorithms_conf @3213 - OPENSSL_add_all_algorithms_noconf @3212 - OPENSSL_asc2uni @1282 - OPENSSL_cleanse @3245 - OPENSSL_config @3188 - OPENSSL_cpuid_setup @4675 - OPENSSL_gmtime @4567 - OPENSSL_gmtime_adj @4568 - OPENSSL_gmtime_diff @4745 - OPENSSL_ia32cap_loc @3467 - OPENSSL_init @4091 - OPENSSL_isservice @4048 - OPENSSL_issetugid @2465 - OPENSSL_load_builtin_modules @3214 - OPENSSL_memcmp @4565 - OPENSSL_no_config @3228 - OPENSSL_showfatal @4676 - OPENSSL_stderr @4674 - OPENSSL_strcasecmp @4564 - OPENSSL_strncasecmp @4566 - OPENSSL_uni2asc @1283 - OTHERNAME_cmp @4224 - OTHERNAME_free @2112 - OTHERNAME_it @2820 - OTHERNAME_new @1999 - OpenSSLDie @3244 - OpenSSL_add_all_ciphers @509 - OpenSSL_add_all_digests @510 - PBE2PARAM_free @1404 - PBE2PARAM_it @2753 - PBE2PARAM_new @1402 - PBEPARAM_free @1313 - PBEPARAM_it @3002 - PBEPARAM_new @1311 - PBKDF2PARAM_free @1400 - PBKDF2PARAM_it @2548 - PBKDF2PARAM_new @1398 - PEM_ASN1_read @367 - PEM_ASN1_read_bio @368 - PEM_ASN1_write @369 - PEM_ASN1_write_bio @370 - PEM_SealFinal @371 - PEM_SealInit @372 - PEM_SealUpdate @373 - PEM_SignFinal @374 - PEM_SignInit @375 - PEM_SignUpdate @376 - PEM_X509_INFO_read @377 - PEM_X509_INFO_read_bio @378 - PEM_X509_INFO_write_bio @379 - PEM_bytes_read_bio @2766 - PEM_def_callback @2948 - PEM_dek_info @380 - PEM_do_header @381 - PEM_get_EVP_CIPHER_INFO @382 - PEM_proc_type @383 - PEM_read @384 - PEM_read_CMS @3983 - PEM_read_DHparams @385 - PEM_read_DSAPrivateKey @386 - PEM_read_DSA_PUBKEY @1984 - PEM_read_DSAparams @387 - PEM_read_ECPKParameters @3683 - PEM_read_ECPrivateKey @3632 - PEM_read_EC_PUBKEY @3618 - PEM_read_NETSCAPE_CERT_SEQUENCE @1168 - PEM_read_PKCS7 @388 - PEM_read_PKCS8 @1782 - PEM_read_PKCS8_PRIV_KEY_INFO @1786 - PEM_read_PUBKEY @2012 - PEM_read_PrivateKey @389 - PEM_read_RSAPrivateKey @390 - PEM_read_RSAPublicKey @947 - PEM_read_RSA_PUBKEY @1977 - PEM_read_X509 @391 - PEM_read_X509_AUX @1917 - PEM_read_X509_CERT_PAIR @3507 - PEM_read_X509_CRL @392 - PEM_read_X509_REQ @393 - PEM_read_bio @394 - PEM_read_bio_CMS @4014 - PEM_read_bio_DHparams @395 - PEM_read_bio_DSAPrivateKey @396 - PEM_read_bio_DSA_PUBKEY @2088 - PEM_read_bio_DSAparams @397 - PEM_read_bio_ECPKParameters @3408 - PEM_read_bio_ECPrivateKey @3714 - PEM_read_bio_EC_PUBKEY @3519 - PEM_read_bio_NETSCAPE_CERT_SEQUENCE @1169 - PEM_read_bio_PKCS7 @398 - PEM_read_bio_PKCS8 @1787 - PEM_read_bio_PKCS8_PRIV_KEY_INFO @1778 - PEM_read_bio_PUBKEY @1995 - PEM_read_bio_Parameters @4489 - PEM_read_bio_PrivateKey @399 - PEM_read_bio_RSAPrivateKey @400 - PEM_read_bio_RSAPublicKey @943 - PEM_read_bio_RSA_PUBKEY @2081 - PEM_read_bio_X509 @401 - PEM_read_bio_X509_AUX @1959 - PEM_read_bio_X509_CERT_PAIR @3753 - PEM_read_bio_X509_CRL @402 - PEM_read_bio_X509_REQ @403 - PEM_write @404 - PEM_write_CMS @3939 - PEM_write_DHparams @405 - PEM_write_DHxparams @4686 - PEM_write_DSAPrivateKey @406 - PEM_write_DSA_PUBKEY @2101 - PEM_write_DSAparams @407 - PEM_write_ECPKParameters @3643 - PEM_write_ECPrivateKey @3679 - PEM_write_EC_PUBKEY @3609 - PEM_write_NETSCAPE_CERT_SEQUENCE @1170 - PEM_write_PKCS7 @408 - PEM_write_PKCS8PrivateKey @1798 - PEM_write_PKCS8PrivateKey_nid @2165 - PEM_write_PKCS8 @1785 - PEM_write_PKCS8_PRIV_KEY_INFO @1788 - PEM_write_PUBKEY @1921 - PEM_write_PrivateKey @409 - PEM_write_RSAPrivateKey @410 - PEM_write_RSAPublicKey @949 - PEM_write_RSA_PUBKEY @2095 - PEM_write_X509 @411 - PEM_write_X509_AUX @2039 - PEM_write_X509_CERT_PAIR @3696 - PEM_write_X509_CRL @412 - PEM_write_X509_REQ @413 - PEM_write_X509_REQ_NEW @2251 - PEM_write_bio @414 - PEM_write_bio_ASN1_stream @4499 - PEM_write_bio_CMS @3960 - PEM_write_bio_CMS_stream @4466 - PEM_write_bio_DHparams @415 - PEM_write_bio_DHxparams @4690 - PEM_write_bio_DSAPrivateKey @416 - PEM_write_bio_DSA_PUBKEY @1968 - PEM_write_bio_DSAparams @417 - PEM_write_bio_ECPKParameters @3456 - PEM_write_bio_ECPrivateKey @3424 - PEM_write_bio_EC_PUBKEY @3481 - PEM_write_bio_NETSCAPE_CERT_SEQUENCE @1171 - PEM_write_bio_PKCS7 @418 - PEM_write_bio_PKCS7_stream @4189 - PEM_write_bio_PKCS8PrivateKey @1797 - PEM_write_bio_PKCS8PrivateKey_nid @2166 - PEM_write_bio_PKCS8 @1776 - PEM_write_bio_PKCS8_PRIV_KEY_INFO @1781 - PEM_write_bio_PUBKEY @2117 - PEM_write_bio_Parameters @4410 - PEM_write_bio_PrivateKey @419 - PEM_write_bio_RSAPrivateKey @420 - PEM_write_bio_RSAPublicKey @944 - PEM_write_bio_RSA_PUBKEY @1961 - PEM_write_bio_X509 @421 - PEM_write_bio_X509_AUX @2066 - PEM_write_bio_X509_CERT_PAIR @3432 - PEM_write_bio_X509_CRL @422 - PEM_write_bio_X509_REQ @423 - PEM_write_bio_X509_REQ_NEW @2250 - PKCS12_AUTHSAFES_it @2719 - PKCS12_BAGS_free @1287 - PKCS12_BAGS_it @2972 - PKCS12_BAGS_new @1285 - PKCS12_MAC_DATA_free @1295 - PKCS12_MAC_DATA_it @3057 - PKCS12_MAC_DATA_new @1293 - PKCS12_MAKE_KEYBAG @1263 - PKCS12_MAKE_SHKEYBAG @1265 - PKCS12_PBE_add @1301 - PKCS12_PBE_keyivgen @1517 - PKCS12_SAFEBAGS_it @2872 - PKCS12_SAFEBAG_free @1299 - PKCS12_SAFEBAG_it @2700 - PKCS12_SAFEBAG_new @1297 - PKCS12_add_CSPName_asc @2615 - PKCS12_add_cert @3726 - PKCS12_add_friendlyname_asc @1269 - PKCS12_add_friendlyname_uni @1270 - PKCS12_add_key @3761 - PKCS12_add_localkeyid @1268 - PKCS12_add_safe @3352 - PKCS12_add_safes @3464 - PKCS12_certbag2x509 @2672 - PKCS12_certbag2x509crl @2754 - PKCS12_create @1305 - PKCS12_decrypt_skey @2734 - PKCS12_free @1291 - PKCS12_gen_mac @1278 - PKCS12_get_attr_gen @1303 - PKCS12_get_friendlyname @1271 - PKCS12_init @1275 - PKCS12_item_decrypt_d2i @2526 - PKCS12_item_i2d_encrypt @2696 - PKCS12_item_pack_safebag @2887 - PKCS12_it @2651 - PKCS12_key_gen_asc @1276 - PKCS12_key_gen_uni @1277 - PKCS12_new @1290 - PKCS12_newpass @2141 - PKCS12_pack_authsafes @2721 - PKCS12_pack_p7data @1266 - PKCS12_pack_p7encdata @1267 - PKCS12_parse @1304 - PKCS12_pbe_crypt @1272 - PKCS12_set_mac @1280 - PKCS12_setup_mac @1281 - PKCS12_unpack_authsafes @2639 - PKCS12_unpack_p7data @2684 - PKCS12_unpack_p7encdata @2746 - PKCS12_verify_mac @1279 - PKCS12_x5092certbag @3108 - PKCS12_x509crl2certbag @2739 - PKCS1_MGF1 @3324 - PKCS5_PBE_add @1775 - PKCS5_PBE_keyivgen @1789 - PKCS5_PBKDF2_HMAC @4515 - PKCS5_PBKDF2_HMAC_SHA1 @1795 - PKCS5_pbe2_set @1794 - PKCS5_pbe2_set_iv @4341 - PKCS5_pbe_set0_algor @4238 - PKCS5_pbe_set @1323 - PKCS5_pbkdf2_set @4657 - PKCS5_v2_PBE_keyivgen @1796 - PKCS7_ATTR_SIGN_it @2632 - PKCS7_ATTR_VERIFY_it @3060 - PKCS7_DIGEST_free @424 - PKCS7_DIGEST_it @3107 - PKCS7_DIGEST_new @425 - PKCS7_ENCRYPT_free @426 - PKCS7_ENCRYPT_it @2681 - PKCS7_ENCRYPT_new @427 - PKCS7_ENC_CONTENT_free @428 - PKCS7_ENC_CONTENT_it @3112 - PKCS7_ENC_CONTENT_new @429 - PKCS7_ENVELOPE_free @430 - PKCS7_ENVELOPE_it @2537 - PKCS7_ENVELOPE_new @431 - PKCS7_ISSUER_AND_SERIAL_digest @432 - PKCS7_ISSUER_AND_SERIAL_free @433 - PKCS7_ISSUER_AND_SERIAL_it @2752 - PKCS7_ISSUER_AND_SERIAL_new @434 - PKCS7_RECIP_INFO_free @435 - PKCS7_RECIP_INFO_get0_alg @4226 - PKCS7_RECIP_INFO_it @3097 - PKCS7_RECIP_INFO_new @436 - PKCS7_RECIP_INFO_set @1072 - PKCS7_SIGNED_free @437 - PKCS7_SIGNED_it @2755 - PKCS7_SIGNED_new @438 - PKCS7_SIGNER_INFO_free @439 - PKCS7_SIGNER_INFO_get0_algs @4376 - PKCS7_SIGNER_INFO_it @2698 - PKCS7_SIGNER_INFO_new @440 - PKCS7_SIGNER_INFO_set @930 - PKCS7_SIGNER_INFO_sign @4260 - PKCS7_SIGN_ENVELOPE_free @441 - PKCS7_SIGN_ENVELOPE_it @2882 - PKCS7_SIGN_ENVELOPE_new @442 - PKCS7_add0_attrib_signing_time @4131 - PKCS7_add1_attrib_digest @4406 - PKCS7_add_attrib_content_type @4444 - PKCS7_add_attrib_smimecap @2156 - PKCS7_add_attribute @1138 - PKCS7_add_certificate @932 - PKCS7_add_crl @933 - PKCS7_add_recipient @1073 - PKCS7_add_recipient_info @1074 - PKCS7_add_signature @938 - PKCS7_add_signed_attribute @1139 - PKCS7_add_signer @931 - PKCS7_cert_from_signer_info @939 - PKCS7_content_new @934 - PKCS7_ctrl @927 - PKCS7_dataDecode @1246 - PKCS7_dataFinal @1245 - PKCS7_dataInit @937 - PKCS7_dataVerify @936 - PKCS7_decrypt @2151 - PKCS7_digest_from_attributes @1140 - PKCS7_dup @443 - PKCS7_encrypt @2146 - PKCS7_final @4229 - PKCS7_free @444 - PKCS7_get0_signers @2150 - PKCS7_get_attribute @1141 - PKCS7_get_issuer_and_serial @1142 - PKCS7_get_signed_attribute @1143 - PKCS7_get_signer_info @940 - PKCS7_get_smimecap @2154 - PKCS7_it @3160 - PKCS7_new @445 - PKCS7_print_ctx @4358 - PKCS7_set0_type_other @3752 - PKCS7_set_attributes @1153 - PKCS7_set_cipher @1075 - PKCS7_set_content @929 - PKCS7_set_digest @3741 - PKCS7_set_signed_attributes @1154 - PKCS7_set_type @928 - PKCS7_sign @2155 - PKCS7_sign_add_signer @4335 - PKCS7_signatureVerify @1845 - PKCS7_simple_smimecap @2153 - PKCS7_stream @4481 - PKCS7_to_TS_TST_INFO @4273 - PKCS7_verify @2145 - PKCS8_PRIV_KEY_INFO_free @1317 - PKCS8_PRIV_KEY_INFO_it @3000 - PKCS8_PRIV_KEY_INFO_new @1315 - PKCS8_add_keyusage @1302 - PKCS8_decrypt @2765 - PKCS8_encrypt @1264 - PKCS8_pkey_get0 @4257 - PKCS8_pkey_set0 @4304 - PKCS8_set_broken @1320 - PKEY_USAGE_PERIOD_free @1235 - PKEY_USAGE_PERIOD_it @2638 - PKEY_USAGE_PERIOD_new @1234 - POLICYINFO_free @1491 - POLICYINFO_it @2991 - POLICYINFO_new @1489 - POLICYQUALINFO_free @1495 - POLICYQUALINFO_it @2619 - POLICYQUALINFO_new @1493 - POLICY_CONSTRAINTS_free @3344 - POLICY_CONSTRAINTS_it @3649 - POLICY_CONSTRAINTS_new @3547 - POLICY_MAPPINGS_it @3693 - POLICY_MAPPING_free @3419 - POLICY_MAPPING_it @3342 - POLICY_MAPPING_new @3746 - PROXY_CERT_INFO_EXTENSION_free @3306 - PROXY_CERT_INFO_EXTENSION_it @3307 - PROXY_CERT_INFO_EXTENSION_new @3305 - PROXY_POLICY_free @3308 - PROXY_POLICY_it @3301 - PROXY_POLICY_new @3309 - RAND_SSLeay @1113 - RAND_add @2201 - RAND_bytes @464 - RAND_cleanup @465 - RAND_egd @2253 - RAND_egd_bytes @2402 - RAND_event @2258 - RAND_file_name @466 - RAND_get_rand_method @1137 - RAND_load_file @467 - RAND_poll @2423 - RAND_pseudo_bytes @2206 - RAND_query_egd_bytes @2945 - RAND_screen @468 - RAND_seed @469 - RAND_set_rand_engine @2730 - RAND_set_rand_method @1114 - RAND_status @2254 - RAND_write_file @470 - RC2_cbc_encrypt @471 - RC2_cfb64_encrypt @472 - RC2_decrypt @995 - RC2_ecb_encrypt @473 - RC2_encrypt @474 - RC2_ofb64_encrypt @475 - RC2_set_key @476 - RC4 @477 - RC4_options @478 - RC4_set_key @479 - RIPEMD160 @1045 - RIPEMD160_Final @1044 - RIPEMD160_Init @1042 - RIPEMD160_Transform @1046 - RIPEMD160_Update @1043 - RSAPrivateKey_dup @481 - RSAPrivateKey_it @2906 - RSAPublicKey_dup @482 - RSAPublicKey_it @2737 - RSA_OAEP_PARAMS_free @4736 - RSA_OAEP_PARAMS_it @4738 - RSA_OAEP_PARAMS_new @4721 - RSA_PKCS1_SSLeay @483 - RSA_PSS_PARAMS_free @4668 - RSA_PSS_PARAMS_it @4667 - RSA_PSS_PARAMS_new @4663 - RSA_X931_hash_id @3319 - RSA_blinding_off @978 - RSA_blinding_on @977 - RSA_check_key @1869 - RSA_flags @956 - RSA_free @484 - RSA_generate_key @485 - RSA_generate_key_ex @3686 - RSA_get_default_method @1848 - RSA_get_ex_data @1029 - RSA_get_ex_new_index @1030 - RSA_get_method @1847 - RSA_memory_lock @1115 - RSA_new @486 - RSA_new_method @487 - RSA_null_method @1904 - RSA_padding_add_PKCS1_OAEP @1226 - RSA_padding_add_PKCS1_OAEP_mgf1 @4757 - RSA_padding_add_PKCS1_PSS @3323 - RSA_padding_add_PKCS1_PSS_mgf1 @4594 - RSA_padding_add_PKCS1_type_1 @1031 - RSA_padding_add_PKCS1_type_2 @1032 - RSA_padding_add_SSLv23 @1033 - RSA_padding_add_X931 @3322 - RSA_padding_add_none @1034 - RSA_padding_check_PKCS1_OAEP @1227 - RSA_padding_check_PKCS1_OAEP_mgf1 @4754 - RSA_padding_check_PKCS1_type_1 @1035 - RSA_padding_check_PKCS1_type_2 @1036 - RSA_padding_check_SSLv23 @1037 - RSA_padding_check_X931 @3320 - RSA_padding_check_none @1038 - RSA_print @488 - RSA_print_fp @489 - RSA_private_decrypt @490 - RSA_private_encrypt @491 - RSA_public_decrypt @492 - RSA_public_encrypt @493 - RSA_set_default_method @494 - RSA_set_ex_data @1028 - RSA_set_method @1846 - RSA_setup_blinding @3541 - RSA_sign @495 - RSA_sign_ASN1_OCTET_STRING @496 - RSA_size @497 - RSA_up_ref @2760 - RSA_verify @498 - RSA_verify_ASN1_OCTET_STRING @499 - RSA_verify_PKCS1_PSS @3321 - RSA_verify_PKCS1_PSS_mgf1 @4607 - SEED_cbc_encrypt @3910 - SEED_cfb128_encrypt @3912 - SEED_decrypt @3908 - SEED_ecb_encrypt @3915 - SEED_encrypt @3909 - SEED_ofb128_encrypt @3913 - SEED_set_key @3917 - SHA1 @501 - SHA1_Final @502 - SHA1_Init @503 - SHA1_Transform @1012 - SHA1_Update @504 - SHA224 @3510 - SHA224_Final @3560 - SHA224_Init @3631 - SHA224_Update @3562 - SHA256 @3654 - SHA256_Final @3712 - SHA256_Init @3479 - SHA256_Transform @3664 - SHA256_Update @3765 - SHA384 @3745 - SHA384_Final @3740 - SHA384_Init @3737 - SHA384_Update @3551 - SHA512 @3669 - SHA512_Final @3581 - SHA512_Init @3633 - SHA512_Transform @3675 - SHA512_Update @3356 - SHA @500 - SHA_Final @505 - SHA_Init @506 - SHA_Transform @1013 - SHA_Update @507 - SMIME_crlf_copy @2148 - SMIME_read_ASN1 @4017 - SMIME_read_CMS @3949 - SMIME_read_PKCS7 @2143 - SMIME_text @2152 - SMIME_write_ASN1 @4161 - SMIME_write_CMS @3994 - SMIME_write_PKCS7 @2142 - SRP_Calc_A @4581 - SRP_Calc_B @4578 - SRP_Calc_client_key @4575 - SRP_Calc_server_key @4570 - SRP_Calc_u @4573 - SRP_Calc_x @4577 - SRP_VBASE_free @4574 - SRP_VBASE_get1_by_user @2393 - SRP_VBASE_get_by_user @4569 - SRP_VBASE_init @4583 - SRP_VBASE_new @4579 - SRP_Verify_A_mod_N @4582 - SRP_Verify_B_mod_N @4584 - SRP_check_known_gN_param @4580 - SRP_create_verifier @4571 - SRP_create_verifier_BN @4572 - SRP_get_default_gN @4576 - SRP_user_pwd_free @2394 - SSLeay_version @2 - SXNETID_free @1332 - SXNETID_it @2669 - SXNETID_new @1331 - SXNET_add_id_INTEGER @1479 - SXNET_add_id_asc @1477 - SXNET_add_id_ulong @1478 - SXNET_free @1328 - SXNET_get_id_INTEGER @1482 - SXNET_get_id_asc @1480 - SXNET_get_id_ulong @1481 - SXNET_it @2613 - SXNET_new @1327 - TS_ACCURACY_dup @4397 - TS_ACCURACY_free @4486 - TS_ACCURACY_get_micros @4492 - TS_ACCURACY_get_millis @4395 - TS_ACCURACY_get_seconds @4352 - TS_ACCURACY_new @4240 - TS_ACCURACY_set_micros @4525 - TS_ACCURACY_set_millis @4145 - TS_ACCURACY_set_seconds @4255 - TS_ASN1_INTEGER_print_bio @4521 - TS_CONF_get_tsa_section @4160 - TS_CONF_load_cert @4123 - TS_CONF_load_certs @4312 - TS_CONF_load_key @4168 - TS_CONF_set_accuracy @4450 - TS_CONF_set_certs @4319 - TS_CONF_set_clock_precision_digits @4490 - TS_CONF_set_crypto_device @4473 - TS_CONF_set_def_policy @4483 - TS_CONF_set_default_engine @4254 - TS_CONF_set_digests @4234 - TS_CONF_set_ess_cert_id_chain @4380 - TS_CONF_set_ordering @4436 - TS_CONF_set_policies @4475 - TS_CONF_set_serial @4347 - TS_CONF_set_signer_cert @4534 - TS_CONF_set_signer_key @4394 - TS_CONF_set_tsa_name @4196 - TS_MSG_IMPRINT_dup @4357 - TS_MSG_IMPRINT_free @4479 - TS_MSG_IMPRINT_get_algo @4185 - TS_MSG_IMPRINT_get_msg @4326 - TS_MSG_IMPRINT_new @4468 - TS_MSG_IMPRINT_print_bio @4190 - TS_MSG_IMPRINT_set_algo @4155 - TS_MSG_IMPRINT_set_msg @4457 - TS_OBJ_print_bio @4268 - TS_REQ_add_ext @4329 - TS_REQ_delete_ext @4205 - TS_REQ_dup @4146 - TS_REQ_ext_free @4177 - TS_REQ_free @4459 - TS_REQ_get_cert_req @4302 - TS_REQ_get_ext @4124 - TS_REQ_get_ext_by_NID @4237 - TS_REQ_get_ext_by_OBJ @4533 - TS_REQ_get_ext_by_critical @4322 - TS_REQ_get_ext_count @4283 - TS_REQ_get_ext_d2i @4420 - TS_REQ_get_exts @4461 - TS_REQ_get_msg_imprint @4209 - TS_REQ_get_nonce @4212 - TS_REQ_get_policy_id @4192 - TS_REQ_get_version @4328 - TS_REQ_new @4467 - TS_REQ_print_bio @4186 - TS_REQ_set_cert_req @4345 - TS_REQ_set_msg_imprint @4232 - TS_REQ_set_nonce @4280 - TS_REQ_set_policy_id @4138 - TS_REQ_set_version @4438 - TS_REQ_to_TS_VERIFY_CTX @4526 - TS_RESP_CTX_add_failure_info @4463 - TS_RESP_CTX_add_flags @4455 - TS_RESP_CTX_add_md @4407 - TS_RESP_CTX_add_policy @4310 - TS_RESP_CTX_free @4538 - TS_RESP_CTX_get_request @4423 - TS_RESP_CTX_get_tst_info @4414 - TS_RESP_CTX_new @4227 - TS_RESP_CTX_set_accuracy @4279 - TS_RESP_CTX_set_certs @4482 - TS_RESP_CTX_set_clock_precision_digits @4462 - TS_RESP_CTX_set_def_policy @4373 - TS_RESP_CTX_set_extension_cb @4366 - TS_RESP_CTX_set_serial_cb @4323 - TS_RESP_CTX_set_signer_cert @4231 - TS_RESP_CTX_set_signer_key @4162 - TS_RESP_CTX_set_status_info @4184 - TS_RESP_CTX_set_status_info_cond @4368 - TS_RESP_CTX_set_time_cb @4325 - TS_RESP_create_response @4375 - TS_RESP_dup @4128 - TS_RESP_free @4402 - TS_RESP_get_status_info @4270 - TS_RESP_get_token @4396 - TS_RESP_get_tst_info @4487 - TS_RESP_new @4202 - TS_RESP_print_bio @4338 - TS_RESP_set_status_info @4142 - TS_RESP_set_tst_info @4228 - TS_RESP_verify_response @4350 - TS_RESP_verify_signature @4415 - TS_RESP_verify_token @4293 - TS_STATUS_INFO_dup @4204 - TS_STATUS_INFO_free @4292 - TS_STATUS_INFO_new @4418 - TS_STATUS_INFO_print_bio @4219 - TS_TST_INFO_add_ext @4275 - TS_TST_INFO_delete_ext @4390 - TS_TST_INFO_dup @4408 - TS_TST_INFO_ext_free @4327 - TS_TST_INFO_free @4348 - TS_TST_INFO_get_accuracy @4411 - TS_TST_INFO_get_ext @4529 - TS_TST_INFO_get_ext_by_NID @4201 - TS_TST_INFO_get_ext_by_OBJ @4158 - TS_TST_INFO_get_ext_by_critical @4531 - TS_TST_INFO_get_ext_count @4422 - TS_TST_INFO_get_ext_d2i @4309 - TS_TST_INFO_get_exts @4339 - TS_TST_INFO_get_msg_imprint @4313 - TS_TST_INFO_get_nonce @4377 - TS_TST_INFO_get_ordering @4337 - TS_TST_INFO_get_policy_id @4301 - TS_TST_INFO_get_serial @4211 - TS_TST_INFO_get_time @4256 - TS_TST_INFO_get_tsa @4417 - TS_TST_INFO_get_version @4315 - TS_TST_INFO_new @4252 - TS_TST_INFO_print_bio @4285 - TS_TST_INFO_set_accuracy @4443 - TS_TST_INFO_set_msg_imprint @4505 - TS_TST_INFO_set_nonce @4127 - TS_TST_INFO_set_ordering @4157 - TS_TST_INFO_set_policy_id @4379 - TS_TST_INFO_set_serial @4471 - TS_TST_INFO_set_time @4134 - TS_TST_INFO_set_tsa @4447 - TS_TST_INFO_set_version @4413 - TS_VERIFY_CTX_cleanup @4291 - TS_VERIFY_CTX_free @4321 - TS_VERIFY_CTX_init @4480 - TS_VERIFY_CTX_new @4365 - TS_X509_ALGOR_print_bio @4501 - TS_ext_print_bio @4520 - TXT_DB_create_index @511 - TXT_DB_free @512 - TXT_DB_get_by_index @513 - TXT_DB_insert @514 - TXT_DB_read @515 - TXT_DB_write @516 - UI_OpenSSL @2947 - UI_UTIL_read_pw @3208 - UI_UTIL_read_pw_string @3209 - UI_add_error_string @2633 - UI_add_info_string @3148 - UI_add_input_boolean @2538 - UI_add_input_string @3126 - UI_add_user_data @2793 - UI_add_verify_string @3064 - UI_construct_prompt @2585 - UI_create_method @3144 - UI_ctrl @2580 - UI_destroy_method @2857 - UI_dup_error_string @2736 - UI_dup_info_string @2649 - UI_dup_input_boolean @2614 - UI_dup_input_string @2587 - UI_dup_verify_string @3119 - UI_free @2892 - UI_get0_action_string @2850 - UI_get0_output_string @3118 - UI_get0_result @2718 - UI_get0_result_string @2845 - UI_get0_test_string @3007 - UI_get0_user_data @2783 - UI_get_default_method @2694 - UI_get_ex_data @2691 - UI_get_ex_new_index @2932 - UI_get_input_flags @2723 - UI_get_method @2795 - UI_get_result_maxsize @3042 - UI_get_result_minsize @3149 - UI_get_string_type @2916 - UI_method_get_closer @3045 - UI_method_get_flusher @2678 - UI_method_get_opener @2979 - UI_method_get_prompt_constructor @4550 - UI_method_get_reader @3013 - UI_method_get_writer @2946 - UI_method_set_closer @2558 - UI_method_set_flusher @2789 - UI_method_set_opener @3140 - UI_method_set_prompt_constructor @4551 - UI_method_set_reader @3174 - UI_method_set_writer @3102 - UI_new @3157 - UI_new_method @2893 - UI_process @2913 - UI_set_default_method @2944 - UI_set_ex_data @2807 - UI_set_method @2959 - UI_set_result @3016 - USERNOTICE_free @1499 - USERNOTICE_it @3132 - USERNOTICE_new @1497 - UTF8_getc @1903 - UTF8_putc @1902 - WHIRLPOOL @4149 - WHIRLPOOL_BitUpdate @4199 - WHIRLPOOL_Final @4370 - WHIRLPOOL_Init @4141 - WHIRLPOOL_Update @4449 - X509V3_EXT_CRL_add_conf @1247 - X509V3_EXT_CRL_add_nconf @3031 - X509V3_EXT_REQ_add_conf @1896 - X509V3_EXT_REQ_add_nconf @2627 - X509V3_EXT_add @1172 - X509V3_EXT_add_alias @1173 - X509V3_EXT_add_conf @1174 - X509V3_EXT_add_list @1648 - X509V3_EXT_add_nconf @2832 - X509V3_EXT_add_nconf_sk @2763 - X509V3_EXT_cleanup @1175 - X509V3_EXT_conf @1176 - X509V3_EXT_conf_nid @1177 - X509V3_EXT_d2i @1238 - X509V3_EXT_free @4763 - X509V3_EXT_get @1178 - X509V3_EXT_get_nid @1179 - X509V3_EXT_i2d @1646 - X509V3_EXT_nconf @2540 - X509V3_EXT_nconf_nid @2942 - X509V3_EXT_print @1180 - X509V3_EXT_print_fp @1181 - X509V3_EXT_val_prn @1647 - X509V3_NAME_from_section @3689 - X509V3_add1_i2d @2536 - X509V3_add_standard_extensions @1182 - X509V3_add_value @1183 - X509V3_add_value_bool @1184 - X509V3_add_value_bool_nf @1651 - X509V3_add_value_int @1185 - X509V3_add_value_uchar @1549 - X509V3_conf_free @1186 - X509V3_extensions_print @3085 - X509V3_get_d2i @2026 - X509V3_get_section @1505 - X509V3_get_string @1504 - X509V3_get_value_bool @1187 - X509V3_get_value_int @1188 - X509V3_parse_list @1189 - X509V3_section_free @1507 - X509V3_set_conf_lhash @1483 - X509V3_set_ctx @1508 - X509V3_set_nconf @2695 - X509V3_string_free @1506 - X509_ALGORS_it @3926 - X509_ALGOR_cmp @2398 - X509_ALGOR_dup @1518 - X509_ALGOR_free @517 - X509_ALGOR_get0 @3927 - X509_ALGOR_it @2714 - X509_ALGOR_new @518 - X509_ALGOR_set0 @3928 - X509_ALGOR_set_md @4612 - X509_ATTRIBUTE_count @2193 - X509_ATTRIBUTE_create @1155 - X509_ATTRIBUTE_create_by_NID @2191 - X509_ATTRIBUTE_create_by_OBJ @2194 - X509_ATTRIBUTE_create_by_txt @2218 - X509_ATTRIBUTE_dup @1156 - X509_ATTRIBUTE_free @519 - X509_ATTRIBUTE_get0_data @2198 - X509_ATTRIBUTE_get0_object @2195 - X509_ATTRIBUTE_get0_type @2187 - X509_ATTRIBUTE_it @2732 - X509_ATTRIBUTE_new @520 - X509_ATTRIBUTE_set1_data @2188 - X509_ATTRIBUTE_set1_object @2192 - X509_CERT_AUX_free @1926 - X509_CERT_AUX_it @2727 - X509_CERT_AUX_new @2001 - X509_CERT_AUX_print @1982 - X509_CERT_PAIR_free @3578 - X509_CERT_PAIR_it @3534 - X509_CERT_PAIR_new @3684 - X509_CINF_free @521 - X509_CINF_it @2812 - X509_CINF_new @522 - X509_CRL_INFO_free @523 - X509_CRL_INFO_it @3104 - X509_CRL_INFO_new @524 - X509_CRL_METHOD_free @4241 - X509_CRL_METHOD_new @4371 - X509_CRL_add0_revoked @3004 - X509_CRL_add1_ext_i2d @2834 - X509_CRL_add_ext @525 - X509_CRL_check_suiteb @4695 - X509_CRL_cmp @526 - X509_CRL_delete_ext @527 - X509_CRL_diff @4706 - X509_CRL_digest @2391 - X509_CRL_dup @528 - X509_CRL_free @529 - X509_CRL_get0_by_cert @4387 - X509_CRL_get0_by_serial @4412 - X509_CRL_get_ext @530 - X509_CRL_get_ext_by_NID @531 - X509_CRL_get_ext_by_OBJ @532 - X509_CRL_get_ext_by_critical @533 - X509_CRL_get_ext_count @534 - X509_CRL_get_ext_d2i @2009 - X509_CRL_get_meth_data @4324 - X509_CRL_http_nbio @4707 - X509_CRL_it @2555 - X509_CRL_match @4307 - X509_CRL_new @535 - X509_CRL_print @1229 - X509_CRL_print_fp @1228 - X509_CRL_set_default_method @4399 - X509_CRL_set_issuer_name @2742 - X509_CRL_set_lastUpdate @2837 - X509_CRL_set_meth_data @4303 - X509_CRL_set_nextUpdate @2798 - X509_CRL_set_version @2823 - X509_CRL_sign @536 - X509_CRL_sign_ctx @4664 - X509_CRL_sort @2607 - X509_CRL_verify @537 - X509_EXTENSIONS_it @3919 - X509_EXTENSION_create_by_NID @538 - X509_EXTENSION_create_by_OBJ @539 - X509_EXTENSION_dup @540 - X509_EXTENSION_free @541 - X509_EXTENSION_get_critical @542 - X509_EXTENSION_get_data @543 - X509_EXTENSION_get_object @544 - X509_EXTENSION_it @2667 - X509_EXTENSION_new @545 - X509_EXTENSION_set_critical @546 - X509_EXTENSION_set_data @547 - X509_EXTENSION_set_object @548 - X509_INFO_free @549 - X509_INFO_new @550 - X509_LOOKUP_by_alias @551 - X509_LOOKUP_by_fingerprint @552 - X509_LOOKUP_by_issuer_serial @553 - X509_LOOKUP_by_subject @554 - X509_LOOKUP_ctrl @555 - X509_LOOKUP_file @556 - X509_LOOKUP_free @557 - X509_LOOKUP_hash_dir @558 - X509_LOOKUP_init @559 - X509_LOOKUP_new @560 - X509_LOOKUP_shutdown @561 - X509_NAME_ENTRY_create_by_NID @562 - X509_NAME_ENTRY_create_by_OBJ @563 - X509_NAME_ENTRY_create_by_txt @2071 - X509_NAME_ENTRY_dup @564 - X509_NAME_ENTRY_free @565 - X509_NAME_ENTRY_get_data @566 - X509_NAME_ENTRY_get_object @567 - X509_NAME_ENTRY_it @2931 - X509_NAME_ENTRY_new @568 - X509_NAME_ENTRY_set_data @569 - X509_NAME_ENTRY_set_object @570 - X509_NAME_add_entry @571 - X509_NAME_add_entry_by_NID @1914 - X509_NAME_add_entry_by_OBJ @2008 - X509_NAME_add_entry_by_txt @1912 - X509_NAME_cmp @572 - X509_NAME_delete_entry @573 - X509_NAME_digest @574 - X509_NAME_dup @575 - X509_NAME_entry_count @576 - X509_NAME_free @577 - X509_NAME_get_entry @578 - X509_NAME_get_index_by_NID @579 - X509_NAME_get_index_by_OBJ @580 - X509_NAME_get_text_by_NID @581 - X509_NAME_get_text_by_OBJ @582 - X509_NAME_hash @583 - X509_NAME_hash_old @4535 - X509_NAME_it @3131 - X509_NAME_new @584 - X509_NAME_oneline @585 - X509_NAME_print @586 - X509_NAME_print_ex @2431 - X509_NAME_print_ex_fp @2429 - X509_NAME_set @587 - X509_OBJECT_free_contents @588 - X509_OBJECT_idx_by_subject @2450 - X509_OBJECT_retrieve_by_subject @589 - X509_OBJECT_retrieve_match @2449 - X509_OBJECT_up_ref_count @590 - X509_PKEY_free @591 - X509_PKEY_new @592 - X509_POLICY_NODE_print @3736 - X509_PUBKEY_free @593 - X509_PUBKEY_get0_param @4356 - X509_PUBKEY_get @594 - X509_PUBKEY_it @2679 - X509_PUBKEY_new @595 - X509_PUBKEY_set0_param @4213 - X509_PUBKEY_set @596 - X509_PURPOSE_add @2090 - X509_PURPOSE_cleanup @2119 - X509_PURPOSE_get0 @1915 - X509_PURPOSE_get0_name @2011 - X509_PURPOSE_get0_sname @2105 - X509_PURPOSE_get_by_id @1990 - X509_PURPOSE_get_by_sname @1952 - X509_PURPOSE_get_count @2067 - X509_PURPOSE_get_id @1997 - X509_PURPOSE_get_trust @2022 - X509_PURPOSE_set @3138 - X509_REQ_INFO_free @597 - X509_REQ_INFO_it @3139 - X509_REQ_INFO_new @598 - X509_REQ_add1_attr @2214 - X509_REQ_add1_attr_by_NID @2209 - X509_REQ_add1_attr_by_OBJ @2212 - X509_REQ_add1_attr_by_txt @2217 - X509_REQ_add_extensions @1881 - X509_REQ_add_extensions_nid @1879 - X509_REQ_check_private_key @3516 - X509_REQ_delete_attr @2215 - X509_REQ_digest @2362 - X509_REQ_dup @599 - X509_REQ_extension_nid @1875 - X509_REQ_free @600 - X509_REQ_get1_email @2403 - X509_REQ_get_attr @2208 - X509_REQ_get_attr_by_NID @2207 - X509_REQ_get_attr_by_OBJ @2210 - X509_REQ_get_attr_count @2213 - X509_REQ_get_extension_nids @1877 - X509_REQ_get_extensions @1872 - X509_REQ_get_pubkey @601 - X509_REQ_it @2879 - X509_REQ_new @602 - X509_REQ_print @603 - X509_REQ_print_ex @3237 - X509_REQ_print_fp @604 - X509_REQ_set_extension_nids @1873 - X509_REQ_set_pubkey @605 - X509_REQ_set_subject_name @606 - X509_REQ_set_version @607 - X509_REQ_sign @608 - X509_REQ_sign_ctx @4662 - X509_REQ_to_X509 @609 - X509_REQ_verify @610 - X509_REVOKED_add1_ext_i2d @3087 - X509_REVOKED_add_ext @611 - X509_REVOKED_delete_ext @612 - X509_REVOKED_dup @4711 - X509_REVOKED_free @613 - X509_REVOKED_get_ext @614 - X509_REVOKED_get_ext_by_NID @615 - X509_REVOKED_get_ext_by_OBJ @616 - X509_REVOKED_get_ext_by_critical @617 - X509_REVOKED_get_ext_count @618 - X509_REVOKED_get_ext_d2i @1909 - X509_REVOKED_it @2642 - X509_REVOKED_new @619 - X509_REVOKED_set_revocationDate @2608 - X509_REVOKED_set_serialNumber @2543 - X509_SIG_free @620 - X509_SIG_it @2847 - X509_SIG_new @621 - X509_STORE_CTX_cleanup @622 - X509_STORE_CTX_free @1969 - X509_STORE_CTX_get0_current_crl @4544 - X509_STORE_CTX_get0_current_issuer @4546 - X509_STORE_CTX_get0_param @3505 - X509_STORE_CTX_get0_parent_ctx @4545 - X509_STORE_CTX_get0_policy_tree @3748 - X509_STORE_CTX_get0_store @4710 - X509_STORE_CTX_get1_chain @2204 - X509_STORE_CTX_get1_issuer @2448 - X509_STORE_CTX_get_chain @1014 - X509_STORE_CTX_get_current_cert @1015 - X509_STORE_CTX_get_error @1016 - X509_STORE_CTX_get_error_depth @1017 - X509_STORE_CTX_get_ex_data @1018 - X509_STORE_CTX_get_ex_new_index @1100 - X509_STORE_CTX_get_explicit_policy @3524 - X509_STORE_CTX_init @623 - X509_STORE_CTX_new @2033 - X509_STORE_CTX_purpose_inherit @1976 - X509_STORE_CTX_set0_crls @3333 - X509_STORE_CTX_set0_param @3341 - X509_STORE_CTX_set_cert @1020 - X509_STORE_CTX_set_chain @1021 - X509_STORE_CTX_set_default @3595 - X509_STORE_CTX_set_depth @3377 - X509_STORE_CTX_set_error @1022 - X509_STORE_CTX_set_ex_data @1023 - X509_STORE_CTX_set_flags @2451 - X509_STORE_CTX_set_purpose @2064 - X509_STORE_CTX_set_time @2447 - X509_STORE_CTX_set_trust @2030 - X509_STORE_CTX_set_verify_cb @2524 - X509_STORE_CTX_trusted_stack @2452 - X509_STORE_add_cert @624 - X509_STORE_add_crl @957 - X509_STORE_add_lookup @625 - X509_STORE_free @626 - X509_STORE_get1_certs @4433 - X509_STORE_get1_crls @4150 - X509_STORE_get_by_subject @627 - X509_STORE_load_locations @628 - X509_STORE_new @629 - X509_STORE_set1_param @3676 - X509_STORE_set_default_paths @630 - X509_STORE_set_depth @3508 - X509_STORE_set_flags @2596 - X509_STORE_set_lookup_crls_cb @4705 - X509_STORE_set_purpose @2559 - X509_STORE_set_trust @2586 - X509_STORE_set_verify_cb @4543 - X509_TRUST_add @1931 - X509_TRUST_cleanup @2007 - X509_TRUST_get0 @2047 - X509_TRUST_get0_name @2046 - X509_TRUST_get_by_id @2021 - X509_TRUST_get_count @2110 - X509_TRUST_get_flags @2056 - X509_TRUST_get_trust @2055 - X509_TRUST_set @2833 - X509_TRUST_set_default @2185 - X509_VAL_free @631 - X509_VAL_it @2829 - X509_VAL_new @632 - X509_VERIFY_PARAM_add0_policy @3652 - X509_VERIFY_PARAM_add0_table @3703 - X509_VERIFY_PARAM_add1_host @4771 - X509_VERIFY_PARAM_clear_flags @3772 - X509_VERIFY_PARAM_free @3527 - X509_VERIFY_PARAM_get0 @4762 - X509_VERIFY_PARAM_get0_name @4761 - X509_VERIFY_PARAM_get0_peername @4767 - X509_VERIFY_PARAM_get_count @4760 - X509_VERIFY_PARAM_get_depth @3559 - X509_VERIFY_PARAM_get_flags @3781 - X509_VERIFY_PARAM_inherit @3378 - X509_VERIFY_PARAM_lookup @3659 - X509_VERIFY_PARAM_new @3437 - X509_VERIFY_PARAM_set1 @3610 - X509_VERIFY_PARAM_set1_email @4696 - X509_VERIFY_PARAM_set1_host @4702 - X509_VERIFY_PARAM_set1_ip @4703 - X509_VERIFY_PARAM_set1_ip_asc @4694 - X509_VERIFY_PARAM_set1_name @3413 - X509_VERIFY_PARAM_set1_policies @3412 - X509_VERIFY_PARAM_set_depth @3399 - X509_VERIFY_PARAM_set_flags @3421 - X509_VERIFY_PARAM_set_hostflags @4765 - X509_VERIFY_PARAM_set_purpose @3414 - X509_VERIFY_PARAM_set_time @3757 - X509_VERIFY_PARAM_set_trust @3495 - X509_VERIFY_PARAM_table_cleanup @3525 - X509_add1_ext_i2d @2697 - X509_add1_reject_object @2082 - X509_add1_trust_object @2140 - X509_add_ext @633 - X509_alias_get0 @2074 - X509_alias_set1 @1933 - X509_certificate_type @635 - X509_chain_check_suiteb @4692 - X509_chain_up_ref @4693 - X509_check_akid @4496 - X509_check_ca @3286 - X509_check_email @4697 - X509_check_host @4698 - X509_check_ip @4704 - X509_check_ip_asc @4699 - X509_check_issued @2454 - X509_check_private_key @636 - X509_check_purpose @2051 - X509_check_trust @2083 - X509_cmp @2135 - X509_cmp_current_time @637 - X509_cmp_time @2446 - X509_delete_ext @638 - X509_digest @639 - X509_dup @640 - X509_email_free @2405 - X509_find_by_issuer_and_serial @920 - X509_find_by_subject @921 - X509_free @641 - X509_get0_pubkey_bitstr @2662 - X509_get0_signature @4700 - X509_get1_email @2404 - X509_get1_ocsp @3920 - X509_get_default_cert_area @642 - X509_get_default_cert_dir @643 - X509_get_default_cert_dir_env @644 - X509_get_default_cert_file @645 - X509_get_default_cert_file_env @646 - X509_get_default_private_dir @647 - X509_get_ex_data @1950 - X509_get_ex_new_index @2019 - X509_get_ext @648 - X509_get_ext_by_NID @649 - X509_get_ext_by_OBJ @650 - X509_get_ext_by_critical @651 - X509_get_ext_count @652 - X509_get_ext_d2i @1958 - X509_get_issuer_name @653 - X509_get_pubkey @654 - X509_get_pubkey_parameters @655 - X509_get_serialNumber @656 - X509_get_signature_nid @4701 - X509_get_subject_name @657 - X509_gmtime_adj @658 - X509_http_nbio @4715 - X509_issuer_and_serial_cmp @659 - X509_issuer_and_serial_hash @660 - X509_issuer_name_cmp @661 - X509_issuer_name_hash @662 - X509_issuer_name_hash_old @4547 - X509_it @2773 - X509_keyid_get0 @3363 - X509_keyid_set1 @2460 - X509_load_cert_crl_file @1972 - X509_load_cert_file @663 - X509_load_crl_file @958 - X509_new @664 - X509_ocspid_print @2790 - X509_policy_check @3720 - X509_policy_level_get0_node @3568 - X509_policy_level_node_count @3434 - X509_policy_node_get0_parent @3371 - X509_policy_node_get0_policy @3463 - X509_policy_node_get0_qualifiers @3448 - X509_policy_tree_free @3466 - X509_policy_tree_get0_level @3616 - X509_policy_tree_get0_policies @3381 - X509_policy_tree_get0_user_policies @3656 - X509_policy_tree_level_count @3573 - X509_print @665 - X509_print_ex @2544 - X509_print_ex_fp @3018 - X509_print_fp @666 - X509_pubkey_digest @2895 - X509_reject_clear @2184 - X509_set_ex_data @1910 - X509_set_issuer_name @667 - X509_set_notAfter @668 - X509_set_notBefore @669 - X509_set_pubkey @670 - X509_set_serialNumber @671 - X509_set_subject_name @672 - X509_set_version @673 - X509_sign @674 - X509_sign_ctx @4669 - X509_signature_dump @4665 - X509_signature_print @2706 - X509_subject_name_cmp @675 - X509_subject_name_hash @676 - X509_subject_name_hash_old @4548 - X509_supported_extension @2977 - X509_time_adj @2453 - X509_time_adj_ex @4454 - X509_to_X509_REQ @677 - X509_trust_clear @1928 - X509_verify @678 - X509_verify_cert @679 - X509_verify_cert_error_string @680 - X509at_add1_attr @2197 - X509at_add1_attr_by_NID @2211 - X509at_add1_attr_by_OBJ @2216 - X509at_add1_attr_by_txt @2219 - X509at_delete_attr @2199 - X509at_get0_data_by_OBJ @3931 - X509at_get_attr @2189 - X509at_get_attr_by_NID @2196 - X509at_get_attr_by_OBJ @2200 - X509at_get_attr_count @2190 - X509v3_add_ext @681 - X509v3_delete_ext @688 - X509v3_get_ext @689 - X509v3_get_ext_by_NID @690 - X509v3_get_ext_by_OBJ @691 - X509v3_get_ext_by_critical @692 - X509v3_get_ext_count @693 - ZLONG_it @2780 - _ossl_096_des_random_seed @3219 - _ossl_old_crypt @711 - _ossl_old_des_cbc_cksum @2776 - _ossl_old_des_cbc_encrypt @2880 - _ossl_old_des_cfb64_encrypt @3086 - _ossl_old_des_cfb_encrypt @2964 - _ossl_old_des_crypt @2654 - _ossl_old_des_decrypt3 @2705 - _ossl_old_des_ecb3_encrypt @2854 - _ossl_old_des_ecb_encrypt @3163 - _ossl_old_des_ede3_cbc_encrypt @2729 - _ossl_old_des_ede3_cfb64_encrypt @2786 - _ossl_old_des_ede3_ofb64_encrypt @3012 - _ossl_old_des_enc_read @2680 - _ossl_old_des_enc_write @3022 - _ossl_old_des_encrypt2 @2998 - _ossl_old_des_encrypt3 @2999 - _ossl_old_des_encrypt @2570 - _ossl_old_des_fcrypt @2835 - _ossl_old_des_is_weak_key @2576 - _ossl_old_des_key_sched @2666 - _ossl_old_des_ncbc_encrypt @3037 - _ossl_old_des_ofb64_encrypt @2673 - _ossl_old_des_ofb_encrypt @3088 - _ossl_old_des_options @2612 - _ossl_old_des_pcbc_encrypt @3056 - _ossl_old_des_quad_cksum @2988 - _ossl_old_des_random_key @2566 - _ossl_old_des_random_seed @803 - _ossl_old_des_read_2passwords @804 - _ossl_old_des_read_password @805 - _ossl_old_des_read_pw @806 - _ossl_old_des_read_pw_string @807 - _ossl_old_des_set_key @3065 - _ossl_old_des_set_odd_parity @2817 - _ossl_old_des_string_to_2keys @2725 - _ossl_old_des_string_to_key @2808 - _ossl_old_des_xcbc_encrypt @3159 - _shadow_DES_check_key @3146 - _shadow_DES_rw_mode @2581 - a2d_ASN1_OBJECT @699 - a2i_ASN1_ENUMERATED @1210 - a2i_ASN1_INTEGER @700 - a2i_ASN1_STRING @701 - a2i_GENERAL_NAME @4472 - a2i_IPADDRESS @3375 - a2i_IPADDRESS_NC @3732 - a2i_ipadd @3813 - asn1_Finish @702 - asn1_GetSequence @703 - asn1_add_error @1091 - asn1_const_Finish @3700 - asn1_do_adb @2582 - asn1_do_lock @3059 - asn1_enc_free @2993 - asn1_enc_init @3041 - asn1_enc_restore @2891 - asn1_enc_save @3054 - asn1_ex_c2i @2888 - asn1_ex_i2c @2663 - asn1_get_choice_selector @3071 - asn1_get_field_ptr @3125 - asn1_set_choice_selector @3122 - b2i_PVK_bio @4250 - b2i_PrivateKey @4343 - b2i_PrivateKey_bio @4354 - b2i_PublicKey @4290 - b2i_PublicKey_bio @4172 - bn_add_words @1039 - bn_div_words @704 - bn_dup_expand @2920 - bn_expand2 @705 - bn_mul_add_words @706 - bn_mul_words @707 - bn_sqr_words @710 - bn_sub_words @1116 - c2i_ASN1_BIT_STRING @2421 - c2i_ASN1_INTEGER @2424 - c2i_ASN1_OBJECT @2428 - check_defer @4522 - d2i_ACCESS_DESCRIPTION @1927 - d2i_ASN1_BIT_STRING @712 - d2i_ASN1_BMPSTRING @1092 - d2i_ASN1_BOOLEAN @713 - d2i_ASN1_ENUMERATED @1204 - d2i_ASN1_GENERALIZEDTIME @1190 - d2i_ASN1_GENERALSTRING @2822 - d2i_ASN1_IA5STRING @715 - d2i_ASN1_INTEGER @716 - d2i_ASN1_NULL @2169 - d2i_ASN1_OBJECT @717 - d2i_ASN1_OCTET_STRING @718 - d2i_ASN1_PRINTABLESTRING @720 - d2i_ASN1_PRINTABLE @719 - d2i_ASN1_SEQUENCE_ANY @4510 - d2i_ASN1_SET @721 - d2i_ASN1_SET_ANY @4507 - d2i_ASN1_T61STRING @722 - d2i_ASN1_TIME @1191 - d2i_ASN1_TYPE @723 - d2i_ASN1_UINTEGER @1652 - d2i_ASN1_UNIVERSALSTRING @3235 - d2i_ASN1_UTCTIME @724 - d2i_ASN1_UTF8STRING @1342 - d2i_ASN1_VISIBLESTRING @1340 - d2i_ASN1_bytes @725 - d2i_ASN1_type_bytes @726 - d2i_AUTHORITY_INFO_ACCESS @1918 - d2i_AUTHORITY_KEYID @1255 - d2i_AutoPrivateKey @2186 - d2i_BASIC_CONSTRAINTS @1192 - d2i_CERTIFICATEPOLICIES @1487 - d2i_CMS_ContentInfo @3985 - d2i_CMS_ReceiptRequest @3970 - d2i_CMS_bio @3946 - d2i_CRL_DIST_POINTS @1540 - d2i_DHparams @727 - d2i_DHxparams @4687 - d2i_DIRECTORYSTRING @1344 - d2i_DISPLAYTEXT @1346 - d2i_DIST_POINT @1543 - d2i_DIST_POINT_NAME @1548 - d2i_DSAPrivateKey @728 - d2i_DSAPrivateKey_bio @729 - d2i_DSAPrivateKey_fp @730 - d2i_DSAPublicKey @731 - d2i_DSA_PUBKEY @2050 - d2i_DSA_PUBKEY_bio @2093 - d2i_DSA_PUBKEY_fp @2041 - d2i_DSA_SIG @1337 - d2i_DSAparams @732 - d2i_ECDSA_SIG @3717 - d2i_ECPKParameters @3475 - d2i_ECParameters @3733 - d2i_ECPrivateKey @3563 - d2i_ECPrivateKey_bio @3556 - d2i_ECPrivateKey_fp @3673 - d2i_EC_PUBKEY @3425 - d2i_EC_PUBKEY_bio @3707 - d2i_EC_PUBKEY_fp @3751 - d2i_EDIPARTYNAME @2814 - d2i_ESS_CERT_ID @4512 - d2i_ESS_ISSUER_SERIAL @4265 - d2i_ESS_SIGNING_CERT @4435 - d2i_EXTENDED_KEY_USAGE @2674 - d2i_GENERAL_NAMES @1217 - d2i_GENERAL_NAME @1212 - d2i_ISSUING_DIST_POINT @4286 - d2i_KRB5_APREQBODY @2677 - d2i_KRB5_APREQ @2588 - d2i_KRB5_AUTHDATA @2685 - d2i_KRB5_AUTHENTBODY @2840 - d2i_KRB5_AUTHENT @2573 - d2i_KRB5_CHECKSUM @2771 - d2i_KRB5_ENCDATA @3046 - d2i_KRB5_ENCKEY @2901 - d2i_KRB5_PRINCNAME @2810 - d2i_KRB5_TICKET @2819 - d2i_KRB5_TKTBODY @2952 - d2i_NETSCAPE_CERT_SEQUENCE @1193 - d2i_NETSCAPE_SPKAC @733 - d2i_NETSCAPE_SPKI @734 - d2i_NETSCAPE_X509 @4180 - d2i_NOTICEREF @1502 - d2i_Netscape_RSA @735 - d2i_OCSP_BASICRESP @2530 - d2i_OCSP_CERTID @2867 - d2i_OCSP_CERTSTATUS @2542 - d2i_OCSP_CRLID @2768 - d2i_OCSP_ONEREQ @3152 - d2i_OCSP_REQINFO @3147 - d2i_OCSP_REQUEST @2648 - d2i_OCSP_RESPBYTES @2535 - d2i_OCSP_RESPDATA @2969 - d2i_OCSP_RESPID @2702 - d2i_OCSP_RESPONSE @3020 - d2i_OCSP_REVOKEDINFO @2599 - d2i_OCSP_SERVICELOC @2815 - d2i_OCSP_SIGNATURE @2873 - d2i_OCSP_SINGLERESP @2670 - d2i_OTHERNAME @2096 - d2i_PBE2PARAM @1403 - d2i_PBEPARAM @1312 - d2i_PBKDF2PARAM @1399 - d2i_PKCS12 @1289 - d2i_PKCS12_BAGS @1286 - d2i_PKCS12_MAC_DATA @1294 - d2i_PKCS12_SAFEBAG @1298 - d2i_PKCS12_bio @1308 - d2i_PKCS12_fp @1309 - d2i_PKCS7 @736 - d2i_PKCS7_DIGEST @737 - d2i_PKCS7_ENCRYPT @738 - d2i_PKCS7_ENC_CONTENT @739 - d2i_PKCS7_ENVELOPE @740 - d2i_PKCS7_ISSUER_AND_SERIAL @741 - d2i_PKCS7_RECIP_INFO @742 - d2i_PKCS7_SIGNED @743 - d2i_PKCS7_SIGNER_INFO @744 - d2i_PKCS7_SIGN_ENVELOPE @745 - d2i_PKCS7_bio @746 - d2i_PKCS7_fp @747 - d2i_PKCS8PrivateKey_bio @2167 - d2i_PKCS8PrivateKey_fp @2175 - d2i_PKCS8_PRIV_KEY_INFO @1316 - d2i_PKCS8_PRIV_KEY_INFO_bio @1783 - d2i_PKCS8_PRIV_KEY_INFO_fp @1780 - d2i_PKCS8_bio @1779 - d2i_PKCS8_fp @1784 - d2i_PKEY_USAGE_PERIOD @1233 - d2i_POLICYINFO @1490 - d2i_POLICYQUALINFO @1494 - d2i_PROXY_CERT_INFO_EXTENSION @3300 - d2i_PROXY_POLICY @3304 - d2i_PUBKEY @2054 - d2i_PUBKEY_bio @2441 - d2i_PUBKEY_fp @2445 - d2i_PrivateKey @748 - d2i_PrivateKey_bio @2181 - d2i_PrivateKey_fp @2182 - d2i_PublicKey @749 - d2i_RSAPrivateKey @750 - d2i_RSAPrivateKey_bio @751 - d2i_RSAPrivateKey_fp @752 - d2i_RSAPublicKey @753 - d2i_RSAPublicKey_bio @945 - d2i_RSAPublicKey_fp @952 - d2i_RSA_NET @2408 - d2i_RSA_OAEP_PARAMS @4748 - d2i_RSA_PSS_PARAMS @4666 - d2i_RSA_PUBKEY @2044 - d2i_RSA_PUBKEY_bio @2053 - d2i_RSA_PUBKEY_fp @1964 - d2i_SXNETID @1330 - d2i_SXNET @1326 - d2i_TS_ACCURACY @4194 - d2i_TS_MSG_IMPRINT @4235 - d2i_TS_MSG_IMPRINT_bio @4170 - d2i_TS_MSG_IMPRINT_fp @4432 - d2i_TS_REQ @4382 - d2i_TS_REQ_bio @4453 - d2i_TS_REQ_fp @4349 - d2i_TS_RESP @4311 - d2i_TS_RESP_bio @4223 - d2i_TS_RESP_fp @4139 - d2i_TS_STATUS_INFO @4456 - d2i_TS_TST_INFO @4221 - d2i_TS_TST_INFO_bio @4336 - d2i_TS_TST_INFO_fp @4306 - d2i_USERNOTICE @1498 - d2i_X509 @754 - d2i_X509_ALGORS @3937 - d2i_X509_ALGOR @755 - d2i_X509_ATTRIBUTE @756 - d2i_X509_AUX @1980 - d2i_X509_CERT_AUX @2115 - d2i_X509_CERT_PAIR @3698 - d2i_X509_CINF @757 - d2i_X509_CRL @758 - d2i_X509_CRL_INFO @759 - d2i_X509_CRL_bio @760 - d2i_X509_CRL_fp @761 - d2i_X509_EXTENSIONS @3925 - d2i_X509_EXTENSION @762 - d2i_X509_NAME @763 - d2i_X509_NAME_ENTRY @764 - d2i_X509_PKEY @765 - d2i_X509_PUBKEY @766 - d2i_X509_REQ @767 - d2i_X509_REQ_INFO @768 - d2i_X509_REQ_bio @769 - d2i_X509_REQ_fp @770 - d2i_X509_REVOKED @771 - d2i_X509_SIG @772 - d2i_X509_VAL @773 - d2i_X509_bio @774 - d2i_X509_fp @775 - get_rfc2409_prime_1024 @3773 - get_rfc2409_prime_768 @3780 - get_rfc3526_prime_1536 @3777 - get_rfc3526_prime_2048 @3775 - get_rfc3526_prime_3072 @3778 - get_rfc3526_prime_4096 @3779 - get_rfc3526_prime_6144 @3776 - get_rfc3526_prime_8192 @3771 - hex_to_string @1223 - i2a_ACCESS_DESCRIPTION @3110 - i2a_ASN1_ENUMERATED @1209 - i2a_ASN1_INTEGER @815 - i2a_ASN1_OBJECT @816 - i2a_ASN1_STRING @817 - i2b_PVK_bio @4247 - i2b_PrivateKey_bio @4288 - i2b_PublicKey_bio @4318 - i2c_ASN1_BIT_STRING @2422 - i2c_ASN1_INTEGER @2425 - i2d_ACCESS_DESCRIPTION @2077 - i2d_ASN1_BIT_STRING @818 - i2d_ASN1_BMPSTRING @1093 - i2d_ASN1_BOOLEAN @819 - i2d_ASN1_ENUMERATED @1203 - i2d_ASN1_GENERALIZEDTIME @1197 - i2d_ASN1_GENERALSTRING @2560 - i2d_ASN1_IA5STRING @821 - i2d_ASN1_INTEGER @822 - i2d_ASN1_NULL @2173 - i2d_ASN1_OBJECT @823 - i2d_ASN1_OCTET_STRING @824 - i2d_ASN1_PRINTABLESTRING @2149 - i2d_ASN1_PRINTABLE @825 - i2d_ASN1_SEQUENCE_ANY @4169 - i2d_ASN1_SET @826 - i2d_ASN1_SET_ANY @4197 - i2d_ASN1_T61STRING @3175 - i2d_ASN1_TIME @1198 - i2d_ASN1_TYPE @827 - i2d_ASN1_UNIVERSALSTRING @3232 - i2d_ASN1_UTCTIME @828 - i2d_ASN1_UTF8STRING @1341 - i2d_ASN1_VISIBLESTRING @1339 - i2d_ASN1_bio_stream @4500 - i2d_ASN1_bytes @829 - i2d_AUTHORITY_INFO_ACCESS @2062 - i2d_AUTHORITY_KEYID @1254 - i2d_BASIC_CONSTRAINTS @1199 - i2d_CERTIFICATEPOLICIES @1484 - i2d_CMS_ContentInfo @3944 - i2d_CMS_ReceiptRequest @4033 - i2d_CMS_bio @3976 - i2d_CMS_bio_stream @4208 - i2d_CRL_DIST_POINTS @1537 - i2d_DHparams @830 - i2d_DHxparams @4683 - i2d_DIRECTORYSTRING @1343 - i2d_DISPLAYTEXT @1345 - i2d_DIST_POINT @1541 - i2d_DIST_POINT_NAME @1545 - i2d_DSAPrivateKey @831 - i2d_DSAPrivateKey_bio @832 - i2d_DSAPrivateKey_fp @833 - i2d_DSAPublicKey @834 - i2d_DSA_PUBKEY @1981 - i2d_DSA_PUBKEY_bio @2014 - i2d_DSA_PUBKEY_fp @1971 - i2d_DSA_SIG @1338 - i2d_DSAparams @835 - i2d_ECDSA_SIG @3619 - i2d_ECPKParameters @3473 - i2d_ECParameters @3472 - i2d_ECPrivateKey @3357 - i2d_ECPrivateKey_bio @3452 - i2d_ECPrivateKey_fp @3655 - i2d_EC_PUBKEY @3521 - i2d_EC_PUBKEY_bio @3585 - i2d_EC_PUBKEY_fp @3701 - i2d_EDIPARTYNAME @2908 - i2d_ESS_CERT_ID @4364 - i2d_ESS_ISSUER_SERIAL @4351 - i2d_ESS_SIGNING_CERT @4167 - i2d_EXTENDED_KEY_USAGE @3052 - i2d_GENERAL_NAMES @1218 - i2d_GENERAL_NAME @1211 - i2d_ISSUING_DIST_POINT @4216 - i2d_KRB5_APREQBODY @2853 - i2d_KRB5_APREQ @2569 - i2d_KRB5_AUTHDATA @2978 - i2d_KRB5_AUTHENTBODY @3128 - i2d_KRB5_AUTHENT @2668 - i2d_KRB5_CHECKSUM @3072 - i2d_KRB5_ENCDATA @3137 - i2d_KRB5_ENCKEY @3092 - i2d_KRB5_PRINCNAME @2997 - i2d_KRB5_TICKET @3017 - i2d_KRB5_TKTBODY @3038 - i2d_NETSCAPE_CERT_SEQUENCE @1200 - i2d_NETSCAPE_SPKAC @836 - i2d_NETSCAPE_SPKI @837 - i2d_NETSCAPE_X509 @4424 - i2d_NOTICEREF @1500 - i2d_Netscape_RSA @838 - i2d_OCSP_BASICRESP @2744 - i2d_OCSP_CERTID @3068 - i2d_OCSP_CERTSTATUS @2955 - i2d_OCSP_CRLID @2757 - i2d_OCSP_ONEREQ @2709 - i2d_OCSP_REQINFO @2591 - i2d_OCSP_REQUEST @2738 - i2d_OCSP_RESPBYTES @2745 - i2d_OCSP_RESPDATA @2629 - i2d_OCSP_RESPID @2898 - i2d_OCSP_RESPONSE @2682 - i2d_OCSP_REVOKEDINFO @2890 - i2d_OCSP_SERVICELOC @2562 - i2d_OCSP_SIGNATURE @3053 - i2d_OCSP_SINGLERESP @3062 - i2d_OTHERNAME @2015 - i2d_PBE2PARAM @1401 - i2d_PBEPARAM @1310 - i2d_PBKDF2PARAM @1397 - i2d_PKCS12 @1288 - i2d_PKCS12_BAGS @1284 - i2d_PKCS12_MAC_DATA @1292 - i2d_PKCS12_SAFEBAG @1296 - i2d_PKCS12_bio @1306 - i2d_PKCS12_fp @1307 - i2d_PKCS7 @839 - i2d_PKCS7_DIGEST @840 - i2d_PKCS7_ENCRYPT @841 - i2d_PKCS7_ENC_CONTENT @842 - i2d_PKCS7_ENVELOPE @843 - i2d_PKCS7_ISSUER_AND_SERIAL @844 - i2d_PKCS7_NDEF @3569 - i2d_PKCS7_RECIP_INFO @845 - i2d_PKCS7_SIGNED @846 - i2d_PKCS7_SIGNER_INFO @847 - i2d_PKCS7_SIGN_ENVELOPE @848 - i2d_PKCS7_bio @849 - i2d_PKCS7_bio_stream @4333 - i2d_PKCS7_fp @850 - i2d_PKCS8PrivateKeyInfo_bio @2178 - i2d_PKCS8PrivateKeyInfo_fp @2177 - i2d_PKCS8PrivateKey_bio @2171 - i2d_PKCS8PrivateKey_fp @2172 - i2d_PKCS8PrivateKey_nid_bio @2176 - i2d_PKCS8PrivateKey_nid_fp @2174 - i2d_PKCS8_PRIV_KEY_INFO @1314 - i2d_PKCS8_PRIV_KEY_INFO_bio @1792 - i2d_PKCS8_PRIV_KEY_INFO_fp @1791 - i2d_PKCS8_bio @1790 - i2d_PKCS8_fp @1777 - i2d_PKEY_USAGE_PERIOD @1232 - i2d_POLICYINFO @1488 - i2d_POLICYQUALINFO @1492 - i2d_PROXY_CERT_INFO_EXTENSION @3303 - i2d_PROXY_POLICY @3302 - i2d_PUBKEY @1987 - i2d_PUBKEY_bio @2439 - i2d_PUBKEY_fp @2440 - i2d_PrivateKey @851 - i2d_PrivateKey_bio @2183 - i2d_PrivateKey_fp @2180 - i2d_PublicKey @852 - i2d_RSAPrivateKey @853 - i2d_RSAPrivateKey_bio @854 - i2d_RSAPrivateKey_fp @855 - i2d_RSAPublicKey @856 - i2d_RSAPublicKey_bio @946 - i2d_RSAPublicKey_fp @954 - i2d_RSA_NET @2406 - i2d_RSA_OAEP_PARAMS @4747 - i2d_RSA_PSS_PARAMS @4670 - i2d_RSA_PUBKEY @1974 - i2d_RSA_PUBKEY_bio @1985 - i2d_RSA_PUBKEY_fp @2113 - i2d_SXNETID @1329 - i2d_SXNET @1325 - i2d_TS_ACCURACY @4115 - i2d_TS_MSG_IMPRINT @4117 - i2d_TS_MSG_IMPRINT_bio @4278 - i2d_TS_MSG_IMPRINT_fp @4116 - i2d_TS_REQ @4389 - i2d_TS_REQ_bio @4359 - i2d_TS_REQ_fp @4509 - i2d_TS_RESP @4289 - i2d_TS_RESP_bio @4464 - i2d_TS_RESP_fp @4277 - i2d_TS_STATUS_INFO @4441 - i2d_TS_TST_INFO @4120 - i2d_TS_TST_INFO_bio @4156 - i2d_TS_TST_INFO_fp @4132 - i2d_USERNOTICE @1496 - i2d_X509 @857 - i2d_X509_ALGORS @3934 - i2d_X509_ALGOR @858 - i2d_X509_ATTRIBUTE @859 - i2d_X509_AUX @2132 - i2d_X509_CERT_AUX @2028 - i2d_X509_CERT_PAIR @3642 - i2d_X509_CINF @860 - i2d_X509_CRL @861 - i2d_X509_CRL_INFO @862 - i2d_X509_CRL_bio @863 - i2d_X509_CRL_fp @864 - i2d_X509_EXTENSIONS @3922 - i2d_X509_EXTENSION @865 - i2d_X509_NAME @866 - i2d_X509_NAME_ENTRY @867 - i2d_X509_PKEY @868 - i2d_X509_PUBKEY @869 - i2d_X509_REQ @870 - i2d_X509_REQ_INFO @871 - i2d_X509_REQ_bio @872 - i2d_X509_REQ_fp @873 - i2d_X509_REVOKED @874 - i2d_X509_SIG @875 - i2d_X509_VAL @876 - i2d_X509_bio @877 - i2d_X509_fp @878 - i2d_re_X509_tbs @4773 - i2o_ECPublicKey @3373 - i2s_ASN1_ENUMERATED @1241 - i2s_ASN1_ENUMERATED_TABLE @1242 - i2s_ASN1_INTEGER @1237 - i2s_ASN1_OCTET_STRING @1220 - i2t_ASN1_OBJECT @979 - i2v_ASN1_BIT_STRING @3639 - i2v_GENERAL_NAMES @1219 - i2v_GENERAL_NAME @1230 - lh_delete @887 - lh_doall @888 - lh_doall_arg @889 - lh_free @890 - lh_insert @891 - lh_new @892 - lh_node_stats @893 - lh_node_stats_bio @894 - lh_node_usage_stats @895 - lh_node_usage_stats_bio @896 - lh_num_items @2257 - lh_retrieve @897 - lh_stats @898 - lh_stats_bio @899 - lh_strhash @900 - name_cmp @1239 - o2i_ECPublicKey @3368 - ossl_safe_getenv @4789 - pitem_free @3767 - pitem_new @3365 - pqueue_find @3454 - pqueue_free @3704 - pqueue_insert @3766 - pqueue_iterator @3394 - pqueue_new @3758 - pqueue_next @3754 - pqueue_peek @3460 - pqueue_pop @3647 - pqueue_print @3428 - pqueue_size @4114 - private_AES_set_decrypt_key @4597 - private_AES_set_encrypt_key @4606 - private_RC4_set_key @3294 - s2i_ASN1_INTEGER @1509 - s2i_ASN1_OCTET_STRING @1221 - sk_deep_copy @4769 - sk_delete @901 - sk_delete_ptr @902 - sk_dup @903 - sk_find @904 - sk_find_ex @3544 - sk_free @905 - sk_insert @906 - sk_is_sorted @3285 - sk_new @907 - sk_new_null @2411 - sk_num @1654 - sk_pop @908 - sk_pop_free @909 - sk_push @910 - sk_set @1655 - sk_set_cmp_func @911 - sk_shift @912 - sk_sort @1671 - sk_unshift @913 - sk_value @1653 - sk_zero @914 - string_to_hex @1224 - v2i_ASN1_BIT_STRING @3592 - v2i_GENERAL_NAMES @1236 - v2i_GENERAL_NAME @1231 - v2i_GENERAL_NAME_ex @3612 - +; +; Definition file for the DLL version of the LIBEAY library from OpenSSL +; + +LIBRARY LIBEAY32 + +EXPORTS + SSLeay @1 + ACCESS_DESCRIPTION_free @1994 + ACCESS_DESCRIPTION_it @2751 + ACCESS_DESCRIPTION_new @1925 + AES_bi_ige_encrypt @3860 + AES_cbc_encrypt @3171 + AES_cfb128_encrypt @3217 + AES_cfb1_encrypt @3279 + AES_cfb8_encrypt @3261 + AES_ctr128_encrypt @3216 + AES_decrypt @3040 + AES_ecb_encrypt @2801 + AES_encrypt @3033 + AES_ige_encrypt @3829 + AES_ofb128_encrypt @3215 + AES_options @3074 + AES_set_decrypt_key @3106 + AES_set_encrypt_key @3024 + AES_unwrap_key @3929 + AES_wrap_key @3930 + ASN1_ANY_it @3035 + ASN1_BIT_STRING_check @4495 + ASN1_BIT_STRING_free @2080 + ASN1_BIT_STRING_get_bit @1060 + ASN1_BIT_STRING_it @2878 + ASN1_BIT_STRING_name_print @2134 + ASN1_BIT_STRING_new @1957 + ASN1_BIT_STRING_num_asc @1986 + ASN1_BIT_STRING_set @2109 + ASN1_BIT_STRING_set_asc @2017 + ASN1_BIT_STRING_set_bit @1061 + ASN1_BMPSTRING_free @2057 + ASN1_BMPSTRING_it @2787 + ASN1_BMPSTRING_new @1936 + ASN1_BOOLEAN_it @3142 + ASN1_ENUMERATED_free @2027 + ASN1_ENUMERATED_get @1206 + ASN1_ENUMERATED_it @3015 + ASN1_ENUMERATED_new @2052 + ASN1_ENUMERATED_set @1205 + ASN1_ENUMERATED_to_BN @1208 + ASN1_FBOOLEAN_it @2806 + ASN1_GENERALIZEDTIME_adj @4484 + ASN1_GENERALIZEDTIME_check @1157 + ASN1_GENERALIZEDTIME_free @1908 + ASN1_GENERALIZEDTIME_it @2595 + ASN1_GENERALIZEDTIME_new @2126 + ASN1_GENERALIZEDTIME_print @1158 + ASN1_GENERALIZEDTIME_set @1159 + ASN1_GENERALIZEDTIME_set_string @1160 + ASN1_GENERALSTRING_free @2541 + ASN1_GENERALSTRING_it @2761 + ASN1_GENERALSTRING_new @2846 + ASN1_IA5STRING_free @2065 + ASN1_IA5STRING_it @2722 + ASN1_IA5STRING_new @2049 + ASN1_INTEGER_cmp @1963 + ASN1_INTEGER_dup @2114 + ASN1_INTEGER_free @2111 + ASN1_INTEGER_get @7 + ASN1_INTEGER_it @2914 + ASN1_INTEGER_new @2131 + ASN1_INTEGER_set @8 + ASN1_INTEGER_to_BN @9 + ASN1_NULL_free @2168 + ASN1_NULL_it @3150 + ASN1_NULL_new @2170 + ASN1_OBJECT_create @10 + ASN1_OBJECT_free @11 + ASN1_OBJECT_it @3180 + ASN1_OBJECT_new @12 + ASN1_OCTET_STRING_NDEF_it @3389 + ASN1_OCTET_STRING_cmp @1955 + ASN1_OCTET_STRING_dup @2108 + ASN1_OCTET_STRING_free @2016 + ASN1_OCTET_STRING_it @3090 + ASN1_OCTET_STRING_new @2130 + ASN1_OCTET_STRING_set @2040 + ASN1_PCTX_free @4498 + ASN1_PCTX_get_cert_flags @4166 + ASN1_PCTX_get_flags @4200 + ASN1_PCTX_get_nm_flags @4242 + ASN1_PCTX_get_oid_flags @4274 + ASN1_PCTX_get_str_flags @4493 + ASN1_PCTX_new @4476 + ASN1_PCTX_set_cert_flags @4528 + ASN1_PCTX_set_flags @4363 + ASN1_PCTX_set_nm_flags @4298 + ASN1_PCTX_set_oid_flags @4451 + ASN1_PCTX_set_str_flags @4392 + ASN1_PRINTABLESTRING_free @1934 + ASN1_PRINTABLESTRING_it @2797 + ASN1_PRINTABLESTRING_new @2025 + ASN1_PRINTABLE_free @3082 + ASN1_PRINTABLE_it @2861 + ASN1_PRINTABLE_new @2571 + ASN1_PRINTABLE_type @13 + ASN1_SEQUENCE_ANY_it @4148 + ASN1_SEQUENCE_it @2943 + ASN1_SET_ANY_it @4217 + ASN1_STRING_TABLE_add @2245 + ASN1_STRING_TABLE_cleanup @2020 + ASN1_STRING_TABLE_get @2091 + ASN1_STRING_clear_free @2392 + ASN1_STRING_cmp @14 + ASN1_STRING_copy @4305 + ASN1_STRING_data @2075 + ASN1_STRING_dup @15 + ASN1_STRING_free @16 + ASN1_STRING_get_default_mask @2072 + ASN1_STRING_length @2023 + ASN1_STRING_length_set @2136 + ASN1_STRING_new @17 + ASN1_STRING_print @18 + ASN1_STRING_print_ex @2432 + ASN1_STRING_print_ex_fp @2430 + ASN1_STRING_set0 @3933 + ASN1_STRING_set @19 + ASN1_STRING_set_by_NID @1996 + ASN1_STRING_set_default_mask @2032 + ASN1_STRING_set_default_mask_asc @1960 + ASN1_STRING_to_UTF8 @2442 + ASN1_STRING_type @1951 + ASN1_STRING_type_new @20 + ASN1_T61STRING_free @1946 + ASN1_T61STRING_it @2567 + ASN1_T61STRING_new @2058 + ASN1_TBOOLEAN_it @3167 + ASN1_TIME_adj @4267 + ASN1_TIME_check @2782 + ASN1_TIME_diff @4739 + ASN1_TIME_free @1954 + ASN1_TIME_it @2715 + ASN1_TIME_new @1973 + ASN1_TIME_print @1161 + ASN1_TIME_set @1253 + ASN1_TIME_set_string @4536 + ASN1_TIME_to_generalizedtime @3169 + ASN1_TYPE_cmp @4428 + ASN1_TYPE_free @21 + ASN1_TYPE_get @916 + ASN1_TYPE_get_int_octetstring @1076 + ASN1_TYPE_get_octetstring @1077 + ASN1_TYPE_new @22 + ASN1_TYPE_set1 @3932 + ASN1_TYPE_set @917 + ASN1_TYPE_set_int_octetstring @1078 + ASN1_TYPE_set_octetstring @1079 + ASN1_UNIVERSALSTRING_free @3233 + ASN1_UNIVERSALSTRING_it @3234 + ASN1_UNIVERSALSTRING_new @3230 + ASN1_UNIVERSALSTRING_to_string @23 + ASN1_UTCTIME_adj @4251 + ASN1_UTCTIME_check @24 + ASN1_UTCTIME_cmp_time_t @2455 + ASN1_UTCTIME_free @1988 + ASN1_UTCTIME_it @3021 + ASN1_UTCTIME_new @2060 + ASN1_UTCTIME_print @25 + ASN1_UTCTIME_set @26 + ASN1_UTCTIME_set_string @1080 + ASN1_UTF8STRING_free @2092 + ASN1_UTF8STRING_it @2527 + ASN1_UTF8STRING_new @1938 + ASN1_VISIBLESTRING_free @2118 + ASN1_VISIBLESTRING_it @2865 + ASN1_VISIBLESTRING_new @1932 + ASN1_add_oid_module @3186 + ASN1_bn_print @4295 + ASN1_check_infinite_end @27 + ASN1_const_check_infinite_end @3623 + ASN1_d2i_bio @28 + ASN1_d2i_fp @29 + ASN1_digest @30 + ASN1_dup @31 + ASN1_generate_nconf @3488 + ASN1_generate_v3 @3571 + ASN1_get_object @32 + ASN1_i2d_bio @33 + ASN1_i2d_fp @34 + ASN1_item_d2i @3050 + ASN1_item_d2i_bio @3069 + ASN1_item_d2i_fp @2868 + ASN1_item_digest @2552 + ASN1_item_dup @2772 + ASN1_item_ex_d2i @2957 + ASN1_item_ex_free @3141 + ASN1_item_ex_i2d @2533 + ASN1_item_ex_new @3063 + ASN1_item_free @2623 + ASN1_item_i2d @2655 + ASN1_item_i2d_bio @2858 + ASN1_item_i2d_fp @3095 + ASN1_item_ndef_i2d @3564 + ASN1_item_new @3168 + ASN1_item_pack @3136 + ASN1_item_print @4126 + ASN1_item_sign @2741 + ASN1_item_sign_ctx @4671 + ASN1_item_unpack @2640 + ASN1_item_verify @2777 + ASN1_mbstring_copy @1937 + ASN1_mbstring_ncopy @2123 + ASN1_object_size @35 + ASN1_pack_string @1261 + ASN1_parse @36 + ASN1_parse_dump @2427 + ASN1_primitive_free @3051 + ASN1_primitive_new @2860 + ASN1_put_eoc @3523 + ASN1_put_object @37 + ASN1_seq_pack @1259 + ASN1_seq_unpack @1258 + ASN1_sign @38 + ASN1_tag2bit @2788 + ASN1_tag2str @1905 + ASN1_template_d2i @2987 + ASN1_template_free @2974 + ASN1_template_i2d @2583 + ASN1_template_new @3093 + ASN1_unpack_string @1260 + ASN1_verify @39 + AUTHORITY_INFO_ACCESS_free @2048 + AUTHORITY_INFO_ACCESS_it @2805 + AUTHORITY_INFO_ACCESS_new @2247 + AUTHORITY_KEYID_free @1257 + AUTHORITY_KEYID_it @2625 + AUTHORITY_KEYID_new @1256 + BASIC_CONSTRAINTS_free @1162 + BASIC_CONSTRAINTS_it @2922 + BASIC_CONSTRAINTS_new @1163 + BF_cbc_encrypt @40 + BF_cfb64_encrypt @41 + BF_decrypt @987 + BF_ecb_encrypt @42 + BF_encrypt @43 + BF_ofb64_encrypt @44 + BF_options @45 + BF_set_key @46 + BIGNUM_it @3170 + BIO_accept @51 + BIO_asn1_get_prefix @4133 + BIO_asn1_get_suffix @4458 + BIO_asn1_set_prefix @4173 + BIO_asn1_set_suffix @4440 + BIO_callback_ctrl @2252 + BIO_clear_flags @3846 + BIO_copy_next_retry @955 + BIO_ctrl @52 + BIO_ctrl_get_read_request @1799 + BIO_ctrl_get_write_guarantee @1803 + BIO_ctrl_pending @1800 + BIO_ctrl_reset_read_request @1906 + BIO_ctrl_wpending @1801 + BIO_debug_callback @54 + BIO_dgram_non_fatal_error @3586 + BIO_dump @55 + BIO_dump_cb @3764 + BIO_dump_fp @3370 + BIO_dump_indent @2426 + BIO_dump_indent_cb @3697 + BIO_dump_indent_fp @3511 + BIO_dup_chain @56 + BIO_f_asn1 @4384 + BIO_f_base64 @57 + BIO_f_buffer @58 + BIO_f_cipher @59 + BIO_f_md @60 + BIO_f_nbio_test @915 + BIO_f_null @61 + BIO_f_reliable @1244 + BIO_fd_non_fatal_error @63 + BIO_fd_should_retry @64 + BIO_find_type @65 + BIO_free @66 + BIO_free_all @67 + BIO_get_accept_socket @69 + BIO_get_callback @3861 + BIO_get_callback_arg @3902 + BIO_get_ex_data @1062 + BIO_get_ex_new_index @1063 + BIO_get_host_ip @71 + BIO_get_port @72 + BIO_get_retry_BIO @73 + BIO_get_retry_reason @74 + BIO_gethostbyname @75 + BIO_gets @76 + BIO_hex_string @4764 + BIO_indent @3242 + BIO_int_ctrl @53 + BIO_method_name @3898 + BIO_method_type @3826 + BIO_new @78 + BIO_new_CMS @4175 + BIO_new_NDEF @4153 + BIO_new_PKCS7 @4518 + BIO_new_accept @79 + BIO_new_bio_pair @1802 + BIO_new_connect @80 + BIO_new_dgram @3330 + BIO_new_fd @81 + BIO_new_file @82 + BIO_new_fp @83 + BIO_new_mem_buf @1882 + BIO_new_socket @84 + BIO_next @2461 + BIO_nread0 @1880 + BIO_nread @1876 + BIO_number_read @2203 + BIO_number_written @2202 + BIO_nwrite0 @1878 + BIO_nwrite @1874 + BIO_pop @85 + BIO_printf @86 + BIO_ptr_ctrl @969 + BIO_push @87 + BIO_puts @88 + BIO_read @89 + BIO_s_accept @90 + BIO_s_bio @1793 + BIO_s_connect @91 + BIO_s_datagram @3542 + BIO_s_fd @92 + BIO_s_file @93 + BIO_s_mem @95 + BIO_s_null @96 + BIO_s_socket @98 + BIO_set @100 + BIO_set_callback @3903 + BIO_set_callback_arg @3820 + BIO_set_cipher @101 + BIO_set_ex_data @1064 + BIO_set_flags @3823 + BIO_set_tcp_ndelay @102 + BIO_snprintf @2292 + BIO_sock_cleanup @103 + BIO_sock_error @104 + BIO_sock_init @105 + BIO_sock_non_fatal_error @106 + BIO_sock_should_retry @107 + BIO_socket_ioctl @108 + BIO_socket_nbio @1102 + BIO_test_flags @3866 + BIO_vfree @2334 + BIO_vprintf @2443 + BIO_vsnprintf @2444 + BIO_write @109 + BN_BLINDING_convert @973 + BN_BLINDING_convert_ex @3465 + BN_BLINDING_create_param @3705 + BN_BLINDING_free @981 + BN_BLINDING_get_flags @3725 + BN_BLINDING_get_thread_id @3340 + BN_BLINDING_invert @974 + BN_BLINDING_invert_ex @3337 + BN_BLINDING_new @980 + BN_BLINDING_set_flags @3411 + BN_BLINDING_set_thread_id @3770 + BN_BLINDING_thread_id @4239 + BN_BLINDING_update @975 + BN_CTX_end @2241 + BN_CTX_free @110 + BN_CTX_get @2243 + BN_CTX_init @1135 + BN_CTX_new @111 + BN_CTX_start @2242 + BN_GENCB_call @3474 + BN_GF2m_add @3574 + BN_GF2m_arr2poly @3552 + BN_GF2m_mod @3515 + BN_GF2m_mod_arr @3431 + BN_GF2m_mod_div @3420 + BN_GF2m_mod_div_arr @3604 + BN_GF2m_mod_exp @3598 + BN_GF2m_mod_exp_arr @3361 + BN_GF2m_mod_inv @3597 + BN_GF2m_mod_inv_arr @3768 + BN_GF2m_mod_mul @3490 + BN_GF2m_mod_mul_arr @3366 + BN_GF2m_mod_solve_quad @3653 + BN_GF2m_mod_solve_quad_arr @3417 + BN_GF2m_mod_sqr @3397 + BN_GF2m_mod_sqr_arr @3540 + BN_GF2m_mod_sqrt @3548 + BN_GF2m_mod_sqrt_arr @3451 + BN_GF2m_poly2arr @3468 + BN_MONT_CTX_copy @1109 + BN_MONT_CTX_free @112 + BN_MONT_CTX_init @1136 + BN_MONT_CTX_new @113 + BN_MONT_CTX_set @114 + BN_MONT_CTX_set_locked @3310 + BN_RECP_CTX_free @1130 + BN_RECP_CTX_init @1128 + BN_RECP_CTX_new @1129 + BN_RECP_CTX_set @1131 + BN_X931_derive_prime_ex @4085 + BN_X931_generate_Xpq @3325 + BN_X931_generate_prime_ex @4060 + BN_add @115 + BN_add_word @116 + BN_asc2bn @4191 + BN_bin2bn @118 + BN_bn2bin @120 + BN_bn2dec @1002 + BN_bn2hex @119 + BN_bn2mpi @1058 + BN_bntest_rand @2464 + BN_clear @121 + BN_clear_bit @122 + BN_clear_free @123 + BN_cmp @124 + BN_consttime_swap @3907 + BN_copy @125 + BN_dec2bn @1001 + BN_div @126 + BN_div_recp @1134 + BN_div_word @127 + BN_dup @128 + BN_exp @998 + BN_free @129 + BN_from_montgomery @130 + BN_gcd @131 + BN_generate_prime @132 + BN_generate_prime_ex @3710 + BN_get0_nist_prime_192 @3358 + BN_get0_nist_prime_224 @3471 + BN_get0_nist_prime_256 @3629 + BN_get0_nist_prime_384 @3331 + BN_get0_nist_prime_521 @3708 + BN_get_params @1249 + BN_get_word @133 + BN_hex2bn @117 + BN_init @1095 + BN_is_bit_set @134 + BN_is_prime @135 + BN_is_prime_ex @3503 + BN_is_prime_fasttest @2240 + BN_is_prime_fasttest_ex @3718 + BN_kronecker @3011 + BN_lshift1 @137 + BN_lshift @136 + BN_mask_bits @138 + BN_mod_add @2774 + BN_mod_add_quick @2923 + BN_mod_exp2_mont @1514 + BN_mod_exp @140 + BN_mod_exp_mont @141 + BN_mod_exp_mont_consttime @3318 + BN_mod_exp_mont_word @2401 + BN_mod_exp_recp @1133 + BN_mod_exp_simple @143 + BN_mod_inverse @144 + BN_mod_lshift1 @3151 + BN_mod_lshift1_quick @2958 + BN_mod_lshift @3120 + BN_mod_lshift_quick @2621 + BN_mod_mul @145 + BN_mod_mul_montgomery @146 + BN_mod_mul_reciprocal @1132 + BN_mod_sqr @2802 + BN_mod_sqrt @2961 + BN_mod_sub @2824 + BN_mod_sub_quick @2933 + BN_mod_word @148 + BN_mpi2bn @1059 + BN_mul @149 + BN_mul_word @999 + BN_new @150 + BN_nist_mod_192 @3346 + BN_nist_mod_224 @3580 + BN_nist_mod_256 @3702 + BN_nist_mod_384 @3641 + BN_nist_mod_521 @3615 + BN_nnmod @2606 + BN_num_bits @151 + BN_num_bits_word @152 + BN_options @153 + BN_print @154 + BN_print_fp @155 + BN_pseudo_rand @2239 + BN_pseudo_rand_range @2523 + BN_rand @156 + BN_rand_range @2466 + BN_reciprocal @157 + BN_rshift1 @159 + BN_rshift @158 + BN_set_bit @160 + BN_set_negative @3635 + BN_set_params @1248 + BN_set_word @161 + BN_sqr @162 + BN_sub @163 + BN_sub_word @1000 + BN_swap @2990 + BN_to_ASN1_ENUMERATED @1207 + BN_to_ASN1_INTEGER @164 + BN_uadd @708 + BN_ucmp @165 + BN_usub @709 + BN_value_one @166 + BUF_MEM_free @167 + BUF_MEM_grow @168 + BUF_MEM_grow_clean @3239 + BUF_MEM_new @169 + BUF_memdup @3489 + BUF_reverse @4284 + BUF_strdup @170 + BUF_strlcat @3241 + BUF_strlcpy @3243 + BUF_strndup @3513 + BUF_strnlen @4766 + CAST_cbc_encrypt @992 + CAST_cfb64_encrypt @993 + CAST_decrypt @990 + CAST_ecb_encrypt @991 + CAST_encrypt @989 + CAST_ofb64_encrypt @994 + CAST_set_key @988 + CBIGNUM_it @2982 + CERTIFICATEPOLICIES_free @1486 + CERTIFICATEPOLICIES_it @2728 + CERTIFICATEPOLICIES_new @1485 + CMAC_CTX_cleanup @4621 + CMAC_CTX_copy @4618 + CMAC_CTX_free @4619 + CMAC_CTX_get0_cipher_ctx @4620 + CMAC_CTX_new @4625 + CMAC_Final @4626 + CMAC_Init @4622 + CMAC_Update @4623 + CMAC_resume @4624 + CMS_ContentInfo_free @3964 + CMS_ContentInfo_it @3969 + CMS_ContentInfo_new @3987 + CMS_ContentInfo_print_ctx @4401 + CMS_EncryptedData_decrypt @3995 + CMS_EncryptedData_encrypt @4005 + CMS_EncryptedData_set1_key @3977 + CMS_EnvelopedData_create @3955 + CMS_ReceiptRequest_create0 @4041 + CMS_ReceiptRequest_free @3938 + CMS_ReceiptRequest_get0_values @4001 + CMS_ReceiptRequest_it @4013 + CMS_ReceiptRequest_new @4018 + CMS_RecipientEncryptedKey_cert_cmp @4734 + CMS_RecipientEncryptedKey_get0_id @4753 + CMS_RecipientInfo_decrypt @4037 + CMS_RecipientInfo_encrypt @4712 + CMS_RecipientInfo_get0_pkey_ctx @4752 + CMS_RecipientInfo_kari_decrypt @4724 + CMS_RecipientInfo_kari_get0_alg @4729 + CMS_RecipientInfo_kari_get0_ctx @4750 + CMS_RecipientInfo_kari_get0_orig_id @4758 + CMS_RecipientInfo_kari_get0_reks @4742 + CMS_RecipientInfo_kari_orig_id_cmp @4728 + CMS_RecipientInfo_kari_set0_pkey @4746 + CMS_RecipientInfo_kekri_get0_id @4011 + CMS_RecipientInfo_kekri_id_cmp @4022 + CMS_RecipientInfo_ktri_cert_cmp @3962 + CMS_RecipientInfo_ktri_get0_algs @3963 + CMS_RecipientInfo_ktri_get0_signer_id @4032 + CMS_RecipientInfo_set0_key @4009 + CMS_RecipientInfo_set0_password @4660 + CMS_RecipientInfo_set0_pkey @4043 + CMS_RecipientInfo_type @3988 + CMS_SharedInfo_encode @4756 + CMS_SignedData_init @4010 + CMS_SignerInfo_cert_cmp @3973 + CMS_SignerInfo_get0_algs @3951 + CMS_SignerInfo_get0_md_ctx @4744 + CMS_SignerInfo_get0_pkey_ctx @4725 + CMS_SignerInfo_get0_signature @4741 + CMS_SignerInfo_get0_signer_id @4024 + CMS_SignerInfo_set1_signer_cert @3999 + CMS_SignerInfo_sign @3974 + CMS_SignerInfo_verify @3967 + CMS_SignerInfo_verify_content @3958 + CMS_add0_CertificateChoices @3940 + CMS_add0_RevocationInfoChoice @3997 + CMS_add0_cert @4004 + CMS_add0_crl @3957 + CMS_add0_recipient_key @4016 + CMS_add0_recipient_password @4658 + CMS_add1_ReceiptRequest @4023 + CMS_add1_cert @3952 + CMS_add1_crl @4405 + CMS_add1_recipient_cert @4034 + CMS_add1_signer @4042 + CMS_add_simple_smimecap @3966 + CMS_add_smimecap @3982 + CMS_add_standard_smimecap @3986 + CMS_compress @3971 + CMS_dataFinal @4031 + CMS_dataInit @4035 + CMS_data @3968 + CMS_data_create @3975 + CMS_decrypt @3978 + CMS_decrypt_set1_key @3950 + CMS_decrypt_set1_password @4659 + CMS_decrypt_set1_pkey @3998 + CMS_digest_create @3972 + CMS_digest_verify @4006 + CMS_encrypt @3954 + CMS_final @3965 + CMS_get0_RecipientInfos @3996 + CMS_get0_SignerInfos @4003 + CMS_get0_content @4019 + CMS_get0_eContentType @4039 + CMS_get0_signers @4000 + CMS_get0_type @3989 + CMS_get1_ReceiptRequest @4020 + CMS_get1_certs @4028 + CMS_get1_crls @4015 + CMS_is_detached @3990 + CMS_set1_eContentType @4040 + CMS_set1_signers_certs @4007 + CMS_set_detached @3953 + CMS_sign @3991 + CMS_sign_receipt @3943 + CMS_signed_add1_attr @3992 + CMS_signed_add1_attr_by_NID @4029 + CMS_signed_add1_attr_by_OBJ @4021 + CMS_signed_add1_attr_by_txt @4036 + CMS_signed_delete_attr @3945 + CMS_signed_get0_data_by_OBJ @4002 + CMS_signed_get_attr @4008 + CMS_signed_get_attr_by_NID @4027 + CMS_signed_get_attr_by_OBJ @3984 + CMS_signed_get_attr_count @4038 + CMS_stream @4271 + CMS_uncompress @3956 + CMS_unsigned_add1_attr @4026 + CMS_unsigned_add1_attr_by_NID @4025 + CMS_unsigned_add1_attr_by_OBJ @3941 + CMS_unsigned_add1_attr_by_txt @4030 + CMS_unsigned_delete_attr @3980 + CMS_unsigned_get0_data_by_OBJ @3959 + CMS_unsigned_get_attr @3961 + CMS_unsigned_get_attr_by_NID @3947 + CMS_unsigned_get_attr_by_OBJ @3993 + CMS_unsigned_get_attr_count @3981 + CMS_verify @3948 + CMS_verify_receipt @4012 + COMP_CTX_free @1097 + COMP_CTX_new @1096 + COMP_compress_block @1144 + COMP_expand_block @1145 + COMP_rle @1146 + COMP_zlib @1147 + COMP_zlib_cleanup @3936 + CONF_dump_bio @2288 + CONF_dump_fp @2283 + CONF_free @171 + CONF_get1_default_config_file @3194 + CONF_get_number @172 + CONF_get_section @173 + CONF_get_string @174 + CONF_imodule_get_flags @3195 + CONF_imodule_get_module @3196 + CONF_imodule_get_name @3198 + CONF_imodule_get_usr_data @3200 + CONF_imodule_get_value @3190 + CONF_imodule_set_flags @3201 + CONF_imodule_set_usr_data @3183 + CONF_load @175 + CONF_load_bio @1805 + CONF_load_fp @1806 + CONF_module_add @3193 + CONF_module_get_usr_data @3185 + CONF_module_set_usr_data @3191 + CONF_modules_finish @3187 + CONF_modules_free @3226 + CONF_modules_load @3197 + CONF_modules_load_file @3182 + CONF_modules_unload @3189 + CONF_parse_list @3192 + CONF_set_default_method @2290 + CONF_set_nconf @3081 + CRL_DIST_POINTS_free @1539 + CRL_DIST_POINTS_it @2869 + CRL_DIST_POINTS_new @1538 + CRYPTO_128_unwrap @4722 + CRYPTO_128_wrap @4720 + CRYPTO_THREADID_cmp @4176 + CRYPTO_THREADID_cpy @4165 + CRYPTO_THREADID_current @4244 + CRYPTO_THREADID_get_callback @4416 + CRYPTO_THREADID_hash @4400 + CRYPTO_THREADID_set_callback @4346 + CRYPTO_THREADID_set_numeric @4334 + CRYPTO_THREADID_set_pointer @4159 + CRYPTO_add_lock @176 + CRYPTO_cbc128_decrypt @4561 + CRYPTO_cbc128_encrypt @4556 + CRYPTO_ccm128_aad @4649 + CRYPTO_ccm128_decrypt @4648 + CRYPTO_ccm128_decrypt_ccm64 @4629 + CRYPTO_ccm128_encrypt @4630 + CRYPTO_ccm128_encrypt_ccm64 @4639 + CRYPTO_ccm128_init @4644 + CRYPTO_ccm128_setiv @4641 + CRYPTO_ccm128_tag @4647 + CRYPTO_cfb128_1_encrypt @4555 + CRYPTO_cfb128_8_encrypt @4563 + CRYPTO_cfb128_encrypt @4562 + CRYPTO_cleanup_all_ex_data @2604 + CRYPTO_ctr128_encrypt @4557 + CRYPTO_ctr128_encrypt_ctr32 @4627 + CRYPTO_cts128_decrypt @4559 + CRYPTO_cts128_decrypt_block @4554 + CRYPTO_cts128_encrypt @4553 + CRYPTO_cts128_encrypt_block @4560 + CRYPTO_dbg_free @177 + CRYPTO_dbg_get_options @2246 + CRYPTO_dbg_malloc @178 + CRYPTO_dbg_realloc @179 + CRYPTO_dbg_set_options @2157 + CRYPTO_destroy_dynlockid @2413 + CRYPTO_dup_ex_data @1025 + CRYPTO_ex_data_new_class @3036 + CRYPTO_free @181 + CRYPTO_free_ex_data @1004 + CRYPTO_free_locked @1513 + CRYPTO_gcm128_aad @4643 + CRYPTO_gcm128_decrypt @4651 + CRYPTO_gcm128_decrypt_ctr32 @4653 + CRYPTO_gcm128_encrypt @4631 + CRYPTO_gcm128_encrypt_ctr32 @4654 + CRYPTO_gcm128_finish @4655 + CRYPTO_gcm128_init @4650 + CRYPTO_gcm128_new @4646 + CRYPTO_gcm128_release @4628 + CRYPTO_gcm128_setiv @4635 + CRYPTO_gcm128_tag @4638 + CRYPTO_get_add_lock_callback @182 + CRYPTO_get_dynlock_create_callback @2420 + CRYPTO_get_dynlock_destroy_callback @2418 + CRYPTO_get_dynlock_lock_callback @2417 + CRYPTO_get_dynlock_value @2419 + CRYPTO_get_ex_data @1005 + CRYPTO_get_ex_data_implementation @3135 + CRYPTO_get_ex_new_index @1041 + CRYPTO_get_id_callback @183 + CRYPTO_get_lock_name @184 + CRYPTO_get_locked_mem_ex_functions @2781 + CRYPTO_get_locked_mem_functions @1511 + CRYPTO_get_locking_callback @185 + CRYPTO_get_mem_debug_functions @2159 + CRYPTO_get_mem_debug_options @2248 + CRYPTO_get_mem_ex_functions @2855 + CRYPTO_get_mem_functions @186 + CRYPTO_get_new_dynlockid @2410 + CRYPTO_get_new_lockid @1026 + CRYPTO_is_mem_check_on @2160 + CRYPTO_lock @187 + CRYPTO_malloc @188 + CRYPTO_malloc_locked @1512 + CRYPTO_mem_ctrl @189 + CRYPTO_mem_leaks @190 + CRYPTO_mem_leaks_cb @191 + CRYPTO_mem_leaks_fp @192 + CRYPTO_memcmp @3906 + CRYPTO_new_ex_data @1027 + CRYPTO_nistcts128_decrypt @4645 + CRYPTO_nistcts128_decrypt_block @4634 + CRYPTO_nistcts128_encrypt @4636 + CRYPTO_nistcts128_encrypt_block @4642 + CRYPTO_num_locks @1804 + CRYPTO_ofb128_encrypt @4558 + CRYPTO_pop_info @2162 + CRYPTO_push_info_ @2163 + CRYPTO_realloc @193 + CRYPTO_realloc_clean @3240 + CRYPTO_remalloc @194 + CRYPTO_remove_all_info @2158 + CRYPTO_set_add_lock_callback @195 + CRYPTO_set_dynlock_create_callback @2415 + CRYPTO_set_dynlock_destroy_callback @2412 + CRYPTO_set_dynlock_lock_callback @2416 + CRYPTO_set_ex_data @1007 + CRYPTO_set_ex_data_implementation @2841 + CRYPTO_set_id_callback @196 + CRYPTO_set_locked_mem_ex_functions @2770 + CRYPTO_set_locked_mem_functions @1510 + CRYPTO_set_locking_callback @197 + CRYPTO_set_mem_debug_functions @2161 + CRYPTO_set_mem_debug_options @2164 + CRYPTO_set_mem_ex_functions @2778 + CRYPTO_set_mem_functions @198 + CRYPTO_strdup @4093 + CRYPTO_thread_id @199 + CRYPTO_xts128_encrypt @4632 + Camellia_cbc_encrypt @3784 + Camellia_cfb128_encrypt @3785 + Camellia_cfb1_encrypt @3786 + Camellia_cfb8_encrypt @3787 + Camellia_ctr128_encrypt @3788 + Camellia_decrypt @3790 + Camellia_ecb_encrypt @3791 + Camellia_encrypt @3792 + Camellia_ofb128_encrypt @3793 + Camellia_set_key @3794 + DES_cbc_cksum @777 + DES_cbc_encrypt @778 + DES_cfb64_encrypt @780 + DES_cfb_encrypt @781 + DES_check_key_parity @2256 + DES_crypt @2249 + DES_decrypt3 @782 + DES_ecb3_encrypt @783 + DES_ecb_encrypt @784 + DES_ede3_cbc_encrypt @785 + DES_ede3_cbcm_encrypt @1225 + DES_ede3_cfb64_encrypt @786 + DES_ede3_cfb_encrypt @3257 + DES_ede3_ofb64_encrypt @787 + DES_enc_read @788 + DES_enc_write @789 + DES_encrypt1 @790 + DES_encrypt2 @791 + DES_encrypt3 @792 + DES_fcrypt @793 + DES_is_weak_key @794 + DES_key_sched @795 + DES_ncbc_encrypt @796 + DES_ofb64_encrypt @797 + DES_ofb_encrypt @798 + DES_options @799 + DES_pcbc_encrypt @800 + DES_quad_cksum @801 + DES_random_key @802 + DES_read_2passwords @3206 + DES_read_password @3207 + DES_set_key @808 + DES_set_key_checked @2144 + DES_set_key_unchecked @2147 + DES_set_odd_parity @809 + DES_string_to_2keys @810 + DES_string_to_key @811 + DES_xcbc_encrypt @812 + DH_KDF_X9_42 @4735 + DH_OpenSSL @1890 + DH_check @200 + DH_check_pub_key @3774 + DH_compute_key @201 + DH_compute_key_padded @4732 + DH_free @202 + DH_generate_key @203 + DH_generate_parameters @204 + DH_generate_parameters_ex @3713 + DH_get_1024_160 @4685 + DH_get_2048_224 @4691 + DH_get_2048_256 @4689 + DH_get_default_method @1892 + DH_get_ex_data @1886 + DH_get_ex_new_index @1887 + DH_new @205 + DH_new_method @1889 + DH_set_default_method @1894 + DH_set_ex_data @1883 + DH_set_method @1884 + DH_size @206 + DH_up_ref @2930 + DHparams_dup @4540 + DHparams_print @207 + DHparams_print_fp @208 + DIRECTORYSTRING_free @2038 + DIRECTORYSTRING_it @2767 + DIRECTORYSTRING_new @2137 + DISPLAYTEXT_free @1998 + DISPLAYTEXT_it @2836 + DISPLAYTEXT_new @1907 + DIST_POINT_NAME_free @1547 + DIST_POINT_NAME_it @3084 + DIST_POINT_NAME_new @1546 + DIST_POINT_free @1544 + DIST_POINT_it @2950 + DIST_POINT_new @1542 + DIST_POINT_set_dpname @4215 + DSA_OpenSSL @1885 + DSA_SIG_free @1334 + DSA_SIG_new @1333 + DSA_do_sign @1335 + DSA_do_verify @1336 + DSA_dup_DH @1871 + DSA_free @209 + DSA_generate_key @210 + DSA_generate_parameters @211 + DSA_generate_parameters_ex @3687 + DSA_get_default_method @1941 + DSA_get_ex_data @1895 + DSA_get_ex_new_index @1891 + DSA_new @213 + DSA_new_method @1888 + DSA_print @214 + DSA_print_fp @215 + DSA_set_default_method @1989 + DSA_set_ex_data @1893 + DSA_set_method @1949 + DSA_sign @216 + DSA_sign_setup @217 + DSA_size @218 + DSA_up_ref @2785 + DSA_verify @219 + DSAparams_dup @4539 + DSAparams_print @220 + DSAparams_print_fp @221 + DSO_METHOD_beos @4122 + DSO_METHOD_dl @2275 + DSO_METHOD_dlfcn @2272 + DSO_METHOD_null @2270 + DSO_METHOD_openssl @2271 + DSO_METHOD_vms @2462 + DSO_METHOD_win32 @2273 + DSO_bind_func @2409 + DSO_bind_var @2269 + DSO_convert_filename @2618 + DSO_ctrl @2293 + DSO_flags @2262 + DSO_free @2261 + DSO_get_default_method @2265 + DSO_get_filename @3115 + DSO_get_loaded_filename @2731 + DSO_get_method @2266 + DSO_global_lookup @4195 + DSO_load @2268 + DSO_merge @3762 + DSO_new @2259 + DSO_new_method @2260 + DSO_pathbyaddr @4523 + DSO_set_default_method @2264 + DSO_set_filename @2622 + DSO_set_method @2267 + DSO_set_name_converter @3105 + DSO_up_ref @2843 + ECDH_KDF_X9_62 @4749 + ECDH_OpenSSL @3442 + ECDH_compute_key @3644 + ECDH_get_default_method @3351 + ECDH_get_ex_data @3438 + ECDH_get_ex_new_index @3590 + ECDH_set_default_method @3549 + ECDH_set_ex_data @3613 + ECDH_set_method @3611 + ECDSA_METHOD_free @4759 + ECDSA_METHOD_get_app_data @4770 + ECDSA_METHOD_new @4751 + ECDSA_METHOD_set_app_data @4768 + ECDSA_METHOD_set_flags @4726 + ECDSA_METHOD_set_name @4723 + ECDSA_METHOD_set_sign @4733 + ECDSA_METHOD_set_sign_setup @4727 + ECDSA_METHOD_set_verify @4755 + ECDSA_OpenSSL @3620 + ECDSA_SIG_free @3455 + ECDSA_SIG_new @3395 + ECDSA_do_sign @3440 + ECDSA_do_sign_ex @3671 + ECDSA_do_verify @3672 + ECDSA_get_default_method @3522 + ECDSA_get_ex_data @3509 + ECDSA_get_ex_new_index @3744 + ECDSA_set_default_method @3625 + ECDSA_set_ex_data @3739 + ECDSA_set_method @3731 + ECDSA_sign @3719 + ECDSA_sign_ex @3403 + ECDSA_sign_setup @3416 + ECDSA_size @3706 + ECDSA_verify @3666 + ECPKParameters_print @3607 + ECPKParameters_print_fp @3453 + ECParameters_print @3485 + ECParameters_print_fp @3688 + EC_GF2m_simple_method @3738 + EC_GFp_mont_method @2689 + EC_GFp_nist_method @3529 + EC_GFp_simple_method @3099 + EC_GROUP_check @3555 + EC_GROUP_check_discriminant @3372 + EC_GROUP_clear_free @2550 + EC_GROUP_cmp @3627 + EC_GROUP_copy @2962 + EC_GROUP_dup @3661 + EC_GROUP_free @2877 + EC_GROUP_get0_generator @2693 + EC_GROUP_get0_seed @3601 + EC_GROUP_get_asn1_flag @3587 + EC_GROUP_get_basis_type @3637 + EC_GROUP_get_cofactor @2683 + EC_GROUP_get_curve_GF2m @3500 + EC_GROUP_get_curve_GFp @2985 + EC_GROUP_get_curve_name @3695 + EC_GROUP_get_degree @3570 + EC_GROUP_get_mont_data @4772 + EC_GROUP_get_order @2701 + EC_GROUP_get_pentanomial_basis @3409 + EC_GROUP_get_point_conversion_form @3405 + EC_GROUP_get_seed_len @3517 + EC_GROUP_get_trinomial_basis @3347 + EC_GROUP_have_precompute_mult @3429 + EC_GROUP_method_of @2568 + EC_GROUP_new @2995 + EC_GROUP_new_by_curve_name @3711 + EC_GROUP_new_curve_GF2m @3382 + EC_GROUP_new_curve_GFp @2885 + EC_GROUP_precompute_mult @3100 + EC_GROUP_set_asn1_flag @3749 + EC_GROUP_set_curve_GF2m @3545 + EC_GROUP_set_curve_GFp @2564 + EC_GROUP_set_curve_name @3533 + EC_GROUP_set_generator @2724 + EC_GROUP_set_point_conversion_form @3617 + EC_GROUP_set_seed @3494 + EC_KEY_check_key @3750 + EC_KEY_clear_flags @4602 + EC_KEY_copy @3369 + EC_KEY_dup @3729 + EC_KEY_free @3422 + EC_KEY_generate_key @3550 + EC_KEY_get0_group @3575 + EC_KEY_get0_private_key @3608 + EC_KEY_get0_public_key @3480 + EC_KEY_get_conv_form @3388 + EC_KEY_get_enc_flags @3622 + EC_KEY_get_flags @4593 + EC_KEY_get_key_method_data @3402 + EC_KEY_insert_key_method_data @3557 + EC_KEY_new @3663 + EC_KEY_new_by_curve_name @3353 + EC_KEY_precompute_mult @3374 + EC_KEY_print @3742 + EC_KEY_print_fp @3430 + EC_KEY_set_asn1_flag @3400 + EC_KEY_set_conv_form @3443 + EC_KEY_set_enc_flags @3665 + EC_KEY_set_flags @4603 + EC_KEY_set_group @3512 + EC_KEY_set_private_key @3459 + EC_KEY_set_public_key @3682 + EC_KEY_set_public_key_affine_coordinates @4585 + EC_KEY_up_ref @3418 + EC_METHOD_get_field_type @3528 + EC_POINT_add @2532 + EC_POINT_bn2point @3398 + EC_POINT_clear_free @3039 + EC_POINT_cmp @2953 + EC_POINT_copy @3010 + EC_POINT_dbl @3070 + EC_POINT_dup @3444 + EC_POINT_free @2929 + EC_POINT_get_Jprojective_coordinates_GFp @2779 + EC_POINT_get_affine_coordinates_GF2m @3660 + EC_POINT_get_affine_coordinates_GFp @2909 + EC_POINT_hex2point @3763 + EC_POINT_invert @2896 + EC_POINT_is_at_infinity @2616 + EC_POINT_is_on_curve @2769 + EC_POINT_make_affine @3114 + EC_POINT_method_of @2852 + EC_POINT_mul @2831 + EC_POINT_new @2924 + EC_POINT_oct2point @2578 + EC_POINT_point2bn @3379 + EC_POINT_point2hex @3667 + EC_POINT_point2oct @3178 + EC_POINT_set_Jprojective_coordinates_GFp @2575 + EC_POINT_set_affine_coordinates_GF2m @3360 + EC_POINT_set_affine_coordinates_GFp @2611 + EC_POINT_set_compressed_coordinates_GF2m @3626 + EC_POINT_set_compressed_coordinates_GFp @2597 + EC_POINT_set_to_infinity @3176 + EC_POINTs_make_affine @2830 + EC_POINTs_mul @2940 + EC_curve_nid2nist @4688 + EC_curve_nist2nid @4684 + EC_get_builtin_curves @3447 + EDIPARTYNAME_free @2883 + EDIPARTYNAME_it @3005 + EDIPARTYNAME_new @2671 + ENGINE_add @2518 + ENGINE_add_conf_module @3202 + ENGINE_by_id @2493 + ENGINE_cleanup @2949 + ENGINE_cmd_is_executable @2759 + ENGINE_ctrl @2481 + ENGINE_ctrl_cmd @2900 + ENGINE_ctrl_cmd_string @2628 + ENGINE_finish @2478 + ENGINE_free @2502 + ENGINE_get_DH @2480 + ENGINE_get_DSA @2520 + ENGINE_get_ECDH @3716 + ENGINE_get_ECDSA @3723 + ENGINE_get_RAND @2491 + ENGINE_get_RSA @2489 + ENGINE_get_STORE @3668 + ENGINE_get_cipher @2756 + ENGINE_get_cipher_engine @3008 + ENGINE_get_ciphers @2529 + ENGINE_get_cmd_defns @2658 + ENGINE_get_ctrl_function @2521 + ENGINE_get_default_DH @2488 + ENGINE_get_default_DSA @2506 + ENGINE_get_default_ECDH @3387 + ENGINE_get_default_ECDSA @3662 + ENGINE_get_default_RAND @2509 + ENGINE_get_default_RSA @2470 + ENGINE_get_destroy_function @3080 + ENGINE_get_digest @2748 + ENGINE_get_digest_engine @2563 + ENGINE_get_digests @2816 + ENGINE_get_ex_data @2856 + ENGINE_get_ex_new_index @2826 + ENGINE_get_finish_function @2469 + ENGINE_get_first @2492 + ENGINE_get_flags @2911 + ENGINE_get_id @2516 + ENGINE_get_init_function @2482 + ENGINE_get_last @2486 + ENGINE_get_load_privkey_function @3172 + ENGINE_get_load_pubkey_function @2792 + ENGINE_get_name @2485 + ENGINE_get_next @2504 + ENGINE_get_pkey_asn1_meth @4151 + ENGINE_get_pkey_asn1_meth_engine @4140 + ENGINE_get_pkey_asn1_meth_str @4393 + ENGINE_get_pkey_asn1_meths @4342 + ENGINE_get_pkey_meth @4154 + ENGINE_get_pkey_meth_engine @4425 + ENGINE_get_pkey_meths @4287 + ENGINE_get_prev @2487 + ENGINE_get_ssl_client_cert_function @4045 + ENGINE_get_static_state @3393 + ENGINE_get_table_flags @3143 + ENGINE_init @2475 + ENGINE_load_builtin_engines @2708 + ENGINE_load_cryptodev @2617 + ENGINE_load_dynamic @2547 + ENGINE_load_openssl @2657 + ENGINE_load_private_key @2498 + ENGINE_load_public_key @2479 + ENGINE_load_rdrand @4640 + ENGINE_load_ssl_client_cert @4046 + ENGINE_new @2515 + ENGINE_pkey_asn1_find_str @4282 + ENGINE_register_DH @2584 + ENGINE_register_DSA @2762 + ENGINE_register_ECDH @3355 + ENGINE_register_ECDSA @3335 + ENGINE_register_RAND @2609 + ENGINE_register_RSA @2664 + ENGINE_register_STORE @3685 + ENGINE_register_all_DH @2907 + ENGINE_register_all_DSA @2918 + ENGINE_register_all_ECDH @3646 + ENGINE_register_all_ECDSA @3658 + ENGINE_register_all_RAND @2546 + ENGINE_register_all_RSA @2809 + ENGINE_register_all_STORE @3567 + ENGINE_register_all_ciphers @3009 + ENGINE_register_all_complete @2970 + ENGINE_register_all_digests @2637 + ENGINE_register_all_pkey_asn1_meths @4398 + ENGINE_register_all_pkey_meths @4367 + ENGINE_register_ciphers @2620 + ENGINE_register_complete @2941 + ENGINE_register_digests @2889 + ENGINE_register_pkey_asn1_meths @4297 + ENGINE_register_pkey_meths @4129 + ENGINE_remove @2501 + ENGINE_set_DH @2473 + ENGINE_set_DSA @2468 + ENGINE_set_ECDH @3477 + ENGINE_set_ECDSA @3605 + ENGINE_set_RAND @2511 + ENGINE_set_RSA @2497 + ENGINE_set_STORE @3334 + ENGINE_set_ciphers @2676 + ENGINE_set_cmd_defns @2875 + ENGINE_set_ctrl_function @2522 + ENGINE_set_default @2490 + ENGINE_set_default_DH @2514 + ENGINE_set_default_DSA @2484 + ENGINE_set_default_ECDH @3759 + ENGINE_set_default_ECDSA @3546 + ENGINE_set_default_RAND @2499 + ENGINE_set_default_RSA @2508 + ENGINE_set_default_ciphers @3029 + ENGINE_set_default_digests @2661 + ENGINE_set_default_pkey_asn1_meths @4193 + ENGINE_set_default_pkey_meths @4300 + ENGINE_set_default_string @3184 + ENGINE_set_destroy_function @2992 + ENGINE_set_digests @2937 + ENGINE_set_ex_data @2980 + ENGINE_set_finish_function @2494 + ENGINE_set_flags @3162 + ENGINE_set_id @2512 + ENGINE_set_init_function @2483 + ENGINE_set_load_privkey_function @2659 + ENGINE_set_load_pubkey_function @2764 + ENGINE_set_load_ssl_client_cert_function @4044 + ENGINE_set_name @2505 + ENGINE_set_pkey_asn1_meths @4409 + ENGINE_set_pkey_meths @4508 + ENGINE_set_table_flags @3073 + ENGINE_unregister_DH @2917 + ENGINE_unregister_DSA @2665 + ENGINE_unregister_ECDH @3441 + ENGINE_unregister_ECDSA @3769 + ENGINE_unregister_RAND @3044 + ENGINE_unregister_RSA @2539 + ENGINE_unregister_STORE @3384 + ENGINE_unregister_ciphers @2528 + ENGINE_unregister_digests @2813 + ENGINE_unregister_pkey_asn1_meths @4497 + ENGINE_unregister_pkey_meths @4478 + ENGINE_up_ref @3238 + ERR_add_error_data @1081 + ERR_add_error_vdata @4589 + ERR_clear_error @222 + ERR_error_string @223 + ERR_error_string_n @2291 + ERR_free_strings @224 + ERR_func_error_string @225 + ERR_get_err_state_table @226 + ERR_get_error @227 + ERR_get_error_line @228 + ERR_get_error_line_data @1515 + ERR_get_implementation @2601 + ERR_get_next_error_library @966 + ERR_get_state @229 + ERR_get_string_table @230 + ERR_lib_error_string @231 + ERR_load_ASN1_strings @232 + ERR_load_BIO_strings @233 + ERR_load_BN_strings @234 + ERR_load_BUF_strings @235 + ERR_load_CMS_strings @3942 + ERR_load_COMP_strings @2525 + ERR_load_CONF_strings @236 + ERR_load_CRYPTO_strings @1009 + ERR_load_DH_strings @237 + ERR_load_DSA_strings @238 + ERR_load_DSO_strings @2274 + ERR_load_ECDH_strings @3728 + ERR_load_ECDSA_strings @3636 + ERR_load_EC_strings @2849 + ERR_load_ENGINE_strings @2467 + ERR_load_ERR_strings @239 + ERR_load_EVP_strings @240 + ERR_load_OBJ_strings @241 + ERR_load_OCSP_strings @3177 + ERR_load_PEM_strings @242 + ERR_load_PKCS12_strings @1300 + ERR_load_PKCS7_strings @919 + ERR_load_RAND_strings @2205 + ERR_load_RSA_strings @244 + ERR_load_TS_strings @4314 + ERR_load_UI_strings @3091 + ERR_load_X509V3_strings @1164 + ERR_load_X509_strings @245 + ERR_load_crypto_strings @246 + ERR_load_strings @247 + ERR_peek_error @248 + ERR_peek_error_line @249 + ERR_peek_error_line_data @1516 + ERR_peek_last_error @3205 + ERR_peek_last_error_line @3203 + ERR_peek_last_error_line_data @3204 + ERR_pop_to_mark @3566 + ERR_print_errors @250 + ERR_print_errors_cb @2675 + ERR_print_errors_fp @251 + ERR_put_error @252 + ERR_reason_error_string @253 + ERR_release_err_state_table @3247 + ERR_remove_state @254 + ERR_remove_thread_state @4445 + ERR_set_error_data @1082 + ERR_set_implementation @2848 + ERR_set_mark @3332 + ERR_unload_strings @2881 + ESS_CERT_ID_dup @4203 + ESS_CERT_ID_free @4477 + ESS_CERT_ID_new @4281 + ESS_ISSUER_SERIAL_dup @4491 + ESS_ISSUER_SERIAL_free @4391 + ESS_ISSUER_SERIAL_new @4404 + ESS_SIGNING_CERT_dup @4452 + ESS_SIGNING_CERT_free @4504 + ESS_SIGNING_CERT_new @4385 + EVP_BytesToKey @255 + EVP_CIPHER_CTX_block_size @3879 + EVP_CIPHER_CTX_cipher @3888 + EVP_CIPHER_CTX_cleanup @256 + EVP_CIPHER_CTX_clear_flags @4050 + EVP_CIPHER_CTX_copy @4549 + EVP_CIPHER_CTX_ctrl @2400 + EVP_CIPHER_CTX_flags @3891 + EVP_CIPHER_CTX_free @3783 + EVP_CIPHER_CTX_get_app_data @3889 + EVP_CIPHER_CTX_init @961 + EVP_CIPHER_CTX_iv_length @3899 + EVP_CIPHER_CTX_key_length @3841 + EVP_CIPHER_CTX_new @3782 + EVP_CIPHER_CTX_nid @3831 + EVP_CIPHER_CTX_rand_key @3730 + EVP_CIPHER_CTX_set_app_data @3819 + EVP_CIPHER_CTX_set_flags @4059 + EVP_CIPHER_CTX_set_key_length @2399 + EVP_CIPHER_CTX_set_padding @3019 + EVP_CIPHER_CTX_test_flags @4069 + EVP_CIPHER_asn1_to_param @1083 + EVP_CIPHER_block_size @3816 + EVP_CIPHER_do_all @4353 + EVP_CIPHER_do_all_sorted @4429 + EVP_CIPHER_flags @3857 + EVP_CIPHER_get_asn1_iv @1085 + EVP_CIPHER_iv_length @3836 + EVP_CIPHER_key_length @3873 + EVP_CIPHER_nid @3877 + EVP_CIPHER_param_to_asn1 @1084 + EVP_CIPHER_set_asn1_iv @1086 + EVP_CIPHER_type @1649 + EVP_CipherFinal @257 + EVP_CipherFinal_ex @2602 + EVP_CipherInit @258 + EVP_CipherInit_ex @2915 + EVP_CipherUpdate @259 + EVP_Cipher @3874 + EVP_DecodeBlock @260 + EVP_DecodeFinal @261 + EVP_DecodeInit @262 + EVP_DecodeUpdate @263 + EVP_DecryptFinal @264 + EVP_DecryptFinal_ex @2656 + EVP_DecryptInit @265 + EVP_DecryptInit_ex @3067 + EVP_DecryptUpdate @266 + EVP_DigestFinal @267 + EVP_DigestFinal_ex @2936 + EVP_DigestInit @268 + EVP_DigestInit_ex @3109 + EVP_DigestSignFinal @4372 + EVP_DigestSignInit @4144 + EVP_DigestUpdate @269 + EVP_DigestVerifyFinal @4206 + EVP_DigestVerifyInit @4299 + EVP_Digest @3165 + EVP_EncodeBlock @270 + EVP_EncodeFinal @271 + EVP_EncodeInit @272 + EVP_EncodeUpdate @273 + EVP_EncryptFinal @274 + EVP_EncryptFinal_ex @2660 + EVP_EncryptInit @275 + EVP_EncryptInit_ex @2894 + EVP_EncryptUpdate @276 + EVP_MD_CTX_cleanup @2821 + EVP_MD_CTX_clear_flags @3853 + EVP_MD_CTX_copy @1202 + EVP_MD_CTX_copy_ex @2589 + EVP_MD_CTX_create @2712 + EVP_MD_CTX_destroy @2925 + EVP_MD_CTX_init @2630 + EVP_MD_CTX_md @3896 + EVP_MD_CTX_set_flags @3883 + EVP_MD_CTX_test_flags @3845 + EVP_MD_block_size @3890 + EVP_MD_do_all @4442 + EVP_MD_do_all_sorted @4253 + EVP_MD_flags @4537 + EVP_MD_pkey_type @3852 + EVP_MD_size @3844 + EVP_MD_type @3837 + EVP_OpenFinal @277 + EVP_OpenInit @278 + EVP_PBE_CipherInit @1650 + EVP_PBE_alg_add @1322 + EVP_PBE_alg_add_type @4437 + EVP_PBE_cleanup @1324 + EVP_PBE_find @4386 + EVP_PKCS82PKEY @1318 + EVP_PKEY2PKCS8 @1319 + EVP_PKEY2PKCS8_broken @2244 + EVP_PKEY_CTX_ctrl @4233 + EVP_PKEY_CTX_ctrl_str @4187 + EVP_PKEY_CTX_dup @4316 + EVP_PKEY_CTX_free @4430 + EVP_PKEY_CTX_get0_peerkey @4465 + EVP_PKEY_CTX_get0_pkey @4381 + EVP_PKEY_CTX_get_app_data @4344 + EVP_PKEY_CTX_get_cb @4419 + EVP_PKEY_CTX_get_data @4218 + EVP_PKEY_CTX_get_keygen_info @4137 + EVP_PKEY_CTX_get_operation @4434 + EVP_PKEY_CTX_new @4119 + EVP_PKEY_CTX_new_id @4532 + EVP_PKEY_CTX_set0_keygen_info @4214 + EVP_PKEY_CTX_set_app_data @4330 + EVP_PKEY_CTX_set_cb @4272 + EVP_PKEY_CTX_set_data @4182 + EVP_PKEY_add1_attr @3690 + EVP_PKEY_add1_attr_by_NID @3345 + EVP_PKEY_add1_attr_by_OBJ @3756 + EVP_PKEY_add1_attr_by_txt @3410 + EVP_PKEY_asn1_add0 @4130 + EVP_PKEY_asn1_add_alias @4222 + EVP_PKEY_asn1_copy @4427 + EVP_PKEY_asn1_find @4121 + EVP_PKEY_asn1_find_str @4383 + EVP_PKEY_asn1_free @4503 + EVP_PKEY_asn1_get0 @4258 + EVP_PKEY_asn1_get0_info @4320 + EVP_PKEY_asn1_get_count @4296 + EVP_PKEY_asn1_new @4152 + EVP_PKEY_asn1_set_ctrl @4530 + EVP_PKEY_asn1_set_free @4178 + EVP_PKEY_asn1_set_item @4774 + EVP_PKEY_asn1_set_param @4361 + EVP_PKEY_asn1_set_private @4308 + EVP_PKEY_asn1_set_public @4171 + EVP_PKEY_assign @279 + EVP_PKEY_base_id @4230 + EVP_PKEY_bits @1010 + EVP_PKEY_cmp @3433 + EVP_PKEY_cmp_parameters @967 + EVP_PKEY_copy_parameters @280 + EVP_PKEY_decrypt @1070 + EVP_PKEY_decrypt_init @4245 + EVP_PKEY_decrypt_old @4378 + EVP_PKEY_delete_attr @3624 + EVP_PKEY_derive @4388 + EVP_PKEY_derive_init @4220 + EVP_PKEY_derive_set_peer @4488 + EVP_PKEY_encrypt @1071 + EVP_PKEY_encrypt_init @4164 + EVP_PKEY_encrypt_old @4163 + EVP_PKEY_free @281 + EVP_PKEY_get0 @4439 + EVP_PKEY_get0_asn1 @4179 + EVP_PKEY_get1_DH @2128 + EVP_PKEY_get1_DSA @1935 + EVP_PKEY_get1_EC_KEY @3385 + EVP_PKEY_get1_RSA @2034 + EVP_PKEY_get_attr @3439 + EVP_PKEY_get_attr_by_NID @3721 + EVP_PKEY_get_attr_by_OBJ @3651 + EVP_PKEY_get_attr_count @3498 + EVP_PKEY_get_default_digest_nid @4188 + EVP_PKEY_id @4470 + EVP_PKEY_keygen @4143 + EVP_PKEY_keygen_init @4183 + EVP_PKEY_meth_add0 @4446 + EVP_PKEY_meth_copy @4588 + EVP_PKEY_meth_find @4469 + EVP_PKEY_meth_free @4460 + EVP_PKEY_meth_get0_info @4587 + EVP_PKEY_meth_get_cleanup @4786 + EVP_PKEY_meth_get_copy @4788 + EVP_PKEY_meth_get_ctrl @4784 + EVP_PKEY_meth_get_decrypt @4785 + EVP_PKEY_meth_get_derive @4778 + EVP_PKEY_meth_get_encrypt @4787 + EVP_PKEY_meth_get_init @4775 + EVP_PKEY_meth_get_keygen @4777 + EVP_PKEY_meth_get_paramgen @4780 + EVP_PKEY_meth_get_sign @4782 + EVP_PKEY_meth_get_signctx @4783 + EVP_PKEY_meth_get_verify @4781 + EVP_PKEY_meth_get_verify_recover @4776 + EVP_PKEY_meth_get_verifyctx @4779 + EVP_PKEY_meth_new @4448 + EVP_PKEY_meth_set_cleanup @4502 + EVP_PKEY_meth_set_copy @4527 + EVP_PKEY_meth_set_ctrl @4236 + EVP_PKEY_meth_set_decrypt @4135 + EVP_PKEY_meth_set_derive @4276 + EVP_PKEY_meth_set_encrypt @4362 + EVP_PKEY_meth_set_init @4264 + EVP_PKEY_meth_set_keygen @4514 + EVP_PKEY_meth_set_paramgen @4517 + EVP_PKEY_meth_set_sign @4243 + EVP_PKEY_meth_set_signctx @4426 + EVP_PKEY_meth_set_verify @4317 + EVP_PKEY_meth_set_verify_recover @4269 + EVP_PKEY_meth_set_verifyctx @4332 + EVP_PKEY_missing_parameters @282 + EVP_PKEY_new @283 + EVP_PKEY_new_mac_key @4174 + EVP_PKEY_paramgen @4516 + EVP_PKEY_paramgen_init @4261 + EVP_PKEY_print_params @4207 + EVP_PKEY_print_private @4248 + EVP_PKEY_print_public @4118 + EVP_PKEY_save_parameters @284 + EVP_PKEY_set1_DH @2107 + EVP_PKEY_set1_DSA @1970 + EVP_PKEY_set1_EC_KEY @3450 + EVP_PKEY_set1_RSA @2063 + EVP_PKEY_set_type @4524 + EVP_PKEY_set_type_str @4136 + EVP_PKEY_sign @4262 + EVP_PKEY_sign_init @4125 + EVP_PKEY_size @285 + EVP_PKEY_type @286 + EVP_PKEY_verify @4369 + EVP_PKEY_verify_init @4474 + EVP_PKEY_verify_recover @4519 + EVP_PKEY_verify_recover_init @4181 + EVP_SealFinal @287 + EVP_SealInit @288 + EVP_SignFinal @289 + EVP_VerifyFinal @290 + EVP_add_alg_module @4077 + EVP_add_cipher @292 + EVP_add_digest @293 + EVP_aes_128_cbc @2927 + EVP_aes_128_cbc_hmac_sha1 @4637 + EVP_aes_128_cbc_hmac_sha256 @4731 + EVP_aes_128_ccm @4609 + EVP_aes_128_cfb128 @3222 + EVP_aes_128_cfb1 @3251 + EVP_aes_128_cfb8 @3248 + EVP_aes_128_ctr @4590 + EVP_aes_128_ecb @2644 + EVP_aes_128_gcm @4601 + EVP_aes_128_ofb @3224 + EVP_aes_128_wrap @4743 + EVP_aes_128_xts @4595 + EVP_aes_192_cbc @3155 + EVP_aes_192_ccm @4617 + EVP_aes_192_cfb128 @3225 + EVP_aes_192_cfb1 @3264 + EVP_aes_192_cfb8 @3252 + EVP_aes_192_ctr @4586 + EVP_aes_192_ecb @2862 + EVP_aes_192_gcm @4611 + EVP_aes_192_ofb @3221 + EVP_aes_192_wrap @4730 + EVP_aes_256_cbc @2996 + EVP_aes_256_cbc_hmac_sha1 @4656 + EVP_aes_256_cbc_hmac_sha256 @4740 + EVP_aes_256_ccm @4605 + EVP_aes_256_cfb128 @3223 + EVP_aes_256_cfb1 @3271 + EVP_aes_256_cfb8 @3255 + EVP_aes_256_ctr @4591 + EVP_aes_256_ecb @2720 + EVP_aes_256_gcm @4615 + EVP_aes_256_ofb @3220 + EVP_aes_256_wrap @4719 + EVP_aes_256_xts @4599 + EVP_bf_cbc @294 + EVP_bf_cfb64 @295 + EVP_bf_ecb @296 + EVP_bf_ofb @297 + EVP_camellia_128_cbc @3795 + EVP_camellia_128_cfb128 @3796 + EVP_camellia_128_cfb1 @3797 + EVP_camellia_128_cfb8 @3798 + EVP_camellia_128_ecb @3799 + EVP_camellia_128_ofb @3800 + EVP_camellia_192_cbc @3801 + EVP_camellia_192_cfb128 @3802 + EVP_camellia_192_cfb1 @3803 + EVP_camellia_192_cfb8 @3804 + EVP_camellia_192_ecb @3805 + EVP_camellia_192_ofb @3806 + EVP_camellia_256_cbc @3807 + EVP_camellia_256_cfb128 @3808 + EVP_camellia_256_cfb1 @3809 + EVP_camellia_256_cfb8 @3810 + EVP_camellia_256_ecb @3811 + EVP_camellia_256_ofb @3812 + EVP_cast5_cbc @983 + EVP_cast5_cfb64 @984 + EVP_cast5_ecb @985 + EVP_cast5_ofb @986 + EVP_cleanup @298 + EVP_des_cbc @299 + EVP_des_cfb1 @3277 + EVP_des_cfb64 @300 + EVP_des_cfb8 @3267 + EVP_des_ecb @301 + EVP_des_ede3 @303 + EVP_des_ede3_cbc @304 + EVP_des_ede3_cfb1 @3280 + EVP_des_ede3_cfb64 @305 + EVP_des_ede3_cfb8 @3258 + EVP_des_ede3_ecb @3236 + EVP_des_ede3_ofb @306 + EVP_des_ede3_wrap @4737 + EVP_des_ede @302 + EVP_des_ede_cbc @307 + EVP_des_ede_cfb64 @308 + EVP_des_ede_ecb @3231 + EVP_des_ede_ofb @309 + EVP_des_ofb @310 + EVP_desx_cbc @311 + EVP_dss1 @313 + EVP_dss @312 + EVP_ecdsa @3724 + EVP_enc_null @314 + EVP_get_cipherbyname @315 + EVP_get_digestbyname @316 + EVP_get_pw_prompt @317 + EVP_md4 @2438 + EVP_md5 @323 + EVP_md_null @324 + EVP_rc2_40_cbc @959 + EVP_rc2_64_cbc @1103 + EVP_rc2_cbc @325 + EVP_rc2_cfb64 @326 + EVP_rc2_ecb @327 + EVP_rc2_ofb @328 + EVP_rc4 @329 + EVP_rc4_40 @960 + EVP_rc4_hmac_md5 @4633 + EVP_read_pw_string @330 + EVP_read_pw_string_min @4552 + EVP_ripemd160 @1252 + EVP_seed_cbc @3914 + EVP_seed_cfb128 @3918 + EVP_seed_ecb @3916 + EVP_seed_ofb @3911 + EVP_set_pw_prompt @331 + EVP_sha1 @333 + EVP_sha224 @3314 + EVP_sha256 @3315 + EVP_sha384 @3312 + EVP_sha512 @3313 + EVP_sha @332 + EVP_whirlpool @4360 + EXTENDED_KEY_USAGE_free @2631 + EXTENDED_KEY_USAGE_it @3098 + EXTENDED_KEY_USAGE_new @2549 + FIPS_mode @3283 + FIPS_mode_set @3253 + GENERAL_NAMES_free @1216 + GENERAL_NAMES_it @2804 + GENERAL_NAMES_new @1215 + GENERAL_NAME_cmp @4506 + GENERAL_NAME_dup @4147 + GENERAL_NAME_free @1214 + GENERAL_NAME_get0_otherName @4511 + GENERAL_NAME_get0_value @4249 + GENERAL_NAME_it @2594 + GENERAL_NAME_new @1213 + GENERAL_NAME_print @2870 + GENERAL_NAME_set0_othername @4421 + GENERAL_NAME_set0_value @4225 + GENERAL_SUBTREE_free @3349 + GENERAL_SUBTREE_it @3694 + GENERAL_SUBTREE_new @3445 + HMAC @962 + HMAC_CTX_cleanup @2784 + HMAC_CTX_copy @4340 + HMAC_CTX_init @2747 + HMAC_CTX_set_flags @3288 + HMAC_Final @965 + HMAC_Init @963 + HMAC_Init_ex @2572 + HMAC_Update @964 + ISSUING_DIST_POINT_free @4403 + ISSUING_DIST_POINT_it @4431 + ISSUING_DIST_POINT_new @4266 + KRB5_APREQBODY_free @2692 + KRB5_APREQBODY_it @3061 + KRB5_APREQBODY_new @2626 + KRB5_APREQ_free @3179 + KRB5_APREQ_it @3079 + KRB5_APREQ_new @2984 + KRB5_AUTHDATA_free @2775 + KRB5_AUTHDATA_it @3121 + KRB5_AUTHDATA_new @2687 + KRB5_AUTHENTBODY_free @3049 + KRB5_AUTHENTBODY_it @2976 + KRB5_AUTHENTBODY_new @3003 + KRB5_AUTHENT_free @2645 + KRB5_AUTHENT_it @2735 + KRB5_AUTHENT_new @3103 + KRB5_CHECKSUM_free @2634 + KRB5_CHECKSUM_it @2531 + KRB5_CHECKSUM_new @3026 + KRB5_ENCDATA_free @2963 + KRB5_ENCDATA_it @2791 + KRB5_ENCDATA_new @2842 + KRB5_ENCKEY_free @2592 + KRB5_ENCKEY_it @2557 + KRB5_ENCKEY_new @2986 + KRB5_PRINCNAME_free @3096 + KRB5_PRINCNAME_it @3066 + KRB5_PRINCNAME_new @2699 + KRB5_TICKET_free @3156 + KRB5_TICKET_it @3154 + KRB5_TICKET_new @2983 + KRB5_TKTBODY_free @2624 + KRB5_TKTBODY_it @2750 + KRB5_TKTBODY_new @3089 + LONG_it @2864 + MD4 @2433 + MD4_Final @2435 + MD4_Init @2437 + MD4_Transform @2434 + MD4_Update @2436 + MD5 @339 + MD5_Final @340 + MD5_Init @341 + MD5_Transform @1011 + MD5_Update @342 + NAME_CONSTRAINTS_check @4494 + NAME_CONSTRAINTS_free @3338 + NAME_CONSTRAINTS_it @3350 + NAME_CONSTRAINTS_new @3478 + NCONF_WIN32 @3229 + NCONF_default @3227 + NCONF_dump_bio @2287 + NCONF_dump_fp @2285 + NCONF_free @2281 + NCONF_free_data @2289 + NCONF_get_number_e @2704 + NCONF_get_section @2286 + NCONF_get_string @2280 + NCONF_load @2276 + NCONF_load_bio @2284 + NCONF_load_fp @2278 + NCONF_new @2279 + NETSCAPE_CERT_SEQUENCE_free @1165 + NETSCAPE_CERT_SEQUENCE_it @2803 + NETSCAPE_CERT_SEQUENCE_new @1166 + NETSCAPE_SPKAC_free @347 + NETSCAPE_SPKAC_it @2641 + NETSCAPE_SPKAC_new @348 + NETSCAPE_SPKI_b64_decode @1901 + NETSCAPE_SPKI_b64_encode @1899 + NETSCAPE_SPKI_free @349 + NETSCAPE_SPKI_get_pubkey @1900 + NETSCAPE_SPKI_it @3006 + NETSCAPE_SPKI_new @350 + NETSCAPE_SPKI_print @1897 + NETSCAPE_SPKI_set_pubkey @1898 + NETSCAPE_SPKI_sign @351 + NETSCAPE_SPKI_verify @352 + NETSCAPE_X509_free @4246 + NETSCAPE_X509_it @4374 + NETSCAPE_X509_new @4485 + NOTICEREF_free @1503 + NOTICEREF_it @3030 + NOTICEREF_new @1501 + OBJ_NAME_add @1101 + OBJ_NAME_cleanup @1104 + OBJ_NAME_do_all @2939 + OBJ_NAME_do_all_sorted @2743 + OBJ_NAME_get @1105 + OBJ_NAME_init @1106 + OBJ_NAME_new_index @1107 + OBJ_NAME_remove @1108 + OBJ_add_object @353 + OBJ_add_sigid @4259 + OBJ_bsearch_ @4331 + OBJ_bsearch_ex_ @4294 + OBJ_cleanup @355 + OBJ_cmp @356 + OBJ_create @357 + OBJ_create_objects @997 + OBJ_dup @358 + OBJ_find_sigid_algs @4513 + OBJ_find_sigid_by_algs @4210 + OBJ_ln2nid @359 + OBJ_new_nid @360 + OBJ_nid2ln @361 + OBJ_nid2obj @362 + OBJ_nid2sn @363 + OBJ_obj2nid @364 + OBJ_obj2txt @1870 + OBJ_sigid_free @4263 + OBJ_sn2nid @365 + OBJ_txt2nid @366 + OBJ_txt2obj @1167 + OCSP_BASICRESP_add1_ext_i2d @2839 + OCSP_BASICRESP_add_ext @2556 + OCSP_BASICRESP_delete_ext @2553 + OCSP_BASICRESP_free @2838 + OCSP_BASICRESP_get1_ext_d2i @2905 + OCSP_BASICRESP_get_ext @3134 + OCSP_BASICRESP_get_ext_by_NID @3083 + OCSP_BASICRESP_get_ext_by_OBJ @2577 + OCSP_BASICRESP_get_ext_by_critical @2646 + OCSP_BASICRESP_get_ext_count @3014 + OCSP_BASICRESP_it @2800 + OCSP_BASICRESP_new @3077 + OCSP_CERTID_dup @4355 + OCSP_CERTID_free @2726 + OCSP_CERTID_it @2534 + OCSP_CERTID_new @3043 + OCSP_CERTSTATUS_free @2653 + OCSP_CERTSTATUS_it @3116 + OCSP_CERTSTATUS_new @2603 + OCSP_CRLID_free @2904 + OCSP_CRLID_it @3127 + OCSP_CRLID_new @2910 + OCSP_ONEREQ_add1_ext_i2d @3145 + OCSP_ONEREQ_add_ext @2934 + OCSP_ONEREQ_delete_ext @3166 + OCSP_ONEREQ_free @2796 + OCSP_ONEREQ_get1_ext_d2i @2545 + OCSP_ONEREQ_get_ext @2851 + OCSP_ONEREQ_get_ext_by_NID @2733 + OCSP_ONEREQ_get_ext_by_OBJ @2859 + OCSP_ONEREQ_get_ext_by_critical @2919 + OCSP_ONEREQ_get_ext_count @2717 + OCSP_ONEREQ_it @2912 + OCSP_ONEREQ_new @3153 + OCSP_REQINFO_free @2884 + OCSP_REQINFO_it @3001 + OCSP_REQINFO_new @3133 + OCSP_REQUEST_add1_ext_i2d @2828 + OCSP_REQUEST_add_ext @2710 + OCSP_REQUEST_delete_ext @2794 + OCSP_REQUEST_free @2827 + OCSP_REQUEST_get1_ext_d2i @2886 + OCSP_REQUEST_get_ext @2635 + OCSP_REQUEST_get_ext_by_NID @3078 + OCSP_REQUEST_get_ext_by_OBJ @2565 + OCSP_REQUEST_get_ext_by_critical @3161 + OCSP_REQUEST_get_ext_count @3129 + OCSP_REQUEST_it @2799 + OCSP_REQUEST_new @3034 + OCSP_REQUEST_print @2981 + OCSP_REQ_CTX_add1_header @4541 + OCSP_REQ_CTX_free @3921 + OCSP_REQ_CTX_get0_mem_bio @4709 + OCSP_REQ_CTX_http @4713 + OCSP_REQ_CTX_i2d @4708 + OCSP_REQ_CTX_nbio @4714 + OCSP_REQ_CTX_nbio_d2i @4718 + OCSP_REQ_CTX_new @4717 + OCSP_REQ_CTX_set1_req @4542 + OCSP_RESPBYTES_free @2926 + OCSP_RESPBYTES_it @2811 + OCSP_RESPBYTES_new @2711 + OCSP_RESPDATA_free @2818 + OCSP_RESPDATA_it @2968 + OCSP_RESPDATA_new @2688 + OCSP_RESPID_free @3124 + OCSP_RESPID_it @2994 + OCSP_RESPID_new @2967 + OCSP_RESPONSE_free @3173 + OCSP_RESPONSE_it @3111 + OCSP_RESPONSE_new @3023 + OCSP_RESPONSE_print @2749 + OCSP_REVOKEDINFO_free @2690 + OCSP_REVOKEDINFO_it @3032 + OCSP_REVOKEDINFO_new @2954 + OCSP_SERVICELOC_free @2876 + OCSP_SERVICELOC_it @2740 + OCSP_SERVICELOC_new @2610 + OCSP_SIGNATURE_free @3094 + OCSP_SIGNATURE_it @2554 + OCSP_SIGNATURE_new @2863 + OCSP_SINGLERESP_add1_ext_i2d @2866 + OCSP_SINGLERESP_add_ext @2975 + OCSP_SINGLERESP_delete_ext @2871 + OCSP_SINGLERESP_free @2707 + OCSP_SINGLERESP_get1_ext_d2i @2928 + OCSP_SINGLERESP_get_ext @2903 + OCSP_SINGLERESP_get_ext_by_NID @2825 + OCSP_SINGLERESP_get_ext_by_OBJ @2965 + OCSP_SINGLERESP_get_ext_by_critical @2652 + OCSP_SINGLERESP_get_ext_count @2579 + OCSP_SINGLERESP_it @2951 + OCSP_SINGLERESP_new @2758 + OCSP_accept_responses_new @3058 + OCSP_archive_cutoff_new @2574 + OCSP_basic_add1_cert @2600 + OCSP_basic_add1_nonce @2956 + OCSP_basic_add1_status @3123 + OCSP_basic_sign @2897 + OCSP_basic_verify @3048 + OCSP_cert_id_new @2921 + OCSP_cert_status_str @2647 + OCSP_cert_to_id @2966 + OCSP_check_nonce @2899 + OCSP_check_validity @2971 + OCSP_copy_nonce @2686 + OCSP_crlID_new @3181 + OCSP_crl_reason_str @2844 + OCSP_id_cmp @3076 + OCSP_id_get0_info @2960 + OCSP_id_issuer_cmp @2938 + OCSP_onereq_get0_id @3028 + OCSP_parse_url @2902 + OCSP_request_add0_id @3113 + OCSP_request_add1_cert @3117 + OCSP_request_add1_nonce @2874 + OCSP_request_is_signed @2590 + OCSP_request_onereq_count @3047 + OCSP_request_onereq_get0 @3101 + OCSP_request_set1_name @2716 + OCSP_request_sign @2935 + OCSP_request_verify @2703 + OCSP_resp_count @3025 + OCSP_resp_find @2605 + OCSP_resp_find_status @2713 + OCSP_resp_get0 @2593 + OCSP_response_create @3158 + OCSP_response_get1_basic @3164 + OCSP_response_status @2561 + OCSP_response_status_str @2598 + OCSP_sendreq_bio @2551 + OCSP_sendreq_nbio @3923 + OCSP_sendreq_new @3924 + OCSP_set_max_response_length @4716 + OCSP_single_get0_status @2989 + OCSP_url_svcloc_new @2973 + OPENSSL_DIR_end @3396 + OPENSSL_DIR_read @3657 + OPENSSL_add_all_algorithms_conf @3213 + OPENSSL_add_all_algorithms_noconf @3212 + OPENSSL_asc2uni @1282 + OPENSSL_cleanse @3245 + OPENSSL_config @3188 + OPENSSL_cpuid_setup @4675 + OPENSSL_gmtime @4567 + OPENSSL_gmtime_adj @4568 + OPENSSL_gmtime_diff @4745 + OPENSSL_ia32cap_loc @3467 + OPENSSL_init @4091 + OPENSSL_isservice @4048 + OPENSSL_issetugid @2465 + OPENSSL_load_builtin_modules @3214 + OPENSSL_memcmp @4565 + OPENSSL_no_config @3228 + OPENSSL_showfatal @4676 + OPENSSL_stderr @4674 + OPENSSL_strcasecmp @4564 + OPENSSL_strncasecmp @4566 + OPENSSL_uni2asc @1283 + OTHERNAME_cmp @4224 + OTHERNAME_free @2112 + OTHERNAME_it @2820 + OTHERNAME_new @1999 + OpenSSLDie @3244 + OpenSSL_add_all_ciphers @509 + OpenSSL_add_all_digests @510 + PBE2PARAM_free @1404 + PBE2PARAM_it @2753 + PBE2PARAM_new @1402 + PBEPARAM_free @1313 + PBEPARAM_it @3002 + PBEPARAM_new @1311 + PBKDF2PARAM_free @1400 + PBKDF2PARAM_it @2548 + PBKDF2PARAM_new @1398 + PEM_ASN1_read @367 + PEM_ASN1_read_bio @368 + PEM_ASN1_write @369 + PEM_ASN1_write_bio @370 + PEM_SealFinal @371 + PEM_SealInit @372 + PEM_SealUpdate @373 + PEM_SignFinal @374 + PEM_SignInit @375 + PEM_SignUpdate @376 + PEM_X509_INFO_read @377 + PEM_X509_INFO_read_bio @378 + PEM_X509_INFO_write_bio @379 + PEM_bytes_read_bio @2766 + PEM_def_callback @2948 + PEM_dek_info @380 + PEM_do_header @381 + PEM_get_EVP_CIPHER_INFO @382 + PEM_proc_type @383 + PEM_read @384 + PEM_read_CMS @3983 + PEM_read_DHparams @385 + PEM_read_DSAPrivateKey @386 + PEM_read_DSA_PUBKEY @1984 + PEM_read_DSAparams @387 + PEM_read_ECPKParameters @3683 + PEM_read_ECPrivateKey @3632 + PEM_read_EC_PUBKEY @3618 + PEM_read_NETSCAPE_CERT_SEQUENCE @1168 + PEM_read_PKCS7 @388 + PEM_read_PKCS8 @1782 + PEM_read_PKCS8_PRIV_KEY_INFO @1786 + PEM_read_PUBKEY @2012 + PEM_read_PrivateKey @389 + PEM_read_RSAPrivateKey @390 + PEM_read_RSAPublicKey @947 + PEM_read_RSA_PUBKEY @1977 + PEM_read_X509 @391 + PEM_read_X509_AUX @1917 + PEM_read_X509_CERT_PAIR @3507 + PEM_read_X509_CRL @392 + PEM_read_X509_REQ @393 + PEM_read_bio @394 + PEM_read_bio_CMS @4014 + PEM_read_bio_DHparams @395 + PEM_read_bio_DSAPrivateKey @396 + PEM_read_bio_DSA_PUBKEY @2088 + PEM_read_bio_DSAparams @397 + PEM_read_bio_ECPKParameters @3408 + PEM_read_bio_ECPrivateKey @3714 + PEM_read_bio_EC_PUBKEY @3519 + PEM_read_bio_NETSCAPE_CERT_SEQUENCE @1169 + PEM_read_bio_PKCS7 @398 + PEM_read_bio_PKCS8 @1787 + PEM_read_bio_PKCS8_PRIV_KEY_INFO @1778 + PEM_read_bio_PUBKEY @1995 + PEM_read_bio_Parameters @4489 + PEM_read_bio_PrivateKey @399 + PEM_read_bio_RSAPrivateKey @400 + PEM_read_bio_RSAPublicKey @943 + PEM_read_bio_RSA_PUBKEY @2081 + PEM_read_bio_X509 @401 + PEM_read_bio_X509_AUX @1959 + PEM_read_bio_X509_CERT_PAIR @3753 + PEM_read_bio_X509_CRL @402 + PEM_read_bio_X509_REQ @403 + PEM_write @404 + PEM_write_CMS @3939 + PEM_write_DHparams @405 + PEM_write_DHxparams @4686 + PEM_write_DSAPrivateKey @406 + PEM_write_DSA_PUBKEY @2101 + PEM_write_DSAparams @407 + PEM_write_ECPKParameters @3643 + PEM_write_ECPrivateKey @3679 + PEM_write_EC_PUBKEY @3609 + PEM_write_NETSCAPE_CERT_SEQUENCE @1170 + PEM_write_PKCS7 @408 + PEM_write_PKCS8PrivateKey @1798 + PEM_write_PKCS8PrivateKey_nid @2165 + PEM_write_PKCS8 @1785 + PEM_write_PKCS8_PRIV_KEY_INFO @1788 + PEM_write_PUBKEY @1921 + PEM_write_PrivateKey @409 + PEM_write_RSAPrivateKey @410 + PEM_write_RSAPublicKey @949 + PEM_write_RSA_PUBKEY @2095 + PEM_write_X509 @411 + PEM_write_X509_AUX @2039 + PEM_write_X509_CERT_PAIR @3696 + PEM_write_X509_CRL @412 + PEM_write_X509_REQ @413 + PEM_write_X509_REQ_NEW @2251 + PEM_write_bio @414 + PEM_write_bio_ASN1_stream @4499 + PEM_write_bio_CMS @3960 + PEM_write_bio_CMS_stream @4466 + PEM_write_bio_DHparams @415 + PEM_write_bio_DHxparams @4690 + PEM_write_bio_DSAPrivateKey @416 + PEM_write_bio_DSA_PUBKEY @1968 + PEM_write_bio_DSAparams @417 + PEM_write_bio_ECPKParameters @3456 + PEM_write_bio_ECPrivateKey @3424 + PEM_write_bio_EC_PUBKEY @3481 + PEM_write_bio_NETSCAPE_CERT_SEQUENCE @1171 + PEM_write_bio_PKCS7 @418 + PEM_write_bio_PKCS7_stream @4189 + PEM_write_bio_PKCS8PrivateKey @1797 + PEM_write_bio_PKCS8PrivateKey_nid @2166 + PEM_write_bio_PKCS8 @1776 + PEM_write_bio_PKCS8_PRIV_KEY_INFO @1781 + PEM_write_bio_PUBKEY @2117 + PEM_write_bio_Parameters @4410 + PEM_write_bio_PrivateKey @419 + PEM_write_bio_RSAPrivateKey @420 + PEM_write_bio_RSAPublicKey @944 + PEM_write_bio_RSA_PUBKEY @1961 + PEM_write_bio_X509 @421 + PEM_write_bio_X509_AUX @2066 + PEM_write_bio_X509_CERT_PAIR @3432 + PEM_write_bio_X509_CRL @422 + PEM_write_bio_X509_REQ @423 + PEM_write_bio_X509_REQ_NEW @2250 + PKCS12_AUTHSAFES_it @2719 + PKCS12_BAGS_free @1287 + PKCS12_BAGS_it @2972 + PKCS12_BAGS_new @1285 + PKCS12_MAC_DATA_free @1295 + PKCS12_MAC_DATA_it @3057 + PKCS12_MAC_DATA_new @1293 + PKCS12_MAKE_KEYBAG @1263 + PKCS12_MAKE_SHKEYBAG @1265 + PKCS12_PBE_add @1301 + PKCS12_PBE_keyivgen @1517 + PKCS12_SAFEBAGS_it @2872 + PKCS12_SAFEBAG_free @1299 + PKCS12_SAFEBAG_it @2700 + PKCS12_SAFEBAG_new @1297 + PKCS12_add_CSPName_asc @2615 + PKCS12_add_cert @3726 + PKCS12_add_friendlyname_asc @1269 + PKCS12_add_friendlyname_uni @1270 + PKCS12_add_key @3761 + PKCS12_add_localkeyid @1268 + PKCS12_add_safe @3352 + PKCS12_add_safes @3464 + PKCS12_certbag2x509 @2672 + PKCS12_certbag2x509crl @2754 + PKCS12_create @1305 + PKCS12_decrypt_skey @2734 + PKCS12_free @1291 + PKCS12_gen_mac @1278 + PKCS12_get_attr_gen @1303 + PKCS12_get_friendlyname @1271 + PKCS12_init @1275 + PKCS12_item_decrypt_d2i @2526 + PKCS12_item_i2d_encrypt @2696 + PKCS12_item_pack_safebag @2887 + PKCS12_it @2651 + PKCS12_key_gen_asc @1276 + PKCS12_key_gen_uni @1277 + PKCS12_new @1290 + PKCS12_newpass @2141 + PKCS12_pack_authsafes @2721 + PKCS12_pack_p7data @1266 + PKCS12_pack_p7encdata @1267 + PKCS12_parse @1304 + PKCS12_pbe_crypt @1272 + PKCS12_set_mac @1280 + PKCS12_setup_mac @1281 + PKCS12_unpack_authsafes @2639 + PKCS12_unpack_p7data @2684 + PKCS12_unpack_p7encdata @2746 + PKCS12_verify_mac @1279 + PKCS12_x5092certbag @3108 + PKCS12_x509crl2certbag @2739 + PKCS1_MGF1 @3324 + PKCS5_PBE_add @1775 + PKCS5_PBE_keyivgen @1789 + PKCS5_PBKDF2_HMAC @4515 + PKCS5_PBKDF2_HMAC_SHA1 @1795 + PKCS5_pbe2_set @1794 + PKCS5_pbe2_set_iv @4341 + PKCS5_pbe_set0_algor @4238 + PKCS5_pbe_set @1323 + PKCS5_pbkdf2_set @4657 + PKCS5_v2_PBE_keyivgen @1796 + PKCS7_ATTR_SIGN_it @2632 + PKCS7_ATTR_VERIFY_it @3060 + PKCS7_DIGEST_free @424 + PKCS7_DIGEST_it @3107 + PKCS7_DIGEST_new @425 + PKCS7_ENCRYPT_free @426 + PKCS7_ENCRYPT_it @2681 + PKCS7_ENCRYPT_new @427 + PKCS7_ENC_CONTENT_free @428 + PKCS7_ENC_CONTENT_it @3112 + PKCS7_ENC_CONTENT_new @429 + PKCS7_ENVELOPE_free @430 + PKCS7_ENVELOPE_it @2537 + PKCS7_ENVELOPE_new @431 + PKCS7_ISSUER_AND_SERIAL_digest @432 + PKCS7_ISSUER_AND_SERIAL_free @433 + PKCS7_ISSUER_AND_SERIAL_it @2752 + PKCS7_ISSUER_AND_SERIAL_new @434 + PKCS7_RECIP_INFO_free @435 + PKCS7_RECIP_INFO_get0_alg @4226 + PKCS7_RECIP_INFO_it @3097 + PKCS7_RECIP_INFO_new @436 + PKCS7_RECIP_INFO_set @1072 + PKCS7_SIGNED_free @437 + PKCS7_SIGNED_it @2755 + PKCS7_SIGNED_new @438 + PKCS7_SIGNER_INFO_free @439 + PKCS7_SIGNER_INFO_get0_algs @4376 + PKCS7_SIGNER_INFO_it @2698 + PKCS7_SIGNER_INFO_new @440 + PKCS7_SIGNER_INFO_set @930 + PKCS7_SIGNER_INFO_sign @4260 + PKCS7_SIGN_ENVELOPE_free @441 + PKCS7_SIGN_ENVELOPE_it @2882 + PKCS7_SIGN_ENVELOPE_new @442 + PKCS7_add0_attrib_signing_time @4131 + PKCS7_add1_attrib_digest @4406 + PKCS7_add_attrib_content_type @4444 + PKCS7_add_attrib_smimecap @2156 + PKCS7_add_attribute @1138 + PKCS7_add_certificate @932 + PKCS7_add_crl @933 + PKCS7_add_recipient @1073 + PKCS7_add_recipient_info @1074 + PKCS7_add_signature @938 + PKCS7_add_signed_attribute @1139 + PKCS7_add_signer @931 + PKCS7_cert_from_signer_info @939 + PKCS7_content_new @934 + PKCS7_ctrl @927 + PKCS7_dataDecode @1246 + PKCS7_dataFinal @1245 + PKCS7_dataInit @937 + PKCS7_dataVerify @936 + PKCS7_decrypt @2151 + PKCS7_digest_from_attributes @1140 + PKCS7_dup @443 + PKCS7_encrypt @2146 + PKCS7_final @4229 + PKCS7_free @444 + PKCS7_get0_signers @2150 + PKCS7_get_attribute @1141 + PKCS7_get_issuer_and_serial @1142 + PKCS7_get_signed_attribute @1143 + PKCS7_get_signer_info @940 + PKCS7_get_smimecap @2154 + PKCS7_it @3160 + PKCS7_new @445 + PKCS7_print_ctx @4358 + PKCS7_set0_type_other @3752 + PKCS7_set_attributes @1153 + PKCS7_set_cipher @1075 + PKCS7_set_content @929 + PKCS7_set_digest @3741 + PKCS7_set_signed_attributes @1154 + PKCS7_set_type @928 + PKCS7_sign @2155 + PKCS7_sign_add_signer @4335 + PKCS7_signatureVerify @1845 + PKCS7_simple_smimecap @2153 + PKCS7_stream @4481 + PKCS7_to_TS_TST_INFO @4273 + PKCS7_verify @2145 + PKCS8_PRIV_KEY_INFO_free @1317 + PKCS8_PRIV_KEY_INFO_it @3000 + PKCS8_PRIV_KEY_INFO_new @1315 + PKCS8_add_keyusage @1302 + PKCS8_decrypt @2765 + PKCS8_encrypt @1264 + PKCS8_pkey_get0 @4257 + PKCS8_pkey_set0 @4304 + PKCS8_set_broken @1320 + PKEY_USAGE_PERIOD_free @1235 + PKEY_USAGE_PERIOD_it @2638 + PKEY_USAGE_PERIOD_new @1234 + POLICYINFO_free @1491 + POLICYINFO_it @2991 + POLICYINFO_new @1489 + POLICYQUALINFO_free @1495 + POLICYQUALINFO_it @2619 + POLICYQUALINFO_new @1493 + POLICY_CONSTRAINTS_free @3344 + POLICY_CONSTRAINTS_it @3649 + POLICY_CONSTRAINTS_new @3547 + POLICY_MAPPINGS_it @3693 + POLICY_MAPPING_free @3419 + POLICY_MAPPING_it @3342 + POLICY_MAPPING_new @3746 + PROXY_CERT_INFO_EXTENSION_free @3306 + PROXY_CERT_INFO_EXTENSION_it @3307 + PROXY_CERT_INFO_EXTENSION_new @3305 + PROXY_POLICY_free @3308 + PROXY_POLICY_it @3301 + PROXY_POLICY_new @3309 + RAND_SSLeay @1113 + RAND_add @2201 + RAND_bytes @464 + RAND_cleanup @465 + RAND_egd @2253 + RAND_egd_bytes @2402 + RAND_event @2258 + RAND_file_name @466 + RAND_get_rand_method @1137 + RAND_load_file @467 + RAND_poll @2423 + RAND_pseudo_bytes @2206 + RAND_query_egd_bytes @2945 + RAND_screen @468 + RAND_seed @469 + RAND_set_rand_engine @2730 + RAND_set_rand_method @1114 + RAND_status @2254 + RAND_write_file @470 + RC2_cbc_encrypt @471 + RC2_cfb64_encrypt @472 + RC2_decrypt @995 + RC2_ecb_encrypt @473 + RC2_encrypt @474 + RC2_ofb64_encrypt @475 + RC2_set_key @476 + RC4 @477 + RC4_options @478 + RC4_set_key @479 + RIPEMD160 @1045 + RIPEMD160_Final @1044 + RIPEMD160_Init @1042 + RIPEMD160_Transform @1046 + RIPEMD160_Update @1043 + RSAPrivateKey_dup @481 + RSAPrivateKey_it @2906 + RSAPublicKey_dup @482 + RSAPublicKey_it @2737 + RSA_OAEP_PARAMS_free @4736 + RSA_OAEP_PARAMS_it @4738 + RSA_OAEP_PARAMS_new @4721 + RSA_PKCS1_SSLeay @483 + RSA_PSS_PARAMS_free @4668 + RSA_PSS_PARAMS_it @4667 + RSA_PSS_PARAMS_new @4663 + RSA_X931_hash_id @3319 + RSA_blinding_off @978 + RSA_blinding_on @977 + RSA_check_key @1869 + RSA_flags @956 + RSA_free @484 + RSA_generate_key @485 + RSA_generate_key_ex @3686 + RSA_get_default_method @1848 + RSA_get_ex_data @1029 + RSA_get_ex_new_index @1030 + RSA_get_method @1847 + RSA_memory_lock @1115 + RSA_new @486 + RSA_new_method @487 + RSA_null_method @1904 + RSA_padding_add_PKCS1_OAEP @1226 + RSA_padding_add_PKCS1_OAEP_mgf1 @4757 + RSA_padding_add_PKCS1_PSS @3323 + RSA_padding_add_PKCS1_PSS_mgf1 @4594 + RSA_padding_add_PKCS1_type_1 @1031 + RSA_padding_add_PKCS1_type_2 @1032 + RSA_padding_add_SSLv23 @1033 + RSA_padding_add_X931 @3322 + RSA_padding_add_none @1034 + RSA_padding_check_PKCS1_OAEP @1227 + RSA_padding_check_PKCS1_OAEP_mgf1 @4754 + RSA_padding_check_PKCS1_type_1 @1035 + RSA_padding_check_PKCS1_type_2 @1036 + RSA_padding_check_SSLv23 @1037 + RSA_padding_check_X931 @3320 + RSA_padding_check_none @1038 + RSA_print @488 + RSA_print_fp @489 + RSA_private_decrypt @490 + RSA_private_encrypt @491 + RSA_public_decrypt @492 + RSA_public_encrypt @493 + RSA_set_default_method @494 + RSA_set_ex_data @1028 + RSA_set_method @1846 + RSA_setup_blinding @3541 + RSA_sign @495 + RSA_sign_ASN1_OCTET_STRING @496 + RSA_size @497 + RSA_up_ref @2760 + RSA_verify @498 + RSA_verify_ASN1_OCTET_STRING @499 + RSA_verify_PKCS1_PSS @3321 + RSA_verify_PKCS1_PSS_mgf1 @4607 + SEED_cbc_encrypt @3910 + SEED_cfb128_encrypt @3912 + SEED_decrypt @3908 + SEED_ecb_encrypt @3915 + SEED_encrypt @3909 + SEED_ofb128_encrypt @3913 + SEED_set_key @3917 + SHA1 @501 + SHA1_Final @502 + SHA1_Init @503 + SHA1_Transform @1012 + SHA1_Update @504 + SHA224 @3510 + SHA224_Final @3560 + SHA224_Init @3631 + SHA224_Update @3562 + SHA256 @3654 + SHA256_Final @3712 + SHA256_Init @3479 + SHA256_Transform @3664 + SHA256_Update @3765 + SHA384 @3745 + SHA384_Final @3740 + SHA384_Init @3737 + SHA384_Update @3551 + SHA512 @3669 + SHA512_Final @3581 + SHA512_Init @3633 + SHA512_Transform @3675 + SHA512_Update @3356 + SHA @500 + SHA_Final @505 + SHA_Init @506 + SHA_Transform @1013 + SHA_Update @507 + SMIME_crlf_copy @2148 + SMIME_read_ASN1 @4017 + SMIME_read_CMS @3949 + SMIME_read_PKCS7 @2143 + SMIME_text @2152 + SMIME_write_ASN1 @4161 + SMIME_write_CMS @3994 + SMIME_write_PKCS7 @2142 + SRP_Calc_A @4581 + SRP_Calc_B @4578 + SRP_Calc_client_key @4575 + SRP_Calc_server_key @4570 + SRP_Calc_u @4573 + SRP_Calc_x @4577 + SRP_VBASE_free @4574 + SRP_VBASE_get1_by_user @2393 + SRP_VBASE_get_by_user @4569 + SRP_VBASE_init @4583 + SRP_VBASE_new @4579 + SRP_Verify_A_mod_N @4582 + SRP_Verify_B_mod_N @4584 + SRP_check_known_gN_param @4580 + SRP_create_verifier @4571 + SRP_create_verifier_BN @4572 + SRP_get_default_gN @4576 + SRP_user_pwd_free @2394 + SSLeay_version @2 + SXNETID_free @1332 + SXNETID_it @2669 + SXNETID_new @1331 + SXNET_add_id_INTEGER @1479 + SXNET_add_id_asc @1477 + SXNET_add_id_ulong @1478 + SXNET_free @1328 + SXNET_get_id_INTEGER @1482 + SXNET_get_id_asc @1480 + SXNET_get_id_ulong @1481 + SXNET_it @2613 + SXNET_new @1327 + TS_ACCURACY_dup @4397 + TS_ACCURACY_free @4486 + TS_ACCURACY_get_micros @4492 + TS_ACCURACY_get_millis @4395 + TS_ACCURACY_get_seconds @4352 + TS_ACCURACY_new @4240 + TS_ACCURACY_set_micros @4525 + TS_ACCURACY_set_millis @4145 + TS_ACCURACY_set_seconds @4255 + TS_ASN1_INTEGER_print_bio @4521 + TS_CONF_get_tsa_section @4160 + TS_CONF_load_cert @4123 + TS_CONF_load_certs @4312 + TS_CONF_load_key @4168 + TS_CONF_set_accuracy @4450 + TS_CONF_set_certs @4319 + TS_CONF_set_clock_precision_digits @4490 + TS_CONF_set_crypto_device @4473 + TS_CONF_set_def_policy @4483 + TS_CONF_set_default_engine @4254 + TS_CONF_set_digests @4234 + TS_CONF_set_ess_cert_id_chain @4380 + TS_CONF_set_ordering @4436 + TS_CONF_set_policies @4475 + TS_CONF_set_serial @4347 + TS_CONF_set_signer_cert @4534 + TS_CONF_set_signer_key @4394 + TS_CONF_set_tsa_name @4196 + TS_MSG_IMPRINT_dup @4357 + TS_MSG_IMPRINT_free @4479 + TS_MSG_IMPRINT_get_algo @4185 + TS_MSG_IMPRINT_get_msg @4326 + TS_MSG_IMPRINT_new @4468 + TS_MSG_IMPRINT_print_bio @4190 + TS_MSG_IMPRINT_set_algo @4155 + TS_MSG_IMPRINT_set_msg @4457 + TS_OBJ_print_bio @4268 + TS_REQ_add_ext @4329 + TS_REQ_delete_ext @4205 + TS_REQ_dup @4146 + TS_REQ_ext_free @4177 + TS_REQ_free @4459 + TS_REQ_get_cert_req @4302 + TS_REQ_get_ext @4124 + TS_REQ_get_ext_by_NID @4237 + TS_REQ_get_ext_by_OBJ @4533 + TS_REQ_get_ext_by_critical @4322 + TS_REQ_get_ext_count @4283 + TS_REQ_get_ext_d2i @4420 + TS_REQ_get_exts @4461 + TS_REQ_get_msg_imprint @4209 + TS_REQ_get_nonce @4212 + TS_REQ_get_policy_id @4192 + TS_REQ_get_version @4328 + TS_REQ_new @4467 + TS_REQ_print_bio @4186 + TS_REQ_set_cert_req @4345 + TS_REQ_set_msg_imprint @4232 + TS_REQ_set_nonce @4280 + TS_REQ_set_policy_id @4138 + TS_REQ_set_version @4438 + TS_REQ_to_TS_VERIFY_CTX @4526 + TS_RESP_CTX_add_failure_info @4463 + TS_RESP_CTX_add_flags @4455 + TS_RESP_CTX_add_md @4407 + TS_RESP_CTX_add_policy @4310 + TS_RESP_CTX_free @4538 + TS_RESP_CTX_get_request @4423 + TS_RESP_CTX_get_tst_info @4414 + TS_RESP_CTX_new @4227 + TS_RESP_CTX_set_accuracy @4279 + TS_RESP_CTX_set_certs @4482 + TS_RESP_CTX_set_clock_precision_digits @4462 + TS_RESP_CTX_set_def_policy @4373 + TS_RESP_CTX_set_extension_cb @4366 + TS_RESP_CTX_set_serial_cb @4323 + TS_RESP_CTX_set_signer_cert @4231 + TS_RESP_CTX_set_signer_key @4162 + TS_RESP_CTX_set_status_info @4184 + TS_RESP_CTX_set_status_info_cond @4368 + TS_RESP_CTX_set_time_cb @4325 + TS_RESP_create_response @4375 + TS_RESP_dup @4128 + TS_RESP_free @4402 + TS_RESP_get_status_info @4270 + TS_RESP_get_token @4396 + TS_RESP_get_tst_info @4487 + TS_RESP_new @4202 + TS_RESP_print_bio @4338 + TS_RESP_set_status_info @4142 + TS_RESP_set_tst_info @4228 + TS_RESP_verify_response @4350 + TS_RESP_verify_signature @4415 + TS_RESP_verify_token @4293 + TS_STATUS_INFO_dup @4204 + TS_STATUS_INFO_free @4292 + TS_STATUS_INFO_new @4418 + TS_STATUS_INFO_print_bio @4219 + TS_TST_INFO_add_ext @4275 + TS_TST_INFO_delete_ext @4390 + TS_TST_INFO_dup @4408 + TS_TST_INFO_ext_free @4327 + TS_TST_INFO_free @4348 + TS_TST_INFO_get_accuracy @4411 + TS_TST_INFO_get_ext @4529 + TS_TST_INFO_get_ext_by_NID @4201 + TS_TST_INFO_get_ext_by_OBJ @4158 + TS_TST_INFO_get_ext_by_critical @4531 + TS_TST_INFO_get_ext_count @4422 + TS_TST_INFO_get_ext_d2i @4309 + TS_TST_INFO_get_exts @4339 + TS_TST_INFO_get_msg_imprint @4313 + TS_TST_INFO_get_nonce @4377 + TS_TST_INFO_get_ordering @4337 + TS_TST_INFO_get_policy_id @4301 + TS_TST_INFO_get_serial @4211 + TS_TST_INFO_get_time @4256 + TS_TST_INFO_get_tsa @4417 + TS_TST_INFO_get_version @4315 + TS_TST_INFO_new @4252 + TS_TST_INFO_print_bio @4285 + TS_TST_INFO_set_accuracy @4443 + TS_TST_INFO_set_msg_imprint @4505 + TS_TST_INFO_set_nonce @4127 + TS_TST_INFO_set_ordering @4157 + TS_TST_INFO_set_policy_id @4379 + TS_TST_INFO_set_serial @4471 + TS_TST_INFO_set_time @4134 + TS_TST_INFO_set_tsa @4447 + TS_TST_INFO_set_version @4413 + TS_VERIFY_CTX_cleanup @4291 + TS_VERIFY_CTX_free @4321 + TS_VERIFY_CTX_init @4480 + TS_VERIFY_CTX_new @4365 + TS_X509_ALGOR_print_bio @4501 + TS_ext_print_bio @4520 + TXT_DB_create_index @511 + TXT_DB_free @512 + TXT_DB_get_by_index @513 + TXT_DB_insert @514 + TXT_DB_read @515 + TXT_DB_write @516 + UI_OpenSSL @2947 + UI_UTIL_read_pw @3208 + UI_UTIL_read_pw_string @3209 + UI_add_error_string @2633 + UI_add_info_string @3148 + UI_add_input_boolean @2538 + UI_add_input_string @3126 + UI_add_user_data @2793 + UI_add_verify_string @3064 + UI_construct_prompt @2585 + UI_create_method @3144 + UI_ctrl @2580 + UI_destroy_method @2857 + UI_dup_error_string @2736 + UI_dup_info_string @2649 + UI_dup_input_boolean @2614 + UI_dup_input_string @2587 + UI_dup_verify_string @3119 + UI_free @2892 + UI_get0_action_string @2850 + UI_get0_output_string @3118 + UI_get0_result @2718 + UI_get0_result_string @2845 + UI_get0_test_string @3007 + UI_get0_user_data @2783 + UI_get_default_method @2694 + UI_get_ex_data @2691 + UI_get_ex_new_index @2932 + UI_get_input_flags @2723 + UI_get_method @2795 + UI_get_result_maxsize @3042 + UI_get_result_minsize @3149 + UI_get_string_type @2916 + UI_method_get_closer @3045 + UI_method_get_flusher @2678 + UI_method_get_opener @2979 + UI_method_get_prompt_constructor @4550 + UI_method_get_reader @3013 + UI_method_get_writer @2946 + UI_method_set_closer @2558 + UI_method_set_flusher @2789 + UI_method_set_opener @3140 + UI_method_set_prompt_constructor @4551 + UI_method_set_reader @3174 + UI_method_set_writer @3102 + UI_new @3157 + UI_new_method @2893 + UI_process @2913 + UI_set_default_method @2944 + UI_set_ex_data @2807 + UI_set_method @2959 + UI_set_result @3016 + USERNOTICE_free @1499 + USERNOTICE_it @3132 + USERNOTICE_new @1497 + UTF8_getc @1903 + UTF8_putc @1902 + WHIRLPOOL @4149 + WHIRLPOOL_BitUpdate @4199 + WHIRLPOOL_Final @4370 + WHIRLPOOL_Init @4141 + WHIRLPOOL_Update @4449 + X509V3_EXT_CRL_add_conf @1247 + X509V3_EXT_CRL_add_nconf @3031 + X509V3_EXT_REQ_add_conf @1896 + X509V3_EXT_REQ_add_nconf @2627 + X509V3_EXT_add @1172 + X509V3_EXT_add_alias @1173 + X509V3_EXT_add_conf @1174 + X509V3_EXT_add_list @1648 + X509V3_EXT_add_nconf @2832 + X509V3_EXT_add_nconf_sk @2763 + X509V3_EXT_cleanup @1175 + X509V3_EXT_conf @1176 + X509V3_EXT_conf_nid @1177 + X509V3_EXT_d2i @1238 + X509V3_EXT_free @4763 + X509V3_EXT_get @1178 + X509V3_EXT_get_nid @1179 + X509V3_EXT_i2d @1646 + X509V3_EXT_nconf @2540 + X509V3_EXT_nconf_nid @2942 + X509V3_EXT_print @1180 + X509V3_EXT_print_fp @1181 + X509V3_EXT_val_prn @1647 + X509V3_NAME_from_section @3689 + X509V3_add1_i2d @2536 + X509V3_add_standard_extensions @1182 + X509V3_add_value @1183 + X509V3_add_value_bool @1184 + X509V3_add_value_bool_nf @1651 + X509V3_add_value_int @1185 + X509V3_add_value_uchar @1549 + X509V3_conf_free @1186 + X509V3_extensions_print @3085 + X509V3_get_d2i @2026 + X509V3_get_section @1505 + X509V3_get_string @1504 + X509V3_get_value_bool @1187 + X509V3_get_value_int @1188 + X509V3_parse_list @1189 + X509V3_section_free @1507 + X509V3_set_conf_lhash @1483 + X509V3_set_ctx @1508 + X509V3_set_nconf @2695 + X509V3_string_free @1506 + X509_ALGORS_it @3926 + X509_ALGOR_cmp @2398 + X509_ALGOR_dup @1518 + X509_ALGOR_free @517 + X509_ALGOR_get0 @3927 + X509_ALGOR_it @2714 + X509_ALGOR_new @518 + X509_ALGOR_set0 @3928 + X509_ALGOR_set_md @4612 + X509_ATTRIBUTE_count @2193 + X509_ATTRIBUTE_create @1155 + X509_ATTRIBUTE_create_by_NID @2191 + X509_ATTRIBUTE_create_by_OBJ @2194 + X509_ATTRIBUTE_create_by_txt @2218 + X509_ATTRIBUTE_dup @1156 + X509_ATTRIBUTE_free @519 + X509_ATTRIBUTE_get0_data @2198 + X509_ATTRIBUTE_get0_object @2195 + X509_ATTRIBUTE_get0_type @2187 + X509_ATTRIBUTE_it @2732 + X509_ATTRIBUTE_new @520 + X509_ATTRIBUTE_set1_data @2188 + X509_ATTRIBUTE_set1_object @2192 + X509_CERT_AUX_free @1926 + X509_CERT_AUX_it @2727 + X509_CERT_AUX_new @2001 + X509_CERT_AUX_print @1982 + X509_CERT_PAIR_free @3578 + X509_CERT_PAIR_it @3534 + X509_CERT_PAIR_new @3684 + X509_CINF_free @521 + X509_CINF_it @2812 + X509_CINF_new @522 + X509_CRL_INFO_free @523 + X509_CRL_INFO_it @3104 + X509_CRL_INFO_new @524 + X509_CRL_METHOD_free @4241 + X509_CRL_METHOD_new @4371 + X509_CRL_add0_revoked @3004 + X509_CRL_add1_ext_i2d @2834 + X509_CRL_add_ext @525 + X509_CRL_check_suiteb @4695 + X509_CRL_cmp @526 + X509_CRL_delete_ext @527 + X509_CRL_diff @4706 + X509_CRL_digest @2391 + X509_CRL_dup @528 + X509_CRL_free @529 + X509_CRL_get0_by_cert @4387 + X509_CRL_get0_by_serial @4412 + X509_CRL_get_ext @530 + X509_CRL_get_ext_by_NID @531 + X509_CRL_get_ext_by_OBJ @532 + X509_CRL_get_ext_by_critical @533 + X509_CRL_get_ext_count @534 + X509_CRL_get_ext_d2i @2009 + X509_CRL_get_meth_data @4324 + X509_CRL_http_nbio @4707 + X509_CRL_it @2555 + X509_CRL_match @4307 + X509_CRL_new @535 + X509_CRL_print @1229 + X509_CRL_print_fp @1228 + X509_CRL_set_default_method @4399 + X509_CRL_set_issuer_name @2742 + X509_CRL_set_lastUpdate @2837 + X509_CRL_set_meth_data @4303 + X509_CRL_set_nextUpdate @2798 + X509_CRL_set_version @2823 + X509_CRL_sign @536 + X509_CRL_sign_ctx @4664 + X509_CRL_sort @2607 + X509_CRL_verify @537 + X509_EXTENSIONS_it @3919 + X509_EXTENSION_create_by_NID @538 + X509_EXTENSION_create_by_OBJ @539 + X509_EXTENSION_dup @540 + X509_EXTENSION_free @541 + X509_EXTENSION_get_critical @542 + X509_EXTENSION_get_data @543 + X509_EXTENSION_get_object @544 + X509_EXTENSION_it @2667 + X509_EXTENSION_new @545 + X509_EXTENSION_set_critical @546 + X509_EXTENSION_set_data @547 + X509_EXTENSION_set_object @548 + X509_INFO_free @549 + X509_INFO_new @550 + X509_LOOKUP_by_alias @551 + X509_LOOKUP_by_fingerprint @552 + X509_LOOKUP_by_issuer_serial @553 + X509_LOOKUP_by_subject @554 + X509_LOOKUP_ctrl @555 + X509_LOOKUP_file @556 + X509_LOOKUP_free @557 + X509_LOOKUP_hash_dir @558 + X509_LOOKUP_init @559 + X509_LOOKUP_new @560 + X509_LOOKUP_shutdown @561 + X509_NAME_ENTRY_create_by_NID @562 + X509_NAME_ENTRY_create_by_OBJ @563 + X509_NAME_ENTRY_create_by_txt @2071 + X509_NAME_ENTRY_dup @564 + X509_NAME_ENTRY_free @565 + X509_NAME_ENTRY_get_data @566 + X509_NAME_ENTRY_get_object @567 + X509_NAME_ENTRY_it @2931 + X509_NAME_ENTRY_new @568 + X509_NAME_ENTRY_set_data @569 + X509_NAME_ENTRY_set_object @570 + X509_NAME_add_entry @571 + X509_NAME_add_entry_by_NID @1914 + X509_NAME_add_entry_by_OBJ @2008 + X509_NAME_add_entry_by_txt @1912 + X509_NAME_cmp @572 + X509_NAME_delete_entry @573 + X509_NAME_digest @574 + X509_NAME_dup @575 + X509_NAME_entry_count @576 + X509_NAME_free @577 + X509_NAME_get_entry @578 + X509_NAME_get_index_by_NID @579 + X509_NAME_get_index_by_OBJ @580 + X509_NAME_get_text_by_NID @581 + X509_NAME_get_text_by_OBJ @582 + X509_NAME_hash @583 + X509_NAME_hash_old @4535 + X509_NAME_it @3131 + X509_NAME_new @584 + X509_NAME_oneline @585 + X509_NAME_print @586 + X509_NAME_print_ex @2431 + X509_NAME_print_ex_fp @2429 + X509_NAME_set @587 + X509_OBJECT_free_contents @588 + X509_OBJECT_idx_by_subject @2450 + X509_OBJECT_retrieve_by_subject @589 + X509_OBJECT_retrieve_match @2449 + X509_OBJECT_up_ref_count @590 + X509_PKEY_free @591 + X509_PKEY_new @592 + X509_POLICY_NODE_print @3736 + X509_PUBKEY_free @593 + X509_PUBKEY_get0_param @4356 + X509_PUBKEY_get @594 + X509_PUBKEY_it @2679 + X509_PUBKEY_new @595 + X509_PUBKEY_set0_param @4213 + X509_PUBKEY_set @596 + X509_PURPOSE_add @2090 + X509_PURPOSE_cleanup @2119 + X509_PURPOSE_get0 @1915 + X509_PURPOSE_get0_name @2011 + X509_PURPOSE_get0_sname @2105 + X509_PURPOSE_get_by_id @1990 + X509_PURPOSE_get_by_sname @1952 + X509_PURPOSE_get_count @2067 + X509_PURPOSE_get_id @1997 + X509_PURPOSE_get_trust @2022 + X509_PURPOSE_set @3138 + X509_REQ_INFO_free @597 + X509_REQ_INFO_it @3139 + X509_REQ_INFO_new @598 + X509_REQ_add1_attr @2214 + X509_REQ_add1_attr_by_NID @2209 + X509_REQ_add1_attr_by_OBJ @2212 + X509_REQ_add1_attr_by_txt @2217 + X509_REQ_add_extensions @1881 + X509_REQ_add_extensions_nid @1879 + X509_REQ_check_private_key @3516 + X509_REQ_delete_attr @2215 + X509_REQ_digest @2362 + X509_REQ_dup @599 + X509_REQ_extension_nid @1875 + X509_REQ_free @600 + X509_REQ_get1_email @2403 + X509_REQ_get_attr @2208 + X509_REQ_get_attr_by_NID @2207 + X509_REQ_get_attr_by_OBJ @2210 + X509_REQ_get_attr_count @2213 + X509_REQ_get_extension_nids @1877 + X509_REQ_get_extensions @1872 + X509_REQ_get_pubkey @601 + X509_REQ_it @2879 + X509_REQ_new @602 + X509_REQ_print @603 + X509_REQ_print_ex @3237 + X509_REQ_print_fp @604 + X509_REQ_set_extension_nids @1873 + X509_REQ_set_pubkey @605 + X509_REQ_set_subject_name @606 + X509_REQ_set_version @607 + X509_REQ_sign @608 + X509_REQ_sign_ctx @4662 + X509_REQ_to_X509 @609 + X509_REQ_verify @610 + X509_REVOKED_add1_ext_i2d @3087 + X509_REVOKED_add_ext @611 + X509_REVOKED_delete_ext @612 + X509_REVOKED_dup @4711 + X509_REVOKED_free @613 + X509_REVOKED_get_ext @614 + X509_REVOKED_get_ext_by_NID @615 + X509_REVOKED_get_ext_by_OBJ @616 + X509_REVOKED_get_ext_by_critical @617 + X509_REVOKED_get_ext_count @618 + X509_REVOKED_get_ext_d2i @1909 + X509_REVOKED_it @2642 + X509_REVOKED_new @619 + X509_REVOKED_set_revocationDate @2608 + X509_REVOKED_set_serialNumber @2543 + X509_SIG_free @620 + X509_SIG_it @2847 + X509_SIG_new @621 + X509_STORE_CTX_cleanup @622 + X509_STORE_CTX_free @1969 + X509_STORE_CTX_get0_current_crl @4544 + X509_STORE_CTX_get0_current_issuer @4546 + X509_STORE_CTX_get0_param @3505 + X509_STORE_CTX_get0_parent_ctx @4545 + X509_STORE_CTX_get0_policy_tree @3748 + X509_STORE_CTX_get0_store @4710 + X509_STORE_CTX_get1_chain @2204 + X509_STORE_CTX_get1_issuer @2448 + X509_STORE_CTX_get_chain @1014 + X509_STORE_CTX_get_current_cert @1015 + X509_STORE_CTX_get_error @1016 + X509_STORE_CTX_get_error_depth @1017 + X509_STORE_CTX_get_ex_data @1018 + X509_STORE_CTX_get_ex_new_index @1100 + X509_STORE_CTX_get_explicit_policy @3524 + X509_STORE_CTX_init @623 + X509_STORE_CTX_new @2033 + X509_STORE_CTX_purpose_inherit @1976 + X509_STORE_CTX_set0_crls @3333 + X509_STORE_CTX_set0_param @3341 + X509_STORE_CTX_set_cert @1020 + X509_STORE_CTX_set_chain @1021 + X509_STORE_CTX_set_default @3595 + X509_STORE_CTX_set_depth @3377 + X509_STORE_CTX_set_error @1022 + X509_STORE_CTX_set_ex_data @1023 + X509_STORE_CTX_set_flags @2451 + X509_STORE_CTX_set_purpose @2064 + X509_STORE_CTX_set_time @2447 + X509_STORE_CTX_set_trust @2030 + X509_STORE_CTX_set_verify_cb @2524 + X509_STORE_CTX_trusted_stack @2452 + X509_STORE_add_cert @624 + X509_STORE_add_crl @957 + X509_STORE_add_lookup @625 + X509_STORE_free @626 + X509_STORE_get1_certs @4433 + X509_STORE_get1_crls @4150 + X509_STORE_get_by_subject @627 + X509_STORE_load_locations @628 + X509_STORE_new @629 + X509_STORE_set1_param @3676 + X509_STORE_set_default_paths @630 + X509_STORE_set_depth @3508 + X509_STORE_set_flags @2596 + X509_STORE_set_lookup_crls_cb @4705 + X509_STORE_set_purpose @2559 + X509_STORE_set_trust @2586 + X509_STORE_set_verify_cb @4543 + X509_TRUST_add @1931 + X509_TRUST_cleanup @2007 + X509_TRUST_get0 @2047 + X509_TRUST_get0_name @2046 + X509_TRUST_get_by_id @2021 + X509_TRUST_get_count @2110 + X509_TRUST_get_flags @2056 + X509_TRUST_get_trust @2055 + X509_TRUST_set @2833 + X509_TRUST_set_default @2185 + X509_VAL_free @631 + X509_VAL_it @2829 + X509_VAL_new @632 + X509_VERIFY_PARAM_add0_policy @3652 + X509_VERIFY_PARAM_add0_table @3703 + X509_VERIFY_PARAM_add1_host @4771 + X509_VERIFY_PARAM_clear_flags @3772 + X509_VERIFY_PARAM_free @3527 + X509_VERIFY_PARAM_get0 @4762 + X509_VERIFY_PARAM_get0_name @4761 + X509_VERIFY_PARAM_get0_peername @4767 + X509_VERIFY_PARAM_get_count @4760 + X509_VERIFY_PARAM_get_depth @3559 + X509_VERIFY_PARAM_get_flags @3781 + X509_VERIFY_PARAM_inherit @3378 + X509_VERIFY_PARAM_lookup @3659 + X509_VERIFY_PARAM_new @3437 + X509_VERIFY_PARAM_set1 @3610 + X509_VERIFY_PARAM_set1_email @4696 + X509_VERIFY_PARAM_set1_host @4702 + X509_VERIFY_PARAM_set1_ip @4703 + X509_VERIFY_PARAM_set1_ip_asc @4694 + X509_VERIFY_PARAM_set1_name @3413 + X509_VERIFY_PARAM_set1_policies @3412 + X509_VERIFY_PARAM_set_depth @3399 + X509_VERIFY_PARAM_set_flags @3421 + X509_VERIFY_PARAM_set_hostflags @4765 + X509_VERIFY_PARAM_set_purpose @3414 + X509_VERIFY_PARAM_set_time @3757 + X509_VERIFY_PARAM_set_trust @3495 + X509_VERIFY_PARAM_table_cleanup @3525 + X509_add1_ext_i2d @2697 + X509_add1_reject_object @2082 + X509_add1_trust_object @2140 + X509_add_ext @633 + X509_alias_get0 @2074 + X509_alias_set1 @1933 + X509_certificate_type @635 + X509_chain_check_suiteb @4692 + X509_chain_up_ref @4693 + X509_check_akid @4496 + X509_check_ca @3286 + X509_check_email @4697 + X509_check_host @4698 + X509_check_ip @4704 + X509_check_ip_asc @4699 + X509_check_issued @2454 + X509_check_private_key @636 + X509_check_purpose @2051 + X509_check_trust @2083 + X509_cmp @2135 + X509_cmp_current_time @637 + X509_cmp_time @2446 + X509_delete_ext @638 + X509_digest @639 + X509_dup @640 + X509_email_free @2405 + X509_find_by_issuer_and_serial @920 + X509_find_by_subject @921 + X509_free @641 + X509_get0_pubkey_bitstr @2662 + X509_get0_signature @4700 + X509_get1_email @2404 + X509_get1_ocsp @3920 + X509_get_default_cert_area @642 + X509_get_default_cert_dir @643 + X509_get_default_cert_dir_env @644 + X509_get_default_cert_file @645 + X509_get_default_cert_file_env @646 + X509_get_default_private_dir @647 + X509_get_ex_data @1950 + X509_get_ex_new_index @2019 + X509_get_ext @648 + X509_get_ext_by_NID @649 + X509_get_ext_by_OBJ @650 + X509_get_ext_by_critical @651 + X509_get_ext_count @652 + X509_get_ext_d2i @1958 + X509_get_issuer_name @653 + X509_get_pubkey @654 + X509_get_pubkey_parameters @655 + X509_get_serialNumber @656 + X509_get_signature_nid @4701 + X509_get_subject_name @657 + X509_gmtime_adj @658 + X509_http_nbio @4715 + X509_issuer_and_serial_cmp @659 + X509_issuer_and_serial_hash @660 + X509_issuer_name_cmp @661 + X509_issuer_name_hash @662 + X509_issuer_name_hash_old @4547 + X509_it @2773 + X509_keyid_get0 @3363 + X509_keyid_set1 @2460 + X509_load_cert_crl_file @1972 + X509_load_cert_file @663 + X509_load_crl_file @958 + X509_new @664 + X509_ocspid_print @2790 + X509_policy_check @3720 + X509_policy_level_get0_node @3568 + X509_policy_level_node_count @3434 + X509_policy_node_get0_parent @3371 + X509_policy_node_get0_policy @3463 + X509_policy_node_get0_qualifiers @3448 + X509_policy_tree_free @3466 + X509_policy_tree_get0_level @3616 + X509_policy_tree_get0_policies @3381 + X509_policy_tree_get0_user_policies @3656 + X509_policy_tree_level_count @3573 + X509_print @665 + X509_print_ex @2544 + X509_print_ex_fp @3018 + X509_print_fp @666 + X509_pubkey_digest @2895 + X509_reject_clear @2184 + X509_set_ex_data @1910 + X509_set_issuer_name @667 + X509_set_notAfter @668 + X509_set_notBefore @669 + X509_set_pubkey @670 + X509_set_serialNumber @671 + X509_set_subject_name @672 + X509_set_version @673 + X509_sign @674 + X509_sign_ctx @4669 + X509_signature_dump @4665 + X509_signature_print @2706 + X509_subject_name_cmp @675 + X509_subject_name_hash @676 + X509_subject_name_hash_old @4548 + X509_supported_extension @2977 + X509_time_adj @2453 + X509_time_adj_ex @4454 + X509_to_X509_REQ @677 + X509_trust_clear @1928 + X509_verify @678 + X509_verify_cert @679 + X509_verify_cert_error_string @680 + X509at_add1_attr @2197 + X509at_add1_attr_by_NID @2211 + X509at_add1_attr_by_OBJ @2216 + X509at_add1_attr_by_txt @2219 + X509at_delete_attr @2199 + X509at_get0_data_by_OBJ @3931 + X509at_get_attr @2189 + X509at_get_attr_by_NID @2196 + X509at_get_attr_by_OBJ @2200 + X509at_get_attr_count @2190 + X509v3_add_ext @681 + X509v3_delete_ext @688 + X509v3_get_ext @689 + X509v3_get_ext_by_NID @690 + X509v3_get_ext_by_OBJ @691 + X509v3_get_ext_by_critical @692 + X509v3_get_ext_count @693 + ZLONG_it @2780 + _ossl_096_des_random_seed @3219 + _ossl_old_crypt @711 + _ossl_old_des_cbc_cksum @2776 + _ossl_old_des_cbc_encrypt @2880 + _ossl_old_des_cfb64_encrypt @3086 + _ossl_old_des_cfb_encrypt @2964 + _ossl_old_des_crypt @2654 + _ossl_old_des_decrypt3 @2705 + _ossl_old_des_ecb3_encrypt @2854 + _ossl_old_des_ecb_encrypt @3163 + _ossl_old_des_ede3_cbc_encrypt @2729 + _ossl_old_des_ede3_cfb64_encrypt @2786 + _ossl_old_des_ede3_ofb64_encrypt @3012 + _ossl_old_des_enc_read @2680 + _ossl_old_des_enc_write @3022 + _ossl_old_des_encrypt2 @2998 + _ossl_old_des_encrypt3 @2999 + _ossl_old_des_encrypt @2570 + _ossl_old_des_fcrypt @2835 + _ossl_old_des_is_weak_key @2576 + _ossl_old_des_key_sched @2666 + _ossl_old_des_ncbc_encrypt @3037 + _ossl_old_des_ofb64_encrypt @2673 + _ossl_old_des_ofb_encrypt @3088 + _ossl_old_des_options @2612 + _ossl_old_des_pcbc_encrypt @3056 + _ossl_old_des_quad_cksum @2988 + _ossl_old_des_random_key @2566 + _ossl_old_des_random_seed @803 + _ossl_old_des_read_2passwords @804 + _ossl_old_des_read_password @805 + _ossl_old_des_read_pw @806 + _ossl_old_des_read_pw_string @807 + _ossl_old_des_set_key @3065 + _ossl_old_des_set_odd_parity @2817 + _ossl_old_des_string_to_2keys @2725 + _ossl_old_des_string_to_key @2808 + _ossl_old_des_xcbc_encrypt @3159 + _shadow_DES_check_key @3146 + _shadow_DES_rw_mode @2581 + a2d_ASN1_OBJECT @699 + a2i_ASN1_ENUMERATED @1210 + a2i_ASN1_INTEGER @700 + a2i_ASN1_STRING @701 + a2i_GENERAL_NAME @4472 + a2i_IPADDRESS @3375 + a2i_IPADDRESS_NC @3732 + a2i_ipadd @3813 + asn1_Finish @702 + asn1_GetSequence @703 + asn1_add_error @1091 + asn1_const_Finish @3700 + asn1_do_adb @2582 + asn1_do_lock @3059 + asn1_enc_free @2993 + asn1_enc_init @3041 + asn1_enc_restore @2891 + asn1_enc_save @3054 + asn1_ex_c2i @2888 + asn1_ex_i2c @2663 + asn1_get_choice_selector @3071 + asn1_get_field_ptr @3125 + asn1_set_choice_selector @3122 + b2i_PVK_bio @4250 + b2i_PrivateKey @4343 + b2i_PrivateKey_bio @4354 + b2i_PublicKey @4290 + b2i_PublicKey_bio @4172 + bn_add_words @1039 + bn_div_words @704 + bn_dup_expand @2920 + bn_expand2 @705 + bn_mul_add_words @706 + bn_mul_words @707 + bn_sqr_words @710 + bn_sub_words @1116 + c2i_ASN1_BIT_STRING @2421 + c2i_ASN1_INTEGER @2424 + c2i_ASN1_OBJECT @2428 + check_defer @4522 + d2i_ACCESS_DESCRIPTION @1927 + d2i_ASN1_BIT_STRING @712 + d2i_ASN1_BMPSTRING @1092 + d2i_ASN1_BOOLEAN @713 + d2i_ASN1_ENUMERATED @1204 + d2i_ASN1_GENERALIZEDTIME @1190 + d2i_ASN1_GENERALSTRING @2822 + d2i_ASN1_IA5STRING @715 + d2i_ASN1_INTEGER @716 + d2i_ASN1_NULL @2169 + d2i_ASN1_OBJECT @717 + d2i_ASN1_OCTET_STRING @718 + d2i_ASN1_PRINTABLESTRING @720 + d2i_ASN1_PRINTABLE @719 + d2i_ASN1_SEQUENCE_ANY @4510 + d2i_ASN1_SET @721 + d2i_ASN1_SET_ANY @4507 + d2i_ASN1_T61STRING @722 + d2i_ASN1_TIME @1191 + d2i_ASN1_TYPE @723 + d2i_ASN1_UINTEGER @1652 + d2i_ASN1_UNIVERSALSTRING @3235 + d2i_ASN1_UTCTIME @724 + d2i_ASN1_UTF8STRING @1342 + d2i_ASN1_VISIBLESTRING @1340 + d2i_ASN1_bytes @725 + d2i_ASN1_type_bytes @726 + d2i_AUTHORITY_INFO_ACCESS @1918 + d2i_AUTHORITY_KEYID @1255 + d2i_AutoPrivateKey @2186 + d2i_BASIC_CONSTRAINTS @1192 + d2i_CERTIFICATEPOLICIES @1487 + d2i_CMS_ContentInfo @3985 + d2i_CMS_ReceiptRequest @3970 + d2i_CMS_bio @3946 + d2i_CRL_DIST_POINTS @1540 + d2i_DHparams @727 + d2i_DHxparams @4687 + d2i_DIRECTORYSTRING @1344 + d2i_DISPLAYTEXT @1346 + d2i_DIST_POINT @1543 + d2i_DIST_POINT_NAME @1548 + d2i_DSAPrivateKey @728 + d2i_DSAPrivateKey_bio @729 + d2i_DSAPrivateKey_fp @730 + d2i_DSAPublicKey @731 + d2i_DSA_PUBKEY @2050 + d2i_DSA_PUBKEY_bio @2093 + d2i_DSA_PUBKEY_fp @2041 + d2i_DSA_SIG @1337 + d2i_DSAparams @732 + d2i_ECDSA_SIG @3717 + d2i_ECPKParameters @3475 + d2i_ECParameters @3733 + d2i_ECPrivateKey @3563 + d2i_ECPrivateKey_bio @3556 + d2i_ECPrivateKey_fp @3673 + d2i_EC_PUBKEY @3425 + d2i_EC_PUBKEY_bio @3707 + d2i_EC_PUBKEY_fp @3751 + d2i_EDIPARTYNAME @2814 + d2i_ESS_CERT_ID @4512 + d2i_ESS_ISSUER_SERIAL @4265 + d2i_ESS_SIGNING_CERT @4435 + d2i_EXTENDED_KEY_USAGE @2674 + d2i_GENERAL_NAMES @1217 + d2i_GENERAL_NAME @1212 + d2i_ISSUING_DIST_POINT @4286 + d2i_KRB5_APREQBODY @2677 + d2i_KRB5_APREQ @2588 + d2i_KRB5_AUTHDATA @2685 + d2i_KRB5_AUTHENTBODY @2840 + d2i_KRB5_AUTHENT @2573 + d2i_KRB5_CHECKSUM @2771 + d2i_KRB5_ENCDATA @3046 + d2i_KRB5_ENCKEY @2901 + d2i_KRB5_PRINCNAME @2810 + d2i_KRB5_TICKET @2819 + d2i_KRB5_TKTBODY @2952 + d2i_NETSCAPE_CERT_SEQUENCE @1193 + d2i_NETSCAPE_SPKAC @733 + d2i_NETSCAPE_SPKI @734 + d2i_NETSCAPE_X509 @4180 + d2i_NOTICEREF @1502 + d2i_Netscape_RSA @735 + d2i_OCSP_BASICRESP @2530 + d2i_OCSP_CERTID @2867 + d2i_OCSP_CERTSTATUS @2542 + d2i_OCSP_CRLID @2768 + d2i_OCSP_ONEREQ @3152 + d2i_OCSP_REQINFO @3147 + d2i_OCSP_REQUEST @2648 + d2i_OCSP_RESPBYTES @2535 + d2i_OCSP_RESPDATA @2969 + d2i_OCSP_RESPID @2702 + d2i_OCSP_RESPONSE @3020 + d2i_OCSP_REVOKEDINFO @2599 + d2i_OCSP_SERVICELOC @2815 + d2i_OCSP_SIGNATURE @2873 + d2i_OCSP_SINGLERESP @2670 + d2i_OTHERNAME @2096 + d2i_PBE2PARAM @1403 + d2i_PBEPARAM @1312 + d2i_PBKDF2PARAM @1399 + d2i_PKCS12 @1289 + d2i_PKCS12_BAGS @1286 + d2i_PKCS12_MAC_DATA @1294 + d2i_PKCS12_SAFEBAG @1298 + d2i_PKCS12_bio @1308 + d2i_PKCS12_fp @1309 + d2i_PKCS7 @736 + d2i_PKCS7_DIGEST @737 + d2i_PKCS7_ENCRYPT @738 + d2i_PKCS7_ENC_CONTENT @739 + d2i_PKCS7_ENVELOPE @740 + d2i_PKCS7_ISSUER_AND_SERIAL @741 + d2i_PKCS7_RECIP_INFO @742 + d2i_PKCS7_SIGNED @743 + d2i_PKCS7_SIGNER_INFO @744 + d2i_PKCS7_SIGN_ENVELOPE @745 + d2i_PKCS7_bio @746 + d2i_PKCS7_fp @747 + d2i_PKCS8PrivateKey_bio @2167 + d2i_PKCS8PrivateKey_fp @2175 + d2i_PKCS8_PRIV_KEY_INFO @1316 + d2i_PKCS8_PRIV_KEY_INFO_bio @1783 + d2i_PKCS8_PRIV_KEY_INFO_fp @1780 + d2i_PKCS8_bio @1779 + d2i_PKCS8_fp @1784 + d2i_PKEY_USAGE_PERIOD @1233 + d2i_POLICYINFO @1490 + d2i_POLICYQUALINFO @1494 + d2i_PROXY_CERT_INFO_EXTENSION @3300 + d2i_PROXY_POLICY @3304 + d2i_PUBKEY @2054 + d2i_PUBKEY_bio @2441 + d2i_PUBKEY_fp @2445 + d2i_PrivateKey @748 + d2i_PrivateKey_bio @2181 + d2i_PrivateKey_fp @2182 + d2i_PublicKey @749 + d2i_RSAPrivateKey @750 + d2i_RSAPrivateKey_bio @751 + d2i_RSAPrivateKey_fp @752 + d2i_RSAPublicKey @753 + d2i_RSAPublicKey_bio @945 + d2i_RSAPublicKey_fp @952 + d2i_RSA_NET @2408 + d2i_RSA_OAEP_PARAMS @4748 + d2i_RSA_PSS_PARAMS @4666 + d2i_RSA_PUBKEY @2044 + d2i_RSA_PUBKEY_bio @2053 + d2i_RSA_PUBKEY_fp @1964 + d2i_SXNETID @1330 + d2i_SXNET @1326 + d2i_TS_ACCURACY @4194 + d2i_TS_MSG_IMPRINT @4235 + d2i_TS_MSG_IMPRINT_bio @4170 + d2i_TS_MSG_IMPRINT_fp @4432 + d2i_TS_REQ @4382 + d2i_TS_REQ_bio @4453 + d2i_TS_REQ_fp @4349 + d2i_TS_RESP @4311 + d2i_TS_RESP_bio @4223 + d2i_TS_RESP_fp @4139 + d2i_TS_STATUS_INFO @4456 + d2i_TS_TST_INFO @4221 + d2i_TS_TST_INFO_bio @4336 + d2i_TS_TST_INFO_fp @4306 + d2i_USERNOTICE @1498 + d2i_X509 @754 + d2i_X509_ALGORS @3937 + d2i_X509_ALGOR @755 + d2i_X509_ATTRIBUTE @756 + d2i_X509_AUX @1980 + d2i_X509_CERT_AUX @2115 + d2i_X509_CERT_PAIR @3698 + d2i_X509_CINF @757 + d2i_X509_CRL @758 + d2i_X509_CRL_INFO @759 + d2i_X509_CRL_bio @760 + d2i_X509_CRL_fp @761 + d2i_X509_EXTENSIONS @3925 + d2i_X509_EXTENSION @762 + d2i_X509_NAME @763 + d2i_X509_NAME_ENTRY @764 + d2i_X509_PKEY @765 + d2i_X509_PUBKEY @766 + d2i_X509_REQ @767 + d2i_X509_REQ_INFO @768 + d2i_X509_REQ_bio @769 + d2i_X509_REQ_fp @770 + d2i_X509_REVOKED @771 + d2i_X509_SIG @772 + d2i_X509_VAL @773 + d2i_X509_bio @774 + d2i_X509_fp @775 + get_rfc2409_prime_1024 @3773 + get_rfc2409_prime_768 @3780 + get_rfc3526_prime_1536 @3777 + get_rfc3526_prime_2048 @3775 + get_rfc3526_prime_3072 @3778 + get_rfc3526_prime_4096 @3779 + get_rfc3526_prime_6144 @3776 + get_rfc3526_prime_8192 @3771 + hex_to_string @1223 + i2a_ACCESS_DESCRIPTION @3110 + i2a_ASN1_ENUMERATED @1209 + i2a_ASN1_INTEGER @815 + i2a_ASN1_OBJECT @816 + i2a_ASN1_STRING @817 + i2b_PVK_bio @4247 + i2b_PrivateKey_bio @4288 + i2b_PublicKey_bio @4318 + i2c_ASN1_BIT_STRING @2422 + i2c_ASN1_INTEGER @2425 + i2d_ACCESS_DESCRIPTION @2077 + i2d_ASN1_BIT_STRING @818 + i2d_ASN1_BMPSTRING @1093 + i2d_ASN1_BOOLEAN @819 + i2d_ASN1_ENUMERATED @1203 + i2d_ASN1_GENERALIZEDTIME @1197 + i2d_ASN1_GENERALSTRING @2560 + i2d_ASN1_IA5STRING @821 + i2d_ASN1_INTEGER @822 + i2d_ASN1_NULL @2173 + i2d_ASN1_OBJECT @823 + i2d_ASN1_OCTET_STRING @824 + i2d_ASN1_PRINTABLESTRING @2149 + i2d_ASN1_PRINTABLE @825 + i2d_ASN1_SEQUENCE_ANY @4169 + i2d_ASN1_SET @826 + i2d_ASN1_SET_ANY @4197 + i2d_ASN1_T61STRING @3175 + i2d_ASN1_TIME @1198 + i2d_ASN1_TYPE @827 + i2d_ASN1_UNIVERSALSTRING @3232 + i2d_ASN1_UTCTIME @828 + i2d_ASN1_UTF8STRING @1341 + i2d_ASN1_VISIBLESTRING @1339 + i2d_ASN1_bio_stream @4500 + i2d_ASN1_bytes @829 + i2d_AUTHORITY_INFO_ACCESS @2062 + i2d_AUTHORITY_KEYID @1254 + i2d_BASIC_CONSTRAINTS @1199 + i2d_CERTIFICATEPOLICIES @1484 + i2d_CMS_ContentInfo @3944 + i2d_CMS_ReceiptRequest @4033 + i2d_CMS_bio @3976 + i2d_CMS_bio_stream @4208 + i2d_CRL_DIST_POINTS @1537 + i2d_DHparams @830 + i2d_DHxparams @4683 + i2d_DIRECTORYSTRING @1343 + i2d_DISPLAYTEXT @1345 + i2d_DIST_POINT @1541 + i2d_DIST_POINT_NAME @1545 + i2d_DSAPrivateKey @831 + i2d_DSAPrivateKey_bio @832 + i2d_DSAPrivateKey_fp @833 + i2d_DSAPublicKey @834 + i2d_DSA_PUBKEY @1981 + i2d_DSA_PUBKEY_bio @2014 + i2d_DSA_PUBKEY_fp @1971 + i2d_DSA_SIG @1338 + i2d_DSAparams @835 + i2d_ECDSA_SIG @3619 + i2d_ECPKParameters @3473 + i2d_ECParameters @3472 + i2d_ECPrivateKey @3357 + i2d_ECPrivateKey_bio @3452 + i2d_ECPrivateKey_fp @3655 + i2d_EC_PUBKEY @3521 + i2d_EC_PUBKEY_bio @3585 + i2d_EC_PUBKEY_fp @3701 + i2d_EDIPARTYNAME @2908 + i2d_ESS_CERT_ID @4364 + i2d_ESS_ISSUER_SERIAL @4351 + i2d_ESS_SIGNING_CERT @4167 + i2d_EXTENDED_KEY_USAGE @3052 + i2d_GENERAL_NAMES @1218 + i2d_GENERAL_NAME @1211 + i2d_ISSUING_DIST_POINT @4216 + i2d_KRB5_APREQBODY @2853 + i2d_KRB5_APREQ @2569 + i2d_KRB5_AUTHDATA @2978 + i2d_KRB5_AUTHENTBODY @3128 + i2d_KRB5_AUTHENT @2668 + i2d_KRB5_CHECKSUM @3072 + i2d_KRB5_ENCDATA @3137 + i2d_KRB5_ENCKEY @3092 + i2d_KRB5_PRINCNAME @2997 + i2d_KRB5_TICKET @3017 + i2d_KRB5_TKTBODY @3038 + i2d_NETSCAPE_CERT_SEQUENCE @1200 + i2d_NETSCAPE_SPKAC @836 + i2d_NETSCAPE_SPKI @837 + i2d_NETSCAPE_X509 @4424 + i2d_NOTICEREF @1500 + i2d_Netscape_RSA @838 + i2d_OCSP_BASICRESP @2744 + i2d_OCSP_CERTID @3068 + i2d_OCSP_CERTSTATUS @2955 + i2d_OCSP_CRLID @2757 + i2d_OCSP_ONEREQ @2709 + i2d_OCSP_REQINFO @2591 + i2d_OCSP_REQUEST @2738 + i2d_OCSP_RESPBYTES @2745 + i2d_OCSP_RESPDATA @2629 + i2d_OCSP_RESPID @2898 + i2d_OCSP_RESPONSE @2682 + i2d_OCSP_REVOKEDINFO @2890 + i2d_OCSP_SERVICELOC @2562 + i2d_OCSP_SIGNATURE @3053 + i2d_OCSP_SINGLERESP @3062 + i2d_OTHERNAME @2015 + i2d_PBE2PARAM @1401 + i2d_PBEPARAM @1310 + i2d_PBKDF2PARAM @1397 + i2d_PKCS12 @1288 + i2d_PKCS12_BAGS @1284 + i2d_PKCS12_MAC_DATA @1292 + i2d_PKCS12_SAFEBAG @1296 + i2d_PKCS12_bio @1306 + i2d_PKCS12_fp @1307 + i2d_PKCS7 @839 + i2d_PKCS7_DIGEST @840 + i2d_PKCS7_ENCRYPT @841 + i2d_PKCS7_ENC_CONTENT @842 + i2d_PKCS7_ENVELOPE @843 + i2d_PKCS7_ISSUER_AND_SERIAL @844 + i2d_PKCS7_NDEF @3569 + i2d_PKCS7_RECIP_INFO @845 + i2d_PKCS7_SIGNED @846 + i2d_PKCS7_SIGNER_INFO @847 + i2d_PKCS7_SIGN_ENVELOPE @848 + i2d_PKCS7_bio @849 + i2d_PKCS7_bio_stream @4333 + i2d_PKCS7_fp @850 + i2d_PKCS8PrivateKeyInfo_bio @2178 + i2d_PKCS8PrivateKeyInfo_fp @2177 + i2d_PKCS8PrivateKey_bio @2171 + i2d_PKCS8PrivateKey_fp @2172 + i2d_PKCS8PrivateKey_nid_bio @2176 + i2d_PKCS8PrivateKey_nid_fp @2174 + i2d_PKCS8_PRIV_KEY_INFO @1314 + i2d_PKCS8_PRIV_KEY_INFO_bio @1792 + i2d_PKCS8_PRIV_KEY_INFO_fp @1791 + i2d_PKCS8_bio @1790 + i2d_PKCS8_fp @1777 + i2d_PKEY_USAGE_PERIOD @1232 + i2d_POLICYINFO @1488 + i2d_POLICYQUALINFO @1492 + i2d_PROXY_CERT_INFO_EXTENSION @3303 + i2d_PROXY_POLICY @3302 + i2d_PUBKEY @1987 + i2d_PUBKEY_bio @2439 + i2d_PUBKEY_fp @2440 + i2d_PrivateKey @851 + i2d_PrivateKey_bio @2183 + i2d_PrivateKey_fp @2180 + i2d_PublicKey @852 + i2d_RSAPrivateKey @853 + i2d_RSAPrivateKey_bio @854 + i2d_RSAPrivateKey_fp @855 + i2d_RSAPublicKey @856 + i2d_RSAPublicKey_bio @946 + i2d_RSAPublicKey_fp @954 + i2d_RSA_NET @2406 + i2d_RSA_OAEP_PARAMS @4747 + i2d_RSA_PSS_PARAMS @4670 + i2d_RSA_PUBKEY @1974 + i2d_RSA_PUBKEY_bio @1985 + i2d_RSA_PUBKEY_fp @2113 + i2d_SXNETID @1329 + i2d_SXNET @1325 + i2d_TS_ACCURACY @4115 + i2d_TS_MSG_IMPRINT @4117 + i2d_TS_MSG_IMPRINT_bio @4278 + i2d_TS_MSG_IMPRINT_fp @4116 + i2d_TS_REQ @4389 + i2d_TS_REQ_bio @4359 + i2d_TS_REQ_fp @4509 + i2d_TS_RESP @4289 + i2d_TS_RESP_bio @4464 + i2d_TS_RESP_fp @4277 + i2d_TS_STATUS_INFO @4441 + i2d_TS_TST_INFO @4120 + i2d_TS_TST_INFO_bio @4156 + i2d_TS_TST_INFO_fp @4132 + i2d_USERNOTICE @1496 + i2d_X509 @857 + i2d_X509_ALGORS @3934 + i2d_X509_ALGOR @858 + i2d_X509_ATTRIBUTE @859 + i2d_X509_AUX @2132 + i2d_X509_CERT_AUX @2028 + i2d_X509_CERT_PAIR @3642 + i2d_X509_CINF @860 + i2d_X509_CRL @861 + i2d_X509_CRL_INFO @862 + i2d_X509_CRL_bio @863 + i2d_X509_CRL_fp @864 + i2d_X509_EXTENSIONS @3922 + i2d_X509_EXTENSION @865 + i2d_X509_NAME @866 + i2d_X509_NAME_ENTRY @867 + i2d_X509_PKEY @868 + i2d_X509_PUBKEY @869 + i2d_X509_REQ @870 + i2d_X509_REQ_INFO @871 + i2d_X509_REQ_bio @872 + i2d_X509_REQ_fp @873 + i2d_X509_REVOKED @874 + i2d_X509_SIG @875 + i2d_X509_VAL @876 + i2d_X509_bio @877 + i2d_X509_fp @878 + i2d_re_X509_tbs @4773 + i2o_ECPublicKey @3373 + i2s_ASN1_ENUMERATED @1241 + i2s_ASN1_ENUMERATED_TABLE @1242 + i2s_ASN1_INTEGER @1237 + i2s_ASN1_OCTET_STRING @1220 + i2t_ASN1_OBJECT @979 + i2v_ASN1_BIT_STRING @3639 + i2v_GENERAL_NAMES @1219 + i2v_GENERAL_NAME @1230 + lh_delete @887 + lh_doall @888 + lh_doall_arg @889 + lh_free @890 + lh_insert @891 + lh_new @892 + lh_node_stats @893 + lh_node_stats_bio @894 + lh_node_usage_stats @895 + lh_node_usage_stats_bio @896 + lh_num_items @2257 + lh_retrieve @897 + lh_stats @898 + lh_stats_bio @899 + lh_strhash @900 + name_cmp @1239 + o2i_ECPublicKey @3368 + ossl_safe_getenv @4789 + pitem_free @3767 + pitem_new @3365 + pqueue_find @3454 + pqueue_free @3704 + pqueue_insert @3766 + pqueue_iterator @3394 + pqueue_new @3758 + pqueue_next @3754 + pqueue_peek @3460 + pqueue_pop @3647 + pqueue_print @3428 + pqueue_size @4114 + private_AES_set_decrypt_key @4597 + private_AES_set_encrypt_key @4606 + private_RC4_set_key @3294 + s2i_ASN1_INTEGER @1509 + s2i_ASN1_OCTET_STRING @1221 + sk_deep_copy @4769 + sk_delete @901 + sk_delete_ptr @902 + sk_dup @903 + sk_find @904 + sk_find_ex @3544 + sk_free @905 + sk_insert @906 + sk_is_sorted @3285 + sk_new @907 + sk_new_null @2411 + sk_num @1654 + sk_pop @908 + sk_pop_free @909 + sk_push @910 + sk_set @1655 + sk_set_cmp_func @911 + sk_shift @912 + sk_sort @1671 + sk_unshift @913 + sk_value @1653 + sk_zero @914 + string_to_hex @1224 + v2i_ASN1_BIT_STRING @3592 + v2i_GENERAL_NAMES @1236 + v2i_GENERAL_NAME @1231 + v2i_GENERAL_NAME_ex @3612 + diff --git a/ms/nt32.asm.mak b/ms/nt32.asm.mak index effaf6d2..6874f3aa 100644 --- a/ms/nt32.asm.mak +++ b/ms/nt32.asm.mak @@ -1,541 +1,541 @@ -# N.B. You MUST use -j on FreeBSD. -# This makefile has been automatically generated from the OpenSSL distribution. -# This single makefile will build the complete OpenSSL distribution and -# by default leave the 'interesting' output files in .\out and the stuff -# that needs deleting in .\tmp. -# The file was generated by running 'make makefile.one', which -# does a 'make files', which writes all the environment variables from all -# the makefiles to the file call MINFO. This file is used by -# util\mk1mf.pl to generate makefile.one. -# The 'makefile per directory' system suites me when developing this -# library and also so I can 'distribute' indervidual library sections. -# The one monster makefile better suits building in non-unix -# environments. - -INSTALLTOP=\usr\local\ssl -OPENSSLDIR=\usr\local\ssl - -# Set your compiler options -PLATFORM=VC-WIN32 -CC=cl -CFLAG= /MT /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE -APP_CFLAG= /Zi /Fd$(TMP_D)/app -LIB_CFLAG=/Zl /Zi /Fd$(TMP_D)/lib -SHLIB_CFLAG= -APP_EX_OBJ=setargv.obj -SHLIB_EX_OBJ= -# add extra libraries to this define, for solaris -lsocket -lnsl would -# be added -EX_LIBS=ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib - -# The OpenSSL directory -SRC_D=. - -LINK_CMD=link -LFLAGS=/nologo /subsystem:console /opt:ref /debug -RSC=rc - -# The output directory for everything interesting -OUT_D=out32 -# The output directory for all the temporary muck -TMP_D=tmp32 -# The output directory for the header files -INC_D=inc32 -INCO_D=inc32\openssl - -PERL=perl -CP=$(PERL) util/copy.pl -RM=del /Q -RANLIB= -MKDIR=$(PERL) util/mkdir-p.pl -MKLIB=lib /nologo -MLFLAGS= -ASM=nasm -f win32 - -# FIPS validated module and support file locations - -E_PREMAIN_DSO=fips_premain_dso - -FIPSDIR=\usr\local\ssl\fips-2.0 -BASEADDR=0xFB00000 -FIPSLIB_D=$(FIPSDIR)\lib -FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c -O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib -FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe -PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe -FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl - -###################################################### -# You should not need to touch anything below this point -###################################################### - -E_EXE=openssl -SSL=ssleay32 -CRYPTO=libeay32 - -# BIN_D - Binary output directory -# TEST_D - Binary test file output directory -# LIB_D - library output directory -# ENG_D - dynamic engine output directory -# Note: if you change these point to different directories then uncomment out -# the lines around the 'NB' comment below. -# -BIN_D=$(OUT_D) -TEST_D=$(OUT_D) -LIB_D=$(OUT_D) -ENG_D=$(OUT_D) - -# INCL_D - local library directory -# OBJ_D - temp object file directory -OBJ_D=$(TMP_D) -INCL_D=$(TMP_D) - -O_SSL= $(LIB_D)\$(SSL).lib -O_CRYPTO= $(LIB_D)\$(CRYPTO).lib -SO_SSL= $(SSL) -SO_CRYPTO= $(CRYPTO) -L_SSL= $(LIB_D)\$(SSL).lib -L_CRYPTO= $(LIB_D)\$(CRYPTO).lib - -L_LIBS= $(L_SSL) $(L_CRYPTO) - -###################################################### -# Don't touch anything below this point -###################################################### - -INC=-I$(INC_D) -I$(INCL_D) -APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) -LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) -SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) -LIBS_DEP=$(O_CRYPTO) $(O_SSL) - -############################################# -HEADER=$(INCL_D)\e_os.h \ - $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ - $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ - $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ - $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ - $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ - $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ - $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ - $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ - $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ - $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ - $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ - $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ - $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ - $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ - $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ - $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ - $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ - $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ - $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ - $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ - $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ - $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ - $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ - $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ - $(INCL_D)\ssltestlib.h - -EXHEADER=$(INCO_D)\e_os2.h \ - $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ - $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ - $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ - $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ - $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ - $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ - $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ - $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ - $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ - $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ - $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ - $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ - $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ - $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ - $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ - $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ - $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ - $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ - $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ - $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ - $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ - $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ - $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ - $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h - -T_OBJ=$(OBJ_D)\constant_time_test.obj \ - $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ - $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ - $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ - $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ - $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ - $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ - $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ - $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ - $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ - $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ - $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ - $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ - $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj - -E_OBJ=$(OBJ_D)\verify.obj \ - $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ - $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ - $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ - $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ - $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ - $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ - $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ - $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ - $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ - $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ - $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ - $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ - $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ - $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ - $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ - $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ - $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj - -SSLOBJ=$(OBJ_D)\s2_meth.obj \ - $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ - $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ - $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ - $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ - $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ - $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ - $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ - $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ - $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ - $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ - $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ - $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ - $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ - $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ - $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ - $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ - $(OBJ_D)\ssl_utst.obj - -CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ - $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ - $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ - $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ - $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ - $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \ - $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ - $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \ - $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ - $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \ - $(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \ - $(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \ - $(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \ - $(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \ - $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \ - $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \ - $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \ - $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \ - $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \ - $(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \ - $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \ - $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \ - $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \ - $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \ - $(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \ - $(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \ - $(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \ - $(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \ - $(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \ - $(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \ - $(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \ - $(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ - $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ - $(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \ - $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \ - $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \ - $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \ - $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \ - $(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \ - $(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \ - $(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \ - $(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \ - $(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \ - $(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \ - $(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \ - $(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \ - $(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \ - $(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \ - $(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \ - $(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \ - $(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \ - $(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \ - $(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \ - $(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \ - $(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \ - $(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \ - $(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \ - $(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \ - $(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \ - $(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \ - $(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \ - $(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \ - $(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \ - $(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \ - $(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \ - $(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \ - $(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \ - $(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \ - $(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \ - $(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \ - $(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \ - $(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \ - $(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \ - $(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \ - $(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \ - $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \ - $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \ - $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \ - $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \ - $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \ - $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \ - $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \ - $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \ - $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \ - $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \ - $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \ - $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \ - $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \ - $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \ - $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \ - $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \ - $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \ - $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \ - $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \ - $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \ - $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \ - $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \ - $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \ - $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \ - $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \ - $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \ - $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \ - $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \ - $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \ - $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \ - $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \ - $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \ - $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \ - $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \ - $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \ - $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \ - $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \ - $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \ - $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \ - $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \ - $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \ - $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \ - $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \ - $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \ - $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \ - $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \ - $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \ - $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \ - $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \ - $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \ - $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \ - $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \ - $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \ - $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \ - $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \ - $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \ - $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \ - $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \ - $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \ - $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \ - $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \ - $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \ - $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \ - $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \ - $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \ - $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \ - $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \ - $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \ - $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \ - $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \ - $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \ - $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \ - $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \ - $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \ - $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \ - $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \ - $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \ - $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \ - $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \ - $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \ - $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \ - $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \ - $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \ - $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \ - $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \ - $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \ - $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \ - $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \ - $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \ - $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \ - $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \ - $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \ - $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \ - $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \ - $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \ - $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \ - $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \ - $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \ - $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \ - $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \ - $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \ - $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \ - $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \ - $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \ - $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \ - $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \ - $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \ - $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \ - $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \ - $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \ - $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \ - $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \ - $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \ - $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \ - $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \ - $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \ - $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \ - $(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ - $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ - $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ - $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ - $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \ - $(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \ - $(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \ - $(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \ - $(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \ - $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \ - $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \ - $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \ - $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \ - $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj - -T_EXE=$(TEST_D)\constant_time_test.exe \ - $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ - $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ - $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ - $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ - $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ - $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ - $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ - $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ - $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ - $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ - $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ - $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ - $(TEST_D)\igetest.exe - -E_SHLIB= - -################################################################### -all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe - -banner: - @echo Building OpenSSL - -$(TMP_D): - $(MKDIR) "$(TMP_D)" -# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different -#$(BIN_D): -# $(MKDIR) $(BIN_D) -# -#$(TEST_D): -# $(MKDIR) $(TEST_D) - -$(LIB_D): - $(MKDIR) "$(LIB_D)" - -$(INCO_D): $(INC_D) - $(MKDIR) "$(INCO_D)" - -$(INC_D): - $(MKDIR) "$(INC_D)" - -# This needs to be invoked once, when the makefile is first constructed, or -# after cleaning. -init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers - $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" - -headers: $(HEADER) $(EXHEADER) - -lib: $(LIBS_DEP) $(E_SHLIB) - -exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe - -$(TMP_D)\x86cpuid.asm: crypto\x86cpuid.pl - $(PERL) crypto\x86cpuid.pl win32n $(CFLAG) >$@ - -$(TMP_D)\md5-586.asm: crypto\md5\asm\md5-586.pl - $(PERL) crypto\md5\asm\md5-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\sha1-586.asm: crypto\sha\asm\sha1-586.pl - $(PERL) crypto\sha\asm\sha1-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\sha256-586.asm: crypto\sha\asm\sha256-586.pl - $(PERL) crypto\sha\asm\sha256-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\sha512-586.asm: crypto\sha\asm\sha512-586.pl - $(PERL) crypto\sha\asm\sha512-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\rmd-586.asm: crypto\ripemd\asm\rmd-586.pl - $(PERL) crypto\ripemd\asm\rmd-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\des-586.asm: crypto\des\asm\des-586.pl - $(PERL) crypto\des\asm\des-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\crypt586.asm: crypto\des\asm\crypt586.pl - $(PERL) crypto\des\asm\crypt586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\rc4-586.asm: crypto\rc4\asm\rc4-586.pl - $(PERL) crypto\rc4\asm\rc4-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\bf-586.asm: crypto\bf\asm\bf-586.pl - $(PERL) crypto\bf\asm\bf-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\cast-586.asm: crypto\cast\asm\cast-586.pl - $(PERL) crypto\cast\asm\cast-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\aes-586.asm: crypto\aes\asm\aes-586.pl - $(PERL) crypto\aes\asm\aes-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\vpaes-x86.asm: crypto\aes\asm\vpaes-x86.pl - $(PERL) crypto\aes\asm\vpaes-x86.pl win32n $(CFLAG) >$@ - -$(TMP_D)\aesni-x86.asm: crypto\aes\asm\aesni-x86.pl - $(PERL) crypto\aes\asm\aesni-x86.pl win32n $(CFLAG) >$@ - -$(TMP_D)\cmll-x86.asm: crypto\camellia\asm\cmll-x86.pl - $(PERL) crypto\camellia\asm\cmll-x86.pl win32n $(CFLAG) >$@ - -$(TMP_D)\ghash-x86.asm: crypto\modes\asm\ghash-x86.pl - $(PERL) crypto\modes\asm\ghash-x86.pl win32n $(CFLAG) >$@ - -$(TMP_D)\bn-586.asm: crypto\bn\asm\bn-586.pl - $(PERL) crypto\bn\asm\bn-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\co-586.asm: crypto\bn\asm\co-586.pl - $(PERL) crypto\bn\asm\co-586.pl win32n $(CFLAG) >$@ - -$(TMP_D)\x86-mont.asm: crypto\bn\asm\x86-mont.pl - $(PERL) crypto\bn\asm\x86-mont.pl win32n $(CFLAG) >$@ - -$(TMP_D)\x86-gf2m.asm: crypto\bn\asm\x86-gf2m.pl - $(PERL) crypto\bn\asm\x86-gf2m.pl win32n $(CFLAG) >$@ - -$(TMP_D)\wp-mmx.asm: crypto\whrlpool\asm\wp-mmx.pl - $(PERL) crypto\whrlpool\asm\wp-mmx.pl win32n $(CFLAG) >$@ - -asms: $(TMP_D) $(TMP_D)\x86cpuid.asm $(TMP_D)\md5-586.asm $(TMP_D)\sha1-586.asm $(TMP_D)\sha256-586.asm $(TMP_D)\sha512-586.asm $(TMP_D)\rmd-586.asm $(TMP_D)\des-586.asm $(TMP_D)\crypt586.asm $(TMP_D)\rc4-586.asm $(TMP_D)\bf-586.asm $(TMP_D)\cast-586.asm $(TMP_D)\aes-586.asm $(TMP_D)\vpaes-x86.asm $(TMP_D)\aesni-x86.asm $(TMP_D)\cmll-x86.asm $(TMP_D)\ghash-x86.asm $(TMP_D)\bn-586.asm $(TMP_D)\co-586.asm $(TMP_D)\x86-mont.asm $(TMP_D)\x86-gf2m.asm $(TMP_D)\wp-mmx.asm +# N.B. You MUST use -j on FreeBSD. +# This makefile has been automatically generated from the OpenSSL distribution. +# This single makefile will build the complete OpenSSL distribution and +# by default leave the 'interesting' output files in .\out and the stuff +# that needs deleting in .\tmp. +# The file was generated by running 'make makefile.one', which +# does a 'make files', which writes all the environment variables from all +# the makefiles to the file call MINFO. This file is used by +# util\mk1mf.pl to generate makefile.one. +# The 'makefile per directory' system suites me when developing this +# library and also so I can 'distribute' indervidual library sections. +# The one monster makefile better suits building in non-unix +# environments. + +INSTALLTOP=\usr\local\ssl +OPENSSLDIR=\usr\local\ssl + +# Set your compiler options +PLATFORM=VC-WIN32 +CC=cl +CFLAG= /MT /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE +APP_CFLAG= /Zi /Fd$(TMP_D)/app +LIB_CFLAG=/Zl /Zi /Fd$(TMP_D)/lib +SHLIB_CFLAG= +APP_EX_OBJ=setargv.obj +SHLIB_EX_OBJ= +# add extra libraries to this define, for solaris -lsocket -lnsl would +# be added +EX_LIBS=ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib + +# The OpenSSL directory +SRC_D=. + +LINK_CMD=link +LFLAGS=/nologo /subsystem:console /opt:ref /debug +RSC=rc + +# The output directory for everything interesting +OUT_D=out32 +# The output directory for all the temporary muck +TMP_D=tmp32 +# The output directory for the header files +INC_D=inc32 +INCO_D=inc32\openssl + +PERL=perl +CP=$(PERL) util/copy.pl +RM=del /Q +RANLIB= +MKDIR=$(PERL) util/mkdir-p.pl +MKLIB=lib /nologo +MLFLAGS= +ASM=nasm -f win32 + +# FIPS validated module and support file locations + +E_PREMAIN_DSO=fips_premain_dso + +FIPSDIR=\usr\local\ssl\fips-2.0 +BASEADDR=0xFB00000 +FIPSLIB_D=$(FIPSDIR)\lib +FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c +O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib +FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe +PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe +FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl + +###################################################### +# You should not need to touch anything below this point +###################################################### + +E_EXE=openssl +SSL=ssleay32 +CRYPTO=libeay32 + +# BIN_D - Binary output directory +# TEST_D - Binary test file output directory +# LIB_D - library output directory +# ENG_D - dynamic engine output directory +# Note: if you change these point to different directories then uncomment out +# the lines around the 'NB' comment below. +# +BIN_D=$(OUT_D) +TEST_D=$(OUT_D) +LIB_D=$(OUT_D) +ENG_D=$(OUT_D) + +# INCL_D - local library directory +# OBJ_D - temp object file directory +OBJ_D=$(TMP_D) +INCL_D=$(TMP_D) + +O_SSL= $(LIB_D)\$(SSL).lib +O_CRYPTO= $(LIB_D)\$(CRYPTO).lib +SO_SSL= $(SSL) +SO_CRYPTO= $(CRYPTO) +L_SSL= $(LIB_D)\$(SSL).lib +L_CRYPTO= $(LIB_D)\$(CRYPTO).lib + +L_LIBS= $(L_SSL) $(L_CRYPTO) + +###################################################### +# Don't touch anything below this point +###################################################### + +INC=-I$(INC_D) -I$(INCL_D) +APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) +LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) +SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) +LIBS_DEP=$(O_CRYPTO) $(O_SSL) + +############################################# +HEADER=$(INCL_D)\e_os.h \ + $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ + $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ + $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ + $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ + $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ + $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ + $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ + $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ + $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ + $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ + $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ + $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ + $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ + $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ + $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ + $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ + $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ + $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ + $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ + $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ + $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ + $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ + $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ + $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ + $(INCL_D)\ssltestlib.h + +EXHEADER=$(INCO_D)\e_os2.h \ + $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ + $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ + $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ + $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ + $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ + $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ + $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ + $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ + $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ + $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ + $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ + $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ + $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ + $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ + $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ + $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ + $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ + $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ + $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ + $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ + $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ + $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ + $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ + $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h + +T_OBJ=$(OBJ_D)\constant_time_test.obj \ + $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ + $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ + $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ + $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ + $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ + $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ + $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ + $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ + $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ + $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ + $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ + $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ + $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj + +E_OBJ=$(OBJ_D)\verify.obj \ + $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ + $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ + $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ + $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ + $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ + $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ + $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ + $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ + $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ + $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ + $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ + $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ + $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ + $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ + $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ + $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ + $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj + +SSLOBJ=$(OBJ_D)\s2_meth.obj \ + $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ + $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ + $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ + $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ + $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ + $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ + $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ + $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ + $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ + $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ + $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ + $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ + $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ + $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ + $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ + $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ + $(OBJ_D)\ssl_utst.obj + +CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ + $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ + $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ + $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ + $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ + $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \ + $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ + $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \ + $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ + $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \ + $(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \ + $(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \ + $(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \ + $(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \ + $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \ + $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \ + $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \ + $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \ + $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \ + $(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \ + $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \ + $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \ + $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \ + $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \ + $(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \ + $(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \ + $(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \ + $(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \ + $(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \ + $(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \ + $(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \ + $(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ + $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ + $(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \ + $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \ + $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \ + $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \ + $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \ + $(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \ + $(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \ + $(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \ + $(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \ + $(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \ + $(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \ + $(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \ + $(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \ + $(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \ + $(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \ + $(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \ + $(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \ + $(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \ + $(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \ + $(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \ + $(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \ + $(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \ + $(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \ + $(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \ + $(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \ + $(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \ + $(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \ + $(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \ + $(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \ + $(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \ + $(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \ + $(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \ + $(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \ + $(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \ + $(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \ + $(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \ + $(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \ + $(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \ + $(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \ + $(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \ + $(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \ + $(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \ + $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \ + $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \ + $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \ + $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \ + $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \ + $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \ + $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \ + $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \ + $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \ + $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \ + $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \ + $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \ + $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \ + $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \ + $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \ + $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \ + $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \ + $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \ + $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \ + $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \ + $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \ + $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \ + $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \ + $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \ + $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \ + $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \ + $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \ + $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \ + $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \ + $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \ + $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \ + $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \ + $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \ + $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \ + $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \ + $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \ + $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \ + $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \ + $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \ + $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \ + $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \ + $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \ + $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \ + $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \ + $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \ + $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \ + $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \ + $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \ + $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \ + $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \ + $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \ + $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \ + $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \ + $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \ + $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \ + $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \ + $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \ + $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \ + $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \ + $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \ + $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \ + $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \ + $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \ + $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \ + $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \ + $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \ + $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \ + $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \ + $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \ + $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \ + $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \ + $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \ + $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \ + $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \ + $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \ + $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \ + $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \ + $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \ + $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \ + $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \ + $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \ + $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \ + $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \ + $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \ + $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \ + $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \ + $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \ + $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \ + $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \ + $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \ + $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \ + $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \ + $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \ + $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \ + $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \ + $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \ + $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \ + $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \ + $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \ + $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \ + $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \ + $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \ + $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \ + $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \ + $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \ + $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \ + $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \ + $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \ + $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \ + $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \ + $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \ + $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \ + $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \ + $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \ + $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \ + $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \ + $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \ + $(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ + $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ + $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ + $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ + $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \ + $(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \ + $(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \ + $(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \ + $(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \ + $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \ + $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \ + $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \ + $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \ + $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj + +T_EXE=$(TEST_D)\constant_time_test.exe \ + $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ + $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ + $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ + $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ + $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ + $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ + $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ + $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ + $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ + $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ + $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ + $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ + $(TEST_D)\igetest.exe + +E_SHLIB= + +################################################################### +all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe + +banner: + @echo Building OpenSSL + +$(TMP_D): + $(MKDIR) "$(TMP_D)" +# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different +#$(BIN_D): +# $(MKDIR) $(BIN_D) +# +#$(TEST_D): +# $(MKDIR) $(TEST_D) + +$(LIB_D): + $(MKDIR) "$(LIB_D)" + +$(INCO_D): $(INC_D) + $(MKDIR) "$(INCO_D)" + +$(INC_D): + $(MKDIR) "$(INC_D)" + +# This needs to be invoked once, when the makefile is first constructed, or +# after cleaning. +init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers + $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" + +headers: $(HEADER) $(EXHEADER) + +lib: $(LIBS_DEP) $(E_SHLIB) + +exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe + +$(TMP_D)\x86cpuid.asm: crypto\x86cpuid.pl + $(PERL) crypto\x86cpuid.pl win32n $(CFLAG) >$@ + +$(TMP_D)\md5-586.asm: crypto\md5\asm\md5-586.pl + $(PERL) crypto\md5\asm\md5-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\sha1-586.asm: crypto\sha\asm\sha1-586.pl + $(PERL) crypto\sha\asm\sha1-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\sha256-586.asm: crypto\sha\asm\sha256-586.pl + $(PERL) crypto\sha\asm\sha256-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\sha512-586.asm: crypto\sha\asm\sha512-586.pl + $(PERL) crypto\sha\asm\sha512-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\rmd-586.asm: crypto\ripemd\asm\rmd-586.pl + $(PERL) crypto\ripemd\asm\rmd-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\des-586.asm: crypto\des\asm\des-586.pl + $(PERL) crypto\des\asm\des-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\crypt586.asm: crypto\des\asm\crypt586.pl + $(PERL) crypto\des\asm\crypt586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\rc4-586.asm: crypto\rc4\asm\rc4-586.pl + $(PERL) crypto\rc4\asm\rc4-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\bf-586.asm: crypto\bf\asm\bf-586.pl + $(PERL) crypto\bf\asm\bf-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\cast-586.asm: crypto\cast\asm\cast-586.pl + $(PERL) crypto\cast\asm\cast-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\aes-586.asm: crypto\aes\asm\aes-586.pl + $(PERL) crypto\aes\asm\aes-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\vpaes-x86.asm: crypto\aes\asm\vpaes-x86.pl + $(PERL) crypto\aes\asm\vpaes-x86.pl win32n $(CFLAG) >$@ + +$(TMP_D)\aesni-x86.asm: crypto\aes\asm\aesni-x86.pl + $(PERL) crypto\aes\asm\aesni-x86.pl win32n $(CFLAG) >$@ + +$(TMP_D)\cmll-x86.asm: crypto\camellia\asm\cmll-x86.pl + $(PERL) crypto\camellia\asm\cmll-x86.pl win32n $(CFLAG) >$@ + +$(TMP_D)\ghash-x86.asm: crypto\modes\asm\ghash-x86.pl + $(PERL) crypto\modes\asm\ghash-x86.pl win32n $(CFLAG) >$@ + +$(TMP_D)\bn-586.asm: crypto\bn\asm\bn-586.pl + $(PERL) crypto\bn\asm\bn-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\co-586.asm: crypto\bn\asm\co-586.pl + $(PERL) crypto\bn\asm\co-586.pl win32n $(CFLAG) >$@ + +$(TMP_D)\x86-mont.asm: crypto\bn\asm\x86-mont.pl + $(PERL) crypto\bn\asm\x86-mont.pl win32n $(CFLAG) >$@ + +$(TMP_D)\x86-gf2m.asm: crypto\bn\asm\x86-gf2m.pl + $(PERL) crypto\bn\asm\x86-gf2m.pl win32n $(CFLAG) >$@ + +$(TMP_D)\wp-mmx.asm: crypto\whrlpool\asm\wp-mmx.pl + $(PERL) crypto\whrlpool\asm\wp-mmx.pl win32n $(CFLAG) >$@ + +asms: $(TMP_D) $(TMP_D)\x86cpuid.asm $(TMP_D)\md5-586.asm $(TMP_D)\sha1-586.asm $(TMP_D)\sha256-586.asm $(TMP_D)\sha512-586.asm $(TMP_D)\rmd-586.asm $(TMP_D)\des-586.asm $(TMP_D)\crypt586.asm $(TMP_D)\rc4-586.asm $(TMP_D)\bf-586.asm $(TMP_D)\cast-586.asm $(TMP_D)\aes-586.asm $(TMP_D)\vpaes-x86.asm $(TMP_D)\aesni-x86.asm $(TMP_D)\cmll-x86.asm $(TMP_D)\ghash-x86.asm $(TMP_D)\bn-586.asm $(TMP_D)\co-586.asm $(TMP_D)\x86-mont.asm $(TMP_D)\x86-gf2m.asm $(TMP_D)\wp-mmx.asm diff --git a/ms/nt32.mak b/ms/nt32.mak index 136ccff6..1554865d 100644 --- a/ms/nt32.mak +++ b/ms/nt32.mak @@ -1,3528 +1,3528 @@ -# N.B. You MUST use -j on FreeBSD. -# This makefile has been automatically generated from the OpenSSL distribution. -# This single makefile will build the complete OpenSSL distribution and -# by default leave the 'interesting' output files in .\out and the stuff -# that needs deleting in .\tmp. -# The file was generated by running 'make makefile.one', which -# does a 'make files', which writes all the environment variables from all -# the makefiles to the file call MINFO. This file is used by -# util\mk1mf.pl to generate makefile.one. -# The 'makefile per directory' system suites me when developing this -# library and also so I can 'distribute' indervidual library sections. -# The one monster makefile better suits building in non-unix -# environments. - -INSTALLTOP=\usr\local\ssl -OPENSSLDIR=\usr\local\ssl - -# Set your compiler options -PLATFORM=VC-WIN32 -CC=cl -CFLAG= /MT /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE -APP_CFLAG= /Zi /Fd$(TMP_D)/app -LIB_CFLAG=/Zl /Zi /Fd$(TMP_D)/lib -SHLIB_CFLAG= -APP_EX_OBJ=setargv.obj -SHLIB_EX_OBJ= -# add extra libraries to this define, for solaris -lsocket -lnsl would -# be added -EX_LIBS=ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib - -# The OpenSSL directory -SRC_D=. - -LINK_CMD=link -LFLAGS=/nologo /subsystem:console /opt:ref /debug -RSC=rc - -# The output directory for everything interesting -OUT_D=out32 -# The output directory for all the temporary muck -TMP_D=tmp32 -# The output directory for the header files -INC_D=inc32 -INCO_D=inc32\openssl - -PERL=perl -CP=$(PERL) util/copy.pl -RM=del /Q -RANLIB= -MKDIR=$(PERL) util/mkdir-p.pl -MKLIB=lib /nologo -MLFLAGS= -ASM=nasm -f win32 - -# FIPS validated module and support file locations - -E_PREMAIN_DSO=fips_premain_dso - -FIPSDIR=\usr\local\ssl\fips-2.0 -BASEADDR=0xFB00000 -FIPSLIB_D=$(FIPSDIR)\lib -FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c -O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib -FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe -PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe -FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl - -###################################################### -# You should not need to touch anything below this point -###################################################### - -E_EXE=openssl -SSL=ssleay32 -CRYPTO=libeay32 - -# BIN_D - Binary output directory -# TEST_D - Binary test file output directory -# LIB_D - library output directory -# ENG_D - dynamic engine output directory -# Note: if you change these point to different directories then uncomment out -# the lines around the 'NB' comment below. -# -BIN_D=$(OUT_D) -TEST_D=$(OUT_D) -LIB_D=$(OUT_D) -ENG_D=$(OUT_D) - -# INCL_D - local library directory -# OBJ_D - temp object file directory -OBJ_D=$(TMP_D) -INCL_D=$(TMP_D) - -O_SSL= $(LIB_D)\$(SSL).lib -O_CRYPTO= $(LIB_D)\$(CRYPTO).lib -SO_SSL= $(SSL) -SO_CRYPTO= $(CRYPTO) -L_SSL= $(LIB_D)\$(SSL).lib -L_CRYPTO= $(LIB_D)\$(CRYPTO).lib - -L_LIBS= $(L_SSL) $(L_CRYPTO) - -###################################################### -# Don't touch anything below this point -###################################################### - -INC=-I$(INC_D) -I$(INCL_D) -APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) -LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) -SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) -LIBS_DEP=$(O_CRYPTO) $(O_SSL) - -############################################# -HEADER=$(INCL_D)\e_os.h \ - $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ - $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ - $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ - $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ - $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ - $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ - $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ - $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ - $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ - $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ - $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ - $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ - $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ - $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ - $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ - $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ - $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ - $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ - $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ - $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ - $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ - $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ - $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ - $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ - $(INCL_D)\ssltestlib.h - -EXHEADER=$(INCO_D)\e_os2.h \ - $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ - $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ - $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ - $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ - $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ - $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ - $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ - $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ - $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ - $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ - $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ - $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ - $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ - $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ - $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ - $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ - $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ - $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ - $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ - $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ - $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ - $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ - $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ - $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h - -T_OBJ=$(OBJ_D)\constant_time_test.obj \ - $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ - $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ - $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ - $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ - $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ - $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ - $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ - $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ - $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ - $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ - $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ - $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ - $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj - -E_OBJ=$(OBJ_D)\verify.obj \ - $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ - $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ - $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ - $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ - $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ - $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ - $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ - $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ - $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ - $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ - $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ - $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ - $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ - $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ - $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ - $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ - $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj - -SSLOBJ=$(OBJ_D)\s2_meth.obj \ - $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ - $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ - $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ - $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ - $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ - $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ - $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ - $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ - $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ - $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ - $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ - $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ - $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ - $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ - $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ - $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ - $(OBJ_D)\ssl_utst.obj - -CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ - $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ - $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ - $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ - $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ - $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \ - $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ - $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \ - $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ - $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \ - $(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \ - $(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \ - $(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \ - $(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \ - $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \ - $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \ - $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \ - $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \ - $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \ - $(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \ - $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \ - $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \ - $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \ - $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \ - $(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \ - $(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \ - $(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \ - $(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \ - $(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \ - $(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \ - $(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \ - $(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ - $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ - $(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \ - $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \ - $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \ - $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \ - $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \ - $(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \ - $(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \ - $(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \ - $(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \ - $(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \ - $(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \ - $(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \ - $(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \ - $(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \ - $(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \ - $(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \ - $(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \ - $(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \ - $(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \ - $(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \ - $(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \ - $(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \ - $(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \ - $(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \ - $(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \ - $(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \ - $(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \ - $(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \ - $(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \ - $(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \ - $(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \ - $(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \ - $(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \ - $(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \ - $(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \ - $(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \ - $(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \ - $(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \ - $(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \ - $(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \ - $(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \ - $(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \ - $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \ - $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \ - $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \ - $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \ - $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \ - $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \ - $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \ - $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \ - $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \ - $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \ - $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \ - $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \ - $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \ - $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \ - $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \ - $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \ - $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \ - $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \ - $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \ - $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \ - $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \ - $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \ - $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \ - $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \ - $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \ - $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \ - $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \ - $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \ - $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \ - $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \ - $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \ - $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \ - $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \ - $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \ - $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \ - $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \ - $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \ - $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \ - $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \ - $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \ - $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \ - $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \ - $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \ - $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \ - $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \ - $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \ - $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \ - $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \ - $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \ - $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \ - $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \ - $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \ - $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \ - $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \ - $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \ - $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \ - $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \ - $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \ - $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \ - $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \ - $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \ - $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \ - $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \ - $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \ - $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \ - $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \ - $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \ - $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \ - $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \ - $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \ - $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \ - $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \ - $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \ - $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \ - $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \ - $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \ - $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \ - $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \ - $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \ - $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \ - $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \ - $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \ - $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \ - $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \ - $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \ - $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \ - $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \ - $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \ - $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \ - $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \ - $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \ - $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \ - $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \ - $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \ - $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \ - $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \ - $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \ - $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \ - $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \ - $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \ - $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \ - $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \ - $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \ - $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \ - $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \ - $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \ - $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \ - $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \ - $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \ - $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \ - $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \ - $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \ - $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \ - $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \ - $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \ - $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \ - $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \ - $(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ - $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ - $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ - $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ - $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \ - $(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \ - $(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \ - $(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \ - $(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \ - $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \ - $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \ - $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \ - $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \ - $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj - -T_EXE=$(TEST_D)\constant_time_test.exe \ - $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ - $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ - $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ - $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ - $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ - $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ - $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ - $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ - $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ - $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ - $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ - $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ - $(TEST_D)\igetest.exe - -E_SHLIB= - -################################################################### -all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe - -banner: - @echo Building OpenSSL - -$(TMP_D): - $(MKDIR) "$(TMP_D)" -# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different -#$(BIN_D): -# $(MKDIR) $(BIN_D) -# -#$(TEST_D): -# $(MKDIR) $(TEST_D) - -$(LIB_D): - $(MKDIR) "$(LIB_D)" - -$(INCO_D): $(INC_D) - $(MKDIR) "$(INCO_D)" - -$(INC_D): - $(MKDIR) "$(INC_D)" - -# This needs to be invoked once, when the makefile is first constructed, or -# after cleaning. -init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers - $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" - -headers: $(HEADER) $(EXHEADER) - -lib: $(LIBS_DEP) $(E_SHLIB) - -exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe - -install: all - $(MKDIR) "$(INSTALLTOP)" - $(MKDIR) "$(INSTALLTOP)\bin" - $(MKDIR) "$(INSTALLTOP)\include" - $(MKDIR) "$(INSTALLTOP)\include\openssl" - $(MKDIR) "$(INSTALLTOP)\lib" - $(CP) "$(INCO_D)\*.[ch]" "$(INSTALLTOP)\include\openssl" - $(CP) "$(BIN_D)\$(E_EXE).exe" "$(INSTALLTOP)\bin" - $(MKDIR) "$(OPENSSLDIR)" - $(CP) apps\openssl.cnf "$(OPENSSLDIR)" - $(CP) "$(O_SSL)" "$(INSTALLTOP)\lib" - $(CP) "$(O_CRYPTO)" "$(INSTALLTOP)\lib" - - -clean: - $(RM) $(TMP_D)\*.* - -vclean: - $(RM) $(TMP_D)\*.* - $(RM) $(OUT_D)\*.* - -reallyclean: - $(RM) -rf $(TMP_D) - $(RM) -rf $(BIN_D) - $(RM) -rf $(TEST_D) - $(RM) -rf $(LIB_D) - $(RM) -rf $(INC_D) - -test: $(T_EXE) - cd $(BIN_D) - ..\ms\test - -$(INCL_D)\e_os.h: $(SRC_D)\.\e_os.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os.h" "$(INCL_D)\e_os.h" - -$(INCL_D)\cryptlib.h: $(SRC_D)\crypto\cryptlib.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cryptlib.h" "$(INCL_D)\cryptlib.h" - -$(INCL_D)\buildinf.h: $(SRC_D)\crypto\buildinf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buildinf.h" "$(INCL_D)\buildinf.h" - -$(INCL_D)\md32_common.h: $(SRC_D)\crypto\md32_common.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md32_common.h" "$(INCL_D)\md32_common.h" - -$(INCL_D)\o_time.h: $(SRC_D)\crypto\o_time.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_time.h" "$(INCL_D)\o_time.h" - -$(INCL_D)\o_str.h: $(SRC_D)\crypto\o_str.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_str.h" "$(INCL_D)\o_str.h" - -$(INCL_D)\o_dir.h: $(SRC_D)\crypto\o_dir.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_dir.h" "$(INCL_D)\o_dir.h" - -$(INCL_D)\constant_time_locl.h: $(SRC_D)\crypto\constant_time_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\constant_time_locl.h" "$(INCL_D)\constant_time_locl.h" - -$(INCL_D)\bn_int.h: $(SRC_D)\crypto\bn_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn_int.h" "$(INCL_D)\bn_int.h" - -$(INCL_D)\md4_locl.h: $(SRC_D)\crypto\md4\md4_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4_locl.h" "$(INCL_D)\md4_locl.h" - -$(INCL_D)\md5_locl.h: $(SRC_D)\crypto\md5\md5_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5_locl.h" "$(INCL_D)\md5_locl.h" - -$(INCL_D)\sha_locl.h: $(SRC_D)\crypto\sha\sha_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha_locl.h" "$(INCL_D)\sha_locl.h" - -$(INCL_D)\rmd_locl.h: $(SRC_D)\crypto\ripemd\rmd_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmd_locl.h" "$(INCL_D)\rmd_locl.h" - -$(INCL_D)\rmdconst.h: $(SRC_D)\crypto\ripemd\rmdconst.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmdconst.h" "$(INCL_D)\rmdconst.h" - -$(INCL_D)\des_locl.h: $(SRC_D)\crypto\des\des_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_locl.h" "$(INCL_D)\des_locl.h" - -$(INCL_D)\rpc_des.h: $(SRC_D)\crypto\des\rpc_des.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\rpc_des.h" "$(INCL_D)\rpc_des.h" - -$(INCL_D)\spr.h: $(SRC_D)\crypto\des\spr.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\spr.h" "$(INCL_D)\spr.h" - -$(INCL_D)\des_ver.h: $(SRC_D)\crypto\des\des_ver.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_ver.h" "$(INCL_D)\des_ver.h" - -$(INCL_D)\rc2_locl.h: $(SRC_D)\crypto\rc2\rc2_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2_locl.h" "$(INCL_D)\rc2_locl.h" - -$(INCL_D)\rc4_locl.h: $(SRC_D)\crypto\rc4\rc4_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4_locl.h" "$(INCL_D)\rc4_locl.h" - -$(INCL_D)\bf_pi.h: $(SRC_D)\crypto\bf\bf_pi.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_pi.h" "$(INCL_D)\bf_pi.h" - -$(INCL_D)\bf_locl.h: $(SRC_D)\crypto\bf\bf_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_locl.h" "$(INCL_D)\bf_locl.h" - -$(INCL_D)\cast_s.h: $(SRC_D)\crypto\cast\cast_s.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_s.h" "$(INCL_D)\cast_s.h" - -$(INCL_D)\cast_lcl.h: $(SRC_D)\crypto\cast\cast_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_lcl.h" "$(INCL_D)\cast_lcl.h" - -$(INCL_D)\aes_locl.h: $(SRC_D)\crypto\aes\aes_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes_locl.h" "$(INCL_D)\aes_locl.h" - -$(INCL_D)\cmll_locl.h: $(SRC_D)\crypto\camellia\cmll_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\cmll_locl.h" "$(INCL_D)\cmll_locl.h" - -$(INCL_D)\seed_locl.h: $(SRC_D)\crypto\seed\seed_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed_locl.h" "$(INCL_D)\seed_locl.h" - -$(INCL_D)\modes_lcl.h: $(SRC_D)\crypto\modes\modes_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes_lcl.h" "$(INCL_D)\modes_lcl.h" - -$(INCL_D)\bn_lcl.h: $(SRC_D)\crypto\bn\bn_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_lcl.h" "$(INCL_D)\bn_lcl.h" - -$(INCL_D)\bn_prime.h: $(SRC_D)\crypto\bn\bn_prime.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_prime.h" "$(INCL_D)\bn_prime.h" - -$(INCL_D)\dsa_locl.h: $(SRC_D)\crypto\dsa\dsa_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa_locl.h" "$(INCL_D)\dsa_locl.h" - -$(INCL_D)\ec_lcl.h: $(SRC_D)\crypto\ec\ec_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec_lcl.h" "$(INCL_D)\ec_lcl.h" - -$(INCL_D)\ech_locl.h: $(SRC_D)\crypto\ecdh\ech_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ech_locl.h" "$(INCL_D)\ech_locl.h" - -$(INCL_D)\ecs_locl.h: $(SRC_D)\crypto\ecdsa\ecs_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecs_locl.h" "$(INCL_D)\ecs_locl.h" - -$(INCL_D)\bio_lcl.h: $(SRC_D)\crypto\bio\bio_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio_lcl.h" "$(INCL_D)\bio_lcl.h" - -$(INCL_D)\obj_dat.h: $(SRC_D)\crypto\objects\obj_dat.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_dat.h" "$(INCL_D)\obj_dat.h" - -$(INCL_D)\obj_xref.h: $(SRC_D)\crypto\objects\obj_xref.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_xref.h" "$(INCL_D)\obj_xref.h" - -$(INCL_D)\evp_locl.h: $(SRC_D)\crypto\evp\evp_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp_locl.h" "$(INCL_D)\evp_locl.h" - -$(INCL_D)\asn1_locl.h: $(SRC_D)\crypto\asn1\asn1_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_locl.h" "$(INCL_D)\asn1_locl.h" - -$(INCL_D)\vpm_int.h: $(SRC_D)\crypto\x509\vpm_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\vpm_int.h" "$(INCL_D)\vpm_int.h" - -$(INCL_D)\pcy_int.h: $(SRC_D)\crypto\x509v3\pcy_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\pcy_int.h" "$(INCL_D)\pcy_int.h" - -$(INCL_D)\cms_lcl.h: $(SRC_D)\crypto\cms\cms_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms_lcl.h" "$(INCL_D)\cms_lcl.h" - -$(INCL_D)\conf_def.h: $(SRC_D)\crypto\conf\conf_def.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_def.h" "$(INCL_D)\conf_def.h" - -$(INCL_D)\ui_locl.h: $(SRC_D)\crypto\ui\ui_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_locl.h" "$(INCL_D)\ui_locl.h" - -$(INCL_D)\wp_locl.h: $(SRC_D)\crypto\whrlpool\wp_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\wp_locl.h" "$(INCL_D)\wp_locl.h" - -$(INCL_D)\ssl_locl.h: $(SRC_D)\ssl\ssl_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl_locl.h" "$(INCL_D)\ssl_locl.h" - -$(INCL_D)\kssl_lcl.h: $(SRC_D)\ssl\kssl_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl_lcl.h" "$(INCL_D)\kssl_lcl.h" - -$(INCL_D)\apps.h: $(SRC_D)\apps\apps.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\apps.h" "$(INCL_D)\apps.h" - -$(INCL_D)\progs.h: $(SRC_D)\apps\progs.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\progs.h" "$(INCL_D)\progs.h" - -$(INCL_D)\s_apps.h: $(SRC_D)\apps\s_apps.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\s_apps.h" "$(INCL_D)\s_apps.h" - -$(INCL_D)\testdsa.h: $(SRC_D)\apps\testdsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testdsa.h" "$(INCL_D)\testdsa.h" - -$(INCL_D)\testrsa.h: $(SRC_D)\apps\testrsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testrsa.h" "$(INCL_D)\testrsa.h" - -$(INCL_D)\e_4758cca_err.c: $(SRC_D)\engines\e_4758cca_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.c" "$(INCL_D)\e_4758cca_err.c" - -$(INCL_D)\e_4758cca_err.h: $(SRC_D)\engines\e_4758cca_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.h" "$(INCL_D)\e_4758cca_err.h" - -$(INCL_D)\e_aep_err.c: $(SRC_D)\engines\e_aep_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.c" "$(INCL_D)\e_aep_err.c" - -$(INCL_D)\e_aep_err.h: $(SRC_D)\engines\e_aep_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.h" "$(INCL_D)\e_aep_err.h" - -$(INCL_D)\e_atalla_err.c: $(SRC_D)\engines\e_atalla_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.c" "$(INCL_D)\e_atalla_err.c" - -$(INCL_D)\e_atalla_err.h: $(SRC_D)\engines\e_atalla_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.h" "$(INCL_D)\e_atalla_err.h" - -$(INCL_D)\e_cswift_err.c: $(SRC_D)\engines\e_cswift_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.c" "$(INCL_D)\e_cswift_err.c" - -$(INCL_D)\e_cswift_err.h: $(SRC_D)\engines\e_cswift_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.h" "$(INCL_D)\e_cswift_err.h" - -$(INCL_D)\e_gmp_err.c: $(SRC_D)\engines\e_gmp_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.c" "$(INCL_D)\e_gmp_err.c" - -$(INCL_D)\e_gmp_err.h: $(SRC_D)\engines\e_gmp_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.h" "$(INCL_D)\e_gmp_err.h" - -$(INCL_D)\e_chil_err.c: $(SRC_D)\engines\e_chil_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.c" "$(INCL_D)\e_chil_err.c" - -$(INCL_D)\e_chil_err.h: $(SRC_D)\engines\e_chil_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.h" "$(INCL_D)\e_chil_err.h" - -$(INCL_D)\e_nuron_err.c: $(SRC_D)\engines\e_nuron_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.c" "$(INCL_D)\e_nuron_err.c" - -$(INCL_D)\e_nuron_err.h: $(SRC_D)\engines\e_nuron_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.h" "$(INCL_D)\e_nuron_err.h" - -$(INCL_D)\e_sureware_err.c: $(SRC_D)\engines\e_sureware_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.c" "$(INCL_D)\e_sureware_err.c" - -$(INCL_D)\e_sureware_err.h: $(SRC_D)\engines\e_sureware_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.h" "$(INCL_D)\e_sureware_err.h" - -$(INCL_D)\e_ubsec_err.c: $(SRC_D)\engines\e_ubsec_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.c" "$(INCL_D)\e_ubsec_err.c" - -$(INCL_D)\e_ubsec_err.h: $(SRC_D)\engines\e_ubsec_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.h" "$(INCL_D)\e_ubsec_err.h" - -$(INCL_D)\e_capi_err.c: $(SRC_D)\engines\e_capi_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.c" "$(INCL_D)\e_capi_err.c" - -$(INCL_D)\e_capi_err.h: $(SRC_D)\engines\e_capi_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.h" "$(INCL_D)\e_capi_err.h" - -$(INCL_D)\testutil.h: $(SRC_D)\test\testutil.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\testutil.h" "$(INCL_D)\testutil.h" - -$(INCL_D)\ssltestlib.h: $(SRC_D)\test\ssltestlib.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\ssltestlib.h" "$(INCL_D)\ssltestlib.h" - -$(INCO_D)\e_os2.h: $(SRC_D)\.\e_os2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os2.h" "$(INCO_D)\e_os2.h" - -$(INCO_D)\crypto.h: $(SRC_D)\crypto\crypto.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\crypto.h" "$(INCO_D)\crypto.h" - -$(INCO_D)\opensslv.h: $(SRC_D)\crypto\opensslv.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslv.h" "$(INCO_D)\opensslv.h" - -$(INCO_D)\opensslconf.h: $(SRC_D)\crypto\opensslconf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslconf.h" "$(INCO_D)\opensslconf.h" - -$(INCO_D)\ebcdic.h: $(SRC_D)\crypto\ebcdic.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ebcdic.h" "$(INCO_D)\ebcdic.h" - -$(INCO_D)\symhacks.h: $(SRC_D)\crypto\symhacks.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\symhacks.h" "$(INCO_D)\symhacks.h" - -$(INCO_D)\ossl_typ.h: $(SRC_D)\crypto\ossl_typ.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ossl_typ.h" "$(INCO_D)\ossl_typ.h" - -$(INCO_D)\md4.h: $(SRC_D)\crypto\md4\md4.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4.h" "$(INCO_D)\md4.h" - -$(INCO_D)\md5.h: $(SRC_D)\crypto\md5\md5.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5.h" "$(INCO_D)\md5.h" - -$(INCO_D)\sha.h: $(SRC_D)\crypto\sha\sha.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha.h" "$(INCO_D)\sha.h" - -$(INCO_D)\hmac.h: $(SRC_D)\crypto\hmac\hmac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\hmac\hmac.h" "$(INCO_D)\hmac.h" - -$(INCO_D)\cmac.h: $(SRC_D)\crypto\cmac\cmac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cmac\cmac.h" "$(INCO_D)\cmac.h" - -$(INCO_D)\ripemd.h: $(SRC_D)\crypto\ripemd\ripemd.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\ripemd.h" "$(INCO_D)\ripemd.h" - -$(INCO_D)\des.h: $(SRC_D)\crypto\des\des.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des.h" "$(INCO_D)\des.h" - -$(INCO_D)\des_old.h: $(SRC_D)\crypto\des\des_old.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_old.h" "$(INCO_D)\des_old.h" - -$(INCO_D)\rc2.h: $(SRC_D)\crypto\rc2\rc2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2.h" "$(INCO_D)\rc2.h" - -$(INCO_D)\rc4.h: $(SRC_D)\crypto\rc4\rc4.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4.h" "$(INCO_D)\rc4.h" - -$(INCO_D)\blowfish.h: $(SRC_D)\crypto\bf\blowfish.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\blowfish.h" "$(INCO_D)\blowfish.h" - -$(INCO_D)\cast.h: $(SRC_D)\crypto\cast\cast.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast.h" "$(INCO_D)\cast.h" - -$(INCO_D)\aes.h: $(SRC_D)\crypto\aes\aes.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes.h" "$(INCO_D)\aes.h" - -$(INCO_D)\camellia.h: $(SRC_D)\crypto\camellia\camellia.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\camellia.h" "$(INCO_D)\camellia.h" - -$(INCO_D)\seed.h: $(SRC_D)\crypto\seed\seed.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed.h" "$(INCO_D)\seed.h" - -$(INCO_D)\modes.h: $(SRC_D)\crypto\modes\modes.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes.h" "$(INCO_D)\modes.h" - -$(INCO_D)\bn.h: $(SRC_D)\crypto\bn\bn.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn.h" "$(INCO_D)\bn.h" - -$(INCO_D)\rsa.h: $(SRC_D)\crypto\rsa\rsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rsa\rsa.h" "$(INCO_D)\rsa.h" - -$(INCO_D)\dsa.h: $(SRC_D)\crypto\dsa\dsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa.h" "$(INCO_D)\dsa.h" - -$(INCO_D)\dso.h: $(SRC_D)\crypto\dso\dso.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dso\dso.h" "$(INCO_D)\dso.h" - -$(INCO_D)\dh.h: $(SRC_D)\crypto\dh\dh.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dh\dh.h" "$(INCO_D)\dh.h" - -$(INCO_D)\ec.h: $(SRC_D)\crypto\ec\ec.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec.h" "$(INCO_D)\ec.h" - -$(INCO_D)\ecdh.h: $(SRC_D)\crypto\ecdh\ecdh.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ecdh.h" "$(INCO_D)\ecdh.h" - -$(INCO_D)\ecdsa.h: $(SRC_D)\crypto\ecdsa\ecdsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecdsa.h" "$(INCO_D)\ecdsa.h" - -$(INCO_D)\buffer.h: $(SRC_D)\crypto\buffer\buffer.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buffer\buffer.h" "$(INCO_D)\buffer.h" - -$(INCO_D)\bio.h: $(SRC_D)\crypto\bio\bio.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio.h" "$(INCO_D)\bio.h" - -$(INCO_D)\stack.h: $(SRC_D)\crypto\stack\stack.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\stack.h" "$(INCO_D)\stack.h" - -$(INCO_D)\safestack.h: $(SRC_D)\crypto\stack\safestack.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\safestack.h" "$(INCO_D)\safestack.h" - -$(INCO_D)\lhash.h: $(SRC_D)\crypto\lhash\lhash.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\lhash\lhash.h" "$(INCO_D)\lhash.h" - -$(INCO_D)\rand.h: $(SRC_D)\crypto\rand\rand.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rand\rand.h" "$(INCO_D)\rand.h" - -$(INCO_D)\err.h: $(SRC_D)\crypto\err\err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\err\err.h" "$(INCO_D)\err.h" - -$(INCO_D)\objects.h: $(SRC_D)\crypto\objects\objects.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\objects.h" "$(INCO_D)\objects.h" - -$(INCO_D)\obj_mac.h: $(SRC_D)\crypto\objects\obj_mac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_mac.h" "$(INCO_D)\obj_mac.h" - -$(INCO_D)\evp.h: $(SRC_D)\crypto\evp\evp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp.h" "$(INCO_D)\evp.h" - -$(INCO_D)\asn1.h: $(SRC_D)\crypto\asn1\asn1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1.h" "$(INCO_D)\asn1.h" - -$(INCO_D)\asn1_mac.h: $(SRC_D)\crypto\asn1\asn1_mac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_mac.h" "$(INCO_D)\asn1_mac.h" - -$(INCO_D)\asn1t.h: $(SRC_D)\crypto\asn1\asn1t.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1t.h" "$(INCO_D)\asn1t.h" - -$(INCO_D)\pem.h: $(SRC_D)\crypto\pem\pem.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem.h" "$(INCO_D)\pem.h" - -$(INCO_D)\pem2.h: $(SRC_D)\crypto\pem\pem2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem2.h" "$(INCO_D)\pem2.h" - -$(INCO_D)\x509.h: $(SRC_D)\crypto\x509\x509.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509.h" "$(INCO_D)\x509.h" - -$(INCO_D)\x509_vfy.h: $(SRC_D)\crypto\x509\x509_vfy.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509_vfy.h" "$(INCO_D)\x509_vfy.h" - -$(INCO_D)\x509v3.h: $(SRC_D)\crypto\x509v3\x509v3.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\x509v3.h" "$(INCO_D)\x509v3.h" - -$(INCO_D)\cms.h: $(SRC_D)\crypto\cms\cms.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms.h" "$(INCO_D)\cms.h" - -$(INCO_D)\conf.h: $(SRC_D)\crypto\conf\conf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf.h" "$(INCO_D)\conf.h" - -$(INCO_D)\conf_api.h: $(SRC_D)\crypto\conf\conf_api.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_api.h" "$(INCO_D)\conf_api.h" - -$(INCO_D)\txt_db.h: $(SRC_D)\crypto\txt_db\txt_db.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\txt_db\txt_db.h" "$(INCO_D)\txt_db.h" - -$(INCO_D)\pkcs7.h: $(SRC_D)\crypto\pkcs7\pkcs7.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs7\pkcs7.h" "$(INCO_D)\pkcs7.h" - -$(INCO_D)\pkcs12.h: $(SRC_D)\crypto\pkcs12\pkcs12.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs12\pkcs12.h" "$(INCO_D)\pkcs12.h" - -$(INCO_D)\comp.h: $(SRC_D)\crypto\comp\comp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\comp\comp.h" "$(INCO_D)\comp.h" - -$(INCO_D)\engine.h: $(SRC_D)\crypto\engine\engine.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\engine\engine.h" "$(INCO_D)\engine.h" - -$(INCO_D)\ocsp.h: $(SRC_D)\crypto\ocsp\ocsp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ocsp\ocsp.h" "$(INCO_D)\ocsp.h" - -$(INCO_D)\ui.h: $(SRC_D)\crypto\ui\ui.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui.h" "$(INCO_D)\ui.h" - -$(INCO_D)\ui_compat.h: $(SRC_D)\crypto\ui\ui_compat.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_compat.h" "$(INCO_D)\ui_compat.h" - -$(INCO_D)\krb5_asn.h: $(SRC_D)\crypto\krb5\krb5_asn.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\krb5\krb5_asn.h" "$(INCO_D)\krb5_asn.h" - -$(INCO_D)\pqueue.h: $(SRC_D)\crypto\pqueue\pqueue.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pqueue\pqueue.h" "$(INCO_D)\pqueue.h" - -$(INCO_D)\whrlpool.h: $(SRC_D)\crypto\whrlpool\whrlpool.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\whrlpool.h" "$(INCO_D)\whrlpool.h" - -$(INCO_D)\ts.h: $(SRC_D)\crypto\ts\ts.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ts\ts.h" "$(INCO_D)\ts.h" - -$(INCO_D)\srp.h: $(SRC_D)\crypto\srp\srp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\srp\srp.h" "$(INCO_D)\srp.h" - -$(INCO_D)\ssl.h: $(SRC_D)\ssl\ssl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl.h" "$(INCO_D)\ssl.h" - -$(INCO_D)\ssl2.h: $(SRC_D)\ssl\ssl2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl2.h" "$(INCO_D)\ssl2.h" - -$(INCO_D)\ssl3.h: $(SRC_D)\ssl\ssl3.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl3.h" "$(INCO_D)\ssl3.h" - -$(INCO_D)\ssl23.h: $(SRC_D)\ssl\ssl23.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl23.h" "$(INCO_D)\ssl23.h" - -$(INCO_D)\tls1.h: $(SRC_D)\ssl\tls1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\tls1.h" "$(INCO_D)\tls1.h" - -$(INCO_D)\dtls1.h: $(SRC_D)\ssl\dtls1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\dtls1.h" "$(INCO_D)\dtls1.h" - -$(INCO_D)\kssl.h: $(SRC_D)\ssl\kssl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl.h" "$(INCO_D)\kssl.h" - -$(INCO_D)\srtp.h: $(SRC_D)\ssl\srtp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\srtp.h" "$(INCO_D)\srtp.h" - -$(OBJ_D)\constant_time_test.obj: $(SRC_D)\crypto\constant_time_test.c - $(CC) /Fo$(OBJ_D)\constant_time_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\constant_time_test.c - -$(OBJ_D)\md4test.obj: $(SRC_D)\crypto\md4\md4test.c - $(CC) /Fo$(OBJ_D)\md4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md4\md4test.c - -$(OBJ_D)\md5test.obj: $(SRC_D)\crypto\md5\md5test.c - $(CC) /Fo$(OBJ_D)\md5test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md5\md5test.c - -$(OBJ_D)\shatest.obj: $(SRC_D)\crypto\sha\shatest.c - $(CC) /Fo$(OBJ_D)\shatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\shatest.c - -$(OBJ_D)\sha1test.obj: $(SRC_D)\crypto\sha\sha1test.c - $(CC) /Fo$(OBJ_D)\sha1test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha1test.c - -$(OBJ_D)\sha256t.obj: $(SRC_D)\crypto\sha\sha256t.c - $(CC) /Fo$(OBJ_D)\sha256t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha256t.c - -$(OBJ_D)\sha512t.obj: $(SRC_D)\crypto\sha\sha512t.c - $(CC) /Fo$(OBJ_D)\sha512t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha512t.c - -$(OBJ_D)\hmactest.obj: $(SRC_D)\crypto\hmac\hmactest.c - $(CC) /Fo$(OBJ_D)\hmactest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\hmac\hmactest.c - -$(OBJ_D)\rmdtest.obj: $(SRC_D)\crypto\ripemd\rmdtest.c - $(CC) /Fo$(OBJ_D)\rmdtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmdtest.c - -$(OBJ_D)\destest.obj: $(SRC_D)\crypto\des\destest.c - $(CC) /Fo$(OBJ_D)\destest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\des\destest.c - -$(OBJ_D)\rc2test.obj: $(SRC_D)\crypto\rc2\rc2test.c - $(CC) /Fo$(OBJ_D)\rc2test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2test.c - -$(OBJ_D)\rc4test.obj: $(SRC_D)\crypto\rc4\rc4test.c - $(CC) /Fo$(OBJ_D)\rc4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4test.c - -$(OBJ_D)\bftest.obj: $(SRC_D)\crypto\bf\bftest.c - $(CC) /Fo$(OBJ_D)\bftest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bf\bftest.c - -$(OBJ_D)\casttest.obj: $(SRC_D)\crypto\cast\casttest.c - $(CC) /Fo$(OBJ_D)\casttest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\cast\casttest.c - -$(OBJ_D)\bntest.obj: $(SRC_D)\crypto\bn\bntest.c - $(CC) /Fo$(OBJ_D)\bntest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\bntest.c - -$(OBJ_D)\exptest.obj: $(SRC_D)\crypto\bn\exptest.c - $(CC) /Fo$(OBJ_D)\exptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\exptest.c - -$(OBJ_D)\rsa_test.obj: $(SRC_D)\crypto\rsa\rsa_test.c - $(CC) /Fo$(OBJ_D)\rsa_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_test.c - -$(OBJ_D)\dsatest.obj: $(SRC_D)\crypto\dsa\dsatest.c - $(CC) /Fo$(OBJ_D)\dsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dsa\dsatest.c - -$(OBJ_D)\dhtest.obj: $(SRC_D)\crypto\dh\dhtest.c - $(CC) /Fo$(OBJ_D)\dhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dh\dhtest.c - -$(OBJ_D)\ectest.obj: $(SRC_D)\crypto\ec\ectest.c - $(CC) /Fo$(OBJ_D)\ectest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ec\ectest.c - -$(OBJ_D)\ecdhtest.obj: $(SRC_D)\crypto\ecdh\ecdhtest.c - $(CC) /Fo$(OBJ_D)\ecdhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdh\ecdhtest.c - -$(OBJ_D)\ecdsatest.obj: $(SRC_D)\crypto\ecdsa\ecdsatest.c - $(CC) /Fo$(OBJ_D)\ecdsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecdsatest.c - -$(OBJ_D)\randtest.obj: $(SRC_D)\crypto\rand\randtest.c - $(CC) /Fo$(OBJ_D)\randtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rand\randtest.c - -$(OBJ_D)\evp_test.obj: $(SRC_D)\crypto\evp\evp_test.c - $(CC) /Fo$(OBJ_D)\evp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_test.c - -$(OBJ_D)\evp_extra_test.obj: $(SRC_D)\crypto\evp\evp_extra_test.c - $(CC) /Fo$(OBJ_D)\evp_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_extra_test.c - -$(OBJ_D)\verify_extra_test.obj: $(SRC_D)\crypto\x509\verify_extra_test.c - $(CC) /Fo$(OBJ_D)\verify_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509\verify_extra_test.c - -$(OBJ_D)\v3nametest.obj: $(SRC_D)\crypto\x509v3\v3nametest.c - $(CC) /Fo$(OBJ_D)\v3nametest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3nametest.c - -$(OBJ_D)\enginetest.obj: $(SRC_D)\crypto\engine\enginetest.c - $(CC) /Fo$(OBJ_D)\enginetest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\engine\enginetest.c - -$(OBJ_D)\wp_test.obj: $(SRC_D)\crypto\whrlpool\wp_test.c - $(CC) /Fo$(OBJ_D)\wp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_test.c - -$(OBJ_D)\srptest.obj: $(SRC_D)\crypto\srp\srptest.c - $(CC) /Fo$(OBJ_D)\srptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\srp\srptest.c - -$(OBJ_D)\ssltest.obj: $(SRC_D)\ssl\ssltest.c - $(CC) /Fo$(OBJ_D)\ssltest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\ssltest.c - -$(OBJ_D)\heartbeat_test.obj: $(SRC_D)\ssl\heartbeat_test.c - $(CC) /Fo$(OBJ_D)\heartbeat_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\heartbeat_test.c - -$(OBJ_D)\clienthellotest.obj: $(SRC_D)\ssl\clienthellotest.c - $(CC) /Fo$(OBJ_D)\clienthellotest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\clienthellotest.c - -$(OBJ_D)\sslv2conftest.obj: $(SRC_D)\ssl\sslv2conftest.c - $(CC) /Fo$(OBJ_D)\sslv2conftest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\sslv2conftest.c - -$(OBJ_D)\dtlstest.obj: $(SRC_D)\ssl\dtlstest.c - $(CC) /Fo$(OBJ_D)\dtlstest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\dtlstest.c - -$(OBJ_D)\bad_dtls_test.obj: $(SRC_D)\ssl\bad_dtls_test.c - $(CC) /Fo$(OBJ_D)\bad_dtls_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\bad_dtls_test.c - -$(OBJ_D)\fatalerrtest.obj: $(SRC_D)\ssl\fatalerrtest.c - $(CC) /Fo$(OBJ_D)\fatalerrtest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\fatalerrtest.c - -$(OBJ_D)\igetest.obj: $(SRC_D)\test\igetest.c - $(CC) /Fo$(OBJ_D)\igetest.obj $(APP_CFLAGS) -c $(SRC_D)\test\igetest.c - -$(OBJ_D)\ssltestlib.obj: $(SRC_D)\test\ssltestlib.c - $(CC) /Fo$(OBJ_D)\ssltestlib.obj $(APP_CFLAGS) -c $(SRC_D)\test\ssltestlib.c - -$(OBJ_D)\verify.obj: $(SRC_D)\apps\verify.c - $(CC) /Fo$(OBJ_D)\verify.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\verify.c - -$(OBJ_D)\asn1pars.obj: $(SRC_D)\apps\asn1pars.c - $(CC) /Fo$(OBJ_D)\asn1pars.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\asn1pars.c - -$(OBJ_D)\req.obj: $(SRC_D)\apps\req.c - $(CC) /Fo$(OBJ_D)\req.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\req.c - -$(OBJ_D)\dgst.obj: $(SRC_D)\apps\dgst.c - $(CC) /Fo$(OBJ_D)\dgst.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dgst.c - -$(OBJ_D)\dh.obj: $(SRC_D)\apps\dh.c - $(CC) /Fo$(OBJ_D)\dh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dh.c - -$(OBJ_D)\dhparam.obj: $(SRC_D)\apps\dhparam.c - $(CC) /Fo$(OBJ_D)\dhparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dhparam.c - -$(OBJ_D)\enc.obj: $(SRC_D)\apps\enc.c - $(CC) /Fo$(OBJ_D)\enc.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\enc.c - -$(OBJ_D)\passwd.obj: $(SRC_D)\apps\passwd.c - $(CC) /Fo$(OBJ_D)\passwd.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\passwd.c - -$(OBJ_D)\gendh.obj: $(SRC_D)\apps\gendh.c - $(CC) /Fo$(OBJ_D)\gendh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendh.c - -$(OBJ_D)\errstr.obj: $(SRC_D)\apps\errstr.c - $(CC) /Fo$(OBJ_D)\errstr.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\errstr.c - -$(OBJ_D)\ca.obj: $(SRC_D)\apps\ca.c - $(CC) /Fo$(OBJ_D)\ca.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ca.c - -$(OBJ_D)\pkcs7.obj: $(SRC_D)\apps\pkcs7.c - $(CC) /Fo$(OBJ_D)\pkcs7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs7.c - -$(OBJ_D)\crl2p7.obj: $(SRC_D)\apps\crl2p7.c - $(CC) /Fo$(OBJ_D)\crl2p7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl2p7.c - -$(OBJ_D)\crl.obj: $(SRC_D)\apps\crl.c - $(CC) /Fo$(OBJ_D)\crl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl.c - -$(OBJ_D)\rsa.obj: $(SRC_D)\apps\rsa.c - $(CC) /Fo$(OBJ_D)\rsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsa.c - -$(OBJ_D)\rsautl.obj: $(SRC_D)\apps\rsautl.c - $(CC) /Fo$(OBJ_D)\rsautl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsautl.c - -$(OBJ_D)\dsa.obj: $(SRC_D)\apps\dsa.c - $(CC) /Fo$(OBJ_D)\dsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsa.c - -$(OBJ_D)\dsaparam.obj: $(SRC_D)\apps\dsaparam.c - $(CC) /Fo$(OBJ_D)\dsaparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsaparam.c - -$(OBJ_D)\ec.obj: $(SRC_D)\apps\ec.c - $(CC) /Fo$(OBJ_D)\ec.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ec.c - -$(OBJ_D)\ecparam.obj: $(SRC_D)\apps\ecparam.c - $(CC) /Fo$(OBJ_D)\ecparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ecparam.c - -$(OBJ_D)\x509.obj: $(SRC_D)\apps\x509.c - $(CC) /Fo$(OBJ_D)\x509.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\x509.c - -$(OBJ_D)\genrsa.obj: $(SRC_D)\apps\genrsa.c - $(CC) /Fo$(OBJ_D)\genrsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genrsa.c - -$(OBJ_D)\gendsa.obj: $(SRC_D)\apps\gendsa.c - $(CC) /Fo$(OBJ_D)\gendsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendsa.c - -$(OBJ_D)\genpkey.obj: $(SRC_D)\apps\genpkey.c - $(CC) /Fo$(OBJ_D)\genpkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genpkey.c - -$(OBJ_D)\s_server.obj: $(SRC_D)\apps\s_server.c - $(CC) /Fo$(OBJ_D)\s_server.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_server.c - -$(OBJ_D)\s_client.obj: $(SRC_D)\apps\s_client.c - $(CC) /Fo$(OBJ_D)\s_client.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_client.c - -$(OBJ_D)\speed.obj: $(SRC_D)\apps\speed.c - $(CC) /Fo$(OBJ_D)\speed.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\speed.c - -$(OBJ_D)\s_time.obj: $(SRC_D)\apps\s_time.c - $(CC) /Fo$(OBJ_D)\s_time.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_time.c - -$(OBJ_D)\apps.obj: $(SRC_D)\apps\apps.c - $(CC) /Fo$(OBJ_D)\apps.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\apps.c - -$(OBJ_D)\s_cb.obj: $(SRC_D)\apps\s_cb.c - $(CC) /Fo$(OBJ_D)\s_cb.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_cb.c - -$(OBJ_D)\s_socket.obj: $(SRC_D)\apps\s_socket.c - $(CC) /Fo$(OBJ_D)\s_socket.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_socket.c - -$(OBJ_D)\app_rand.obj: $(SRC_D)\apps\app_rand.c - $(CC) /Fo$(OBJ_D)\app_rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\app_rand.c - -$(OBJ_D)\version.obj: $(SRC_D)\apps\version.c - $(CC) /Fo$(OBJ_D)\version.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\version.c - -$(OBJ_D)\sess_id.obj: $(SRC_D)\apps\sess_id.c - $(CC) /Fo$(OBJ_D)\sess_id.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\sess_id.c - -$(OBJ_D)\ciphers.obj: $(SRC_D)\apps\ciphers.c - $(CC) /Fo$(OBJ_D)\ciphers.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ciphers.c - -$(OBJ_D)\nseq.obj: $(SRC_D)\apps\nseq.c - $(CC) /Fo$(OBJ_D)\nseq.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\nseq.c - -$(OBJ_D)\pkcs12.obj: $(SRC_D)\apps\pkcs12.c - $(CC) /Fo$(OBJ_D)\pkcs12.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs12.c - -$(OBJ_D)\pkcs8.obj: $(SRC_D)\apps\pkcs8.c - $(CC) /Fo$(OBJ_D)\pkcs8.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs8.c - -$(OBJ_D)\pkey.obj: $(SRC_D)\apps\pkey.c - $(CC) /Fo$(OBJ_D)\pkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkey.c - -$(OBJ_D)\pkeyparam.obj: $(SRC_D)\apps\pkeyparam.c - $(CC) /Fo$(OBJ_D)\pkeyparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyparam.c - -$(OBJ_D)\pkeyutl.obj: $(SRC_D)\apps\pkeyutl.c - $(CC) /Fo$(OBJ_D)\pkeyutl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyutl.c - -$(OBJ_D)\spkac.obj: $(SRC_D)\apps\spkac.c - $(CC) /Fo$(OBJ_D)\spkac.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\spkac.c - -$(OBJ_D)\smime.obj: $(SRC_D)\apps\smime.c - $(CC) /Fo$(OBJ_D)\smime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\smime.c - -$(OBJ_D)\cms.obj: $(SRC_D)\apps\cms.c - $(CC) /Fo$(OBJ_D)\cms.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\cms.c - -$(OBJ_D)\rand.obj: $(SRC_D)\apps\rand.c - $(CC) /Fo$(OBJ_D)\rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rand.c - -$(OBJ_D)\engine.obj: $(SRC_D)\apps\engine.c - $(CC) /Fo$(OBJ_D)\engine.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\engine.c - -$(OBJ_D)\ocsp.obj: $(SRC_D)\apps\ocsp.c - $(CC) /Fo$(OBJ_D)\ocsp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ocsp.c - -$(OBJ_D)\prime.obj: $(SRC_D)\apps\prime.c - $(CC) /Fo$(OBJ_D)\prime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\prime.c - -$(OBJ_D)\ts.obj: $(SRC_D)\apps\ts.c - $(CC) /Fo$(OBJ_D)\ts.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ts.c - -$(OBJ_D)\srp.obj: $(SRC_D)\apps\srp.c - $(CC) /Fo$(OBJ_D)\srp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\srp.c - -$(OBJ_D)\openssl.obj: $(SRC_D)\apps\openssl.c - $(CC) /Fo$(OBJ_D)\openssl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\openssl.c - -$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c - $(CC) /Fo$(OBJ_D)\s2_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_meth.c - -$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c - $(CC) /Fo$(OBJ_D)\s2_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_srvr.c - -$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c - $(CC) /Fo$(OBJ_D)\s2_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_clnt.c - -$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c - $(CC) /Fo$(OBJ_D)\s2_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_lib.c - -$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c - $(CC) /Fo$(OBJ_D)\s2_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_enc.c - -$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c - $(CC) /Fo$(OBJ_D)\s2_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_pkt.c - -$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c - $(CC) /Fo$(OBJ_D)\s3_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_meth.c - -$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c - $(CC) /Fo$(OBJ_D)\s3_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_srvr.c - -$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c - $(CC) /Fo$(OBJ_D)\s3_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_clnt.c - -$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c - $(CC) /Fo$(OBJ_D)\s3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_lib.c - -$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c - $(CC) /Fo$(OBJ_D)\s3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_enc.c - -$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c - $(CC) /Fo$(OBJ_D)\s3_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_pkt.c - -$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c - $(CC) /Fo$(OBJ_D)\s3_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_both.c - -$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c - $(CC) /Fo$(OBJ_D)\s3_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_cbc.c - -$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c - $(CC) /Fo$(OBJ_D)\s23_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_meth.c - -$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c - $(CC) /Fo$(OBJ_D)\s23_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_srvr.c - -$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c - $(CC) /Fo$(OBJ_D)\s23_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_clnt.c - -$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c - $(CC) /Fo$(OBJ_D)\s23_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_lib.c - -$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c - $(CC) /Fo$(OBJ_D)\s23_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_pkt.c - -$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c - $(CC) /Fo$(OBJ_D)\t1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_meth.c - -$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c - $(CC) /Fo$(OBJ_D)\t1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_srvr.c - -$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c - $(CC) /Fo$(OBJ_D)\t1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_clnt.c - -$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c - $(CC) /Fo$(OBJ_D)\t1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_lib.c - -$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c - $(CC) /Fo$(OBJ_D)\t1_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_enc.c - -$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c - $(CC) /Fo$(OBJ_D)\t1_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_ext.c - -$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c - $(CC) /Fo$(OBJ_D)\d1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_meth.c - -$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c - $(CC) /Fo$(OBJ_D)\d1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srvr.c - -$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c - $(CC) /Fo$(OBJ_D)\d1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_clnt.c - -$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c - $(CC) /Fo$(OBJ_D)\d1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_lib.c - -$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c - $(CC) /Fo$(OBJ_D)\d1_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_pkt.c - -$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c - $(CC) /Fo$(OBJ_D)\d1_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_both.c - -$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c - $(CC) /Fo$(OBJ_D)\d1_srtp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srtp.c - -$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c - $(CC) /Fo$(OBJ_D)\ssl_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_lib.c - -$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c - $(CC) /Fo$(OBJ_D)\ssl_err2.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err2.c - -$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c - $(CC) /Fo$(OBJ_D)\ssl_cert.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_cert.c - -$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c - $(CC) /Fo$(OBJ_D)\ssl_sess.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_sess.c - -$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c - $(CC) /Fo$(OBJ_D)\ssl_ciph.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_ciph.c - -$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c - $(CC) /Fo$(OBJ_D)\ssl_stat.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_stat.c - -$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c - $(CC) /Fo$(OBJ_D)\ssl_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_rsa.c - -$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c - $(CC) /Fo$(OBJ_D)\ssl_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_asn1.c - -$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c - $(CC) /Fo$(OBJ_D)\ssl_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_txt.c - -$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c - $(CC) /Fo$(OBJ_D)\ssl_algs.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_algs.c - -$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c - $(CC) /Fo$(OBJ_D)\ssl_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_conf.c - -$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c - $(CC) /Fo$(OBJ_D)\bio_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\bio_ssl.c - -$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c - $(CC) /Fo$(OBJ_D)\ssl_err.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err.c - -$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c - $(CC) /Fo$(OBJ_D)\kssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\kssl.c - -$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c - $(CC) /Fo$(OBJ_D)\t1_reneg.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_reneg.c - -$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c - $(CC) /Fo$(OBJ_D)\tls_srp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\tls_srp.c - -$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c - $(CC) /Fo$(OBJ_D)\t1_trce.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_trce.c - -$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c - $(CC) /Fo$(OBJ_D)\ssl_utst.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_utst.c - -$(OBJ_D)\cryptlib.obj: $(SRC_D)\crypto\cryptlib.c - $(CC) /Fo$(OBJ_D)\cryptlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cryptlib.c - -$(OBJ_D)\mem.obj: $(SRC_D)\crypto\mem.c - $(CC) /Fo$(OBJ_D)\mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem.c - -$(OBJ_D)\mem_dbg.obj: $(SRC_D)\crypto\mem_dbg.c - $(CC) /Fo$(OBJ_D)\mem_dbg.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem_dbg.c - -$(OBJ_D)\cversion.obj: $(SRC_D)\crypto\cversion.c - $(CC) /Fo$(OBJ_D)\cversion.obj $(LIB_CFLAGS) -DMK1MF_BUILD -DMK1MF_PLATFORM_VC_WIN32 -c $(SRC_D)\crypto\cversion.c - -$(OBJ_D)\ex_data.obj: $(SRC_D)\crypto\ex_data.c - $(CC) /Fo$(OBJ_D)\ex_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ex_data.c - -$(OBJ_D)\cpt_err.obj: $(SRC_D)\crypto\cpt_err.c - $(CC) /Fo$(OBJ_D)\cpt_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cpt_err.c - -$(OBJ_D)\ebcdic.obj: $(SRC_D)\crypto\ebcdic.c - $(CC) /Fo$(OBJ_D)\ebcdic.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ebcdic.c - -$(OBJ_D)\uid.obj: $(SRC_D)\crypto\uid.c - $(CC) /Fo$(OBJ_D)\uid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\uid.c - -$(OBJ_D)\o_time.obj: $(SRC_D)\crypto\o_time.c - $(CC) /Fo$(OBJ_D)\o_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_time.c - -$(OBJ_D)\o_str.obj: $(SRC_D)\crypto\o_str.c - $(CC) /Fo$(OBJ_D)\o_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_str.c - -$(OBJ_D)\o_dir.obj: $(SRC_D)\crypto\o_dir.c - $(CC) /Fo$(OBJ_D)\o_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_dir.c - -$(OBJ_D)\o_fips.obj: $(SRC_D)\crypto\o_fips.c - $(CC) /Fo$(OBJ_D)\o_fips.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_fips.c - -$(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c - $(CC) /Fo$(OBJ_D)\o_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_init.c - -$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c - $(CC) /Fo$(OBJ_D)\fips_ers.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\fips_ers.c - -$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c - $(CC) /Fo$(OBJ_D)\getenv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\getenv.c - -$(TMP_D)\x86cpuid.asm: crypto\x86cpuid.pl - $(PERL) crypto\x86cpuid.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\x86cpuid.obj: $(TMP_D)\x86cpuid.asm - $(ASM) -o $@ $(TMP_D)\x86cpuid.asm - -$(OBJ_D)\md4_dgst.obj: $(SRC_D)\crypto\md4\md4_dgst.c - $(CC) /Fo$(OBJ_D)\md4_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_dgst.c - -$(OBJ_D)\md4_one.obj: $(SRC_D)\crypto\md4\md4_one.c - $(CC) /Fo$(OBJ_D)\md4_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_one.c - -$(OBJ_D)\md5_dgst.obj: $(SRC_D)\crypto\md5\md5_dgst.c - $(CC) /Fo$(OBJ_D)\md5_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_dgst.c - -$(OBJ_D)\md5_one.obj: $(SRC_D)\crypto\md5\md5_one.c - $(CC) /Fo$(OBJ_D)\md5_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_one.c - -$(TMP_D)\md5-586.asm: crypto\md5\asm\md5-586.pl - $(PERL) crypto\md5\asm\md5-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\md5-586.obj: $(TMP_D)\md5-586.asm - $(ASM) -o $@ $(TMP_D)\md5-586.asm - -$(OBJ_D)\sha_dgst.obj: $(SRC_D)\crypto\sha\sha_dgst.c - $(CC) /Fo$(OBJ_D)\sha_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_dgst.c - -$(OBJ_D)\sha1dgst.obj: $(SRC_D)\crypto\sha\sha1dgst.c - $(CC) /Fo$(OBJ_D)\sha1dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1dgst.c - -$(OBJ_D)\sha_one.obj: $(SRC_D)\crypto\sha\sha_one.c - $(CC) /Fo$(OBJ_D)\sha_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_one.c - -$(OBJ_D)\sha1_one.obj: $(SRC_D)\crypto\sha\sha1_one.c - $(CC) /Fo$(OBJ_D)\sha1_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1_one.c - -$(OBJ_D)\sha256.obj: $(SRC_D)\crypto\sha\sha256.c - $(CC) /Fo$(OBJ_D)\sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha256.c - -$(OBJ_D)\sha512.obj: $(SRC_D)\crypto\sha\sha512.c - $(CC) /Fo$(OBJ_D)\sha512.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha512.c - -$(TMP_D)\sha1-586.asm: crypto\sha\asm\sha1-586.pl - $(PERL) crypto\sha\asm\sha1-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\sha1-586.obj: $(TMP_D)\sha1-586.asm - $(ASM) -o $@ $(TMP_D)\sha1-586.asm - -$(TMP_D)\sha256-586.asm: crypto\sha\asm\sha256-586.pl - $(PERL) crypto\sha\asm\sha256-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\sha256-586.obj: $(TMP_D)\sha256-586.asm - $(ASM) -o $@ $(TMP_D)\sha256-586.asm - -$(TMP_D)\sha512-586.asm: crypto\sha\asm\sha512-586.pl - $(PERL) crypto\sha\asm\sha512-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\sha512-586.obj: $(TMP_D)\sha512-586.asm - $(ASM) -o $@ $(TMP_D)\sha512-586.asm - -$(OBJ_D)\hmac.obj: $(SRC_D)\crypto\hmac\hmac.c - $(CC) /Fo$(OBJ_D)\hmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hmac.c - -$(OBJ_D)\hm_ameth.obj: $(SRC_D)\crypto\hmac\hm_ameth.c - $(CC) /Fo$(OBJ_D)\hm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_ameth.c - -$(OBJ_D)\hm_pmeth.obj: $(SRC_D)\crypto\hmac\hm_pmeth.c - $(CC) /Fo$(OBJ_D)\hm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_pmeth.c - -$(OBJ_D)\cmac.obj: $(SRC_D)\crypto\cmac\cmac.c - $(CC) /Fo$(OBJ_D)\cmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cmac.c - -$(OBJ_D)\cm_ameth.obj: $(SRC_D)\crypto\cmac\cm_ameth.c - $(CC) /Fo$(OBJ_D)\cm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_ameth.c - -$(OBJ_D)\cm_pmeth.obj: $(SRC_D)\crypto\cmac\cm_pmeth.c - $(CC) /Fo$(OBJ_D)\cm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_pmeth.c - -$(OBJ_D)\rmd_dgst.obj: $(SRC_D)\crypto\ripemd\rmd_dgst.c - $(CC) /Fo$(OBJ_D)\rmd_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_dgst.c - -$(OBJ_D)\rmd_one.obj: $(SRC_D)\crypto\ripemd\rmd_one.c - $(CC) /Fo$(OBJ_D)\rmd_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_one.c - -$(TMP_D)\rmd-586.asm: crypto\ripemd\asm\rmd-586.pl - $(PERL) crypto\ripemd\asm\rmd-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\rmd-586.obj: $(TMP_D)\rmd-586.asm - $(ASM) -o $@ $(TMP_D)\rmd-586.asm - -$(OBJ_D)\set_key.obj: $(SRC_D)\crypto\des\set_key.c - $(CC) /Fo$(OBJ_D)\set_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\set_key.c - -$(OBJ_D)\ecb_enc.obj: $(SRC_D)\crypto\des\ecb_enc.c - $(CC) /Fo$(OBJ_D)\ecb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb_enc.c - -$(OBJ_D)\cbc_enc.obj: $(SRC_D)\crypto\des\cbc_enc.c - $(CC) /Fo$(OBJ_D)\cbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_enc.c - -$(OBJ_D)\ecb3_enc.obj: $(SRC_D)\crypto\des\ecb3_enc.c - $(CC) /Fo$(OBJ_D)\ecb3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb3_enc.c - -$(OBJ_D)\cfb64enc.obj: $(SRC_D)\crypto\des\cfb64enc.c - $(CC) /Fo$(OBJ_D)\cfb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64enc.c - -$(OBJ_D)\cfb64ede.obj: $(SRC_D)\crypto\des\cfb64ede.c - $(CC) /Fo$(OBJ_D)\cfb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64ede.c - -$(OBJ_D)\cfb_enc.obj: $(SRC_D)\crypto\des\cfb_enc.c - $(CC) /Fo$(OBJ_D)\cfb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb_enc.c - -$(OBJ_D)\ofb64ede.obj: $(SRC_D)\crypto\des\ofb64ede.c - $(CC) /Fo$(OBJ_D)\ofb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64ede.c - -$(OBJ_D)\enc_read.obj: $(SRC_D)\crypto\des\enc_read.c - $(CC) /Fo$(OBJ_D)\enc_read.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_read.c - -$(OBJ_D)\enc_writ.obj: $(SRC_D)\crypto\des\enc_writ.c - $(CC) /Fo$(OBJ_D)\enc_writ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_writ.c - -$(OBJ_D)\ofb64enc.obj: $(SRC_D)\crypto\des\ofb64enc.c - $(CC) /Fo$(OBJ_D)\ofb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64enc.c - -$(OBJ_D)\ofb_enc.obj: $(SRC_D)\crypto\des\ofb_enc.c - $(CC) /Fo$(OBJ_D)\ofb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb_enc.c - -$(OBJ_D)\str2key.obj: $(SRC_D)\crypto\des\str2key.c - $(CC) /Fo$(OBJ_D)\str2key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\str2key.c - -$(OBJ_D)\pcbc_enc.obj: $(SRC_D)\crypto\des\pcbc_enc.c - $(CC) /Fo$(OBJ_D)\pcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\pcbc_enc.c - -$(OBJ_D)\qud_cksm.obj: $(SRC_D)\crypto\des\qud_cksm.c - $(CC) /Fo$(OBJ_D)\qud_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\qud_cksm.c - -$(OBJ_D)\rand_key.obj: $(SRC_D)\crypto\des\rand_key.c - $(CC) /Fo$(OBJ_D)\rand_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rand_key.c - -$(TMP_D)\des-586.asm: crypto\des\asm\des-586.pl - $(PERL) crypto\des\asm\des-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\des-586.obj: $(TMP_D)\des-586.asm - $(ASM) -o $@ $(TMP_D)\des-586.asm - -$(TMP_D)\crypt586.asm: crypto\des\asm\crypt586.pl - $(PERL) crypto\des\asm\crypt586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\crypt586.obj: $(TMP_D)\crypt586.asm - $(ASM) -o $@ $(TMP_D)\crypt586.asm - -$(OBJ_D)\fcrypt.obj: $(SRC_D)\crypto\des\fcrypt.c - $(CC) /Fo$(OBJ_D)\fcrypt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\fcrypt.c - -$(OBJ_D)\xcbc_enc.obj: $(SRC_D)\crypto\des\xcbc_enc.c - $(CC) /Fo$(OBJ_D)\xcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\xcbc_enc.c - -$(OBJ_D)\rpc_enc.obj: $(SRC_D)\crypto\des\rpc_enc.c - $(CC) /Fo$(OBJ_D)\rpc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rpc_enc.c - -$(OBJ_D)\cbc_cksm.obj: $(SRC_D)\crypto\des\cbc_cksm.c - $(CC) /Fo$(OBJ_D)\cbc_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_cksm.c - -$(OBJ_D)\ede_cbcm_enc.obj: $(SRC_D)\crypto\des\ede_cbcm_enc.c - $(CC) /Fo$(OBJ_D)\ede_cbcm_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ede_cbcm_enc.c - -$(OBJ_D)\des_old.obj: $(SRC_D)\crypto\des\des_old.c - $(CC) /Fo$(OBJ_D)\des_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old.c - -$(OBJ_D)\des_old2.obj: $(SRC_D)\crypto\des\des_old2.c - $(CC) /Fo$(OBJ_D)\des_old2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old2.c - -$(OBJ_D)\read2pwd.obj: $(SRC_D)\crypto\des\read2pwd.c - $(CC) /Fo$(OBJ_D)\read2pwd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\read2pwd.c - -$(OBJ_D)\rc2_ecb.obj: $(SRC_D)\crypto\rc2\rc2_ecb.c - $(CC) /Fo$(OBJ_D)\rc2_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_ecb.c - -$(OBJ_D)\rc2_skey.obj: $(SRC_D)\crypto\rc2\rc2_skey.c - $(CC) /Fo$(OBJ_D)\rc2_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_skey.c - -$(OBJ_D)\rc2_cbc.obj: $(SRC_D)\crypto\rc2\rc2_cbc.c - $(CC) /Fo$(OBJ_D)\rc2_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_cbc.c - -$(OBJ_D)\rc2cfb64.obj: $(SRC_D)\crypto\rc2\rc2cfb64.c - $(CC) /Fo$(OBJ_D)\rc2cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2cfb64.c - -$(OBJ_D)\rc2ofb64.obj: $(SRC_D)\crypto\rc2\rc2ofb64.c - $(CC) /Fo$(OBJ_D)\rc2ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2ofb64.c - -$(TMP_D)\rc4-586.asm: crypto\rc4\asm\rc4-586.pl - $(PERL) crypto\rc4\asm\rc4-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\rc4-586.obj: $(TMP_D)\rc4-586.asm - $(ASM) -o $@ $(TMP_D)\rc4-586.asm - -$(OBJ_D)\rc4_utl.obj: $(SRC_D)\crypto\rc4\rc4_utl.c - $(CC) /Fo$(OBJ_D)\rc4_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4_utl.c - -$(OBJ_D)\bf_skey.obj: $(SRC_D)\crypto\bf\bf_skey.c - $(CC) /Fo$(OBJ_D)\bf_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_skey.c - -$(OBJ_D)\bf_ecb.obj: $(SRC_D)\crypto\bf\bf_ecb.c - $(CC) /Fo$(OBJ_D)\bf_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ecb.c - -$(TMP_D)\bf-586.asm: crypto\bf\asm\bf-586.pl - $(PERL) crypto\bf\asm\bf-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\bf-586.obj: $(TMP_D)\bf-586.asm - $(ASM) -o $@ $(TMP_D)\bf-586.asm - -$(OBJ_D)\bf_cfb64.obj: $(SRC_D)\crypto\bf\bf_cfb64.c - $(CC) /Fo$(OBJ_D)\bf_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_cfb64.c - -$(OBJ_D)\bf_ofb64.obj: $(SRC_D)\crypto\bf\bf_ofb64.c - $(CC) /Fo$(OBJ_D)\bf_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ofb64.c - -$(OBJ_D)\c_skey.obj: $(SRC_D)\crypto\cast\c_skey.c - $(CC) /Fo$(OBJ_D)\c_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_skey.c - -$(OBJ_D)\c_ecb.obj: $(SRC_D)\crypto\cast\c_ecb.c - $(CC) /Fo$(OBJ_D)\c_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ecb.c - -$(TMP_D)\cast-586.asm: crypto\cast\asm\cast-586.pl - $(PERL) crypto\cast\asm\cast-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\cast-586.obj: $(TMP_D)\cast-586.asm - $(ASM) -o $@ $(TMP_D)\cast-586.asm - -$(OBJ_D)\c_cfb64.obj: $(SRC_D)\crypto\cast\c_cfb64.c - $(CC) /Fo$(OBJ_D)\c_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_cfb64.c - -$(OBJ_D)\c_ofb64.obj: $(SRC_D)\crypto\cast\c_ofb64.c - $(CC) /Fo$(OBJ_D)\c_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ofb64.c - -$(OBJ_D)\aes_misc.obj: $(SRC_D)\crypto\aes\aes_misc.c - $(CC) /Fo$(OBJ_D)\aes_misc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_misc.c - -$(OBJ_D)\aes_ecb.obj: $(SRC_D)\crypto\aes\aes_ecb.c - $(CC) /Fo$(OBJ_D)\aes_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ecb.c - -$(OBJ_D)\aes_cfb.obj: $(SRC_D)\crypto\aes\aes_cfb.c - $(CC) /Fo$(OBJ_D)\aes_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_cfb.c - -$(OBJ_D)\aes_ofb.obj: $(SRC_D)\crypto\aes\aes_ofb.c - $(CC) /Fo$(OBJ_D)\aes_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ofb.c - -$(OBJ_D)\aes_ctr.obj: $(SRC_D)\crypto\aes\aes_ctr.c - $(CC) /Fo$(OBJ_D)\aes_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ctr.c - -$(OBJ_D)\aes_ige.obj: $(SRC_D)\crypto\aes\aes_ige.c - $(CC) /Fo$(OBJ_D)\aes_ige.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ige.c - -$(OBJ_D)\aes_wrap.obj: $(SRC_D)\crypto\aes\aes_wrap.c - $(CC) /Fo$(OBJ_D)\aes_wrap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_wrap.c - -$(TMP_D)\aes-586.asm: crypto\aes\asm\aes-586.pl - $(PERL) crypto\aes\asm\aes-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\aes-586.obj: $(TMP_D)\aes-586.asm - $(ASM) -o $@ $(TMP_D)\aes-586.asm - -$(TMP_D)\vpaes-x86.asm: crypto\aes\asm\vpaes-x86.pl - $(PERL) crypto\aes\asm\vpaes-x86.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\vpaes-x86.obj: $(TMP_D)\vpaes-x86.asm - $(ASM) -o $@ $(TMP_D)\vpaes-x86.asm - -$(TMP_D)\aesni-x86.asm: crypto\aes\asm\aesni-x86.pl - $(PERL) crypto\aes\asm\aesni-x86.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\aesni-x86.obj: $(TMP_D)\aesni-x86.asm - $(ASM) -o $@ $(TMP_D)\aesni-x86.asm - -$(OBJ_D)\cmll_ecb.obj: $(SRC_D)\crypto\camellia\cmll_ecb.c - $(CC) /Fo$(OBJ_D)\cmll_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ecb.c - -$(OBJ_D)\cmll_ofb.obj: $(SRC_D)\crypto\camellia\cmll_ofb.c - $(CC) /Fo$(OBJ_D)\cmll_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ofb.c - -$(OBJ_D)\cmll_cfb.obj: $(SRC_D)\crypto\camellia\cmll_cfb.c - $(CC) /Fo$(OBJ_D)\cmll_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_cfb.c - -$(OBJ_D)\cmll_ctr.obj: $(SRC_D)\crypto\camellia\cmll_ctr.c - $(CC) /Fo$(OBJ_D)\cmll_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ctr.c - -$(OBJ_D)\cmll_utl.obj: $(SRC_D)\crypto\camellia\cmll_utl.c - $(CC) /Fo$(OBJ_D)\cmll_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_utl.c - -$(TMP_D)\cmll-x86.asm: crypto\camellia\asm\cmll-x86.pl - $(PERL) crypto\camellia\asm\cmll-x86.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\cmll-x86.obj: $(TMP_D)\cmll-x86.asm - $(ASM) -o $@ $(TMP_D)\cmll-x86.asm - -$(OBJ_D)\seed.obj: $(SRC_D)\crypto\seed\seed.c - $(CC) /Fo$(OBJ_D)\seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed.c - -$(OBJ_D)\seed_ecb.obj: $(SRC_D)\crypto\seed\seed_ecb.c - $(CC) /Fo$(OBJ_D)\seed_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ecb.c - -$(OBJ_D)\seed_cbc.obj: $(SRC_D)\crypto\seed\seed_cbc.c - $(CC) /Fo$(OBJ_D)\seed_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cbc.c - -$(OBJ_D)\seed_cfb.obj: $(SRC_D)\crypto\seed\seed_cfb.c - $(CC) /Fo$(OBJ_D)\seed_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cfb.c - -$(OBJ_D)\seed_ofb.obj: $(SRC_D)\crypto\seed\seed_ofb.c - $(CC) /Fo$(OBJ_D)\seed_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ofb.c - -$(OBJ_D)\cbc128.obj: $(SRC_D)\crypto\modes\cbc128.c - $(CC) /Fo$(OBJ_D)\cbc128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cbc128.c - -$(OBJ_D)\ctr128.obj: $(SRC_D)\crypto\modes\ctr128.c - $(CC) /Fo$(OBJ_D)\ctr128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ctr128.c - -$(OBJ_D)\cts128.obj: $(SRC_D)\crypto\modes\cts128.c - $(CC) /Fo$(OBJ_D)\cts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cts128.c - -$(OBJ_D)\cfb128.obj: $(SRC_D)\crypto\modes\cfb128.c - $(CC) /Fo$(OBJ_D)\cfb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cfb128.c - -$(OBJ_D)\ofb128.obj: $(SRC_D)\crypto\modes\ofb128.c - $(CC) /Fo$(OBJ_D)\ofb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ofb128.c - -$(OBJ_D)\gcm128.obj: $(SRC_D)\crypto\modes\gcm128.c - $(CC) /Fo$(OBJ_D)\gcm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\gcm128.c - -$(OBJ_D)\ccm128.obj: $(SRC_D)\crypto\modes\ccm128.c - $(CC) /Fo$(OBJ_D)\ccm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ccm128.c - -$(OBJ_D)\xts128.obj: $(SRC_D)\crypto\modes\xts128.c - $(CC) /Fo$(OBJ_D)\xts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\xts128.c - -$(OBJ_D)\wrap128.obj: $(SRC_D)\crypto\modes\wrap128.c - $(CC) /Fo$(OBJ_D)\wrap128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\wrap128.c - -$(TMP_D)\ghash-x86.asm: crypto\modes\asm\ghash-x86.pl - $(PERL) crypto\modes\asm\ghash-x86.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\ghash-x86.obj: $(TMP_D)\ghash-x86.asm - $(ASM) -o $@ $(TMP_D)\ghash-x86.asm - -$(OBJ_D)\bn_add.obj: $(SRC_D)\crypto\bn\bn_add.c - $(CC) /Fo$(OBJ_D)\bn_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_add.c - -$(OBJ_D)\bn_div.obj: $(SRC_D)\crypto\bn\bn_div.c - $(CC) /Fo$(OBJ_D)\bn_div.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_div.c - -$(OBJ_D)\bn_exp.obj: $(SRC_D)\crypto\bn\bn_exp.c - $(CC) /Fo$(OBJ_D)\bn_exp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp.c - -$(OBJ_D)\bn_lib.obj: $(SRC_D)\crypto\bn\bn_lib.c - $(CC) /Fo$(OBJ_D)\bn_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_lib.c - -$(OBJ_D)\bn_ctx.obj: $(SRC_D)\crypto\bn\bn_ctx.c - $(CC) /Fo$(OBJ_D)\bn_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_ctx.c - -$(OBJ_D)\bn_mul.obj: $(SRC_D)\crypto\bn\bn_mul.c - $(CC) /Fo$(OBJ_D)\bn_mul.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mul.c - -$(OBJ_D)\bn_mod.obj: $(SRC_D)\crypto\bn\bn_mod.c - $(CC) /Fo$(OBJ_D)\bn_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mod.c - -$(OBJ_D)\bn_print.obj: $(SRC_D)\crypto\bn\bn_print.c - $(CC) /Fo$(OBJ_D)\bn_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_print.c - -$(OBJ_D)\bn_rand.obj: $(SRC_D)\crypto\bn\bn_rand.c - $(CC) /Fo$(OBJ_D)\bn_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_rand.c - -$(OBJ_D)\bn_shift.obj: $(SRC_D)\crypto\bn\bn_shift.c - $(CC) /Fo$(OBJ_D)\bn_shift.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_shift.c - -$(OBJ_D)\bn_word.obj: $(SRC_D)\crypto\bn\bn_word.c - $(CC) /Fo$(OBJ_D)\bn_word.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_word.c - -$(OBJ_D)\bn_blind.obj: $(SRC_D)\crypto\bn\bn_blind.c - $(CC) /Fo$(OBJ_D)\bn_blind.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_blind.c - -$(OBJ_D)\bn_kron.obj: $(SRC_D)\crypto\bn\bn_kron.c - $(CC) /Fo$(OBJ_D)\bn_kron.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_kron.c - -$(OBJ_D)\bn_sqrt.obj: $(SRC_D)\crypto\bn\bn_sqrt.c - $(CC) /Fo$(OBJ_D)\bn_sqrt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqrt.c - -$(OBJ_D)\bn_gcd.obj: $(SRC_D)\crypto\bn\bn_gcd.c - $(CC) /Fo$(OBJ_D)\bn_gcd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gcd.c - -$(OBJ_D)\bn_prime.obj: $(SRC_D)\crypto\bn\bn_prime.c - $(CC) /Fo$(OBJ_D)\bn_prime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_prime.c - -$(OBJ_D)\bn_err.obj: $(SRC_D)\crypto\bn\bn_err.c - $(CC) /Fo$(OBJ_D)\bn_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_err.c - -$(OBJ_D)\bn_sqr.obj: $(SRC_D)\crypto\bn\bn_sqr.c - $(CC) /Fo$(OBJ_D)\bn_sqr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqr.c - -$(TMP_D)\bn-586.asm: crypto\bn\asm\bn-586.pl - $(PERL) crypto\bn\asm\bn-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\bn-586.obj: $(TMP_D)\bn-586.asm - $(ASM) -o $@ $(TMP_D)\bn-586.asm - -$(TMP_D)\co-586.asm: crypto\bn\asm\co-586.pl - $(PERL) crypto\bn\asm\co-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\co-586.obj: $(TMP_D)\co-586.asm - $(ASM) -o $@ $(TMP_D)\co-586.asm - -$(TMP_D)\x86-mont.asm: crypto\bn\asm\x86-mont.pl - $(PERL) crypto\bn\asm\x86-mont.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\x86-mont.obj: $(TMP_D)\x86-mont.asm - $(ASM) -o $@ $(TMP_D)\x86-mont.asm - -$(TMP_D)\x86-gf2m.asm: crypto\bn\asm\x86-gf2m.pl - $(PERL) crypto\bn\asm\x86-gf2m.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\x86-gf2m.obj: $(TMP_D)\x86-gf2m.asm - $(ASM) -o $@ $(TMP_D)\x86-gf2m.asm - -$(OBJ_D)\bn_recp.obj: $(SRC_D)\crypto\bn\bn_recp.c - $(CC) /Fo$(OBJ_D)\bn_recp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_recp.c - -$(OBJ_D)\bn_mont.obj: $(SRC_D)\crypto\bn\bn_mont.c - $(CC) /Fo$(OBJ_D)\bn_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mont.c - -$(OBJ_D)\bn_mpi.obj: $(SRC_D)\crypto\bn\bn_mpi.c - $(CC) /Fo$(OBJ_D)\bn_mpi.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mpi.c - -$(OBJ_D)\bn_exp2.obj: $(SRC_D)\crypto\bn\bn_exp2.c - $(CC) /Fo$(OBJ_D)\bn_exp2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp2.c - -$(OBJ_D)\bn_gf2m.obj: $(SRC_D)\crypto\bn\bn_gf2m.c - $(CC) /Fo$(OBJ_D)\bn_gf2m.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gf2m.c - -$(OBJ_D)\bn_nist.obj: $(SRC_D)\crypto\bn\bn_nist.c - $(CC) /Fo$(OBJ_D)\bn_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_nist.c - -$(OBJ_D)\bn_depr.obj: $(SRC_D)\crypto\bn\bn_depr.c - $(CC) /Fo$(OBJ_D)\bn_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_depr.c - -$(OBJ_D)\bn_const.obj: $(SRC_D)\crypto\bn\bn_const.c - $(CC) /Fo$(OBJ_D)\bn_const.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_const.c - -$(OBJ_D)\bn_x931p.obj: $(SRC_D)\crypto\bn\bn_x931p.c - $(CC) /Fo$(OBJ_D)\bn_x931p.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_x931p.c - -$(OBJ_D)\rsa_eay.obj: $(SRC_D)\crypto\rsa\rsa_eay.c - $(CC) /Fo$(OBJ_D)\rsa_eay.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_eay.c - -$(OBJ_D)\rsa_gen.obj: $(SRC_D)\crypto\rsa\rsa_gen.c - $(CC) /Fo$(OBJ_D)\rsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_gen.c - -$(OBJ_D)\rsa_lib.obj: $(SRC_D)\crypto\rsa\rsa_lib.c - $(CC) /Fo$(OBJ_D)\rsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_lib.c - -$(OBJ_D)\rsa_sign.obj: $(SRC_D)\crypto\rsa\rsa_sign.c - $(CC) /Fo$(OBJ_D)\rsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_sign.c - -$(OBJ_D)\rsa_saos.obj: $(SRC_D)\crypto\rsa\rsa_saos.c - $(CC) /Fo$(OBJ_D)\rsa_saos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_saos.c - -$(OBJ_D)\rsa_err.obj: $(SRC_D)\crypto\rsa\rsa_err.c - $(CC) /Fo$(OBJ_D)\rsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_err.c - -$(OBJ_D)\rsa_pk1.obj: $(SRC_D)\crypto\rsa\rsa_pk1.c - $(CC) /Fo$(OBJ_D)\rsa_pk1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pk1.c - -$(OBJ_D)\rsa_ssl.obj: $(SRC_D)\crypto\rsa\rsa_ssl.c - $(CC) /Fo$(OBJ_D)\rsa_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ssl.c - -$(OBJ_D)\rsa_none.obj: $(SRC_D)\crypto\rsa\rsa_none.c - $(CC) /Fo$(OBJ_D)\rsa_none.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_none.c - -$(OBJ_D)\rsa_oaep.obj: $(SRC_D)\crypto\rsa\rsa_oaep.c - $(CC) /Fo$(OBJ_D)\rsa_oaep.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_oaep.c - -$(OBJ_D)\rsa_chk.obj: $(SRC_D)\crypto\rsa\rsa_chk.c - $(CC) /Fo$(OBJ_D)\rsa_chk.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_chk.c - -$(OBJ_D)\rsa_null.obj: $(SRC_D)\crypto\rsa\rsa_null.c - $(CC) /Fo$(OBJ_D)\rsa_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_null.c - -$(OBJ_D)\rsa_pss.obj: $(SRC_D)\crypto\rsa\rsa_pss.c - $(CC) /Fo$(OBJ_D)\rsa_pss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pss.c - -$(OBJ_D)\rsa_x931.obj: $(SRC_D)\crypto\rsa\rsa_x931.c - $(CC) /Fo$(OBJ_D)\rsa_x931.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_x931.c - -$(OBJ_D)\rsa_asn1.obj: $(SRC_D)\crypto\rsa\rsa_asn1.c - $(CC) /Fo$(OBJ_D)\rsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_asn1.c - -$(OBJ_D)\rsa_depr.obj: $(SRC_D)\crypto\rsa\rsa_depr.c - $(CC) /Fo$(OBJ_D)\rsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_depr.c - -$(OBJ_D)\rsa_ameth.obj: $(SRC_D)\crypto\rsa\rsa_ameth.c - $(CC) /Fo$(OBJ_D)\rsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ameth.c - -$(OBJ_D)\rsa_prn.obj: $(SRC_D)\crypto\rsa\rsa_prn.c - $(CC) /Fo$(OBJ_D)\rsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_prn.c - -$(OBJ_D)\rsa_pmeth.obj: $(SRC_D)\crypto\rsa\rsa_pmeth.c - $(CC) /Fo$(OBJ_D)\rsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pmeth.c - -$(OBJ_D)\rsa_crpt.obj: $(SRC_D)\crypto\rsa\rsa_crpt.c - $(CC) /Fo$(OBJ_D)\rsa_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_crpt.c - -$(OBJ_D)\dsa_gen.obj: $(SRC_D)\crypto\dsa\dsa_gen.c - $(CC) /Fo$(OBJ_D)\dsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_gen.c - -$(OBJ_D)\dsa_key.obj: $(SRC_D)\crypto\dsa\dsa_key.c - $(CC) /Fo$(OBJ_D)\dsa_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_key.c - -$(OBJ_D)\dsa_lib.obj: $(SRC_D)\crypto\dsa\dsa_lib.c - $(CC) /Fo$(OBJ_D)\dsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_lib.c - -$(OBJ_D)\dsa_asn1.obj: $(SRC_D)\crypto\dsa\dsa_asn1.c - $(CC) /Fo$(OBJ_D)\dsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_asn1.c - -$(OBJ_D)\dsa_vrf.obj: $(SRC_D)\crypto\dsa\dsa_vrf.c - $(CC) /Fo$(OBJ_D)\dsa_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_vrf.c - -$(OBJ_D)\dsa_sign.obj: $(SRC_D)\crypto\dsa\dsa_sign.c - $(CC) /Fo$(OBJ_D)\dsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_sign.c - -$(OBJ_D)\dsa_err.obj: $(SRC_D)\crypto\dsa\dsa_err.c - $(CC) /Fo$(OBJ_D)\dsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_err.c - -$(OBJ_D)\dsa_ossl.obj: $(SRC_D)\crypto\dsa\dsa_ossl.c - $(CC) /Fo$(OBJ_D)\dsa_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ossl.c - -$(OBJ_D)\dsa_depr.obj: $(SRC_D)\crypto\dsa\dsa_depr.c - $(CC) /Fo$(OBJ_D)\dsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_depr.c - -$(OBJ_D)\dsa_ameth.obj: $(SRC_D)\crypto\dsa\dsa_ameth.c - $(CC) /Fo$(OBJ_D)\dsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ameth.c - -$(OBJ_D)\dsa_pmeth.obj: $(SRC_D)\crypto\dsa\dsa_pmeth.c - $(CC) /Fo$(OBJ_D)\dsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_pmeth.c - -$(OBJ_D)\dsa_prn.obj: $(SRC_D)\crypto\dsa\dsa_prn.c - $(CC) /Fo$(OBJ_D)\dsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_prn.c - -$(OBJ_D)\dso_dl.obj: $(SRC_D)\crypto\dso\dso_dl.c - $(CC) /Fo$(OBJ_D)\dso_dl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dl.c - -$(OBJ_D)\dso_dlfcn.obj: $(SRC_D)\crypto\dso\dso_dlfcn.c - $(CC) /Fo$(OBJ_D)\dso_dlfcn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dlfcn.c - -$(OBJ_D)\dso_err.obj: $(SRC_D)\crypto\dso\dso_err.c - $(CC) /Fo$(OBJ_D)\dso_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_err.c - -$(OBJ_D)\dso_lib.obj: $(SRC_D)\crypto\dso\dso_lib.c - $(CC) /Fo$(OBJ_D)\dso_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_lib.c - -$(OBJ_D)\dso_null.obj: $(SRC_D)\crypto\dso\dso_null.c - $(CC) /Fo$(OBJ_D)\dso_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_null.c - -$(OBJ_D)\dso_openssl.obj: $(SRC_D)\crypto\dso\dso_openssl.c - $(CC) /Fo$(OBJ_D)\dso_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_openssl.c - -$(OBJ_D)\dso_win32.obj: $(SRC_D)\crypto\dso\dso_win32.c - $(CC) /Fo$(OBJ_D)\dso_win32.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_win32.c - -$(OBJ_D)\dso_vms.obj: $(SRC_D)\crypto\dso\dso_vms.c - $(CC) /Fo$(OBJ_D)\dso_vms.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_vms.c - -$(OBJ_D)\dso_beos.obj: $(SRC_D)\crypto\dso\dso_beos.c - $(CC) /Fo$(OBJ_D)\dso_beos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_beos.c - -$(OBJ_D)\dh_asn1.obj: $(SRC_D)\crypto\dh\dh_asn1.c - $(CC) /Fo$(OBJ_D)\dh_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_asn1.c - -$(OBJ_D)\dh_gen.obj: $(SRC_D)\crypto\dh\dh_gen.c - $(CC) /Fo$(OBJ_D)\dh_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_gen.c - -$(OBJ_D)\dh_key.obj: $(SRC_D)\crypto\dh\dh_key.c - $(CC) /Fo$(OBJ_D)\dh_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_key.c - -$(OBJ_D)\dh_lib.obj: $(SRC_D)\crypto\dh\dh_lib.c - $(CC) /Fo$(OBJ_D)\dh_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_lib.c - -$(OBJ_D)\dh_check.obj: $(SRC_D)\crypto\dh\dh_check.c - $(CC) /Fo$(OBJ_D)\dh_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_check.c - -$(OBJ_D)\dh_err.obj: $(SRC_D)\crypto\dh\dh_err.c - $(CC) /Fo$(OBJ_D)\dh_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_err.c - -$(OBJ_D)\dh_depr.obj: $(SRC_D)\crypto\dh\dh_depr.c - $(CC) /Fo$(OBJ_D)\dh_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_depr.c - -$(OBJ_D)\dh_ameth.obj: $(SRC_D)\crypto\dh\dh_ameth.c - $(CC) /Fo$(OBJ_D)\dh_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_ameth.c - -$(OBJ_D)\dh_pmeth.obj: $(SRC_D)\crypto\dh\dh_pmeth.c - $(CC) /Fo$(OBJ_D)\dh_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_pmeth.c - -$(OBJ_D)\dh_prn.obj: $(SRC_D)\crypto\dh\dh_prn.c - $(CC) /Fo$(OBJ_D)\dh_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_prn.c - -$(OBJ_D)\dh_rfc5114.obj: $(SRC_D)\crypto\dh\dh_rfc5114.c - $(CC) /Fo$(OBJ_D)\dh_rfc5114.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_rfc5114.c - -$(OBJ_D)\dh_kdf.obj: $(SRC_D)\crypto\dh\dh_kdf.c - $(CC) /Fo$(OBJ_D)\dh_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_kdf.c - -$(OBJ_D)\ec_lib.obj: $(SRC_D)\crypto\ec\ec_lib.c - $(CC) /Fo$(OBJ_D)\ec_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_lib.c - -$(OBJ_D)\ecp_smpl.obj: $(SRC_D)\crypto\ec\ecp_smpl.c - $(CC) /Fo$(OBJ_D)\ecp_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_smpl.c - -$(OBJ_D)\ecp_mont.obj: $(SRC_D)\crypto\ec\ecp_mont.c - $(CC) /Fo$(OBJ_D)\ecp_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_mont.c - -$(OBJ_D)\ecp_nist.obj: $(SRC_D)\crypto\ec\ecp_nist.c - $(CC) /Fo$(OBJ_D)\ecp_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nist.c - -$(OBJ_D)\ec_cvt.obj: $(SRC_D)\crypto\ec\ec_cvt.c - $(CC) /Fo$(OBJ_D)\ec_cvt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_cvt.c - -$(OBJ_D)\ec_mult.obj: $(SRC_D)\crypto\ec\ec_mult.c - $(CC) /Fo$(OBJ_D)\ec_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_mult.c - -$(OBJ_D)\ec_err.obj: $(SRC_D)\crypto\ec\ec_err.c - $(CC) /Fo$(OBJ_D)\ec_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_err.c - -$(OBJ_D)\ec_curve.obj: $(SRC_D)\crypto\ec\ec_curve.c - $(CC) /Fo$(OBJ_D)\ec_curve.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_curve.c - -$(OBJ_D)\ec_check.obj: $(SRC_D)\crypto\ec\ec_check.c - $(CC) /Fo$(OBJ_D)\ec_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_check.c - -$(OBJ_D)\ec_print.obj: $(SRC_D)\crypto\ec\ec_print.c - $(CC) /Fo$(OBJ_D)\ec_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_print.c - -$(OBJ_D)\ec_asn1.obj: $(SRC_D)\crypto\ec\ec_asn1.c - $(CC) /Fo$(OBJ_D)\ec_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_asn1.c - -$(OBJ_D)\ec_key.obj: $(SRC_D)\crypto\ec\ec_key.c - $(CC) /Fo$(OBJ_D)\ec_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_key.c - -$(OBJ_D)\ec2_smpl.obj: $(SRC_D)\crypto\ec\ec2_smpl.c - $(CC) /Fo$(OBJ_D)\ec2_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_smpl.c - -$(OBJ_D)\ec2_mult.obj: $(SRC_D)\crypto\ec\ec2_mult.c - $(CC) /Fo$(OBJ_D)\ec2_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_mult.c - -$(OBJ_D)\ec_ameth.obj: $(SRC_D)\crypto\ec\ec_ameth.c - $(CC) /Fo$(OBJ_D)\ec_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_ameth.c - -$(OBJ_D)\ec_pmeth.obj: $(SRC_D)\crypto\ec\ec_pmeth.c - $(CC) /Fo$(OBJ_D)\ec_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_pmeth.c - -$(OBJ_D)\eck_prn.obj: $(SRC_D)\crypto\ec\eck_prn.c - $(CC) /Fo$(OBJ_D)\eck_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\eck_prn.c - -$(OBJ_D)\ecp_nistp224.obj: $(SRC_D)\crypto\ec\ecp_nistp224.c - $(CC) /Fo$(OBJ_D)\ecp_nistp224.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp224.c - -$(OBJ_D)\ecp_nistp256.obj: $(SRC_D)\crypto\ec\ecp_nistp256.c - $(CC) /Fo$(OBJ_D)\ecp_nistp256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp256.c - -$(OBJ_D)\ecp_nistp521.obj: $(SRC_D)\crypto\ec\ecp_nistp521.c - $(CC) /Fo$(OBJ_D)\ecp_nistp521.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp521.c - -$(OBJ_D)\ecp_nistputil.obj: $(SRC_D)\crypto\ec\ecp_nistputil.c - $(CC) /Fo$(OBJ_D)\ecp_nistputil.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistputil.c - -$(OBJ_D)\ecp_oct.obj: $(SRC_D)\crypto\ec\ecp_oct.c - $(CC) /Fo$(OBJ_D)\ecp_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_oct.c - -$(OBJ_D)\ec2_oct.obj: $(SRC_D)\crypto\ec\ec2_oct.c - $(CC) /Fo$(OBJ_D)\ec2_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_oct.c - -$(OBJ_D)\ec_oct.obj: $(SRC_D)\crypto\ec\ec_oct.c - $(CC) /Fo$(OBJ_D)\ec_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_oct.c - -$(OBJ_D)\ech_lib.obj: $(SRC_D)\crypto\ecdh\ech_lib.c - $(CC) /Fo$(OBJ_D)\ech_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_lib.c - -$(OBJ_D)\ech_ossl.obj: $(SRC_D)\crypto\ecdh\ech_ossl.c - $(CC) /Fo$(OBJ_D)\ech_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_ossl.c - -$(OBJ_D)\ech_key.obj: $(SRC_D)\crypto\ecdh\ech_key.c - $(CC) /Fo$(OBJ_D)\ech_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_key.c - -$(OBJ_D)\ech_err.obj: $(SRC_D)\crypto\ecdh\ech_err.c - $(CC) /Fo$(OBJ_D)\ech_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_err.c - -$(OBJ_D)\ech_kdf.obj: $(SRC_D)\crypto\ecdh\ech_kdf.c - $(CC) /Fo$(OBJ_D)\ech_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_kdf.c - -$(OBJ_D)\ecs_lib.obj: $(SRC_D)\crypto\ecdsa\ecs_lib.c - $(CC) /Fo$(OBJ_D)\ecs_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_lib.c - -$(OBJ_D)\ecs_asn1.obj: $(SRC_D)\crypto\ecdsa\ecs_asn1.c - $(CC) /Fo$(OBJ_D)\ecs_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_asn1.c - -$(OBJ_D)\ecs_ossl.obj: $(SRC_D)\crypto\ecdsa\ecs_ossl.c - $(CC) /Fo$(OBJ_D)\ecs_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_ossl.c - -$(OBJ_D)\ecs_sign.obj: $(SRC_D)\crypto\ecdsa\ecs_sign.c - $(CC) /Fo$(OBJ_D)\ecs_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_sign.c - -$(OBJ_D)\ecs_vrf.obj: $(SRC_D)\crypto\ecdsa\ecs_vrf.c - $(CC) /Fo$(OBJ_D)\ecs_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_vrf.c - -$(OBJ_D)\ecs_err.obj: $(SRC_D)\crypto\ecdsa\ecs_err.c - $(CC) /Fo$(OBJ_D)\ecs_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_err.c - -$(OBJ_D)\buffer.obj: $(SRC_D)\crypto\buffer\buffer.c - $(CC) /Fo$(OBJ_D)\buffer.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buffer.c - -$(OBJ_D)\buf_str.obj: $(SRC_D)\crypto\buffer\buf_str.c - $(CC) /Fo$(OBJ_D)\buf_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_str.c - -$(OBJ_D)\buf_err.obj: $(SRC_D)\crypto\buffer\buf_err.c - $(CC) /Fo$(OBJ_D)\buf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_err.c - -$(OBJ_D)\bio_lib.obj: $(SRC_D)\crypto\bio\bio_lib.c - $(CC) /Fo$(OBJ_D)\bio_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_lib.c - -$(OBJ_D)\bio_cb.obj: $(SRC_D)\crypto\bio\bio_cb.c - $(CC) /Fo$(OBJ_D)\bio_cb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_cb.c - -$(OBJ_D)\bio_err.obj: $(SRC_D)\crypto\bio\bio_err.c - $(CC) /Fo$(OBJ_D)\bio_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_err.c - -$(OBJ_D)\bss_mem.obj: $(SRC_D)\crypto\bio\bss_mem.c - $(CC) /Fo$(OBJ_D)\bss_mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_mem.c - -$(OBJ_D)\bss_null.obj: $(SRC_D)\crypto\bio\bss_null.c - $(CC) /Fo$(OBJ_D)\bss_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_null.c - -$(OBJ_D)\bss_fd.obj: $(SRC_D)\crypto\bio\bss_fd.c - $(CC) /Fo$(OBJ_D)\bss_fd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_fd.c - -$(OBJ_D)\bss_file.obj: $(SRC_D)\crypto\bio\bss_file.c - $(CC) /Fo$(OBJ_D)\bss_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_file.c - -$(OBJ_D)\bss_sock.obj: $(SRC_D)\crypto\bio\bss_sock.c - $(CC) /Fo$(OBJ_D)\bss_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_sock.c - -$(OBJ_D)\bss_conn.obj: $(SRC_D)\crypto\bio\bss_conn.c - $(CC) /Fo$(OBJ_D)\bss_conn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_conn.c - -$(OBJ_D)\bf_null.obj: $(SRC_D)\crypto\bio\bf_null.c - $(CC) /Fo$(OBJ_D)\bf_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_null.c - -$(OBJ_D)\bf_buff.obj: $(SRC_D)\crypto\bio\bf_buff.c - $(CC) /Fo$(OBJ_D)\bf_buff.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_buff.c - -$(OBJ_D)\b_print.obj: $(SRC_D)\crypto\bio\b_print.c - $(CC) /Fo$(OBJ_D)\b_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_print.c - -$(OBJ_D)\b_dump.obj: $(SRC_D)\crypto\bio\b_dump.c - $(CC) /Fo$(OBJ_D)\b_dump.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_dump.c - -$(OBJ_D)\b_sock.obj: $(SRC_D)\crypto\bio\b_sock.c - $(CC) /Fo$(OBJ_D)\b_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_sock.c - -$(OBJ_D)\bss_acpt.obj: $(SRC_D)\crypto\bio\bss_acpt.c - $(CC) /Fo$(OBJ_D)\bss_acpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_acpt.c - -$(OBJ_D)\bf_nbio.obj: $(SRC_D)\crypto\bio\bf_nbio.c - $(CC) /Fo$(OBJ_D)\bf_nbio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_nbio.c - -$(OBJ_D)\bss_log.obj: $(SRC_D)\crypto\bio\bss_log.c - $(CC) /Fo$(OBJ_D)\bss_log.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_log.c - -$(OBJ_D)\bss_bio.obj: $(SRC_D)\crypto\bio\bss_bio.c - $(CC) /Fo$(OBJ_D)\bss_bio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_bio.c - -$(OBJ_D)\bss_dgram.obj: $(SRC_D)\crypto\bio\bss_dgram.c - $(CC) /Fo$(OBJ_D)\bss_dgram.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_dgram.c - -$(OBJ_D)\stack.obj: $(SRC_D)\crypto\stack\stack.c - $(CC) /Fo$(OBJ_D)\stack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\stack\stack.c - -$(OBJ_D)\lhash.obj: $(SRC_D)\crypto\lhash\lhash.c - $(CC) /Fo$(OBJ_D)\lhash.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lhash.c - -$(OBJ_D)\lh_stats.obj: $(SRC_D)\crypto\lhash\lh_stats.c - $(CC) /Fo$(OBJ_D)\lh_stats.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lh_stats.c - -$(OBJ_D)\md_rand.obj: $(SRC_D)\crypto\rand\md_rand.c - $(CC) /Fo$(OBJ_D)\md_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\md_rand.c - -$(OBJ_D)\randfile.obj: $(SRC_D)\crypto\rand\randfile.c - $(CC) /Fo$(OBJ_D)\randfile.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\randfile.c - -$(OBJ_D)\rand_lib.obj: $(SRC_D)\crypto\rand\rand_lib.c - $(CC) /Fo$(OBJ_D)\rand_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_lib.c - -$(OBJ_D)\rand_err.obj: $(SRC_D)\crypto\rand\rand_err.c - $(CC) /Fo$(OBJ_D)\rand_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_err.c - -$(OBJ_D)\rand_egd.obj: $(SRC_D)\crypto\rand\rand_egd.c - $(CC) /Fo$(OBJ_D)\rand_egd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_egd.c - -$(OBJ_D)\rand_win.obj: $(SRC_D)\crypto\rand\rand_win.c - $(CC) /Fo$(OBJ_D)\rand_win.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_win.c - -$(OBJ_D)\rand_unix.obj: $(SRC_D)\crypto\rand\rand_unix.c - $(CC) /Fo$(OBJ_D)\rand_unix.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_unix.c - -$(OBJ_D)\rand_os2.obj: $(SRC_D)\crypto\rand\rand_os2.c - $(CC) /Fo$(OBJ_D)\rand_os2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_os2.c - -$(OBJ_D)\rand_nw.obj: $(SRC_D)\crypto\rand\rand_nw.c - $(CC) /Fo$(OBJ_D)\rand_nw.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_nw.c - -$(OBJ_D)\err.obj: $(SRC_D)\crypto\err\err.c - $(CC) /Fo$(OBJ_D)\err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err.c - -$(OBJ_D)\err_all.obj: $(SRC_D)\crypto\err\err_all.c - $(CC) /Fo$(OBJ_D)\err_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_all.c - -$(OBJ_D)\err_prn.obj: $(SRC_D)\crypto\err\err_prn.c - $(CC) /Fo$(OBJ_D)\err_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_prn.c - -$(OBJ_D)\o_names.obj: $(SRC_D)\crypto\objects\o_names.c - $(CC) /Fo$(OBJ_D)\o_names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\o_names.c - -$(OBJ_D)\obj_dat.obj: $(SRC_D)\crypto\objects\obj_dat.c - $(CC) /Fo$(OBJ_D)\obj_dat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_dat.c - -$(OBJ_D)\obj_lib.obj: $(SRC_D)\crypto\objects\obj_lib.c - $(CC) /Fo$(OBJ_D)\obj_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_lib.c - -$(OBJ_D)\obj_err.obj: $(SRC_D)\crypto\objects\obj_err.c - $(CC) /Fo$(OBJ_D)\obj_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_err.c - -$(OBJ_D)\obj_xref.obj: $(SRC_D)\crypto\objects\obj_xref.c - $(CC) /Fo$(OBJ_D)\obj_xref.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_xref.c - -$(OBJ_D)\encode.obj: $(SRC_D)\crypto\evp\encode.c - $(CC) /Fo$(OBJ_D)\encode.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\encode.c - -$(OBJ_D)\digest.obj: $(SRC_D)\crypto\evp\digest.c - $(CC) /Fo$(OBJ_D)\digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\digest.c - -$(OBJ_D)\evp_enc.obj: $(SRC_D)\crypto\evp\evp_enc.c - $(CC) /Fo$(OBJ_D)\evp_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_enc.c - -$(OBJ_D)\evp_key.obj: $(SRC_D)\crypto\evp\evp_key.c - $(CC) /Fo$(OBJ_D)\evp_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_key.c - -$(OBJ_D)\evp_acnf.obj: $(SRC_D)\crypto\evp\evp_acnf.c - $(CC) /Fo$(OBJ_D)\evp_acnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_acnf.c - -$(OBJ_D)\evp_cnf.obj: $(SRC_D)\crypto\evp\evp_cnf.c - $(CC) /Fo$(OBJ_D)\evp_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_cnf.c - -$(OBJ_D)\e_des.obj: $(SRC_D)\crypto\evp\e_des.c - $(CC) /Fo$(OBJ_D)\e_des.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des.c - -$(OBJ_D)\e_bf.obj: $(SRC_D)\crypto\evp\e_bf.c - $(CC) /Fo$(OBJ_D)\e_bf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_bf.c - -$(OBJ_D)\e_idea.obj: $(SRC_D)\crypto\evp\e_idea.c - $(CC) /Fo$(OBJ_D)\e_idea.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_idea.c - -$(OBJ_D)\e_des3.obj: $(SRC_D)\crypto\evp\e_des3.c - $(CC) /Fo$(OBJ_D)\e_des3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des3.c - -$(OBJ_D)\e_camellia.obj: $(SRC_D)\crypto\evp\e_camellia.c - $(CC) /Fo$(OBJ_D)\e_camellia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_camellia.c - -$(OBJ_D)\e_rc4.obj: $(SRC_D)\crypto\evp\e_rc4.c - $(CC) /Fo$(OBJ_D)\e_rc4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4.c - -$(OBJ_D)\e_aes.obj: $(SRC_D)\crypto\evp\e_aes.c - $(CC) /Fo$(OBJ_D)\e_aes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes.c - -$(OBJ_D)\names.obj: $(SRC_D)\crypto\evp\names.c - $(CC) /Fo$(OBJ_D)\names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\names.c - -$(OBJ_D)\e_seed.obj: $(SRC_D)\crypto\evp\e_seed.c - $(CC) /Fo$(OBJ_D)\e_seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_seed.c - -$(OBJ_D)\e_xcbc_d.obj: $(SRC_D)\crypto\evp\e_xcbc_d.c - $(CC) /Fo$(OBJ_D)\e_xcbc_d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_xcbc_d.c - -$(OBJ_D)\e_rc2.obj: $(SRC_D)\crypto\evp\e_rc2.c - $(CC) /Fo$(OBJ_D)\e_rc2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc2.c - -$(OBJ_D)\e_cast.obj: $(SRC_D)\crypto\evp\e_cast.c - $(CC) /Fo$(OBJ_D)\e_cast.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_cast.c - -$(OBJ_D)\e_rc5.obj: $(SRC_D)\crypto\evp\e_rc5.c - $(CC) /Fo$(OBJ_D)\e_rc5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc5.c - -$(OBJ_D)\m_null.obj: $(SRC_D)\crypto\evp\m_null.c - $(CC) /Fo$(OBJ_D)\m_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_null.c - -$(OBJ_D)\m_md4.obj: $(SRC_D)\crypto\evp\m_md4.c - $(CC) /Fo$(OBJ_D)\m_md4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md4.c - -$(OBJ_D)\m_md5.obj: $(SRC_D)\crypto\evp\m_md5.c - $(CC) /Fo$(OBJ_D)\m_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md5.c - -$(OBJ_D)\m_sha.obj: $(SRC_D)\crypto\evp\m_sha.c - $(CC) /Fo$(OBJ_D)\m_sha.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha.c - -$(OBJ_D)\m_sha1.obj: $(SRC_D)\crypto\evp\m_sha1.c - $(CC) /Fo$(OBJ_D)\m_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha1.c - -$(OBJ_D)\m_wp.obj: $(SRC_D)\crypto\evp\m_wp.c - $(CC) /Fo$(OBJ_D)\m_wp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_wp.c - -$(OBJ_D)\m_dss.obj: $(SRC_D)\crypto\evp\m_dss.c - $(CC) /Fo$(OBJ_D)\m_dss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss.c - -$(OBJ_D)\m_dss1.obj: $(SRC_D)\crypto\evp\m_dss1.c - $(CC) /Fo$(OBJ_D)\m_dss1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss1.c - -$(OBJ_D)\m_ripemd.obj: $(SRC_D)\crypto\evp\m_ripemd.c - $(CC) /Fo$(OBJ_D)\m_ripemd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ripemd.c - -$(OBJ_D)\m_ecdsa.obj: $(SRC_D)\crypto\evp\m_ecdsa.c - $(CC) /Fo$(OBJ_D)\m_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ecdsa.c - -$(OBJ_D)\p_open.obj: $(SRC_D)\crypto\evp\p_open.c - $(CC) /Fo$(OBJ_D)\p_open.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_open.c - -$(OBJ_D)\p_seal.obj: $(SRC_D)\crypto\evp\p_seal.c - $(CC) /Fo$(OBJ_D)\p_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_seal.c - -$(OBJ_D)\p_sign.obj: $(SRC_D)\crypto\evp\p_sign.c - $(CC) /Fo$(OBJ_D)\p_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_sign.c - -$(OBJ_D)\p_verify.obj: $(SRC_D)\crypto\evp\p_verify.c - $(CC) /Fo$(OBJ_D)\p_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_verify.c - -$(OBJ_D)\p_lib.obj: $(SRC_D)\crypto\evp\p_lib.c - $(CC) /Fo$(OBJ_D)\p_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_lib.c - -$(OBJ_D)\p_enc.obj: $(SRC_D)\crypto\evp\p_enc.c - $(CC) /Fo$(OBJ_D)\p_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_enc.c - -$(OBJ_D)\p_dec.obj: $(SRC_D)\crypto\evp\p_dec.c - $(CC) /Fo$(OBJ_D)\p_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_dec.c - -$(OBJ_D)\bio_md.obj: $(SRC_D)\crypto\evp\bio_md.c - $(CC) /Fo$(OBJ_D)\bio_md.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_md.c - -$(OBJ_D)\bio_b64.obj: $(SRC_D)\crypto\evp\bio_b64.c - $(CC) /Fo$(OBJ_D)\bio_b64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_b64.c - -$(OBJ_D)\bio_enc.obj: $(SRC_D)\crypto\evp\bio_enc.c - $(CC) /Fo$(OBJ_D)\bio_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_enc.c - -$(OBJ_D)\evp_err.obj: $(SRC_D)\crypto\evp\evp_err.c - $(CC) /Fo$(OBJ_D)\evp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_err.c - -$(OBJ_D)\e_null.obj: $(SRC_D)\crypto\evp\e_null.c - $(CC) /Fo$(OBJ_D)\e_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_null.c - -$(OBJ_D)\c_all.obj: $(SRC_D)\crypto\evp\c_all.c - $(CC) /Fo$(OBJ_D)\c_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_all.c - -$(OBJ_D)\c_allc.obj: $(SRC_D)\crypto\evp\c_allc.c - $(CC) /Fo$(OBJ_D)\c_allc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_allc.c - -$(OBJ_D)\c_alld.obj: $(SRC_D)\crypto\evp\c_alld.c - $(CC) /Fo$(OBJ_D)\c_alld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_alld.c - -$(OBJ_D)\evp_lib.obj: $(SRC_D)\crypto\evp\evp_lib.c - $(CC) /Fo$(OBJ_D)\evp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_lib.c - -$(OBJ_D)\bio_ok.obj: $(SRC_D)\crypto\evp\bio_ok.c - $(CC) /Fo$(OBJ_D)\bio_ok.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_ok.c - -$(OBJ_D)\evp_pkey.obj: $(SRC_D)\crypto\evp\evp_pkey.c - $(CC) /Fo$(OBJ_D)\evp_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pkey.c - -$(OBJ_D)\evp_pbe.obj: $(SRC_D)\crypto\evp\evp_pbe.c - $(CC) /Fo$(OBJ_D)\evp_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pbe.c - -$(OBJ_D)\p5_crpt.obj: $(SRC_D)\crypto\evp\p5_crpt.c - $(CC) /Fo$(OBJ_D)\p5_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt.c - -$(OBJ_D)\p5_crpt2.obj: $(SRC_D)\crypto\evp\p5_crpt2.c - $(CC) /Fo$(OBJ_D)\p5_crpt2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt2.c - -$(OBJ_D)\e_old.obj: $(SRC_D)\crypto\evp\e_old.c - $(CC) /Fo$(OBJ_D)\e_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_old.c - -$(OBJ_D)\pmeth_lib.obj: $(SRC_D)\crypto\evp\pmeth_lib.c - $(CC) /Fo$(OBJ_D)\pmeth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_lib.c - -$(OBJ_D)\pmeth_fn.obj: $(SRC_D)\crypto\evp\pmeth_fn.c - $(CC) /Fo$(OBJ_D)\pmeth_fn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_fn.c - -$(OBJ_D)\pmeth_gn.obj: $(SRC_D)\crypto\evp\pmeth_gn.c - $(CC) /Fo$(OBJ_D)\pmeth_gn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_gn.c - -$(OBJ_D)\m_sigver.obj: $(SRC_D)\crypto\evp\m_sigver.c - $(CC) /Fo$(OBJ_D)\m_sigver.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sigver.c - -$(OBJ_D)\e_aes_cbc_hmac_sha1.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c - $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c - -$(OBJ_D)\e_aes_cbc_hmac_sha256.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c - $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c - -$(OBJ_D)\e_rc4_hmac_md5.obj: $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c - $(CC) /Fo$(OBJ_D)\e_rc4_hmac_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c - -$(OBJ_D)\a_object.obj: $(SRC_D)\crypto\asn1\a_object.c - $(CC) /Fo$(OBJ_D)\a_object.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_object.c - -$(OBJ_D)\a_bitstr.obj: $(SRC_D)\crypto\asn1\a_bitstr.c - $(CC) /Fo$(OBJ_D)\a_bitstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bitstr.c - -$(OBJ_D)\a_utctm.obj: $(SRC_D)\crypto\asn1\a_utctm.c - $(CC) /Fo$(OBJ_D)\a_utctm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utctm.c - -$(OBJ_D)\a_gentm.obj: $(SRC_D)\crypto\asn1\a_gentm.c - $(CC) /Fo$(OBJ_D)\a_gentm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_gentm.c - -$(OBJ_D)\a_time.obj: $(SRC_D)\crypto\asn1\a_time.c - $(CC) /Fo$(OBJ_D)\a_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_time.c - -$(OBJ_D)\a_int.obj: $(SRC_D)\crypto\asn1\a_int.c - $(CC) /Fo$(OBJ_D)\a_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_int.c - -$(OBJ_D)\a_octet.obj: $(SRC_D)\crypto\asn1\a_octet.c - $(CC) /Fo$(OBJ_D)\a_octet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_octet.c - -$(OBJ_D)\a_print.obj: $(SRC_D)\crypto\asn1\a_print.c - $(CC) /Fo$(OBJ_D)\a_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_print.c - -$(OBJ_D)\a_type.obj: $(SRC_D)\crypto\asn1\a_type.c - $(CC) /Fo$(OBJ_D)\a_type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_type.c - -$(OBJ_D)\a_set.obj: $(SRC_D)\crypto\asn1\a_set.c - $(CC) /Fo$(OBJ_D)\a_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_set.c - -$(OBJ_D)\a_dup.obj: $(SRC_D)\crypto\asn1\a_dup.c - $(CC) /Fo$(OBJ_D)\a_dup.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_dup.c - -$(OBJ_D)\a_d2i_fp.obj: $(SRC_D)\crypto\asn1\a_d2i_fp.c - $(CC) /Fo$(OBJ_D)\a_d2i_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_d2i_fp.c - -$(OBJ_D)\a_i2d_fp.obj: $(SRC_D)\crypto\asn1\a_i2d_fp.c - $(CC) /Fo$(OBJ_D)\a_i2d_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_i2d_fp.c - -$(OBJ_D)\a_enum.obj: $(SRC_D)\crypto\asn1\a_enum.c - $(CC) /Fo$(OBJ_D)\a_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_enum.c - -$(OBJ_D)\a_utf8.obj: $(SRC_D)\crypto\asn1\a_utf8.c - $(CC) /Fo$(OBJ_D)\a_utf8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utf8.c - -$(OBJ_D)\a_sign.obj: $(SRC_D)\crypto\asn1\a_sign.c - $(CC) /Fo$(OBJ_D)\a_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_sign.c - -$(OBJ_D)\a_digest.obj: $(SRC_D)\crypto\asn1\a_digest.c - $(CC) /Fo$(OBJ_D)\a_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_digest.c - -$(OBJ_D)\a_verify.obj: $(SRC_D)\crypto\asn1\a_verify.c - $(CC) /Fo$(OBJ_D)\a_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_verify.c - -$(OBJ_D)\a_mbstr.obj: $(SRC_D)\crypto\asn1\a_mbstr.c - $(CC) /Fo$(OBJ_D)\a_mbstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_mbstr.c - -$(OBJ_D)\a_strex.obj: $(SRC_D)\crypto\asn1\a_strex.c - $(CC) /Fo$(OBJ_D)\a_strex.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strex.c - -$(OBJ_D)\x_algor.obj: $(SRC_D)\crypto\asn1\x_algor.c - $(CC) /Fo$(OBJ_D)\x_algor.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_algor.c - -$(OBJ_D)\x_val.obj: $(SRC_D)\crypto\asn1\x_val.c - $(CC) /Fo$(OBJ_D)\x_val.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_val.c - -$(OBJ_D)\x_pubkey.obj: $(SRC_D)\crypto\asn1\x_pubkey.c - $(CC) /Fo$(OBJ_D)\x_pubkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pubkey.c - -$(OBJ_D)\x_sig.obj: $(SRC_D)\crypto\asn1\x_sig.c - $(CC) /Fo$(OBJ_D)\x_sig.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_sig.c - -$(OBJ_D)\x_req.obj: $(SRC_D)\crypto\asn1\x_req.c - $(CC) /Fo$(OBJ_D)\x_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_req.c - -$(OBJ_D)\x_attrib.obj: $(SRC_D)\crypto\asn1\x_attrib.c - $(CC) /Fo$(OBJ_D)\x_attrib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_attrib.c - -$(OBJ_D)\x_bignum.obj: $(SRC_D)\crypto\asn1\x_bignum.c - $(CC) /Fo$(OBJ_D)\x_bignum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_bignum.c - -$(OBJ_D)\x_long.obj: $(SRC_D)\crypto\asn1\x_long.c - $(CC) /Fo$(OBJ_D)\x_long.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_long.c - -$(OBJ_D)\x_name.obj: $(SRC_D)\crypto\asn1\x_name.c - $(CC) /Fo$(OBJ_D)\x_name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_name.c - -$(OBJ_D)\x_x509.obj: $(SRC_D)\crypto\asn1\x_x509.c - $(CC) /Fo$(OBJ_D)\x_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509.c - -$(OBJ_D)\x_x509a.obj: $(SRC_D)\crypto\asn1\x_x509a.c - $(CC) /Fo$(OBJ_D)\x_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509a.c - -$(OBJ_D)\x_crl.obj: $(SRC_D)\crypto\asn1\x_crl.c - $(CC) /Fo$(OBJ_D)\x_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_crl.c - -$(OBJ_D)\x_info.obj: $(SRC_D)\crypto\asn1\x_info.c - $(CC) /Fo$(OBJ_D)\x_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_info.c - -$(OBJ_D)\x_spki.obj: $(SRC_D)\crypto\asn1\x_spki.c - $(CC) /Fo$(OBJ_D)\x_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_spki.c - -$(OBJ_D)\nsseq.obj: $(SRC_D)\crypto\asn1\nsseq.c - $(CC) /Fo$(OBJ_D)\nsseq.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\nsseq.c - -$(OBJ_D)\x_nx509.obj: $(SRC_D)\crypto\asn1\x_nx509.c - $(CC) /Fo$(OBJ_D)\x_nx509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_nx509.c - -$(OBJ_D)\d2i_pu.obj: $(SRC_D)\crypto\asn1\d2i_pu.c - $(CC) /Fo$(OBJ_D)\d2i_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pu.c - -$(OBJ_D)\d2i_pr.obj: $(SRC_D)\crypto\asn1\d2i_pr.c - $(CC) /Fo$(OBJ_D)\d2i_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pr.c - -$(OBJ_D)\i2d_pu.obj: $(SRC_D)\crypto\asn1\i2d_pu.c - $(CC) /Fo$(OBJ_D)\i2d_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pu.c - -$(OBJ_D)\i2d_pr.obj: $(SRC_D)\crypto\asn1\i2d_pr.c - $(CC) /Fo$(OBJ_D)\i2d_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pr.c - -$(OBJ_D)\t_req.obj: $(SRC_D)\crypto\asn1\t_req.c - $(CC) /Fo$(OBJ_D)\t_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_req.c - -$(OBJ_D)\t_x509.obj: $(SRC_D)\crypto\asn1\t_x509.c - $(CC) /Fo$(OBJ_D)\t_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509.c - -$(OBJ_D)\t_x509a.obj: $(SRC_D)\crypto\asn1\t_x509a.c - $(CC) /Fo$(OBJ_D)\t_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509a.c - -$(OBJ_D)\t_crl.obj: $(SRC_D)\crypto\asn1\t_crl.c - $(CC) /Fo$(OBJ_D)\t_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_crl.c - -$(OBJ_D)\t_pkey.obj: $(SRC_D)\crypto\asn1\t_pkey.c - $(CC) /Fo$(OBJ_D)\t_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_pkey.c - -$(OBJ_D)\t_spki.obj: $(SRC_D)\crypto\asn1\t_spki.c - $(CC) /Fo$(OBJ_D)\t_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_spki.c - -$(OBJ_D)\t_bitst.obj: $(SRC_D)\crypto\asn1\t_bitst.c - $(CC) /Fo$(OBJ_D)\t_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_bitst.c - -$(OBJ_D)\tasn_new.obj: $(SRC_D)\crypto\asn1\tasn_new.c - $(CC) /Fo$(OBJ_D)\tasn_new.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_new.c - -$(OBJ_D)\tasn_fre.obj: $(SRC_D)\crypto\asn1\tasn_fre.c - $(CC) /Fo$(OBJ_D)\tasn_fre.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_fre.c - -$(OBJ_D)\tasn_enc.obj: $(SRC_D)\crypto\asn1\tasn_enc.c - $(CC) /Fo$(OBJ_D)\tasn_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_enc.c - -$(OBJ_D)\tasn_dec.obj: $(SRC_D)\crypto\asn1\tasn_dec.c - $(CC) /Fo$(OBJ_D)\tasn_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_dec.c - -$(OBJ_D)\tasn_utl.obj: $(SRC_D)\crypto\asn1\tasn_utl.c - $(CC) /Fo$(OBJ_D)\tasn_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_utl.c - -$(OBJ_D)\tasn_typ.obj: $(SRC_D)\crypto\asn1\tasn_typ.c - $(CC) /Fo$(OBJ_D)\tasn_typ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_typ.c - -$(OBJ_D)\tasn_prn.obj: $(SRC_D)\crypto\asn1\tasn_prn.c - $(CC) /Fo$(OBJ_D)\tasn_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_prn.c - -$(OBJ_D)\ameth_lib.obj: $(SRC_D)\crypto\asn1\ameth_lib.c - $(CC) /Fo$(OBJ_D)\ameth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\ameth_lib.c - -$(OBJ_D)\f_int.obj: $(SRC_D)\crypto\asn1\f_int.c - $(CC) /Fo$(OBJ_D)\f_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_int.c - -$(OBJ_D)\f_string.obj: $(SRC_D)\crypto\asn1\f_string.c - $(CC) /Fo$(OBJ_D)\f_string.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_string.c - -$(OBJ_D)\n_pkey.obj: $(SRC_D)\crypto\asn1\n_pkey.c - $(CC) /Fo$(OBJ_D)\n_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\n_pkey.c - -$(OBJ_D)\f_enum.obj: $(SRC_D)\crypto\asn1\f_enum.c - $(CC) /Fo$(OBJ_D)\f_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_enum.c - -$(OBJ_D)\x_pkey.obj: $(SRC_D)\crypto\asn1\x_pkey.c - $(CC) /Fo$(OBJ_D)\x_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pkey.c - -$(OBJ_D)\a_bool.obj: $(SRC_D)\crypto\asn1\a_bool.c - $(CC) /Fo$(OBJ_D)\a_bool.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bool.c - -$(OBJ_D)\x_exten.obj: $(SRC_D)\crypto\asn1\x_exten.c - $(CC) /Fo$(OBJ_D)\x_exten.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_exten.c - -$(OBJ_D)\bio_asn1.obj: $(SRC_D)\crypto\asn1\bio_asn1.c - $(CC) /Fo$(OBJ_D)\bio_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_asn1.c - -$(OBJ_D)\bio_ndef.obj: $(SRC_D)\crypto\asn1\bio_ndef.c - $(CC) /Fo$(OBJ_D)\bio_ndef.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_ndef.c - -$(OBJ_D)\asn_mime.obj: $(SRC_D)\crypto\asn1\asn_mime.c - $(CC) /Fo$(OBJ_D)\asn_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_mime.c - -$(OBJ_D)\asn1_gen.obj: $(SRC_D)\crypto\asn1\asn1_gen.c - $(CC) /Fo$(OBJ_D)\asn1_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_gen.c - -$(OBJ_D)\asn1_par.obj: $(SRC_D)\crypto\asn1\asn1_par.c - $(CC) /Fo$(OBJ_D)\asn1_par.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_par.c - -$(OBJ_D)\asn1_lib.obj: $(SRC_D)\crypto\asn1\asn1_lib.c - $(CC) /Fo$(OBJ_D)\asn1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_lib.c - -$(OBJ_D)\asn1_err.obj: $(SRC_D)\crypto\asn1\asn1_err.c - $(CC) /Fo$(OBJ_D)\asn1_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_err.c - -$(OBJ_D)\a_bytes.obj: $(SRC_D)\crypto\asn1\a_bytes.c - $(CC) /Fo$(OBJ_D)\a_bytes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bytes.c - -$(OBJ_D)\a_strnid.obj: $(SRC_D)\crypto\asn1\a_strnid.c - $(CC) /Fo$(OBJ_D)\a_strnid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strnid.c - -$(OBJ_D)\evp_asn1.obj: $(SRC_D)\crypto\asn1\evp_asn1.c - $(CC) /Fo$(OBJ_D)\evp_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\evp_asn1.c - -$(OBJ_D)\asn_pack.obj: $(SRC_D)\crypto\asn1\asn_pack.c - $(CC) /Fo$(OBJ_D)\asn_pack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_pack.c - -$(OBJ_D)\p5_pbe.obj: $(SRC_D)\crypto\asn1\p5_pbe.c - $(CC) /Fo$(OBJ_D)\p5_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbe.c - -$(OBJ_D)\p5_pbev2.obj: $(SRC_D)\crypto\asn1\p5_pbev2.c - $(CC) /Fo$(OBJ_D)\p5_pbev2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbev2.c - -$(OBJ_D)\p8_pkey.obj: $(SRC_D)\crypto\asn1\p8_pkey.c - $(CC) /Fo$(OBJ_D)\p8_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p8_pkey.c - -$(OBJ_D)\asn_moid.obj: $(SRC_D)\crypto\asn1\asn_moid.c - $(CC) /Fo$(OBJ_D)\asn_moid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_moid.c - -$(OBJ_D)\pem_sign.obj: $(SRC_D)\crypto\pem\pem_sign.c - $(CC) /Fo$(OBJ_D)\pem_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_sign.c - -$(OBJ_D)\pem_seal.obj: $(SRC_D)\crypto\pem\pem_seal.c - $(CC) /Fo$(OBJ_D)\pem_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_seal.c - -$(OBJ_D)\pem_info.obj: $(SRC_D)\crypto\pem\pem_info.c - $(CC) /Fo$(OBJ_D)\pem_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_info.c - -$(OBJ_D)\pem_lib.obj: $(SRC_D)\crypto\pem\pem_lib.c - $(CC) /Fo$(OBJ_D)\pem_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_lib.c - -$(OBJ_D)\pem_all.obj: $(SRC_D)\crypto\pem\pem_all.c - $(CC) /Fo$(OBJ_D)\pem_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_all.c - -$(OBJ_D)\pem_err.obj: $(SRC_D)\crypto\pem\pem_err.c - $(CC) /Fo$(OBJ_D)\pem_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_err.c - -$(OBJ_D)\pem_x509.obj: $(SRC_D)\crypto\pem\pem_x509.c - $(CC) /Fo$(OBJ_D)\pem_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_x509.c - -$(OBJ_D)\pem_xaux.obj: $(SRC_D)\crypto\pem\pem_xaux.c - $(CC) /Fo$(OBJ_D)\pem_xaux.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_xaux.c - -$(OBJ_D)\pem_oth.obj: $(SRC_D)\crypto\pem\pem_oth.c - $(CC) /Fo$(OBJ_D)\pem_oth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_oth.c - -$(OBJ_D)\pem_pk8.obj: $(SRC_D)\crypto\pem\pem_pk8.c - $(CC) /Fo$(OBJ_D)\pem_pk8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pk8.c - -$(OBJ_D)\pem_pkey.obj: $(SRC_D)\crypto\pem\pem_pkey.c - $(CC) /Fo$(OBJ_D)\pem_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pkey.c - -$(OBJ_D)\pvkfmt.obj: $(SRC_D)\crypto\pem\pvkfmt.c - $(CC) /Fo$(OBJ_D)\pvkfmt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pvkfmt.c - -$(OBJ_D)\x509_def.obj: $(SRC_D)\crypto\x509\x509_def.c - $(CC) /Fo$(OBJ_D)\x509_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_def.c - -$(OBJ_D)\x509_d2.obj: $(SRC_D)\crypto\x509\x509_d2.c - $(CC) /Fo$(OBJ_D)\x509_d2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_d2.c - -$(OBJ_D)\x509_r2x.obj: $(SRC_D)\crypto\x509\x509_r2x.c - $(CC) /Fo$(OBJ_D)\x509_r2x.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_r2x.c - -$(OBJ_D)\x509_cmp.obj: $(SRC_D)\crypto\x509\x509_cmp.c - $(CC) /Fo$(OBJ_D)\x509_cmp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_cmp.c - -$(OBJ_D)\x509_obj.obj: $(SRC_D)\crypto\x509\x509_obj.c - $(CC) /Fo$(OBJ_D)\x509_obj.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_obj.c - -$(OBJ_D)\x509_req.obj: $(SRC_D)\crypto\x509\x509_req.c - $(CC) /Fo$(OBJ_D)\x509_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_req.c - -$(OBJ_D)\x509spki.obj: $(SRC_D)\crypto\x509\x509spki.c - $(CC) /Fo$(OBJ_D)\x509spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509spki.c - -$(OBJ_D)\x509_vfy.obj: $(SRC_D)\crypto\x509\x509_vfy.c - $(CC) /Fo$(OBJ_D)\x509_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vfy.c - -$(OBJ_D)\x509_set.obj: $(SRC_D)\crypto\x509\x509_set.c - $(CC) /Fo$(OBJ_D)\x509_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_set.c - -$(OBJ_D)\x509cset.obj: $(SRC_D)\crypto\x509\x509cset.c - $(CC) /Fo$(OBJ_D)\x509cset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509cset.c - -$(OBJ_D)\x509rset.obj: $(SRC_D)\crypto\x509\x509rset.c - $(CC) /Fo$(OBJ_D)\x509rset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509rset.c - -$(OBJ_D)\x509_err.obj: $(SRC_D)\crypto\x509\x509_err.c - $(CC) /Fo$(OBJ_D)\x509_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_err.c - -$(OBJ_D)\x509name.obj: $(SRC_D)\crypto\x509\x509name.c - $(CC) /Fo$(OBJ_D)\x509name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509name.c - -$(OBJ_D)\x509_v3.obj: $(SRC_D)\crypto\x509\x509_v3.c - $(CC) /Fo$(OBJ_D)\x509_v3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_v3.c - -$(OBJ_D)\x509_ext.obj: $(SRC_D)\crypto\x509\x509_ext.c - $(CC) /Fo$(OBJ_D)\x509_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_ext.c - -$(OBJ_D)\x509_att.obj: $(SRC_D)\crypto\x509\x509_att.c - $(CC) /Fo$(OBJ_D)\x509_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_att.c - -$(OBJ_D)\x509type.obj: $(SRC_D)\crypto\x509\x509type.c - $(CC) /Fo$(OBJ_D)\x509type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509type.c - -$(OBJ_D)\x509_lu.obj: $(SRC_D)\crypto\x509\x509_lu.c - $(CC) /Fo$(OBJ_D)\x509_lu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_lu.c - -$(OBJ_D)\x_all.obj: $(SRC_D)\crypto\x509\x_all.c - $(CC) /Fo$(OBJ_D)\x_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x_all.c - -$(OBJ_D)\x509_txt.obj: $(SRC_D)\crypto\x509\x509_txt.c - $(CC) /Fo$(OBJ_D)\x509_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_txt.c - -$(OBJ_D)\x509_trs.obj: $(SRC_D)\crypto\x509\x509_trs.c - $(CC) /Fo$(OBJ_D)\x509_trs.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_trs.c - -$(OBJ_D)\by_file.obj: $(SRC_D)\crypto\x509\by_file.c - $(CC) /Fo$(OBJ_D)\by_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_file.c - -$(OBJ_D)\by_dir.obj: $(SRC_D)\crypto\x509\by_dir.c - $(CC) /Fo$(OBJ_D)\by_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_dir.c - -$(OBJ_D)\x509_vpm.obj: $(SRC_D)\crypto\x509\x509_vpm.c - $(CC) /Fo$(OBJ_D)\x509_vpm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vpm.c - -$(OBJ_D)\v3_bcons.obj: $(SRC_D)\crypto\x509v3\v3_bcons.c - $(CC) /Fo$(OBJ_D)\v3_bcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bcons.c - -$(OBJ_D)\v3_bitst.obj: $(SRC_D)\crypto\x509v3\v3_bitst.c - $(CC) /Fo$(OBJ_D)\v3_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bitst.c - -$(OBJ_D)\v3_conf.obj: $(SRC_D)\crypto\x509v3\v3_conf.c - $(CC) /Fo$(OBJ_D)\v3_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_conf.c - -$(OBJ_D)\v3_extku.obj: $(SRC_D)\crypto\x509v3\v3_extku.c - $(CC) /Fo$(OBJ_D)\v3_extku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_extku.c - -$(OBJ_D)\v3_ia5.obj: $(SRC_D)\crypto\x509v3\v3_ia5.c - $(CC) /Fo$(OBJ_D)\v3_ia5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ia5.c - -$(OBJ_D)\v3_lib.obj: $(SRC_D)\crypto\x509v3\v3_lib.c - $(CC) /Fo$(OBJ_D)\v3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_lib.c - -$(OBJ_D)\v3_prn.obj: $(SRC_D)\crypto\x509v3\v3_prn.c - $(CC) /Fo$(OBJ_D)\v3_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_prn.c - -$(OBJ_D)\v3_utl.obj: $(SRC_D)\crypto\x509v3\v3_utl.c - $(CC) /Fo$(OBJ_D)\v3_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_utl.c - -$(OBJ_D)\v3err.obj: $(SRC_D)\crypto\x509v3\v3err.c - $(CC) /Fo$(OBJ_D)\v3err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3err.c - -$(OBJ_D)\v3_genn.obj: $(SRC_D)\crypto\x509v3\v3_genn.c - $(CC) /Fo$(OBJ_D)\v3_genn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_genn.c - -$(OBJ_D)\v3_alt.obj: $(SRC_D)\crypto\x509v3\v3_alt.c - $(CC) /Fo$(OBJ_D)\v3_alt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_alt.c - -$(OBJ_D)\v3_skey.obj: $(SRC_D)\crypto\x509v3\v3_skey.c - $(CC) /Fo$(OBJ_D)\v3_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_skey.c - -$(OBJ_D)\v3_akey.obj: $(SRC_D)\crypto\x509v3\v3_akey.c - $(CC) /Fo$(OBJ_D)\v3_akey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akey.c - -$(OBJ_D)\v3_pku.obj: $(SRC_D)\crypto\x509v3\v3_pku.c - $(CC) /Fo$(OBJ_D)\v3_pku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pku.c - -$(OBJ_D)\v3_int.obj: $(SRC_D)\crypto\x509v3\v3_int.c - $(CC) /Fo$(OBJ_D)\v3_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_int.c - -$(OBJ_D)\v3_enum.obj: $(SRC_D)\crypto\x509v3\v3_enum.c - $(CC) /Fo$(OBJ_D)\v3_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_enum.c - -$(OBJ_D)\v3_sxnet.obj: $(SRC_D)\crypto\x509v3\v3_sxnet.c - $(CC) /Fo$(OBJ_D)\v3_sxnet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_sxnet.c - -$(OBJ_D)\v3_cpols.obj: $(SRC_D)\crypto\x509v3\v3_cpols.c - $(CC) /Fo$(OBJ_D)\v3_cpols.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_cpols.c - -$(OBJ_D)\v3_crld.obj: $(SRC_D)\crypto\x509v3\v3_crld.c - $(CC) /Fo$(OBJ_D)\v3_crld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_crld.c - -$(OBJ_D)\v3_purp.obj: $(SRC_D)\crypto\x509v3\v3_purp.c - $(CC) /Fo$(OBJ_D)\v3_purp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_purp.c - -$(OBJ_D)\v3_info.obj: $(SRC_D)\crypto\x509v3\v3_info.c - $(CC) /Fo$(OBJ_D)\v3_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_info.c - -$(OBJ_D)\v3_ocsp.obj: $(SRC_D)\crypto\x509v3\v3_ocsp.c - $(CC) /Fo$(OBJ_D)\v3_ocsp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ocsp.c - -$(OBJ_D)\v3_akeya.obj: $(SRC_D)\crypto\x509v3\v3_akeya.c - $(CC) /Fo$(OBJ_D)\v3_akeya.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akeya.c - -$(OBJ_D)\v3_pmaps.obj: $(SRC_D)\crypto\x509v3\v3_pmaps.c - $(CC) /Fo$(OBJ_D)\v3_pmaps.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pmaps.c - -$(OBJ_D)\v3_pcons.obj: $(SRC_D)\crypto\x509v3\v3_pcons.c - $(CC) /Fo$(OBJ_D)\v3_pcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcons.c - -$(OBJ_D)\v3_ncons.obj: $(SRC_D)\crypto\x509v3\v3_ncons.c - $(CC) /Fo$(OBJ_D)\v3_ncons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ncons.c - -$(OBJ_D)\v3_pcia.obj: $(SRC_D)\crypto\x509v3\v3_pcia.c - $(CC) /Fo$(OBJ_D)\v3_pcia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcia.c - -$(OBJ_D)\v3_pci.obj: $(SRC_D)\crypto\x509v3\v3_pci.c - $(CC) /Fo$(OBJ_D)\v3_pci.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pci.c - -$(OBJ_D)\pcy_cache.obj: $(SRC_D)\crypto\x509v3\pcy_cache.c - $(CC) /Fo$(OBJ_D)\pcy_cache.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_cache.c - -$(OBJ_D)\pcy_node.obj: $(SRC_D)\crypto\x509v3\pcy_node.c - $(CC) /Fo$(OBJ_D)\pcy_node.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_node.c - -$(OBJ_D)\pcy_data.obj: $(SRC_D)\crypto\x509v3\pcy_data.c - $(CC) /Fo$(OBJ_D)\pcy_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_data.c - -$(OBJ_D)\pcy_map.obj: $(SRC_D)\crypto\x509v3\pcy_map.c - $(CC) /Fo$(OBJ_D)\pcy_map.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_map.c - -$(OBJ_D)\pcy_tree.obj: $(SRC_D)\crypto\x509v3\pcy_tree.c - $(CC) /Fo$(OBJ_D)\pcy_tree.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_tree.c - -$(OBJ_D)\pcy_lib.obj: $(SRC_D)\crypto\x509v3\pcy_lib.c - $(CC) /Fo$(OBJ_D)\pcy_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_lib.c - -$(OBJ_D)\v3_asid.obj: $(SRC_D)\crypto\x509v3\v3_asid.c - $(CC) /Fo$(OBJ_D)\v3_asid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_asid.c - -$(OBJ_D)\v3_addr.obj: $(SRC_D)\crypto\x509v3\v3_addr.c - $(CC) /Fo$(OBJ_D)\v3_addr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_addr.c - -$(OBJ_D)\v3_scts.obj: $(SRC_D)\crypto\x509v3\v3_scts.c - $(CC) /Fo$(OBJ_D)\v3_scts.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_scts.c - -$(OBJ_D)\cms_lib.obj: $(SRC_D)\crypto\cms\cms_lib.c - $(CC) /Fo$(OBJ_D)\cms_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_lib.c - -$(OBJ_D)\cms_asn1.obj: $(SRC_D)\crypto\cms\cms_asn1.c - $(CC) /Fo$(OBJ_D)\cms_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_asn1.c - -$(OBJ_D)\cms_att.obj: $(SRC_D)\crypto\cms\cms_att.c - $(CC) /Fo$(OBJ_D)\cms_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_att.c - -$(OBJ_D)\cms_io.obj: $(SRC_D)\crypto\cms\cms_io.c - $(CC) /Fo$(OBJ_D)\cms_io.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_io.c - -$(OBJ_D)\cms_smime.obj: $(SRC_D)\crypto\cms\cms_smime.c - $(CC) /Fo$(OBJ_D)\cms_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_smime.c - -$(OBJ_D)\cms_err.obj: $(SRC_D)\crypto\cms\cms_err.c - $(CC) /Fo$(OBJ_D)\cms_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_err.c - -$(OBJ_D)\cms_sd.obj: $(SRC_D)\crypto\cms\cms_sd.c - $(CC) /Fo$(OBJ_D)\cms_sd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_sd.c - -$(OBJ_D)\cms_dd.obj: $(SRC_D)\crypto\cms\cms_dd.c - $(CC) /Fo$(OBJ_D)\cms_dd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_dd.c - -$(OBJ_D)\cms_cd.obj: $(SRC_D)\crypto\cms\cms_cd.c - $(CC) /Fo$(OBJ_D)\cms_cd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_cd.c - -$(OBJ_D)\cms_env.obj: $(SRC_D)\crypto\cms\cms_env.c - $(CC) /Fo$(OBJ_D)\cms_env.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_env.c - -$(OBJ_D)\cms_enc.obj: $(SRC_D)\crypto\cms\cms_enc.c - $(CC) /Fo$(OBJ_D)\cms_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_enc.c - -$(OBJ_D)\cms_ess.obj: $(SRC_D)\crypto\cms\cms_ess.c - $(CC) /Fo$(OBJ_D)\cms_ess.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_ess.c - -$(OBJ_D)\cms_pwri.obj: $(SRC_D)\crypto\cms\cms_pwri.c - $(CC) /Fo$(OBJ_D)\cms_pwri.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_pwri.c - -$(OBJ_D)\cms_kari.obj: $(SRC_D)\crypto\cms\cms_kari.c - $(CC) /Fo$(OBJ_D)\cms_kari.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_kari.c - -$(OBJ_D)\conf_err.obj: $(SRC_D)\crypto\conf\conf_err.c - $(CC) /Fo$(OBJ_D)\conf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_err.c - -$(OBJ_D)\conf_lib.obj: $(SRC_D)\crypto\conf\conf_lib.c - $(CC) /Fo$(OBJ_D)\conf_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_lib.c - -$(OBJ_D)\conf_api.obj: $(SRC_D)\crypto\conf\conf_api.c - $(CC) /Fo$(OBJ_D)\conf_api.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_api.c - -$(OBJ_D)\conf_def.obj: $(SRC_D)\crypto\conf\conf_def.c - $(CC) /Fo$(OBJ_D)\conf_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_def.c - -$(OBJ_D)\conf_mod.obj: $(SRC_D)\crypto\conf\conf_mod.c - $(CC) /Fo$(OBJ_D)\conf_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mod.c - -$(OBJ_D)\conf_mall.obj: $(SRC_D)\crypto\conf\conf_mall.c - $(CC) /Fo$(OBJ_D)\conf_mall.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mall.c - -$(OBJ_D)\conf_sap.obj: $(SRC_D)\crypto\conf\conf_sap.c - $(CC) /Fo$(OBJ_D)\conf_sap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_sap.c - -$(OBJ_D)\txt_db.obj: $(SRC_D)\crypto\txt_db\txt_db.c - $(CC) /Fo$(OBJ_D)\txt_db.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\txt_db\txt_db.c - -$(OBJ_D)\pk7_asn1.obj: $(SRC_D)\crypto\pkcs7\pk7_asn1.c - $(CC) /Fo$(OBJ_D)\pk7_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_asn1.c - -$(OBJ_D)\pk7_lib.obj: $(SRC_D)\crypto\pkcs7\pk7_lib.c - $(CC) /Fo$(OBJ_D)\pk7_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_lib.c - -$(OBJ_D)\pkcs7err.obj: $(SRC_D)\crypto\pkcs7\pkcs7err.c - $(CC) /Fo$(OBJ_D)\pkcs7err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pkcs7err.c - -$(OBJ_D)\pk7_doit.obj: $(SRC_D)\crypto\pkcs7\pk7_doit.c - $(CC) /Fo$(OBJ_D)\pk7_doit.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_doit.c - -$(OBJ_D)\pk7_smime.obj: $(SRC_D)\crypto\pkcs7\pk7_smime.c - $(CC) /Fo$(OBJ_D)\pk7_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_smime.c - -$(OBJ_D)\pk7_attr.obj: $(SRC_D)\crypto\pkcs7\pk7_attr.c - $(CC) /Fo$(OBJ_D)\pk7_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_attr.c - -$(OBJ_D)\pk7_mime.obj: $(SRC_D)\crypto\pkcs7\pk7_mime.c - $(CC) /Fo$(OBJ_D)\pk7_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_mime.c - -$(OBJ_D)\bio_pk7.obj: $(SRC_D)\crypto\pkcs7\bio_pk7.c - $(CC) /Fo$(OBJ_D)\bio_pk7.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\bio_pk7.c - -$(OBJ_D)\p12_add.obj: $(SRC_D)\crypto\pkcs12\p12_add.c - $(CC) /Fo$(OBJ_D)\p12_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_add.c - -$(OBJ_D)\p12_asn.obj: $(SRC_D)\crypto\pkcs12\p12_asn.c - $(CC) /Fo$(OBJ_D)\p12_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_asn.c - -$(OBJ_D)\p12_attr.obj: $(SRC_D)\crypto\pkcs12\p12_attr.c - $(CC) /Fo$(OBJ_D)\p12_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_attr.c - -$(OBJ_D)\p12_crpt.obj: $(SRC_D)\crypto\pkcs12\p12_crpt.c - $(CC) /Fo$(OBJ_D)\p12_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crpt.c - -$(OBJ_D)\p12_crt.obj: $(SRC_D)\crypto\pkcs12\p12_crt.c - $(CC) /Fo$(OBJ_D)\p12_crt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crt.c - -$(OBJ_D)\p12_decr.obj: $(SRC_D)\crypto\pkcs12\p12_decr.c - $(CC) /Fo$(OBJ_D)\p12_decr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_decr.c - -$(OBJ_D)\p12_init.obj: $(SRC_D)\crypto\pkcs12\p12_init.c - $(CC) /Fo$(OBJ_D)\p12_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_init.c - -$(OBJ_D)\p12_key.obj: $(SRC_D)\crypto\pkcs12\p12_key.c - $(CC) /Fo$(OBJ_D)\p12_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_key.c - -$(OBJ_D)\p12_kiss.obj: $(SRC_D)\crypto\pkcs12\p12_kiss.c - $(CC) /Fo$(OBJ_D)\p12_kiss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_kiss.c - -$(OBJ_D)\p12_mutl.obj: $(SRC_D)\crypto\pkcs12\p12_mutl.c - $(CC) /Fo$(OBJ_D)\p12_mutl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_mutl.c - -$(OBJ_D)\p12_utl.obj: $(SRC_D)\crypto\pkcs12\p12_utl.c - $(CC) /Fo$(OBJ_D)\p12_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_utl.c - -$(OBJ_D)\p12_npas.obj: $(SRC_D)\crypto\pkcs12\p12_npas.c - $(CC) /Fo$(OBJ_D)\p12_npas.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_npas.c - -$(OBJ_D)\pk12err.obj: $(SRC_D)\crypto\pkcs12\pk12err.c - $(CC) /Fo$(OBJ_D)\pk12err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\pk12err.c - -$(OBJ_D)\p12_p8d.obj: $(SRC_D)\crypto\pkcs12\p12_p8d.c - $(CC) /Fo$(OBJ_D)\p12_p8d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8d.c - -$(OBJ_D)\p12_p8e.obj: $(SRC_D)\crypto\pkcs12\p12_p8e.c - $(CC) /Fo$(OBJ_D)\p12_p8e.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8e.c - -$(OBJ_D)\comp_lib.obj: $(SRC_D)\crypto\comp\comp_lib.c - $(CC) /Fo$(OBJ_D)\comp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_lib.c - -$(OBJ_D)\comp_err.obj: $(SRC_D)\crypto\comp\comp_err.c - $(CC) /Fo$(OBJ_D)\comp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_err.c - -$(OBJ_D)\c_rle.obj: $(SRC_D)\crypto\comp\c_rle.c - $(CC) /Fo$(OBJ_D)\c_rle.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_rle.c - -$(OBJ_D)\c_zlib.obj: $(SRC_D)\crypto\comp\c_zlib.c - $(CC) /Fo$(OBJ_D)\c_zlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_zlib.c - -$(OBJ_D)\eng_err.obj: $(SRC_D)\crypto\engine\eng_err.c - $(CC) /Fo$(OBJ_D)\eng_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_err.c - -$(OBJ_D)\eng_lib.obj: $(SRC_D)\crypto\engine\eng_lib.c - $(CC) /Fo$(OBJ_D)\eng_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_lib.c - -$(OBJ_D)\eng_list.obj: $(SRC_D)\crypto\engine\eng_list.c - $(CC) /Fo$(OBJ_D)\eng_list.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_list.c - -$(OBJ_D)\eng_init.obj: $(SRC_D)\crypto\engine\eng_init.c - $(CC) /Fo$(OBJ_D)\eng_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_init.c - -$(OBJ_D)\eng_ctrl.obj: $(SRC_D)\crypto\engine\eng_ctrl.c - $(CC) /Fo$(OBJ_D)\eng_ctrl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_ctrl.c - -$(OBJ_D)\eng_table.obj: $(SRC_D)\crypto\engine\eng_table.c - $(CC) /Fo$(OBJ_D)\eng_table.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_table.c - -$(OBJ_D)\eng_pkey.obj: $(SRC_D)\crypto\engine\eng_pkey.c - $(CC) /Fo$(OBJ_D)\eng_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_pkey.c - -$(OBJ_D)\eng_fat.obj: $(SRC_D)\crypto\engine\eng_fat.c - $(CC) /Fo$(OBJ_D)\eng_fat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_fat.c - -$(OBJ_D)\eng_all.obj: $(SRC_D)\crypto\engine\eng_all.c - $(CC) /Fo$(OBJ_D)\eng_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_all.c - -$(OBJ_D)\tb_rsa.obj: $(SRC_D)\crypto\engine\tb_rsa.c - $(CC) /Fo$(OBJ_D)\tb_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rsa.c - -$(OBJ_D)\tb_dsa.obj: $(SRC_D)\crypto\engine\tb_dsa.c - $(CC) /Fo$(OBJ_D)\tb_dsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dsa.c - -$(OBJ_D)\tb_ecdsa.obj: $(SRC_D)\crypto\engine\tb_ecdsa.c - $(CC) /Fo$(OBJ_D)\tb_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdsa.c - -$(OBJ_D)\tb_dh.obj: $(SRC_D)\crypto\engine\tb_dh.c - $(CC) /Fo$(OBJ_D)\tb_dh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dh.c - -$(OBJ_D)\tb_ecdh.obj: $(SRC_D)\crypto\engine\tb_ecdh.c - $(CC) /Fo$(OBJ_D)\tb_ecdh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdh.c - -$(OBJ_D)\tb_rand.obj: $(SRC_D)\crypto\engine\tb_rand.c - $(CC) /Fo$(OBJ_D)\tb_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rand.c - -$(OBJ_D)\tb_store.obj: $(SRC_D)\crypto\engine\tb_store.c - $(CC) /Fo$(OBJ_D)\tb_store.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_store.c - -$(OBJ_D)\tb_cipher.obj: $(SRC_D)\crypto\engine\tb_cipher.c - $(CC) /Fo$(OBJ_D)\tb_cipher.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_cipher.c - -$(OBJ_D)\tb_digest.obj: $(SRC_D)\crypto\engine\tb_digest.c - $(CC) /Fo$(OBJ_D)\tb_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_digest.c - -$(OBJ_D)\tb_pkmeth.obj: $(SRC_D)\crypto\engine\tb_pkmeth.c - $(CC) /Fo$(OBJ_D)\tb_pkmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_pkmeth.c - -$(OBJ_D)\tb_asnmth.obj: $(SRC_D)\crypto\engine\tb_asnmth.c - $(CC) /Fo$(OBJ_D)\tb_asnmth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_asnmth.c - -$(OBJ_D)\eng_openssl.obj: $(SRC_D)\crypto\engine\eng_openssl.c - $(CC) /Fo$(OBJ_D)\eng_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_openssl.c - -$(OBJ_D)\eng_cnf.obj: $(SRC_D)\crypto\engine\eng_cnf.c - $(CC) /Fo$(OBJ_D)\eng_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cnf.c - -$(OBJ_D)\eng_dyn.obj: $(SRC_D)\crypto\engine\eng_dyn.c - $(CC) /Fo$(OBJ_D)\eng_dyn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_dyn.c - -$(OBJ_D)\eng_cryptodev.obj: $(SRC_D)\crypto\engine\eng_cryptodev.c - $(CC) /Fo$(OBJ_D)\eng_cryptodev.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cryptodev.c - -$(OBJ_D)\eng_rdrand.obj: $(SRC_D)\crypto\engine\eng_rdrand.c - $(CC) /Fo$(OBJ_D)\eng_rdrand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_rdrand.c - -$(OBJ_D)\ocsp_asn.obj: $(SRC_D)\crypto\ocsp\ocsp_asn.c - $(CC) /Fo$(OBJ_D)\ocsp_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_asn.c - -$(OBJ_D)\ocsp_ext.obj: $(SRC_D)\crypto\ocsp\ocsp_ext.c - $(CC) /Fo$(OBJ_D)\ocsp_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ext.c - -$(OBJ_D)\ocsp_ht.obj: $(SRC_D)\crypto\ocsp\ocsp_ht.c - $(CC) /Fo$(OBJ_D)\ocsp_ht.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ht.c - -$(OBJ_D)\ocsp_lib.obj: $(SRC_D)\crypto\ocsp\ocsp_lib.c - $(CC) /Fo$(OBJ_D)\ocsp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_lib.c - -$(OBJ_D)\ocsp_cl.obj: $(SRC_D)\crypto\ocsp\ocsp_cl.c - $(CC) /Fo$(OBJ_D)\ocsp_cl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_cl.c - -$(OBJ_D)\ocsp_srv.obj: $(SRC_D)\crypto\ocsp\ocsp_srv.c - $(CC) /Fo$(OBJ_D)\ocsp_srv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_srv.c - -$(OBJ_D)\ocsp_prn.obj: $(SRC_D)\crypto\ocsp\ocsp_prn.c - $(CC) /Fo$(OBJ_D)\ocsp_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_prn.c - -$(OBJ_D)\ocsp_vfy.obj: $(SRC_D)\crypto\ocsp\ocsp_vfy.c - $(CC) /Fo$(OBJ_D)\ocsp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_vfy.c - -$(OBJ_D)\ocsp_err.obj: $(SRC_D)\crypto\ocsp\ocsp_err.c - $(CC) /Fo$(OBJ_D)\ocsp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_err.c - -$(OBJ_D)\ui_err.obj: $(SRC_D)\crypto\ui\ui_err.c - $(CC) /Fo$(OBJ_D)\ui_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_err.c - -$(OBJ_D)\ui_lib.obj: $(SRC_D)\crypto\ui\ui_lib.c - $(CC) /Fo$(OBJ_D)\ui_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_lib.c - -$(OBJ_D)\ui_openssl.obj: $(SRC_D)\crypto\ui\ui_openssl.c - $(CC) /Fo$(OBJ_D)\ui_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_openssl.c - -$(OBJ_D)\ui_util.obj: $(SRC_D)\crypto\ui\ui_util.c - $(CC) /Fo$(OBJ_D)\ui_util.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_util.c - -$(OBJ_D)\ui_compat.obj: $(SRC_D)\crypto\ui\ui_compat.c - $(CC) /Fo$(OBJ_D)\ui_compat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_compat.c - -$(OBJ_D)\krb5_asn.obj: $(SRC_D)\crypto\krb5\krb5_asn.c - $(CC) /Fo$(OBJ_D)\krb5_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\krb5\krb5_asn.c - -$(OBJ_D)\pqueue.obj: $(SRC_D)\crypto\pqueue\pqueue.c - $(CC) /Fo$(OBJ_D)\pqueue.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pqueue\pqueue.c - -$(OBJ_D)\wp_dgst.obj: $(SRC_D)\crypto\whrlpool\wp_dgst.c - $(CC) /Fo$(OBJ_D)\wp_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_dgst.c - -$(OBJ_D)\wp_block.obj: $(SRC_D)\crypto\whrlpool\wp_block.c - $(CC) /Fo$(OBJ_D)\wp_block.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_block.c - -$(TMP_D)\wp-mmx.asm: crypto\whrlpool\asm\wp-mmx.pl - $(PERL) crypto\whrlpool\asm\wp-mmx.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\wp-mmx.obj: $(TMP_D)\wp-mmx.asm - $(ASM) -o $@ $(TMP_D)\wp-mmx.asm - -$(OBJ_D)\ts_err.obj: $(SRC_D)\crypto\ts\ts_err.c - $(CC) /Fo$(OBJ_D)\ts_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_err.c - -$(OBJ_D)\ts_req_utils.obj: $(SRC_D)\crypto\ts\ts_req_utils.c - $(CC) /Fo$(OBJ_D)\ts_req_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_utils.c - -$(OBJ_D)\ts_req_print.obj: $(SRC_D)\crypto\ts\ts_req_print.c - $(CC) /Fo$(OBJ_D)\ts_req_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_print.c - -$(OBJ_D)\ts_rsp_utils.obj: $(SRC_D)\crypto\ts\ts_rsp_utils.c - $(CC) /Fo$(OBJ_D)\ts_rsp_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_utils.c - -$(OBJ_D)\ts_rsp_print.obj: $(SRC_D)\crypto\ts\ts_rsp_print.c - $(CC) /Fo$(OBJ_D)\ts_rsp_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_print.c - -$(OBJ_D)\ts_rsp_sign.obj: $(SRC_D)\crypto\ts\ts_rsp_sign.c - $(CC) /Fo$(OBJ_D)\ts_rsp_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_sign.c - -$(OBJ_D)\ts_rsp_verify.obj: $(SRC_D)\crypto\ts\ts_rsp_verify.c - $(CC) /Fo$(OBJ_D)\ts_rsp_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_verify.c - -$(OBJ_D)\ts_verify_ctx.obj: $(SRC_D)\crypto\ts\ts_verify_ctx.c - $(CC) /Fo$(OBJ_D)\ts_verify_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_verify_ctx.c - -$(OBJ_D)\ts_lib.obj: $(SRC_D)\crypto\ts\ts_lib.c - $(CC) /Fo$(OBJ_D)\ts_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_lib.c - -$(OBJ_D)\ts_conf.obj: $(SRC_D)\crypto\ts\ts_conf.c - $(CC) /Fo$(OBJ_D)\ts_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_conf.c - -$(OBJ_D)\ts_asn1.obj: $(SRC_D)\crypto\ts\ts_asn1.c - $(CC) /Fo$(OBJ_D)\ts_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_asn1.c - -$(OBJ_D)\srp_lib.obj: $(SRC_D)\crypto\srp\srp_lib.c - $(CC) /Fo$(OBJ_D)\srp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_lib.c - -$(OBJ_D)\srp_vfy.obj: $(SRC_D)\crypto\srp\srp_vfy.c - $(CC) /Fo$(OBJ_D)\srp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_vfy.c - -$(OBJ_D)\e_4758cca.obj: $(SRC_D)\engines\e_4758cca.c - $(CC) /Fo$(OBJ_D)\e_4758cca.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_4758cca.c - -$(OBJ_D)\e_aep.obj: $(SRC_D)\engines\e_aep.c - $(CC) /Fo$(OBJ_D)\e_aep.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_aep.c - -$(OBJ_D)\e_atalla.obj: $(SRC_D)\engines\e_atalla.c - $(CC) /Fo$(OBJ_D)\e_atalla.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_atalla.c - -$(OBJ_D)\e_cswift.obj: $(SRC_D)\engines\e_cswift.c - $(CC) /Fo$(OBJ_D)\e_cswift.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_cswift.c - -$(OBJ_D)\e_gmp.obj: $(SRC_D)\engines\e_gmp.c - $(CC) /Fo$(OBJ_D)\e_gmp.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_gmp.c - -$(OBJ_D)\e_chil.obj: $(SRC_D)\engines\e_chil.c - $(CC) /Fo$(OBJ_D)\e_chil.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_chil.c - -$(OBJ_D)\e_nuron.obj: $(SRC_D)\engines\e_nuron.c - $(CC) /Fo$(OBJ_D)\e_nuron.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_nuron.c - -$(OBJ_D)\e_sureware.obj: $(SRC_D)\engines\e_sureware.c - $(CC) /Fo$(OBJ_D)\e_sureware.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_sureware.c - -$(OBJ_D)\e_ubsec.obj: $(SRC_D)\engines\e_ubsec.c - $(CC) /Fo$(OBJ_D)\e_ubsec.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_ubsec.c - -$(OBJ_D)\e_padlock.obj: $(SRC_D)\engines\e_padlock.c - $(CC) /Fo$(OBJ_D)\e_padlock.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_padlock.c - -$(OBJ_D)\e_capi.obj: $(SRC_D)\engines\e_capi.c - $(CC) /Fo$(OBJ_D)\e_capi.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_capi.c - -$(OBJ_D)\e_gost_err.obj: $(SRC_D)\engines\ccgost\e_gost_err.c - $(CC) /Fo$(OBJ_D)\e_gost_err.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\e_gost_err.c - -$(OBJ_D)\gost2001_keyx.obj: $(SRC_D)\engines\ccgost\gost2001_keyx.c - $(CC) /Fo$(OBJ_D)\gost2001_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001_keyx.c - -$(OBJ_D)\gost2001.obj: $(SRC_D)\engines\ccgost\gost2001.c - $(CC) /Fo$(OBJ_D)\gost2001.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001.c - -$(OBJ_D)\gost89.obj: $(SRC_D)\engines\ccgost\gost89.c - $(CC) /Fo$(OBJ_D)\gost89.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost89.c - -$(OBJ_D)\gost94_keyx.obj: $(SRC_D)\engines\ccgost\gost94_keyx.c - $(CC) /Fo$(OBJ_D)\gost94_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost94_keyx.c - -$(OBJ_D)\gost_ameth.obj: $(SRC_D)\engines\ccgost\gost_ameth.c - $(CC) /Fo$(OBJ_D)\gost_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ameth.c - -$(OBJ_D)\gost_asn1.obj: $(SRC_D)\engines\ccgost\gost_asn1.c - $(CC) /Fo$(OBJ_D)\gost_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_asn1.c - -$(OBJ_D)\gost_crypt.obj: $(SRC_D)\engines\ccgost\gost_crypt.c - $(CC) /Fo$(OBJ_D)\gost_crypt.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_crypt.c - -$(OBJ_D)\gost_ctl.obj: $(SRC_D)\engines\ccgost\gost_ctl.c - $(CC) /Fo$(OBJ_D)\gost_ctl.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ctl.c - -$(OBJ_D)\gost_eng.obj: $(SRC_D)\engines\ccgost\gost_eng.c - $(CC) /Fo$(OBJ_D)\gost_eng.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_eng.c - -$(OBJ_D)\gosthash.obj: $(SRC_D)\engines\ccgost\gosthash.c - $(CC) /Fo$(OBJ_D)\gosthash.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gosthash.c - -$(OBJ_D)\gost_keywrap.obj: $(SRC_D)\engines\ccgost\gost_keywrap.c - $(CC) /Fo$(OBJ_D)\gost_keywrap.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_keywrap.c - -$(OBJ_D)\gost_md.obj: $(SRC_D)\engines\ccgost\gost_md.c - $(CC) /Fo$(OBJ_D)\gost_md.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_md.c - -$(OBJ_D)\gost_params.obj: $(SRC_D)\engines\ccgost\gost_params.c - $(CC) /Fo$(OBJ_D)\gost_params.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_params.c - -$(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c - $(CC) /Fo$(OBJ_D)\gost_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_pmeth.c - -$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c - $(CC) /Fo$(OBJ_D)\gost_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c - -$(OBJ_D)\$(CRYPTO).res: ms\version32.rc - $(RSC) /fo"$(OBJ_D)\$(CRYPTO).res" /d CRYPTO ms\version32.rc - -$(OBJ_D)\$(SSL).res: ms\version32.rc - $(RSC) /fo"$(OBJ_D)\$(SSL).res" /d SSL ms\version32.rc - -$(TEST_D)\constant_time_test.exe: $(OBJ_D)\constant_time_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\constant_time_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\constant_time_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\md4test.exe: $(OBJ_D)\md4test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md4test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\md4test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\md5test.exe: $(OBJ_D)\md5test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md5test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\md5test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\shatest.exe: $(OBJ_D)\shatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\shatest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\shatest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sha1test.exe: $(OBJ_D)\sha1test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha1test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sha1test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sha256t.exe: $(OBJ_D)\sha256t.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha256t.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sha256t.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sha512t.exe: $(OBJ_D)\sha512t.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha512t.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sha512t.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\hmactest.exe: $(OBJ_D)\hmactest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\hmactest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\hmactest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rmdtest.exe: $(OBJ_D)\rmdtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rmdtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rmdtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\destest.exe: $(OBJ_D)\destest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\destest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\destest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rc2test.exe: $(OBJ_D)\rc2test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc2test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rc2test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rc4test.exe: $(OBJ_D)\rc4test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc4test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rc4test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\bftest.exe: $(OBJ_D)\bftest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bftest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\bftest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\casttest.exe: $(OBJ_D)\casttest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\casttest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\casttest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\bntest.exe: $(OBJ_D)\bntest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bntest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\bntest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\exptest.exe: $(OBJ_D)\exptest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\exptest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\exptest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rsa_test.exe: $(OBJ_D)\rsa_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rsa_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rsa_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\dsatest.exe: $(OBJ_D)\dsatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dsatest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\dsatest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\dhtest.exe: $(OBJ_D)\dhtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dhtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\dhtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ectest.exe: $(OBJ_D)\ectest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ectest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ectest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ecdhtest.exe: $(OBJ_D)\ecdhtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdhtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ecdhtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ecdsatest.exe: $(OBJ_D)\ecdsatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdsatest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ecdsatest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\randtest.exe: $(OBJ_D)\randtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\randtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\randtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\evp_test.exe: $(OBJ_D)\evp_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\evp_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\evp_extra_test.exe: $(OBJ_D)\evp_extra_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_extra_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\evp_extra_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\verify_extra_test.exe: $(OBJ_D)\verify_extra_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\verify_extra_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\verify_extra_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\v3nametest.exe: $(OBJ_D)\v3nametest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\v3nametest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\v3nametest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\enginetest.exe: $(OBJ_D)\enginetest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\enginetest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\enginetest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\wp_test.exe: $(OBJ_D)\wp_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\wp_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\wp_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\srptest.exe: $(OBJ_D)\srptest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\srptest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\srptest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ssltest.exe: $(OBJ_D)\ssltest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ssltest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ssltest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\heartbeat_test.exe: $(OBJ_D)\heartbeat_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\heartbeat_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\heartbeat_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\clienthellotest.exe: $(OBJ_D)\clienthellotest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\clienthellotest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\clienthellotest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sslv2conftest.exe: $(OBJ_D)\sslv2conftest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sslv2conftest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sslv2conftest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\dtlstest.exe: $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dtlstest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\bad_dtls_test.exe: $(OBJ_D)\bad_dtls_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bad_dtls_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\bad_dtls_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\fatalerrtest.exe: $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\fatalerrtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\igetest.exe: $(OBJ_D)\igetest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\igetest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\igetest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(O_SSL): $(SSLOBJ) - $(MKLIB) /out:$(O_SSL) @<< - $(SSLOBJ) -<< - -$(O_CRYPTO): $(CRYPTOOBJ) - $(MKLIB) /out:$(O_CRYPTO) @<< - $(CRYPTOOBJ) -<< - -$(BIN_D)\$(E_EXE).exe: $(E_OBJ) $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(BIN_D)\$(E_EXE).exe @<< - $(APP_EX_OBJ) $(E_OBJ) $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - +# N.B. You MUST use -j on FreeBSD. +# This makefile has been automatically generated from the OpenSSL distribution. +# This single makefile will build the complete OpenSSL distribution and +# by default leave the 'interesting' output files in .\out and the stuff +# that needs deleting in .\tmp. +# The file was generated by running 'make makefile.one', which +# does a 'make files', which writes all the environment variables from all +# the makefiles to the file call MINFO. This file is used by +# util\mk1mf.pl to generate makefile.one. +# The 'makefile per directory' system suites me when developing this +# library and also so I can 'distribute' indervidual library sections. +# The one monster makefile better suits building in non-unix +# environments. + +INSTALLTOP=\usr\local\ssl +OPENSSLDIR=\usr\local\ssl + +# Set your compiler options +PLATFORM=VC-WIN32 +CC=cl +CFLAG= /MT /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE +APP_CFLAG= /Zi /Fd$(TMP_D)/app +LIB_CFLAG=/Zl /Zi /Fd$(TMP_D)/lib +SHLIB_CFLAG= +APP_EX_OBJ=setargv.obj +SHLIB_EX_OBJ= +# add extra libraries to this define, for solaris -lsocket -lnsl would +# be added +EX_LIBS=ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib + +# The OpenSSL directory +SRC_D=. + +LINK_CMD=link +LFLAGS=/nologo /subsystem:console /opt:ref /debug +RSC=rc + +# The output directory for everything interesting +OUT_D=out32 +# The output directory for all the temporary muck +TMP_D=tmp32 +# The output directory for the header files +INC_D=inc32 +INCO_D=inc32\openssl + +PERL=perl +CP=$(PERL) util/copy.pl +RM=del /Q +RANLIB= +MKDIR=$(PERL) util/mkdir-p.pl +MKLIB=lib /nologo +MLFLAGS= +ASM=nasm -f win32 + +# FIPS validated module and support file locations + +E_PREMAIN_DSO=fips_premain_dso + +FIPSDIR=\usr\local\ssl\fips-2.0 +BASEADDR=0xFB00000 +FIPSLIB_D=$(FIPSDIR)\lib +FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c +O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib +FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe +PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe +FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl + +###################################################### +# You should not need to touch anything below this point +###################################################### + +E_EXE=openssl +SSL=ssleay32 +CRYPTO=libeay32 + +# BIN_D - Binary output directory +# TEST_D - Binary test file output directory +# LIB_D - library output directory +# ENG_D - dynamic engine output directory +# Note: if you change these point to different directories then uncomment out +# the lines around the 'NB' comment below. +# +BIN_D=$(OUT_D) +TEST_D=$(OUT_D) +LIB_D=$(OUT_D) +ENG_D=$(OUT_D) + +# INCL_D - local library directory +# OBJ_D - temp object file directory +OBJ_D=$(TMP_D) +INCL_D=$(TMP_D) + +O_SSL= $(LIB_D)\$(SSL).lib +O_CRYPTO= $(LIB_D)\$(CRYPTO).lib +SO_SSL= $(SSL) +SO_CRYPTO= $(CRYPTO) +L_SSL= $(LIB_D)\$(SSL).lib +L_CRYPTO= $(LIB_D)\$(CRYPTO).lib + +L_LIBS= $(L_SSL) $(L_CRYPTO) + +###################################################### +# Don't touch anything below this point +###################################################### + +INC=-I$(INC_D) -I$(INCL_D) +APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) +LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) +SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) +LIBS_DEP=$(O_CRYPTO) $(O_SSL) + +############################################# +HEADER=$(INCL_D)\e_os.h \ + $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ + $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ + $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ + $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ + $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ + $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ + $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ + $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ + $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ + $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ + $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ + $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ + $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ + $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ + $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ + $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ + $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ + $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ + $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ + $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ + $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ + $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ + $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ + $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ + $(INCL_D)\ssltestlib.h + +EXHEADER=$(INCO_D)\e_os2.h \ + $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ + $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ + $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ + $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ + $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ + $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ + $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ + $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ + $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ + $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ + $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ + $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ + $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ + $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ + $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ + $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ + $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ + $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ + $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ + $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ + $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ + $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ + $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ + $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h + +T_OBJ=$(OBJ_D)\constant_time_test.obj \ + $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ + $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ + $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ + $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ + $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ + $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ + $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ + $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ + $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ + $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ + $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ + $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ + $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj + +E_OBJ=$(OBJ_D)\verify.obj \ + $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ + $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ + $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ + $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ + $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ + $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ + $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ + $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ + $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ + $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ + $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ + $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ + $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ + $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ + $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ + $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ + $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj + +SSLOBJ=$(OBJ_D)\s2_meth.obj \ + $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ + $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ + $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ + $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ + $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ + $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ + $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ + $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ + $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ + $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ + $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ + $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ + $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ + $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ + $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ + $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ + $(OBJ_D)\ssl_utst.obj + +CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ + $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ + $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ + $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ + $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ + $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \ + $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ + $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \ + $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ + $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \ + $(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \ + $(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \ + $(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \ + $(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \ + $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \ + $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \ + $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \ + $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \ + $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \ + $(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \ + $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \ + $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \ + $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \ + $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \ + $(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \ + $(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \ + $(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \ + $(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \ + $(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \ + $(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \ + $(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \ + $(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ + $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ + $(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \ + $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \ + $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \ + $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \ + $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \ + $(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \ + $(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \ + $(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \ + $(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \ + $(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \ + $(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \ + $(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \ + $(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \ + $(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \ + $(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \ + $(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \ + $(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \ + $(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \ + $(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \ + $(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \ + $(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \ + $(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \ + $(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \ + $(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \ + $(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \ + $(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \ + $(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \ + $(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \ + $(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \ + $(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \ + $(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \ + $(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \ + $(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \ + $(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \ + $(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \ + $(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \ + $(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \ + $(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \ + $(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \ + $(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \ + $(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \ + $(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \ + $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \ + $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \ + $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \ + $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \ + $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \ + $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \ + $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \ + $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \ + $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \ + $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \ + $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \ + $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \ + $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \ + $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \ + $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \ + $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \ + $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \ + $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \ + $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \ + $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \ + $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \ + $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \ + $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \ + $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \ + $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \ + $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \ + $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \ + $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \ + $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \ + $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \ + $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \ + $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \ + $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \ + $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \ + $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \ + $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \ + $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \ + $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \ + $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \ + $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \ + $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \ + $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \ + $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \ + $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \ + $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \ + $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \ + $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \ + $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \ + $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \ + $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \ + $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \ + $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \ + $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \ + $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \ + $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \ + $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \ + $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \ + $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \ + $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \ + $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \ + $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \ + $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \ + $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \ + $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \ + $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \ + $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \ + $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \ + $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \ + $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \ + $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \ + $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \ + $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \ + $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \ + $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \ + $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \ + $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \ + $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \ + $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \ + $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \ + $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \ + $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \ + $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \ + $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \ + $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \ + $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \ + $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \ + $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \ + $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \ + $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \ + $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \ + $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \ + $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \ + $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \ + $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \ + $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \ + $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \ + $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \ + $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \ + $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \ + $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \ + $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \ + $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \ + $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \ + $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \ + $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \ + $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \ + $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \ + $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \ + $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \ + $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \ + $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \ + $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \ + $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \ + $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \ + $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \ + $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \ + $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \ + $(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ + $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ + $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ + $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ + $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \ + $(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \ + $(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \ + $(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \ + $(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \ + $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \ + $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \ + $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \ + $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \ + $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj + +T_EXE=$(TEST_D)\constant_time_test.exe \ + $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ + $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ + $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ + $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ + $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ + $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ + $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ + $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ + $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ + $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ + $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ + $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ + $(TEST_D)\igetest.exe + +E_SHLIB= + +################################################################### +all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe + +banner: + @echo Building OpenSSL + +$(TMP_D): + $(MKDIR) "$(TMP_D)" +# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different +#$(BIN_D): +# $(MKDIR) $(BIN_D) +# +#$(TEST_D): +# $(MKDIR) $(TEST_D) + +$(LIB_D): + $(MKDIR) "$(LIB_D)" + +$(INCO_D): $(INC_D) + $(MKDIR) "$(INCO_D)" + +$(INC_D): + $(MKDIR) "$(INC_D)" + +# This needs to be invoked once, when the makefile is first constructed, or +# after cleaning. +init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers + $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" + +headers: $(HEADER) $(EXHEADER) + +lib: $(LIBS_DEP) $(E_SHLIB) + +exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe + +install: all + $(MKDIR) "$(INSTALLTOP)" + $(MKDIR) "$(INSTALLTOP)\bin" + $(MKDIR) "$(INSTALLTOP)\include" + $(MKDIR) "$(INSTALLTOP)\include\openssl" + $(MKDIR) "$(INSTALLTOP)\lib" + $(CP) "$(INCO_D)\*.[ch]" "$(INSTALLTOP)\include\openssl" + $(CP) "$(BIN_D)\$(E_EXE).exe" "$(INSTALLTOP)\bin" + $(MKDIR) "$(OPENSSLDIR)" + $(CP) apps\openssl.cnf "$(OPENSSLDIR)" + $(CP) "$(O_SSL)" "$(INSTALLTOP)\lib" + $(CP) "$(O_CRYPTO)" "$(INSTALLTOP)\lib" + + +clean: + $(RM) $(TMP_D)\*.* + +vclean: + $(RM) $(TMP_D)\*.* + $(RM) $(OUT_D)\*.* + +reallyclean: + $(RM) -rf $(TMP_D) + $(RM) -rf $(BIN_D) + $(RM) -rf $(TEST_D) + $(RM) -rf $(LIB_D) + $(RM) -rf $(INC_D) + +test: $(T_EXE) + cd $(BIN_D) + ..\ms\test + +$(INCL_D)\e_os.h: $(SRC_D)\.\e_os.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os.h" "$(INCL_D)\e_os.h" + +$(INCL_D)\cryptlib.h: $(SRC_D)\crypto\cryptlib.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cryptlib.h" "$(INCL_D)\cryptlib.h" + +$(INCL_D)\buildinf.h: $(SRC_D)\crypto\buildinf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buildinf.h" "$(INCL_D)\buildinf.h" + +$(INCL_D)\md32_common.h: $(SRC_D)\crypto\md32_common.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md32_common.h" "$(INCL_D)\md32_common.h" + +$(INCL_D)\o_time.h: $(SRC_D)\crypto\o_time.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_time.h" "$(INCL_D)\o_time.h" + +$(INCL_D)\o_str.h: $(SRC_D)\crypto\o_str.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_str.h" "$(INCL_D)\o_str.h" + +$(INCL_D)\o_dir.h: $(SRC_D)\crypto\o_dir.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_dir.h" "$(INCL_D)\o_dir.h" + +$(INCL_D)\constant_time_locl.h: $(SRC_D)\crypto\constant_time_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\constant_time_locl.h" "$(INCL_D)\constant_time_locl.h" + +$(INCL_D)\bn_int.h: $(SRC_D)\crypto\bn_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn_int.h" "$(INCL_D)\bn_int.h" + +$(INCL_D)\md4_locl.h: $(SRC_D)\crypto\md4\md4_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4_locl.h" "$(INCL_D)\md4_locl.h" + +$(INCL_D)\md5_locl.h: $(SRC_D)\crypto\md5\md5_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5_locl.h" "$(INCL_D)\md5_locl.h" + +$(INCL_D)\sha_locl.h: $(SRC_D)\crypto\sha\sha_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha_locl.h" "$(INCL_D)\sha_locl.h" + +$(INCL_D)\rmd_locl.h: $(SRC_D)\crypto\ripemd\rmd_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmd_locl.h" "$(INCL_D)\rmd_locl.h" + +$(INCL_D)\rmdconst.h: $(SRC_D)\crypto\ripemd\rmdconst.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmdconst.h" "$(INCL_D)\rmdconst.h" + +$(INCL_D)\des_locl.h: $(SRC_D)\crypto\des\des_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_locl.h" "$(INCL_D)\des_locl.h" + +$(INCL_D)\rpc_des.h: $(SRC_D)\crypto\des\rpc_des.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\rpc_des.h" "$(INCL_D)\rpc_des.h" + +$(INCL_D)\spr.h: $(SRC_D)\crypto\des\spr.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\spr.h" "$(INCL_D)\spr.h" + +$(INCL_D)\des_ver.h: $(SRC_D)\crypto\des\des_ver.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_ver.h" "$(INCL_D)\des_ver.h" + +$(INCL_D)\rc2_locl.h: $(SRC_D)\crypto\rc2\rc2_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2_locl.h" "$(INCL_D)\rc2_locl.h" + +$(INCL_D)\rc4_locl.h: $(SRC_D)\crypto\rc4\rc4_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4_locl.h" "$(INCL_D)\rc4_locl.h" + +$(INCL_D)\bf_pi.h: $(SRC_D)\crypto\bf\bf_pi.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_pi.h" "$(INCL_D)\bf_pi.h" + +$(INCL_D)\bf_locl.h: $(SRC_D)\crypto\bf\bf_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_locl.h" "$(INCL_D)\bf_locl.h" + +$(INCL_D)\cast_s.h: $(SRC_D)\crypto\cast\cast_s.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_s.h" "$(INCL_D)\cast_s.h" + +$(INCL_D)\cast_lcl.h: $(SRC_D)\crypto\cast\cast_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_lcl.h" "$(INCL_D)\cast_lcl.h" + +$(INCL_D)\aes_locl.h: $(SRC_D)\crypto\aes\aes_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes_locl.h" "$(INCL_D)\aes_locl.h" + +$(INCL_D)\cmll_locl.h: $(SRC_D)\crypto\camellia\cmll_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\cmll_locl.h" "$(INCL_D)\cmll_locl.h" + +$(INCL_D)\seed_locl.h: $(SRC_D)\crypto\seed\seed_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed_locl.h" "$(INCL_D)\seed_locl.h" + +$(INCL_D)\modes_lcl.h: $(SRC_D)\crypto\modes\modes_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes_lcl.h" "$(INCL_D)\modes_lcl.h" + +$(INCL_D)\bn_lcl.h: $(SRC_D)\crypto\bn\bn_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_lcl.h" "$(INCL_D)\bn_lcl.h" + +$(INCL_D)\bn_prime.h: $(SRC_D)\crypto\bn\bn_prime.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_prime.h" "$(INCL_D)\bn_prime.h" + +$(INCL_D)\dsa_locl.h: $(SRC_D)\crypto\dsa\dsa_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa_locl.h" "$(INCL_D)\dsa_locl.h" + +$(INCL_D)\ec_lcl.h: $(SRC_D)\crypto\ec\ec_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec_lcl.h" "$(INCL_D)\ec_lcl.h" + +$(INCL_D)\ech_locl.h: $(SRC_D)\crypto\ecdh\ech_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ech_locl.h" "$(INCL_D)\ech_locl.h" + +$(INCL_D)\ecs_locl.h: $(SRC_D)\crypto\ecdsa\ecs_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecs_locl.h" "$(INCL_D)\ecs_locl.h" + +$(INCL_D)\bio_lcl.h: $(SRC_D)\crypto\bio\bio_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio_lcl.h" "$(INCL_D)\bio_lcl.h" + +$(INCL_D)\obj_dat.h: $(SRC_D)\crypto\objects\obj_dat.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_dat.h" "$(INCL_D)\obj_dat.h" + +$(INCL_D)\obj_xref.h: $(SRC_D)\crypto\objects\obj_xref.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_xref.h" "$(INCL_D)\obj_xref.h" + +$(INCL_D)\evp_locl.h: $(SRC_D)\crypto\evp\evp_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp_locl.h" "$(INCL_D)\evp_locl.h" + +$(INCL_D)\asn1_locl.h: $(SRC_D)\crypto\asn1\asn1_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_locl.h" "$(INCL_D)\asn1_locl.h" + +$(INCL_D)\vpm_int.h: $(SRC_D)\crypto\x509\vpm_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\vpm_int.h" "$(INCL_D)\vpm_int.h" + +$(INCL_D)\pcy_int.h: $(SRC_D)\crypto\x509v3\pcy_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\pcy_int.h" "$(INCL_D)\pcy_int.h" + +$(INCL_D)\cms_lcl.h: $(SRC_D)\crypto\cms\cms_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms_lcl.h" "$(INCL_D)\cms_lcl.h" + +$(INCL_D)\conf_def.h: $(SRC_D)\crypto\conf\conf_def.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_def.h" "$(INCL_D)\conf_def.h" + +$(INCL_D)\ui_locl.h: $(SRC_D)\crypto\ui\ui_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_locl.h" "$(INCL_D)\ui_locl.h" + +$(INCL_D)\wp_locl.h: $(SRC_D)\crypto\whrlpool\wp_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\wp_locl.h" "$(INCL_D)\wp_locl.h" + +$(INCL_D)\ssl_locl.h: $(SRC_D)\ssl\ssl_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl_locl.h" "$(INCL_D)\ssl_locl.h" + +$(INCL_D)\kssl_lcl.h: $(SRC_D)\ssl\kssl_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl_lcl.h" "$(INCL_D)\kssl_lcl.h" + +$(INCL_D)\apps.h: $(SRC_D)\apps\apps.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\apps.h" "$(INCL_D)\apps.h" + +$(INCL_D)\progs.h: $(SRC_D)\apps\progs.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\progs.h" "$(INCL_D)\progs.h" + +$(INCL_D)\s_apps.h: $(SRC_D)\apps\s_apps.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\s_apps.h" "$(INCL_D)\s_apps.h" + +$(INCL_D)\testdsa.h: $(SRC_D)\apps\testdsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testdsa.h" "$(INCL_D)\testdsa.h" + +$(INCL_D)\testrsa.h: $(SRC_D)\apps\testrsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testrsa.h" "$(INCL_D)\testrsa.h" + +$(INCL_D)\e_4758cca_err.c: $(SRC_D)\engines\e_4758cca_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.c" "$(INCL_D)\e_4758cca_err.c" + +$(INCL_D)\e_4758cca_err.h: $(SRC_D)\engines\e_4758cca_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.h" "$(INCL_D)\e_4758cca_err.h" + +$(INCL_D)\e_aep_err.c: $(SRC_D)\engines\e_aep_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.c" "$(INCL_D)\e_aep_err.c" + +$(INCL_D)\e_aep_err.h: $(SRC_D)\engines\e_aep_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.h" "$(INCL_D)\e_aep_err.h" + +$(INCL_D)\e_atalla_err.c: $(SRC_D)\engines\e_atalla_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.c" "$(INCL_D)\e_atalla_err.c" + +$(INCL_D)\e_atalla_err.h: $(SRC_D)\engines\e_atalla_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.h" "$(INCL_D)\e_atalla_err.h" + +$(INCL_D)\e_cswift_err.c: $(SRC_D)\engines\e_cswift_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.c" "$(INCL_D)\e_cswift_err.c" + +$(INCL_D)\e_cswift_err.h: $(SRC_D)\engines\e_cswift_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.h" "$(INCL_D)\e_cswift_err.h" + +$(INCL_D)\e_gmp_err.c: $(SRC_D)\engines\e_gmp_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.c" "$(INCL_D)\e_gmp_err.c" + +$(INCL_D)\e_gmp_err.h: $(SRC_D)\engines\e_gmp_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.h" "$(INCL_D)\e_gmp_err.h" + +$(INCL_D)\e_chil_err.c: $(SRC_D)\engines\e_chil_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.c" "$(INCL_D)\e_chil_err.c" + +$(INCL_D)\e_chil_err.h: $(SRC_D)\engines\e_chil_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.h" "$(INCL_D)\e_chil_err.h" + +$(INCL_D)\e_nuron_err.c: $(SRC_D)\engines\e_nuron_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.c" "$(INCL_D)\e_nuron_err.c" + +$(INCL_D)\e_nuron_err.h: $(SRC_D)\engines\e_nuron_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.h" "$(INCL_D)\e_nuron_err.h" + +$(INCL_D)\e_sureware_err.c: $(SRC_D)\engines\e_sureware_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.c" "$(INCL_D)\e_sureware_err.c" + +$(INCL_D)\e_sureware_err.h: $(SRC_D)\engines\e_sureware_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.h" "$(INCL_D)\e_sureware_err.h" + +$(INCL_D)\e_ubsec_err.c: $(SRC_D)\engines\e_ubsec_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.c" "$(INCL_D)\e_ubsec_err.c" + +$(INCL_D)\e_ubsec_err.h: $(SRC_D)\engines\e_ubsec_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.h" "$(INCL_D)\e_ubsec_err.h" + +$(INCL_D)\e_capi_err.c: $(SRC_D)\engines\e_capi_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.c" "$(INCL_D)\e_capi_err.c" + +$(INCL_D)\e_capi_err.h: $(SRC_D)\engines\e_capi_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.h" "$(INCL_D)\e_capi_err.h" + +$(INCL_D)\testutil.h: $(SRC_D)\test\testutil.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\testutil.h" "$(INCL_D)\testutil.h" + +$(INCL_D)\ssltestlib.h: $(SRC_D)\test\ssltestlib.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\ssltestlib.h" "$(INCL_D)\ssltestlib.h" + +$(INCO_D)\e_os2.h: $(SRC_D)\.\e_os2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os2.h" "$(INCO_D)\e_os2.h" + +$(INCO_D)\crypto.h: $(SRC_D)\crypto\crypto.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\crypto.h" "$(INCO_D)\crypto.h" + +$(INCO_D)\opensslv.h: $(SRC_D)\crypto\opensslv.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslv.h" "$(INCO_D)\opensslv.h" + +$(INCO_D)\opensslconf.h: $(SRC_D)\crypto\opensslconf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslconf.h" "$(INCO_D)\opensslconf.h" + +$(INCO_D)\ebcdic.h: $(SRC_D)\crypto\ebcdic.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ebcdic.h" "$(INCO_D)\ebcdic.h" + +$(INCO_D)\symhacks.h: $(SRC_D)\crypto\symhacks.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\symhacks.h" "$(INCO_D)\symhacks.h" + +$(INCO_D)\ossl_typ.h: $(SRC_D)\crypto\ossl_typ.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ossl_typ.h" "$(INCO_D)\ossl_typ.h" + +$(INCO_D)\md4.h: $(SRC_D)\crypto\md4\md4.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4.h" "$(INCO_D)\md4.h" + +$(INCO_D)\md5.h: $(SRC_D)\crypto\md5\md5.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5.h" "$(INCO_D)\md5.h" + +$(INCO_D)\sha.h: $(SRC_D)\crypto\sha\sha.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha.h" "$(INCO_D)\sha.h" + +$(INCO_D)\hmac.h: $(SRC_D)\crypto\hmac\hmac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\hmac\hmac.h" "$(INCO_D)\hmac.h" + +$(INCO_D)\cmac.h: $(SRC_D)\crypto\cmac\cmac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cmac\cmac.h" "$(INCO_D)\cmac.h" + +$(INCO_D)\ripemd.h: $(SRC_D)\crypto\ripemd\ripemd.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\ripemd.h" "$(INCO_D)\ripemd.h" + +$(INCO_D)\des.h: $(SRC_D)\crypto\des\des.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des.h" "$(INCO_D)\des.h" + +$(INCO_D)\des_old.h: $(SRC_D)\crypto\des\des_old.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_old.h" "$(INCO_D)\des_old.h" + +$(INCO_D)\rc2.h: $(SRC_D)\crypto\rc2\rc2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2.h" "$(INCO_D)\rc2.h" + +$(INCO_D)\rc4.h: $(SRC_D)\crypto\rc4\rc4.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4.h" "$(INCO_D)\rc4.h" + +$(INCO_D)\blowfish.h: $(SRC_D)\crypto\bf\blowfish.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\blowfish.h" "$(INCO_D)\blowfish.h" + +$(INCO_D)\cast.h: $(SRC_D)\crypto\cast\cast.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast.h" "$(INCO_D)\cast.h" + +$(INCO_D)\aes.h: $(SRC_D)\crypto\aes\aes.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes.h" "$(INCO_D)\aes.h" + +$(INCO_D)\camellia.h: $(SRC_D)\crypto\camellia\camellia.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\camellia.h" "$(INCO_D)\camellia.h" + +$(INCO_D)\seed.h: $(SRC_D)\crypto\seed\seed.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed.h" "$(INCO_D)\seed.h" + +$(INCO_D)\modes.h: $(SRC_D)\crypto\modes\modes.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes.h" "$(INCO_D)\modes.h" + +$(INCO_D)\bn.h: $(SRC_D)\crypto\bn\bn.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn.h" "$(INCO_D)\bn.h" + +$(INCO_D)\rsa.h: $(SRC_D)\crypto\rsa\rsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rsa\rsa.h" "$(INCO_D)\rsa.h" + +$(INCO_D)\dsa.h: $(SRC_D)\crypto\dsa\dsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa.h" "$(INCO_D)\dsa.h" + +$(INCO_D)\dso.h: $(SRC_D)\crypto\dso\dso.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dso\dso.h" "$(INCO_D)\dso.h" + +$(INCO_D)\dh.h: $(SRC_D)\crypto\dh\dh.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dh\dh.h" "$(INCO_D)\dh.h" + +$(INCO_D)\ec.h: $(SRC_D)\crypto\ec\ec.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec.h" "$(INCO_D)\ec.h" + +$(INCO_D)\ecdh.h: $(SRC_D)\crypto\ecdh\ecdh.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ecdh.h" "$(INCO_D)\ecdh.h" + +$(INCO_D)\ecdsa.h: $(SRC_D)\crypto\ecdsa\ecdsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecdsa.h" "$(INCO_D)\ecdsa.h" + +$(INCO_D)\buffer.h: $(SRC_D)\crypto\buffer\buffer.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buffer\buffer.h" "$(INCO_D)\buffer.h" + +$(INCO_D)\bio.h: $(SRC_D)\crypto\bio\bio.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio.h" "$(INCO_D)\bio.h" + +$(INCO_D)\stack.h: $(SRC_D)\crypto\stack\stack.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\stack.h" "$(INCO_D)\stack.h" + +$(INCO_D)\safestack.h: $(SRC_D)\crypto\stack\safestack.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\safestack.h" "$(INCO_D)\safestack.h" + +$(INCO_D)\lhash.h: $(SRC_D)\crypto\lhash\lhash.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\lhash\lhash.h" "$(INCO_D)\lhash.h" + +$(INCO_D)\rand.h: $(SRC_D)\crypto\rand\rand.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rand\rand.h" "$(INCO_D)\rand.h" + +$(INCO_D)\err.h: $(SRC_D)\crypto\err\err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\err\err.h" "$(INCO_D)\err.h" + +$(INCO_D)\objects.h: $(SRC_D)\crypto\objects\objects.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\objects.h" "$(INCO_D)\objects.h" + +$(INCO_D)\obj_mac.h: $(SRC_D)\crypto\objects\obj_mac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_mac.h" "$(INCO_D)\obj_mac.h" + +$(INCO_D)\evp.h: $(SRC_D)\crypto\evp\evp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp.h" "$(INCO_D)\evp.h" + +$(INCO_D)\asn1.h: $(SRC_D)\crypto\asn1\asn1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1.h" "$(INCO_D)\asn1.h" + +$(INCO_D)\asn1_mac.h: $(SRC_D)\crypto\asn1\asn1_mac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_mac.h" "$(INCO_D)\asn1_mac.h" + +$(INCO_D)\asn1t.h: $(SRC_D)\crypto\asn1\asn1t.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1t.h" "$(INCO_D)\asn1t.h" + +$(INCO_D)\pem.h: $(SRC_D)\crypto\pem\pem.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem.h" "$(INCO_D)\pem.h" + +$(INCO_D)\pem2.h: $(SRC_D)\crypto\pem\pem2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem2.h" "$(INCO_D)\pem2.h" + +$(INCO_D)\x509.h: $(SRC_D)\crypto\x509\x509.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509.h" "$(INCO_D)\x509.h" + +$(INCO_D)\x509_vfy.h: $(SRC_D)\crypto\x509\x509_vfy.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509_vfy.h" "$(INCO_D)\x509_vfy.h" + +$(INCO_D)\x509v3.h: $(SRC_D)\crypto\x509v3\x509v3.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\x509v3.h" "$(INCO_D)\x509v3.h" + +$(INCO_D)\cms.h: $(SRC_D)\crypto\cms\cms.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms.h" "$(INCO_D)\cms.h" + +$(INCO_D)\conf.h: $(SRC_D)\crypto\conf\conf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf.h" "$(INCO_D)\conf.h" + +$(INCO_D)\conf_api.h: $(SRC_D)\crypto\conf\conf_api.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_api.h" "$(INCO_D)\conf_api.h" + +$(INCO_D)\txt_db.h: $(SRC_D)\crypto\txt_db\txt_db.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\txt_db\txt_db.h" "$(INCO_D)\txt_db.h" + +$(INCO_D)\pkcs7.h: $(SRC_D)\crypto\pkcs7\pkcs7.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs7\pkcs7.h" "$(INCO_D)\pkcs7.h" + +$(INCO_D)\pkcs12.h: $(SRC_D)\crypto\pkcs12\pkcs12.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs12\pkcs12.h" "$(INCO_D)\pkcs12.h" + +$(INCO_D)\comp.h: $(SRC_D)\crypto\comp\comp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\comp\comp.h" "$(INCO_D)\comp.h" + +$(INCO_D)\engine.h: $(SRC_D)\crypto\engine\engine.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\engine\engine.h" "$(INCO_D)\engine.h" + +$(INCO_D)\ocsp.h: $(SRC_D)\crypto\ocsp\ocsp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ocsp\ocsp.h" "$(INCO_D)\ocsp.h" + +$(INCO_D)\ui.h: $(SRC_D)\crypto\ui\ui.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui.h" "$(INCO_D)\ui.h" + +$(INCO_D)\ui_compat.h: $(SRC_D)\crypto\ui\ui_compat.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_compat.h" "$(INCO_D)\ui_compat.h" + +$(INCO_D)\krb5_asn.h: $(SRC_D)\crypto\krb5\krb5_asn.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\krb5\krb5_asn.h" "$(INCO_D)\krb5_asn.h" + +$(INCO_D)\pqueue.h: $(SRC_D)\crypto\pqueue\pqueue.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pqueue\pqueue.h" "$(INCO_D)\pqueue.h" + +$(INCO_D)\whrlpool.h: $(SRC_D)\crypto\whrlpool\whrlpool.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\whrlpool.h" "$(INCO_D)\whrlpool.h" + +$(INCO_D)\ts.h: $(SRC_D)\crypto\ts\ts.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ts\ts.h" "$(INCO_D)\ts.h" + +$(INCO_D)\srp.h: $(SRC_D)\crypto\srp\srp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\srp\srp.h" "$(INCO_D)\srp.h" + +$(INCO_D)\ssl.h: $(SRC_D)\ssl\ssl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl.h" "$(INCO_D)\ssl.h" + +$(INCO_D)\ssl2.h: $(SRC_D)\ssl\ssl2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl2.h" "$(INCO_D)\ssl2.h" + +$(INCO_D)\ssl3.h: $(SRC_D)\ssl\ssl3.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl3.h" "$(INCO_D)\ssl3.h" + +$(INCO_D)\ssl23.h: $(SRC_D)\ssl\ssl23.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl23.h" "$(INCO_D)\ssl23.h" + +$(INCO_D)\tls1.h: $(SRC_D)\ssl\tls1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\tls1.h" "$(INCO_D)\tls1.h" + +$(INCO_D)\dtls1.h: $(SRC_D)\ssl\dtls1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\dtls1.h" "$(INCO_D)\dtls1.h" + +$(INCO_D)\kssl.h: $(SRC_D)\ssl\kssl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl.h" "$(INCO_D)\kssl.h" + +$(INCO_D)\srtp.h: $(SRC_D)\ssl\srtp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\srtp.h" "$(INCO_D)\srtp.h" + +$(OBJ_D)\constant_time_test.obj: $(SRC_D)\crypto\constant_time_test.c + $(CC) /Fo$(OBJ_D)\constant_time_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\constant_time_test.c + +$(OBJ_D)\md4test.obj: $(SRC_D)\crypto\md4\md4test.c + $(CC) /Fo$(OBJ_D)\md4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md4\md4test.c + +$(OBJ_D)\md5test.obj: $(SRC_D)\crypto\md5\md5test.c + $(CC) /Fo$(OBJ_D)\md5test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md5\md5test.c + +$(OBJ_D)\shatest.obj: $(SRC_D)\crypto\sha\shatest.c + $(CC) /Fo$(OBJ_D)\shatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\shatest.c + +$(OBJ_D)\sha1test.obj: $(SRC_D)\crypto\sha\sha1test.c + $(CC) /Fo$(OBJ_D)\sha1test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha1test.c + +$(OBJ_D)\sha256t.obj: $(SRC_D)\crypto\sha\sha256t.c + $(CC) /Fo$(OBJ_D)\sha256t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha256t.c + +$(OBJ_D)\sha512t.obj: $(SRC_D)\crypto\sha\sha512t.c + $(CC) /Fo$(OBJ_D)\sha512t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha512t.c + +$(OBJ_D)\hmactest.obj: $(SRC_D)\crypto\hmac\hmactest.c + $(CC) /Fo$(OBJ_D)\hmactest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\hmac\hmactest.c + +$(OBJ_D)\rmdtest.obj: $(SRC_D)\crypto\ripemd\rmdtest.c + $(CC) /Fo$(OBJ_D)\rmdtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmdtest.c + +$(OBJ_D)\destest.obj: $(SRC_D)\crypto\des\destest.c + $(CC) /Fo$(OBJ_D)\destest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\des\destest.c + +$(OBJ_D)\rc2test.obj: $(SRC_D)\crypto\rc2\rc2test.c + $(CC) /Fo$(OBJ_D)\rc2test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2test.c + +$(OBJ_D)\rc4test.obj: $(SRC_D)\crypto\rc4\rc4test.c + $(CC) /Fo$(OBJ_D)\rc4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4test.c + +$(OBJ_D)\bftest.obj: $(SRC_D)\crypto\bf\bftest.c + $(CC) /Fo$(OBJ_D)\bftest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bf\bftest.c + +$(OBJ_D)\casttest.obj: $(SRC_D)\crypto\cast\casttest.c + $(CC) /Fo$(OBJ_D)\casttest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\cast\casttest.c + +$(OBJ_D)\bntest.obj: $(SRC_D)\crypto\bn\bntest.c + $(CC) /Fo$(OBJ_D)\bntest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\bntest.c + +$(OBJ_D)\exptest.obj: $(SRC_D)\crypto\bn\exptest.c + $(CC) /Fo$(OBJ_D)\exptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\exptest.c + +$(OBJ_D)\rsa_test.obj: $(SRC_D)\crypto\rsa\rsa_test.c + $(CC) /Fo$(OBJ_D)\rsa_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_test.c + +$(OBJ_D)\dsatest.obj: $(SRC_D)\crypto\dsa\dsatest.c + $(CC) /Fo$(OBJ_D)\dsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dsa\dsatest.c + +$(OBJ_D)\dhtest.obj: $(SRC_D)\crypto\dh\dhtest.c + $(CC) /Fo$(OBJ_D)\dhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dh\dhtest.c + +$(OBJ_D)\ectest.obj: $(SRC_D)\crypto\ec\ectest.c + $(CC) /Fo$(OBJ_D)\ectest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ec\ectest.c + +$(OBJ_D)\ecdhtest.obj: $(SRC_D)\crypto\ecdh\ecdhtest.c + $(CC) /Fo$(OBJ_D)\ecdhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdh\ecdhtest.c + +$(OBJ_D)\ecdsatest.obj: $(SRC_D)\crypto\ecdsa\ecdsatest.c + $(CC) /Fo$(OBJ_D)\ecdsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecdsatest.c + +$(OBJ_D)\randtest.obj: $(SRC_D)\crypto\rand\randtest.c + $(CC) /Fo$(OBJ_D)\randtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rand\randtest.c + +$(OBJ_D)\evp_test.obj: $(SRC_D)\crypto\evp\evp_test.c + $(CC) /Fo$(OBJ_D)\evp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_test.c + +$(OBJ_D)\evp_extra_test.obj: $(SRC_D)\crypto\evp\evp_extra_test.c + $(CC) /Fo$(OBJ_D)\evp_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_extra_test.c + +$(OBJ_D)\verify_extra_test.obj: $(SRC_D)\crypto\x509\verify_extra_test.c + $(CC) /Fo$(OBJ_D)\verify_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509\verify_extra_test.c + +$(OBJ_D)\v3nametest.obj: $(SRC_D)\crypto\x509v3\v3nametest.c + $(CC) /Fo$(OBJ_D)\v3nametest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3nametest.c + +$(OBJ_D)\enginetest.obj: $(SRC_D)\crypto\engine\enginetest.c + $(CC) /Fo$(OBJ_D)\enginetest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\engine\enginetest.c + +$(OBJ_D)\wp_test.obj: $(SRC_D)\crypto\whrlpool\wp_test.c + $(CC) /Fo$(OBJ_D)\wp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_test.c + +$(OBJ_D)\srptest.obj: $(SRC_D)\crypto\srp\srptest.c + $(CC) /Fo$(OBJ_D)\srptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\srp\srptest.c + +$(OBJ_D)\ssltest.obj: $(SRC_D)\ssl\ssltest.c + $(CC) /Fo$(OBJ_D)\ssltest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\ssltest.c + +$(OBJ_D)\heartbeat_test.obj: $(SRC_D)\ssl\heartbeat_test.c + $(CC) /Fo$(OBJ_D)\heartbeat_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\heartbeat_test.c + +$(OBJ_D)\clienthellotest.obj: $(SRC_D)\ssl\clienthellotest.c + $(CC) /Fo$(OBJ_D)\clienthellotest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\clienthellotest.c + +$(OBJ_D)\sslv2conftest.obj: $(SRC_D)\ssl\sslv2conftest.c + $(CC) /Fo$(OBJ_D)\sslv2conftest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\sslv2conftest.c + +$(OBJ_D)\dtlstest.obj: $(SRC_D)\ssl\dtlstest.c + $(CC) /Fo$(OBJ_D)\dtlstest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\dtlstest.c + +$(OBJ_D)\bad_dtls_test.obj: $(SRC_D)\ssl\bad_dtls_test.c + $(CC) /Fo$(OBJ_D)\bad_dtls_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\bad_dtls_test.c + +$(OBJ_D)\fatalerrtest.obj: $(SRC_D)\ssl\fatalerrtest.c + $(CC) /Fo$(OBJ_D)\fatalerrtest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\fatalerrtest.c + +$(OBJ_D)\igetest.obj: $(SRC_D)\test\igetest.c + $(CC) /Fo$(OBJ_D)\igetest.obj $(APP_CFLAGS) -c $(SRC_D)\test\igetest.c + +$(OBJ_D)\ssltestlib.obj: $(SRC_D)\test\ssltestlib.c + $(CC) /Fo$(OBJ_D)\ssltestlib.obj $(APP_CFLAGS) -c $(SRC_D)\test\ssltestlib.c + +$(OBJ_D)\verify.obj: $(SRC_D)\apps\verify.c + $(CC) /Fo$(OBJ_D)\verify.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\verify.c + +$(OBJ_D)\asn1pars.obj: $(SRC_D)\apps\asn1pars.c + $(CC) /Fo$(OBJ_D)\asn1pars.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\asn1pars.c + +$(OBJ_D)\req.obj: $(SRC_D)\apps\req.c + $(CC) /Fo$(OBJ_D)\req.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\req.c + +$(OBJ_D)\dgst.obj: $(SRC_D)\apps\dgst.c + $(CC) /Fo$(OBJ_D)\dgst.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dgst.c + +$(OBJ_D)\dh.obj: $(SRC_D)\apps\dh.c + $(CC) /Fo$(OBJ_D)\dh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dh.c + +$(OBJ_D)\dhparam.obj: $(SRC_D)\apps\dhparam.c + $(CC) /Fo$(OBJ_D)\dhparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dhparam.c + +$(OBJ_D)\enc.obj: $(SRC_D)\apps\enc.c + $(CC) /Fo$(OBJ_D)\enc.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\enc.c + +$(OBJ_D)\passwd.obj: $(SRC_D)\apps\passwd.c + $(CC) /Fo$(OBJ_D)\passwd.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\passwd.c + +$(OBJ_D)\gendh.obj: $(SRC_D)\apps\gendh.c + $(CC) /Fo$(OBJ_D)\gendh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendh.c + +$(OBJ_D)\errstr.obj: $(SRC_D)\apps\errstr.c + $(CC) /Fo$(OBJ_D)\errstr.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\errstr.c + +$(OBJ_D)\ca.obj: $(SRC_D)\apps\ca.c + $(CC) /Fo$(OBJ_D)\ca.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ca.c + +$(OBJ_D)\pkcs7.obj: $(SRC_D)\apps\pkcs7.c + $(CC) /Fo$(OBJ_D)\pkcs7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs7.c + +$(OBJ_D)\crl2p7.obj: $(SRC_D)\apps\crl2p7.c + $(CC) /Fo$(OBJ_D)\crl2p7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl2p7.c + +$(OBJ_D)\crl.obj: $(SRC_D)\apps\crl.c + $(CC) /Fo$(OBJ_D)\crl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl.c + +$(OBJ_D)\rsa.obj: $(SRC_D)\apps\rsa.c + $(CC) /Fo$(OBJ_D)\rsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsa.c + +$(OBJ_D)\rsautl.obj: $(SRC_D)\apps\rsautl.c + $(CC) /Fo$(OBJ_D)\rsautl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsautl.c + +$(OBJ_D)\dsa.obj: $(SRC_D)\apps\dsa.c + $(CC) /Fo$(OBJ_D)\dsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsa.c + +$(OBJ_D)\dsaparam.obj: $(SRC_D)\apps\dsaparam.c + $(CC) /Fo$(OBJ_D)\dsaparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsaparam.c + +$(OBJ_D)\ec.obj: $(SRC_D)\apps\ec.c + $(CC) /Fo$(OBJ_D)\ec.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ec.c + +$(OBJ_D)\ecparam.obj: $(SRC_D)\apps\ecparam.c + $(CC) /Fo$(OBJ_D)\ecparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ecparam.c + +$(OBJ_D)\x509.obj: $(SRC_D)\apps\x509.c + $(CC) /Fo$(OBJ_D)\x509.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\x509.c + +$(OBJ_D)\genrsa.obj: $(SRC_D)\apps\genrsa.c + $(CC) /Fo$(OBJ_D)\genrsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genrsa.c + +$(OBJ_D)\gendsa.obj: $(SRC_D)\apps\gendsa.c + $(CC) /Fo$(OBJ_D)\gendsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendsa.c + +$(OBJ_D)\genpkey.obj: $(SRC_D)\apps\genpkey.c + $(CC) /Fo$(OBJ_D)\genpkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genpkey.c + +$(OBJ_D)\s_server.obj: $(SRC_D)\apps\s_server.c + $(CC) /Fo$(OBJ_D)\s_server.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_server.c + +$(OBJ_D)\s_client.obj: $(SRC_D)\apps\s_client.c + $(CC) /Fo$(OBJ_D)\s_client.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_client.c + +$(OBJ_D)\speed.obj: $(SRC_D)\apps\speed.c + $(CC) /Fo$(OBJ_D)\speed.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\speed.c + +$(OBJ_D)\s_time.obj: $(SRC_D)\apps\s_time.c + $(CC) /Fo$(OBJ_D)\s_time.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_time.c + +$(OBJ_D)\apps.obj: $(SRC_D)\apps\apps.c + $(CC) /Fo$(OBJ_D)\apps.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\apps.c + +$(OBJ_D)\s_cb.obj: $(SRC_D)\apps\s_cb.c + $(CC) /Fo$(OBJ_D)\s_cb.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_cb.c + +$(OBJ_D)\s_socket.obj: $(SRC_D)\apps\s_socket.c + $(CC) /Fo$(OBJ_D)\s_socket.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_socket.c + +$(OBJ_D)\app_rand.obj: $(SRC_D)\apps\app_rand.c + $(CC) /Fo$(OBJ_D)\app_rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\app_rand.c + +$(OBJ_D)\version.obj: $(SRC_D)\apps\version.c + $(CC) /Fo$(OBJ_D)\version.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\version.c + +$(OBJ_D)\sess_id.obj: $(SRC_D)\apps\sess_id.c + $(CC) /Fo$(OBJ_D)\sess_id.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\sess_id.c + +$(OBJ_D)\ciphers.obj: $(SRC_D)\apps\ciphers.c + $(CC) /Fo$(OBJ_D)\ciphers.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ciphers.c + +$(OBJ_D)\nseq.obj: $(SRC_D)\apps\nseq.c + $(CC) /Fo$(OBJ_D)\nseq.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\nseq.c + +$(OBJ_D)\pkcs12.obj: $(SRC_D)\apps\pkcs12.c + $(CC) /Fo$(OBJ_D)\pkcs12.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs12.c + +$(OBJ_D)\pkcs8.obj: $(SRC_D)\apps\pkcs8.c + $(CC) /Fo$(OBJ_D)\pkcs8.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs8.c + +$(OBJ_D)\pkey.obj: $(SRC_D)\apps\pkey.c + $(CC) /Fo$(OBJ_D)\pkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkey.c + +$(OBJ_D)\pkeyparam.obj: $(SRC_D)\apps\pkeyparam.c + $(CC) /Fo$(OBJ_D)\pkeyparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyparam.c + +$(OBJ_D)\pkeyutl.obj: $(SRC_D)\apps\pkeyutl.c + $(CC) /Fo$(OBJ_D)\pkeyutl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyutl.c + +$(OBJ_D)\spkac.obj: $(SRC_D)\apps\spkac.c + $(CC) /Fo$(OBJ_D)\spkac.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\spkac.c + +$(OBJ_D)\smime.obj: $(SRC_D)\apps\smime.c + $(CC) /Fo$(OBJ_D)\smime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\smime.c + +$(OBJ_D)\cms.obj: $(SRC_D)\apps\cms.c + $(CC) /Fo$(OBJ_D)\cms.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\cms.c + +$(OBJ_D)\rand.obj: $(SRC_D)\apps\rand.c + $(CC) /Fo$(OBJ_D)\rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rand.c + +$(OBJ_D)\engine.obj: $(SRC_D)\apps\engine.c + $(CC) /Fo$(OBJ_D)\engine.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\engine.c + +$(OBJ_D)\ocsp.obj: $(SRC_D)\apps\ocsp.c + $(CC) /Fo$(OBJ_D)\ocsp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ocsp.c + +$(OBJ_D)\prime.obj: $(SRC_D)\apps\prime.c + $(CC) /Fo$(OBJ_D)\prime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\prime.c + +$(OBJ_D)\ts.obj: $(SRC_D)\apps\ts.c + $(CC) /Fo$(OBJ_D)\ts.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ts.c + +$(OBJ_D)\srp.obj: $(SRC_D)\apps\srp.c + $(CC) /Fo$(OBJ_D)\srp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\srp.c + +$(OBJ_D)\openssl.obj: $(SRC_D)\apps\openssl.c + $(CC) /Fo$(OBJ_D)\openssl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\openssl.c + +$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c + $(CC) /Fo$(OBJ_D)\s2_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_meth.c + +$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c + $(CC) /Fo$(OBJ_D)\s2_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_srvr.c + +$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c + $(CC) /Fo$(OBJ_D)\s2_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_clnt.c + +$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c + $(CC) /Fo$(OBJ_D)\s2_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_lib.c + +$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c + $(CC) /Fo$(OBJ_D)\s2_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_enc.c + +$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c + $(CC) /Fo$(OBJ_D)\s2_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_pkt.c + +$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c + $(CC) /Fo$(OBJ_D)\s3_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_meth.c + +$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c + $(CC) /Fo$(OBJ_D)\s3_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_srvr.c + +$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c + $(CC) /Fo$(OBJ_D)\s3_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_clnt.c + +$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c + $(CC) /Fo$(OBJ_D)\s3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_lib.c + +$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c + $(CC) /Fo$(OBJ_D)\s3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_enc.c + +$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c + $(CC) /Fo$(OBJ_D)\s3_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_pkt.c + +$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c + $(CC) /Fo$(OBJ_D)\s3_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_both.c + +$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c + $(CC) /Fo$(OBJ_D)\s3_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_cbc.c + +$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c + $(CC) /Fo$(OBJ_D)\s23_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_meth.c + +$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c + $(CC) /Fo$(OBJ_D)\s23_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_srvr.c + +$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c + $(CC) /Fo$(OBJ_D)\s23_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_clnt.c + +$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c + $(CC) /Fo$(OBJ_D)\s23_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_lib.c + +$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c + $(CC) /Fo$(OBJ_D)\s23_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_pkt.c + +$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c + $(CC) /Fo$(OBJ_D)\t1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_meth.c + +$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c + $(CC) /Fo$(OBJ_D)\t1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_srvr.c + +$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c + $(CC) /Fo$(OBJ_D)\t1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_clnt.c + +$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c + $(CC) /Fo$(OBJ_D)\t1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_lib.c + +$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c + $(CC) /Fo$(OBJ_D)\t1_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_enc.c + +$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c + $(CC) /Fo$(OBJ_D)\t1_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_ext.c + +$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c + $(CC) /Fo$(OBJ_D)\d1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_meth.c + +$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c + $(CC) /Fo$(OBJ_D)\d1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srvr.c + +$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c + $(CC) /Fo$(OBJ_D)\d1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_clnt.c + +$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c + $(CC) /Fo$(OBJ_D)\d1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_lib.c + +$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c + $(CC) /Fo$(OBJ_D)\d1_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_pkt.c + +$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c + $(CC) /Fo$(OBJ_D)\d1_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_both.c + +$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c + $(CC) /Fo$(OBJ_D)\d1_srtp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srtp.c + +$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c + $(CC) /Fo$(OBJ_D)\ssl_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_lib.c + +$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c + $(CC) /Fo$(OBJ_D)\ssl_err2.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err2.c + +$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c + $(CC) /Fo$(OBJ_D)\ssl_cert.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_cert.c + +$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c + $(CC) /Fo$(OBJ_D)\ssl_sess.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_sess.c + +$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c + $(CC) /Fo$(OBJ_D)\ssl_ciph.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_ciph.c + +$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c + $(CC) /Fo$(OBJ_D)\ssl_stat.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_stat.c + +$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c + $(CC) /Fo$(OBJ_D)\ssl_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_rsa.c + +$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c + $(CC) /Fo$(OBJ_D)\ssl_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_asn1.c + +$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c + $(CC) /Fo$(OBJ_D)\ssl_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_txt.c + +$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c + $(CC) /Fo$(OBJ_D)\ssl_algs.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_algs.c + +$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c + $(CC) /Fo$(OBJ_D)\ssl_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_conf.c + +$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c + $(CC) /Fo$(OBJ_D)\bio_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\bio_ssl.c + +$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c + $(CC) /Fo$(OBJ_D)\ssl_err.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err.c + +$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c + $(CC) /Fo$(OBJ_D)\kssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\kssl.c + +$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c + $(CC) /Fo$(OBJ_D)\t1_reneg.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_reneg.c + +$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c + $(CC) /Fo$(OBJ_D)\tls_srp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\tls_srp.c + +$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c + $(CC) /Fo$(OBJ_D)\t1_trce.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_trce.c + +$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c + $(CC) /Fo$(OBJ_D)\ssl_utst.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_utst.c + +$(OBJ_D)\cryptlib.obj: $(SRC_D)\crypto\cryptlib.c + $(CC) /Fo$(OBJ_D)\cryptlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cryptlib.c + +$(OBJ_D)\mem.obj: $(SRC_D)\crypto\mem.c + $(CC) /Fo$(OBJ_D)\mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem.c + +$(OBJ_D)\mem_dbg.obj: $(SRC_D)\crypto\mem_dbg.c + $(CC) /Fo$(OBJ_D)\mem_dbg.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem_dbg.c + +$(OBJ_D)\cversion.obj: $(SRC_D)\crypto\cversion.c + $(CC) /Fo$(OBJ_D)\cversion.obj $(LIB_CFLAGS) -DMK1MF_BUILD -DMK1MF_PLATFORM_VC_WIN32 -c $(SRC_D)\crypto\cversion.c + +$(OBJ_D)\ex_data.obj: $(SRC_D)\crypto\ex_data.c + $(CC) /Fo$(OBJ_D)\ex_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ex_data.c + +$(OBJ_D)\cpt_err.obj: $(SRC_D)\crypto\cpt_err.c + $(CC) /Fo$(OBJ_D)\cpt_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cpt_err.c + +$(OBJ_D)\ebcdic.obj: $(SRC_D)\crypto\ebcdic.c + $(CC) /Fo$(OBJ_D)\ebcdic.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ebcdic.c + +$(OBJ_D)\uid.obj: $(SRC_D)\crypto\uid.c + $(CC) /Fo$(OBJ_D)\uid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\uid.c + +$(OBJ_D)\o_time.obj: $(SRC_D)\crypto\o_time.c + $(CC) /Fo$(OBJ_D)\o_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_time.c + +$(OBJ_D)\o_str.obj: $(SRC_D)\crypto\o_str.c + $(CC) /Fo$(OBJ_D)\o_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_str.c + +$(OBJ_D)\o_dir.obj: $(SRC_D)\crypto\o_dir.c + $(CC) /Fo$(OBJ_D)\o_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_dir.c + +$(OBJ_D)\o_fips.obj: $(SRC_D)\crypto\o_fips.c + $(CC) /Fo$(OBJ_D)\o_fips.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_fips.c + +$(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c + $(CC) /Fo$(OBJ_D)\o_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_init.c + +$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c + $(CC) /Fo$(OBJ_D)\fips_ers.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\fips_ers.c + +$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c + $(CC) /Fo$(OBJ_D)\getenv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\getenv.c + +$(TMP_D)\x86cpuid.asm: crypto\x86cpuid.pl + $(PERL) crypto\x86cpuid.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\x86cpuid.obj: $(TMP_D)\x86cpuid.asm + $(ASM) -o $@ $(TMP_D)\x86cpuid.asm + +$(OBJ_D)\md4_dgst.obj: $(SRC_D)\crypto\md4\md4_dgst.c + $(CC) /Fo$(OBJ_D)\md4_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_dgst.c + +$(OBJ_D)\md4_one.obj: $(SRC_D)\crypto\md4\md4_one.c + $(CC) /Fo$(OBJ_D)\md4_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_one.c + +$(OBJ_D)\md5_dgst.obj: $(SRC_D)\crypto\md5\md5_dgst.c + $(CC) /Fo$(OBJ_D)\md5_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_dgst.c + +$(OBJ_D)\md5_one.obj: $(SRC_D)\crypto\md5\md5_one.c + $(CC) /Fo$(OBJ_D)\md5_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_one.c + +$(TMP_D)\md5-586.asm: crypto\md5\asm\md5-586.pl + $(PERL) crypto\md5\asm\md5-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\md5-586.obj: $(TMP_D)\md5-586.asm + $(ASM) -o $@ $(TMP_D)\md5-586.asm + +$(OBJ_D)\sha_dgst.obj: $(SRC_D)\crypto\sha\sha_dgst.c + $(CC) /Fo$(OBJ_D)\sha_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_dgst.c + +$(OBJ_D)\sha1dgst.obj: $(SRC_D)\crypto\sha\sha1dgst.c + $(CC) /Fo$(OBJ_D)\sha1dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1dgst.c + +$(OBJ_D)\sha_one.obj: $(SRC_D)\crypto\sha\sha_one.c + $(CC) /Fo$(OBJ_D)\sha_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_one.c + +$(OBJ_D)\sha1_one.obj: $(SRC_D)\crypto\sha\sha1_one.c + $(CC) /Fo$(OBJ_D)\sha1_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1_one.c + +$(OBJ_D)\sha256.obj: $(SRC_D)\crypto\sha\sha256.c + $(CC) /Fo$(OBJ_D)\sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha256.c + +$(OBJ_D)\sha512.obj: $(SRC_D)\crypto\sha\sha512.c + $(CC) /Fo$(OBJ_D)\sha512.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha512.c + +$(TMP_D)\sha1-586.asm: crypto\sha\asm\sha1-586.pl + $(PERL) crypto\sha\asm\sha1-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\sha1-586.obj: $(TMP_D)\sha1-586.asm + $(ASM) -o $@ $(TMP_D)\sha1-586.asm + +$(TMP_D)\sha256-586.asm: crypto\sha\asm\sha256-586.pl + $(PERL) crypto\sha\asm\sha256-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\sha256-586.obj: $(TMP_D)\sha256-586.asm + $(ASM) -o $@ $(TMP_D)\sha256-586.asm + +$(TMP_D)\sha512-586.asm: crypto\sha\asm\sha512-586.pl + $(PERL) crypto\sha\asm\sha512-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\sha512-586.obj: $(TMP_D)\sha512-586.asm + $(ASM) -o $@ $(TMP_D)\sha512-586.asm + +$(OBJ_D)\hmac.obj: $(SRC_D)\crypto\hmac\hmac.c + $(CC) /Fo$(OBJ_D)\hmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hmac.c + +$(OBJ_D)\hm_ameth.obj: $(SRC_D)\crypto\hmac\hm_ameth.c + $(CC) /Fo$(OBJ_D)\hm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_ameth.c + +$(OBJ_D)\hm_pmeth.obj: $(SRC_D)\crypto\hmac\hm_pmeth.c + $(CC) /Fo$(OBJ_D)\hm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_pmeth.c + +$(OBJ_D)\cmac.obj: $(SRC_D)\crypto\cmac\cmac.c + $(CC) /Fo$(OBJ_D)\cmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cmac.c + +$(OBJ_D)\cm_ameth.obj: $(SRC_D)\crypto\cmac\cm_ameth.c + $(CC) /Fo$(OBJ_D)\cm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_ameth.c + +$(OBJ_D)\cm_pmeth.obj: $(SRC_D)\crypto\cmac\cm_pmeth.c + $(CC) /Fo$(OBJ_D)\cm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_pmeth.c + +$(OBJ_D)\rmd_dgst.obj: $(SRC_D)\crypto\ripemd\rmd_dgst.c + $(CC) /Fo$(OBJ_D)\rmd_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_dgst.c + +$(OBJ_D)\rmd_one.obj: $(SRC_D)\crypto\ripemd\rmd_one.c + $(CC) /Fo$(OBJ_D)\rmd_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_one.c + +$(TMP_D)\rmd-586.asm: crypto\ripemd\asm\rmd-586.pl + $(PERL) crypto\ripemd\asm\rmd-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\rmd-586.obj: $(TMP_D)\rmd-586.asm + $(ASM) -o $@ $(TMP_D)\rmd-586.asm + +$(OBJ_D)\set_key.obj: $(SRC_D)\crypto\des\set_key.c + $(CC) /Fo$(OBJ_D)\set_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\set_key.c + +$(OBJ_D)\ecb_enc.obj: $(SRC_D)\crypto\des\ecb_enc.c + $(CC) /Fo$(OBJ_D)\ecb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb_enc.c + +$(OBJ_D)\cbc_enc.obj: $(SRC_D)\crypto\des\cbc_enc.c + $(CC) /Fo$(OBJ_D)\cbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_enc.c + +$(OBJ_D)\ecb3_enc.obj: $(SRC_D)\crypto\des\ecb3_enc.c + $(CC) /Fo$(OBJ_D)\ecb3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb3_enc.c + +$(OBJ_D)\cfb64enc.obj: $(SRC_D)\crypto\des\cfb64enc.c + $(CC) /Fo$(OBJ_D)\cfb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64enc.c + +$(OBJ_D)\cfb64ede.obj: $(SRC_D)\crypto\des\cfb64ede.c + $(CC) /Fo$(OBJ_D)\cfb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64ede.c + +$(OBJ_D)\cfb_enc.obj: $(SRC_D)\crypto\des\cfb_enc.c + $(CC) /Fo$(OBJ_D)\cfb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb_enc.c + +$(OBJ_D)\ofb64ede.obj: $(SRC_D)\crypto\des\ofb64ede.c + $(CC) /Fo$(OBJ_D)\ofb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64ede.c + +$(OBJ_D)\enc_read.obj: $(SRC_D)\crypto\des\enc_read.c + $(CC) /Fo$(OBJ_D)\enc_read.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_read.c + +$(OBJ_D)\enc_writ.obj: $(SRC_D)\crypto\des\enc_writ.c + $(CC) /Fo$(OBJ_D)\enc_writ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_writ.c + +$(OBJ_D)\ofb64enc.obj: $(SRC_D)\crypto\des\ofb64enc.c + $(CC) /Fo$(OBJ_D)\ofb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64enc.c + +$(OBJ_D)\ofb_enc.obj: $(SRC_D)\crypto\des\ofb_enc.c + $(CC) /Fo$(OBJ_D)\ofb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb_enc.c + +$(OBJ_D)\str2key.obj: $(SRC_D)\crypto\des\str2key.c + $(CC) /Fo$(OBJ_D)\str2key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\str2key.c + +$(OBJ_D)\pcbc_enc.obj: $(SRC_D)\crypto\des\pcbc_enc.c + $(CC) /Fo$(OBJ_D)\pcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\pcbc_enc.c + +$(OBJ_D)\qud_cksm.obj: $(SRC_D)\crypto\des\qud_cksm.c + $(CC) /Fo$(OBJ_D)\qud_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\qud_cksm.c + +$(OBJ_D)\rand_key.obj: $(SRC_D)\crypto\des\rand_key.c + $(CC) /Fo$(OBJ_D)\rand_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rand_key.c + +$(TMP_D)\des-586.asm: crypto\des\asm\des-586.pl + $(PERL) crypto\des\asm\des-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\des-586.obj: $(TMP_D)\des-586.asm + $(ASM) -o $@ $(TMP_D)\des-586.asm + +$(TMP_D)\crypt586.asm: crypto\des\asm\crypt586.pl + $(PERL) crypto\des\asm\crypt586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\crypt586.obj: $(TMP_D)\crypt586.asm + $(ASM) -o $@ $(TMP_D)\crypt586.asm + +$(OBJ_D)\fcrypt.obj: $(SRC_D)\crypto\des\fcrypt.c + $(CC) /Fo$(OBJ_D)\fcrypt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\fcrypt.c + +$(OBJ_D)\xcbc_enc.obj: $(SRC_D)\crypto\des\xcbc_enc.c + $(CC) /Fo$(OBJ_D)\xcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\xcbc_enc.c + +$(OBJ_D)\rpc_enc.obj: $(SRC_D)\crypto\des\rpc_enc.c + $(CC) /Fo$(OBJ_D)\rpc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rpc_enc.c + +$(OBJ_D)\cbc_cksm.obj: $(SRC_D)\crypto\des\cbc_cksm.c + $(CC) /Fo$(OBJ_D)\cbc_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_cksm.c + +$(OBJ_D)\ede_cbcm_enc.obj: $(SRC_D)\crypto\des\ede_cbcm_enc.c + $(CC) /Fo$(OBJ_D)\ede_cbcm_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ede_cbcm_enc.c + +$(OBJ_D)\des_old.obj: $(SRC_D)\crypto\des\des_old.c + $(CC) /Fo$(OBJ_D)\des_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old.c + +$(OBJ_D)\des_old2.obj: $(SRC_D)\crypto\des\des_old2.c + $(CC) /Fo$(OBJ_D)\des_old2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old2.c + +$(OBJ_D)\read2pwd.obj: $(SRC_D)\crypto\des\read2pwd.c + $(CC) /Fo$(OBJ_D)\read2pwd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\read2pwd.c + +$(OBJ_D)\rc2_ecb.obj: $(SRC_D)\crypto\rc2\rc2_ecb.c + $(CC) /Fo$(OBJ_D)\rc2_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_ecb.c + +$(OBJ_D)\rc2_skey.obj: $(SRC_D)\crypto\rc2\rc2_skey.c + $(CC) /Fo$(OBJ_D)\rc2_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_skey.c + +$(OBJ_D)\rc2_cbc.obj: $(SRC_D)\crypto\rc2\rc2_cbc.c + $(CC) /Fo$(OBJ_D)\rc2_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_cbc.c + +$(OBJ_D)\rc2cfb64.obj: $(SRC_D)\crypto\rc2\rc2cfb64.c + $(CC) /Fo$(OBJ_D)\rc2cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2cfb64.c + +$(OBJ_D)\rc2ofb64.obj: $(SRC_D)\crypto\rc2\rc2ofb64.c + $(CC) /Fo$(OBJ_D)\rc2ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2ofb64.c + +$(TMP_D)\rc4-586.asm: crypto\rc4\asm\rc4-586.pl + $(PERL) crypto\rc4\asm\rc4-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\rc4-586.obj: $(TMP_D)\rc4-586.asm + $(ASM) -o $@ $(TMP_D)\rc4-586.asm + +$(OBJ_D)\rc4_utl.obj: $(SRC_D)\crypto\rc4\rc4_utl.c + $(CC) /Fo$(OBJ_D)\rc4_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4_utl.c + +$(OBJ_D)\bf_skey.obj: $(SRC_D)\crypto\bf\bf_skey.c + $(CC) /Fo$(OBJ_D)\bf_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_skey.c + +$(OBJ_D)\bf_ecb.obj: $(SRC_D)\crypto\bf\bf_ecb.c + $(CC) /Fo$(OBJ_D)\bf_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ecb.c + +$(TMP_D)\bf-586.asm: crypto\bf\asm\bf-586.pl + $(PERL) crypto\bf\asm\bf-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\bf-586.obj: $(TMP_D)\bf-586.asm + $(ASM) -o $@ $(TMP_D)\bf-586.asm + +$(OBJ_D)\bf_cfb64.obj: $(SRC_D)\crypto\bf\bf_cfb64.c + $(CC) /Fo$(OBJ_D)\bf_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_cfb64.c + +$(OBJ_D)\bf_ofb64.obj: $(SRC_D)\crypto\bf\bf_ofb64.c + $(CC) /Fo$(OBJ_D)\bf_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ofb64.c + +$(OBJ_D)\c_skey.obj: $(SRC_D)\crypto\cast\c_skey.c + $(CC) /Fo$(OBJ_D)\c_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_skey.c + +$(OBJ_D)\c_ecb.obj: $(SRC_D)\crypto\cast\c_ecb.c + $(CC) /Fo$(OBJ_D)\c_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ecb.c + +$(TMP_D)\cast-586.asm: crypto\cast\asm\cast-586.pl + $(PERL) crypto\cast\asm\cast-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\cast-586.obj: $(TMP_D)\cast-586.asm + $(ASM) -o $@ $(TMP_D)\cast-586.asm + +$(OBJ_D)\c_cfb64.obj: $(SRC_D)\crypto\cast\c_cfb64.c + $(CC) /Fo$(OBJ_D)\c_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_cfb64.c + +$(OBJ_D)\c_ofb64.obj: $(SRC_D)\crypto\cast\c_ofb64.c + $(CC) /Fo$(OBJ_D)\c_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ofb64.c + +$(OBJ_D)\aes_misc.obj: $(SRC_D)\crypto\aes\aes_misc.c + $(CC) /Fo$(OBJ_D)\aes_misc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_misc.c + +$(OBJ_D)\aes_ecb.obj: $(SRC_D)\crypto\aes\aes_ecb.c + $(CC) /Fo$(OBJ_D)\aes_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ecb.c + +$(OBJ_D)\aes_cfb.obj: $(SRC_D)\crypto\aes\aes_cfb.c + $(CC) /Fo$(OBJ_D)\aes_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_cfb.c + +$(OBJ_D)\aes_ofb.obj: $(SRC_D)\crypto\aes\aes_ofb.c + $(CC) /Fo$(OBJ_D)\aes_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ofb.c + +$(OBJ_D)\aes_ctr.obj: $(SRC_D)\crypto\aes\aes_ctr.c + $(CC) /Fo$(OBJ_D)\aes_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ctr.c + +$(OBJ_D)\aes_ige.obj: $(SRC_D)\crypto\aes\aes_ige.c + $(CC) /Fo$(OBJ_D)\aes_ige.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ige.c + +$(OBJ_D)\aes_wrap.obj: $(SRC_D)\crypto\aes\aes_wrap.c + $(CC) /Fo$(OBJ_D)\aes_wrap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_wrap.c + +$(TMP_D)\aes-586.asm: crypto\aes\asm\aes-586.pl + $(PERL) crypto\aes\asm\aes-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\aes-586.obj: $(TMP_D)\aes-586.asm + $(ASM) -o $@ $(TMP_D)\aes-586.asm + +$(TMP_D)\vpaes-x86.asm: crypto\aes\asm\vpaes-x86.pl + $(PERL) crypto\aes\asm\vpaes-x86.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\vpaes-x86.obj: $(TMP_D)\vpaes-x86.asm + $(ASM) -o $@ $(TMP_D)\vpaes-x86.asm + +$(TMP_D)\aesni-x86.asm: crypto\aes\asm\aesni-x86.pl + $(PERL) crypto\aes\asm\aesni-x86.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\aesni-x86.obj: $(TMP_D)\aesni-x86.asm + $(ASM) -o $@ $(TMP_D)\aesni-x86.asm + +$(OBJ_D)\cmll_ecb.obj: $(SRC_D)\crypto\camellia\cmll_ecb.c + $(CC) /Fo$(OBJ_D)\cmll_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ecb.c + +$(OBJ_D)\cmll_ofb.obj: $(SRC_D)\crypto\camellia\cmll_ofb.c + $(CC) /Fo$(OBJ_D)\cmll_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ofb.c + +$(OBJ_D)\cmll_cfb.obj: $(SRC_D)\crypto\camellia\cmll_cfb.c + $(CC) /Fo$(OBJ_D)\cmll_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_cfb.c + +$(OBJ_D)\cmll_ctr.obj: $(SRC_D)\crypto\camellia\cmll_ctr.c + $(CC) /Fo$(OBJ_D)\cmll_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ctr.c + +$(OBJ_D)\cmll_utl.obj: $(SRC_D)\crypto\camellia\cmll_utl.c + $(CC) /Fo$(OBJ_D)\cmll_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_utl.c + +$(TMP_D)\cmll-x86.asm: crypto\camellia\asm\cmll-x86.pl + $(PERL) crypto\camellia\asm\cmll-x86.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\cmll-x86.obj: $(TMP_D)\cmll-x86.asm + $(ASM) -o $@ $(TMP_D)\cmll-x86.asm + +$(OBJ_D)\seed.obj: $(SRC_D)\crypto\seed\seed.c + $(CC) /Fo$(OBJ_D)\seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed.c + +$(OBJ_D)\seed_ecb.obj: $(SRC_D)\crypto\seed\seed_ecb.c + $(CC) /Fo$(OBJ_D)\seed_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ecb.c + +$(OBJ_D)\seed_cbc.obj: $(SRC_D)\crypto\seed\seed_cbc.c + $(CC) /Fo$(OBJ_D)\seed_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cbc.c + +$(OBJ_D)\seed_cfb.obj: $(SRC_D)\crypto\seed\seed_cfb.c + $(CC) /Fo$(OBJ_D)\seed_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cfb.c + +$(OBJ_D)\seed_ofb.obj: $(SRC_D)\crypto\seed\seed_ofb.c + $(CC) /Fo$(OBJ_D)\seed_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ofb.c + +$(OBJ_D)\cbc128.obj: $(SRC_D)\crypto\modes\cbc128.c + $(CC) /Fo$(OBJ_D)\cbc128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cbc128.c + +$(OBJ_D)\ctr128.obj: $(SRC_D)\crypto\modes\ctr128.c + $(CC) /Fo$(OBJ_D)\ctr128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ctr128.c + +$(OBJ_D)\cts128.obj: $(SRC_D)\crypto\modes\cts128.c + $(CC) /Fo$(OBJ_D)\cts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cts128.c + +$(OBJ_D)\cfb128.obj: $(SRC_D)\crypto\modes\cfb128.c + $(CC) /Fo$(OBJ_D)\cfb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cfb128.c + +$(OBJ_D)\ofb128.obj: $(SRC_D)\crypto\modes\ofb128.c + $(CC) /Fo$(OBJ_D)\ofb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ofb128.c + +$(OBJ_D)\gcm128.obj: $(SRC_D)\crypto\modes\gcm128.c + $(CC) /Fo$(OBJ_D)\gcm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\gcm128.c + +$(OBJ_D)\ccm128.obj: $(SRC_D)\crypto\modes\ccm128.c + $(CC) /Fo$(OBJ_D)\ccm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ccm128.c + +$(OBJ_D)\xts128.obj: $(SRC_D)\crypto\modes\xts128.c + $(CC) /Fo$(OBJ_D)\xts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\xts128.c + +$(OBJ_D)\wrap128.obj: $(SRC_D)\crypto\modes\wrap128.c + $(CC) /Fo$(OBJ_D)\wrap128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\wrap128.c + +$(TMP_D)\ghash-x86.asm: crypto\modes\asm\ghash-x86.pl + $(PERL) crypto\modes\asm\ghash-x86.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\ghash-x86.obj: $(TMP_D)\ghash-x86.asm + $(ASM) -o $@ $(TMP_D)\ghash-x86.asm + +$(OBJ_D)\bn_add.obj: $(SRC_D)\crypto\bn\bn_add.c + $(CC) /Fo$(OBJ_D)\bn_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_add.c + +$(OBJ_D)\bn_div.obj: $(SRC_D)\crypto\bn\bn_div.c + $(CC) /Fo$(OBJ_D)\bn_div.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_div.c + +$(OBJ_D)\bn_exp.obj: $(SRC_D)\crypto\bn\bn_exp.c + $(CC) /Fo$(OBJ_D)\bn_exp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp.c + +$(OBJ_D)\bn_lib.obj: $(SRC_D)\crypto\bn\bn_lib.c + $(CC) /Fo$(OBJ_D)\bn_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_lib.c + +$(OBJ_D)\bn_ctx.obj: $(SRC_D)\crypto\bn\bn_ctx.c + $(CC) /Fo$(OBJ_D)\bn_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_ctx.c + +$(OBJ_D)\bn_mul.obj: $(SRC_D)\crypto\bn\bn_mul.c + $(CC) /Fo$(OBJ_D)\bn_mul.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mul.c + +$(OBJ_D)\bn_mod.obj: $(SRC_D)\crypto\bn\bn_mod.c + $(CC) /Fo$(OBJ_D)\bn_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mod.c + +$(OBJ_D)\bn_print.obj: $(SRC_D)\crypto\bn\bn_print.c + $(CC) /Fo$(OBJ_D)\bn_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_print.c + +$(OBJ_D)\bn_rand.obj: $(SRC_D)\crypto\bn\bn_rand.c + $(CC) /Fo$(OBJ_D)\bn_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_rand.c + +$(OBJ_D)\bn_shift.obj: $(SRC_D)\crypto\bn\bn_shift.c + $(CC) /Fo$(OBJ_D)\bn_shift.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_shift.c + +$(OBJ_D)\bn_word.obj: $(SRC_D)\crypto\bn\bn_word.c + $(CC) /Fo$(OBJ_D)\bn_word.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_word.c + +$(OBJ_D)\bn_blind.obj: $(SRC_D)\crypto\bn\bn_blind.c + $(CC) /Fo$(OBJ_D)\bn_blind.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_blind.c + +$(OBJ_D)\bn_kron.obj: $(SRC_D)\crypto\bn\bn_kron.c + $(CC) /Fo$(OBJ_D)\bn_kron.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_kron.c + +$(OBJ_D)\bn_sqrt.obj: $(SRC_D)\crypto\bn\bn_sqrt.c + $(CC) /Fo$(OBJ_D)\bn_sqrt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqrt.c + +$(OBJ_D)\bn_gcd.obj: $(SRC_D)\crypto\bn\bn_gcd.c + $(CC) /Fo$(OBJ_D)\bn_gcd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gcd.c + +$(OBJ_D)\bn_prime.obj: $(SRC_D)\crypto\bn\bn_prime.c + $(CC) /Fo$(OBJ_D)\bn_prime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_prime.c + +$(OBJ_D)\bn_err.obj: $(SRC_D)\crypto\bn\bn_err.c + $(CC) /Fo$(OBJ_D)\bn_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_err.c + +$(OBJ_D)\bn_sqr.obj: $(SRC_D)\crypto\bn\bn_sqr.c + $(CC) /Fo$(OBJ_D)\bn_sqr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqr.c + +$(TMP_D)\bn-586.asm: crypto\bn\asm\bn-586.pl + $(PERL) crypto\bn\asm\bn-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\bn-586.obj: $(TMP_D)\bn-586.asm + $(ASM) -o $@ $(TMP_D)\bn-586.asm + +$(TMP_D)\co-586.asm: crypto\bn\asm\co-586.pl + $(PERL) crypto\bn\asm\co-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\co-586.obj: $(TMP_D)\co-586.asm + $(ASM) -o $@ $(TMP_D)\co-586.asm + +$(TMP_D)\x86-mont.asm: crypto\bn\asm\x86-mont.pl + $(PERL) crypto\bn\asm\x86-mont.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\x86-mont.obj: $(TMP_D)\x86-mont.asm + $(ASM) -o $@ $(TMP_D)\x86-mont.asm + +$(TMP_D)\x86-gf2m.asm: crypto\bn\asm\x86-gf2m.pl + $(PERL) crypto\bn\asm\x86-gf2m.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\x86-gf2m.obj: $(TMP_D)\x86-gf2m.asm + $(ASM) -o $@ $(TMP_D)\x86-gf2m.asm + +$(OBJ_D)\bn_recp.obj: $(SRC_D)\crypto\bn\bn_recp.c + $(CC) /Fo$(OBJ_D)\bn_recp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_recp.c + +$(OBJ_D)\bn_mont.obj: $(SRC_D)\crypto\bn\bn_mont.c + $(CC) /Fo$(OBJ_D)\bn_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mont.c + +$(OBJ_D)\bn_mpi.obj: $(SRC_D)\crypto\bn\bn_mpi.c + $(CC) /Fo$(OBJ_D)\bn_mpi.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mpi.c + +$(OBJ_D)\bn_exp2.obj: $(SRC_D)\crypto\bn\bn_exp2.c + $(CC) /Fo$(OBJ_D)\bn_exp2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp2.c + +$(OBJ_D)\bn_gf2m.obj: $(SRC_D)\crypto\bn\bn_gf2m.c + $(CC) /Fo$(OBJ_D)\bn_gf2m.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gf2m.c + +$(OBJ_D)\bn_nist.obj: $(SRC_D)\crypto\bn\bn_nist.c + $(CC) /Fo$(OBJ_D)\bn_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_nist.c + +$(OBJ_D)\bn_depr.obj: $(SRC_D)\crypto\bn\bn_depr.c + $(CC) /Fo$(OBJ_D)\bn_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_depr.c + +$(OBJ_D)\bn_const.obj: $(SRC_D)\crypto\bn\bn_const.c + $(CC) /Fo$(OBJ_D)\bn_const.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_const.c + +$(OBJ_D)\bn_x931p.obj: $(SRC_D)\crypto\bn\bn_x931p.c + $(CC) /Fo$(OBJ_D)\bn_x931p.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_x931p.c + +$(OBJ_D)\rsa_eay.obj: $(SRC_D)\crypto\rsa\rsa_eay.c + $(CC) /Fo$(OBJ_D)\rsa_eay.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_eay.c + +$(OBJ_D)\rsa_gen.obj: $(SRC_D)\crypto\rsa\rsa_gen.c + $(CC) /Fo$(OBJ_D)\rsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_gen.c + +$(OBJ_D)\rsa_lib.obj: $(SRC_D)\crypto\rsa\rsa_lib.c + $(CC) /Fo$(OBJ_D)\rsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_lib.c + +$(OBJ_D)\rsa_sign.obj: $(SRC_D)\crypto\rsa\rsa_sign.c + $(CC) /Fo$(OBJ_D)\rsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_sign.c + +$(OBJ_D)\rsa_saos.obj: $(SRC_D)\crypto\rsa\rsa_saos.c + $(CC) /Fo$(OBJ_D)\rsa_saos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_saos.c + +$(OBJ_D)\rsa_err.obj: $(SRC_D)\crypto\rsa\rsa_err.c + $(CC) /Fo$(OBJ_D)\rsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_err.c + +$(OBJ_D)\rsa_pk1.obj: $(SRC_D)\crypto\rsa\rsa_pk1.c + $(CC) /Fo$(OBJ_D)\rsa_pk1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pk1.c + +$(OBJ_D)\rsa_ssl.obj: $(SRC_D)\crypto\rsa\rsa_ssl.c + $(CC) /Fo$(OBJ_D)\rsa_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ssl.c + +$(OBJ_D)\rsa_none.obj: $(SRC_D)\crypto\rsa\rsa_none.c + $(CC) /Fo$(OBJ_D)\rsa_none.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_none.c + +$(OBJ_D)\rsa_oaep.obj: $(SRC_D)\crypto\rsa\rsa_oaep.c + $(CC) /Fo$(OBJ_D)\rsa_oaep.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_oaep.c + +$(OBJ_D)\rsa_chk.obj: $(SRC_D)\crypto\rsa\rsa_chk.c + $(CC) /Fo$(OBJ_D)\rsa_chk.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_chk.c + +$(OBJ_D)\rsa_null.obj: $(SRC_D)\crypto\rsa\rsa_null.c + $(CC) /Fo$(OBJ_D)\rsa_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_null.c + +$(OBJ_D)\rsa_pss.obj: $(SRC_D)\crypto\rsa\rsa_pss.c + $(CC) /Fo$(OBJ_D)\rsa_pss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pss.c + +$(OBJ_D)\rsa_x931.obj: $(SRC_D)\crypto\rsa\rsa_x931.c + $(CC) /Fo$(OBJ_D)\rsa_x931.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_x931.c + +$(OBJ_D)\rsa_asn1.obj: $(SRC_D)\crypto\rsa\rsa_asn1.c + $(CC) /Fo$(OBJ_D)\rsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_asn1.c + +$(OBJ_D)\rsa_depr.obj: $(SRC_D)\crypto\rsa\rsa_depr.c + $(CC) /Fo$(OBJ_D)\rsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_depr.c + +$(OBJ_D)\rsa_ameth.obj: $(SRC_D)\crypto\rsa\rsa_ameth.c + $(CC) /Fo$(OBJ_D)\rsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ameth.c + +$(OBJ_D)\rsa_prn.obj: $(SRC_D)\crypto\rsa\rsa_prn.c + $(CC) /Fo$(OBJ_D)\rsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_prn.c + +$(OBJ_D)\rsa_pmeth.obj: $(SRC_D)\crypto\rsa\rsa_pmeth.c + $(CC) /Fo$(OBJ_D)\rsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pmeth.c + +$(OBJ_D)\rsa_crpt.obj: $(SRC_D)\crypto\rsa\rsa_crpt.c + $(CC) /Fo$(OBJ_D)\rsa_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_crpt.c + +$(OBJ_D)\dsa_gen.obj: $(SRC_D)\crypto\dsa\dsa_gen.c + $(CC) /Fo$(OBJ_D)\dsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_gen.c + +$(OBJ_D)\dsa_key.obj: $(SRC_D)\crypto\dsa\dsa_key.c + $(CC) /Fo$(OBJ_D)\dsa_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_key.c + +$(OBJ_D)\dsa_lib.obj: $(SRC_D)\crypto\dsa\dsa_lib.c + $(CC) /Fo$(OBJ_D)\dsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_lib.c + +$(OBJ_D)\dsa_asn1.obj: $(SRC_D)\crypto\dsa\dsa_asn1.c + $(CC) /Fo$(OBJ_D)\dsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_asn1.c + +$(OBJ_D)\dsa_vrf.obj: $(SRC_D)\crypto\dsa\dsa_vrf.c + $(CC) /Fo$(OBJ_D)\dsa_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_vrf.c + +$(OBJ_D)\dsa_sign.obj: $(SRC_D)\crypto\dsa\dsa_sign.c + $(CC) /Fo$(OBJ_D)\dsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_sign.c + +$(OBJ_D)\dsa_err.obj: $(SRC_D)\crypto\dsa\dsa_err.c + $(CC) /Fo$(OBJ_D)\dsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_err.c + +$(OBJ_D)\dsa_ossl.obj: $(SRC_D)\crypto\dsa\dsa_ossl.c + $(CC) /Fo$(OBJ_D)\dsa_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ossl.c + +$(OBJ_D)\dsa_depr.obj: $(SRC_D)\crypto\dsa\dsa_depr.c + $(CC) /Fo$(OBJ_D)\dsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_depr.c + +$(OBJ_D)\dsa_ameth.obj: $(SRC_D)\crypto\dsa\dsa_ameth.c + $(CC) /Fo$(OBJ_D)\dsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ameth.c + +$(OBJ_D)\dsa_pmeth.obj: $(SRC_D)\crypto\dsa\dsa_pmeth.c + $(CC) /Fo$(OBJ_D)\dsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_pmeth.c + +$(OBJ_D)\dsa_prn.obj: $(SRC_D)\crypto\dsa\dsa_prn.c + $(CC) /Fo$(OBJ_D)\dsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_prn.c + +$(OBJ_D)\dso_dl.obj: $(SRC_D)\crypto\dso\dso_dl.c + $(CC) /Fo$(OBJ_D)\dso_dl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dl.c + +$(OBJ_D)\dso_dlfcn.obj: $(SRC_D)\crypto\dso\dso_dlfcn.c + $(CC) /Fo$(OBJ_D)\dso_dlfcn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dlfcn.c + +$(OBJ_D)\dso_err.obj: $(SRC_D)\crypto\dso\dso_err.c + $(CC) /Fo$(OBJ_D)\dso_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_err.c + +$(OBJ_D)\dso_lib.obj: $(SRC_D)\crypto\dso\dso_lib.c + $(CC) /Fo$(OBJ_D)\dso_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_lib.c + +$(OBJ_D)\dso_null.obj: $(SRC_D)\crypto\dso\dso_null.c + $(CC) /Fo$(OBJ_D)\dso_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_null.c + +$(OBJ_D)\dso_openssl.obj: $(SRC_D)\crypto\dso\dso_openssl.c + $(CC) /Fo$(OBJ_D)\dso_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_openssl.c + +$(OBJ_D)\dso_win32.obj: $(SRC_D)\crypto\dso\dso_win32.c + $(CC) /Fo$(OBJ_D)\dso_win32.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_win32.c + +$(OBJ_D)\dso_vms.obj: $(SRC_D)\crypto\dso\dso_vms.c + $(CC) /Fo$(OBJ_D)\dso_vms.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_vms.c + +$(OBJ_D)\dso_beos.obj: $(SRC_D)\crypto\dso\dso_beos.c + $(CC) /Fo$(OBJ_D)\dso_beos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_beos.c + +$(OBJ_D)\dh_asn1.obj: $(SRC_D)\crypto\dh\dh_asn1.c + $(CC) /Fo$(OBJ_D)\dh_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_asn1.c + +$(OBJ_D)\dh_gen.obj: $(SRC_D)\crypto\dh\dh_gen.c + $(CC) /Fo$(OBJ_D)\dh_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_gen.c + +$(OBJ_D)\dh_key.obj: $(SRC_D)\crypto\dh\dh_key.c + $(CC) /Fo$(OBJ_D)\dh_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_key.c + +$(OBJ_D)\dh_lib.obj: $(SRC_D)\crypto\dh\dh_lib.c + $(CC) /Fo$(OBJ_D)\dh_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_lib.c + +$(OBJ_D)\dh_check.obj: $(SRC_D)\crypto\dh\dh_check.c + $(CC) /Fo$(OBJ_D)\dh_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_check.c + +$(OBJ_D)\dh_err.obj: $(SRC_D)\crypto\dh\dh_err.c + $(CC) /Fo$(OBJ_D)\dh_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_err.c + +$(OBJ_D)\dh_depr.obj: $(SRC_D)\crypto\dh\dh_depr.c + $(CC) /Fo$(OBJ_D)\dh_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_depr.c + +$(OBJ_D)\dh_ameth.obj: $(SRC_D)\crypto\dh\dh_ameth.c + $(CC) /Fo$(OBJ_D)\dh_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_ameth.c + +$(OBJ_D)\dh_pmeth.obj: $(SRC_D)\crypto\dh\dh_pmeth.c + $(CC) /Fo$(OBJ_D)\dh_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_pmeth.c + +$(OBJ_D)\dh_prn.obj: $(SRC_D)\crypto\dh\dh_prn.c + $(CC) /Fo$(OBJ_D)\dh_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_prn.c + +$(OBJ_D)\dh_rfc5114.obj: $(SRC_D)\crypto\dh\dh_rfc5114.c + $(CC) /Fo$(OBJ_D)\dh_rfc5114.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_rfc5114.c + +$(OBJ_D)\dh_kdf.obj: $(SRC_D)\crypto\dh\dh_kdf.c + $(CC) /Fo$(OBJ_D)\dh_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_kdf.c + +$(OBJ_D)\ec_lib.obj: $(SRC_D)\crypto\ec\ec_lib.c + $(CC) /Fo$(OBJ_D)\ec_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_lib.c + +$(OBJ_D)\ecp_smpl.obj: $(SRC_D)\crypto\ec\ecp_smpl.c + $(CC) /Fo$(OBJ_D)\ecp_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_smpl.c + +$(OBJ_D)\ecp_mont.obj: $(SRC_D)\crypto\ec\ecp_mont.c + $(CC) /Fo$(OBJ_D)\ecp_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_mont.c + +$(OBJ_D)\ecp_nist.obj: $(SRC_D)\crypto\ec\ecp_nist.c + $(CC) /Fo$(OBJ_D)\ecp_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nist.c + +$(OBJ_D)\ec_cvt.obj: $(SRC_D)\crypto\ec\ec_cvt.c + $(CC) /Fo$(OBJ_D)\ec_cvt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_cvt.c + +$(OBJ_D)\ec_mult.obj: $(SRC_D)\crypto\ec\ec_mult.c + $(CC) /Fo$(OBJ_D)\ec_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_mult.c + +$(OBJ_D)\ec_err.obj: $(SRC_D)\crypto\ec\ec_err.c + $(CC) /Fo$(OBJ_D)\ec_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_err.c + +$(OBJ_D)\ec_curve.obj: $(SRC_D)\crypto\ec\ec_curve.c + $(CC) /Fo$(OBJ_D)\ec_curve.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_curve.c + +$(OBJ_D)\ec_check.obj: $(SRC_D)\crypto\ec\ec_check.c + $(CC) /Fo$(OBJ_D)\ec_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_check.c + +$(OBJ_D)\ec_print.obj: $(SRC_D)\crypto\ec\ec_print.c + $(CC) /Fo$(OBJ_D)\ec_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_print.c + +$(OBJ_D)\ec_asn1.obj: $(SRC_D)\crypto\ec\ec_asn1.c + $(CC) /Fo$(OBJ_D)\ec_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_asn1.c + +$(OBJ_D)\ec_key.obj: $(SRC_D)\crypto\ec\ec_key.c + $(CC) /Fo$(OBJ_D)\ec_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_key.c + +$(OBJ_D)\ec2_smpl.obj: $(SRC_D)\crypto\ec\ec2_smpl.c + $(CC) /Fo$(OBJ_D)\ec2_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_smpl.c + +$(OBJ_D)\ec2_mult.obj: $(SRC_D)\crypto\ec\ec2_mult.c + $(CC) /Fo$(OBJ_D)\ec2_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_mult.c + +$(OBJ_D)\ec_ameth.obj: $(SRC_D)\crypto\ec\ec_ameth.c + $(CC) /Fo$(OBJ_D)\ec_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_ameth.c + +$(OBJ_D)\ec_pmeth.obj: $(SRC_D)\crypto\ec\ec_pmeth.c + $(CC) /Fo$(OBJ_D)\ec_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_pmeth.c + +$(OBJ_D)\eck_prn.obj: $(SRC_D)\crypto\ec\eck_prn.c + $(CC) /Fo$(OBJ_D)\eck_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\eck_prn.c + +$(OBJ_D)\ecp_nistp224.obj: $(SRC_D)\crypto\ec\ecp_nistp224.c + $(CC) /Fo$(OBJ_D)\ecp_nistp224.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp224.c + +$(OBJ_D)\ecp_nistp256.obj: $(SRC_D)\crypto\ec\ecp_nistp256.c + $(CC) /Fo$(OBJ_D)\ecp_nistp256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp256.c + +$(OBJ_D)\ecp_nistp521.obj: $(SRC_D)\crypto\ec\ecp_nistp521.c + $(CC) /Fo$(OBJ_D)\ecp_nistp521.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp521.c + +$(OBJ_D)\ecp_nistputil.obj: $(SRC_D)\crypto\ec\ecp_nistputil.c + $(CC) /Fo$(OBJ_D)\ecp_nistputil.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistputil.c + +$(OBJ_D)\ecp_oct.obj: $(SRC_D)\crypto\ec\ecp_oct.c + $(CC) /Fo$(OBJ_D)\ecp_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_oct.c + +$(OBJ_D)\ec2_oct.obj: $(SRC_D)\crypto\ec\ec2_oct.c + $(CC) /Fo$(OBJ_D)\ec2_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_oct.c + +$(OBJ_D)\ec_oct.obj: $(SRC_D)\crypto\ec\ec_oct.c + $(CC) /Fo$(OBJ_D)\ec_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_oct.c + +$(OBJ_D)\ech_lib.obj: $(SRC_D)\crypto\ecdh\ech_lib.c + $(CC) /Fo$(OBJ_D)\ech_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_lib.c + +$(OBJ_D)\ech_ossl.obj: $(SRC_D)\crypto\ecdh\ech_ossl.c + $(CC) /Fo$(OBJ_D)\ech_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_ossl.c + +$(OBJ_D)\ech_key.obj: $(SRC_D)\crypto\ecdh\ech_key.c + $(CC) /Fo$(OBJ_D)\ech_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_key.c + +$(OBJ_D)\ech_err.obj: $(SRC_D)\crypto\ecdh\ech_err.c + $(CC) /Fo$(OBJ_D)\ech_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_err.c + +$(OBJ_D)\ech_kdf.obj: $(SRC_D)\crypto\ecdh\ech_kdf.c + $(CC) /Fo$(OBJ_D)\ech_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_kdf.c + +$(OBJ_D)\ecs_lib.obj: $(SRC_D)\crypto\ecdsa\ecs_lib.c + $(CC) /Fo$(OBJ_D)\ecs_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_lib.c + +$(OBJ_D)\ecs_asn1.obj: $(SRC_D)\crypto\ecdsa\ecs_asn1.c + $(CC) /Fo$(OBJ_D)\ecs_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_asn1.c + +$(OBJ_D)\ecs_ossl.obj: $(SRC_D)\crypto\ecdsa\ecs_ossl.c + $(CC) /Fo$(OBJ_D)\ecs_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_ossl.c + +$(OBJ_D)\ecs_sign.obj: $(SRC_D)\crypto\ecdsa\ecs_sign.c + $(CC) /Fo$(OBJ_D)\ecs_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_sign.c + +$(OBJ_D)\ecs_vrf.obj: $(SRC_D)\crypto\ecdsa\ecs_vrf.c + $(CC) /Fo$(OBJ_D)\ecs_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_vrf.c + +$(OBJ_D)\ecs_err.obj: $(SRC_D)\crypto\ecdsa\ecs_err.c + $(CC) /Fo$(OBJ_D)\ecs_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_err.c + +$(OBJ_D)\buffer.obj: $(SRC_D)\crypto\buffer\buffer.c + $(CC) /Fo$(OBJ_D)\buffer.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buffer.c + +$(OBJ_D)\buf_str.obj: $(SRC_D)\crypto\buffer\buf_str.c + $(CC) /Fo$(OBJ_D)\buf_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_str.c + +$(OBJ_D)\buf_err.obj: $(SRC_D)\crypto\buffer\buf_err.c + $(CC) /Fo$(OBJ_D)\buf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_err.c + +$(OBJ_D)\bio_lib.obj: $(SRC_D)\crypto\bio\bio_lib.c + $(CC) /Fo$(OBJ_D)\bio_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_lib.c + +$(OBJ_D)\bio_cb.obj: $(SRC_D)\crypto\bio\bio_cb.c + $(CC) /Fo$(OBJ_D)\bio_cb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_cb.c + +$(OBJ_D)\bio_err.obj: $(SRC_D)\crypto\bio\bio_err.c + $(CC) /Fo$(OBJ_D)\bio_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_err.c + +$(OBJ_D)\bss_mem.obj: $(SRC_D)\crypto\bio\bss_mem.c + $(CC) /Fo$(OBJ_D)\bss_mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_mem.c + +$(OBJ_D)\bss_null.obj: $(SRC_D)\crypto\bio\bss_null.c + $(CC) /Fo$(OBJ_D)\bss_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_null.c + +$(OBJ_D)\bss_fd.obj: $(SRC_D)\crypto\bio\bss_fd.c + $(CC) /Fo$(OBJ_D)\bss_fd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_fd.c + +$(OBJ_D)\bss_file.obj: $(SRC_D)\crypto\bio\bss_file.c + $(CC) /Fo$(OBJ_D)\bss_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_file.c + +$(OBJ_D)\bss_sock.obj: $(SRC_D)\crypto\bio\bss_sock.c + $(CC) /Fo$(OBJ_D)\bss_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_sock.c + +$(OBJ_D)\bss_conn.obj: $(SRC_D)\crypto\bio\bss_conn.c + $(CC) /Fo$(OBJ_D)\bss_conn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_conn.c + +$(OBJ_D)\bf_null.obj: $(SRC_D)\crypto\bio\bf_null.c + $(CC) /Fo$(OBJ_D)\bf_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_null.c + +$(OBJ_D)\bf_buff.obj: $(SRC_D)\crypto\bio\bf_buff.c + $(CC) /Fo$(OBJ_D)\bf_buff.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_buff.c + +$(OBJ_D)\b_print.obj: $(SRC_D)\crypto\bio\b_print.c + $(CC) /Fo$(OBJ_D)\b_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_print.c + +$(OBJ_D)\b_dump.obj: $(SRC_D)\crypto\bio\b_dump.c + $(CC) /Fo$(OBJ_D)\b_dump.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_dump.c + +$(OBJ_D)\b_sock.obj: $(SRC_D)\crypto\bio\b_sock.c + $(CC) /Fo$(OBJ_D)\b_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_sock.c + +$(OBJ_D)\bss_acpt.obj: $(SRC_D)\crypto\bio\bss_acpt.c + $(CC) /Fo$(OBJ_D)\bss_acpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_acpt.c + +$(OBJ_D)\bf_nbio.obj: $(SRC_D)\crypto\bio\bf_nbio.c + $(CC) /Fo$(OBJ_D)\bf_nbio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_nbio.c + +$(OBJ_D)\bss_log.obj: $(SRC_D)\crypto\bio\bss_log.c + $(CC) /Fo$(OBJ_D)\bss_log.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_log.c + +$(OBJ_D)\bss_bio.obj: $(SRC_D)\crypto\bio\bss_bio.c + $(CC) /Fo$(OBJ_D)\bss_bio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_bio.c + +$(OBJ_D)\bss_dgram.obj: $(SRC_D)\crypto\bio\bss_dgram.c + $(CC) /Fo$(OBJ_D)\bss_dgram.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_dgram.c + +$(OBJ_D)\stack.obj: $(SRC_D)\crypto\stack\stack.c + $(CC) /Fo$(OBJ_D)\stack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\stack\stack.c + +$(OBJ_D)\lhash.obj: $(SRC_D)\crypto\lhash\lhash.c + $(CC) /Fo$(OBJ_D)\lhash.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lhash.c + +$(OBJ_D)\lh_stats.obj: $(SRC_D)\crypto\lhash\lh_stats.c + $(CC) /Fo$(OBJ_D)\lh_stats.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lh_stats.c + +$(OBJ_D)\md_rand.obj: $(SRC_D)\crypto\rand\md_rand.c + $(CC) /Fo$(OBJ_D)\md_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\md_rand.c + +$(OBJ_D)\randfile.obj: $(SRC_D)\crypto\rand\randfile.c + $(CC) /Fo$(OBJ_D)\randfile.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\randfile.c + +$(OBJ_D)\rand_lib.obj: $(SRC_D)\crypto\rand\rand_lib.c + $(CC) /Fo$(OBJ_D)\rand_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_lib.c + +$(OBJ_D)\rand_err.obj: $(SRC_D)\crypto\rand\rand_err.c + $(CC) /Fo$(OBJ_D)\rand_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_err.c + +$(OBJ_D)\rand_egd.obj: $(SRC_D)\crypto\rand\rand_egd.c + $(CC) /Fo$(OBJ_D)\rand_egd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_egd.c + +$(OBJ_D)\rand_win.obj: $(SRC_D)\crypto\rand\rand_win.c + $(CC) /Fo$(OBJ_D)\rand_win.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_win.c + +$(OBJ_D)\rand_unix.obj: $(SRC_D)\crypto\rand\rand_unix.c + $(CC) /Fo$(OBJ_D)\rand_unix.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_unix.c + +$(OBJ_D)\rand_os2.obj: $(SRC_D)\crypto\rand\rand_os2.c + $(CC) /Fo$(OBJ_D)\rand_os2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_os2.c + +$(OBJ_D)\rand_nw.obj: $(SRC_D)\crypto\rand\rand_nw.c + $(CC) /Fo$(OBJ_D)\rand_nw.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_nw.c + +$(OBJ_D)\err.obj: $(SRC_D)\crypto\err\err.c + $(CC) /Fo$(OBJ_D)\err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err.c + +$(OBJ_D)\err_all.obj: $(SRC_D)\crypto\err\err_all.c + $(CC) /Fo$(OBJ_D)\err_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_all.c + +$(OBJ_D)\err_prn.obj: $(SRC_D)\crypto\err\err_prn.c + $(CC) /Fo$(OBJ_D)\err_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_prn.c + +$(OBJ_D)\o_names.obj: $(SRC_D)\crypto\objects\o_names.c + $(CC) /Fo$(OBJ_D)\o_names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\o_names.c + +$(OBJ_D)\obj_dat.obj: $(SRC_D)\crypto\objects\obj_dat.c + $(CC) /Fo$(OBJ_D)\obj_dat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_dat.c + +$(OBJ_D)\obj_lib.obj: $(SRC_D)\crypto\objects\obj_lib.c + $(CC) /Fo$(OBJ_D)\obj_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_lib.c + +$(OBJ_D)\obj_err.obj: $(SRC_D)\crypto\objects\obj_err.c + $(CC) /Fo$(OBJ_D)\obj_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_err.c + +$(OBJ_D)\obj_xref.obj: $(SRC_D)\crypto\objects\obj_xref.c + $(CC) /Fo$(OBJ_D)\obj_xref.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_xref.c + +$(OBJ_D)\encode.obj: $(SRC_D)\crypto\evp\encode.c + $(CC) /Fo$(OBJ_D)\encode.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\encode.c + +$(OBJ_D)\digest.obj: $(SRC_D)\crypto\evp\digest.c + $(CC) /Fo$(OBJ_D)\digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\digest.c + +$(OBJ_D)\evp_enc.obj: $(SRC_D)\crypto\evp\evp_enc.c + $(CC) /Fo$(OBJ_D)\evp_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_enc.c + +$(OBJ_D)\evp_key.obj: $(SRC_D)\crypto\evp\evp_key.c + $(CC) /Fo$(OBJ_D)\evp_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_key.c + +$(OBJ_D)\evp_acnf.obj: $(SRC_D)\crypto\evp\evp_acnf.c + $(CC) /Fo$(OBJ_D)\evp_acnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_acnf.c + +$(OBJ_D)\evp_cnf.obj: $(SRC_D)\crypto\evp\evp_cnf.c + $(CC) /Fo$(OBJ_D)\evp_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_cnf.c + +$(OBJ_D)\e_des.obj: $(SRC_D)\crypto\evp\e_des.c + $(CC) /Fo$(OBJ_D)\e_des.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des.c + +$(OBJ_D)\e_bf.obj: $(SRC_D)\crypto\evp\e_bf.c + $(CC) /Fo$(OBJ_D)\e_bf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_bf.c + +$(OBJ_D)\e_idea.obj: $(SRC_D)\crypto\evp\e_idea.c + $(CC) /Fo$(OBJ_D)\e_idea.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_idea.c + +$(OBJ_D)\e_des3.obj: $(SRC_D)\crypto\evp\e_des3.c + $(CC) /Fo$(OBJ_D)\e_des3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des3.c + +$(OBJ_D)\e_camellia.obj: $(SRC_D)\crypto\evp\e_camellia.c + $(CC) /Fo$(OBJ_D)\e_camellia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_camellia.c + +$(OBJ_D)\e_rc4.obj: $(SRC_D)\crypto\evp\e_rc4.c + $(CC) /Fo$(OBJ_D)\e_rc4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4.c + +$(OBJ_D)\e_aes.obj: $(SRC_D)\crypto\evp\e_aes.c + $(CC) /Fo$(OBJ_D)\e_aes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes.c + +$(OBJ_D)\names.obj: $(SRC_D)\crypto\evp\names.c + $(CC) /Fo$(OBJ_D)\names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\names.c + +$(OBJ_D)\e_seed.obj: $(SRC_D)\crypto\evp\e_seed.c + $(CC) /Fo$(OBJ_D)\e_seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_seed.c + +$(OBJ_D)\e_xcbc_d.obj: $(SRC_D)\crypto\evp\e_xcbc_d.c + $(CC) /Fo$(OBJ_D)\e_xcbc_d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_xcbc_d.c + +$(OBJ_D)\e_rc2.obj: $(SRC_D)\crypto\evp\e_rc2.c + $(CC) /Fo$(OBJ_D)\e_rc2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc2.c + +$(OBJ_D)\e_cast.obj: $(SRC_D)\crypto\evp\e_cast.c + $(CC) /Fo$(OBJ_D)\e_cast.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_cast.c + +$(OBJ_D)\e_rc5.obj: $(SRC_D)\crypto\evp\e_rc5.c + $(CC) /Fo$(OBJ_D)\e_rc5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc5.c + +$(OBJ_D)\m_null.obj: $(SRC_D)\crypto\evp\m_null.c + $(CC) /Fo$(OBJ_D)\m_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_null.c + +$(OBJ_D)\m_md4.obj: $(SRC_D)\crypto\evp\m_md4.c + $(CC) /Fo$(OBJ_D)\m_md4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md4.c + +$(OBJ_D)\m_md5.obj: $(SRC_D)\crypto\evp\m_md5.c + $(CC) /Fo$(OBJ_D)\m_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md5.c + +$(OBJ_D)\m_sha.obj: $(SRC_D)\crypto\evp\m_sha.c + $(CC) /Fo$(OBJ_D)\m_sha.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha.c + +$(OBJ_D)\m_sha1.obj: $(SRC_D)\crypto\evp\m_sha1.c + $(CC) /Fo$(OBJ_D)\m_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha1.c + +$(OBJ_D)\m_wp.obj: $(SRC_D)\crypto\evp\m_wp.c + $(CC) /Fo$(OBJ_D)\m_wp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_wp.c + +$(OBJ_D)\m_dss.obj: $(SRC_D)\crypto\evp\m_dss.c + $(CC) /Fo$(OBJ_D)\m_dss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss.c + +$(OBJ_D)\m_dss1.obj: $(SRC_D)\crypto\evp\m_dss1.c + $(CC) /Fo$(OBJ_D)\m_dss1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss1.c + +$(OBJ_D)\m_ripemd.obj: $(SRC_D)\crypto\evp\m_ripemd.c + $(CC) /Fo$(OBJ_D)\m_ripemd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ripemd.c + +$(OBJ_D)\m_ecdsa.obj: $(SRC_D)\crypto\evp\m_ecdsa.c + $(CC) /Fo$(OBJ_D)\m_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ecdsa.c + +$(OBJ_D)\p_open.obj: $(SRC_D)\crypto\evp\p_open.c + $(CC) /Fo$(OBJ_D)\p_open.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_open.c + +$(OBJ_D)\p_seal.obj: $(SRC_D)\crypto\evp\p_seal.c + $(CC) /Fo$(OBJ_D)\p_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_seal.c + +$(OBJ_D)\p_sign.obj: $(SRC_D)\crypto\evp\p_sign.c + $(CC) /Fo$(OBJ_D)\p_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_sign.c + +$(OBJ_D)\p_verify.obj: $(SRC_D)\crypto\evp\p_verify.c + $(CC) /Fo$(OBJ_D)\p_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_verify.c + +$(OBJ_D)\p_lib.obj: $(SRC_D)\crypto\evp\p_lib.c + $(CC) /Fo$(OBJ_D)\p_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_lib.c + +$(OBJ_D)\p_enc.obj: $(SRC_D)\crypto\evp\p_enc.c + $(CC) /Fo$(OBJ_D)\p_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_enc.c + +$(OBJ_D)\p_dec.obj: $(SRC_D)\crypto\evp\p_dec.c + $(CC) /Fo$(OBJ_D)\p_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_dec.c + +$(OBJ_D)\bio_md.obj: $(SRC_D)\crypto\evp\bio_md.c + $(CC) /Fo$(OBJ_D)\bio_md.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_md.c + +$(OBJ_D)\bio_b64.obj: $(SRC_D)\crypto\evp\bio_b64.c + $(CC) /Fo$(OBJ_D)\bio_b64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_b64.c + +$(OBJ_D)\bio_enc.obj: $(SRC_D)\crypto\evp\bio_enc.c + $(CC) /Fo$(OBJ_D)\bio_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_enc.c + +$(OBJ_D)\evp_err.obj: $(SRC_D)\crypto\evp\evp_err.c + $(CC) /Fo$(OBJ_D)\evp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_err.c + +$(OBJ_D)\e_null.obj: $(SRC_D)\crypto\evp\e_null.c + $(CC) /Fo$(OBJ_D)\e_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_null.c + +$(OBJ_D)\c_all.obj: $(SRC_D)\crypto\evp\c_all.c + $(CC) /Fo$(OBJ_D)\c_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_all.c + +$(OBJ_D)\c_allc.obj: $(SRC_D)\crypto\evp\c_allc.c + $(CC) /Fo$(OBJ_D)\c_allc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_allc.c + +$(OBJ_D)\c_alld.obj: $(SRC_D)\crypto\evp\c_alld.c + $(CC) /Fo$(OBJ_D)\c_alld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_alld.c + +$(OBJ_D)\evp_lib.obj: $(SRC_D)\crypto\evp\evp_lib.c + $(CC) /Fo$(OBJ_D)\evp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_lib.c + +$(OBJ_D)\bio_ok.obj: $(SRC_D)\crypto\evp\bio_ok.c + $(CC) /Fo$(OBJ_D)\bio_ok.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_ok.c + +$(OBJ_D)\evp_pkey.obj: $(SRC_D)\crypto\evp\evp_pkey.c + $(CC) /Fo$(OBJ_D)\evp_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pkey.c + +$(OBJ_D)\evp_pbe.obj: $(SRC_D)\crypto\evp\evp_pbe.c + $(CC) /Fo$(OBJ_D)\evp_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pbe.c + +$(OBJ_D)\p5_crpt.obj: $(SRC_D)\crypto\evp\p5_crpt.c + $(CC) /Fo$(OBJ_D)\p5_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt.c + +$(OBJ_D)\p5_crpt2.obj: $(SRC_D)\crypto\evp\p5_crpt2.c + $(CC) /Fo$(OBJ_D)\p5_crpt2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt2.c + +$(OBJ_D)\e_old.obj: $(SRC_D)\crypto\evp\e_old.c + $(CC) /Fo$(OBJ_D)\e_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_old.c + +$(OBJ_D)\pmeth_lib.obj: $(SRC_D)\crypto\evp\pmeth_lib.c + $(CC) /Fo$(OBJ_D)\pmeth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_lib.c + +$(OBJ_D)\pmeth_fn.obj: $(SRC_D)\crypto\evp\pmeth_fn.c + $(CC) /Fo$(OBJ_D)\pmeth_fn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_fn.c + +$(OBJ_D)\pmeth_gn.obj: $(SRC_D)\crypto\evp\pmeth_gn.c + $(CC) /Fo$(OBJ_D)\pmeth_gn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_gn.c + +$(OBJ_D)\m_sigver.obj: $(SRC_D)\crypto\evp\m_sigver.c + $(CC) /Fo$(OBJ_D)\m_sigver.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sigver.c + +$(OBJ_D)\e_aes_cbc_hmac_sha1.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c + $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c + +$(OBJ_D)\e_aes_cbc_hmac_sha256.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c + $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c + +$(OBJ_D)\e_rc4_hmac_md5.obj: $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c + $(CC) /Fo$(OBJ_D)\e_rc4_hmac_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c + +$(OBJ_D)\a_object.obj: $(SRC_D)\crypto\asn1\a_object.c + $(CC) /Fo$(OBJ_D)\a_object.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_object.c + +$(OBJ_D)\a_bitstr.obj: $(SRC_D)\crypto\asn1\a_bitstr.c + $(CC) /Fo$(OBJ_D)\a_bitstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bitstr.c + +$(OBJ_D)\a_utctm.obj: $(SRC_D)\crypto\asn1\a_utctm.c + $(CC) /Fo$(OBJ_D)\a_utctm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utctm.c + +$(OBJ_D)\a_gentm.obj: $(SRC_D)\crypto\asn1\a_gentm.c + $(CC) /Fo$(OBJ_D)\a_gentm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_gentm.c + +$(OBJ_D)\a_time.obj: $(SRC_D)\crypto\asn1\a_time.c + $(CC) /Fo$(OBJ_D)\a_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_time.c + +$(OBJ_D)\a_int.obj: $(SRC_D)\crypto\asn1\a_int.c + $(CC) /Fo$(OBJ_D)\a_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_int.c + +$(OBJ_D)\a_octet.obj: $(SRC_D)\crypto\asn1\a_octet.c + $(CC) /Fo$(OBJ_D)\a_octet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_octet.c + +$(OBJ_D)\a_print.obj: $(SRC_D)\crypto\asn1\a_print.c + $(CC) /Fo$(OBJ_D)\a_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_print.c + +$(OBJ_D)\a_type.obj: $(SRC_D)\crypto\asn1\a_type.c + $(CC) /Fo$(OBJ_D)\a_type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_type.c + +$(OBJ_D)\a_set.obj: $(SRC_D)\crypto\asn1\a_set.c + $(CC) /Fo$(OBJ_D)\a_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_set.c + +$(OBJ_D)\a_dup.obj: $(SRC_D)\crypto\asn1\a_dup.c + $(CC) /Fo$(OBJ_D)\a_dup.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_dup.c + +$(OBJ_D)\a_d2i_fp.obj: $(SRC_D)\crypto\asn1\a_d2i_fp.c + $(CC) /Fo$(OBJ_D)\a_d2i_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_d2i_fp.c + +$(OBJ_D)\a_i2d_fp.obj: $(SRC_D)\crypto\asn1\a_i2d_fp.c + $(CC) /Fo$(OBJ_D)\a_i2d_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_i2d_fp.c + +$(OBJ_D)\a_enum.obj: $(SRC_D)\crypto\asn1\a_enum.c + $(CC) /Fo$(OBJ_D)\a_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_enum.c + +$(OBJ_D)\a_utf8.obj: $(SRC_D)\crypto\asn1\a_utf8.c + $(CC) /Fo$(OBJ_D)\a_utf8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utf8.c + +$(OBJ_D)\a_sign.obj: $(SRC_D)\crypto\asn1\a_sign.c + $(CC) /Fo$(OBJ_D)\a_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_sign.c + +$(OBJ_D)\a_digest.obj: $(SRC_D)\crypto\asn1\a_digest.c + $(CC) /Fo$(OBJ_D)\a_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_digest.c + +$(OBJ_D)\a_verify.obj: $(SRC_D)\crypto\asn1\a_verify.c + $(CC) /Fo$(OBJ_D)\a_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_verify.c + +$(OBJ_D)\a_mbstr.obj: $(SRC_D)\crypto\asn1\a_mbstr.c + $(CC) /Fo$(OBJ_D)\a_mbstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_mbstr.c + +$(OBJ_D)\a_strex.obj: $(SRC_D)\crypto\asn1\a_strex.c + $(CC) /Fo$(OBJ_D)\a_strex.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strex.c + +$(OBJ_D)\x_algor.obj: $(SRC_D)\crypto\asn1\x_algor.c + $(CC) /Fo$(OBJ_D)\x_algor.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_algor.c + +$(OBJ_D)\x_val.obj: $(SRC_D)\crypto\asn1\x_val.c + $(CC) /Fo$(OBJ_D)\x_val.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_val.c + +$(OBJ_D)\x_pubkey.obj: $(SRC_D)\crypto\asn1\x_pubkey.c + $(CC) /Fo$(OBJ_D)\x_pubkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pubkey.c + +$(OBJ_D)\x_sig.obj: $(SRC_D)\crypto\asn1\x_sig.c + $(CC) /Fo$(OBJ_D)\x_sig.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_sig.c + +$(OBJ_D)\x_req.obj: $(SRC_D)\crypto\asn1\x_req.c + $(CC) /Fo$(OBJ_D)\x_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_req.c + +$(OBJ_D)\x_attrib.obj: $(SRC_D)\crypto\asn1\x_attrib.c + $(CC) /Fo$(OBJ_D)\x_attrib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_attrib.c + +$(OBJ_D)\x_bignum.obj: $(SRC_D)\crypto\asn1\x_bignum.c + $(CC) /Fo$(OBJ_D)\x_bignum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_bignum.c + +$(OBJ_D)\x_long.obj: $(SRC_D)\crypto\asn1\x_long.c + $(CC) /Fo$(OBJ_D)\x_long.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_long.c + +$(OBJ_D)\x_name.obj: $(SRC_D)\crypto\asn1\x_name.c + $(CC) /Fo$(OBJ_D)\x_name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_name.c + +$(OBJ_D)\x_x509.obj: $(SRC_D)\crypto\asn1\x_x509.c + $(CC) /Fo$(OBJ_D)\x_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509.c + +$(OBJ_D)\x_x509a.obj: $(SRC_D)\crypto\asn1\x_x509a.c + $(CC) /Fo$(OBJ_D)\x_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509a.c + +$(OBJ_D)\x_crl.obj: $(SRC_D)\crypto\asn1\x_crl.c + $(CC) /Fo$(OBJ_D)\x_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_crl.c + +$(OBJ_D)\x_info.obj: $(SRC_D)\crypto\asn1\x_info.c + $(CC) /Fo$(OBJ_D)\x_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_info.c + +$(OBJ_D)\x_spki.obj: $(SRC_D)\crypto\asn1\x_spki.c + $(CC) /Fo$(OBJ_D)\x_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_spki.c + +$(OBJ_D)\nsseq.obj: $(SRC_D)\crypto\asn1\nsseq.c + $(CC) /Fo$(OBJ_D)\nsseq.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\nsseq.c + +$(OBJ_D)\x_nx509.obj: $(SRC_D)\crypto\asn1\x_nx509.c + $(CC) /Fo$(OBJ_D)\x_nx509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_nx509.c + +$(OBJ_D)\d2i_pu.obj: $(SRC_D)\crypto\asn1\d2i_pu.c + $(CC) /Fo$(OBJ_D)\d2i_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pu.c + +$(OBJ_D)\d2i_pr.obj: $(SRC_D)\crypto\asn1\d2i_pr.c + $(CC) /Fo$(OBJ_D)\d2i_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pr.c + +$(OBJ_D)\i2d_pu.obj: $(SRC_D)\crypto\asn1\i2d_pu.c + $(CC) /Fo$(OBJ_D)\i2d_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pu.c + +$(OBJ_D)\i2d_pr.obj: $(SRC_D)\crypto\asn1\i2d_pr.c + $(CC) /Fo$(OBJ_D)\i2d_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pr.c + +$(OBJ_D)\t_req.obj: $(SRC_D)\crypto\asn1\t_req.c + $(CC) /Fo$(OBJ_D)\t_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_req.c + +$(OBJ_D)\t_x509.obj: $(SRC_D)\crypto\asn1\t_x509.c + $(CC) /Fo$(OBJ_D)\t_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509.c + +$(OBJ_D)\t_x509a.obj: $(SRC_D)\crypto\asn1\t_x509a.c + $(CC) /Fo$(OBJ_D)\t_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509a.c + +$(OBJ_D)\t_crl.obj: $(SRC_D)\crypto\asn1\t_crl.c + $(CC) /Fo$(OBJ_D)\t_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_crl.c + +$(OBJ_D)\t_pkey.obj: $(SRC_D)\crypto\asn1\t_pkey.c + $(CC) /Fo$(OBJ_D)\t_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_pkey.c + +$(OBJ_D)\t_spki.obj: $(SRC_D)\crypto\asn1\t_spki.c + $(CC) /Fo$(OBJ_D)\t_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_spki.c + +$(OBJ_D)\t_bitst.obj: $(SRC_D)\crypto\asn1\t_bitst.c + $(CC) /Fo$(OBJ_D)\t_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_bitst.c + +$(OBJ_D)\tasn_new.obj: $(SRC_D)\crypto\asn1\tasn_new.c + $(CC) /Fo$(OBJ_D)\tasn_new.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_new.c + +$(OBJ_D)\tasn_fre.obj: $(SRC_D)\crypto\asn1\tasn_fre.c + $(CC) /Fo$(OBJ_D)\tasn_fre.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_fre.c + +$(OBJ_D)\tasn_enc.obj: $(SRC_D)\crypto\asn1\tasn_enc.c + $(CC) /Fo$(OBJ_D)\tasn_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_enc.c + +$(OBJ_D)\tasn_dec.obj: $(SRC_D)\crypto\asn1\tasn_dec.c + $(CC) /Fo$(OBJ_D)\tasn_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_dec.c + +$(OBJ_D)\tasn_utl.obj: $(SRC_D)\crypto\asn1\tasn_utl.c + $(CC) /Fo$(OBJ_D)\tasn_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_utl.c + +$(OBJ_D)\tasn_typ.obj: $(SRC_D)\crypto\asn1\tasn_typ.c + $(CC) /Fo$(OBJ_D)\tasn_typ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_typ.c + +$(OBJ_D)\tasn_prn.obj: $(SRC_D)\crypto\asn1\tasn_prn.c + $(CC) /Fo$(OBJ_D)\tasn_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_prn.c + +$(OBJ_D)\ameth_lib.obj: $(SRC_D)\crypto\asn1\ameth_lib.c + $(CC) /Fo$(OBJ_D)\ameth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\ameth_lib.c + +$(OBJ_D)\f_int.obj: $(SRC_D)\crypto\asn1\f_int.c + $(CC) /Fo$(OBJ_D)\f_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_int.c + +$(OBJ_D)\f_string.obj: $(SRC_D)\crypto\asn1\f_string.c + $(CC) /Fo$(OBJ_D)\f_string.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_string.c + +$(OBJ_D)\n_pkey.obj: $(SRC_D)\crypto\asn1\n_pkey.c + $(CC) /Fo$(OBJ_D)\n_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\n_pkey.c + +$(OBJ_D)\f_enum.obj: $(SRC_D)\crypto\asn1\f_enum.c + $(CC) /Fo$(OBJ_D)\f_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_enum.c + +$(OBJ_D)\x_pkey.obj: $(SRC_D)\crypto\asn1\x_pkey.c + $(CC) /Fo$(OBJ_D)\x_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pkey.c + +$(OBJ_D)\a_bool.obj: $(SRC_D)\crypto\asn1\a_bool.c + $(CC) /Fo$(OBJ_D)\a_bool.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bool.c + +$(OBJ_D)\x_exten.obj: $(SRC_D)\crypto\asn1\x_exten.c + $(CC) /Fo$(OBJ_D)\x_exten.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_exten.c + +$(OBJ_D)\bio_asn1.obj: $(SRC_D)\crypto\asn1\bio_asn1.c + $(CC) /Fo$(OBJ_D)\bio_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_asn1.c + +$(OBJ_D)\bio_ndef.obj: $(SRC_D)\crypto\asn1\bio_ndef.c + $(CC) /Fo$(OBJ_D)\bio_ndef.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_ndef.c + +$(OBJ_D)\asn_mime.obj: $(SRC_D)\crypto\asn1\asn_mime.c + $(CC) /Fo$(OBJ_D)\asn_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_mime.c + +$(OBJ_D)\asn1_gen.obj: $(SRC_D)\crypto\asn1\asn1_gen.c + $(CC) /Fo$(OBJ_D)\asn1_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_gen.c + +$(OBJ_D)\asn1_par.obj: $(SRC_D)\crypto\asn1\asn1_par.c + $(CC) /Fo$(OBJ_D)\asn1_par.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_par.c + +$(OBJ_D)\asn1_lib.obj: $(SRC_D)\crypto\asn1\asn1_lib.c + $(CC) /Fo$(OBJ_D)\asn1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_lib.c + +$(OBJ_D)\asn1_err.obj: $(SRC_D)\crypto\asn1\asn1_err.c + $(CC) /Fo$(OBJ_D)\asn1_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_err.c + +$(OBJ_D)\a_bytes.obj: $(SRC_D)\crypto\asn1\a_bytes.c + $(CC) /Fo$(OBJ_D)\a_bytes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bytes.c + +$(OBJ_D)\a_strnid.obj: $(SRC_D)\crypto\asn1\a_strnid.c + $(CC) /Fo$(OBJ_D)\a_strnid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strnid.c + +$(OBJ_D)\evp_asn1.obj: $(SRC_D)\crypto\asn1\evp_asn1.c + $(CC) /Fo$(OBJ_D)\evp_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\evp_asn1.c + +$(OBJ_D)\asn_pack.obj: $(SRC_D)\crypto\asn1\asn_pack.c + $(CC) /Fo$(OBJ_D)\asn_pack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_pack.c + +$(OBJ_D)\p5_pbe.obj: $(SRC_D)\crypto\asn1\p5_pbe.c + $(CC) /Fo$(OBJ_D)\p5_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbe.c + +$(OBJ_D)\p5_pbev2.obj: $(SRC_D)\crypto\asn1\p5_pbev2.c + $(CC) /Fo$(OBJ_D)\p5_pbev2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbev2.c + +$(OBJ_D)\p8_pkey.obj: $(SRC_D)\crypto\asn1\p8_pkey.c + $(CC) /Fo$(OBJ_D)\p8_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p8_pkey.c + +$(OBJ_D)\asn_moid.obj: $(SRC_D)\crypto\asn1\asn_moid.c + $(CC) /Fo$(OBJ_D)\asn_moid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_moid.c + +$(OBJ_D)\pem_sign.obj: $(SRC_D)\crypto\pem\pem_sign.c + $(CC) /Fo$(OBJ_D)\pem_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_sign.c + +$(OBJ_D)\pem_seal.obj: $(SRC_D)\crypto\pem\pem_seal.c + $(CC) /Fo$(OBJ_D)\pem_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_seal.c + +$(OBJ_D)\pem_info.obj: $(SRC_D)\crypto\pem\pem_info.c + $(CC) /Fo$(OBJ_D)\pem_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_info.c + +$(OBJ_D)\pem_lib.obj: $(SRC_D)\crypto\pem\pem_lib.c + $(CC) /Fo$(OBJ_D)\pem_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_lib.c + +$(OBJ_D)\pem_all.obj: $(SRC_D)\crypto\pem\pem_all.c + $(CC) /Fo$(OBJ_D)\pem_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_all.c + +$(OBJ_D)\pem_err.obj: $(SRC_D)\crypto\pem\pem_err.c + $(CC) /Fo$(OBJ_D)\pem_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_err.c + +$(OBJ_D)\pem_x509.obj: $(SRC_D)\crypto\pem\pem_x509.c + $(CC) /Fo$(OBJ_D)\pem_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_x509.c + +$(OBJ_D)\pem_xaux.obj: $(SRC_D)\crypto\pem\pem_xaux.c + $(CC) /Fo$(OBJ_D)\pem_xaux.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_xaux.c + +$(OBJ_D)\pem_oth.obj: $(SRC_D)\crypto\pem\pem_oth.c + $(CC) /Fo$(OBJ_D)\pem_oth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_oth.c + +$(OBJ_D)\pem_pk8.obj: $(SRC_D)\crypto\pem\pem_pk8.c + $(CC) /Fo$(OBJ_D)\pem_pk8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pk8.c + +$(OBJ_D)\pem_pkey.obj: $(SRC_D)\crypto\pem\pem_pkey.c + $(CC) /Fo$(OBJ_D)\pem_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pkey.c + +$(OBJ_D)\pvkfmt.obj: $(SRC_D)\crypto\pem\pvkfmt.c + $(CC) /Fo$(OBJ_D)\pvkfmt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pvkfmt.c + +$(OBJ_D)\x509_def.obj: $(SRC_D)\crypto\x509\x509_def.c + $(CC) /Fo$(OBJ_D)\x509_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_def.c + +$(OBJ_D)\x509_d2.obj: $(SRC_D)\crypto\x509\x509_d2.c + $(CC) /Fo$(OBJ_D)\x509_d2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_d2.c + +$(OBJ_D)\x509_r2x.obj: $(SRC_D)\crypto\x509\x509_r2x.c + $(CC) /Fo$(OBJ_D)\x509_r2x.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_r2x.c + +$(OBJ_D)\x509_cmp.obj: $(SRC_D)\crypto\x509\x509_cmp.c + $(CC) /Fo$(OBJ_D)\x509_cmp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_cmp.c + +$(OBJ_D)\x509_obj.obj: $(SRC_D)\crypto\x509\x509_obj.c + $(CC) /Fo$(OBJ_D)\x509_obj.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_obj.c + +$(OBJ_D)\x509_req.obj: $(SRC_D)\crypto\x509\x509_req.c + $(CC) /Fo$(OBJ_D)\x509_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_req.c + +$(OBJ_D)\x509spki.obj: $(SRC_D)\crypto\x509\x509spki.c + $(CC) /Fo$(OBJ_D)\x509spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509spki.c + +$(OBJ_D)\x509_vfy.obj: $(SRC_D)\crypto\x509\x509_vfy.c + $(CC) /Fo$(OBJ_D)\x509_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vfy.c + +$(OBJ_D)\x509_set.obj: $(SRC_D)\crypto\x509\x509_set.c + $(CC) /Fo$(OBJ_D)\x509_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_set.c + +$(OBJ_D)\x509cset.obj: $(SRC_D)\crypto\x509\x509cset.c + $(CC) /Fo$(OBJ_D)\x509cset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509cset.c + +$(OBJ_D)\x509rset.obj: $(SRC_D)\crypto\x509\x509rset.c + $(CC) /Fo$(OBJ_D)\x509rset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509rset.c + +$(OBJ_D)\x509_err.obj: $(SRC_D)\crypto\x509\x509_err.c + $(CC) /Fo$(OBJ_D)\x509_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_err.c + +$(OBJ_D)\x509name.obj: $(SRC_D)\crypto\x509\x509name.c + $(CC) /Fo$(OBJ_D)\x509name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509name.c + +$(OBJ_D)\x509_v3.obj: $(SRC_D)\crypto\x509\x509_v3.c + $(CC) /Fo$(OBJ_D)\x509_v3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_v3.c + +$(OBJ_D)\x509_ext.obj: $(SRC_D)\crypto\x509\x509_ext.c + $(CC) /Fo$(OBJ_D)\x509_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_ext.c + +$(OBJ_D)\x509_att.obj: $(SRC_D)\crypto\x509\x509_att.c + $(CC) /Fo$(OBJ_D)\x509_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_att.c + +$(OBJ_D)\x509type.obj: $(SRC_D)\crypto\x509\x509type.c + $(CC) /Fo$(OBJ_D)\x509type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509type.c + +$(OBJ_D)\x509_lu.obj: $(SRC_D)\crypto\x509\x509_lu.c + $(CC) /Fo$(OBJ_D)\x509_lu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_lu.c + +$(OBJ_D)\x_all.obj: $(SRC_D)\crypto\x509\x_all.c + $(CC) /Fo$(OBJ_D)\x_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x_all.c + +$(OBJ_D)\x509_txt.obj: $(SRC_D)\crypto\x509\x509_txt.c + $(CC) /Fo$(OBJ_D)\x509_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_txt.c + +$(OBJ_D)\x509_trs.obj: $(SRC_D)\crypto\x509\x509_trs.c + $(CC) /Fo$(OBJ_D)\x509_trs.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_trs.c + +$(OBJ_D)\by_file.obj: $(SRC_D)\crypto\x509\by_file.c + $(CC) /Fo$(OBJ_D)\by_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_file.c + +$(OBJ_D)\by_dir.obj: $(SRC_D)\crypto\x509\by_dir.c + $(CC) /Fo$(OBJ_D)\by_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_dir.c + +$(OBJ_D)\x509_vpm.obj: $(SRC_D)\crypto\x509\x509_vpm.c + $(CC) /Fo$(OBJ_D)\x509_vpm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vpm.c + +$(OBJ_D)\v3_bcons.obj: $(SRC_D)\crypto\x509v3\v3_bcons.c + $(CC) /Fo$(OBJ_D)\v3_bcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bcons.c + +$(OBJ_D)\v3_bitst.obj: $(SRC_D)\crypto\x509v3\v3_bitst.c + $(CC) /Fo$(OBJ_D)\v3_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bitst.c + +$(OBJ_D)\v3_conf.obj: $(SRC_D)\crypto\x509v3\v3_conf.c + $(CC) /Fo$(OBJ_D)\v3_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_conf.c + +$(OBJ_D)\v3_extku.obj: $(SRC_D)\crypto\x509v3\v3_extku.c + $(CC) /Fo$(OBJ_D)\v3_extku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_extku.c + +$(OBJ_D)\v3_ia5.obj: $(SRC_D)\crypto\x509v3\v3_ia5.c + $(CC) /Fo$(OBJ_D)\v3_ia5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ia5.c + +$(OBJ_D)\v3_lib.obj: $(SRC_D)\crypto\x509v3\v3_lib.c + $(CC) /Fo$(OBJ_D)\v3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_lib.c + +$(OBJ_D)\v3_prn.obj: $(SRC_D)\crypto\x509v3\v3_prn.c + $(CC) /Fo$(OBJ_D)\v3_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_prn.c + +$(OBJ_D)\v3_utl.obj: $(SRC_D)\crypto\x509v3\v3_utl.c + $(CC) /Fo$(OBJ_D)\v3_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_utl.c + +$(OBJ_D)\v3err.obj: $(SRC_D)\crypto\x509v3\v3err.c + $(CC) /Fo$(OBJ_D)\v3err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3err.c + +$(OBJ_D)\v3_genn.obj: $(SRC_D)\crypto\x509v3\v3_genn.c + $(CC) /Fo$(OBJ_D)\v3_genn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_genn.c + +$(OBJ_D)\v3_alt.obj: $(SRC_D)\crypto\x509v3\v3_alt.c + $(CC) /Fo$(OBJ_D)\v3_alt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_alt.c + +$(OBJ_D)\v3_skey.obj: $(SRC_D)\crypto\x509v3\v3_skey.c + $(CC) /Fo$(OBJ_D)\v3_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_skey.c + +$(OBJ_D)\v3_akey.obj: $(SRC_D)\crypto\x509v3\v3_akey.c + $(CC) /Fo$(OBJ_D)\v3_akey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akey.c + +$(OBJ_D)\v3_pku.obj: $(SRC_D)\crypto\x509v3\v3_pku.c + $(CC) /Fo$(OBJ_D)\v3_pku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pku.c + +$(OBJ_D)\v3_int.obj: $(SRC_D)\crypto\x509v3\v3_int.c + $(CC) /Fo$(OBJ_D)\v3_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_int.c + +$(OBJ_D)\v3_enum.obj: $(SRC_D)\crypto\x509v3\v3_enum.c + $(CC) /Fo$(OBJ_D)\v3_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_enum.c + +$(OBJ_D)\v3_sxnet.obj: $(SRC_D)\crypto\x509v3\v3_sxnet.c + $(CC) /Fo$(OBJ_D)\v3_sxnet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_sxnet.c + +$(OBJ_D)\v3_cpols.obj: $(SRC_D)\crypto\x509v3\v3_cpols.c + $(CC) /Fo$(OBJ_D)\v3_cpols.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_cpols.c + +$(OBJ_D)\v3_crld.obj: $(SRC_D)\crypto\x509v3\v3_crld.c + $(CC) /Fo$(OBJ_D)\v3_crld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_crld.c + +$(OBJ_D)\v3_purp.obj: $(SRC_D)\crypto\x509v3\v3_purp.c + $(CC) /Fo$(OBJ_D)\v3_purp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_purp.c + +$(OBJ_D)\v3_info.obj: $(SRC_D)\crypto\x509v3\v3_info.c + $(CC) /Fo$(OBJ_D)\v3_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_info.c + +$(OBJ_D)\v3_ocsp.obj: $(SRC_D)\crypto\x509v3\v3_ocsp.c + $(CC) /Fo$(OBJ_D)\v3_ocsp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ocsp.c + +$(OBJ_D)\v3_akeya.obj: $(SRC_D)\crypto\x509v3\v3_akeya.c + $(CC) /Fo$(OBJ_D)\v3_akeya.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akeya.c + +$(OBJ_D)\v3_pmaps.obj: $(SRC_D)\crypto\x509v3\v3_pmaps.c + $(CC) /Fo$(OBJ_D)\v3_pmaps.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pmaps.c + +$(OBJ_D)\v3_pcons.obj: $(SRC_D)\crypto\x509v3\v3_pcons.c + $(CC) /Fo$(OBJ_D)\v3_pcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcons.c + +$(OBJ_D)\v3_ncons.obj: $(SRC_D)\crypto\x509v3\v3_ncons.c + $(CC) /Fo$(OBJ_D)\v3_ncons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ncons.c + +$(OBJ_D)\v3_pcia.obj: $(SRC_D)\crypto\x509v3\v3_pcia.c + $(CC) /Fo$(OBJ_D)\v3_pcia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcia.c + +$(OBJ_D)\v3_pci.obj: $(SRC_D)\crypto\x509v3\v3_pci.c + $(CC) /Fo$(OBJ_D)\v3_pci.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pci.c + +$(OBJ_D)\pcy_cache.obj: $(SRC_D)\crypto\x509v3\pcy_cache.c + $(CC) /Fo$(OBJ_D)\pcy_cache.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_cache.c + +$(OBJ_D)\pcy_node.obj: $(SRC_D)\crypto\x509v3\pcy_node.c + $(CC) /Fo$(OBJ_D)\pcy_node.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_node.c + +$(OBJ_D)\pcy_data.obj: $(SRC_D)\crypto\x509v3\pcy_data.c + $(CC) /Fo$(OBJ_D)\pcy_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_data.c + +$(OBJ_D)\pcy_map.obj: $(SRC_D)\crypto\x509v3\pcy_map.c + $(CC) /Fo$(OBJ_D)\pcy_map.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_map.c + +$(OBJ_D)\pcy_tree.obj: $(SRC_D)\crypto\x509v3\pcy_tree.c + $(CC) /Fo$(OBJ_D)\pcy_tree.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_tree.c + +$(OBJ_D)\pcy_lib.obj: $(SRC_D)\crypto\x509v3\pcy_lib.c + $(CC) /Fo$(OBJ_D)\pcy_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_lib.c + +$(OBJ_D)\v3_asid.obj: $(SRC_D)\crypto\x509v3\v3_asid.c + $(CC) /Fo$(OBJ_D)\v3_asid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_asid.c + +$(OBJ_D)\v3_addr.obj: $(SRC_D)\crypto\x509v3\v3_addr.c + $(CC) /Fo$(OBJ_D)\v3_addr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_addr.c + +$(OBJ_D)\v3_scts.obj: $(SRC_D)\crypto\x509v3\v3_scts.c + $(CC) /Fo$(OBJ_D)\v3_scts.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_scts.c + +$(OBJ_D)\cms_lib.obj: $(SRC_D)\crypto\cms\cms_lib.c + $(CC) /Fo$(OBJ_D)\cms_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_lib.c + +$(OBJ_D)\cms_asn1.obj: $(SRC_D)\crypto\cms\cms_asn1.c + $(CC) /Fo$(OBJ_D)\cms_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_asn1.c + +$(OBJ_D)\cms_att.obj: $(SRC_D)\crypto\cms\cms_att.c + $(CC) /Fo$(OBJ_D)\cms_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_att.c + +$(OBJ_D)\cms_io.obj: $(SRC_D)\crypto\cms\cms_io.c + $(CC) /Fo$(OBJ_D)\cms_io.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_io.c + +$(OBJ_D)\cms_smime.obj: $(SRC_D)\crypto\cms\cms_smime.c + $(CC) /Fo$(OBJ_D)\cms_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_smime.c + +$(OBJ_D)\cms_err.obj: $(SRC_D)\crypto\cms\cms_err.c + $(CC) /Fo$(OBJ_D)\cms_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_err.c + +$(OBJ_D)\cms_sd.obj: $(SRC_D)\crypto\cms\cms_sd.c + $(CC) /Fo$(OBJ_D)\cms_sd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_sd.c + +$(OBJ_D)\cms_dd.obj: $(SRC_D)\crypto\cms\cms_dd.c + $(CC) /Fo$(OBJ_D)\cms_dd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_dd.c + +$(OBJ_D)\cms_cd.obj: $(SRC_D)\crypto\cms\cms_cd.c + $(CC) /Fo$(OBJ_D)\cms_cd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_cd.c + +$(OBJ_D)\cms_env.obj: $(SRC_D)\crypto\cms\cms_env.c + $(CC) /Fo$(OBJ_D)\cms_env.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_env.c + +$(OBJ_D)\cms_enc.obj: $(SRC_D)\crypto\cms\cms_enc.c + $(CC) /Fo$(OBJ_D)\cms_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_enc.c + +$(OBJ_D)\cms_ess.obj: $(SRC_D)\crypto\cms\cms_ess.c + $(CC) /Fo$(OBJ_D)\cms_ess.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_ess.c + +$(OBJ_D)\cms_pwri.obj: $(SRC_D)\crypto\cms\cms_pwri.c + $(CC) /Fo$(OBJ_D)\cms_pwri.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_pwri.c + +$(OBJ_D)\cms_kari.obj: $(SRC_D)\crypto\cms\cms_kari.c + $(CC) /Fo$(OBJ_D)\cms_kari.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_kari.c + +$(OBJ_D)\conf_err.obj: $(SRC_D)\crypto\conf\conf_err.c + $(CC) /Fo$(OBJ_D)\conf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_err.c + +$(OBJ_D)\conf_lib.obj: $(SRC_D)\crypto\conf\conf_lib.c + $(CC) /Fo$(OBJ_D)\conf_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_lib.c + +$(OBJ_D)\conf_api.obj: $(SRC_D)\crypto\conf\conf_api.c + $(CC) /Fo$(OBJ_D)\conf_api.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_api.c + +$(OBJ_D)\conf_def.obj: $(SRC_D)\crypto\conf\conf_def.c + $(CC) /Fo$(OBJ_D)\conf_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_def.c + +$(OBJ_D)\conf_mod.obj: $(SRC_D)\crypto\conf\conf_mod.c + $(CC) /Fo$(OBJ_D)\conf_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mod.c + +$(OBJ_D)\conf_mall.obj: $(SRC_D)\crypto\conf\conf_mall.c + $(CC) /Fo$(OBJ_D)\conf_mall.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mall.c + +$(OBJ_D)\conf_sap.obj: $(SRC_D)\crypto\conf\conf_sap.c + $(CC) /Fo$(OBJ_D)\conf_sap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_sap.c + +$(OBJ_D)\txt_db.obj: $(SRC_D)\crypto\txt_db\txt_db.c + $(CC) /Fo$(OBJ_D)\txt_db.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\txt_db\txt_db.c + +$(OBJ_D)\pk7_asn1.obj: $(SRC_D)\crypto\pkcs7\pk7_asn1.c + $(CC) /Fo$(OBJ_D)\pk7_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_asn1.c + +$(OBJ_D)\pk7_lib.obj: $(SRC_D)\crypto\pkcs7\pk7_lib.c + $(CC) /Fo$(OBJ_D)\pk7_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_lib.c + +$(OBJ_D)\pkcs7err.obj: $(SRC_D)\crypto\pkcs7\pkcs7err.c + $(CC) /Fo$(OBJ_D)\pkcs7err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pkcs7err.c + +$(OBJ_D)\pk7_doit.obj: $(SRC_D)\crypto\pkcs7\pk7_doit.c + $(CC) /Fo$(OBJ_D)\pk7_doit.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_doit.c + +$(OBJ_D)\pk7_smime.obj: $(SRC_D)\crypto\pkcs7\pk7_smime.c + $(CC) /Fo$(OBJ_D)\pk7_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_smime.c + +$(OBJ_D)\pk7_attr.obj: $(SRC_D)\crypto\pkcs7\pk7_attr.c + $(CC) /Fo$(OBJ_D)\pk7_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_attr.c + +$(OBJ_D)\pk7_mime.obj: $(SRC_D)\crypto\pkcs7\pk7_mime.c + $(CC) /Fo$(OBJ_D)\pk7_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_mime.c + +$(OBJ_D)\bio_pk7.obj: $(SRC_D)\crypto\pkcs7\bio_pk7.c + $(CC) /Fo$(OBJ_D)\bio_pk7.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\bio_pk7.c + +$(OBJ_D)\p12_add.obj: $(SRC_D)\crypto\pkcs12\p12_add.c + $(CC) /Fo$(OBJ_D)\p12_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_add.c + +$(OBJ_D)\p12_asn.obj: $(SRC_D)\crypto\pkcs12\p12_asn.c + $(CC) /Fo$(OBJ_D)\p12_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_asn.c + +$(OBJ_D)\p12_attr.obj: $(SRC_D)\crypto\pkcs12\p12_attr.c + $(CC) /Fo$(OBJ_D)\p12_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_attr.c + +$(OBJ_D)\p12_crpt.obj: $(SRC_D)\crypto\pkcs12\p12_crpt.c + $(CC) /Fo$(OBJ_D)\p12_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crpt.c + +$(OBJ_D)\p12_crt.obj: $(SRC_D)\crypto\pkcs12\p12_crt.c + $(CC) /Fo$(OBJ_D)\p12_crt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crt.c + +$(OBJ_D)\p12_decr.obj: $(SRC_D)\crypto\pkcs12\p12_decr.c + $(CC) /Fo$(OBJ_D)\p12_decr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_decr.c + +$(OBJ_D)\p12_init.obj: $(SRC_D)\crypto\pkcs12\p12_init.c + $(CC) /Fo$(OBJ_D)\p12_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_init.c + +$(OBJ_D)\p12_key.obj: $(SRC_D)\crypto\pkcs12\p12_key.c + $(CC) /Fo$(OBJ_D)\p12_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_key.c + +$(OBJ_D)\p12_kiss.obj: $(SRC_D)\crypto\pkcs12\p12_kiss.c + $(CC) /Fo$(OBJ_D)\p12_kiss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_kiss.c + +$(OBJ_D)\p12_mutl.obj: $(SRC_D)\crypto\pkcs12\p12_mutl.c + $(CC) /Fo$(OBJ_D)\p12_mutl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_mutl.c + +$(OBJ_D)\p12_utl.obj: $(SRC_D)\crypto\pkcs12\p12_utl.c + $(CC) /Fo$(OBJ_D)\p12_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_utl.c + +$(OBJ_D)\p12_npas.obj: $(SRC_D)\crypto\pkcs12\p12_npas.c + $(CC) /Fo$(OBJ_D)\p12_npas.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_npas.c + +$(OBJ_D)\pk12err.obj: $(SRC_D)\crypto\pkcs12\pk12err.c + $(CC) /Fo$(OBJ_D)\pk12err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\pk12err.c + +$(OBJ_D)\p12_p8d.obj: $(SRC_D)\crypto\pkcs12\p12_p8d.c + $(CC) /Fo$(OBJ_D)\p12_p8d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8d.c + +$(OBJ_D)\p12_p8e.obj: $(SRC_D)\crypto\pkcs12\p12_p8e.c + $(CC) /Fo$(OBJ_D)\p12_p8e.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8e.c + +$(OBJ_D)\comp_lib.obj: $(SRC_D)\crypto\comp\comp_lib.c + $(CC) /Fo$(OBJ_D)\comp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_lib.c + +$(OBJ_D)\comp_err.obj: $(SRC_D)\crypto\comp\comp_err.c + $(CC) /Fo$(OBJ_D)\comp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_err.c + +$(OBJ_D)\c_rle.obj: $(SRC_D)\crypto\comp\c_rle.c + $(CC) /Fo$(OBJ_D)\c_rle.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_rle.c + +$(OBJ_D)\c_zlib.obj: $(SRC_D)\crypto\comp\c_zlib.c + $(CC) /Fo$(OBJ_D)\c_zlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_zlib.c + +$(OBJ_D)\eng_err.obj: $(SRC_D)\crypto\engine\eng_err.c + $(CC) /Fo$(OBJ_D)\eng_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_err.c + +$(OBJ_D)\eng_lib.obj: $(SRC_D)\crypto\engine\eng_lib.c + $(CC) /Fo$(OBJ_D)\eng_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_lib.c + +$(OBJ_D)\eng_list.obj: $(SRC_D)\crypto\engine\eng_list.c + $(CC) /Fo$(OBJ_D)\eng_list.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_list.c + +$(OBJ_D)\eng_init.obj: $(SRC_D)\crypto\engine\eng_init.c + $(CC) /Fo$(OBJ_D)\eng_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_init.c + +$(OBJ_D)\eng_ctrl.obj: $(SRC_D)\crypto\engine\eng_ctrl.c + $(CC) /Fo$(OBJ_D)\eng_ctrl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_ctrl.c + +$(OBJ_D)\eng_table.obj: $(SRC_D)\crypto\engine\eng_table.c + $(CC) /Fo$(OBJ_D)\eng_table.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_table.c + +$(OBJ_D)\eng_pkey.obj: $(SRC_D)\crypto\engine\eng_pkey.c + $(CC) /Fo$(OBJ_D)\eng_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_pkey.c + +$(OBJ_D)\eng_fat.obj: $(SRC_D)\crypto\engine\eng_fat.c + $(CC) /Fo$(OBJ_D)\eng_fat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_fat.c + +$(OBJ_D)\eng_all.obj: $(SRC_D)\crypto\engine\eng_all.c + $(CC) /Fo$(OBJ_D)\eng_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_all.c + +$(OBJ_D)\tb_rsa.obj: $(SRC_D)\crypto\engine\tb_rsa.c + $(CC) /Fo$(OBJ_D)\tb_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rsa.c + +$(OBJ_D)\tb_dsa.obj: $(SRC_D)\crypto\engine\tb_dsa.c + $(CC) /Fo$(OBJ_D)\tb_dsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dsa.c + +$(OBJ_D)\tb_ecdsa.obj: $(SRC_D)\crypto\engine\tb_ecdsa.c + $(CC) /Fo$(OBJ_D)\tb_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdsa.c + +$(OBJ_D)\tb_dh.obj: $(SRC_D)\crypto\engine\tb_dh.c + $(CC) /Fo$(OBJ_D)\tb_dh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dh.c + +$(OBJ_D)\tb_ecdh.obj: $(SRC_D)\crypto\engine\tb_ecdh.c + $(CC) /Fo$(OBJ_D)\tb_ecdh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdh.c + +$(OBJ_D)\tb_rand.obj: $(SRC_D)\crypto\engine\tb_rand.c + $(CC) /Fo$(OBJ_D)\tb_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rand.c + +$(OBJ_D)\tb_store.obj: $(SRC_D)\crypto\engine\tb_store.c + $(CC) /Fo$(OBJ_D)\tb_store.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_store.c + +$(OBJ_D)\tb_cipher.obj: $(SRC_D)\crypto\engine\tb_cipher.c + $(CC) /Fo$(OBJ_D)\tb_cipher.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_cipher.c + +$(OBJ_D)\tb_digest.obj: $(SRC_D)\crypto\engine\tb_digest.c + $(CC) /Fo$(OBJ_D)\tb_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_digest.c + +$(OBJ_D)\tb_pkmeth.obj: $(SRC_D)\crypto\engine\tb_pkmeth.c + $(CC) /Fo$(OBJ_D)\tb_pkmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_pkmeth.c + +$(OBJ_D)\tb_asnmth.obj: $(SRC_D)\crypto\engine\tb_asnmth.c + $(CC) /Fo$(OBJ_D)\tb_asnmth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_asnmth.c + +$(OBJ_D)\eng_openssl.obj: $(SRC_D)\crypto\engine\eng_openssl.c + $(CC) /Fo$(OBJ_D)\eng_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_openssl.c + +$(OBJ_D)\eng_cnf.obj: $(SRC_D)\crypto\engine\eng_cnf.c + $(CC) /Fo$(OBJ_D)\eng_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cnf.c + +$(OBJ_D)\eng_dyn.obj: $(SRC_D)\crypto\engine\eng_dyn.c + $(CC) /Fo$(OBJ_D)\eng_dyn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_dyn.c + +$(OBJ_D)\eng_cryptodev.obj: $(SRC_D)\crypto\engine\eng_cryptodev.c + $(CC) /Fo$(OBJ_D)\eng_cryptodev.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cryptodev.c + +$(OBJ_D)\eng_rdrand.obj: $(SRC_D)\crypto\engine\eng_rdrand.c + $(CC) /Fo$(OBJ_D)\eng_rdrand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_rdrand.c + +$(OBJ_D)\ocsp_asn.obj: $(SRC_D)\crypto\ocsp\ocsp_asn.c + $(CC) /Fo$(OBJ_D)\ocsp_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_asn.c + +$(OBJ_D)\ocsp_ext.obj: $(SRC_D)\crypto\ocsp\ocsp_ext.c + $(CC) /Fo$(OBJ_D)\ocsp_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ext.c + +$(OBJ_D)\ocsp_ht.obj: $(SRC_D)\crypto\ocsp\ocsp_ht.c + $(CC) /Fo$(OBJ_D)\ocsp_ht.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ht.c + +$(OBJ_D)\ocsp_lib.obj: $(SRC_D)\crypto\ocsp\ocsp_lib.c + $(CC) /Fo$(OBJ_D)\ocsp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_lib.c + +$(OBJ_D)\ocsp_cl.obj: $(SRC_D)\crypto\ocsp\ocsp_cl.c + $(CC) /Fo$(OBJ_D)\ocsp_cl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_cl.c + +$(OBJ_D)\ocsp_srv.obj: $(SRC_D)\crypto\ocsp\ocsp_srv.c + $(CC) /Fo$(OBJ_D)\ocsp_srv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_srv.c + +$(OBJ_D)\ocsp_prn.obj: $(SRC_D)\crypto\ocsp\ocsp_prn.c + $(CC) /Fo$(OBJ_D)\ocsp_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_prn.c + +$(OBJ_D)\ocsp_vfy.obj: $(SRC_D)\crypto\ocsp\ocsp_vfy.c + $(CC) /Fo$(OBJ_D)\ocsp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_vfy.c + +$(OBJ_D)\ocsp_err.obj: $(SRC_D)\crypto\ocsp\ocsp_err.c + $(CC) /Fo$(OBJ_D)\ocsp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_err.c + +$(OBJ_D)\ui_err.obj: $(SRC_D)\crypto\ui\ui_err.c + $(CC) /Fo$(OBJ_D)\ui_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_err.c + +$(OBJ_D)\ui_lib.obj: $(SRC_D)\crypto\ui\ui_lib.c + $(CC) /Fo$(OBJ_D)\ui_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_lib.c + +$(OBJ_D)\ui_openssl.obj: $(SRC_D)\crypto\ui\ui_openssl.c + $(CC) /Fo$(OBJ_D)\ui_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_openssl.c + +$(OBJ_D)\ui_util.obj: $(SRC_D)\crypto\ui\ui_util.c + $(CC) /Fo$(OBJ_D)\ui_util.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_util.c + +$(OBJ_D)\ui_compat.obj: $(SRC_D)\crypto\ui\ui_compat.c + $(CC) /Fo$(OBJ_D)\ui_compat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_compat.c + +$(OBJ_D)\krb5_asn.obj: $(SRC_D)\crypto\krb5\krb5_asn.c + $(CC) /Fo$(OBJ_D)\krb5_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\krb5\krb5_asn.c + +$(OBJ_D)\pqueue.obj: $(SRC_D)\crypto\pqueue\pqueue.c + $(CC) /Fo$(OBJ_D)\pqueue.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pqueue\pqueue.c + +$(OBJ_D)\wp_dgst.obj: $(SRC_D)\crypto\whrlpool\wp_dgst.c + $(CC) /Fo$(OBJ_D)\wp_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_dgst.c + +$(OBJ_D)\wp_block.obj: $(SRC_D)\crypto\whrlpool\wp_block.c + $(CC) /Fo$(OBJ_D)\wp_block.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_block.c + +$(TMP_D)\wp-mmx.asm: crypto\whrlpool\asm\wp-mmx.pl + $(PERL) crypto\whrlpool\asm\wp-mmx.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\wp-mmx.obj: $(TMP_D)\wp-mmx.asm + $(ASM) -o $@ $(TMP_D)\wp-mmx.asm + +$(OBJ_D)\ts_err.obj: $(SRC_D)\crypto\ts\ts_err.c + $(CC) /Fo$(OBJ_D)\ts_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_err.c + +$(OBJ_D)\ts_req_utils.obj: $(SRC_D)\crypto\ts\ts_req_utils.c + $(CC) /Fo$(OBJ_D)\ts_req_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_utils.c + +$(OBJ_D)\ts_req_print.obj: $(SRC_D)\crypto\ts\ts_req_print.c + $(CC) /Fo$(OBJ_D)\ts_req_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_print.c + +$(OBJ_D)\ts_rsp_utils.obj: $(SRC_D)\crypto\ts\ts_rsp_utils.c + $(CC) /Fo$(OBJ_D)\ts_rsp_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_utils.c + +$(OBJ_D)\ts_rsp_print.obj: $(SRC_D)\crypto\ts\ts_rsp_print.c + $(CC) /Fo$(OBJ_D)\ts_rsp_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_print.c + +$(OBJ_D)\ts_rsp_sign.obj: $(SRC_D)\crypto\ts\ts_rsp_sign.c + $(CC) /Fo$(OBJ_D)\ts_rsp_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_sign.c + +$(OBJ_D)\ts_rsp_verify.obj: $(SRC_D)\crypto\ts\ts_rsp_verify.c + $(CC) /Fo$(OBJ_D)\ts_rsp_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_verify.c + +$(OBJ_D)\ts_verify_ctx.obj: $(SRC_D)\crypto\ts\ts_verify_ctx.c + $(CC) /Fo$(OBJ_D)\ts_verify_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_verify_ctx.c + +$(OBJ_D)\ts_lib.obj: $(SRC_D)\crypto\ts\ts_lib.c + $(CC) /Fo$(OBJ_D)\ts_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_lib.c + +$(OBJ_D)\ts_conf.obj: $(SRC_D)\crypto\ts\ts_conf.c + $(CC) /Fo$(OBJ_D)\ts_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_conf.c + +$(OBJ_D)\ts_asn1.obj: $(SRC_D)\crypto\ts\ts_asn1.c + $(CC) /Fo$(OBJ_D)\ts_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_asn1.c + +$(OBJ_D)\srp_lib.obj: $(SRC_D)\crypto\srp\srp_lib.c + $(CC) /Fo$(OBJ_D)\srp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_lib.c + +$(OBJ_D)\srp_vfy.obj: $(SRC_D)\crypto\srp\srp_vfy.c + $(CC) /Fo$(OBJ_D)\srp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_vfy.c + +$(OBJ_D)\e_4758cca.obj: $(SRC_D)\engines\e_4758cca.c + $(CC) /Fo$(OBJ_D)\e_4758cca.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_4758cca.c + +$(OBJ_D)\e_aep.obj: $(SRC_D)\engines\e_aep.c + $(CC) /Fo$(OBJ_D)\e_aep.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_aep.c + +$(OBJ_D)\e_atalla.obj: $(SRC_D)\engines\e_atalla.c + $(CC) /Fo$(OBJ_D)\e_atalla.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_atalla.c + +$(OBJ_D)\e_cswift.obj: $(SRC_D)\engines\e_cswift.c + $(CC) /Fo$(OBJ_D)\e_cswift.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_cswift.c + +$(OBJ_D)\e_gmp.obj: $(SRC_D)\engines\e_gmp.c + $(CC) /Fo$(OBJ_D)\e_gmp.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_gmp.c + +$(OBJ_D)\e_chil.obj: $(SRC_D)\engines\e_chil.c + $(CC) /Fo$(OBJ_D)\e_chil.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_chil.c + +$(OBJ_D)\e_nuron.obj: $(SRC_D)\engines\e_nuron.c + $(CC) /Fo$(OBJ_D)\e_nuron.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_nuron.c + +$(OBJ_D)\e_sureware.obj: $(SRC_D)\engines\e_sureware.c + $(CC) /Fo$(OBJ_D)\e_sureware.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_sureware.c + +$(OBJ_D)\e_ubsec.obj: $(SRC_D)\engines\e_ubsec.c + $(CC) /Fo$(OBJ_D)\e_ubsec.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_ubsec.c + +$(OBJ_D)\e_padlock.obj: $(SRC_D)\engines\e_padlock.c + $(CC) /Fo$(OBJ_D)\e_padlock.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_padlock.c + +$(OBJ_D)\e_capi.obj: $(SRC_D)\engines\e_capi.c + $(CC) /Fo$(OBJ_D)\e_capi.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_capi.c + +$(OBJ_D)\e_gost_err.obj: $(SRC_D)\engines\ccgost\e_gost_err.c + $(CC) /Fo$(OBJ_D)\e_gost_err.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\e_gost_err.c + +$(OBJ_D)\gost2001_keyx.obj: $(SRC_D)\engines\ccgost\gost2001_keyx.c + $(CC) /Fo$(OBJ_D)\gost2001_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001_keyx.c + +$(OBJ_D)\gost2001.obj: $(SRC_D)\engines\ccgost\gost2001.c + $(CC) /Fo$(OBJ_D)\gost2001.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001.c + +$(OBJ_D)\gost89.obj: $(SRC_D)\engines\ccgost\gost89.c + $(CC) /Fo$(OBJ_D)\gost89.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost89.c + +$(OBJ_D)\gost94_keyx.obj: $(SRC_D)\engines\ccgost\gost94_keyx.c + $(CC) /Fo$(OBJ_D)\gost94_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost94_keyx.c + +$(OBJ_D)\gost_ameth.obj: $(SRC_D)\engines\ccgost\gost_ameth.c + $(CC) /Fo$(OBJ_D)\gost_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ameth.c + +$(OBJ_D)\gost_asn1.obj: $(SRC_D)\engines\ccgost\gost_asn1.c + $(CC) /Fo$(OBJ_D)\gost_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_asn1.c + +$(OBJ_D)\gost_crypt.obj: $(SRC_D)\engines\ccgost\gost_crypt.c + $(CC) /Fo$(OBJ_D)\gost_crypt.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_crypt.c + +$(OBJ_D)\gost_ctl.obj: $(SRC_D)\engines\ccgost\gost_ctl.c + $(CC) /Fo$(OBJ_D)\gost_ctl.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ctl.c + +$(OBJ_D)\gost_eng.obj: $(SRC_D)\engines\ccgost\gost_eng.c + $(CC) /Fo$(OBJ_D)\gost_eng.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_eng.c + +$(OBJ_D)\gosthash.obj: $(SRC_D)\engines\ccgost\gosthash.c + $(CC) /Fo$(OBJ_D)\gosthash.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gosthash.c + +$(OBJ_D)\gost_keywrap.obj: $(SRC_D)\engines\ccgost\gost_keywrap.c + $(CC) /Fo$(OBJ_D)\gost_keywrap.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_keywrap.c + +$(OBJ_D)\gost_md.obj: $(SRC_D)\engines\ccgost\gost_md.c + $(CC) /Fo$(OBJ_D)\gost_md.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_md.c + +$(OBJ_D)\gost_params.obj: $(SRC_D)\engines\ccgost\gost_params.c + $(CC) /Fo$(OBJ_D)\gost_params.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_params.c + +$(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c + $(CC) /Fo$(OBJ_D)\gost_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_pmeth.c + +$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c + $(CC) /Fo$(OBJ_D)\gost_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c + +$(OBJ_D)\$(CRYPTO).res: ms\version32.rc + $(RSC) /fo"$(OBJ_D)\$(CRYPTO).res" /d CRYPTO ms\version32.rc + +$(OBJ_D)\$(SSL).res: ms\version32.rc + $(RSC) /fo"$(OBJ_D)\$(SSL).res" /d SSL ms\version32.rc + +$(TEST_D)\constant_time_test.exe: $(OBJ_D)\constant_time_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\constant_time_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\constant_time_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\md4test.exe: $(OBJ_D)\md4test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md4test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\md4test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\md5test.exe: $(OBJ_D)\md5test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md5test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\md5test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\shatest.exe: $(OBJ_D)\shatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\shatest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\shatest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sha1test.exe: $(OBJ_D)\sha1test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha1test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sha1test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sha256t.exe: $(OBJ_D)\sha256t.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha256t.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sha256t.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sha512t.exe: $(OBJ_D)\sha512t.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha512t.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sha512t.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\hmactest.exe: $(OBJ_D)\hmactest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\hmactest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\hmactest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rmdtest.exe: $(OBJ_D)\rmdtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rmdtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rmdtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\destest.exe: $(OBJ_D)\destest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\destest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\destest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rc2test.exe: $(OBJ_D)\rc2test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc2test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rc2test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rc4test.exe: $(OBJ_D)\rc4test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc4test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rc4test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\bftest.exe: $(OBJ_D)\bftest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bftest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\bftest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\casttest.exe: $(OBJ_D)\casttest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\casttest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\casttest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\bntest.exe: $(OBJ_D)\bntest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bntest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\bntest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\exptest.exe: $(OBJ_D)\exptest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\exptest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\exptest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rsa_test.exe: $(OBJ_D)\rsa_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rsa_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rsa_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\dsatest.exe: $(OBJ_D)\dsatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dsatest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\dsatest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\dhtest.exe: $(OBJ_D)\dhtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dhtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\dhtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ectest.exe: $(OBJ_D)\ectest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ectest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ectest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ecdhtest.exe: $(OBJ_D)\ecdhtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdhtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ecdhtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ecdsatest.exe: $(OBJ_D)\ecdsatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdsatest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ecdsatest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\randtest.exe: $(OBJ_D)\randtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\randtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\randtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\evp_test.exe: $(OBJ_D)\evp_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\evp_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\evp_extra_test.exe: $(OBJ_D)\evp_extra_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_extra_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\evp_extra_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\verify_extra_test.exe: $(OBJ_D)\verify_extra_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\verify_extra_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\verify_extra_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\v3nametest.exe: $(OBJ_D)\v3nametest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\v3nametest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\v3nametest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\enginetest.exe: $(OBJ_D)\enginetest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\enginetest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\enginetest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\wp_test.exe: $(OBJ_D)\wp_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\wp_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\wp_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\srptest.exe: $(OBJ_D)\srptest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\srptest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\srptest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ssltest.exe: $(OBJ_D)\ssltest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ssltest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ssltest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\heartbeat_test.exe: $(OBJ_D)\heartbeat_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\heartbeat_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\heartbeat_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\clienthellotest.exe: $(OBJ_D)\clienthellotest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\clienthellotest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\clienthellotest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sslv2conftest.exe: $(OBJ_D)\sslv2conftest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sslv2conftest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sslv2conftest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\dtlstest.exe: $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dtlstest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\bad_dtls_test.exe: $(OBJ_D)\bad_dtls_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bad_dtls_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\bad_dtls_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\fatalerrtest.exe: $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\fatalerrtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\igetest.exe: $(OBJ_D)\igetest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\igetest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\igetest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(O_SSL): $(SSLOBJ) + $(MKLIB) /out:$(O_SSL) @<< + $(SSLOBJ) +<< + +$(O_CRYPTO): $(CRYPTOOBJ) + $(MKLIB) /out:$(O_CRYPTO) @<< + $(CRYPTOOBJ) +<< + +$(BIN_D)\$(E_EXE).exe: $(E_OBJ) $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(BIN_D)\$(E_EXE).exe @<< + $(APP_EX_OBJ) $(E_OBJ) $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + diff --git a/ms/nt64.asm.mak b/ms/nt64.asm.mak index e4ddd3a5..022d53c4 100644 --- a/ms/nt64.asm.mak +++ b/ms/nt64.asm.mak @@ -1,586 +1,586 @@ -# N.B. You MUST use -j on FreeBSD. -# This makefile has been automatically generated from the OpenSSL distribution. -# This single makefile will build the complete OpenSSL distribution and -# by default leave the 'interesting' output files in .\out and the stuff -# that needs deleting in .\tmp. -# The file was generated by running 'make makefile.one', which -# does a 'make files', which writes all the environment variables from all -# the makefiles to the file call MINFO. This file is used by -# util\mk1mf.pl to generate makefile.one. -# The 'makefile per directory' system suites me when developing this -# library and also so I can 'distribute' indervidual library sections. -# The one monster makefile better suits building in non-unix -# environments. - -INSTALLTOP=\usr\local\ssl -OPENSSLDIR=\usr\local\ssl - -# Set your compiler options -PLATFORM=VC-WIN64A -CC=cl -CFLAG= /MT /Ox -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE -APP_CFLAG= /Zi /Fd$(TMP_D)/app -LIB_CFLAG=/Zl /Zi /Fd$(TMP_D)/lib -SHLIB_CFLAG= -APP_EX_OBJ=setargv.obj -SHLIB_EX_OBJ= -# add extra libraries to this define, for solaris -lsocket -lnsl would -# be added -EX_LIBS=ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib - -# The OpenSSL directory -SRC_D=. - -LINK_CMD=link -LFLAGS=/nologo /subsystem:console /opt:ref /debug -RSC=rc - -# The output directory for everything interesting -OUT_D=out32 -# The output directory for all the temporary muck -TMP_D=tmp32 -# The output directory for the header files -INC_D=inc32 -INCO_D=inc32\openssl - -PERL=perl -CP=$(PERL) util/copy.pl -RM=del /Q -RANLIB= -MKDIR=$(PERL) util/mkdir-p.pl -MKLIB=lib /nologo -MLFLAGS= -ASM=nasm -f win64 -DNEAR -Ox -g - -# FIPS validated module and support file locations - -E_PREMAIN_DSO=fips_premain_dso - -FIPSDIR=\usr\local\ssl\fips-2.0 -BASEADDR=0xFB00000 -FIPSLIB_D=$(FIPSDIR)\lib -FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c -O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib -FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe -PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe -FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl - -###################################################### -# You should not need to touch anything below this point -###################################################### - -E_EXE=openssl -SSL=ssleay32 -CRYPTO=libeay32 - -# BIN_D - Binary output directory -# TEST_D - Binary test file output directory -# LIB_D - library output directory -# ENG_D - dynamic engine output directory -# Note: if you change these point to different directories then uncomment out -# the lines around the 'NB' comment below. -# -BIN_D=$(OUT_D) -TEST_D=$(OUT_D) -LIB_D=$(OUT_D) -ENG_D=$(OUT_D) - -# INCL_D - local library directory -# OBJ_D - temp object file directory -OBJ_D=$(TMP_D) -INCL_D=$(TMP_D) - -O_SSL= $(LIB_D)\$(SSL).lib -O_CRYPTO= $(LIB_D)\$(CRYPTO).lib -SO_SSL= $(SSL) -SO_CRYPTO= $(CRYPTO) -L_SSL= $(LIB_D)\$(SSL).lib -L_CRYPTO= $(LIB_D)\$(CRYPTO).lib - -L_LIBS= $(L_SSL) $(L_CRYPTO) - -###################################################### -# Don't touch anything below this point -###################################################### - -INC=-I$(INC_D) -I$(INCL_D) -APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) -LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) -SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) -LIBS_DEP=$(O_CRYPTO) $(O_SSL) - -############################################# -HEADER=$(INCL_D)\e_os.h \ - $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ - $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ - $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ - $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ - $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ - $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ - $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ - $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ - $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ - $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ - $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ - $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ - $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ - $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ - $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ - $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ - $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ - $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ - $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ - $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ - $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ - $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ - $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ - $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ - $(INCL_D)\ssltestlib.h - -EXHEADER=$(INCO_D)\e_os2.h \ - $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ - $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ - $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ - $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ - $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ - $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ - $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ - $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ - $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ - $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ - $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ - $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ - $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ - $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ - $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ - $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ - $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ - $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ - $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ - $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ - $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ - $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ - $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ - $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h - -T_OBJ=$(OBJ_D)\constant_time_test.obj \ - $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ - $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ - $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ - $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ - $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ - $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ - $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ - $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ - $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ - $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ - $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ - $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ - $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj - -E_OBJ=$(OBJ_D)\verify.obj \ - $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ - $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ - $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ - $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ - $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ - $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ - $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ - $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ - $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ - $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ - $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ - $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ - $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ - $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ - $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ - $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ - $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj - -CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ - $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ - $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ - $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ - $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ - $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86_64cpuid.obj \ - $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ - $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-x86_64.obj $(OBJ_D)\sha_dgst.obj \ - $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ - $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-x86_64.obj \ - $(OBJ_D)\sha256-x86_64.obj $(OBJ_D)\sha512-x86_64.obj $(OBJ_D)\sha1-mb-x86_64.obj \ - $(OBJ_D)\sha256-mb-x86_64.obj $(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj \ - $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj \ - $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj \ - $(OBJ_D)\set_key.obj $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj \ - $(OBJ_D)\ecb3_enc.obj $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj \ - $(OBJ_D)\cfb_enc.obj $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj \ - $(OBJ_D)\enc_writ.obj $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj \ - $(OBJ_D)\str2key.obj $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj \ - $(OBJ_D)\rand_key.obj $(OBJ_D)\des_enc.obj $(OBJ_D)\fcrypt_b.obj \ - $(OBJ_D)\fcrypt.obj $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj \ - $(OBJ_D)\cbc_cksm.obj $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj \ - $(OBJ_D)\des_old2.obj $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj \ - $(OBJ_D)\rc2_skey.obj $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj \ - $(OBJ_D)\rc2ofb64.obj $(OBJ_D)\rc4-x86_64.obj $(OBJ_D)\rc4-md5-x86_64.obj \ - $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj \ - $(OBJ_D)\bf_enc.obj $(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj \ - $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj $(OBJ_D)\c_enc.obj \ - $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj \ - $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj \ - $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj \ - $(OBJ_D)\aes-x86_64.obj $(OBJ_D)\vpaes-x86_64.obj $(OBJ_D)\bsaes-x86_64.obj \ - $(OBJ_D)\aesni-x86_64.obj $(OBJ_D)\aesni-sha1-x86_64.obj $(OBJ_D)\aesni-sha256-x86_64.obj \ - $(OBJ_D)\aesni-mb-x86_64.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ - $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ - $(OBJ_D)\cmll-x86_64.obj $(OBJ_D)\cmll_misc.obj $(OBJ_D)\seed.obj \ - $(OBJ_D)\seed_ecb.obj $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj \ - $(OBJ_D)\seed_ofb.obj $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj \ - $(OBJ_D)\cts128.obj $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj \ - $(OBJ_D)\gcm128.obj $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj \ - $(OBJ_D)\wrap128.obj $(OBJ_D)\ghash-x86_64.obj $(OBJ_D)\aesni-gcm-x86_64.obj \ - $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj \ - $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj \ - $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj \ - $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj \ - $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj \ - $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj \ - $(OBJ_D)\bn_asm.obj $(OBJ_D)\x86_64-mont.obj $(OBJ_D)\x86_64-mont5.obj \ - $(OBJ_D)\x86_64-gf2m.obj $(OBJ_D)\rsaz_exp.obj $(OBJ_D)\rsaz-x86_64.obj \ - $(OBJ_D)\rsaz-avx2.obj $(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj \ - $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj \ - $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj \ - $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj \ - $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj \ - $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj \ - $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj \ - $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj \ - $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj \ - $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj \ - $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj \ - $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj \ - $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj \ - $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj \ - $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj \ - $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj \ - $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj \ - $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj \ - $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj \ - $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj \ - $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj \ - $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj \ - $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj \ - $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj \ - $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj \ - $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj \ - $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj \ - $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj \ - $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj \ - $(OBJ_D)\ecp_nistz256.obj $(OBJ_D)\ecp_nistz256-x86_64.obj $(OBJ_D)\ech_lib.obj \ - $(OBJ_D)\ech_ossl.obj $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj \ - $(OBJ_D)\ech_kdf.obj $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj \ - $(OBJ_D)\ecs_ossl.obj $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj \ - $(OBJ_D)\ecs_err.obj $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj \ - $(OBJ_D)\buf_err.obj $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj \ - $(OBJ_D)\bio_err.obj $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj \ - $(OBJ_D)\bss_fd.obj $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj \ - $(OBJ_D)\bss_conn.obj $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj \ - $(OBJ_D)\b_print.obj $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj \ - $(OBJ_D)\bss_acpt.obj $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj \ - $(OBJ_D)\bss_bio.obj $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj \ - $(OBJ_D)\lhash.obj $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj \ - $(OBJ_D)\randfile.obj $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj \ - $(OBJ_D)\rand_egd.obj $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj \ - $(OBJ_D)\rand_os2.obj $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj \ - $(OBJ_D)\err_all.obj $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj \ - $(OBJ_D)\obj_dat.obj $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj \ - $(OBJ_D)\obj_xref.obj $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj \ - $(OBJ_D)\evp_enc.obj $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj \ - $(OBJ_D)\evp_cnf.obj $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj \ - $(OBJ_D)\e_idea.obj $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj \ - $(OBJ_D)\e_rc4.obj $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj \ - $(OBJ_D)\e_seed.obj $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj \ - $(OBJ_D)\e_cast.obj $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj \ - $(OBJ_D)\m_md4.obj $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj \ - $(OBJ_D)\m_sha1.obj $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj \ - $(OBJ_D)\m_dss1.obj $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj \ - $(OBJ_D)\p_open.obj $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj \ - $(OBJ_D)\p_verify.obj $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj \ - $(OBJ_D)\p_dec.obj $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj \ - $(OBJ_D)\bio_enc.obj $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj \ - $(OBJ_D)\c_all.obj $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj \ - $(OBJ_D)\evp_lib.obj $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj \ - $(OBJ_D)\evp_pbe.obj $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj \ - $(OBJ_D)\e_old.obj $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj \ - $(OBJ_D)\pmeth_gn.obj $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj \ - $(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj \ - $(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj \ - $(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj \ - $(OBJ_D)\a_print.obj $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj \ - $(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj \ - $(OBJ_D)\a_enum.obj $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj \ - $(OBJ_D)\a_digest.obj $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj \ - $(OBJ_D)\a_strex.obj $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj \ - $(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj \ - $(OBJ_D)\x_attrib.obj $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj \ - $(OBJ_D)\x_name.obj $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj \ - $(OBJ_D)\x_crl.obj $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj \ - $(OBJ_D)\nsseq.obj $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj \ - $(OBJ_D)\d2i_pr.obj $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj \ - $(OBJ_D)\t_req.obj $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj \ - $(OBJ_D)\t_crl.obj $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj \ - $(OBJ_D)\t_bitst.obj $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj \ - $(OBJ_D)\tasn_enc.obj $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj \ - $(OBJ_D)\tasn_typ.obj $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj \ - $(OBJ_D)\f_int.obj $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj \ - $(OBJ_D)\f_enum.obj $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj \ - $(OBJ_D)\x_exten.obj $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj \ - $(OBJ_D)\asn_mime.obj $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj \ - $(OBJ_D)\asn1_lib.obj $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj \ - $(OBJ_D)\a_strnid.obj $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj \ - $(OBJ_D)\p5_pbe.obj $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj \ - $(OBJ_D)\asn_moid.obj $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj \ - $(OBJ_D)\pem_info.obj $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj \ - $(OBJ_D)\pem_err.obj $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj \ - $(OBJ_D)\pem_oth.obj $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj \ - $(OBJ_D)\pvkfmt.obj $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj \ - $(OBJ_D)\x509_r2x.obj $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj \ - $(OBJ_D)\x509_req.obj $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj \ - $(OBJ_D)\x509_set.obj $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj \ - $(OBJ_D)\x509_err.obj $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj \ - $(OBJ_D)\x509_ext.obj $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj \ - $(OBJ_D)\x509_lu.obj $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj \ - $(OBJ_D)\x509_trs.obj $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj \ - $(OBJ_D)\x509_vpm.obj $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj \ - $(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj \ - $(OBJ_D)\v3_lib.obj $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj \ - $(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj \ - $(OBJ_D)\v3_skey.obj $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj \ - $(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj \ - $(OBJ_D)\v3_cpols.obj $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj \ - $(OBJ_D)\v3_info.obj $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj \ - $(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj \ - $(OBJ_D)\v3_pcia.obj $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj \ - $(OBJ_D)\pcy_node.obj $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj \ - $(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj \ - $(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj \ - $(OBJ_D)\cms_asn1.obj $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj \ - $(OBJ_D)\cms_smime.obj $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj \ - $(OBJ_D)\cms_dd.obj $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj \ - $(OBJ_D)\cms_enc.obj $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj \ - $(OBJ_D)\cms_kari.obj $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj \ - $(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj \ - $(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj \ - $(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj \ - $(OBJ_D)\pk7_doit.obj $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj \ - $(OBJ_D)\pk7_mime.obj $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj \ - $(OBJ_D)\p12_asn.obj $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj \ - $(OBJ_D)\p12_crt.obj $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj \ - $(OBJ_D)\p12_key.obj $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj \ - $(OBJ_D)\p12_utl.obj $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj \ - $(OBJ_D)\p12_p8d.obj $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj \ - $(OBJ_D)\comp_err.obj $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj \ - $(OBJ_D)\eng_err.obj $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj \ - $(OBJ_D)\eng_init.obj $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj \ - $(OBJ_D)\eng_pkey.obj $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj \ - $(OBJ_D)\tb_rsa.obj $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj \ - $(OBJ_D)\tb_dh.obj $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj \ - $(OBJ_D)\tb_store.obj $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj \ - $(OBJ_D)\tb_pkmeth.obj $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj \ - $(OBJ_D)\eng_cnf.obj $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj \ - $(OBJ_D)\eng_rdrand.obj $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj \ - $(OBJ_D)\ocsp_ht.obj $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj \ - $(OBJ_D)\ocsp_srv.obj $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj \ - $(OBJ_D)\ocsp_err.obj $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj \ - $(OBJ_D)\ui_openssl.obj $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj \ - $(OBJ_D)\krb5_asn.obj $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj \ - $(OBJ_D)\wp-x86_64.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ - $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ - $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ - $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ - $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \ - $(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \ - $(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \ - $(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \ - $(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \ - $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \ - $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \ - $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \ - $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \ - $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj - -SSLOBJ=$(OBJ_D)\s2_meth.obj \ - $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ - $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ - $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ - $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ - $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ - $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ - $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ - $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ - $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ - $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ - $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ - $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ - $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ - $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ - $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ - $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ - $(OBJ_D)\ssl_utst.obj - -T_EXE=$(TEST_D)\constant_time_test.exe \ - $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ - $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ - $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ - $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ - $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ - $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ - $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ - $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ - $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ - $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ - $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ - $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ - $(TEST_D)\igetest.exe - -E_SHLIB= - -################################################################### -all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe - -banner: - @echo Building OpenSSL - -$(TMP_D): - $(MKDIR) "$(TMP_D)" -# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different -#$(BIN_D): -# $(MKDIR) $(BIN_D) -# -#$(TEST_D): -# $(MKDIR) $(TEST_D) - -$(LIB_D): - $(MKDIR) "$(LIB_D)" - -$(INCO_D): $(INC_D) - $(MKDIR) "$(INCO_D)" - -$(INC_D): - $(MKDIR) "$(INC_D)" - -# This needs to be invoked once, when the makefile is first constructed, or -# after cleaning. -init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers - $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" - -headers: $(HEADER) $(EXHEADER) - -lib: $(LIBS_DEP) $(E_SHLIB) - -exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe - -$(TMP_D)\x86_64cpuid.asm: crypto\x86_64cpuid.pl - set ASM=$(ASM) - $(PERL) crypto\x86_64cpuid.pl $@ - -$(TMP_D)\md5-x86_64.asm: crypto\md5\asm\md5-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\md5\asm\md5-x86_64.pl $@ - -$(TMP_D)\sha1-x86_64.asm: crypto\sha\asm\sha1-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\sha\asm\sha1-x86_64.pl $@ - -$(TMP_D)\sha256-x86_64.asm: crypto\sha\asm\sha512-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\sha\asm\sha512-x86_64.pl $@ - -$(TMP_D)\sha512-x86_64.asm: crypto\sha\asm\sha512-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\sha\asm\sha512-x86_64.pl $@ - -$(TMP_D)\sha1-mb-x86_64.asm: crypto\sha\asm\sha1-mb-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\sha\asm\sha1-mb-x86_64.pl $@ - -$(TMP_D)\sha256-mb-x86_64.asm: crypto\sha\asm\sha256-mb-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\sha\asm\sha256-mb-x86_64.pl $@ - -$(TMP_D)\rc4-x86_64.asm: crypto\rc4\asm\rc4-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\rc4\asm\rc4-x86_64.pl $@ - -$(TMP_D)\rc4-md5-x86_64.asm: crypto\rc4\asm\rc4-md5-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\rc4\asm\rc4-md5-x86_64.pl $@ - -$(TMP_D)\aes-x86_64.asm: crypto\aes\asm\aes-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\aes-x86_64.pl $@ - -$(TMP_D)\vpaes-x86_64.asm: crypto\aes\asm\vpaes-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\vpaes-x86_64.pl $@ - -$(TMP_D)\bsaes-x86_64.asm: crypto\aes\asm\bsaes-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\bsaes-x86_64.pl $@ - -$(TMP_D)\aesni-x86_64.asm: crypto\aes\asm\aesni-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\aesni-x86_64.pl $@ - -$(TMP_D)\aesni-sha1-x86_64.asm: crypto\aes\asm\aesni-sha1-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\aesni-sha1-x86_64.pl $@ - -$(TMP_D)\aesni-sha256-x86_64.asm: crypto\aes\asm\aesni-sha256-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\aesni-sha256-x86_64.pl $@ - -$(TMP_D)\aesni-mb-x86_64.asm: crypto\aes\asm\aesni-mb-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\aesni-mb-x86_64.pl $@ - -$(TMP_D)\cmll-x86_64.asm: crypto\camellia\asm\cmll-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\camellia\asm\cmll-x86_64.pl $@ - -$(TMP_D)\ghash-x86_64.asm: crypto\modes\asm\ghash-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\modes\asm\ghash-x86_64.pl $@ - -$(TMP_D)\aesni-gcm-x86_64.asm: crypto\modes\asm\aesni-gcm-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\modes\asm\aesni-gcm-x86_64.pl $@ - -$(TMP_D)\x86_64-mont.asm: crypto\bn\asm\x86_64-mont.pl - set ASM=$(ASM) - $(PERL) crypto\bn\asm\x86_64-mont.pl $@ - -$(TMP_D)\x86_64-mont5.asm: crypto\bn\asm\x86_64-mont5.pl - set ASM=$(ASM) - $(PERL) crypto\bn\asm\x86_64-mont5.pl $@ - -$(TMP_D)\x86_64-gf2m.asm: crypto\bn\asm\x86_64-gf2m.pl - set ASM=$(ASM) - $(PERL) crypto\bn\asm\x86_64-gf2m.pl $@ - -$(TMP_D)\rsaz-x86_64.asm: crypto\bn\asm\rsaz-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\bn\asm\rsaz-x86_64.pl $@ - -$(TMP_D)\rsaz-avx2.asm: crypto\bn\asm\rsaz-avx2.pl - set ASM=$(ASM) - $(PERL) crypto\bn\asm\rsaz-avx2.pl $@ - -$(TMP_D)\ecp_nistz256-x86_64.asm: crypto\ec\asm\ecp_nistz256-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\ec\asm\ecp_nistz256-x86_64.pl $@ - -$(TMP_D)\wp-x86_64.asm: crypto\whrlpool\asm\wp-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\whrlpool\asm\wp-x86_64.pl $@ - -asms: $(TMP_D) $(TMP_D)\x86_64cpuid.asm $(TMP_D)\md5-x86_64.asm $(TMP_D)\sha1-x86_64.asm $(TMP_D)\sha256-x86_64.asm $(TMP_D)\sha512-x86_64.asm $(TMP_D)\sha1-mb-x86_64.asm $(TMP_D)\sha256-mb-x86_64.asm $(TMP_D)\rc4-x86_64.asm $(TMP_D)\rc4-md5-x86_64.asm $(TMP_D)\aes-x86_64.asm $(TMP_D)\vpaes-x86_64.asm $(TMP_D)\bsaes-x86_64.asm $(TMP_D)\aesni-x86_64.asm $(TMP_D)\aesni-sha1-x86_64.asm $(TMP_D)\aesni-sha256-x86_64.asm $(TMP_D)\aesni-mb-x86_64.asm $(TMP_D)\cmll-x86_64.asm $(TMP_D)\ghash-x86_64.asm $(TMP_D)\aesni-gcm-x86_64.asm $(TMP_D)\x86_64-mont.asm $(TMP_D)\x86_64-mont5.asm $(TMP_D)\x86_64-gf2m.asm $(TMP_D)\rsaz-x86_64.asm $(TMP_D)\rsaz-avx2.asm $(TMP_D)\ecp_nistz256-x86_64.asm $(TMP_D)\wp-x86_64.asm +# N.B. You MUST use -j on FreeBSD. +# This makefile has been automatically generated from the OpenSSL distribution. +# This single makefile will build the complete OpenSSL distribution and +# by default leave the 'interesting' output files in .\out and the stuff +# that needs deleting in .\tmp. +# The file was generated by running 'make makefile.one', which +# does a 'make files', which writes all the environment variables from all +# the makefiles to the file call MINFO. This file is used by +# util\mk1mf.pl to generate makefile.one. +# The 'makefile per directory' system suites me when developing this +# library and also so I can 'distribute' indervidual library sections. +# The one monster makefile better suits building in non-unix +# environments. + +INSTALLTOP=\usr\local\ssl +OPENSSLDIR=\usr\local\ssl + +# Set your compiler options +PLATFORM=VC-WIN64A +CC=cl +CFLAG= /MT /Ox -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE +APP_CFLAG= /Zi /Fd$(TMP_D)/app +LIB_CFLAG=/Zl /Zi /Fd$(TMP_D)/lib +SHLIB_CFLAG= +APP_EX_OBJ=setargv.obj +SHLIB_EX_OBJ= +# add extra libraries to this define, for solaris -lsocket -lnsl would +# be added +EX_LIBS=ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib + +# The OpenSSL directory +SRC_D=. + +LINK_CMD=link +LFLAGS=/nologo /subsystem:console /opt:ref /debug +RSC=rc + +# The output directory for everything interesting +OUT_D=out32 +# The output directory for all the temporary muck +TMP_D=tmp32 +# The output directory for the header files +INC_D=inc32 +INCO_D=inc32\openssl + +PERL=perl +CP=$(PERL) util/copy.pl +RM=del /Q +RANLIB= +MKDIR=$(PERL) util/mkdir-p.pl +MKLIB=lib /nologo +MLFLAGS= +ASM=nasm -f win64 -DNEAR -Ox -g + +# FIPS validated module and support file locations + +E_PREMAIN_DSO=fips_premain_dso + +FIPSDIR=\usr\local\ssl\fips-2.0 +BASEADDR=0xFB00000 +FIPSLIB_D=$(FIPSDIR)\lib +FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c +O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib +FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe +PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe +FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl + +###################################################### +# You should not need to touch anything below this point +###################################################### + +E_EXE=openssl +SSL=ssleay32 +CRYPTO=libeay32 + +# BIN_D - Binary output directory +# TEST_D - Binary test file output directory +# LIB_D - library output directory +# ENG_D - dynamic engine output directory +# Note: if you change these point to different directories then uncomment out +# the lines around the 'NB' comment below. +# +BIN_D=$(OUT_D) +TEST_D=$(OUT_D) +LIB_D=$(OUT_D) +ENG_D=$(OUT_D) + +# INCL_D - local library directory +# OBJ_D - temp object file directory +OBJ_D=$(TMP_D) +INCL_D=$(TMP_D) + +O_SSL= $(LIB_D)\$(SSL).lib +O_CRYPTO= $(LIB_D)\$(CRYPTO).lib +SO_SSL= $(SSL) +SO_CRYPTO= $(CRYPTO) +L_SSL= $(LIB_D)\$(SSL).lib +L_CRYPTO= $(LIB_D)\$(CRYPTO).lib + +L_LIBS= $(L_SSL) $(L_CRYPTO) + +###################################################### +# Don't touch anything below this point +###################################################### + +INC=-I$(INC_D) -I$(INCL_D) +APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) +LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) +SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) +LIBS_DEP=$(O_CRYPTO) $(O_SSL) + +############################################# +HEADER=$(INCL_D)\e_os.h \ + $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ + $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ + $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ + $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ + $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ + $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ + $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ + $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ + $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ + $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ + $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ + $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ + $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ + $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ + $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ + $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ + $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ + $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ + $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ + $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ + $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ + $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ + $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ + $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ + $(INCL_D)\ssltestlib.h + +EXHEADER=$(INCO_D)\e_os2.h \ + $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ + $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ + $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ + $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ + $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ + $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ + $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ + $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ + $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ + $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ + $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ + $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ + $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ + $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ + $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ + $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ + $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ + $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ + $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ + $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ + $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ + $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ + $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ + $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h + +T_OBJ=$(OBJ_D)\constant_time_test.obj \ + $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ + $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ + $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ + $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ + $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ + $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ + $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ + $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ + $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ + $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ + $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ + $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ + $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj + +E_OBJ=$(OBJ_D)\verify.obj \ + $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ + $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ + $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ + $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ + $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ + $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ + $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ + $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ + $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ + $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ + $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ + $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ + $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ + $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ + $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ + $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ + $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj + +CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ + $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ + $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ + $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ + $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ + $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86_64cpuid.obj \ + $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ + $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-x86_64.obj $(OBJ_D)\sha_dgst.obj \ + $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ + $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-x86_64.obj \ + $(OBJ_D)\sha256-x86_64.obj $(OBJ_D)\sha512-x86_64.obj $(OBJ_D)\sha1-mb-x86_64.obj \ + $(OBJ_D)\sha256-mb-x86_64.obj $(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj \ + $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj \ + $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj \ + $(OBJ_D)\set_key.obj $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj \ + $(OBJ_D)\ecb3_enc.obj $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj \ + $(OBJ_D)\cfb_enc.obj $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj \ + $(OBJ_D)\enc_writ.obj $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj \ + $(OBJ_D)\str2key.obj $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj \ + $(OBJ_D)\rand_key.obj $(OBJ_D)\des_enc.obj $(OBJ_D)\fcrypt_b.obj \ + $(OBJ_D)\fcrypt.obj $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj \ + $(OBJ_D)\cbc_cksm.obj $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj \ + $(OBJ_D)\des_old2.obj $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj \ + $(OBJ_D)\rc2_skey.obj $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj \ + $(OBJ_D)\rc2ofb64.obj $(OBJ_D)\rc4-x86_64.obj $(OBJ_D)\rc4-md5-x86_64.obj \ + $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj \ + $(OBJ_D)\bf_enc.obj $(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj \ + $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj $(OBJ_D)\c_enc.obj \ + $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj \ + $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj \ + $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj \ + $(OBJ_D)\aes-x86_64.obj $(OBJ_D)\vpaes-x86_64.obj $(OBJ_D)\bsaes-x86_64.obj \ + $(OBJ_D)\aesni-x86_64.obj $(OBJ_D)\aesni-sha1-x86_64.obj $(OBJ_D)\aesni-sha256-x86_64.obj \ + $(OBJ_D)\aesni-mb-x86_64.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ + $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ + $(OBJ_D)\cmll-x86_64.obj $(OBJ_D)\cmll_misc.obj $(OBJ_D)\seed.obj \ + $(OBJ_D)\seed_ecb.obj $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj \ + $(OBJ_D)\seed_ofb.obj $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj \ + $(OBJ_D)\cts128.obj $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj \ + $(OBJ_D)\gcm128.obj $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj \ + $(OBJ_D)\wrap128.obj $(OBJ_D)\ghash-x86_64.obj $(OBJ_D)\aesni-gcm-x86_64.obj \ + $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj \ + $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj \ + $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj \ + $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj \ + $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj \ + $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj \ + $(OBJ_D)\bn_asm.obj $(OBJ_D)\x86_64-mont.obj $(OBJ_D)\x86_64-mont5.obj \ + $(OBJ_D)\x86_64-gf2m.obj $(OBJ_D)\rsaz_exp.obj $(OBJ_D)\rsaz-x86_64.obj \ + $(OBJ_D)\rsaz-avx2.obj $(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj \ + $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj \ + $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj \ + $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj \ + $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj \ + $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj \ + $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj \ + $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj \ + $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj \ + $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj \ + $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj \ + $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj \ + $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj \ + $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj \ + $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj \ + $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj \ + $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj \ + $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj \ + $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj \ + $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj \ + $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj \ + $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj \ + $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj \ + $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj \ + $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj \ + $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj \ + $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj \ + $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj \ + $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj \ + $(OBJ_D)\ecp_nistz256.obj $(OBJ_D)\ecp_nistz256-x86_64.obj $(OBJ_D)\ech_lib.obj \ + $(OBJ_D)\ech_ossl.obj $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj \ + $(OBJ_D)\ech_kdf.obj $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj \ + $(OBJ_D)\ecs_ossl.obj $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj \ + $(OBJ_D)\ecs_err.obj $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj \ + $(OBJ_D)\buf_err.obj $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj \ + $(OBJ_D)\bio_err.obj $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj \ + $(OBJ_D)\bss_fd.obj $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj \ + $(OBJ_D)\bss_conn.obj $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj \ + $(OBJ_D)\b_print.obj $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj \ + $(OBJ_D)\bss_acpt.obj $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj \ + $(OBJ_D)\bss_bio.obj $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj \ + $(OBJ_D)\lhash.obj $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj \ + $(OBJ_D)\randfile.obj $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj \ + $(OBJ_D)\rand_egd.obj $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj \ + $(OBJ_D)\rand_os2.obj $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj \ + $(OBJ_D)\err_all.obj $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj \ + $(OBJ_D)\obj_dat.obj $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj \ + $(OBJ_D)\obj_xref.obj $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj \ + $(OBJ_D)\evp_enc.obj $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj \ + $(OBJ_D)\evp_cnf.obj $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj \ + $(OBJ_D)\e_idea.obj $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj \ + $(OBJ_D)\e_rc4.obj $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj \ + $(OBJ_D)\e_seed.obj $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj \ + $(OBJ_D)\e_cast.obj $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj \ + $(OBJ_D)\m_md4.obj $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj \ + $(OBJ_D)\m_sha1.obj $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj \ + $(OBJ_D)\m_dss1.obj $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj \ + $(OBJ_D)\p_open.obj $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj \ + $(OBJ_D)\p_verify.obj $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj \ + $(OBJ_D)\p_dec.obj $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj \ + $(OBJ_D)\bio_enc.obj $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj \ + $(OBJ_D)\c_all.obj $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj \ + $(OBJ_D)\evp_lib.obj $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj \ + $(OBJ_D)\evp_pbe.obj $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj \ + $(OBJ_D)\e_old.obj $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj \ + $(OBJ_D)\pmeth_gn.obj $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj \ + $(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj \ + $(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj \ + $(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj \ + $(OBJ_D)\a_print.obj $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj \ + $(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj \ + $(OBJ_D)\a_enum.obj $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj \ + $(OBJ_D)\a_digest.obj $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj \ + $(OBJ_D)\a_strex.obj $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj \ + $(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj \ + $(OBJ_D)\x_attrib.obj $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj \ + $(OBJ_D)\x_name.obj $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj \ + $(OBJ_D)\x_crl.obj $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj \ + $(OBJ_D)\nsseq.obj $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj \ + $(OBJ_D)\d2i_pr.obj $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj \ + $(OBJ_D)\t_req.obj $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj \ + $(OBJ_D)\t_crl.obj $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj \ + $(OBJ_D)\t_bitst.obj $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj \ + $(OBJ_D)\tasn_enc.obj $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj \ + $(OBJ_D)\tasn_typ.obj $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj \ + $(OBJ_D)\f_int.obj $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj \ + $(OBJ_D)\f_enum.obj $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj \ + $(OBJ_D)\x_exten.obj $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj \ + $(OBJ_D)\asn_mime.obj $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj \ + $(OBJ_D)\asn1_lib.obj $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj \ + $(OBJ_D)\a_strnid.obj $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj \ + $(OBJ_D)\p5_pbe.obj $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj \ + $(OBJ_D)\asn_moid.obj $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj \ + $(OBJ_D)\pem_info.obj $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj \ + $(OBJ_D)\pem_err.obj $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj \ + $(OBJ_D)\pem_oth.obj $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj \ + $(OBJ_D)\pvkfmt.obj $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj \ + $(OBJ_D)\x509_r2x.obj $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj \ + $(OBJ_D)\x509_req.obj $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj \ + $(OBJ_D)\x509_set.obj $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj \ + $(OBJ_D)\x509_err.obj $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj \ + $(OBJ_D)\x509_ext.obj $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj \ + $(OBJ_D)\x509_lu.obj $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj \ + $(OBJ_D)\x509_trs.obj $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj \ + $(OBJ_D)\x509_vpm.obj $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj \ + $(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj \ + $(OBJ_D)\v3_lib.obj $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj \ + $(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj \ + $(OBJ_D)\v3_skey.obj $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj \ + $(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj \ + $(OBJ_D)\v3_cpols.obj $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj \ + $(OBJ_D)\v3_info.obj $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj \ + $(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj \ + $(OBJ_D)\v3_pcia.obj $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj \ + $(OBJ_D)\pcy_node.obj $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj \ + $(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj \ + $(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj \ + $(OBJ_D)\cms_asn1.obj $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj \ + $(OBJ_D)\cms_smime.obj $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj \ + $(OBJ_D)\cms_dd.obj $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj \ + $(OBJ_D)\cms_enc.obj $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj \ + $(OBJ_D)\cms_kari.obj $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj \ + $(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj \ + $(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj \ + $(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj \ + $(OBJ_D)\pk7_doit.obj $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj \ + $(OBJ_D)\pk7_mime.obj $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj \ + $(OBJ_D)\p12_asn.obj $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj \ + $(OBJ_D)\p12_crt.obj $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj \ + $(OBJ_D)\p12_key.obj $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj \ + $(OBJ_D)\p12_utl.obj $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj \ + $(OBJ_D)\p12_p8d.obj $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj \ + $(OBJ_D)\comp_err.obj $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj \ + $(OBJ_D)\eng_err.obj $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj \ + $(OBJ_D)\eng_init.obj $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj \ + $(OBJ_D)\eng_pkey.obj $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj \ + $(OBJ_D)\tb_rsa.obj $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj \ + $(OBJ_D)\tb_dh.obj $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj \ + $(OBJ_D)\tb_store.obj $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj \ + $(OBJ_D)\tb_pkmeth.obj $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj \ + $(OBJ_D)\eng_cnf.obj $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj \ + $(OBJ_D)\eng_rdrand.obj $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj \ + $(OBJ_D)\ocsp_ht.obj $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj \ + $(OBJ_D)\ocsp_srv.obj $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj \ + $(OBJ_D)\ocsp_err.obj $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj \ + $(OBJ_D)\ui_openssl.obj $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj \ + $(OBJ_D)\krb5_asn.obj $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj \ + $(OBJ_D)\wp-x86_64.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ + $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ + $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ + $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ + $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \ + $(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \ + $(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \ + $(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \ + $(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \ + $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \ + $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \ + $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \ + $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \ + $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj + +SSLOBJ=$(OBJ_D)\s2_meth.obj \ + $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ + $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ + $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ + $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ + $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ + $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ + $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ + $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ + $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ + $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ + $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ + $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ + $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ + $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ + $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ + $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ + $(OBJ_D)\ssl_utst.obj + +T_EXE=$(TEST_D)\constant_time_test.exe \ + $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ + $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ + $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ + $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ + $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ + $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ + $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ + $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ + $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ + $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ + $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ + $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ + $(TEST_D)\igetest.exe + +E_SHLIB= + +################################################################### +all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe + +banner: + @echo Building OpenSSL + +$(TMP_D): + $(MKDIR) "$(TMP_D)" +# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different +#$(BIN_D): +# $(MKDIR) $(BIN_D) +# +#$(TEST_D): +# $(MKDIR) $(TEST_D) + +$(LIB_D): + $(MKDIR) "$(LIB_D)" + +$(INCO_D): $(INC_D) + $(MKDIR) "$(INCO_D)" + +$(INC_D): + $(MKDIR) "$(INC_D)" + +# This needs to be invoked once, when the makefile is first constructed, or +# after cleaning. +init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers + $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" + +headers: $(HEADER) $(EXHEADER) + +lib: $(LIBS_DEP) $(E_SHLIB) + +exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe + +$(TMP_D)\x86_64cpuid.asm: crypto\x86_64cpuid.pl + set ASM=$(ASM) + $(PERL) crypto\x86_64cpuid.pl $@ + +$(TMP_D)\md5-x86_64.asm: crypto\md5\asm\md5-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\md5\asm\md5-x86_64.pl $@ + +$(TMP_D)\sha1-x86_64.asm: crypto\sha\asm\sha1-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\sha\asm\sha1-x86_64.pl $@ + +$(TMP_D)\sha256-x86_64.asm: crypto\sha\asm\sha512-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\sha\asm\sha512-x86_64.pl $@ + +$(TMP_D)\sha512-x86_64.asm: crypto\sha\asm\sha512-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\sha\asm\sha512-x86_64.pl $@ + +$(TMP_D)\sha1-mb-x86_64.asm: crypto\sha\asm\sha1-mb-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\sha\asm\sha1-mb-x86_64.pl $@ + +$(TMP_D)\sha256-mb-x86_64.asm: crypto\sha\asm\sha256-mb-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\sha\asm\sha256-mb-x86_64.pl $@ + +$(TMP_D)\rc4-x86_64.asm: crypto\rc4\asm\rc4-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\rc4\asm\rc4-x86_64.pl $@ + +$(TMP_D)\rc4-md5-x86_64.asm: crypto\rc4\asm\rc4-md5-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\rc4\asm\rc4-md5-x86_64.pl $@ + +$(TMP_D)\aes-x86_64.asm: crypto\aes\asm\aes-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\aes-x86_64.pl $@ + +$(TMP_D)\vpaes-x86_64.asm: crypto\aes\asm\vpaes-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\vpaes-x86_64.pl $@ + +$(TMP_D)\bsaes-x86_64.asm: crypto\aes\asm\bsaes-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\bsaes-x86_64.pl $@ + +$(TMP_D)\aesni-x86_64.asm: crypto\aes\asm\aesni-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\aesni-x86_64.pl $@ + +$(TMP_D)\aesni-sha1-x86_64.asm: crypto\aes\asm\aesni-sha1-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\aesni-sha1-x86_64.pl $@ + +$(TMP_D)\aesni-sha256-x86_64.asm: crypto\aes\asm\aesni-sha256-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\aesni-sha256-x86_64.pl $@ + +$(TMP_D)\aesni-mb-x86_64.asm: crypto\aes\asm\aesni-mb-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\aesni-mb-x86_64.pl $@ + +$(TMP_D)\cmll-x86_64.asm: crypto\camellia\asm\cmll-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\camellia\asm\cmll-x86_64.pl $@ + +$(TMP_D)\ghash-x86_64.asm: crypto\modes\asm\ghash-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\modes\asm\ghash-x86_64.pl $@ + +$(TMP_D)\aesni-gcm-x86_64.asm: crypto\modes\asm\aesni-gcm-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\modes\asm\aesni-gcm-x86_64.pl $@ + +$(TMP_D)\x86_64-mont.asm: crypto\bn\asm\x86_64-mont.pl + set ASM=$(ASM) + $(PERL) crypto\bn\asm\x86_64-mont.pl $@ + +$(TMP_D)\x86_64-mont5.asm: crypto\bn\asm\x86_64-mont5.pl + set ASM=$(ASM) + $(PERL) crypto\bn\asm\x86_64-mont5.pl $@ + +$(TMP_D)\x86_64-gf2m.asm: crypto\bn\asm\x86_64-gf2m.pl + set ASM=$(ASM) + $(PERL) crypto\bn\asm\x86_64-gf2m.pl $@ + +$(TMP_D)\rsaz-x86_64.asm: crypto\bn\asm\rsaz-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\bn\asm\rsaz-x86_64.pl $@ + +$(TMP_D)\rsaz-avx2.asm: crypto\bn\asm\rsaz-avx2.pl + set ASM=$(ASM) + $(PERL) crypto\bn\asm\rsaz-avx2.pl $@ + +$(TMP_D)\ecp_nistz256-x86_64.asm: crypto\ec\asm\ecp_nistz256-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\ec\asm\ecp_nistz256-x86_64.pl $@ + +$(TMP_D)\wp-x86_64.asm: crypto\whrlpool\asm\wp-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\whrlpool\asm\wp-x86_64.pl $@ + +asms: $(TMP_D) $(TMP_D)\x86_64cpuid.asm $(TMP_D)\md5-x86_64.asm $(TMP_D)\sha1-x86_64.asm $(TMP_D)\sha256-x86_64.asm $(TMP_D)\sha512-x86_64.asm $(TMP_D)\sha1-mb-x86_64.asm $(TMP_D)\sha256-mb-x86_64.asm $(TMP_D)\rc4-x86_64.asm $(TMP_D)\rc4-md5-x86_64.asm $(TMP_D)\aes-x86_64.asm $(TMP_D)\vpaes-x86_64.asm $(TMP_D)\bsaes-x86_64.asm $(TMP_D)\aesni-x86_64.asm $(TMP_D)\aesni-sha1-x86_64.asm $(TMP_D)\aesni-sha256-x86_64.asm $(TMP_D)\aesni-mb-x86_64.asm $(TMP_D)\cmll-x86_64.asm $(TMP_D)\ghash-x86_64.asm $(TMP_D)\aesni-gcm-x86_64.asm $(TMP_D)\x86_64-mont.asm $(TMP_D)\x86_64-mont5.asm $(TMP_D)\x86_64-gf2m.asm $(TMP_D)\rsaz-x86_64.asm $(TMP_D)\rsaz-avx2.asm $(TMP_D)\ecp_nistz256-x86_64.asm $(TMP_D)\wp-x86_64.asm diff --git a/ms/nt64.mak b/ms/nt64.mak index 2ca45a79..0d3aa5dc 100644 --- a/ms/nt64.mak +++ b/ms/nt64.mak @@ -1,3609 +1,3609 @@ -# N.B. You MUST use -j on FreeBSD. -# This makefile has been automatically generated from the OpenSSL distribution. -# This single makefile will build the complete OpenSSL distribution and -# by default leave the 'interesting' output files in .\out and the stuff -# that needs deleting in .\tmp. -# The file was generated by running 'make makefile.one', which -# does a 'make files', which writes all the environment variables from all -# the makefiles to the file call MINFO. This file is used by -# util\mk1mf.pl to generate makefile.one. -# The 'makefile per directory' system suites me when developing this -# library and also so I can 'distribute' indervidual library sections. -# The one monster makefile better suits building in non-unix -# environments. - -INSTALLTOP=\usr\local\ssl -OPENSSLDIR=\usr\local\ssl - -# Set your compiler options -PLATFORM=VC-WIN64A -CC=cl -CFLAG= /MT /Ox -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE -APP_CFLAG= /Zi /Fd$(TMP_D)/app -LIB_CFLAG=/Zl /Zi /Fd$(TMP_D)/lib -SHLIB_CFLAG= -APP_EX_OBJ=setargv.obj -SHLIB_EX_OBJ= -# add extra libraries to this define, for solaris -lsocket -lnsl would -# be added -EX_LIBS=ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib - -# The OpenSSL directory -SRC_D=. - -LINK_CMD=link -LFLAGS=/nologo /subsystem:console /opt:ref /debug -RSC=rc - -# The output directory for everything interesting -OUT_D=out32 -# The output directory for all the temporary muck -TMP_D=tmp32 -# The output directory for the header files -INC_D=inc32 -INCO_D=inc32\openssl - -PERL=perl -CP=$(PERL) util/copy.pl -RM=del /Q -RANLIB= -MKDIR=$(PERL) util/mkdir-p.pl -MKLIB=lib /nologo -MLFLAGS= -ASM=nasm -f win64 -DNEAR -Ox -g - -# FIPS validated module and support file locations - -E_PREMAIN_DSO=fips_premain_dso - -FIPSDIR=\usr\local\ssl\fips-2.0 -BASEADDR=0xFB00000 -FIPSLIB_D=$(FIPSDIR)\lib -FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c -O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib -FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe -PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe -FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl - -###################################################### -# You should not need to touch anything below this point -###################################################### - -E_EXE=openssl -SSL=ssleay32 -CRYPTO=libeay32 - -# BIN_D - Binary output directory -# TEST_D - Binary test file output directory -# LIB_D - library output directory -# ENG_D - dynamic engine output directory -# Note: if you change these point to different directories then uncomment out -# the lines around the 'NB' comment below. -# -BIN_D=$(OUT_D) -TEST_D=$(OUT_D) -LIB_D=$(OUT_D) -ENG_D=$(OUT_D) - -# INCL_D - local library directory -# OBJ_D - temp object file directory -OBJ_D=$(TMP_D) -INCL_D=$(TMP_D) - -O_SSL= $(LIB_D)\$(SSL).lib -O_CRYPTO= $(LIB_D)\$(CRYPTO).lib -SO_SSL= $(SSL) -SO_CRYPTO= $(CRYPTO) -L_SSL= $(LIB_D)\$(SSL).lib -L_CRYPTO= $(LIB_D)\$(CRYPTO).lib - -L_LIBS= $(L_SSL) $(L_CRYPTO) - -###################################################### -# Don't touch anything below this point -###################################################### - -INC=-I$(INC_D) -I$(INCL_D) -APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) -LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) -SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) -LIBS_DEP=$(O_CRYPTO) $(O_SSL) - -############################################# -HEADER=$(INCL_D)\e_os.h \ - $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ - $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ - $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ - $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ - $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ - $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ - $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ - $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ - $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ - $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ - $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ - $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ - $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ - $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ - $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ - $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ - $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ - $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ - $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ - $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ - $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ - $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ - $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ - $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ - $(INCL_D)\ssltestlib.h - -EXHEADER=$(INCO_D)\e_os2.h \ - $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ - $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ - $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ - $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ - $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ - $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ - $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ - $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ - $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ - $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ - $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ - $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ - $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ - $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ - $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ - $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ - $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ - $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ - $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ - $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ - $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ - $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ - $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ - $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h - -T_OBJ=$(OBJ_D)\constant_time_test.obj \ - $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ - $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ - $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ - $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ - $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ - $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ - $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ - $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ - $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ - $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ - $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ - $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ - $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj - -E_OBJ=$(OBJ_D)\verify.obj \ - $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ - $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ - $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ - $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ - $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ - $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ - $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ - $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ - $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ - $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ - $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ - $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ - $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ - $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ - $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ - $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ - $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj - -CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ - $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ - $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ - $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ - $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ - $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86_64cpuid.obj \ - $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ - $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-x86_64.obj $(OBJ_D)\sha_dgst.obj \ - $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ - $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-x86_64.obj \ - $(OBJ_D)\sha256-x86_64.obj $(OBJ_D)\sha512-x86_64.obj $(OBJ_D)\sha1-mb-x86_64.obj \ - $(OBJ_D)\sha256-mb-x86_64.obj $(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj \ - $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj \ - $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj \ - $(OBJ_D)\set_key.obj $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj \ - $(OBJ_D)\ecb3_enc.obj $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj \ - $(OBJ_D)\cfb_enc.obj $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj \ - $(OBJ_D)\enc_writ.obj $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj \ - $(OBJ_D)\str2key.obj $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj \ - $(OBJ_D)\rand_key.obj $(OBJ_D)\des_enc.obj $(OBJ_D)\fcrypt_b.obj \ - $(OBJ_D)\fcrypt.obj $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj \ - $(OBJ_D)\cbc_cksm.obj $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj \ - $(OBJ_D)\des_old2.obj $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj \ - $(OBJ_D)\rc2_skey.obj $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj \ - $(OBJ_D)\rc2ofb64.obj $(OBJ_D)\rc4-x86_64.obj $(OBJ_D)\rc4-md5-x86_64.obj \ - $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj \ - $(OBJ_D)\bf_enc.obj $(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj \ - $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj $(OBJ_D)\c_enc.obj \ - $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj \ - $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj \ - $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj \ - $(OBJ_D)\aes-x86_64.obj $(OBJ_D)\vpaes-x86_64.obj $(OBJ_D)\bsaes-x86_64.obj \ - $(OBJ_D)\aesni-x86_64.obj $(OBJ_D)\aesni-sha1-x86_64.obj $(OBJ_D)\aesni-sha256-x86_64.obj \ - $(OBJ_D)\aesni-mb-x86_64.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ - $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ - $(OBJ_D)\cmll-x86_64.obj $(OBJ_D)\cmll_misc.obj $(OBJ_D)\seed.obj \ - $(OBJ_D)\seed_ecb.obj $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj \ - $(OBJ_D)\seed_ofb.obj $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj \ - $(OBJ_D)\cts128.obj $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj \ - $(OBJ_D)\gcm128.obj $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj \ - $(OBJ_D)\wrap128.obj $(OBJ_D)\ghash-x86_64.obj $(OBJ_D)\aesni-gcm-x86_64.obj \ - $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj \ - $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj \ - $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj \ - $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj \ - $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj \ - $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj \ - $(OBJ_D)\bn_asm.obj $(OBJ_D)\x86_64-mont.obj $(OBJ_D)\x86_64-mont5.obj \ - $(OBJ_D)\x86_64-gf2m.obj $(OBJ_D)\rsaz_exp.obj $(OBJ_D)\rsaz-x86_64.obj \ - $(OBJ_D)\rsaz-avx2.obj $(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj \ - $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj \ - $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj \ - $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj \ - $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj \ - $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj \ - $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj \ - $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj \ - $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj \ - $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj \ - $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj \ - $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj \ - $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj \ - $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj \ - $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj \ - $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj \ - $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj \ - $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj \ - $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj \ - $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj \ - $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj \ - $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj \ - $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj \ - $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj \ - $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj \ - $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj \ - $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj \ - $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj \ - $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj \ - $(OBJ_D)\ecp_nistz256.obj $(OBJ_D)\ecp_nistz256-x86_64.obj $(OBJ_D)\ech_lib.obj \ - $(OBJ_D)\ech_ossl.obj $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj \ - $(OBJ_D)\ech_kdf.obj $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj \ - $(OBJ_D)\ecs_ossl.obj $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj \ - $(OBJ_D)\ecs_err.obj $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj \ - $(OBJ_D)\buf_err.obj $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj \ - $(OBJ_D)\bio_err.obj $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj \ - $(OBJ_D)\bss_fd.obj $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj \ - $(OBJ_D)\bss_conn.obj $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj \ - $(OBJ_D)\b_print.obj $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj \ - $(OBJ_D)\bss_acpt.obj $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj \ - $(OBJ_D)\bss_bio.obj $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj \ - $(OBJ_D)\lhash.obj $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj \ - $(OBJ_D)\randfile.obj $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj \ - $(OBJ_D)\rand_egd.obj $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj \ - $(OBJ_D)\rand_os2.obj $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj \ - $(OBJ_D)\err_all.obj $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj \ - $(OBJ_D)\obj_dat.obj $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj \ - $(OBJ_D)\obj_xref.obj $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj \ - $(OBJ_D)\evp_enc.obj $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj \ - $(OBJ_D)\evp_cnf.obj $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj \ - $(OBJ_D)\e_idea.obj $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj \ - $(OBJ_D)\e_rc4.obj $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj \ - $(OBJ_D)\e_seed.obj $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj \ - $(OBJ_D)\e_cast.obj $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj \ - $(OBJ_D)\m_md4.obj $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj \ - $(OBJ_D)\m_sha1.obj $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj \ - $(OBJ_D)\m_dss1.obj $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj \ - $(OBJ_D)\p_open.obj $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj \ - $(OBJ_D)\p_verify.obj $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj \ - $(OBJ_D)\p_dec.obj $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj \ - $(OBJ_D)\bio_enc.obj $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj \ - $(OBJ_D)\c_all.obj $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj \ - $(OBJ_D)\evp_lib.obj $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj \ - $(OBJ_D)\evp_pbe.obj $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj \ - $(OBJ_D)\e_old.obj $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj \ - $(OBJ_D)\pmeth_gn.obj $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj \ - $(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj \ - $(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj \ - $(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj \ - $(OBJ_D)\a_print.obj $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj \ - $(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj \ - $(OBJ_D)\a_enum.obj $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj \ - $(OBJ_D)\a_digest.obj $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj \ - $(OBJ_D)\a_strex.obj $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj \ - $(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj \ - $(OBJ_D)\x_attrib.obj $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj \ - $(OBJ_D)\x_name.obj $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj \ - $(OBJ_D)\x_crl.obj $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj \ - $(OBJ_D)\nsseq.obj $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj \ - $(OBJ_D)\d2i_pr.obj $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj \ - $(OBJ_D)\t_req.obj $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj \ - $(OBJ_D)\t_crl.obj $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj \ - $(OBJ_D)\t_bitst.obj $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj \ - $(OBJ_D)\tasn_enc.obj $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj \ - $(OBJ_D)\tasn_typ.obj $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj \ - $(OBJ_D)\f_int.obj $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj \ - $(OBJ_D)\f_enum.obj $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj \ - $(OBJ_D)\x_exten.obj $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj \ - $(OBJ_D)\asn_mime.obj $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj \ - $(OBJ_D)\asn1_lib.obj $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj \ - $(OBJ_D)\a_strnid.obj $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj \ - $(OBJ_D)\p5_pbe.obj $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj \ - $(OBJ_D)\asn_moid.obj $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj \ - $(OBJ_D)\pem_info.obj $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj \ - $(OBJ_D)\pem_err.obj $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj \ - $(OBJ_D)\pem_oth.obj $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj \ - $(OBJ_D)\pvkfmt.obj $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj \ - $(OBJ_D)\x509_r2x.obj $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj \ - $(OBJ_D)\x509_req.obj $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj \ - $(OBJ_D)\x509_set.obj $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj \ - $(OBJ_D)\x509_err.obj $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj \ - $(OBJ_D)\x509_ext.obj $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj \ - $(OBJ_D)\x509_lu.obj $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj \ - $(OBJ_D)\x509_trs.obj $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj \ - $(OBJ_D)\x509_vpm.obj $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj \ - $(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj \ - $(OBJ_D)\v3_lib.obj $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj \ - $(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj \ - $(OBJ_D)\v3_skey.obj $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj \ - $(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj \ - $(OBJ_D)\v3_cpols.obj $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj \ - $(OBJ_D)\v3_info.obj $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj \ - $(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj \ - $(OBJ_D)\v3_pcia.obj $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj \ - $(OBJ_D)\pcy_node.obj $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj \ - $(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj \ - $(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj \ - $(OBJ_D)\cms_asn1.obj $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj \ - $(OBJ_D)\cms_smime.obj $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj \ - $(OBJ_D)\cms_dd.obj $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj \ - $(OBJ_D)\cms_enc.obj $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj \ - $(OBJ_D)\cms_kari.obj $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj \ - $(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj \ - $(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj \ - $(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj \ - $(OBJ_D)\pk7_doit.obj $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj \ - $(OBJ_D)\pk7_mime.obj $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj \ - $(OBJ_D)\p12_asn.obj $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj \ - $(OBJ_D)\p12_crt.obj $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj \ - $(OBJ_D)\p12_key.obj $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj \ - $(OBJ_D)\p12_utl.obj $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj \ - $(OBJ_D)\p12_p8d.obj $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj \ - $(OBJ_D)\comp_err.obj $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj \ - $(OBJ_D)\eng_err.obj $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj \ - $(OBJ_D)\eng_init.obj $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj \ - $(OBJ_D)\eng_pkey.obj $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj \ - $(OBJ_D)\tb_rsa.obj $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj \ - $(OBJ_D)\tb_dh.obj $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj \ - $(OBJ_D)\tb_store.obj $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj \ - $(OBJ_D)\tb_pkmeth.obj $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj \ - $(OBJ_D)\eng_cnf.obj $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj \ - $(OBJ_D)\eng_rdrand.obj $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj \ - $(OBJ_D)\ocsp_ht.obj $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj \ - $(OBJ_D)\ocsp_srv.obj $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj \ - $(OBJ_D)\ocsp_err.obj $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj \ - $(OBJ_D)\ui_openssl.obj $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj \ - $(OBJ_D)\krb5_asn.obj $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj \ - $(OBJ_D)\wp-x86_64.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ - $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ - $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ - $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ - $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \ - $(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \ - $(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \ - $(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \ - $(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \ - $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \ - $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \ - $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \ - $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \ - $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj - -SSLOBJ=$(OBJ_D)\s2_meth.obj \ - $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ - $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ - $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ - $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ - $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ - $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ - $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ - $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ - $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ - $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ - $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ - $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ - $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ - $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ - $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ - $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ - $(OBJ_D)\ssl_utst.obj - -T_EXE=$(TEST_D)\constant_time_test.exe \ - $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ - $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ - $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ - $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ - $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ - $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ - $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ - $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ - $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ - $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ - $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ - $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ - $(TEST_D)\igetest.exe - -E_SHLIB= - -################################################################### -all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe - -banner: - @echo Building OpenSSL - -$(TMP_D): - $(MKDIR) "$(TMP_D)" -# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different -#$(BIN_D): -# $(MKDIR) $(BIN_D) -# -#$(TEST_D): -# $(MKDIR) $(TEST_D) - -$(LIB_D): - $(MKDIR) "$(LIB_D)" - -$(INCO_D): $(INC_D) - $(MKDIR) "$(INCO_D)" - -$(INC_D): - $(MKDIR) "$(INC_D)" - -# This needs to be invoked once, when the makefile is first constructed, or -# after cleaning. -init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers - $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" - -headers: $(HEADER) $(EXHEADER) - -lib: $(LIBS_DEP) $(E_SHLIB) - -exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe - -install: all - $(MKDIR) "$(INSTALLTOP)" - $(MKDIR) "$(INSTALLTOP)\bin" - $(MKDIR) "$(INSTALLTOP)\include" - $(MKDIR) "$(INSTALLTOP)\include\openssl" - $(MKDIR) "$(INSTALLTOP)\lib" - $(CP) "$(INCO_D)\*.[ch]" "$(INSTALLTOP)\include\openssl" - $(CP) "$(BIN_D)\$(E_EXE).exe" "$(INSTALLTOP)\bin" - $(MKDIR) "$(OPENSSLDIR)" - $(CP) apps\openssl.cnf "$(OPENSSLDIR)" - $(CP) "$(O_SSL)" "$(INSTALLTOP)\lib" - $(CP) "$(O_CRYPTO)" "$(INSTALLTOP)\lib" - - -clean: - $(RM) $(TMP_D)\*.* - -vclean: - $(RM) $(TMP_D)\*.* - $(RM) $(OUT_D)\*.* - -reallyclean: - $(RM) -rf $(TMP_D) - $(RM) -rf $(BIN_D) - $(RM) -rf $(TEST_D) - $(RM) -rf $(LIB_D) - $(RM) -rf $(INC_D) - -test: $(T_EXE) - cd $(BIN_D) - ..\ms\test - -$(INCL_D)\e_os.h: $(SRC_D)\.\e_os.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os.h" "$(INCL_D)\e_os.h" - -$(INCL_D)\cryptlib.h: $(SRC_D)\crypto\cryptlib.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cryptlib.h" "$(INCL_D)\cryptlib.h" - -$(INCL_D)\buildinf.h: $(SRC_D)\crypto\buildinf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buildinf.h" "$(INCL_D)\buildinf.h" - -$(INCL_D)\md32_common.h: $(SRC_D)\crypto\md32_common.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md32_common.h" "$(INCL_D)\md32_common.h" - -$(INCL_D)\o_time.h: $(SRC_D)\crypto\o_time.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_time.h" "$(INCL_D)\o_time.h" - -$(INCL_D)\o_str.h: $(SRC_D)\crypto\o_str.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_str.h" "$(INCL_D)\o_str.h" - -$(INCL_D)\o_dir.h: $(SRC_D)\crypto\o_dir.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_dir.h" "$(INCL_D)\o_dir.h" - -$(INCL_D)\constant_time_locl.h: $(SRC_D)\crypto\constant_time_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\constant_time_locl.h" "$(INCL_D)\constant_time_locl.h" - -$(INCL_D)\bn_int.h: $(SRC_D)\crypto\bn_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn_int.h" "$(INCL_D)\bn_int.h" - -$(INCL_D)\md4_locl.h: $(SRC_D)\crypto\md4\md4_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4_locl.h" "$(INCL_D)\md4_locl.h" - -$(INCL_D)\md5_locl.h: $(SRC_D)\crypto\md5\md5_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5_locl.h" "$(INCL_D)\md5_locl.h" - -$(INCL_D)\sha_locl.h: $(SRC_D)\crypto\sha\sha_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha_locl.h" "$(INCL_D)\sha_locl.h" - -$(INCL_D)\rmd_locl.h: $(SRC_D)\crypto\ripemd\rmd_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmd_locl.h" "$(INCL_D)\rmd_locl.h" - -$(INCL_D)\rmdconst.h: $(SRC_D)\crypto\ripemd\rmdconst.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmdconst.h" "$(INCL_D)\rmdconst.h" - -$(INCL_D)\des_locl.h: $(SRC_D)\crypto\des\des_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_locl.h" "$(INCL_D)\des_locl.h" - -$(INCL_D)\rpc_des.h: $(SRC_D)\crypto\des\rpc_des.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\rpc_des.h" "$(INCL_D)\rpc_des.h" - -$(INCL_D)\spr.h: $(SRC_D)\crypto\des\spr.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\spr.h" "$(INCL_D)\spr.h" - -$(INCL_D)\des_ver.h: $(SRC_D)\crypto\des\des_ver.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_ver.h" "$(INCL_D)\des_ver.h" - -$(INCL_D)\rc2_locl.h: $(SRC_D)\crypto\rc2\rc2_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2_locl.h" "$(INCL_D)\rc2_locl.h" - -$(INCL_D)\rc4_locl.h: $(SRC_D)\crypto\rc4\rc4_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4_locl.h" "$(INCL_D)\rc4_locl.h" - -$(INCL_D)\bf_pi.h: $(SRC_D)\crypto\bf\bf_pi.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_pi.h" "$(INCL_D)\bf_pi.h" - -$(INCL_D)\bf_locl.h: $(SRC_D)\crypto\bf\bf_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_locl.h" "$(INCL_D)\bf_locl.h" - -$(INCL_D)\cast_s.h: $(SRC_D)\crypto\cast\cast_s.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_s.h" "$(INCL_D)\cast_s.h" - -$(INCL_D)\cast_lcl.h: $(SRC_D)\crypto\cast\cast_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_lcl.h" "$(INCL_D)\cast_lcl.h" - -$(INCL_D)\aes_locl.h: $(SRC_D)\crypto\aes\aes_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes_locl.h" "$(INCL_D)\aes_locl.h" - -$(INCL_D)\cmll_locl.h: $(SRC_D)\crypto\camellia\cmll_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\cmll_locl.h" "$(INCL_D)\cmll_locl.h" - -$(INCL_D)\seed_locl.h: $(SRC_D)\crypto\seed\seed_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed_locl.h" "$(INCL_D)\seed_locl.h" - -$(INCL_D)\modes_lcl.h: $(SRC_D)\crypto\modes\modes_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes_lcl.h" "$(INCL_D)\modes_lcl.h" - -$(INCL_D)\bn_lcl.h: $(SRC_D)\crypto\bn\bn_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_lcl.h" "$(INCL_D)\bn_lcl.h" - -$(INCL_D)\bn_prime.h: $(SRC_D)\crypto\bn\bn_prime.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_prime.h" "$(INCL_D)\bn_prime.h" - -$(INCL_D)\dsa_locl.h: $(SRC_D)\crypto\dsa\dsa_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa_locl.h" "$(INCL_D)\dsa_locl.h" - -$(INCL_D)\ec_lcl.h: $(SRC_D)\crypto\ec\ec_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec_lcl.h" "$(INCL_D)\ec_lcl.h" - -$(INCL_D)\ech_locl.h: $(SRC_D)\crypto\ecdh\ech_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ech_locl.h" "$(INCL_D)\ech_locl.h" - -$(INCL_D)\ecs_locl.h: $(SRC_D)\crypto\ecdsa\ecs_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecs_locl.h" "$(INCL_D)\ecs_locl.h" - -$(INCL_D)\bio_lcl.h: $(SRC_D)\crypto\bio\bio_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio_lcl.h" "$(INCL_D)\bio_lcl.h" - -$(INCL_D)\obj_dat.h: $(SRC_D)\crypto\objects\obj_dat.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_dat.h" "$(INCL_D)\obj_dat.h" - -$(INCL_D)\obj_xref.h: $(SRC_D)\crypto\objects\obj_xref.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_xref.h" "$(INCL_D)\obj_xref.h" - -$(INCL_D)\evp_locl.h: $(SRC_D)\crypto\evp\evp_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp_locl.h" "$(INCL_D)\evp_locl.h" - -$(INCL_D)\asn1_locl.h: $(SRC_D)\crypto\asn1\asn1_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_locl.h" "$(INCL_D)\asn1_locl.h" - -$(INCL_D)\vpm_int.h: $(SRC_D)\crypto\x509\vpm_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\vpm_int.h" "$(INCL_D)\vpm_int.h" - -$(INCL_D)\pcy_int.h: $(SRC_D)\crypto\x509v3\pcy_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\pcy_int.h" "$(INCL_D)\pcy_int.h" - -$(INCL_D)\cms_lcl.h: $(SRC_D)\crypto\cms\cms_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms_lcl.h" "$(INCL_D)\cms_lcl.h" - -$(INCL_D)\conf_def.h: $(SRC_D)\crypto\conf\conf_def.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_def.h" "$(INCL_D)\conf_def.h" - -$(INCL_D)\ui_locl.h: $(SRC_D)\crypto\ui\ui_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_locl.h" "$(INCL_D)\ui_locl.h" - -$(INCL_D)\wp_locl.h: $(SRC_D)\crypto\whrlpool\wp_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\wp_locl.h" "$(INCL_D)\wp_locl.h" - -$(INCL_D)\ssl_locl.h: $(SRC_D)\ssl\ssl_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl_locl.h" "$(INCL_D)\ssl_locl.h" - -$(INCL_D)\kssl_lcl.h: $(SRC_D)\ssl\kssl_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl_lcl.h" "$(INCL_D)\kssl_lcl.h" - -$(INCL_D)\apps.h: $(SRC_D)\apps\apps.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\apps.h" "$(INCL_D)\apps.h" - -$(INCL_D)\progs.h: $(SRC_D)\apps\progs.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\progs.h" "$(INCL_D)\progs.h" - -$(INCL_D)\s_apps.h: $(SRC_D)\apps\s_apps.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\s_apps.h" "$(INCL_D)\s_apps.h" - -$(INCL_D)\testdsa.h: $(SRC_D)\apps\testdsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testdsa.h" "$(INCL_D)\testdsa.h" - -$(INCL_D)\testrsa.h: $(SRC_D)\apps\testrsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testrsa.h" "$(INCL_D)\testrsa.h" - -$(INCL_D)\e_4758cca_err.c: $(SRC_D)\engines\e_4758cca_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.c" "$(INCL_D)\e_4758cca_err.c" - -$(INCL_D)\e_4758cca_err.h: $(SRC_D)\engines\e_4758cca_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.h" "$(INCL_D)\e_4758cca_err.h" - -$(INCL_D)\e_aep_err.c: $(SRC_D)\engines\e_aep_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.c" "$(INCL_D)\e_aep_err.c" - -$(INCL_D)\e_aep_err.h: $(SRC_D)\engines\e_aep_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.h" "$(INCL_D)\e_aep_err.h" - -$(INCL_D)\e_atalla_err.c: $(SRC_D)\engines\e_atalla_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.c" "$(INCL_D)\e_atalla_err.c" - -$(INCL_D)\e_atalla_err.h: $(SRC_D)\engines\e_atalla_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.h" "$(INCL_D)\e_atalla_err.h" - -$(INCL_D)\e_cswift_err.c: $(SRC_D)\engines\e_cswift_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.c" "$(INCL_D)\e_cswift_err.c" - -$(INCL_D)\e_cswift_err.h: $(SRC_D)\engines\e_cswift_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.h" "$(INCL_D)\e_cswift_err.h" - -$(INCL_D)\e_gmp_err.c: $(SRC_D)\engines\e_gmp_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.c" "$(INCL_D)\e_gmp_err.c" - -$(INCL_D)\e_gmp_err.h: $(SRC_D)\engines\e_gmp_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.h" "$(INCL_D)\e_gmp_err.h" - -$(INCL_D)\e_chil_err.c: $(SRC_D)\engines\e_chil_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.c" "$(INCL_D)\e_chil_err.c" - -$(INCL_D)\e_chil_err.h: $(SRC_D)\engines\e_chil_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.h" "$(INCL_D)\e_chil_err.h" - -$(INCL_D)\e_nuron_err.c: $(SRC_D)\engines\e_nuron_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.c" "$(INCL_D)\e_nuron_err.c" - -$(INCL_D)\e_nuron_err.h: $(SRC_D)\engines\e_nuron_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.h" "$(INCL_D)\e_nuron_err.h" - -$(INCL_D)\e_sureware_err.c: $(SRC_D)\engines\e_sureware_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.c" "$(INCL_D)\e_sureware_err.c" - -$(INCL_D)\e_sureware_err.h: $(SRC_D)\engines\e_sureware_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.h" "$(INCL_D)\e_sureware_err.h" - -$(INCL_D)\e_ubsec_err.c: $(SRC_D)\engines\e_ubsec_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.c" "$(INCL_D)\e_ubsec_err.c" - -$(INCL_D)\e_ubsec_err.h: $(SRC_D)\engines\e_ubsec_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.h" "$(INCL_D)\e_ubsec_err.h" - -$(INCL_D)\e_capi_err.c: $(SRC_D)\engines\e_capi_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.c" "$(INCL_D)\e_capi_err.c" - -$(INCL_D)\e_capi_err.h: $(SRC_D)\engines\e_capi_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.h" "$(INCL_D)\e_capi_err.h" - -$(INCL_D)\testutil.h: $(SRC_D)\test\testutil.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\testutil.h" "$(INCL_D)\testutil.h" - -$(INCL_D)\ssltestlib.h: $(SRC_D)\test\ssltestlib.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\ssltestlib.h" "$(INCL_D)\ssltestlib.h" - -$(INCO_D)\e_os2.h: $(SRC_D)\.\e_os2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os2.h" "$(INCO_D)\e_os2.h" - -$(INCO_D)\crypto.h: $(SRC_D)\crypto\crypto.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\crypto.h" "$(INCO_D)\crypto.h" - -$(INCO_D)\opensslv.h: $(SRC_D)\crypto\opensslv.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslv.h" "$(INCO_D)\opensslv.h" - -$(INCO_D)\opensslconf.h: $(SRC_D)\crypto\opensslconf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslconf.h" "$(INCO_D)\opensslconf.h" - -$(INCO_D)\ebcdic.h: $(SRC_D)\crypto\ebcdic.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ebcdic.h" "$(INCO_D)\ebcdic.h" - -$(INCO_D)\symhacks.h: $(SRC_D)\crypto\symhacks.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\symhacks.h" "$(INCO_D)\symhacks.h" - -$(INCO_D)\ossl_typ.h: $(SRC_D)\crypto\ossl_typ.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ossl_typ.h" "$(INCO_D)\ossl_typ.h" - -$(INCO_D)\md4.h: $(SRC_D)\crypto\md4\md4.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4.h" "$(INCO_D)\md4.h" - -$(INCO_D)\md5.h: $(SRC_D)\crypto\md5\md5.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5.h" "$(INCO_D)\md5.h" - -$(INCO_D)\sha.h: $(SRC_D)\crypto\sha\sha.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha.h" "$(INCO_D)\sha.h" - -$(INCO_D)\hmac.h: $(SRC_D)\crypto\hmac\hmac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\hmac\hmac.h" "$(INCO_D)\hmac.h" - -$(INCO_D)\cmac.h: $(SRC_D)\crypto\cmac\cmac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cmac\cmac.h" "$(INCO_D)\cmac.h" - -$(INCO_D)\ripemd.h: $(SRC_D)\crypto\ripemd\ripemd.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\ripemd.h" "$(INCO_D)\ripemd.h" - -$(INCO_D)\des.h: $(SRC_D)\crypto\des\des.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des.h" "$(INCO_D)\des.h" - -$(INCO_D)\des_old.h: $(SRC_D)\crypto\des\des_old.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_old.h" "$(INCO_D)\des_old.h" - -$(INCO_D)\rc2.h: $(SRC_D)\crypto\rc2\rc2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2.h" "$(INCO_D)\rc2.h" - -$(INCO_D)\rc4.h: $(SRC_D)\crypto\rc4\rc4.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4.h" "$(INCO_D)\rc4.h" - -$(INCO_D)\blowfish.h: $(SRC_D)\crypto\bf\blowfish.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\blowfish.h" "$(INCO_D)\blowfish.h" - -$(INCO_D)\cast.h: $(SRC_D)\crypto\cast\cast.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast.h" "$(INCO_D)\cast.h" - -$(INCO_D)\aes.h: $(SRC_D)\crypto\aes\aes.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes.h" "$(INCO_D)\aes.h" - -$(INCO_D)\camellia.h: $(SRC_D)\crypto\camellia\camellia.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\camellia.h" "$(INCO_D)\camellia.h" - -$(INCO_D)\seed.h: $(SRC_D)\crypto\seed\seed.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed.h" "$(INCO_D)\seed.h" - -$(INCO_D)\modes.h: $(SRC_D)\crypto\modes\modes.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes.h" "$(INCO_D)\modes.h" - -$(INCO_D)\bn.h: $(SRC_D)\crypto\bn\bn.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn.h" "$(INCO_D)\bn.h" - -$(INCO_D)\rsa.h: $(SRC_D)\crypto\rsa\rsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rsa\rsa.h" "$(INCO_D)\rsa.h" - -$(INCO_D)\dsa.h: $(SRC_D)\crypto\dsa\dsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa.h" "$(INCO_D)\dsa.h" - -$(INCO_D)\dso.h: $(SRC_D)\crypto\dso\dso.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dso\dso.h" "$(INCO_D)\dso.h" - -$(INCO_D)\dh.h: $(SRC_D)\crypto\dh\dh.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dh\dh.h" "$(INCO_D)\dh.h" - -$(INCO_D)\ec.h: $(SRC_D)\crypto\ec\ec.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec.h" "$(INCO_D)\ec.h" - -$(INCO_D)\ecdh.h: $(SRC_D)\crypto\ecdh\ecdh.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ecdh.h" "$(INCO_D)\ecdh.h" - -$(INCO_D)\ecdsa.h: $(SRC_D)\crypto\ecdsa\ecdsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecdsa.h" "$(INCO_D)\ecdsa.h" - -$(INCO_D)\buffer.h: $(SRC_D)\crypto\buffer\buffer.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buffer\buffer.h" "$(INCO_D)\buffer.h" - -$(INCO_D)\bio.h: $(SRC_D)\crypto\bio\bio.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio.h" "$(INCO_D)\bio.h" - -$(INCO_D)\stack.h: $(SRC_D)\crypto\stack\stack.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\stack.h" "$(INCO_D)\stack.h" - -$(INCO_D)\safestack.h: $(SRC_D)\crypto\stack\safestack.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\safestack.h" "$(INCO_D)\safestack.h" - -$(INCO_D)\lhash.h: $(SRC_D)\crypto\lhash\lhash.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\lhash\lhash.h" "$(INCO_D)\lhash.h" - -$(INCO_D)\rand.h: $(SRC_D)\crypto\rand\rand.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rand\rand.h" "$(INCO_D)\rand.h" - -$(INCO_D)\err.h: $(SRC_D)\crypto\err\err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\err\err.h" "$(INCO_D)\err.h" - -$(INCO_D)\objects.h: $(SRC_D)\crypto\objects\objects.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\objects.h" "$(INCO_D)\objects.h" - -$(INCO_D)\obj_mac.h: $(SRC_D)\crypto\objects\obj_mac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_mac.h" "$(INCO_D)\obj_mac.h" - -$(INCO_D)\evp.h: $(SRC_D)\crypto\evp\evp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp.h" "$(INCO_D)\evp.h" - -$(INCO_D)\asn1.h: $(SRC_D)\crypto\asn1\asn1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1.h" "$(INCO_D)\asn1.h" - -$(INCO_D)\asn1_mac.h: $(SRC_D)\crypto\asn1\asn1_mac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_mac.h" "$(INCO_D)\asn1_mac.h" - -$(INCO_D)\asn1t.h: $(SRC_D)\crypto\asn1\asn1t.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1t.h" "$(INCO_D)\asn1t.h" - -$(INCO_D)\pem.h: $(SRC_D)\crypto\pem\pem.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem.h" "$(INCO_D)\pem.h" - -$(INCO_D)\pem2.h: $(SRC_D)\crypto\pem\pem2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem2.h" "$(INCO_D)\pem2.h" - -$(INCO_D)\x509.h: $(SRC_D)\crypto\x509\x509.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509.h" "$(INCO_D)\x509.h" - -$(INCO_D)\x509_vfy.h: $(SRC_D)\crypto\x509\x509_vfy.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509_vfy.h" "$(INCO_D)\x509_vfy.h" - -$(INCO_D)\x509v3.h: $(SRC_D)\crypto\x509v3\x509v3.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\x509v3.h" "$(INCO_D)\x509v3.h" - -$(INCO_D)\cms.h: $(SRC_D)\crypto\cms\cms.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms.h" "$(INCO_D)\cms.h" - -$(INCO_D)\conf.h: $(SRC_D)\crypto\conf\conf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf.h" "$(INCO_D)\conf.h" - -$(INCO_D)\conf_api.h: $(SRC_D)\crypto\conf\conf_api.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_api.h" "$(INCO_D)\conf_api.h" - -$(INCO_D)\txt_db.h: $(SRC_D)\crypto\txt_db\txt_db.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\txt_db\txt_db.h" "$(INCO_D)\txt_db.h" - -$(INCO_D)\pkcs7.h: $(SRC_D)\crypto\pkcs7\pkcs7.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs7\pkcs7.h" "$(INCO_D)\pkcs7.h" - -$(INCO_D)\pkcs12.h: $(SRC_D)\crypto\pkcs12\pkcs12.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs12\pkcs12.h" "$(INCO_D)\pkcs12.h" - -$(INCO_D)\comp.h: $(SRC_D)\crypto\comp\comp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\comp\comp.h" "$(INCO_D)\comp.h" - -$(INCO_D)\engine.h: $(SRC_D)\crypto\engine\engine.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\engine\engine.h" "$(INCO_D)\engine.h" - -$(INCO_D)\ocsp.h: $(SRC_D)\crypto\ocsp\ocsp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ocsp\ocsp.h" "$(INCO_D)\ocsp.h" - -$(INCO_D)\ui.h: $(SRC_D)\crypto\ui\ui.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui.h" "$(INCO_D)\ui.h" - -$(INCO_D)\ui_compat.h: $(SRC_D)\crypto\ui\ui_compat.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_compat.h" "$(INCO_D)\ui_compat.h" - -$(INCO_D)\krb5_asn.h: $(SRC_D)\crypto\krb5\krb5_asn.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\krb5\krb5_asn.h" "$(INCO_D)\krb5_asn.h" - -$(INCO_D)\pqueue.h: $(SRC_D)\crypto\pqueue\pqueue.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pqueue\pqueue.h" "$(INCO_D)\pqueue.h" - -$(INCO_D)\whrlpool.h: $(SRC_D)\crypto\whrlpool\whrlpool.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\whrlpool.h" "$(INCO_D)\whrlpool.h" - -$(INCO_D)\ts.h: $(SRC_D)\crypto\ts\ts.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ts\ts.h" "$(INCO_D)\ts.h" - -$(INCO_D)\srp.h: $(SRC_D)\crypto\srp\srp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\srp\srp.h" "$(INCO_D)\srp.h" - -$(INCO_D)\ssl.h: $(SRC_D)\ssl\ssl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl.h" "$(INCO_D)\ssl.h" - -$(INCO_D)\ssl2.h: $(SRC_D)\ssl\ssl2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl2.h" "$(INCO_D)\ssl2.h" - -$(INCO_D)\ssl3.h: $(SRC_D)\ssl\ssl3.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl3.h" "$(INCO_D)\ssl3.h" - -$(INCO_D)\ssl23.h: $(SRC_D)\ssl\ssl23.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl23.h" "$(INCO_D)\ssl23.h" - -$(INCO_D)\tls1.h: $(SRC_D)\ssl\tls1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\tls1.h" "$(INCO_D)\tls1.h" - -$(INCO_D)\dtls1.h: $(SRC_D)\ssl\dtls1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\dtls1.h" "$(INCO_D)\dtls1.h" - -$(INCO_D)\kssl.h: $(SRC_D)\ssl\kssl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl.h" "$(INCO_D)\kssl.h" - -$(INCO_D)\srtp.h: $(SRC_D)\ssl\srtp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\srtp.h" "$(INCO_D)\srtp.h" - -$(OBJ_D)\constant_time_test.obj: $(SRC_D)\crypto\constant_time_test.c - $(CC) /Fo$(OBJ_D)\constant_time_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\constant_time_test.c - -$(OBJ_D)\md4test.obj: $(SRC_D)\crypto\md4\md4test.c - $(CC) /Fo$(OBJ_D)\md4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md4\md4test.c - -$(OBJ_D)\md5test.obj: $(SRC_D)\crypto\md5\md5test.c - $(CC) /Fo$(OBJ_D)\md5test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md5\md5test.c - -$(OBJ_D)\shatest.obj: $(SRC_D)\crypto\sha\shatest.c - $(CC) /Fo$(OBJ_D)\shatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\shatest.c - -$(OBJ_D)\sha1test.obj: $(SRC_D)\crypto\sha\sha1test.c - $(CC) /Fo$(OBJ_D)\sha1test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha1test.c - -$(OBJ_D)\sha256t.obj: $(SRC_D)\crypto\sha\sha256t.c - $(CC) /Fo$(OBJ_D)\sha256t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha256t.c - -$(OBJ_D)\sha512t.obj: $(SRC_D)\crypto\sha\sha512t.c - $(CC) /Fo$(OBJ_D)\sha512t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha512t.c - -$(OBJ_D)\hmactest.obj: $(SRC_D)\crypto\hmac\hmactest.c - $(CC) /Fo$(OBJ_D)\hmactest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\hmac\hmactest.c - -$(OBJ_D)\rmdtest.obj: $(SRC_D)\crypto\ripemd\rmdtest.c - $(CC) /Fo$(OBJ_D)\rmdtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmdtest.c - -$(OBJ_D)\destest.obj: $(SRC_D)\crypto\des\destest.c - $(CC) /Fo$(OBJ_D)\destest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\des\destest.c - -$(OBJ_D)\rc2test.obj: $(SRC_D)\crypto\rc2\rc2test.c - $(CC) /Fo$(OBJ_D)\rc2test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2test.c - -$(OBJ_D)\rc4test.obj: $(SRC_D)\crypto\rc4\rc4test.c - $(CC) /Fo$(OBJ_D)\rc4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4test.c - -$(OBJ_D)\bftest.obj: $(SRC_D)\crypto\bf\bftest.c - $(CC) /Fo$(OBJ_D)\bftest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bf\bftest.c - -$(OBJ_D)\casttest.obj: $(SRC_D)\crypto\cast\casttest.c - $(CC) /Fo$(OBJ_D)\casttest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\cast\casttest.c - -$(OBJ_D)\bntest.obj: $(SRC_D)\crypto\bn\bntest.c - $(CC) /Fo$(OBJ_D)\bntest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\bntest.c - -$(OBJ_D)\exptest.obj: $(SRC_D)\crypto\bn\exptest.c - $(CC) /Fo$(OBJ_D)\exptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\exptest.c - -$(OBJ_D)\rsa_test.obj: $(SRC_D)\crypto\rsa\rsa_test.c - $(CC) /Fo$(OBJ_D)\rsa_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_test.c - -$(OBJ_D)\dsatest.obj: $(SRC_D)\crypto\dsa\dsatest.c - $(CC) /Fo$(OBJ_D)\dsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dsa\dsatest.c - -$(OBJ_D)\dhtest.obj: $(SRC_D)\crypto\dh\dhtest.c - $(CC) /Fo$(OBJ_D)\dhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dh\dhtest.c - -$(OBJ_D)\ectest.obj: $(SRC_D)\crypto\ec\ectest.c - $(CC) /Fo$(OBJ_D)\ectest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ec\ectest.c - -$(OBJ_D)\ecdhtest.obj: $(SRC_D)\crypto\ecdh\ecdhtest.c - $(CC) /Fo$(OBJ_D)\ecdhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdh\ecdhtest.c - -$(OBJ_D)\ecdsatest.obj: $(SRC_D)\crypto\ecdsa\ecdsatest.c - $(CC) /Fo$(OBJ_D)\ecdsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecdsatest.c - -$(OBJ_D)\randtest.obj: $(SRC_D)\crypto\rand\randtest.c - $(CC) /Fo$(OBJ_D)\randtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rand\randtest.c - -$(OBJ_D)\evp_test.obj: $(SRC_D)\crypto\evp\evp_test.c - $(CC) /Fo$(OBJ_D)\evp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_test.c - -$(OBJ_D)\evp_extra_test.obj: $(SRC_D)\crypto\evp\evp_extra_test.c - $(CC) /Fo$(OBJ_D)\evp_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_extra_test.c - -$(OBJ_D)\verify_extra_test.obj: $(SRC_D)\crypto\x509\verify_extra_test.c - $(CC) /Fo$(OBJ_D)\verify_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509\verify_extra_test.c - -$(OBJ_D)\v3nametest.obj: $(SRC_D)\crypto\x509v3\v3nametest.c - $(CC) /Fo$(OBJ_D)\v3nametest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3nametest.c - -$(OBJ_D)\enginetest.obj: $(SRC_D)\crypto\engine\enginetest.c - $(CC) /Fo$(OBJ_D)\enginetest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\engine\enginetest.c - -$(OBJ_D)\wp_test.obj: $(SRC_D)\crypto\whrlpool\wp_test.c - $(CC) /Fo$(OBJ_D)\wp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_test.c - -$(OBJ_D)\srptest.obj: $(SRC_D)\crypto\srp\srptest.c - $(CC) /Fo$(OBJ_D)\srptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\srp\srptest.c - -$(OBJ_D)\ssltest.obj: $(SRC_D)\ssl\ssltest.c - $(CC) /Fo$(OBJ_D)\ssltest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\ssltest.c - -$(OBJ_D)\heartbeat_test.obj: $(SRC_D)\ssl\heartbeat_test.c - $(CC) /Fo$(OBJ_D)\heartbeat_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\heartbeat_test.c - -$(OBJ_D)\clienthellotest.obj: $(SRC_D)\ssl\clienthellotest.c - $(CC) /Fo$(OBJ_D)\clienthellotest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\clienthellotest.c - -$(OBJ_D)\sslv2conftest.obj: $(SRC_D)\ssl\sslv2conftest.c - $(CC) /Fo$(OBJ_D)\sslv2conftest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\sslv2conftest.c - -$(OBJ_D)\dtlstest.obj: $(SRC_D)\ssl\dtlstest.c - $(CC) /Fo$(OBJ_D)\dtlstest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\dtlstest.c - -$(OBJ_D)\bad_dtls_test.obj: $(SRC_D)\ssl\bad_dtls_test.c - $(CC) /Fo$(OBJ_D)\bad_dtls_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\bad_dtls_test.c - -$(OBJ_D)\fatalerrtest.obj: $(SRC_D)\ssl\fatalerrtest.c - $(CC) /Fo$(OBJ_D)\fatalerrtest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\fatalerrtest.c - -$(OBJ_D)\igetest.obj: $(SRC_D)\test\igetest.c - $(CC) /Fo$(OBJ_D)\igetest.obj $(APP_CFLAGS) -c $(SRC_D)\test\igetest.c - -$(OBJ_D)\ssltestlib.obj: $(SRC_D)\test\ssltestlib.c - $(CC) /Fo$(OBJ_D)\ssltestlib.obj $(APP_CFLAGS) -c $(SRC_D)\test\ssltestlib.c - -$(OBJ_D)\verify.obj: $(SRC_D)\apps\verify.c - $(CC) /Fo$(OBJ_D)\verify.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\verify.c - -$(OBJ_D)\asn1pars.obj: $(SRC_D)\apps\asn1pars.c - $(CC) /Fo$(OBJ_D)\asn1pars.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\asn1pars.c - -$(OBJ_D)\req.obj: $(SRC_D)\apps\req.c - $(CC) /Fo$(OBJ_D)\req.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\req.c - -$(OBJ_D)\dgst.obj: $(SRC_D)\apps\dgst.c - $(CC) /Fo$(OBJ_D)\dgst.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dgst.c - -$(OBJ_D)\dh.obj: $(SRC_D)\apps\dh.c - $(CC) /Fo$(OBJ_D)\dh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dh.c - -$(OBJ_D)\dhparam.obj: $(SRC_D)\apps\dhparam.c - $(CC) /Fo$(OBJ_D)\dhparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dhparam.c - -$(OBJ_D)\enc.obj: $(SRC_D)\apps\enc.c - $(CC) /Fo$(OBJ_D)\enc.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\enc.c - -$(OBJ_D)\passwd.obj: $(SRC_D)\apps\passwd.c - $(CC) /Fo$(OBJ_D)\passwd.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\passwd.c - -$(OBJ_D)\gendh.obj: $(SRC_D)\apps\gendh.c - $(CC) /Fo$(OBJ_D)\gendh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendh.c - -$(OBJ_D)\errstr.obj: $(SRC_D)\apps\errstr.c - $(CC) /Fo$(OBJ_D)\errstr.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\errstr.c - -$(OBJ_D)\ca.obj: $(SRC_D)\apps\ca.c - $(CC) /Fo$(OBJ_D)\ca.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ca.c - -$(OBJ_D)\pkcs7.obj: $(SRC_D)\apps\pkcs7.c - $(CC) /Fo$(OBJ_D)\pkcs7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs7.c - -$(OBJ_D)\crl2p7.obj: $(SRC_D)\apps\crl2p7.c - $(CC) /Fo$(OBJ_D)\crl2p7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl2p7.c - -$(OBJ_D)\crl.obj: $(SRC_D)\apps\crl.c - $(CC) /Fo$(OBJ_D)\crl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl.c - -$(OBJ_D)\rsa.obj: $(SRC_D)\apps\rsa.c - $(CC) /Fo$(OBJ_D)\rsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsa.c - -$(OBJ_D)\rsautl.obj: $(SRC_D)\apps\rsautl.c - $(CC) /Fo$(OBJ_D)\rsautl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsautl.c - -$(OBJ_D)\dsa.obj: $(SRC_D)\apps\dsa.c - $(CC) /Fo$(OBJ_D)\dsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsa.c - -$(OBJ_D)\dsaparam.obj: $(SRC_D)\apps\dsaparam.c - $(CC) /Fo$(OBJ_D)\dsaparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsaparam.c - -$(OBJ_D)\ec.obj: $(SRC_D)\apps\ec.c - $(CC) /Fo$(OBJ_D)\ec.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ec.c - -$(OBJ_D)\ecparam.obj: $(SRC_D)\apps\ecparam.c - $(CC) /Fo$(OBJ_D)\ecparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ecparam.c - -$(OBJ_D)\x509.obj: $(SRC_D)\apps\x509.c - $(CC) /Fo$(OBJ_D)\x509.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\x509.c - -$(OBJ_D)\genrsa.obj: $(SRC_D)\apps\genrsa.c - $(CC) /Fo$(OBJ_D)\genrsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genrsa.c - -$(OBJ_D)\gendsa.obj: $(SRC_D)\apps\gendsa.c - $(CC) /Fo$(OBJ_D)\gendsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendsa.c - -$(OBJ_D)\genpkey.obj: $(SRC_D)\apps\genpkey.c - $(CC) /Fo$(OBJ_D)\genpkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genpkey.c - -$(OBJ_D)\s_server.obj: $(SRC_D)\apps\s_server.c - $(CC) /Fo$(OBJ_D)\s_server.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_server.c - -$(OBJ_D)\s_client.obj: $(SRC_D)\apps\s_client.c - $(CC) /Fo$(OBJ_D)\s_client.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_client.c - -$(OBJ_D)\speed.obj: $(SRC_D)\apps\speed.c - $(CC) /Fo$(OBJ_D)\speed.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\speed.c - -$(OBJ_D)\s_time.obj: $(SRC_D)\apps\s_time.c - $(CC) /Fo$(OBJ_D)\s_time.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_time.c - -$(OBJ_D)\apps.obj: $(SRC_D)\apps\apps.c - $(CC) /Fo$(OBJ_D)\apps.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\apps.c - -$(OBJ_D)\s_cb.obj: $(SRC_D)\apps\s_cb.c - $(CC) /Fo$(OBJ_D)\s_cb.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_cb.c - -$(OBJ_D)\s_socket.obj: $(SRC_D)\apps\s_socket.c - $(CC) /Fo$(OBJ_D)\s_socket.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_socket.c - -$(OBJ_D)\app_rand.obj: $(SRC_D)\apps\app_rand.c - $(CC) /Fo$(OBJ_D)\app_rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\app_rand.c - -$(OBJ_D)\version.obj: $(SRC_D)\apps\version.c - $(CC) /Fo$(OBJ_D)\version.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\version.c - -$(OBJ_D)\sess_id.obj: $(SRC_D)\apps\sess_id.c - $(CC) /Fo$(OBJ_D)\sess_id.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\sess_id.c - -$(OBJ_D)\ciphers.obj: $(SRC_D)\apps\ciphers.c - $(CC) /Fo$(OBJ_D)\ciphers.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ciphers.c - -$(OBJ_D)\nseq.obj: $(SRC_D)\apps\nseq.c - $(CC) /Fo$(OBJ_D)\nseq.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\nseq.c - -$(OBJ_D)\pkcs12.obj: $(SRC_D)\apps\pkcs12.c - $(CC) /Fo$(OBJ_D)\pkcs12.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs12.c - -$(OBJ_D)\pkcs8.obj: $(SRC_D)\apps\pkcs8.c - $(CC) /Fo$(OBJ_D)\pkcs8.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs8.c - -$(OBJ_D)\pkey.obj: $(SRC_D)\apps\pkey.c - $(CC) /Fo$(OBJ_D)\pkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkey.c - -$(OBJ_D)\pkeyparam.obj: $(SRC_D)\apps\pkeyparam.c - $(CC) /Fo$(OBJ_D)\pkeyparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyparam.c - -$(OBJ_D)\pkeyutl.obj: $(SRC_D)\apps\pkeyutl.c - $(CC) /Fo$(OBJ_D)\pkeyutl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyutl.c - -$(OBJ_D)\spkac.obj: $(SRC_D)\apps\spkac.c - $(CC) /Fo$(OBJ_D)\spkac.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\spkac.c - -$(OBJ_D)\smime.obj: $(SRC_D)\apps\smime.c - $(CC) /Fo$(OBJ_D)\smime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\smime.c - -$(OBJ_D)\cms.obj: $(SRC_D)\apps\cms.c - $(CC) /Fo$(OBJ_D)\cms.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\cms.c - -$(OBJ_D)\rand.obj: $(SRC_D)\apps\rand.c - $(CC) /Fo$(OBJ_D)\rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rand.c - -$(OBJ_D)\engine.obj: $(SRC_D)\apps\engine.c - $(CC) /Fo$(OBJ_D)\engine.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\engine.c - -$(OBJ_D)\ocsp.obj: $(SRC_D)\apps\ocsp.c - $(CC) /Fo$(OBJ_D)\ocsp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ocsp.c - -$(OBJ_D)\prime.obj: $(SRC_D)\apps\prime.c - $(CC) /Fo$(OBJ_D)\prime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\prime.c - -$(OBJ_D)\ts.obj: $(SRC_D)\apps\ts.c - $(CC) /Fo$(OBJ_D)\ts.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ts.c - -$(OBJ_D)\srp.obj: $(SRC_D)\apps\srp.c - $(CC) /Fo$(OBJ_D)\srp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\srp.c - -$(OBJ_D)\openssl.obj: $(SRC_D)\apps\openssl.c - $(CC) /Fo$(OBJ_D)\openssl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\openssl.c - -$(OBJ_D)\cryptlib.obj: $(SRC_D)\crypto\cryptlib.c - $(CC) /Fo$(OBJ_D)\cryptlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cryptlib.c - -$(OBJ_D)\mem.obj: $(SRC_D)\crypto\mem.c - $(CC) /Fo$(OBJ_D)\mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem.c - -$(OBJ_D)\mem_dbg.obj: $(SRC_D)\crypto\mem_dbg.c - $(CC) /Fo$(OBJ_D)\mem_dbg.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem_dbg.c - -$(OBJ_D)\cversion.obj: $(SRC_D)\crypto\cversion.c - $(CC) /Fo$(OBJ_D)\cversion.obj $(LIB_CFLAGS) -DMK1MF_BUILD -DMK1MF_PLATFORM_VC_WIN64A -c $(SRC_D)\crypto\cversion.c - -$(OBJ_D)\ex_data.obj: $(SRC_D)\crypto\ex_data.c - $(CC) /Fo$(OBJ_D)\ex_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ex_data.c - -$(OBJ_D)\cpt_err.obj: $(SRC_D)\crypto\cpt_err.c - $(CC) /Fo$(OBJ_D)\cpt_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cpt_err.c - -$(OBJ_D)\ebcdic.obj: $(SRC_D)\crypto\ebcdic.c - $(CC) /Fo$(OBJ_D)\ebcdic.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ebcdic.c - -$(OBJ_D)\uid.obj: $(SRC_D)\crypto\uid.c - $(CC) /Fo$(OBJ_D)\uid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\uid.c - -$(OBJ_D)\o_time.obj: $(SRC_D)\crypto\o_time.c - $(CC) /Fo$(OBJ_D)\o_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_time.c - -$(OBJ_D)\o_str.obj: $(SRC_D)\crypto\o_str.c - $(CC) /Fo$(OBJ_D)\o_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_str.c - -$(OBJ_D)\o_dir.obj: $(SRC_D)\crypto\o_dir.c - $(CC) /Fo$(OBJ_D)\o_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_dir.c - -$(OBJ_D)\o_fips.obj: $(SRC_D)\crypto\o_fips.c - $(CC) /Fo$(OBJ_D)\o_fips.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_fips.c - -$(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c - $(CC) /Fo$(OBJ_D)\o_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_init.c - -$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c - $(CC) /Fo$(OBJ_D)\fips_ers.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\fips_ers.c - -$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c - $(CC) /Fo$(OBJ_D)\getenv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\getenv.c - -$(TMP_D)\x86_64cpuid.asm: crypto\x86_64cpuid.pl - set ASM=$(ASM) - $(PERL) crypto\x86_64cpuid.pl $@ - -$(OBJ_D)\x86_64cpuid.obj: $(TMP_D)\x86_64cpuid.asm - $(ASM) -o $@ $(TMP_D)\x86_64cpuid.asm - -$(OBJ_D)\md4_dgst.obj: $(SRC_D)\crypto\md4\md4_dgst.c - $(CC) /Fo$(OBJ_D)\md4_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_dgst.c - -$(OBJ_D)\md4_one.obj: $(SRC_D)\crypto\md4\md4_one.c - $(CC) /Fo$(OBJ_D)\md4_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_one.c - -$(OBJ_D)\md5_dgst.obj: $(SRC_D)\crypto\md5\md5_dgst.c - $(CC) /Fo$(OBJ_D)\md5_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_dgst.c - -$(OBJ_D)\md5_one.obj: $(SRC_D)\crypto\md5\md5_one.c - $(CC) /Fo$(OBJ_D)\md5_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_one.c - -$(TMP_D)\md5-x86_64.asm: crypto\md5\asm\md5-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\md5\asm\md5-x86_64.pl $@ - -$(OBJ_D)\md5-x86_64.obj: $(TMP_D)\md5-x86_64.asm - $(ASM) -o $@ $(TMP_D)\md5-x86_64.asm - -$(OBJ_D)\sha_dgst.obj: $(SRC_D)\crypto\sha\sha_dgst.c - $(CC) /Fo$(OBJ_D)\sha_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_dgst.c - -$(OBJ_D)\sha1dgst.obj: $(SRC_D)\crypto\sha\sha1dgst.c - $(CC) /Fo$(OBJ_D)\sha1dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1dgst.c - -$(OBJ_D)\sha_one.obj: $(SRC_D)\crypto\sha\sha_one.c - $(CC) /Fo$(OBJ_D)\sha_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_one.c - -$(OBJ_D)\sha1_one.obj: $(SRC_D)\crypto\sha\sha1_one.c - $(CC) /Fo$(OBJ_D)\sha1_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1_one.c - -$(OBJ_D)\sha256.obj: $(SRC_D)\crypto\sha\sha256.c - $(CC) /Fo$(OBJ_D)\sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha256.c - -$(OBJ_D)\sha512.obj: $(SRC_D)\crypto\sha\sha512.c - $(CC) /Fo$(OBJ_D)\sha512.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha512.c - -$(TMP_D)\sha1-x86_64.asm: crypto\sha\asm\sha1-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\sha\asm\sha1-x86_64.pl $@ - -$(OBJ_D)\sha1-x86_64.obj: $(TMP_D)\sha1-x86_64.asm - $(ASM) -o $@ $(TMP_D)\sha1-x86_64.asm - -$(TMP_D)\sha256-x86_64.asm: crypto\sha\asm\sha512-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\sha\asm\sha512-x86_64.pl $@ - -$(OBJ_D)\sha256-x86_64.obj: $(TMP_D)\sha256-x86_64.asm - $(ASM) -o $@ $(TMP_D)\sha256-x86_64.asm - -$(TMP_D)\sha512-x86_64.asm: crypto\sha\asm\sha512-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\sha\asm\sha512-x86_64.pl $@ - -$(OBJ_D)\sha512-x86_64.obj: $(TMP_D)\sha512-x86_64.asm - $(ASM) -o $@ $(TMP_D)\sha512-x86_64.asm - -$(TMP_D)\sha1-mb-x86_64.asm: crypto\sha\asm\sha1-mb-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\sha\asm\sha1-mb-x86_64.pl $@ - -$(OBJ_D)\sha1-mb-x86_64.obj: $(TMP_D)\sha1-mb-x86_64.asm - $(ASM) -o $@ $(TMP_D)\sha1-mb-x86_64.asm - -$(TMP_D)\sha256-mb-x86_64.asm: crypto\sha\asm\sha256-mb-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\sha\asm\sha256-mb-x86_64.pl $@ - -$(OBJ_D)\sha256-mb-x86_64.obj: $(TMP_D)\sha256-mb-x86_64.asm - $(ASM) -o $@ $(TMP_D)\sha256-mb-x86_64.asm - -$(OBJ_D)\hmac.obj: $(SRC_D)\crypto\hmac\hmac.c - $(CC) /Fo$(OBJ_D)\hmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hmac.c - -$(OBJ_D)\hm_ameth.obj: $(SRC_D)\crypto\hmac\hm_ameth.c - $(CC) /Fo$(OBJ_D)\hm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_ameth.c - -$(OBJ_D)\hm_pmeth.obj: $(SRC_D)\crypto\hmac\hm_pmeth.c - $(CC) /Fo$(OBJ_D)\hm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_pmeth.c - -$(OBJ_D)\cmac.obj: $(SRC_D)\crypto\cmac\cmac.c - $(CC) /Fo$(OBJ_D)\cmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cmac.c - -$(OBJ_D)\cm_ameth.obj: $(SRC_D)\crypto\cmac\cm_ameth.c - $(CC) /Fo$(OBJ_D)\cm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_ameth.c - -$(OBJ_D)\cm_pmeth.obj: $(SRC_D)\crypto\cmac\cm_pmeth.c - $(CC) /Fo$(OBJ_D)\cm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_pmeth.c - -$(OBJ_D)\rmd_dgst.obj: $(SRC_D)\crypto\ripemd\rmd_dgst.c - $(CC) /Fo$(OBJ_D)\rmd_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_dgst.c - -$(OBJ_D)\rmd_one.obj: $(SRC_D)\crypto\ripemd\rmd_one.c - $(CC) /Fo$(OBJ_D)\rmd_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_one.c - -$(OBJ_D)\set_key.obj: $(SRC_D)\crypto\des\set_key.c - $(CC) /Fo$(OBJ_D)\set_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\set_key.c - -$(OBJ_D)\ecb_enc.obj: $(SRC_D)\crypto\des\ecb_enc.c - $(CC) /Fo$(OBJ_D)\ecb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb_enc.c - -$(OBJ_D)\cbc_enc.obj: $(SRC_D)\crypto\des\cbc_enc.c - $(CC) /Fo$(OBJ_D)\cbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_enc.c - -$(OBJ_D)\ecb3_enc.obj: $(SRC_D)\crypto\des\ecb3_enc.c - $(CC) /Fo$(OBJ_D)\ecb3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb3_enc.c - -$(OBJ_D)\cfb64enc.obj: $(SRC_D)\crypto\des\cfb64enc.c - $(CC) /Fo$(OBJ_D)\cfb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64enc.c - -$(OBJ_D)\cfb64ede.obj: $(SRC_D)\crypto\des\cfb64ede.c - $(CC) /Fo$(OBJ_D)\cfb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64ede.c - -$(OBJ_D)\cfb_enc.obj: $(SRC_D)\crypto\des\cfb_enc.c - $(CC) /Fo$(OBJ_D)\cfb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb_enc.c - -$(OBJ_D)\ofb64ede.obj: $(SRC_D)\crypto\des\ofb64ede.c - $(CC) /Fo$(OBJ_D)\ofb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64ede.c - -$(OBJ_D)\enc_read.obj: $(SRC_D)\crypto\des\enc_read.c - $(CC) /Fo$(OBJ_D)\enc_read.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_read.c - -$(OBJ_D)\enc_writ.obj: $(SRC_D)\crypto\des\enc_writ.c - $(CC) /Fo$(OBJ_D)\enc_writ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_writ.c - -$(OBJ_D)\ofb64enc.obj: $(SRC_D)\crypto\des\ofb64enc.c - $(CC) /Fo$(OBJ_D)\ofb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64enc.c - -$(OBJ_D)\ofb_enc.obj: $(SRC_D)\crypto\des\ofb_enc.c - $(CC) /Fo$(OBJ_D)\ofb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb_enc.c - -$(OBJ_D)\str2key.obj: $(SRC_D)\crypto\des\str2key.c - $(CC) /Fo$(OBJ_D)\str2key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\str2key.c - -$(OBJ_D)\pcbc_enc.obj: $(SRC_D)\crypto\des\pcbc_enc.c - $(CC) /Fo$(OBJ_D)\pcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\pcbc_enc.c - -$(OBJ_D)\qud_cksm.obj: $(SRC_D)\crypto\des\qud_cksm.c - $(CC) /Fo$(OBJ_D)\qud_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\qud_cksm.c - -$(OBJ_D)\rand_key.obj: $(SRC_D)\crypto\des\rand_key.c - $(CC) /Fo$(OBJ_D)\rand_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rand_key.c - -$(OBJ_D)\des_enc.obj: $(SRC_D)\crypto\des\des_enc.c - $(CC) /Fo$(OBJ_D)\des_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_enc.c - -$(OBJ_D)\fcrypt_b.obj: $(SRC_D)\crypto\des\fcrypt_b.c - $(CC) /Fo$(OBJ_D)\fcrypt_b.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\fcrypt_b.c - -$(OBJ_D)\fcrypt.obj: $(SRC_D)\crypto\des\fcrypt.c - $(CC) /Fo$(OBJ_D)\fcrypt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\fcrypt.c - -$(OBJ_D)\xcbc_enc.obj: $(SRC_D)\crypto\des\xcbc_enc.c - $(CC) /Fo$(OBJ_D)\xcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\xcbc_enc.c - -$(OBJ_D)\rpc_enc.obj: $(SRC_D)\crypto\des\rpc_enc.c - $(CC) /Fo$(OBJ_D)\rpc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rpc_enc.c - -$(OBJ_D)\cbc_cksm.obj: $(SRC_D)\crypto\des\cbc_cksm.c - $(CC) /Fo$(OBJ_D)\cbc_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_cksm.c - -$(OBJ_D)\ede_cbcm_enc.obj: $(SRC_D)\crypto\des\ede_cbcm_enc.c - $(CC) /Fo$(OBJ_D)\ede_cbcm_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ede_cbcm_enc.c - -$(OBJ_D)\des_old.obj: $(SRC_D)\crypto\des\des_old.c - $(CC) /Fo$(OBJ_D)\des_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old.c - -$(OBJ_D)\des_old2.obj: $(SRC_D)\crypto\des\des_old2.c - $(CC) /Fo$(OBJ_D)\des_old2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old2.c - -$(OBJ_D)\read2pwd.obj: $(SRC_D)\crypto\des\read2pwd.c - $(CC) /Fo$(OBJ_D)\read2pwd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\read2pwd.c - -$(OBJ_D)\rc2_ecb.obj: $(SRC_D)\crypto\rc2\rc2_ecb.c - $(CC) /Fo$(OBJ_D)\rc2_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_ecb.c - -$(OBJ_D)\rc2_skey.obj: $(SRC_D)\crypto\rc2\rc2_skey.c - $(CC) /Fo$(OBJ_D)\rc2_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_skey.c - -$(OBJ_D)\rc2_cbc.obj: $(SRC_D)\crypto\rc2\rc2_cbc.c - $(CC) /Fo$(OBJ_D)\rc2_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_cbc.c - -$(OBJ_D)\rc2cfb64.obj: $(SRC_D)\crypto\rc2\rc2cfb64.c - $(CC) /Fo$(OBJ_D)\rc2cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2cfb64.c - -$(OBJ_D)\rc2ofb64.obj: $(SRC_D)\crypto\rc2\rc2ofb64.c - $(CC) /Fo$(OBJ_D)\rc2ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2ofb64.c - -$(TMP_D)\rc4-x86_64.asm: crypto\rc4\asm\rc4-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\rc4\asm\rc4-x86_64.pl $@ - -$(OBJ_D)\rc4-x86_64.obj: $(TMP_D)\rc4-x86_64.asm - $(ASM) -o $@ $(TMP_D)\rc4-x86_64.asm - -$(TMP_D)\rc4-md5-x86_64.asm: crypto\rc4\asm\rc4-md5-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\rc4\asm\rc4-md5-x86_64.pl $@ - -$(OBJ_D)\rc4-md5-x86_64.obj: $(TMP_D)\rc4-md5-x86_64.asm - $(ASM) -o $@ $(TMP_D)\rc4-md5-x86_64.asm - -$(OBJ_D)\rc4_utl.obj: $(SRC_D)\crypto\rc4\rc4_utl.c - $(CC) /Fo$(OBJ_D)\rc4_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4_utl.c - -$(OBJ_D)\bf_skey.obj: $(SRC_D)\crypto\bf\bf_skey.c - $(CC) /Fo$(OBJ_D)\bf_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_skey.c - -$(OBJ_D)\bf_ecb.obj: $(SRC_D)\crypto\bf\bf_ecb.c - $(CC) /Fo$(OBJ_D)\bf_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ecb.c - -$(OBJ_D)\bf_enc.obj: $(SRC_D)\crypto\bf\bf_enc.c - $(CC) /Fo$(OBJ_D)\bf_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_enc.c - -$(OBJ_D)\bf_cfb64.obj: $(SRC_D)\crypto\bf\bf_cfb64.c - $(CC) /Fo$(OBJ_D)\bf_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_cfb64.c - -$(OBJ_D)\bf_ofb64.obj: $(SRC_D)\crypto\bf\bf_ofb64.c - $(CC) /Fo$(OBJ_D)\bf_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ofb64.c - -$(OBJ_D)\c_skey.obj: $(SRC_D)\crypto\cast\c_skey.c - $(CC) /Fo$(OBJ_D)\c_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_skey.c - -$(OBJ_D)\c_ecb.obj: $(SRC_D)\crypto\cast\c_ecb.c - $(CC) /Fo$(OBJ_D)\c_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ecb.c - -$(OBJ_D)\c_enc.obj: $(SRC_D)\crypto\cast\c_enc.c - $(CC) /Fo$(OBJ_D)\c_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_enc.c - -$(OBJ_D)\c_cfb64.obj: $(SRC_D)\crypto\cast\c_cfb64.c - $(CC) /Fo$(OBJ_D)\c_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_cfb64.c - -$(OBJ_D)\c_ofb64.obj: $(SRC_D)\crypto\cast\c_ofb64.c - $(CC) /Fo$(OBJ_D)\c_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ofb64.c - -$(OBJ_D)\aes_misc.obj: $(SRC_D)\crypto\aes\aes_misc.c - $(CC) /Fo$(OBJ_D)\aes_misc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_misc.c - -$(OBJ_D)\aes_ecb.obj: $(SRC_D)\crypto\aes\aes_ecb.c - $(CC) /Fo$(OBJ_D)\aes_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ecb.c - -$(OBJ_D)\aes_cfb.obj: $(SRC_D)\crypto\aes\aes_cfb.c - $(CC) /Fo$(OBJ_D)\aes_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_cfb.c - -$(OBJ_D)\aes_ofb.obj: $(SRC_D)\crypto\aes\aes_ofb.c - $(CC) /Fo$(OBJ_D)\aes_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ofb.c - -$(OBJ_D)\aes_ctr.obj: $(SRC_D)\crypto\aes\aes_ctr.c - $(CC) /Fo$(OBJ_D)\aes_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ctr.c - -$(OBJ_D)\aes_ige.obj: $(SRC_D)\crypto\aes\aes_ige.c - $(CC) /Fo$(OBJ_D)\aes_ige.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ige.c - -$(OBJ_D)\aes_wrap.obj: $(SRC_D)\crypto\aes\aes_wrap.c - $(CC) /Fo$(OBJ_D)\aes_wrap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_wrap.c - -$(TMP_D)\aes-x86_64.asm: crypto\aes\asm\aes-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\aes-x86_64.pl $@ - -$(OBJ_D)\aes-x86_64.obj: $(TMP_D)\aes-x86_64.asm - $(ASM) -o $@ $(TMP_D)\aes-x86_64.asm - -$(TMP_D)\vpaes-x86_64.asm: crypto\aes\asm\vpaes-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\vpaes-x86_64.pl $@ - -$(OBJ_D)\vpaes-x86_64.obj: $(TMP_D)\vpaes-x86_64.asm - $(ASM) -o $@ $(TMP_D)\vpaes-x86_64.asm - -$(TMP_D)\bsaes-x86_64.asm: crypto\aes\asm\bsaes-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\bsaes-x86_64.pl $@ - -$(OBJ_D)\bsaes-x86_64.obj: $(TMP_D)\bsaes-x86_64.asm - $(ASM) -o $@ $(TMP_D)\bsaes-x86_64.asm - -$(TMP_D)\aesni-x86_64.asm: crypto\aes\asm\aesni-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\aesni-x86_64.pl $@ - -$(OBJ_D)\aesni-x86_64.obj: $(TMP_D)\aesni-x86_64.asm - $(ASM) -o $@ $(TMP_D)\aesni-x86_64.asm - -$(TMP_D)\aesni-sha1-x86_64.asm: crypto\aes\asm\aesni-sha1-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\aesni-sha1-x86_64.pl $@ - -$(OBJ_D)\aesni-sha1-x86_64.obj: $(TMP_D)\aesni-sha1-x86_64.asm - $(ASM) -o $@ $(TMP_D)\aesni-sha1-x86_64.asm - -$(TMP_D)\aesni-sha256-x86_64.asm: crypto\aes\asm\aesni-sha256-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\aesni-sha256-x86_64.pl $@ - -$(OBJ_D)\aesni-sha256-x86_64.obj: $(TMP_D)\aesni-sha256-x86_64.asm - $(ASM) -o $@ $(TMP_D)\aesni-sha256-x86_64.asm - -$(TMP_D)\aesni-mb-x86_64.asm: crypto\aes\asm\aesni-mb-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\aes\asm\aesni-mb-x86_64.pl $@ - -$(OBJ_D)\aesni-mb-x86_64.obj: $(TMP_D)\aesni-mb-x86_64.asm - $(ASM) -o $@ $(TMP_D)\aesni-mb-x86_64.asm - -$(OBJ_D)\cmll_ecb.obj: $(SRC_D)\crypto\camellia\cmll_ecb.c - $(CC) /Fo$(OBJ_D)\cmll_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ecb.c - -$(OBJ_D)\cmll_ofb.obj: $(SRC_D)\crypto\camellia\cmll_ofb.c - $(CC) /Fo$(OBJ_D)\cmll_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ofb.c - -$(OBJ_D)\cmll_cfb.obj: $(SRC_D)\crypto\camellia\cmll_cfb.c - $(CC) /Fo$(OBJ_D)\cmll_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_cfb.c - -$(OBJ_D)\cmll_ctr.obj: $(SRC_D)\crypto\camellia\cmll_ctr.c - $(CC) /Fo$(OBJ_D)\cmll_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ctr.c - -$(OBJ_D)\cmll_utl.obj: $(SRC_D)\crypto\camellia\cmll_utl.c - $(CC) /Fo$(OBJ_D)\cmll_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_utl.c - -$(TMP_D)\cmll-x86_64.asm: crypto\camellia\asm\cmll-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\camellia\asm\cmll-x86_64.pl $@ - -$(OBJ_D)\cmll-x86_64.obj: $(TMP_D)\cmll-x86_64.asm - $(ASM) -o $@ $(TMP_D)\cmll-x86_64.asm - -$(OBJ_D)\cmll_misc.obj: $(SRC_D)\crypto\camellia\cmll_misc.c - $(CC) /Fo$(OBJ_D)\cmll_misc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_misc.c - -$(OBJ_D)\seed.obj: $(SRC_D)\crypto\seed\seed.c - $(CC) /Fo$(OBJ_D)\seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed.c - -$(OBJ_D)\seed_ecb.obj: $(SRC_D)\crypto\seed\seed_ecb.c - $(CC) /Fo$(OBJ_D)\seed_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ecb.c - -$(OBJ_D)\seed_cbc.obj: $(SRC_D)\crypto\seed\seed_cbc.c - $(CC) /Fo$(OBJ_D)\seed_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cbc.c - -$(OBJ_D)\seed_cfb.obj: $(SRC_D)\crypto\seed\seed_cfb.c - $(CC) /Fo$(OBJ_D)\seed_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cfb.c - -$(OBJ_D)\seed_ofb.obj: $(SRC_D)\crypto\seed\seed_ofb.c - $(CC) /Fo$(OBJ_D)\seed_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ofb.c - -$(OBJ_D)\cbc128.obj: $(SRC_D)\crypto\modes\cbc128.c - $(CC) /Fo$(OBJ_D)\cbc128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cbc128.c - -$(OBJ_D)\ctr128.obj: $(SRC_D)\crypto\modes\ctr128.c - $(CC) /Fo$(OBJ_D)\ctr128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ctr128.c - -$(OBJ_D)\cts128.obj: $(SRC_D)\crypto\modes\cts128.c - $(CC) /Fo$(OBJ_D)\cts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cts128.c - -$(OBJ_D)\cfb128.obj: $(SRC_D)\crypto\modes\cfb128.c - $(CC) /Fo$(OBJ_D)\cfb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cfb128.c - -$(OBJ_D)\ofb128.obj: $(SRC_D)\crypto\modes\ofb128.c - $(CC) /Fo$(OBJ_D)\ofb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ofb128.c - -$(OBJ_D)\gcm128.obj: $(SRC_D)\crypto\modes\gcm128.c - $(CC) /Fo$(OBJ_D)\gcm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\gcm128.c - -$(OBJ_D)\ccm128.obj: $(SRC_D)\crypto\modes\ccm128.c - $(CC) /Fo$(OBJ_D)\ccm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ccm128.c - -$(OBJ_D)\xts128.obj: $(SRC_D)\crypto\modes\xts128.c - $(CC) /Fo$(OBJ_D)\xts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\xts128.c - -$(OBJ_D)\wrap128.obj: $(SRC_D)\crypto\modes\wrap128.c - $(CC) /Fo$(OBJ_D)\wrap128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\wrap128.c - -$(TMP_D)\ghash-x86_64.asm: crypto\modes\asm\ghash-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\modes\asm\ghash-x86_64.pl $@ - -$(OBJ_D)\ghash-x86_64.obj: $(TMP_D)\ghash-x86_64.asm - $(ASM) -o $@ $(TMP_D)\ghash-x86_64.asm - -$(TMP_D)\aesni-gcm-x86_64.asm: crypto\modes\asm\aesni-gcm-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\modes\asm\aesni-gcm-x86_64.pl $@ - -$(OBJ_D)\aesni-gcm-x86_64.obj: $(TMP_D)\aesni-gcm-x86_64.asm - $(ASM) -o $@ $(TMP_D)\aesni-gcm-x86_64.asm - -$(OBJ_D)\bn_add.obj: $(SRC_D)\crypto\bn\bn_add.c - $(CC) /Fo$(OBJ_D)\bn_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_add.c - -$(OBJ_D)\bn_div.obj: $(SRC_D)\crypto\bn\bn_div.c - $(CC) /Fo$(OBJ_D)\bn_div.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_div.c - -$(OBJ_D)\bn_exp.obj: $(SRC_D)\crypto\bn\bn_exp.c - $(CC) /Fo$(OBJ_D)\bn_exp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp.c - -$(OBJ_D)\bn_lib.obj: $(SRC_D)\crypto\bn\bn_lib.c - $(CC) /Fo$(OBJ_D)\bn_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_lib.c - -$(OBJ_D)\bn_ctx.obj: $(SRC_D)\crypto\bn\bn_ctx.c - $(CC) /Fo$(OBJ_D)\bn_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_ctx.c - -$(OBJ_D)\bn_mul.obj: $(SRC_D)\crypto\bn\bn_mul.c - $(CC) /Fo$(OBJ_D)\bn_mul.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mul.c - -$(OBJ_D)\bn_mod.obj: $(SRC_D)\crypto\bn\bn_mod.c - $(CC) /Fo$(OBJ_D)\bn_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mod.c - -$(OBJ_D)\bn_print.obj: $(SRC_D)\crypto\bn\bn_print.c - $(CC) /Fo$(OBJ_D)\bn_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_print.c - -$(OBJ_D)\bn_rand.obj: $(SRC_D)\crypto\bn\bn_rand.c - $(CC) /Fo$(OBJ_D)\bn_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_rand.c - -$(OBJ_D)\bn_shift.obj: $(SRC_D)\crypto\bn\bn_shift.c - $(CC) /Fo$(OBJ_D)\bn_shift.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_shift.c - -$(OBJ_D)\bn_word.obj: $(SRC_D)\crypto\bn\bn_word.c - $(CC) /Fo$(OBJ_D)\bn_word.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_word.c - -$(OBJ_D)\bn_blind.obj: $(SRC_D)\crypto\bn\bn_blind.c - $(CC) /Fo$(OBJ_D)\bn_blind.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_blind.c - -$(OBJ_D)\bn_kron.obj: $(SRC_D)\crypto\bn\bn_kron.c - $(CC) /Fo$(OBJ_D)\bn_kron.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_kron.c - -$(OBJ_D)\bn_sqrt.obj: $(SRC_D)\crypto\bn\bn_sqrt.c - $(CC) /Fo$(OBJ_D)\bn_sqrt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqrt.c - -$(OBJ_D)\bn_gcd.obj: $(SRC_D)\crypto\bn\bn_gcd.c - $(CC) /Fo$(OBJ_D)\bn_gcd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gcd.c - -$(OBJ_D)\bn_prime.obj: $(SRC_D)\crypto\bn\bn_prime.c - $(CC) /Fo$(OBJ_D)\bn_prime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_prime.c - -$(OBJ_D)\bn_err.obj: $(SRC_D)\crypto\bn\bn_err.c - $(CC) /Fo$(OBJ_D)\bn_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_err.c - -$(OBJ_D)\bn_sqr.obj: $(SRC_D)\crypto\bn\bn_sqr.c - $(CC) /Fo$(OBJ_D)\bn_sqr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqr.c - -$(OBJ_D)\bn_asm.obj: $(SRC_D)\crypto\bn\bn_asm.c - $(CC) /Fo$(OBJ_D)\bn_asm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_asm.c - -$(TMP_D)\x86_64-mont.asm: crypto\bn\asm\x86_64-mont.pl - set ASM=$(ASM) - $(PERL) crypto\bn\asm\x86_64-mont.pl $@ - -$(OBJ_D)\x86_64-mont.obj: $(TMP_D)\x86_64-mont.asm - $(ASM) -o $@ $(TMP_D)\x86_64-mont.asm - -$(TMP_D)\x86_64-mont5.asm: crypto\bn\asm\x86_64-mont5.pl - set ASM=$(ASM) - $(PERL) crypto\bn\asm\x86_64-mont5.pl $@ - -$(OBJ_D)\x86_64-mont5.obj: $(TMP_D)\x86_64-mont5.asm - $(ASM) -o $@ $(TMP_D)\x86_64-mont5.asm - -$(TMP_D)\x86_64-gf2m.asm: crypto\bn\asm\x86_64-gf2m.pl - set ASM=$(ASM) - $(PERL) crypto\bn\asm\x86_64-gf2m.pl $@ - -$(OBJ_D)\x86_64-gf2m.obj: $(TMP_D)\x86_64-gf2m.asm - $(ASM) -o $@ $(TMP_D)\x86_64-gf2m.asm - -$(OBJ_D)\rsaz_exp.obj: $(SRC_D)\crypto\bn\rsaz_exp.c - $(CC) /Fo$(OBJ_D)\rsaz_exp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\rsaz_exp.c - -$(TMP_D)\rsaz-x86_64.asm: crypto\bn\asm\rsaz-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\bn\asm\rsaz-x86_64.pl $@ - -$(OBJ_D)\rsaz-x86_64.obj: $(TMP_D)\rsaz-x86_64.asm - $(ASM) -o $@ $(TMP_D)\rsaz-x86_64.asm - -$(TMP_D)\rsaz-avx2.asm: crypto\bn\asm\rsaz-avx2.pl - set ASM=$(ASM) - $(PERL) crypto\bn\asm\rsaz-avx2.pl $@ - -$(OBJ_D)\rsaz-avx2.obj: $(TMP_D)\rsaz-avx2.asm - $(ASM) -o $@ $(TMP_D)\rsaz-avx2.asm - -$(OBJ_D)\bn_recp.obj: $(SRC_D)\crypto\bn\bn_recp.c - $(CC) /Fo$(OBJ_D)\bn_recp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_recp.c - -$(OBJ_D)\bn_mont.obj: $(SRC_D)\crypto\bn\bn_mont.c - $(CC) /Fo$(OBJ_D)\bn_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mont.c - -$(OBJ_D)\bn_mpi.obj: $(SRC_D)\crypto\bn\bn_mpi.c - $(CC) /Fo$(OBJ_D)\bn_mpi.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mpi.c - -$(OBJ_D)\bn_exp2.obj: $(SRC_D)\crypto\bn\bn_exp2.c - $(CC) /Fo$(OBJ_D)\bn_exp2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp2.c - -$(OBJ_D)\bn_gf2m.obj: $(SRC_D)\crypto\bn\bn_gf2m.c - $(CC) /Fo$(OBJ_D)\bn_gf2m.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gf2m.c - -$(OBJ_D)\bn_nist.obj: $(SRC_D)\crypto\bn\bn_nist.c - $(CC) /Fo$(OBJ_D)\bn_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_nist.c - -$(OBJ_D)\bn_depr.obj: $(SRC_D)\crypto\bn\bn_depr.c - $(CC) /Fo$(OBJ_D)\bn_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_depr.c - -$(OBJ_D)\bn_const.obj: $(SRC_D)\crypto\bn\bn_const.c - $(CC) /Fo$(OBJ_D)\bn_const.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_const.c - -$(OBJ_D)\bn_x931p.obj: $(SRC_D)\crypto\bn\bn_x931p.c - $(CC) /Fo$(OBJ_D)\bn_x931p.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_x931p.c - -$(OBJ_D)\rsa_eay.obj: $(SRC_D)\crypto\rsa\rsa_eay.c - $(CC) /Fo$(OBJ_D)\rsa_eay.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_eay.c - -$(OBJ_D)\rsa_gen.obj: $(SRC_D)\crypto\rsa\rsa_gen.c - $(CC) /Fo$(OBJ_D)\rsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_gen.c - -$(OBJ_D)\rsa_lib.obj: $(SRC_D)\crypto\rsa\rsa_lib.c - $(CC) /Fo$(OBJ_D)\rsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_lib.c - -$(OBJ_D)\rsa_sign.obj: $(SRC_D)\crypto\rsa\rsa_sign.c - $(CC) /Fo$(OBJ_D)\rsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_sign.c - -$(OBJ_D)\rsa_saos.obj: $(SRC_D)\crypto\rsa\rsa_saos.c - $(CC) /Fo$(OBJ_D)\rsa_saos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_saos.c - -$(OBJ_D)\rsa_err.obj: $(SRC_D)\crypto\rsa\rsa_err.c - $(CC) /Fo$(OBJ_D)\rsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_err.c - -$(OBJ_D)\rsa_pk1.obj: $(SRC_D)\crypto\rsa\rsa_pk1.c - $(CC) /Fo$(OBJ_D)\rsa_pk1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pk1.c - -$(OBJ_D)\rsa_ssl.obj: $(SRC_D)\crypto\rsa\rsa_ssl.c - $(CC) /Fo$(OBJ_D)\rsa_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ssl.c - -$(OBJ_D)\rsa_none.obj: $(SRC_D)\crypto\rsa\rsa_none.c - $(CC) /Fo$(OBJ_D)\rsa_none.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_none.c - -$(OBJ_D)\rsa_oaep.obj: $(SRC_D)\crypto\rsa\rsa_oaep.c - $(CC) /Fo$(OBJ_D)\rsa_oaep.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_oaep.c - -$(OBJ_D)\rsa_chk.obj: $(SRC_D)\crypto\rsa\rsa_chk.c - $(CC) /Fo$(OBJ_D)\rsa_chk.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_chk.c - -$(OBJ_D)\rsa_null.obj: $(SRC_D)\crypto\rsa\rsa_null.c - $(CC) /Fo$(OBJ_D)\rsa_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_null.c - -$(OBJ_D)\rsa_pss.obj: $(SRC_D)\crypto\rsa\rsa_pss.c - $(CC) /Fo$(OBJ_D)\rsa_pss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pss.c - -$(OBJ_D)\rsa_x931.obj: $(SRC_D)\crypto\rsa\rsa_x931.c - $(CC) /Fo$(OBJ_D)\rsa_x931.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_x931.c - -$(OBJ_D)\rsa_asn1.obj: $(SRC_D)\crypto\rsa\rsa_asn1.c - $(CC) /Fo$(OBJ_D)\rsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_asn1.c - -$(OBJ_D)\rsa_depr.obj: $(SRC_D)\crypto\rsa\rsa_depr.c - $(CC) /Fo$(OBJ_D)\rsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_depr.c - -$(OBJ_D)\rsa_ameth.obj: $(SRC_D)\crypto\rsa\rsa_ameth.c - $(CC) /Fo$(OBJ_D)\rsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ameth.c - -$(OBJ_D)\rsa_prn.obj: $(SRC_D)\crypto\rsa\rsa_prn.c - $(CC) /Fo$(OBJ_D)\rsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_prn.c - -$(OBJ_D)\rsa_pmeth.obj: $(SRC_D)\crypto\rsa\rsa_pmeth.c - $(CC) /Fo$(OBJ_D)\rsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pmeth.c - -$(OBJ_D)\rsa_crpt.obj: $(SRC_D)\crypto\rsa\rsa_crpt.c - $(CC) /Fo$(OBJ_D)\rsa_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_crpt.c - -$(OBJ_D)\dsa_gen.obj: $(SRC_D)\crypto\dsa\dsa_gen.c - $(CC) /Fo$(OBJ_D)\dsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_gen.c - -$(OBJ_D)\dsa_key.obj: $(SRC_D)\crypto\dsa\dsa_key.c - $(CC) /Fo$(OBJ_D)\dsa_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_key.c - -$(OBJ_D)\dsa_lib.obj: $(SRC_D)\crypto\dsa\dsa_lib.c - $(CC) /Fo$(OBJ_D)\dsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_lib.c - -$(OBJ_D)\dsa_asn1.obj: $(SRC_D)\crypto\dsa\dsa_asn1.c - $(CC) /Fo$(OBJ_D)\dsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_asn1.c - -$(OBJ_D)\dsa_vrf.obj: $(SRC_D)\crypto\dsa\dsa_vrf.c - $(CC) /Fo$(OBJ_D)\dsa_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_vrf.c - -$(OBJ_D)\dsa_sign.obj: $(SRC_D)\crypto\dsa\dsa_sign.c - $(CC) /Fo$(OBJ_D)\dsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_sign.c - -$(OBJ_D)\dsa_err.obj: $(SRC_D)\crypto\dsa\dsa_err.c - $(CC) /Fo$(OBJ_D)\dsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_err.c - -$(OBJ_D)\dsa_ossl.obj: $(SRC_D)\crypto\dsa\dsa_ossl.c - $(CC) /Fo$(OBJ_D)\dsa_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ossl.c - -$(OBJ_D)\dsa_depr.obj: $(SRC_D)\crypto\dsa\dsa_depr.c - $(CC) /Fo$(OBJ_D)\dsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_depr.c - -$(OBJ_D)\dsa_ameth.obj: $(SRC_D)\crypto\dsa\dsa_ameth.c - $(CC) /Fo$(OBJ_D)\dsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ameth.c - -$(OBJ_D)\dsa_pmeth.obj: $(SRC_D)\crypto\dsa\dsa_pmeth.c - $(CC) /Fo$(OBJ_D)\dsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_pmeth.c - -$(OBJ_D)\dsa_prn.obj: $(SRC_D)\crypto\dsa\dsa_prn.c - $(CC) /Fo$(OBJ_D)\dsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_prn.c - -$(OBJ_D)\dso_dl.obj: $(SRC_D)\crypto\dso\dso_dl.c - $(CC) /Fo$(OBJ_D)\dso_dl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dl.c - -$(OBJ_D)\dso_dlfcn.obj: $(SRC_D)\crypto\dso\dso_dlfcn.c - $(CC) /Fo$(OBJ_D)\dso_dlfcn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dlfcn.c - -$(OBJ_D)\dso_err.obj: $(SRC_D)\crypto\dso\dso_err.c - $(CC) /Fo$(OBJ_D)\dso_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_err.c - -$(OBJ_D)\dso_lib.obj: $(SRC_D)\crypto\dso\dso_lib.c - $(CC) /Fo$(OBJ_D)\dso_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_lib.c - -$(OBJ_D)\dso_null.obj: $(SRC_D)\crypto\dso\dso_null.c - $(CC) /Fo$(OBJ_D)\dso_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_null.c - -$(OBJ_D)\dso_openssl.obj: $(SRC_D)\crypto\dso\dso_openssl.c - $(CC) /Fo$(OBJ_D)\dso_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_openssl.c - -$(OBJ_D)\dso_win32.obj: $(SRC_D)\crypto\dso\dso_win32.c - $(CC) /Fo$(OBJ_D)\dso_win32.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_win32.c - -$(OBJ_D)\dso_vms.obj: $(SRC_D)\crypto\dso\dso_vms.c - $(CC) /Fo$(OBJ_D)\dso_vms.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_vms.c - -$(OBJ_D)\dso_beos.obj: $(SRC_D)\crypto\dso\dso_beos.c - $(CC) /Fo$(OBJ_D)\dso_beos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_beos.c - -$(OBJ_D)\dh_asn1.obj: $(SRC_D)\crypto\dh\dh_asn1.c - $(CC) /Fo$(OBJ_D)\dh_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_asn1.c - -$(OBJ_D)\dh_gen.obj: $(SRC_D)\crypto\dh\dh_gen.c - $(CC) /Fo$(OBJ_D)\dh_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_gen.c - -$(OBJ_D)\dh_key.obj: $(SRC_D)\crypto\dh\dh_key.c - $(CC) /Fo$(OBJ_D)\dh_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_key.c - -$(OBJ_D)\dh_lib.obj: $(SRC_D)\crypto\dh\dh_lib.c - $(CC) /Fo$(OBJ_D)\dh_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_lib.c - -$(OBJ_D)\dh_check.obj: $(SRC_D)\crypto\dh\dh_check.c - $(CC) /Fo$(OBJ_D)\dh_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_check.c - -$(OBJ_D)\dh_err.obj: $(SRC_D)\crypto\dh\dh_err.c - $(CC) /Fo$(OBJ_D)\dh_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_err.c - -$(OBJ_D)\dh_depr.obj: $(SRC_D)\crypto\dh\dh_depr.c - $(CC) /Fo$(OBJ_D)\dh_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_depr.c - -$(OBJ_D)\dh_ameth.obj: $(SRC_D)\crypto\dh\dh_ameth.c - $(CC) /Fo$(OBJ_D)\dh_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_ameth.c - -$(OBJ_D)\dh_pmeth.obj: $(SRC_D)\crypto\dh\dh_pmeth.c - $(CC) /Fo$(OBJ_D)\dh_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_pmeth.c - -$(OBJ_D)\dh_prn.obj: $(SRC_D)\crypto\dh\dh_prn.c - $(CC) /Fo$(OBJ_D)\dh_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_prn.c - -$(OBJ_D)\dh_rfc5114.obj: $(SRC_D)\crypto\dh\dh_rfc5114.c - $(CC) /Fo$(OBJ_D)\dh_rfc5114.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_rfc5114.c - -$(OBJ_D)\dh_kdf.obj: $(SRC_D)\crypto\dh\dh_kdf.c - $(CC) /Fo$(OBJ_D)\dh_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_kdf.c - -$(OBJ_D)\ec_lib.obj: $(SRC_D)\crypto\ec\ec_lib.c - $(CC) /Fo$(OBJ_D)\ec_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_lib.c - -$(OBJ_D)\ecp_smpl.obj: $(SRC_D)\crypto\ec\ecp_smpl.c - $(CC) /Fo$(OBJ_D)\ecp_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_smpl.c - -$(OBJ_D)\ecp_mont.obj: $(SRC_D)\crypto\ec\ecp_mont.c - $(CC) /Fo$(OBJ_D)\ecp_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_mont.c - -$(OBJ_D)\ecp_nist.obj: $(SRC_D)\crypto\ec\ecp_nist.c - $(CC) /Fo$(OBJ_D)\ecp_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nist.c - -$(OBJ_D)\ec_cvt.obj: $(SRC_D)\crypto\ec\ec_cvt.c - $(CC) /Fo$(OBJ_D)\ec_cvt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_cvt.c - -$(OBJ_D)\ec_mult.obj: $(SRC_D)\crypto\ec\ec_mult.c - $(CC) /Fo$(OBJ_D)\ec_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_mult.c - -$(OBJ_D)\ec_err.obj: $(SRC_D)\crypto\ec\ec_err.c - $(CC) /Fo$(OBJ_D)\ec_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_err.c - -$(OBJ_D)\ec_curve.obj: $(SRC_D)\crypto\ec\ec_curve.c - $(CC) /Fo$(OBJ_D)\ec_curve.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_curve.c - -$(OBJ_D)\ec_check.obj: $(SRC_D)\crypto\ec\ec_check.c - $(CC) /Fo$(OBJ_D)\ec_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_check.c - -$(OBJ_D)\ec_print.obj: $(SRC_D)\crypto\ec\ec_print.c - $(CC) /Fo$(OBJ_D)\ec_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_print.c - -$(OBJ_D)\ec_asn1.obj: $(SRC_D)\crypto\ec\ec_asn1.c - $(CC) /Fo$(OBJ_D)\ec_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_asn1.c - -$(OBJ_D)\ec_key.obj: $(SRC_D)\crypto\ec\ec_key.c - $(CC) /Fo$(OBJ_D)\ec_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_key.c - -$(OBJ_D)\ec2_smpl.obj: $(SRC_D)\crypto\ec\ec2_smpl.c - $(CC) /Fo$(OBJ_D)\ec2_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_smpl.c - -$(OBJ_D)\ec2_mult.obj: $(SRC_D)\crypto\ec\ec2_mult.c - $(CC) /Fo$(OBJ_D)\ec2_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_mult.c - -$(OBJ_D)\ec_ameth.obj: $(SRC_D)\crypto\ec\ec_ameth.c - $(CC) /Fo$(OBJ_D)\ec_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_ameth.c - -$(OBJ_D)\ec_pmeth.obj: $(SRC_D)\crypto\ec\ec_pmeth.c - $(CC) /Fo$(OBJ_D)\ec_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_pmeth.c - -$(OBJ_D)\eck_prn.obj: $(SRC_D)\crypto\ec\eck_prn.c - $(CC) /Fo$(OBJ_D)\eck_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\eck_prn.c - -$(OBJ_D)\ecp_nistp224.obj: $(SRC_D)\crypto\ec\ecp_nistp224.c - $(CC) /Fo$(OBJ_D)\ecp_nistp224.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp224.c - -$(OBJ_D)\ecp_nistp256.obj: $(SRC_D)\crypto\ec\ecp_nistp256.c - $(CC) /Fo$(OBJ_D)\ecp_nistp256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp256.c - -$(OBJ_D)\ecp_nistp521.obj: $(SRC_D)\crypto\ec\ecp_nistp521.c - $(CC) /Fo$(OBJ_D)\ecp_nistp521.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp521.c - -$(OBJ_D)\ecp_nistputil.obj: $(SRC_D)\crypto\ec\ecp_nistputil.c - $(CC) /Fo$(OBJ_D)\ecp_nistputil.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistputil.c - -$(OBJ_D)\ecp_oct.obj: $(SRC_D)\crypto\ec\ecp_oct.c - $(CC) /Fo$(OBJ_D)\ecp_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_oct.c - -$(OBJ_D)\ec2_oct.obj: $(SRC_D)\crypto\ec\ec2_oct.c - $(CC) /Fo$(OBJ_D)\ec2_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_oct.c - -$(OBJ_D)\ec_oct.obj: $(SRC_D)\crypto\ec\ec_oct.c - $(CC) /Fo$(OBJ_D)\ec_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_oct.c - -$(OBJ_D)\ecp_nistz256.obj: $(SRC_D)\crypto\ec\ecp_nistz256.c - $(CC) /Fo$(OBJ_D)\ecp_nistz256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistz256.c - -$(TMP_D)\ecp_nistz256-x86_64.asm: crypto\ec\asm\ecp_nistz256-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\ec\asm\ecp_nistz256-x86_64.pl $@ - -$(OBJ_D)\ecp_nistz256-x86_64.obj: $(TMP_D)\ecp_nistz256-x86_64.asm - $(ASM) -o $@ $(TMP_D)\ecp_nistz256-x86_64.asm - -$(OBJ_D)\ech_lib.obj: $(SRC_D)\crypto\ecdh\ech_lib.c - $(CC) /Fo$(OBJ_D)\ech_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_lib.c - -$(OBJ_D)\ech_ossl.obj: $(SRC_D)\crypto\ecdh\ech_ossl.c - $(CC) /Fo$(OBJ_D)\ech_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_ossl.c - -$(OBJ_D)\ech_key.obj: $(SRC_D)\crypto\ecdh\ech_key.c - $(CC) /Fo$(OBJ_D)\ech_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_key.c - -$(OBJ_D)\ech_err.obj: $(SRC_D)\crypto\ecdh\ech_err.c - $(CC) /Fo$(OBJ_D)\ech_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_err.c - -$(OBJ_D)\ech_kdf.obj: $(SRC_D)\crypto\ecdh\ech_kdf.c - $(CC) /Fo$(OBJ_D)\ech_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_kdf.c - -$(OBJ_D)\ecs_lib.obj: $(SRC_D)\crypto\ecdsa\ecs_lib.c - $(CC) /Fo$(OBJ_D)\ecs_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_lib.c - -$(OBJ_D)\ecs_asn1.obj: $(SRC_D)\crypto\ecdsa\ecs_asn1.c - $(CC) /Fo$(OBJ_D)\ecs_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_asn1.c - -$(OBJ_D)\ecs_ossl.obj: $(SRC_D)\crypto\ecdsa\ecs_ossl.c - $(CC) /Fo$(OBJ_D)\ecs_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_ossl.c - -$(OBJ_D)\ecs_sign.obj: $(SRC_D)\crypto\ecdsa\ecs_sign.c - $(CC) /Fo$(OBJ_D)\ecs_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_sign.c - -$(OBJ_D)\ecs_vrf.obj: $(SRC_D)\crypto\ecdsa\ecs_vrf.c - $(CC) /Fo$(OBJ_D)\ecs_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_vrf.c - -$(OBJ_D)\ecs_err.obj: $(SRC_D)\crypto\ecdsa\ecs_err.c - $(CC) /Fo$(OBJ_D)\ecs_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_err.c - -$(OBJ_D)\buffer.obj: $(SRC_D)\crypto\buffer\buffer.c - $(CC) /Fo$(OBJ_D)\buffer.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buffer.c - -$(OBJ_D)\buf_str.obj: $(SRC_D)\crypto\buffer\buf_str.c - $(CC) /Fo$(OBJ_D)\buf_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_str.c - -$(OBJ_D)\buf_err.obj: $(SRC_D)\crypto\buffer\buf_err.c - $(CC) /Fo$(OBJ_D)\buf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_err.c - -$(OBJ_D)\bio_lib.obj: $(SRC_D)\crypto\bio\bio_lib.c - $(CC) /Fo$(OBJ_D)\bio_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_lib.c - -$(OBJ_D)\bio_cb.obj: $(SRC_D)\crypto\bio\bio_cb.c - $(CC) /Fo$(OBJ_D)\bio_cb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_cb.c - -$(OBJ_D)\bio_err.obj: $(SRC_D)\crypto\bio\bio_err.c - $(CC) /Fo$(OBJ_D)\bio_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_err.c - -$(OBJ_D)\bss_mem.obj: $(SRC_D)\crypto\bio\bss_mem.c - $(CC) /Fo$(OBJ_D)\bss_mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_mem.c - -$(OBJ_D)\bss_null.obj: $(SRC_D)\crypto\bio\bss_null.c - $(CC) /Fo$(OBJ_D)\bss_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_null.c - -$(OBJ_D)\bss_fd.obj: $(SRC_D)\crypto\bio\bss_fd.c - $(CC) /Fo$(OBJ_D)\bss_fd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_fd.c - -$(OBJ_D)\bss_file.obj: $(SRC_D)\crypto\bio\bss_file.c - $(CC) /Fo$(OBJ_D)\bss_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_file.c - -$(OBJ_D)\bss_sock.obj: $(SRC_D)\crypto\bio\bss_sock.c - $(CC) /Fo$(OBJ_D)\bss_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_sock.c - -$(OBJ_D)\bss_conn.obj: $(SRC_D)\crypto\bio\bss_conn.c - $(CC) /Fo$(OBJ_D)\bss_conn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_conn.c - -$(OBJ_D)\bf_null.obj: $(SRC_D)\crypto\bio\bf_null.c - $(CC) /Fo$(OBJ_D)\bf_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_null.c - -$(OBJ_D)\bf_buff.obj: $(SRC_D)\crypto\bio\bf_buff.c - $(CC) /Fo$(OBJ_D)\bf_buff.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_buff.c - -$(OBJ_D)\b_print.obj: $(SRC_D)\crypto\bio\b_print.c - $(CC) /Fo$(OBJ_D)\b_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_print.c - -$(OBJ_D)\b_dump.obj: $(SRC_D)\crypto\bio\b_dump.c - $(CC) /Fo$(OBJ_D)\b_dump.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_dump.c - -$(OBJ_D)\b_sock.obj: $(SRC_D)\crypto\bio\b_sock.c - $(CC) /Fo$(OBJ_D)\b_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_sock.c - -$(OBJ_D)\bss_acpt.obj: $(SRC_D)\crypto\bio\bss_acpt.c - $(CC) /Fo$(OBJ_D)\bss_acpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_acpt.c - -$(OBJ_D)\bf_nbio.obj: $(SRC_D)\crypto\bio\bf_nbio.c - $(CC) /Fo$(OBJ_D)\bf_nbio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_nbio.c - -$(OBJ_D)\bss_log.obj: $(SRC_D)\crypto\bio\bss_log.c - $(CC) /Fo$(OBJ_D)\bss_log.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_log.c - -$(OBJ_D)\bss_bio.obj: $(SRC_D)\crypto\bio\bss_bio.c - $(CC) /Fo$(OBJ_D)\bss_bio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_bio.c - -$(OBJ_D)\bss_dgram.obj: $(SRC_D)\crypto\bio\bss_dgram.c - $(CC) /Fo$(OBJ_D)\bss_dgram.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_dgram.c - -$(OBJ_D)\stack.obj: $(SRC_D)\crypto\stack\stack.c - $(CC) /Fo$(OBJ_D)\stack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\stack\stack.c - -$(OBJ_D)\lhash.obj: $(SRC_D)\crypto\lhash\lhash.c - $(CC) /Fo$(OBJ_D)\lhash.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lhash.c - -$(OBJ_D)\lh_stats.obj: $(SRC_D)\crypto\lhash\lh_stats.c - $(CC) /Fo$(OBJ_D)\lh_stats.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lh_stats.c - -$(OBJ_D)\md_rand.obj: $(SRC_D)\crypto\rand\md_rand.c - $(CC) /Fo$(OBJ_D)\md_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\md_rand.c - -$(OBJ_D)\randfile.obj: $(SRC_D)\crypto\rand\randfile.c - $(CC) /Fo$(OBJ_D)\randfile.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\randfile.c - -$(OBJ_D)\rand_lib.obj: $(SRC_D)\crypto\rand\rand_lib.c - $(CC) /Fo$(OBJ_D)\rand_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_lib.c - -$(OBJ_D)\rand_err.obj: $(SRC_D)\crypto\rand\rand_err.c - $(CC) /Fo$(OBJ_D)\rand_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_err.c - -$(OBJ_D)\rand_egd.obj: $(SRC_D)\crypto\rand\rand_egd.c - $(CC) /Fo$(OBJ_D)\rand_egd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_egd.c - -$(OBJ_D)\rand_win.obj: $(SRC_D)\crypto\rand\rand_win.c - $(CC) /Fo$(OBJ_D)\rand_win.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_win.c - -$(OBJ_D)\rand_unix.obj: $(SRC_D)\crypto\rand\rand_unix.c - $(CC) /Fo$(OBJ_D)\rand_unix.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_unix.c - -$(OBJ_D)\rand_os2.obj: $(SRC_D)\crypto\rand\rand_os2.c - $(CC) /Fo$(OBJ_D)\rand_os2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_os2.c - -$(OBJ_D)\rand_nw.obj: $(SRC_D)\crypto\rand\rand_nw.c - $(CC) /Fo$(OBJ_D)\rand_nw.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_nw.c - -$(OBJ_D)\err.obj: $(SRC_D)\crypto\err\err.c - $(CC) /Fo$(OBJ_D)\err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err.c - -$(OBJ_D)\err_all.obj: $(SRC_D)\crypto\err\err_all.c - $(CC) /Fo$(OBJ_D)\err_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_all.c - -$(OBJ_D)\err_prn.obj: $(SRC_D)\crypto\err\err_prn.c - $(CC) /Fo$(OBJ_D)\err_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_prn.c - -$(OBJ_D)\o_names.obj: $(SRC_D)\crypto\objects\o_names.c - $(CC) /Fo$(OBJ_D)\o_names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\o_names.c - -$(OBJ_D)\obj_dat.obj: $(SRC_D)\crypto\objects\obj_dat.c - $(CC) /Fo$(OBJ_D)\obj_dat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_dat.c - -$(OBJ_D)\obj_lib.obj: $(SRC_D)\crypto\objects\obj_lib.c - $(CC) /Fo$(OBJ_D)\obj_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_lib.c - -$(OBJ_D)\obj_err.obj: $(SRC_D)\crypto\objects\obj_err.c - $(CC) /Fo$(OBJ_D)\obj_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_err.c - -$(OBJ_D)\obj_xref.obj: $(SRC_D)\crypto\objects\obj_xref.c - $(CC) /Fo$(OBJ_D)\obj_xref.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_xref.c - -$(OBJ_D)\encode.obj: $(SRC_D)\crypto\evp\encode.c - $(CC) /Fo$(OBJ_D)\encode.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\encode.c - -$(OBJ_D)\digest.obj: $(SRC_D)\crypto\evp\digest.c - $(CC) /Fo$(OBJ_D)\digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\digest.c - -$(OBJ_D)\evp_enc.obj: $(SRC_D)\crypto\evp\evp_enc.c - $(CC) /Fo$(OBJ_D)\evp_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_enc.c - -$(OBJ_D)\evp_key.obj: $(SRC_D)\crypto\evp\evp_key.c - $(CC) /Fo$(OBJ_D)\evp_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_key.c - -$(OBJ_D)\evp_acnf.obj: $(SRC_D)\crypto\evp\evp_acnf.c - $(CC) /Fo$(OBJ_D)\evp_acnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_acnf.c - -$(OBJ_D)\evp_cnf.obj: $(SRC_D)\crypto\evp\evp_cnf.c - $(CC) /Fo$(OBJ_D)\evp_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_cnf.c - -$(OBJ_D)\e_des.obj: $(SRC_D)\crypto\evp\e_des.c - $(CC) /Fo$(OBJ_D)\e_des.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des.c - -$(OBJ_D)\e_bf.obj: $(SRC_D)\crypto\evp\e_bf.c - $(CC) /Fo$(OBJ_D)\e_bf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_bf.c - -$(OBJ_D)\e_idea.obj: $(SRC_D)\crypto\evp\e_idea.c - $(CC) /Fo$(OBJ_D)\e_idea.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_idea.c - -$(OBJ_D)\e_des3.obj: $(SRC_D)\crypto\evp\e_des3.c - $(CC) /Fo$(OBJ_D)\e_des3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des3.c - -$(OBJ_D)\e_camellia.obj: $(SRC_D)\crypto\evp\e_camellia.c - $(CC) /Fo$(OBJ_D)\e_camellia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_camellia.c - -$(OBJ_D)\e_rc4.obj: $(SRC_D)\crypto\evp\e_rc4.c - $(CC) /Fo$(OBJ_D)\e_rc4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4.c - -$(OBJ_D)\e_aes.obj: $(SRC_D)\crypto\evp\e_aes.c - $(CC) /Fo$(OBJ_D)\e_aes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes.c - -$(OBJ_D)\names.obj: $(SRC_D)\crypto\evp\names.c - $(CC) /Fo$(OBJ_D)\names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\names.c - -$(OBJ_D)\e_seed.obj: $(SRC_D)\crypto\evp\e_seed.c - $(CC) /Fo$(OBJ_D)\e_seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_seed.c - -$(OBJ_D)\e_xcbc_d.obj: $(SRC_D)\crypto\evp\e_xcbc_d.c - $(CC) /Fo$(OBJ_D)\e_xcbc_d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_xcbc_d.c - -$(OBJ_D)\e_rc2.obj: $(SRC_D)\crypto\evp\e_rc2.c - $(CC) /Fo$(OBJ_D)\e_rc2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc2.c - -$(OBJ_D)\e_cast.obj: $(SRC_D)\crypto\evp\e_cast.c - $(CC) /Fo$(OBJ_D)\e_cast.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_cast.c - -$(OBJ_D)\e_rc5.obj: $(SRC_D)\crypto\evp\e_rc5.c - $(CC) /Fo$(OBJ_D)\e_rc5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc5.c - -$(OBJ_D)\m_null.obj: $(SRC_D)\crypto\evp\m_null.c - $(CC) /Fo$(OBJ_D)\m_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_null.c - -$(OBJ_D)\m_md4.obj: $(SRC_D)\crypto\evp\m_md4.c - $(CC) /Fo$(OBJ_D)\m_md4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md4.c - -$(OBJ_D)\m_md5.obj: $(SRC_D)\crypto\evp\m_md5.c - $(CC) /Fo$(OBJ_D)\m_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md5.c - -$(OBJ_D)\m_sha.obj: $(SRC_D)\crypto\evp\m_sha.c - $(CC) /Fo$(OBJ_D)\m_sha.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha.c - -$(OBJ_D)\m_sha1.obj: $(SRC_D)\crypto\evp\m_sha1.c - $(CC) /Fo$(OBJ_D)\m_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha1.c - -$(OBJ_D)\m_wp.obj: $(SRC_D)\crypto\evp\m_wp.c - $(CC) /Fo$(OBJ_D)\m_wp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_wp.c - -$(OBJ_D)\m_dss.obj: $(SRC_D)\crypto\evp\m_dss.c - $(CC) /Fo$(OBJ_D)\m_dss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss.c - -$(OBJ_D)\m_dss1.obj: $(SRC_D)\crypto\evp\m_dss1.c - $(CC) /Fo$(OBJ_D)\m_dss1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss1.c - -$(OBJ_D)\m_ripemd.obj: $(SRC_D)\crypto\evp\m_ripemd.c - $(CC) /Fo$(OBJ_D)\m_ripemd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ripemd.c - -$(OBJ_D)\m_ecdsa.obj: $(SRC_D)\crypto\evp\m_ecdsa.c - $(CC) /Fo$(OBJ_D)\m_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ecdsa.c - -$(OBJ_D)\p_open.obj: $(SRC_D)\crypto\evp\p_open.c - $(CC) /Fo$(OBJ_D)\p_open.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_open.c - -$(OBJ_D)\p_seal.obj: $(SRC_D)\crypto\evp\p_seal.c - $(CC) /Fo$(OBJ_D)\p_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_seal.c - -$(OBJ_D)\p_sign.obj: $(SRC_D)\crypto\evp\p_sign.c - $(CC) /Fo$(OBJ_D)\p_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_sign.c - -$(OBJ_D)\p_verify.obj: $(SRC_D)\crypto\evp\p_verify.c - $(CC) /Fo$(OBJ_D)\p_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_verify.c - -$(OBJ_D)\p_lib.obj: $(SRC_D)\crypto\evp\p_lib.c - $(CC) /Fo$(OBJ_D)\p_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_lib.c - -$(OBJ_D)\p_enc.obj: $(SRC_D)\crypto\evp\p_enc.c - $(CC) /Fo$(OBJ_D)\p_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_enc.c - -$(OBJ_D)\p_dec.obj: $(SRC_D)\crypto\evp\p_dec.c - $(CC) /Fo$(OBJ_D)\p_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_dec.c - -$(OBJ_D)\bio_md.obj: $(SRC_D)\crypto\evp\bio_md.c - $(CC) /Fo$(OBJ_D)\bio_md.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_md.c - -$(OBJ_D)\bio_b64.obj: $(SRC_D)\crypto\evp\bio_b64.c - $(CC) /Fo$(OBJ_D)\bio_b64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_b64.c - -$(OBJ_D)\bio_enc.obj: $(SRC_D)\crypto\evp\bio_enc.c - $(CC) /Fo$(OBJ_D)\bio_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_enc.c - -$(OBJ_D)\evp_err.obj: $(SRC_D)\crypto\evp\evp_err.c - $(CC) /Fo$(OBJ_D)\evp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_err.c - -$(OBJ_D)\e_null.obj: $(SRC_D)\crypto\evp\e_null.c - $(CC) /Fo$(OBJ_D)\e_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_null.c - -$(OBJ_D)\c_all.obj: $(SRC_D)\crypto\evp\c_all.c - $(CC) /Fo$(OBJ_D)\c_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_all.c - -$(OBJ_D)\c_allc.obj: $(SRC_D)\crypto\evp\c_allc.c - $(CC) /Fo$(OBJ_D)\c_allc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_allc.c - -$(OBJ_D)\c_alld.obj: $(SRC_D)\crypto\evp\c_alld.c - $(CC) /Fo$(OBJ_D)\c_alld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_alld.c - -$(OBJ_D)\evp_lib.obj: $(SRC_D)\crypto\evp\evp_lib.c - $(CC) /Fo$(OBJ_D)\evp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_lib.c - -$(OBJ_D)\bio_ok.obj: $(SRC_D)\crypto\evp\bio_ok.c - $(CC) /Fo$(OBJ_D)\bio_ok.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_ok.c - -$(OBJ_D)\evp_pkey.obj: $(SRC_D)\crypto\evp\evp_pkey.c - $(CC) /Fo$(OBJ_D)\evp_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pkey.c - -$(OBJ_D)\evp_pbe.obj: $(SRC_D)\crypto\evp\evp_pbe.c - $(CC) /Fo$(OBJ_D)\evp_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pbe.c - -$(OBJ_D)\p5_crpt.obj: $(SRC_D)\crypto\evp\p5_crpt.c - $(CC) /Fo$(OBJ_D)\p5_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt.c - -$(OBJ_D)\p5_crpt2.obj: $(SRC_D)\crypto\evp\p5_crpt2.c - $(CC) /Fo$(OBJ_D)\p5_crpt2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt2.c - -$(OBJ_D)\e_old.obj: $(SRC_D)\crypto\evp\e_old.c - $(CC) /Fo$(OBJ_D)\e_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_old.c - -$(OBJ_D)\pmeth_lib.obj: $(SRC_D)\crypto\evp\pmeth_lib.c - $(CC) /Fo$(OBJ_D)\pmeth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_lib.c - -$(OBJ_D)\pmeth_fn.obj: $(SRC_D)\crypto\evp\pmeth_fn.c - $(CC) /Fo$(OBJ_D)\pmeth_fn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_fn.c - -$(OBJ_D)\pmeth_gn.obj: $(SRC_D)\crypto\evp\pmeth_gn.c - $(CC) /Fo$(OBJ_D)\pmeth_gn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_gn.c - -$(OBJ_D)\m_sigver.obj: $(SRC_D)\crypto\evp\m_sigver.c - $(CC) /Fo$(OBJ_D)\m_sigver.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sigver.c - -$(OBJ_D)\e_aes_cbc_hmac_sha1.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c - $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c - -$(OBJ_D)\e_aes_cbc_hmac_sha256.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c - $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c - -$(OBJ_D)\e_rc4_hmac_md5.obj: $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c - $(CC) /Fo$(OBJ_D)\e_rc4_hmac_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c - -$(OBJ_D)\a_object.obj: $(SRC_D)\crypto\asn1\a_object.c - $(CC) /Fo$(OBJ_D)\a_object.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_object.c - -$(OBJ_D)\a_bitstr.obj: $(SRC_D)\crypto\asn1\a_bitstr.c - $(CC) /Fo$(OBJ_D)\a_bitstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bitstr.c - -$(OBJ_D)\a_utctm.obj: $(SRC_D)\crypto\asn1\a_utctm.c - $(CC) /Fo$(OBJ_D)\a_utctm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utctm.c - -$(OBJ_D)\a_gentm.obj: $(SRC_D)\crypto\asn1\a_gentm.c - $(CC) /Fo$(OBJ_D)\a_gentm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_gentm.c - -$(OBJ_D)\a_time.obj: $(SRC_D)\crypto\asn1\a_time.c - $(CC) /Fo$(OBJ_D)\a_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_time.c - -$(OBJ_D)\a_int.obj: $(SRC_D)\crypto\asn1\a_int.c - $(CC) /Fo$(OBJ_D)\a_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_int.c - -$(OBJ_D)\a_octet.obj: $(SRC_D)\crypto\asn1\a_octet.c - $(CC) /Fo$(OBJ_D)\a_octet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_octet.c - -$(OBJ_D)\a_print.obj: $(SRC_D)\crypto\asn1\a_print.c - $(CC) /Fo$(OBJ_D)\a_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_print.c - -$(OBJ_D)\a_type.obj: $(SRC_D)\crypto\asn1\a_type.c - $(CC) /Fo$(OBJ_D)\a_type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_type.c - -$(OBJ_D)\a_set.obj: $(SRC_D)\crypto\asn1\a_set.c - $(CC) /Fo$(OBJ_D)\a_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_set.c - -$(OBJ_D)\a_dup.obj: $(SRC_D)\crypto\asn1\a_dup.c - $(CC) /Fo$(OBJ_D)\a_dup.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_dup.c - -$(OBJ_D)\a_d2i_fp.obj: $(SRC_D)\crypto\asn1\a_d2i_fp.c - $(CC) /Fo$(OBJ_D)\a_d2i_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_d2i_fp.c - -$(OBJ_D)\a_i2d_fp.obj: $(SRC_D)\crypto\asn1\a_i2d_fp.c - $(CC) /Fo$(OBJ_D)\a_i2d_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_i2d_fp.c - -$(OBJ_D)\a_enum.obj: $(SRC_D)\crypto\asn1\a_enum.c - $(CC) /Fo$(OBJ_D)\a_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_enum.c - -$(OBJ_D)\a_utf8.obj: $(SRC_D)\crypto\asn1\a_utf8.c - $(CC) /Fo$(OBJ_D)\a_utf8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utf8.c - -$(OBJ_D)\a_sign.obj: $(SRC_D)\crypto\asn1\a_sign.c - $(CC) /Fo$(OBJ_D)\a_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_sign.c - -$(OBJ_D)\a_digest.obj: $(SRC_D)\crypto\asn1\a_digest.c - $(CC) /Fo$(OBJ_D)\a_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_digest.c - -$(OBJ_D)\a_verify.obj: $(SRC_D)\crypto\asn1\a_verify.c - $(CC) /Fo$(OBJ_D)\a_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_verify.c - -$(OBJ_D)\a_mbstr.obj: $(SRC_D)\crypto\asn1\a_mbstr.c - $(CC) /Fo$(OBJ_D)\a_mbstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_mbstr.c - -$(OBJ_D)\a_strex.obj: $(SRC_D)\crypto\asn1\a_strex.c - $(CC) /Fo$(OBJ_D)\a_strex.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strex.c - -$(OBJ_D)\x_algor.obj: $(SRC_D)\crypto\asn1\x_algor.c - $(CC) /Fo$(OBJ_D)\x_algor.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_algor.c - -$(OBJ_D)\x_val.obj: $(SRC_D)\crypto\asn1\x_val.c - $(CC) /Fo$(OBJ_D)\x_val.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_val.c - -$(OBJ_D)\x_pubkey.obj: $(SRC_D)\crypto\asn1\x_pubkey.c - $(CC) /Fo$(OBJ_D)\x_pubkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pubkey.c - -$(OBJ_D)\x_sig.obj: $(SRC_D)\crypto\asn1\x_sig.c - $(CC) /Fo$(OBJ_D)\x_sig.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_sig.c - -$(OBJ_D)\x_req.obj: $(SRC_D)\crypto\asn1\x_req.c - $(CC) /Fo$(OBJ_D)\x_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_req.c - -$(OBJ_D)\x_attrib.obj: $(SRC_D)\crypto\asn1\x_attrib.c - $(CC) /Fo$(OBJ_D)\x_attrib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_attrib.c - -$(OBJ_D)\x_bignum.obj: $(SRC_D)\crypto\asn1\x_bignum.c - $(CC) /Fo$(OBJ_D)\x_bignum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_bignum.c - -$(OBJ_D)\x_long.obj: $(SRC_D)\crypto\asn1\x_long.c - $(CC) /Fo$(OBJ_D)\x_long.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_long.c - -$(OBJ_D)\x_name.obj: $(SRC_D)\crypto\asn1\x_name.c - $(CC) /Fo$(OBJ_D)\x_name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_name.c - -$(OBJ_D)\x_x509.obj: $(SRC_D)\crypto\asn1\x_x509.c - $(CC) /Fo$(OBJ_D)\x_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509.c - -$(OBJ_D)\x_x509a.obj: $(SRC_D)\crypto\asn1\x_x509a.c - $(CC) /Fo$(OBJ_D)\x_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509a.c - -$(OBJ_D)\x_crl.obj: $(SRC_D)\crypto\asn1\x_crl.c - $(CC) /Fo$(OBJ_D)\x_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_crl.c - -$(OBJ_D)\x_info.obj: $(SRC_D)\crypto\asn1\x_info.c - $(CC) /Fo$(OBJ_D)\x_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_info.c - -$(OBJ_D)\x_spki.obj: $(SRC_D)\crypto\asn1\x_spki.c - $(CC) /Fo$(OBJ_D)\x_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_spki.c - -$(OBJ_D)\nsseq.obj: $(SRC_D)\crypto\asn1\nsseq.c - $(CC) /Fo$(OBJ_D)\nsseq.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\nsseq.c - -$(OBJ_D)\x_nx509.obj: $(SRC_D)\crypto\asn1\x_nx509.c - $(CC) /Fo$(OBJ_D)\x_nx509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_nx509.c - -$(OBJ_D)\d2i_pu.obj: $(SRC_D)\crypto\asn1\d2i_pu.c - $(CC) /Fo$(OBJ_D)\d2i_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pu.c - -$(OBJ_D)\d2i_pr.obj: $(SRC_D)\crypto\asn1\d2i_pr.c - $(CC) /Fo$(OBJ_D)\d2i_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pr.c - -$(OBJ_D)\i2d_pu.obj: $(SRC_D)\crypto\asn1\i2d_pu.c - $(CC) /Fo$(OBJ_D)\i2d_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pu.c - -$(OBJ_D)\i2d_pr.obj: $(SRC_D)\crypto\asn1\i2d_pr.c - $(CC) /Fo$(OBJ_D)\i2d_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pr.c - -$(OBJ_D)\t_req.obj: $(SRC_D)\crypto\asn1\t_req.c - $(CC) /Fo$(OBJ_D)\t_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_req.c - -$(OBJ_D)\t_x509.obj: $(SRC_D)\crypto\asn1\t_x509.c - $(CC) /Fo$(OBJ_D)\t_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509.c - -$(OBJ_D)\t_x509a.obj: $(SRC_D)\crypto\asn1\t_x509a.c - $(CC) /Fo$(OBJ_D)\t_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509a.c - -$(OBJ_D)\t_crl.obj: $(SRC_D)\crypto\asn1\t_crl.c - $(CC) /Fo$(OBJ_D)\t_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_crl.c - -$(OBJ_D)\t_pkey.obj: $(SRC_D)\crypto\asn1\t_pkey.c - $(CC) /Fo$(OBJ_D)\t_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_pkey.c - -$(OBJ_D)\t_spki.obj: $(SRC_D)\crypto\asn1\t_spki.c - $(CC) /Fo$(OBJ_D)\t_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_spki.c - -$(OBJ_D)\t_bitst.obj: $(SRC_D)\crypto\asn1\t_bitst.c - $(CC) /Fo$(OBJ_D)\t_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_bitst.c - -$(OBJ_D)\tasn_new.obj: $(SRC_D)\crypto\asn1\tasn_new.c - $(CC) /Fo$(OBJ_D)\tasn_new.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_new.c - -$(OBJ_D)\tasn_fre.obj: $(SRC_D)\crypto\asn1\tasn_fre.c - $(CC) /Fo$(OBJ_D)\tasn_fre.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_fre.c - -$(OBJ_D)\tasn_enc.obj: $(SRC_D)\crypto\asn1\tasn_enc.c - $(CC) /Fo$(OBJ_D)\tasn_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_enc.c - -$(OBJ_D)\tasn_dec.obj: $(SRC_D)\crypto\asn1\tasn_dec.c - $(CC) /Fo$(OBJ_D)\tasn_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_dec.c - -$(OBJ_D)\tasn_utl.obj: $(SRC_D)\crypto\asn1\tasn_utl.c - $(CC) /Fo$(OBJ_D)\tasn_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_utl.c - -$(OBJ_D)\tasn_typ.obj: $(SRC_D)\crypto\asn1\tasn_typ.c - $(CC) /Fo$(OBJ_D)\tasn_typ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_typ.c - -$(OBJ_D)\tasn_prn.obj: $(SRC_D)\crypto\asn1\tasn_prn.c - $(CC) /Fo$(OBJ_D)\tasn_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_prn.c - -$(OBJ_D)\ameth_lib.obj: $(SRC_D)\crypto\asn1\ameth_lib.c - $(CC) /Fo$(OBJ_D)\ameth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\ameth_lib.c - -$(OBJ_D)\f_int.obj: $(SRC_D)\crypto\asn1\f_int.c - $(CC) /Fo$(OBJ_D)\f_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_int.c - -$(OBJ_D)\f_string.obj: $(SRC_D)\crypto\asn1\f_string.c - $(CC) /Fo$(OBJ_D)\f_string.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_string.c - -$(OBJ_D)\n_pkey.obj: $(SRC_D)\crypto\asn1\n_pkey.c - $(CC) /Fo$(OBJ_D)\n_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\n_pkey.c - -$(OBJ_D)\f_enum.obj: $(SRC_D)\crypto\asn1\f_enum.c - $(CC) /Fo$(OBJ_D)\f_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_enum.c - -$(OBJ_D)\x_pkey.obj: $(SRC_D)\crypto\asn1\x_pkey.c - $(CC) /Fo$(OBJ_D)\x_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pkey.c - -$(OBJ_D)\a_bool.obj: $(SRC_D)\crypto\asn1\a_bool.c - $(CC) /Fo$(OBJ_D)\a_bool.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bool.c - -$(OBJ_D)\x_exten.obj: $(SRC_D)\crypto\asn1\x_exten.c - $(CC) /Fo$(OBJ_D)\x_exten.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_exten.c - -$(OBJ_D)\bio_asn1.obj: $(SRC_D)\crypto\asn1\bio_asn1.c - $(CC) /Fo$(OBJ_D)\bio_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_asn1.c - -$(OBJ_D)\bio_ndef.obj: $(SRC_D)\crypto\asn1\bio_ndef.c - $(CC) /Fo$(OBJ_D)\bio_ndef.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_ndef.c - -$(OBJ_D)\asn_mime.obj: $(SRC_D)\crypto\asn1\asn_mime.c - $(CC) /Fo$(OBJ_D)\asn_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_mime.c - -$(OBJ_D)\asn1_gen.obj: $(SRC_D)\crypto\asn1\asn1_gen.c - $(CC) /Fo$(OBJ_D)\asn1_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_gen.c - -$(OBJ_D)\asn1_par.obj: $(SRC_D)\crypto\asn1\asn1_par.c - $(CC) /Fo$(OBJ_D)\asn1_par.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_par.c - -$(OBJ_D)\asn1_lib.obj: $(SRC_D)\crypto\asn1\asn1_lib.c - $(CC) /Fo$(OBJ_D)\asn1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_lib.c - -$(OBJ_D)\asn1_err.obj: $(SRC_D)\crypto\asn1\asn1_err.c - $(CC) /Fo$(OBJ_D)\asn1_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_err.c - -$(OBJ_D)\a_bytes.obj: $(SRC_D)\crypto\asn1\a_bytes.c - $(CC) /Fo$(OBJ_D)\a_bytes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bytes.c - -$(OBJ_D)\a_strnid.obj: $(SRC_D)\crypto\asn1\a_strnid.c - $(CC) /Fo$(OBJ_D)\a_strnid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strnid.c - -$(OBJ_D)\evp_asn1.obj: $(SRC_D)\crypto\asn1\evp_asn1.c - $(CC) /Fo$(OBJ_D)\evp_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\evp_asn1.c - -$(OBJ_D)\asn_pack.obj: $(SRC_D)\crypto\asn1\asn_pack.c - $(CC) /Fo$(OBJ_D)\asn_pack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_pack.c - -$(OBJ_D)\p5_pbe.obj: $(SRC_D)\crypto\asn1\p5_pbe.c - $(CC) /Fo$(OBJ_D)\p5_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbe.c - -$(OBJ_D)\p5_pbev2.obj: $(SRC_D)\crypto\asn1\p5_pbev2.c - $(CC) /Fo$(OBJ_D)\p5_pbev2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbev2.c - -$(OBJ_D)\p8_pkey.obj: $(SRC_D)\crypto\asn1\p8_pkey.c - $(CC) /Fo$(OBJ_D)\p8_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p8_pkey.c - -$(OBJ_D)\asn_moid.obj: $(SRC_D)\crypto\asn1\asn_moid.c - $(CC) /Fo$(OBJ_D)\asn_moid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_moid.c - -$(OBJ_D)\pem_sign.obj: $(SRC_D)\crypto\pem\pem_sign.c - $(CC) /Fo$(OBJ_D)\pem_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_sign.c - -$(OBJ_D)\pem_seal.obj: $(SRC_D)\crypto\pem\pem_seal.c - $(CC) /Fo$(OBJ_D)\pem_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_seal.c - -$(OBJ_D)\pem_info.obj: $(SRC_D)\crypto\pem\pem_info.c - $(CC) /Fo$(OBJ_D)\pem_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_info.c - -$(OBJ_D)\pem_lib.obj: $(SRC_D)\crypto\pem\pem_lib.c - $(CC) /Fo$(OBJ_D)\pem_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_lib.c - -$(OBJ_D)\pem_all.obj: $(SRC_D)\crypto\pem\pem_all.c - $(CC) /Fo$(OBJ_D)\pem_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_all.c - -$(OBJ_D)\pem_err.obj: $(SRC_D)\crypto\pem\pem_err.c - $(CC) /Fo$(OBJ_D)\pem_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_err.c - -$(OBJ_D)\pem_x509.obj: $(SRC_D)\crypto\pem\pem_x509.c - $(CC) /Fo$(OBJ_D)\pem_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_x509.c - -$(OBJ_D)\pem_xaux.obj: $(SRC_D)\crypto\pem\pem_xaux.c - $(CC) /Fo$(OBJ_D)\pem_xaux.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_xaux.c - -$(OBJ_D)\pem_oth.obj: $(SRC_D)\crypto\pem\pem_oth.c - $(CC) /Fo$(OBJ_D)\pem_oth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_oth.c - -$(OBJ_D)\pem_pk8.obj: $(SRC_D)\crypto\pem\pem_pk8.c - $(CC) /Fo$(OBJ_D)\pem_pk8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pk8.c - -$(OBJ_D)\pem_pkey.obj: $(SRC_D)\crypto\pem\pem_pkey.c - $(CC) /Fo$(OBJ_D)\pem_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pkey.c - -$(OBJ_D)\pvkfmt.obj: $(SRC_D)\crypto\pem\pvkfmt.c - $(CC) /Fo$(OBJ_D)\pvkfmt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pvkfmt.c - -$(OBJ_D)\x509_def.obj: $(SRC_D)\crypto\x509\x509_def.c - $(CC) /Fo$(OBJ_D)\x509_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_def.c - -$(OBJ_D)\x509_d2.obj: $(SRC_D)\crypto\x509\x509_d2.c - $(CC) /Fo$(OBJ_D)\x509_d2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_d2.c - -$(OBJ_D)\x509_r2x.obj: $(SRC_D)\crypto\x509\x509_r2x.c - $(CC) /Fo$(OBJ_D)\x509_r2x.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_r2x.c - -$(OBJ_D)\x509_cmp.obj: $(SRC_D)\crypto\x509\x509_cmp.c - $(CC) /Fo$(OBJ_D)\x509_cmp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_cmp.c - -$(OBJ_D)\x509_obj.obj: $(SRC_D)\crypto\x509\x509_obj.c - $(CC) /Fo$(OBJ_D)\x509_obj.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_obj.c - -$(OBJ_D)\x509_req.obj: $(SRC_D)\crypto\x509\x509_req.c - $(CC) /Fo$(OBJ_D)\x509_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_req.c - -$(OBJ_D)\x509spki.obj: $(SRC_D)\crypto\x509\x509spki.c - $(CC) /Fo$(OBJ_D)\x509spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509spki.c - -$(OBJ_D)\x509_vfy.obj: $(SRC_D)\crypto\x509\x509_vfy.c - $(CC) /Fo$(OBJ_D)\x509_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vfy.c - -$(OBJ_D)\x509_set.obj: $(SRC_D)\crypto\x509\x509_set.c - $(CC) /Fo$(OBJ_D)\x509_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_set.c - -$(OBJ_D)\x509cset.obj: $(SRC_D)\crypto\x509\x509cset.c - $(CC) /Fo$(OBJ_D)\x509cset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509cset.c - -$(OBJ_D)\x509rset.obj: $(SRC_D)\crypto\x509\x509rset.c - $(CC) /Fo$(OBJ_D)\x509rset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509rset.c - -$(OBJ_D)\x509_err.obj: $(SRC_D)\crypto\x509\x509_err.c - $(CC) /Fo$(OBJ_D)\x509_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_err.c - -$(OBJ_D)\x509name.obj: $(SRC_D)\crypto\x509\x509name.c - $(CC) /Fo$(OBJ_D)\x509name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509name.c - -$(OBJ_D)\x509_v3.obj: $(SRC_D)\crypto\x509\x509_v3.c - $(CC) /Fo$(OBJ_D)\x509_v3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_v3.c - -$(OBJ_D)\x509_ext.obj: $(SRC_D)\crypto\x509\x509_ext.c - $(CC) /Fo$(OBJ_D)\x509_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_ext.c - -$(OBJ_D)\x509_att.obj: $(SRC_D)\crypto\x509\x509_att.c - $(CC) /Fo$(OBJ_D)\x509_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_att.c - -$(OBJ_D)\x509type.obj: $(SRC_D)\crypto\x509\x509type.c - $(CC) /Fo$(OBJ_D)\x509type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509type.c - -$(OBJ_D)\x509_lu.obj: $(SRC_D)\crypto\x509\x509_lu.c - $(CC) /Fo$(OBJ_D)\x509_lu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_lu.c - -$(OBJ_D)\x_all.obj: $(SRC_D)\crypto\x509\x_all.c - $(CC) /Fo$(OBJ_D)\x_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x_all.c - -$(OBJ_D)\x509_txt.obj: $(SRC_D)\crypto\x509\x509_txt.c - $(CC) /Fo$(OBJ_D)\x509_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_txt.c - -$(OBJ_D)\x509_trs.obj: $(SRC_D)\crypto\x509\x509_trs.c - $(CC) /Fo$(OBJ_D)\x509_trs.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_trs.c - -$(OBJ_D)\by_file.obj: $(SRC_D)\crypto\x509\by_file.c - $(CC) /Fo$(OBJ_D)\by_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_file.c - -$(OBJ_D)\by_dir.obj: $(SRC_D)\crypto\x509\by_dir.c - $(CC) /Fo$(OBJ_D)\by_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_dir.c - -$(OBJ_D)\x509_vpm.obj: $(SRC_D)\crypto\x509\x509_vpm.c - $(CC) /Fo$(OBJ_D)\x509_vpm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vpm.c - -$(OBJ_D)\v3_bcons.obj: $(SRC_D)\crypto\x509v3\v3_bcons.c - $(CC) /Fo$(OBJ_D)\v3_bcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bcons.c - -$(OBJ_D)\v3_bitst.obj: $(SRC_D)\crypto\x509v3\v3_bitst.c - $(CC) /Fo$(OBJ_D)\v3_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bitst.c - -$(OBJ_D)\v3_conf.obj: $(SRC_D)\crypto\x509v3\v3_conf.c - $(CC) /Fo$(OBJ_D)\v3_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_conf.c - -$(OBJ_D)\v3_extku.obj: $(SRC_D)\crypto\x509v3\v3_extku.c - $(CC) /Fo$(OBJ_D)\v3_extku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_extku.c - -$(OBJ_D)\v3_ia5.obj: $(SRC_D)\crypto\x509v3\v3_ia5.c - $(CC) /Fo$(OBJ_D)\v3_ia5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ia5.c - -$(OBJ_D)\v3_lib.obj: $(SRC_D)\crypto\x509v3\v3_lib.c - $(CC) /Fo$(OBJ_D)\v3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_lib.c - -$(OBJ_D)\v3_prn.obj: $(SRC_D)\crypto\x509v3\v3_prn.c - $(CC) /Fo$(OBJ_D)\v3_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_prn.c - -$(OBJ_D)\v3_utl.obj: $(SRC_D)\crypto\x509v3\v3_utl.c - $(CC) /Fo$(OBJ_D)\v3_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_utl.c - -$(OBJ_D)\v3err.obj: $(SRC_D)\crypto\x509v3\v3err.c - $(CC) /Fo$(OBJ_D)\v3err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3err.c - -$(OBJ_D)\v3_genn.obj: $(SRC_D)\crypto\x509v3\v3_genn.c - $(CC) /Fo$(OBJ_D)\v3_genn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_genn.c - -$(OBJ_D)\v3_alt.obj: $(SRC_D)\crypto\x509v3\v3_alt.c - $(CC) /Fo$(OBJ_D)\v3_alt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_alt.c - -$(OBJ_D)\v3_skey.obj: $(SRC_D)\crypto\x509v3\v3_skey.c - $(CC) /Fo$(OBJ_D)\v3_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_skey.c - -$(OBJ_D)\v3_akey.obj: $(SRC_D)\crypto\x509v3\v3_akey.c - $(CC) /Fo$(OBJ_D)\v3_akey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akey.c - -$(OBJ_D)\v3_pku.obj: $(SRC_D)\crypto\x509v3\v3_pku.c - $(CC) /Fo$(OBJ_D)\v3_pku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pku.c - -$(OBJ_D)\v3_int.obj: $(SRC_D)\crypto\x509v3\v3_int.c - $(CC) /Fo$(OBJ_D)\v3_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_int.c - -$(OBJ_D)\v3_enum.obj: $(SRC_D)\crypto\x509v3\v3_enum.c - $(CC) /Fo$(OBJ_D)\v3_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_enum.c - -$(OBJ_D)\v3_sxnet.obj: $(SRC_D)\crypto\x509v3\v3_sxnet.c - $(CC) /Fo$(OBJ_D)\v3_sxnet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_sxnet.c - -$(OBJ_D)\v3_cpols.obj: $(SRC_D)\crypto\x509v3\v3_cpols.c - $(CC) /Fo$(OBJ_D)\v3_cpols.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_cpols.c - -$(OBJ_D)\v3_crld.obj: $(SRC_D)\crypto\x509v3\v3_crld.c - $(CC) /Fo$(OBJ_D)\v3_crld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_crld.c - -$(OBJ_D)\v3_purp.obj: $(SRC_D)\crypto\x509v3\v3_purp.c - $(CC) /Fo$(OBJ_D)\v3_purp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_purp.c - -$(OBJ_D)\v3_info.obj: $(SRC_D)\crypto\x509v3\v3_info.c - $(CC) /Fo$(OBJ_D)\v3_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_info.c - -$(OBJ_D)\v3_ocsp.obj: $(SRC_D)\crypto\x509v3\v3_ocsp.c - $(CC) /Fo$(OBJ_D)\v3_ocsp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ocsp.c - -$(OBJ_D)\v3_akeya.obj: $(SRC_D)\crypto\x509v3\v3_akeya.c - $(CC) /Fo$(OBJ_D)\v3_akeya.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akeya.c - -$(OBJ_D)\v3_pmaps.obj: $(SRC_D)\crypto\x509v3\v3_pmaps.c - $(CC) /Fo$(OBJ_D)\v3_pmaps.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pmaps.c - -$(OBJ_D)\v3_pcons.obj: $(SRC_D)\crypto\x509v3\v3_pcons.c - $(CC) /Fo$(OBJ_D)\v3_pcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcons.c - -$(OBJ_D)\v3_ncons.obj: $(SRC_D)\crypto\x509v3\v3_ncons.c - $(CC) /Fo$(OBJ_D)\v3_ncons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ncons.c - -$(OBJ_D)\v3_pcia.obj: $(SRC_D)\crypto\x509v3\v3_pcia.c - $(CC) /Fo$(OBJ_D)\v3_pcia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcia.c - -$(OBJ_D)\v3_pci.obj: $(SRC_D)\crypto\x509v3\v3_pci.c - $(CC) /Fo$(OBJ_D)\v3_pci.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pci.c - -$(OBJ_D)\pcy_cache.obj: $(SRC_D)\crypto\x509v3\pcy_cache.c - $(CC) /Fo$(OBJ_D)\pcy_cache.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_cache.c - -$(OBJ_D)\pcy_node.obj: $(SRC_D)\crypto\x509v3\pcy_node.c - $(CC) /Fo$(OBJ_D)\pcy_node.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_node.c - -$(OBJ_D)\pcy_data.obj: $(SRC_D)\crypto\x509v3\pcy_data.c - $(CC) /Fo$(OBJ_D)\pcy_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_data.c - -$(OBJ_D)\pcy_map.obj: $(SRC_D)\crypto\x509v3\pcy_map.c - $(CC) /Fo$(OBJ_D)\pcy_map.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_map.c - -$(OBJ_D)\pcy_tree.obj: $(SRC_D)\crypto\x509v3\pcy_tree.c - $(CC) /Fo$(OBJ_D)\pcy_tree.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_tree.c - -$(OBJ_D)\pcy_lib.obj: $(SRC_D)\crypto\x509v3\pcy_lib.c - $(CC) /Fo$(OBJ_D)\pcy_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_lib.c - -$(OBJ_D)\v3_asid.obj: $(SRC_D)\crypto\x509v3\v3_asid.c - $(CC) /Fo$(OBJ_D)\v3_asid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_asid.c - -$(OBJ_D)\v3_addr.obj: $(SRC_D)\crypto\x509v3\v3_addr.c - $(CC) /Fo$(OBJ_D)\v3_addr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_addr.c - -$(OBJ_D)\v3_scts.obj: $(SRC_D)\crypto\x509v3\v3_scts.c - $(CC) /Fo$(OBJ_D)\v3_scts.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_scts.c - -$(OBJ_D)\cms_lib.obj: $(SRC_D)\crypto\cms\cms_lib.c - $(CC) /Fo$(OBJ_D)\cms_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_lib.c - -$(OBJ_D)\cms_asn1.obj: $(SRC_D)\crypto\cms\cms_asn1.c - $(CC) /Fo$(OBJ_D)\cms_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_asn1.c - -$(OBJ_D)\cms_att.obj: $(SRC_D)\crypto\cms\cms_att.c - $(CC) /Fo$(OBJ_D)\cms_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_att.c - -$(OBJ_D)\cms_io.obj: $(SRC_D)\crypto\cms\cms_io.c - $(CC) /Fo$(OBJ_D)\cms_io.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_io.c - -$(OBJ_D)\cms_smime.obj: $(SRC_D)\crypto\cms\cms_smime.c - $(CC) /Fo$(OBJ_D)\cms_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_smime.c - -$(OBJ_D)\cms_err.obj: $(SRC_D)\crypto\cms\cms_err.c - $(CC) /Fo$(OBJ_D)\cms_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_err.c - -$(OBJ_D)\cms_sd.obj: $(SRC_D)\crypto\cms\cms_sd.c - $(CC) /Fo$(OBJ_D)\cms_sd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_sd.c - -$(OBJ_D)\cms_dd.obj: $(SRC_D)\crypto\cms\cms_dd.c - $(CC) /Fo$(OBJ_D)\cms_dd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_dd.c - -$(OBJ_D)\cms_cd.obj: $(SRC_D)\crypto\cms\cms_cd.c - $(CC) /Fo$(OBJ_D)\cms_cd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_cd.c - -$(OBJ_D)\cms_env.obj: $(SRC_D)\crypto\cms\cms_env.c - $(CC) /Fo$(OBJ_D)\cms_env.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_env.c - -$(OBJ_D)\cms_enc.obj: $(SRC_D)\crypto\cms\cms_enc.c - $(CC) /Fo$(OBJ_D)\cms_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_enc.c - -$(OBJ_D)\cms_ess.obj: $(SRC_D)\crypto\cms\cms_ess.c - $(CC) /Fo$(OBJ_D)\cms_ess.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_ess.c - -$(OBJ_D)\cms_pwri.obj: $(SRC_D)\crypto\cms\cms_pwri.c - $(CC) /Fo$(OBJ_D)\cms_pwri.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_pwri.c - -$(OBJ_D)\cms_kari.obj: $(SRC_D)\crypto\cms\cms_kari.c - $(CC) /Fo$(OBJ_D)\cms_kari.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_kari.c - -$(OBJ_D)\conf_err.obj: $(SRC_D)\crypto\conf\conf_err.c - $(CC) /Fo$(OBJ_D)\conf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_err.c - -$(OBJ_D)\conf_lib.obj: $(SRC_D)\crypto\conf\conf_lib.c - $(CC) /Fo$(OBJ_D)\conf_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_lib.c - -$(OBJ_D)\conf_api.obj: $(SRC_D)\crypto\conf\conf_api.c - $(CC) /Fo$(OBJ_D)\conf_api.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_api.c - -$(OBJ_D)\conf_def.obj: $(SRC_D)\crypto\conf\conf_def.c - $(CC) /Fo$(OBJ_D)\conf_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_def.c - -$(OBJ_D)\conf_mod.obj: $(SRC_D)\crypto\conf\conf_mod.c - $(CC) /Fo$(OBJ_D)\conf_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mod.c - -$(OBJ_D)\conf_mall.obj: $(SRC_D)\crypto\conf\conf_mall.c - $(CC) /Fo$(OBJ_D)\conf_mall.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mall.c - -$(OBJ_D)\conf_sap.obj: $(SRC_D)\crypto\conf\conf_sap.c - $(CC) /Fo$(OBJ_D)\conf_sap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_sap.c - -$(OBJ_D)\txt_db.obj: $(SRC_D)\crypto\txt_db\txt_db.c - $(CC) /Fo$(OBJ_D)\txt_db.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\txt_db\txt_db.c - -$(OBJ_D)\pk7_asn1.obj: $(SRC_D)\crypto\pkcs7\pk7_asn1.c - $(CC) /Fo$(OBJ_D)\pk7_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_asn1.c - -$(OBJ_D)\pk7_lib.obj: $(SRC_D)\crypto\pkcs7\pk7_lib.c - $(CC) /Fo$(OBJ_D)\pk7_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_lib.c - -$(OBJ_D)\pkcs7err.obj: $(SRC_D)\crypto\pkcs7\pkcs7err.c - $(CC) /Fo$(OBJ_D)\pkcs7err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pkcs7err.c - -$(OBJ_D)\pk7_doit.obj: $(SRC_D)\crypto\pkcs7\pk7_doit.c - $(CC) /Fo$(OBJ_D)\pk7_doit.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_doit.c - -$(OBJ_D)\pk7_smime.obj: $(SRC_D)\crypto\pkcs7\pk7_smime.c - $(CC) /Fo$(OBJ_D)\pk7_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_smime.c - -$(OBJ_D)\pk7_attr.obj: $(SRC_D)\crypto\pkcs7\pk7_attr.c - $(CC) /Fo$(OBJ_D)\pk7_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_attr.c - -$(OBJ_D)\pk7_mime.obj: $(SRC_D)\crypto\pkcs7\pk7_mime.c - $(CC) /Fo$(OBJ_D)\pk7_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_mime.c - -$(OBJ_D)\bio_pk7.obj: $(SRC_D)\crypto\pkcs7\bio_pk7.c - $(CC) /Fo$(OBJ_D)\bio_pk7.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\bio_pk7.c - -$(OBJ_D)\p12_add.obj: $(SRC_D)\crypto\pkcs12\p12_add.c - $(CC) /Fo$(OBJ_D)\p12_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_add.c - -$(OBJ_D)\p12_asn.obj: $(SRC_D)\crypto\pkcs12\p12_asn.c - $(CC) /Fo$(OBJ_D)\p12_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_asn.c - -$(OBJ_D)\p12_attr.obj: $(SRC_D)\crypto\pkcs12\p12_attr.c - $(CC) /Fo$(OBJ_D)\p12_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_attr.c - -$(OBJ_D)\p12_crpt.obj: $(SRC_D)\crypto\pkcs12\p12_crpt.c - $(CC) /Fo$(OBJ_D)\p12_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crpt.c - -$(OBJ_D)\p12_crt.obj: $(SRC_D)\crypto\pkcs12\p12_crt.c - $(CC) /Fo$(OBJ_D)\p12_crt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crt.c - -$(OBJ_D)\p12_decr.obj: $(SRC_D)\crypto\pkcs12\p12_decr.c - $(CC) /Fo$(OBJ_D)\p12_decr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_decr.c - -$(OBJ_D)\p12_init.obj: $(SRC_D)\crypto\pkcs12\p12_init.c - $(CC) /Fo$(OBJ_D)\p12_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_init.c - -$(OBJ_D)\p12_key.obj: $(SRC_D)\crypto\pkcs12\p12_key.c - $(CC) /Fo$(OBJ_D)\p12_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_key.c - -$(OBJ_D)\p12_kiss.obj: $(SRC_D)\crypto\pkcs12\p12_kiss.c - $(CC) /Fo$(OBJ_D)\p12_kiss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_kiss.c - -$(OBJ_D)\p12_mutl.obj: $(SRC_D)\crypto\pkcs12\p12_mutl.c - $(CC) /Fo$(OBJ_D)\p12_mutl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_mutl.c - -$(OBJ_D)\p12_utl.obj: $(SRC_D)\crypto\pkcs12\p12_utl.c - $(CC) /Fo$(OBJ_D)\p12_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_utl.c - -$(OBJ_D)\p12_npas.obj: $(SRC_D)\crypto\pkcs12\p12_npas.c - $(CC) /Fo$(OBJ_D)\p12_npas.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_npas.c - -$(OBJ_D)\pk12err.obj: $(SRC_D)\crypto\pkcs12\pk12err.c - $(CC) /Fo$(OBJ_D)\pk12err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\pk12err.c - -$(OBJ_D)\p12_p8d.obj: $(SRC_D)\crypto\pkcs12\p12_p8d.c - $(CC) /Fo$(OBJ_D)\p12_p8d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8d.c - -$(OBJ_D)\p12_p8e.obj: $(SRC_D)\crypto\pkcs12\p12_p8e.c - $(CC) /Fo$(OBJ_D)\p12_p8e.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8e.c - -$(OBJ_D)\comp_lib.obj: $(SRC_D)\crypto\comp\comp_lib.c - $(CC) /Fo$(OBJ_D)\comp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_lib.c - -$(OBJ_D)\comp_err.obj: $(SRC_D)\crypto\comp\comp_err.c - $(CC) /Fo$(OBJ_D)\comp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_err.c - -$(OBJ_D)\c_rle.obj: $(SRC_D)\crypto\comp\c_rle.c - $(CC) /Fo$(OBJ_D)\c_rle.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_rle.c - -$(OBJ_D)\c_zlib.obj: $(SRC_D)\crypto\comp\c_zlib.c - $(CC) /Fo$(OBJ_D)\c_zlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_zlib.c - -$(OBJ_D)\eng_err.obj: $(SRC_D)\crypto\engine\eng_err.c - $(CC) /Fo$(OBJ_D)\eng_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_err.c - -$(OBJ_D)\eng_lib.obj: $(SRC_D)\crypto\engine\eng_lib.c - $(CC) /Fo$(OBJ_D)\eng_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_lib.c - -$(OBJ_D)\eng_list.obj: $(SRC_D)\crypto\engine\eng_list.c - $(CC) /Fo$(OBJ_D)\eng_list.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_list.c - -$(OBJ_D)\eng_init.obj: $(SRC_D)\crypto\engine\eng_init.c - $(CC) /Fo$(OBJ_D)\eng_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_init.c - -$(OBJ_D)\eng_ctrl.obj: $(SRC_D)\crypto\engine\eng_ctrl.c - $(CC) /Fo$(OBJ_D)\eng_ctrl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_ctrl.c - -$(OBJ_D)\eng_table.obj: $(SRC_D)\crypto\engine\eng_table.c - $(CC) /Fo$(OBJ_D)\eng_table.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_table.c - -$(OBJ_D)\eng_pkey.obj: $(SRC_D)\crypto\engine\eng_pkey.c - $(CC) /Fo$(OBJ_D)\eng_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_pkey.c - -$(OBJ_D)\eng_fat.obj: $(SRC_D)\crypto\engine\eng_fat.c - $(CC) /Fo$(OBJ_D)\eng_fat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_fat.c - -$(OBJ_D)\eng_all.obj: $(SRC_D)\crypto\engine\eng_all.c - $(CC) /Fo$(OBJ_D)\eng_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_all.c - -$(OBJ_D)\tb_rsa.obj: $(SRC_D)\crypto\engine\tb_rsa.c - $(CC) /Fo$(OBJ_D)\tb_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rsa.c - -$(OBJ_D)\tb_dsa.obj: $(SRC_D)\crypto\engine\tb_dsa.c - $(CC) /Fo$(OBJ_D)\tb_dsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dsa.c - -$(OBJ_D)\tb_ecdsa.obj: $(SRC_D)\crypto\engine\tb_ecdsa.c - $(CC) /Fo$(OBJ_D)\tb_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdsa.c - -$(OBJ_D)\tb_dh.obj: $(SRC_D)\crypto\engine\tb_dh.c - $(CC) /Fo$(OBJ_D)\tb_dh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dh.c - -$(OBJ_D)\tb_ecdh.obj: $(SRC_D)\crypto\engine\tb_ecdh.c - $(CC) /Fo$(OBJ_D)\tb_ecdh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdh.c - -$(OBJ_D)\tb_rand.obj: $(SRC_D)\crypto\engine\tb_rand.c - $(CC) /Fo$(OBJ_D)\tb_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rand.c - -$(OBJ_D)\tb_store.obj: $(SRC_D)\crypto\engine\tb_store.c - $(CC) /Fo$(OBJ_D)\tb_store.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_store.c - -$(OBJ_D)\tb_cipher.obj: $(SRC_D)\crypto\engine\tb_cipher.c - $(CC) /Fo$(OBJ_D)\tb_cipher.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_cipher.c - -$(OBJ_D)\tb_digest.obj: $(SRC_D)\crypto\engine\tb_digest.c - $(CC) /Fo$(OBJ_D)\tb_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_digest.c - -$(OBJ_D)\tb_pkmeth.obj: $(SRC_D)\crypto\engine\tb_pkmeth.c - $(CC) /Fo$(OBJ_D)\tb_pkmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_pkmeth.c - -$(OBJ_D)\tb_asnmth.obj: $(SRC_D)\crypto\engine\tb_asnmth.c - $(CC) /Fo$(OBJ_D)\tb_asnmth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_asnmth.c - -$(OBJ_D)\eng_openssl.obj: $(SRC_D)\crypto\engine\eng_openssl.c - $(CC) /Fo$(OBJ_D)\eng_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_openssl.c - -$(OBJ_D)\eng_cnf.obj: $(SRC_D)\crypto\engine\eng_cnf.c - $(CC) /Fo$(OBJ_D)\eng_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cnf.c - -$(OBJ_D)\eng_dyn.obj: $(SRC_D)\crypto\engine\eng_dyn.c - $(CC) /Fo$(OBJ_D)\eng_dyn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_dyn.c - -$(OBJ_D)\eng_cryptodev.obj: $(SRC_D)\crypto\engine\eng_cryptodev.c - $(CC) /Fo$(OBJ_D)\eng_cryptodev.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cryptodev.c - -$(OBJ_D)\eng_rdrand.obj: $(SRC_D)\crypto\engine\eng_rdrand.c - $(CC) /Fo$(OBJ_D)\eng_rdrand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_rdrand.c - -$(OBJ_D)\ocsp_asn.obj: $(SRC_D)\crypto\ocsp\ocsp_asn.c - $(CC) /Fo$(OBJ_D)\ocsp_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_asn.c - -$(OBJ_D)\ocsp_ext.obj: $(SRC_D)\crypto\ocsp\ocsp_ext.c - $(CC) /Fo$(OBJ_D)\ocsp_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ext.c - -$(OBJ_D)\ocsp_ht.obj: $(SRC_D)\crypto\ocsp\ocsp_ht.c - $(CC) /Fo$(OBJ_D)\ocsp_ht.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ht.c - -$(OBJ_D)\ocsp_lib.obj: $(SRC_D)\crypto\ocsp\ocsp_lib.c - $(CC) /Fo$(OBJ_D)\ocsp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_lib.c - -$(OBJ_D)\ocsp_cl.obj: $(SRC_D)\crypto\ocsp\ocsp_cl.c - $(CC) /Fo$(OBJ_D)\ocsp_cl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_cl.c - -$(OBJ_D)\ocsp_srv.obj: $(SRC_D)\crypto\ocsp\ocsp_srv.c - $(CC) /Fo$(OBJ_D)\ocsp_srv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_srv.c - -$(OBJ_D)\ocsp_prn.obj: $(SRC_D)\crypto\ocsp\ocsp_prn.c - $(CC) /Fo$(OBJ_D)\ocsp_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_prn.c - -$(OBJ_D)\ocsp_vfy.obj: $(SRC_D)\crypto\ocsp\ocsp_vfy.c - $(CC) /Fo$(OBJ_D)\ocsp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_vfy.c - -$(OBJ_D)\ocsp_err.obj: $(SRC_D)\crypto\ocsp\ocsp_err.c - $(CC) /Fo$(OBJ_D)\ocsp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_err.c - -$(OBJ_D)\ui_err.obj: $(SRC_D)\crypto\ui\ui_err.c - $(CC) /Fo$(OBJ_D)\ui_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_err.c - -$(OBJ_D)\ui_lib.obj: $(SRC_D)\crypto\ui\ui_lib.c - $(CC) /Fo$(OBJ_D)\ui_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_lib.c - -$(OBJ_D)\ui_openssl.obj: $(SRC_D)\crypto\ui\ui_openssl.c - $(CC) /Fo$(OBJ_D)\ui_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_openssl.c - -$(OBJ_D)\ui_util.obj: $(SRC_D)\crypto\ui\ui_util.c - $(CC) /Fo$(OBJ_D)\ui_util.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_util.c - -$(OBJ_D)\ui_compat.obj: $(SRC_D)\crypto\ui\ui_compat.c - $(CC) /Fo$(OBJ_D)\ui_compat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_compat.c - -$(OBJ_D)\krb5_asn.obj: $(SRC_D)\crypto\krb5\krb5_asn.c - $(CC) /Fo$(OBJ_D)\krb5_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\krb5\krb5_asn.c - -$(OBJ_D)\pqueue.obj: $(SRC_D)\crypto\pqueue\pqueue.c - $(CC) /Fo$(OBJ_D)\pqueue.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pqueue\pqueue.c - -$(OBJ_D)\wp_dgst.obj: $(SRC_D)\crypto\whrlpool\wp_dgst.c - $(CC) /Fo$(OBJ_D)\wp_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_dgst.c - -$(TMP_D)\wp-x86_64.asm: crypto\whrlpool\asm\wp-x86_64.pl - set ASM=$(ASM) - $(PERL) crypto\whrlpool\asm\wp-x86_64.pl $@ - -$(OBJ_D)\wp-x86_64.obj: $(TMP_D)\wp-x86_64.asm - $(ASM) -o $@ $(TMP_D)\wp-x86_64.asm - -$(OBJ_D)\ts_err.obj: $(SRC_D)\crypto\ts\ts_err.c - $(CC) /Fo$(OBJ_D)\ts_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_err.c - -$(OBJ_D)\ts_req_utils.obj: $(SRC_D)\crypto\ts\ts_req_utils.c - $(CC) /Fo$(OBJ_D)\ts_req_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_utils.c - -$(OBJ_D)\ts_req_print.obj: $(SRC_D)\crypto\ts\ts_req_print.c - $(CC) /Fo$(OBJ_D)\ts_req_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_print.c - -$(OBJ_D)\ts_rsp_utils.obj: $(SRC_D)\crypto\ts\ts_rsp_utils.c - $(CC) /Fo$(OBJ_D)\ts_rsp_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_utils.c - -$(OBJ_D)\ts_rsp_print.obj: $(SRC_D)\crypto\ts\ts_rsp_print.c - $(CC) /Fo$(OBJ_D)\ts_rsp_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_print.c - -$(OBJ_D)\ts_rsp_sign.obj: $(SRC_D)\crypto\ts\ts_rsp_sign.c - $(CC) /Fo$(OBJ_D)\ts_rsp_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_sign.c - -$(OBJ_D)\ts_rsp_verify.obj: $(SRC_D)\crypto\ts\ts_rsp_verify.c - $(CC) /Fo$(OBJ_D)\ts_rsp_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_verify.c - -$(OBJ_D)\ts_verify_ctx.obj: $(SRC_D)\crypto\ts\ts_verify_ctx.c - $(CC) /Fo$(OBJ_D)\ts_verify_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_verify_ctx.c - -$(OBJ_D)\ts_lib.obj: $(SRC_D)\crypto\ts\ts_lib.c - $(CC) /Fo$(OBJ_D)\ts_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_lib.c - -$(OBJ_D)\ts_conf.obj: $(SRC_D)\crypto\ts\ts_conf.c - $(CC) /Fo$(OBJ_D)\ts_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_conf.c - -$(OBJ_D)\ts_asn1.obj: $(SRC_D)\crypto\ts\ts_asn1.c - $(CC) /Fo$(OBJ_D)\ts_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_asn1.c - -$(OBJ_D)\srp_lib.obj: $(SRC_D)\crypto\srp\srp_lib.c - $(CC) /Fo$(OBJ_D)\srp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_lib.c - -$(OBJ_D)\srp_vfy.obj: $(SRC_D)\crypto\srp\srp_vfy.c - $(CC) /Fo$(OBJ_D)\srp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_vfy.c - -$(OBJ_D)\e_4758cca.obj: $(SRC_D)\engines\e_4758cca.c - $(CC) /Fo$(OBJ_D)\e_4758cca.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_4758cca.c - -$(OBJ_D)\e_aep.obj: $(SRC_D)\engines\e_aep.c - $(CC) /Fo$(OBJ_D)\e_aep.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_aep.c - -$(OBJ_D)\e_atalla.obj: $(SRC_D)\engines\e_atalla.c - $(CC) /Fo$(OBJ_D)\e_atalla.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_atalla.c - -$(OBJ_D)\e_cswift.obj: $(SRC_D)\engines\e_cswift.c - $(CC) /Fo$(OBJ_D)\e_cswift.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_cswift.c - -$(OBJ_D)\e_gmp.obj: $(SRC_D)\engines\e_gmp.c - $(CC) /Fo$(OBJ_D)\e_gmp.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_gmp.c - -$(OBJ_D)\e_chil.obj: $(SRC_D)\engines\e_chil.c - $(CC) /Fo$(OBJ_D)\e_chil.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_chil.c - -$(OBJ_D)\e_nuron.obj: $(SRC_D)\engines\e_nuron.c - $(CC) /Fo$(OBJ_D)\e_nuron.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_nuron.c - -$(OBJ_D)\e_sureware.obj: $(SRC_D)\engines\e_sureware.c - $(CC) /Fo$(OBJ_D)\e_sureware.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_sureware.c - -$(OBJ_D)\e_ubsec.obj: $(SRC_D)\engines\e_ubsec.c - $(CC) /Fo$(OBJ_D)\e_ubsec.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_ubsec.c - -$(OBJ_D)\e_padlock.obj: $(SRC_D)\engines\e_padlock.c - $(CC) /Fo$(OBJ_D)\e_padlock.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_padlock.c - -$(OBJ_D)\e_capi.obj: $(SRC_D)\engines\e_capi.c - $(CC) /Fo$(OBJ_D)\e_capi.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_capi.c - -$(OBJ_D)\e_gost_err.obj: $(SRC_D)\engines\ccgost\e_gost_err.c - $(CC) /Fo$(OBJ_D)\e_gost_err.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\e_gost_err.c - -$(OBJ_D)\gost2001_keyx.obj: $(SRC_D)\engines\ccgost\gost2001_keyx.c - $(CC) /Fo$(OBJ_D)\gost2001_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001_keyx.c - -$(OBJ_D)\gost2001.obj: $(SRC_D)\engines\ccgost\gost2001.c - $(CC) /Fo$(OBJ_D)\gost2001.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001.c - -$(OBJ_D)\gost89.obj: $(SRC_D)\engines\ccgost\gost89.c - $(CC) /Fo$(OBJ_D)\gost89.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost89.c - -$(OBJ_D)\gost94_keyx.obj: $(SRC_D)\engines\ccgost\gost94_keyx.c - $(CC) /Fo$(OBJ_D)\gost94_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost94_keyx.c - -$(OBJ_D)\gost_ameth.obj: $(SRC_D)\engines\ccgost\gost_ameth.c - $(CC) /Fo$(OBJ_D)\gost_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ameth.c - -$(OBJ_D)\gost_asn1.obj: $(SRC_D)\engines\ccgost\gost_asn1.c - $(CC) /Fo$(OBJ_D)\gost_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_asn1.c - -$(OBJ_D)\gost_crypt.obj: $(SRC_D)\engines\ccgost\gost_crypt.c - $(CC) /Fo$(OBJ_D)\gost_crypt.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_crypt.c - -$(OBJ_D)\gost_ctl.obj: $(SRC_D)\engines\ccgost\gost_ctl.c - $(CC) /Fo$(OBJ_D)\gost_ctl.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ctl.c - -$(OBJ_D)\gost_eng.obj: $(SRC_D)\engines\ccgost\gost_eng.c - $(CC) /Fo$(OBJ_D)\gost_eng.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_eng.c - -$(OBJ_D)\gosthash.obj: $(SRC_D)\engines\ccgost\gosthash.c - $(CC) /Fo$(OBJ_D)\gosthash.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gosthash.c - -$(OBJ_D)\gost_keywrap.obj: $(SRC_D)\engines\ccgost\gost_keywrap.c - $(CC) /Fo$(OBJ_D)\gost_keywrap.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_keywrap.c - -$(OBJ_D)\gost_md.obj: $(SRC_D)\engines\ccgost\gost_md.c - $(CC) /Fo$(OBJ_D)\gost_md.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_md.c - -$(OBJ_D)\gost_params.obj: $(SRC_D)\engines\ccgost\gost_params.c - $(CC) /Fo$(OBJ_D)\gost_params.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_params.c - -$(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c - $(CC) /Fo$(OBJ_D)\gost_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_pmeth.c - -$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c - $(CC) /Fo$(OBJ_D)\gost_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c - -$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c - $(CC) /Fo$(OBJ_D)\s2_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_meth.c - -$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c - $(CC) /Fo$(OBJ_D)\s2_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_srvr.c - -$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c - $(CC) /Fo$(OBJ_D)\s2_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_clnt.c - -$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c - $(CC) /Fo$(OBJ_D)\s2_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_lib.c - -$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c - $(CC) /Fo$(OBJ_D)\s2_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_enc.c - -$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c - $(CC) /Fo$(OBJ_D)\s2_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_pkt.c - -$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c - $(CC) /Fo$(OBJ_D)\s3_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_meth.c - -$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c - $(CC) /Fo$(OBJ_D)\s3_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_srvr.c - -$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c - $(CC) /Fo$(OBJ_D)\s3_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_clnt.c - -$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c - $(CC) /Fo$(OBJ_D)\s3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_lib.c - -$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c - $(CC) /Fo$(OBJ_D)\s3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_enc.c - -$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c - $(CC) /Fo$(OBJ_D)\s3_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_pkt.c - -$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c - $(CC) /Fo$(OBJ_D)\s3_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_both.c - -$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c - $(CC) /Fo$(OBJ_D)\s3_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_cbc.c - -$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c - $(CC) /Fo$(OBJ_D)\s23_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_meth.c - -$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c - $(CC) /Fo$(OBJ_D)\s23_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_srvr.c - -$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c - $(CC) /Fo$(OBJ_D)\s23_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_clnt.c - -$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c - $(CC) /Fo$(OBJ_D)\s23_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_lib.c - -$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c - $(CC) /Fo$(OBJ_D)\s23_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_pkt.c - -$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c - $(CC) /Fo$(OBJ_D)\t1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_meth.c - -$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c - $(CC) /Fo$(OBJ_D)\t1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_srvr.c - -$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c - $(CC) /Fo$(OBJ_D)\t1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_clnt.c - -$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c - $(CC) /Fo$(OBJ_D)\t1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_lib.c - -$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c - $(CC) /Fo$(OBJ_D)\t1_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_enc.c - -$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c - $(CC) /Fo$(OBJ_D)\t1_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_ext.c - -$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c - $(CC) /Fo$(OBJ_D)\d1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_meth.c - -$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c - $(CC) /Fo$(OBJ_D)\d1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srvr.c - -$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c - $(CC) /Fo$(OBJ_D)\d1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_clnt.c - -$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c - $(CC) /Fo$(OBJ_D)\d1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_lib.c - -$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c - $(CC) /Fo$(OBJ_D)\d1_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_pkt.c - -$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c - $(CC) /Fo$(OBJ_D)\d1_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_both.c - -$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c - $(CC) /Fo$(OBJ_D)\d1_srtp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srtp.c - -$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c - $(CC) /Fo$(OBJ_D)\ssl_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_lib.c - -$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c - $(CC) /Fo$(OBJ_D)\ssl_err2.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err2.c - -$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c - $(CC) /Fo$(OBJ_D)\ssl_cert.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_cert.c - -$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c - $(CC) /Fo$(OBJ_D)\ssl_sess.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_sess.c - -$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c - $(CC) /Fo$(OBJ_D)\ssl_ciph.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_ciph.c - -$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c - $(CC) /Fo$(OBJ_D)\ssl_stat.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_stat.c - -$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c - $(CC) /Fo$(OBJ_D)\ssl_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_rsa.c - -$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c - $(CC) /Fo$(OBJ_D)\ssl_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_asn1.c - -$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c - $(CC) /Fo$(OBJ_D)\ssl_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_txt.c - -$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c - $(CC) /Fo$(OBJ_D)\ssl_algs.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_algs.c - -$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c - $(CC) /Fo$(OBJ_D)\ssl_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_conf.c - -$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c - $(CC) /Fo$(OBJ_D)\bio_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\bio_ssl.c - -$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c - $(CC) /Fo$(OBJ_D)\ssl_err.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err.c - -$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c - $(CC) /Fo$(OBJ_D)\kssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\kssl.c - -$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c - $(CC) /Fo$(OBJ_D)\t1_reneg.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_reneg.c - -$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c - $(CC) /Fo$(OBJ_D)\tls_srp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\tls_srp.c - -$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c - $(CC) /Fo$(OBJ_D)\t1_trce.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_trce.c - -$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c - $(CC) /Fo$(OBJ_D)\ssl_utst.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_utst.c - -$(OBJ_D)\$(CRYPTO).res: ms\version32.rc - $(RSC) /fo"$(OBJ_D)\$(CRYPTO).res" /d CRYPTO ms\version32.rc - -$(OBJ_D)\$(SSL).res: ms\version32.rc - $(RSC) /fo"$(OBJ_D)\$(SSL).res" /d SSL ms\version32.rc - -$(TEST_D)\constant_time_test.exe: $(OBJ_D)\constant_time_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\constant_time_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\constant_time_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\md4test.exe: $(OBJ_D)\md4test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md4test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\md4test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\md5test.exe: $(OBJ_D)\md5test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md5test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\md5test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\shatest.exe: $(OBJ_D)\shatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\shatest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\shatest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sha1test.exe: $(OBJ_D)\sha1test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha1test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sha1test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sha256t.exe: $(OBJ_D)\sha256t.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha256t.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sha256t.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sha512t.exe: $(OBJ_D)\sha512t.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha512t.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sha512t.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\hmactest.exe: $(OBJ_D)\hmactest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\hmactest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\hmactest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rmdtest.exe: $(OBJ_D)\rmdtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rmdtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rmdtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\destest.exe: $(OBJ_D)\destest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\destest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\destest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rc2test.exe: $(OBJ_D)\rc2test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc2test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rc2test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rc4test.exe: $(OBJ_D)\rc4test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc4test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rc4test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\bftest.exe: $(OBJ_D)\bftest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bftest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\bftest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\casttest.exe: $(OBJ_D)\casttest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\casttest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\casttest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\bntest.exe: $(OBJ_D)\bntest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bntest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\bntest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\exptest.exe: $(OBJ_D)\exptest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\exptest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\exptest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rsa_test.exe: $(OBJ_D)\rsa_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rsa_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rsa_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\dsatest.exe: $(OBJ_D)\dsatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dsatest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\dsatest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\dhtest.exe: $(OBJ_D)\dhtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dhtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\dhtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ectest.exe: $(OBJ_D)\ectest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ectest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ectest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ecdhtest.exe: $(OBJ_D)\ecdhtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdhtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ecdhtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ecdsatest.exe: $(OBJ_D)\ecdsatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdsatest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ecdsatest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\randtest.exe: $(OBJ_D)\randtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\randtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\randtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\evp_test.exe: $(OBJ_D)\evp_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\evp_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\evp_extra_test.exe: $(OBJ_D)\evp_extra_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_extra_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\evp_extra_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\verify_extra_test.exe: $(OBJ_D)\verify_extra_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\verify_extra_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\verify_extra_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\v3nametest.exe: $(OBJ_D)\v3nametest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\v3nametest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\v3nametest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\enginetest.exe: $(OBJ_D)\enginetest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\enginetest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\enginetest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\wp_test.exe: $(OBJ_D)\wp_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\wp_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\wp_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\srptest.exe: $(OBJ_D)\srptest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\srptest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\srptest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ssltest.exe: $(OBJ_D)\ssltest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ssltest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ssltest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\heartbeat_test.exe: $(OBJ_D)\heartbeat_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\heartbeat_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\heartbeat_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\clienthellotest.exe: $(OBJ_D)\clienthellotest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\clienthellotest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\clienthellotest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sslv2conftest.exe: $(OBJ_D)\sslv2conftest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sslv2conftest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sslv2conftest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\dtlstest.exe: $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dtlstest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\bad_dtls_test.exe: $(OBJ_D)\bad_dtls_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bad_dtls_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\bad_dtls_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\fatalerrtest.exe: $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\fatalerrtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\igetest.exe: $(OBJ_D)\igetest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\igetest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\igetest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(O_SSL): $(SSLOBJ) - $(MKLIB) /out:$(O_SSL) @<< - $(SSLOBJ) -<< - -$(O_CRYPTO): $(CRYPTOOBJ) - $(MKLIB) /out:$(O_CRYPTO) @<< - $(CRYPTOOBJ) -<< - -$(BIN_D)\$(E_EXE).exe: $(E_OBJ) $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(BIN_D)\$(E_EXE).exe @<< - $(APP_EX_OBJ) $(E_OBJ) $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - +# N.B. You MUST use -j on FreeBSD. +# This makefile has been automatically generated from the OpenSSL distribution. +# This single makefile will build the complete OpenSSL distribution and +# by default leave the 'interesting' output files in .\out and the stuff +# that needs deleting in .\tmp. +# The file was generated by running 'make makefile.one', which +# does a 'make files', which writes all the environment variables from all +# the makefiles to the file call MINFO. This file is used by +# util\mk1mf.pl to generate makefile.one. +# The 'makefile per directory' system suites me when developing this +# library and also so I can 'distribute' indervidual library sections. +# The one monster makefile better suits building in non-unix +# environments. + +INSTALLTOP=\usr\local\ssl +OPENSSLDIR=\usr\local\ssl + +# Set your compiler options +PLATFORM=VC-WIN64A +CC=cl +CFLAG= /MT /Ox -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE +APP_CFLAG= /Zi /Fd$(TMP_D)/app +LIB_CFLAG=/Zl /Zi /Fd$(TMP_D)/lib +SHLIB_CFLAG= +APP_EX_OBJ=setargv.obj +SHLIB_EX_OBJ= +# add extra libraries to this define, for solaris -lsocket -lnsl would +# be added +EX_LIBS=ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib + +# The OpenSSL directory +SRC_D=. + +LINK_CMD=link +LFLAGS=/nologo /subsystem:console /opt:ref /debug +RSC=rc + +# The output directory for everything interesting +OUT_D=out32 +# The output directory for all the temporary muck +TMP_D=tmp32 +# The output directory for the header files +INC_D=inc32 +INCO_D=inc32\openssl + +PERL=perl +CP=$(PERL) util/copy.pl +RM=del /Q +RANLIB= +MKDIR=$(PERL) util/mkdir-p.pl +MKLIB=lib /nologo +MLFLAGS= +ASM=nasm -f win64 -DNEAR -Ox -g + +# FIPS validated module and support file locations + +E_PREMAIN_DSO=fips_premain_dso + +FIPSDIR=\usr\local\ssl\fips-2.0 +BASEADDR=0xFB00000 +FIPSLIB_D=$(FIPSDIR)\lib +FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c +O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib +FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe +PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe +FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl + +###################################################### +# You should not need to touch anything below this point +###################################################### + +E_EXE=openssl +SSL=ssleay32 +CRYPTO=libeay32 + +# BIN_D - Binary output directory +# TEST_D - Binary test file output directory +# LIB_D - library output directory +# ENG_D - dynamic engine output directory +# Note: if you change these point to different directories then uncomment out +# the lines around the 'NB' comment below. +# +BIN_D=$(OUT_D) +TEST_D=$(OUT_D) +LIB_D=$(OUT_D) +ENG_D=$(OUT_D) + +# INCL_D - local library directory +# OBJ_D - temp object file directory +OBJ_D=$(TMP_D) +INCL_D=$(TMP_D) + +O_SSL= $(LIB_D)\$(SSL).lib +O_CRYPTO= $(LIB_D)\$(CRYPTO).lib +SO_SSL= $(SSL) +SO_CRYPTO= $(CRYPTO) +L_SSL= $(LIB_D)\$(SSL).lib +L_CRYPTO= $(LIB_D)\$(CRYPTO).lib + +L_LIBS= $(L_SSL) $(L_CRYPTO) + +###################################################### +# Don't touch anything below this point +###################################################### + +INC=-I$(INC_D) -I$(INCL_D) +APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) +LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) +SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) +LIBS_DEP=$(O_CRYPTO) $(O_SSL) + +############################################# +HEADER=$(INCL_D)\e_os.h \ + $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ + $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ + $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ + $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ + $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ + $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ + $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ + $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ + $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ + $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ + $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ + $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ + $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ + $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ + $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ + $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ + $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ + $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ + $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ + $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ + $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ + $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ + $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ + $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ + $(INCL_D)\ssltestlib.h + +EXHEADER=$(INCO_D)\e_os2.h \ + $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ + $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ + $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ + $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ + $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ + $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ + $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ + $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ + $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ + $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ + $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ + $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ + $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ + $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ + $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ + $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ + $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ + $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ + $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ + $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ + $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ + $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ + $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ + $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h + +T_OBJ=$(OBJ_D)\constant_time_test.obj \ + $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ + $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ + $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ + $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ + $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ + $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ + $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ + $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ + $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ + $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ + $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ + $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ + $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj + +E_OBJ=$(OBJ_D)\verify.obj \ + $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ + $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ + $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ + $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ + $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ + $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ + $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ + $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ + $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ + $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ + $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ + $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ + $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ + $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ + $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ + $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ + $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj + +CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ + $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ + $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ + $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ + $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ + $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86_64cpuid.obj \ + $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ + $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-x86_64.obj $(OBJ_D)\sha_dgst.obj \ + $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ + $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-x86_64.obj \ + $(OBJ_D)\sha256-x86_64.obj $(OBJ_D)\sha512-x86_64.obj $(OBJ_D)\sha1-mb-x86_64.obj \ + $(OBJ_D)\sha256-mb-x86_64.obj $(OBJ_D)\hmac.obj $(OBJ_D)\hm_ameth.obj \ + $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj $(OBJ_D)\cm_ameth.obj \ + $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj $(OBJ_D)\rmd_one.obj \ + $(OBJ_D)\set_key.obj $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj \ + $(OBJ_D)\ecb3_enc.obj $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj \ + $(OBJ_D)\cfb_enc.obj $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj \ + $(OBJ_D)\enc_writ.obj $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj \ + $(OBJ_D)\str2key.obj $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj \ + $(OBJ_D)\rand_key.obj $(OBJ_D)\des_enc.obj $(OBJ_D)\fcrypt_b.obj \ + $(OBJ_D)\fcrypt.obj $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj \ + $(OBJ_D)\cbc_cksm.obj $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj \ + $(OBJ_D)\des_old2.obj $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj \ + $(OBJ_D)\rc2_skey.obj $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj \ + $(OBJ_D)\rc2ofb64.obj $(OBJ_D)\rc4-x86_64.obj $(OBJ_D)\rc4-md5-x86_64.obj \ + $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj $(OBJ_D)\bf_ecb.obj \ + $(OBJ_D)\bf_enc.obj $(OBJ_D)\bf_cfb64.obj $(OBJ_D)\bf_ofb64.obj \ + $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj $(OBJ_D)\c_enc.obj \ + $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj $(OBJ_D)\aes_misc.obj \ + $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj $(OBJ_D)\aes_ofb.obj \ + $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj $(OBJ_D)\aes_wrap.obj \ + $(OBJ_D)\aes-x86_64.obj $(OBJ_D)\vpaes-x86_64.obj $(OBJ_D)\bsaes-x86_64.obj \ + $(OBJ_D)\aesni-x86_64.obj $(OBJ_D)\aesni-sha1-x86_64.obj $(OBJ_D)\aesni-sha256-x86_64.obj \ + $(OBJ_D)\aesni-mb-x86_64.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ + $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ + $(OBJ_D)\cmll-x86_64.obj $(OBJ_D)\cmll_misc.obj $(OBJ_D)\seed.obj \ + $(OBJ_D)\seed_ecb.obj $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj \ + $(OBJ_D)\seed_ofb.obj $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj \ + $(OBJ_D)\cts128.obj $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj \ + $(OBJ_D)\gcm128.obj $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj \ + $(OBJ_D)\wrap128.obj $(OBJ_D)\ghash-x86_64.obj $(OBJ_D)\aesni-gcm-x86_64.obj \ + $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj $(OBJ_D)\bn_exp.obj \ + $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj $(OBJ_D)\bn_mul.obj \ + $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj $(OBJ_D)\bn_rand.obj \ + $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj $(OBJ_D)\bn_blind.obj \ + $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj $(OBJ_D)\bn_gcd.obj \ + $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj $(OBJ_D)\bn_sqr.obj \ + $(OBJ_D)\bn_asm.obj $(OBJ_D)\x86_64-mont.obj $(OBJ_D)\x86_64-mont5.obj \ + $(OBJ_D)\x86_64-gf2m.obj $(OBJ_D)\rsaz_exp.obj $(OBJ_D)\rsaz-x86_64.obj \ + $(OBJ_D)\rsaz-avx2.obj $(OBJ_D)\bn_recp.obj $(OBJ_D)\bn_mont.obj \ + $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj $(OBJ_D)\bn_gf2m.obj \ + $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj $(OBJ_D)\bn_const.obj \ + $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj $(OBJ_D)\rsa_gen.obj \ + $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj $(OBJ_D)\rsa_saos.obj \ + $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj $(OBJ_D)\rsa_ssl.obj \ + $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj $(OBJ_D)\rsa_chk.obj \ + $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj $(OBJ_D)\rsa_x931.obj \ + $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj $(OBJ_D)\rsa_ameth.obj \ + $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj $(OBJ_D)\rsa_crpt.obj \ + $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj $(OBJ_D)\dsa_lib.obj \ + $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj $(OBJ_D)\dsa_sign.obj \ + $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj $(OBJ_D)\dsa_depr.obj \ + $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj $(OBJ_D)\dsa_prn.obj \ + $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj $(OBJ_D)\dso_err.obj \ + $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj $(OBJ_D)\dso_openssl.obj \ + $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj $(OBJ_D)\dso_beos.obj \ + $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj $(OBJ_D)\dh_key.obj \ + $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj $(OBJ_D)\dh_err.obj \ + $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj $(OBJ_D)\dh_pmeth.obj \ + $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj $(OBJ_D)\dh_kdf.obj \ + $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj $(OBJ_D)\ecp_mont.obj \ + $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj $(OBJ_D)\ec_mult.obj \ + $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj $(OBJ_D)\ec_check.obj \ + $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj $(OBJ_D)\ec_key.obj \ + $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj $(OBJ_D)\ec_ameth.obj \ + $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj $(OBJ_D)\ecp_nistp224.obj \ + $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj $(OBJ_D)\ecp_nistputil.obj \ + $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj $(OBJ_D)\ec_oct.obj \ + $(OBJ_D)\ecp_nistz256.obj $(OBJ_D)\ecp_nistz256-x86_64.obj $(OBJ_D)\ech_lib.obj \ + $(OBJ_D)\ech_ossl.obj $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj \ + $(OBJ_D)\ech_kdf.obj $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj \ + $(OBJ_D)\ecs_ossl.obj $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj \ + $(OBJ_D)\ecs_err.obj $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj \ + $(OBJ_D)\buf_err.obj $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj \ + $(OBJ_D)\bio_err.obj $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj \ + $(OBJ_D)\bss_fd.obj $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj \ + $(OBJ_D)\bss_conn.obj $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj \ + $(OBJ_D)\b_print.obj $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj \ + $(OBJ_D)\bss_acpt.obj $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj \ + $(OBJ_D)\bss_bio.obj $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj \ + $(OBJ_D)\lhash.obj $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj \ + $(OBJ_D)\randfile.obj $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj \ + $(OBJ_D)\rand_egd.obj $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj \ + $(OBJ_D)\rand_os2.obj $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj \ + $(OBJ_D)\err_all.obj $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj \ + $(OBJ_D)\obj_dat.obj $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj \ + $(OBJ_D)\obj_xref.obj $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj \ + $(OBJ_D)\evp_enc.obj $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj \ + $(OBJ_D)\evp_cnf.obj $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj \ + $(OBJ_D)\e_idea.obj $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj \ + $(OBJ_D)\e_rc4.obj $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj \ + $(OBJ_D)\e_seed.obj $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj \ + $(OBJ_D)\e_cast.obj $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj \ + $(OBJ_D)\m_md4.obj $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj \ + $(OBJ_D)\m_sha1.obj $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj \ + $(OBJ_D)\m_dss1.obj $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj \ + $(OBJ_D)\p_open.obj $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj \ + $(OBJ_D)\p_verify.obj $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj \ + $(OBJ_D)\p_dec.obj $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj \ + $(OBJ_D)\bio_enc.obj $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj \ + $(OBJ_D)\c_all.obj $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj \ + $(OBJ_D)\evp_lib.obj $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj \ + $(OBJ_D)\evp_pbe.obj $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj \ + $(OBJ_D)\e_old.obj $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj \ + $(OBJ_D)\pmeth_gn.obj $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj \ + $(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj \ + $(OBJ_D)\a_bitstr.obj $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj \ + $(OBJ_D)\a_time.obj $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj \ + $(OBJ_D)\a_print.obj $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj \ + $(OBJ_D)\a_dup.obj $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj \ + $(OBJ_D)\a_enum.obj $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj \ + $(OBJ_D)\a_digest.obj $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj \ + $(OBJ_D)\a_strex.obj $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj \ + $(OBJ_D)\x_pubkey.obj $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj \ + $(OBJ_D)\x_attrib.obj $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj \ + $(OBJ_D)\x_name.obj $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj \ + $(OBJ_D)\x_crl.obj $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj \ + $(OBJ_D)\nsseq.obj $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj \ + $(OBJ_D)\d2i_pr.obj $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj \ + $(OBJ_D)\t_req.obj $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj \ + $(OBJ_D)\t_crl.obj $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj \ + $(OBJ_D)\t_bitst.obj $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj \ + $(OBJ_D)\tasn_enc.obj $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj \ + $(OBJ_D)\tasn_typ.obj $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj \ + $(OBJ_D)\f_int.obj $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj \ + $(OBJ_D)\f_enum.obj $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj \ + $(OBJ_D)\x_exten.obj $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj \ + $(OBJ_D)\asn_mime.obj $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj \ + $(OBJ_D)\asn1_lib.obj $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj \ + $(OBJ_D)\a_strnid.obj $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj \ + $(OBJ_D)\p5_pbe.obj $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj \ + $(OBJ_D)\asn_moid.obj $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj \ + $(OBJ_D)\pem_info.obj $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj \ + $(OBJ_D)\pem_err.obj $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj \ + $(OBJ_D)\pem_oth.obj $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj \ + $(OBJ_D)\pvkfmt.obj $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj \ + $(OBJ_D)\x509_r2x.obj $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj \ + $(OBJ_D)\x509_req.obj $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj \ + $(OBJ_D)\x509_set.obj $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj \ + $(OBJ_D)\x509_err.obj $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj \ + $(OBJ_D)\x509_ext.obj $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj \ + $(OBJ_D)\x509_lu.obj $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj \ + $(OBJ_D)\x509_trs.obj $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj \ + $(OBJ_D)\x509_vpm.obj $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj \ + $(OBJ_D)\v3_conf.obj $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj \ + $(OBJ_D)\v3_lib.obj $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj \ + $(OBJ_D)\v3err.obj $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj \ + $(OBJ_D)\v3_skey.obj $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj \ + $(OBJ_D)\v3_int.obj $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj \ + $(OBJ_D)\v3_cpols.obj $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj \ + $(OBJ_D)\v3_info.obj $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj \ + $(OBJ_D)\v3_pmaps.obj $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj \ + $(OBJ_D)\v3_pcia.obj $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj \ + $(OBJ_D)\pcy_node.obj $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj \ + $(OBJ_D)\pcy_tree.obj $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj \ + $(OBJ_D)\v3_addr.obj $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj \ + $(OBJ_D)\cms_asn1.obj $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj \ + $(OBJ_D)\cms_smime.obj $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj \ + $(OBJ_D)\cms_dd.obj $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj \ + $(OBJ_D)\cms_enc.obj $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj \ + $(OBJ_D)\cms_kari.obj $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj \ + $(OBJ_D)\conf_api.obj $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj \ + $(OBJ_D)\conf_mall.obj $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj \ + $(OBJ_D)\pk7_asn1.obj $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj \ + $(OBJ_D)\pk7_doit.obj $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj \ + $(OBJ_D)\pk7_mime.obj $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj \ + $(OBJ_D)\p12_asn.obj $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj \ + $(OBJ_D)\p12_crt.obj $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj \ + $(OBJ_D)\p12_key.obj $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj \ + $(OBJ_D)\p12_utl.obj $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj \ + $(OBJ_D)\p12_p8d.obj $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj \ + $(OBJ_D)\comp_err.obj $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj \ + $(OBJ_D)\eng_err.obj $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj \ + $(OBJ_D)\eng_init.obj $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj \ + $(OBJ_D)\eng_pkey.obj $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj \ + $(OBJ_D)\tb_rsa.obj $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj \ + $(OBJ_D)\tb_dh.obj $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj \ + $(OBJ_D)\tb_store.obj $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj \ + $(OBJ_D)\tb_pkmeth.obj $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj \ + $(OBJ_D)\eng_cnf.obj $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj \ + $(OBJ_D)\eng_rdrand.obj $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj \ + $(OBJ_D)\ocsp_ht.obj $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj \ + $(OBJ_D)\ocsp_srv.obj $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj \ + $(OBJ_D)\ocsp_err.obj $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj \ + $(OBJ_D)\ui_openssl.obj $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj \ + $(OBJ_D)\krb5_asn.obj $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj \ + $(OBJ_D)\wp-x86_64.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ + $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ + $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ + $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ + $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\e_4758cca.obj \ + $(OBJ_D)\e_aep.obj $(OBJ_D)\e_atalla.obj $(OBJ_D)\e_cswift.obj \ + $(OBJ_D)\e_gmp.obj $(OBJ_D)\e_chil.obj $(OBJ_D)\e_nuron.obj \ + $(OBJ_D)\e_sureware.obj $(OBJ_D)\e_ubsec.obj $(OBJ_D)\e_padlock.obj \ + $(OBJ_D)\e_capi.obj $(OBJ_D)\e_gost_err.obj $(OBJ_D)\gost2001_keyx.obj \ + $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj $(OBJ_D)\gost94_keyx.obj \ + $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj $(OBJ_D)\gost_crypt.obj \ + $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj $(OBJ_D)\gosthash.obj \ + $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj $(OBJ_D)\gost_params.obj \ + $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj + +SSLOBJ=$(OBJ_D)\s2_meth.obj \ + $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ + $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ + $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ + $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ + $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ + $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ + $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ + $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ + $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ + $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ + $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ + $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ + $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ + $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ + $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ + $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ + $(OBJ_D)\ssl_utst.obj + +T_EXE=$(TEST_D)\constant_time_test.exe \ + $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ + $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ + $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ + $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ + $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ + $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ + $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ + $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ + $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ + $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ + $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ + $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ + $(TEST_D)\igetest.exe + +E_SHLIB= + +################################################################### +all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe + +banner: + @echo Building OpenSSL + +$(TMP_D): + $(MKDIR) "$(TMP_D)" +# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different +#$(BIN_D): +# $(MKDIR) $(BIN_D) +# +#$(TEST_D): +# $(MKDIR) $(TEST_D) + +$(LIB_D): + $(MKDIR) "$(LIB_D)" + +$(INCO_D): $(INC_D) + $(MKDIR) "$(INCO_D)" + +$(INC_D): + $(MKDIR) "$(INC_D)" + +# This needs to be invoked once, when the makefile is first constructed, or +# after cleaning. +init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers + $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" + +headers: $(HEADER) $(EXHEADER) + +lib: $(LIBS_DEP) $(E_SHLIB) + +exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe + +install: all + $(MKDIR) "$(INSTALLTOP)" + $(MKDIR) "$(INSTALLTOP)\bin" + $(MKDIR) "$(INSTALLTOP)\include" + $(MKDIR) "$(INSTALLTOP)\include\openssl" + $(MKDIR) "$(INSTALLTOP)\lib" + $(CP) "$(INCO_D)\*.[ch]" "$(INSTALLTOP)\include\openssl" + $(CP) "$(BIN_D)\$(E_EXE).exe" "$(INSTALLTOP)\bin" + $(MKDIR) "$(OPENSSLDIR)" + $(CP) apps\openssl.cnf "$(OPENSSLDIR)" + $(CP) "$(O_SSL)" "$(INSTALLTOP)\lib" + $(CP) "$(O_CRYPTO)" "$(INSTALLTOP)\lib" + + +clean: + $(RM) $(TMP_D)\*.* + +vclean: + $(RM) $(TMP_D)\*.* + $(RM) $(OUT_D)\*.* + +reallyclean: + $(RM) -rf $(TMP_D) + $(RM) -rf $(BIN_D) + $(RM) -rf $(TEST_D) + $(RM) -rf $(LIB_D) + $(RM) -rf $(INC_D) + +test: $(T_EXE) + cd $(BIN_D) + ..\ms\test + +$(INCL_D)\e_os.h: $(SRC_D)\.\e_os.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os.h" "$(INCL_D)\e_os.h" + +$(INCL_D)\cryptlib.h: $(SRC_D)\crypto\cryptlib.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cryptlib.h" "$(INCL_D)\cryptlib.h" + +$(INCL_D)\buildinf.h: $(SRC_D)\crypto\buildinf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buildinf.h" "$(INCL_D)\buildinf.h" + +$(INCL_D)\md32_common.h: $(SRC_D)\crypto\md32_common.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md32_common.h" "$(INCL_D)\md32_common.h" + +$(INCL_D)\o_time.h: $(SRC_D)\crypto\o_time.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_time.h" "$(INCL_D)\o_time.h" + +$(INCL_D)\o_str.h: $(SRC_D)\crypto\o_str.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_str.h" "$(INCL_D)\o_str.h" + +$(INCL_D)\o_dir.h: $(SRC_D)\crypto\o_dir.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_dir.h" "$(INCL_D)\o_dir.h" + +$(INCL_D)\constant_time_locl.h: $(SRC_D)\crypto\constant_time_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\constant_time_locl.h" "$(INCL_D)\constant_time_locl.h" + +$(INCL_D)\bn_int.h: $(SRC_D)\crypto\bn_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn_int.h" "$(INCL_D)\bn_int.h" + +$(INCL_D)\md4_locl.h: $(SRC_D)\crypto\md4\md4_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4_locl.h" "$(INCL_D)\md4_locl.h" + +$(INCL_D)\md5_locl.h: $(SRC_D)\crypto\md5\md5_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5_locl.h" "$(INCL_D)\md5_locl.h" + +$(INCL_D)\sha_locl.h: $(SRC_D)\crypto\sha\sha_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha_locl.h" "$(INCL_D)\sha_locl.h" + +$(INCL_D)\rmd_locl.h: $(SRC_D)\crypto\ripemd\rmd_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmd_locl.h" "$(INCL_D)\rmd_locl.h" + +$(INCL_D)\rmdconst.h: $(SRC_D)\crypto\ripemd\rmdconst.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmdconst.h" "$(INCL_D)\rmdconst.h" + +$(INCL_D)\des_locl.h: $(SRC_D)\crypto\des\des_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_locl.h" "$(INCL_D)\des_locl.h" + +$(INCL_D)\rpc_des.h: $(SRC_D)\crypto\des\rpc_des.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\rpc_des.h" "$(INCL_D)\rpc_des.h" + +$(INCL_D)\spr.h: $(SRC_D)\crypto\des\spr.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\spr.h" "$(INCL_D)\spr.h" + +$(INCL_D)\des_ver.h: $(SRC_D)\crypto\des\des_ver.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_ver.h" "$(INCL_D)\des_ver.h" + +$(INCL_D)\rc2_locl.h: $(SRC_D)\crypto\rc2\rc2_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2_locl.h" "$(INCL_D)\rc2_locl.h" + +$(INCL_D)\rc4_locl.h: $(SRC_D)\crypto\rc4\rc4_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4_locl.h" "$(INCL_D)\rc4_locl.h" + +$(INCL_D)\bf_pi.h: $(SRC_D)\crypto\bf\bf_pi.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_pi.h" "$(INCL_D)\bf_pi.h" + +$(INCL_D)\bf_locl.h: $(SRC_D)\crypto\bf\bf_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_locl.h" "$(INCL_D)\bf_locl.h" + +$(INCL_D)\cast_s.h: $(SRC_D)\crypto\cast\cast_s.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_s.h" "$(INCL_D)\cast_s.h" + +$(INCL_D)\cast_lcl.h: $(SRC_D)\crypto\cast\cast_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_lcl.h" "$(INCL_D)\cast_lcl.h" + +$(INCL_D)\aes_locl.h: $(SRC_D)\crypto\aes\aes_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes_locl.h" "$(INCL_D)\aes_locl.h" + +$(INCL_D)\cmll_locl.h: $(SRC_D)\crypto\camellia\cmll_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\cmll_locl.h" "$(INCL_D)\cmll_locl.h" + +$(INCL_D)\seed_locl.h: $(SRC_D)\crypto\seed\seed_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed_locl.h" "$(INCL_D)\seed_locl.h" + +$(INCL_D)\modes_lcl.h: $(SRC_D)\crypto\modes\modes_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes_lcl.h" "$(INCL_D)\modes_lcl.h" + +$(INCL_D)\bn_lcl.h: $(SRC_D)\crypto\bn\bn_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_lcl.h" "$(INCL_D)\bn_lcl.h" + +$(INCL_D)\bn_prime.h: $(SRC_D)\crypto\bn\bn_prime.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_prime.h" "$(INCL_D)\bn_prime.h" + +$(INCL_D)\dsa_locl.h: $(SRC_D)\crypto\dsa\dsa_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa_locl.h" "$(INCL_D)\dsa_locl.h" + +$(INCL_D)\ec_lcl.h: $(SRC_D)\crypto\ec\ec_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec_lcl.h" "$(INCL_D)\ec_lcl.h" + +$(INCL_D)\ech_locl.h: $(SRC_D)\crypto\ecdh\ech_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ech_locl.h" "$(INCL_D)\ech_locl.h" + +$(INCL_D)\ecs_locl.h: $(SRC_D)\crypto\ecdsa\ecs_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecs_locl.h" "$(INCL_D)\ecs_locl.h" + +$(INCL_D)\bio_lcl.h: $(SRC_D)\crypto\bio\bio_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio_lcl.h" "$(INCL_D)\bio_lcl.h" + +$(INCL_D)\obj_dat.h: $(SRC_D)\crypto\objects\obj_dat.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_dat.h" "$(INCL_D)\obj_dat.h" + +$(INCL_D)\obj_xref.h: $(SRC_D)\crypto\objects\obj_xref.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_xref.h" "$(INCL_D)\obj_xref.h" + +$(INCL_D)\evp_locl.h: $(SRC_D)\crypto\evp\evp_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp_locl.h" "$(INCL_D)\evp_locl.h" + +$(INCL_D)\asn1_locl.h: $(SRC_D)\crypto\asn1\asn1_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_locl.h" "$(INCL_D)\asn1_locl.h" + +$(INCL_D)\vpm_int.h: $(SRC_D)\crypto\x509\vpm_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\vpm_int.h" "$(INCL_D)\vpm_int.h" + +$(INCL_D)\pcy_int.h: $(SRC_D)\crypto\x509v3\pcy_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\pcy_int.h" "$(INCL_D)\pcy_int.h" + +$(INCL_D)\cms_lcl.h: $(SRC_D)\crypto\cms\cms_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms_lcl.h" "$(INCL_D)\cms_lcl.h" + +$(INCL_D)\conf_def.h: $(SRC_D)\crypto\conf\conf_def.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_def.h" "$(INCL_D)\conf_def.h" + +$(INCL_D)\ui_locl.h: $(SRC_D)\crypto\ui\ui_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_locl.h" "$(INCL_D)\ui_locl.h" + +$(INCL_D)\wp_locl.h: $(SRC_D)\crypto\whrlpool\wp_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\wp_locl.h" "$(INCL_D)\wp_locl.h" + +$(INCL_D)\ssl_locl.h: $(SRC_D)\ssl\ssl_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl_locl.h" "$(INCL_D)\ssl_locl.h" + +$(INCL_D)\kssl_lcl.h: $(SRC_D)\ssl\kssl_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl_lcl.h" "$(INCL_D)\kssl_lcl.h" + +$(INCL_D)\apps.h: $(SRC_D)\apps\apps.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\apps.h" "$(INCL_D)\apps.h" + +$(INCL_D)\progs.h: $(SRC_D)\apps\progs.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\progs.h" "$(INCL_D)\progs.h" + +$(INCL_D)\s_apps.h: $(SRC_D)\apps\s_apps.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\s_apps.h" "$(INCL_D)\s_apps.h" + +$(INCL_D)\testdsa.h: $(SRC_D)\apps\testdsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testdsa.h" "$(INCL_D)\testdsa.h" + +$(INCL_D)\testrsa.h: $(SRC_D)\apps\testrsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testrsa.h" "$(INCL_D)\testrsa.h" + +$(INCL_D)\e_4758cca_err.c: $(SRC_D)\engines\e_4758cca_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.c" "$(INCL_D)\e_4758cca_err.c" + +$(INCL_D)\e_4758cca_err.h: $(SRC_D)\engines\e_4758cca_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.h" "$(INCL_D)\e_4758cca_err.h" + +$(INCL_D)\e_aep_err.c: $(SRC_D)\engines\e_aep_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.c" "$(INCL_D)\e_aep_err.c" + +$(INCL_D)\e_aep_err.h: $(SRC_D)\engines\e_aep_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.h" "$(INCL_D)\e_aep_err.h" + +$(INCL_D)\e_atalla_err.c: $(SRC_D)\engines\e_atalla_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.c" "$(INCL_D)\e_atalla_err.c" + +$(INCL_D)\e_atalla_err.h: $(SRC_D)\engines\e_atalla_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.h" "$(INCL_D)\e_atalla_err.h" + +$(INCL_D)\e_cswift_err.c: $(SRC_D)\engines\e_cswift_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.c" "$(INCL_D)\e_cswift_err.c" + +$(INCL_D)\e_cswift_err.h: $(SRC_D)\engines\e_cswift_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.h" "$(INCL_D)\e_cswift_err.h" + +$(INCL_D)\e_gmp_err.c: $(SRC_D)\engines\e_gmp_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.c" "$(INCL_D)\e_gmp_err.c" + +$(INCL_D)\e_gmp_err.h: $(SRC_D)\engines\e_gmp_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.h" "$(INCL_D)\e_gmp_err.h" + +$(INCL_D)\e_chil_err.c: $(SRC_D)\engines\e_chil_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.c" "$(INCL_D)\e_chil_err.c" + +$(INCL_D)\e_chil_err.h: $(SRC_D)\engines\e_chil_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.h" "$(INCL_D)\e_chil_err.h" + +$(INCL_D)\e_nuron_err.c: $(SRC_D)\engines\e_nuron_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.c" "$(INCL_D)\e_nuron_err.c" + +$(INCL_D)\e_nuron_err.h: $(SRC_D)\engines\e_nuron_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.h" "$(INCL_D)\e_nuron_err.h" + +$(INCL_D)\e_sureware_err.c: $(SRC_D)\engines\e_sureware_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.c" "$(INCL_D)\e_sureware_err.c" + +$(INCL_D)\e_sureware_err.h: $(SRC_D)\engines\e_sureware_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.h" "$(INCL_D)\e_sureware_err.h" + +$(INCL_D)\e_ubsec_err.c: $(SRC_D)\engines\e_ubsec_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.c" "$(INCL_D)\e_ubsec_err.c" + +$(INCL_D)\e_ubsec_err.h: $(SRC_D)\engines\e_ubsec_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.h" "$(INCL_D)\e_ubsec_err.h" + +$(INCL_D)\e_capi_err.c: $(SRC_D)\engines\e_capi_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.c" "$(INCL_D)\e_capi_err.c" + +$(INCL_D)\e_capi_err.h: $(SRC_D)\engines\e_capi_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.h" "$(INCL_D)\e_capi_err.h" + +$(INCL_D)\testutil.h: $(SRC_D)\test\testutil.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\testutil.h" "$(INCL_D)\testutil.h" + +$(INCL_D)\ssltestlib.h: $(SRC_D)\test\ssltestlib.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\ssltestlib.h" "$(INCL_D)\ssltestlib.h" + +$(INCO_D)\e_os2.h: $(SRC_D)\.\e_os2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os2.h" "$(INCO_D)\e_os2.h" + +$(INCO_D)\crypto.h: $(SRC_D)\crypto\crypto.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\crypto.h" "$(INCO_D)\crypto.h" + +$(INCO_D)\opensslv.h: $(SRC_D)\crypto\opensslv.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslv.h" "$(INCO_D)\opensslv.h" + +$(INCO_D)\opensslconf.h: $(SRC_D)\crypto\opensslconf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslconf.h" "$(INCO_D)\opensslconf.h" + +$(INCO_D)\ebcdic.h: $(SRC_D)\crypto\ebcdic.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ebcdic.h" "$(INCO_D)\ebcdic.h" + +$(INCO_D)\symhacks.h: $(SRC_D)\crypto\symhacks.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\symhacks.h" "$(INCO_D)\symhacks.h" + +$(INCO_D)\ossl_typ.h: $(SRC_D)\crypto\ossl_typ.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ossl_typ.h" "$(INCO_D)\ossl_typ.h" + +$(INCO_D)\md4.h: $(SRC_D)\crypto\md4\md4.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4.h" "$(INCO_D)\md4.h" + +$(INCO_D)\md5.h: $(SRC_D)\crypto\md5\md5.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5.h" "$(INCO_D)\md5.h" + +$(INCO_D)\sha.h: $(SRC_D)\crypto\sha\sha.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha.h" "$(INCO_D)\sha.h" + +$(INCO_D)\hmac.h: $(SRC_D)\crypto\hmac\hmac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\hmac\hmac.h" "$(INCO_D)\hmac.h" + +$(INCO_D)\cmac.h: $(SRC_D)\crypto\cmac\cmac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cmac\cmac.h" "$(INCO_D)\cmac.h" + +$(INCO_D)\ripemd.h: $(SRC_D)\crypto\ripemd\ripemd.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\ripemd.h" "$(INCO_D)\ripemd.h" + +$(INCO_D)\des.h: $(SRC_D)\crypto\des\des.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des.h" "$(INCO_D)\des.h" + +$(INCO_D)\des_old.h: $(SRC_D)\crypto\des\des_old.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_old.h" "$(INCO_D)\des_old.h" + +$(INCO_D)\rc2.h: $(SRC_D)\crypto\rc2\rc2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2.h" "$(INCO_D)\rc2.h" + +$(INCO_D)\rc4.h: $(SRC_D)\crypto\rc4\rc4.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4.h" "$(INCO_D)\rc4.h" + +$(INCO_D)\blowfish.h: $(SRC_D)\crypto\bf\blowfish.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\blowfish.h" "$(INCO_D)\blowfish.h" + +$(INCO_D)\cast.h: $(SRC_D)\crypto\cast\cast.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast.h" "$(INCO_D)\cast.h" + +$(INCO_D)\aes.h: $(SRC_D)\crypto\aes\aes.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes.h" "$(INCO_D)\aes.h" + +$(INCO_D)\camellia.h: $(SRC_D)\crypto\camellia\camellia.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\camellia.h" "$(INCO_D)\camellia.h" + +$(INCO_D)\seed.h: $(SRC_D)\crypto\seed\seed.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed.h" "$(INCO_D)\seed.h" + +$(INCO_D)\modes.h: $(SRC_D)\crypto\modes\modes.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes.h" "$(INCO_D)\modes.h" + +$(INCO_D)\bn.h: $(SRC_D)\crypto\bn\bn.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn.h" "$(INCO_D)\bn.h" + +$(INCO_D)\rsa.h: $(SRC_D)\crypto\rsa\rsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rsa\rsa.h" "$(INCO_D)\rsa.h" + +$(INCO_D)\dsa.h: $(SRC_D)\crypto\dsa\dsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa.h" "$(INCO_D)\dsa.h" + +$(INCO_D)\dso.h: $(SRC_D)\crypto\dso\dso.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dso\dso.h" "$(INCO_D)\dso.h" + +$(INCO_D)\dh.h: $(SRC_D)\crypto\dh\dh.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dh\dh.h" "$(INCO_D)\dh.h" + +$(INCO_D)\ec.h: $(SRC_D)\crypto\ec\ec.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec.h" "$(INCO_D)\ec.h" + +$(INCO_D)\ecdh.h: $(SRC_D)\crypto\ecdh\ecdh.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ecdh.h" "$(INCO_D)\ecdh.h" + +$(INCO_D)\ecdsa.h: $(SRC_D)\crypto\ecdsa\ecdsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecdsa.h" "$(INCO_D)\ecdsa.h" + +$(INCO_D)\buffer.h: $(SRC_D)\crypto\buffer\buffer.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buffer\buffer.h" "$(INCO_D)\buffer.h" + +$(INCO_D)\bio.h: $(SRC_D)\crypto\bio\bio.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio.h" "$(INCO_D)\bio.h" + +$(INCO_D)\stack.h: $(SRC_D)\crypto\stack\stack.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\stack.h" "$(INCO_D)\stack.h" + +$(INCO_D)\safestack.h: $(SRC_D)\crypto\stack\safestack.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\safestack.h" "$(INCO_D)\safestack.h" + +$(INCO_D)\lhash.h: $(SRC_D)\crypto\lhash\lhash.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\lhash\lhash.h" "$(INCO_D)\lhash.h" + +$(INCO_D)\rand.h: $(SRC_D)\crypto\rand\rand.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rand\rand.h" "$(INCO_D)\rand.h" + +$(INCO_D)\err.h: $(SRC_D)\crypto\err\err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\err\err.h" "$(INCO_D)\err.h" + +$(INCO_D)\objects.h: $(SRC_D)\crypto\objects\objects.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\objects.h" "$(INCO_D)\objects.h" + +$(INCO_D)\obj_mac.h: $(SRC_D)\crypto\objects\obj_mac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_mac.h" "$(INCO_D)\obj_mac.h" + +$(INCO_D)\evp.h: $(SRC_D)\crypto\evp\evp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp.h" "$(INCO_D)\evp.h" + +$(INCO_D)\asn1.h: $(SRC_D)\crypto\asn1\asn1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1.h" "$(INCO_D)\asn1.h" + +$(INCO_D)\asn1_mac.h: $(SRC_D)\crypto\asn1\asn1_mac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_mac.h" "$(INCO_D)\asn1_mac.h" + +$(INCO_D)\asn1t.h: $(SRC_D)\crypto\asn1\asn1t.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1t.h" "$(INCO_D)\asn1t.h" + +$(INCO_D)\pem.h: $(SRC_D)\crypto\pem\pem.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem.h" "$(INCO_D)\pem.h" + +$(INCO_D)\pem2.h: $(SRC_D)\crypto\pem\pem2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem2.h" "$(INCO_D)\pem2.h" + +$(INCO_D)\x509.h: $(SRC_D)\crypto\x509\x509.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509.h" "$(INCO_D)\x509.h" + +$(INCO_D)\x509_vfy.h: $(SRC_D)\crypto\x509\x509_vfy.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509_vfy.h" "$(INCO_D)\x509_vfy.h" + +$(INCO_D)\x509v3.h: $(SRC_D)\crypto\x509v3\x509v3.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\x509v3.h" "$(INCO_D)\x509v3.h" + +$(INCO_D)\cms.h: $(SRC_D)\crypto\cms\cms.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms.h" "$(INCO_D)\cms.h" + +$(INCO_D)\conf.h: $(SRC_D)\crypto\conf\conf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf.h" "$(INCO_D)\conf.h" + +$(INCO_D)\conf_api.h: $(SRC_D)\crypto\conf\conf_api.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_api.h" "$(INCO_D)\conf_api.h" + +$(INCO_D)\txt_db.h: $(SRC_D)\crypto\txt_db\txt_db.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\txt_db\txt_db.h" "$(INCO_D)\txt_db.h" + +$(INCO_D)\pkcs7.h: $(SRC_D)\crypto\pkcs7\pkcs7.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs7\pkcs7.h" "$(INCO_D)\pkcs7.h" + +$(INCO_D)\pkcs12.h: $(SRC_D)\crypto\pkcs12\pkcs12.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs12\pkcs12.h" "$(INCO_D)\pkcs12.h" + +$(INCO_D)\comp.h: $(SRC_D)\crypto\comp\comp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\comp\comp.h" "$(INCO_D)\comp.h" + +$(INCO_D)\engine.h: $(SRC_D)\crypto\engine\engine.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\engine\engine.h" "$(INCO_D)\engine.h" + +$(INCO_D)\ocsp.h: $(SRC_D)\crypto\ocsp\ocsp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ocsp\ocsp.h" "$(INCO_D)\ocsp.h" + +$(INCO_D)\ui.h: $(SRC_D)\crypto\ui\ui.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui.h" "$(INCO_D)\ui.h" + +$(INCO_D)\ui_compat.h: $(SRC_D)\crypto\ui\ui_compat.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_compat.h" "$(INCO_D)\ui_compat.h" + +$(INCO_D)\krb5_asn.h: $(SRC_D)\crypto\krb5\krb5_asn.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\krb5\krb5_asn.h" "$(INCO_D)\krb5_asn.h" + +$(INCO_D)\pqueue.h: $(SRC_D)\crypto\pqueue\pqueue.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pqueue\pqueue.h" "$(INCO_D)\pqueue.h" + +$(INCO_D)\whrlpool.h: $(SRC_D)\crypto\whrlpool\whrlpool.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\whrlpool.h" "$(INCO_D)\whrlpool.h" + +$(INCO_D)\ts.h: $(SRC_D)\crypto\ts\ts.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ts\ts.h" "$(INCO_D)\ts.h" + +$(INCO_D)\srp.h: $(SRC_D)\crypto\srp\srp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\srp\srp.h" "$(INCO_D)\srp.h" + +$(INCO_D)\ssl.h: $(SRC_D)\ssl\ssl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl.h" "$(INCO_D)\ssl.h" + +$(INCO_D)\ssl2.h: $(SRC_D)\ssl\ssl2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl2.h" "$(INCO_D)\ssl2.h" + +$(INCO_D)\ssl3.h: $(SRC_D)\ssl\ssl3.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl3.h" "$(INCO_D)\ssl3.h" + +$(INCO_D)\ssl23.h: $(SRC_D)\ssl\ssl23.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl23.h" "$(INCO_D)\ssl23.h" + +$(INCO_D)\tls1.h: $(SRC_D)\ssl\tls1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\tls1.h" "$(INCO_D)\tls1.h" + +$(INCO_D)\dtls1.h: $(SRC_D)\ssl\dtls1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\dtls1.h" "$(INCO_D)\dtls1.h" + +$(INCO_D)\kssl.h: $(SRC_D)\ssl\kssl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl.h" "$(INCO_D)\kssl.h" + +$(INCO_D)\srtp.h: $(SRC_D)\ssl\srtp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\srtp.h" "$(INCO_D)\srtp.h" + +$(OBJ_D)\constant_time_test.obj: $(SRC_D)\crypto\constant_time_test.c + $(CC) /Fo$(OBJ_D)\constant_time_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\constant_time_test.c + +$(OBJ_D)\md4test.obj: $(SRC_D)\crypto\md4\md4test.c + $(CC) /Fo$(OBJ_D)\md4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md4\md4test.c + +$(OBJ_D)\md5test.obj: $(SRC_D)\crypto\md5\md5test.c + $(CC) /Fo$(OBJ_D)\md5test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md5\md5test.c + +$(OBJ_D)\shatest.obj: $(SRC_D)\crypto\sha\shatest.c + $(CC) /Fo$(OBJ_D)\shatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\shatest.c + +$(OBJ_D)\sha1test.obj: $(SRC_D)\crypto\sha\sha1test.c + $(CC) /Fo$(OBJ_D)\sha1test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha1test.c + +$(OBJ_D)\sha256t.obj: $(SRC_D)\crypto\sha\sha256t.c + $(CC) /Fo$(OBJ_D)\sha256t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha256t.c + +$(OBJ_D)\sha512t.obj: $(SRC_D)\crypto\sha\sha512t.c + $(CC) /Fo$(OBJ_D)\sha512t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha512t.c + +$(OBJ_D)\hmactest.obj: $(SRC_D)\crypto\hmac\hmactest.c + $(CC) /Fo$(OBJ_D)\hmactest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\hmac\hmactest.c + +$(OBJ_D)\rmdtest.obj: $(SRC_D)\crypto\ripemd\rmdtest.c + $(CC) /Fo$(OBJ_D)\rmdtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmdtest.c + +$(OBJ_D)\destest.obj: $(SRC_D)\crypto\des\destest.c + $(CC) /Fo$(OBJ_D)\destest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\des\destest.c + +$(OBJ_D)\rc2test.obj: $(SRC_D)\crypto\rc2\rc2test.c + $(CC) /Fo$(OBJ_D)\rc2test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2test.c + +$(OBJ_D)\rc4test.obj: $(SRC_D)\crypto\rc4\rc4test.c + $(CC) /Fo$(OBJ_D)\rc4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4test.c + +$(OBJ_D)\bftest.obj: $(SRC_D)\crypto\bf\bftest.c + $(CC) /Fo$(OBJ_D)\bftest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bf\bftest.c + +$(OBJ_D)\casttest.obj: $(SRC_D)\crypto\cast\casttest.c + $(CC) /Fo$(OBJ_D)\casttest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\cast\casttest.c + +$(OBJ_D)\bntest.obj: $(SRC_D)\crypto\bn\bntest.c + $(CC) /Fo$(OBJ_D)\bntest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\bntest.c + +$(OBJ_D)\exptest.obj: $(SRC_D)\crypto\bn\exptest.c + $(CC) /Fo$(OBJ_D)\exptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\exptest.c + +$(OBJ_D)\rsa_test.obj: $(SRC_D)\crypto\rsa\rsa_test.c + $(CC) /Fo$(OBJ_D)\rsa_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_test.c + +$(OBJ_D)\dsatest.obj: $(SRC_D)\crypto\dsa\dsatest.c + $(CC) /Fo$(OBJ_D)\dsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dsa\dsatest.c + +$(OBJ_D)\dhtest.obj: $(SRC_D)\crypto\dh\dhtest.c + $(CC) /Fo$(OBJ_D)\dhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dh\dhtest.c + +$(OBJ_D)\ectest.obj: $(SRC_D)\crypto\ec\ectest.c + $(CC) /Fo$(OBJ_D)\ectest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ec\ectest.c + +$(OBJ_D)\ecdhtest.obj: $(SRC_D)\crypto\ecdh\ecdhtest.c + $(CC) /Fo$(OBJ_D)\ecdhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdh\ecdhtest.c + +$(OBJ_D)\ecdsatest.obj: $(SRC_D)\crypto\ecdsa\ecdsatest.c + $(CC) /Fo$(OBJ_D)\ecdsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecdsatest.c + +$(OBJ_D)\randtest.obj: $(SRC_D)\crypto\rand\randtest.c + $(CC) /Fo$(OBJ_D)\randtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rand\randtest.c + +$(OBJ_D)\evp_test.obj: $(SRC_D)\crypto\evp\evp_test.c + $(CC) /Fo$(OBJ_D)\evp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_test.c + +$(OBJ_D)\evp_extra_test.obj: $(SRC_D)\crypto\evp\evp_extra_test.c + $(CC) /Fo$(OBJ_D)\evp_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_extra_test.c + +$(OBJ_D)\verify_extra_test.obj: $(SRC_D)\crypto\x509\verify_extra_test.c + $(CC) /Fo$(OBJ_D)\verify_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509\verify_extra_test.c + +$(OBJ_D)\v3nametest.obj: $(SRC_D)\crypto\x509v3\v3nametest.c + $(CC) /Fo$(OBJ_D)\v3nametest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3nametest.c + +$(OBJ_D)\enginetest.obj: $(SRC_D)\crypto\engine\enginetest.c + $(CC) /Fo$(OBJ_D)\enginetest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\engine\enginetest.c + +$(OBJ_D)\wp_test.obj: $(SRC_D)\crypto\whrlpool\wp_test.c + $(CC) /Fo$(OBJ_D)\wp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_test.c + +$(OBJ_D)\srptest.obj: $(SRC_D)\crypto\srp\srptest.c + $(CC) /Fo$(OBJ_D)\srptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\srp\srptest.c + +$(OBJ_D)\ssltest.obj: $(SRC_D)\ssl\ssltest.c + $(CC) /Fo$(OBJ_D)\ssltest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\ssltest.c + +$(OBJ_D)\heartbeat_test.obj: $(SRC_D)\ssl\heartbeat_test.c + $(CC) /Fo$(OBJ_D)\heartbeat_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\heartbeat_test.c + +$(OBJ_D)\clienthellotest.obj: $(SRC_D)\ssl\clienthellotest.c + $(CC) /Fo$(OBJ_D)\clienthellotest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\clienthellotest.c + +$(OBJ_D)\sslv2conftest.obj: $(SRC_D)\ssl\sslv2conftest.c + $(CC) /Fo$(OBJ_D)\sslv2conftest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\sslv2conftest.c + +$(OBJ_D)\dtlstest.obj: $(SRC_D)\ssl\dtlstest.c + $(CC) /Fo$(OBJ_D)\dtlstest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\dtlstest.c + +$(OBJ_D)\bad_dtls_test.obj: $(SRC_D)\ssl\bad_dtls_test.c + $(CC) /Fo$(OBJ_D)\bad_dtls_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\bad_dtls_test.c + +$(OBJ_D)\fatalerrtest.obj: $(SRC_D)\ssl\fatalerrtest.c + $(CC) /Fo$(OBJ_D)\fatalerrtest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\fatalerrtest.c + +$(OBJ_D)\igetest.obj: $(SRC_D)\test\igetest.c + $(CC) /Fo$(OBJ_D)\igetest.obj $(APP_CFLAGS) -c $(SRC_D)\test\igetest.c + +$(OBJ_D)\ssltestlib.obj: $(SRC_D)\test\ssltestlib.c + $(CC) /Fo$(OBJ_D)\ssltestlib.obj $(APP_CFLAGS) -c $(SRC_D)\test\ssltestlib.c + +$(OBJ_D)\verify.obj: $(SRC_D)\apps\verify.c + $(CC) /Fo$(OBJ_D)\verify.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\verify.c + +$(OBJ_D)\asn1pars.obj: $(SRC_D)\apps\asn1pars.c + $(CC) /Fo$(OBJ_D)\asn1pars.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\asn1pars.c + +$(OBJ_D)\req.obj: $(SRC_D)\apps\req.c + $(CC) /Fo$(OBJ_D)\req.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\req.c + +$(OBJ_D)\dgst.obj: $(SRC_D)\apps\dgst.c + $(CC) /Fo$(OBJ_D)\dgst.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dgst.c + +$(OBJ_D)\dh.obj: $(SRC_D)\apps\dh.c + $(CC) /Fo$(OBJ_D)\dh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dh.c + +$(OBJ_D)\dhparam.obj: $(SRC_D)\apps\dhparam.c + $(CC) /Fo$(OBJ_D)\dhparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dhparam.c + +$(OBJ_D)\enc.obj: $(SRC_D)\apps\enc.c + $(CC) /Fo$(OBJ_D)\enc.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\enc.c + +$(OBJ_D)\passwd.obj: $(SRC_D)\apps\passwd.c + $(CC) /Fo$(OBJ_D)\passwd.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\passwd.c + +$(OBJ_D)\gendh.obj: $(SRC_D)\apps\gendh.c + $(CC) /Fo$(OBJ_D)\gendh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendh.c + +$(OBJ_D)\errstr.obj: $(SRC_D)\apps\errstr.c + $(CC) /Fo$(OBJ_D)\errstr.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\errstr.c + +$(OBJ_D)\ca.obj: $(SRC_D)\apps\ca.c + $(CC) /Fo$(OBJ_D)\ca.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ca.c + +$(OBJ_D)\pkcs7.obj: $(SRC_D)\apps\pkcs7.c + $(CC) /Fo$(OBJ_D)\pkcs7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs7.c + +$(OBJ_D)\crl2p7.obj: $(SRC_D)\apps\crl2p7.c + $(CC) /Fo$(OBJ_D)\crl2p7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl2p7.c + +$(OBJ_D)\crl.obj: $(SRC_D)\apps\crl.c + $(CC) /Fo$(OBJ_D)\crl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl.c + +$(OBJ_D)\rsa.obj: $(SRC_D)\apps\rsa.c + $(CC) /Fo$(OBJ_D)\rsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsa.c + +$(OBJ_D)\rsautl.obj: $(SRC_D)\apps\rsautl.c + $(CC) /Fo$(OBJ_D)\rsautl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsautl.c + +$(OBJ_D)\dsa.obj: $(SRC_D)\apps\dsa.c + $(CC) /Fo$(OBJ_D)\dsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsa.c + +$(OBJ_D)\dsaparam.obj: $(SRC_D)\apps\dsaparam.c + $(CC) /Fo$(OBJ_D)\dsaparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsaparam.c + +$(OBJ_D)\ec.obj: $(SRC_D)\apps\ec.c + $(CC) /Fo$(OBJ_D)\ec.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ec.c + +$(OBJ_D)\ecparam.obj: $(SRC_D)\apps\ecparam.c + $(CC) /Fo$(OBJ_D)\ecparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ecparam.c + +$(OBJ_D)\x509.obj: $(SRC_D)\apps\x509.c + $(CC) /Fo$(OBJ_D)\x509.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\x509.c + +$(OBJ_D)\genrsa.obj: $(SRC_D)\apps\genrsa.c + $(CC) /Fo$(OBJ_D)\genrsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genrsa.c + +$(OBJ_D)\gendsa.obj: $(SRC_D)\apps\gendsa.c + $(CC) /Fo$(OBJ_D)\gendsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendsa.c + +$(OBJ_D)\genpkey.obj: $(SRC_D)\apps\genpkey.c + $(CC) /Fo$(OBJ_D)\genpkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genpkey.c + +$(OBJ_D)\s_server.obj: $(SRC_D)\apps\s_server.c + $(CC) /Fo$(OBJ_D)\s_server.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_server.c + +$(OBJ_D)\s_client.obj: $(SRC_D)\apps\s_client.c + $(CC) /Fo$(OBJ_D)\s_client.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_client.c + +$(OBJ_D)\speed.obj: $(SRC_D)\apps\speed.c + $(CC) /Fo$(OBJ_D)\speed.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\speed.c + +$(OBJ_D)\s_time.obj: $(SRC_D)\apps\s_time.c + $(CC) /Fo$(OBJ_D)\s_time.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_time.c + +$(OBJ_D)\apps.obj: $(SRC_D)\apps\apps.c + $(CC) /Fo$(OBJ_D)\apps.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\apps.c + +$(OBJ_D)\s_cb.obj: $(SRC_D)\apps\s_cb.c + $(CC) /Fo$(OBJ_D)\s_cb.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_cb.c + +$(OBJ_D)\s_socket.obj: $(SRC_D)\apps\s_socket.c + $(CC) /Fo$(OBJ_D)\s_socket.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_socket.c + +$(OBJ_D)\app_rand.obj: $(SRC_D)\apps\app_rand.c + $(CC) /Fo$(OBJ_D)\app_rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\app_rand.c + +$(OBJ_D)\version.obj: $(SRC_D)\apps\version.c + $(CC) /Fo$(OBJ_D)\version.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\version.c + +$(OBJ_D)\sess_id.obj: $(SRC_D)\apps\sess_id.c + $(CC) /Fo$(OBJ_D)\sess_id.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\sess_id.c + +$(OBJ_D)\ciphers.obj: $(SRC_D)\apps\ciphers.c + $(CC) /Fo$(OBJ_D)\ciphers.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ciphers.c + +$(OBJ_D)\nseq.obj: $(SRC_D)\apps\nseq.c + $(CC) /Fo$(OBJ_D)\nseq.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\nseq.c + +$(OBJ_D)\pkcs12.obj: $(SRC_D)\apps\pkcs12.c + $(CC) /Fo$(OBJ_D)\pkcs12.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs12.c + +$(OBJ_D)\pkcs8.obj: $(SRC_D)\apps\pkcs8.c + $(CC) /Fo$(OBJ_D)\pkcs8.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs8.c + +$(OBJ_D)\pkey.obj: $(SRC_D)\apps\pkey.c + $(CC) /Fo$(OBJ_D)\pkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkey.c + +$(OBJ_D)\pkeyparam.obj: $(SRC_D)\apps\pkeyparam.c + $(CC) /Fo$(OBJ_D)\pkeyparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyparam.c + +$(OBJ_D)\pkeyutl.obj: $(SRC_D)\apps\pkeyutl.c + $(CC) /Fo$(OBJ_D)\pkeyutl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyutl.c + +$(OBJ_D)\spkac.obj: $(SRC_D)\apps\spkac.c + $(CC) /Fo$(OBJ_D)\spkac.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\spkac.c + +$(OBJ_D)\smime.obj: $(SRC_D)\apps\smime.c + $(CC) /Fo$(OBJ_D)\smime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\smime.c + +$(OBJ_D)\cms.obj: $(SRC_D)\apps\cms.c + $(CC) /Fo$(OBJ_D)\cms.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\cms.c + +$(OBJ_D)\rand.obj: $(SRC_D)\apps\rand.c + $(CC) /Fo$(OBJ_D)\rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rand.c + +$(OBJ_D)\engine.obj: $(SRC_D)\apps\engine.c + $(CC) /Fo$(OBJ_D)\engine.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\engine.c + +$(OBJ_D)\ocsp.obj: $(SRC_D)\apps\ocsp.c + $(CC) /Fo$(OBJ_D)\ocsp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ocsp.c + +$(OBJ_D)\prime.obj: $(SRC_D)\apps\prime.c + $(CC) /Fo$(OBJ_D)\prime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\prime.c + +$(OBJ_D)\ts.obj: $(SRC_D)\apps\ts.c + $(CC) /Fo$(OBJ_D)\ts.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ts.c + +$(OBJ_D)\srp.obj: $(SRC_D)\apps\srp.c + $(CC) /Fo$(OBJ_D)\srp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\srp.c + +$(OBJ_D)\openssl.obj: $(SRC_D)\apps\openssl.c + $(CC) /Fo$(OBJ_D)\openssl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\openssl.c + +$(OBJ_D)\cryptlib.obj: $(SRC_D)\crypto\cryptlib.c + $(CC) /Fo$(OBJ_D)\cryptlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cryptlib.c + +$(OBJ_D)\mem.obj: $(SRC_D)\crypto\mem.c + $(CC) /Fo$(OBJ_D)\mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem.c + +$(OBJ_D)\mem_dbg.obj: $(SRC_D)\crypto\mem_dbg.c + $(CC) /Fo$(OBJ_D)\mem_dbg.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\mem_dbg.c + +$(OBJ_D)\cversion.obj: $(SRC_D)\crypto\cversion.c + $(CC) /Fo$(OBJ_D)\cversion.obj $(LIB_CFLAGS) -DMK1MF_BUILD -DMK1MF_PLATFORM_VC_WIN64A -c $(SRC_D)\crypto\cversion.c + +$(OBJ_D)\ex_data.obj: $(SRC_D)\crypto\ex_data.c + $(CC) /Fo$(OBJ_D)\ex_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ex_data.c + +$(OBJ_D)\cpt_err.obj: $(SRC_D)\crypto\cpt_err.c + $(CC) /Fo$(OBJ_D)\cpt_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cpt_err.c + +$(OBJ_D)\ebcdic.obj: $(SRC_D)\crypto\ebcdic.c + $(CC) /Fo$(OBJ_D)\ebcdic.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ebcdic.c + +$(OBJ_D)\uid.obj: $(SRC_D)\crypto\uid.c + $(CC) /Fo$(OBJ_D)\uid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\uid.c + +$(OBJ_D)\o_time.obj: $(SRC_D)\crypto\o_time.c + $(CC) /Fo$(OBJ_D)\o_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_time.c + +$(OBJ_D)\o_str.obj: $(SRC_D)\crypto\o_str.c + $(CC) /Fo$(OBJ_D)\o_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_str.c + +$(OBJ_D)\o_dir.obj: $(SRC_D)\crypto\o_dir.c + $(CC) /Fo$(OBJ_D)\o_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_dir.c + +$(OBJ_D)\o_fips.obj: $(SRC_D)\crypto\o_fips.c + $(CC) /Fo$(OBJ_D)\o_fips.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_fips.c + +$(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c + $(CC) /Fo$(OBJ_D)\o_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\o_init.c + +$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c + $(CC) /Fo$(OBJ_D)\fips_ers.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\fips_ers.c + +$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c + $(CC) /Fo$(OBJ_D)\getenv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\getenv.c + +$(TMP_D)\x86_64cpuid.asm: crypto\x86_64cpuid.pl + set ASM=$(ASM) + $(PERL) crypto\x86_64cpuid.pl $@ + +$(OBJ_D)\x86_64cpuid.obj: $(TMP_D)\x86_64cpuid.asm + $(ASM) -o $@ $(TMP_D)\x86_64cpuid.asm + +$(OBJ_D)\md4_dgst.obj: $(SRC_D)\crypto\md4\md4_dgst.c + $(CC) /Fo$(OBJ_D)\md4_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_dgst.c + +$(OBJ_D)\md4_one.obj: $(SRC_D)\crypto\md4\md4_one.c + $(CC) /Fo$(OBJ_D)\md4_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md4\md4_one.c + +$(OBJ_D)\md5_dgst.obj: $(SRC_D)\crypto\md5\md5_dgst.c + $(CC) /Fo$(OBJ_D)\md5_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_dgst.c + +$(OBJ_D)\md5_one.obj: $(SRC_D)\crypto\md5\md5_one.c + $(CC) /Fo$(OBJ_D)\md5_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\md5\md5_one.c + +$(TMP_D)\md5-x86_64.asm: crypto\md5\asm\md5-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\md5\asm\md5-x86_64.pl $@ + +$(OBJ_D)\md5-x86_64.obj: $(TMP_D)\md5-x86_64.asm + $(ASM) -o $@ $(TMP_D)\md5-x86_64.asm + +$(OBJ_D)\sha_dgst.obj: $(SRC_D)\crypto\sha\sha_dgst.c + $(CC) /Fo$(OBJ_D)\sha_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_dgst.c + +$(OBJ_D)\sha1dgst.obj: $(SRC_D)\crypto\sha\sha1dgst.c + $(CC) /Fo$(OBJ_D)\sha1dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1dgst.c + +$(OBJ_D)\sha_one.obj: $(SRC_D)\crypto\sha\sha_one.c + $(CC) /Fo$(OBJ_D)\sha_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha_one.c + +$(OBJ_D)\sha1_one.obj: $(SRC_D)\crypto\sha\sha1_one.c + $(CC) /Fo$(OBJ_D)\sha1_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha1_one.c + +$(OBJ_D)\sha256.obj: $(SRC_D)\crypto\sha\sha256.c + $(CC) /Fo$(OBJ_D)\sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha256.c + +$(OBJ_D)\sha512.obj: $(SRC_D)\crypto\sha\sha512.c + $(CC) /Fo$(OBJ_D)\sha512.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\sha\sha512.c + +$(TMP_D)\sha1-x86_64.asm: crypto\sha\asm\sha1-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\sha\asm\sha1-x86_64.pl $@ + +$(OBJ_D)\sha1-x86_64.obj: $(TMP_D)\sha1-x86_64.asm + $(ASM) -o $@ $(TMP_D)\sha1-x86_64.asm + +$(TMP_D)\sha256-x86_64.asm: crypto\sha\asm\sha512-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\sha\asm\sha512-x86_64.pl $@ + +$(OBJ_D)\sha256-x86_64.obj: $(TMP_D)\sha256-x86_64.asm + $(ASM) -o $@ $(TMP_D)\sha256-x86_64.asm + +$(TMP_D)\sha512-x86_64.asm: crypto\sha\asm\sha512-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\sha\asm\sha512-x86_64.pl $@ + +$(OBJ_D)\sha512-x86_64.obj: $(TMP_D)\sha512-x86_64.asm + $(ASM) -o $@ $(TMP_D)\sha512-x86_64.asm + +$(TMP_D)\sha1-mb-x86_64.asm: crypto\sha\asm\sha1-mb-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\sha\asm\sha1-mb-x86_64.pl $@ + +$(OBJ_D)\sha1-mb-x86_64.obj: $(TMP_D)\sha1-mb-x86_64.asm + $(ASM) -o $@ $(TMP_D)\sha1-mb-x86_64.asm + +$(TMP_D)\sha256-mb-x86_64.asm: crypto\sha\asm\sha256-mb-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\sha\asm\sha256-mb-x86_64.pl $@ + +$(OBJ_D)\sha256-mb-x86_64.obj: $(TMP_D)\sha256-mb-x86_64.asm + $(ASM) -o $@ $(TMP_D)\sha256-mb-x86_64.asm + +$(OBJ_D)\hmac.obj: $(SRC_D)\crypto\hmac\hmac.c + $(CC) /Fo$(OBJ_D)\hmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hmac.c + +$(OBJ_D)\hm_ameth.obj: $(SRC_D)\crypto\hmac\hm_ameth.c + $(CC) /Fo$(OBJ_D)\hm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_ameth.c + +$(OBJ_D)\hm_pmeth.obj: $(SRC_D)\crypto\hmac\hm_pmeth.c + $(CC) /Fo$(OBJ_D)\hm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\hmac\hm_pmeth.c + +$(OBJ_D)\cmac.obj: $(SRC_D)\crypto\cmac\cmac.c + $(CC) /Fo$(OBJ_D)\cmac.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cmac.c + +$(OBJ_D)\cm_ameth.obj: $(SRC_D)\crypto\cmac\cm_ameth.c + $(CC) /Fo$(OBJ_D)\cm_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_ameth.c + +$(OBJ_D)\cm_pmeth.obj: $(SRC_D)\crypto\cmac\cm_pmeth.c + $(CC) /Fo$(OBJ_D)\cm_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cmac\cm_pmeth.c + +$(OBJ_D)\rmd_dgst.obj: $(SRC_D)\crypto\ripemd\rmd_dgst.c + $(CC) /Fo$(OBJ_D)\rmd_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_dgst.c + +$(OBJ_D)\rmd_one.obj: $(SRC_D)\crypto\ripemd\rmd_one.c + $(CC) /Fo$(OBJ_D)\rmd_one.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmd_one.c + +$(OBJ_D)\set_key.obj: $(SRC_D)\crypto\des\set_key.c + $(CC) /Fo$(OBJ_D)\set_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\set_key.c + +$(OBJ_D)\ecb_enc.obj: $(SRC_D)\crypto\des\ecb_enc.c + $(CC) /Fo$(OBJ_D)\ecb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb_enc.c + +$(OBJ_D)\cbc_enc.obj: $(SRC_D)\crypto\des\cbc_enc.c + $(CC) /Fo$(OBJ_D)\cbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_enc.c + +$(OBJ_D)\ecb3_enc.obj: $(SRC_D)\crypto\des\ecb3_enc.c + $(CC) /Fo$(OBJ_D)\ecb3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ecb3_enc.c + +$(OBJ_D)\cfb64enc.obj: $(SRC_D)\crypto\des\cfb64enc.c + $(CC) /Fo$(OBJ_D)\cfb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64enc.c + +$(OBJ_D)\cfb64ede.obj: $(SRC_D)\crypto\des\cfb64ede.c + $(CC) /Fo$(OBJ_D)\cfb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb64ede.c + +$(OBJ_D)\cfb_enc.obj: $(SRC_D)\crypto\des\cfb_enc.c + $(CC) /Fo$(OBJ_D)\cfb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cfb_enc.c + +$(OBJ_D)\ofb64ede.obj: $(SRC_D)\crypto\des\ofb64ede.c + $(CC) /Fo$(OBJ_D)\ofb64ede.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64ede.c + +$(OBJ_D)\enc_read.obj: $(SRC_D)\crypto\des\enc_read.c + $(CC) /Fo$(OBJ_D)\enc_read.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_read.c + +$(OBJ_D)\enc_writ.obj: $(SRC_D)\crypto\des\enc_writ.c + $(CC) /Fo$(OBJ_D)\enc_writ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\enc_writ.c + +$(OBJ_D)\ofb64enc.obj: $(SRC_D)\crypto\des\ofb64enc.c + $(CC) /Fo$(OBJ_D)\ofb64enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb64enc.c + +$(OBJ_D)\ofb_enc.obj: $(SRC_D)\crypto\des\ofb_enc.c + $(CC) /Fo$(OBJ_D)\ofb_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ofb_enc.c + +$(OBJ_D)\str2key.obj: $(SRC_D)\crypto\des\str2key.c + $(CC) /Fo$(OBJ_D)\str2key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\str2key.c + +$(OBJ_D)\pcbc_enc.obj: $(SRC_D)\crypto\des\pcbc_enc.c + $(CC) /Fo$(OBJ_D)\pcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\pcbc_enc.c + +$(OBJ_D)\qud_cksm.obj: $(SRC_D)\crypto\des\qud_cksm.c + $(CC) /Fo$(OBJ_D)\qud_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\qud_cksm.c + +$(OBJ_D)\rand_key.obj: $(SRC_D)\crypto\des\rand_key.c + $(CC) /Fo$(OBJ_D)\rand_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rand_key.c + +$(OBJ_D)\des_enc.obj: $(SRC_D)\crypto\des\des_enc.c + $(CC) /Fo$(OBJ_D)\des_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_enc.c + +$(OBJ_D)\fcrypt_b.obj: $(SRC_D)\crypto\des\fcrypt_b.c + $(CC) /Fo$(OBJ_D)\fcrypt_b.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\fcrypt_b.c + +$(OBJ_D)\fcrypt.obj: $(SRC_D)\crypto\des\fcrypt.c + $(CC) /Fo$(OBJ_D)\fcrypt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\fcrypt.c + +$(OBJ_D)\xcbc_enc.obj: $(SRC_D)\crypto\des\xcbc_enc.c + $(CC) /Fo$(OBJ_D)\xcbc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\xcbc_enc.c + +$(OBJ_D)\rpc_enc.obj: $(SRC_D)\crypto\des\rpc_enc.c + $(CC) /Fo$(OBJ_D)\rpc_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\rpc_enc.c + +$(OBJ_D)\cbc_cksm.obj: $(SRC_D)\crypto\des\cbc_cksm.c + $(CC) /Fo$(OBJ_D)\cbc_cksm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\cbc_cksm.c + +$(OBJ_D)\ede_cbcm_enc.obj: $(SRC_D)\crypto\des\ede_cbcm_enc.c + $(CC) /Fo$(OBJ_D)\ede_cbcm_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\ede_cbcm_enc.c + +$(OBJ_D)\des_old.obj: $(SRC_D)\crypto\des\des_old.c + $(CC) /Fo$(OBJ_D)\des_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old.c + +$(OBJ_D)\des_old2.obj: $(SRC_D)\crypto\des\des_old2.c + $(CC) /Fo$(OBJ_D)\des_old2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\des_old2.c + +$(OBJ_D)\read2pwd.obj: $(SRC_D)\crypto\des\read2pwd.c + $(CC) /Fo$(OBJ_D)\read2pwd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\des\read2pwd.c + +$(OBJ_D)\rc2_ecb.obj: $(SRC_D)\crypto\rc2\rc2_ecb.c + $(CC) /Fo$(OBJ_D)\rc2_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_ecb.c + +$(OBJ_D)\rc2_skey.obj: $(SRC_D)\crypto\rc2\rc2_skey.c + $(CC) /Fo$(OBJ_D)\rc2_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_skey.c + +$(OBJ_D)\rc2_cbc.obj: $(SRC_D)\crypto\rc2\rc2_cbc.c + $(CC) /Fo$(OBJ_D)\rc2_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2_cbc.c + +$(OBJ_D)\rc2cfb64.obj: $(SRC_D)\crypto\rc2\rc2cfb64.c + $(CC) /Fo$(OBJ_D)\rc2cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2cfb64.c + +$(OBJ_D)\rc2ofb64.obj: $(SRC_D)\crypto\rc2\rc2ofb64.c + $(CC) /Fo$(OBJ_D)\rc2ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2ofb64.c + +$(TMP_D)\rc4-x86_64.asm: crypto\rc4\asm\rc4-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\rc4\asm\rc4-x86_64.pl $@ + +$(OBJ_D)\rc4-x86_64.obj: $(TMP_D)\rc4-x86_64.asm + $(ASM) -o $@ $(TMP_D)\rc4-x86_64.asm + +$(TMP_D)\rc4-md5-x86_64.asm: crypto\rc4\asm\rc4-md5-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\rc4\asm\rc4-md5-x86_64.pl $@ + +$(OBJ_D)\rc4-md5-x86_64.obj: $(TMP_D)\rc4-md5-x86_64.asm + $(ASM) -o $@ $(TMP_D)\rc4-md5-x86_64.asm + +$(OBJ_D)\rc4_utl.obj: $(SRC_D)\crypto\rc4\rc4_utl.c + $(CC) /Fo$(OBJ_D)\rc4_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4_utl.c + +$(OBJ_D)\bf_skey.obj: $(SRC_D)\crypto\bf\bf_skey.c + $(CC) /Fo$(OBJ_D)\bf_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_skey.c + +$(OBJ_D)\bf_ecb.obj: $(SRC_D)\crypto\bf\bf_ecb.c + $(CC) /Fo$(OBJ_D)\bf_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ecb.c + +$(OBJ_D)\bf_enc.obj: $(SRC_D)\crypto\bf\bf_enc.c + $(CC) /Fo$(OBJ_D)\bf_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_enc.c + +$(OBJ_D)\bf_cfb64.obj: $(SRC_D)\crypto\bf\bf_cfb64.c + $(CC) /Fo$(OBJ_D)\bf_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_cfb64.c + +$(OBJ_D)\bf_ofb64.obj: $(SRC_D)\crypto\bf\bf_ofb64.c + $(CC) /Fo$(OBJ_D)\bf_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bf\bf_ofb64.c + +$(OBJ_D)\c_skey.obj: $(SRC_D)\crypto\cast\c_skey.c + $(CC) /Fo$(OBJ_D)\c_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_skey.c + +$(OBJ_D)\c_ecb.obj: $(SRC_D)\crypto\cast\c_ecb.c + $(CC) /Fo$(OBJ_D)\c_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ecb.c + +$(OBJ_D)\c_enc.obj: $(SRC_D)\crypto\cast\c_enc.c + $(CC) /Fo$(OBJ_D)\c_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_enc.c + +$(OBJ_D)\c_cfb64.obj: $(SRC_D)\crypto\cast\c_cfb64.c + $(CC) /Fo$(OBJ_D)\c_cfb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_cfb64.c + +$(OBJ_D)\c_ofb64.obj: $(SRC_D)\crypto\cast\c_ofb64.c + $(CC) /Fo$(OBJ_D)\c_ofb64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cast\c_ofb64.c + +$(OBJ_D)\aes_misc.obj: $(SRC_D)\crypto\aes\aes_misc.c + $(CC) /Fo$(OBJ_D)\aes_misc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_misc.c + +$(OBJ_D)\aes_ecb.obj: $(SRC_D)\crypto\aes\aes_ecb.c + $(CC) /Fo$(OBJ_D)\aes_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ecb.c + +$(OBJ_D)\aes_cfb.obj: $(SRC_D)\crypto\aes\aes_cfb.c + $(CC) /Fo$(OBJ_D)\aes_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_cfb.c + +$(OBJ_D)\aes_ofb.obj: $(SRC_D)\crypto\aes\aes_ofb.c + $(CC) /Fo$(OBJ_D)\aes_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ofb.c + +$(OBJ_D)\aes_ctr.obj: $(SRC_D)\crypto\aes\aes_ctr.c + $(CC) /Fo$(OBJ_D)\aes_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ctr.c + +$(OBJ_D)\aes_ige.obj: $(SRC_D)\crypto\aes\aes_ige.c + $(CC) /Fo$(OBJ_D)\aes_ige.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_ige.c + +$(OBJ_D)\aes_wrap.obj: $(SRC_D)\crypto\aes\aes_wrap.c + $(CC) /Fo$(OBJ_D)\aes_wrap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\aes\aes_wrap.c + +$(TMP_D)\aes-x86_64.asm: crypto\aes\asm\aes-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\aes-x86_64.pl $@ + +$(OBJ_D)\aes-x86_64.obj: $(TMP_D)\aes-x86_64.asm + $(ASM) -o $@ $(TMP_D)\aes-x86_64.asm + +$(TMP_D)\vpaes-x86_64.asm: crypto\aes\asm\vpaes-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\vpaes-x86_64.pl $@ + +$(OBJ_D)\vpaes-x86_64.obj: $(TMP_D)\vpaes-x86_64.asm + $(ASM) -o $@ $(TMP_D)\vpaes-x86_64.asm + +$(TMP_D)\bsaes-x86_64.asm: crypto\aes\asm\bsaes-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\bsaes-x86_64.pl $@ + +$(OBJ_D)\bsaes-x86_64.obj: $(TMP_D)\bsaes-x86_64.asm + $(ASM) -o $@ $(TMP_D)\bsaes-x86_64.asm + +$(TMP_D)\aesni-x86_64.asm: crypto\aes\asm\aesni-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\aesni-x86_64.pl $@ + +$(OBJ_D)\aesni-x86_64.obj: $(TMP_D)\aesni-x86_64.asm + $(ASM) -o $@ $(TMP_D)\aesni-x86_64.asm + +$(TMP_D)\aesni-sha1-x86_64.asm: crypto\aes\asm\aesni-sha1-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\aesni-sha1-x86_64.pl $@ + +$(OBJ_D)\aesni-sha1-x86_64.obj: $(TMP_D)\aesni-sha1-x86_64.asm + $(ASM) -o $@ $(TMP_D)\aesni-sha1-x86_64.asm + +$(TMP_D)\aesni-sha256-x86_64.asm: crypto\aes\asm\aesni-sha256-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\aesni-sha256-x86_64.pl $@ + +$(OBJ_D)\aesni-sha256-x86_64.obj: $(TMP_D)\aesni-sha256-x86_64.asm + $(ASM) -o $@ $(TMP_D)\aesni-sha256-x86_64.asm + +$(TMP_D)\aesni-mb-x86_64.asm: crypto\aes\asm\aesni-mb-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\aes\asm\aesni-mb-x86_64.pl $@ + +$(OBJ_D)\aesni-mb-x86_64.obj: $(TMP_D)\aesni-mb-x86_64.asm + $(ASM) -o $@ $(TMP_D)\aesni-mb-x86_64.asm + +$(OBJ_D)\cmll_ecb.obj: $(SRC_D)\crypto\camellia\cmll_ecb.c + $(CC) /Fo$(OBJ_D)\cmll_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ecb.c + +$(OBJ_D)\cmll_ofb.obj: $(SRC_D)\crypto\camellia\cmll_ofb.c + $(CC) /Fo$(OBJ_D)\cmll_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ofb.c + +$(OBJ_D)\cmll_cfb.obj: $(SRC_D)\crypto\camellia\cmll_cfb.c + $(CC) /Fo$(OBJ_D)\cmll_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_cfb.c + +$(OBJ_D)\cmll_ctr.obj: $(SRC_D)\crypto\camellia\cmll_ctr.c + $(CC) /Fo$(OBJ_D)\cmll_ctr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_ctr.c + +$(OBJ_D)\cmll_utl.obj: $(SRC_D)\crypto\camellia\cmll_utl.c + $(CC) /Fo$(OBJ_D)\cmll_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_utl.c + +$(TMP_D)\cmll-x86_64.asm: crypto\camellia\asm\cmll-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\camellia\asm\cmll-x86_64.pl $@ + +$(OBJ_D)\cmll-x86_64.obj: $(TMP_D)\cmll-x86_64.asm + $(ASM) -o $@ $(TMP_D)\cmll-x86_64.asm + +$(OBJ_D)\cmll_misc.obj: $(SRC_D)\crypto\camellia\cmll_misc.c + $(CC) /Fo$(OBJ_D)\cmll_misc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\camellia\cmll_misc.c + +$(OBJ_D)\seed.obj: $(SRC_D)\crypto\seed\seed.c + $(CC) /Fo$(OBJ_D)\seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed.c + +$(OBJ_D)\seed_ecb.obj: $(SRC_D)\crypto\seed\seed_ecb.c + $(CC) /Fo$(OBJ_D)\seed_ecb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ecb.c + +$(OBJ_D)\seed_cbc.obj: $(SRC_D)\crypto\seed\seed_cbc.c + $(CC) /Fo$(OBJ_D)\seed_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cbc.c + +$(OBJ_D)\seed_cfb.obj: $(SRC_D)\crypto\seed\seed_cfb.c + $(CC) /Fo$(OBJ_D)\seed_cfb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_cfb.c + +$(OBJ_D)\seed_ofb.obj: $(SRC_D)\crypto\seed\seed_ofb.c + $(CC) /Fo$(OBJ_D)\seed_ofb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\seed\seed_ofb.c + +$(OBJ_D)\cbc128.obj: $(SRC_D)\crypto\modes\cbc128.c + $(CC) /Fo$(OBJ_D)\cbc128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cbc128.c + +$(OBJ_D)\ctr128.obj: $(SRC_D)\crypto\modes\ctr128.c + $(CC) /Fo$(OBJ_D)\ctr128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ctr128.c + +$(OBJ_D)\cts128.obj: $(SRC_D)\crypto\modes\cts128.c + $(CC) /Fo$(OBJ_D)\cts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cts128.c + +$(OBJ_D)\cfb128.obj: $(SRC_D)\crypto\modes\cfb128.c + $(CC) /Fo$(OBJ_D)\cfb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\cfb128.c + +$(OBJ_D)\ofb128.obj: $(SRC_D)\crypto\modes\ofb128.c + $(CC) /Fo$(OBJ_D)\ofb128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ofb128.c + +$(OBJ_D)\gcm128.obj: $(SRC_D)\crypto\modes\gcm128.c + $(CC) /Fo$(OBJ_D)\gcm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\gcm128.c + +$(OBJ_D)\ccm128.obj: $(SRC_D)\crypto\modes\ccm128.c + $(CC) /Fo$(OBJ_D)\ccm128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\ccm128.c + +$(OBJ_D)\xts128.obj: $(SRC_D)\crypto\modes\xts128.c + $(CC) /Fo$(OBJ_D)\xts128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\xts128.c + +$(OBJ_D)\wrap128.obj: $(SRC_D)\crypto\modes\wrap128.c + $(CC) /Fo$(OBJ_D)\wrap128.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\modes\wrap128.c + +$(TMP_D)\ghash-x86_64.asm: crypto\modes\asm\ghash-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\modes\asm\ghash-x86_64.pl $@ + +$(OBJ_D)\ghash-x86_64.obj: $(TMP_D)\ghash-x86_64.asm + $(ASM) -o $@ $(TMP_D)\ghash-x86_64.asm + +$(TMP_D)\aesni-gcm-x86_64.asm: crypto\modes\asm\aesni-gcm-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\modes\asm\aesni-gcm-x86_64.pl $@ + +$(OBJ_D)\aesni-gcm-x86_64.obj: $(TMP_D)\aesni-gcm-x86_64.asm + $(ASM) -o $@ $(TMP_D)\aesni-gcm-x86_64.asm + +$(OBJ_D)\bn_add.obj: $(SRC_D)\crypto\bn\bn_add.c + $(CC) /Fo$(OBJ_D)\bn_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_add.c + +$(OBJ_D)\bn_div.obj: $(SRC_D)\crypto\bn\bn_div.c + $(CC) /Fo$(OBJ_D)\bn_div.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_div.c + +$(OBJ_D)\bn_exp.obj: $(SRC_D)\crypto\bn\bn_exp.c + $(CC) /Fo$(OBJ_D)\bn_exp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp.c + +$(OBJ_D)\bn_lib.obj: $(SRC_D)\crypto\bn\bn_lib.c + $(CC) /Fo$(OBJ_D)\bn_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_lib.c + +$(OBJ_D)\bn_ctx.obj: $(SRC_D)\crypto\bn\bn_ctx.c + $(CC) /Fo$(OBJ_D)\bn_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_ctx.c + +$(OBJ_D)\bn_mul.obj: $(SRC_D)\crypto\bn\bn_mul.c + $(CC) /Fo$(OBJ_D)\bn_mul.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mul.c + +$(OBJ_D)\bn_mod.obj: $(SRC_D)\crypto\bn\bn_mod.c + $(CC) /Fo$(OBJ_D)\bn_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mod.c + +$(OBJ_D)\bn_print.obj: $(SRC_D)\crypto\bn\bn_print.c + $(CC) /Fo$(OBJ_D)\bn_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_print.c + +$(OBJ_D)\bn_rand.obj: $(SRC_D)\crypto\bn\bn_rand.c + $(CC) /Fo$(OBJ_D)\bn_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_rand.c + +$(OBJ_D)\bn_shift.obj: $(SRC_D)\crypto\bn\bn_shift.c + $(CC) /Fo$(OBJ_D)\bn_shift.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_shift.c + +$(OBJ_D)\bn_word.obj: $(SRC_D)\crypto\bn\bn_word.c + $(CC) /Fo$(OBJ_D)\bn_word.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_word.c + +$(OBJ_D)\bn_blind.obj: $(SRC_D)\crypto\bn\bn_blind.c + $(CC) /Fo$(OBJ_D)\bn_blind.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_blind.c + +$(OBJ_D)\bn_kron.obj: $(SRC_D)\crypto\bn\bn_kron.c + $(CC) /Fo$(OBJ_D)\bn_kron.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_kron.c + +$(OBJ_D)\bn_sqrt.obj: $(SRC_D)\crypto\bn\bn_sqrt.c + $(CC) /Fo$(OBJ_D)\bn_sqrt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqrt.c + +$(OBJ_D)\bn_gcd.obj: $(SRC_D)\crypto\bn\bn_gcd.c + $(CC) /Fo$(OBJ_D)\bn_gcd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gcd.c + +$(OBJ_D)\bn_prime.obj: $(SRC_D)\crypto\bn\bn_prime.c + $(CC) /Fo$(OBJ_D)\bn_prime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_prime.c + +$(OBJ_D)\bn_err.obj: $(SRC_D)\crypto\bn\bn_err.c + $(CC) /Fo$(OBJ_D)\bn_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_err.c + +$(OBJ_D)\bn_sqr.obj: $(SRC_D)\crypto\bn\bn_sqr.c + $(CC) /Fo$(OBJ_D)\bn_sqr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_sqr.c + +$(OBJ_D)\bn_asm.obj: $(SRC_D)\crypto\bn\bn_asm.c + $(CC) /Fo$(OBJ_D)\bn_asm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_asm.c + +$(TMP_D)\x86_64-mont.asm: crypto\bn\asm\x86_64-mont.pl + set ASM=$(ASM) + $(PERL) crypto\bn\asm\x86_64-mont.pl $@ + +$(OBJ_D)\x86_64-mont.obj: $(TMP_D)\x86_64-mont.asm + $(ASM) -o $@ $(TMP_D)\x86_64-mont.asm + +$(TMP_D)\x86_64-mont5.asm: crypto\bn\asm\x86_64-mont5.pl + set ASM=$(ASM) + $(PERL) crypto\bn\asm\x86_64-mont5.pl $@ + +$(OBJ_D)\x86_64-mont5.obj: $(TMP_D)\x86_64-mont5.asm + $(ASM) -o $@ $(TMP_D)\x86_64-mont5.asm + +$(TMP_D)\x86_64-gf2m.asm: crypto\bn\asm\x86_64-gf2m.pl + set ASM=$(ASM) + $(PERL) crypto\bn\asm\x86_64-gf2m.pl $@ + +$(OBJ_D)\x86_64-gf2m.obj: $(TMP_D)\x86_64-gf2m.asm + $(ASM) -o $@ $(TMP_D)\x86_64-gf2m.asm + +$(OBJ_D)\rsaz_exp.obj: $(SRC_D)\crypto\bn\rsaz_exp.c + $(CC) /Fo$(OBJ_D)\rsaz_exp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\rsaz_exp.c + +$(TMP_D)\rsaz-x86_64.asm: crypto\bn\asm\rsaz-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\bn\asm\rsaz-x86_64.pl $@ + +$(OBJ_D)\rsaz-x86_64.obj: $(TMP_D)\rsaz-x86_64.asm + $(ASM) -o $@ $(TMP_D)\rsaz-x86_64.asm + +$(TMP_D)\rsaz-avx2.asm: crypto\bn\asm\rsaz-avx2.pl + set ASM=$(ASM) + $(PERL) crypto\bn\asm\rsaz-avx2.pl $@ + +$(OBJ_D)\rsaz-avx2.obj: $(TMP_D)\rsaz-avx2.asm + $(ASM) -o $@ $(TMP_D)\rsaz-avx2.asm + +$(OBJ_D)\bn_recp.obj: $(SRC_D)\crypto\bn\bn_recp.c + $(CC) /Fo$(OBJ_D)\bn_recp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_recp.c + +$(OBJ_D)\bn_mont.obj: $(SRC_D)\crypto\bn\bn_mont.c + $(CC) /Fo$(OBJ_D)\bn_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mont.c + +$(OBJ_D)\bn_mpi.obj: $(SRC_D)\crypto\bn\bn_mpi.c + $(CC) /Fo$(OBJ_D)\bn_mpi.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_mpi.c + +$(OBJ_D)\bn_exp2.obj: $(SRC_D)\crypto\bn\bn_exp2.c + $(CC) /Fo$(OBJ_D)\bn_exp2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_exp2.c + +$(OBJ_D)\bn_gf2m.obj: $(SRC_D)\crypto\bn\bn_gf2m.c + $(CC) /Fo$(OBJ_D)\bn_gf2m.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_gf2m.c + +$(OBJ_D)\bn_nist.obj: $(SRC_D)\crypto\bn\bn_nist.c + $(CC) /Fo$(OBJ_D)\bn_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_nist.c + +$(OBJ_D)\bn_depr.obj: $(SRC_D)\crypto\bn\bn_depr.c + $(CC) /Fo$(OBJ_D)\bn_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_depr.c + +$(OBJ_D)\bn_const.obj: $(SRC_D)\crypto\bn\bn_const.c + $(CC) /Fo$(OBJ_D)\bn_const.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_const.c + +$(OBJ_D)\bn_x931p.obj: $(SRC_D)\crypto\bn\bn_x931p.c + $(CC) /Fo$(OBJ_D)\bn_x931p.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bn\bn_x931p.c + +$(OBJ_D)\rsa_eay.obj: $(SRC_D)\crypto\rsa\rsa_eay.c + $(CC) /Fo$(OBJ_D)\rsa_eay.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_eay.c + +$(OBJ_D)\rsa_gen.obj: $(SRC_D)\crypto\rsa\rsa_gen.c + $(CC) /Fo$(OBJ_D)\rsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_gen.c + +$(OBJ_D)\rsa_lib.obj: $(SRC_D)\crypto\rsa\rsa_lib.c + $(CC) /Fo$(OBJ_D)\rsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_lib.c + +$(OBJ_D)\rsa_sign.obj: $(SRC_D)\crypto\rsa\rsa_sign.c + $(CC) /Fo$(OBJ_D)\rsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_sign.c + +$(OBJ_D)\rsa_saos.obj: $(SRC_D)\crypto\rsa\rsa_saos.c + $(CC) /Fo$(OBJ_D)\rsa_saos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_saos.c + +$(OBJ_D)\rsa_err.obj: $(SRC_D)\crypto\rsa\rsa_err.c + $(CC) /Fo$(OBJ_D)\rsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_err.c + +$(OBJ_D)\rsa_pk1.obj: $(SRC_D)\crypto\rsa\rsa_pk1.c + $(CC) /Fo$(OBJ_D)\rsa_pk1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pk1.c + +$(OBJ_D)\rsa_ssl.obj: $(SRC_D)\crypto\rsa\rsa_ssl.c + $(CC) /Fo$(OBJ_D)\rsa_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ssl.c + +$(OBJ_D)\rsa_none.obj: $(SRC_D)\crypto\rsa\rsa_none.c + $(CC) /Fo$(OBJ_D)\rsa_none.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_none.c + +$(OBJ_D)\rsa_oaep.obj: $(SRC_D)\crypto\rsa\rsa_oaep.c + $(CC) /Fo$(OBJ_D)\rsa_oaep.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_oaep.c + +$(OBJ_D)\rsa_chk.obj: $(SRC_D)\crypto\rsa\rsa_chk.c + $(CC) /Fo$(OBJ_D)\rsa_chk.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_chk.c + +$(OBJ_D)\rsa_null.obj: $(SRC_D)\crypto\rsa\rsa_null.c + $(CC) /Fo$(OBJ_D)\rsa_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_null.c + +$(OBJ_D)\rsa_pss.obj: $(SRC_D)\crypto\rsa\rsa_pss.c + $(CC) /Fo$(OBJ_D)\rsa_pss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pss.c + +$(OBJ_D)\rsa_x931.obj: $(SRC_D)\crypto\rsa\rsa_x931.c + $(CC) /Fo$(OBJ_D)\rsa_x931.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_x931.c + +$(OBJ_D)\rsa_asn1.obj: $(SRC_D)\crypto\rsa\rsa_asn1.c + $(CC) /Fo$(OBJ_D)\rsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_asn1.c + +$(OBJ_D)\rsa_depr.obj: $(SRC_D)\crypto\rsa\rsa_depr.c + $(CC) /Fo$(OBJ_D)\rsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_depr.c + +$(OBJ_D)\rsa_ameth.obj: $(SRC_D)\crypto\rsa\rsa_ameth.c + $(CC) /Fo$(OBJ_D)\rsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_ameth.c + +$(OBJ_D)\rsa_prn.obj: $(SRC_D)\crypto\rsa\rsa_prn.c + $(CC) /Fo$(OBJ_D)\rsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_prn.c + +$(OBJ_D)\rsa_pmeth.obj: $(SRC_D)\crypto\rsa\rsa_pmeth.c + $(CC) /Fo$(OBJ_D)\rsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_pmeth.c + +$(OBJ_D)\rsa_crpt.obj: $(SRC_D)\crypto\rsa\rsa_crpt.c + $(CC) /Fo$(OBJ_D)\rsa_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_crpt.c + +$(OBJ_D)\dsa_gen.obj: $(SRC_D)\crypto\dsa\dsa_gen.c + $(CC) /Fo$(OBJ_D)\dsa_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_gen.c + +$(OBJ_D)\dsa_key.obj: $(SRC_D)\crypto\dsa\dsa_key.c + $(CC) /Fo$(OBJ_D)\dsa_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_key.c + +$(OBJ_D)\dsa_lib.obj: $(SRC_D)\crypto\dsa\dsa_lib.c + $(CC) /Fo$(OBJ_D)\dsa_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_lib.c + +$(OBJ_D)\dsa_asn1.obj: $(SRC_D)\crypto\dsa\dsa_asn1.c + $(CC) /Fo$(OBJ_D)\dsa_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_asn1.c + +$(OBJ_D)\dsa_vrf.obj: $(SRC_D)\crypto\dsa\dsa_vrf.c + $(CC) /Fo$(OBJ_D)\dsa_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_vrf.c + +$(OBJ_D)\dsa_sign.obj: $(SRC_D)\crypto\dsa\dsa_sign.c + $(CC) /Fo$(OBJ_D)\dsa_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_sign.c + +$(OBJ_D)\dsa_err.obj: $(SRC_D)\crypto\dsa\dsa_err.c + $(CC) /Fo$(OBJ_D)\dsa_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_err.c + +$(OBJ_D)\dsa_ossl.obj: $(SRC_D)\crypto\dsa\dsa_ossl.c + $(CC) /Fo$(OBJ_D)\dsa_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ossl.c + +$(OBJ_D)\dsa_depr.obj: $(SRC_D)\crypto\dsa\dsa_depr.c + $(CC) /Fo$(OBJ_D)\dsa_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_depr.c + +$(OBJ_D)\dsa_ameth.obj: $(SRC_D)\crypto\dsa\dsa_ameth.c + $(CC) /Fo$(OBJ_D)\dsa_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_ameth.c + +$(OBJ_D)\dsa_pmeth.obj: $(SRC_D)\crypto\dsa\dsa_pmeth.c + $(CC) /Fo$(OBJ_D)\dsa_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_pmeth.c + +$(OBJ_D)\dsa_prn.obj: $(SRC_D)\crypto\dsa\dsa_prn.c + $(CC) /Fo$(OBJ_D)\dsa_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dsa\dsa_prn.c + +$(OBJ_D)\dso_dl.obj: $(SRC_D)\crypto\dso\dso_dl.c + $(CC) /Fo$(OBJ_D)\dso_dl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dl.c + +$(OBJ_D)\dso_dlfcn.obj: $(SRC_D)\crypto\dso\dso_dlfcn.c + $(CC) /Fo$(OBJ_D)\dso_dlfcn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_dlfcn.c + +$(OBJ_D)\dso_err.obj: $(SRC_D)\crypto\dso\dso_err.c + $(CC) /Fo$(OBJ_D)\dso_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_err.c + +$(OBJ_D)\dso_lib.obj: $(SRC_D)\crypto\dso\dso_lib.c + $(CC) /Fo$(OBJ_D)\dso_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_lib.c + +$(OBJ_D)\dso_null.obj: $(SRC_D)\crypto\dso\dso_null.c + $(CC) /Fo$(OBJ_D)\dso_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_null.c + +$(OBJ_D)\dso_openssl.obj: $(SRC_D)\crypto\dso\dso_openssl.c + $(CC) /Fo$(OBJ_D)\dso_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_openssl.c + +$(OBJ_D)\dso_win32.obj: $(SRC_D)\crypto\dso\dso_win32.c + $(CC) /Fo$(OBJ_D)\dso_win32.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_win32.c + +$(OBJ_D)\dso_vms.obj: $(SRC_D)\crypto\dso\dso_vms.c + $(CC) /Fo$(OBJ_D)\dso_vms.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_vms.c + +$(OBJ_D)\dso_beos.obj: $(SRC_D)\crypto\dso\dso_beos.c + $(CC) /Fo$(OBJ_D)\dso_beos.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dso\dso_beos.c + +$(OBJ_D)\dh_asn1.obj: $(SRC_D)\crypto\dh\dh_asn1.c + $(CC) /Fo$(OBJ_D)\dh_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_asn1.c + +$(OBJ_D)\dh_gen.obj: $(SRC_D)\crypto\dh\dh_gen.c + $(CC) /Fo$(OBJ_D)\dh_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_gen.c + +$(OBJ_D)\dh_key.obj: $(SRC_D)\crypto\dh\dh_key.c + $(CC) /Fo$(OBJ_D)\dh_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_key.c + +$(OBJ_D)\dh_lib.obj: $(SRC_D)\crypto\dh\dh_lib.c + $(CC) /Fo$(OBJ_D)\dh_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_lib.c + +$(OBJ_D)\dh_check.obj: $(SRC_D)\crypto\dh\dh_check.c + $(CC) /Fo$(OBJ_D)\dh_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_check.c + +$(OBJ_D)\dh_err.obj: $(SRC_D)\crypto\dh\dh_err.c + $(CC) /Fo$(OBJ_D)\dh_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_err.c + +$(OBJ_D)\dh_depr.obj: $(SRC_D)\crypto\dh\dh_depr.c + $(CC) /Fo$(OBJ_D)\dh_depr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_depr.c + +$(OBJ_D)\dh_ameth.obj: $(SRC_D)\crypto\dh\dh_ameth.c + $(CC) /Fo$(OBJ_D)\dh_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_ameth.c + +$(OBJ_D)\dh_pmeth.obj: $(SRC_D)\crypto\dh\dh_pmeth.c + $(CC) /Fo$(OBJ_D)\dh_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_pmeth.c + +$(OBJ_D)\dh_prn.obj: $(SRC_D)\crypto\dh\dh_prn.c + $(CC) /Fo$(OBJ_D)\dh_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_prn.c + +$(OBJ_D)\dh_rfc5114.obj: $(SRC_D)\crypto\dh\dh_rfc5114.c + $(CC) /Fo$(OBJ_D)\dh_rfc5114.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_rfc5114.c + +$(OBJ_D)\dh_kdf.obj: $(SRC_D)\crypto\dh\dh_kdf.c + $(CC) /Fo$(OBJ_D)\dh_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\dh\dh_kdf.c + +$(OBJ_D)\ec_lib.obj: $(SRC_D)\crypto\ec\ec_lib.c + $(CC) /Fo$(OBJ_D)\ec_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_lib.c + +$(OBJ_D)\ecp_smpl.obj: $(SRC_D)\crypto\ec\ecp_smpl.c + $(CC) /Fo$(OBJ_D)\ecp_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_smpl.c + +$(OBJ_D)\ecp_mont.obj: $(SRC_D)\crypto\ec\ecp_mont.c + $(CC) /Fo$(OBJ_D)\ecp_mont.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_mont.c + +$(OBJ_D)\ecp_nist.obj: $(SRC_D)\crypto\ec\ecp_nist.c + $(CC) /Fo$(OBJ_D)\ecp_nist.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nist.c + +$(OBJ_D)\ec_cvt.obj: $(SRC_D)\crypto\ec\ec_cvt.c + $(CC) /Fo$(OBJ_D)\ec_cvt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_cvt.c + +$(OBJ_D)\ec_mult.obj: $(SRC_D)\crypto\ec\ec_mult.c + $(CC) /Fo$(OBJ_D)\ec_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_mult.c + +$(OBJ_D)\ec_err.obj: $(SRC_D)\crypto\ec\ec_err.c + $(CC) /Fo$(OBJ_D)\ec_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_err.c + +$(OBJ_D)\ec_curve.obj: $(SRC_D)\crypto\ec\ec_curve.c + $(CC) /Fo$(OBJ_D)\ec_curve.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_curve.c + +$(OBJ_D)\ec_check.obj: $(SRC_D)\crypto\ec\ec_check.c + $(CC) /Fo$(OBJ_D)\ec_check.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_check.c + +$(OBJ_D)\ec_print.obj: $(SRC_D)\crypto\ec\ec_print.c + $(CC) /Fo$(OBJ_D)\ec_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_print.c + +$(OBJ_D)\ec_asn1.obj: $(SRC_D)\crypto\ec\ec_asn1.c + $(CC) /Fo$(OBJ_D)\ec_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_asn1.c + +$(OBJ_D)\ec_key.obj: $(SRC_D)\crypto\ec\ec_key.c + $(CC) /Fo$(OBJ_D)\ec_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_key.c + +$(OBJ_D)\ec2_smpl.obj: $(SRC_D)\crypto\ec\ec2_smpl.c + $(CC) /Fo$(OBJ_D)\ec2_smpl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_smpl.c + +$(OBJ_D)\ec2_mult.obj: $(SRC_D)\crypto\ec\ec2_mult.c + $(CC) /Fo$(OBJ_D)\ec2_mult.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_mult.c + +$(OBJ_D)\ec_ameth.obj: $(SRC_D)\crypto\ec\ec_ameth.c + $(CC) /Fo$(OBJ_D)\ec_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_ameth.c + +$(OBJ_D)\ec_pmeth.obj: $(SRC_D)\crypto\ec\ec_pmeth.c + $(CC) /Fo$(OBJ_D)\ec_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_pmeth.c + +$(OBJ_D)\eck_prn.obj: $(SRC_D)\crypto\ec\eck_prn.c + $(CC) /Fo$(OBJ_D)\eck_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\eck_prn.c + +$(OBJ_D)\ecp_nistp224.obj: $(SRC_D)\crypto\ec\ecp_nistp224.c + $(CC) /Fo$(OBJ_D)\ecp_nistp224.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp224.c + +$(OBJ_D)\ecp_nistp256.obj: $(SRC_D)\crypto\ec\ecp_nistp256.c + $(CC) /Fo$(OBJ_D)\ecp_nistp256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp256.c + +$(OBJ_D)\ecp_nistp521.obj: $(SRC_D)\crypto\ec\ecp_nistp521.c + $(CC) /Fo$(OBJ_D)\ecp_nistp521.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistp521.c + +$(OBJ_D)\ecp_nistputil.obj: $(SRC_D)\crypto\ec\ecp_nistputil.c + $(CC) /Fo$(OBJ_D)\ecp_nistputil.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistputil.c + +$(OBJ_D)\ecp_oct.obj: $(SRC_D)\crypto\ec\ecp_oct.c + $(CC) /Fo$(OBJ_D)\ecp_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_oct.c + +$(OBJ_D)\ec2_oct.obj: $(SRC_D)\crypto\ec\ec2_oct.c + $(CC) /Fo$(OBJ_D)\ec2_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec2_oct.c + +$(OBJ_D)\ec_oct.obj: $(SRC_D)\crypto\ec\ec_oct.c + $(CC) /Fo$(OBJ_D)\ec_oct.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ec_oct.c + +$(OBJ_D)\ecp_nistz256.obj: $(SRC_D)\crypto\ec\ecp_nistz256.c + $(CC) /Fo$(OBJ_D)\ecp_nistz256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ec\ecp_nistz256.c + +$(TMP_D)\ecp_nistz256-x86_64.asm: crypto\ec\asm\ecp_nistz256-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\ec\asm\ecp_nistz256-x86_64.pl $@ + +$(OBJ_D)\ecp_nistz256-x86_64.obj: $(TMP_D)\ecp_nistz256-x86_64.asm + $(ASM) -o $@ $(TMP_D)\ecp_nistz256-x86_64.asm + +$(OBJ_D)\ech_lib.obj: $(SRC_D)\crypto\ecdh\ech_lib.c + $(CC) /Fo$(OBJ_D)\ech_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_lib.c + +$(OBJ_D)\ech_ossl.obj: $(SRC_D)\crypto\ecdh\ech_ossl.c + $(CC) /Fo$(OBJ_D)\ech_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_ossl.c + +$(OBJ_D)\ech_key.obj: $(SRC_D)\crypto\ecdh\ech_key.c + $(CC) /Fo$(OBJ_D)\ech_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_key.c + +$(OBJ_D)\ech_err.obj: $(SRC_D)\crypto\ecdh\ech_err.c + $(CC) /Fo$(OBJ_D)\ech_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_err.c + +$(OBJ_D)\ech_kdf.obj: $(SRC_D)\crypto\ecdh\ech_kdf.c + $(CC) /Fo$(OBJ_D)\ech_kdf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdh\ech_kdf.c + +$(OBJ_D)\ecs_lib.obj: $(SRC_D)\crypto\ecdsa\ecs_lib.c + $(CC) /Fo$(OBJ_D)\ecs_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_lib.c + +$(OBJ_D)\ecs_asn1.obj: $(SRC_D)\crypto\ecdsa\ecs_asn1.c + $(CC) /Fo$(OBJ_D)\ecs_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_asn1.c + +$(OBJ_D)\ecs_ossl.obj: $(SRC_D)\crypto\ecdsa\ecs_ossl.c + $(CC) /Fo$(OBJ_D)\ecs_ossl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_ossl.c + +$(OBJ_D)\ecs_sign.obj: $(SRC_D)\crypto\ecdsa\ecs_sign.c + $(CC) /Fo$(OBJ_D)\ecs_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_sign.c + +$(OBJ_D)\ecs_vrf.obj: $(SRC_D)\crypto\ecdsa\ecs_vrf.c + $(CC) /Fo$(OBJ_D)\ecs_vrf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_vrf.c + +$(OBJ_D)\ecs_err.obj: $(SRC_D)\crypto\ecdsa\ecs_err.c + $(CC) /Fo$(OBJ_D)\ecs_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecs_err.c + +$(OBJ_D)\buffer.obj: $(SRC_D)\crypto\buffer\buffer.c + $(CC) /Fo$(OBJ_D)\buffer.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buffer.c + +$(OBJ_D)\buf_str.obj: $(SRC_D)\crypto\buffer\buf_str.c + $(CC) /Fo$(OBJ_D)\buf_str.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_str.c + +$(OBJ_D)\buf_err.obj: $(SRC_D)\crypto\buffer\buf_err.c + $(CC) /Fo$(OBJ_D)\buf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\buffer\buf_err.c + +$(OBJ_D)\bio_lib.obj: $(SRC_D)\crypto\bio\bio_lib.c + $(CC) /Fo$(OBJ_D)\bio_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_lib.c + +$(OBJ_D)\bio_cb.obj: $(SRC_D)\crypto\bio\bio_cb.c + $(CC) /Fo$(OBJ_D)\bio_cb.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_cb.c + +$(OBJ_D)\bio_err.obj: $(SRC_D)\crypto\bio\bio_err.c + $(CC) /Fo$(OBJ_D)\bio_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bio_err.c + +$(OBJ_D)\bss_mem.obj: $(SRC_D)\crypto\bio\bss_mem.c + $(CC) /Fo$(OBJ_D)\bss_mem.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_mem.c + +$(OBJ_D)\bss_null.obj: $(SRC_D)\crypto\bio\bss_null.c + $(CC) /Fo$(OBJ_D)\bss_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_null.c + +$(OBJ_D)\bss_fd.obj: $(SRC_D)\crypto\bio\bss_fd.c + $(CC) /Fo$(OBJ_D)\bss_fd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_fd.c + +$(OBJ_D)\bss_file.obj: $(SRC_D)\crypto\bio\bss_file.c + $(CC) /Fo$(OBJ_D)\bss_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_file.c + +$(OBJ_D)\bss_sock.obj: $(SRC_D)\crypto\bio\bss_sock.c + $(CC) /Fo$(OBJ_D)\bss_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_sock.c + +$(OBJ_D)\bss_conn.obj: $(SRC_D)\crypto\bio\bss_conn.c + $(CC) /Fo$(OBJ_D)\bss_conn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_conn.c + +$(OBJ_D)\bf_null.obj: $(SRC_D)\crypto\bio\bf_null.c + $(CC) /Fo$(OBJ_D)\bf_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_null.c + +$(OBJ_D)\bf_buff.obj: $(SRC_D)\crypto\bio\bf_buff.c + $(CC) /Fo$(OBJ_D)\bf_buff.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_buff.c + +$(OBJ_D)\b_print.obj: $(SRC_D)\crypto\bio\b_print.c + $(CC) /Fo$(OBJ_D)\b_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_print.c + +$(OBJ_D)\b_dump.obj: $(SRC_D)\crypto\bio\b_dump.c + $(CC) /Fo$(OBJ_D)\b_dump.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_dump.c + +$(OBJ_D)\b_sock.obj: $(SRC_D)\crypto\bio\b_sock.c + $(CC) /Fo$(OBJ_D)\b_sock.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\b_sock.c + +$(OBJ_D)\bss_acpt.obj: $(SRC_D)\crypto\bio\bss_acpt.c + $(CC) /Fo$(OBJ_D)\bss_acpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_acpt.c + +$(OBJ_D)\bf_nbio.obj: $(SRC_D)\crypto\bio\bf_nbio.c + $(CC) /Fo$(OBJ_D)\bf_nbio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bf_nbio.c + +$(OBJ_D)\bss_log.obj: $(SRC_D)\crypto\bio\bss_log.c + $(CC) /Fo$(OBJ_D)\bss_log.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_log.c + +$(OBJ_D)\bss_bio.obj: $(SRC_D)\crypto\bio\bss_bio.c + $(CC) /Fo$(OBJ_D)\bss_bio.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_bio.c + +$(OBJ_D)\bss_dgram.obj: $(SRC_D)\crypto\bio\bss_dgram.c + $(CC) /Fo$(OBJ_D)\bss_dgram.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\bio\bss_dgram.c + +$(OBJ_D)\stack.obj: $(SRC_D)\crypto\stack\stack.c + $(CC) /Fo$(OBJ_D)\stack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\stack\stack.c + +$(OBJ_D)\lhash.obj: $(SRC_D)\crypto\lhash\lhash.c + $(CC) /Fo$(OBJ_D)\lhash.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lhash.c + +$(OBJ_D)\lh_stats.obj: $(SRC_D)\crypto\lhash\lh_stats.c + $(CC) /Fo$(OBJ_D)\lh_stats.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\lhash\lh_stats.c + +$(OBJ_D)\md_rand.obj: $(SRC_D)\crypto\rand\md_rand.c + $(CC) /Fo$(OBJ_D)\md_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\md_rand.c + +$(OBJ_D)\randfile.obj: $(SRC_D)\crypto\rand\randfile.c + $(CC) /Fo$(OBJ_D)\randfile.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\randfile.c + +$(OBJ_D)\rand_lib.obj: $(SRC_D)\crypto\rand\rand_lib.c + $(CC) /Fo$(OBJ_D)\rand_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_lib.c + +$(OBJ_D)\rand_err.obj: $(SRC_D)\crypto\rand\rand_err.c + $(CC) /Fo$(OBJ_D)\rand_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_err.c + +$(OBJ_D)\rand_egd.obj: $(SRC_D)\crypto\rand\rand_egd.c + $(CC) /Fo$(OBJ_D)\rand_egd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_egd.c + +$(OBJ_D)\rand_win.obj: $(SRC_D)\crypto\rand\rand_win.c + $(CC) /Fo$(OBJ_D)\rand_win.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_win.c + +$(OBJ_D)\rand_unix.obj: $(SRC_D)\crypto\rand\rand_unix.c + $(CC) /Fo$(OBJ_D)\rand_unix.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_unix.c + +$(OBJ_D)\rand_os2.obj: $(SRC_D)\crypto\rand\rand_os2.c + $(CC) /Fo$(OBJ_D)\rand_os2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_os2.c + +$(OBJ_D)\rand_nw.obj: $(SRC_D)\crypto\rand\rand_nw.c + $(CC) /Fo$(OBJ_D)\rand_nw.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\rand\rand_nw.c + +$(OBJ_D)\err.obj: $(SRC_D)\crypto\err\err.c + $(CC) /Fo$(OBJ_D)\err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err.c + +$(OBJ_D)\err_all.obj: $(SRC_D)\crypto\err\err_all.c + $(CC) /Fo$(OBJ_D)\err_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_all.c + +$(OBJ_D)\err_prn.obj: $(SRC_D)\crypto\err\err_prn.c + $(CC) /Fo$(OBJ_D)\err_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\err\err_prn.c + +$(OBJ_D)\o_names.obj: $(SRC_D)\crypto\objects\o_names.c + $(CC) /Fo$(OBJ_D)\o_names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\o_names.c + +$(OBJ_D)\obj_dat.obj: $(SRC_D)\crypto\objects\obj_dat.c + $(CC) /Fo$(OBJ_D)\obj_dat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_dat.c + +$(OBJ_D)\obj_lib.obj: $(SRC_D)\crypto\objects\obj_lib.c + $(CC) /Fo$(OBJ_D)\obj_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_lib.c + +$(OBJ_D)\obj_err.obj: $(SRC_D)\crypto\objects\obj_err.c + $(CC) /Fo$(OBJ_D)\obj_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_err.c + +$(OBJ_D)\obj_xref.obj: $(SRC_D)\crypto\objects\obj_xref.c + $(CC) /Fo$(OBJ_D)\obj_xref.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\objects\obj_xref.c + +$(OBJ_D)\encode.obj: $(SRC_D)\crypto\evp\encode.c + $(CC) /Fo$(OBJ_D)\encode.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\encode.c + +$(OBJ_D)\digest.obj: $(SRC_D)\crypto\evp\digest.c + $(CC) /Fo$(OBJ_D)\digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\digest.c + +$(OBJ_D)\evp_enc.obj: $(SRC_D)\crypto\evp\evp_enc.c + $(CC) /Fo$(OBJ_D)\evp_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_enc.c + +$(OBJ_D)\evp_key.obj: $(SRC_D)\crypto\evp\evp_key.c + $(CC) /Fo$(OBJ_D)\evp_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_key.c + +$(OBJ_D)\evp_acnf.obj: $(SRC_D)\crypto\evp\evp_acnf.c + $(CC) /Fo$(OBJ_D)\evp_acnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_acnf.c + +$(OBJ_D)\evp_cnf.obj: $(SRC_D)\crypto\evp\evp_cnf.c + $(CC) /Fo$(OBJ_D)\evp_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_cnf.c + +$(OBJ_D)\e_des.obj: $(SRC_D)\crypto\evp\e_des.c + $(CC) /Fo$(OBJ_D)\e_des.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des.c + +$(OBJ_D)\e_bf.obj: $(SRC_D)\crypto\evp\e_bf.c + $(CC) /Fo$(OBJ_D)\e_bf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_bf.c + +$(OBJ_D)\e_idea.obj: $(SRC_D)\crypto\evp\e_idea.c + $(CC) /Fo$(OBJ_D)\e_idea.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_idea.c + +$(OBJ_D)\e_des3.obj: $(SRC_D)\crypto\evp\e_des3.c + $(CC) /Fo$(OBJ_D)\e_des3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_des3.c + +$(OBJ_D)\e_camellia.obj: $(SRC_D)\crypto\evp\e_camellia.c + $(CC) /Fo$(OBJ_D)\e_camellia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_camellia.c + +$(OBJ_D)\e_rc4.obj: $(SRC_D)\crypto\evp\e_rc4.c + $(CC) /Fo$(OBJ_D)\e_rc4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4.c + +$(OBJ_D)\e_aes.obj: $(SRC_D)\crypto\evp\e_aes.c + $(CC) /Fo$(OBJ_D)\e_aes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes.c + +$(OBJ_D)\names.obj: $(SRC_D)\crypto\evp\names.c + $(CC) /Fo$(OBJ_D)\names.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\names.c + +$(OBJ_D)\e_seed.obj: $(SRC_D)\crypto\evp\e_seed.c + $(CC) /Fo$(OBJ_D)\e_seed.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_seed.c + +$(OBJ_D)\e_xcbc_d.obj: $(SRC_D)\crypto\evp\e_xcbc_d.c + $(CC) /Fo$(OBJ_D)\e_xcbc_d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_xcbc_d.c + +$(OBJ_D)\e_rc2.obj: $(SRC_D)\crypto\evp\e_rc2.c + $(CC) /Fo$(OBJ_D)\e_rc2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc2.c + +$(OBJ_D)\e_cast.obj: $(SRC_D)\crypto\evp\e_cast.c + $(CC) /Fo$(OBJ_D)\e_cast.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_cast.c + +$(OBJ_D)\e_rc5.obj: $(SRC_D)\crypto\evp\e_rc5.c + $(CC) /Fo$(OBJ_D)\e_rc5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc5.c + +$(OBJ_D)\m_null.obj: $(SRC_D)\crypto\evp\m_null.c + $(CC) /Fo$(OBJ_D)\m_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_null.c + +$(OBJ_D)\m_md4.obj: $(SRC_D)\crypto\evp\m_md4.c + $(CC) /Fo$(OBJ_D)\m_md4.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md4.c + +$(OBJ_D)\m_md5.obj: $(SRC_D)\crypto\evp\m_md5.c + $(CC) /Fo$(OBJ_D)\m_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_md5.c + +$(OBJ_D)\m_sha.obj: $(SRC_D)\crypto\evp\m_sha.c + $(CC) /Fo$(OBJ_D)\m_sha.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha.c + +$(OBJ_D)\m_sha1.obj: $(SRC_D)\crypto\evp\m_sha1.c + $(CC) /Fo$(OBJ_D)\m_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sha1.c + +$(OBJ_D)\m_wp.obj: $(SRC_D)\crypto\evp\m_wp.c + $(CC) /Fo$(OBJ_D)\m_wp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_wp.c + +$(OBJ_D)\m_dss.obj: $(SRC_D)\crypto\evp\m_dss.c + $(CC) /Fo$(OBJ_D)\m_dss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss.c + +$(OBJ_D)\m_dss1.obj: $(SRC_D)\crypto\evp\m_dss1.c + $(CC) /Fo$(OBJ_D)\m_dss1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_dss1.c + +$(OBJ_D)\m_ripemd.obj: $(SRC_D)\crypto\evp\m_ripemd.c + $(CC) /Fo$(OBJ_D)\m_ripemd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ripemd.c + +$(OBJ_D)\m_ecdsa.obj: $(SRC_D)\crypto\evp\m_ecdsa.c + $(CC) /Fo$(OBJ_D)\m_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_ecdsa.c + +$(OBJ_D)\p_open.obj: $(SRC_D)\crypto\evp\p_open.c + $(CC) /Fo$(OBJ_D)\p_open.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_open.c + +$(OBJ_D)\p_seal.obj: $(SRC_D)\crypto\evp\p_seal.c + $(CC) /Fo$(OBJ_D)\p_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_seal.c + +$(OBJ_D)\p_sign.obj: $(SRC_D)\crypto\evp\p_sign.c + $(CC) /Fo$(OBJ_D)\p_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_sign.c + +$(OBJ_D)\p_verify.obj: $(SRC_D)\crypto\evp\p_verify.c + $(CC) /Fo$(OBJ_D)\p_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_verify.c + +$(OBJ_D)\p_lib.obj: $(SRC_D)\crypto\evp\p_lib.c + $(CC) /Fo$(OBJ_D)\p_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_lib.c + +$(OBJ_D)\p_enc.obj: $(SRC_D)\crypto\evp\p_enc.c + $(CC) /Fo$(OBJ_D)\p_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_enc.c + +$(OBJ_D)\p_dec.obj: $(SRC_D)\crypto\evp\p_dec.c + $(CC) /Fo$(OBJ_D)\p_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p_dec.c + +$(OBJ_D)\bio_md.obj: $(SRC_D)\crypto\evp\bio_md.c + $(CC) /Fo$(OBJ_D)\bio_md.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_md.c + +$(OBJ_D)\bio_b64.obj: $(SRC_D)\crypto\evp\bio_b64.c + $(CC) /Fo$(OBJ_D)\bio_b64.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_b64.c + +$(OBJ_D)\bio_enc.obj: $(SRC_D)\crypto\evp\bio_enc.c + $(CC) /Fo$(OBJ_D)\bio_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_enc.c + +$(OBJ_D)\evp_err.obj: $(SRC_D)\crypto\evp\evp_err.c + $(CC) /Fo$(OBJ_D)\evp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_err.c + +$(OBJ_D)\e_null.obj: $(SRC_D)\crypto\evp\e_null.c + $(CC) /Fo$(OBJ_D)\e_null.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_null.c + +$(OBJ_D)\c_all.obj: $(SRC_D)\crypto\evp\c_all.c + $(CC) /Fo$(OBJ_D)\c_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_all.c + +$(OBJ_D)\c_allc.obj: $(SRC_D)\crypto\evp\c_allc.c + $(CC) /Fo$(OBJ_D)\c_allc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_allc.c + +$(OBJ_D)\c_alld.obj: $(SRC_D)\crypto\evp\c_alld.c + $(CC) /Fo$(OBJ_D)\c_alld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\c_alld.c + +$(OBJ_D)\evp_lib.obj: $(SRC_D)\crypto\evp\evp_lib.c + $(CC) /Fo$(OBJ_D)\evp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_lib.c + +$(OBJ_D)\bio_ok.obj: $(SRC_D)\crypto\evp\bio_ok.c + $(CC) /Fo$(OBJ_D)\bio_ok.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\bio_ok.c + +$(OBJ_D)\evp_pkey.obj: $(SRC_D)\crypto\evp\evp_pkey.c + $(CC) /Fo$(OBJ_D)\evp_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pkey.c + +$(OBJ_D)\evp_pbe.obj: $(SRC_D)\crypto\evp\evp_pbe.c + $(CC) /Fo$(OBJ_D)\evp_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\evp_pbe.c + +$(OBJ_D)\p5_crpt.obj: $(SRC_D)\crypto\evp\p5_crpt.c + $(CC) /Fo$(OBJ_D)\p5_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt.c + +$(OBJ_D)\p5_crpt2.obj: $(SRC_D)\crypto\evp\p5_crpt2.c + $(CC) /Fo$(OBJ_D)\p5_crpt2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\p5_crpt2.c + +$(OBJ_D)\e_old.obj: $(SRC_D)\crypto\evp\e_old.c + $(CC) /Fo$(OBJ_D)\e_old.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_old.c + +$(OBJ_D)\pmeth_lib.obj: $(SRC_D)\crypto\evp\pmeth_lib.c + $(CC) /Fo$(OBJ_D)\pmeth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_lib.c + +$(OBJ_D)\pmeth_fn.obj: $(SRC_D)\crypto\evp\pmeth_fn.c + $(CC) /Fo$(OBJ_D)\pmeth_fn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_fn.c + +$(OBJ_D)\pmeth_gn.obj: $(SRC_D)\crypto\evp\pmeth_gn.c + $(CC) /Fo$(OBJ_D)\pmeth_gn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\pmeth_gn.c + +$(OBJ_D)\m_sigver.obj: $(SRC_D)\crypto\evp\m_sigver.c + $(CC) /Fo$(OBJ_D)\m_sigver.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\m_sigver.c + +$(OBJ_D)\e_aes_cbc_hmac_sha1.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c + $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c + +$(OBJ_D)\e_aes_cbc_hmac_sha256.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c + $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c + +$(OBJ_D)\e_rc4_hmac_md5.obj: $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c + $(CC) /Fo$(OBJ_D)\e_rc4_hmac_md5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c + +$(OBJ_D)\a_object.obj: $(SRC_D)\crypto\asn1\a_object.c + $(CC) /Fo$(OBJ_D)\a_object.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_object.c + +$(OBJ_D)\a_bitstr.obj: $(SRC_D)\crypto\asn1\a_bitstr.c + $(CC) /Fo$(OBJ_D)\a_bitstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bitstr.c + +$(OBJ_D)\a_utctm.obj: $(SRC_D)\crypto\asn1\a_utctm.c + $(CC) /Fo$(OBJ_D)\a_utctm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utctm.c + +$(OBJ_D)\a_gentm.obj: $(SRC_D)\crypto\asn1\a_gentm.c + $(CC) /Fo$(OBJ_D)\a_gentm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_gentm.c + +$(OBJ_D)\a_time.obj: $(SRC_D)\crypto\asn1\a_time.c + $(CC) /Fo$(OBJ_D)\a_time.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_time.c + +$(OBJ_D)\a_int.obj: $(SRC_D)\crypto\asn1\a_int.c + $(CC) /Fo$(OBJ_D)\a_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_int.c + +$(OBJ_D)\a_octet.obj: $(SRC_D)\crypto\asn1\a_octet.c + $(CC) /Fo$(OBJ_D)\a_octet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_octet.c + +$(OBJ_D)\a_print.obj: $(SRC_D)\crypto\asn1\a_print.c + $(CC) /Fo$(OBJ_D)\a_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_print.c + +$(OBJ_D)\a_type.obj: $(SRC_D)\crypto\asn1\a_type.c + $(CC) /Fo$(OBJ_D)\a_type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_type.c + +$(OBJ_D)\a_set.obj: $(SRC_D)\crypto\asn1\a_set.c + $(CC) /Fo$(OBJ_D)\a_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_set.c + +$(OBJ_D)\a_dup.obj: $(SRC_D)\crypto\asn1\a_dup.c + $(CC) /Fo$(OBJ_D)\a_dup.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_dup.c + +$(OBJ_D)\a_d2i_fp.obj: $(SRC_D)\crypto\asn1\a_d2i_fp.c + $(CC) /Fo$(OBJ_D)\a_d2i_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_d2i_fp.c + +$(OBJ_D)\a_i2d_fp.obj: $(SRC_D)\crypto\asn1\a_i2d_fp.c + $(CC) /Fo$(OBJ_D)\a_i2d_fp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_i2d_fp.c + +$(OBJ_D)\a_enum.obj: $(SRC_D)\crypto\asn1\a_enum.c + $(CC) /Fo$(OBJ_D)\a_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_enum.c + +$(OBJ_D)\a_utf8.obj: $(SRC_D)\crypto\asn1\a_utf8.c + $(CC) /Fo$(OBJ_D)\a_utf8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_utf8.c + +$(OBJ_D)\a_sign.obj: $(SRC_D)\crypto\asn1\a_sign.c + $(CC) /Fo$(OBJ_D)\a_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_sign.c + +$(OBJ_D)\a_digest.obj: $(SRC_D)\crypto\asn1\a_digest.c + $(CC) /Fo$(OBJ_D)\a_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_digest.c + +$(OBJ_D)\a_verify.obj: $(SRC_D)\crypto\asn1\a_verify.c + $(CC) /Fo$(OBJ_D)\a_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_verify.c + +$(OBJ_D)\a_mbstr.obj: $(SRC_D)\crypto\asn1\a_mbstr.c + $(CC) /Fo$(OBJ_D)\a_mbstr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_mbstr.c + +$(OBJ_D)\a_strex.obj: $(SRC_D)\crypto\asn1\a_strex.c + $(CC) /Fo$(OBJ_D)\a_strex.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strex.c + +$(OBJ_D)\x_algor.obj: $(SRC_D)\crypto\asn1\x_algor.c + $(CC) /Fo$(OBJ_D)\x_algor.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_algor.c + +$(OBJ_D)\x_val.obj: $(SRC_D)\crypto\asn1\x_val.c + $(CC) /Fo$(OBJ_D)\x_val.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_val.c + +$(OBJ_D)\x_pubkey.obj: $(SRC_D)\crypto\asn1\x_pubkey.c + $(CC) /Fo$(OBJ_D)\x_pubkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pubkey.c + +$(OBJ_D)\x_sig.obj: $(SRC_D)\crypto\asn1\x_sig.c + $(CC) /Fo$(OBJ_D)\x_sig.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_sig.c + +$(OBJ_D)\x_req.obj: $(SRC_D)\crypto\asn1\x_req.c + $(CC) /Fo$(OBJ_D)\x_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_req.c + +$(OBJ_D)\x_attrib.obj: $(SRC_D)\crypto\asn1\x_attrib.c + $(CC) /Fo$(OBJ_D)\x_attrib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_attrib.c + +$(OBJ_D)\x_bignum.obj: $(SRC_D)\crypto\asn1\x_bignum.c + $(CC) /Fo$(OBJ_D)\x_bignum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_bignum.c + +$(OBJ_D)\x_long.obj: $(SRC_D)\crypto\asn1\x_long.c + $(CC) /Fo$(OBJ_D)\x_long.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_long.c + +$(OBJ_D)\x_name.obj: $(SRC_D)\crypto\asn1\x_name.c + $(CC) /Fo$(OBJ_D)\x_name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_name.c + +$(OBJ_D)\x_x509.obj: $(SRC_D)\crypto\asn1\x_x509.c + $(CC) /Fo$(OBJ_D)\x_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509.c + +$(OBJ_D)\x_x509a.obj: $(SRC_D)\crypto\asn1\x_x509a.c + $(CC) /Fo$(OBJ_D)\x_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_x509a.c + +$(OBJ_D)\x_crl.obj: $(SRC_D)\crypto\asn1\x_crl.c + $(CC) /Fo$(OBJ_D)\x_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_crl.c + +$(OBJ_D)\x_info.obj: $(SRC_D)\crypto\asn1\x_info.c + $(CC) /Fo$(OBJ_D)\x_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_info.c + +$(OBJ_D)\x_spki.obj: $(SRC_D)\crypto\asn1\x_spki.c + $(CC) /Fo$(OBJ_D)\x_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_spki.c + +$(OBJ_D)\nsseq.obj: $(SRC_D)\crypto\asn1\nsseq.c + $(CC) /Fo$(OBJ_D)\nsseq.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\nsseq.c + +$(OBJ_D)\x_nx509.obj: $(SRC_D)\crypto\asn1\x_nx509.c + $(CC) /Fo$(OBJ_D)\x_nx509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_nx509.c + +$(OBJ_D)\d2i_pu.obj: $(SRC_D)\crypto\asn1\d2i_pu.c + $(CC) /Fo$(OBJ_D)\d2i_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pu.c + +$(OBJ_D)\d2i_pr.obj: $(SRC_D)\crypto\asn1\d2i_pr.c + $(CC) /Fo$(OBJ_D)\d2i_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\d2i_pr.c + +$(OBJ_D)\i2d_pu.obj: $(SRC_D)\crypto\asn1\i2d_pu.c + $(CC) /Fo$(OBJ_D)\i2d_pu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pu.c + +$(OBJ_D)\i2d_pr.obj: $(SRC_D)\crypto\asn1\i2d_pr.c + $(CC) /Fo$(OBJ_D)\i2d_pr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\i2d_pr.c + +$(OBJ_D)\t_req.obj: $(SRC_D)\crypto\asn1\t_req.c + $(CC) /Fo$(OBJ_D)\t_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_req.c + +$(OBJ_D)\t_x509.obj: $(SRC_D)\crypto\asn1\t_x509.c + $(CC) /Fo$(OBJ_D)\t_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509.c + +$(OBJ_D)\t_x509a.obj: $(SRC_D)\crypto\asn1\t_x509a.c + $(CC) /Fo$(OBJ_D)\t_x509a.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_x509a.c + +$(OBJ_D)\t_crl.obj: $(SRC_D)\crypto\asn1\t_crl.c + $(CC) /Fo$(OBJ_D)\t_crl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_crl.c + +$(OBJ_D)\t_pkey.obj: $(SRC_D)\crypto\asn1\t_pkey.c + $(CC) /Fo$(OBJ_D)\t_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_pkey.c + +$(OBJ_D)\t_spki.obj: $(SRC_D)\crypto\asn1\t_spki.c + $(CC) /Fo$(OBJ_D)\t_spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_spki.c + +$(OBJ_D)\t_bitst.obj: $(SRC_D)\crypto\asn1\t_bitst.c + $(CC) /Fo$(OBJ_D)\t_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\t_bitst.c + +$(OBJ_D)\tasn_new.obj: $(SRC_D)\crypto\asn1\tasn_new.c + $(CC) /Fo$(OBJ_D)\tasn_new.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_new.c + +$(OBJ_D)\tasn_fre.obj: $(SRC_D)\crypto\asn1\tasn_fre.c + $(CC) /Fo$(OBJ_D)\tasn_fre.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_fre.c + +$(OBJ_D)\tasn_enc.obj: $(SRC_D)\crypto\asn1\tasn_enc.c + $(CC) /Fo$(OBJ_D)\tasn_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_enc.c + +$(OBJ_D)\tasn_dec.obj: $(SRC_D)\crypto\asn1\tasn_dec.c + $(CC) /Fo$(OBJ_D)\tasn_dec.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_dec.c + +$(OBJ_D)\tasn_utl.obj: $(SRC_D)\crypto\asn1\tasn_utl.c + $(CC) /Fo$(OBJ_D)\tasn_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_utl.c + +$(OBJ_D)\tasn_typ.obj: $(SRC_D)\crypto\asn1\tasn_typ.c + $(CC) /Fo$(OBJ_D)\tasn_typ.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_typ.c + +$(OBJ_D)\tasn_prn.obj: $(SRC_D)\crypto\asn1\tasn_prn.c + $(CC) /Fo$(OBJ_D)\tasn_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\tasn_prn.c + +$(OBJ_D)\ameth_lib.obj: $(SRC_D)\crypto\asn1\ameth_lib.c + $(CC) /Fo$(OBJ_D)\ameth_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\ameth_lib.c + +$(OBJ_D)\f_int.obj: $(SRC_D)\crypto\asn1\f_int.c + $(CC) /Fo$(OBJ_D)\f_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_int.c + +$(OBJ_D)\f_string.obj: $(SRC_D)\crypto\asn1\f_string.c + $(CC) /Fo$(OBJ_D)\f_string.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_string.c + +$(OBJ_D)\n_pkey.obj: $(SRC_D)\crypto\asn1\n_pkey.c + $(CC) /Fo$(OBJ_D)\n_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\n_pkey.c + +$(OBJ_D)\f_enum.obj: $(SRC_D)\crypto\asn1\f_enum.c + $(CC) /Fo$(OBJ_D)\f_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\f_enum.c + +$(OBJ_D)\x_pkey.obj: $(SRC_D)\crypto\asn1\x_pkey.c + $(CC) /Fo$(OBJ_D)\x_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_pkey.c + +$(OBJ_D)\a_bool.obj: $(SRC_D)\crypto\asn1\a_bool.c + $(CC) /Fo$(OBJ_D)\a_bool.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bool.c + +$(OBJ_D)\x_exten.obj: $(SRC_D)\crypto\asn1\x_exten.c + $(CC) /Fo$(OBJ_D)\x_exten.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\x_exten.c + +$(OBJ_D)\bio_asn1.obj: $(SRC_D)\crypto\asn1\bio_asn1.c + $(CC) /Fo$(OBJ_D)\bio_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_asn1.c + +$(OBJ_D)\bio_ndef.obj: $(SRC_D)\crypto\asn1\bio_ndef.c + $(CC) /Fo$(OBJ_D)\bio_ndef.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\bio_ndef.c + +$(OBJ_D)\asn_mime.obj: $(SRC_D)\crypto\asn1\asn_mime.c + $(CC) /Fo$(OBJ_D)\asn_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_mime.c + +$(OBJ_D)\asn1_gen.obj: $(SRC_D)\crypto\asn1\asn1_gen.c + $(CC) /Fo$(OBJ_D)\asn1_gen.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_gen.c + +$(OBJ_D)\asn1_par.obj: $(SRC_D)\crypto\asn1\asn1_par.c + $(CC) /Fo$(OBJ_D)\asn1_par.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_par.c + +$(OBJ_D)\asn1_lib.obj: $(SRC_D)\crypto\asn1\asn1_lib.c + $(CC) /Fo$(OBJ_D)\asn1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_lib.c + +$(OBJ_D)\asn1_err.obj: $(SRC_D)\crypto\asn1\asn1_err.c + $(CC) /Fo$(OBJ_D)\asn1_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn1_err.c + +$(OBJ_D)\a_bytes.obj: $(SRC_D)\crypto\asn1\a_bytes.c + $(CC) /Fo$(OBJ_D)\a_bytes.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_bytes.c + +$(OBJ_D)\a_strnid.obj: $(SRC_D)\crypto\asn1\a_strnid.c + $(CC) /Fo$(OBJ_D)\a_strnid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\a_strnid.c + +$(OBJ_D)\evp_asn1.obj: $(SRC_D)\crypto\asn1\evp_asn1.c + $(CC) /Fo$(OBJ_D)\evp_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\evp_asn1.c + +$(OBJ_D)\asn_pack.obj: $(SRC_D)\crypto\asn1\asn_pack.c + $(CC) /Fo$(OBJ_D)\asn_pack.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_pack.c + +$(OBJ_D)\p5_pbe.obj: $(SRC_D)\crypto\asn1\p5_pbe.c + $(CC) /Fo$(OBJ_D)\p5_pbe.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbe.c + +$(OBJ_D)\p5_pbev2.obj: $(SRC_D)\crypto\asn1\p5_pbev2.c + $(CC) /Fo$(OBJ_D)\p5_pbev2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p5_pbev2.c + +$(OBJ_D)\p8_pkey.obj: $(SRC_D)\crypto\asn1\p8_pkey.c + $(CC) /Fo$(OBJ_D)\p8_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\p8_pkey.c + +$(OBJ_D)\asn_moid.obj: $(SRC_D)\crypto\asn1\asn_moid.c + $(CC) /Fo$(OBJ_D)\asn_moid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\asn1\asn_moid.c + +$(OBJ_D)\pem_sign.obj: $(SRC_D)\crypto\pem\pem_sign.c + $(CC) /Fo$(OBJ_D)\pem_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_sign.c + +$(OBJ_D)\pem_seal.obj: $(SRC_D)\crypto\pem\pem_seal.c + $(CC) /Fo$(OBJ_D)\pem_seal.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_seal.c + +$(OBJ_D)\pem_info.obj: $(SRC_D)\crypto\pem\pem_info.c + $(CC) /Fo$(OBJ_D)\pem_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_info.c + +$(OBJ_D)\pem_lib.obj: $(SRC_D)\crypto\pem\pem_lib.c + $(CC) /Fo$(OBJ_D)\pem_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_lib.c + +$(OBJ_D)\pem_all.obj: $(SRC_D)\crypto\pem\pem_all.c + $(CC) /Fo$(OBJ_D)\pem_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_all.c + +$(OBJ_D)\pem_err.obj: $(SRC_D)\crypto\pem\pem_err.c + $(CC) /Fo$(OBJ_D)\pem_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_err.c + +$(OBJ_D)\pem_x509.obj: $(SRC_D)\crypto\pem\pem_x509.c + $(CC) /Fo$(OBJ_D)\pem_x509.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_x509.c + +$(OBJ_D)\pem_xaux.obj: $(SRC_D)\crypto\pem\pem_xaux.c + $(CC) /Fo$(OBJ_D)\pem_xaux.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_xaux.c + +$(OBJ_D)\pem_oth.obj: $(SRC_D)\crypto\pem\pem_oth.c + $(CC) /Fo$(OBJ_D)\pem_oth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_oth.c + +$(OBJ_D)\pem_pk8.obj: $(SRC_D)\crypto\pem\pem_pk8.c + $(CC) /Fo$(OBJ_D)\pem_pk8.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pk8.c + +$(OBJ_D)\pem_pkey.obj: $(SRC_D)\crypto\pem\pem_pkey.c + $(CC) /Fo$(OBJ_D)\pem_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pem_pkey.c + +$(OBJ_D)\pvkfmt.obj: $(SRC_D)\crypto\pem\pvkfmt.c + $(CC) /Fo$(OBJ_D)\pvkfmt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pem\pvkfmt.c + +$(OBJ_D)\x509_def.obj: $(SRC_D)\crypto\x509\x509_def.c + $(CC) /Fo$(OBJ_D)\x509_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_def.c + +$(OBJ_D)\x509_d2.obj: $(SRC_D)\crypto\x509\x509_d2.c + $(CC) /Fo$(OBJ_D)\x509_d2.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_d2.c + +$(OBJ_D)\x509_r2x.obj: $(SRC_D)\crypto\x509\x509_r2x.c + $(CC) /Fo$(OBJ_D)\x509_r2x.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_r2x.c + +$(OBJ_D)\x509_cmp.obj: $(SRC_D)\crypto\x509\x509_cmp.c + $(CC) /Fo$(OBJ_D)\x509_cmp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_cmp.c + +$(OBJ_D)\x509_obj.obj: $(SRC_D)\crypto\x509\x509_obj.c + $(CC) /Fo$(OBJ_D)\x509_obj.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_obj.c + +$(OBJ_D)\x509_req.obj: $(SRC_D)\crypto\x509\x509_req.c + $(CC) /Fo$(OBJ_D)\x509_req.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_req.c + +$(OBJ_D)\x509spki.obj: $(SRC_D)\crypto\x509\x509spki.c + $(CC) /Fo$(OBJ_D)\x509spki.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509spki.c + +$(OBJ_D)\x509_vfy.obj: $(SRC_D)\crypto\x509\x509_vfy.c + $(CC) /Fo$(OBJ_D)\x509_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vfy.c + +$(OBJ_D)\x509_set.obj: $(SRC_D)\crypto\x509\x509_set.c + $(CC) /Fo$(OBJ_D)\x509_set.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_set.c + +$(OBJ_D)\x509cset.obj: $(SRC_D)\crypto\x509\x509cset.c + $(CC) /Fo$(OBJ_D)\x509cset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509cset.c + +$(OBJ_D)\x509rset.obj: $(SRC_D)\crypto\x509\x509rset.c + $(CC) /Fo$(OBJ_D)\x509rset.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509rset.c + +$(OBJ_D)\x509_err.obj: $(SRC_D)\crypto\x509\x509_err.c + $(CC) /Fo$(OBJ_D)\x509_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_err.c + +$(OBJ_D)\x509name.obj: $(SRC_D)\crypto\x509\x509name.c + $(CC) /Fo$(OBJ_D)\x509name.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509name.c + +$(OBJ_D)\x509_v3.obj: $(SRC_D)\crypto\x509\x509_v3.c + $(CC) /Fo$(OBJ_D)\x509_v3.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_v3.c + +$(OBJ_D)\x509_ext.obj: $(SRC_D)\crypto\x509\x509_ext.c + $(CC) /Fo$(OBJ_D)\x509_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_ext.c + +$(OBJ_D)\x509_att.obj: $(SRC_D)\crypto\x509\x509_att.c + $(CC) /Fo$(OBJ_D)\x509_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_att.c + +$(OBJ_D)\x509type.obj: $(SRC_D)\crypto\x509\x509type.c + $(CC) /Fo$(OBJ_D)\x509type.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509type.c + +$(OBJ_D)\x509_lu.obj: $(SRC_D)\crypto\x509\x509_lu.c + $(CC) /Fo$(OBJ_D)\x509_lu.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_lu.c + +$(OBJ_D)\x_all.obj: $(SRC_D)\crypto\x509\x_all.c + $(CC) /Fo$(OBJ_D)\x_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x_all.c + +$(OBJ_D)\x509_txt.obj: $(SRC_D)\crypto\x509\x509_txt.c + $(CC) /Fo$(OBJ_D)\x509_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_txt.c + +$(OBJ_D)\x509_trs.obj: $(SRC_D)\crypto\x509\x509_trs.c + $(CC) /Fo$(OBJ_D)\x509_trs.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_trs.c + +$(OBJ_D)\by_file.obj: $(SRC_D)\crypto\x509\by_file.c + $(CC) /Fo$(OBJ_D)\by_file.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_file.c + +$(OBJ_D)\by_dir.obj: $(SRC_D)\crypto\x509\by_dir.c + $(CC) /Fo$(OBJ_D)\by_dir.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\by_dir.c + +$(OBJ_D)\x509_vpm.obj: $(SRC_D)\crypto\x509\x509_vpm.c + $(CC) /Fo$(OBJ_D)\x509_vpm.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509\x509_vpm.c + +$(OBJ_D)\v3_bcons.obj: $(SRC_D)\crypto\x509v3\v3_bcons.c + $(CC) /Fo$(OBJ_D)\v3_bcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bcons.c + +$(OBJ_D)\v3_bitst.obj: $(SRC_D)\crypto\x509v3\v3_bitst.c + $(CC) /Fo$(OBJ_D)\v3_bitst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_bitst.c + +$(OBJ_D)\v3_conf.obj: $(SRC_D)\crypto\x509v3\v3_conf.c + $(CC) /Fo$(OBJ_D)\v3_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_conf.c + +$(OBJ_D)\v3_extku.obj: $(SRC_D)\crypto\x509v3\v3_extku.c + $(CC) /Fo$(OBJ_D)\v3_extku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_extku.c + +$(OBJ_D)\v3_ia5.obj: $(SRC_D)\crypto\x509v3\v3_ia5.c + $(CC) /Fo$(OBJ_D)\v3_ia5.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ia5.c + +$(OBJ_D)\v3_lib.obj: $(SRC_D)\crypto\x509v3\v3_lib.c + $(CC) /Fo$(OBJ_D)\v3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_lib.c + +$(OBJ_D)\v3_prn.obj: $(SRC_D)\crypto\x509v3\v3_prn.c + $(CC) /Fo$(OBJ_D)\v3_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_prn.c + +$(OBJ_D)\v3_utl.obj: $(SRC_D)\crypto\x509v3\v3_utl.c + $(CC) /Fo$(OBJ_D)\v3_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_utl.c + +$(OBJ_D)\v3err.obj: $(SRC_D)\crypto\x509v3\v3err.c + $(CC) /Fo$(OBJ_D)\v3err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3err.c + +$(OBJ_D)\v3_genn.obj: $(SRC_D)\crypto\x509v3\v3_genn.c + $(CC) /Fo$(OBJ_D)\v3_genn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_genn.c + +$(OBJ_D)\v3_alt.obj: $(SRC_D)\crypto\x509v3\v3_alt.c + $(CC) /Fo$(OBJ_D)\v3_alt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_alt.c + +$(OBJ_D)\v3_skey.obj: $(SRC_D)\crypto\x509v3\v3_skey.c + $(CC) /Fo$(OBJ_D)\v3_skey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_skey.c + +$(OBJ_D)\v3_akey.obj: $(SRC_D)\crypto\x509v3\v3_akey.c + $(CC) /Fo$(OBJ_D)\v3_akey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akey.c + +$(OBJ_D)\v3_pku.obj: $(SRC_D)\crypto\x509v3\v3_pku.c + $(CC) /Fo$(OBJ_D)\v3_pku.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pku.c + +$(OBJ_D)\v3_int.obj: $(SRC_D)\crypto\x509v3\v3_int.c + $(CC) /Fo$(OBJ_D)\v3_int.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_int.c + +$(OBJ_D)\v3_enum.obj: $(SRC_D)\crypto\x509v3\v3_enum.c + $(CC) /Fo$(OBJ_D)\v3_enum.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_enum.c + +$(OBJ_D)\v3_sxnet.obj: $(SRC_D)\crypto\x509v3\v3_sxnet.c + $(CC) /Fo$(OBJ_D)\v3_sxnet.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_sxnet.c + +$(OBJ_D)\v3_cpols.obj: $(SRC_D)\crypto\x509v3\v3_cpols.c + $(CC) /Fo$(OBJ_D)\v3_cpols.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_cpols.c + +$(OBJ_D)\v3_crld.obj: $(SRC_D)\crypto\x509v3\v3_crld.c + $(CC) /Fo$(OBJ_D)\v3_crld.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_crld.c + +$(OBJ_D)\v3_purp.obj: $(SRC_D)\crypto\x509v3\v3_purp.c + $(CC) /Fo$(OBJ_D)\v3_purp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_purp.c + +$(OBJ_D)\v3_info.obj: $(SRC_D)\crypto\x509v3\v3_info.c + $(CC) /Fo$(OBJ_D)\v3_info.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_info.c + +$(OBJ_D)\v3_ocsp.obj: $(SRC_D)\crypto\x509v3\v3_ocsp.c + $(CC) /Fo$(OBJ_D)\v3_ocsp.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ocsp.c + +$(OBJ_D)\v3_akeya.obj: $(SRC_D)\crypto\x509v3\v3_akeya.c + $(CC) /Fo$(OBJ_D)\v3_akeya.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_akeya.c + +$(OBJ_D)\v3_pmaps.obj: $(SRC_D)\crypto\x509v3\v3_pmaps.c + $(CC) /Fo$(OBJ_D)\v3_pmaps.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pmaps.c + +$(OBJ_D)\v3_pcons.obj: $(SRC_D)\crypto\x509v3\v3_pcons.c + $(CC) /Fo$(OBJ_D)\v3_pcons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcons.c + +$(OBJ_D)\v3_ncons.obj: $(SRC_D)\crypto\x509v3\v3_ncons.c + $(CC) /Fo$(OBJ_D)\v3_ncons.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_ncons.c + +$(OBJ_D)\v3_pcia.obj: $(SRC_D)\crypto\x509v3\v3_pcia.c + $(CC) /Fo$(OBJ_D)\v3_pcia.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pcia.c + +$(OBJ_D)\v3_pci.obj: $(SRC_D)\crypto\x509v3\v3_pci.c + $(CC) /Fo$(OBJ_D)\v3_pci.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_pci.c + +$(OBJ_D)\pcy_cache.obj: $(SRC_D)\crypto\x509v3\pcy_cache.c + $(CC) /Fo$(OBJ_D)\pcy_cache.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_cache.c + +$(OBJ_D)\pcy_node.obj: $(SRC_D)\crypto\x509v3\pcy_node.c + $(CC) /Fo$(OBJ_D)\pcy_node.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_node.c + +$(OBJ_D)\pcy_data.obj: $(SRC_D)\crypto\x509v3\pcy_data.c + $(CC) /Fo$(OBJ_D)\pcy_data.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_data.c + +$(OBJ_D)\pcy_map.obj: $(SRC_D)\crypto\x509v3\pcy_map.c + $(CC) /Fo$(OBJ_D)\pcy_map.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_map.c + +$(OBJ_D)\pcy_tree.obj: $(SRC_D)\crypto\x509v3\pcy_tree.c + $(CC) /Fo$(OBJ_D)\pcy_tree.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_tree.c + +$(OBJ_D)\pcy_lib.obj: $(SRC_D)\crypto\x509v3\pcy_lib.c + $(CC) /Fo$(OBJ_D)\pcy_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\pcy_lib.c + +$(OBJ_D)\v3_asid.obj: $(SRC_D)\crypto\x509v3\v3_asid.c + $(CC) /Fo$(OBJ_D)\v3_asid.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_asid.c + +$(OBJ_D)\v3_addr.obj: $(SRC_D)\crypto\x509v3\v3_addr.c + $(CC) /Fo$(OBJ_D)\v3_addr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_addr.c + +$(OBJ_D)\v3_scts.obj: $(SRC_D)\crypto\x509v3\v3_scts.c + $(CC) /Fo$(OBJ_D)\v3_scts.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3_scts.c + +$(OBJ_D)\cms_lib.obj: $(SRC_D)\crypto\cms\cms_lib.c + $(CC) /Fo$(OBJ_D)\cms_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_lib.c + +$(OBJ_D)\cms_asn1.obj: $(SRC_D)\crypto\cms\cms_asn1.c + $(CC) /Fo$(OBJ_D)\cms_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_asn1.c + +$(OBJ_D)\cms_att.obj: $(SRC_D)\crypto\cms\cms_att.c + $(CC) /Fo$(OBJ_D)\cms_att.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_att.c + +$(OBJ_D)\cms_io.obj: $(SRC_D)\crypto\cms\cms_io.c + $(CC) /Fo$(OBJ_D)\cms_io.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_io.c + +$(OBJ_D)\cms_smime.obj: $(SRC_D)\crypto\cms\cms_smime.c + $(CC) /Fo$(OBJ_D)\cms_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_smime.c + +$(OBJ_D)\cms_err.obj: $(SRC_D)\crypto\cms\cms_err.c + $(CC) /Fo$(OBJ_D)\cms_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_err.c + +$(OBJ_D)\cms_sd.obj: $(SRC_D)\crypto\cms\cms_sd.c + $(CC) /Fo$(OBJ_D)\cms_sd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_sd.c + +$(OBJ_D)\cms_dd.obj: $(SRC_D)\crypto\cms\cms_dd.c + $(CC) /Fo$(OBJ_D)\cms_dd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_dd.c + +$(OBJ_D)\cms_cd.obj: $(SRC_D)\crypto\cms\cms_cd.c + $(CC) /Fo$(OBJ_D)\cms_cd.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_cd.c + +$(OBJ_D)\cms_env.obj: $(SRC_D)\crypto\cms\cms_env.c + $(CC) /Fo$(OBJ_D)\cms_env.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_env.c + +$(OBJ_D)\cms_enc.obj: $(SRC_D)\crypto\cms\cms_enc.c + $(CC) /Fo$(OBJ_D)\cms_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_enc.c + +$(OBJ_D)\cms_ess.obj: $(SRC_D)\crypto\cms\cms_ess.c + $(CC) /Fo$(OBJ_D)\cms_ess.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_ess.c + +$(OBJ_D)\cms_pwri.obj: $(SRC_D)\crypto\cms\cms_pwri.c + $(CC) /Fo$(OBJ_D)\cms_pwri.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_pwri.c + +$(OBJ_D)\cms_kari.obj: $(SRC_D)\crypto\cms\cms_kari.c + $(CC) /Fo$(OBJ_D)\cms_kari.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\cms\cms_kari.c + +$(OBJ_D)\conf_err.obj: $(SRC_D)\crypto\conf\conf_err.c + $(CC) /Fo$(OBJ_D)\conf_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_err.c + +$(OBJ_D)\conf_lib.obj: $(SRC_D)\crypto\conf\conf_lib.c + $(CC) /Fo$(OBJ_D)\conf_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_lib.c + +$(OBJ_D)\conf_api.obj: $(SRC_D)\crypto\conf\conf_api.c + $(CC) /Fo$(OBJ_D)\conf_api.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_api.c + +$(OBJ_D)\conf_def.obj: $(SRC_D)\crypto\conf\conf_def.c + $(CC) /Fo$(OBJ_D)\conf_def.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_def.c + +$(OBJ_D)\conf_mod.obj: $(SRC_D)\crypto\conf\conf_mod.c + $(CC) /Fo$(OBJ_D)\conf_mod.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mod.c + +$(OBJ_D)\conf_mall.obj: $(SRC_D)\crypto\conf\conf_mall.c + $(CC) /Fo$(OBJ_D)\conf_mall.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_mall.c + +$(OBJ_D)\conf_sap.obj: $(SRC_D)\crypto\conf\conf_sap.c + $(CC) /Fo$(OBJ_D)\conf_sap.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\conf\conf_sap.c + +$(OBJ_D)\txt_db.obj: $(SRC_D)\crypto\txt_db\txt_db.c + $(CC) /Fo$(OBJ_D)\txt_db.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\txt_db\txt_db.c + +$(OBJ_D)\pk7_asn1.obj: $(SRC_D)\crypto\pkcs7\pk7_asn1.c + $(CC) /Fo$(OBJ_D)\pk7_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_asn1.c + +$(OBJ_D)\pk7_lib.obj: $(SRC_D)\crypto\pkcs7\pk7_lib.c + $(CC) /Fo$(OBJ_D)\pk7_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_lib.c + +$(OBJ_D)\pkcs7err.obj: $(SRC_D)\crypto\pkcs7\pkcs7err.c + $(CC) /Fo$(OBJ_D)\pkcs7err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pkcs7err.c + +$(OBJ_D)\pk7_doit.obj: $(SRC_D)\crypto\pkcs7\pk7_doit.c + $(CC) /Fo$(OBJ_D)\pk7_doit.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_doit.c + +$(OBJ_D)\pk7_smime.obj: $(SRC_D)\crypto\pkcs7\pk7_smime.c + $(CC) /Fo$(OBJ_D)\pk7_smime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_smime.c + +$(OBJ_D)\pk7_attr.obj: $(SRC_D)\crypto\pkcs7\pk7_attr.c + $(CC) /Fo$(OBJ_D)\pk7_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_attr.c + +$(OBJ_D)\pk7_mime.obj: $(SRC_D)\crypto\pkcs7\pk7_mime.c + $(CC) /Fo$(OBJ_D)\pk7_mime.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\pk7_mime.c + +$(OBJ_D)\bio_pk7.obj: $(SRC_D)\crypto\pkcs7\bio_pk7.c + $(CC) /Fo$(OBJ_D)\bio_pk7.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs7\bio_pk7.c + +$(OBJ_D)\p12_add.obj: $(SRC_D)\crypto\pkcs12\p12_add.c + $(CC) /Fo$(OBJ_D)\p12_add.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_add.c + +$(OBJ_D)\p12_asn.obj: $(SRC_D)\crypto\pkcs12\p12_asn.c + $(CC) /Fo$(OBJ_D)\p12_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_asn.c + +$(OBJ_D)\p12_attr.obj: $(SRC_D)\crypto\pkcs12\p12_attr.c + $(CC) /Fo$(OBJ_D)\p12_attr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_attr.c + +$(OBJ_D)\p12_crpt.obj: $(SRC_D)\crypto\pkcs12\p12_crpt.c + $(CC) /Fo$(OBJ_D)\p12_crpt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crpt.c + +$(OBJ_D)\p12_crt.obj: $(SRC_D)\crypto\pkcs12\p12_crt.c + $(CC) /Fo$(OBJ_D)\p12_crt.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_crt.c + +$(OBJ_D)\p12_decr.obj: $(SRC_D)\crypto\pkcs12\p12_decr.c + $(CC) /Fo$(OBJ_D)\p12_decr.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_decr.c + +$(OBJ_D)\p12_init.obj: $(SRC_D)\crypto\pkcs12\p12_init.c + $(CC) /Fo$(OBJ_D)\p12_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_init.c + +$(OBJ_D)\p12_key.obj: $(SRC_D)\crypto\pkcs12\p12_key.c + $(CC) /Fo$(OBJ_D)\p12_key.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_key.c + +$(OBJ_D)\p12_kiss.obj: $(SRC_D)\crypto\pkcs12\p12_kiss.c + $(CC) /Fo$(OBJ_D)\p12_kiss.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_kiss.c + +$(OBJ_D)\p12_mutl.obj: $(SRC_D)\crypto\pkcs12\p12_mutl.c + $(CC) /Fo$(OBJ_D)\p12_mutl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_mutl.c + +$(OBJ_D)\p12_utl.obj: $(SRC_D)\crypto\pkcs12\p12_utl.c + $(CC) /Fo$(OBJ_D)\p12_utl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_utl.c + +$(OBJ_D)\p12_npas.obj: $(SRC_D)\crypto\pkcs12\p12_npas.c + $(CC) /Fo$(OBJ_D)\p12_npas.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_npas.c + +$(OBJ_D)\pk12err.obj: $(SRC_D)\crypto\pkcs12\pk12err.c + $(CC) /Fo$(OBJ_D)\pk12err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\pk12err.c + +$(OBJ_D)\p12_p8d.obj: $(SRC_D)\crypto\pkcs12\p12_p8d.c + $(CC) /Fo$(OBJ_D)\p12_p8d.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8d.c + +$(OBJ_D)\p12_p8e.obj: $(SRC_D)\crypto\pkcs12\p12_p8e.c + $(CC) /Fo$(OBJ_D)\p12_p8e.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pkcs12\p12_p8e.c + +$(OBJ_D)\comp_lib.obj: $(SRC_D)\crypto\comp\comp_lib.c + $(CC) /Fo$(OBJ_D)\comp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_lib.c + +$(OBJ_D)\comp_err.obj: $(SRC_D)\crypto\comp\comp_err.c + $(CC) /Fo$(OBJ_D)\comp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\comp_err.c + +$(OBJ_D)\c_rle.obj: $(SRC_D)\crypto\comp\c_rle.c + $(CC) /Fo$(OBJ_D)\c_rle.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_rle.c + +$(OBJ_D)\c_zlib.obj: $(SRC_D)\crypto\comp\c_zlib.c + $(CC) /Fo$(OBJ_D)\c_zlib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\comp\c_zlib.c + +$(OBJ_D)\eng_err.obj: $(SRC_D)\crypto\engine\eng_err.c + $(CC) /Fo$(OBJ_D)\eng_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_err.c + +$(OBJ_D)\eng_lib.obj: $(SRC_D)\crypto\engine\eng_lib.c + $(CC) /Fo$(OBJ_D)\eng_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_lib.c + +$(OBJ_D)\eng_list.obj: $(SRC_D)\crypto\engine\eng_list.c + $(CC) /Fo$(OBJ_D)\eng_list.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_list.c + +$(OBJ_D)\eng_init.obj: $(SRC_D)\crypto\engine\eng_init.c + $(CC) /Fo$(OBJ_D)\eng_init.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_init.c + +$(OBJ_D)\eng_ctrl.obj: $(SRC_D)\crypto\engine\eng_ctrl.c + $(CC) /Fo$(OBJ_D)\eng_ctrl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_ctrl.c + +$(OBJ_D)\eng_table.obj: $(SRC_D)\crypto\engine\eng_table.c + $(CC) /Fo$(OBJ_D)\eng_table.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_table.c + +$(OBJ_D)\eng_pkey.obj: $(SRC_D)\crypto\engine\eng_pkey.c + $(CC) /Fo$(OBJ_D)\eng_pkey.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_pkey.c + +$(OBJ_D)\eng_fat.obj: $(SRC_D)\crypto\engine\eng_fat.c + $(CC) /Fo$(OBJ_D)\eng_fat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_fat.c + +$(OBJ_D)\eng_all.obj: $(SRC_D)\crypto\engine\eng_all.c + $(CC) /Fo$(OBJ_D)\eng_all.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_all.c + +$(OBJ_D)\tb_rsa.obj: $(SRC_D)\crypto\engine\tb_rsa.c + $(CC) /Fo$(OBJ_D)\tb_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rsa.c + +$(OBJ_D)\tb_dsa.obj: $(SRC_D)\crypto\engine\tb_dsa.c + $(CC) /Fo$(OBJ_D)\tb_dsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dsa.c + +$(OBJ_D)\tb_ecdsa.obj: $(SRC_D)\crypto\engine\tb_ecdsa.c + $(CC) /Fo$(OBJ_D)\tb_ecdsa.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdsa.c + +$(OBJ_D)\tb_dh.obj: $(SRC_D)\crypto\engine\tb_dh.c + $(CC) /Fo$(OBJ_D)\tb_dh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_dh.c + +$(OBJ_D)\tb_ecdh.obj: $(SRC_D)\crypto\engine\tb_ecdh.c + $(CC) /Fo$(OBJ_D)\tb_ecdh.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_ecdh.c + +$(OBJ_D)\tb_rand.obj: $(SRC_D)\crypto\engine\tb_rand.c + $(CC) /Fo$(OBJ_D)\tb_rand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_rand.c + +$(OBJ_D)\tb_store.obj: $(SRC_D)\crypto\engine\tb_store.c + $(CC) /Fo$(OBJ_D)\tb_store.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_store.c + +$(OBJ_D)\tb_cipher.obj: $(SRC_D)\crypto\engine\tb_cipher.c + $(CC) /Fo$(OBJ_D)\tb_cipher.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_cipher.c + +$(OBJ_D)\tb_digest.obj: $(SRC_D)\crypto\engine\tb_digest.c + $(CC) /Fo$(OBJ_D)\tb_digest.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_digest.c + +$(OBJ_D)\tb_pkmeth.obj: $(SRC_D)\crypto\engine\tb_pkmeth.c + $(CC) /Fo$(OBJ_D)\tb_pkmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_pkmeth.c + +$(OBJ_D)\tb_asnmth.obj: $(SRC_D)\crypto\engine\tb_asnmth.c + $(CC) /Fo$(OBJ_D)\tb_asnmth.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\tb_asnmth.c + +$(OBJ_D)\eng_openssl.obj: $(SRC_D)\crypto\engine\eng_openssl.c + $(CC) /Fo$(OBJ_D)\eng_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_openssl.c + +$(OBJ_D)\eng_cnf.obj: $(SRC_D)\crypto\engine\eng_cnf.c + $(CC) /Fo$(OBJ_D)\eng_cnf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cnf.c + +$(OBJ_D)\eng_dyn.obj: $(SRC_D)\crypto\engine\eng_dyn.c + $(CC) /Fo$(OBJ_D)\eng_dyn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_dyn.c + +$(OBJ_D)\eng_cryptodev.obj: $(SRC_D)\crypto\engine\eng_cryptodev.c + $(CC) /Fo$(OBJ_D)\eng_cryptodev.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_cryptodev.c + +$(OBJ_D)\eng_rdrand.obj: $(SRC_D)\crypto\engine\eng_rdrand.c + $(CC) /Fo$(OBJ_D)\eng_rdrand.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\engine\eng_rdrand.c + +$(OBJ_D)\ocsp_asn.obj: $(SRC_D)\crypto\ocsp\ocsp_asn.c + $(CC) /Fo$(OBJ_D)\ocsp_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_asn.c + +$(OBJ_D)\ocsp_ext.obj: $(SRC_D)\crypto\ocsp\ocsp_ext.c + $(CC) /Fo$(OBJ_D)\ocsp_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ext.c + +$(OBJ_D)\ocsp_ht.obj: $(SRC_D)\crypto\ocsp\ocsp_ht.c + $(CC) /Fo$(OBJ_D)\ocsp_ht.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_ht.c + +$(OBJ_D)\ocsp_lib.obj: $(SRC_D)\crypto\ocsp\ocsp_lib.c + $(CC) /Fo$(OBJ_D)\ocsp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_lib.c + +$(OBJ_D)\ocsp_cl.obj: $(SRC_D)\crypto\ocsp\ocsp_cl.c + $(CC) /Fo$(OBJ_D)\ocsp_cl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_cl.c + +$(OBJ_D)\ocsp_srv.obj: $(SRC_D)\crypto\ocsp\ocsp_srv.c + $(CC) /Fo$(OBJ_D)\ocsp_srv.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_srv.c + +$(OBJ_D)\ocsp_prn.obj: $(SRC_D)\crypto\ocsp\ocsp_prn.c + $(CC) /Fo$(OBJ_D)\ocsp_prn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_prn.c + +$(OBJ_D)\ocsp_vfy.obj: $(SRC_D)\crypto\ocsp\ocsp_vfy.c + $(CC) /Fo$(OBJ_D)\ocsp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_vfy.c + +$(OBJ_D)\ocsp_err.obj: $(SRC_D)\crypto\ocsp\ocsp_err.c + $(CC) /Fo$(OBJ_D)\ocsp_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ocsp\ocsp_err.c + +$(OBJ_D)\ui_err.obj: $(SRC_D)\crypto\ui\ui_err.c + $(CC) /Fo$(OBJ_D)\ui_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_err.c + +$(OBJ_D)\ui_lib.obj: $(SRC_D)\crypto\ui\ui_lib.c + $(CC) /Fo$(OBJ_D)\ui_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_lib.c + +$(OBJ_D)\ui_openssl.obj: $(SRC_D)\crypto\ui\ui_openssl.c + $(CC) /Fo$(OBJ_D)\ui_openssl.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_openssl.c + +$(OBJ_D)\ui_util.obj: $(SRC_D)\crypto\ui\ui_util.c + $(CC) /Fo$(OBJ_D)\ui_util.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_util.c + +$(OBJ_D)\ui_compat.obj: $(SRC_D)\crypto\ui\ui_compat.c + $(CC) /Fo$(OBJ_D)\ui_compat.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ui\ui_compat.c + +$(OBJ_D)\krb5_asn.obj: $(SRC_D)\crypto\krb5\krb5_asn.c + $(CC) /Fo$(OBJ_D)\krb5_asn.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\krb5\krb5_asn.c + +$(OBJ_D)\pqueue.obj: $(SRC_D)\crypto\pqueue\pqueue.c + $(CC) /Fo$(OBJ_D)\pqueue.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\pqueue\pqueue.c + +$(OBJ_D)\wp_dgst.obj: $(SRC_D)\crypto\whrlpool\wp_dgst.c + $(CC) /Fo$(OBJ_D)\wp_dgst.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_dgst.c + +$(TMP_D)\wp-x86_64.asm: crypto\whrlpool\asm\wp-x86_64.pl + set ASM=$(ASM) + $(PERL) crypto\whrlpool\asm\wp-x86_64.pl $@ + +$(OBJ_D)\wp-x86_64.obj: $(TMP_D)\wp-x86_64.asm + $(ASM) -o $@ $(TMP_D)\wp-x86_64.asm + +$(OBJ_D)\ts_err.obj: $(SRC_D)\crypto\ts\ts_err.c + $(CC) /Fo$(OBJ_D)\ts_err.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_err.c + +$(OBJ_D)\ts_req_utils.obj: $(SRC_D)\crypto\ts\ts_req_utils.c + $(CC) /Fo$(OBJ_D)\ts_req_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_utils.c + +$(OBJ_D)\ts_req_print.obj: $(SRC_D)\crypto\ts\ts_req_print.c + $(CC) /Fo$(OBJ_D)\ts_req_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_req_print.c + +$(OBJ_D)\ts_rsp_utils.obj: $(SRC_D)\crypto\ts\ts_rsp_utils.c + $(CC) /Fo$(OBJ_D)\ts_rsp_utils.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_utils.c + +$(OBJ_D)\ts_rsp_print.obj: $(SRC_D)\crypto\ts\ts_rsp_print.c + $(CC) /Fo$(OBJ_D)\ts_rsp_print.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_print.c + +$(OBJ_D)\ts_rsp_sign.obj: $(SRC_D)\crypto\ts\ts_rsp_sign.c + $(CC) /Fo$(OBJ_D)\ts_rsp_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_sign.c + +$(OBJ_D)\ts_rsp_verify.obj: $(SRC_D)\crypto\ts\ts_rsp_verify.c + $(CC) /Fo$(OBJ_D)\ts_rsp_verify.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_rsp_verify.c + +$(OBJ_D)\ts_verify_ctx.obj: $(SRC_D)\crypto\ts\ts_verify_ctx.c + $(CC) /Fo$(OBJ_D)\ts_verify_ctx.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_verify_ctx.c + +$(OBJ_D)\ts_lib.obj: $(SRC_D)\crypto\ts\ts_lib.c + $(CC) /Fo$(OBJ_D)\ts_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_lib.c + +$(OBJ_D)\ts_conf.obj: $(SRC_D)\crypto\ts\ts_conf.c + $(CC) /Fo$(OBJ_D)\ts_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_conf.c + +$(OBJ_D)\ts_asn1.obj: $(SRC_D)\crypto\ts\ts_asn1.c + $(CC) /Fo$(OBJ_D)\ts_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\ts\ts_asn1.c + +$(OBJ_D)\srp_lib.obj: $(SRC_D)\crypto\srp\srp_lib.c + $(CC) /Fo$(OBJ_D)\srp_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_lib.c + +$(OBJ_D)\srp_vfy.obj: $(SRC_D)\crypto\srp\srp_vfy.c + $(CC) /Fo$(OBJ_D)\srp_vfy.obj $(LIB_CFLAGS) -c $(SRC_D)\crypto\srp\srp_vfy.c + +$(OBJ_D)\e_4758cca.obj: $(SRC_D)\engines\e_4758cca.c + $(CC) /Fo$(OBJ_D)\e_4758cca.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_4758cca.c + +$(OBJ_D)\e_aep.obj: $(SRC_D)\engines\e_aep.c + $(CC) /Fo$(OBJ_D)\e_aep.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_aep.c + +$(OBJ_D)\e_atalla.obj: $(SRC_D)\engines\e_atalla.c + $(CC) /Fo$(OBJ_D)\e_atalla.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_atalla.c + +$(OBJ_D)\e_cswift.obj: $(SRC_D)\engines\e_cswift.c + $(CC) /Fo$(OBJ_D)\e_cswift.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_cswift.c + +$(OBJ_D)\e_gmp.obj: $(SRC_D)\engines\e_gmp.c + $(CC) /Fo$(OBJ_D)\e_gmp.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_gmp.c + +$(OBJ_D)\e_chil.obj: $(SRC_D)\engines\e_chil.c + $(CC) /Fo$(OBJ_D)\e_chil.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_chil.c + +$(OBJ_D)\e_nuron.obj: $(SRC_D)\engines\e_nuron.c + $(CC) /Fo$(OBJ_D)\e_nuron.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_nuron.c + +$(OBJ_D)\e_sureware.obj: $(SRC_D)\engines\e_sureware.c + $(CC) /Fo$(OBJ_D)\e_sureware.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_sureware.c + +$(OBJ_D)\e_ubsec.obj: $(SRC_D)\engines\e_ubsec.c + $(CC) /Fo$(OBJ_D)\e_ubsec.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_ubsec.c + +$(OBJ_D)\e_padlock.obj: $(SRC_D)\engines\e_padlock.c + $(CC) /Fo$(OBJ_D)\e_padlock.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_padlock.c + +$(OBJ_D)\e_capi.obj: $(SRC_D)\engines\e_capi.c + $(CC) /Fo$(OBJ_D)\e_capi.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\e_capi.c + +$(OBJ_D)\e_gost_err.obj: $(SRC_D)\engines\ccgost\e_gost_err.c + $(CC) /Fo$(OBJ_D)\e_gost_err.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\e_gost_err.c + +$(OBJ_D)\gost2001_keyx.obj: $(SRC_D)\engines\ccgost\gost2001_keyx.c + $(CC) /Fo$(OBJ_D)\gost2001_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001_keyx.c + +$(OBJ_D)\gost2001.obj: $(SRC_D)\engines\ccgost\gost2001.c + $(CC) /Fo$(OBJ_D)\gost2001.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001.c + +$(OBJ_D)\gost89.obj: $(SRC_D)\engines\ccgost\gost89.c + $(CC) /Fo$(OBJ_D)\gost89.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost89.c + +$(OBJ_D)\gost94_keyx.obj: $(SRC_D)\engines\ccgost\gost94_keyx.c + $(CC) /Fo$(OBJ_D)\gost94_keyx.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost94_keyx.c + +$(OBJ_D)\gost_ameth.obj: $(SRC_D)\engines\ccgost\gost_ameth.c + $(CC) /Fo$(OBJ_D)\gost_ameth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ameth.c + +$(OBJ_D)\gost_asn1.obj: $(SRC_D)\engines\ccgost\gost_asn1.c + $(CC) /Fo$(OBJ_D)\gost_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_asn1.c + +$(OBJ_D)\gost_crypt.obj: $(SRC_D)\engines\ccgost\gost_crypt.c + $(CC) /Fo$(OBJ_D)\gost_crypt.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_crypt.c + +$(OBJ_D)\gost_ctl.obj: $(SRC_D)\engines\ccgost\gost_ctl.c + $(CC) /Fo$(OBJ_D)\gost_ctl.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ctl.c + +$(OBJ_D)\gost_eng.obj: $(SRC_D)\engines\ccgost\gost_eng.c + $(CC) /Fo$(OBJ_D)\gost_eng.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_eng.c + +$(OBJ_D)\gosthash.obj: $(SRC_D)\engines\ccgost\gosthash.c + $(CC) /Fo$(OBJ_D)\gosthash.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gosthash.c + +$(OBJ_D)\gost_keywrap.obj: $(SRC_D)\engines\ccgost\gost_keywrap.c + $(CC) /Fo$(OBJ_D)\gost_keywrap.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_keywrap.c + +$(OBJ_D)\gost_md.obj: $(SRC_D)\engines\ccgost\gost_md.c + $(CC) /Fo$(OBJ_D)\gost_md.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_md.c + +$(OBJ_D)\gost_params.obj: $(SRC_D)\engines\ccgost\gost_params.c + $(CC) /Fo$(OBJ_D)\gost_params.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_params.c + +$(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c + $(CC) /Fo$(OBJ_D)\gost_pmeth.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_pmeth.c + +$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c + $(CC) /Fo$(OBJ_D)\gost_sign.obj $(LIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c + +$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c + $(CC) /Fo$(OBJ_D)\s2_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_meth.c + +$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c + $(CC) /Fo$(OBJ_D)\s2_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_srvr.c + +$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c + $(CC) /Fo$(OBJ_D)\s2_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_clnt.c + +$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c + $(CC) /Fo$(OBJ_D)\s2_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_lib.c + +$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c + $(CC) /Fo$(OBJ_D)\s2_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_enc.c + +$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c + $(CC) /Fo$(OBJ_D)\s2_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s2_pkt.c + +$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c + $(CC) /Fo$(OBJ_D)\s3_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_meth.c + +$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c + $(CC) /Fo$(OBJ_D)\s3_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_srvr.c + +$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c + $(CC) /Fo$(OBJ_D)\s3_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_clnt.c + +$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c + $(CC) /Fo$(OBJ_D)\s3_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_lib.c + +$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c + $(CC) /Fo$(OBJ_D)\s3_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_enc.c + +$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c + $(CC) /Fo$(OBJ_D)\s3_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_pkt.c + +$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c + $(CC) /Fo$(OBJ_D)\s3_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_both.c + +$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c + $(CC) /Fo$(OBJ_D)\s3_cbc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s3_cbc.c + +$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c + $(CC) /Fo$(OBJ_D)\s23_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_meth.c + +$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c + $(CC) /Fo$(OBJ_D)\s23_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_srvr.c + +$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c + $(CC) /Fo$(OBJ_D)\s23_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_clnt.c + +$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c + $(CC) /Fo$(OBJ_D)\s23_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_lib.c + +$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c + $(CC) /Fo$(OBJ_D)\s23_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\s23_pkt.c + +$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c + $(CC) /Fo$(OBJ_D)\t1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_meth.c + +$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c + $(CC) /Fo$(OBJ_D)\t1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_srvr.c + +$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c + $(CC) /Fo$(OBJ_D)\t1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_clnt.c + +$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c + $(CC) /Fo$(OBJ_D)\t1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_lib.c + +$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c + $(CC) /Fo$(OBJ_D)\t1_enc.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_enc.c + +$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c + $(CC) /Fo$(OBJ_D)\t1_ext.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_ext.c + +$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c + $(CC) /Fo$(OBJ_D)\d1_meth.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_meth.c + +$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c + $(CC) /Fo$(OBJ_D)\d1_srvr.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srvr.c + +$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c + $(CC) /Fo$(OBJ_D)\d1_clnt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_clnt.c + +$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c + $(CC) /Fo$(OBJ_D)\d1_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_lib.c + +$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c + $(CC) /Fo$(OBJ_D)\d1_pkt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_pkt.c + +$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c + $(CC) /Fo$(OBJ_D)\d1_both.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_both.c + +$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c + $(CC) /Fo$(OBJ_D)\d1_srtp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\d1_srtp.c + +$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c + $(CC) /Fo$(OBJ_D)\ssl_lib.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_lib.c + +$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c + $(CC) /Fo$(OBJ_D)\ssl_err2.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err2.c + +$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c + $(CC) /Fo$(OBJ_D)\ssl_cert.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_cert.c + +$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c + $(CC) /Fo$(OBJ_D)\ssl_sess.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_sess.c + +$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c + $(CC) /Fo$(OBJ_D)\ssl_ciph.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_ciph.c + +$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c + $(CC) /Fo$(OBJ_D)\ssl_stat.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_stat.c + +$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c + $(CC) /Fo$(OBJ_D)\ssl_rsa.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_rsa.c + +$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c + $(CC) /Fo$(OBJ_D)\ssl_asn1.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_asn1.c + +$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c + $(CC) /Fo$(OBJ_D)\ssl_txt.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_txt.c + +$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c + $(CC) /Fo$(OBJ_D)\ssl_algs.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_algs.c + +$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c + $(CC) /Fo$(OBJ_D)\ssl_conf.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_conf.c + +$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c + $(CC) /Fo$(OBJ_D)\bio_ssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\bio_ssl.c + +$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c + $(CC) /Fo$(OBJ_D)\ssl_err.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_err.c + +$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c + $(CC) /Fo$(OBJ_D)\kssl.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\kssl.c + +$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c + $(CC) /Fo$(OBJ_D)\t1_reneg.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_reneg.c + +$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c + $(CC) /Fo$(OBJ_D)\tls_srp.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\tls_srp.c + +$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c + $(CC) /Fo$(OBJ_D)\t1_trce.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\t1_trce.c + +$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c + $(CC) /Fo$(OBJ_D)\ssl_utst.obj $(LIB_CFLAGS) -c $(SRC_D)\ssl\ssl_utst.c + +$(OBJ_D)\$(CRYPTO).res: ms\version32.rc + $(RSC) /fo"$(OBJ_D)\$(CRYPTO).res" /d CRYPTO ms\version32.rc + +$(OBJ_D)\$(SSL).res: ms\version32.rc + $(RSC) /fo"$(OBJ_D)\$(SSL).res" /d SSL ms\version32.rc + +$(TEST_D)\constant_time_test.exe: $(OBJ_D)\constant_time_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\constant_time_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\constant_time_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\md4test.exe: $(OBJ_D)\md4test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md4test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\md4test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\md5test.exe: $(OBJ_D)\md5test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md5test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\md5test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\shatest.exe: $(OBJ_D)\shatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\shatest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\shatest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sha1test.exe: $(OBJ_D)\sha1test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha1test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sha1test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sha256t.exe: $(OBJ_D)\sha256t.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha256t.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sha256t.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sha512t.exe: $(OBJ_D)\sha512t.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha512t.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sha512t.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\hmactest.exe: $(OBJ_D)\hmactest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\hmactest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\hmactest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rmdtest.exe: $(OBJ_D)\rmdtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rmdtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rmdtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\destest.exe: $(OBJ_D)\destest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\destest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\destest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rc2test.exe: $(OBJ_D)\rc2test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc2test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rc2test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rc4test.exe: $(OBJ_D)\rc4test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc4test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rc4test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\bftest.exe: $(OBJ_D)\bftest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bftest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\bftest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\casttest.exe: $(OBJ_D)\casttest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\casttest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\casttest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\bntest.exe: $(OBJ_D)\bntest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bntest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\bntest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\exptest.exe: $(OBJ_D)\exptest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\exptest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\exptest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rsa_test.exe: $(OBJ_D)\rsa_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rsa_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rsa_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\dsatest.exe: $(OBJ_D)\dsatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dsatest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\dsatest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\dhtest.exe: $(OBJ_D)\dhtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dhtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\dhtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ectest.exe: $(OBJ_D)\ectest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ectest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ectest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ecdhtest.exe: $(OBJ_D)\ecdhtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdhtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ecdhtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ecdsatest.exe: $(OBJ_D)\ecdsatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdsatest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ecdsatest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\randtest.exe: $(OBJ_D)\randtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\randtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\randtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\evp_test.exe: $(OBJ_D)\evp_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\evp_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\evp_extra_test.exe: $(OBJ_D)\evp_extra_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_extra_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\evp_extra_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\verify_extra_test.exe: $(OBJ_D)\verify_extra_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\verify_extra_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\verify_extra_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\v3nametest.exe: $(OBJ_D)\v3nametest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\v3nametest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\v3nametest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\enginetest.exe: $(OBJ_D)\enginetest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\enginetest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\enginetest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\wp_test.exe: $(OBJ_D)\wp_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\wp_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\wp_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\srptest.exe: $(OBJ_D)\srptest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\srptest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\srptest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ssltest.exe: $(OBJ_D)\ssltest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ssltest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ssltest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\heartbeat_test.exe: $(OBJ_D)\heartbeat_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\heartbeat_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\heartbeat_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\clienthellotest.exe: $(OBJ_D)\clienthellotest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\clienthellotest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\clienthellotest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sslv2conftest.exe: $(OBJ_D)\sslv2conftest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sslv2conftest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sslv2conftest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\dtlstest.exe: $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dtlstest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\bad_dtls_test.exe: $(OBJ_D)\bad_dtls_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bad_dtls_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\bad_dtls_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\fatalerrtest.exe: $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\fatalerrtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\igetest.exe: $(OBJ_D)\igetest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\igetest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\igetest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(O_SSL): $(SSLOBJ) + $(MKLIB) /out:$(O_SSL) @<< + $(SSLOBJ) +<< + +$(O_CRYPTO): $(CRYPTOOBJ) + $(MKLIB) /out:$(O_CRYPTO) @<< + $(CRYPTOOBJ) +<< + +$(BIN_D)\$(E_EXE).exe: $(E_OBJ) $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(BIN_D)\$(E_EXE).exe @<< + $(APP_EX_OBJ) $(E_OBJ) $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + diff --git a/ms/ntdll.mak b/ms/ntdll.mak index c029520f..3f958eda 100644 --- a/ms/ntdll.mak +++ b/ms/ntdll.mak @@ -1,3635 +1,3635 @@ -# N.B. You MUST use -j on FreeBSD. -# This makefile has been automatically generated from the OpenSSL distribution. -# This single makefile will build the complete OpenSSL distribution and -# by default leave the 'interesting' output files in .\out and the stuff -# that needs deleting in .\tmp. -# The file was generated by running 'make makefile.one', which -# does a 'make files', which writes all the environment variables from all -# the makefiles to the file call MINFO. This file is used by -# util\mk1mf.pl to generate makefile.one. -# The 'makefile per directory' system suites me when developing this -# library and also so I can 'distribute' indervidual library sections. -# The one monster makefile better suits building in non-unix -# environments. - -INSTALLTOP=\usr\local\ssl -OPENSSLDIR=\usr\local\ssl - -# Set your compiler options -PLATFORM=VC-WIN32 -CC=cl -CFLAG= /MD /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_STATIC_ENGINE -APP_CFLAG= /Zi /Fd$(TMP_D)/app -LIB_CFLAG= /Zi /Fd$(TMP_D)/lib -D_WINDLL -SHLIB_CFLAG= -APP_EX_OBJ=setargv.obj $(OBJ_D)\applink.obj /implib:$(TMP_D)\junk.lib -SHLIB_EX_OBJ= -# add extra libraries to this define, for solaris -lsocket -lnsl would -# be added -EX_LIBS=ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib - -# The OpenSSL directory -SRC_D=. - -LINK_CMD=link -LFLAGS=/nologo /subsystem:console /opt:ref /debug -RSC=rc - -# The output directory for everything interesting -OUT_D=out32dll -# The output directory for all the temporary muck -TMP_D=tmp32dll -# The output directory for the header files -INC_D=inc32 -INCO_D=inc32\openssl - -PERL=perl -CP=$(PERL) util/copy.pl -RM=del /Q -RANLIB= -MKDIR=$(PERL) util/mkdir-p.pl -MKLIB=lib /nologo -MLFLAGS= /nologo /subsystem:console /opt:ref /debug /dll -ASM=nasm -f win32 - -# FIPS validated module and support file locations - -E_PREMAIN_DSO=fips_premain_dso - -FIPSDIR=\usr\local\ssl\fips-2.0 -BASEADDR=0xFB00000 -FIPSLIB_D=$(FIPSDIR)\lib -FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c -O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib -FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe -PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe -FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl - -###################################################### -# You should not need to touch anything below this point -###################################################### - -E_EXE=openssl -SSL=ssleay32 -CRYPTO=libeay32 - -# BIN_D - Binary output directory -# TEST_D - Binary test file output directory -# LIB_D - library output directory -# ENG_D - dynamic engine output directory -# Note: if you change these point to different directories then uncomment out -# the lines around the 'NB' comment below. -# -BIN_D=$(OUT_D) -TEST_D=$(OUT_D) -LIB_D=$(OUT_D) -ENG_D=$(OUT_D) - -# INCL_D - local library directory -# OBJ_D - temp object file directory -OBJ_D=$(TMP_D) -INCL_D=$(TMP_D) - -O_SSL= $(LIB_D)\$(SSL).dll -O_CRYPTO= $(LIB_D)\$(CRYPTO).dll -SO_SSL= $(SSL) -SO_CRYPTO= $(CRYPTO) -L_SSL= $(LIB_D)\$(SSL).lib -L_CRYPTO= $(LIB_D)\$(CRYPTO).lib - -L_LIBS= $(L_SSL) $(L_CRYPTO) - -###################################################### -# Don't touch anything below this point -###################################################### - -INC=-I$(INC_D) -I$(INCL_D) -APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) -LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) -SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) -LIBS_DEP=$(O_CRYPTO) $(O_SSL) - -############################################# -HEADER=$(INCL_D)\e_os.h \ - $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ - $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ - $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ - $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ - $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ - $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ - $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ - $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ - $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ - $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ - $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ - $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ - $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ - $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ - $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ - $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ - $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ - $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ - $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ - $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ - $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ - $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ - $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ - $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ - $(INCL_D)\ssltestlib.h - -EXHEADER=$(INCO_D)\e_os2.h \ - $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ - $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ - $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ - $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ - $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ - $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ - $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ - $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ - $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ - $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ - $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ - $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ - $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ - $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ - $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ - $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ - $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ - $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ - $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ - $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ - $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ - $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ - $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ - $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h - -T_OBJ=$(OBJ_D)\constant_time_test.obj \ - $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ - $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ - $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ - $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ - $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ - $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ - $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ - $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ - $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ - $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ - $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ - $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ - $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj - -E_OBJ=$(OBJ_D)\verify.obj \ - $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ - $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ - $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ - $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ - $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ - $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ - $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ - $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ - $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ - $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ - $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ - $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ - $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ - $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ - $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ - $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ - $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj - -CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ - $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ - $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ - $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ - $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ - $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \ - $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ - $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \ - $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ - $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \ - $(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \ - $(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \ - $(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \ - $(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \ - $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \ - $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \ - $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \ - $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \ - $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \ - $(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \ - $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \ - $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \ - $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \ - $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \ - $(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \ - $(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \ - $(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \ - $(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \ - $(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \ - $(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \ - $(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \ - $(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ - $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ - $(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \ - $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \ - $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \ - $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \ - $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \ - $(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \ - $(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \ - $(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \ - $(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \ - $(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \ - $(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \ - $(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \ - $(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \ - $(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \ - $(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \ - $(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \ - $(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \ - $(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \ - $(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \ - $(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \ - $(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \ - $(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \ - $(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \ - $(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \ - $(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \ - $(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \ - $(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \ - $(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \ - $(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \ - $(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \ - $(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \ - $(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \ - $(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \ - $(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \ - $(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \ - $(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \ - $(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \ - $(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \ - $(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \ - $(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \ - $(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \ - $(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \ - $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \ - $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \ - $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \ - $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \ - $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \ - $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \ - $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \ - $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \ - $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \ - $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \ - $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \ - $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \ - $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \ - $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \ - $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \ - $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \ - $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \ - $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \ - $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \ - $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \ - $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \ - $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \ - $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \ - $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \ - $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \ - $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \ - $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \ - $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \ - $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \ - $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \ - $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \ - $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \ - $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \ - $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \ - $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \ - $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \ - $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \ - $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \ - $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \ - $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \ - $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \ - $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \ - $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \ - $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \ - $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \ - $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \ - $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \ - $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \ - $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \ - $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \ - $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \ - $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \ - $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \ - $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \ - $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \ - $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \ - $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \ - $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \ - $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \ - $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \ - $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \ - $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \ - $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \ - $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \ - $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \ - $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \ - $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \ - $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \ - $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \ - $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \ - $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \ - $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \ - $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \ - $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \ - $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \ - $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \ - $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \ - $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \ - $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \ - $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \ - $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \ - $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \ - $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \ - $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \ - $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \ - $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \ - $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \ - $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \ - $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \ - $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \ - $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \ - $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \ - $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \ - $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \ - $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \ - $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \ - $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \ - $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \ - $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \ - $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \ - $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \ - $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \ - $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \ - $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \ - $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \ - $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \ - $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \ - $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \ - $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \ - $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \ - $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \ - $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \ - $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \ - $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \ - $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \ - $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \ - $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \ - $(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ - $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ - $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ - $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ - $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\$(CRYPTO).res - -SSLOBJ=$(OBJ_D)\s2_meth.obj \ - $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ - $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ - $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ - $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ - $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ - $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ - $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ - $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ - $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ - $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ - $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ - $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ - $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ - $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ - $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ - $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ - $(OBJ_D)\ssl_utst.obj $(OBJ_D)\$(SSL).res - -GOSTOBJ=$(OBJ_D)\e_gost_err.obj \ - $(OBJ_D)\gost2001_keyx.obj $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj \ - $(OBJ_D)\gost94_keyx.obj $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj \ - $(OBJ_D)\gost_crypt.obj $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj \ - $(OBJ_D)\gosthash.obj $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj \ - $(OBJ_D)\gost_params.obj $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj - -T_EXE=$(TEST_D)\constant_time_test.exe \ - $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ - $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ - $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ - $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ - $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ - $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ - $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ - $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ - $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ - $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ - $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ - $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ - $(TEST_D)\igetest.exe - -E_SHLIB=$(ENG_D)\4758cca.dll \ - $(ENG_D)\aep.dll $(ENG_D)\atalla.dll $(ENG_D)\cswift.dll \ - $(ENG_D)\gmp.dll $(ENG_D)\chil.dll $(ENG_D)\nuron.dll \ - $(ENG_D)\sureware.dll $(ENG_D)\ubsec.dll $(ENG_D)\padlock.dll \ - $(ENG_D)\capi.dll $(ENG_D)\gost.dll - -################################################################### -all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe - -banner: - @echo Building OpenSSL - -$(OBJ_D)\applink.obj: ms\applink.c - $(CC) /Fo$(OBJ_D)\applink.obj $(APP_CFLAGS) -c ms\applink.c -$(OBJ_D)\uplink.obj: ms\uplink.c ms\applink.c - $(CC) /Fo$(OBJ_D)\uplink.obj $(SHLIB_CFLAGS) -c ms\uplink.c -$(INCO_D)\applink.c: ms\applink.c - $(CP) ms\applink.c $(INCO_D)\applink.c - -EXHEADER= $(EXHEADER) $(INCO_D)\applink.c - -LIBS_DEP=$(LIBS_DEP) $(OBJ_D)\applink.obj -CRYPTOOBJ=$(OBJ_D)\uplink.obj $(CRYPTOOBJ) - - -$(TMP_D): - $(MKDIR) "$(TMP_D)" -# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different -#$(BIN_D): -# $(MKDIR) $(BIN_D) -# -#$(TEST_D): -# $(MKDIR) $(TEST_D) - -$(LIB_D): - $(MKDIR) "$(LIB_D)" - -$(INCO_D): $(INC_D) - $(MKDIR) "$(INCO_D)" - -$(INC_D): - $(MKDIR) "$(INC_D)" - -# This needs to be invoked once, when the makefile is first constructed, or -# after cleaning. -init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers - $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" - -headers: $(HEADER) $(EXHEADER) - -lib: $(LIBS_DEP) $(E_SHLIB) - -exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe - -install: all - $(MKDIR) "$(INSTALLTOP)" - $(MKDIR) "$(INSTALLTOP)\bin" - $(MKDIR) "$(INSTALLTOP)\include" - $(MKDIR) "$(INSTALLTOP)\include\openssl" - $(MKDIR) "$(INSTALLTOP)\lib" - $(CP) "$(INCO_D)\*.[ch]" "$(INSTALLTOP)\include\openssl" - $(CP) "$(BIN_D)\$(E_EXE).exe" "$(INSTALLTOP)\bin" - $(MKDIR) "$(OPENSSLDIR)" - $(CP) apps\openssl.cnf "$(OPENSSLDIR)" - $(CP) "$(O_SSL)" "$(INSTALLTOP)\bin" - $(CP) "$(O_CRYPTO)" "$(INSTALLTOP)\bin" - $(CP) "$(L_SSL)" "$(INSTALLTOP)\lib" - $(CP) "$(L_CRYPTO)" "$(INSTALLTOP)\lib" - $(MKDIR) "$(INSTALLTOP)\lib\engines" - $(CP) $(E_SHLIB) "$(INSTALLTOP)\lib\engines" - - -clean: - $(RM) $(TMP_D)\*.* - -vclean: - $(RM) $(TMP_D)\*.* - $(RM) $(OUT_D)\*.* - -reallyclean: - $(RM) -rf $(TMP_D) - $(RM) -rf $(BIN_D) - $(RM) -rf $(TEST_D) - $(RM) -rf $(LIB_D) - $(RM) -rf $(INC_D) - -test: $(T_EXE) - cd $(BIN_D) - ..\ms\test - -$(INCL_D)\e_os.h: $(SRC_D)\.\e_os.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os.h" "$(INCL_D)\e_os.h" - -$(INCL_D)\cryptlib.h: $(SRC_D)\crypto\cryptlib.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cryptlib.h" "$(INCL_D)\cryptlib.h" - -$(INCL_D)\buildinf.h: $(SRC_D)\crypto\buildinf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buildinf.h" "$(INCL_D)\buildinf.h" - -$(INCL_D)\md32_common.h: $(SRC_D)\crypto\md32_common.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md32_common.h" "$(INCL_D)\md32_common.h" - -$(INCL_D)\o_time.h: $(SRC_D)\crypto\o_time.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_time.h" "$(INCL_D)\o_time.h" - -$(INCL_D)\o_str.h: $(SRC_D)\crypto\o_str.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_str.h" "$(INCL_D)\o_str.h" - -$(INCL_D)\o_dir.h: $(SRC_D)\crypto\o_dir.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_dir.h" "$(INCL_D)\o_dir.h" - -$(INCL_D)\constant_time_locl.h: $(SRC_D)\crypto\constant_time_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\constant_time_locl.h" "$(INCL_D)\constant_time_locl.h" - -$(INCL_D)\bn_int.h: $(SRC_D)\crypto\bn_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn_int.h" "$(INCL_D)\bn_int.h" - -$(INCL_D)\md4_locl.h: $(SRC_D)\crypto\md4\md4_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4_locl.h" "$(INCL_D)\md4_locl.h" - -$(INCL_D)\md5_locl.h: $(SRC_D)\crypto\md5\md5_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5_locl.h" "$(INCL_D)\md5_locl.h" - -$(INCL_D)\sha_locl.h: $(SRC_D)\crypto\sha\sha_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha_locl.h" "$(INCL_D)\sha_locl.h" - -$(INCL_D)\rmd_locl.h: $(SRC_D)\crypto\ripemd\rmd_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmd_locl.h" "$(INCL_D)\rmd_locl.h" - -$(INCL_D)\rmdconst.h: $(SRC_D)\crypto\ripemd\rmdconst.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmdconst.h" "$(INCL_D)\rmdconst.h" - -$(INCL_D)\des_locl.h: $(SRC_D)\crypto\des\des_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_locl.h" "$(INCL_D)\des_locl.h" - -$(INCL_D)\rpc_des.h: $(SRC_D)\crypto\des\rpc_des.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\rpc_des.h" "$(INCL_D)\rpc_des.h" - -$(INCL_D)\spr.h: $(SRC_D)\crypto\des\spr.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\spr.h" "$(INCL_D)\spr.h" - -$(INCL_D)\des_ver.h: $(SRC_D)\crypto\des\des_ver.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_ver.h" "$(INCL_D)\des_ver.h" - -$(INCL_D)\rc2_locl.h: $(SRC_D)\crypto\rc2\rc2_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2_locl.h" "$(INCL_D)\rc2_locl.h" - -$(INCL_D)\rc4_locl.h: $(SRC_D)\crypto\rc4\rc4_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4_locl.h" "$(INCL_D)\rc4_locl.h" - -$(INCL_D)\bf_pi.h: $(SRC_D)\crypto\bf\bf_pi.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_pi.h" "$(INCL_D)\bf_pi.h" - -$(INCL_D)\bf_locl.h: $(SRC_D)\crypto\bf\bf_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_locl.h" "$(INCL_D)\bf_locl.h" - -$(INCL_D)\cast_s.h: $(SRC_D)\crypto\cast\cast_s.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_s.h" "$(INCL_D)\cast_s.h" - -$(INCL_D)\cast_lcl.h: $(SRC_D)\crypto\cast\cast_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_lcl.h" "$(INCL_D)\cast_lcl.h" - -$(INCL_D)\aes_locl.h: $(SRC_D)\crypto\aes\aes_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes_locl.h" "$(INCL_D)\aes_locl.h" - -$(INCL_D)\cmll_locl.h: $(SRC_D)\crypto\camellia\cmll_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\cmll_locl.h" "$(INCL_D)\cmll_locl.h" - -$(INCL_D)\seed_locl.h: $(SRC_D)\crypto\seed\seed_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed_locl.h" "$(INCL_D)\seed_locl.h" - -$(INCL_D)\modes_lcl.h: $(SRC_D)\crypto\modes\modes_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes_lcl.h" "$(INCL_D)\modes_lcl.h" - -$(INCL_D)\bn_lcl.h: $(SRC_D)\crypto\bn\bn_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_lcl.h" "$(INCL_D)\bn_lcl.h" - -$(INCL_D)\bn_prime.h: $(SRC_D)\crypto\bn\bn_prime.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_prime.h" "$(INCL_D)\bn_prime.h" - -$(INCL_D)\dsa_locl.h: $(SRC_D)\crypto\dsa\dsa_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa_locl.h" "$(INCL_D)\dsa_locl.h" - -$(INCL_D)\ec_lcl.h: $(SRC_D)\crypto\ec\ec_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec_lcl.h" "$(INCL_D)\ec_lcl.h" - -$(INCL_D)\ech_locl.h: $(SRC_D)\crypto\ecdh\ech_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ech_locl.h" "$(INCL_D)\ech_locl.h" - -$(INCL_D)\ecs_locl.h: $(SRC_D)\crypto\ecdsa\ecs_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecs_locl.h" "$(INCL_D)\ecs_locl.h" - -$(INCL_D)\bio_lcl.h: $(SRC_D)\crypto\bio\bio_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio_lcl.h" "$(INCL_D)\bio_lcl.h" - -$(INCL_D)\obj_dat.h: $(SRC_D)\crypto\objects\obj_dat.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_dat.h" "$(INCL_D)\obj_dat.h" - -$(INCL_D)\obj_xref.h: $(SRC_D)\crypto\objects\obj_xref.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_xref.h" "$(INCL_D)\obj_xref.h" - -$(INCL_D)\evp_locl.h: $(SRC_D)\crypto\evp\evp_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp_locl.h" "$(INCL_D)\evp_locl.h" - -$(INCL_D)\asn1_locl.h: $(SRC_D)\crypto\asn1\asn1_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_locl.h" "$(INCL_D)\asn1_locl.h" - -$(INCL_D)\vpm_int.h: $(SRC_D)\crypto\x509\vpm_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\vpm_int.h" "$(INCL_D)\vpm_int.h" - -$(INCL_D)\pcy_int.h: $(SRC_D)\crypto\x509v3\pcy_int.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\pcy_int.h" "$(INCL_D)\pcy_int.h" - -$(INCL_D)\cms_lcl.h: $(SRC_D)\crypto\cms\cms_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms_lcl.h" "$(INCL_D)\cms_lcl.h" - -$(INCL_D)\conf_def.h: $(SRC_D)\crypto\conf\conf_def.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_def.h" "$(INCL_D)\conf_def.h" - -$(INCL_D)\ui_locl.h: $(SRC_D)\crypto\ui\ui_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_locl.h" "$(INCL_D)\ui_locl.h" - -$(INCL_D)\wp_locl.h: $(SRC_D)\crypto\whrlpool\wp_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\wp_locl.h" "$(INCL_D)\wp_locl.h" - -$(INCL_D)\ssl_locl.h: $(SRC_D)\ssl\ssl_locl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl_locl.h" "$(INCL_D)\ssl_locl.h" - -$(INCL_D)\kssl_lcl.h: $(SRC_D)\ssl\kssl_lcl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl_lcl.h" "$(INCL_D)\kssl_lcl.h" - -$(INCL_D)\apps.h: $(SRC_D)\apps\apps.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\apps.h" "$(INCL_D)\apps.h" - -$(INCL_D)\progs.h: $(SRC_D)\apps\progs.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\progs.h" "$(INCL_D)\progs.h" - -$(INCL_D)\s_apps.h: $(SRC_D)\apps\s_apps.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\s_apps.h" "$(INCL_D)\s_apps.h" - -$(INCL_D)\testdsa.h: $(SRC_D)\apps\testdsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testdsa.h" "$(INCL_D)\testdsa.h" - -$(INCL_D)\testrsa.h: $(SRC_D)\apps\testrsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testrsa.h" "$(INCL_D)\testrsa.h" - -$(INCL_D)\e_4758cca_err.c: $(SRC_D)\engines\e_4758cca_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.c" "$(INCL_D)\e_4758cca_err.c" - -$(INCL_D)\e_4758cca_err.h: $(SRC_D)\engines\e_4758cca_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.h" "$(INCL_D)\e_4758cca_err.h" - -$(INCL_D)\e_aep_err.c: $(SRC_D)\engines\e_aep_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.c" "$(INCL_D)\e_aep_err.c" - -$(INCL_D)\e_aep_err.h: $(SRC_D)\engines\e_aep_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.h" "$(INCL_D)\e_aep_err.h" - -$(INCL_D)\e_atalla_err.c: $(SRC_D)\engines\e_atalla_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.c" "$(INCL_D)\e_atalla_err.c" - -$(INCL_D)\e_atalla_err.h: $(SRC_D)\engines\e_atalla_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.h" "$(INCL_D)\e_atalla_err.h" - -$(INCL_D)\e_cswift_err.c: $(SRC_D)\engines\e_cswift_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.c" "$(INCL_D)\e_cswift_err.c" - -$(INCL_D)\e_cswift_err.h: $(SRC_D)\engines\e_cswift_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.h" "$(INCL_D)\e_cswift_err.h" - -$(INCL_D)\e_gmp_err.c: $(SRC_D)\engines\e_gmp_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.c" "$(INCL_D)\e_gmp_err.c" - -$(INCL_D)\e_gmp_err.h: $(SRC_D)\engines\e_gmp_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.h" "$(INCL_D)\e_gmp_err.h" - -$(INCL_D)\e_chil_err.c: $(SRC_D)\engines\e_chil_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.c" "$(INCL_D)\e_chil_err.c" - -$(INCL_D)\e_chil_err.h: $(SRC_D)\engines\e_chil_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.h" "$(INCL_D)\e_chil_err.h" - -$(INCL_D)\e_nuron_err.c: $(SRC_D)\engines\e_nuron_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.c" "$(INCL_D)\e_nuron_err.c" - -$(INCL_D)\e_nuron_err.h: $(SRC_D)\engines\e_nuron_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.h" "$(INCL_D)\e_nuron_err.h" - -$(INCL_D)\e_sureware_err.c: $(SRC_D)\engines\e_sureware_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.c" "$(INCL_D)\e_sureware_err.c" - -$(INCL_D)\e_sureware_err.h: $(SRC_D)\engines\e_sureware_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.h" "$(INCL_D)\e_sureware_err.h" - -$(INCL_D)\e_ubsec_err.c: $(SRC_D)\engines\e_ubsec_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.c" "$(INCL_D)\e_ubsec_err.c" - -$(INCL_D)\e_ubsec_err.h: $(SRC_D)\engines\e_ubsec_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.h" "$(INCL_D)\e_ubsec_err.h" - -$(INCL_D)\e_capi_err.c: $(SRC_D)\engines\e_capi_err.c - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.c" "$(INCL_D)\e_capi_err.c" - -$(INCL_D)\e_capi_err.h: $(SRC_D)\engines\e_capi_err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.h" "$(INCL_D)\e_capi_err.h" - -$(INCL_D)\testutil.h: $(SRC_D)\test\testutil.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\testutil.h" "$(INCL_D)\testutil.h" - -$(INCL_D)\ssltestlib.h: $(SRC_D)\test\ssltestlib.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\ssltestlib.h" "$(INCL_D)\ssltestlib.h" - -$(INCO_D)\e_os2.h: $(SRC_D)\.\e_os2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os2.h" "$(INCO_D)\e_os2.h" - -$(INCO_D)\crypto.h: $(SRC_D)\crypto\crypto.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\crypto.h" "$(INCO_D)\crypto.h" - -$(INCO_D)\opensslv.h: $(SRC_D)\crypto\opensslv.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslv.h" "$(INCO_D)\opensslv.h" - -$(INCO_D)\opensslconf.h: $(SRC_D)\crypto\opensslconf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslconf.h" "$(INCO_D)\opensslconf.h" - -$(INCO_D)\ebcdic.h: $(SRC_D)\crypto\ebcdic.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ebcdic.h" "$(INCO_D)\ebcdic.h" - -$(INCO_D)\symhacks.h: $(SRC_D)\crypto\symhacks.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\symhacks.h" "$(INCO_D)\symhacks.h" - -$(INCO_D)\ossl_typ.h: $(SRC_D)\crypto\ossl_typ.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ossl_typ.h" "$(INCO_D)\ossl_typ.h" - -$(INCO_D)\md4.h: $(SRC_D)\crypto\md4\md4.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4.h" "$(INCO_D)\md4.h" - -$(INCO_D)\md5.h: $(SRC_D)\crypto\md5\md5.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5.h" "$(INCO_D)\md5.h" - -$(INCO_D)\sha.h: $(SRC_D)\crypto\sha\sha.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha.h" "$(INCO_D)\sha.h" - -$(INCO_D)\hmac.h: $(SRC_D)\crypto\hmac\hmac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\hmac\hmac.h" "$(INCO_D)\hmac.h" - -$(INCO_D)\cmac.h: $(SRC_D)\crypto\cmac\cmac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cmac\cmac.h" "$(INCO_D)\cmac.h" - -$(INCO_D)\ripemd.h: $(SRC_D)\crypto\ripemd\ripemd.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\ripemd.h" "$(INCO_D)\ripemd.h" - -$(INCO_D)\des.h: $(SRC_D)\crypto\des\des.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des.h" "$(INCO_D)\des.h" - -$(INCO_D)\des_old.h: $(SRC_D)\crypto\des\des_old.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_old.h" "$(INCO_D)\des_old.h" - -$(INCO_D)\rc2.h: $(SRC_D)\crypto\rc2\rc2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2.h" "$(INCO_D)\rc2.h" - -$(INCO_D)\rc4.h: $(SRC_D)\crypto\rc4\rc4.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4.h" "$(INCO_D)\rc4.h" - -$(INCO_D)\blowfish.h: $(SRC_D)\crypto\bf\blowfish.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\blowfish.h" "$(INCO_D)\blowfish.h" - -$(INCO_D)\cast.h: $(SRC_D)\crypto\cast\cast.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast.h" "$(INCO_D)\cast.h" - -$(INCO_D)\aes.h: $(SRC_D)\crypto\aes\aes.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes.h" "$(INCO_D)\aes.h" - -$(INCO_D)\camellia.h: $(SRC_D)\crypto\camellia\camellia.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\camellia.h" "$(INCO_D)\camellia.h" - -$(INCO_D)\seed.h: $(SRC_D)\crypto\seed\seed.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed.h" "$(INCO_D)\seed.h" - -$(INCO_D)\modes.h: $(SRC_D)\crypto\modes\modes.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes.h" "$(INCO_D)\modes.h" - -$(INCO_D)\bn.h: $(SRC_D)\crypto\bn\bn.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn.h" "$(INCO_D)\bn.h" - -$(INCO_D)\rsa.h: $(SRC_D)\crypto\rsa\rsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rsa\rsa.h" "$(INCO_D)\rsa.h" - -$(INCO_D)\dsa.h: $(SRC_D)\crypto\dsa\dsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa.h" "$(INCO_D)\dsa.h" - -$(INCO_D)\dso.h: $(SRC_D)\crypto\dso\dso.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dso\dso.h" "$(INCO_D)\dso.h" - -$(INCO_D)\dh.h: $(SRC_D)\crypto\dh\dh.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dh\dh.h" "$(INCO_D)\dh.h" - -$(INCO_D)\ec.h: $(SRC_D)\crypto\ec\ec.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec.h" "$(INCO_D)\ec.h" - -$(INCO_D)\ecdh.h: $(SRC_D)\crypto\ecdh\ecdh.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ecdh.h" "$(INCO_D)\ecdh.h" - -$(INCO_D)\ecdsa.h: $(SRC_D)\crypto\ecdsa\ecdsa.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecdsa.h" "$(INCO_D)\ecdsa.h" - -$(INCO_D)\buffer.h: $(SRC_D)\crypto\buffer\buffer.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buffer\buffer.h" "$(INCO_D)\buffer.h" - -$(INCO_D)\bio.h: $(SRC_D)\crypto\bio\bio.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio.h" "$(INCO_D)\bio.h" - -$(INCO_D)\stack.h: $(SRC_D)\crypto\stack\stack.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\stack.h" "$(INCO_D)\stack.h" - -$(INCO_D)\safestack.h: $(SRC_D)\crypto\stack\safestack.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\safestack.h" "$(INCO_D)\safestack.h" - -$(INCO_D)\lhash.h: $(SRC_D)\crypto\lhash\lhash.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\lhash\lhash.h" "$(INCO_D)\lhash.h" - -$(INCO_D)\rand.h: $(SRC_D)\crypto\rand\rand.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rand\rand.h" "$(INCO_D)\rand.h" - -$(INCO_D)\err.h: $(SRC_D)\crypto\err\err.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\err\err.h" "$(INCO_D)\err.h" - -$(INCO_D)\objects.h: $(SRC_D)\crypto\objects\objects.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\objects.h" "$(INCO_D)\objects.h" - -$(INCO_D)\obj_mac.h: $(SRC_D)\crypto\objects\obj_mac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_mac.h" "$(INCO_D)\obj_mac.h" - -$(INCO_D)\evp.h: $(SRC_D)\crypto\evp\evp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp.h" "$(INCO_D)\evp.h" - -$(INCO_D)\asn1.h: $(SRC_D)\crypto\asn1\asn1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1.h" "$(INCO_D)\asn1.h" - -$(INCO_D)\asn1_mac.h: $(SRC_D)\crypto\asn1\asn1_mac.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_mac.h" "$(INCO_D)\asn1_mac.h" - -$(INCO_D)\asn1t.h: $(SRC_D)\crypto\asn1\asn1t.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1t.h" "$(INCO_D)\asn1t.h" - -$(INCO_D)\pem.h: $(SRC_D)\crypto\pem\pem.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem.h" "$(INCO_D)\pem.h" - -$(INCO_D)\pem2.h: $(SRC_D)\crypto\pem\pem2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem2.h" "$(INCO_D)\pem2.h" - -$(INCO_D)\x509.h: $(SRC_D)\crypto\x509\x509.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509.h" "$(INCO_D)\x509.h" - -$(INCO_D)\x509_vfy.h: $(SRC_D)\crypto\x509\x509_vfy.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509_vfy.h" "$(INCO_D)\x509_vfy.h" - -$(INCO_D)\x509v3.h: $(SRC_D)\crypto\x509v3\x509v3.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\x509v3.h" "$(INCO_D)\x509v3.h" - -$(INCO_D)\cms.h: $(SRC_D)\crypto\cms\cms.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms.h" "$(INCO_D)\cms.h" - -$(INCO_D)\conf.h: $(SRC_D)\crypto\conf\conf.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf.h" "$(INCO_D)\conf.h" - -$(INCO_D)\conf_api.h: $(SRC_D)\crypto\conf\conf_api.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_api.h" "$(INCO_D)\conf_api.h" - -$(INCO_D)\txt_db.h: $(SRC_D)\crypto\txt_db\txt_db.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\txt_db\txt_db.h" "$(INCO_D)\txt_db.h" - -$(INCO_D)\pkcs7.h: $(SRC_D)\crypto\pkcs7\pkcs7.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs7\pkcs7.h" "$(INCO_D)\pkcs7.h" - -$(INCO_D)\pkcs12.h: $(SRC_D)\crypto\pkcs12\pkcs12.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs12\pkcs12.h" "$(INCO_D)\pkcs12.h" - -$(INCO_D)\comp.h: $(SRC_D)\crypto\comp\comp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\comp\comp.h" "$(INCO_D)\comp.h" - -$(INCO_D)\engine.h: $(SRC_D)\crypto\engine\engine.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\engine\engine.h" "$(INCO_D)\engine.h" - -$(INCO_D)\ocsp.h: $(SRC_D)\crypto\ocsp\ocsp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ocsp\ocsp.h" "$(INCO_D)\ocsp.h" - -$(INCO_D)\ui.h: $(SRC_D)\crypto\ui\ui.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui.h" "$(INCO_D)\ui.h" - -$(INCO_D)\ui_compat.h: $(SRC_D)\crypto\ui\ui_compat.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_compat.h" "$(INCO_D)\ui_compat.h" - -$(INCO_D)\krb5_asn.h: $(SRC_D)\crypto\krb5\krb5_asn.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\krb5\krb5_asn.h" "$(INCO_D)\krb5_asn.h" - -$(INCO_D)\pqueue.h: $(SRC_D)\crypto\pqueue\pqueue.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pqueue\pqueue.h" "$(INCO_D)\pqueue.h" - -$(INCO_D)\whrlpool.h: $(SRC_D)\crypto\whrlpool\whrlpool.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\whrlpool.h" "$(INCO_D)\whrlpool.h" - -$(INCO_D)\ts.h: $(SRC_D)\crypto\ts\ts.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ts\ts.h" "$(INCO_D)\ts.h" - -$(INCO_D)\srp.h: $(SRC_D)\crypto\srp\srp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\srp\srp.h" "$(INCO_D)\srp.h" - -$(INCO_D)\ssl.h: $(SRC_D)\ssl\ssl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl.h" "$(INCO_D)\ssl.h" - -$(INCO_D)\ssl2.h: $(SRC_D)\ssl\ssl2.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl2.h" "$(INCO_D)\ssl2.h" - -$(INCO_D)\ssl3.h: $(SRC_D)\ssl\ssl3.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl3.h" "$(INCO_D)\ssl3.h" - -$(INCO_D)\ssl23.h: $(SRC_D)\ssl\ssl23.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl23.h" "$(INCO_D)\ssl23.h" - -$(INCO_D)\tls1.h: $(SRC_D)\ssl\tls1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\tls1.h" "$(INCO_D)\tls1.h" - -$(INCO_D)\dtls1.h: $(SRC_D)\ssl\dtls1.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\dtls1.h" "$(INCO_D)\dtls1.h" - -$(INCO_D)\kssl.h: $(SRC_D)\ssl\kssl.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl.h" "$(INCO_D)\kssl.h" - -$(INCO_D)\srtp.h: $(SRC_D)\ssl\srtp.h - $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\srtp.h" "$(INCO_D)\srtp.h" - -$(OBJ_D)\constant_time_test.obj: $(SRC_D)\crypto\constant_time_test.c - $(CC) /Fo$(OBJ_D)\constant_time_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\constant_time_test.c - -$(OBJ_D)\md4test.obj: $(SRC_D)\crypto\md4\md4test.c - $(CC) /Fo$(OBJ_D)\md4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md4\md4test.c - -$(OBJ_D)\md5test.obj: $(SRC_D)\crypto\md5\md5test.c - $(CC) /Fo$(OBJ_D)\md5test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md5\md5test.c - -$(OBJ_D)\shatest.obj: $(SRC_D)\crypto\sha\shatest.c - $(CC) /Fo$(OBJ_D)\shatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\shatest.c - -$(OBJ_D)\sha1test.obj: $(SRC_D)\crypto\sha\sha1test.c - $(CC) /Fo$(OBJ_D)\sha1test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha1test.c - -$(OBJ_D)\sha256t.obj: $(SRC_D)\crypto\sha\sha256t.c - $(CC) /Fo$(OBJ_D)\sha256t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha256t.c - -$(OBJ_D)\sha512t.obj: $(SRC_D)\crypto\sha\sha512t.c - $(CC) /Fo$(OBJ_D)\sha512t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha512t.c - -$(OBJ_D)\hmactest.obj: $(SRC_D)\crypto\hmac\hmactest.c - $(CC) /Fo$(OBJ_D)\hmactest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\hmac\hmactest.c - -$(OBJ_D)\rmdtest.obj: $(SRC_D)\crypto\ripemd\rmdtest.c - $(CC) /Fo$(OBJ_D)\rmdtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmdtest.c - -$(OBJ_D)\destest.obj: $(SRC_D)\crypto\des\destest.c - $(CC) /Fo$(OBJ_D)\destest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\des\destest.c - -$(OBJ_D)\rc2test.obj: $(SRC_D)\crypto\rc2\rc2test.c - $(CC) /Fo$(OBJ_D)\rc2test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2test.c - -$(OBJ_D)\rc4test.obj: $(SRC_D)\crypto\rc4\rc4test.c - $(CC) /Fo$(OBJ_D)\rc4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4test.c - -$(OBJ_D)\bftest.obj: $(SRC_D)\crypto\bf\bftest.c - $(CC) /Fo$(OBJ_D)\bftest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bf\bftest.c - -$(OBJ_D)\casttest.obj: $(SRC_D)\crypto\cast\casttest.c - $(CC) /Fo$(OBJ_D)\casttest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\cast\casttest.c - -$(OBJ_D)\bntest.obj: $(SRC_D)\crypto\bn\bntest.c - $(CC) /Fo$(OBJ_D)\bntest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\bntest.c - -$(OBJ_D)\exptest.obj: $(SRC_D)\crypto\bn\exptest.c - $(CC) /Fo$(OBJ_D)\exptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\exptest.c - -$(OBJ_D)\rsa_test.obj: $(SRC_D)\crypto\rsa\rsa_test.c - $(CC) /Fo$(OBJ_D)\rsa_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_test.c - -$(OBJ_D)\dsatest.obj: $(SRC_D)\crypto\dsa\dsatest.c - $(CC) /Fo$(OBJ_D)\dsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dsa\dsatest.c - -$(OBJ_D)\dhtest.obj: $(SRC_D)\crypto\dh\dhtest.c - $(CC) /Fo$(OBJ_D)\dhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dh\dhtest.c - -$(OBJ_D)\ectest.obj: $(SRC_D)\crypto\ec\ectest.c - $(CC) /Fo$(OBJ_D)\ectest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ec\ectest.c - -$(OBJ_D)\ecdhtest.obj: $(SRC_D)\crypto\ecdh\ecdhtest.c - $(CC) /Fo$(OBJ_D)\ecdhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdh\ecdhtest.c - -$(OBJ_D)\ecdsatest.obj: $(SRC_D)\crypto\ecdsa\ecdsatest.c - $(CC) /Fo$(OBJ_D)\ecdsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecdsatest.c - -$(OBJ_D)\randtest.obj: $(SRC_D)\crypto\rand\randtest.c - $(CC) /Fo$(OBJ_D)\randtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rand\randtest.c - -$(OBJ_D)\evp_test.obj: $(SRC_D)\crypto\evp\evp_test.c - $(CC) /Fo$(OBJ_D)\evp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_test.c - -$(OBJ_D)\evp_extra_test.obj: $(SRC_D)\crypto\evp\evp_extra_test.c - $(CC) /Fo$(OBJ_D)\evp_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_extra_test.c - -$(OBJ_D)\verify_extra_test.obj: $(SRC_D)\crypto\x509\verify_extra_test.c - $(CC) /Fo$(OBJ_D)\verify_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509\verify_extra_test.c - -$(OBJ_D)\v3nametest.obj: $(SRC_D)\crypto\x509v3\v3nametest.c - $(CC) /Fo$(OBJ_D)\v3nametest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3nametest.c - -$(OBJ_D)\enginetest.obj: $(SRC_D)\crypto\engine\enginetest.c - $(CC) /Fo$(OBJ_D)\enginetest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\engine\enginetest.c - -$(OBJ_D)\wp_test.obj: $(SRC_D)\crypto\whrlpool\wp_test.c - $(CC) /Fo$(OBJ_D)\wp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_test.c - -$(OBJ_D)\srptest.obj: $(SRC_D)\crypto\srp\srptest.c - $(CC) /Fo$(OBJ_D)\srptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\srp\srptest.c - -$(OBJ_D)\ssltest.obj: $(SRC_D)\ssl\ssltest.c - $(CC) /Fo$(OBJ_D)\ssltest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\ssltest.c - -$(OBJ_D)\heartbeat_test.obj: $(SRC_D)\ssl\heartbeat_test.c - $(CC) /Fo$(OBJ_D)\heartbeat_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\heartbeat_test.c - -$(OBJ_D)\clienthellotest.obj: $(SRC_D)\ssl\clienthellotest.c - $(CC) /Fo$(OBJ_D)\clienthellotest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\clienthellotest.c - -$(OBJ_D)\sslv2conftest.obj: $(SRC_D)\ssl\sslv2conftest.c - $(CC) /Fo$(OBJ_D)\sslv2conftest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\sslv2conftest.c - -$(OBJ_D)\dtlstest.obj: $(SRC_D)\ssl\dtlstest.c - $(CC) /Fo$(OBJ_D)\dtlstest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\dtlstest.c - -$(OBJ_D)\bad_dtls_test.obj: $(SRC_D)\ssl\bad_dtls_test.c - $(CC) /Fo$(OBJ_D)\bad_dtls_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\bad_dtls_test.c - -$(OBJ_D)\fatalerrtest.obj: $(SRC_D)\ssl\fatalerrtest.c - $(CC) /Fo$(OBJ_D)\fatalerrtest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\fatalerrtest.c - -$(OBJ_D)\igetest.obj: $(SRC_D)\test\igetest.c - $(CC) /Fo$(OBJ_D)\igetest.obj $(APP_CFLAGS) -c $(SRC_D)\test\igetest.c - -$(OBJ_D)\ssltestlib.obj: $(SRC_D)\test\ssltestlib.c - $(CC) /Fo$(OBJ_D)\ssltestlib.obj $(APP_CFLAGS) -c $(SRC_D)\test\ssltestlib.c - -$(OBJ_D)\verify.obj: $(SRC_D)\apps\verify.c - $(CC) /Fo$(OBJ_D)\verify.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\verify.c - -$(OBJ_D)\asn1pars.obj: $(SRC_D)\apps\asn1pars.c - $(CC) /Fo$(OBJ_D)\asn1pars.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\asn1pars.c - -$(OBJ_D)\req.obj: $(SRC_D)\apps\req.c - $(CC) /Fo$(OBJ_D)\req.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\req.c - -$(OBJ_D)\dgst.obj: $(SRC_D)\apps\dgst.c - $(CC) /Fo$(OBJ_D)\dgst.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dgst.c - -$(OBJ_D)\dh.obj: $(SRC_D)\apps\dh.c - $(CC) /Fo$(OBJ_D)\dh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dh.c - -$(OBJ_D)\dhparam.obj: $(SRC_D)\apps\dhparam.c - $(CC) /Fo$(OBJ_D)\dhparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dhparam.c - -$(OBJ_D)\enc.obj: $(SRC_D)\apps\enc.c - $(CC) /Fo$(OBJ_D)\enc.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\enc.c - -$(OBJ_D)\passwd.obj: $(SRC_D)\apps\passwd.c - $(CC) /Fo$(OBJ_D)\passwd.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\passwd.c - -$(OBJ_D)\gendh.obj: $(SRC_D)\apps\gendh.c - $(CC) /Fo$(OBJ_D)\gendh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendh.c - -$(OBJ_D)\errstr.obj: $(SRC_D)\apps\errstr.c - $(CC) /Fo$(OBJ_D)\errstr.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\errstr.c - -$(OBJ_D)\ca.obj: $(SRC_D)\apps\ca.c - $(CC) /Fo$(OBJ_D)\ca.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ca.c - -$(OBJ_D)\pkcs7.obj: $(SRC_D)\apps\pkcs7.c - $(CC) /Fo$(OBJ_D)\pkcs7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs7.c - -$(OBJ_D)\crl2p7.obj: $(SRC_D)\apps\crl2p7.c - $(CC) /Fo$(OBJ_D)\crl2p7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl2p7.c - -$(OBJ_D)\crl.obj: $(SRC_D)\apps\crl.c - $(CC) /Fo$(OBJ_D)\crl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl.c - -$(OBJ_D)\rsa.obj: $(SRC_D)\apps\rsa.c - $(CC) /Fo$(OBJ_D)\rsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsa.c - -$(OBJ_D)\rsautl.obj: $(SRC_D)\apps\rsautl.c - $(CC) /Fo$(OBJ_D)\rsautl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsautl.c - -$(OBJ_D)\dsa.obj: $(SRC_D)\apps\dsa.c - $(CC) /Fo$(OBJ_D)\dsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsa.c - -$(OBJ_D)\dsaparam.obj: $(SRC_D)\apps\dsaparam.c - $(CC) /Fo$(OBJ_D)\dsaparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsaparam.c - -$(OBJ_D)\ec.obj: $(SRC_D)\apps\ec.c - $(CC) /Fo$(OBJ_D)\ec.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ec.c - -$(OBJ_D)\ecparam.obj: $(SRC_D)\apps\ecparam.c - $(CC) /Fo$(OBJ_D)\ecparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ecparam.c - -$(OBJ_D)\x509.obj: $(SRC_D)\apps\x509.c - $(CC) /Fo$(OBJ_D)\x509.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\x509.c - -$(OBJ_D)\genrsa.obj: $(SRC_D)\apps\genrsa.c - $(CC) /Fo$(OBJ_D)\genrsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genrsa.c - -$(OBJ_D)\gendsa.obj: $(SRC_D)\apps\gendsa.c - $(CC) /Fo$(OBJ_D)\gendsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendsa.c - -$(OBJ_D)\genpkey.obj: $(SRC_D)\apps\genpkey.c - $(CC) /Fo$(OBJ_D)\genpkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genpkey.c - -$(OBJ_D)\s_server.obj: $(SRC_D)\apps\s_server.c - $(CC) /Fo$(OBJ_D)\s_server.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_server.c - -$(OBJ_D)\s_client.obj: $(SRC_D)\apps\s_client.c - $(CC) /Fo$(OBJ_D)\s_client.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_client.c - -$(OBJ_D)\speed.obj: $(SRC_D)\apps\speed.c - $(CC) /Fo$(OBJ_D)\speed.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\speed.c - -$(OBJ_D)\s_time.obj: $(SRC_D)\apps\s_time.c - $(CC) /Fo$(OBJ_D)\s_time.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_time.c - -$(OBJ_D)\apps.obj: $(SRC_D)\apps\apps.c - $(CC) /Fo$(OBJ_D)\apps.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\apps.c - -$(OBJ_D)\s_cb.obj: $(SRC_D)\apps\s_cb.c - $(CC) /Fo$(OBJ_D)\s_cb.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_cb.c - -$(OBJ_D)\s_socket.obj: $(SRC_D)\apps\s_socket.c - $(CC) /Fo$(OBJ_D)\s_socket.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_socket.c - -$(OBJ_D)\app_rand.obj: $(SRC_D)\apps\app_rand.c - $(CC) /Fo$(OBJ_D)\app_rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\app_rand.c - -$(OBJ_D)\version.obj: $(SRC_D)\apps\version.c - $(CC) /Fo$(OBJ_D)\version.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\version.c - -$(OBJ_D)\sess_id.obj: $(SRC_D)\apps\sess_id.c - $(CC) /Fo$(OBJ_D)\sess_id.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\sess_id.c - -$(OBJ_D)\ciphers.obj: $(SRC_D)\apps\ciphers.c - $(CC) /Fo$(OBJ_D)\ciphers.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ciphers.c - -$(OBJ_D)\nseq.obj: $(SRC_D)\apps\nseq.c - $(CC) /Fo$(OBJ_D)\nseq.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\nseq.c - -$(OBJ_D)\pkcs12.obj: $(SRC_D)\apps\pkcs12.c - $(CC) /Fo$(OBJ_D)\pkcs12.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs12.c - -$(OBJ_D)\pkcs8.obj: $(SRC_D)\apps\pkcs8.c - $(CC) /Fo$(OBJ_D)\pkcs8.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs8.c - -$(OBJ_D)\pkey.obj: $(SRC_D)\apps\pkey.c - $(CC) /Fo$(OBJ_D)\pkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkey.c - -$(OBJ_D)\pkeyparam.obj: $(SRC_D)\apps\pkeyparam.c - $(CC) /Fo$(OBJ_D)\pkeyparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyparam.c - -$(OBJ_D)\pkeyutl.obj: $(SRC_D)\apps\pkeyutl.c - $(CC) /Fo$(OBJ_D)\pkeyutl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyutl.c - -$(OBJ_D)\spkac.obj: $(SRC_D)\apps\spkac.c - $(CC) /Fo$(OBJ_D)\spkac.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\spkac.c - -$(OBJ_D)\smime.obj: $(SRC_D)\apps\smime.c - $(CC) /Fo$(OBJ_D)\smime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\smime.c - -$(OBJ_D)\cms.obj: $(SRC_D)\apps\cms.c - $(CC) /Fo$(OBJ_D)\cms.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\cms.c - -$(OBJ_D)\rand.obj: $(SRC_D)\apps\rand.c - $(CC) /Fo$(OBJ_D)\rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rand.c - -$(OBJ_D)\engine.obj: $(SRC_D)\apps\engine.c - $(CC) /Fo$(OBJ_D)\engine.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\engine.c - -$(OBJ_D)\ocsp.obj: $(SRC_D)\apps\ocsp.c - $(CC) /Fo$(OBJ_D)\ocsp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ocsp.c - -$(OBJ_D)\prime.obj: $(SRC_D)\apps\prime.c - $(CC) /Fo$(OBJ_D)\prime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\prime.c - -$(OBJ_D)\ts.obj: $(SRC_D)\apps\ts.c - $(CC) /Fo$(OBJ_D)\ts.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ts.c - -$(OBJ_D)\srp.obj: $(SRC_D)\apps\srp.c - $(CC) /Fo$(OBJ_D)\srp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\srp.c - -$(OBJ_D)\openssl.obj: $(SRC_D)\apps\openssl.c - $(CC) /Fo$(OBJ_D)\openssl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\openssl.c - -$(OBJ_D)\cryptlib.obj: $(SRC_D)\crypto\cryptlib.c - $(CC) /Fo$(OBJ_D)\cryptlib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cryptlib.c - -$(OBJ_D)\mem.obj: $(SRC_D)\crypto\mem.c - $(CC) /Fo$(OBJ_D)\mem.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\mem.c - -$(OBJ_D)\mem_dbg.obj: $(SRC_D)\crypto\mem_dbg.c - $(CC) /Fo$(OBJ_D)\mem_dbg.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\mem_dbg.c - -$(OBJ_D)\cversion.obj: $(SRC_D)\crypto\cversion.c - $(CC) /Fo$(OBJ_D)\cversion.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -DMK1MF_BUILD -DMK1MF_PLATFORM_VC_WIN32 -c $(SRC_D)\crypto\cversion.c - -$(OBJ_D)\ex_data.obj: $(SRC_D)\crypto\ex_data.c - $(CC) /Fo$(OBJ_D)\ex_data.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ex_data.c - -$(OBJ_D)\cpt_err.obj: $(SRC_D)\crypto\cpt_err.c - $(CC) /Fo$(OBJ_D)\cpt_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cpt_err.c - -$(OBJ_D)\ebcdic.obj: $(SRC_D)\crypto\ebcdic.c - $(CC) /Fo$(OBJ_D)\ebcdic.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ebcdic.c - -$(OBJ_D)\uid.obj: $(SRC_D)\crypto\uid.c - $(CC) /Fo$(OBJ_D)\uid.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\uid.c - -$(OBJ_D)\o_time.obj: $(SRC_D)\crypto\o_time.c - $(CC) /Fo$(OBJ_D)\o_time.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\o_time.c - -$(OBJ_D)\o_str.obj: $(SRC_D)\crypto\o_str.c - $(CC) /Fo$(OBJ_D)\o_str.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\o_str.c - -$(OBJ_D)\o_dir.obj: $(SRC_D)\crypto\o_dir.c - $(CC) /Fo$(OBJ_D)\o_dir.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\o_dir.c - -$(OBJ_D)\o_fips.obj: $(SRC_D)\crypto\o_fips.c - $(CC) /Fo$(OBJ_D)\o_fips.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\o_fips.c - -$(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c - $(CC) /Fo$(OBJ_D)\o_init.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\o_init.c - -$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c - $(CC) /Fo$(OBJ_D)\fips_ers.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\fips_ers.c - -$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c - $(CC) /Fo$(OBJ_D)\getenv.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\getenv.c - -$(TMP_D)\x86cpuid.asm: crypto\x86cpuid.pl - $(PERL) crypto\x86cpuid.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\x86cpuid.obj: $(TMP_D)\x86cpuid.asm - $(ASM) -o $@ $(TMP_D)\x86cpuid.asm - -$(OBJ_D)\md4_dgst.obj: $(SRC_D)\crypto\md4\md4_dgst.c - $(CC) /Fo$(OBJ_D)\md4_dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\md4\md4_dgst.c - -$(OBJ_D)\md4_one.obj: $(SRC_D)\crypto\md4\md4_one.c - $(CC) /Fo$(OBJ_D)\md4_one.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\md4\md4_one.c - -$(OBJ_D)\md5_dgst.obj: $(SRC_D)\crypto\md5\md5_dgst.c - $(CC) /Fo$(OBJ_D)\md5_dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\md5\md5_dgst.c - -$(OBJ_D)\md5_one.obj: $(SRC_D)\crypto\md5\md5_one.c - $(CC) /Fo$(OBJ_D)\md5_one.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\md5\md5_one.c - -$(TMP_D)\md5-586.asm: crypto\md5\asm\md5-586.pl - $(PERL) crypto\md5\asm\md5-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\md5-586.obj: $(TMP_D)\md5-586.asm - $(ASM) -o $@ $(TMP_D)\md5-586.asm - -$(OBJ_D)\sha_dgst.obj: $(SRC_D)\crypto\sha\sha_dgst.c - $(CC) /Fo$(OBJ_D)\sha_dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha_dgst.c - -$(OBJ_D)\sha1dgst.obj: $(SRC_D)\crypto\sha\sha1dgst.c - $(CC) /Fo$(OBJ_D)\sha1dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha1dgst.c - -$(OBJ_D)\sha_one.obj: $(SRC_D)\crypto\sha\sha_one.c - $(CC) /Fo$(OBJ_D)\sha_one.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha_one.c - -$(OBJ_D)\sha1_one.obj: $(SRC_D)\crypto\sha\sha1_one.c - $(CC) /Fo$(OBJ_D)\sha1_one.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha1_one.c - -$(OBJ_D)\sha256.obj: $(SRC_D)\crypto\sha\sha256.c - $(CC) /Fo$(OBJ_D)\sha256.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha256.c - -$(OBJ_D)\sha512.obj: $(SRC_D)\crypto\sha\sha512.c - $(CC) /Fo$(OBJ_D)\sha512.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha512.c - -$(TMP_D)\sha1-586.asm: crypto\sha\asm\sha1-586.pl - $(PERL) crypto\sha\asm\sha1-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\sha1-586.obj: $(TMP_D)\sha1-586.asm - $(ASM) -o $@ $(TMP_D)\sha1-586.asm - -$(TMP_D)\sha256-586.asm: crypto\sha\asm\sha256-586.pl - $(PERL) crypto\sha\asm\sha256-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\sha256-586.obj: $(TMP_D)\sha256-586.asm - $(ASM) -o $@ $(TMP_D)\sha256-586.asm - -$(TMP_D)\sha512-586.asm: crypto\sha\asm\sha512-586.pl - $(PERL) crypto\sha\asm\sha512-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\sha512-586.obj: $(TMP_D)\sha512-586.asm - $(ASM) -o $@ $(TMP_D)\sha512-586.asm - -$(OBJ_D)\hmac.obj: $(SRC_D)\crypto\hmac\hmac.c - $(CC) /Fo$(OBJ_D)\hmac.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\hmac\hmac.c - -$(OBJ_D)\hm_ameth.obj: $(SRC_D)\crypto\hmac\hm_ameth.c - $(CC) /Fo$(OBJ_D)\hm_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\hmac\hm_ameth.c - -$(OBJ_D)\hm_pmeth.obj: $(SRC_D)\crypto\hmac\hm_pmeth.c - $(CC) /Fo$(OBJ_D)\hm_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\hmac\hm_pmeth.c - -$(OBJ_D)\cmac.obj: $(SRC_D)\crypto\cmac\cmac.c - $(CC) /Fo$(OBJ_D)\cmac.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cmac\cmac.c - -$(OBJ_D)\cm_ameth.obj: $(SRC_D)\crypto\cmac\cm_ameth.c - $(CC) /Fo$(OBJ_D)\cm_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cmac\cm_ameth.c - -$(OBJ_D)\cm_pmeth.obj: $(SRC_D)\crypto\cmac\cm_pmeth.c - $(CC) /Fo$(OBJ_D)\cm_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cmac\cm_pmeth.c - -$(OBJ_D)\rmd_dgst.obj: $(SRC_D)\crypto\ripemd\rmd_dgst.c - $(CC) /Fo$(OBJ_D)\rmd_dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ripemd\rmd_dgst.c - -$(OBJ_D)\rmd_one.obj: $(SRC_D)\crypto\ripemd\rmd_one.c - $(CC) /Fo$(OBJ_D)\rmd_one.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ripemd\rmd_one.c - -$(TMP_D)\rmd-586.asm: crypto\ripemd\asm\rmd-586.pl - $(PERL) crypto\ripemd\asm\rmd-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\rmd-586.obj: $(TMP_D)\rmd-586.asm - $(ASM) -o $@ $(TMP_D)\rmd-586.asm - -$(OBJ_D)\set_key.obj: $(SRC_D)\crypto\des\set_key.c - $(CC) /Fo$(OBJ_D)\set_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\set_key.c - -$(OBJ_D)\ecb_enc.obj: $(SRC_D)\crypto\des\ecb_enc.c - $(CC) /Fo$(OBJ_D)\ecb_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ecb_enc.c - -$(OBJ_D)\cbc_enc.obj: $(SRC_D)\crypto\des\cbc_enc.c - $(CC) /Fo$(OBJ_D)\cbc_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\cbc_enc.c - -$(OBJ_D)\ecb3_enc.obj: $(SRC_D)\crypto\des\ecb3_enc.c - $(CC) /Fo$(OBJ_D)\ecb3_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ecb3_enc.c - -$(OBJ_D)\cfb64enc.obj: $(SRC_D)\crypto\des\cfb64enc.c - $(CC) /Fo$(OBJ_D)\cfb64enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\cfb64enc.c - -$(OBJ_D)\cfb64ede.obj: $(SRC_D)\crypto\des\cfb64ede.c - $(CC) /Fo$(OBJ_D)\cfb64ede.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\cfb64ede.c - -$(OBJ_D)\cfb_enc.obj: $(SRC_D)\crypto\des\cfb_enc.c - $(CC) /Fo$(OBJ_D)\cfb_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\cfb_enc.c - -$(OBJ_D)\ofb64ede.obj: $(SRC_D)\crypto\des\ofb64ede.c - $(CC) /Fo$(OBJ_D)\ofb64ede.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ofb64ede.c - -$(OBJ_D)\enc_read.obj: $(SRC_D)\crypto\des\enc_read.c - $(CC) /Fo$(OBJ_D)\enc_read.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\enc_read.c - -$(OBJ_D)\enc_writ.obj: $(SRC_D)\crypto\des\enc_writ.c - $(CC) /Fo$(OBJ_D)\enc_writ.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\enc_writ.c - -$(OBJ_D)\ofb64enc.obj: $(SRC_D)\crypto\des\ofb64enc.c - $(CC) /Fo$(OBJ_D)\ofb64enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ofb64enc.c - -$(OBJ_D)\ofb_enc.obj: $(SRC_D)\crypto\des\ofb_enc.c - $(CC) /Fo$(OBJ_D)\ofb_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ofb_enc.c - -$(OBJ_D)\str2key.obj: $(SRC_D)\crypto\des\str2key.c - $(CC) /Fo$(OBJ_D)\str2key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\str2key.c - -$(OBJ_D)\pcbc_enc.obj: $(SRC_D)\crypto\des\pcbc_enc.c - $(CC) /Fo$(OBJ_D)\pcbc_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\pcbc_enc.c - -$(OBJ_D)\qud_cksm.obj: $(SRC_D)\crypto\des\qud_cksm.c - $(CC) /Fo$(OBJ_D)\qud_cksm.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\qud_cksm.c - -$(OBJ_D)\rand_key.obj: $(SRC_D)\crypto\des\rand_key.c - $(CC) /Fo$(OBJ_D)\rand_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\rand_key.c - -$(TMP_D)\des-586.asm: crypto\des\asm\des-586.pl - $(PERL) crypto\des\asm\des-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\des-586.obj: $(TMP_D)\des-586.asm - $(ASM) -o $@ $(TMP_D)\des-586.asm - -$(TMP_D)\crypt586.asm: crypto\des\asm\crypt586.pl - $(PERL) crypto\des\asm\crypt586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\crypt586.obj: $(TMP_D)\crypt586.asm - $(ASM) -o $@ $(TMP_D)\crypt586.asm - -$(OBJ_D)\fcrypt.obj: $(SRC_D)\crypto\des\fcrypt.c - $(CC) /Fo$(OBJ_D)\fcrypt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\fcrypt.c - -$(OBJ_D)\xcbc_enc.obj: $(SRC_D)\crypto\des\xcbc_enc.c - $(CC) /Fo$(OBJ_D)\xcbc_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\xcbc_enc.c - -$(OBJ_D)\rpc_enc.obj: $(SRC_D)\crypto\des\rpc_enc.c - $(CC) /Fo$(OBJ_D)\rpc_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\rpc_enc.c - -$(OBJ_D)\cbc_cksm.obj: $(SRC_D)\crypto\des\cbc_cksm.c - $(CC) /Fo$(OBJ_D)\cbc_cksm.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\cbc_cksm.c - -$(OBJ_D)\ede_cbcm_enc.obj: $(SRC_D)\crypto\des\ede_cbcm_enc.c - $(CC) /Fo$(OBJ_D)\ede_cbcm_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ede_cbcm_enc.c - -$(OBJ_D)\des_old.obj: $(SRC_D)\crypto\des\des_old.c - $(CC) /Fo$(OBJ_D)\des_old.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\des_old.c - -$(OBJ_D)\des_old2.obj: $(SRC_D)\crypto\des\des_old2.c - $(CC) /Fo$(OBJ_D)\des_old2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\des_old2.c - -$(OBJ_D)\read2pwd.obj: $(SRC_D)\crypto\des\read2pwd.c - $(CC) /Fo$(OBJ_D)\read2pwd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\read2pwd.c - -$(OBJ_D)\rc2_ecb.obj: $(SRC_D)\crypto\rc2\rc2_ecb.c - $(CC) /Fo$(OBJ_D)\rc2_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc2\rc2_ecb.c - -$(OBJ_D)\rc2_skey.obj: $(SRC_D)\crypto\rc2\rc2_skey.c - $(CC) /Fo$(OBJ_D)\rc2_skey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc2\rc2_skey.c - -$(OBJ_D)\rc2_cbc.obj: $(SRC_D)\crypto\rc2\rc2_cbc.c - $(CC) /Fo$(OBJ_D)\rc2_cbc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc2\rc2_cbc.c - -$(OBJ_D)\rc2cfb64.obj: $(SRC_D)\crypto\rc2\rc2cfb64.c - $(CC) /Fo$(OBJ_D)\rc2cfb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc2\rc2cfb64.c - -$(OBJ_D)\rc2ofb64.obj: $(SRC_D)\crypto\rc2\rc2ofb64.c - $(CC) /Fo$(OBJ_D)\rc2ofb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc2\rc2ofb64.c - -$(TMP_D)\rc4-586.asm: crypto\rc4\asm\rc4-586.pl - $(PERL) crypto\rc4\asm\rc4-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\rc4-586.obj: $(TMP_D)\rc4-586.asm - $(ASM) -o $@ $(TMP_D)\rc4-586.asm - -$(OBJ_D)\rc4_utl.obj: $(SRC_D)\crypto\rc4\rc4_utl.c - $(CC) /Fo$(OBJ_D)\rc4_utl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc4\rc4_utl.c - -$(OBJ_D)\bf_skey.obj: $(SRC_D)\crypto\bf\bf_skey.c - $(CC) /Fo$(OBJ_D)\bf_skey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bf\bf_skey.c - -$(OBJ_D)\bf_ecb.obj: $(SRC_D)\crypto\bf\bf_ecb.c - $(CC) /Fo$(OBJ_D)\bf_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bf\bf_ecb.c - -$(TMP_D)\bf-586.asm: crypto\bf\asm\bf-586.pl - $(PERL) crypto\bf\asm\bf-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\bf-586.obj: $(TMP_D)\bf-586.asm - $(ASM) -o $@ $(TMP_D)\bf-586.asm - -$(OBJ_D)\bf_cfb64.obj: $(SRC_D)\crypto\bf\bf_cfb64.c - $(CC) /Fo$(OBJ_D)\bf_cfb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bf\bf_cfb64.c - -$(OBJ_D)\bf_ofb64.obj: $(SRC_D)\crypto\bf\bf_ofb64.c - $(CC) /Fo$(OBJ_D)\bf_ofb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bf\bf_ofb64.c - -$(OBJ_D)\c_skey.obj: $(SRC_D)\crypto\cast\c_skey.c - $(CC) /Fo$(OBJ_D)\c_skey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cast\c_skey.c - -$(OBJ_D)\c_ecb.obj: $(SRC_D)\crypto\cast\c_ecb.c - $(CC) /Fo$(OBJ_D)\c_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cast\c_ecb.c - -$(TMP_D)\cast-586.asm: crypto\cast\asm\cast-586.pl - $(PERL) crypto\cast\asm\cast-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\cast-586.obj: $(TMP_D)\cast-586.asm - $(ASM) -o $@ $(TMP_D)\cast-586.asm - -$(OBJ_D)\c_cfb64.obj: $(SRC_D)\crypto\cast\c_cfb64.c - $(CC) /Fo$(OBJ_D)\c_cfb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cast\c_cfb64.c - -$(OBJ_D)\c_ofb64.obj: $(SRC_D)\crypto\cast\c_ofb64.c - $(CC) /Fo$(OBJ_D)\c_ofb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cast\c_ofb64.c - -$(OBJ_D)\aes_misc.obj: $(SRC_D)\crypto\aes\aes_misc.c - $(CC) /Fo$(OBJ_D)\aes_misc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_misc.c - -$(OBJ_D)\aes_ecb.obj: $(SRC_D)\crypto\aes\aes_ecb.c - $(CC) /Fo$(OBJ_D)\aes_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_ecb.c - -$(OBJ_D)\aes_cfb.obj: $(SRC_D)\crypto\aes\aes_cfb.c - $(CC) /Fo$(OBJ_D)\aes_cfb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_cfb.c - -$(OBJ_D)\aes_ofb.obj: $(SRC_D)\crypto\aes\aes_ofb.c - $(CC) /Fo$(OBJ_D)\aes_ofb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_ofb.c - -$(OBJ_D)\aes_ctr.obj: $(SRC_D)\crypto\aes\aes_ctr.c - $(CC) /Fo$(OBJ_D)\aes_ctr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_ctr.c - -$(OBJ_D)\aes_ige.obj: $(SRC_D)\crypto\aes\aes_ige.c - $(CC) /Fo$(OBJ_D)\aes_ige.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_ige.c - -$(OBJ_D)\aes_wrap.obj: $(SRC_D)\crypto\aes\aes_wrap.c - $(CC) /Fo$(OBJ_D)\aes_wrap.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_wrap.c - -$(TMP_D)\aes-586.asm: crypto\aes\asm\aes-586.pl - $(PERL) crypto\aes\asm\aes-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\aes-586.obj: $(TMP_D)\aes-586.asm - $(ASM) -o $@ $(TMP_D)\aes-586.asm - -$(TMP_D)\vpaes-x86.asm: crypto\aes\asm\vpaes-x86.pl - $(PERL) crypto\aes\asm\vpaes-x86.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\vpaes-x86.obj: $(TMP_D)\vpaes-x86.asm - $(ASM) -o $@ $(TMP_D)\vpaes-x86.asm - -$(TMP_D)\aesni-x86.asm: crypto\aes\asm\aesni-x86.pl - $(PERL) crypto\aes\asm\aesni-x86.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\aesni-x86.obj: $(TMP_D)\aesni-x86.asm - $(ASM) -o $@ $(TMP_D)\aesni-x86.asm - -$(OBJ_D)\cmll_ecb.obj: $(SRC_D)\crypto\camellia\cmll_ecb.c - $(CC) /Fo$(OBJ_D)\cmll_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\camellia\cmll_ecb.c - -$(OBJ_D)\cmll_ofb.obj: $(SRC_D)\crypto\camellia\cmll_ofb.c - $(CC) /Fo$(OBJ_D)\cmll_ofb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\camellia\cmll_ofb.c - -$(OBJ_D)\cmll_cfb.obj: $(SRC_D)\crypto\camellia\cmll_cfb.c - $(CC) /Fo$(OBJ_D)\cmll_cfb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\camellia\cmll_cfb.c - -$(OBJ_D)\cmll_ctr.obj: $(SRC_D)\crypto\camellia\cmll_ctr.c - $(CC) /Fo$(OBJ_D)\cmll_ctr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\camellia\cmll_ctr.c - -$(OBJ_D)\cmll_utl.obj: $(SRC_D)\crypto\camellia\cmll_utl.c - $(CC) /Fo$(OBJ_D)\cmll_utl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\camellia\cmll_utl.c - -$(TMP_D)\cmll-x86.asm: crypto\camellia\asm\cmll-x86.pl - $(PERL) crypto\camellia\asm\cmll-x86.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\cmll-x86.obj: $(TMP_D)\cmll-x86.asm - $(ASM) -o $@ $(TMP_D)\cmll-x86.asm - -$(OBJ_D)\seed.obj: $(SRC_D)\crypto\seed\seed.c - $(CC) /Fo$(OBJ_D)\seed.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\seed\seed.c - -$(OBJ_D)\seed_ecb.obj: $(SRC_D)\crypto\seed\seed_ecb.c - $(CC) /Fo$(OBJ_D)\seed_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\seed\seed_ecb.c - -$(OBJ_D)\seed_cbc.obj: $(SRC_D)\crypto\seed\seed_cbc.c - $(CC) /Fo$(OBJ_D)\seed_cbc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\seed\seed_cbc.c - -$(OBJ_D)\seed_cfb.obj: $(SRC_D)\crypto\seed\seed_cfb.c - $(CC) /Fo$(OBJ_D)\seed_cfb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\seed\seed_cfb.c - -$(OBJ_D)\seed_ofb.obj: $(SRC_D)\crypto\seed\seed_ofb.c - $(CC) /Fo$(OBJ_D)\seed_ofb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\seed\seed_ofb.c - -$(OBJ_D)\cbc128.obj: $(SRC_D)\crypto\modes\cbc128.c - $(CC) /Fo$(OBJ_D)\cbc128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\cbc128.c - -$(OBJ_D)\ctr128.obj: $(SRC_D)\crypto\modes\ctr128.c - $(CC) /Fo$(OBJ_D)\ctr128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\ctr128.c - -$(OBJ_D)\cts128.obj: $(SRC_D)\crypto\modes\cts128.c - $(CC) /Fo$(OBJ_D)\cts128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\cts128.c - -$(OBJ_D)\cfb128.obj: $(SRC_D)\crypto\modes\cfb128.c - $(CC) /Fo$(OBJ_D)\cfb128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\cfb128.c - -$(OBJ_D)\ofb128.obj: $(SRC_D)\crypto\modes\ofb128.c - $(CC) /Fo$(OBJ_D)\ofb128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\ofb128.c - -$(OBJ_D)\gcm128.obj: $(SRC_D)\crypto\modes\gcm128.c - $(CC) /Fo$(OBJ_D)\gcm128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\gcm128.c - -$(OBJ_D)\ccm128.obj: $(SRC_D)\crypto\modes\ccm128.c - $(CC) /Fo$(OBJ_D)\ccm128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\ccm128.c - -$(OBJ_D)\xts128.obj: $(SRC_D)\crypto\modes\xts128.c - $(CC) /Fo$(OBJ_D)\xts128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\xts128.c - -$(OBJ_D)\wrap128.obj: $(SRC_D)\crypto\modes\wrap128.c - $(CC) /Fo$(OBJ_D)\wrap128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\wrap128.c - -$(TMP_D)\ghash-x86.asm: crypto\modes\asm\ghash-x86.pl - $(PERL) crypto\modes\asm\ghash-x86.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\ghash-x86.obj: $(TMP_D)\ghash-x86.asm - $(ASM) -o $@ $(TMP_D)\ghash-x86.asm - -$(OBJ_D)\bn_add.obj: $(SRC_D)\crypto\bn\bn_add.c - $(CC) /Fo$(OBJ_D)\bn_add.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_add.c - -$(OBJ_D)\bn_div.obj: $(SRC_D)\crypto\bn\bn_div.c - $(CC) /Fo$(OBJ_D)\bn_div.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_div.c - -$(OBJ_D)\bn_exp.obj: $(SRC_D)\crypto\bn\bn_exp.c - $(CC) /Fo$(OBJ_D)\bn_exp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_exp.c - -$(OBJ_D)\bn_lib.obj: $(SRC_D)\crypto\bn\bn_lib.c - $(CC) /Fo$(OBJ_D)\bn_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_lib.c - -$(OBJ_D)\bn_ctx.obj: $(SRC_D)\crypto\bn\bn_ctx.c - $(CC) /Fo$(OBJ_D)\bn_ctx.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_ctx.c - -$(OBJ_D)\bn_mul.obj: $(SRC_D)\crypto\bn\bn_mul.c - $(CC) /Fo$(OBJ_D)\bn_mul.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_mul.c - -$(OBJ_D)\bn_mod.obj: $(SRC_D)\crypto\bn\bn_mod.c - $(CC) /Fo$(OBJ_D)\bn_mod.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_mod.c - -$(OBJ_D)\bn_print.obj: $(SRC_D)\crypto\bn\bn_print.c - $(CC) /Fo$(OBJ_D)\bn_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_print.c - -$(OBJ_D)\bn_rand.obj: $(SRC_D)\crypto\bn\bn_rand.c - $(CC) /Fo$(OBJ_D)\bn_rand.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_rand.c - -$(OBJ_D)\bn_shift.obj: $(SRC_D)\crypto\bn\bn_shift.c - $(CC) /Fo$(OBJ_D)\bn_shift.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_shift.c - -$(OBJ_D)\bn_word.obj: $(SRC_D)\crypto\bn\bn_word.c - $(CC) /Fo$(OBJ_D)\bn_word.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_word.c - -$(OBJ_D)\bn_blind.obj: $(SRC_D)\crypto\bn\bn_blind.c - $(CC) /Fo$(OBJ_D)\bn_blind.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_blind.c - -$(OBJ_D)\bn_kron.obj: $(SRC_D)\crypto\bn\bn_kron.c - $(CC) /Fo$(OBJ_D)\bn_kron.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_kron.c - -$(OBJ_D)\bn_sqrt.obj: $(SRC_D)\crypto\bn\bn_sqrt.c - $(CC) /Fo$(OBJ_D)\bn_sqrt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_sqrt.c - -$(OBJ_D)\bn_gcd.obj: $(SRC_D)\crypto\bn\bn_gcd.c - $(CC) /Fo$(OBJ_D)\bn_gcd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_gcd.c - -$(OBJ_D)\bn_prime.obj: $(SRC_D)\crypto\bn\bn_prime.c - $(CC) /Fo$(OBJ_D)\bn_prime.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_prime.c - -$(OBJ_D)\bn_err.obj: $(SRC_D)\crypto\bn\bn_err.c - $(CC) /Fo$(OBJ_D)\bn_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_err.c - -$(OBJ_D)\bn_sqr.obj: $(SRC_D)\crypto\bn\bn_sqr.c - $(CC) /Fo$(OBJ_D)\bn_sqr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_sqr.c - -$(TMP_D)\bn-586.asm: crypto\bn\asm\bn-586.pl - $(PERL) crypto\bn\asm\bn-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\bn-586.obj: $(TMP_D)\bn-586.asm - $(ASM) -o $@ $(TMP_D)\bn-586.asm - -$(TMP_D)\co-586.asm: crypto\bn\asm\co-586.pl - $(PERL) crypto\bn\asm\co-586.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\co-586.obj: $(TMP_D)\co-586.asm - $(ASM) -o $@ $(TMP_D)\co-586.asm - -$(TMP_D)\x86-mont.asm: crypto\bn\asm\x86-mont.pl - $(PERL) crypto\bn\asm\x86-mont.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\x86-mont.obj: $(TMP_D)\x86-mont.asm - $(ASM) -o $@ $(TMP_D)\x86-mont.asm - -$(TMP_D)\x86-gf2m.asm: crypto\bn\asm\x86-gf2m.pl - $(PERL) crypto\bn\asm\x86-gf2m.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\x86-gf2m.obj: $(TMP_D)\x86-gf2m.asm - $(ASM) -o $@ $(TMP_D)\x86-gf2m.asm - -$(OBJ_D)\bn_recp.obj: $(SRC_D)\crypto\bn\bn_recp.c - $(CC) /Fo$(OBJ_D)\bn_recp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_recp.c - -$(OBJ_D)\bn_mont.obj: $(SRC_D)\crypto\bn\bn_mont.c - $(CC) /Fo$(OBJ_D)\bn_mont.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_mont.c - -$(OBJ_D)\bn_mpi.obj: $(SRC_D)\crypto\bn\bn_mpi.c - $(CC) /Fo$(OBJ_D)\bn_mpi.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_mpi.c - -$(OBJ_D)\bn_exp2.obj: $(SRC_D)\crypto\bn\bn_exp2.c - $(CC) /Fo$(OBJ_D)\bn_exp2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_exp2.c - -$(OBJ_D)\bn_gf2m.obj: $(SRC_D)\crypto\bn\bn_gf2m.c - $(CC) /Fo$(OBJ_D)\bn_gf2m.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_gf2m.c - -$(OBJ_D)\bn_nist.obj: $(SRC_D)\crypto\bn\bn_nist.c - $(CC) /Fo$(OBJ_D)\bn_nist.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_nist.c - -$(OBJ_D)\bn_depr.obj: $(SRC_D)\crypto\bn\bn_depr.c - $(CC) /Fo$(OBJ_D)\bn_depr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_depr.c - -$(OBJ_D)\bn_const.obj: $(SRC_D)\crypto\bn\bn_const.c - $(CC) /Fo$(OBJ_D)\bn_const.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_const.c - -$(OBJ_D)\bn_x931p.obj: $(SRC_D)\crypto\bn\bn_x931p.c - $(CC) /Fo$(OBJ_D)\bn_x931p.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_x931p.c - -$(OBJ_D)\rsa_eay.obj: $(SRC_D)\crypto\rsa\rsa_eay.c - $(CC) /Fo$(OBJ_D)\rsa_eay.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_eay.c - -$(OBJ_D)\rsa_gen.obj: $(SRC_D)\crypto\rsa\rsa_gen.c - $(CC) /Fo$(OBJ_D)\rsa_gen.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_gen.c - -$(OBJ_D)\rsa_lib.obj: $(SRC_D)\crypto\rsa\rsa_lib.c - $(CC) /Fo$(OBJ_D)\rsa_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_lib.c - -$(OBJ_D)\rsa_sign.obj: $(SRC_D)\crypto\rsa\rsa_sign.c - $(CC) /Fo$(OBJ_D)\rsa_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_sign.c - -$(OBJ_D)\rsa_saos.obj: $(SRC_D)\crypto\rsa\rsa_saos.c - $(CC) /Fo$(OBJ_D)\rsa_saos.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_saos.c - -$(OBJ_D)\rsa_err.obj: $(SRC_D)\crypto\rsa\rsa_err.c - $(CC) /Fo$(OBJ_D)\rsa_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_err.c - -$(OBJ_D)\rsa_pk1.obj: $(SRC_D)\crypto\rsa\rsa_pk1.c - $(CC) /Fo$(OBJ_D)\rsa_pk1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_pk1.c - -$(OBJ_D)\rsa_ssl.obj: $(SRC_D)\crypto\rsa\rsa_ssl.c - $(CC) /Fo$(OBJ_D)\rsa_ssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_ssl.c - -$(OBJ_D)\rsa_none.obj: $(SRC_D)\crypto\rsa\rsa_none.c - $(CC) /Fo$(OBJ_D)\rsa_none.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_none.c - -$(OBJ_D)\rsa_oaep.obj: $(SRC_D)\crypto\rsa\rsa_oaep.c - $(CC) /Fo$(OBJ_D)\rsa_oaep.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_oaep.c - -$(OBJ_D)\rsa_chk.obj: $(SRC_D)\crypto\rsa\rsa_chk.c - $(CC) /Fo$(OBJ_D)\rsa_chk.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_chk.c - -$(OBJ_D)\rsa_null.obj: $(SRC_D)\crypto\rsa\rsa_null.c - $(CC) /Fo$(OBJ_D)\rsa_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_null.c - -$(OBJ_D)\rsa_pss.obj: $(SRC_D)\crypto\rsa\rsa_pss.c - $(CC) /Fo$(OBJ_D)\rsa_pss.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_pss.c - -$(OBJ_D)\rsa_x931.obj: $(SRC_D)\crypto\rsa\rsa_x931.c - $(CC) /Fo$(OBJ_D)\rsa_x931.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_x931.c - -$(OBJ_D)\rsa_asn1.obj: $(SRC_D)\crypto\rsa\rsa_asn1.c - $(CC) /Fo$(OBJ_D)\rsa_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_asn1.c - -$(OBJ_D)\rsa_depr.obj: $(SRC_D)\crypto\rsa\rsa_depr.c - $(CC) /Fo$(OBJ_D)\rsa_depr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_depr.c - -$(OBJ_D)\rsa_ameth.obj: $(SRC_D)\crypto\rsa\rsa_ameth.c - $(CC) /Fo$(OBJ_D)\rsa_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_ameth.c - -$(OBJ_D)\rsa_prn.obj: $(SRC_D)\crypto\rsa\rsa_prn.c - $(CC) /Fo$(OBJ_D)\rsa_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_prn.c - -$(OBJ_D)\rsa_pmeth.obj: $(SRC_D)\crypto\rsa\rsa_pmeth.c - $(CC) /Fo$(OBJ_D)\rsa_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_pmeth.c - -$(OBJ_D)\rsa_crpt.obj: $(SRC_D)\crypto\rsa\rsa_crpt.c - $(CC) /Fo$(OBJ_D)\rsa_crpt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_crpt.c - -$(OBJ_D)\dsa_gen.obj: $(SRC_D)\crypto\dsa\dsa_gen.c - $(CC) /Fo$(OBJ_D)\dsa_gen.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_gen.c - -$(OBJ_D)\dsa_key.obj: $(SRC_D)\crypto\dsa\dsa_key.c - $(CC) /Fo$(OBJ_D)\dsa_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_key.c - -$(OBJ_D)\dsa_lib.obj: $(SRC_D)\crypto\dsa\dsa_lib.c - $(CC) /Fo$(OBJ_D)\dsa_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_lib.c - -$(OBJ_D)\dsa_asn1.obj: $(SRC_D)\crypto\dsa\dsa_asn1.c - $(CC) /Fo$(OBJ_D)\dsa_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_asn1.c - -$(OBJ_D)\dsa_vrf.obj: $(SRC_D)\crypto\dsa\dsa_vrf.c - $(CC) /Fo$(OBJ_D)\dsa_vrf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_vrf.c - -$(OBJ_D)\dsa_sign.obj: $(SRC_D)\crypto\dsa\dsa_sign.c - $(CC) /Fo$(OBJ_D)\dsa_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_sign.c - -$(OBJ_D)\dsa_err.obj: $(SRC_D)\crypto\dsa\dsa_err.c - $(CC) /Fo$(OBJ_D)\dsa_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_err.c - -$(OBJ_D)\dsa_ossl.obj: $(SRC_D)\crypto\dsa\dsa_ossl.c - $(CC) /Fo$(OBJ_D)\dsa_ossl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_ossl.c - -$(OBJ_D)\dsa_depr.obj: $(SRC_D)\crypto\dsa\dsa_depr.c - $(CC) /Fo$(OBJ_D)\dsa_depr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_depr.c - -$(OBJ_D)\dsa_ameth.obj: $(SRC_D)\crypto\dsa\dsa_ameth.c - $(CC) /Fo$(OBJ_D)\dsa_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_ameth.c - -$(OBJ_D)\dsa_pmeth.obj: $(SRC_D)\crypto\dsa\dsa_pmeth.c - $(CC) /Fo$(OBJ_D)\dsa_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_pmeth.c - -$(OBJ_D)\dsa_prn.obj: $(SRC_D)\crypto\dsa\dsa_prn.c - $(CC) /Fo$(OBJ_D)\dsa_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_prn.c - -$(OBJ_D)\dso_dl.obj: $(SRC_D)\crypto\dso\dso_dl.c - $(CC) /Fo$(OBJ_D)\dso_dl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_dl.c - -$(OBJ_D)\dso_dlfcn.obj: $(SRC_D)\crypto\dso\dso_dlfcn.c - $(CC) /Fo$(OBJ_D)\dso_dlfcn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_dlfcn.c - -$(OBJ_D)\dso_err.obj: $(SRC_D)\crypto\dso\dso_err.c - $(CC) /Fo$(OBJ_D)\dso_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_err.c - -$(OBJ_D)\dso_lib.obj: $(SRC_D)\crypto\dso\dso_lib.c - $(CC) /Fo$(OBJ_D)\dso_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_lib.c - -$(OBJ_D)\dso_null.obj: $(SRC_D)\crypto\dso\dso_null.c - $(CC) /Fo$(OBJ_D)\dso_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_null.c - -$(OBJ_D)\dso_openssl.obj: $(SRC_D)\crypto\dso\dso_openssl.c - $(CC) /Fo$(OBJ_D)\dso_openssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_openssl.c - -$(OBJ_D)\dso_win32.obj: $(SRC_D)\crypto\dso\dso_win32.c - $(CC) /Fo$(OBJ_D)\dso_win32.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_win32.c - -$(OBJ_D)\dso_vms.obj: $(SRC_D)\crypto\dso\dso_vms.c - $(CC) /Fo$(OBJ_D)\dso_vms.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_vms.c - -$(OBJ_D)\dso_beos.obj: $(SRC_D)\crypto\dso\dso_beos.c - $(CC) /Fo$(OBJ_D)\dso_beos.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_beos.c - -$(OBJ_D)\dh_asn1.obj: $(SRC_D)\crypto\dh\dh_asn1.c - $(CC) /Fo$(OBJ_D)\dh_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_asn1.c - -$(OBJ_D)\dh_gen.obj: $(SRC_D)\crypto\dh\dh_gen.c - $(CC) /Fo$(OBJ_D)\dh_gen.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_gen.c - -$(OBJ_D)\dh_key.obj: $(SRC_D)\crypto\dh\dh_key.c - $(CC) /Fo$(OBJ_D)\dh_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_key.c - -$(OBJ_D)\dh_lib.obj: $(SRC_D)\crypto\dh\dh_lib.c - $(CC) /Fo$(OBJ_D)\dh_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_lib.c - -$(OBJ_D)\dh_check.obj: $(SRC_D)\crypto\dh\dh_check.c - $(CC) /Fo$(OBJ_D)\dh_check.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_check.c - -$(OBJ_D)\dh_err.obj: $(SRC_D)\crypto\dh\dh_err.c - $(CC) /Fo$(OBJ_D)\dh_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_err.c - -$(OBJ_D)\dh_depr.obj: $(SRC_D)\crypto\dh\dh_depr.c - $(CC) /Fo$(OBJ_D)\dh_depr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_depr.c - -$(OBJ_D)\dh_ameth.obj: $(SRC_D)\crypto\dh\dh_ameth.c - $(CC) /Fo$(OBJ_D)\dh_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_ameth.c - -$(OBJ_D)\dh_pmeth.obj: $(SRC_D)\crypto\dh\dh_pmeth.c - $(CC) /Fo$(OBJ_D)\dh_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_pmeth.c - -$(OBJ_D)\dh_prn.obj: $(SRC_D)\crypto\dh\dh_prn.c - $(CC) /Fo$(OBJ_D)\dh_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_prn.c - -$(OBJ_D)\dh_rfc5114.obj: $(SRC_D)\crypto\dh\dh_rfc5114.c - $(CC) /Fo$(OBJ_D)\dh_rfc5114.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_rfc5114.c - -$(OBJ_D)\dh_kdf.obj: $(SRC_D)\crypto\dh\dh_kdf.c - $(CC) /Fo$(OBJ_D)\dh_kdf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_kdf.c - -$(OBJ_D)\ec_lib.obj: $(SRC_D)\crypto\ec\ec_lib.c - $(CC) /Fo$(OBJ_D)\ec_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_lib.c - -$(OBJ_D)\ecp_smpl.obj: $(SRC_D)\crypto\ec\ecp_smpl.c - $(CC) /Fo$(OBJ_D)\ecp_smpl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_smpl.c - -$(OBJ_D)\ecp_mont.obj: $(SRC_D)\crypto\ec\ecp_mont.c - $(CC) /Fo$(OBJ_D)\ecp_mont.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_mont.c - -$(OBJ_D)\ecp_nist.obj: $(SRC_D)\crypto\ec\ecp_nist.c - $(CC) /Fo$(OBJ_D)\ecp_nist.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_nist.c - -$(OBJ_D)\ec_cvt.obj: $(SRC_D)\crypto\ec\ec_cvt.c - $(CC) /Fo$(OBJ_D)\ec_cvt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_cvt.c - -$(OBJ_D)\ec_mult.obj: $(SRC_D)\crypto\ec\ec_mult.c - $(CC) /Fo$(OBJ_D)\ec_mult.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_mult.c - -$(OBJ_D)\ec_err.obj: $(SRC_D)\crypto\ec\ec_err.c - $(CC) /Fo$(OBJ_D)\ec_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_err.c - -$(OBJ_D)\ec_curve.obj: $(SRC_D)\crypto\ec\ec_curve.c - $(CC) /Fo$(OBJ_D)\ec_curve.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_curve.c - -$(OBJ_D)\ec_check.obj: $(SRC_D)\crypto\ec\ec_check.c - $(CC) /Fo$(OBJ_D)\ec_check.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_check.c - -$(OBJ_D)\ec_print.obj: $(SRC_D)\crypto\ec\ec_print.c - $(CC) /Fo$(OBJ_D)\ec_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_print.c - -$(OBJ_D)\ec_asn1.obj: $(SRC_D)\crypto\ec\ec_asn1.c - $(CC) /Fo$(OBJ_D)\ec_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_asn1.c - -$(OBJ_D)\ec_key.obj: $(SRC_D)\crypto\ec\ec_key.c - $(CC) /Fo$(OBJ_D)\ec_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_key.c - -$(OBJ_D)\ec2_smpl.obj: $(SRC_D)\crypto\ec\ec2_smpl.c - $(CC) /Fo$(OBJ_D)\ec2_smpl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec2_smpl.c - -$(OBJ_D)\ec2_mult.obj: $(SRC_D)\crypto\ec\ec2_mult.c - $(CC) /Fo$(OBJ_D)\ec2_mult.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec2_mult.c - -$(OBJ_D)\ec_ameth.obj: $(SRC_D)\crypto\ec\ec_ameth.c - $(CC) /Fo$(OBJ_D)\ec_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_ameth.c - -$(OBJ_D)\ec_pmeth.obj: $(SRC_D)\crypto\ec\ec_pmeth.c - $(CC) /Fo$(OBJ_D)\ec_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_pmeth.c - -$(OBJ_D)\eck_prn.obj: $(SRC_D)\crypto\ec\eck_prn.c - $(CC) /Fo$(OBJ_D)\eck_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\eck_prn.c - -$(OBJ_D)\ecp_nistp224.obj: $(SRC_D)\crypto\ec\ecp_nistp224.c - $(CC) /Fo$(OBJ_D)\ecp_nistp224.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_nistp224.c - -$(OBJ_D)\ecp_nistp256.obj: $(SRC_D)\crypto\ec\ecp_nistp256.c - $(CC) /Fo$(OBJ_D)\ecp_nistp256.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_nistp256.c - -$(OBJ_D)\ecp_nistp521.obj: $(SRC_D)\crypto\ec\ecp_nistp521.c - $(CC) /Fo$(OBJ_D)\ecp_nistp521.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_nistp521.c - -$(OBJ_D)\ecp_nistputil.obj: $(SRC_D)\crypto\ec\ecp_nistputil.c - $(CC) /Fo$(OBJ_D)\ecp_nistputil.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_nistputil.c - -$(OBJ_D)\ecp_oct.obj: $(SRC_D)\crypto\ec\ecp_oct.c - $(CC) /Fo$(OBJ_D)\ecp_oct.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_oct.c - -$(OBJ_D)\ec2_oct.obj: $(SRC_D)\crypto\ec\ec2_oct.c - $(CC) /Fo$(OBJ_D)\ec2_oct.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec2_oct.c - -$(OBJ_D)\ec_oct.obj: $(SRC_D)\crypto\ec\ec_oct.c - $(CC) /Fo$(OBJ_D)\ec_oct.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_oct.c - -$(OBJ_D)\ech_lib.obj: $(SRC_D)\crypto\ecdh\ech_lib.c - $(CC) /Fo$(OBJ_D)\ech_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdh\ech_lib.c - -$(OBJ_D)\ech_ossl.obj: $(SRC_D)\crypto\ecdh\ech_ossl.c - $(CC) /Fo$(OBJ_D)\ech_ossl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdh\ech_ossl.c - -$(OBJ_D)\ech_key.obj: $(SRC_D)\crypto\ecdh\ech_key.c - $(CC) /Fo$(OBJ_D)\ech_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdh\ech_key.c - -$(OBJ_D)\ech_err.obj: $(SRC_D)\crypto\ecdh\ech_err.c - $(CC) /Fo$(OBJ_D)\ech_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdh\ech_err.c - -$(OBJ_D)\ech_kdf.obj: $(SRC_D)\crypto\ecdh\ech_kdf.c - $(CC) /Fo$(OBJ_D)\ech_kdf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdh\ech_kdf.c - -$(OBJ_D)\ecs_lib.obj: $(SRC_D)\crypto\ecdsa\ecs_lib.c - $(CC) /Fo$(OBJ_D)\ecs_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_lib.c - -$(OBJ_D)\ecs_asn1.obj: $(SRC_D)\crypto\ecdsa\ecs_asn1.c - $(CC) /Fo$(OBJ_D)\ecs_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_asn1.c - -$(OBJ_D)\ecs_ossl.obj: $(SRC_D)\crypto\ecdsa\ecs_ossl.c - $(CC) /Fo$(OBJ_D)\ecs_ossl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_ossl.c - -$(OBJ_D)\ecs_sign.obj: $(SRC_D)\crypto\ecdsa\ecs_sign.c - $(CC) /Fo$(OBJ_D)\ecs_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_sign.c - -$(OBJ_D)\ecs_vrf.obj: $(SRC_D)\crypto\ecdsa\ecs_vrf.c - $(CC) /Fo$(OBJ_D)\ecs_vrf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_vrf.c - -$(OBJ_D)\ecs_err.obj: $(SRC_D)\crypto\ecdsa\ecs_err.c - $(CC) /Fo$(OBJ_D)\ecs_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_err.c - -$(OBJ_D)\buffer.obj: $(SRC_D)\crypto\buffer\buffer.c - $(CC) /Fo$(OBJ_D)\buffer.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\buffer\buffer.c - -$(OBJ_D)\buf_str.obj: $(SRC_D)\crypto\buffer\buf_str.c - $(CC) /Fo$(OBJ_D)\buf_str.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\buffer\buf_str.c - -$(OBJ_D)\buf_err.obj: $(SRC_D)\crypto\buffer\buf_err.c - $(CC) /Fo$(OBJ_D)\buf_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\buffer\buf_err.c - -$(OBJ_D)\bio_lib.obj: $(SRC_D)\crypto\bio\bio_lib.c - $(CC) /Fo$(OBJ_D)\bio_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bio_lib.c - -$(OBJ_D)\bio_cb.obj: $(SRC_D)\crypto\bio\bio_cb.c - $(CC) /Fo$(OBJ_D)\bio_cb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bio_cb.c - -$(OBJ_D)\bio_err.obj: $(SRC_D)\crypto\bio\bio_err.c - $(CC) /Fo$(OBJ_D)\bio_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bio_err.c - -$(OBJ_D)\bss_mem.obj: $(SRC_D)\crypto\bio\bss_mem.c - $(CC) /Fo$(OBJ_D)\bss_mem.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_mem.c - -$(OBJ_D)\bss_null.obj: $(SRC_D)\crypto\bio\bss_null.c - $(CC) /Fo$(OBJ_D)\bss_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_null.c - -$(OBJ_D)\bss_fd.obj: $(SRC_D)\crypto\bio\bss_fd.c - $(CC) /Fo$(OBJ_D)\bss_fd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_fd.c - -$(OBJ_D)\bss_file.obj: $(SRC_D)\crypto\bio\bss_file.c - $(CC) /Fo$(OBJ_D)\bss_file.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_file.c - -$(OBJ_D)\bss_sock.obj: $(SRC_D)\crypto\bio\bss_sock.c - $(CC) /Fo$(OBJ_D)\bss_sock.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_sock.c - -$(OBJ_D)\bss_conn.obj: $(SRC_D)\crypto\bio\bss_conn.c - $(CC) /Fo$(OBJ_D)\bss_conn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_conn.c - -$(OBJ_D)\bf_null.obj: $(SRC_D)\crypto\bio\bf_null.c - $(CC) /Fo$(OBJ_D)\bf_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bf_null.c - -$(OBJ_D)\bf_buff.obj: $(SRC_D)\crypto\bio\bf_buff.c - $(CC) /Fo$(OBJ_D)\bf_buff.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bf_buff.c - -$(OBJ_D)\b_print.obj: $(SRC_D)\crypto\bio\b_print.c - $(CC) /Fo$(OBJ_D)\b_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\b_print.c - -$(OBJ_D)\b_dump.obj: $(SRC_D)\crypto\bio\b_dump.c - $(CC) /Fo$(OBJ_D)\b_dump.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\b_dump.c - -$(OBJ_D)\b_sock.obj: $(SRC_D)\crypto\bio\b_sock.c - $(CC) /Fo$(OBJ_D)\b_sock.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\b_sock.c - -$(OBJ_D)\bss_acpt.obj: $(SRC_D)\crypto\bio\bss_acpt.c - $(CC) /Fo$(OBJ_D)\bss_acpt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_acpt.c - -$(OBJ_D)\bf_nbio.obj: $(SRC_D)\crypto\bio\bf_nbio.c - $(CC) /Fo$(OBJ_D)\bf_nbio.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bf_nbio.c - -$(OBJ_D)\bss_log.obj: $(SRC_D)\crypto\bio\bss_log.c - $(CC) /Fo$(OBJ_D)\bss_log.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_log.c - -$(OBJ_D)\bss_bio.obj: $(SRC_D)\crypto\bio\bss_bio.c - $(CC) /Fo$(OBJ_D)\bss_bio.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_bio.c - -$(OBJ_D)\bss_dgram.obj: $(SRC_D)\crypto\bio\bss_dgram.c - $(CC) /Fo$(OBJ_D)\bss_dgram.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_dgram.c - -$(OBJ_D)\stack.obj: $(SRC_D)\crypto\stack\stack.c - $(CC) /Fo$(OBJ_D)\stack.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\stack\stack.c - -$(OBJ_D)\lhash.obj: $(SRC_D)\crypto\lhash\lhash.c - $(CC) /Fo$(OBJ_D)\lhash.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\lhash\lhash.c - -$(OBJ_D)\lh_stats.obj: $(SRC_D)\crypto\lhash\lh_stats.c - $(CC) /Fo$(OBJ_D)\lh_stats.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\lhash\lh_stats.c - -$(OBJ_D)\md_rand.obj: $(SRC_D)\crypto\rand\md_rand.c - $(CC) /Fo$(OBJ_D)\md_rand.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\md_rand.c - -$(OBJ_D)\randfile.obj: $(SRC_D)\crypto\rand\randfile.c - $(CC) /Fo$(OBJ_D)\randfile.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\randfile.c - -$(OBJ_D)\rand_lib.obj: $(SRC_D)\crypto\rand\rand_lib.c - $(CC) /Fo$(OBJ_D)\rand_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_lib.c - -$(OBJ_D)\rand_err.obj: $(SRC_D)\crypto\rand\rand_err.c - $(CC) /Fo$(OBJ_D)\rand_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_err.c - -$(OBJ_D)\rand_egd.obj: $(SRC_D)\crypto\rand\rand_egd.c - $(CC) /Fo$(OBJ_D)\rand_egd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_egd.c - -$(OBJ_D)\rand_win.obj: $(SRC_D)\crypto\rand\rand_win.c - $(CC) /Fo$(OBJ_D)\rand_win.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_win.c - -$(OBJ_D)\rand_unix.obj: $(SRC_D)\crypto\rand\rand_unix.c - $(CC) /Fo$(OBJ_D)\rand_unix.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_unix.c - -$(OBJ_D)\rand_os2.obj: $(SRC_D)\crypto\rand\rand_os2.c - $(CC) /Fo$(OBJ_D)\rand_os2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_os2.c - -$(OBJ_D)\rand_nw.obj: $(SRC_D)\crypto\rand\rand_nw.c - $(CC) /Fo$(OBJ_D)\rand_nw.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_nw.c - -$(OBJ_D)\err.obj: $(SRC_D)\crypto\err\err.c - $(CC) /Fo$(OBJ_D)\err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\err\err.c - -$(OBJ_D)\err_all.obj: $(SRC_D)\crypto\err\err_all.c - $(CC) /Fo$(OBJ_D)\err_all.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\err\err_all.c - -$(OBJ_D)\err_prn.obj: $(SRC_D)\crypto\err\err_prn.c - $(CC) /Fo$(OBJ_D)\err_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\err\err_prn.c - -$(OBJ_D)\o_names.obj: $(SRC_D)\crypto\objects\o_names.c - $(CC) /Fo$(OBJ_D)\o_names.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\objects\o_names.c - -$(OBJ_D)\obj_dat.obj: $(SRC_D)\crypto\objects\obj_dat.c - $(CC) /Fo$(OBJ_D)\obj_dat.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\objects\obj_dat.c - -$(OBJ_D)\obj_lib.obj: $(SRC_D)\crypto\objects\obj_lib.c - $(CC) /Fo$(OBJ_D)\obj_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\objects\obj_lib.c - -$(OBJ_D)\obj_err.obj: $(SRC_D)\crypto\objects\obj_err.c - $(CC) /Fo$(OBJ_D)\obj_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\objects\obj_err.c - -$(OBJ_D)\obj_xref.obj: $(SRC_D)\crypto\objects\obj_xref.c - $(CC) /Fo$(OBJ_D)\obj_xref.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\objects\obj_xref.c - -$(OBJ_D)\encode.obj: $(SRC_D)\crypto\evp\encode.c - $(CC) /Fo$(OBJ_D)\encode.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\encode.c - -$(OBJ_D)\digest.obj: $(SRC_D)\crypto\evp\digest.c - $(CC) /Fo$(OBJ_D)\digest.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\digest.c - -$(OBJ_D)\evp_enc.obj: $(SRC_D)\crypto\evp\evp_enc.c - $(CC) /Fo$(OBJ_D)\evp_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_enc.c - -$(OBJ_D)\evp_key.obj: $(SRC_D)\crypto\evp\evp_key.c - $(CC) /Fo$(OBJ_D)\evp_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_key.c - -$(OBJ_D)\evp_acnf.obj: $(SRC_D)\crypto\evp\evp_acnf.c - $(CC) /Fo$(OBJ_D)\evp_acnf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_acnf.c - -$(OBJ_D)\evp_cnf.obj: $(SRC_D)\crypto\evp\evp_cnf.c - $(CC) /Fo$(OBJ_D)\evp_cnf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_cnf.c - -$(OBJ_D)\e_des.obj: $(SRC_D)\crypto\evp\e_des.c - $(CC) /Fo$(OBJ_D)\e_des.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_des.c - -$(OBJ_D)\e_bf.obj: $(SRC_D)\crypto\evp\e_bf.c - $(CC) /Fo$(OBJ_D)\e_bf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_bf.c - -$(OBJ_D)\e_idea.obj: $(SRC_D)\crypto\evp\e_idea.c - $(CC) /Fo$(OBJ_D)\e_idea.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_idea.c - -$(OBJ_D)\e_des3.obj: $(SRC_D)\crypto\evp\e_des3.c - $(CC) /Fo$(OBJ_D)\e_des3.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_des3.c - -$(OBJ_D)\e_camellia.obj: $(SRC_D)\crypto\evp\e_camellia.c - $(CC) /Fo$(OBJ_D)\e_camellia.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_camellia.c - -$(OBJ_D)\e_rc4.obj: $(SRC_D)\crypto\evp\e_rc4.c - $(CC) /Fo$(OBJ_D)\e_rc4.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_rc4.c - -$(OBJ_D)\e_aes.obj: $(SRC_D)\crypto\evp\e_aes.c - $(CC) /Fo$(OBJ_D)\e_aes.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_aes.c - -$(OBJ_D)\names.obj: $(SRC_D)\crypto\evp\names.c - $(CC) /Fo$(OBJ_D)\names.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\names.c - -$(OBJ_D)\e_seed.obj: $(SRC_D)\crypto\evp\e_seed.c - $(CC) /Fo$(OBJ_D)\e_seed.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_seed.c - -$(OBJ_D)\e_xcbc_d.obj: $(SRC_D)\crypto\evp\e_xcbc_d.c - $(CC) /Fo$(OBJ_D)\e_xcbc_d.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_xcbc_d.c - -$(OBJ_D)\e_rc2.obj: $(SRC_D)\crypto\evp\e_rc2.c - $(CC) /Fo$(OBJ_D)\e_rc2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_rc2.c - -$(OBJ_D)\e_cast.obj: $(SRC_D)\crypto\evp\e_cast.c - $(CC) /Fo$(OBJ_D)\e_cast.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_cast.c - -$(OBJ_D)\e_rc5.obj: $(SRC_D)\crypto\evp\e_rc5.c - $(CC) /Fo$(OBJ_D)\e_rc5.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_rc5.c - -$(OBJ_D)\m_null.obj: $(SRC_D)\crypto\evp\m_null.c - $(CC) /Fo$(OBJ_D)\m_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_null.c - -$(OBJ_D)\m_md4.obj: $(SRC_D)\crypto\evp\m_md4.c - $(CC) /Fo$(OBJ_D)\m_md4.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_md4.c - -$(OBJ_D)\m_md5.obj: $(SRC_D)\crypto\evp\m_md5.c - $(CC) /Fo$(OBJ_D)\m_md5.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_md5.c - -$(OBJ_D)\m_sha.obj: $(SRC_D)\crypto\evp\m_sha.c - $(CC) /Fo$(OBJ_D)\m_sha.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_sha.c - -$(OBJ_D)\m_sha1.obj: $(SRC_D)\crypto\evp\m_sha1.c - $(CC) /Fo$(OBJ_D)\m_sha1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_sha1.c - -$(OBJ_D)\m_wp.obj: $(SRC_D)\crypto\evp\m_wp.c - $(CC) /Fo$(OBJ_D)\m_wp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_wp.c - -$(OBJ_D)\m_dss.obj: $(SRC_D)\crypto\evp\m_dss.c - $(CC) /Fo$(OBJ_D)\m_dss.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_dss.c - -$(OBJ_D)\m_dss1.obj: $(SRC_D)\crypto\evp\m_dss1.c - $(CC) /Fo$(OBJ_D)\m_dss1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_dss1.c - -$(OBJ_D)\m_ripemd.obj: $(SRC_D)\crypto\evp\m_ripemd.c - $(CC) /Fo$(OBJ_D)\m_ripemd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_ripemd.c - -$(OBJ_D)\m_ecdsa.obj: $(SRC_D)\crypto\evp\m_ecdsa.c - $(CC) /Fo$(OBJ_D)\m_ecdsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_ecdsa.c - -$(OBJ_D)\p_open.obj: $(SRC_D)\crypto\evp\p_open.c - $(CC) /Fo$(OBJ_D)\p_open.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_open.c - -$(OBJ_D)\p_seal.obj: $(SRC_D)\crypto\evp\p_seal.c - $(CC) /Fo$(OBJ_D)\p_seal.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_seal.c - -$(OBJ_D)\p_sign.obj: $(SRC_D)\crypto\evp\p_sign.c - $(CC) /Fo$(OBJ_D)\p_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_sign.c - -$(OBJ_D)\p_verify.obj: $(SRC_D)\crypto\evp\p_verify.c - $(CC) /Fo$(OBJ_D)\p_verify.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_verify.c - -$(OBJ_D)\p_lib.obj: $(SRC_D)\crypto\evp\p_lib.c - $(CC) /Fo$(OBJ_D)\p_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_lib.c - -$(OBJ_D)\p_enc.obj: $(SRC_D)\crypto\evp\p_enc.c - $(CC) /Fo$(OBJ_D)\p_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_enc.c - -$(OBJ_D)\p_dec.obj: $(SRC_D)\crypto\evp\p_dec.c - $(CC) /Fo$(OBJ_D)\p_dec.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_dec.c - -$(OBJ_D)\bio_md.obj: $(SRC_D)\crypto\evp\bio_md.c - $(CC) /Fo$(OBJ_D)\bio_md.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\bio_md.c - -$(OBJ_D)\bio_b64.obj: $(SRC_D)\crypto\evp\bio_b64.c - $(CC) /Fo$(OBJ_D)\bio_b64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\bio_b64.c - -$(OBJ_D)\bio_enc.obj: $(SRC_D)\crypto\evp\bio_enc.c - $(CC) /Fo$(OBJ_D)\bio_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\bio_enc.c - -$(OBJ_D)\evp_err.obj: $(SRC_D)\crypto\evp\evp_err.c - $(CC) /Fo$(OBJ_D)\evp_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_err.c - -$(OBJ_D)\e_null.obj: $(SRC_D)\crypto\evp\e_null.c - $(CC) /Fo$(OBJ_D)\e_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_null.c - -$(OBJ_D)\c_all.obj: $(SRC_D)\crypto\evp\c_all.c - $(CC) /Fo$(OBJ_D)\c_all.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\c_all.c - -$(OBJ_D)\c_allc.obj: $(SRC_D)\crypto\evp\c_allc.c - $(CC) /Fo$(OBJ_D)\c_allc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\c_allc.c - -$(OBJ_D)\c_alld.obj: $(SRC_D)\crypto\evp\c_alld.c - $(CC) /Fo$(OBJ_D)\c_alld.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\c_alld.c - -$(OBJ_D)\evp_lib.obj: $(SRC_D)\crypto\evp\evp_lib.c - $(CC) /Fo$(OBJ_D)\evp_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_lib.c - -$(OBJ_D)\bio_ok.obj: $(SRC_D)\crypto\evp\bio_ok.c - $(CC) /Fo$(OBJ_D)\bio_ok.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\bio_ok.c - -$(OBJ_D)\evp_pkey.obj: $(SRC_D)\crypto\evp\evp_pkey.c - $(CC) /Fo$(OBJ_D)\evp_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_pkey.c - -$(OBJ_D)\evp_pbe.obj: $(SRC_D)\crypto\evp\evp_pbe.c - $(CC) /Fo$(OBJ_D)\evp_pbe.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_pbe.c - -$(OBJ_D)\p5_crpt.obj: $(SRC_D)\crypto\evp\p5_crpt.c - $(CC) /Fo$(OBJ_D)\p5_crpt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p5_crpt.c - -$(OBJ_D)\p5_crpt2.obj: $(SRC_D)\crypto\evp\p5_crpt2.c - $(CC) /Fo$(OBJ_D)\p5_crpt2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p5_crpt2.c - -$(OBJ_D)\e_old.obj: $(SRC_D)\crypto\evp\e_old.c - $(CC) /Fo$(OBJ_D)\e_old.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_old.c - -$(OBJ_D)\pmeth_lib.obj: $(SRC_D)\crypto\evp\pmeth_lib.c - $(CC) /Fo$(OBJ_D)\pmeth_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\pmeth_lib.c - -$(OBJ_D)\pmeth_fn.obj: $(SRC_D)\crypto\evp\pmeth_fn.c - $(CC) /Fo$(OBJ_D)\pmeth_fn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\pmeth_fn.c - -$(OBJ_D)\pmeth_gn.obj: $(SRC_D)\crypto\evp\pmeth_gn.c - $(CC) /Fo$(OBJ_D)\pmeth_gn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\pmeth_gn.c - -$(OBJ_D)\m_sigver.obj: $(SRC_D)\crypto\evp\m_sigver.c - $(CC) /Fo$(OBJ_D)\m_sigver.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_sigver.c - -$(OBJ_D)\e_aes_cbc_hmac_sha1.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c - $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c - -$(OBJ_D)\e_aes_cbc_hmac_sha256.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c - $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c - -$(OBJ_D)\e_rc4_hmac_md5.obj: $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c - $(CC) /Fo$(OBJ_D)\e_rc4_hmac_md5.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c - -$(OBJ_D)\a_object.obj: $(SRC_D)\crypto\asn1\a_object.c - $(CC) /Fo$(OBJ_D)\a_object.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_object.c - -$(OBJ_D)\a_bitstr.obj: $(SRC_D)\crypto\asn1\a_bitstr.c - $(CC) /Fo$(OBJ_D)\a_bitstr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_bitstr.c - -$(OBJ_D)\a_utctm.obj: $(SRC_D)\crypto\asn1\a_utctm.c - $(CC) /Fo$(OBJ_D)\a_utctm.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_utctm.c - -$(OBJ_D)\a_gentm.obj: $(SRC_D)\crypto\asn1\a_gentm.c - $(CC) /Fo$(OBJ_D)\a_gentm.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_gentm.c - -$(OBJ_D)\a_time.obj: $(SRC_D)\crypto\asn1\a_time.c - $(CC) /Fo$(OBJ_D)\a_time.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_time.c - -$(OBJ_D)\a_int.obj: $(SRC_D)\crypto\asn1\a_int.c - $(CC) /Fo$(OBJ_D)\a_int.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_int.c - -$(OBJ_D)\a_octet.obj: $(SRC_D)\crypto\asn1\a_octet.c - $(CC) /Fo$(OBJ_D)\a_octet.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_octet.c - -$(OBJ_D)\a_print.obj: $(SRC_D)\crypto\asn1\a_print.c - $(CC) /Fo$(OBJ_D)\a_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_print.c - -$(OBJ_D)\a_type.obj: $(SRC_D)\crypto\asn1\a_type.c - $(CC) /Fo$(OBJ_D)\a_type.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_type.c - -$(OBJ_D)\a_set.obj: $(SRC_D)\crypto\asn1\a_set.c - $(CC) /Fo$(OBJ_D)\a_set.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_set.c - -$(OBJ_D)\a_dup.obj: $(SRC_D)\crypto\asn1\a_dup.c - $(CC) /Fo$(OBJ_D)\a_dup.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_dup.c - -$(OBJ_D)\a_d2i_fp.obj: $(SRC_D)\crypto\asn1\a_d2i_fp.c - $(CC) /Fo$(OBJ_D)\a_d2i_fp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_d2i_fp.c - -$(OBJ_D)\a_i2d_fp.obj: $(SRC_D)\crypto\asn1\a_i2d_fp.c - $(CC) /Fo$(OBJ_D)\a_i2d_fp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_i2d_fp.c - -$(OBJ_D)\a_enum.obj: $(SRC_D)\crypto\asn1\a_enum.c - $(CC) /Fo$(OBJ_D)\a_enum.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_enum.c - -$(OBJ_D)\a_utf8.obj: $(SRC_D)\crypto\asn1\a_utf8.c - $(CC) /Fo$(OBJ_D)\a_utf8.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_utf8.c - -$(OBJ_D)\a_sign.obj: $(SRC_D)\crypto\asn1\a_sign.c - $(CC) /Fo$(OBJ_D)\a_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_sign.c - -$(OBJ_D)\a_digest.obj: $(SRC_D)\crypto\asn1\a_digest.c - $(CC) /Fo$(OBJ_D)\a_digest.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_digest.c - -$(OBJ_D)\a_verify.obj: $(SRC_D)\crypto\asn1\a_verify.c - $(CC) /Fo$(OBJ_D)\a_verify.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_verify.c - -$(OBJ_D)\a_mbstr.obj: $(SRC_D)\crypto\asn1\a_mbstr.c - $(CC) /Fo$(OBJ_D)\a_mbstr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_mbstr.c - -$(OBJ_D)\a_strex.obj: $(SRC_D)\crypto\asn1\a_strex.c - $(CC) /Fo$(OBJ_D)\a_strex.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_strex.c - -$(OBJ_D)\x_algor.obj: $(SRC_D)\crypto\asn1\x_algor.c - $(CC) /Fo$(OBJ_D)\x_algor.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_algor.c - -$(OBJ_D)\x_val.obj: $(SRC_D)\crypto\asn1\x_val.c - $(CC) /Fo$(OBJ_D)\x_val.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_val.c - -$(OBJ_D)\x_pubkey.obj: $(SRC_D)\crypto\asn1\x_pubkey.c - $(CC) /Fo$(OBJ_D)\x_pubkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_pubkey.c - -$(OBJ_D)\x_sig.obj: $(SRC_D)\crypto\asn1\x_sig.c - $(CC) /Fo$(OBJ_D)\x_sig.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_sig.c - -$(OBJ_D)\x_req.obj: $(SRC_D)\crypto\asn1\x_req.c - $(CC) /Fo$(OBJ_D)\x_req.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_req.c - -$(OBJ_D)\x_attrib.obj: $(SRC_D)\crypto\asn1\x_attrib.c - $(CC) /Fo$(OBJ_D)\x_attrib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_attrib.c - -$(OBJ_D)\x_bignum.obj: $(SRC_D)\crypto\asn1\x_bignum.c - $(CC) /Fo$(OBJ_D)\x_bignum.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_bignum.c - -$(OBJ_D)\x_long.obj: $(SRC_D)\crypto\asn1\x_long.c - $(CC) /Fo$(OBJ_D)\x_long.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_long.c - -$(OBJ_D)\x_name.obj: $(SRC_D)\crypto\asn1\x_name.c - $(CC) /Fo$(OBJ_D)\x_name.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_name.c - -$(OBJ_D)\x_x509.obj: $(SRC_D)\crypto\asn1\x_x509.c - $(CC) /Fo$(OBJ_D)\x_x509.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_x509.c - -$(OBJ_D)\x_x509a.obj: $(SRC_D)\crypto\asn1\x_x509a.c - $(CC) /Fo$(OBJ_D)\x_x509a.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_x509a.c - -$(OBJ_D)\x_crl.obj: $(SRC_D)\crypto\asn1\x_crl.c - $(CC) /Fo$(OBJ_D)\x_crl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_crl.c - -$(OBJ_D)\x_info.obj: $(SRC_D)\crypto\asn1\x_info.c - $(CC) /Fo$(OBJ_D)\x_info.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_info.c - -$(OBJ_D)\x_spki.obj: $(SRC_D)\crypto\asn1\x_spki.c - $(CC) /Fo$(OBJ_D)\x_spki.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_spki.c - -$(OBJ_D)\nsseq.obj: $(SRC_D)\crypto\asn1\nsseq.c - $(CC) /Fo$(OBJ_D)\nsseq.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\nsseq.c - -$(OBJ_D)\x_nx509.obj: $(SRC_D)\crypto\asn1\x_nx509.c - $(CC) /Fo$(OBJ_D)\x_nx509.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_nx509.c - -$(OBJ_D)\d2i_pu.obj: $(SRC_D)\crypto\asn1\d2i_pu.c - $(CC) /Fo$(OBJ_D)\d2i_pu.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\d2i_pu.c - -$(OBJ_D)\d2i_pr.obj: $(SRC_D)\crypto\asn1\d2i_pr.c - $(CC) /Fo$(OBJ_D)\d2i_pr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\d2i_pr.c - -$(OBJ_D)\i2d_pu.obj: $(SRC_D)\crypto\asn1\i2d_pu.c - $(CC) /Fo$(OBJ_D)\i2d_pu.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\i2d_pu.c - -$(OBJ_D)\i2d_pr.obj: $(SRC_D)\crypto\asn1\i2d_pr.c - $(CC) /Fo$(OBJ_D)\i2d_pr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\i2d_pr.c - -$(OBJ_D)\t_req.obj: $(SRC_D)\crypto\asn1\t_req.c - $(CC) /Fo$(OBJ_D)\t_req.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_req.c - -$(OBJ_D)\t_x509.obj: $(SRC_D)\crypto\asn1\t_x509.c - $(CC) /Fo$(OBJ_D)\t_x509.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_x509.c - -$(OBJ_D)\t_x509a.obj: $(SRC_D)\crypto\asn1\t_x509a.c - $(CC) /Fo$(OBJ_D)\t_x509a.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_x509a.c - -$(OBJ_D)\t_crl.obj: $(SRC_D)\crypto\asn1\t_crl.c - $(CC) /Fo$(OBJ_D)\t_crl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_crl.c - -$(OBJ_D)\t_pkey.obj: $(SRC_D)\crypto\asn1\t_pkey.c - $(CC) /Fo$(OBJ_D)\t_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_pkey.c - -$(OBJ_D)\t_spki.obj: $(SRC_D)\crypto\asn1\t_spki.c - $(CC) /Fo$(OBJ_D)\t_spki.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_spki.c - -$(OBJ_D)\t_bitst.obj: $(SRC_D)\crypto\asn1\t_bitst.c - $(CC) /Fo$(OBJ_D)\t_bitst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_bitst.c - -$(OBJ_D)\tasn_new.obj: $(SRC_D)\crypto\asn1\tasn_new.c - $(CC) /Fo$(OBJ_D)\tasn_new.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_new.c - -$(OBJ_D)\tasn_fre.obj: $(SRC_D)\crypto\asn1\tasn_fre.c - $(CC) /Fo$(OBJ_D)\tasn_fre.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_fre.c - -$(OBJ_D)\tasn_enc.obj: $(SRC_D)\crypto\asn1\tasn_enc.c - $(CC) /Fo$(OBJ_D)\tasn_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_enc.c - -$(OBJ_D)\tasn_dec.obj: $(SRC_D)\crypto\asn1\tasn_dec.c - $(CC) /Fo$(OBJ_D)\tasn_dec.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_dec.c - -$(OBJ_D)\tasn_utl.obj: $(SRC_D)\crypto\asn1\tasn_utl.c - $(CC) /Fo$(OBJ_D)\tasn_utl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_utl.c - -$(OBJ_D)\tasn_typ.obj: $(SRC_D)\crypto\asn1\tasn_typ.c - $(CC) /Fo$(OBJ_D)\tasn_typ.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_typ.c - -$(OBJ_D)\tasn_prn.obj: $(SRC_D)\crypto\asn1\tasn_prn.c - $(CC) /Fo$(OBJ_D)\tasn_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_prn.c - -$(OBJ_D)\ameth_lib.obj: $(SRC_D)\crypto\asn1\ameth_lib.c - $(CC) /Fo$(OBJ_D)\ameth_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\ameth_lib.c - -$(OBJ_D)\f_int.obj: $(SRC_D)\crypto\asn1\f_int.c - $(CC) /Fo$(OBJ_D)\f_int.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\f_int.c - -$(OBJ_D)\f_string.obj: $(SRC_D)\crypto\asn1\f_string.c - $(CC) /Fo$(OBJ_D)\f_string.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\f_string.c - -$(OBJ_D)\n_pkey.obj: $(SRC_D)\crypto\asn1\n_pkey.c - $(CC) /Fo$(OBJ_D)\n_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\n_pkey.c - -$(OBJ_D)\f_enum.obj: $(SRC_D)\crypto\asn1\f_enum.c - $(CC) /Fo$(OBJ_D)\f_enum.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\f_enum.c - -$(OBJ_D)\x_pkey.obj: $(SRC_D)\crypto\asn1\x_pkey.c - $(CC) /Fo$(OBJ_D)\x_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_pkey.c - -$(OBJ_D)\a_bool.obj: $(SRC_D)\crypto\asn1\a_bool.c - $(CC) /Fo$(OBJ_D)\a_bool.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_bool.c - -$(OBJ_D)\x_exten.obj: $(SRC_D)\crypto\asn1\x_exten.c - $(CC) /Fo$(OBJ_D)\x_exten.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_exten.c - -$(OBJ_D)\bio_asn1.obj: $(SRC_D)\crypto\asn1\bio_asn1.c - $(CC) /Fo$(OBJ_D)\bio_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\bio_asn1.c - -$(OBJ_D)\bio_ndef.obj: $(SRC_D)\crypto\asn1\bio_ndef.c - $(CC) /Fo$(OBJ_D)\bio_ndef.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\bio_ndef.c - -$(OBJ_D)\asn_mime.obj: $(SRC_D)\crypto\asn1\asn_mime.c - $(CC) /Fo$(OBJ_D)\asn_mime.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn_mime.c - -$(OBJ_D)\asn1_gen.obj: $(SRC_D)\crypto\asn1\asn1_gen.c - $(CC) /Fo$(OBJ_D)\asn1_gen.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn1_gen.c - -$(OBJ_D)\asn1_par.obj: $(SRC_D)\crypto\asn1\asn1_par.c - $(CC) /Fo$(OBJ_D)\asn1_par.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn1_par.c - -$(OBJ_D)\asn1_lib.obj: $(SRC_D)\crypto\asn1\asn1_lib.c - $(CC) /Fo$(OBJ_D)\asn1_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn1_lib.c - -$(OBJ_D)\asn1_err.obj: $(SRC_D)\crypto\asn1\asn1_err.c - $(CC) /Fo$(OBJ_D)\asn1_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn1_err.c - -$(OBJ_D)\a_bytes.obj: $(SRC_D)\crypto\asn1\a_bytes.c - $(CC) /Fo$(OBJ_D)\a_bytes.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_bytes.c - -$(OBJ_D)\a_strnid.obj: $(SRC_D)\crypto\asn1\a_strnid.c - $(CC) /Fo$(OBJ_D)\a_strnid.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_strnid.c - -$(OBJ_D)\evp_asn1.obj: $(SRC_D)\crypto\asn1\evp_asn1.c - $(CC) /Fo$(OBJ_D)\evp_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\evp_asn1.c - -$(OBJ_D)\asn_pack.obj: $(SRC_D)\crypto\asn1\asn_pack.c - $(CC) /Fo$(OBJ_D)\asn_pack.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn_pack.c - -$(OBJ_D)\p5_pbe.obj: $(SRC_D)\crypto\asn1\p5_pbe.c - $(CC) /Fo$(OBJ_D)\p5_pbe.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\p5_pbe.c - -$(OBJ_D)\p5_pbev2.obj: $(SRC_D)\crypto\asn1\p5_pbev2.c - $(CC) /Fo$(OBJ_D)\p5_pbev2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\p5_pbev2.c - -$(OBJ_D)\p8_pkey.obj: $(SRC_D)\crypto\asn1\p8_pkey.c - $(CC) /Fo$(OBJ_D)\p8_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\p8_pkey.c - -$(OBJ_D)\asn_moid.obj: $(SRC_D)\crypto\asn1\asn_moid.c - $(CC) /Fo$(OBJ_D)\asn_moid.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn_moid.c - -$(OBJ_D)\pem_sign.obj: $(SRC_D)\crypto\pem\pem_sign.c - $(CC) /Fo$(OBJ_D)\pem_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_sign.c - -$(OBJ_D)\pem_seal.obj: $(SRC_D)\crypto\pem\pem_seal.c - $(CC) /Fo$(OBJ_D)\pem_seal.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_seal.c - -$(OBJ_D)\pem_info.obj: $(SRC_D)\crypto\pem\pem_info.c - $(CC) /Fo$(OBJ_D)\pem_info.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_info.c - -$(OBJ_D)\pem_lib.obj: $(SRC_D)\crypto\pem\pem_lib.c - $(CC) /Fo$(OBJ_D)\pem_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_lib.c - -$(OBJ_D)\pem_all.obj: $(SRC_D)\crypto\pem\pem_all.c - $(CC) /Fo$(OBJ_D)\pem_all.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_all.c - -$(OBJ_D)\pem_err.obj: $(SRC_D)\crypto\pem\pem_err.c - $(CC) /Fo$(OBJ_D)\pem_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_err.c - -$(OBJ_D)\pem_x509.obj: $(SRC_D)\crypto\pem\pem_x509.c - $(CC) /Fo$(OBJ_D)\pem_x509.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_x509.c - -$(OBJ_D)\pem_xaux.obj: $(SRC_D)\crypto\pem\pem_xaux.c - $(CC) /Fo$(OBJ_D)\pem_xaux.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_xaux.c - -$(OBJ_D)\pem_oth.obj: $(SRC_D)\crypto\pem\pem_oth.c - $(CC) /Fo$(OBJ_D)\pem_oth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_oth.c - -$(OBJ_D)\pem_pk8.obj: $(SRC_D)\crypto\pem\pem_pk8.c - $(CC) /Fo$(OBJ_D)\pem_pk8.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_pk8.c - -$(OBJ_D)\pem_pkey.obj: $(SRC_D)\crypto\pem\pem_pkey.c - $(CC) /Fo$(OBJ_D)\pem_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_pkey.c - -$(OBJ_D)\pvkfmt.obj: $(SRC_D)\crypto\pem\pvkfmt.c - $(CC) /Fo$(OBJ_D)\pvkfmt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pvkfmt.c - -$(OBJ_D)\x509_def.obj: $(SRC_D)\crypto\x509\x509_def.c - $(CC) /Fo$(OBJ_D)\x509_def.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_def.c - -$(OBJ_D)\x509_d2.obj: $(SRC_D)\crypto\x509\x509_d2.c - $(CC) /Fo$(OBJ_D)\x509_d2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_d2.c - -$(OBJ_D)\x509_r2x.obj: $(SRC_D)\crypto\x509\x509_r2x.c - $(CC) /Fo$(OBJ_D)\x509_r2x.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_r2x.c - -$(OBJ_D)\x509_cmp.obj: $(SRC_D)\crypto\x509\x509_cmp.c - $(CC) /Fo$(OBJ_D)\x509_cmp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_cmp.c - -$(OBJ_D)\x509_obj.obj: $(SRC_D)\crypto\x509\x509_obj.c - $(CC) /Fo$(OBJ_D)\x509_obj.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_obj.c - -$(OBJ_D)\x509_req.obj: $(SRC_D)\crypto\x509\x509_req.c - $(CC) /Fo$(OBJ_D)\x509_req.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_req.c - -$(OBJ_D)\x509spki.obj: $(SRC_D)\crypto\x509\x509spki.c - $(CC) /Fo$(OBJ_D)\x509spki.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509spki.c - -$(OBJ_D)\x509_vfy.obj: $(SRC_D)\crypto\x509\x509_vfy.c - $(CC) /Fo$(OBJ_D)\x509_vfy.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_vfy.c - -$(OBJ_D)\x509_set.obj: $(SRC_D)\crypto\x509\x509_set.c - $(CC) /Fo$(OBJ_D)\x509_set.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_set.c - -$(OBJ_D)\x509cset.obj: $(SRC_D)\crypto\x509\x509cset.c - $(CC) /Fo$(OBJ_D)\x509cset.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509cset.c - -$(OBJ_D)\x509rset.obj: $(SRC_D)\crypto\x509\x509rset.c - $(CC) /Fo$(OBJ_D)\x509rset.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509rset.c - -$(OBJ_D)\x509_err.obj: $(SRC_D)\crypto\x509\x509_err.c - $(CC) /Fo$(OBJ_D)\x509_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_err.c - -$(OBJ_D)\x509name.obj: $(SRC_D)\crypto\x509\x509name.c - $(CC) /Fo$(OBJ_D)\x509name.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509name.c - -$(OBJ_D)\x509_v3.obj: $(SRC_D)\crypto\x509\x509_v3.c - $(CC) /Fo$(OBJ_D)\x509_v3.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_v3.c - -$(OBJ_D)\x509_ext.obj: $(SRC_D)\crypto\x509\x509_ext.c - $(CC) /Fo$(OBJ_D)\x509_ext.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_ext.c - -$(OBJ_D)\x509_att.obj: $(SRC_D)\crypto\x509\x509_att.c - $(CC) /Fo$(OBJ_D)\x509_att.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_att.c - -$(OBJ_D)\x509type.obj: $(SRC_D)\crypto\x509\x509type.c - $(CC) /Fo$(OBJ_D)\x509type.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509type.c - -$(OBJ_D)\x509_lu.obj: $(SRC_D)\crypto\x509\x509_lu.c - $(CC) /Fo$(OBJ_D)\x509_lu.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_lu.c - -$(OBJ_D)\x_all.obj: $(SRC_D)\crypto\x509\x_all.c - $(CC) /Fo$(OBJ_D)\x_all.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x_all.c - -$(OBJ_D)\x509_txt.obj: $(SRC_D)\crypto\x509\x509_txt.c - $(CC) /Fo$(OBJ_D)\x509_txt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_txt.c - -$(OBJ_D)\x509_trs.obj: $(SRC_D)\crypto\x509\x509_trs.c - $(CC) /Fo$(OBJ_D)\x509_trs.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_trs.c - -$(OBJ_D)\by_file.obj: $(SRC_D)\crypto\x509\by_file.c - $(CC) /Fo$(OBJ_D)\by_file.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\by_file.c - -$(OBJ_D)\by_dir.obj: $(SRC_D)\crypto\x509\by_dir.c - $(CC) /Fo$(OBJ_D)\by_dir.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\by_dir.c - -$(OBJ_D)\x509_vpm.obj: $(SRC_D)\crypto\x509\x509_vpm.c - $(CC) /Fo$(OBJ_D)\x509_vpm.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_vpm.c - -$(OBJ_D)\v3_bcons.obj: $(SRC_D)\crypto\x509v3\v3_bcons.c - $(CC) /Fo$(OBJ_D)\v3_bcons.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_bcons.c - -$(OBJ_D)\v3_bitst.obj: $(SRC_D)\crypto\x509v3\v3_bitst.c - $(CC) /Fo$(OBJ_D)\v3_bitst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_bitst.c - -$(OBJ_D)\v3_conf.obj: $(SRC_D)\crypto\x509v3\v3_conf.c - $(CC) /Fo$(OBJ_D)\v3_conf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_conf.c - -$(OBJ_D)\v3_extku.obj: $(SRC_D)\crypto\x509v3\v3_extku.c - $(CC) /Fo$(OBJ_D)\v3_extku.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_extku.c - -$(OBJ_D)\v3_ia5.obj: $(SRC_D)\crypto\x509v3\v3_ia5.c - $(CC) /Fo$(OBJ_D)\v3_ia5.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_ia5.c - -$(OBJ_D)\v3_lib.obj: $(SRC_D)\crypto\x509v3\v3_lib.c - $(CC) /Fo$(OBJ_D)\v3_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_lib.c - -$(OBJ_D)\v3_prn.obj: $(SRC_D)\crypto\x509v3\v3_prn.c - $(CC) /Fo$(OBJ_D)\v3_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_prn.c - -$(OBJ_D)\v3_utl.obj: $(SRC_D)\crypto\x509v3\v3_utl.c - $(CC) /Fo$(OBJ_D)\v3_utl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_utl.c - -$(OBJ_D)\v3err.obj: $(SRC_D)\crypto\x509v3\v3err.c - $(CC) /Fo$(OBJ_D)\v3err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3err.c - -$(OBJ_D)\v3_genn.obj: $(SRC_D)\crypto\x509v3\v3_genn.c - $(CC) /Fo$(OBJ_D)\v3_genn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_genn.c - -$(OBJ_D)\v3_alt.obj: $(SRC_D)\crypto\x509v3\v3_alt.c - $(CC) /Fo$(OBJ_D)\v3_alt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_alt.c - -$(OBJ_D)\v3_skey.obj: $(SRC_D)\crypto\x509v3\v3_skey.c - $(CC) /Fo$(OBJ_D)\v3_skey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_skey.c - -$(OBJ_D)\v3_akey.obj: $(SRC_D)\crypto\x509v3\v3_akey.c - $(CC) /Fo$(OBJ_D)\v3_akey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_akey.c - -$(OBJ_D)\v3_pku.obj: $(SRC_D)\crypto\x509v3\v3_pku.c - $(CC) /Fo$(OBJ_D)\v3_pku.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_pku.c - -$(OBJ_D)\v3_int.obj: $(SRC_D)\crypto\x509v3\v3_int.c - $(CC) /Fo$(OBJ_D)\v3_int.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_int.c - -$(OBJ_D)\v3_enum.obj: $(SRC_D)\crypto\x509v3\v3_enum.c - $(CC) /Fo$(OBJ_D)\v3_enum.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_enum.c - -$(OBJ_D)\v3_sxnet.obj: $(SRC_D)\crypto\x509v3\v3_sxnet.c - $(CC) /Fo$(OBJ_D)\v3_sxnet.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_sxnet.c - -$(OBJ_D)\v3_cpols.obj: $(SRC_D)\crypto\x509v3\v3_cpols.c - $(CC) /Fo$(OBJ_D)\v3_cpols.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_cpols.c - -$(OBJ_D)\v3_crld.obj: $(SRC_D)\crypto\x509v3\v3_crld.c - $(CC) /Fo$(OBJ_D)\v3_crld.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_crld.c - -$(OBJ_D)\v3_purp.obj: $(SRC_D)\crypto\x509v3\v3_purp.c - $(CC) /Fo$(OBJ_D)\v3_purp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_purp.c - -$(OBJ_D)\v3_info.obj: $(SRC_D)\crypto\x509v3\v3_info.c - $(CC) /Fo$(OBJ_D)\v3_info.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_info.c - -$(OBJ_D)\v3_ocsp.obj: $(SRC_D)\crypto\x509v3\v3_ocsp.c - $(CC) /Fo$(OBJ_D)\v3_ocsp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_ocsp.c - -$(OBJ_D)\v3_akeya.obj: $(SRC_D)\crypto\x509v3\v3_akeya.c - $(CC) /Fo$(OBJ_D)\v3_akeya.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_akeya.c - -$(OBJ_D)\v3_pmaps.obj: $(SRC_D)\crypto\x509v3\v3_pmaps.c - $(CC) /Fo$(OBJ_D)\v3_pmaps.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_pmaps.c - -$(OBJ_D)\v3_pcons.obj: $(SRC_D)\crypto\x509v3\v3_pcons.c - $(CC) /Fo$(OBJ_D)\v3_pcons.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_pcons.c - -$(OBJ_D)\v3_ncons.obj: $(SRC_D)\crypto\x509v3\v3_ncons.c - $(CC) /Fo$(OBJ_D)\v3_ncons.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_ncons.c - -$(OBJ_D)\v3_pcia.obj: $(SRC_D)\crypto\x509v3\v3_pcia.c - $(CC) /Fo$(OBJ_D)\v3_pcia.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_pcia.c - -$(OBJ_D)\v3_pci.obj: $(SRC_D)\crypto\x509v3\v3_pci.c - $(CC) /Fo$(OBJ_D)\v3_pci.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_pci.c - -$(OBJ_D)\pcy_cache.obj: $(SRC_D)\crypto\x509v3\pcy_cache.c - $(CC) /Fo$(OBJ_D)\pcy_cache.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_cache.c - -$(OBJ_D)\pcy_node.obj: $(SRC_D)\crypto\x509v3\pcy_node.c - $(CC) /Fo$(OBJ_D)\pcy_node.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_node.c - -$(OBJ_D)\pcy_data.obj: $(SRC_D)\crypto\x509v3\pcy_data.c - $(CC) /Fo$(OBJ_D)\pcy_data.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_data.c - -$(OBJ_D)\pcy_map.obj: $(SRC_D)\crypto\x509v3\pcy_map.c - $(CC) /Fo$(OBJ_D)\pcy_map.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_map.c - -$(OBJ_D)\pcy_tree.obj: $(SRC_D)\crypto\x509v3\pcy_tree.c - $(CC) /Fo$(OBJ_D)\pcy_tree.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_tree.c - -$(OBJ_D)\pcy_lib.obj: $(SRC_D)\crypto\x509v3\pcy_lib.c - $(CC) /Fo$(OBJ_D)\pcy_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_lib.c - -$(OBJ_D)\v3_asid.obj: $(SRC_D)\crypto\x509v3\v3_asid.c - $(CC) /Fo$(OBJ_D)\v3_asid.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_asid.c - -$(OBJ_D)\v3_addr.obj: $(SRC_D)\crypto\x509v3\v3_addr.c - $(CC) /Fo$(OBJ_D)\v3_addr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_addr.c - -$(OBJ_D)\v3_scts.obj: $(SRC_D)\crypto\x509v3\v3_scts.c - $(CC) /Fo$(OBJ_D)\v3_scts.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_scts.c - -$(OBJ_D)\cms_lib.obj: $(SRC_D)\crypto\cms\cms_lib.c - $(CC) /Fo$(OBJ_D)\cms_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_lib.c - -$(OBJ_D)\cms_asn1.obj: $(SRC_D)\crypto\cms\cms_asn1.c - $(CC) /Fo$(OBJ_D)\cms_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_asn1.c - -$(OBJ_D)\cms_att.obj: $(SRC_D)\crypto\cms\cms_att.c - $(CC) /Fo$(OBJ_D)\cms_att.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_att.c - -$(OBJ_D)\cms_io.obj: $(SRC_D)\crypto\cms\cms_io.c - $(CC) /Fo$(OBJ_D)\cms_io.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_io.c - -$(OBJ_D)\cms_smime.obj: $(SRC_D)\crypto\cms\cms_smime.c - $(CC) /Fo$(OBJ_D)\cms_smime.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_smime.c - -$(OBJ_D)\cms_err.obj: $(SRC_D)\crypto\cms\cms_err.c - $(CC) /Fo$(OBJ_D)\cms_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_err.c - -$(OBJ_D)\cms_sd.obj: $(SRC_D)\crypto\cms\cms_sd.c - $(CC) /Fo$(OBJ_D)\cms_sd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_sd.c - -$(OBJ_D)\cms_dd.obj: $(SRC_D)\crypto\cms\cms_dd.c - $(CC) /Fo$(OBJ_D)\cms_dd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_dd.c - -$(OBJ_D)\cms_cd.obj: $(SRC_D)\crypto\cms\cms_cd.c - $(CC) /Fo$(OBJ_D)\cms_cd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_cd.c - -$(OBJ_D)\cms_env.obj: $(SRC_D)\crypto\cms\cms_env.c - $(CC) /Fo$(OBJ_D)\cms_env.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_env.c - -$(OBJ_D)\cms_enc.obj: $(SRC_D)\crypto\cms\cms_enc.c - $(CC) /Fo$(OBJ_D)\cms_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_enc.c - -$(OBJ_D)\cms_ess.obj: $(SRC_D)\crypto\cms\cms_ess.c - $(CC) /Fo$(OBJ_D)\cms_ess.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_ess.c - -$(OBJ_D)\cms_pwri.obj: $(SRC_D)\crypto\cms\cms_pwri.c - $(CC) /Fo$(OBJ_D)\cms_pwri.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_pwri.c - -$(OBJ_D)\cms_kari.obj: $(SRC_D)\crypto\cms\cms_kari.c - $(CC) /Fo$(OBJ_D)\cms_kari.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_kari.c - -$(OBJ_D)\conf_err.obj: $(SRC_D)\crypto\conf\conf_err.c - $(CC) /Fo$(OBJ_D)\conf_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_err.c - -$(OBJ_D)\conf_lib.obj: $(SRC_D)\crypto\conf\conf_lib.c - $(CC) /Fo$(OBJ_D)\conf_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_lib.c - -$(OBJ_D)\conf_api.obj: $(SRC_D)\crypto\conf\conf_api.c - $(CC) /Fo$(OBJ_D)\conf_api.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_api.c - -$(OBJ_D)\conf_def.obj: $(SRC_D)\crypto\conf\conf_def.c - $(CC) /Fo$(OBJ_D)\conf_def.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_def.c - -$(OBJ_D)\conf_mod.obj: $(SRC_D)\crypto\conf\conf_mod.c - $(CC) /Fo$(OBJ_D)\conf_mod.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_mod.c - -$(OBJ_D)\conf_mall.obj: $(SRC_D)\crypto\conf\conf_mall.c - $(CC) /Fo$(OBJ_D)\conf_mall.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_mall.c - -$(OBJ_D)\conf_sap.obj: $(SRC_D)\crypto\conf\conf_sap.c - $(CC) /Fo$(OBJ_D)\conf_sap.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_sap.c - -$(OBJ_D)\txt_db.obj: $(SRC_D)\crypto\txt_db\txt_db.c - $(CC) /Fo$(OBJ_D)\txt_db.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\txt_db\txt_db.c - -$(OBJ_D)\pk7_asn1.obj: $(SRC_D)\crypto\pkcs7\pk7_asn1.c - $(CC) /Fo$(OBJ_D)\pk7_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_asn1.c - -$(OBJ_D)\pk7_lib.obj: $(SRC_D)\crypto\pkcs7\pk7_lib.c - $(CC) /Fo$(OBJ_D)\pk7_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_lib.c - -$(OBJ_D)\pkcs7err.obj: $(SRC_D)\crypto\pkcs7\pkcs7err.c - $(CC) /Fo$(OBJ_D)\pkcs7err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pkcs7err.c - -$(OBJ_D)\pk7_doit.obj: $(SRC_D)\crypto\pkcs7\pk7_doit.c - $(CC) /Fo$(OBJ_D)\pk7_doit.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_doit.c - -$(OBJ_D)\pk7_smime.obj: $(SRC_D)\crypto\pkcs7\pk7_smime.c - $(CC) /Fo$(OBJ_D)\pk7_smime.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_smime.c - -$(OBJ_D)\pk7_attr.obj: $(SRC_D)\crypto\pkcs7\pk7_attr.c - $(CC) /Fo$(OBJ_D)\pk7_attr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_attr.c - -$(OBJ_D)\pk7_mime.obj: $(SRC_D)\crypto\pkcs7\pk7_mime.c - $(CC) /Fo$(OBJ_D)\pk7_mime.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_mime.c - -$(OBJ_D)\bio_pk7.obj: $(SRC_D)\crypto\pkcs7\bio_pk7.c - $(CC) /Fo$(OBJ_D)\bio_pk7.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\bio_pk7.c - -$(OBJ_D)\p12_add.obj: $(SRC_D)\crypto\pkcs12\p12_add.c - $(CC) /Fo$(OBJ_D)\p12_add.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_add.c - -$(OBJ_D)\p12_asn.obj: $(SRC_D)\crypto\pkcs12\p12_asn.c - $(CC) /Fo$(OBJ_D)\p12_asn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_asn.c - -$(OBJ_D)\p12_attr.obj: $(SRC_D)\crypto\pkcs12\p12_attr.c - $(CC) /Fo$(OBJ_D)\p12_attr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_attr.c - -$(OBJ_D)\p12_crpt.obj: $(SRC_D)\crypto\pkcs12\p12_crpt.c - $(CC) /Fo$(OBJ_D)\p12_crpt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_crpt.c - -$(OBJ_D)\p12_crt.obj: $(SRC_D)\crypto\pkcs12\p12_crt.c - $(CC) /Fo$(OBJ_D)\p12_crt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_crt.c - -$(OBJ_D)\p12_decr.obj: $(SRC_D)\crypto\pkcs12\p12_decr.c - $(CC) /Fo$(OBJ_D)\p12_decr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_decr.c - -$(OBJ_D)\p12_init.obj: $(SRC_D)\crypto\pkcs12\p12_init.c - $(CC) /Fo$(OBJ_D)\p12_init.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_init.c - -$(OBJ_D)\p12_key.obj: $(SRC_D)\crypto\pkcs12\p12_key.c - $(CC) /Fo$(OBJ_D)\p12_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_key.c - -$(OBJ_D)\p12_kiss.obj: $(SRC_D)\crypto\pkcs12\p12_kiss.c - $(CC) /Fo$(OBJ_D)\p12_kiss.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_kiss.c - -$(OBJ_D)\p12_mutl.obj: $(SRC_D)\crypto\pkcs12\p12_mutl.c - $(CC) /Fo$(OBJ_D)\p12_mutl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_mutl.c - -$(OBJ_D)\p12_utl.obj: $(SRC_D)\crypto\pkcs12\p12_utl.c - $(CC) /Fo$(OBJ_D)\p12_utl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_utl.c - -$(OBJ_D)\p12_npas.obj: $(SRC_D)\crypto\pkcs12\p12_npas.c - $(CC) /Fo$(OBJ_D)\p12_npas.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_npas.c - -$(OBJ_D)\pk12err.obj: $(SRC_D)\crypto\pkcs12\pk12err.c - $(CC) /Fo$(OBJ_D)\pk12err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\pk12err.c - -$(OBJ_D)\p12_p8d.obj: $(SRC_D)\crypto\pkcs12\p12_p8d.c - $(CC) /Fo$(OBJ_D)\p12_p8d.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_p8d.c - -$(OBJ_D)\p12_p8e.obj: $(SRC_D)\crypto\pkcs12\p12_p8e.c - $(CC) /Fo$(OBJ_D)\p12_p8e.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_p8e.c - -$(OBJ_D)\comp_lib.obj: $(SRC_D)\crypto\comp\comp_lib.c - $(CC) /Fo$(OBJ_D)\comp_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\comp\comp_lib.c - -$(OBJ_D)\comp_err.obj: $(SRC_D)\crypto\comp\comp_err.c - $(CC) /Fo$(OBJ_D)\comp_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\comp\comp_err.c - -$(OBJ_D)\c_rle.obj: $(SRC_D)\crypto\comp\c_rle.c - $(CC) /Fo$(OBJ_D)\c_rle.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\comp\c_rle.c - -$(OBJ_D)\c_zlib.obj: $(SRC_D)\crypto\comp\c_zlib.c - $(CC) /Fo$(OBJ_D)\c_zlib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\comp\c_zlib.c - -$(OBJ_D)\eng_err.obj: $(SRC_D)\crypto\engine\eng_err.c - $(CC) /Fo$(OBJ_D)\eng_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_err.c - -$(OBJ_D)\eng_lib.obj: $(SRC_D)\crypto\engine\eng_lib.c - $(CC) /Fo$(OBJ_D)\eng_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_lib.c - -$(OBJ_D)\eng_list.obj: $(SRC_D)\crypto\engine\eng_list.c - $(CC) /Fo$(OBJ_D)\eng_list.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_list.c - -$(OBJ_D)\eng_init.obj: $(SRC_D)\crypto\engine\eng_init.c - $(CC) /Fo$(OBJ_D)\eng_init.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_init.c - -$(OBJ_D)\eng_ctrl.obj: $(SRC_D)\crypto\engine\eng_ctrl.c - $(CC) /Fo$(OBJ_D)\eng_ctrl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_ctrl.c - -$(OBJ_D)\eng_table.obj: $(SRC_D)\crypto\engine\eng_table.c - $(CC) /Fo$(OBJ_D)\eng_table.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_table.c - -$(OBJ_D)\eng_pkey.obj: $(SRC_D)\crypto\engine\eng_pkey.c - $(CC) /Fo$(OBJ_D)\eng_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_pkey.c - -$(OBJ_D)\eng_fat.obj: $(SRC_D)\crypto\engine\eng_fat.c - $(CC) /Fo$(OBJ_D)\eng_fat.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_fat.c - -$(OBJ_D)\eng_all.obj: $(SRC_D)\crypto\engine\eng_all.c - $(CC) /Fo$(OBJ_D)\eng_all.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_all.c - -$(OBJ_D)\tb_rsa.obj: $(SRC_D)\crypto\engine\tb_rsa.c - $(CC) /Fo$(OBJ_D)\tb_rsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_rsa.c - -$(OBJ_D)\tb_dsa.obj: $(SRC_D)\crypto\engine\tb_dsa.c - $(CC) /Fo$(OBJ_D)\tb_dsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_dsa.c - -$(OBJ_D)\tb_ecdsa.obj: $(SRC_D)\crypto\engine\tb_ecdsa.c - $(CC) /Fo$(OBJ_D)\tb_ecdsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_ecdsa.c - -$(OBJ_D)\tb_dh.obj: $(SRC_D)\crypto\engine\tb_dh.c - $(CC) /Fo$(OBJ_D)\tb_dh.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_dh.c - -$(OBJ_D)\tb_ecdh.obj: $(SRC_D)\crypto\engine\tb_ecdh.c - $(CC) /Fo$(OBJ_D)\tb_ecdh.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_ecdh.c - -$(OBJ_D)\tb_rand.obj: $(SRC_D)\crypto\engine\tb_rand.c - $(CC) /Fo$(OBJ_D)\tb_rand.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_rand.c - -$(OBJ_D)\tb_store.obj: $(SRC_D)\crypto\engine\tb_store.c - $(CC) /Fo$(OBJ_D)\tb_store.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_store.c - -$(OBJ_D)\tb_cipher.obj: $(SRC_D)\crypto\engine\tb_cipher.c - $(CC) /Fo$(OBJ_D)\tb_cipher.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_cipher.c - -$(OBJ_D)\tb_digest.obj: $(SRC_D)\crypto\engine\tb_digest.c - $(CC) /Fo$(OBJ_D)\tb_digest.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_digest.c - -$(OBJ_D)\tb_pkmeth.obj: $(SRC_D)\crypto\engine\tb_pkmeth.c - $(CC) /Fo$(OBJ_D)\tb_pkmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_pkmeth.c - -$(OBJ_D)\tb_asnmth.obj: $(SRC_D)\crypto\engine\tb_asnmth.c - $(CC) /Fo$(OBJ_D)\tb_asnmth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_asnmth.c - -$(OBJ_D)\eng_openssl.obj: $(SRC_D)\crypto\engine\eng_openssl.c - $(CC) /Fo$(OBJ_D)\eng_openssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_openssl.c - -$(OBJ_D)\eng_cnf.obj: $(SRC_D)\crypto\engine\eng_cnf.c - $(CC) /Fo$(OBJ_D)\eng_cnf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_cnf.c - -$(OBJ_D)\eng_dyn.obj: $(SRC_D)\crypto\engine\eng_dyn.c - $(CC) /Fo$(OBJ_D)\eng_dyn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_dyn.c - -$(OBJ_D)\eng_cryptodev.obj: $(SRC_D)\crypto\engine\eng_cryptodev.c - $(CC) /Fo$(OBJ_D)\eng_cryptodev.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_cryptodev.c - -$(OBJ_D)\eng_rdrand.obj: $(SRC_D)\crypto\engine\eng_rdrand.c - $(CC) /Fo$(OBJ_D)\eng_rdrand.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_rdrand.c - -$(OBJ_D)\ocsp_asn.obj: $(SRC_D)\crypto\ocsp\ocsp_asn.c - $(CC) /Fo$(OBJ_D)\ocsp_asn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_asn.c - -$(OBJ_D)\ocsp_ext.obj: $(SRC_D)\crypto\ocsp\ocsp_ext.c - $(CC) /Fo$(OBJ_D)\ocsp_ext.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_ext.c - -$(OBJ_D)\ocsp_ht.obj: $(SRC_D)\crypto\ocsp\ocsp_ht.c - $(CC) /Fo$(OBJ_D)\ocsp_ht.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_ht.c - -$(OBJ_D)\ocsp_lib.obj: $(SRC_D)\crypto\ocsp\ocsp_lib.c - $(CC) /Fo$(OBJ_D)\ocsp_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_lib.c - -$(OBJ_D)\ocsp_cl.obj: $(SRC_D)\crypto\ocsp\ocsp_cl.c - $(CC) /Fo$(OBJ_D)\ocsp_cl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_cl.c - -$(OBJ_D)\ocsp_srv.obj: $(SRC_D)\crypto\ocsp\ocsp_srv.c - $(CC) /Fo$(OBJ_D)\ocsp_srv.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_srv.c - -$(OBJ_D)\ocsp_prn.obj: $(SRC_D)\crypto\ocsp\ocsp_prn.c - $(CC) /Fo$(OBJ_D)\ocsp_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_prn.c - -$(OBJ_D)\ocsp_vfy.obj: $(SRC_D)\crypto\ocsp\ocsp_vfy.c - $(CC) /Fo$(OBJ_D)\ocsp_vfy.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_vfy.c - -$(OBJ_D)\ocsp_err.obj: $(SRC_D)\crypto\ocsp\ocsp_err.c - $(CC) /Fo$(OBJ_D)\ocsp_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_err.c - -$(OBJ_D)\ui_err.obj: $(SRC_D)\crypto\ui\ui_err.c - $(CC) /Fo$(OBJ_D)\ui_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ui\ui_err.c - -$(OBJ_D)\ui_lib.obj: $(SRC_D)\crypto\ui\ui_lib.c - $(CC) /Fo$(OBJ_D)\ui_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ui\ui_lib.c - -$(OBJ_D)\ui_openssl.obj: $(SRC_D)\crypto\ui\ui_openssl.c - $(CC) /Fo$(OBJ_D)\ui_openssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ui\ui_openssl.c - -$(OBJ_D)\ui_util.obj: $(SRC_D)\crypto\ui\ui_util.c - $(CC) /Fo$(OBJ_D)\ui_util.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ui\ui_util.c - -$(OBJ_D)\ui_compat.obj: $(SRC_D)\crypto\ui\ui_compat.c - $(CC) /Fo$(OBJ_D)\ui_compat.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ui\ui_compat.c - -$(OBJ_D)\krb5_asn.obj: $(SRC_D)\crypto\krb5\krb5_asn.c - $(CC) /Fo$(OBJ_D)\krb5_asn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\krb5\krb5_asn.c - -$(OBJ_D)\pqueue.obj: $(SRC_D)\crypto\pqueue\pqueue.c - $(CC) /Fo$(OBJ_D)\pqueue.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pqueue\pqueue.c - -$(OBJ_D)\wp_dgst.obj: $(SRC_D)\crypto\whrlpool\wp_dgst.c - $(CC) /Fo$(OBJ_D)\wp_dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\whrlpool\wp_dgst.c - -$(OBJ_D)\wp_block.obj: $(SRC_D)\crypto\whrlpool\wp_block.c - $(CC) /Fo$(OBJ_D)\wp_block.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\whrlpool\wp_block.c - -$(TMP_D)\wp-mmx.asm: crypto\whrlpool\asm\wp-mmx.pl - $(PERL) crypto\whrlpool\asm\wp-mmx.pl win32n $(CFLAG) >$@ - -$(OBJ_D)\wp-mmx.obj: $(TMP_D)\wp-mmx.asm - $(ASM) -o $@ $(TMP_D)\wp-mmx.asm - -$(OBJ_D)\ts_err.obj: $(SRC_D)\crypto\ts\ts_err.c - $(CC) /Fo$(OBJ_D)\ts_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_err.c - -$(OBJ_D)\ts_req_utils.obj: $(SRC_D)\crypto\ts\ts_req_utils.c - $(CC) /Fo$(OBJ_D)\ts_req_utils.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_req_utils.c - -$(OBJ_D)\ts_req_print.obj: $(SRC_D)\crypto\ts\ts_req_print.c - $(CC) /Fo$(OBJ_D)\ts_req_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_req_print.c - -$(OBJ_D)\ts_rsp_utils.obj: $(SRC_D)\crypto\ts\ts_rsp_utils.c - $(CC) /Fo$(OBJ_D)\ts_rsp_utils.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_rsp_utils.c - -$(OBJ_D)\ts_rsp_print.obj: $(SRC_D)\crypto\ts\ts_rsp_print.c - $(CC) /Fo$(OBJ_D)\ts_rsp_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_rsp_print.c - -$(OBJ_D)\ts_rsp_sign.obj: $(SRC_D)\crypto\ts\ts_rsp_sign.c - $(CC) /Fo$(OBJ_D)\ts_rsp_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_rsp_sign.c - -$(OBJ_D)\ts_rsp_verify.obj: $(SRC_D)\crypto\ts\ts_rsp_verify.c - $(CC) /Fo$(OBJ_D)\ts_rsp_verify.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_rsp_verify.c - -$(OBJ_D)\ts_verify_ctx.obj: $(SRC_D)\crypto\ts\ts_verify_ctx.c - $(CC) /Fo$(OBJ_D)\ts_verify_ctx.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_verify_ctx.c - -$(OBJ_D)\ts_lib.obj: $(SRC_D)\crypto\ts\ts_lib.c - $(CC) /Fo$(OBJ_D)\ts_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_lib.c - -$(OBJ_D)\ts_conf.obj: $(SRC_D)\crypto\ts\ts_conf.c - $(CC) /Fo$(OBJ_D)\ts_conf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_conf.c - -$(OBJ_D)\ts_asn1.obj: $(SRC_D)\crypto\ts\ts_asn1.c - $(CC) /Fo$(OBJ_D)\ts_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_asn1.c - -$(OBJ_D)\srp_lib.obj: $(SRC_D)\crypto\srp\srp_lib.c - $(CC) /Fo$(OBJ_D)\srp_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\srp\srp_lib.c - -$(OBJ_D)\srp_vfy.obj: $(SRC_D)\crypto\srp\srp_vfy.c - $(CC) /Fo$(OBJ_D)\srp_vfy.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\srp\srp_vfy.c - -$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c - $(CC) /Fo$(OBJ_D)\s2_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_meth.c - -$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c - $(CC) /Fo$(OBJ_D)\s2_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_srvr.c - -$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c - $(CC) /Fo$(OBJ_D)\s2_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_clnt.c - -$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c - $(CC) /Fo$(OBJ_D)\s2_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_lib.c - -$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c - $(CC) /Fo$(OBJ_D)\s2_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_enc.c - -$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c - $(CC) /Fo$(OBJ_D)\s2_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_pkt.c - -$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c - $(CC) /Fo$(OBJ_D)\s3_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_meth.c - -$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c - $(CC) /Fo$(OBJ_D)\s3_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_srvr.c - -$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c - $(CC) /Fo$(OBJ_D)\s3_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_clnt.c - -$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c - $(CC) /Fo$(OBJ_D)\s3_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_lib.c - -$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c - $(CC) /Fo$(OBJ_D)\s3_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_enc.c - -$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c - $(CC) /Fo$(OBJ_D)\s3_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_pkt.c - -$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c - $(CC) /Fo$(OBJ_D)\s3_both.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_both.c - -$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c - $(CC) /Fo$(OBJ_D)\s3_cbc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_cbc.c - -$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c - $(CC) /Fo$(OBJ_D)\s23_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_meth.c - -$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c - $(CC) /Fo$(OBJ_D)\s23_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_srvr.c - -$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c - $(CC) /Fo$(OBJ_D)\s23_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_clnt.c - -$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c - $(CC) /Fo$(OBJ_D)\s23_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_lib.c - -$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c - $(CC) /Fo$(OBJ_D)\s23_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_pkt.c - -$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c - $(CC) /Fo$(OBJ_D)\t1_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_meth.c - -$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c - $(CC) /Fo$(OBJ_D)\t1_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_srvr.c - -$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c - $(CC) /Fo$(OBJ_D)\t1_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_clnt.c - -$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c - $(CC) /Fo$(OBJ_D)\t1_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_lib.c - -$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c - $(CC) /Fo$(OBJ_D)\t1_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_enc.c - -$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c - $(CC) /Fo$(OBJ_D)\t1_ext.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_ext.c - -$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c - $(CC) /Fo$(OBJ_D)\d1_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_meth.c - -$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c - $(CC) /Fo$(OBJ_D)\d1_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_srvr.c - -$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c - $(CC) /Fo$(OBJ_D)\d1_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_clnt.c - -$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c - $(CC) /Fo$(OBJ_D)\d1_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_lib.c - -$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c - $(CC) /Fo$(OBJ_D)\d1_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_pkt.c - -$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c - $(CC) /Fo$(OBJ_D)\d1_both.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_both.c - -$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c - $(CC) /Fo$(OBJ_D)\d1_srtp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_srtp.c - -$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c - $(CC) /Fo$(OBJ_D)\ssl_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_lib.c - -$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c - $(CC) /Fo$(OBJ_D)\ssl_err2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_err2.c - -$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c - $(CC) /Fo$(OBJ_D)\ssl_cert.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_cert.c - -$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c - $(CC) /Fo$(OBJ_D)\ssl_sess.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_sess.c - -$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c - $(CC) /Fo$(OBJ_D)\ssl_ciph.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_ciph.c - -$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c - $(CC) /Fo$(OBJ_D)\ssl_stat.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_stat.c - -$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c - $(CC) /Fo$(OBJ_D)\ssl_rsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_rsa.c - -$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c - $(CC) /Fo$(OBJ_D)\ssl_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_asn1.c - -$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c - $(CC) /Fo$(OBJ_D)\ssl_txt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_txt.c - -$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c - $(CC) /Fo$(OBJ_D)\ssl_algs.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_algs.c - -$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c - $(CC) /Fo$(OBJ_D)\ssl_conf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_conf.c - -$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c - $(CC) /Fo$(OBJ_D)\bio_ssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\bio_ssl.c - -$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c - $(CC) /Fo$(OBJ_D)\ssl_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_err.c - -$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c - $(CC) /Fo$(OBJ_D)\kssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\kssl.c - -$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c - $(CC) /Fo$(OBJ_D)\t1_reneg.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_reneg.c - -$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c - $(CC) /Fo$(OBJ_D)\tls_srp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\tls_srp.c - -$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c - $(CC) /Fo$(OBJ_D)\t1_trce.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_trce.c - -$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c - $(CC) /Fo$(OBJ_D)\ssl_utst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_utst.c - -$(OBJ_D)\e_gost_err.obj: $(SRC_D)\engines\ccgost\e_gost_err.c - $(CC) /Fo$(OBJ_D)\e_gost_err.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\e_gost_err.c - -$(OBJ_D)\gost2001_keyx.obj: $(SRC_D)\engines\ccgost\gost2001_keyx.c - $(CC) /Fo$(OBJ_D)\gost2001_keyx.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001_keyx.c - -$(OBJ_D)\gost2001.obj: $(SRC_D)\engines\ccgost\gost2001.c - $(CC) /Fo$(OBJ_D)\gost2001.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001.c - -$(OBJ_D)\gost89.obj: $(SRC_D)\engines\ccgost\gost89.c - $(CC) /Fo$(OBJ_D)\gost89.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost89.c - -$(OBJ_D)\gost94_keyx.obj: $(SRC_D)\engines\ccgost\gost94_keyx.c - $(CC) /Fo$(OBJ_D)\gost94_keyx.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost94_keyx.c - -$(OBJ_D)\gost_ameth.obj: $(SRC_D)\engines\ccgost\gost_ameth.c - $(CC) /Fo$(OBJ_D)\gost_ameth.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ameth.c - -$(OBJ_D)\gost_asn1.obj: $(SRC_D)\engines\ccgost\gost_asn1.c - $(CC) /Fo$(OBJ_D)\gost_asn1.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_asn1.c - -$(OBJ_D)\gost_crypt.obj: $(SRC_D)\engines\ccgost\gost_crypt.c - $(CC) /Fo$(OBJ_D)\gost_crypt.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_crypt.c - -$(OBJ_D)\gost_ctl.obj: $(SRC_D)\engines\ccgost\gost_ctl.c - $(CC) /Fo$(OBJ_D)\gost_ctl.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ctl.c - -$(OBJ_D)\gost_eng.obj: $(SRC_D)\engines\ccgost\gost_eng.c - $(CC) /Fo$(OBJ_D)\gost_eng.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_eng.c - -$(OBJ_D)\gosthash.obj: $(SRC_D)\engines\ccgost\gosthash.c - $(CC) /Fo$(OBJ_D)\gosthash.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gosthash.c - -$(OBJ_D)\gost_keywrap.obj: $(SRC_D)\engines\ccgost\gost_keywrap.c - $(CC) /Fo$(OBJ_D)\gost_keywrap.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_keywrap.c - -$(OBJ_D)\gost_md.obj: $(SRC_D)\engines\ccgost\gost_md.c - $(CC) /Fo$(OBJ_D)\gost_md.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_md.c - -$(OBJ_D)\gost_params.obj: $(SRC_D)\engines\ccgost\gost_params.c - $(CC) /Fo$(OBJ_D)\gost_params.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_params.c - -$(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c - $(CC) /Fo$(OBJ_D)\gost_pmeth.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_pmeth.c - -$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c - $(CC) /Fo$(OBJ_D)\gost_sign.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c - -$(OBJ_D)\$(CRYPTO).res: ms\version32.rc - $(RSC) /fo"$(OBJ_D)\$(CRYPTO).res" /d CRYPTO ms\version32.rc - -$(OBJ_D)\$(SSL).res: ms\version32.rc - $(RSC) /fo"$(OBJ_D)\$(SSL).res" /d SSL ms\version32.rc - -$(TEST_D)\constant_time_test.exe: $(OBJ_D)\constant_time_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\constant_time_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\constant_time_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\md4test.exe: $(OBJ_D)\md4test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md4test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\md4test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\md5test.exe: $(OBJ_D)\md5test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md5test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\md5test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\shatest.exe: $(OBJ_D)\shatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\shatest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\shatest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sha1test.exe: $(OBJ_D)\sha1test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha1test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sha1test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sha256t.exe: $(OBJ_D)\sha256t.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha256t.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sha256t.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sha512t.exe: $(OBJ_D)\sha512t.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha512t.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sha512t.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\hmactest.exe: $(OBJ_D)\hmactest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\hmactest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\hmactest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rmdtest.exe: $(OBJ_D)\rmdtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rmdtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rmdtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\destest.exe: $(OBJ_D)\destest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\destest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\destest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rc2test.exe: $(OBJ_D)\rc2test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc2test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rc2test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rc4test.exe: $(OBJ_D)\rc4test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc4test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rc4test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\bftest.exe: $(OBJ_D)\bftest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bftest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\bftest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\casttest.exe: $(OBJ_D)\casttest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\casttest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\casttest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\bntest.exe: $(OBJ_D)\bntest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bntest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\bntest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\exptest.exe: $(OBJ_D)\exptest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\exptest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\exptest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\rsa_test.exe: $(OBJ_D)\rsa_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rsa_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\rsa_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\dsatest.exe: $(OBJ_D)\dsatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dsatest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\dsatest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\dhtest.exe: $(OBJ_D)\dhtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dhtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\dhtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ectest.exe: $(OBJ_D)\ectest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ectest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ectest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ecdhtest.exe: $(OBJ_D)\ecdhtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdhtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ecdhtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ecdsatest.exe: $(OBJ_D)\ecdsatest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdsatest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ecdsatest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\randtest.exe: $(OBJ_D)\randtest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\randtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\randtest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\evp_test.exe: $(OBJ_D)\evp_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\evp_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\evp_extra_test.exe: $(OBJ_D)\evp_extra_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_extra_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\evp_extra_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\verify_extra_test.exe: $(OBJ_D)\verify_extra_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\verify_extra_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\verify_extra_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\v3nametest.exe: $(OBJ_D)\v3nametest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\v3nametest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\v3nametest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\enginetest.exe: $(OBJ_D)\enginetest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\enginetest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\enginetest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\wp_test.exe: $(OBJ_D)\wp_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\wp_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\wp_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\srptest.exe: $(OBJ_D)\srptest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\srptest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\srptest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\ssltest.exe: $(OBJ_D)\ssltest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ssltest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\ssltest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\heartbeat_test.exe: $(OBJ_D)\heartbeat_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\heartbeat_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\heartbeat_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\clienthellotest.exe: $(OBJ_D)\clienthellotest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\clienthellotest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\clienthellotest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\sslv2conftest.exe: $(OBJ_D)\sslv2conftest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sslv2conftest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\sslv2conftest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\dtlstest.exe: $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dtlstest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\bad_dtls_test.exe: $(OBJ_D)\bad_dtls_test.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bad_dtls_test.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\bad_dtls_test.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\fatalerrtest.exe: $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\fatalerrtest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(TEST_D)\igetest.exe: $(OBJ_D)\igetest.obj $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\igetest.exe @<< - $(APP_EX_OBJ) $(OBJ_D)\igetest.obj $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - -$(OBJ_D)\e_4758cca.obj: $(SRC_D)\engines\e_4758cca.c - $(CC) /Fo$(OBJ_D)\e_4758cca.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_4758cca.c - -$(ENG_D)\4758cca.dll: $(OBJ_D)\e_4758cca.obj - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\4758cca.dll @<< - $(SHLIB_EX_OBJ) $(OBJ_D)\e_4758cca.obj $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(OBJ_D)\e_aep.obj: $(SRC_D)\engines\e_aep.c - $(CC) /Fo$(OBJ_D)\e_aep.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_aep.c - -$(ENG_D)\aep.dll: $(OBJ_D)\e_aep.obj - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\aep.dll @<< - $(SHLIB_EX_OBJ) $(OBJ_D)\e_aep.obj $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(OBJ_D)\e_atalla.obj: $(SRC_D)\engines\e_atalla.c - $(CC) /Fo$(OBJ_D)\e_atalla.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_atalla.c - -$(ENG_D)\atalla.dll: $(OBJ_D)\e_atalla.obj - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\atalla.dll @<< - $(SHLIB_EX_OBJ) $(OBJ_D)\e_atalla.obj $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(OBJ_D)\e_cswift.obj: $(SRC_D)\engines\e_cswift.c - $(CC) /Fo$(OBJ_D)\e_cswift.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_cswift.c - -$(ENG_D)\cswift.dll: $(OBJ_D)\e_cswift.obj - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\cswift.dll @<< - $(SHLIB_EX_OBJ) $(OBJ_D)\e_cswift.obj $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(OBJ_D)\e_gmp.obj: $(SRC_D)\engines\e_gmp.c - $(CC) /Fo$(OBJ_D)\e_gmp.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_gmp.c - -$(ENG_D)\gmp.dll: $(OBJ_D)\e_gmp.obj - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\gmp.dll @<< - $(SHLIB_EX_OBJ) $(OBJ_D)\e_gmp.obj $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(OBJ_D)\e_chil.obj: $(SRC_D)\engines\e_chil.c - $(CC) /Fo$(OBJ_D)\e_chil.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_chil.c - -$(ENG_D)\chil.dll: $(OBJ_D)\e_chil.obj - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\chil.dll @<< - $(SHLIB_EX_OBJ) $(OBJ_D)\e_chil.obj $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(OBJ_D)\e_nuron.obj: $(SRC_D)\engines\e_nuron.c - $(CC) /Fo$(OBJ_D)\e_nuron.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_nuron.c - -$(ENG_D)\nuron.dll: $(OBJ_D)\e_nuron.obj - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\nuron.dll @<< - $(SHLIB_EX_OBJ) $(OBJ_D)\e_nuron.obj $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(OBJ_D)\e_sureware.obj: $(SRC_D)\engines\e_sureware.c - $(CC) /Fo$(OBJ_D)\e_sureware.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_sureware.c - -$(ENG_D)\sureware.dll: $(OBJ_D)\e_sureware.obj - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\sureware.dll @<< - $(SHLIB_EX_OBJ) $(OBJ_D)\e_sureware.obj $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(OBJ_D)\e_ubsec.obj: $(SRC_D)\engines\e_ubsec.c - $(CC) /Fo$(OBJ_D)\e_ubsec.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_ubsec.c - -$(ENG_D)\ubsec.dll: $(OBJ_D)\e_ubsec.obj - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\ubsec.dll @<< - $(SHLIB_EX_OBJ) $(OBJ_D)\e_ubsec.obj $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(OBJ_D)\e_padlock.obj: $(SRC_D)\engines\e_padlock.c - $(CC) /Fo$(OBJ_D)\e_padlock.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_padlock.c - -$(ENG_D)\padlock.dll: $(OBJ_D)\e_padlock.obj - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\padlock.dll @<< - $(SHLIB_EX_OBJ) $(OBJ_D)\e_padlock.obj $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(OBJ_D)\e_capi.obj: $(SRC_D)\engines\e_capi.c - $(CC) /Fo$(OBJ_D)\e_capi.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\e_capi.c - -$(ENG_D)\capi.dll: $(OBJ_D)\e_capi.obj - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\capi.dll @<< - $(SHLIB_EX_OBJ) $(OBJ_D)\e_capi.obj $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(O_SSL): $(SSLOBJ) - $(LINK_CMD) $(MLFLAGS) /out:$(O_SSL) /def:ms/SSLEAY32.def @<< - $(SHLIB_EX_OBJ) $(SSLOBJ) $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(O_CRYPTO): $(CRYPTOOBJ) - $(LINK_CMD) $(MLFLAGS) /out:$(O_CRYPTO) /def:ms/LIBEAY32.def @<< - $(SHLIB_EX_OBJ) $(CRYPTOOBJ) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(ENG_D)\gost.dll: $(GOSTOBJ) - $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\gost.dll @<< - $(SHLIB_EX_OBJ) $(GOSTOBJ) $(L_CRYPTO) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 - - -$(BIN_D)\$(E_EXE).exe: $(E_OBJ) $(LIBS_DEP) - $(LINK_CMD) $(LFLAGS) /out:$(BIN_D)\$(E_EXE).exe @<< - $(APP_EX_OBJ) $(E_OBJ) $(L_LIBS) $(EX_LIBS) -<< - IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 - +# N.B. You MUST use -j on FreeBSD. +# This makefile has been automatically generated from the OpenSSL distribution. +# This single makefile will build the complete OpenSSL distribution and +# by default leave the 'interesting' output files in .\out and the stuff +# that needs deleting in .\tmp. +# The file was generated by running 'make makefile.one', which +# does a 'make files', which writes all the environment variables from all +# the makefiles to the file call MINFO. This file is used by +# util\mk1mf.pl to generate makefile.one. +# The 'makefile per directory' system suites me when developing this +# library and also so I can 'distribute' indervidual library sections. +# The one monster makefile better suits building in non-unix +# environments. + +INSTALLTOP=\usr\local\ssl +OPENSSLDIR=\usr\local\ssl + +# Set your compiler options +PLATFORM=VC-WIN32 +CC=cl +CFLAG= /MD /Ox /O2 /Ob2 -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_STATIC_ENGINE +APP_CFLAG= /Zi /Fd$(TMP_D)/app +LIB_CFLAG= /Zi /Fd$(TMP_D)/lib -D_WINDLL +SHLIB_CFLAG= +APP_EX_OBJ=setargv.obj $(OBJ_D)\applink.obj /implib:$(TMP_D)\junk.lib +SHLIB_EX_OBJ= +# add extra libraries to this define, for solaris -lsocket -lnsl would +# be added +EX_LIBS=ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib + +# The OpenSSL directory +SRC_D=. + +LINK_CMD=link +LFLAGS=/nologo /subsystem:console /opt:ref /debug +RSC=rc + +# The output directory for everything interesting +OUT_D=out32dll +# The output directory for all the temporary muck +TMP_D=tmp32dll +# The output directory for the header files +INC_D=inc32 +INCO_D=inc32\openssl + +PERL=perl +CP=$(PERL) util/copy.pl +RM=del /Q +RANLIB= +MKDIR=$(PERL) util/mkdir-p.pl +MKLIB=lib /nologo +MLFLAGS= /nologo /subsystem:console /opt:ref /debug /dll +ASM=nasm -f win32 + +# FIPS validated module and support file locations + +E_PREMAIN_DSO=fips_premain_dso + +FIPSDIR=\usr\local\ssl\fips-2.0 +BASEADDR=0xFB00000 +FIPSLIB_D=$(FIPSDIR)\lib +FIPS_PREMAIN_SRC=$(FIPSLIB_D)\fips_premain.c +O_FIPSCANISTER=$(FIPSLIB_D)\fipscanister.lib +FIPS_SHA1_EXE=$(FIPSDIR)\bin\fips_standalone_sha1.exe +PREMAIN_DSO_EXE=$(BIN_D)\fips_premain_dso.exe +FIPSLINK=$(PERL) $(FIPSDIR)\bin\fipslink.pl + +###################################################### +# You should not need to touch anything below this point +###################################################### + +E_EXE=openssl +SSL=ssleay32 +CRYPTO=libeay32 + +# BIN_D - Binary output directory +# TEST_D - Binary test file output directory +# LIB_D - library output directory +# ENG_D - dynamic engine output directory +# Note: if you change these point to different directories then uncomment out +# the lines around the 'NB' comment below. +# +BIN_D=$(OUT_D) +TEST_D=$(OUT_D) +LIB_D=$(OUT_D) +ENG_D=$(OUT_D) + +# INCL_D - local library directory +# OBJ_D - temp object file directory +OBJ_D=$(TMP_D) +INCL_D=$(TMP_D) + +O_SSL= $(LIB_D)\$(SSL).dll +O_CRYPTO= $(LIB_D)\$(CRYPTO).dll +SO_SSL= $(SSL) +SO_CRYPTO= $(CRYPTO) +L_SSL= $(LIB_D)\$(SSL).lib +L_CRYPTO= $(LIB_D)\$(CRYPTO).lib + +L_LIBS= $(L_SSL) $(L_CRYPTO) + +###################################################### +# Don't touch anything below this point +###################################################### + +INC=-I$(INC_D) -I$(INCL_D) +APP_CFLAGS=$(INC) $(CFLAG) $(APP_CFLAG) +LIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) +SHLIB_CFLAGS=$(INC) $(CFLAG) $(LIB_CFLAG) $(SHLIB_CFLAG) +LIBS_DEP=$(O_CRYPTO) $(O_SSL) + +############################################# +HEADER=$(INCL_D)\e_os.h \ + $(INCL_D)\cryptlib.h $(INCL_D)\buildinf.h $(INCL_D)\md32_common.h \ + $(INCL_D)\o_time.h $(INCL_D)\o_str.h $(INCL_D)\o_dir.h \ + $(INCL_D)\constant_time_locl.h $(INCL_D)\bn_int.h $(INCL_D)\md4_locl.h \ + $(INCL_D)\md5_locl.h $(INCL_D)\sha_locl.h $(INCL_D)\rmd_locl.h \ + $(INCL_D)\rmdconst.h $(INCL_D)\des_locl.h $(INCL_D)\rpc_des.h \ + $(INCL_D)\spr.h $(INCL_D)\des_ver.h $(INCL_D)\rc2_locl.h \ + $(INCL_D)\rc4_locl.h $(INCL_D)\bf_pi.h $(INCL_D)\bf_locl.h \ + $(INCL_D)\cast_s.h $(INCL_D)\cast_lcl.h $(INCL_D)\aes_locl.h \ + $(INCL_D)\cmll_locl.h $(INCL_D)\seed_locl.h $(INCL_D)\modes_lcl.h \ + $(INCL_D)\bn_lcl.h $(INCL_D)\bn_prime.h $(INCL_D)\dsa_locl.h \ + $(INCL_D)\ec_lcl.h $(INCL_D)\ech_locl.h $(INCL_D)\ecs_locl.h \ + $(INCL_D)\bio_lcl.h $(INCL_D)\obj_dat.h $(INCL_D)\obj_xref.h \ + $(INCL_D)\evp_locl.h $(INCL_D)\asn1_locl.h $(INCL_D)\vpm_int.h \ + $(INCL_D)\pcy_int.h $(INCL_D)\cms_lcl.h $(INCL_D)\conf_def.h \ + $(INCL_D)\ui_locl.h $(INCL_D)\wp_locl.h $(INCL_D)\ssl_locl.h \ + $(INCL_D)\kssl_lcl.h $(INCL_D)\apps.h $(INCL_D)\progs.h \ + $(INCL_D)\s_apps.h $(INCL_D)\testdsa.h $(INCL_D)\testrsa.h \ + $(INCL_D)\e_4758cca_err.c $(INCL_D)\e_4758cca_err.h $(INCL_D)\e_aep_err.c \ + $(INCL_D)\e_aep_err.h $(INCL_D)\e_atalla_err.c $(INCL_D)\e_atalla_err.h \ + $(INCL_D)\e_cswift_err.c $(INCL_D)\e_cswift_err.h $(INCL_D)\e_gmp_err.c \ + $(INCL_D)\e_gmp_err.h $(INCL_D)\e_chil_err.c $(INCL_D)\e_chil_err.h \ + $(INCL_D)\e_nuron_err.c $(INCL_D)\e_nuron_err.h $(INCL_D)\e_sureware_err.c \ + $(INCL_D)\e_sureware_err.h $(INCL_D)\e_ubsec_err.c $(INCL_D)\e_ubsec_err.h \ + $(INCL_D)\e_capi_err.c $(INCL_D)\e_capi_err.h $(INCL_D)\testutil.h \ + $(INCL_D)\ssltestlib.h + +EXHEADER=$(INCO_D)\e_os2.h \ + $(INCO_D)\crypto.h $(INCO_D)\opensslv.h $(INCO_D)\opensslconf.h \ + $(INCO_D)\ebcdic.h $(INCO_D)\symhacks.h $(INCO_D)\ossl_typ.h \ + $(INCO_D)\md4.h $(INCO_D)\md5.h $(INCO_D)\sha.h \ + $(INCO_D)\hmac.h $(INCO_D)\cmac.h $(INCO_D)\ripemd.h \ + $(INCO_D)\des.h $(INCO_D)\des_old.h $(INCO_D)\rc2.h \ + $(INCO_D)\rc4.h $(INCO_D)\blowfish.h $(INCO_D)\cast.h \ + $(INCO_D)\aes.h $(INCO_D)\camellia.h $(INCO_D)\seed.h \ + $(INCO_D)\modes.h $(INCO_D)\bn.h $(INCO_D)\rsa.h \ + $(INCO_D)\dsa.h $(INCO_D)\dso.h $(INCO_D)\dh.h \ + $(INCO_D)\ec.h $(INCO_D)\ecdh.h $(INCO_D)\ecdsa.h \ + $(INCO_D)\buffer.h $(INCO_D)\bio.h $(INCO_D)\stack.h \ + $(INCO_D)\safestack.h $(INCO_D)\lhash.h $(INCO_D)\rand.h \ + $(INCO_D)\err.h $(INCO_D)\objects.h $(INCO_D)\obj_mac.h \ + $(INCO_D)\evp.h $(INCO_D)\asn1.h $(INCO_D)\asn1_mac.h \ + $(INCO_D)\asn1t.h $(INCO_D)\pem.h $(INCO_D)\pem2.h \ + $(INCO_D)\x509.h $(INCO_D)\x509_vfy.h $(INCO_D)\x509v3.h \ + $(INCO_D)\cms.h $(INCO_D)\conf.h $(INCO_D)\conf_api.h \ + $(INCO_D)\txt_db.h $(INCO_D)\pkcs7.h $(INCO_D)\pkcs12.h \ + $(INCO_D)\comp.h $(INCO_D)\engine.h $(INCO_D)\ocsp.h \ + $(INCO_D)\ui.h $(INCO_D)\ui_compat.h $(INCO_D)\krb5_asn.h \ + $(INCO_D)\pqueue.h $(INCO_D)\whrlpool.h $(INCO_D)\ts.h \ + $(INCO_D)\srp.h $(INCO_D)\ssl.h $(INCO_D)\ssl2.h \ + $(INCO_D)\ssl3.h $(INCO_D)\ssl23.h $(INCO_D)\tls1.h \ + $(INCO_D)\dtls1.h $(INCO_D)\kssl.h $(INCO_D)\srtp.h + +T_OBJ=$(OBJ_D)\constant_time_test.obj \ + $(OBJ_D)\md4test.obj $(OBJ_D)\md5test.obj $(OBJ_D)\shatest.obj \ + $(OBJ_D)\sha1test.obj $(OBJ_D)\sha256t.obj $(OBJ_D)\sha512t.obj \ + $(OBJ_D)\hmactest.obj $(OBJ_D)\rmdtest.obj $(OBJ_D)\destest.obj \ + $(OBJ_D)\rc2test.obj $(OBJ_D)\rc4test.obj $(OBJ_D)\bftest.obj \ + $(OBJ_D)\casttest.obj $(OBJ_D)\bntest.obj $(OBJ_D)\exptest.obj \ + $(OBJ_D)\rsa_test.obj $(OBJ_D)\dsatest.obj $(OBJ_D)\dhtest.obj \ + $(OBJ_D)\ectest.obj $(OBJ_D)\ecdhtest.obj $(OBJ_D)\ecdsatest.obj \ + $(OBJ_D)\randtest.obj $(OBJ_D)\evp_test.obj $(OBJ_D)\evp_extra_test.obj \ + $(OBJ_D)\verify_extra_test.obj $(OBJ_D)\v3nametest.obj $(OBJ_D)\enginetest.obj \ + $(OBJ_D)\wp_test.obj $(OBJ_D)\srptest.obj $(OBJ_D)\ssltest.obj \ + $(OBJ_D)\heartbeat_test.obj $(OBJ_D)\clienthellotest.obj $(OBJ_D)\sslv2conftest.obj \ + $(OBJ_D)\dtlstest.obj $(OBJ_D)\bad_dtls_test.obj $(OBJ_D)\fatalerrtest.obj \ + $(OBJ_D)\igetest.obj $(OBJ_D)\.obj $(OBJ_D)\ssltestlib.obj + +E_OBJ=$(OBJ_D)\verify.obj \ + $(OBJ_D)\asn1pars.obj $(OBJ_D)\req.obj $(OBJ_D)\dgst.obj \ + $(OBJ_D)\dh.obj $(OBJ_D)\dhparam.obj $(OBJ_D)\enc.obj \ + $(OBJ_D)\passwd.obj $(OBJ_D)\gendh.obj $(OBJ_D)\errstr.obj \ + $(OBJ_D)\ca.obj $(OBJ_D)\pkcs7.obj $(OBJ_D)\crl2p7.obj \ + $(OBJ_D)\crl.obj $(OBJ_D)\rsa.obj $(OBJ_D)\rsautl.obj \ + $(OBJ_D)\dsa.obj $(OBJ_D)\dsaparam.obj $(OBJ_D)\ec.obj \ + $(OBJ_D)\ecparam.obj $(OBJ_D)\x509.obj $(OBJ_D)\genrsa.obj \ + $(OBJ_D)\gendsa.obj $(OBJ_D)\genpkey.obj $(OBJ_D)\s_server.obj \ + $(OBJ_D)\s_client.obj $(OBJ_D)\speed.obj $(OBJ_D)\s_time.obj \ + $(OBJ_D)\apps.obj $(OBJ_D)\s_cb.obj $(OBJ_D)\s_socket.obj \ + $(OBJ_D)\app_rand.obj $(OBJ_D)\version.obj $(OBJ_D)\sess_id.obj \ + $(OBJ_D)\ciphers.obj $(OBJ_D)\nseq.obj $(OBJ_D)\pkcs12.obj \ + $(OBJ_D)\pkcs8.obj $(OBJ_D)\pkey.obj $(OBJ_D)\pkeyparam.obj \ + $(OBJ_D)\pkeyutl.obj $(OBJ_D)\spkac.obj $(OBJ_D)\smime.obj \ + $(OBJ_D)\cms.obj $(OBJ_D)\rand.obj $(OBJ_D)\engine.obj \ + $(OBJ_D)\ocsp.obj $(OBJ_D)\prime.obj $(OBJ_D)\ts.obj \ + $(OBJ_D)\srp.obj $(OBJ_D)\openssl.obj + +SSLOBJ=$(OBJ_D)\s2_meth.obj \ + $(OBJ_D)\s2_srvr.obj $(OBJ_D)\s2_clnt.obj $(OBJ_D)\s2_lib.obj \ + $(OBJ_D)\s2_enc.obj $(OBJ_D)\s2_pkt.obj $(OBJ_D)\s3_meth.obj \ + $(OBJ_D)\s3_srvr.obj $(OBJ_D)\s3_clnt.obj $(OBJ_D)\s3_lib.obj \ + $(OBJ_D)\s3_enc.obj $(OBJ_D)\s3_pkt.obj $(OBJ_D)\s3_both.obj \ + $(OBJ_D)\s3_cbc.obj $(OBJ_D)\s23_meth.obj $(OBJ_D)\s23_srvr.obj \ + $(OBJ_D)\s23_clnt.obj $(OBJ_D)\s23_lib.obj $(OBJ_D)\s23_pkt.obj \ + $(OBJ_D)\t1_meth.obj $(OBJ_D)\t1_srvr.obj $(OBJ_D)\t1_clnt.obj \ + $(OBJ_D)\t1_lib.obj $(OBJ_D)\t1_enc.obj $(OBJ_D)\t1_ext.obj \ + $(OBJ_D)\d1_meth.obj $(OBJ_D)\d1_srvr.obj $(OBJ_D)\d1_clnt.obj \ + $(OBJ_D)\d1_lib.obj $(OBJ_D)\d1_pkt.obj $(OBJ_D)\d1_both.obj \ + $(OBJ_D)\d1_srtp.obj $(OBJ_D)\ssl_lib.obj $(OBJ_D)\ssl_err2.obj \ + $(OBJ_D)\ssl_cert.obj $(OBJ_D)\ssl_sess.obj $(OBJ_D)\ssl_ciph.obj \ + $(OBJ_D)\ssl_stat.obj $(OBJ_D)\ssl_rsa.obj $(OBJ_D)\ssl_asn1.obj \ + $(OBJ_D)\ssl_txt.obj $(OBJ_D)\ssl_algs.obj $(OBJ_D)\ssl_conf.obj \ + $(OBJ_D)\bio_ssl.obj $(OBJ_D)\ssl_err.obj $(OBJ_D)\kssl.obj \ + $(OBJ_D)\t1_reneg.obj $(OBJ_D)\tls_srp.obj $(OBJ_D)\t1_trce.obj \ + $(OBJ_D)\ssl_utst.obj $(OBJ_D)\$(SSL).res + +GOSTOBJ=$(OBJ_D)\e_gost_err.obj \ + $(OBJ_D)\gost2001_keyx.obj $(OBJ_D)\gost2001.obj $(OBJ_D)\gost89.obj \ + $(OBJ_D)\gost94_keyx.obj $(OBJ_D)\gost_ameth.obj $(OBJ_D)\gost_asn1.obj \ + $(OBJ_D)\gost_crypt.obj $(OBJ_D)\gost_ctl.obj $(OBJ_D)\gost_eng.obj \ + $(OBJ_D)\gosthash.obj $(OBJ_D)\gost_keywrap.obj $(OBJ_D)\gost_md.obj \ + $(OBJ_D)\gost_params.obj $(OBJ_D)\gost_pmeth.obj $(OBJ_D)\gost_sign.obj + +CRYPTOOBJ=$(OBJ_D)\cryptlib.obj \ + $(OBJ_D)\mem.obj $(OBJ_D)\mem_dbg.obj $(OBJ_D)\cversion.obj \ + $(OBJ_D)\ex_data.obj $(OBJ_D)\cpt_err.obj $(OBJ_D)\ebcdic.obj \ + $(OBJ_D)\uid.obj $(OBJ_D)\o_time.obj $(OBJ_D)\o_str.obj \ + $(OBJ_D)\o_dir.obj $(OBJ_D)\o_fips.obj $(OBJ_D)\o_init.obj \ + $(OBJ_D)\fips_ers.obj $(OBJ_D)\getenv.obj $(OBJ_D)\x86cpuid.obj \ + $(OBJ_D)\md4_dgst.obj $(OBJ_D)\md4_one.obj $(OBJ_D)\md5_dgst.obj \ + $(OBJ_D)\md5_one.obj $(OBJ_D)\md5-586.obj $(OBJ_D)\sha_dgst.obj \ + $(OBJ_D)\sha1dgst.obj $(OBJ_D)\sha_one.obj $(OBJ_D)\sha1_one.obj \ + $(OBJ_D)\sha256.obj $(OBJ_D)\sha512.obj $(OBJ_D)\sha1-586.obj \ + $(OBJ_D)\sha256-586.obj $(OBJ_D)\sha512-586.obj $(OBJ_D)\hmac.obj \ + $(OBJ_D)\hm_ameth.obj $(OBJ_D)\hm_pmeth.obj $(OBJ_D)\cmac.obj \ + $(OBJ_D)\cm_ameth.obj $(OBJ_D)\cm_pmeth.obj $(OBJ_D)\rmd_dgst.obj \ + $(OBJ_D)\rmd_one.obj $(OBJ_D)\rmd-586.obj $(OBJ_D)\set_key.obj \ + $(OBJ_D)\ecb_enc.obj $(OBJ_D)\cbc_enc.obj $(OBJ_D)\ecb3_enc.obj \ + $(OBJ_D)\cfb64enc.obj $(OBJ_D)\cfb64ede.obj $(OBJ_D)\cfb_enc.obj \ + $(OBJ_D)\ofb64ede.obj $(OBJ_D)\enc_read.obj $(OBJ_D)\enc_writ.obj \ + $(OBJ_D)\ofb64enc.obj $(OBJ_D)\ofb_enc.obj $(OBJ_D)\str2key.obj \ + $(OBJ_D)\pcbc_enc.obj $(OBJ_D)\qud_cksm.obj $(OBJ_D)\rand_key.obj \ + $(OBJ_D)\des-586.obj $(OBJ_D)\crypt586.obj $(OBJ_D)\fcrypt.obj \ + $(OBJ_D)\xcbc_enc.obj $(OBJ_D)\rpc_enc.obj $(OBJ_D)\cbc_cksm.obj \ + $(OBJ_D)\ede_cbcm_enc.obj $(OBJ_D)\des_old.obj $(OBJ_D)\des_old2.obj \ + $(OBJ_D)\read2pwd.obj $(OBJ_D)\rc2_ecb.obj $(OBJ_D)\rc2_skey.obj \ + $(OBJ_D)\rc2_cbc.obj $(OBJ_D)\rc2cfb64.obj $(OBJ_D)\rc2ofb64.obj \ + $(OBJ_D)\rc4-586.obj $(OBJ_D)\rc4_utl.obj $(OBJ_D)\bf_skey.obj \ + $(OBJ_D)\bf_ecb.obj $(OBJ_D)\bf-586.obj $(OBJ_D)\bf_cfb64.obj \ + $(OBJ_D)\bf_ofb64.obj $(OBJ_D)\c_skey.obj $(OBJ_D)\c_ecb.obj \ + $(OBJ_D)\cast-586.obj $(OBJ_D)\c_cfb64.obj $(OBJ_D)\c_ofb64.obj \ + $(OBJ_D)\aes_misc.obj $(OBJ_D)\aes_ecb.obj $(OBJ_D)\aes_cfb.obj \ + $(OBJ_D)\aes_ofb.obj $(OBJ_D)\aes_ctr.obj $(OBJ_D)\aes_ige.obj \ + $(OBJ_D)\aes_wrap.obj $(OBJ_D)\aes-586.obj $(OBJ_D)\vpaes-x86.obj \ + $(OBJ_D)\aesni-x86.obj $(OBJ_D)\cmll_ecb.obj $(OBJ_D)\cmll_ofb.obj \ + $(OBJ_D)\cmll_cfb.obj $(OBJ_D)\cmll_ctr.obj $(OBJ_D)\cmll_utl.obj \ + $(OBJ_D)\cmll-x86.obj $(OBJ_D)\seed.obj $(OBJ_D)\seed_ecb.obj \ + $(OBJ_D)\seed_cbc.obj $(OBJ_D)\seed_cfb.obj $(OBJ_D)\seed_ofb.obj \ + $(OBJ_D)\cbc128.obj $(OBJ_D)\ctr128.obj $(OBJ_D)\cts128.obj \ + $(OBJ_D)\cfb128.obj $(OBJ_D)\ofb128.obj $(OBJ_D)\gcm128.obj \ + $(OBJ_D)\ccm128.obj $(OBJ_D)\xts128.obj $(OBJ_D)\wrap128.obj \ + $(OBJ_D)\ghash-x86.obj $(OBJ_D)\bn_add.obj $(OBJ_D)\bn_div.obj \ + $(OBJ_D)\bn_exp.obj $(OBJ_D)\bn_lib.obj $(OBJ_D)\bn_ctx.obj \ + $(OBJ_D)\bn_mul.obj $(OBJ_D)\bn_mod.obj $(OBJ_D)\bn_print.obj \ + $(OBJ_D)\bn_rand.obj $(OBJ_D)\bn_shift.obj $(OBJ_D)\bn_word.obj \ + $(OBJ_D)\bn_blind.obj $(OBJ_D)\bn_kron.obj $(OBJ_D)\bn_sqrt.obj \ + $(OBJ_D)\bn_gcd.obj $(OBJ_D)\bn_prime.obj $(OBJ_D)\bn_err.obj \ + $(OBJ_D)\bn_sqr.obj $(OBJ_D)\bn-586.obj $(OBJ_D)\co-586.obj \ + $(OBJ_D)\x86-mont.obj $(OBJ_D)\x86-gf2m.obj $(OBJ_D)\bn_recp.obj \ + $(OBJ_D)\bn_mont.obj $(OBJ_D)\bn_mpi.obj $(OBJ_D)\bn_exp2.obj \ + $(OBJ_D)\bn_gf2m.obj $(OBJ_D)\bn_nist.obj $(OBJ_D)\bn_depr.obj \ + $(OBJ_D)\bn_const.obj $(OBJ_D)\bn_x931p.obj $(OBJ_D)\rsa_eay.obj \ + $(OBJ_D)\rsa_gen.obj $(OBJ_D)\rsa_lib.obj $(OBJ_D)\rsa_sign.obj \ + $(OBJ_D)\rsa_saos.obj $(OBJ_D)\rsa_err.obj $(OBJ_D)\rsa_pk1.obj \ + $(OBJ_D)\rsa_ssl.obj $(OBJ_D)\rsa_none.obj $(OBJ_D)\rsa_oaep.obj \ + $(OBJ_D)\rsa_chk.obj $(OBJ_D)\rsa_null.obj $(OBJ_D)\rsa_pss.obj \ + $(OBJ_D)\rsa_x931.obj $(OBJ_D)\rsa_asn1.obj $(OBJ_D)\rsa_depr.obj \ + $(OBJ_D)\rsa_ameth.obj $(OBJ_D)\rsa_prn.obj $(OBJ_D)\rsa_pmeth.obj \ + $(OBJ_D)\rsa_crpt.obj $(OBJ_D)\dsa_gen.obj $(OBJ_D)\dsa_key.obj \ + $(OBJ_D)\dsa_lib.obj $(OBJ_D)\dsa_asn1.obj $(OBJ_D)\dsa_vrf.obj \ + $(OBJ_D)\dsa_sign.obj $(OBJ_D)\dsa_err.obj $(OBJ_D)\dsa_ossl.obj \ + $(OBJ_D)\dsa_depr.obj $(OBJ_D)\dsa_ameth.obj $(OBJ_D)\dsa_pmeth.obj \ + $(OBJ_D)\dsa_prn.obj $(OBJ_D)\dso_dl.obj $(OBJ_D)\dso_dlfcn.obj \ + $(OBJ_D)\dso_err.obj $(OBJ_D)\dso_lib.obj $(OBJ_D)\dso_null.obj \ + $(OBJ_D)\dso_openssl.obj $(OBJ_D)\dso_win32.obj $(OBJ_D)\dso_vms.obj \ + $(OBJ_D)\dso_beos.obj $(OBJ_D)\dh_asn1.obj $(OBJ_D)\dh_gen.obj \ + $(OBJ_D)\dh_key.obj $(OBJ_D)\dh_lib.obj $(OBJ_D)\dh_check.obj \ + $(OBJ_D)\dh_err.obj $(OBJ_D)\dh_depr.obj $(OBJ_D)\dh_ameth.obj \ + $(OBJ_D)\dh_pmeth.obj $(OBJ_D)\dh_prn.obj $(OBJ_D)\dh_rfc5114.obj \ + $(OBJ_D)\dh_kdf.obj $(OBJ_D)\ec_lib.obj $(OBJ_D)\ecp_smpl.obj \ + $(OBJ_D)\ecp_mont.obj $(OBJ_D)\ecp_nist.obj $(OBJ_D)\ec_cvt.obj \ + $(OBJ_D)\ec_mult.obj $(OBJ_D)\ec_err.obj $(OBJ_D)\ec_curve.obj \ + $(OBJ_D)\ec_check.obj $(OBJ_D)\ec_print.obj $(OBJ_D)\ec_asn1.obj \ + $(OBJ_D)\ec_key.obj $(OBJ_D)\ec2_smpl.obj $(OBJ_D)\ec2_mult.obj \ + $(OBJ_D)\ec_ameth.obj $(OBJ_D)\ec_pmeth.obj $(OBJ_D)\eck_prn.obj \ + $(OBJ_D)\ecp_nistp224.obj $(OBJ_D)\ecp_nistp256.obj $(OBJ_D)\ecp_nistp521.obj \ + $(OBJ_D)\ecp_nistputil.obj $(OBJ_D)\ecp_oct.obj $(OBJ_D)\ec2_oct.obj \ + $(OBJ_D)\ec_oct.obj $(OBJ_D)\ech_lib.obj $(OBJ_D)\ech_ossl.obj \ + $(OBJ_D)\ech_key.obj $(OBJ_D)\ech_err.obj $(OBJ_D)\ech_kdf.obj \ + $(OBJ_D)\ecs_lib.obj $(OBJ_D)\ecs_asn1.obj $(OBJ_D)\ecs_ossl.obj \ + $(OBJ_D)\ecs_sign.obj $(OBJ_D)\ecs_vrf.obj $(OBJ_D)\ecs_err.obj \ + $(OBJ_D)\buffer.obj $(OBJ_D)\buf_str.obj $(OBJ_D)\buf_err.obj \ + $(OBJ_D)\bio_lib.obj $(OBJ_D)\bio_cb.obj $(OBJ_D)\bio_err.obj \ + $(OBJ_D)\bss_mem.obj $(OBJ_D)\bss_null.obj $(OBJ_D)\bss_fd.obj \ + $(OBJ_D)\bss_file.obj $(OBJ_D)\bss_sock.obj $(OBJ_D)\bss_conn.obj \ + $(OBJ_D)\bf_null.obj $(OBJ_D)\bf_buff.obj $(OBJ_D)\b_print.obj \ + $(OBJ_D)\b_dump.obj $(OBJ_D)\b_sock.obj $(OBJ_D)\bss_acpt.obj \ + $(OBJ_D)\bf_nbio.obj $(OBJ_D)\bss_log.obj $(OBJ_D)\bss_bio.obj \ + $(OBJ_D)\bss_dgram.obj $(OBJ_D)\stack.obj $(OBJ_D)\lhash.obj \ + $(OBJ_D)\lh_stats.obj $(OBJ_D)\md_rand.obj $(OBJ_D)\randfile.obj \ + $(OBJ_D)\rand_lib.obj $(OBJ_D)\rand_err.obj $(OBJ_D)\rand_egd.obj \ + $(OBJ_D)\rand_win.obj $(OBJ_D)\rand_unix.obj $(OBJ_D)\rand_os2.obj \ + $(OBJ_D)\rand_nw.obj $(OBJ_D)\err.obj $(OBJ_D)\err_all.obj \ + $(OBJ_D)\err_prn.obj $(OBJ_D)\o_names.obj $(OBJ_D)\obj_dat.obj \ + $(OBJ_D)\obj_lib.obj $(OBJ_D)\obj_err.obj $(OBJ_D)\obj_xref.obj \ + $(OBJ_D)\encode.obj $(OBJ_D)\digest.obj $(OBJ_D)\evp_enc.obj \ + $(OBJ_D)\evp_key.obj $(OBJ_D)\evp_acnf.obj $(OBJ_D)\evp_cnf.obj \ + $(OBJ_D)\e_des.obj $(OBJ_D)\e_bf.obj $(OBJ_D)\e_idea.obj \ + $(OBJ_D)\e_des3.obj $(OBJ_D)\e_camellia.obj $(OBJ_D)\e_rc4.obj \ + $(OBJ_D)\e_aes.obj $(OBJ_D)\names.obj $(OBJ_D)\e_seed.obj \ + $(OBJ_D)\e_xcbc_d.obj $(OBJ_D)\e_rc2.obj $(OBJ_D)\e_cast.obj \ + $(OBJ_D)\e_rc5.obj $(OBJ_D)\m_null.obj $(OBJ_D)\m_md4.obj \ + $(OBJ_D)\m_md5.obj $(OBJ_D)\m_sha.obj $(OBJ_D)\m_sha1.obj \ + $(OBJ_D)\m_wp.obj $(OBJ_D)\m_dss.obj $(OBJ_D)\m_dss1.obj \ + $(OBJ_D)\m_ripemd.obj $(OBJ_D)\m_ecdsa.obj $(OBJ_D)\p_open.obj \ + $(OBJ_D)\p_seal.obj $(OBJ_D)\p_sign.obj $(OBJ_D)\p_verify.obj \ + $(OBJ_D)\p_lib.obj $(OBJ_D)\p_enc.obj $(OBJ_D)\p_dec.obj \ + $(OBJ_D)\bio_md.obj $(OBJ_D)\bio_b64.obj $(OBJ_D)\bio_enc.obj \ + $(OBJ_D)\evp_err.obj $(OBJ_D)\e_null.obj $(OBJ_D)\c_all.obj \ + $(OBJ_D)\c_allc.obj $(OBJ_D)\c_alld.obj $(OBJ_D)\evp_lib.obj \ + $(OBJ_D)\bio_ok.obj $(OBJ_D)\evp_pkey.obj $(OBJ_D)\evp_pbe.obj \ + $(OBJ_D)\p5_crpt.obj $(OBJ_D)\p5_crpt2.obj $(OBJ_D)\e_old.obj \ + $(OBJ_D)\pmeth_lib.obj $(OBJ_D)\pmeth_fn.obj $(OBJ_D)\pmeth_gn.obj \ + $(OBJ_D)\m_sigver.obj $(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(OBJ_D)\e_aes_cbc_hmac_sha256.obj \ + $(OBJ_D)\e_rc4_hmac_md5.obj $(OBJ_D)\a_object.obj $(OBJ_D)\a_bitstr.obj \ + $(OBJ_D)\a_utctm.obj $(OBJ_D)\a_gentm.obj $(OBJ_D)\a_time.obj \ + $(OBJ_D)\a_int.obj $(OBJ_D)\a_octet.obj $(OBJ_D)\a_print.obj \ + $(OBJ_D)\a_type.obj $(OBJ_D)\a_set.obj $(OBJ_D)\a_dup.obj \ + $(OBJ_D)\a_d2i_fp.obj $(OBJ_D)\a_i2d_fp.obj $(OBJ_D)\a_enum.obj \ + $(OBJ_D)\a_utf8.obj $(OBJ_D)\a_sign.obj $(OBJ_D)\a_digest.obj \ + $(OBJ_D)\a_verify.obj $(OBJ_D)\a_mbstr.obj $(OBJ_D)\a_strex.obj \ + $(OBJ_D)\x_algor.obj $(OBJ_D)\x_val.obj $(OBJ_D)\x_pubkey.obj \ + $(OBJ_D)\x_sig.obj $(OBJ_D)\x_req.obj $(OBJ_D)\x_attrib.obj \ + $(OBJ_D)\x_bignum.obj $(OBJ_D)\x_long.obj $(OBJ_D)\x_name.obj \ + $(OBJ_D)\x_x509.obj $(OBJ_D)\x_x509a.obj $(OBJ_D)\x_crl.obj \ + $(OBJ_D)\x_info.obj $(OBJ_D)\x_spki.obj $(OBJ_D)\nsseq.obj \ + $(OBJ_D)\x_nx509.obj $(OBJ_D)\d2i_pu.obj $(OBJ_D)\d2i_pr.obj \ + $(OBJ_D)\i2d_pu.obj $(OBJ_D)\i2d_pr.obj $(OBJ_D)\t_req.obj \ + $(OBJ_D)\t_x509.obj $(OBJ_D)\t_x509a.obj $(OBJ_D)\t_crl.obj \ + $(OBJ_D)\t_pkey.obj $(OBJ_D)\t_spki.obj $(OBJ_D)\t_bitst.obj \ + $(OBJ_D)\tasn_new.obj $(OBJ_D)\tasn_fre.obj $(OBJ_D)\tasn_enc.obj \ + $(OBJ_D)\tasn_dec.obj $(OBJ_D)\tasn_utl.obj $(OBJ_D)\tasn_typ.obj \ + $(OBJ_D)\tasn_prn.obj $(OBJ_D)\ameth_lib.obj $(OBJ_D)\f_int.obj \ + $(OBJ_D)\f_string.obj $(OBJ_D)\n_pkey.obj $(OBJ_D)\f_enum.obj \ + $(OBJ_D)\x_pkey.obj $(OBJ_D)\a_bool.obj $(OBJ_D)\x_exten.obj \ + $(OBJ_D)\bio_asn1.obj $(OBJ_D)\bio_ndef.obj $(OBJ_D)\asn_mime.obj \ + $(OBJ_D)\asn1_gen.obj $(OBJ_D)\asn1_par.obj $(OBJ_D)\asn1_lib.obj \ + $(OBJ_D)\asn1_err.obj $(OBJ_D)\a_bytes.obj $(OBJ_D)\a_strnid.obj \ + $(OBJ_D)\evp_asn1.obj $(OBJ_D)\asn_pack.obj $(OBJ_D)\p5_pbe.obj \ + $(OBJ_D)\p5_pbev2.obj $(OBJ_D)\p8_pkey.obj $(OBJ_D)\asn_moid.obj \ + $(OBJ_D)\pem_sign.obj $(OBJ_D)\pem_seal.obj $(OBJ_D)\pem_info.obj \ + $(OBJ_D)\pem_lib.obj $(OBJ_D)\pem_all.obj $(OBJ_D)\pem_err.obj \ + $(OBJ_D)\pem_x509.obj $(OBJ_D)\pem_xaux.obj $(OBJ_D)\pem_oth.obj \ + $(OBJ_D)\pem_pk8.obj $(OBJ_D)\pem_pkey.obj $(OBJ_D)\pvkfmt.obj \ + $(OBJ_D)\x509_def.obj $(OBJ_D)\x509_d2.obj $(OBJ_D)\x509_r2x.obj \ + $(OBJ_D)\x509_cmp.obj $(OBJ_D)\x509_obj.obj $(OBJ_D)\x509_req.obj \ + $(OBJ_D)\x509spki.obj $(OBJ_D)\x509_vfy.obj $(OBJ_D)\x509_set.obj \ + $(OBJ_D)\x509cset.obj $(OBJ_D)\x509rset.obj $(OBJ_D)\x509_err.obj \ + $(OBJ_D)\x509name.obj $(OBJ_D)\x509_v3.obj $(OBJ_D)\x509_ext.obj \ + $(OBJ_D)\x509_att.obj $(OBJ_D)\x509type.obj $(OBJ_D)\x509_lu.obj \ + $(OBJ_D)\x_all.obj $(OBJ_D)\x509_txt.obj $(OBJ_D)\x509_trs.obj \ + $(OBJ_D)\by_file.obj $(OBJ_D)\by_dir.obj $(OBJ_D)\x509_vpm.obj \ + $(OBJ_D)\v3_bcons.obj $(OBJ_D)\v3_bitst.obj $(OBJ_D)\v3_conf.obj \ + $(OBJ_D)\v3_extku.obj $(OBJ_D)\v3_ia5.obj $(OBJ_D)\v3_lib.obj \ + $(OBJ_D)\v3_prn.obj $(OBJ_D)\v3_utl.obj $(OBJ_D)\v3err.obj \ + $(OBJ_D)\v3_genn.obj $(OBJ_D)\v3_alt.obj $(OBJ_D)\v3_skey.obj \ + $(OBJ_D)\v3_akey.obj $(OBJ_D)\v3_pku.obj $(OBJ_D)\v3_int.obj \ + $(OBJ_D)\v3_enum.obj $(OBJ_D)\v3_sxnet.obj $(OBJ_D)\v3_cpols.obj \ + $(OBJ_D)\v3_crld.obj $(OBJ_D)\v3_purp.obj $(OBJ_D)\v3_info.obj \ + $(OBJ_D)\v3_ocsp.obj $(OBJ_D)\v3_akeya.obj $(OBJ_D)\v3_pmaps.obj \ + $(OBJ_D)\v3_pcons.obj $(OBJ_D)\v3_ncons.obj $(OBJ_D)\v3_pcia.obj \ + $(OBJ_D)\v3_pci.obj $(OBJ_D)\pcy_cache.obj $(OBJ_D)\pcy_node.obj \ + $(OBJ_D)\pcy_data.obj $(OBJ_D)\pcy_map.obj $(OBJ_D)\pcy_tree.obj \ + $(OBJ_D)\pcy_lib.obj $(OBJ_D)\v3_asid.obj $(OBJ_D)\v3_addr.obj \ + $(OBJ_D)\v3_scts.obj $(OBJ_D)\cms_lib.obj $(OBJ_D)\cms_asn1.obj \ + $(OBJ_D)\cms_att.obj $(OBJ_D)\cms_io.obj $(OBJ_D)\cms_smime.obj \ + $(OBJ_D)\cms_err.obj $(OBJ_D)\cms_sd.obj $(OBJ_D)\cms_dd.obj \ + $(OBJ_D)\cms_cd.obj $(OBJ_D)\cms_env.obj $(OBJ_D)\cms_enc.obj \ + $(OBJ_D)\cms_ess.obj $(OBJ_D)\cms_pwri.obj $(OBJ_D)\cms_kari.obj \ + $(OBJ_D)\conf_err.obj $(OBJ_D)\conf_lib.obj $(OBJ_D)\conf_api.obj \ + $(OBJ_D)\conf_def.obj $(OBJ_D)\conf_mod.obj $(OBJ_D)\conf_mall.obj \ + $(OBJ_D)\conf_sap.obj $(OBJ_D)\txt_db.obj $(OBJ_D)\pk7_asn1.obj \ + $(OBJ_D)\pk7_lib.obj $(OBJ_D)\pkcs7err.obj $(OBJ_D)\pk7_doit.obj \ + $(OBJ_D)\pk7_smime.obj $(OBJ_D)\pk7_attr.obj $(OBJ_D)\pk7_mime.obj \ + $(OBJ_D)\bio_pk7.obj $(OBJ_D)\p12_add.obj $(OBJ_D)\p12_asn.obj \ + $(OBJ_D)\p12_attr.obj $(OBJ_D)\p12_crpt.obj $(OBJ_D)\p12_crt.obj \ + $(OBJ_D)\p12_decr.obj $(OBJ_D)\p12_init.obj $(OBJ_D)\p12_key.obj \ + $(OBJ_D)\p12_kiss.obj $(OBJ_D)\p12_mutl.obj $(OBJ_D)\p12_utl.obj \ + $(OBJ_D)\p12_npas.obj $(OBJ_D)\pk12err.obj $(OBJ_D)\p12_p8d.obj \ + $(OBJ_D)\p12_p8e.obj $(OBJ_D)\comp_lib.obj $(OBJ_D)\comp_err.obj \ + $(OBJ_D)\c_rle.obj $(OBJ_D)\c_zlib.obj $(OBJ_D)\eng_err.obj \ + $(OBJ_D)\eng_lib.obj $(OBJ_D)\eng_list.obj $(OBJ_D)\eng_init.obj \ + $(OBJ_D)\eng_ctrl.obj $(OBJ_D)\eng_table.obj $(OBJ_D)\eng_pkey.obj \ + $(OBJ_D)\eng_fat.obj $(OBJ_D)\eng_all.obj $(OBJ_D)\tb_rsa.obj \ + $(OBJ_D)\tb_dsa.obj $(OBJ_D)\tb_ecdsa.obj $(OBJ_D)\tb_dh.obj \ + $(OBJ_D)\tb_ecdh.obj $(OBJ_D)\tb_rand.obj $(OBJ_D)\tb_store.obj \ + $(OBJ_D)\tb_cipher.obj $(OBJ_D)\tb_digest.obj $(OBJ_D)\tb_pkmeth.obj \ + $(OBJ_D)\tb_asnmth.obj $(OBJ_D)\eng_openssl.obj $(OBJ_D)\eng_cnf.obj \ + $(OBJ_D)\eng_dyn.obj $(OBJ_D)\eng_cryptodev.obj $(OBJ_D)\eng_rdrand.obj \ + $(OBJ_D)\ocsp_asn.obj $(OBJ_D)\ocsp_ext.obj $(OBJ_D)\ocsp_ht.obj \ + $(OBJ_D)\ocsp_lib.obj $(OBJ_D)\ocsp_cl.obj $(OBJ_D)\ocsp_srv.obj \ + $(OBJ_D)\ocsp_prn.obj $(OBJ_D)\ocsp_vfy.obj $(OBJ_D)\ocsp_err.obj \ + $(OBJ_D)\ui_err.obj $(OBJ_D)\ui_lib.obj $(OBJ_D)\ui_openssl.obj \ + $(OBJ_D)\ui_util.obj $(OBJ_D)\ui_compat.obj $(OBJ_D)\krb5_asn.obj \ + $(OBJ_D)\pqueue.obj $(OBJ_D)\wp_dgst.obj $(OBJ_D)\wp_block.obj \ + $(OBJ_D)\wp-mmx.obj $(OBJ_D)\ts_err.obj $(OBJ_D)\ts_req_utils.obj \ + $(OBJ_D)\ts_req_print.obj $(OBJ_D)\ts_rsp_utils.obj $(OBJ_D)\ts_rsp_print.obj \ + $(OBJ_D)\ts_rsp_sign.obj $(OBJ_D)\ts_rsp_verify.obj $(OBJ_D)\ts_verify_ctx.obj \ + $(OBJ_D)\ts_lib.obj $(OBJ_D)\ts_conf.obj $(OBJ_D)\ts_asn1.obj \ + $(OBJ_D)\srp_lib.obj $(OBJ_D)\srp_vfy.obj $(OBJ_D)\$(CRYPTO).res + +T_EXE=$(TEST_D)\constant_time_test.exe \ + $(TEST_D)\md4test.exe $(TEST_D)\md5test.exe $(TEST_D)\shatest.exe \ + $(TEST_D)\sha1test.exe $(TEST_D)\sha256t.exe $(TEST_D)\sha512t.exe \ + $(TEST_D)\hmactest.exe $(TEST_D)\rmdtest.exe $(TEST_D)\destest.exe \ + $(TEST_D)\rc2test.exe $(TEST_D)\rc4test.exe $(TEST_D)\bftest.exe \ + $(TEST_D)\casttest.exe $(TEST_D)\bntest.exe $(TEST_D)\exptest.exe \ + $(TEST_D)\rsa_test.exe $(TEST_D)\dsatest.exe $(TEST_D)\dhtest.exe \ + $(TEST_D)\ectest.exe $(TEST_D)\ecdhtest.exe $(TEST_D)\ecdsatest.exe \ + $(TEST_D)\randtest.exe $(TEST_D)\evp_test.exe $(TEST_D)\evp_extra_test.exe \ + $(TEST_D)\verify_extra_test.exe $(TEST_D)\v3nametest.exe $(TEST_D)\enginetest.exe \ + $(TEST_D)\wp_test.exe $(TEST_D)\srptest.exe $(TEST_D)\ssltest.exe \ + $(TEST_D)\heartbeat_test.exe $(TEST_D)\clienthellotest.exe $(TEST_D)\sslv2conftest.exe \ + $(TEST_D)\dtlstest.exe $(TEST_D)\bad_dtls_test.exe $(TEST_D)\fatalerrtest.exe \ + $(TEST_D)\igetest.exe + +E_SHLIB=$(ENG_D)\4758cca.dll \ + $(ENG_D)\aep.dll $(ENG_D)\atalla.dll $(ENG_D)\cswift.dll \ + $(ENG_D)\gmp.dll $(ENG_D)\chil.dll $(ENG_D)\nuron.dll \ + $(ENG_D)\sureware.dll $(ENG_D)\ubsec.dll $(ENG_D)\padlock.dll \ + $(ENG_D)\capi.dll $(ENG_D)\gost.dll + +################################################################### +all: banner $(TMP_D) $(BIN_D) $(TEST_D) $(LIB_D) $(INCO_D) headers lib exe + +banner: + @echo Building OpenSSL + +$(OBJ_D)\applink.obj: ms\applink.c + $(CC) /Fo$(OBJ_D)\applink.obj $(APP_CFLAGS) -c ms\applink.c +$(OBJ_D)\uplink.obj: ms\uplink.c ms\applink.c + $(CC) /Fo$(OBJ_D)\uplink.obj $(SHLIB_CFLAGS) -c ms\uplink.c +$(INCO_D)\applink.c: ms\applink.c + $(CP) ms\applink.c $(INCO_D)\applink.c + +EXHEADER= $(EXHEADER) $(INCO_D)\applink.c + +LIBS_DEP=$(LIBS_DEP) $(OBJ_D)\applink.obj +CRYPTOOBJ=$(OBJ_D)\uplink.obj $(CRYPTOOBJ) + + +$(TMP_D): + $(MKDIR) "$(TMP_D)" +# NB: uncomment out these lines if BIN_D, TEST_D and LIB_D are different +#$(BIN_D): +# $(MKDIR) $(BIN_D) +# +#$(TEST_D): +# $(MKDIR) $(TEST_D) + +$(LIB_D): + $(MKDIR) "$(LIB_D)" + +$(INCO_D): $(INC_D) + $(MKDIR) "$(INCO_D)" + +$(INC_D): + $(MKDIR) "$(INC_D)" + +# This needs to be invoked once, when the makefile is first constructed, or +# after cleaning. +init: $(TMP_D) $(LIB_D) $(INC_D) $(INCO_D) $(BIN_D) $(TEST_D) headers + $(PERL) $(SRC_D)/util/copy-if-different.pl "$(SRC_D)/crypto/opensslconf.h" "$(INCO_D)/opensslconf.h" + +headers: $(HEADER) $(EXHEADER) + +lib: $(LIBS_DEP) $(E_SHLIB) + +exe: $(T_EXE) $(BIN_D)\$(E_EXE).exe + +install: all + $(MKDIR) "$(INSTALLTOP)" + $(MKDIR) "$(INSTALLTOP)\bin" + $(MKDIR) "$(INSTALLTOP)\include" + $(MKDIR) "$(INSTALLTOP)\include\openssl" + $(MKDIR) "$(INSTALLTOP)\lib" + $(CP) "$(INCO_D)\*.[ch]" "$(INSTALLTOP)\include\openssl" + $(CP) "$(BIN_D)\$(E_EXE).exe" "$(INSTALLTOP)\bin" + $(MKDIR) "$(OPENSSLDIR)" + $(CP) apps\openssl.cnf "$(OPENSSLDIR)" + $(CP) "$(O_SSL)" "$(INSTALLTOP)\bin" + $(CP) "$(O_CRYPTO)" "$(INSTALLTOP)\bin" + $(CP) "$(L_SSL)" "$(INSTALLTOP)\lib" + $(CP) "$(L_CRYPTO)" "$(INSTALLTOP)\lib" + $(MKDIR) "$(INSTALLTOP)\lib\engines" + $(CP) $(E_SHLIB) "$(INSTALLTOP)\lib\engines" + + +clean: + $(RM) $(TMP_D)\*.* + +vclean: + $(RM) $(TMP_D)\*.* + $(RM) $(OUT_D)\*.* + +reallyclean: + $(RM) -rf $(TMP_D) + $(RM) -rf $(BIN_D) + $(RM) -rf $(TEST_D) + $(RM) -rf $(LIB_D) + $(RM) -rf $(INC_D) + +test: $(T_EXE) + cd $(BIN_D) + ..\ms\test + +$(INCL_D)\e_os.h: $(SRC_D)\.\e_os.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os.h" "$(INCL_D)\e_os.h" + +$(INCL_D)\cryptlib.h: $(SRC_D)\crypto\cryptlib.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cryptlib.h" "$(INCL_D)\cryptlib.h" + +$(INCL_D)\buildinf.h: $(SRC_D)\crypto\buildinf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buildinf.h" "$(INCL_D)\buildinf.h" + +$(INCL_D)\md32_common.h: $(SRC_D)\crypto\md32_common.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md32_common.h" "$(INCL_D)\md32_common.h" + +$(INCL_D)\o_time.h: $(SRC_D)\crypto\o_time.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_time.h" "$(INCL_D)\o_time.h" + +$(INCL_D)\o_str.h: $(SRC_D)\crypto\o_str.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_str.h" "$(INCL_D)\o_str.h" + +$(INCL_D)\o_dir.h: $(SRC_D)\crypto\o_dir.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\o_dir.h" "$(INCL_D)\o_dir.h" + +$(INCL_D)\constant_time_locl.h: $(SRC_D)\crypto\constant_time_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\constant_time_locl.h" "$(INCL_D)\constant_time_locl.h" + +$(INCL_D)\bn_int.h: $(SRC_D)\crypto\bn_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn_int.h" "$(INCL_D)\bn_int.h" + +$(INCL_D)\md4_locl.h: $(SRC_D)\crypto\md4\md4_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4_locl.h" "$(INCL_D)\md4_locl.h" + +$(INCL_D)\md5_locl.h: $(SRC_D)\crypto\md5\md5_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5_locl.h" "$(INCL_D)\md5_locl.h" + +$(INCL_D)\sha_locl.h: $(SRC_D)\crypto\sha\sha_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha_locl.h" "$(INCL_D)\sha_locl.h" + +$(INCL_D)\rmd_locl.h: $(SRC_D)\crypto\ripemd\rmd_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmd_locl.h" "$(INCL_D)\rmd_locl.h" + +$(INCL_D)\rmdconst.h: $(SRC_D)\crypto\ripemd\rmdconst.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\rmdconst.h" "$(INCL_D)\rmdconst.h" + +$(INCL_D)\des_locl.h: $(SRC_D)\crypto\des\des_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_locl.h" "$(INCL_D)\des_locl.h" + +$(INCL_D)\rpc_des.h: $(SRC_D)\crypto\des\rpc_des.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\rpc_des.h" "$(INCL_D)\rpc_des.h" + +$(INCL_D)\spr.h: $(SRC_D)\crypto\des\spr.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\spr.h" "$(INCL_D)\spr.h" + +$(INCL_D)\des_ver.h: $(SRC_D)\crypto\des\des_ver.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_ver.h" "$(INCL_D)\des_ver.h" + +$(INCL_D)\rc2_locl.h: $(SRC_D)\crypto\rc2\rc2_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2_locl.h" "$(INCL_D)\rc2_locl.h" + +$(INCL_D)\rc4_locl.h: $(SRC_D)\crypto\rc4\rc4_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4_locl.h" "$(INCL_D)\rc4_locl.h" + +$(INCL_D)\bf_pi.h: $(SRC_D)\crypto\bf\bf_pi.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_pi.h" "$(INCL_D)\bf_pi.h" + +$(INCL_D)\bf_locl.h: $(SRC_D)\crypto\bf\bf_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\bf_locl.h" "$(INCL_D)\bf_locl.h" + +$(INCL_D)\cast_s.h: $(SRC_D)\crypto\cast\cast_s.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_s.h" "$(INCL_D)\cast_s.h" + +$(INCL_D)\cast_lcl.h: $(SRC_D)\crypto\cast\cast_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast_lcl.h" "$(INCL_D)\cast_lcl.h" + +$(INCL_D)\aes_locl.h: $(SRC_D)\crypto\aes\aes_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes_locl.h" "$(INCL_D)\aes_locl.h" + +$(INCL_D)\cmll_locl.h: $(SRC_D)\crypto\camellia\cmll_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\cmll_locl.h" "$(INCL_D)\cmll_locl.h" + +$(INCL_D)\seed_locl.h: $(SRC_D)\crypto\seed\seed_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed_locl.h" "$(INCL_D)\seed_locl.h" + +$(INCL_D)\modes_lcl.h: $(SRC_D)\crypto\modes\modes_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes_lcl.h" "$(INCL_D)\modes_lcl.h" + +$(INCL_D)\bn_lcl.h: $(SRC_D)\crypto\bn\bn_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_lcl.h" "$(INCL_D)\bn_lcl.h" + +$(INCL_D)\bn_prime.h: $(SRC_D)\crypto\bn\bn_prime.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn_prime.h" "$(INCL_D)\bn_prime.h" + +$(INCL_D)\dsa_locl.h: $(SRC_D)\crypto\dsa\dsa_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa_locl.h" "$(INCL_D)\dsa_locl.h" + +$(INCL_D)\ec_lcl.h: $(SRC_D)\crypto\ec\ec_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec_lcl.h" "$(INCL_D)\ec_lcl.h" + +$(INCL_D)\ech_locl.h: $(SRC_D)\crypto\ecdh\ech_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ech_locl.h" "$(INCL_D)\ech_locl.h" + +$(INCL_D)\ecs_locl.h: $(SRC_D)\crypto\ecdsa\ecs_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecs_locl.h" "$(INCL_D)\ecs_locl.h" + +$(INCL_D)\bio_lcl.h: $(SRC_D)\crypto\bio\bio_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio_lcl.h" "$(INCL_D)\bio_lcl.h" + +$(INCL_D)\obj_dat.h: $(SRC_D)\crypto\objects\obj_dat.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_dat.h" "$(INCL_D)\obj_dat.h" + +$(INCL_D)\obj_xref.h: $(SRC_D)\crypto\objects\obj_xref.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_xref.h" "$(INCL_D)\obj_xref.h" + +$(INCL_D)\evp_locl.h: $(SRC_D)\crypto\evp\evp_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp_locl.h" "$(INCL_D)\evp_locl.h" + +$(INCL_D)\asn1_locl.h: $(SRC_D)\crypto\asn1\asn1_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_locl.h" "$(INCL_D)\asn1_locl.h" + +$(INCL_D)\vpm_int.h: $(SRC_D)\crypto\x509\vpm_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\vpm_int.h" "$(INCL_D)\vpm_int.h" + +$(INCL_D)\pcy_int.h: $(SRC_D)\crypto\x509v3\pcy_int.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\pcy_int.h" "$(INCL_D)\pcy_int.h" + +$(INCL_D)\cms_lcl.h: $(SRC_D)\crypto\cms\cms_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms_lcl.h" "$(INCL_D)\cms_lcl.h" + +$(INCL_D)\conf_def.h: $(SRC_D)\crypto\conf\conf_def.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_def.h" "$(INCL_D)\conf_def.h" + +$(INCL_D)\ui_locl.h: $(SRC_D)\crypto\ui\ui_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_locl.h" "$(INCL_D)\ui_locl.h" + +$(INCL_D)\wp_locl.h: $(SRC_D)\crypto\whrlpool\wp_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\wp_locl.h" "$(INCL_D)\wp_locl.h" + +$(INCL_D)\ssl_locl.h: $(SRC_D)\ssl\ssl_locl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl_locl.h" "$(INCL_D)\ssl_locl.h" + +$(INCL_D)\kssl_lcl.h: $(SRC_D)\ssl\kssl_lcl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl_lcl.h" "$(INCL_D)\kssl_lcl.h" + +$(INCL_D)\apps.h: $(SRC_D)\apps\apps.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\apps.h" "$(INCL_D)\apps.h" + +$(INCL_D)\progs.h: $(SRC_D)\apps\progs.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\progs.h" "$(INCL_D)\progs.h" + +$(INCL_D)\s_apps.h: $(SRC_D)\apps\s_apps.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\s_apps.h" "$(INCL_D)\s_apps.h" + +$(INCL_D)\testdsa.h: $(SRC_D)\apps\testdsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testdsa.h" "$(INCL_D)\testdsa.h" + +$(INCL_D)\testrsa.h: $(SRC_D)\apps\testrsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\apps\testrsa.h" "$(INCL_D)\testrsa.h" + +$(INCL_D)\e_4758cca_err.c: $(SRC_D)\engines\e_4758cca_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.c" "$(INCL_D)\e_4758cca_err.c" + +$(INCL_D)\e_4758cca_err.h: $(SRC_D)\engines\e_4758cca_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_4758cca_err.h" "$(INCL_D)\e_4758cca_err.h" + +$(INCL_D)\e_aep_err.c: $(SRC_D)\engines\e_aep_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.c" "$(INCL_D)\e_aep_err.c" + +$(INCL_D)\e_aep_err.h: $(SRC_D)\engines\e_aep_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_aep_err.h" "$(INCL_D)\e_aep_err.h" + +$(INCL_D)\e_atalla_err.c: $(SRC_D)\engines\e_atalla_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.c" "$(INCL_D)\e_atalla_err.c" + +$(INCL_D)\e_atalla_err.h: $(SRC_D)\engines\e_atalla_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_atalla_err.h" "$(INCL_D)\e_atalla_err.h" + +$(INCL_D)\e_cswift_err.c: $(SRC_D)\engines\e_cswift_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.c" "$(INCL_D)\e_cswift_err.c" + +$(INCL_D)\e_cswift_err.h: $(SRC_D)\engines\e_cswift_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_cswift_err.h" "$(INCL_D)\e_cswift_err.h" + +$(INCL_D)\e_gmp_err.c: $(SRC_D)\engines\e_gmp_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.c" "$(INCL_D)\e_gmp_err.c" + +$(INCL_D)\e_gmp_err.h: $(SRC_D)\engines\e_gmp_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_gmp_err.h" "$(INCL_D)\e_gmp_err.h" + +$(INCL_D)\e_chil_err.c: $(SRC_D)\engines\e_chil_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.c" "$(INCL_D)\e_chil_err.c" + +$(INCL_D)\e_chil_err.h: $(SRC_D)\engines\e_chil_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_chil_err.h" "$(INCL_D)\e_chil_err.h" + +$(INCL_D)\e_nuron_err.c: $(SRC_D)\engines\e_nuron_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.c" "$(INCL_D)\e_nuron_err.c" + +$(INCL_D)\e_nuron_err.h: $(SRC_D)\engines\e_nuron_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_nuron_err.h" "$(INCL_D)\e_nuron_err.h" + +$(INCL_D)\e_sureware_err.c: $(SRC_D)\engines\e_sureware_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.c" "$(INCL_D)\e_sureware_err.c" + +$(INCL_D)\e_sureware_err.h: $(SRC_D)\engines\e_sureware_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_sureware_err.h" "$(INCL_D)\e_sureware_err.h" + +$(INCL_D)\e_ubsec_err.c: $(SRC_D)\engines\e_ubsec_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.c" "$(INCL_D)\e_ubsec_err.c" + +$(INCL_D)\e_ubsec_err.h: $(SRC_D)\engines\e_ubsec_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_ubsec_err.h" "$(INCL_D)\e_ubsec_err.h" + +$(INCL_D)\e_capi_err.c: $(SRC_D)\engines\e_capi_err.c + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.c" "$(INCL_D)\e_capi_err.c" + +$(INCL_D)\e_capi_err.h: $(SRC_D)\engines\e_capi_err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\engines\e_capi_err.h" "$(INCL_D)\e_capi_err.h" + +$(INCL_D)\testutil.h: $(SRC_D)\test\testutil.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\testutil.h" "$(INCL_D)\testutil.h" + +$(INCL_D)\ssltestlib.h: $(SRC_D)\test\ssltestlib.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\test\ssltestlib.h" "$(INCL_D)\ssltestlib.h" + +$(INCO_D)\e_os2.h: $(SRC_D)\.\e_os2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\.\e_os2.h" "$(INCO_D)\e_os2.h" + +$(INCO_D)\crypto.h: $(SRC_D)\crypto\crypto.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\crypto.h" "$(INCO_D)\crypto.h" + +$(INCO_D)\opensslv.h: $(SRC_D)\crypto\opensslv.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslv.h" "$(INCO_D)\opensslv.h" + +$(INCO_D)\opensslconf.h: $(SRC_D)\crypto\opensslconf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\opensslconf.h" "$(INCO_D)\opensslconf.h" + +$(INCO_D)\ebcdic.h: $(SRC_D)\crypto\ebcdic.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ebcdic.h" "$(INCO_D)\ebcdic.h" + +$(INCO_D)\symhacks.h: $(SRC_D)\crypto\symhacks.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\symhacks.h" "$(INCO_D)\symhacks.h" + +$(INCO_D)\ossl_typ.h: $(SRC_D)\crypto\ossl_typ.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ossl_typ.h" "$(INCO_D)\ossl_typ.h" + +$(INCO_D)\md4.h: $(SRC_D)\crypto\md4\md4.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md4\md4.h" "$(INCO_D)\md4.h" + +$(INCO_D)\md5.h: $(SRC_D)\crypto\md5\md5.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\md5\md5.h" "$(INCO_D)\md5.h" + +$(INCO_D)\sha.h: $(SRC_D)\crypto\sha\sha.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\sha\sha.h" "$(INCO_D)\sha.h" + +$(INCO_D)\hmac.h: $(SRC_D)\crypto\hmac\hmac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\hmac\hmac.h" "$(INCO_D)\hmac.h" + +$(INCO_D)\cmac.h: $(SRC_D)\crypto\cmac\cmac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cmac\cmac.h" "$(INCO_D)\cmac.h" + +$(INCO_D)\ripemd.h: $(SRC_D)\crypto\ripemd\ripemd.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ripemd\ripemd.h" "$(INCO_D)\ripemd.h" + +$(INCO_D)\des.h: $(SRC_D)\crypto\des\des.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des.h" "$(INCO_D)\des.h" + +$(INCO_D)\des_old.h: $(SRC_D)\crypto\des\des_old.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\des\des_old.h" "$(INCO_D)\des_old.h" + +$(INCO_D)\rc2.h: $(SRC_D)\crypto\rc2\rc2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc2\rc2.h" "$(INCO_D)\rc2.h" + +$(INCO_D)\rc4.h: $(SRC_D)\crypto\rc4\rc4.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rc4\rc4.h" "$(INCO_D)\rc4.h" + +$(INCO_D)\blowfish.h: $(SRC_D)\crypto\bf\blowfish.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bf\blowfish.h" "$(INCO_D)\blowfish.h" + +$(INCO_D)\cast.h: $(SRC_D)\crypto\cast\cast.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cast\cast.h" "$(INCO_D)\cast.h" + +$(INCO_D)\aes.h: $(SRC_D)\crypto\aes\aes.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\aes\aes.h" "$(INCO_D)\aes.h" + +$(INCO_D)\camellia.h: $(SRC_D)\crypto\camellia\camellia.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\camellia\camellia.h" "$(INCO_D)\camellia.h" + +$(INCO_D)\seed.h: $(SRC_D)\crypto\seed\seed.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\seed\seed.h" "$(INCO_D)\seed.h" + +$(INCO_D)\modes.h: $(SRC_D)\crypto\modes\modes.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\modes\modes.h" "$(INCO_D)\modes.h" + +$(INCO_D)\bn.h: $(SRC_D)\crypto\bn\bn.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bn\bn.h" "$(INCO_D)\bn.h" + +$(INCO_D)\rsa.h: $(SRC_D)\crypto\rsa\rsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rsa\rsa.h" "$(INCO_D)\rsa.h" + +$(INCO_D)\dsa.h: $(SRC_D)\crypto\dsa\dsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dsa\dsa.h" "$(INCO_D)\dsa.h" + +$(INCO_D)\dso.h: $(SRC_D)\crypto\dso\dso.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dso\dso.h" "$(INCO_D)\dso.h" + +$(INCO_D)\dh.h: $(SRC_D)\crypto\dh\dh.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\dh\dh.h" "$(INCO_D)\dh.h" + +$(INCO_D)\ec.h: $(SRC_D)\crypto\ec\ec.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ec\ec.h" "$(INCO_D)\ec.h" + +$(INCO_D)\ecdh.h: $(SRC_D)\crypto\ecdh\ecdh.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdh\ecdh.h" "$(INCO_D)\ecdh.h" + +$(INCO_D)\ecdsa.h: $(SRC_D)\crypto\ecdsa\ecdsa.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ecdsa\ecdsa.h" "$(INCO_D)\ecdsa.h" + +$(INCO_D)\buffer.h: $(SRC_D)\crypto\buffer\buffer.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\buffer\buffer.h" "$(INCO_D)\buffer.h" + +$(INCO_D)\bio.h: $(SRC_D)\crypto\bio\bio.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\bio\bio.h" "$(INCO_D)\bio.h" + +$(INCO_D)\stack.h: $(SRC_D)\crypto\stack\stack.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\stack.h" "$(INCO_D)\stack.h" + +$(INCO_D)\safestack.h: $(SRC_D)\crypto\stack\safestack.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\stack\safestack.h" "$(INCO_D)\safestack.h" + +$(INCO_D)\lhash.h: $(SRC_D)\crypto\lhash\lhash.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\lhash\lhash.h" "$(INCO_D)\lhash.h" + +$(INCO_D)\rand.h: $(SRC_D)\crypto\rand\rand.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\rand\rand.h" "$(INCO_D)\rand.h" + +$(INCO_D)\err.h: $(SRC_D)\crypto\err\err.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\err\err.h" "$(INCO_D)\err.h" + +$(INCO_D)\objects.h: $(SRC_D)\crypto\objects\objects.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\objects.h" "$(INCO_D)\objects.h" + +$(INCO_D)\obj_mac.h: $(SRC_D)\crypto\objects\obj_mac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\objects\obj_mac.h" "$(INCO_D)\obj_mac.h" + +$(INCO_D)\evp.h: $(SRC_D)\crypto\evp\evp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\evp\evp.h" "$(INCO_D)\evp.h" + +$(INCO_D)\asn1.h: $(SRC_D)\crypto\asn1\asn1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1.h" "$(INCO_D)\asn1.h" + +$(INCO_D)\asn1_mac.h: $(SRC_D)\crypto\asn1\asn1_mac.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1_mac.h" "$(INCO_D)\asn1_mac.h" + +$(INCO_D)\asn1t.h: $(SRC_D)\crypto\asn1\asn1t.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\asn1\asn1t.h" "$(INCO_D)\asn1t.h" + +$(INCO_D)\pem.h: $(SRC_D)\crypto\pem\pem.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem.h" "$(INCO_D)\pem.h" + +$(INCO_D)\pem2.h: $(SRC_D)\crypto\pem\pem2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pem\pem2.h" "$(INCO_D)\pem2.h" + +$(INCO_D)\x509.h: $(SRC_D)\crypto\x509\x509.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509.h" "$(INCO_D)\x509.h" + +$(INCO_D)\x509_vfy.h: $(SRC_D)\crypto\x509\x509_vfy.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509\x509_vfy.h" "$(INCO_D)\x509_vfy.h" + +$(INCO_D)\x509v3.h: $(SRC_D)\crypto\x509v3\x509v3.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\x509v3\x509v3.h" "$(INCO_D)\x509v3.h" + +$(INCO_D)\cms.h: $(SRC_D)\crypto\cms\cms.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\cms\cms.h" "$(INCO_D)\cms.h" + +$(INCO_D)\conf.h: $(SRC_D)\crypto\conf\conf.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf.h" "$(INCO_D)\conf.h" + +$(INCO_D)\conf_api.h: $(SRC_D)\crypto\conf\conf_api.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\conf\conf_api.h" "$(INCO_D)\conf_api.h" + +$(INCO_D)\txt_db.h: $(SRC_D)\crypto\txt_db\txt_db.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\txt_db\txt_db.h" "$(INCO_D)\txt_db.h" + +$(INCO_D)\pkcs7.h: $(SRC_D)\crypto\pkcs7\pkcs7.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs7\pkcs7.h" "$(INCO_D)\pkcs7.h" + +$(INCO_D)\pkcs12.h: $(SRC_D)\crypto\pkcs12\pkcs12.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pkcs12\pkcs12.h" "$(INCO_D)\pkcs12.h" + +$(INCO_D)\comp.h: $(SRC_D)\crypto\comp\comp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\comp\comp.h" "$(INCO_D)\comp.h" + +$(INCO_D)\engine.h: $(SRC_D)\crypto\engine\engine.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\engine\engine.h" "$(INCO_D)\engine.h" + +$(INCO_D)\ocsp.h: $(SRC_D)\crypto\ocsp\ocsp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ocsp\ocsp.h" "$(INCO_D)\ocsp.h" + +$(INCO_D)\ui.h: $(SRC_D)\crypto\ui\ui.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui.h" "$(INCO_D)\ui.h" + +$(INCO_D)\ui_compat.h: $(SRC_D)\crypto\ui\ui_compat.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ui\ui_compat.h" "$(INCO_D)\ui_compat.h" + +$(INCO_D)\krb5_asn.h: $(SRC_D)\crypto\krb5\krb5_asn.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\krb5\krb5_asn.h" "$(INCO_D)\krb5_asn.h" + +$(INCO_D)\pqueue.h: $(SRC_D)\crypto\pqueue\pqueue.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\pqueue\pqueue.h" "$(INCO_D)\pqueue.h" + +$(INCO_D)\whrlpool.h: $(SRC_D)\crypto\whrlpool\whrlpool.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\whrlpool\whrlpool.h" "$(INCO_D)\whrlpool.h" + +$(INCO_D)\ts.h: $(SRC_D)\crypto\ts\ts.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\ts\ts.h" "$(INCO_D)\ts.h" + +$(INCO_D)\srp.h: $(SRC_D)\crypto\srp\srp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\crypto\srp\srp.h" "$(INCO_D)\srp.h" + +$(INCO_D)\ssl.h: $(SRC_D)\ssl\ssl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl.h" "$(INCO_D)\ssl.h" + +$(INCO_D)\ssl2.h: $(SRC_D)\ssl\ssl2.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl2.h" "$(INCO_D)\ssl2.h" + +$(INCO_D)\ssl3.h: $(SRC_D)\ssl\ssl3.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl3.h" "$(INCO_D)\ssl3.h" + +$(INCO_D)\ssl23.h: $(SRC_D)\ssl\ssl23.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\ssl23.h" "$(INCO_D)\ssl23.h" + +$(INCO_D)\tls1.h: $(SRC_D)\ssl\tls1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\tls1.h" "$(INCO_D)\tls1.h" + +$(INCO_D)\dtls1.h: $(SRC_D)\ssl\dtls1.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\dtls1.h" "$(INCO_D)\dtls1.h" + +$(INCO_D)\kssl.h: $(SRC_D)\ssl\kssl.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\kssl.h" "$(INCO_D)\kssl.h" + +$(INCO_D)\srtp.h: $(SRC_D)\ssl\srtp.h + $(PERL) $(SRC_D)\util\copy-if-different.pl "$(SRC_D)\ssl\srtp.h" "$(INCO_D)\srtp.h" + +$(OBJ_D)\constant_time_test.obj: $(SRC_D)\crypto\constant_time_test.c + $(CC) /Fo$(OBJ_D)\constant_time_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\constant_time_test.c + +$(OBJ_D)\md4test.obj: $(SRC_D)\crypto\md4\md4test.c + $(CC) /Fo$(OBJ_D)\md4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md4\md4test.c + +$(OBJ_D)\md5test.obj: $(SRC_D)\crypto\md5\md5test.c + $(CC) /Fo$(OBJ_D)\md5test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\md5\md5test.c + +$(OBJ_D)\shatest.obj: $(SRC_D)\crypto\sha\shatest.c + $(CC) /Fo$(OBJ_D)\shatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\shatest.c + +$(OBJ_D)\sha1test.obj: $(SRC_D)\crypto\sha\sha1test.c + $(CC) /Fo$(OBJ_D)\sha1test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha1test.c + +$(OBJ_D)\sha256t.obj: $(SRC_D)\crypto\sha\sha256t.c + $(CC) /Fo$(OBJ_D)\sha256t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha256t.c + +$(OBJ_D)\sha512t.obj: $(SRC_D)\crypto\sha\sha512t.c + $(CC) /Fo$(OBJ_D)\sha512t.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\sha\sha512t.c + +$(OBJ_D)\hmactest.obj: $(SRC_D)\crypto\hmac\hmactest.c + $(CC) /Fo$(OBJ_D)\hmactest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\hmac\hmactest.c + +$(OBJ_D)\rmdtest.obj: $(SRC_D)\crypto\ripemd\rmdtest.c + $(CC) /Fo$(OBJ_D)\rmdtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ripemd\rmdtest.c + +$(OBJ_D)\destest.obj: $(SRC_D)\crypto\des\destest.c + $(CC) /Fo$(OBJ_D)\destest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\des\destest.c + +$(OBJ_D)\rc2test.obj: $(SRC_D)\crypto\rc2\rc2test.c + $(CC) /Fo$(OBJ_D)\rc2test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc2\rc2test.c + +$(OBJ_D)\rc4test.obj: $(SRC_D)\crypto\rc4\rc4test.c + $(CC) /Fo$(OBJ_D)\rc4test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rc4\rc4test.c + +$(OBJ_D)\bftest.obj: $(SRC_D)\crypto\bf\bftest.c + $(CC) /Fo$(OBJ_D)\bftest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bf\bftest.c + +$(OBJ_D)\casttest.obj: $(SRC_D)\crypto\cast\casttest.c + $(CC) /Fo$(OBJ_D)\casttest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\cast\casttest.c + +$(OBJ_D)\bntest.obj: $(SRC_D)\crypto\bn\bntest.c + $(CC) /Fo$(OBJ_D)\bntest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\bntest.c + +$(OBJ_D)\exptest.obj: $(SRC_D)\crypto\bn\exptest.c + $(CC) /Fo$(OBJ_D)\exptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\bn\exptest.c + +$(OBJ_D)\rsa_test.obj: $(SRC_D)\crypto\rsa\rsa_test.c + $(CC) /Fo$(OBJ_D)\rsa_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rsa\rsa_test.c + +$(OBJ_D)\dsatest.obj: $(SRC_D)\crypto\dsa\dsatest.c + $(CC) /Fo$(OBJ_D)\dsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dsa\dsatest.c + +$(OBJ_D)\dhtest.obj: $(SRC_D)\crypto\dh\dhtest.c + $(CC) /Fo$(OBJ_D)\dhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\dh\dhtest.c + +$(OBJ_D)\ectest.obj: $(SRC_D)\crypto\ec\ectest.c + $(CC) /Fo$(OBJ_D)\ectest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ec\ectest.c + +$(OBJ_D)\ecdhtest.obj: $(SRC_D)\crypto\ecdh\ecdhtest.c + $(CC) /Fo$(OBJ_D)\ecdhtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdh\ecdhtest.c + +$(OBJ_D)\ecdsatest.obj: $(SRC_D)\crypto\ecdsa\ecdsatest.c + $(CC) /Fo$(OBJ_D)\ecdsatest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\ecdsa\ecdsatest.c + +$(OBJ_D)\randtest.obj: $(SRC_D)\crypto\rand\randtest.c + $(CC) /Fo$(OBJ_D)\randtest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\rand\randtest.c + +$(OBJ_D)\evp_test.obj: $(SRC_D)\crypto\evp\evp_test.c + $(CC) /Fo$(OBJ_D)\evp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_test.c + +$(OBJ_D)\evp_extra_test.obj: $(SRC_D)\crypto\evp\evp_extra_test.c + $(CC) /Fo$(OBJ_D)\evp_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\evp\evp_extra_test.c + +$(OBJ_D)\verify_extra_test.obj: $(SRC_D)\crypto\x509\verify_extra_test.c + $(CC) /Fo$(OBJ_D)\verify_extra_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509\verify_extra_test.c + +$(OBJ_D)\v3nametest.obj: $(SRC_D)\crypto\x509v3\v3nametest.c + $(CC) /Fo$(OBJ_D)\v3nametest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\x509v3\v3nametest.c + +$(OBJ_D)\enginetest.obj: $(SRC_D)\crypto\engine\enginetest.c + $(CC) /Fo$(OBJ_D)\enginetest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\engine\enginetest.c + +$(OBJ_D)\wp_test.obj: $(SRC_D)\crypto\whrlpool\wp_test.c + $(CC) /Fo$(OBJ_D)\wp_test.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\whrlpool\wp_test.c + +$(OBJ_D)\srptest.obj: $(SRC_D)\crypto\srp\srptest.c + $(CC) /Fo$(OBJ_D)\srptest.obj $(APP_CFLAGS) -c $(SRC_D)\crypto\srp\srptest.c + +$(OBJ_D)\ssltest.obj: $(SRC_D)\ssl\ssltest.c + $(CC) /Fo$(OBJ_D)\ssltest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\ssltest.c + +$(OBJ_D)\heartbeat_test.obj: $(SRC_D)\ssl\heartbeat_test.c + $(CC) /Fo$(OBJ_D)\heartbeat_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\heartbeat_test.c + +$(OBJ_D)\clienthellotest.obj: $(SRC_D)\ssl\clienthellotest.c + $(CC) /Fo$(OBJ_D)\clienthellotest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\clienthellotest.c + +$(OBJ_D)\sslv2conftest.obj: $(SRC_D)\ssl\sslv2conftest.c + $(CC) /Fo$(OBJ_D)\sslv2conftest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\sslv2conftest.c + +$(OBJ_D)\dtlstest.obj: $(SRC_D)\ssl\dtlstest.c + $(CC) /Fo$(OBJ_D)\dtlstest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\dtlstest.c + +$(OBJ_D)\bad_dtls_test.obj: $(SRC_D)\ssl\bad_dtls_test.c + $(CC) /Fo$(OBJ_D)\bad_dtls_test.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\bad_dtls_test.c + +$(OBJ_D)\fatalerrtest.obj: $(SRC_D)\ssl\fatalerrtest.c + $(CC) /Fo$(OBJ_D)\fatalerrtest.obj $(APP_CFLAGS) -c $(SRC_D)\ssl\fatalerrtest.c + +$(OBJ_D)\igetest.obj: $(SRC_D)\test\igetest.c + $(CC) /Fo$(OBJ_D)\igetest.obj $(APP_CFLAGS) -c $(SRC_D)\test\igetest.c + +$(OBJ_D)\ssltestlib.obj: $(SRC_D)\test\ssltestlib.c + $(CC) /Fo$(OBJ_D)\ssltestlib.obj $(APP_CFLAGS) -c $(SRC_D)\test\ssltestlib.c + +$(OBJ_D)\verify.obj: $(SRC_D)\apps\verify.c + $(CC) /Fo$(OBJ_D)\verify.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\verify.c + +$(OBJ_D)\asn1pars.obj: $(SRC_D)\apps\asn1pars.c + $(CC) /Fo$(OBJ_D)\asn1pars.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\asn1pars.c + +$(OBJ_D)\req.obj: $(SRC_D)\apps\req.c + $(CC) /Fo$(OBJ_D)\req.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\req.c + +$(OBJ_D)\dgst.obj: $(SRC_D)\apps\dgst.c + $(CC) /Fo$(OBJ_D)\dgst.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dgst.c + +$(OBJ_D)\dh.obj: $(SRC_D)\apps\dh.c + $(CC) /Fo$(OBJ_D)\dh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dh.c + +$(OBJ_D)\dhparam.obj: $(SRC_D)\apps\dhparam.c + $(CC) /Fo$(OBJ_D)\dhparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dhparam.c + +$(OBJ_D)\enc.obj: $(SRC_D)\apps\enc.c + $(CC) /Fo$(OBJ_D)\enc.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\enc.c + +$(OBJ_D)\passwd.obj: $(SRC_D)\apps\passwd.c + $(CC) /Fo$(OBJ_D)\passwd.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\passwd.c + +$(OBJ_D)\gendh.obj: $(SRC_D)\apps\gendh.c + $(CC) /Fo$(OBJ_D)\gendh.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendh.c + +$(OBJ_D)\errstr.obj: $(SRC_D)\apps\errstr.c + $(CC) /Fo$(OBJ_D)\errstr.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\errstr.c + +$(OBJ_D)\ca.obj: $(SRC_D)\apps\ca.c + $(CC) /Fo$(OBJ_D)\ca.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ca.c + +$(OBJ_D)\pkcs7.obj: $(SRC_D)\apps\pkcs7.c + $(CC) /Fo$(OBJ_D)\pkcs7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs7.c + +$(OBJ_D)\crl2p7.obj: $(SRC_D)\apps\crl2p7.c + $(CC) /Fo$(OBJ_D)\crl2p7.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl2p7.c + +$(OBJ_D)\crl.obj: $(SRC_D)\apps\crl.c + $(CC) /Fo$(OBJ_D)\crl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\crl.c + +$(OBJ_D)\rsa.obj: $(SRC_D)\apps\rsa.c + $(CC) /Fo$(OBJ_D)\rsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsa.c + +$(OBJ_D)\rsautl.obj: $(SRC_D)\apps\rsautl.c + $(CC) /Fo$(OBJ_D)\rsautl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rsautl.c + +$(OBJ_D)\dsa.obj: $(SRC_D)\apps\dsa.c + $(CC) /Fo$(OBJ_D)\dsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsa.c + +$(OBJ_D)\dsaparam.obj: $(SRC_D)\apps\dsaparam.c + $(CC) /Fo$(OBJ_D)\dsaparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\dsaparam.c + +$(OBJ_D)\ec.obj: $(SRC_D)\apps\ec.c + $(CC) /Fo$(OBJ_D)\ec.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ec.c + +$(OBJ_D)\ecparam.obj: $(SRC_D)\apps\ecparam.c + $(CC) /Fo$(OBJ_D)\ecparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ecparam.c + +$(OBJ_D)\x509.obj: $(SRC_D)\apps\x509.c + $(CC) /Fo$(OBJ_D)\x509.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\x509.c + +$(OBJ_D)\genrsa.obj: $(SRC_D)\apps\genrsa.c + $(CC) /Fo$(OBJ_D)\genrsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genrsa.c + +$(OBJ_D)\gendsa.obj: $(SRC_D)\apps\gendsa.c + $(CC) /Fo$(OBJ_D)\gendsa.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\gendsa.c + +$(OBJ_D)\genpkey.obj: $(SRC_D)\apps\genpkey.c + $(CC) /Fo$(OBJ_D)\genpkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\genpkey.c + +$(OBJ_D)\s_server.obj: $(SRC_D)\apps\s_server.c + $(CC) /Fo$(OBJ_D)\s_server.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_server.c + +$(OBJ_D)\s_client.obj: $(SRC_D)\apps\s_client.c + $(CC) /Fo$(OBJ_D)\s_client.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_client.c + +$(OBJ_D)\speed.obj: $(SRC_D)\apps\speed.c + $(CC) /Fo$(OBJ_D)\speed.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\speed.c + +$(OBJ_D)\s_time.obj: $(SRC_D)\apps\s_time.c + $(CC) /Fo$(OBJ_D)\s_time.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_time.c + +$(OBJ_D)\apps.obj: $(SRC_D)\apps\apps.c + $(CC) /Fo$(OBJ_D)\apps.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\apps.c + +$(OBJ_D)\s_cb.obj: $(SRC_D)\apps\s_cb.c + $(CC) /Fo$(OBJ_D)\s_cb.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_cb.c + +$(OBJ_D)\s_socket.obj: $(SRC_D)\apps\s_socket.c + $(CC) /Fo$(OBJ_D)\s_socket.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\s_socket.c + +$(OBJ_D)\app_rand.obj: $(SRC_D)\apps\app_rand.c + $(CC) /Fo$(OBJ_D)\app_rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\app_rand.c + +$(OBJ_D)\version.obj: $(SRC_D)\apps\version.c + $(CC) /Fo$(OBJ_D)\version.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\version.c + +$(OBJ_D)\sess_id.obj: $(SRC_D)\apps\sess_id.c + $(CC) /Fo$(OBJ_D)\sess_id.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\sess_id.c + +$(OBJ_D)\ciphers.obj: $(SRC_D)\apps\ciphers.c + $(CC) /Fo$(OBJ_D)\ciphers.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ciphers.c + +$(OBJ_D)\nseq.obj: $(SRC_D)\apps\nseq.c + $(CC) /Fo$(OBJ_D)\nseq.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\nseq.c + +$(OBJ_D)\pkcs12.obj: $(SRC_D)\apps\pkcs12.c + $(CC) /Fo$(OBJ_D)\pkcs12.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs12.c + +$(OBJ_D)\pkcs8.obj: $(SRC_D)\apps\pkcs8.c + $(CC) /Fo$(OBJ_D)\pkcs8.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkcs8.c + +$(OBJ_D)\pkey.obj: $(SRC_D)\apps\pkey.c + $(CC) /Fo$(OBJ_D)\pkey.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkey.c + +$(OBJ_D)\pkeyparam.obj: $(SRC_D)\apps\pkeyparam.c + $(CC) /Fo$(OBJ_D)\pkeyparam.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyparam.c + +$(OBJ_D)\pkeyutl.obj: $(SRC_D)\apps\pkeyutl.c + $(CC) /Fo$(OBJ_D)\pkeyutl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\pkeyutl.c + +$(OBJ_D)\spkac.obj: $(SRC_D)\apps\spkac.c + $(CC) /Fo$(OBJ_D)\spkac.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\spkac.c + +$(OBJ_D)\smime.obj: $(SRC_D)\apps\smime.c + $(CC) /Fo$(OBJ_D)\smime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\smime.c + +$(OBJ_D)\cms.obj: $(SRC_D)\apps\cms.c + $(CC) /Fo$(OBJ_D)\cms.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\cms.c + +$(OBJ_D)\rand.obj: $(SRC_D)\apps\rand.c + $(CC) /Fo$(OBJ_D)\rand.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\rand.c + +$(OBJ_D)\engine.obj: $(SRC_D)\apps\engine.c + $(CC) /Fo$(OBJ_D)\engine.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\engine.c + +$(OBJ_D)\ocsp.obj: $(SRC_D)\apps\ocsp.c + $(CC) /Fo$(OBJ_D)\ocsp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ocsp.c + +$(OBJ_D)\prime.obj: $(SRC_D)\apps\prime.c + $(CC) /Fo$(OBJ_D)\prime.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\prime.c + +$(OBJ_D)\ts.obj: $(SRC_D)\apps\ts.c + $(CC) /Fo$(OBJ_D)\ts.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\ts.c + +$(OBJ_D)\srp.obj: $(SRC_D)\apps\srp.c + $(CC) /Fo$(OBJ_D)\srp.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\srp.c + +$(OBJ_D)\openssl.obj: $(SRC_D)\apps\openssl.c + $(CC) /Fo$(OBJ_D)\openssl.obj -DMONOLITH $(APP_CFLAGS) -c $(SRC_D)\apps\openssl.c + +$(OBJ_D)\s2_meth.obj: $(SRC_D)\ssl\s2_meth.c + $(CC) /Fo$(OBJ_D)\s2_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_meth.c + +$(OBJ_D)\s2_srvr.obj: $(SRC_D)\ssl\s2_srvr.c + $(CC) /Fo$(OBJ_D)\s2_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_srvr.c + +$(OBJ_D)\s2_clnt.obj: $(SRC_D)\ssl\s2_clnt.c + $(CC) /Fo$(OBJ_D)\s2_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_clnt.c + +$(OBJ_D)\s2_lib.obj: $(SRC_D)\ssl\s2_lib.c + $(CC) /Fo$(OBJ_D)\s2_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_lib.c + +$(OBJ_D)\s2_enc.obj: $(SRC_D)\ssl\s2_enc.c + $(CC) /Fo$(OBJ_D)\s2_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_enc.c + +$(OBJ_D)\s2_pkt.obj: $(SRC_D)\ssl\s2_pkt.c + $(CC) /Fo$(OBJ_D)\s2_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s2_pkt.c + +$(OBJ_D)\s3_meth.obj: $(SRC_D)\ssl\s3_meth.c + $(CC) /Fo$(OBJ_D)\s3_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_meth.c + +$(OBJ_D)\s3_srvr.obj: $(SRC_D)\ssl\s3_srvr.c + $(CC) /Fo$(OBJ_D)\s3_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_srvr.c + +$(OBJ_D)\s3_clnt.obj: $(SRC_D)\ssl\s3_clnt.c + $(CC) /Fo$(OBJ_D)\s3_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_clnt.c + +$(OBJ_D)\s3_lib.obj: $(SRC_D)\ssl\s3_lib.c + $(CC) /Fo$(OBJ_D)\s3_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_lib.c + +$(OBJ_D)\s3_enc.obj: $(SRC_D)\ssl\s3_enc.c + $(CC) /Fo$(OBJ_D)\s3_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_enc.c + +$(OBJ_D)\s3_pkt.obj: $(SRC_D)\ssl\s3_pkt.c + $(CC) /Fo$(OBJ_D)\s3_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_pkt.c + +$(OBJ_D)\s3_both.obj: $(SRC_D)\ssl\s3_both.c + $(CC) /Fo$(OBJ_D)\s3_both.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_both.c + +$(OBJ_D)\s3_cbc.obj: $(SRC_D)\ssl\s3_cbc.c + $(CC) /Fo$(OBJ_D)\s3_cbc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s3_cbc.c + +$(OBJ_D)\s23_meth.obj: $(SRC_D)\ssl\s23_meth.c + $(CC) /Fo$(OBJ_D)\s23_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_meth.c + +$(OBJ_D)\s23_srvr.obj: $(SRC_D)\ssl\s23_srvr.c + $(CC) /Fo$(OBJ_D)\s23_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_srvr.c + +$(OBJ_D)\s23_clnt.obj: $(SRC_D)\ssl\s23_clnt.c + $(CC) /Fo$(OBJ_D)\s23_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_clnt.c + +$(OBJ_D)\s23_lib.obj: $(SRC_D)\ssl\s23_lib.c + $(CC) /Fo$(OBJ_D)\s23_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_lib.c + +$(OBJ_D)\s23_pkt.obj: $(SRC_D)\ssl\s23_pkt.c + $(CC) /Fo$(OBJ_D)\s23_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\s23_pkt.c + +$(OBJ_D)\t1_meth.obj: $(SRC_D)\ssl\t1_meth.c + $(CC) /Fo$(OBJ_D)\t1_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_meth.c + +$(OBJ_D)\t1_srvr.obj: $(SRC_D)\ssl\t1_srvr.c + $(CC) /Fo$(OBJ_D)\t1_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_srvr.c + +$(OBJ_D)\t1_clnt.obj: $(SRC_D)\ssl\t1_clnt.c + $(CC) /Fo$(OBJ_D)\t1_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_clnt.c + +$(OBJ_D)\t1_lib.obj: $(SRC_D)\ssl\t1_lib.c + $(CC) /Fo$(OBJ_D)\t1_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_lib.c + +$(OBJ_D)\t1_enc.obj: $(SRC_D)\ssl\t1_enc.c + $(CC) /Fo$(OBJ_D)\t1_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_enc.c + +$(OBJ_D)\t1_ext.obj: $(SRC_D)\ssl\t1_ext.c + $(CC) /Fo$(OBJ_D)\t1_ext.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_ext.c + +$(OBJ_D)\d1_meth.obj: $(SRC_D)\ssl\d1_meth.c + $(CC) /Fo$(OBJ_D)\d1_meth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_meth.c + +$(OBJ_D)\d1_srvr.obj: $(SRC_D)\ssl\d1_srvr.c + $(CC) /Fo$(OBJ_D)\d1_srvr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_srvr.c + +$(OBJ_D)\d1_clnt.obj: $(SRC_D)\ssl\d1_clnt.c + $(CC) /Fo$(OBJ_D)\d1_clnt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_clnt.c + +$(OBJ_D)\d1_lib.obj: $(SRC_D)\ssl\d1_lib.c + $(CC) /Fo$(OBJ_D)\d1_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_lib.c + +$(OBJ_D)\d1_pkt.obj: $(SRC_D)\ssl\d1_pkt.c + $(CC) /Fo$(OBJ_D)\d1_pkt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_pkt.c + +$(OBJ_D)\d1_both.obj: $(SRC_D)\ssl\d1_both.c + $(CC) /Fo$(OBJ_D)\d1_both.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_both.c + +$(OBJ_D)\d1_srtp.obj: $(SRC_D)\ssl\d1_srtp.c + $(CC) /Fo$(OBJ_D)\d1_srtp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\d1_srtp.c + +$(OBJ_D)\ssl_lib.obj: $(SRC_D)\ssl\ssl_lib.c + $(CC) /Fo$(OBJ_D)\ssl_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_lib.c + +$(OBJ_D)\ssl_err2.obj: $(SRC_D)\ssl\ssl_err2.c + $(CC) /Fo$(OBJ_D)\ssl_err2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_err2.c + +$(OBJ_D)\ssl_cert.obj: $(SRC_D)\ssl\ssl_cert.c + $(CC) /Fo$(OBJ_D)\ssl_cert.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_cert.c + +$(OBJ_D)\ssl_sess.obj: $(SRC_D)\ssl\ssl_sess.c + $(CC) /Fo$(OBJ_D)\ssl_sess.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_sess.c + +$(OBJ_D)\ssl_ciph.obj: $(SRC_D)\ssl\ssl_ciph.c + $(CC) /Fo$(OBJ_D)\ssl_ciph.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_ciph.c + +$(OBJ_D)\ssl_stat.obj: $(SRC_D)\ssl\ssl_stat.c + $(CC) /Fo$(OBJ_D)\ssl_stat.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_stat.c + +$(OBJ_D)\ssl_rsa.obj: $(SRC_D)\ssl\ssl_rsa.c + $(CC) /Fo$(OBJ_D)\ssl_rsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_rsa.c + +$(OBJ_D)\ssl_asn1.obj: $(SRC_D)\ssl\ssl_asn1.c + $(CC) /Fo$(OBJ_D)\ssl_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_asn1.c + +$(OBJ_D)\ssl_txt.obj: $(SRC_D)\ssl\ssl_txt.c + $(CC) /Fo$(OBJ_D)\ssl_txt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_txt.c + +$(OBJ_D)\ssl_algs.obj: $(SRC_D)\ssl\ssl_algs.c + $(CC) /Fo$(OBJ_D)\ssl_algs.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_algs.c + +$(OBJ_D)\ssl_conf.obj: $(SRC_D)\ssl\ssl_conf.c + $(CC) /Fo$(OBJ_D)\ssl_conf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_conf.c + +$(OBJ_D)\bio_ssl.obj: $(SRC_D)\ssl\bio_ssl.c + $(CC) /Fo$(OBJ_D)\bio_ssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\bio_ssl.c + +$(OBJ_D)\ssl_err.obj: $(SRC_D)\ssl\ssl_err.c + $(CC) /Fo$(OBJ_D)\ssl_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_err.c + +$(OBJ_D)\kssl.obj: $(SRC_D)\ssl\kssl.c + $(CC) /Fo$(OBJ_D)\kssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\kssl.c + +$(OBJ_D)\t1_reneg.obj: $(SRC_D)\ssl\t1_reneg.c + $(CC) /Fo$(OBJ_D)\t1_reneg.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_reneg.c + +$(OBJ_D)\tls_srp.obj: $(SRC_D)\ssl\tls_srp.c + $(CC) /Fo$(OBJ_D)\tls_srp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\tls_srp.c + +$(OBJ_D)\t1_trce.obj: $(SRC_D)\ssl\t1_trce.c + $(CC) /Fo$(OBJ_D)\t1_trce.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\t1_trce.c + +$(OBJ_D)\ssl_utst.obj: $(SRC_D)\ssl\ssl_utst.c + $(CC) /Fo$(OBJ_D)\ssl_utst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBSSL -c $(SRC_D)\ssl\ssl_utst.c + +$(OBJ_D)\e_gost_err.obj: $(SRC_D)\engines\ccgost\e_gost_err.c + $(CC) /Fo$(OBJ_D)\e_gost_err.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\e_gost_err.c + +$(OBJ_D)\gost2001_keyx.obj: $(SRC_D)\engines\ccgost\gost2001_keyx.c + $(CC) /Fo$(OBJ_D)\gost2001_keyx.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001_keyx.c + +$(OBJ_D)\gost2001.obj: $(SRC_D)\engines\ccgost\gost2001.c + $(CC) /Fo$(OBJ_D)\gost2001.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost2001.c + +$(OBJ_D)\gost89.obj: $(SRC_D)\engines\ccgost\gost89.c + $(CC) /Fo$(OBJ_D)\gost89.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost89.c + +$(OBJ_D)\gost94_keyx.obj: $(SRC_D)\engines\ccgost\gost94_keyx.c + $(CC) /Fo$(OBJ_D)\gost94_keyx.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost94_keyx.c + +$(OBJ_D)\gost_ameth.obj: $(SRC_D)\engines\ccgost\gost_ameth.c + $(CC) /Fo$(OBJ_D)\gost_ameth.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ameth.c + +$(OBJ_D)\gost_asn1.obj: $(SRC_D)\engines\ccgost\gost_asn1.c + $(CC) /Fo$(OBJ_D)\gost_asn1.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_asn1.c + +$(OBJ_D)\gost_crypt.obj: $(SRC_D)\engines\ccgost\gost_crypt.c + $(CC) /Fo$(OBJ_D)\gost_crypt.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_crypt.c + +$(OBJ_D)\gost_ctl.obj: $(SRC_D)\engines\ccgost\gost_ctl.c + $(CC) /Fo$(OBJ_D)\gost_ctl.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_ctl.c + +$(OBJ_D)\gost_eng.obj: $(SRC_D)\engines\ccgost\gost_eng.c + $(CC) /Fo$(OBJ_D)\gost_eng.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_eng.c + +$(OBJ_D)\gosthash.obj: $(SRC_D)\engines\ccgost\gosthash.c + $(CC) /Fo$(OBJ_D)\gosthash.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gosthash.c + +$(OBJ_D)\gost_keywrap.obj: $(SRC_D)\engines\ccgost\gost_keywrap.c + $(CC) /Fo$(OBJ_D)\gost_keywrap.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_keywrap.c + +$(OBJ_D)\gost_md.obj: $(SRC_D)\engines\ccgost\gost_md.c + $(CC) /Fo$(OBJ_D)\gost_md.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_md.c + +$(OBJ_D)\gost_params.obj: $(SRC_D)\engines\ccgost\gost_params.c + $(CC) /Fo$(OBJ_D)\gost_params.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_params.c + +$(OBJ_D)\gost_pmeth.obj: $(SRC_D)\engines\ccgost\gost_pmeth.c + $(CC) /Fo$(OBJ_D)\gost_pmeth.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_pmeth.c + +$(OBJ_D)\gost_sign.obj: $(SRC_D)\engines\ccgost\gost_sign.c + $(CC) /Fo$(OBJ_D)\gost_sign.obj $(SHLIB_CFLAGS) -c $(SRC_D)\engines\ccgost\gost_sign.c + +$(OBJ_D)\cryptlib.obj: $(SRC_D)\crypto\cryptlib.c + $(CC) /Fo$(OBJ_D)\cryptlib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cryptlib.c + +$(OBJ_D)\mem.obj: $(SRC_D)\crypto\mem.c + $(CC) /Fo$(OBJ_D)\mem.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\mem.c + +$(OBJ_D)\mem_dbg.obj: $(SRC_D)\crypto\mem_dbg.c + $(CC) /Fo$(OBJ_D)\mem_dbg.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\mem_dbg.c + +$(OBJ_D)\cversion.obj: $(SRC_D)\crypto\cversion.c + $(CC) /Fo$(OBJ_D)\cversion.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -DMK1MF_BUILD -DMK1MF_PLATFORM_VC_WIN32 -c $(SRC_D)\crypto\cversion.c + +$(OBJ_D)\ex_data.obj: $(SRC_D)\crypto\ex_data.c + $(CC) /Fo$(OBJ_D)\ex_data.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ex_data.c + +$(OBJ_D)\cpt_err.obj: $(SRC_D)\crypto\cpt_err.c + $(CC) /Fo$(OBJ_D)\cpt_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cpt_err.c + +$(OBJ_D)\ebcdic.obj: $(SRC_D)\crypto\ebcdic.c + $(CC) /Fo$(OBJ_D)\ebcdic.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ebcdic.c + +$(OBJ_D)\uid.obj: $(SRC_D)\crypto\uid.c + $(CC) /Fo$(OBJ_D)\uid.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\uid.c + +$(OBJ_D)\o_time.obj: $(SRC_D)\crypto\o_time.c + $(CC) /Fo$(OBJ_D)\o_time.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\o_time.c + +$(OBJ_D)\o_str.obj: $(SRC_D)\crypto\o_str.c + $(CC) /Fo$(OBJ_D)\o_str.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\o_str.c + +$(OBJ_D)\o_dir.obj: $(SRC_D)\crypto\o_dir.c + $(CC) /Fo$(OBJ_D)\o_dir.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\o_dir.c + +$(OBJ_D)\o_fips.obj: $(SRC_D)\crypto\o_fips.c + $(CC) /Fo$(OBJ_D)\o_fips.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\o_fips.c + +$(OBJ_D)\o_init.obj: $(SRC_D)\crypto\o_init.c + $(CC) /Fo$(OBJ_D)\o_init.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\o_init.c + +$(OBJ_D)\fips_ers.obj: $(SRC_D)\crypto\fips_ers.c + $(CC) /Fo$(OBJ_D)\fips_ers.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\fips_ers.c + +$(OBJ_D)\getenv.obj: $(SRC_D)\crypto\getenv.c + $(CC) /Fo$(OBJ_D)\getenv.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\getenv.c + +$(TMP_D)\x86cpuid.asm: crypto\x86cpuid.pl + $(PERL) crypto\x86cpuid.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\x86cpuid.obj: $(TMP_D)\x86cpuid.asm + $(ASM) -o $@ $(TMP_D)\x86cpuid.asm + +$(OBJ_D)\md4_dgst.obj: $(SRC_D)\crypto\md4\md4_dgst.c + $(CC) /Fo$(OBJ_D)\md4_dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\md4\md4_dgst.c + +$(OBJ_D)\md4_one.obj: $(SRC_D)\crypto\md4\md4_one.c + $(CC) /Fo$(OBJ_D)\md4_one.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\md4\md4_one.c + +$(OBJ_D)\md5_dgst.obj: $(SRC_D)\crypto\md5\md5_dgst.c + $(CC) /Fo$(OBJ_D)\md5_dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\md5\md5_dgst.c + +$(OBJ_D)\md5_one.obj: $(SRC_D)\crypto\md5\md5_one.c + $(CC) /Fo$(OBJ_D)\md5_one.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\md5\md5_one.c + +$(TMP_D)\md5-586.asm: crypto\md5\asm\md5-586.pl + $(PERL) crypto\md5\asm\md5-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\md5-586.obj: $(TMP_D)\md5-586.asm + $(ASM) -o $@ $(TMP_D)\md5-586.asm + +$(OBJ_D)\sha_dgst.obj: $(SRC_D)\crypto\sha\sha_dgst.c + $(CC) /Fo$(OBJ_D)\sha_dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha_dgst.c + +$(OBJ_D)\sha1dgst.obj: $(SRC_D)\crypto\sha\sha1dgst.c + $(CC) /Fo$(OBJ_D)\sha1dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha1dgst.c + +$(OBJ_D)\sha_one.obj: $(SRC_D)\crypto\sha\sha_one.c + $(CC) /Fo$(OBJ_D)\sha_one.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha_one.c + +$(OBJ_D)\sha1_one.obj: $(SRC_D)\crypto\sha\sha1_one.c + $(CC) /Fo$(OBJ_D)\sha1_one.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha1_one.c + +$(OBJ_D)\sha256.obj: $(SRC_D)\crypto\sha\sha256.c + $(CC) /Fo$(OBJ_D)\sha256.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha256.c + +$(OBJ_D)\sha512.obj: $(SRC_D)\crypto\sha\sha512.c + $(CC) /Fo$(OBJ_D)\sha512.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\sha\sha512.c + +$(TMP_D)\sha1-586.asm: crypto\sha\asm\sha1-586.pl + $(PERL) crypto\sha\asm\sha1-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\sha1-586.obj: $(TMP_D)\sha1-586.asm + $(ASM) -o $@ $(TMP_D)\sha1-586.asm + +$(TMP_D)\sha256-586.asm: crypto\sha\asm\sha256-586.pl + $(PERL) crypto\sha\asm\sha256-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\sha256-586.obj: $(TMP_D)\sha256-586.asm + $(ASM) -o $@ $(TMP_D)\sha256-586.asm + +$(TMP_D)\sha512-586.asm: crypto\sha\asm\sha512-586.pl + $(PERL) crypto\sha\asm\sha512-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\sha512-586.obj: $(TMP_D)\sha512-586.asm + $(ASM) -o $@ $(TMP_D)\sha512-586.asm + +$(OBJ_D)\hmac.obj: $(SRC_D)\crypto\hmac\hmac.c + $(CC) /Fo$(OBJ_D)\hmac.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\hmac\hmac.c + +$(OBJ_D)\hm_ameth.obj: $(SRC_D)\crypto\hmac\hm_ameth.c + $(CC) /Fo$(OBJ_D)\hm_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\hmac\hm_ameth.c + +$(OBJ_D)\hm_pmeth.obj: $(SRC_D)\crypto\hmac\hm_pmeth.c + $(CC) /Fo$(OBJ_D)\hm_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\hmac\hm_pmeth.c + +$(OBJ_D)\cmac.obj: $(SRC_D)\crypto\cmac\cmac.c + $(CC) /Fo$(OBJ_D)\cmac.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cmac\cmac.c + +$(OBJ_D)\cm_ameth.obj: $(SRC_D)\crypto\cmac\cm_ameth.c + $(CC) /Fo$(OBJ_D)\cm_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cmac\cm_ameth.c + +$(OBJ_D)\cm_pmeth.obj: $(SRC_D)\crypto\cmac\cm_pmeth.c + $(CC) /Fo$(OBJ_D)\cm_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cmac\cm_pmeth.c + +$(OBJ_D)\rmd_dgst.obj: $(SRC_D)\crypto\ripemd\rmd_dgst.c + $(CC) /Fo$(OBJ_D)\rmd_dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ripemd\rmd_dgst.c + +$(OBJ_D)\rmd_one.obj: $(SRC_D)\crypto\ripemd\rmd_one.c + $(CC) /Fo$(OBJ_D)\rmd_one.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ripemd\rmd_one.c + +$(TMP_D)\rmd-586.asm: crypto\ripemd\asm\rmd-586.pl + $(PERL) crypto\ripemd\asm\rmd-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\rmd-586.obj: $(TMP_D)\rmd-586.asm + $(ASM) -o $@ $(TMP_D)\rmd-586.asm + +$(OBJ_D)\set_key.obj: $(SRC_D)\crypto\des\set_key.c + $(CC) /Fo$(OBJ_D)\set_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\set_key.c + +$(OBJ_D)\ecb_enc.obj: $(SRC_D)\crypto\des\ecb_enc.c + $(CC) /Fo$(OBJ_D)\ecb_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ecb_enc.c + +$(OBJ_D)\cbc_enc.obj: $(SRC_D)\crypto\des\cbc_enc.c + $(CC) /Fo$(OBJ_D)\cbc_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\cbc_enc.c + +$(OBJ_D)\ecb3_enc.obj: $(SRC_D)\crypto\des\ecb3_enc.c + $(CC) /Fo$(OBJ_D)\ecb3_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ecb3_enc.c + +$(OBJ_D)\cfb64enc.obj: $(SRC_D)\crypto\des\cfb64enc.c + $(CC) /Fo$(OBJ_D)\cfb64enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\cfb64enc.c + +$(OBJ_D)\cfb64ede.obj: $(SRC_D)\crypto\des\cfb64ede.c + $(CC) /Fo$(OBJ_D)\cfb64ede.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\cfb64ede.c + +$(OBJ_D)\cfb_enc.obj: $(SRC_D)\crypto\des\cfb_enc.c + $(CC) /Fo$(OBJ_D)\cfb_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\cfb_enc.c + +$(OBJ_D)\ofb64ede.obj: $(SRC_D)\crypto\des\ofb64ede.c + $(CC) /Fo$(OBJ_D)\ofb64ede.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ofb64ede.c + +$(OBJ_D)\enc_read.obj: $(SRC_D)\crypto\des\enc_read.c + $(CC) /Fo$(OBJ_D)\enc_read.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\enc_read.c + +$(OBJ_D)\enc_writ.obj: $(SRC_D)\crypto\des\enc_writ.c + $(CC) /Fo$(OBJ_D)\enc_writ.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\enc_writ.c + +$(OBJ_D)\ofb64enc.obj: $(SRC_D)\crypto\des\ofb64enc.c + $(CC) /Fo$(OBJ_D)\ofb64enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ofb64enc.c + +$(OBJ_D)\ofb_enc.obj: $(SRC_D)\crypto\des\ofb_enc.c + $(CC) /Fo$(OBJ_D)\ofb_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ofb_enc.c + +$(OBJ_D)\str2key.obj: $(SRC_D)\crypto\des\str2key.c + $(CC) /Fo$(OBJ_D)\str2key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\str2key.c + +$(OBJ_D)\pcbc_enc.obj: $(SRC_D)\crypto\des\pcbc_enc.c + $(CC) /Fo$(OBJ_D)\pcbc_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\pcbc_enc.c + +$(OBJ_D)\qud_cksm.obj: $(SRC_D)\crypto\des\qud_cksm.c + $(CC) /Fo$(OBJ_D)\qud_cksm.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\qud_cksm.c + +$(OBJ_D)\rand_key.obj: $(SRC_D)\crypto\des\rand_key.c + $(CC) /Fo$(OBJ_D)\rand_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\rand_key.c + +$(TMP_D)\des-586.asm: crypto\des\asm\des-586.pl + $(PERL) crypto\des\asm\des-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\des-586.obj: $(TMP_D)\des-586.asm + $(ASM) -o $@ $(TMP_D)\des-586.asm + +$(TMP_D)\crypt586.asm: crypto\des\asm\crypt586.pl + $(PERL) crypto\des\asm\crypt586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\crypt586.obj: $(TMP_D)\crypt586.asm + $(ASM) -o $@ $(TMP_D)\crypt586.asm + +$(OBJ_D)\fcrypt.obj: $(SRC_D)\crypto\des\fcrypt.c + $(CC) /Fo$(OBJ_D)\fcrypt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\fcrypt.c + +$(OBJ_D)\xcbc_enc.obj: $(SRC_D)\crypto\des\xcbc_enc.c + $(CC) /Fo$(OBJ_D)\xcbc_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\xcbc_enc.c + +$(OBJ_D)\rpc_enc.obj: $(SRC_D)\crypto\des\rpc_enc.c + $(CC) /Fo$(OBJ_D)\rpc_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\rpc_enc.c + +$(OBJ_D)\cbc_cksm.obj: $(SRC_D)\crypto\des\cbc_cksm.c + $(CC) /Fo$(OBJ_D)\cbc_cksm.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\cbc_cksm.c + +$(OBJ_D)\ede_cbcm_enc.obj: $(SRC_D)\crypto\des\ede_cbcm_enc.c + $(CC) /Fo$(OBJ_D)\ede_cbcm_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\ede_cbcm_enc.c + +$(OBJ_D)\des_old.obj: $(SRC_D)\crypto\des\des_old.c + $(CC) /Fo$(OBJ_D)\des_old.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\des_old.c + +$(OBJ_D)\des_old2.obj: $(SRC_D)\crypto\des\des_old2.c + $(CC) /Fo$(OBJ_D)\des_old2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\des_old2.c + +$(OBJ_D)\read2pwd.obj: $(SRC_D)\crypto\des\read2pwd.c + $(CC) /Fo$(OBJ_D)\read2pwd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\des\read2pwd.c + +$(OBJ_D)\rc2_ecb.obj: $(SRC_D)\crypto\rc2\rc2_ecb.c + $(CC) /Fo$(OBJ_D)\rc2_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc2\rc2_ecb.c + +$(OBJ_D)\rc2_skey.obj: $(SRC_D)\crypto\rc2\rc2_skey.c + $(CC) /Fo$(OBJ_D)\rc2_skey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc2\rc2_skey.c + +$(OBJ_D)\rc2_cbc.obj: $(SRC_D)\crypto\rc2\rc2_cbc.c + $(CC) /Fo$(OBJ_D)\rc2_cbc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc2\rc2_cbc.c + +$(OBJ_D)\rc2cfb64.obj: $(SRC_D)\crypto\rc2\rc2cfb64.c + $(CC) /Fo$(OBJ_D)\rc2cfb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc2\rc2cfb64.c + +$(OBJ_D)\rc2ofb64.obj: $(SRC_D)\crypto\rc2\rc2ofb64.c + $(CC) /Fo$(OBJ_D)\rc2ofb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc2\rc2ofb64.c + +$(TMP_D)\rc4-586.asm: crypto\rc4\asm\rc4-586.pl + $(PERL) crypto\rc4\asm\rc4-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\rc4-586.obj: $(TMP_D)\rc4-586.asm + $(ASM) -o $@ $(TMP_D)\rc4-586.asm + +$(OBJ_D)\rc4_utl.obj: $(SRC_D)\crypto\rc4\rc4_utl.c + $(CC) /Fo$(OBJ_D)\rc4_utl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rc4\rc4_utl.c + +$(OBJ_D)\bf_skey.obj: $(SRC_D)\crypto\bf\bf_skey.c + $(CC) /Fo$(OBJ_D)\bf_skey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bf\bf_skey.c + +$(OBJ_D)\bf_ecb.obj: $(SRC_D)\crypto\bf\bf_ecb.c + $(CC) /Fo$(OBJ_D)\bf_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bf\bf_ecb.c + +$(TMP_D)\bf-586.asm: crypto\bf\asm\bf-586.pl + $(PERL) crypto\bf\asm\bf-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\bf-586.obj: $(TMP_D)\bf-586.asm + $(ASM) -o $@ $(TMP_D)\bf-586.asm + +$(OBJ_D)\bf_cfb64.obj: $(SRC_D)\crypto\bf\bf_cfb64.c + $(CC) /Fo$(OBJ_D)\bf_cfb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bf\bf_cfb64.c + +$(OBJ_D)\bf_ofb64.obj: $(SRC_D)\crypto\bf\bf_ofb64.c + $(CC) /Fo$(OBJ_D)\bf_ofb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bf\bf_ofb64.c + +$(OBJ_D)\c_skey.obj: $(SRC_D)\crypto\cast\c_skey.c + $(CC) /Fo$(OBJ_D)\c_skey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cast\c_skey.c + +$(OBJ_D)\c_ecb.obj: $(SRC_D)\crypto\cast\c_ecb.c + $(CC) /Fo$(OBJ_D)\c_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cast\c_ecb.c + +$(TMP_D)\cast-586.asm: crypto\cast\asm\cast-586.pl + $(PERL) crypto\cast\asm\cast-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\cast-586.obj: $(TMP_D)\cast-586.asm + $(ASM) -o $@ $(TMP_D)\cast-586.asm + +$(OBJ_D)\c_cfb64.obj: $(SRC_D)\crypto\cast\c_cfb64.c + $(CC) /Fo$(OBJ_D)\c_cfb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cast\c_cfb64.c + +$(OBJ_D)\c_ofb64.obj: $(SRC_D)\crypto\cast\c_ofb64.c + $(CC) /Fo$(OBJ_D)\c_ofb64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cast\c_ofb64.c + +$(OBJ_D)\aes_misc.obj: $(SRC_D)\crypto\aes\aes_misc.c + $(CC) /Fo$(OBJ_D)\aes_misc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_misc.c + +$(OBJ_D)\aes_ecb.obj: $(SRC_D)\crypto\aes\aes_ecb.c + $(CC) /Fo$(OBJ_D)\aes_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_ecb.c + +$(OBJ_D)\aes_cfb.obj: $(SRC_D)\crypto\aes\aes_cfb.c + $(CC) /Fo$(OBJ_D)\aes_cfb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_cfb.c + +$(OBJ_D)\aes_ofb.obj: $(SRC_D)\crypto\aes\aes_ofb.c + $(CC) /Fo$(OBJ_D)\aes_ofb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_ofb.c + +$(OBJ_D)\aes_ctr.obj: $(SRC_D)\crypto\aes\aes_ctr.c + $(CC) /Fo$(OBJ_D)\aes_ctr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_ctr.c + +$(OBJ_D)\aes_ige.obj: $(SRC_D)\crypto\aes\aes_ige.c + $(CC) /Fo$(OBJ_D)\aes_ige.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_ige.c + +$(OBJ_D)\aes_wrap.obj: $(SRC_D)\crypto\aes\aes_wrap.c + $(CC) /Fo$(OBJ_D)\aes_wrap.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\aes\aes_wrap.c + +$(TMP_D)\aes-586.asm: crypto\aes\asm\aes-586.pl + $(PERL) crypto\aes\asm\aes-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\aes-586.obj: $(TMP_D)\aes-586.asm + $(ASM) -o $@ $(TMP_D)\aes-586.asm + +$(TMP_D)\vpaes-x86.asm: crypto\aes\asm\vpaes-x86.pl + $(PERL) crypto\aes\asm\vpaes-x86.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\vpaes-x86.obj: $(TMP_D)\vpaes-x86.asm + $(ASM) -o $@ $(TMP_D)\vpaes-x86.asm + +$(TMP_D)\aesni-x86.asm: crypto\aes\asm\aesni-x86.pl + $(PERL) crypto\aes\asm\aesni-x86.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\aesni-x86.obj: $(TMP_D)\aesni-x86.asm + $(ASM) -o $@ $(TMP_D)\aesni-x86.asm + +$(OBJ_D)\cmll_ecb.obj: $(SRC_D)\crypto\camellia\cmll_ecb.c + $(CC) /Fo$(OBJ_D)\cmll_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\camellia\cmll_ecb.c + +$(OBJ_D)\cmll_ofb.obj: $(SRC_D)\crypto\camellia\cmll_ofb.c + $(CC) /Fo$(OBJ_D)\cmll_ofb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\camellia\cmll_ofb.c + +$(OBJ_D)\cmll_cfb.obj: $(SRC_D)\crypto\camellia\cmll_cfb.c + $(CC) /Fo$(OBJ_D)\cmll_cfb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\camellia\cmll_cfb.c + +$(OBJ_D)\cmll_ctr.obj: $(SRC_D)\crypto\camellia\cmll_ctr.c + $(CC) /Fo$(OBJ_D)\cmll_ctr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\camellia\cmll_ctr.c + +$(OBJ_D)\cmll_utl.obj: $(SRC_D)\crypto\camellia\cmll_utl.c + $(CC) /Fo$(OBJ_D)\cmll_utl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\camellia\cmll_utl.c + +$(TMP_D)\cmll-x86.asm: crypto\camellia\asm\cmll-x86.pl + $(PERL) crypto\camellia\asm\cmll-x86.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\cmll-x86.obj: $(TMP_D)\cmll-x86.asm + $(ASM) -o $@ $(TMP_D)\cmll-x86.asm + +$(OBJ_D)\seed.obj: $(SRC_D)\crypto\seed\seed.c + $(CC) /Fo$(OBJ_D)\seed.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\seed\seed.c + +$(OBJ_D)\seed_ecb.obj: $(SRC_D)\crypto\seed\seed_ecb.c + $(CC) /Fo$(OBJ_D)\seed_ecb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\seed\seed_ecb.c + +$(OBJ_D)\seed_cbc.obj: $(SRC_D)\crypto\seed\seed_cbc.c + $(CC) /Fo$(OBJ_D)\seed_cbc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\seed\seed_cbc.c + +$(OBJ_D)\seed_cfb.obj: $(SRC_D)\crypto\seed\seed_cfb.c + $(CC) /Fo$(OBJ_D)\seed_cfb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\seed\seed_cfb.c + +$(OBJ_D)\seed_ofb.obj: $(SRC_D)\crypto\seed\seed_ofb.c + $(CC) /Fo$(OBJ_D)\seed_ofb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\seed\seed_ofb.c + +$(OBJ_D)\cbc128.obj: $(SRC_D)\crypto\modes\cbc128.c + $(CC) /Fo$(OBJ_D)\cbc128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\cbc128.c + +$(OBJ_D)\ctr128.obj: $(SRC_D)\crypto\modes\ctr128.c + $(CC) /Fo$(OBJ_D)\ctr128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\ctr128.c + +$(OBJ_D)\cts128.obj: $(SRC_D)\crypto\modes\cts128.c + $(CC) /Fo$(OBJ_D)\cts128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\cts128.c + +$(OBJ_D)\cfb128.obj: $(SRC_D)\crypto\modes\cfb128.c + $(CC) /Fo$(OBJ_D)\cfb128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\cfb128.c + +$(OBJ_D)\ofb128.obj: $(SRC_D)\crypto\modes\ofb128.c + $(CC) /Fo$(OBJ_D)\ofb128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\ofb128.c + +$(OBJ_D)\gcm128.obj: $(SRC_D)\crypto\modes\gcm128.c + $(CC) /Fo$(OBJ_D)\gcm128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\gcm128.c + +$(OBJ_D)\ccm128.obj: $(SRC_D)\crypto\modes\ccm128.c + $(CC) /Fo$(OBJ_D)\ccm128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\ccm128.c + +$(OBJ_D)\xts128.obj: $(SRC_D)\crypto\modes\xts128.c + $(CC) /Fo$(OBJ_D)\xts128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\xts128.c + +$(OBJ_D)\wrap128.obj: $(SRC_D)\crypto\modes\wrap128.c + $(CC) /Fo$(OBJ_D)\wrap128.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\modes\wrap128.c + +$(TMP_D)\ghash-x86.asm: crypto\modes\asm\ghash-x86.pl + $(PERL) crypto\modes\asm\ghash-x86.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\ghash-x86.obj: $(TMP_D)\ghash-x86.asm + $(ASM) -o $@ $(TMP_D)\ghash-x86.asm + +$(OBJ_D)\bn_add.obj: $(SRC_D)\crypto\bn\bn_add.c + $(CC) /Fo$(OBJ_D)\bn_add.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_add.c + +$(OBJ_D)\bn_div.obj: $(SRC_D)\crypto\bn\bn_div.c + $(CC) /Fo$(OBJ_D)\bn_div.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_div.c + +$(OBJ_D)\bn_exp.obj: $(SRC_D)\crypto\bn\bn_exp.c + $(CC) /Fo$(OBJ_D)\bn_exp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_exp.c + +$(OBJ_D)\bn_lib.obj: $(SRC_D)\crypto\bn\bn_lib.c + $(CC) /Fo$(OBJ_D)\bn_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_lib.c + +$(OBJ_D)\bn_ctx.obj: $(SRC_D)\crypto\bn\bn_ctx.c + $(CC) /Fo$(OBJ_D)\bn_ctx.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_ctx.c + +$(OBJ_D)\bn_mul.obj: $(SRC_D)\crypto\bn\bn_mul.c + $(CC) /Fo$(OBJ_D)\bn_mul.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_mul.c + +$(OBJ_D)\bn_mod.obj: $(SRC_D)\crypto\bn\bn_mod.c + $(CC) /Fo$(OBJ_D)\bn_mod.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_mod.c + +$(OBJ_D)\bn_print.obj: $(SRC_D)\crypto\bn\bn_print.c + $(CC) /Fo$(OBJ_D)\bn_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_print.c + +$(OBJ_D)\bn_rand.obj: $(SRC_D)\crypto\bn\bn_rand.c + $(CC) /Fo$(OBJ_D)\bn_rand.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_rand.c + +$(OBJ_D)\bn_shift.obj: $(SRC_D)\crypto\bn\bn_shift.c + $(CC) /Fo$(OBJ_D)\bn_shift.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_shift.c + +$(OBJ_D)\bn_word.obj: $(SRC_D)\crypto\bn\bn_word.c + $(CC) /Fo$(OBJ_D)\bn_word.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_word.c + +$(OBJ_D)\bn_blind.obj: $(SRC_D)\crypto\bn\bn_blind.c + $(CC) /Fo$(OBJ_D)\bn_blind.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_blind.c + +$(OBJ_D)\bn_kron.obj: $(SRC_D)\crypto\bn\bn_kron.c + $(CC) /Fo$(OBJ_D)\bn_kron.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_kron.c + +$(OBJ_D)\bn_sqrt.obj: $(SRC_D)\crypto\bn\bn_sqrt.c + $(CC) /Fo$(OBJ_D)\bn_sqrt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_sqrt.c + +$(OBJ_D)\bn_gcd.obj: $(SRC_D)\crypto\bn\bn_gcd.c + $(CC) /Fo$(OBJ_D)\bn_gcd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_gcd.c + +$(OBJ_D)\bn_prime.obj: $(SRC_D)\crypto\bn\bn_prime.c + $(CC) /Fo$(OBJ_D)\bn_prime.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_prime.c + +$(OBJ_D)\bn_err.obj: $(SRC_D)\crypto\bn\bn_err.c + $(CC) /Fo$(OBJ_D)\bn_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_err.c + +$(OBJ_D)\bn_sqr.obj: $(SRC_D)\crypto\bn\bn_sqr.c + $(CC) /Fo$(OBJ_D)\bn_sqr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_sqr.c + +$(TMP_D)\bn-586.asm: crypto\bn\asm\bn-586.pl + $(PERL) crypto\bn\asm\bn-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\bn-586.obj: $(TMP_D)\bn-586.asm + $(ASM) -o $@ $(TMP_D)\bn-586.asm + +$(TMP_D)\co-586.asm: crypto\bn\asm\co-586.pl + $(PERL) crypto\bn\asm\co-586.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\co-586.obj: $(TMP_D)\co-586.asm + $(ASM) -o $@ $(TMP_D)\co-586.asm + +$(TMP_D)\x86-mont.asm: crypto\bn\asm\x86-mont.pl + $(PERL) crypto\bn\asm\x86-mont.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\x86-mont.obj: $(TMP_D)\x86-mont.asm + $(ASM) -o $@ $(TMP_D)\x86-mont.asm + +$(TMP_D)\x86-gf2m.asm: crypto\bn\asm\x86-gf2m.pl + $(PERL) crypto\bn\asm\x86-gf2m.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\x86-gf2m.obj: $(TMP_D)\x86-gf2m.asm + $(ASM) -o $@ $(TMP_D)\x86-gf2m.asm + +$(OBJ_D)\bn_recp.obj: $(SRC_D)\crypto\bn\bn_recp.c + $(CC) /Fo$(OBJ_D)\bn_recp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_recp.c + +$(OBJ_D)\bn_mont.obj: $(SRC_D)\crypto\bn\bn_mont.c + $(CC) /Fo$(OBJ_D)\bn_mont.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_mont.c + +$(OBJ_D)\bn_mpi.obj: $(SRC_D)\crypto\bn\bn_mpi.c + $(CC) /Fo$(OBJ_D)\bn_mpi.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_mpi.c + +$(OBJ_D)\bn_exp2.obj: $(SRC_D)\crypto\bn\bn_exp2.c + $(CC) /Fo$(OBJ_D)\bn_exp2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_exp2.c + +$(OBJ_D)\bn_gf2m.obj: $(SRC_D)\crypto\bn\bn_gf2m.c + $(CC) /Fo$(OBJ_D)\bn_gf2m.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_gf2m.c + +$(OBJ_D)\bn_nist.obj: $(SRC_D)\crypto\bn\bn_nist.c + $(CC) /Fo$(OBJ_D)\bn_nist.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_nist.c + +$(OBJ_D)\bn_depr.obj: $(SRC_D)\crypto\bn\bn_depr.c + $(CC) /Fo$(OBJ_D)\bn_depr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_depr.c + +$(OBJ_D)\bn_const.obj: $(SRC_D)\crypto\bn\bn_const.c + $(CC) /Fo$(OBJ_D)\bn_const.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_const.c + +$(OBJ_D)\bn_x931p.obj: $(SRC_D)\crypto\bn\bn_x931p.c + $(CC) /Fo$(OBJ_D)\bn_x931p.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bn\bn_x931p.c + +$(OBJ_D)\rsa_eay.obj: $(SRC_D)\crypto\rsa\rsa_eay.c + $(CC) /Fo$(OBJ_D)\rsa_eay.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_eay.c + +$(OBJ_D)\rsa_gen.obj: $(SRC_D)\crypto\rsa\rsa_gen.c + $(CC) /Fo$(OBJ_D)\rsa_gen.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_gen.c + +$(OBJ_D)\rsa_lib.obj: $(SRC_D)\crypto\rsa\rsa_lib.c + $(CC) /Fo$(OBJ_D)\rsa_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_lib.c + +$(OBJ_D)\rsa_sign.obj: $(SRC_D)\crypto\rsa\rsa_sign.c + $(CC) /Fo$(OBJ_D)\rsa_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_sign.c + +$(OBJ_D)\rsa_saos.obj: $(SRC_D)\crypto\rsa\rsa_saos.c + $(CC) /Fo$(OBJ_D)\rsa_saos.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_saos.c + +$(OBJ_D)\rsa_err.obj: $(SRC_D)\crypto\rsa\rsa_err.c + $(CC) /Fo$(OBJ_D)\rsa_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_err.c + +$(OBJ_D)\rsa_pk1.obj: $(SRC_D)\crypto\rsa\rsa_pk1.c + $(CC) /Fo$(OBJ_D)\rsa_pk1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_pk1.c + +$(OBJ_D)\rsa_ssl.obj: $(SRC_D)\crypto\rsa\rsa_ssl.c + $(CC) /Fo$(OBJ_D)\rsa_ssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_ssl.c + +$(OBJ_D)\rsa_none.obj: $(SRC_D)\crypto\rsa\rsa_none.c + $(CC) /Fo$(OBJ_D)\rsa_none.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_none.c + +$(OBJ_D)\rsa_oaep.obj: $(SRC_D)\crypto\rsa\rsa_oaep.c + $(CC) /Fo$(OBJ_D)\rsa_oaep.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_oaep.c + +$(OBJ_D)\rsa_chk.obj: $(SRC_D)\crypto\rsa\rsa_chk.c + $(CC) /Fo$(OBJ_D)\rsa_chk.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_chk.c + +$(OBJ_D)\rsa_null.obj: $(SRC_D)\crypto\rsa\rsa_null.c + $(CC) /Fo$(OBJ_D)\rsa_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_null.c + +$(OBJ_D)\rsa_pss.obj: $(SRC_D)\crypto\rsa\rsa_pss.c + $(CC) /Fo$(OBJ_D)\rsa_pss.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_pss.c + +$(OBJ_D)\rsa_x931.obj: $(SRC_D)\crypto\rsa\rsa_x931.c + $(CC) /Fo$(OBJ_D)\rsa_x931.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_x931.c + +$(OBJ_D)\rsa_asn1.obj: $(SRC_D)\crypto\rsa\rsa_asn1.c + $(CC) /Fo$(OBJ_D)\rsa_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_asn1.c + +$(OBJ_D)\rsa_depr.obj: $(SRC_D)\crypto\rsa\rsa_depr.c + $(CC) /Fo$(OBJ_D)\rsa_depr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_depr.c + +$(OBJ_D)\rsa_ameth.obj: $(SRC_D)\crypto\rsa\rsa_ameth.c + $(CC) /Fo$(OBJ_D)\rsa_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_ameth.c + +$(OBJ_D)\rsa_prn.obj: $(SRC_D)\crypto\rsa\rsa_prn.c + $(CC) /Fo$(OBJ_D)\rsa_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_prn.c + +$(OBJ_D)\rsa_pmeth.obj: $(SRC_D)\crypto\rsa\rsa_pmeth.c + $(CC) /Fo$(OBJ_D)\rsa_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_pmeth.c + +$(OBJ_D)\rsa_crpt.obj: $(SRC_D)\crypto\rsa\rsa_crpt.c + $(CC) /Fo$(OBJ_D)\rsa_crpt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rsa\rsa_crpt.c + +$(OBJ_D)\dsa_gen.obj: $(SRC_D)\crypto\dsa\dsa_gen.c + $(CC) /Fo$(OBJ_D)\dsa_gen.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_gen.c + +$(OBJ_D)\dsa_key.obj: $(SRC_D)\crypto\dsa\dsa_key.c + $(CC) /Fo$(OBJ_D)\dsa_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_key.c + +$(OBJ_D)\dsa_lib.obj: $(SRC_D)\crypto\dsa\dsa_lib.c + $(CC) /Fo$(OBJ_D)\dsa_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_lib.c + +$(OBJ_D)\dsa_asn1.obj: $(SRC_D)\crypto\dsa\dsa_asn1.c + $(CC) /Fo$(OBJ_D)\dsa_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_asn1.c + +$(OBJ_D)\dsa_vrf.obj: $(SRC_D)\crypto\dsa\dsa_vrf.c + $(CC) /Fo$(OBJ_D)\dsa_vrf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_vrf.c + +$(OBJ_D)\dsa_sign.obj: $(SRC_D)\crypto\dsa\dsa_sign.c + $(CC) /Fo$(OBJ_D)\dsa_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_sign.c + +$(OBJ_D)\dsa_err.obj: $(SRC_D)\crypto\dsa\dsa_err.c + $(CC) /Fo$(OBJ_D)\dsa_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_err.c + +$(OBJ_D)\dsa_ossl.obj: $(SRC_D)\crypto\dsa\dsa_ossl.c + $(CC) /Fo$(OBJ_D)\dsa_ossl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_ossl.c + +$(OBJ_D)\dsa_depr.obj: $(SRC_D)\crypto\dsa\dsa_depr.c + $(CC) /Fo$(OBJ_D)\dsa_depr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_depr.c + +$(OBJ_D)\dsa_ameth.obj: $(SRC_D)\crypto\dsa\dsa_ameth.c + $(CC) /Fo$(OBJ_D)\dsa_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_ameth.c + +$(OBJ_D)\dsa_pmeth.obj: $(SRC_D)\crypto\dsa\dsa_pmeth.c + $(CC) /Fo$(OBJ_D)\dsa_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_pmeth.c + +$(OBJ_D)\dsa_prn.obj: $(SRC_D)\crypto\dsa\dsa_prn.c + $(CC) /Fo$(OBJ_D)\dsa_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dsa\dsa_prn.c + +$(OBJ_D)\dso_dl.obj: $(SRC_D)\crypto\dso\dso_dl.c + $(CC) /Fo$(OBJ_D)\dso_dl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_dl.c + +$(OBJ_D)\dso_dlfcn.obj: $(SRC_D)\crypto\dso\dso_dlfcn.c + $(CC) /Fo$(OBJ_D)\dso_dlfcn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_dlfcn.c + +$(OBJ_D)\dso_err.obj: $(SRC_D)\crypto\dso\dso_err.c + $(CC) /Fo$(OBJ_D)\dso_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_err.c + +$(OBJ_D)\dso_lib.obj: $(SRC_D)\crypto\dso\dso_lib.c + $(CC) /Fo$(OBJ_D)\dso_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_lib.c + +$(OBJ_D)\dso_null.obj: $(SRC_D)\crypto\dso\dso_null.c + $(CC) /Fo$(OBJ_D)\dso_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_null.c + +$(OBJ_D)\dso_openssl.obj: $(SRC_D)\crypto\dso\dso_openssl.c + $(CC) /Fo$(OBJ_D)\dso_openssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_openssl.c + +$(OBJ_D)\dso_win32.obj: $(SRC_D)\crypto\dso\dso_win32.c + $(CC) /Fo$(OBJ_D)\dso_win32.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_win32.c + +$(OBJ_D)\dso_vms.obj: $(SRC_D)\crypto\dso\dso_vms.c + $(CC) /Fo$(OBJ_D)\dso_vms.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_vms.c + +$(OBJ_D)\dso_beos.obj: $(SRC_D)\crypto\dso\dso_beos.c + $(CC) /Fo$(OBJ_D)\dso_beos.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dso\dso_beos.c + +$(OBJ_D)\dh_asn1.obj: $(SRC_D)\crypto\dh\dh_asn1.c + $(CC) /Fo$(OBJ_D)\dh_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_asn1.c + +$(OBJ_D)\dh_gen.obj: $(SRC_D)\crypto\dh\dh_gen.c + $(CC) /Fo$(OBJ_D)\dh_gen.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_gen.c + +$(OBJ_D)\dh_key.obj: $(SRC_D)\crypto\dh\dh_key.c + $(CC) /Fo$(OBJ_D)\dh_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_key.c + +$(OBJ_D)\dh_lib.obj: $(SRC_D)\crypto\dh\dh_lib.c + $(CC) /Fo$(OBJ_D)\dh_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_lib.c + +$(OBJ_D)\dh_check.obj: $(SRC_D)\crypto\dh\dh_check.c + $(CC) /Fo$(OBJ_D)\dh_check.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_check.c + +$(OBJ_D)\dh_err.obj: $(SRC_D)\crypto\dh\dh_err.c + $(CC) /Fo$(OBJ_D)\dh_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_err.c + +$(OBJ_D)\dh_depr.obj: $(SRC_D)\crypto\dh\dh_depr.c + $(CC) /Fo$(OBJ_D)\dh_depr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_depr.c + +$(OBJ_D)\dh_ameth.obj: $(SRC_D)\crypto\dh\dh_ameth.c + $(CC) /Fo$(OBJ_D)\dh_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_ameth.c + +$(OBJ_D)\dh_pmeth.obj: $(SRC_D)\crypto\dh\dh_pmeth.c + $(CC) /Fo$(OBJ_D)\dh_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_pmeth.c + +$(OBJ_D)\dh_prn.obj: $(SRC_D)\crypto\dh\dh_prn.c + $(CC) /Fo$(OBJ_D)\dh_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_prn.c + +$(OBJ_D)\dh_rfc5114.obj: $(SRC_D)\crypto\dh\dh_rfc5114.c + $(CC) /Fo$(OBJ_D)\dh_rfc5114.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_rfc5114.c + +$(OBJ_D)\dh_kdf.obj: $(SRC_D)\crypto\dh\dh_kdf.c + $(CC) /Fo$(OBJ_D)\dh_kdf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\dh\dh_kdf.c + +$(OBJ_D)\ec_lib.obj: $(SRC_D)\crypto\ec\ec_lib.c + $(CC) /Fo$(OBJ_D)\ec_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_lib.c + +$(OBJ_D)\ecp_smpl.obj: $(SRC_D)\crypto\ec\ecp_smpl.c + $(CC) /Fo$(OBJ_D)\ecp_smpl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_smpl.c + +$(OBJ_D)\ecp_mont.obj: $(SRC_D)\crypto\ec\ecp_mont.c + $(CC) /Fo$(OBJ_D)\ecp_mont.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_mont.c + +$(OBJ_D)\ecp_nist.obj: $(SRC_D)\crypto\ec\ecp_nist.c + $(CC) /Fo$(OBJ_D)\ecp_nist.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_nist.c + +$(OBJ_D)\ec_cvt.obj: $(SRC_D)\crypto\ec\ec_cvt.c + $(CC) /Fo$(OBJ_D)\ec_cvt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_cvt.c + +$(OBJ_D)\ec_mult.obj: $(SRC_D)\crypto\ec\ec_mult.c + $(CC) /Fo$(OBJ_D)\ec_mult.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_mult.c + +$(OBJ_D)\ec_err.obj: $(SRC_D)\crypto\ec\ec_err.c + $(CC) /Fo$(OBJ_D)\ec_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_err.c + +$(OBJ_D)\ec_curve.obj: $(SRC_D)\crypto\ec\ec_curve.c + $(CC) /Fo$(OBJ_D)\ec_curve.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_curve.c + +$(OBJ_D)\ec_check.obj: $(SRC_D)\crypto\ec\ec_check.c + $(CC) /Fo$(OBJ_D)\ec_check.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_check.c + +$(OBJ_D)\ec_print.obj: $(SRC_D)\crypto\ec\ec_print.c + $(CC) /Fo$(OBJ_D)\ec_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_print.c + +$(OBJ_D)\ec_asn1.obj: $(SRC_D)\crypto\ec\ec_asn1.c + $(CC) /Fo$(OBJ_D)\ec_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_asn1.c + +$(OBJ_D)\ec_key.obj: $(SRC_D)\crypto\ec\ec_key.c + $(CC) /Fo$(OBJ_D)\ec_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_key.c + +$(OBJ_D)\ec2_smpl.obj: $(SRC_D)\crypto\ec\ec2_smpl.c + $(CC) /Fo$(OBJ_D)\ec2_smpl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec2_smpl.c + +$(OBJ_D)\ec2_mult.obj: $(SRC_D)\crypto\ec\ec2_mult.c + $(CC) /Fo$(OBJ_D)\ec2_mult.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec2_mult.c + +$(OBJ_D)\ec_ameth.obj: $(SRC_D)\crypto\ec\ec_ameth.c + $(CC) /Fo$(OBJ_D)\ec_ameth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_ameth.c + +$(OBJ_D)\ec_pmeth.obj: $(SRC_D)\crypto\ec\ec_pmeth.c + $(CC) /Fo$(OBJ_D)\ec_pmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_pmeth.c + +$(OBJ_D)\eck_prn.obj: $(SRC_D)\crypto\ec\eck_prn.c + $(CC) /Fo$(OBJ_D)\eck_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\eck_prn.c + +$(OBJ_D)\ecp_nistp224.obj: $(SRC_D)\crypto\ec\ecp_nistp224.c + $(CC) /Fo$(OBJ_D)\ecp_nistp224.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_nistp224.c + +$(OBJ_D)\ecp_nistp256.obj: $(SRC_D)\crypto\ec\ecp_nistp256.c + $(CC) /Fo$(OBJ_D)\ecp_nistp256.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_nistp256.c + +$(OBJ_D)\ecp_nistp521.obj: $(SRC_D)\crypto\ec\ecp_nistp521.c + $(CC) /Fo$(OBJ_D)\ecp_nistp521.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_nistp521.c + +$(OBJ_D)\ecp_nistputil.obj: $(SRC_D)\crypto\ec\ecp_nistputil.c + $(CC) /Fo$(OBJ_D)\ecp_nistputil.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_nistputil.c + +$(OBJ_D)\ecp_oct.obj: $(SRC_D)\crypto\ec\ecp_oct.c + $(CC) /Fo$(OBJ_D)\ecp_oct.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ecp_oct.c + +$(OBJ_D)\ec2_oct.obj: $(SRC_D)\crypto\ec\ec2_oct.c + $(CC) /Fo$(OBJ_D)\ec2_oct.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec2_oct.c + +$(OBJ_D)\ec_oct.obj: $(SRC_D)\crypto\ec\ec_oct.c + $(CC) /Fo$(OBJ_D)\ec_oct.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ec\ec_oct.c + +$(OBJ_D)\ech_lib.obj: $(SRC_D)\crypto\ecdh\ech_lib.c + $(CC) /Fo$(OBJ_D)\ech_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdh\ech_lib.c + +$(OBJ_D)\ech_ossl.obj: $(SRC_D)\crypto\ecdh\ech_ossl.c + $(CC) /Fo$(OBJ_D)\ech_ossl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdh\ech_ossl.c + +$(OBJ_D)\ech_key.obj: $(SRC_D)\crypto\ecdh\ech_key.c + $(CC) /Fo$(OBJ_D)\ech_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdh\ech_key.c + +$(OBJ_D)\ech_err.obj: $(SRC_D)\crypto\ecdh\ech_err.c + $(CC) /Fo$(OBJ_D)\ech_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdh\ech_err.c + +$(OBJ_D)\ech_kdf.obj: $(SRC_D)\crypto\ecdh\ech_kdf.c + $(CC) /Fo$(OBJ_D)\ech_kdf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdh\ech_kdf.c + +$(OBJ_D)\ecs_lib.obj: $(SRC_D)\crypto\ecdsa\ecs_lib.c + $(CC) /Fo$(OBJ_D)\ecs_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_lib.c + +$(OBJ_D)\ecs_asn1.obj: $(SRC_D)\crypto\ecdsa\ecs_asn1.c + $(CC) /Fo$(OBJ_D)\ecs_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_asn1.c + +$(OBJ_D)\ecs_ossl.obj: $(SRC_D)\crypto\ecdsa\ecs_ossl.c + $(CC) /Fo$(OBJ_D)\ecs_ossl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_ossl.c + +$(OBJ_D)\ecs_sign.obj: $(SRC_D)\crypto\ecdsa\ecs_sign.c + $(CC) /Fo$(OBJ_D)\ecs_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_sign.c + +$(OBJ_D)\ecs_vrf.obj: $(SRC_D)\crypto\ecdsa\ecs_vrf.c + $(CC) /Fo$(OBJ_D)\ecs_vrf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_vrf.c + +$(OBJ_D)\ecs_err.obj: $(SRC_D)\crypto\ecdsa\ecs_err.c + $(CC) /Fo$(OBJ_D)\ecs_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ecdsa\ecs_err.c + +$(OBJ_D)\buffer.obj: $(SRC_D)\crypto\buffer\buffer.c + $(CC) /Fo$(OBJ_D)\buffer.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\buffer\buffer.c + +$(OBJ_D)\buf_str.obj: $(SRC_D)\crypto\buffer\buf_str.c + $(CC) /Fo$(OBJ_D)\buf_str.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\buffer\buf_str.c + +$(OBJ_D)\buf_err.obj: $(SRC_D)\crypto\buffer\buf_err.c + $(CC) /Fo$(OBJ_D)\buf_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\buffer\buf_err.c + +$(OBJ_D)\bio_lib.obj: $(SRC_D)\crypto\bio\bio_lib.c + $(CC) /Fo$(OBJ_D)\bio_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bio_lib.c + +$(OBJ_D)\bio_cb.obj: $(SRC_D)\crypto\bio\bio_cb.c + $(CC) /Fo$(OBJ_D)\bio_cb.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bio_cb.c + +$(OBJ_D)\bio_err.obj: $(SRC_D)\crypto\bio\bio_err.c + $(CC) /Fo$(OBJ_D)\bio_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bio_err.c + +$(OBJ_D)\bss_mem.obj: $(SRC_D)\crypto\bio\bss_mem.c + $(CC) /Fo$(OBJ_D)\bss_mem.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_mem.c + +$(OBJ_D)\bss_null.obj: $(SRC_D)\crypto\bio\bss_null.c + $(CC) /Fo$(OBJ_D)\bss_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_null.c + +$(OBJ_D)\bss_fd.obj: $(SRC_D)\crypto\bio\bss_fd.c + $(CC) /Fo$(OBJ_D)\bss_fd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_fd.c + +$(OBJ_D)\bss_file.obj: $(SRC_D)\crypto\bio\bss_file.c + $(CC) /Fo$(OBJ_D)\bss_file.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_file.c + +$(OBJ_D)\bss_sock.obj: $(SRC_D)\crypto\bio\bss_sock.c + $(CC) /Fo$(OBJ_D)\bss_sock.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_sock.c + +$(OBJ_D)\bss_conn.obj: $(SRC_D)\crypto\bio\bss_conn.c + $(CC) /Fo$(OBJ_D)\bss_conn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_conn.c + +$(OBJ_D)\bf_null.obj: $(SRC_D)\crypto\bio\bf_null.c + $(CC) /Fo$(OBJ_D)\bf_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bf_null.c + +$(OBJ_D)\bf_buff.obj: $(SRC_D)\crypto\bio\bf_buff.c + $(CC) /Fo$(OBJ_D)\bf_buff.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bf_buff.c + +$(OBJ_D)\b_print.obj: $(SRC_D)\crypto\bio\b_print.c + $(CC) /Fo$(OBJ_D)\b_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\b_print.c + +$(OBJ_D)\b_dump.obj: $(SRC_D)\crypto\bio\b_dump.c + $(CC) /Fo$(OBJ_D)\b_dump.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\b_dump.c + +$(OBJ_D)\b_sock.obj: $(SRC_D)\crypto\bio\b_sock.c + $(CC) /Fo$(OBJ_D)\b_sock.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\b_sock.c + +$(OBJ_D)\bss_acpt.obj: $(SRC_D)\crypto\bio\bss_acpt.c + $(CC) /Fo$(OBJ_D)\bss_acpt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_acpt.c + +$(OBJ_D)\bf_nbio.obj: $(SRC_D)\crypto\bio\bf_nbio.c + $(CC) /Fo$(OBJ_D)\bf_nbio.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bf_nbio.c + +$(OBJ_D)\bss_log.obj: $(SRC_D)\crypto\bio\bss_log.c + $(CC) /Fo$(OBJ_D)\bss_log.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_log.c + +$(OBJ_D)\bss_bio.obj: $(SRC_D)\crypto\bio\bss_bio.c + $(CC) /Fo$(OBJ_D)\bss_bio.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_bio.c + +$(OBJ_D)\bss_dgram.obj: $(SRC_D)\crypto\bio\bss_dgram.c + $(CC) /Fo$(OBJ_D)\bss_dgram.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\bio\bss_dgram.c + +$(OBJ_D)\stack.obj: $(SRC_D)\crypto\stack\stack.c + $(CC) /Fo$(OBJ_D)\stack.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\stack\stack.c + +$(OBJ_D)\lhash.obj: $(SRC_D)\crypto\lhash\lhash.c + $(CC) /Fo$(OBJ_D)\lhash.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\lhash\lhash.c + +$(OBJ_D)\lh_stats.obj: $(SRC_D)\crypto\lhash\lh_stats.c + $(CC) /Fo$(OBJ_D)\lh_stats.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\lhash\lh_stats.c + +$(OBJ_D)\md_rand.obj: $(SRC_D)\crypto\rand\md_rand.c + $(CC) /Fo$(OBJ_D)\md_rand.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\md_rand.c + +$(OBJ_D)\randfile.obj: $(SRC_D)\crypto\rand\randfile.c + $(CC) /Fo$(OBJ_D)\randfile.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\randfile.c + +$(OBJ_D)\rand_lib.obj: $(SRC_D)\crypto\rand\rand_lib.c + $(CC) /Fo$(OBJ_D)\rand_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_lib.c + +$(OBJ_D)\rand_err.obj: $(SRC_D)\crypto\rand\rand_err.c + $(CC) /Fo$(OBJ_D)\rand_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_err.c + +$(OBJ_D)\rand_egd.obj: $(SRC_D)\crypto\rand\rand_egd.c + $(CC) /Fo$(OBJ_D)\rand_egd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_egd.c + +$(OBJ_D)\rand_win.obj: $(SRC_D)\crypto\rand\rand_win.c + $(CC) /Fo$(OBJ_D)\rand_win.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_win.c + +$(OBJ_D)\rand_unix.obj: $(SRC_D)\crypto\rand\rand_unix.c + $(CC) /Fo$(OBJ_D)\rand_unix.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_unix.c + +$(OBJ_D)\rand_os2.obj: $(SRC_D)\crypto\rand\rand_os2.c + $(CC) /Fo$(OBJ_D)\rand_os2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_os2.c + +$(OBJ_D)\rand_nw.obj: $(SRC_D)\crypto\rand\rand_nw.c + $(CC) /Fo$(OBJ_D)\rand_nw.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\rand\rand_nw.c + +$(OBJ_D)\err.obj: $(SRC_D)\crypto\err\err.c + $(CC) /Fo$(OBJ_D)\err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\err\err.c + +$(OBJ_D)\err_all.obj: $(SRC_D)\crypto\err\err_all.c + $(CC) /Fo$(OBJ_D)\err_all.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\err\err_all.c + +$(OBJ_D)\err_prn.obj: $(SRC_D)\crypto\err\err_prn.c + $(CC) /Fo$(OBJ_D)\err_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\err\err_prn.c + +$(OBJ_D)\o_names.obj: $(SRC_D)\crypto\objects\o_names.c + $(CC) /Fo$(OBJ_D)\o_names.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\objects\o_names.c + +$(OBJ_D)\obj_dat.obj: $(SRC_D)\crypto\objects\obj_dat.c + $(CC) /Fo$(OBJ_D)\obj_dat.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\objects\obj_dat.c + +$(OBJ_D)\obj_lib.obj: $(SRC_D)\crypto\objects\obj_lib.c + $(CC) /Fo$(OBJ_D)\obj_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\objects\obj_lib.c + +$(OBJ_D)\obj_err.obj: $(SRC_D)\crypto\objects\obj_err.c + $(CC) /Fo$(OBJ_D)\obj_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\objects\obj_err.c + +$(OBJ_D)\obj_xref.obj: $(SRC_D)\crypto\objects\obj_xref.c + $(CC) /Fo$(OBJ_D)\obj_xref.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\objects\obj_xref.c + +$(OBJ_D)\encode.obj: $(SRC_D)\crypto\evp\encode.c + $(CC) /Fo$(OBJ_D)\encode.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\encode.c + +$(OBJ_D)\digest.obj: $(SRC_D)\crypto\evp\digest.c + $(CC) /Fo$(OBJ_D)\digest.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\digest.c + +$(OBJ_D)\evp_enc.obj: $(SRC_D)\crypto\evp\evp_enc.c + $(CC) /Fo$(OBJ_D)\evp_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_enc.c + +$(OBJ_D)\evp_key.obj: $(SRC_D)\crypto\evp\evp_key.c + $(CC) /Fo$(OBJ_D)\evp_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_key.c + +$(OBJ_D)\evp_acnf.obj: $(SRC_D)\crypto\evp\evp_acnf.c + $(CC) /Fo$(OBJ_D)\evp_acnf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_acnf.c + +$(OBJ_D)\evp_cnf.obj: $(SRC_D)\crypto\evp\evp_cnf.c + $(CC) /Fo$(OBJ_D)\evp_cnf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_cnf.c + +$(OBJ_D)\e_des.obj: $(SRC_D)\crypto\evp\e_des.c + $(CC) /Fo$(OBJ_D)\e_des.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_des.c + +$(OBJ_D)\e_bf.obj: $(SRC_D)\crypto\evp\e_bf.c + $(CC) /Fo$(OBJ_D)\e_bf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_bf.c + +$(OBJ_D)\e_idea.obj: $(SRC_D)\crypto\evp\e_idea.c + $(CC) /Fo$(OBJ_D)\e_idea.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_idea.c + +$(OBJ_D)\e_des3.obj: $(SRC_D)\crypto\evp\e_des3.c + $(CC) /Fo$(OBJ_D)\e_des3.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_des3.c + +$(OBJ_D)\e_camellia.obj: $(SRC_D)\crypto\evp\e_camellia.c + $(CC) /Fo$(OBJ_D)\e_camellia.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_camellia.c + +$(OBJ_D)\e_rc4.obj: $(SRC_D)\crypto\evp\e_rc4.c + $(CC) /Fo$(OBJ_D)\e_rc4.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_rc4.c + +$(OBJ_D)\e_aes.obj: $(SRC_D)\crypto\evp\e_aes.c + $(CC) /Fo$(OBJ_D)\e_aes.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_aes.c + +$(OBJ_D)\names.obj: $(SRC_D)\crypto\evp\names.c + $(CC) /Fo$(OBJ_D)\names.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\names.c + +$(OBJ_D)\e_seed.obj: $(SRC_D)\crypto\evp\e_seed.c + $(CC) /Fo$(OBJ_D)\e_seed.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_seed.c + +$(OBJ_D)\e_xcbc_d.obj: $(SRC_D)\crypto\evp\e_xcbc_d.c + $(CC) /Fo$(OBJ_D)\e_xcbc_d.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_xcbc_d.c + +$(OBJ_D)\e_rc2.obj: $(SRC_D)\crypto\evp\e_rc2.c + $(CC) /Fo$(OBJ_D)\e_rc2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_rc2.c + +$(OBJ_D)\e_cast.obj: $(SRC_D)\crypto\evp\e_cast.c + $(CC) /Fo$(OBJ_D)\e_cast.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_cast.c + +$(OBJ_D)\e_rc5.obj: $(SRC_D)\crypto\evp\e_rc5.c + $(CC) /Fo$(OBJ_D)\e_rc5.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_rc5.c + +$(OBJ_D)\m_null.obj: $(SRC_D)\crypto\evp\m_null.c + $(CC) /Fo$(OBJ_D)\m_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_null.c + +$(OBJ_D)\m_md4.obj: $(SRC_D)\crypto\evp\m_md4.c + $(CC) /Fo$(OBJ_D)\m_md4.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_md4.c + +$(OBJ_D)\m_md5.obj: $(SRC_D)\crypto\evp\m_md5.c + $(CC) /Fo$(OBJ_D)\m_md5.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_md5.c + +$(OBJ_D)\m_sha.obj: $(SRC_D)\crypto\evp\m_sha.c + $(CC) /Fo$(OBJ_D)\m_sha.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_sha.c + +$(OBJ_D)\m_sha1.obj: $(SRC_D)\crypto\evp\m_sha1.c + $(CC) /Fo$(OBJ_D)\m_sha1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_sha1.c + +$(OBJ_D)\m_wp.obj: $(SRC_D)\crypto\evp\m_wp.c + $(CC) /Fo$(OBJ_D)\m_wp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_wp.c + +$(OBJ_D)\m_dss.obj: $(SRC_D)\crypto\evp\m_dss.c + $(CC) /Fo$(OBJ_D)\m_dss.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_dss.c + +$(OBJ_D)\m_dss1.obj: $(SRC_D)\crypto\evp\m_dss1.c + $(CC) /Fo$(OBJ_D)\m_dss1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_dss1.c + +$(OBJ_D)\m_ripemd.obj: $(SRC_D)\crypto\evp\m_ripemd.c + $(CC) /Fo$(OBJ_D)\m_ripemd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_ripemd.c + +$(OBJ_D)\m_ecdsa.obj: $(SRC_D)\crypto\evp\m_ecdsa.c + $(CC) /Fo$(OBJ_D)\m_ecdsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_ecdsa.c + +$(OBJ_D)\p_open.obj: $(SRC_D)\crypto\evp\p_open.c + $(CC) /Fo$(OBJ_D)\p_open.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_open.c + +$(OBJ_D)\p_seal.obj: $(SRC_D)\crypto\evp\p_seal.c + $(CC) /Fo$(OBJ_D)\p_seal.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_seal.c + +$(OBJ_D)\p_sign.obj: $(SRC_D)\crypto\evp\p_sign.c + $(CC) /Fo$(OBJ_D)\p_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_sign.c + +$(OBJ_D)\p_verify.obj: $(SRC_D)\crypto\evp\p_verify.c + $(CC) /Fo$(OBJ_D)\p_verify.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_verify.c + +$(OBJ_D)\p_lib.obj: $(SRC_D)\crypto\evp\p_lib.c + $(CC) /Fo$(OBJ_D)\p_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_lib.c + +$(OBJ_D)\p_enc.obj: $(SRC_D)\crypto\evp\p_enc.c + $(CC) /Fo$(OBJ_D)\p_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_enc.c + +$(OBJ_D)\p_dec.obj: $(SRC_D)\crypto\evp\p_dec.c + $(CC) /Fo$(OBJ_D)\p_dec.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p_dec.c + +$(OBJ_D)\bio_md.obj: $(SRC_D)\crypto\evp\bio_md.c + $(CC) /Fo$(OBJ_D)\bio_md.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\bio_md.c + +$(OBJ_D)\bio_b64.obj: $(SRC_D)\crypto\evp\bio_b64.c + $(CC) /Fo$(OBJ_D)\bio_b64.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\bio_b64.c + +$(OBJ_D)\bio_enc.obj: $(SRC_D)\crypto\evp\bio_enc.c + $(CC) /Fo$(OBJ_D)\bio_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\bio_enc.c + +$(OBJ_D)\evp_err.obj: $(SRC_D)\crypto\evp\evp_err.c + $(CC) /Fo$(OBJ_D)\evp_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_err.c + +$(OBJ_D)\e_null.obj: $(SRC_D)\crypto\evp\e_null.c + $(CC) /Fo$(OBJ_D)\e_null.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_null.c + +$(OBJ_D)\c_all.obj: $(SRC_D)\crypto\evp\c_all.c + $(CC) /Fo$(OBJ_D)\c_all.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\c_all.c + +$(OBJ_D)\c_allc.obj: $(SRC_D)\crypto\evp\c_allc.c + $(CC) /Fo$(OBJ_D)\c_allc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\c_allc.c + +$(OBJ_D)\c_alld.obj: $(SRC_D)\crypto\evp\c_alld.c + $(CC) /Fo$(OBJ_D)\c_alld.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\c_alld.c + +$(OBJ_D)\evp_lib.obj: $(SRC_D)\crypto\evp\evp_lib.c + $(CC) /Fo$(OBJ_D)\evp_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_lib.c + +$(OBJ_D)\bio_ok.obj: $(SRC_D)\crypto\evp\bio_ok.c + $(CC) /Fo$(OBJ_D)\bio_ok.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\bio_ok.c + +$(OBJ_D)\evp_pkey.obj: $(SRC_D)\crypto\evp\evp_pkey.c + $(CC) /Fo$(OBJ_D)\evp_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_pkey.c + +$(OBJ_D)\evp_pbe.obj: $(SRC_D)\crypto\evp\evp_pbe.c + $(CC) /Fo$(OBJ_D)\evp_pbe.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\evp_pbe.c + +$(OBJ_D)\p5_crpt.obj: $(SRC_D)\crypto\evp\p5_crpt.c + $(CC) /Fo$(OBJ_D)\p5_crpt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p5_crpt.c + +$(OBJ_D)\p5_crpt2.obj: $(SRC_D)\crypto\evp\p5_crpt2.c + $(CC) /Fo$(OBJ_D)\p5_crpt2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\p5_crpt2.c + +$(OBJ_D)\e_old.obj: $(SRC_D)\crypto\evp\e_old.c + $(CC) /Fo$(OBJ_D)\e_old.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_old.c + +$(OBJ_D)\pmeth_lib.obj: $(SRC_D)\crypto\evp\pmeth_lib.c + $(CC) /Fo$(OBJ_D)\pmeth_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\pmeth_lib.c + +$(OBJ_D)\pmeth_fn.obj: $(SRC_D)\crypto\evp\pmeth_fn.c + $(CC) /Fo$(OBJ_D)\pmeth_fn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\pmeth_fn.c + +$(OBJ_D)\pmeth_gn.obj: $(SRC_D)\crypto\evp\pmeth_gn.c + $(CC) /Fo$(OBJ_D)\pmeth_gn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\pmeth_gn.c + +$(OBJ_D)\m_sigver.obj: $(SRC_D)\crypto\evp\m_sigver.c + $(CC) /Fo$(OBJ_D)\m_sigver.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\m_sigver.c + +$(OBJ_D)\e_aes_cbc_hmac_sha1.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c + $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha1.c + +$(OBJ_D)\e_aes_cbc_hmac_sha256.obj: $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c + $(CC) /Fo$(OBJ_D)\e_aes_cbc_hmac_sha256.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_aes_cbc_hmac_sha256.c + +$(OBJ_D)\e_rc4_hmac_md5.obj: $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c + $(CC) /Fo$(OBJ_D)\e_rc4_hmac_md5.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\evp\e_rc4_hmac_md5.c + +$(OBJ_D)\a_object.obj: $(SRC_D)\crypto\asn1\a_object.c + $(CC) /Fo$(OBJ_D)\a_object.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_object.c + +$(OBJ_D)\a_bitstr.obj: $(SRC_D)\crypto\asn1\a_bitstr.c + $(CC) /Fo$(OBJ_D)\a_bitstr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_bitstr.c + +$(OBJ_D)\a_utctm.obj: $(SRC_D)\crypto\asn1\a_utctm.c + $(CC) /Fo$(OBJ_D)\a_utctm.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_utctm.c + +$(OBJ_D)\a_gentm.obj: $(SRC_D)\crypto\asn1\a_gentm.c + $(CC) /Fo$(OBJ_D)\a_gentm.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_gentm.c + +$(OBJ_D)\a_time.obj: $(SRC_D)\crypto\asn1\a_time.c + $(CC) /Fo$(OBJ_D)\a_time.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_time.c + +$(OBJ_D)\a_int.obj: $(SRC_D)\crypto\asn1\a_int.c + $(CC) /Fo$(OBJ_D)\a_int.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_int.c + +$(OBJ_D)\a_octet.obj: $(SRC_D)\crypto\asn1\a_octet.c + $(CC) /Fo$(OBJ_D)\a_octet.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_octet.c + +$(OBJ_D)\a_print.obj: $(SRC_D)\crypto\asn1\a_print.c + $(CC) /Fo$(OBJ_D)\a_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_print.c + +$(OBJ_D)\a_type.obj: $(SRC_D)\crypto\asn1\a_type.c + $(CC) /Fo$(OBJ_D)\a_type.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_type.c + +$(OBJ_D)\a_set.obj: $(SRC_D)\crypto\asn1\a_set.c + $(CC) /Fo$(OBJ_D)\a_set.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_set.c + +$(OBJ_D)\a_dup.obj: $(SRC_D)\crypto\asn1\a_dup.c + $(CC) /Fo$(OBJ_D)\a_dup.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_dup.c + +$(OBJ_D)\a_d2i_fp.obj: $(SRC_D)\crypto\asn1\a_d2i_fp.c + $(CC) /Fo$(OBJ_D)\a_d2i_fp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_d2i_fp.c + +$(OBJ_D)\a_i2d_fp.obj: $(SRC_D)\crypto\asn1\a_i2d_fp.c + $(CC) /Fo$(OBJ_D)\a_i2d_fp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_i2d_fp.c + +$(OBJ_D)\a_enum.obj: $(SRC_D)\crypto\asn1\a_enum.c + $(CC) /Fo$(OBJ_D)\a_enum.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_enum.c + +$(OBJ_D)\a_utf8.obj: $(SRC_D)\crypto\asn1\a_utf8.c + $(CC) /Fo$(OBJ_D)\a_utf8.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_utf8.c + +$(OBJ_D)\a_sign.obj: $(SRC_D)\crypto\asn1\a_sign.c + $(CC) /Fo$(OBJ_D)\a_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_sign.c + +$(OBJ_D)\a_digest.obj: $(SRC_D)\crypto\asn1\a_digest.c + $(CC) /Fo$(OBJ_D)\a_digest.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_digest.c + +$(OBJ_D)\a_verify.obj: $(SRC_D)\crypto\asn1\a_verify.c + $(CC) /Fo$(OBJ_D)\a_verify.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_verify.c + +$(OBJ_D)\a_mbstr.obj: $(SRC_D)\crypto\asn1\a_mbstr.c + $(CC) /Fo$(OBJ_D)\a_mbstr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_mbstr.c + +$(OBJ_D)\a_strex.obj: $(SRC_D)\crypto\asn1\a_strex.c + $(CC) /Fo$(OBJ_D)\a_strex.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_strex.c + +$(OBJ_D)\x_algor.obj: $(SRC_D)\crypto\asn1\x_algor.c + $(CC) /Fo$(OBJ_D)\x_algor.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_algor.c + +$(OBJ_D)\x_val.obj: $(SRC_D)\crypto\asn1\x_val.c + $(CC) /Fo$(OBJ_D)\x_val.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_val.c + +$(OBJ_D)\x_pubkey.obj: $(SRC_D)\crypto\asn1\x_pubkey.c + $(CC) /Fo$(OBJ_D)\x_pubkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_pubkey.c + +$(OBJ_D)\x_sig.obj: $(SRC_D)\crypto\asn1\x_sig.c + $(CC) /Fo$(OBJ_D)\x_sig.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_sig.c + +$(OBJ_D)\x_req.obj: $(SRC_D)\crypto\asn1\x_req.c + $(CC) /Fo$(OBJ_D)\x_req.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_req.c + +$(OBJ_D)\x_attrib.obj: $(SRC_D)\crypto\asn1\x_attrib.c + $(CC) /Fo$(OBJ_D)\x_attrib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_attrib.c + +$(OBJ_D)\x_bignum.obj: $(SRC_D)\crypto\asn1\x_bignum.c + $(CC) /Fo$(OBJ_D)\x_bignum.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_bignum.c + +$(OBJ_D)\x_long.obj: $(SRC_D)\crypto\asn1\x_long.c + $(CC) /Fo$(OBJ_D)\x_long.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_long.c + +$(OBJ_D)\x_name.obj: $(SRC_D)\crypto\asn1\x_name.c + $(CC) /Fo$(OBJ_D)\x_name.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_name.c + +$(OBJ_D)\x_x509.obj: $(SRC_D)\crypto\asn1\x_x509.c + $(CC) /Fo$(OBJ_D)\x_x509.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_x509.c + +$(OBJ_D)\x_x509a.obj: $(SRC_D)\crypto\asn1\x_x509a.c + $(CC) /Fo$(OBJ_D)\x_x509a.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_x509a.c + +$(OBJ_D)\x_crl.obj: $(SRC_D)\crypto\asn1\x_crl.c + $(CC) /Fo$(OBJ_D)\x_crl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_crl.c + +$(OBJ_D)\x_info.obj: $(SRC_D)\crypto\asn1\x_info.c + $(CC) /Fo$(OBJ_D)\x_info.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_info.c + +$(OBJ_D)\x_spki.obj: $(SRC_D)\crypto\asn1\x_spki.c + $(CC) /Fo$(OBJ_D)\x_spki.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_spki.c + +$(OBJ_D)\nsseq.obj: $(SRC_D)\crypto\asn1\nsseq.c + $(CC) /Fo$(OBJ_D)\nsseq.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\nsseq.c + +$(OBJ_D)\x_nx509.obj: $(SRC_D)\crypto\asn1\x_nx509.c + $(CC) /Fo$(OBJ_D)\x_nx509.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_nx509.c + +$(OBJ_D)\d2i_pu.obj: $(SRC_D)\crypto\asn1\d2i_pu.c + $(CC) /Fo$(OBJ_D)\d2i_pu.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\d2i_pu.c + +$(OBJ_D)\d2i_pr.obj: $(SRC_D)\crypto\asn1\d2i_pr.c + $(CC) /Fo$(OBJ_D)\d2i_pr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\d2i_pr.c + +$(OBJ_D)\i2d_pu.obj: $(SRC_D)\crypto\asn1\i2d_pu.c + $(CC) /Fo$(OBJ_D)\i2d_pu.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\i2d_pu.c + +$(OBJ_D)\i2d_pr.obj: $(SRC_D)\crypto\asn1\i2d_pr.c + $(CC) /Fo$(OBJ_D)\i2d_pr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\i2d_pr.c + +$(OBJ_D)\t_req.obj: $(SRC_D)\crypto\asn1\t_req.c + $(CC) /Fo$(OBJ_D)\t_req.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_req.c + +$(OBJ_D)\t_x509.obj: $(SRC_D)\crypto\asn1\t_x509.c + $(CC) /Fo$(OBJ_D)\t_x509.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_x509.c + +$(OBJ_D)\t_x509a.obj: $(SRC_D)\crypto\asn1\t_x509a.c + $(CC) /Fo$(OBJ_D)\t_x509a.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_x509a.c + +$(OBJ_D)\t_crl.obj: $(SRC_D)\crypto\asn1\t_crl.c + $(CC) /Fo$(OBJ_D)\t_crl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_crl.c + +$(OBJ_D)\t_pkey.obj: $(SRC_D)\crypto\asn1\t_pkey.c + $(CC) /Fo$(OBJ_D)\t_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_pkey.c + +$(OBJ_D)\t_spki.obj: $(SRC_D)\crypto\asn1\t_spki.c + $(CC) /Fo$(OBJ_D)\t_spki.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_spki.c + +$(OBJ_D)\t_bitst.obj: $(SRC_D)\crypto\asn1\t_bitst.c + $(CC) /Fo$(OBJ_D)\t_bitst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\t_bitst.c + +$(OBJ_D)\tasn_new.obj: $(SRC_D)\crypto\asn1\tasn_new.c + $(CC) /Fo$(OBJ_D)\tasn_new.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_new.c + +$(OBJ_D)\tasn_fre.obj: $(SRC_D)\crypto\asn1\tasn_fre.c + $(CC) /Fo$(OBJ_D)\tasn_fre.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_fre.c + +$(OBJ_D)\tasn_enc.obj: $(SRC_D)\crypto\asn1\tasn_enc.c + $(CC) /Fo$(OBJ_D)\tasn_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_enc.c + +$(OBJ_D)\tasn_dec.obj: $(SRC_D)\crypto\asn1\tasn_dec.c + $(CC) /Fo$(OBJ_D)\tasn_dec.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_dec.c + +$(OBJ_D)\tasn_utl.obj: $(SRC_D)\crypto\asn1\tasn_utl.c + $(CC) /Fo$(OBJ_D)\tasn_utl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_utl.c + +$(OBJ_D)\tasn_typ.obj: $(SRC_D)\crypto\asn1\tasn_typ.c + $(CC) /Fo$(OBJ_D)\tasn_typ.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_typ.c + +$(OBJ_D)\tasn_prn.obj: $(SRC_D)\crypto\asn1\tasn_prn.c + $(CC) /Fo$(OBJ_D)\tasn_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\tasn_prn.c + +$(OBJ_D)\ameth_lib.obj: $(SRC_D)\crypto\asn1\ameth_lib.c + $(CC) /Fo$(OBJ_D)\ameth_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\ameth_lib.c + +$(OBJ_D)\f_int.obj: $(SRC_D)\crypto\asn1\f_int.c + $(CC) /Fo$(OBJ_D)\f_int.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\f_int.c + +$(OBJ_D)\f_string.obj: $(SRC_D)\crypto\asn1\f_string.c + $(CC) /Fo$(OBJ_D)\f_string.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\f_string.c + +$(OBJ_D)\n_pkey.obj: $(SRC_D)\crypto\asn1\n_pkey.c + $(CC) /Fo$(OBJ_D)\n_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\n_pkey.c + +$(OBJ_D)\f_enum.obj: $(SRC_D)\crypto\asn1\f_enum.c + $(CC) /Fo$(OBJ_D)\f_enum.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\f_enum.c + +$(OBJ_D)\x_pkey.obj: $(SRC_D)\crypto\asn1\x_pkey.c + $(CC) /Fo$(OBJ_D)\x_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_pkey.c + +$(OBJ_D)\a_bool.obj: $(SRC_D)\crypto\asn1\a_bool.c + $(CC) /Fo$(OBJ_D)\a_bool.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_bool.c + +$(OBJ_D)\x_exten.obj: $(SRC_D)\crypto\asn1\x_exten.c + $(CC) /Fo$(OBJ_D)\x_exten.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\x_exten.c + +$(OBJ_D)\bio_asn1.obj: $(SRC_D)\crypto\asn1\bio_asn1.c + $(CC) /Fo$(OBJ_D)\bio_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\bio_asn1.c + +$(OBJ_D)\bio_ndef.obj: $(SRC_D)\crypto\asn1\bio_ndef.c + $(CC) /Fo$(OBJ_D)\bio_ndef.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\bio_ndef.c + +$(OBJ_D)\asn_mime.obj: $(SRC_D)\crypto\asn1\asn_mime.c + $(CC) /Fo$(OBJ_D)\asn_mime.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn_mime.c + +$(OBJ_D)\asn1_gen.obj: $(SRC_D)\crypto\asn1\asn1_gen.c + $(CC) /Fo$(OBJ_D)\asn1_gen.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn1_gen.c + +$(OBJ_D)\asn1_par.obj: $(SRC_D)\crypto\asn1\asn1_par.c + $(CC) /Fo$(OBJ_D)\asn1_par.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn1_par.c + +$(OBJ_D)\asn1_lib.obj: $(SRC_D)\crypto\asn1\asn1_lib.c + $(CC) /Fo$(OBJ_D)\asn1_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn1_lib.c + +$(OBJ_D)\asn1_err.obj: $(SRC_D)\crypto\asn1\asn1_err.c + $(CC) /Fo$(OBJ_D)\asn1_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn1_err.c + +$(OBJ_D)\a_bytes.obj: $(SRC_D)\crypto\asn1\a_bytes.c + $(CC) /Fo$(OBJ_D)\a_bytes.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_bytes.c + +$(OBJ_D)\a_strnid.obj: $(SRC_D)\crypto\asn1\a_strnid.c + $(CC) /Fo$(OBJ_D)\a_strnid.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\a_strnid.c + +$(OBJ_D)\evp_asn1.obj: $(SRC_D)\crypto\asn1\evp_asn1.c + $(CC) /Fo$(OBJ_D)\evp_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\evp_asn1.c + +$(OBJ_D)\asn_pack.obj: $(SRC_D)\crypto\asn1\asn_pack.c + $(CC) /Fo$(OBJ_D)\asn_pack.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn_pack.c + +$(OBJ_D)\p5_pbe.obj: $(SRC_D)\crypto\asn1\p5_pbe.c + $(CC) /Fo$(OBJ_D)\p5_pbe.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\p5_pbe.c + +$(OBJ_D)\p5_pbev2.obj: $(SRC_D)\crypto\asn1\p5_pbev2.c + $(CC) /Fo$(OBJ_D)\p5_pbev2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\p5_pbev2.c + +$(OBJ_D)\p8_pkey.obj: $(SRC_D)\crypto\asn1\p8_pkey.c + $(CC) /Fo$(OBJ_D)\p8_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\p8_pkey.c + +$(OBJ_D)\asn_moid.obj: $(SRC_D)\crypto\asn1\asn_moid.c + $(CC) /Fo$(OBJ_D)\asn_moid.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\asn1\asn_moid.c + +$(OBJ_D)\pem_sign.obj: $(SRC_D)\crypto\pem\pem_sign.c + $(CC) /Fo$(OBJ_D)\pem_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_sign.c + +$(OBJ_D)\pem_seal.obj: $(SRC_D)\crypto\pem\pem_seal.c + $(CC) /Fo$(OBJ_D)\pem_seal.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_seal.c + +$(OBJ_D)\pem_info.obj: $(SRC_D)\crypto\pem\pem_info.c + $(CC) /Fo$(OBJ_D)\pem_info.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_info.c + +$(OBJ_D)\pem_lib.obj: $(SRC_D)\crypto\pem\pem_lib.c + $(CC) /Fo$(OBJ_D)\pem_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_lib.c + +$(OBJ_D)\pem_all.obj: $(SRC_D)\crypto\pem\pem_all.c + $(CC) /Fo$(OBJ_D)\pem_all.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_all.c + +$(OBJ_D)\pem_err.obj: $(SRC_D)\crypto\pem\pem_err.c + $(CC) /Fo$(OBJ_D)\pem_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_err.c + +$(OBJ_D)\pem_x509.obj: $(SRC_D)\crypto\pem\pem_x509.c + $(CC) /Fo$(OBJ_D)\pem_x509.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_x509.c + +$(OBJ_D)\pem_xaux.obj: $(SRC_D)\crypto\pem\pem_xaux.c + $(CC) /Fo$(OBJ_D)\pem_xaux.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_xaux.c + +$(OBJ_D)\pem_oth.obj: $(SRC_D)\crypto\pem\pem_oth.c + $(CC) /Fo$(OBJ_D)\pem_oth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_oth.c + +$(OBJ_D)\pem_pk8.obj: $(SRC_D)\crypto\pem\pem_pk8.c + $(CC) /Fo$(OBJ_D)\pem_pk8.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_pk8.c + +$(OBJ_D)\pem_pkey.obj: $(SRC_D)\crypto\pem\pem_pkey.c + $(CC) /Fo$(OBJ_D)\pem_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pem_pkey.c + +$(OBJ_D)\pvkfmt.obj: $(SRC_D)\crypto\pem\pvkfmt.c + $(CC) /Fo$(OBJ_D)\pvkfmt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pem\pvkfmt.c + +$(OBJ_D)\x509_def.obj: $(SRC_D)\crypto\x509\x509_def.c + $(CC) /Fo$(OBJ_D)\x509_def.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_def.c + +$(OBJ_D)\x509_d2.obj: $(SRC_D)\crypto\x509\x509_d2.c + $(CC) /Fo$(OBJ_D)\x509_d2.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_d2.c + +$(OBJ_D)\x509_r2x.obj: $(SRC_D)\crypto\x509\x509_r2x.c + $(CC) /Fo$(OBJ_D)\x509_r2x.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_r2x.c + +$(OBJ_D)\x509_cmp.obj: $(SRC_D)\crypto\x509\x509_cmp.c + $(CC) /Fo$(OBJ_D)\x509_cmp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_cmp.c + +$(OBJ_D)\x509_obj.obj: $(SRC_D)\crypto\x509\x509_obj.c + $(CC) /Fo$(OBJ_D)\x509_obj.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_obj.c + +$(OBJ_D)\x509_req.obj: $(SRC_D)\crypto\x509\x509_req.c + $(CC) /Fo$(OBJ_D)\x509_req.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_req.c + +$(OBJ_D)\x509spki.obj: $(SRC_D)\crypto\x509\x509spki.c + $(CC) /Fo$(OBJ_D)\x509spki.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509spki.c + +$(OBJ_D)\x509_vfy.obj: $(SRC_D)\crypto\x509\x509_vfy.c + $(CC) /Fo$(OBJ_D)\x509_vfy.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_vfy.c + +$(OBJ_D)\x509_set.obj: $(SRC_D)\crypto\x509\x509_set.c + $(CC) /Fo$(OBJ_D)\x509_set.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_set.c + +$(OBJ_D)\x509cset.obj: $(SRC_D)\crypto\x509\x509cset.c + $(CC) /Fo$(OBJ_D)\x509cset.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509cset.c + +$(OBJ_D)\x509rset.obj: $(SRC_D)\crypto\x509\x509rset.c + $(CC) /Fo$(OBJ_D)\x509rset.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509rset.c + +$(OBJ_D)\x509_err.obj: $(SRC_D)\crypto\x509\x509_err.c + $(CC) /Fo$(OBJ_D)\x509_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_err.c + +$(OBJ_D)\x509name.obj: $(SRC_D)\crypto\x509\x509name.c + $(CC) /Fo$(OBJ_D)\x509name.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509name.c + +$(OBJ_D)\x509_v3.obj: $(SRC_D)\crypto\x509\x509_v3.c + $(CC) /Fo$(OBJ_D)\x509_v3.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_v3.c + +$(OBJ_D)\x509_ext.obj: $(SRC_D)\crypto\x509\x509_ext.c + $(CC) /Fo$(OBJ_D)\x509_ext.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_ext.c + +$(OBJ_D)\x509_att.obj: $(SRC_D)\crypto\x509\x509_att.c + $(CC) /Fo$(OBJ_D)\x509_att.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_att.c + +$(OBJ_D)\x509type.obj: $(SRC_D)\crypto\x509\x509type.c + $(CC) /Fo$(OBJ_D)\x509type.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509type.c + +$(OBJ_D)\x509_lu.obj: $(SRC_D)\crypto\x509\x509_lu.c + $(CC) /Fo$(OBJ_D)\x509_lu.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_lu.c + +$(OBJ_D)\x_all.obj: $(SRC_D)\crypto\x509\x_all.c + $(CC) /Fo$(OBJ_D)\x_all.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x_all.c + +$(OBJ_D)\x509_txt.obj: $(SRC_D)\crypto\x509\x509_txt.c + $(CC) /Fo$(OBJ_D)\x509_txt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_txt.c + +$(OBJ_D)\x509_trs.obj: $(SRC_D)\crypto\x509\x509_trs.c + $(CC) /Fo$(OBJ_D)\x509_trs.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_trs.c + +$(OBJ_D)\by_file.obj: $(SRC_D)\crypto\x509\by_file.c + $(CC) /Fo$(OBJ_D)\by_file.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\by_file.c + +$(OBJ_D)\by_dir.obj: $(SRC_D)\crypto\x509\by_dir.c + $(CC) /Fo$(OBJ_D)\by_dir.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\by_dir.c + +$(OBJ_D)\x509_vpm.obj: $(SRC_D)\crypto\x509\x509_vpm.c + $(CC) /Fo$(OBJ_D)\x509_vpm.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509\x509_vpm.c + +$(OBJ_D)\v3_bcons.obj: $(SRC_D)\crypto\x509v3\v3_bcons.c + $(CC) /Fo$(OBJ_D)\v3_bcons.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_bcons.c + +$(OBJ_D)\v3_bitst.obj: $(SRC_D)\crypto\x509v3\v3_bitst.c + $(CC) /Fo$(OBJ_D)\v3_bitst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_bitst.c + +$(OBJ_D)\v3_conf.obj: $(SRC_D)\crypto\x509v3\v3_conf.c + $(CC) /Fo$(OBJ_D)\v3_conf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_conf.c + +$(OBJ_D)\v3_extku.obj: $(SRC_D)\crypto\x509v3\v3_extku.c + $(CC) /Fo$(OBJ_D)\v3_extku.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_extku.c + +$(OBJ_D)\v3_ia5.obj: $(SRC_D)\crypto\x509v3\v3_ia5.c + $(CC) /Fo$(OBJ_D)\v3_ia5.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_ia5.c + +$(OBJ_D)\v3_lib.obj: $(SRC_D)\crypto\x509v3\v3_lib.c + $(CC) /Fo$(OBJ_D)\v3_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_lib.c + +$(OBJ_D)\v3_prn.obj: $(SRC_D)\crypto\x509v3\v3_prn.c + $(CC) /Fo$(OBJ_D)\v3_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_prn.c + +$(OBJ_D)\v3_utl.obj: $(SRC_D)\crypto\x509v3\v3_utl.c + $(CC) /Fo$(OBJ_D)\v3_utl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_utl.c + +$(OBJ_D)\v3err.obj: $(SRC_D)\crypto\x509v3\v3err.c + $(CC) /Fo$(OBJ_D)\v3err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3err.c + +$(OBJ_D)\v3_genn.obj: $(SRC_D)\crypto\x509v3\v3_genn.c + $(CC) /Fo$(OBJ_D)\v3_genn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_genn.c + +$(OBJ_D)\v3_alt.obj: $(SRC_D)\crypto\x509v3\v3_alt.c + $(CC) /Fo$(OBJ_D)\v3_alt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_alt.c + +$(OBJ_D)\v3_skey.obj: $(SRC_D)\crypto\x509v3\v3_skey.c + $(CC) /Fo$(OBJ_D)\v3_skey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_skey.c + +$(OBJ_D)\v3_akey.obj: $(SRC_D)\crypto\x509v3\v3_akey.c + $(CC) /Fo$(OBJ_D)\v3_akey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_akey.c + +$(OBJ_D)\v3_pku.obj: $(SRC_D)\crypto\x509v3\v3_pku.c + $(CC) /Fo$(OBJ_D)\v3_pku.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_pku.c + +$(OBJ_D)\v3_int.obj: $(SRC_D)\crypto\x509v3\v3_int.c + $(CC) /Fo$(OBJ_D)\v3_int.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_int.c + +$(OBJ_D)\v3_enum.obj: $(SRC_D)\crypto\x509v3\v3_enum.c + $(CC) /Fo$(OBJ_D)\v3_enum.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_enum.c + +$(OBJ_D)\v3_sxnet.obj: $(SRC_D)\crypto\x509v3\v3_sxnet.c + $(CC) /Fo$(OBJ_D)\v3_sxnet.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_sxnet.c + +$(OBJ_D)\v3_cpols.obj: $(SRC_D)\crypto\x509v3\v3_cpols.c + $(CC) /Fo$(OBJ_D)\v3_cpols.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_cpols.c + +$(OBJ_D)\v3_crld.obj: $(SRC_D)\crypto\x509v3\v3_crld.c + $(CC) /Fo$(OBJ_D)\v3_crld.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_crld.c + +$(OBJ_D)\v3_purp.obj: $(SRC_D)\crypto\x509v3\v3_purp.c + $(CC) /Fo$(OBJ_D)\v3_purp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_purp.c + +$(OBJ_D)\v3_info.obj: $(SRC_D)\crypto\x509v3\v3_info.c + $(CC) /Fo$(OBJ_D)\v3_info.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_info.c + +$(OBJ_D)\v3_ocsp.obj: $(SRC_D)\crypto\x509v3\v3_ocsp.c + $(CC) /Fo$(OBJ_D)\v3_ocsp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_ocsp.c + +$(OBJ_D)\v3_akeya.obj: $(SRC_D)\crypto\x509v3\v3_akeya.c + $(CC) /Fo$(OBJ_D)\v3_akeya.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_akeya.c + +$(OBJ_D)\v3_pmaps.obj: $(SRC_D)\crypto\x509v3\v3_pmaps.c + $(CC) /Fo$(OBJ_D)\v3_pmaps.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_pmaps.c + +$(OBJ_D)\v3_pcons.obj: $(SRC_D)\crypto\x509v3\v3_pcons.c + $(CC) /Fo$(OBJ_D)\v3_pcons.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_pcons.c + +$(OBJ_D)\v3_ncons.obj: $(SRC_D)\crypto\x509v3\v3_ncons.c + $(CC) /Fo$(OBJ_D)\v3_ncons.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_ncons.c + +$(OBJ_D)\v3_pcia.obj: $(SRC_D)\crypto\x509v3\v3_pcia.c + $(CC) /Fo$(OBJ_D)\v3_pcia.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_pcia.c + +$(OBJ_D)\v3_pci.obj: $(SRC_D)\crypto\x509v3\v3_pci.c + $(CC) /Fo$(OBJ_D)\v3_pci.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_pci.c + +$(OBJ_D)\pcy_cache.obj: $(SRC_D)\crypto\x509v3\pcy_cache.c + $(CC) /Fo$(OBJ_D)\pcy_cache.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_cache.c + +$(OBJ_D)\pcy_node.obj: $(SRC_D)\crypto\x509v3\pcy_node.c + $(CC) /Fo$(OBJ_D)\pcy_node.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_node.c + +$(OBJ_D)\pcy_data.obj: $(SRC_D)\crypto\x509v3\pcy_data.c + $(CC) /Fo$(OBJ_D)\pcy_data.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_data.c + +$(OBJ_D)\pcy_map.obj: $(SRC_D)\crypto\x509v3\pcy_map.c + $(CC) /Fo$(OBJ_D)\pcy_map.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_map.c + +$(OBJ_D)\pcy_tree.obj: $(SRC_D)\crypto\x509v3\pcy_tree.c + $(CC) /Fo$(OBJ_D)\pcy_tree.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_tree.c + +$(OBJ_D)\pcy_lib.obj: $(SRC_D)\crypto\x509v3\pcy_lib.c + $(CC) /Fo$(OBJ_D)\pcy_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\pcy_lib.c + +$(OBJ_D)\v3_asid.obj: $(SRC_D)\crypto\x509v3\v3_asid.c + $(CC) /Fo$(OBJ_D)\v3_asid.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_asid.c + +$(OBJ_D)\v3_addr.obj: $(SRC_D)\crypto\x509v3\v3_addr.c + $(CC) /Fo$(OBJ_D)\v3_addr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_addr.c + +$(OBJ_D)\v3_scts.obj: $(SRC_D)\crypto\x509v3\v3_scts.c + $(CC) /Fo$(OBJ_D)\v3_scts.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\x509v3\v3_scts.c + +$(OBJ_D)\cms_lib.obj: $(SRC_D)\crypto\cms\cms_lib.c + $(CC) /Fo$(OBJ_D)\cms_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_lib.c + +$(OBJ_D)\cms_asn1.obj: $(SRC_D)\crypto\cms\cms_asn1.c + $(CC) /Fo$(OBJ_D)\cms_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_asn1.c + +$(OBJ_D)\cms_att.obj: $(SRC_D)\crypto\cms\cms_att.c + $(CC) /Fo$(OBJ_D)\cms_att.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_att.c + +$(OBJ_D)\cms_io.obj: $(SRC_D)\crypto\cms\cms_io.c + $(CC) /Fo$(OBJ_D)\cms_io.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_io.c + +$(OBJ_D)\cms_smime.obj: $(SRC_D)\crypto\cms\cms_smime.c + $(CC) /Fo$(OBJ_D)\cms_smime.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_smime.c + +$(OBJ_D)\cms_err.obj: $(SRC_D)\crypto\cms\cms_err.c + $(CC) /Fo$(OBJ_D)\cms_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_err.c + +$(OBJ_D)\cms_sd.obj: $(SRC_D)\crypto\cms\cms_sd.c + $(CC) /Fo$(OBJ_D)\cms_sd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_sd.c + +$(OBJ_D)\cms_dd.obj: $(SRC_D)\crypto\cms\cms_dd.c + $(CC) /Fo$(OBJ_D)\cms_dd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_dd.c + +$(OBJ_D)\cms_cd.obj: $(SRC_D)\crypto\cms\cms_cd.c + $(CC) /Fo$(OBJ_D)\cms_cd.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_cd.c + +$(OBJ_D)\cms_env.obj: $(SRC_D)\crypto\cms\cms_env.c + $(CC) /Fo$(OBJ_D)\cms_env.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_env.c + +$(OBJ_D)\cms_enc.obj: $(SRC_D)\crypto\cms\cms_enc.c + $(CC) /Fo$(OBJ_D)\cms_enc.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_enc.c + +$(OBJ_D)\cms_ess.obj: $(SRC_D)\crypto\cms\cms_ess.c + $(CC) /Fo$(OBJ_D)\cms_ess.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_ess.c + +$(OBJ_D)\cms_pwri.obj: $(SRC_D)\crypto\cms\cms_pwri.c + $(CC) /Fo$(OBJ_D)\cms_pwri.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_pwri.c + +$(OBJ_D)\cms_kari.obj: $(SRC_D)\crypto\cms\cms_kari.c + $(CC) /Fo$(OBJ_D)\cms_kari.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\cms\cms_kari.c + +$(OBJ_D)\conf_err.obj: $(SRC_D)\crypto\conf\conf_err.c + $(CC) /Fo$(OBJ_D)\conf_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_err.c + +$(OBJ_D)\conf_lib.obj: $(SRC_D)\crypto\conf\conf_lib.c + $(CC) /Fo$(OBJ_D)\conf_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_lib.c + +$(OBJ_D)\conf_api.obj: $(SRC_D)\crypto\conf\conf_api.c + $(CC) /Fo$(OBJ_D)\conf_api.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_api.c + +$(OBJ_D)\conf_def.obj: $(SRC_D)\crypto\conf\conf_def.c + $(CC) /Fo$(OBJ_D)\conf_def.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_def.c + +$(OBJ_D)\conf_mod.obj: $(SRC_D)\crypto\conf\conf_mod.c + $(CC) /Fo$(OBJ_D)\conf_mod.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_mod.c + +$(OBJ_D)\conf_mall.obj: $(SRC_D)\crypto\conf\conf_mall.c + $(CC) /Fo$(OBJ_D)\conf_mall.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_mall.c + +$(OBJ_D)\conf_sap.obj: $(SRC_D)\crypto\conf\conf_sap.c + $(CC) /Fo$(OBJ_D)\conf_sap.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\conf\conf_sap.c + +$(OBJ_D)\txt_db.obj: $(SRC_D)\crypto\txt_db\txt_db.c + $(CC) /Fo$(OBJ_D)\txt_db.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\txt_db\txt_db.c + +$(OBJ_D)\pk7_asn1.obj: $(SRC_D)\crypto\pkcs7\pk7_asn1.c + $(CC) /Fo$(OBJ_D)\pk7_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_asn1.c + +$(OBJ_D)\pk7_lib.obj: $(SRC_D)\crypto\pkcs7\pk7_lib.c + $(CC) /Fo$(OBJ_D)\pk7_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_lib.c + +$(OBJ_D)\pkcs7err.obj: $(SRC_D)\crypto\pkcs7\pkcs7err.c + $(CC) /Fo$(OBJ_D)\pkcs7err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pkcs7err.c + +$(OBJ_D)\pk7_doit.obj: $(SRC_D)\crypto\pkcs7\pk7_doit.c + $(CC) /Fo$(OBJ_D)\pk7_doit.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_doit.c + +$(OBJ_D)\pk7_smime.obj: $(SRC_D)\crypto\pkcs7\pk7_smime.c + $(CC) /Fo$(OBJ_D)\pk7_smime.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_smime.c + +$(OBJ_D)\pk7_attr.obj: $(SRC_D)\crypto\pkcs7\pk7_attr.c + $(CC) /Fo$(OBJ_D)\pk7_attr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_attr.c + +$(OBJ_D)\pk7_mime.obj: $(SRC_D)\crypto\pkcs7\pk7_mime.c + $(CC) /Fo$(OBJ_D)\pk7_mime.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\pk7_mime.c + +$(OBJ_D)\bio_pk7.obj: $(SRC_D)\crypto\pkcs7\bio_pk7.c + $(CC) /Fo$(OBJ_D)\bio_pk7.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs7\bio_pk7.c + +$(OBJ_D)\p12_add.obj: $(SRC_D)\crypto\pkcs12\p12_add.c + $(CC) /Fo$(OBJ_D)\p12_add.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_add.c + +$(OBJ_D)\p12_asn.obj: $(SRC_D)\crypto\pkcs12\p12_asn.c + $(CC) /Fo$(OBJ_D)\p12_asn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_asn.c + +$(OBJ_D)\p12_attr.obj: $(SRC_D)\crypto\pkcs12\p12_attr.c + $(CC) /Fo$(OBJ_D)\p12_attr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_attr.c + +$(OBJ_D)\p12_crpt.obj: $(SRC_D)\crypto\pkcs12\p12_crpt.c + $(CC) /Fo$(OBJ_D)\p12_crpt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_crpt.c + +$(OBJ_D)\p12_crt.obj: $(SRC_D)\crypto\pkcs12\p12_crt.c + $(CC) /Fo$(OBJ_D)\p12_crt.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_crt.c + +$(OBJ_D)\p12_decr.obj: $(SRC_D)\crypto\pkcs12\p12_decr.c + $(CC) /Fo$(OBJ_D)\p12_decr.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_decr.c + +$(OBJ_D)\p12_init.obj: $(SRC_D)\crypto\pkcs12\p12_init.c + $(CC) /Fo$(OBJ_D)\p12_init.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_init.c + +$(OBJ_D)\p12_key.obj: $(SRC_D)\crypto\pkcs12\p12_key.c + $(CC) /Fo$(OBJ_D)\p12_key.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_key.c + +$(OBJ_D)\p12_kiss.obj: $(SRC_D)\crypto\pkcs12\p12_kiss.c + $(CC) /Fo$(OBJ_D)\p12_kiss.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_kiss.c + +$(OBJ_D)\p12_mutl.obj: $(SRC_D)\crypto\pkcs12\p12_mutl.c + $(CC) /Fo$(OBJ_D)\p12_mutl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_mutl.c + +$(OBJ_D)\p12_utl.obj: $(SRC_D)\crypto\pkcs12\p12_utl.c + $(CC) /Fo$(OBJ_D)\p12_utl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_utl.c + +$(OBJ_D)\p12_npas.obj: $(SRC_D)\crypto\pkcs12\p12_npas.c + $(CC) /Fo$(OBJ_D)\p12_npas.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_npas.c + +$(OBJ_D)\pk12err.obj: $(SRC_D)\crypto\pkcs12\pk12err.c + $(CC) /Fo$(OBJ_D)\pk12err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\pk12err.c + +$(OBJ_D)\p12_p8d.obj: $(SRC_D)\crypto\pkcs12\p12_p8d.c + $(CC) /Fo$(OBJ_D)\p12_p8d.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_p8d.c + +$(OBJ_D)\p12_p8e.obj: $(SRC_D)\crypto\pkcs12\p12_p8e.c + $(CC) /Fo$(OBJ_D)\p12_p8e.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pkcs12\p12_p8e.c + +$(OBJ_D)\comp_lib.obj: $(SRC_D)\crypto\comp\comp_lib.c + $(CC) /Fo$(OBJ_D)\comp_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\comp\comp_lib.c + +$(OBJ_D)\comp_err.obj: $(SRC_D)\crypto\comp\comp_err.c + $(CC) /Fo$(OBJ_D)\comp_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\comp\comp_err.c + +$(OBJ_D)\c_rle.obj: $(SRC_D)\crypto\comp\c_rle.c + $(CC) /Fo$(OBJ_D)\c_rle.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\comp\c_rle.c + +$(OBJ_D)\c_zlib.obj: $(SRC_D)\crypto\comp\c_zlib.c + $(CC) /Fo$(OBJ_D)\c_zlib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\comp\c_zlib.c + +$(OBJ_D)\eng_err.obj: $(SRC_D)\crypto\engine\eng_err.c + $(CC) /Fo$(OBJ_D)\eng_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_err.c + +$(OBJ_D)\eng_lib.obj: $(SRC_D)\crypto\engine\eng_lib.c + $(CC) /Fo$(OBJ_D)\eng_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_lib.c + +$(OBJ_D)\eng_list.obj: $(SRC_D)\crypto\engine\eng_list.c + $(CC) /Fo$(OBJ_D)\eng_list.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_list.c + +$(OBJ_D)\eng_init.obj: $(SRC_D)\crypto\engine\eng_init.c + $(CC) /Fo$(OBJ_D)\eng_init.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_init.c + +$(OBJ_D)\eng_ctrl.obj: $(SRC_D)\crypto\engine\eng_ctrl.c + $(CC) /Fo$(OBJ_D)\eng_ctrl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_ctrl.c + +$(OBJ_D)\eng_table.obj: $(SRC_D)\crypto\engine\eng_table.c + $(CC) /Fo$(OBJ_D)\eng_table.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_table.c + +$(OBJ_D)\eng_pkey.obj: $(SRC_D)\crypto\engine\eng_pkey.c + $(CC) /Fo$(OBJ_D)\eng_pkey.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_pkey.c + +$(OBJ_D)\eng_fat.obj: $(SRC_D)\crypto\engine\eng_fat.c + $(CC) /Fo$(OBJ_D)\eng_fat.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_fat.c + +$(OBJ_D)\eng_all.obj: $(SRC_D)\crypto\engine\eng_all.c + $(CC) /Fo$(OBJ_D)\eng_all.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_all.c + +$(OBJ_D)\tb_rsa.obj: $(SRC_D)\crypto\engine\tb_rsa.c + $(CC) /Fo$(OBJ_D)\tb_rsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_rsa.c + +$(OBJ_D)\tb_dsa.obj: $(SRC_D)\crypto\engine\tb_dsa.c + $(CC) /Fo$(OBJ_D)\tb_dsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_dsa.c + +$(OBJ_D)\tb_ecdsa.obj: $(SRC_D)\crypto\engine\tb_ecdsa.c + $(CC) /Fo$(OBJ_D)\tb_ecdsa.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_ecdsa.c + +$(OBJ_D)\tb_dh.obj: $(SRC_D)\crypto\engine\tb_dh.c + $(CC) /Fo$(OBJ_D)\tb_dh.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_dh.c + +$(OBJ_D)\tb_ecdh.obj: $(SRC_D)\crypto\engine\tb_ecdh.c + $(CC) /Fo$(OBJ_D)\tb_ecdh.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_ecdh.c + +$(OBJ_D)\tb_rand.obj: $(SRC_D)\crypto\engine\tb_rand.c + $(CC) /Fo$(OBJ_D)\tb_rand.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_rand.c + +$(OBJ_D)\tb_store.obj: $(SRC_D)\crypto\engine\tb_store.c + $(CC) /Fo$(OBJ_D)\tb_store.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_store.c + +$(OBJ_D)\tb_cipher.obj: $(SRC_D)\crypto\engine\tb_cipher.c + $(CC) /Fo$(OBJ_D)\tb_cipher.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_cipher.c + +$(OBJ_D)\tb_digest.obj: $(SRC_D)\crypto\engine\tb_digest.c + $(CC) /Fo$(OBJ_D)\tb_digest.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_digest.c + +$(OBJ_D)\tb_pkmeth.obj: $(SRC_D)\crypto\engine\tb_pkmeth.c + $(CC) /Fo$(OBJ_D)\tb_pkmeth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_pkmeth.c + +$(OBJ_D)\tb_asnmth.obj: $(SRC_D)\crypto\engine\tb_asnmth.c + $(CC) /Fo$(OBJ_D)\tb_asnmth.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\tb_asnmth.c + +$(OBJ_D)\eng_openssl.obj: $(SRC_D)\crypto\engine\eng_openssl.c + $(CC) /Fo$(OBJ_D)\eng_openssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_openssl.c + +$(OBJ_D)\eng_cnf.obj: $(SRC_D)\crypto\engine\eng_cnf.c + $(CC) /Fo$(OBJ_D)\eng_cnf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_cnf.c + +$(OBJ_D)\eng_dyn.obj: $(SRC_D)\crypto\engine\eng_dyn.c + $(CC) /Fo$(OBJ_D)\eng_dyn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_dyn.c + +$(OBJ_D)\eng_cryptodev.obj: $(SRC_D)\crypto\engine\eng_cryptodev.c + $(CC) /Fo$(OBJ_D)\eng_cryptodev.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_cryptodev.c + +$(OBJ_D)\eng_rdrand.obj: $(SRC_D)\crypto\engine\eng_rdrand.c + $(CC) /Fo$(OBJ_D)\eng_rdrand.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\engine\eng_rdrand.c + +$(OBJ_D)\ocsp_asn.obj: $(SRC_D)\crypto\ocsp\ocsp_asn.c + $(CC) /Fo$(OBJ_D)\ocsp_asn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_asn.c + +$(OBJ_D)\ocsp_ext.obj: $(SRC_D)\crypto\ocsp\ocsp_ext.c + $(CC) /Fo$(OBJ_D)\ocsp_ext.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_ext.c + +$(OBJ_D)\ocsp_ht.obj: $(SRC_D)\crypto\ocsp\ocsp_ht.c + $(CC) /Fo$(OBJ_D)\ocsp_ht.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_ht.c + +$(OBJ_D)\ocsp_lib.obj: $(SRC_D)\crypto\ocsp\ocsp_lib.c + $(CC) /Fo$(OBJ_D)\ocsp_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_lib.c + +$(OBJ_D)\ocsp_cl.obj: $(SRC_D)\crypto\ocsp\ocsp_cl.c + $(CC) /Fo$(OBJ_D)\ocsp_cl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_cl.c + +$(OBJ_D)\ocsp_srv.obj: $(SRC_D)\crypto\ocsp\ocsp_srv.c + $(CC) /Fo$(OBJ_D)\ocsp_srv.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_srv.c + +$(OBJ_D)\ocsp_prn.obj: $(SRC_D)\crypto\ocsp\ocsp_prn.c + $(CC) /Fo$(OBJ_D)\ocsp_prn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_prn.c + +$(OBJ_D)\ocsp_vfy.obj: $(SRC_D)\crypto\ocsp\ocsp_vfy.c + $(CC) /Fo$(OBJ_D)\ocsp_vfy.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_vfy.c + +$(OBJ_D)\ocsp_err.obj: $(SRC_D)\crypto\ocsp\ocsp_err.c + $(CC) /Fo$(OBJ_D)\ocsp_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ocsp\ocsp_err.c + +$(OBJ_D)\ui_err.obj: $(SRC_D)\crypto\ui\ui_err.c + $(CC) /Fo$(OBJ_D)\ui_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ui\ui_err.c + +$(OBJ_D)\ui_lib.obj: $(SRC_D)\crypto\ui\ui_lib.c + $(CC) /Fo$(OBJ_D)\ui_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ui\ui_lib.c + +$(OBJ_D)\ui_openssl.obj: $(SRC_D)\crypto\ui\ui_openssl.c + $(CC) /Fo$(OBJ_D)\ui_openssl.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ui\ui_openssl.c + +$(OBJ_D)\ui_util.obj: $(SRC_D)\crypto\ui\ui_util.c + $(CC) /Fo$(OBJ_D)\ui_util.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ui\ui_util.c + +$(OBJ_D)\ui_compat.obj: $(SRC_D)\crypto\ui\ui_compat.c + $(CC) /Fo$(OBJ_D)\ui_compat.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ui\ui_compat.c + +$(OBJ_D)\krb5_asn.obj: $(SRC_D)\crypto\krb5\krb5_asn.c + $(CC) /Fo$(OBJ_D)\krb5_asn.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\krb5\krb5_asn.c + +$(OBJ_D)\pqueue.obj: $(SRC_D)\crypto\pqueue\pqueue.c + $(CC) /Fo$(OBJ_D)\pqueue.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\pqueue\pqueue.c + +$(OBJ_D)\wp_dgst.obj: $(SRC_D)\crypto\whrlpool\wp_dgst.c + $(CC) /Fo$(OBJ_D)\wp_dgst.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\whrlpool\wp_dgst.c + +$(OBJ_D)\wp_block.obj: $(SRC_D)\crypto\whrlpool\wp_block.c + $(CC) /Fo$(OBJ_D)\wp_block.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\whrlpool\wp_block.c + +$(TMP_D)\wp-mmx.asm: crypto\whrlpool\asm\wp-mmx.pl + $(PERL) crypto\whrlpool\asm\wp-mmx.pl win32n $(CFLAG) >$@ + +$(OBJ_D)\wp-mmx.obj: $(TMP_D)\wp-mmx.asm + $(ASM) -o $@ $(TMP_D)\wp-mmx.asm + +$(OBJ_D)\ts_err.obj: $(SRC_D)\crypto\ts\ts_err.c + $(CC) /Fo$(OBJ_D)\ts_err.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_err.c + +$(OBJ_D)\ts_req_utils.obj: $(SRC_D)\crypto\ts\ts_req_utils.c + $(CC) /Fo$(OBJ_D)\ts_req_utils.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_req_utils.c + +$(OBJ_D)\ts_req_print.obj: $(SRC_D)\crypto\ts\ts_req_print.c + $(CC) /Fo$(OBJ_D)\ts_req_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_req_print.c + +$(OBJ_D)\ts_rsp_utils.obj: $(SRC_D)\crypto\ts\ts_rsp_utils.c + $(CC) /Fo$(OBJ_D)\ts_rsp_utils.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_rsp_utils.c + +$(OBJ_D)\ts_rsp_print.obj: $(SRC_D)\crypto\ts\ts_rsp_print.c + $(CC) /Fo$(OBJ_D)\ts_rsp_print.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_rsp_print.c + +$(OBJ_D)\ts_rsp_sign.obj: $(SRC_D)\crypto\ts\ts_rsp_sign.c + $(CC) /Fo$(OBJ_D)\ts_rsp_sign.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_rsp_sign.c + +$(OBJ_D)\ts_rsp_verify.obj: $(SRC_D)\crypto\ts\ts_rsp_verify.c + $(CC) /Fo$(OBJ_D)\ts_rsp_verify.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_rsp_verify.c + +$(OBJ_D)\ts_verify_ctx.obj: $(SRC_D)\crypto\ts\ts_verify_ctx.c + $(CC) /Fo$(OBJ_D)\ts_verify_ctx.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_verify_ctx.c + +$(OBJ_D)\ts_lib.obj: $(SRC_D)\crypto\ts\ts_lib.c + $(CC) /Fo$(OBJ_D)\ts_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_lib.c + +$(OBJ_D)\ts_conf.obj: $(SRC_D)\crypto\ts\ts_conf.c + $(CC) /Fo$(OBJ_D)\ts_conf.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_conf.c + +$(OBJ_D)\ts_asn1.obj: $(SRC_D)\crypto\ts\ts_asn1.c + $(CC) /Fo$(OBJ_D)\ts_asn1.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\ts\ts_asn1.c + +$(OBJ_D)\srp_lib.obj: $(SRC_D)\crypto\srp\srp_lib.c + $(CC) /Fo$(OBJ_D)\srp_lib.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\srp\srp_lib.c + +$(OBJ_D)\srp_vfy.obj: $(SRC_D)\crypto\srp\srp_vfy.c + $(CC) /Fo$(OBJ_D)\srp_vfy.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\crypto\srp\srp_vfy.c + +$(OBJ_D)\$(CRYPTO).res: ms\version32.rc + $(RSC) /fo"$(OBJ_D)\$(CRYPTO).res" /d CRYPTO ms\version32.rc + +$(OBJ_D)\$(SSL).res: ms\version32.rc + $(RSC) /fo"$(OBJ_D)\$(SSL).res" /d SSL ms\version32.rc + +$(TEST_D)\constant_time_test.exe: $(OBJ_D)\constant_time_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\constant_time_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\constant_time_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\md4test.exe: $(OBJ_D)\md4test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md4test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\md4test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\md5test.exe: $(OBJ_D)\md5test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\md5test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\md5test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\shatest.exe: $(OBJ_D)\shatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\shatest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\shatest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sha1test.exe: $(OBJ_D)\sha1test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha1test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sha1test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sha256t.exe: $(OBJ_D)\sha256t.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha256t.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sha256t.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sha512t.exe: $(OBJ_D)\sha512t.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sha512t.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sha512t.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\hmactest.exe: $(OBJ_D)\hmactest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\hmactest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\hmactest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rmdtest.exe: $(OBJ_D)\rmdtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rmdtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rmdtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\destest.exe: $(OBJ_D)\destest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\destest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\destest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rc2test.exe: $(OBJ_D)\rc2test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc2test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rc2test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rc4test.exe: $(OBJ_D)\rc4test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rc4test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rc4test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\bftest.exe: $(OBJ_D)\bftest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bftest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\bftest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\casttest.exe: $(OBJ_D)\casttest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\casttest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\casttest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\bntest.exe: $(OBJ_D)\bntest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bntest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\bntest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\exptest.exe: $(OBJ_D)\exptest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\exptest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\exptest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\rsa_test.exe: $(OBJ_D)\rsa_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\rsa_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\rsa_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\dsatest.exe: $(OBJ_D)\dsatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dsatest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\dsatest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\dhtest.exe: $(OBJ_D)\dhtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dhtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\dhtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ectest.exe: $(OBJ_D)\ectest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ectest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ectest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ecdhtest.exe: $(OBJ_D)\ecdhtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdhtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ecdhtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ecdsatest.exe: $(OBJ_D)\ecdsatest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ecdsatest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ecdsatest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\randtest.exe: $(OBJ_D)\randtest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\randtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\randtest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\evp_test.exe: $(OBJ_D)\evp_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\evp_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\evp_extra_test.exe: $(OBJ_D)\evp_extra_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\evp_extra_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\evp_extra_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\verify_extra_test.exe: $(OBJ_D)\verify_extra_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\verify_extra_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\verify_extra_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\v3nametest.exe: $(OBJ_D)\v3nametest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\v3nametest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\v3nametest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\enginetest.exe: $(OBJ_D)\enginetest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\enginetest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\enginetest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\wp_test.exe: $(OBJ_D)\wp_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\wp_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\wp_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\srptest.exe: $(OBJ_D)\srptest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\srptest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\srptest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\ssltest.exe: $(OBJ_D)\ssltest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\ssltest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\ssltest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\heartbeat_test.exe: $(OBJ_D)\heartbeat_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\heartbeat_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\heartbeat_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\clienthellotest.exe: $(OBJ_D)\clienthellotest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\clienthellotest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\clienthellotest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\sslv2conftest.exe: $(OBJ_D)\sslv2conftest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\sslv2conftest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\sslv2conftest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\dtlstest.exe: $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\dtlstest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\dtlstest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\bad_dtls_test.exe: $(OBJ_D)\bad_dtls_test.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\bad_dtls_test.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\bad_dtls_test.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\fatalerrtest.exe: $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\fatalerrtest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\fatalerrtest.obj $(OBJ_D)\ssltestlib.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(TEST_D)\igetest.exe: $(OBJ_D)\igetest.obj $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(TEST_D)\igetest.exe @<< + $(APP_EX_OBJ) $(OBJ_D)\igetest.obj $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + +$(OBJ_D)\e_4758cca.obj: $(SRC_D)\engines\e_4758cca.c + $(CC) /Fo$(OBJ_D)\e_4758cca.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_4758cca.c + +$(ENG_D)\4758cca.dll: $(OBJ_D)\e_4758cca.obj + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\4758cca.dll @<< + $(SHLIB_EX_OBJ) $(OBJ_D)\e_4758cca.obj $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(OBJ_D)\e_aep.obj: $(SRC_D)\engines\e_aep.c + $(CC) /Fo$(OBJ_D)\e_aep.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_aep.c + +$(ENG_D)\aep.dll: $(OBJ_D)\e_aep.obj + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\aep.dll @<< + $(SHLIB_EX_OBJ) $(OBJ_D)\e_aep.obj $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(OBJ_D)\e_atalla.obj: $(SRC_D)\engines\e_atalla.c + $(CC) /Fo$(OBJ_D)\e_atalla.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_atalla.c + +$(ENG_D)\atalla.dll: $(OBJ_D)\e_atalla.obj + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\atalla.dll @<< + $(SHLIB_EX_OBJ) $(OBJ_D)\e_atalla.obj $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(OBJ_D)\e_cswift.obj: $(SRC_D)\engines\e_cswift.c + $(CC) /Fo$(OBJ_D)\e_cswift.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_cswift.c + +$(ENG_D)\cswift.dll: $(OBJ_D)\e_cswift.obj + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\cswift.dll @<< + $(SHLIB_EX_OBJ) $(OBJ_D)\e_cswift.obj $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(OBJ_D)\e_gmp.obj: $(SRC_D)\engines\e_gmp.c + $(CC) /Fo$(OBJ_D)\e_gmp.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_gmp.c + +$(ENG_D)\gmp.dll: $(OBJ_D)\e_gmp.obj + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\gmp.dll @<< + $(SHLIB_EX_OBJ) $(OBJ_D)\e_gmp.obj $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(OBJ_D)\e_chil.obj: $(SRC_D)\engines\e_chil.c + $(CC) /Fo$(OBJ_D)\e_chil.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_chil.c + +$(ENG_D)\chil.dll: $(OBJ_D)\e_chil.obj + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\chil.dll @<< + $(SHLIB_EX_OBJ) $(OBJ_D)\e_chil.obj $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(OBJ_D)\e_nuron.obj: $(SRC_D)\engines\e_nuron.c + $(CC) /Fo$(OBJ_D)\e_nuron.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_nuron.c + +$(ENG_D)\nuron.dll: $(OBJ_D)\e_nuron.obj + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\nuron.dll @<< + $(SHLIB_EX_OBJ) $(OBJ_D)\e_nuron.obj $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(OBJ_D)\e_sureware.obj: $(SRC_D)\engines\e_sureware.c + $(CC) /Fo$(OBJ_D)\e_sureware.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_sureware.c + +$(ENG_D)\sureware.dll: $(OBJ_D)\e_sureware.obj + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\sureware.dll @<< + $(SHLIB_EX_OBJ) $(OBJ_D)\e_sureware.obj $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(OBJ_D)\e_ubsec.obj: $(SRC_D)\engines\e_ubsec.c + $(CC) /Fo$(OBJ_D)\e_ubsec.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_ubsec.c + +$(ENG_D)\ubsec.dll: $(OBJ_D)\e_ubsec.obj + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\ubsec.dll @<< + $(SHLIB_EX_OBJ) $(OBJ_D)\e_ubsec.obj $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(OBJ_D)\e_padlock.obj: $(SRC_D)\engines\e_padlock.c + $(CC) /Fo$(OBJ_D)\e_padlock.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_padlock.c + +$(ENG_D)\padlock.dll: $(OBJ_D)\e_padlock.obj + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\padlock.dll @<< + $(SHLIB_EX_OBJ) $(OBJ_D)\e_padlock.obj $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(OBJ_D)\e_capi.obj: $(SRC_D)\engines\e_capi.c + $(CC) /Fo$(OBJ_D)\e_capi.obj $(SHLIB_CFLAGS) -DOPENSSL_BUILD_SHLIBCRYPTO -c $(SRC_D)\engines\e_capi.c + +$(ENG_D)\capi.dll: $(OBJ_D)\e_capi.obj + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\capi.dll @<< + $(SHLIB_EX_OBJ) $(OBJ_D)\e_capi.obj $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(O_SSL): $(SSLOBJ) + $(LINK_CMD) $(MLFLAGS) /out:$(O_SSL) /def:ms/SSLEAY32.def @<< + $(SHLIB_EX_OBJ) $(SSLOBJ) $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(O_CRYPTO): $(CRYPTOOBJ) + $(LINK_CMD) $(MLFLAGS) /out:$(O_CRYPTO) /def:ms/LIBEAY32.def @<< + $(SHLIB_EX_OBJ) $(CRYPTOOBJ) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(ENG_D)\gost.dll: $(GOSTOBJ) + $(LINK_CMD) $(MLFLAGS) /out:$(ENG_D)\gost.dll @<< + $(SHLIB_EX_OBJ) $(GOSTOBJ) $(L_CRYPTO) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 + + +$(BIN_D)\$(E_EXE).exe: $(E_OBJ) $(LIBS_DEP) + $(LINK_CMD) $(LFLAGS) /out:$(BIN_D)\$(E_EXE).exe @<< + $(APP_EX_OBJ) $(E_OBJ) $(L_LIBS) $(EX_LIBS) +<< + IF EXIST $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 + diff --git a/ms/ssleay32.def b/ms/ssleay32.def index d32137cd..eb9d51b3 100644 --- a/ms/ssleay32.def +++ b/ms/ssleay32.def @@ -1,328 +1,328 @@ -; -; Definition file for the DLL version of the SSLEAY library from OpenSSL -; - -LIBRARY SSLEAY32 - -EXPORTS - BIO_f_ssl @121 - BIO_new_buffer_ssl_connect @173 - BIO_new_ssl @122 - BIO_new_ssl_connect @174 - BIO_ssl_copy_session_id @124 - BIO_ssl_shutdown @131 - DTLS_client_method @368 - DTLS_method @367 - DTLS_server_method @405 - DTLSv1_2_client_method @384 - DTLSv1_2_method @404 - DTLSv1_2_server_method @373 - DTLSv1_client_method @268 - DTLSv1_method @273 - DTLSv1_server_method @275 - ERR_load_SSL_strings @1 - PEM_read_SSL_SESSION @301 - PEM_read_bio_SSL_SESSION @302 - PEM_write_SSL_SESSION @305 - PEM_write_bio_SSL_SESSION @296 - SRP_Calc_A_param @332 - SRP_generate_client_master_secret @335 - SRP_generate_server_master_secret @333 - SSL_CIPHER_description @2 - SSL_CIPHER_find @382 - SSL_CIPHER_get_bits @128 - SSL_CIPHER_get_id @349 - SSL_CIPHER_get_name @130 - SSL_CIPHER_get_version @129 - SSL_COMP_add_compression_method @184 - SSL_COMP_free_compression_methods @407 - SSL_COMP_get_compression_methods @276 - SSL_COMP_get_name @271 - SSL_COMP_set0_compression_methods @374 - SSL_CONF_CTX_clear_flags @386 - SSL_CONF_CTX_finish @366 - SSL_CONF_CTX_free @401 - SSL_CONF_CTX_new @396 - SSL_CONF_CTX_set1_prefix @395 - SSL_CONF_CTX_set_flags @397 - SSL_CONF_CTX_set_ssl @398 - SSL_CONF_CTX_set_ssl_ctx @381 - SSL_CONF_cmd @379 - SSL_CONF_cmd_argv @372 - SSL_CONF_cmd_value_type @392 - SSL_CTX_SRP_CTX_free @334 - SSL_CTX_SRP_CTX_init @330 - SSL_CTX_add_client_CA @3 - SSL_CTX_add_client_custom_ext @376 - SSL_CTX_add_server_custom_ext @389 - SSL_CTX_add_session @4 - SSL_CTX_callback_ctrl @243 - SSL_CTX_check_private_key @5 - SSL_CTX_ctrl @6 - SSL_CTX_flush_sessions @7 - SSL_CTX_free @8 - SSL_CTX_get0_certificate @390 - SSL_CTX_get0_param @378 - SSL_CTX_get0_privatekey @364 - SSL_CTX_get_cert_store @180 - SSL_CTX_get_client_CA_list @9 - SSL_CTX_get_client_cert_cb @288 - SSL_CTX_get_ex_data @138 - SSL_CTX_get_ex_new_index @167 - SSL_CTX_get_info_callback @282 - SSL_CTX_get_quiet_shutdown @140 - SSL_CTX_get_ssl_method @380 - SSL_CTX_get_timeout @179 - SSL_CTX_get_verify_callback @10 - SSL_CTX_get_verify_depth @228 - SSL_CTX_get_verify_mode @11 - SSL_CTX_load_verify_locations @141 - SSL_CTX_new @12 - SSL_CTX_remove_session @13 - SSL_CTX_sess_get_get_cb @279 - SSL_CTX_sess_get_new_cb @287 - SSL_CTX_sess_get_remove_cb @289 - SSL_CTX_sess_set_get_cb @280 - SSL_CTX_sess_set_new_cb @278 - SSL_CTX_sess_set_remove_cb @285 - SSL_CTX_sessions @245 - SSL_CTX_set1_param @310 - SSL_CTX_set_alpn_protos @387 - SSL_CTX_set_alpn_select_cb @391 - SSL_CTX_set_cert_cb @375 - SSL_CTX_set_cert_store @181 - SSL_CTX_set_cert_verify_callback @232 - SSL_CTX_set_cipher_list @15 - SSL_CTX_set_client_CA_list @16 - SSL_CTX_set_client_cert_cb @284 - SSL_CTX_set_client_cert_engine @293 - SSL_CTX_set_cookie_generate_cb @283 - SSL_CTX_set_cookie_verify_cb @281 - SSL_CTX_set_default_passwd_cb @17 - SSL_CTX_set_default_passwd_cb_userdata @235 - SSL_CTX_set_default_verify_paths @142 - SSL_CTX_set_ex_data @143 - SSL_CTX_set_generate_session_id @264 - SSL_CTX_set_info_callback @286 - SSL_CTX_set_msg_callback @266 - SSL_CTX_set_next_proto_select_cb @361 - SSL_CTX_set_next_protos_advertised_cb @355 - SSL_CTX_set_psk_client_callback @295 - SSL_CTX_set_psk_server_callback @303 - SSL_CTX_set_purpose @238 - SSL_CTX_set_quiet_shutdown @145 - SSL_CTX_set_session_id_context @231 - SSL_CTX_set_srp_cb_arg @328 - SSL_CTX_set_srp_client_pwd_callback @316 - SSL_CTX_set_srp_password @324 - SSL_CTX_set_srp_strength @325 - SSL_CTX_set_srp_username @329 - SSL_CTX_set_srp_username_callback @318 - SSL_CTX_set_srp_verify_param_callback @326 - SSL_CTX_set_ssl_version @19 - SSL_CTX_set_timeout @178 - SSL_CTX_set_tlsext_use_srtp @358 - SSL_CTX_set_tmp_dh_callback @176 - SSL_CTX_set_tmp_ecdh_callback @269 - SSL_CTX_set_tmp_rsa_callback @177 - SSL_CTX_set_trust @237 - SSL_CTX_set_verify @21 - SSL_CTX_set_verify_depth @225 - SSL_CTX_use_PrivateKey @22 - SSL_CTX_use_PrivateKey_ASN1 @23 - SSL_CTX_use_PrivateKey_file @24 - SSL_CTX_use_RSAPrivateKey @25 - SSL_CTX_use_RSAPrivateKey_ASN1 @26 - SSL_CTX_use_RSAPrivateKey_file @27 - SSL_CTX_use_certificate @28 - SSL_CTX_use_certificate_ASN1 @29 - SSL_CTX_use_certificate_chain_file @222 - SSL_CTX_use_certificate_file @30 - SSL_CTX_use_psk_identity_hint @294 - SSL_CTX_use_serverinfo @383 - SSL_CTX_use_serverinfo_file @406 - SSL_SESSION_free @31 - SSL_SESSION_get0_peer @340 - SSL_SESSION_get_compress_id @362 - SSL_SESSION_get_ex_data @146 - SSL_SESSION_get_ex_new_index @168 - SSL_SESSION_get_id @277 - SSL_SESSION_get_time @134 - SSL_SESSION_get_timeout @136 - SSL_SESSION_new @32 - SSL_SESSION_print @33 - SSL_SESSION_print_fp @34 - SSL_SESSION_set1_id_context @342 - SSL_SESSION_set_ex_data @148 - SSL_SESSION_set_time @135 - SSL_SESSION_set_timeout @137 - SSL_SRP_CTX_free @338 - SSL_SRP_CTX_init @331 - SSL_accept @35 - SSL_add_client_CA @36 - SSL_add_dir_cert_subjects_to_stack @188 - SSL_add_file_cert_subjects_to_stack @185 - SSL_alert_desc_string @37 - SSL_alert_desc_string_long @38 - SSL_alert_type_string @39 - SSL_alert_type_string_long @40 - SSL_cache_hit @344 - SSL_callback_ctrl @244 - SSL_certs_clear @400 - SSL_check_chain @399 - SSL_check_private_key @41 - SSL_clear @42 - SSL_connect @43 - SSL_copy_session_id @44 - SSL_ctrl @45 - SSL_do_handshake @125 - SSL_dup @46 - SSL_dup_CA_list @47 - SSL_export_keying_material @353 - SSL_extension_supported @409 - SSL_free @48 - SSL_get0_alpn_selected @385 - SSL_get0_next_proto_negotiated @356 - SSL_get0_param @363 - SSL_get1_session @242 - SSL_get_SSL_CTX @150 - SSL_get_certificate @49 - SSL_get_cipher_list @52 - SSL_get_ciphers @55 - SSL_get_client_CA_list @56 - SSL_get_current_cipher @127 - SSL_get_current_compression @272 - SSL_get_current_expansion @274 - SSL_get_default_timeout @57 - SSL_get_error @58 - SSL_get_ex_data @151 - SSL_get_ex_data_X509_STORE_CTX_idx @175 - SSL_get_ex_new_index @169 - SSL_get_fd @59 - SSL_get_finished @240 - SSL_get_info_callback @165 - SSL_get_peer_cert_chain @60 - SSL_get_peer_certificate @61 - SSL_get_peer_finished @241 - SSL_get_privatekey @126 - SSL_get_psk_identity @304 - SSL_get_psk_identity_hint @297 - SSL_get_quiet_shutdown @153 - SSL_get_rbio @63 - SSL_get_read_ahead @64 - SSL_get_rfd @246 - SSL_get_selected_srtp_profile @357 - SSL_get_servername @291 - SSL_get_servername_type @292 - SSL_get_session @154 - SSL_get_shared_ciphers @65 - SSL_get_shared_sigalgs @365 - SSL_get_shutdown @155 - SSL_get_sigalgs @394 - SSL_get_srp_N @322 - SSL_get_srp_g @317 - SSL_get_srp_userinfo @319 - SSL_get_srp_username @323 - SSL_get_srtp_profiles @360 - SSL_get_ssl_method @66 - SSL_get_verify_callback @69 - SSL_get_verify_depth @229 - SSL_get_verify_mode @70 - SSL_get_verify_result @157 - SSL_get_version @71 - SSL_get_wbio @72 - SSL_get_wfd @247 - SSL_has_matching_session_id @249 - SSL_is_server @377 - SSL_library_init @183 - SSL_load_client_CA_file @73 - SSL_load_error_strings @74 - SSL_new @75 - SSL_peek @76 - SSL_pending @77 - SSL_read @78 - SSL_renegotiate @79 - SSL_renegotiate_abbreviated @312 - SSL_renegotiate_pending @265 - SSL_rstate_string @80 - SSL_rstate_string_long @81 - SSL_select_next_proto @359 - SSL_set1_param @309 - SSL_set_SSL_CTX @290 - SSL_set_accept_state @82 - SSL_set_alpn_protos @370 - SSL_set_bio @83 - SSL_set_cert_cb @393 - SSL_set_cipher_list @84 - SSL_set_client_CA_list @85 - SSL_set_connect_state @86 - SSL_set_debug @339 - SSL_set_ex_data @158 - SSL_set_fd @87 - SSL_set_generate_session_id @258 - SSL_set_info_callback @160 - SSL_set_msg_callback @267 - SSL_set_psk_client_callback @300 - SSL_set_psk_server_callback @298 - SSL_set_purpose @236 - SSL_set_quiet_shutdown @161 - SSL_set_read_ahead @88 - SSL_set_rfd @89 - SSL_set_session @90 - SSL_set_session_id_context @189 - SSL_set_session_secret_cb @307 - SSL_set_session_ticket_ext @306 - SSL_set_session_ticket_ext_cb @308 - SSL_set_shutdown @162 - SSL_set_srp_server_param @320 - SSL_set_srp_server_param_pw @321 - SSL_set_ssl_method @91 - SSL_set_state @348 - SSL_set_tlsext_use_srtp @354 - SSL_set_tmp_dh_callback @187 - SSL_set_tmp_ecdh_callback @270 - SSL_set_tmp_rsa_callback @186 - SSL_set_trust @239 - SSL_set_verify @94 - SSL_set_verify_depth @226 - SSL_set_verify_result @163 - SSL_set_wfd @95 - SSL_shutdown @96 - SSL_srp_server_param_with_username @336 - SSL_state @166 - SSL_state_string @97 - SSL_state_string_long @98 - SSL_use_PrivateKey @99 - SSL_use_PrivateKey_ASN1 @100 - SSL_use_PrivateKey_file @101 - SSL_use_RSAPrivateKey @102 - SSL_use_RSAPrivateKey_ASN1 @103 - SSL_use_RSAPrivateKey_file @104 - SSL_use_certificate @105 - SSL_use_certificate_ASN1 @106 - SSL_use_certificate_file @107 - SSL_use_psk_identity_hint @299 - SSL_version @164 - SSL_want @182 - SSL_write @108 - SSLv23_client_method @110 - SSLv23_method @111 - SSLv23_server_method @112 - SSLv2_client_method @113 - SSLv2_method @114 - SSLv2_server_method @115 - SSLv3_client_method @116 - SSLv3_method @117 - SSLv3_server_method @118 - TLSv1_1_client_method @314 - TLSv1_1_method @313 - TLSv1_1_server_method @315 - TLSv1_2_client_method @341 - TLSv1_2_method @350 - TLSv1_2_server_method @343 - TLSv1_client_method @172 - TLSv1_method @170 - TLSv1_server_method @171 - d2i_SSL_SESSION @119 - i2d_SSL_SESSION @120 - +; +; Definition file for the DLL version of the SSLEAY library from OpenSSL +; + +LIBRARY SSLEAY32 + +EXPORTS + BIO_f_ssl @121 + BIO_new_buffer_ssl_connect @173 + BIO_new_ssl @122 + BIO_new_ssl_connect @174 + BIO_ssl_copy_session_id @124 + BIO_ssl_shutdown @131 + DTLS_client_method @368 + DTLS_method @367 + DTLS_server_method @405 + DTLSv1_2_client_method @384 + DTLSv1_2_method @404 + DTLSv1_2_server_method @373 + DTLSv1_client_method @268 + DTLSv1_method @273 + DTLSv1_server_method @275 + ERR_load_SSL_strings @1 + PEM_read_SSL_SESSION @301 + PEM_read_bio_SSL_SESSION @302 + PEM_write_SSL_SESSION @305 + PEM_write_bio_SSL_SESSION @296 + SRP_Calc_A_param @332 + SRP_generate_client_master_secret @335 + SRP_generate_server_master_secret @333 + SSL_CIPHER_description @2 + SSL_CIPHER_find @382 + SSL_CIPHER_get_bits @128 + SSL_CIPHER_get_id @349 + SSL_CIPHER_get_name @130 + SSL_CIPHER_get_version @129 + SSL_COMP_add_compression_method @184 + SSL_COMP_free_compression_methods @407 + SSL_COMP_get_compression_methods @276 + SSL_COMP_get_name @271 + SSL_COMP_set0_compression_methods @374 + SSL_CONF_CTX_clear_flags @386 + SSL_CONF_CTX_finish @366 + SSL_CONF_CTX_free @401 + SSL_CONF_CTX_new @396 + SSL_CONF_CTX_set1_prefix @395 + SSL_CONF_CTX_set_flags @397 + SSL_CONF_CTX_set_ssl @398 + SSL_CONF_CTX_set_ssl_ctx @381 + SSL_CONF_cmd @379 + SSL_CONF_cmd_argv @372 + SSL_CONF_cmd_value_type @392 + SSL_CTX_SRP_CTX_free @334 + SSL_CTX_SRP_CTX_init @330 + SSL_CTX_add_client_CA @3 + SSL_CTX_add_client_custom_ext @376 + SSL_CTX_add_server_custom_ext @389 + SSL_CTX_add_session @4 + SSL_CTX_callback_ctrl @243 + SSL_CTX_check_private_key @5 + SSL_CTX_ctrl @6 + SSL_CTX_flush_sessions @7 + SSL_CTX_free @8 + SSL_CTX_get0_certificate @390 + SSL_CTX_get0_param @378 + SSL_CTX_get0_privatekey @364 + SSL_CTX_get_cert_store @180 + SSL_CTX_get_client_CA_list @9 + SSL_CTX_get_client_cert_cb @288 + SSL_CTX_get_ex_data @138 + SSL_CTX_get_ex_new_index @167 + SSL_CTX_get_info_callback @282 + SSL_CTX_get_quiet_shutdown @140 + SSL_CTX_get_ssl_method @380 + SSL_CTX_get_timeout @179 + SSL_CTX_get_verify_callback @10 + SSL_CTX_get_verify_depth @228 + SSL_CTX_get_verify_mode @11 + SSL_CTX_load_verify_locations @141 + SSL_CTX_new @12 + SSL_CTX_remove_session @13 + SSL_CTX_sess_get_get_cb @279 + SSL_CTX_sess_get_new_cb @287 + SSL_CTX_sess_get_remove_cb @289 + SSL_CTX_sess_set_get_cb @280 + SSL_CTX_sess_set_new_cb @278 + SSL_CTX_sess_set_remove_cb @285 + SSL_CTX_sessions @245 + SSL_CTX_set1_param @310 + SSL_CTX_set_alpn_protos @387 + SSL_CTX_set_alpn_select_cb @391 + SSL_CTX_set_cert_cb @375 + SSL_CTX_set_cert_store @181 + SSL_CTX_set_cert_verify_callback @232 + SSL_CTX_set_cipher_list @15 + SSL_CTX_set_client_CA_list @16 + SSL_CTX_set_client_cert_cb @284 + SSL_CTX_set_client_cert_engine @293 + SSL_CTX_set_cookie_generate_cb @283 + SSL_CTX_set_cookie_verify_cb @281 + SSL_CTX_set_default_passwd_cb @17 + SSL_CTX_set_default_passwd_cb_userdata @235 + SSL_CTX_set_default_verify_paths @142 + SSL_CTX_set_ex_data @143 + SSL_CTX_set_generate_session_id @264 + SSL_CTX_set_info_callback @286 + SSL_CTX_set_msg_callback @266 + SSL_CTX_set_next_proto_select_cb @361 + SSL_CTX_set_next_protos_advertised_cb @355 + SSL_CTX_set_psk_client_callback @295 + SSL_CTX_set_psk_server_callback @303 + SSL_CTX_set_purpose @238 + SSL_CTX_set_quiet_shutdown @145 + SSL_CTX_set_session_id_context @231 + SSL_CTX_set_srp_cb_arg @328 + SSL_CTX_set_srp_client_pwd_callback @316 + SSL_CTX_set_srp_password @324 + SSL_CTX_set_srp_strength @325 + SSL_CTX_set_srp_username @329 + SSL_CTX_set_srp_username_callback @318 + SSL_CTX_set_srp_verify_param_callback @326 + SSL_CTX_set_ssl_version @19 + SSL_CTX_set_timeout @178 + SSL_CTX_set_tlsext_use_srtp @358 + SSL_CTX_set_tmp_dh_callback @176 + SSL_CTX_set_tmp_ecdh_callback @269 + SSL_CTX_set_tmp_rsa_callback @177 + SSL_CTX_set_trust @237 + SSL_CTX_set_verify @21 + SSL_CTX_set_verify_depth @225 + SSL_CTX_use_PrivateKey @22 + SSL_CTX_use_PrivateKey_ASN1 @23 + SSL_CTX_use_PrivateKey_file @24 + SSL_CTX_use_RSAPrivateKey @25 + SSL_CTX_use_RSAPrivateKey_ASN1 @26 + SSL_CTX_use_RSAPrivateKey_file @27 + SSL_CTX_use_certificate @28 + SSL_CTX_use_certificate_ASN1 @29 + SSL_CTX_use_certificate_chain_file @222 + SSL_CTX_use_certificate_file @30 + SSL_CTX_use_psk_identity_hint @294 + SSL_CTX_use_serverinfo @383 + SSL_CTX_use_serverinfo_file @406 + SSL_SESSION_free @31 + SSL_SESSION_get0_peer @340 + SSL_SESSION_get_compress_id @362 + SSL_SESSION_get_ex_data @146 + SSL_SESSION_get_ex_new_index @168 + SSL_SESSION_get_id @277 + SSL_SESSION_get_time @134 + SSL_SESSION_get_timeout @136 + SSL_SESSION_new @32 + SSL_SESSION_print @33 + SSL_SESSION_print_fp @34 + SSL_SESSION_set1_id_context @342 + SSL_SESSION_set_ex_data @148 + SSL_SESSION_set_time @135 + SSL_SESSION_set_timeout @137 + SSL_SRP_CTX_free @338 + SSL_SRP_CTX_init @331 + SSL_accept @35 + SSL_add_client_CA @36 + SSL_add_dir_cert_subjects_to_stack @188 + SSL_add_file_cert_subjects_to_stack @185 + SSL_alert_desc_string @37 + SSL_alert_desc_string_long @38 + SSL_alert_type_string @39 + SSL_alert_type_string_long @40 + SSL_cache_hit @344 + SSL_callback_ctrl @244 + SSL_certs_clear @400 + SSL_check_chain @399 + SSL_check_private_key @41 + SSL_clear @42 + SSL_connect @43 + SSL_copy_session_id @44 + SSL_ctrl @45 + SSL_do_handshake @125 + SSL_dup @46 + SSL_dup_CA_list @47 + SSL_export_keying_material @353 + SSL_extension_supported @409 + SSL_free @48 + SSL_get0_alpn_selected @385 + SSL_get0_next_proto_negotiated @356 + SSL_get0_param @363 + SSL_get1_session @242 + SSL_get_SSL_CTX @150 + SSL_get_certificate @49 + SSL_get_cipher_list @52 + SSL_get_ciphers @55 + SSL_get_client_CA_list @56 + SSL_get_current_cipher @127 + SSL_get_current_compression @272 + SSL_get_current_expansion @274 + SSL_get_default_timeout @57 + SSL_get_error @58 + SSL_get_ex_data @151 + SSL_get_ex_data_X509_STORE_CTX_idx @175 + SSL_get_ex_new_index @169 + SSL_get_fd @59 + SSL_get_finished @240 + SSL_get_info_callback @165 + SSL_get_peer_cert_chain @60 + SSL_get_peer_certificate @61 + SSL_get_peer_finished @241 + SSL_get_privatekey @126 + SSL_get_psk_identity @304 + SSL_get_psk_identity_hint @297 + SSL_get_quiet_shutdown @153 + SSL_get_rbio @63 + SSL_get_read_ahead @64 + SSL_get_rfd @246 + SSL_get_selected_srtp_profile @357 + SSL_get_servername @291 + SSL_get_servername_type @292 + SSL_get_session @154 + SSL_get_shared_ciphers @65 + SSL_get_shared_sigalgs @365 + SSL_get_shutdown @155 + SSL_get_sigalgs @394 + SSL_get_srp_N @322 + SSL_get_srp_g @317 + SSL_get_srp_userinfo @319 + SSL_get_srp_username @323 + SSL_get_srtp_profiles @360 + SSL_get_ssl_method @66 + SSL_get_verify_callback @69 + SSL_get_verify_depth @229 + SSL_get_verify_mode @70 + SSL_get_verify_result @157 + SSL_get_version @71 + SSL_get_wbio @72 + SSL_get_wfd @247 + SSL_has_matching_session_id @249 + SSL_is_server @377 + SSL_library_init @183 + SSL_load_client_CA_file @73 + SSL_load_error_strings @74 + SSL_new @75 + SSL_peek @76 + SSL_pending @77 + SSL_read @78 + SSL_renegotiate @79 + SSL_renegotiate_abbreviated @312 + SSL_renegotiate_pending @265 + SSL_rstate_string @80 + SSL_rstate_string_long @81 + SSL_select_next_proto @359 + SSL_set1_param @309 + SSL_set_SSL_CTX @290 + SSL_set_accept_state @82 + SSL_set_alpn_protos @370 + SSL_set_bio @83 + SSL_set_cert_cb @393 + SSL_set_cipher_list @84 + SSL_set_client_CA_list @85 + SSL_set_connect_state @86 + SSL_set_debug @339 + SSL_set_ex_data @158 + SSL_set_fd @87 + SSL_set_generate_session_id @258 + SSL_set_info_callback @160 + SSL_set_msg_callback @267 + SSL_set_psk_client_callback @300 + SSL_set_psk_server_callback @298 + SSL_set_purpose @236 + SSL_set_quiet_shutdown @161 + SSL_set_read_ahead @88 + SSL_set_rfd @89 + SSL_set_session @90 + SSL_set_session_id_context @189 + SSL_set_session_secret_cb @307 + SSL_set_session_ticket_ext @306 + SSL_set_session_ticket_ext_cb @308 + SSL_set_shutdown @162 + SSL_set_srp_server_param @320 + SSL_set_srp_server_param_pw @321 + SSL_set_ssl_method @91 + SSL_set_state @348 + SSL_set_tlsext_use_srtp @354 + SSL_set_tmp_dh_callback @187 + SSL_set_tmp_ecdh_callback @270 + SSL_set_tmp_rsa_callback @186 + SSL_set_trust @239 + SSL_set_verify @94 + SSL_set_verify_depth @226 + SSL_set_verify_result @163 + SSL_set_wfd @95 + SSL_shutdown @96 + SSL_srp_server_param_with_username @336 + SSL_state @166 + SSL_state_string @97 + SSL_state_string_long @98 + SSL_use_PrivateKey @99 + SSL_use_PrivateKey_ASN1 @100 + SSL_use_PrivateKey_file @101 + SSL_use_RSAPrivateKey @102 + SSL_use_RSAPrivateKey_ASN1 @103 + SSL_use_RSAPrivateKey_file @104 + SSL_use_certificate @105 + SSL_use_certificate_ASN1 @106 + SSL_use_certificate_file @107 + SSL_use_psk_identity_hint @299 + SSL_version @164 + SSL_want @182 + SSL_write @108 + SSLv23_client_method @110 + SSLv23_method @111 + SSLv23_server_method @112 + SSLv2_client_method @113 + SSLv2_method @114 + SSLv2_server_method @115 + SSLv3_client_method @116 + SSLv3_method @117 + SSLv3_server_method @118 + TLSv1_1_client_method @314 + TLSv1_1_method @313 + TLSv1_1_server_method @315 + TLSv1_2_client_method @341 + TLSv1_2_method @350 + TLSv1_2_server_method @343 + TLSv1_client_method @172 + TLSv1_method @170 + TLSv1_server_method @171 + d2i_SSL_SESSION @119 + i2d_SSL_SESSION @120 + diff --git a/ms/uptable.asm b/ms/uptable.asm index 9bf4d2a9..4dbfb099 100644 --- a/ms/uptable.asm +++ b/ms/uptable.asm @@ -1,503 +1,503 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - -EXTERN OPENSSL_Uplink -global OPENSSL_UplinkTable - -ALIGN 16 -_lazy1: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,1 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[8+rax] -_lazy1_end: - - -ALIGN 16 -_lazy2: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,2 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[16+rax] -_lazy2_end: - - -ALIGN 16 -_lazy3: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,3 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[24+rax] -_lazy3_end: - - -ALIGN 16 -_lazy4: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,4 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[32+rax] -_lazy4_end: - - -ALIGN 16 -_lazy5: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,5 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[40+rax] -_lazy5_end: - - -ALIGN 16 -_lazy6: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,6 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[48+rax] -_lazy6_end: - - -ALIGN 16 -_lazy7: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,7 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[56+rax] -_lazy7_end: - - -ALIGN 16 -_lazy8: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,8 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[64+rax] -_lazy8_end: - - -ALIGN 16 -_lazy9: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,9 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[72+rax] -_lazy9_end: - - -ALIGN 16 -_lazy10: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,10 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[80+rax] -_lazy10_end: - - -ALIGN 16 -_lazy11: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,11 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[88+rax] -_lazy11_end: - - -ALIGN 16 -_lazy12: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,12 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[96+rax] -_lazy12_end: - - -ALIGN 16 -_lazy13: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,13 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[104+rax] -_lazy13_end: - - -ALIGN 16 -_lazy14: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,14 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[112+rax] -_lazy14_end: - - -ALIGN 16 -_lazy15: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,15 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[120+rax] -_lazy15_end: - - -ALIGN 16 -_lazy16: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,16 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[128+rax] -_lazy16_end: - - -ALIGN 16 -_lazy17: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,17 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[136+rax] -_lazy17_end: - - -ALIGN 16 -_lazy18: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,18 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[144+rax] -_lazy18_end: - - -ALIGN 16 -_lazy19: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,19 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[152+rax] -_lazy19_end: - - -ALIGN 16 -_lazy20: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,20 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[160+rax] -_lazy20_end: - - -ALIGN 16 -_lazy21: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,21 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[168+rax] -_lazy21_end: - - -ALIGN 16 -_lazy22: -DB 0x48,0x83,0xEC,0x28 - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],rdx - mov QWORD[64+rsp],r8 - mov QWORD[72+rsp],r9 - lea rcx,[OPENSSL_UplinkTable] - mov rdx,22 - call OPENSSL_Uplink - mov rcx,QWORD[48+rsp] - mov rdx,QWORD[56+rsp] - mov r8,QWORD[64+rsp] - mov r9,QWORD[72+rsp] - lea rax,[OPENSSL_UplinkTable] - add rsp,40 - jmp QWORD[176+rax] -_lazy22_end: - -section .data data align=8 - -OPENSSL_UplinkTable: - DQ 22 - DQ _lazy1 - DQ _lazy2 - DQ _lazy3 - DQ _lazy4 - DQ _lazy5 - DQ _lazy6 - DQ _lazy7 - DQ _lazy8 - DQ _lazy9 - DQ _lazy10 - DQ _lazy11 - DQ _lazy12 - DQ _lazy13 - DQ _lazy14 - DQ _lazy15 - DQ _lazy16 - DQ _lazy17 - DQ _lazy18 - DQ _lazy19 - DQ _lazy20 - DQ _lazy21 - DQ _lazy22 -section .pdata rdata align=4 -ALIGN 4 - DD _lazy1 wrt ..imagebase,_lazy1_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy2 wrt ..imagebase,_lazy2_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy3 wrt ..imagebase,_lazy3_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy4 wrt ..imagebase,_lazy4_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy5 wrt ..imagebase,_lazy5_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy6 wrt ..imagebase,_lazy6_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy7 wrt ..imagebase,_lazy7_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy8 wrt ..imagebase,_lazy8_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy9 wrt ..imagebase,_lazy9_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy10 wrt ..imagebase,_lazy10_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy11 wrt ..imagebase,_lazy11_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy12 wrt ..imagebase,_lazy12_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy13 wrt ..imagebase,_lazy13_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy14 wrt ..imagebase,_lazy14_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy15 wrt ..imagebase,_lazy15_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy16 wrt ..imagebase,_lazy16_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy17 wrt ..imagebase,_lazy17_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy18 wrt ..imagebase,_lazy18_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy19 wrt ..imagebase,_lazy19_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy20 wrt ..imagebase,_lazy20_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy21 wrt ..imagebase,_lazy21_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase - DD _lazy22 wrt ..imagebase,_lazy22_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -_lazy_unwind_info: -DB 0x01,0x04,0x01,0x00 -DB 0x04,0x42,0x00,0x00 +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + +EXTERN OPENSSL_Uplink +global OPENSSL_UplinkTable + +ALIGN 16 +_lazy1: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,1 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[8+rax] +_lazy1_end: + + +ALIGN 16 +_lazy2: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,2 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[16+rax] +_lazy2_end: + + +ALIGN 16 +_lazy3: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,3 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[24+rax] +_lazy3_end: + + +ALIGN 16 +_lazy4: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,4 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[32+rax] +_lazy4_end: + + +ALIGN 16 +_lazy5: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,5 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[40+rax] +_lazy5_end: + + +ALIGN 16 +_lazy6: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,6 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[48+rax] +_lazy6_end: + + +ALIGN 16 +_lazy7: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,7 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[56+rax] +_lazy7_end: + + +ALIGN 16 +_lazy8: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,8 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[64+rax] +_lazy8_end: + + +ALIGN 16 +_lazy9: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,9 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[72+rax] +_lazy9_end: + + +ALIGN 16 +_lazy10: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,10 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[80+rax] +_lazy10_end: + + +ALIGN 16 +_lazy11: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,11 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[88+rax] +_lazy11_end: + + +ALIGN 16 +_lazy12: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,12 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[96+rax] +_lazy12_end: + + +ALIGN 16 +_lazy13: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,13 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[104+rax] +_lazy13_end: + + +ALIGN 16 +_lazy14: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,14 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[112+rax] +_lazy14_end: + + +ALIGN 16 +_lazy15: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,15 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[120+rax] +_lazy15_end: + + +ALIGN 16 +_lazy16: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,16 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[128+rax] +_lazy16_end: + + +ALIGN 16 +_lazy17: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,17 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[136+rax] +_lazy17_end: + + +ALIGN 16 +_lazy18: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,18 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[144+rax] +_lazy18_end: + + +ALIGN 16 +_lazy19: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,19 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[152+rax] +_lazy19_end: + + +ALIGN 16 +_lazy20: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,20 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[160+rax] +_lazy20_end: + + +ALIGN 16 +_lazy21: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,21 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[168+rax] +_lazy21_end: + + +ALIGN 16 +_lazy22: +DB 0x48,0x83,0xEC,0x28 + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],rdx + mov QWORD[64+rsp],r8 + mov QWORD[72+rsp],r9 + lea rcx,[OPENSSL_UplinkTable] + mov rdx,22 + call OPENSSL_Uplink + mov rcx,QWORD[48+rsp] + mov rdx,QWORD[56+rsp] + mov r8,QWORD[64+rsp] + mov r9,QWORD[72+rsp] + lea rax,[OPENSSL_UplinkTable] + add rsp,40 + jmp QWORD[176+rax] +_lazy22_end: + +section .data data align=8 + +OPENSSL_UplinkTable: + DQ 22 + DQ _lazy1 + DQ _lazy2 + DQ _lazy3 + DQ _lazy4 + DQ _lazy5 + DQ _lazy6 + DQ _lazy7 + DQ _lazy8 + DQ _lazy9 + DQ _lazy10 + DQ _lazy11 + DQ _lazy12 + DQ _lazy13 + DQ _lazy14 + DQ _lazy15 + DQ _lazy16 + DQ _lazy17 + DQ _lazy18 + DQ _lazy19 + DQ _lazy20 + DQ _lazy21 + DQ _lazy22 +section .pdata rdata align=4 +ALIGN 4 + DD _lazy1 wrt ..imagebase,_lazy1_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy2 wrt ..imagebase,_lazy2_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy3 wrt ..imagebase,_lazy3_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy4 wrt ..imagebase,_lazy4_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy5 wrt ..imagebase,_lazy5_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy6 wrt ..imagebase,_lazy6_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy7 wrt ..imagebase,_lazy7_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy8 wrt ..imagebase,_lazy8_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy9 wrt ..imagebase,_lazy9_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy10 wrt ..imagebase,_lazy10_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy11 wrt ..imagebase,_lazy11_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy12 wrt ..imagebase,_lazy12_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy13 wrt ..imagebase,_lazy13_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy14 wrt ..imagebase,_lazy14_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy15 wrt ..imagebase,_lazy15_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy16 wrt ..imagebase,_lazy16_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy17 wrt ..imagebase,_lazy17_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy18 wrt ..imagebase,_lazy18_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy19 wrt ..imagebase,_lazy19_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy20 wrt ..imagebase,_lazy20_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy21 wrt ..imagebase,_lazy21_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase + DD _lazy22 wrt ..imagebase,_lazy22_end wrt ..imagebase,_lazy_unwind_info wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +_lazy_unwind_info: +DB 0x01,0x04,0x01,0x00 +DB 0x04,0x42,0x00,0x00 diff --git a/ms/uptable.obj b/ms/uptable.obj index 8b8de626..a213ca6c 100644 Binary files a/ms/uptable.obj and b/ms/uptable.obj differ diff --git a/ms/version32.rc b/ms/version32.rc index b3492748..f770f0fb 100644 --- a/ms/version32.rc +++ b/ms/version32.rc @@ -1,47 +1,47 @@ -#include - -LANGUAGE 0x09,0x01 - -1 VERSIONINFO - FILEVERSION 1,0,2,17 - PRODUCTVERSION 1,0,2,17 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x01L -#else - FILEFLAGS 0x00L -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - // Required: - VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\0" - VALUE "FileDescription", "OpenSSL Shared Library\0" - VALUE "FileVersion", "1.0.2q\0" -#if defined(CRYPTO) - VALUE "InternalName", "libeay32\0" - VALUE "OriginalFilename", "libeay32.dll\0" -#elif defined(SSL) - VALUE "InternalName", "ssleay32\0" - VALUE "OriginalFilename", "ssleay32.dll\0" -#endif - VALUE "ProductName", "The OpenSSL Toolkit\0" - VALUE "ProductVersion", "1.0.2q\0" - // Optional: - //VALUE "Comments", "\0" - VALUE "LegalCopyright", "Copyright © 1998-2005 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\0" - //VALUE "LegalTrademarks", "\0" - //VALUE "PrivateBuild", "\0" - //VALUE "SpecialBuild", "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 0x4b0 - END -END +#include + +LANGUAGE 0x09,0x01 + +1 VERSIONINFO + FILEVERSION 1,0,2,19 + PRODUCTVERSION 1,0,2,19 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x01L +#else + FILEFLAGS 0x00L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + // Required: + VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\0" + VALUE "FileDescription", "OpenSSL Shared Library\0" + VALUE "FileVersion", "1.0.2s\0" +#if defined(CRYPTO) + VALUE "InternalName", "libeay32\0" + VALUE "OriginalFilename", "libeay32.dll\0" +#elif defined(SSL) + VALUE "InternalName", "ssleay32\0" + VALUE "OriginalFilename", "ssleay32.dll\0" +#endif + VALUE "ProductName", "The OpenSSL Toolkit\0" + VALUE "ProductVersion", "1.0.2s\0" + // Optional: + //VALUE "Comments", "\0" + VALUE "LegalCopyright", "Copyright © 1998-2005 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\0" + //VALUE "LegalTrademarks", "\0" + //VALUE "PrivateBuild", "\0" + //VALUE "SpecialBuild", "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 0x4b0 + END +END diff --git a/openssl.spec b/openssl.spec index f1061be8..7e94a22c 100644 --- a/openssl.spec +++ b/openssl.spec @@ -7,7 +7,7 @@ Release: 1 Summary: Secure Sockets Layer and cryptography libraries and tools Name: openssl -Version: 1.0.2q +Version: 1.0.2s Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz License: OpenSSL Group: System Environment/Libraries diff --git a/ssl/d1_pkt.c b/ssl/d1_pkt.c index 23aa9dbc..00aa15f8 100644 --- a/ssl/d1_pkt.c +++ b/ssl/d1_pkt.c @@ -4,7 +4,7 @@ * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. */ /* ==================================================================== - * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -1309,6 +1309,7 @@ int dtls1_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek) ERR_add_error_data(2, "SSL alert number ", tmp); s->shutdown |= SSL_RECEIVED_SHUTDOWN; SSL_CTX_remove_session(s->session_ctx, s->session); + s->state = SSL_ST_ERR; return (0); } else { al = SSL_AD_ILLEGAL_PARAMETER; diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c index 6527df8c..f6947677 100644 --- a/ssl/s3_pkt.c +++ b/ssl/s3_pkt.c @@ -56,7 +56,7 @@ * [including the GNU Public Licence.] */ /* ==================================================================== - * Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -1500,6 +1500,7 @@ int ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek) ERR_add_error_data(2, "SSL alert number ", tmp); s->shutdown |= SSL_RECEIVED_SHUTDOWN; SSL_CTX_remove_session(s->session_ctx, s->session); + s->state = SSL_ST_ERR; return (0); } else { al = SSL_AD_ILLEGAL_PARAMETER; @@ -1719,9 +1720,12 @@ int ssl3_send_alert(SSL *s, int level, int desc) * protocol_version alerts */ if (desc < 0) return -1; - /* If a fatal one, remove from cache */ - if ((level == 2) && (s->session != NULL)) - SSL_CTX_remove_session(s->session_ctx, s->session); + /* If a fatal one, remove from cache and go into the error state */ + if (level == SSL3_AL_FATAL) { + if (s->session != NULL) + SSL_CTX_remove_session(s->session_ctx, s->session); + s->state = SSL_ST_ERR; + } s->s3->alert_dispatch = 1; s->s3->send_alert[0] = level; diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 55f918d1..8c1f3ae5 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -3697,6 +3697,12 @@ int tls12_get_sigid(const EVP_PKEY *pk) sizeof(tls12_sig) / sizeof(tls12_lookup)); } +static int tls12_get_hash_nid(unsigned char hash_alg) +{ + return tls12_find_nid(hash_alg, tls12_md, + sizeof(tls12_md) / sizeof(tls12_lookup)); +} + const EVP_MD *tls12_get_hash(unsigned char hash_alg) { switch (hash_alg) { @@ -3887,6 +3893,8 @@ int tls1_process_sigalgs(SSL *s) const EVP_MD *md; CERT *c = s->cert; TLS_SIGALGS *sigptr; + int mandatory_mdnid; + if (!tls1_set_shared_sigalgs(s)) return 0; @@ -3918,6 +3926,18 @@ int tls1_process_sigalgs(SSL *s) for (i = 0, sigptr = c->shared_sigalgs; i < c->shared_sigalgslen; i++, sigptr++) { idx = tls12_get_pkey_idx(sigptr->rsign); + if (s->cert->pkeys[idx].privatekey) { + ERR_set_mark(); + if (EVP_PKEY_get_default_digest_nid(s->cert->pkeys[idx].privatekey, + &mandatory_mdnid) == 2 && + mandatory_mdnid != tls12_get_hash_nid(sigptr->rhash)) + continue; + /* + * If EVP_PKEY_get_default_digest_nid() failed, don't pollute + * the error stack. + */ + ERR_pop_to_mark(); + } if (idx > 0 && c->pkeys[idx].digest == NULL) { md = tls12_get_hash(sigptr->rhash); c->pkeys[idx].digest = md; diff --git a/test/maketests.com b/test/maketests.com index c0e17302..a440c07f 100644 --- a/test/maketests.com +++ b/test/maketests.com @@ -198,6 +198,7 @@ $ T_D_BAD_DTLS_TEST := [-.ssl] $ T_D_SSLV2CONFTEST := [-.ssl] $ T_D_DTLSTEST := [-.ssl] $ T_D_FATALERRTEST := [-.ssl] +$ T_D_X509_TIME_TEST := [] $ $ EXOBJ_DTLSTEST := SSLTESTLIB $ EXOBJ_FATALERRTEST := SSLTESTLIB diff --git a/tmp32/aes-586.asm b/tmp32/aes-586.asm index e4d51351..01f698eb 100644 --- a/tmp32/aes-586.asm +++ b/tmp32/aes-586.asm @@ -1,3211 +1,3211 @@ -%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 16 -__x86_AES_encrypt_compact: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] -align 16 -L$000loop: - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ch - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,eax - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx eax,ah - movzx eax,BYTE [eax*1+ebp-128] - shl eax,8 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,24 - xor edx,ecx - mov ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edi,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,ecx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,ecx - xor ecx,esi - ror edi,24 - xor esi,ebp - rol ecx,24 - xor esi,edi - mov ebp,2155905152 - xor ecx,esi - and ebp,edx - lea edi,[edx*1+edx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,edx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,edx - xor edx,esi - ror edi,24 - xor esi,ebp - rol edx,24 - xor esi,edi - mov ebp,2155905152 - xor edx,esi - and ebp,eax - lea edi,[eax*1+eax] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,eax - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,eax - xor eax,esi - ror edi,24 - xor esi,ebp - rol eax,24 - xor esi,edi - mov ebp,2155905152 - xor eax,esi - and ebp,ebx - lea edi,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - and edi,4278124286 - sub esi,ebp - mov ebp,ebx - and esi,454761243 - ror ebp,16 - xor esi,edi - mov edi,ebx - xor ebx,esi - ror edi,24 - xor esi,ebp - rol ebx,24 - xor esi,edi - xor ebx,esi - mov edi,DWORD [20+esp] - mov ebp,DWORD [28+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$000loop - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ch - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,eax - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx eax,ah - movzx eax,BYTE [eax*1+ebp-128] - shl eax,8 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,24 - xor edx,ecx - mov ecx,esi - xor eax,DWORD [16+edi] - xor ebx,DWORD [20+edi] - xor ecx,DWORD [24+edi] - xor edx,DWORD [28+edi] - ret -align 16 -__sse_AES_encrypt_compact: - pxor mm0,[edi] - pxor mm4,[8+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov eax,454761243 - mov DWORD [8+esp],eax - mov DWORD [12+esp],eax - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] -align 16 -L$001loop: - pshufw mm1,mm0,8 - pshufw mm5,mm4,13 - movd eax,mm1 - movd ebx,mm5 - mov DWORD [20+esp],edi - movzx esi,al - movzx edx,ah - pshufw mm2,mm0,13 - movzx ecx,BYTE [esi*1+ebp-128] - movzx edi,bl - movzx edx,BYTE [edx*1+ebp-128] - shr eax,16 - shl edx,8 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,16 - pshufw mm6,mm4,8 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,24 - shr ebx,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,8 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - movd eax,mm2 - movd mm0,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,ah - shl ecx,16 - movd ebx,mm6 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - shl esi,8 - shr ebx,16 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shr eax,16 - movd mm1,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,ah - shl ecx,16 - and eax,255 - or ecx,esi - punpckldq mm0,mm1 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - and ebx,255 - movzx eax,BYTE [eax*1+ebp-128] - or ecx,esi - shl eax,16 - movzx esi,BYTE [edi*1+ebp-128] - or edx,eax - shl esi,8 - movzx ebx,BYTE [ebx*1+ebp-128] - or ecx,esi - or edx,ebx - mov edi,DWORD [20+esp] - movd mm4,ecx - movd mm5,edx - punpckldq mm4,mm5 - add edi,16 - cmp edi,DWORD [24+esp] - ja NEAR L$002out - movq mm2,[8+esp] - pxor mm3,mm3 - pxor mm7,mm7 - movq mm1,mm0 - movq mm5,mm4 - pcmpgtb mm3,mm0 - pcmpgtb mm7,mm4 - pand mm3,mm2 - pand mm7,mm2 - pshufw mm2,mm0,177 - pshufw mm6,mm4,177 - paddb mm0,mm0 - paddb mm4,mm4 - pxor mm0,mm3 - pxor mm4,mm7 - pshufw mm3,mm2,177 - pshufw mm7,mm6,177 - pxor mm1,mm0 - pxor mm5,mm4 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm2,mm3 - movq mm6,mm7 - pslld mm3,8 - pslld mm7,8 - psrld mm2,24 - psrld mm6,24 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm3,mm1 - movq mm7,mm5 - movq mm2,[edi] - movq mm6,[8+edi] - psrld mm1,8 - psrld mm5,8 - mov eax,DWORD [ebp-128] - pslld mm3,24 - pslld mm7,24 - mov ebx,DWORD [ebp-64] - pxor mm0,mm1 - pxor mm4,mm5 - mov ecx,DWORD [ebp] - pxor mm0,mm3 - pxor mm4,mm7 - mov edx,DWORD [64+ebp] - pxor mm0,mm2 - pxor mm4,mm6 - jmp NEAR L$001loop -align 16 -L$002out: - pxor mm0,[edi] - pxor mm4,[8+edi] - ret -align 16 -__x86_AES_encrypt: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi -align 16 -L$003loop: - mov esi,eax - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,bh - xor esi,DWORD [3+edi*8+ebp] - mov edi,ecx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,edx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - mov esi,DWORD [esi*8+ebp] - movzx edi,ch - xor esi,DWORD [3+edi*8+ebp] - mov edi,edx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,eax - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - mov esi,DWORD [esi*8+ebp] - movzx edi,dh - xor esi,DWORD [3+edi*8+ebp] - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - movzx edi,bh - xor esi,DWORD [1+edi*8+ebp] - mov edi,DWORD [20+esp] - mov edx,DWORD [edx*8+ebp] - movzx eax,ah - xor edx,DWORD [3+eax*8+ebp] - mov eax,DWORD [4+esp] - and ebx,255 - xor edx,DWORD [2+ebx*8+ebp] - mov ebx,DWORD [8+esp] - xor edx,DWORD [1+ecx*8+ebp] - mov ecx,esi - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$003loop - mov esi,eax - and esi,255 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,bh - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - mov edi,edx - shr edi,24 - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - shr ebx,16 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,ch - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - mov edi,eax - shr edi,24 - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - shr ecx,24 - mov esi,DWORD [2+esi*8+ebp] - and esi,255 - movzx edi,dh - mov edi,DWORD [edi*8+ebp] - and edi,65280 - xor esi,edi - mov edi,eax - shr edi,16 - and edx,255 - and edi,255 - mov edi,DWORD [edi*8+ebp] - and edi,16711680 - xor esi,edi - movzx edi,bh - mov edi,DWORD [2+edi*8+ebp] - and edi,4278190080 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - mov edx,DWORD [2+edx*8+ebp] - and edx,255 - movzx eax,ah - mov eax,DWORD [eax*8+ebp] - and eax,65280 - xor edx,eax - mov eax,DWORD [4+esp] - and ebx,255 - mov ebx,DWORD [ebx*8+ebp] - and ebx,16711680 - xor edx,ebx - mov ebx,DWORD [8+esp] - mov ecx,DWORD [2+ecx*8+ebp] - and ecx,4278190080 - xor edx,ecx - mov ecx,esi - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - ret -align 64 -L$AES_Te: -dd 2774754246,2774754246 -dd 2222750968,2222750968 -dd 2574743534,2574743534 -dd 2373680118,2373680118 -dd 234025727,234025727 -dd 3177933782,3177933782 -dd 2976870366,2976870366 -dd 1422247313,1422247313 -dd 1345335392,1345335392 -dd 50397442,50397442 -dd 2842126286,2842126286 -dd 2099981142,2099981142 -dd 436141799,436141799 -dd 1658312629,1658312629 -dd 3870010189,3870010189 -dd 2591454956,2591454956 -dd 1170918031,1170918031 -dd 2642575903,2642575903 -dd 1086966153,1086966153 -dd 2273148410,2273148410 -dd 368769775,368769775 -dd 3948501426,3948501426 -dd 3376891790,3376891790 -dd 200339707,200339707 -dd 3970805057,3970805057 -dd 1742001331,1742001331 -dd 4255294047,4255294047 -dd 3937382213,3937382213 -dd 3214711843,3214711843 -dd 4154762323,4154762323 -dd 2524082916,2524082916 -dd 1539358875,1539358875 -dd 3266819957,3266819957 -dd 486407649,486407649 -dd 2928907069,2928907069 -dd 1780885068,1780885068 -dd 1513502316,1513502316 -dd 1094664062,1094664062 -dd 49805301,49805301 -dd 1338821763,1338821763 -dd 1546925160,1546925160 -dd 4104496465,4104496465 -dd 887481809,887481809 -dd 150073849,150073849 -dd 2473685474,2473685474 -dd 1943591083,1943591083 -dd 1395732834,1395732834 -dd 1058346282,1058346282 -dd 201589768,201589768 -dd 1388824469,1388824469 -dd 1696801606,1696801606 -dd 1589887901,1589887901 -dd 672667696,672667696 -dd 2711000631,2711000631 -dd 251987210,251987210 -dd 3046808111,3046808111 -dd 151455502,151455502 -dd 907153956,907153956 -dd 2608889883,2608889883 -dd 1038279391,1038279391 -dd 652995533,652995533 -dd 1764173646,1764173646 -dd 3451040383,3451040383 -dd 2675275242,2675275242 -dd 453576978,453576978 -dd 2659418909,2659418909 -dd 1949051992,1949051992 -dd 773462580,773462580 -dd 756751158,756751158 -dd 2993581788,2993581788 -dd 3998898868,3998898868 -dd 4221608027,4221608027 -dd 4132590244,4132590244 -dd 1295727478,1295727478 -dd 1641469623,1641469623 -dd 3467883389,3467883389 -dd 2066295122,2066295122 -dd 1055122397,1055122397 -dd 1898917726,1898917726 -dd 2542044179,2542044179 -dd 4115878822,4115878822 -dd 1758581177,1758581177 -dd 0,0 -dd 753790401,753790401 -dd 1612718144,1612718144 -dd 536673507,536673507 -dd 3367088505,3367088505 -dd 3982187446,3982187446 -dd 3194645204,3194645204 -dd 1187761037,1187761037 -dd 3653156455,3653156455 -dd 1262041458,1262041458 -dd 3729410708,3729410708 -dd 3561770136,3561770136 -dd 3898103984,3898103984 -dd 1255133061,1255133061 -dd 1808847035,1808847035 -dd 720367557,720367557 -dd 3853167183,3853167183 -dd 385612781,385612781 -dd 3309519750,3309519750 -dd 3612167578,3612167578 -dd 1429418854,1429418854 -dd 2491778321,2491778321 -dd 3477423498,3477423498 -dd 284817897,284817897 -dd 100794884,100794884 -dd 2172616702,2172616702 -dd 4031795360,4031795360 -dd 1144798328,1144798328 -dd 3131023141,3131023141 -dd 3819481163,3819481163 -dd 4082192802,4082192802 -dd 4272137053,4272137053 -dd 3225436288,3225436288 -dd 2324664069,2324664069 -dd 2912064063,2912064063 -dd 3164445985,3164445985 -dd 1211644016,1211644016 -dd 83228145,83228145 -dd 3753688163,3753688163 -dd 3249976951,3249976951 -dd 1977277103,1977277103 -dd 1663115586,1663115586 -dd 806359072,806359072 -dd 452984805,452984805 -dd 250868733,250868733 -dd 1842533055,1842533055 -dd 1288555905,1288555905 -dd 336333848,336333848 -dd 890442534,890442534 -dd 804056259,804056259 -dd 3781124030,3781124030 -dd 2727843637,2727843637 -dd 3427026056,3427026056 -dd 957814574,957814574 -dd 1472513171,1472513171 -dd 4071073621,4071073621 -dd 2189328124,2189328124 -dd 1195195770,1195195770 -dd 2892260552,2892260552 -dd 3881655738,3881655738 -dd 723065138,723065138 -dd 2507371494,2507371494 -dd 2690670784,2690670784 -dd 2558624025,2558624025 -dd 3511635870,3511635870 -dd 2145180835,2145180835 -dd 1713513028,1713513028 -dd 2116692564,2116692564 -dd 2878378043,2878378043 -dd 2206763019,2206763019 -dd 3393603212,3393603212 -dd 703524551,703524551 -dd 3552098411,3552098411 -dd 1007948840,1007948840 -dd 2044649127,2044649127 -dd 3797835452,3797835452 -dd 487262998,487262998 -dd 1994120109,1994120109 -dd 1004593371,1004593371 -dd 1446130276,1446130276 -dd 1312438900,1312438900 -dd 503974420,503974420 -dd 3679013266,3679013266 -dd 168166924,168166924 -dd 1814307912,1814307912 -dd 3831258296,3831258296 -dd 1573044895,1573044895 -dd 1859376061,1859376061 -dd 4021070915,4021070915 -dd 2791465668,2791465668 -dd 2828112185,2828112185 -dd 2761266481,2761266481 -dd 937747667,937747667 -dd 2339994098,2339994098 -dd 854058965,854058965 -dd 1137232011,1137232011 -dd 1496790894,1496790894 -dd 3077402074,3077402074 -dd 2358086913,2358086913 -dd 1691735473,1691735473 -dd 3528347292,3528347292 -dd 3769215305,3769215305 -dd 3027004632,3027004632 -dd 4199962284,4199962284 -dd 133494003,133494003 -dd 636152527,636152527 -dd 2942657994,2942657994 -dd 2390391540,2390391540 -dd 3920539207,3920539207 -dd 403179536,403179536 -dd 3585784431,3585784431 -dd 2289596656,2289596656 -dd 1864705354,1864705354 -dd 1915629148,1915629148 -dd 605822008,605822008 -dd 4054230615,4054230615 -dd 3350508659,3350508659 -dd 1371981463,1371981463 -dd 602466507,602466507 -dd 2094914977,2094914977 -dd 2624877800,2624877800 -dd 555687742,555687742 -dd 3712699286,3712699286 -dd 3703422305,3703422305 -dd 2257292045,2257292045 -dd 2240449039,2240449039 -dd 2423288032,2423288032 -dd 1111375484,1111375484 -dd 3300242801,3300242801 -dd 2858837708,2858837708 -dd 3628615824,3628615824 -dd 84083462,84083462 -dd 32962295,32962295 -dd 302911004,302911004 -dd 2741068226,2741068226 -dd 1597322602,1597322602 -dd 4183250862,4183250862 -dd 3501832553,3501832553 -dd 2441512471,2441512471 -dd 1489093017,1489093017 -dd 656219450,656219450 -dd 3114180135,3114180135 -dd 954327513,954327513 -dd 335083755,335083755 -dd 3013122091,3013122091 -dd 856756514,856756514 -dd 3144247762,3144247762 -dd 1893325225,1893325225 -dd 2307821063,2307821063 -dd 2811532339,2811532339 -dd 3063651117,3063651117 -dd 572399164,572399164 -dd 2458355477,2458355477 -dd 552200649,552200649 -dd 1238290055,1238290055 -dd 4283782570,4283782570 -dd 2015897680,2015897680 -dd 2061492133,2061492133 -dd 2408352771,2408352771 -dd 4171342169,4171342169 -dd 2156497161,2156497161 -dd 386731290,386731290 -dd 3669999461,3669999461 -dd 837215959,837215959 -dd 3326231172,3326231172 -dd 3093850320,3093850320 -dd 3275833730,3275833730 -dd 2962856233,2962856233 -dd 1999449434,1999449434 -dd 286199582,286199582 -dd 3417354363,3417354363 -dd 4233385128,4233385128 -dd 3602627437,3602627437 -dd 974525996,974525996 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -db 99,124,119,123,242,107,111,197 -db 48,1,103,43,254,215,171,118 -db 202,130,201,125,250,89,71,240 -db 173,212,162,175,156,164,114,192 -db 183,253,147,38,54,63,247,204 -db 52,165,229,241,113,216,49,21 -db 4,199,35,195,24,150,5,154 -db 7,18,128,226,235,39,178,117 -db 9,131,44,26,27,110,90,160 -db 82,59,214,179,41,227,47,132 -db 83,209,0,237,32,252,177,91 -db 106,203,190,57,74,76,88,207 -db 208,239,170,251,67,77,51,133 -db 69,249,2,127,80,60,159,168 -db 81,163,64,143,146,157,56,245 -db 188,182,218,33,16,255,243,210 -db 205,12,19,236,95,151,68,23 -db 196,167,126,61,100,93,25,115 -db 96,129,79,220,34,42,144,136 -db 70,238,184,20,222,94,11,219 -db 224,50,58,10,73,6,36,92 -db 194,211,172,98,145,149,228,121 -db 231,200,55,109,141,213,78,169 -db 108,86,244,234,101,122,174,8 -db 186,120,37,46,28,166,180,198 -db 232,221,116,31,75,189,139,138 -db 112,62,181,102,72,3,246,14 -db 97,53,87,185,134,193,29,158 -db 225,248,152,17,105,217,142,148 -db 155,30,135,233,206,85,40,223 -db 140,161,137,13,191,230,66,104 -db 65,153,45,15,176,84,187,22 -dd 1,2,4,8 -dd 16,32,64,128 -dd 27,54,0,0 -dd 0,0,0,0 -global _AES_encrypt -align 16 -_AES_encrypt: -L$_AES_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov eax,esp - sub esp,36 - and esp,-64 - lea ebx,[edi-127] - sub ebx,esp - neg ebx - and ebx,960 - sub esp,ebx - add esp,4 - mov DWORD [28+esp],eax - call L$004pic_point -L$004pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - lea ebp,[(L$AES_Te-L$004pic_point)+ebp] - lea ebx,[764+esp] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - bt DWORD [eax],25 - jnc NEAR L$005x86 - movq mm0,[esi] - movq mm4,[8+esi] - call __sse_AES_encrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -L$005x86: - mov DWORD [24+esp],ebp - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - call __x86_AES_encrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_AES_decrypt_compact: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] -align 16 -L$006loop: - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - shr eax,24 - movzx eax,BYTE [eax*1+ebp-128] - shl eax,24 - xor edx,eax - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea eax,[ecx*1+ecx] - sub esi,edi - and eax,4278124286 - and esi,454761243 - xor eax,esi - mov edi,2155905152 - and edi,eax - mov esi,edi - shr edi,7 - lea ebx,[eax*1+eax] - sub esi,edi - and ebx,4278124286 - and esi,454761243 - xor eax,ecx - xor ebx,esi - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ebp,[ebx*1+ebx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor ebx,ecx - rol ecx,8 - xor ebp,esi - xor ecx,eax - xor eax,ebp - xor ecx,ebx - xor ebx,ebp - rol eax,24 - xor ecx,ebp - rol ebx,16 - xor ecx,eax - rol ebp,8 - xor ecx,ebx - mov eax,DWORD [4+esp] - xor ecx,ebp - mov DWORD [12+esp],ecx - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebx,[edx*1+edx] - sub esi,edi - and ebx,4278124286 - and esi,454761243 - xor ebx,esi - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ecx,[ebx*1+ebx] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ebx,edx - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea ebp,[ecx*1+ecx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor ecx,edx - rol edx,8 - xor ebp,esi - xor edx,ebx - xor ebx,ebp - xor edx,ecx - xor ecx,ebp - rol ebx,24 - xor edx,ebp - rol ecx,16 - xor edx,ebx - rol ebp,8 - xor edx,ecx - mov ebx,DWORD [8+esp] - xor edx,ebp - mov DWORD [16+esp],edx - mov edi,2155905152 - and edi,eax - mov esi,edi - shr edi,7 - lea ecx,[eax*1+eax] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea edx,[ecx*1+ecx] - sub esi,edi - and edx,4278124286 - and esi,454761243 - xor ecx,eax - xor edx,esi - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebp,[edx*1+edx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor edx,eax - rol eax,8 - xor ebp,esi - xor eax,ecx - xor ecx,ebp - xor eax,edx - xor edx,ebp - rol ecx,24 - xor eax,ebp - rol edx,16 - xor eax,ecx - rol ebp,8 - xor eax,edx - xor eax,ebp - mov edi,2155905152 - and edi,ebx - mov esi,edi - shr edi,7 - lea ecx,[ebx*1+ebx] - sub esi,edi - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov edi,2155905152 - and edi,ecx - mov esi,edi - shr edi,7 - lea edx,[ecx*1+ecx] - sub esi,edi - and edx,4278124286 - and esi,454761243 - xor ecx,ebx - xor edx,esi - mov edi,2155905152 - and edi,edx - mov esi,edi - shr edi,7 - lea ebp,[edx*1+edx] - sub esi,edi - and ebp,4278124286 - and esi,454761243 - xor edx,ebx - rol ebx,8 - xor ebp,esi - xor ebx,ecx - xor ecx,ebp - xor ebx,edx - xor edx,ebp - rol ecx,24 - xor ebx,ebp - rol edx,16 - xor ebx,ecx - rol ebp,8 - xor ebx,edx - mov ecx,DWORD [12+esp] - xor ebx,ebp - mov edx,DWORD [16+esp] - mov edi,DWORD [20+esp] - mov ebp,DWORD [28+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$006loop - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp-128] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp-128] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp-128] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp-128] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp-128] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp-128] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - shr eax,24 - movzx eax,BYTE [eax*1+ebp-128] - shl eax,24 - xor edx,eax - mov eax,DWORD [4+esp] - xor eax,DWORD [16+edi] - xor ebx,DWORD [20+edi] - xor ecx,DWORD [24+edi] - xor edx,DWORD [28+edi] - ret -align 16 -__sse_AES_decrypt_compact: - pxor mm0,[edi] - pxor mm4,[8+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi - mov eax,454761243 - mov DWORD [8+esp],eax - mov DWORD [12+esp],eax - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] -align 16 -L$007loop: - pshufw mm1,mm0,12 - pshufw mm5,mm4,9 - movd eax,mm1 - movd ebx,mm5 - mov DWORD [20+esp],edi - movzx esi,al - movzx edx,ah - pshufw mm2,mm0,6 - movzx ecx,BYTE [esi*1+ebp-128] - movzx edi,bl - movzx edx,BYTE [edx*1+ebp-128] - shr eax,16 - shl edx,8 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,16 - pshufw mm6,mm4,3 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,24 - shr ebx,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shl esi,24 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,8 - movd eax,mm2 - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - shl esi,16 - movd ebx,mm6 - movd mm0,ecx - movzx ecx,BYTE [edi*1+ebp-128] - movzx edi,al - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bl - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,ah - shl esi,16 - shr eax,16 - or edx,esi - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,bh - shr ebx,16 - shl esi,8 - movd mm1,edx - movzx edx,BYTE [edi*1+ebp-128] - movzx edi,bh - shl edx,24 - and ebx,255 - or edx,esi - punpckldq mm0,mm1 - movzx esi,BYTE [edi*1+ebp-128] - movzx edi,al - shl esi,8 - movzx eax,ah - movzx ebx,BYTE [ebx*1+ebp-128] - or ecx,esi - movzx esi,BYTE [edi*1+ebp-128] - or edx,ebx - shl esi,16 - movzx eax,BYTE [eax*1+ebp-128] - or edx,esi - shl eax,24 - or ecx,eax - mov edi,DWORD [20+esp] - movd mm4,edx - movd mm5,ecx - punpckldq mm4,mm5 - add edi,16 - cmp edi,DWORD [24+esp] - ja NEAR L$008out - movq mm3,mm0 - movq mm7,mm4 - pshufw mm2,mm0,228 - pshufw mm6,mm4,228 - movq mm1,mm0 - movq mm5,mm4 - pshufw mm0,mm0,177 - pshufw mm4,mm4,177 - pslld mm2,8 - pslld mm6,8 - psrld mm3,8 - psrld mm7,8 - pxor mm0,mm2 - pxor mm4,mm6 - pxor mm0,mm3 - pxor mm4,mm7 - pslld mm2,16 - pslld mm6,16 - psrld mm3,16 - psrld mm7,16 - pxor mm0,mm2 - pxor mm4,mm6 - pxor mm0,mm3 - pxor mm4,mm7 - movq mm3,[8+esp] - pxor mm2,mm2 - pxor mm6,mm6 - pcmpgtb mm2,mm1 - pcmpgtb mm6,mm5 - pand mm2,mm3 - pand mm6,mm3 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm2 - pxor mm5,mm6 - movq mm3,mm1 - movq mm7,mm5 - movq mm2,mm1 - movq mm6,mm5 - pxor mm0,mm1 - pxor mm4,mm5 - pslld mm3,24 - pslld mm7,24 - psrld mm2,8 - psrld mm6,8 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - movq mm2,[8+esp] - pxor mm3,mm3 - pxor mm7,mm7 - pcmpgtb mm3,mm1 - pcmpgtb mm7,mm5 - pand mm3,mm2 - pand mm7,mm2 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm3 - pxor mm5,mm7 - pshufw mm3,mm1,177 - pshufw mm7,mm5,177 - pxor mm0,mm1 - pxor mm4,mm5 - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm3,mm3 - pxor mm7,mm7 - pcmpgtb mm3,mm1 - pcmpgtb mm7,mm5 - pand mm3,mm2 - pand mm7,mm2 - paddb mm1,mm1 - paddb mm5,mm5 - pxor mm1,mm3 - pxor mm5,mm7 - pxor mm0,mm1 - pxor mm4,mm5 - movq mm3,mm1 - movq mm7,mm5 - pshufw mm2,mm1,177 - pshufw mm6,mm5,177 - pxor mm0,mm2 - pxor mm4,mm6 - pslld mm1,8 - pslld mm5,8 - psrld mm3,8 - psrld mm7,8 - movq mm2,[edi] - movq mm6,[8+edi] - pxor mm0,mm1 - pxor mm4,mm5 - pxor mm0,mm3 - pxor mm4,mm7 - mov eax,DWORD [ebp-128] - pslld mm1,16 - pslld mm5,16 - mov ebx,DWORD [ebp-64] - psrld mm3,16 - psrld mm7,16 - mov ecx,DWORD [ebp] - pxor mm0,mm1 - pxor mm4,mm5 - mov edx,DWORD [64+ebp] - pxor mm0,mm3 - pxor mm4,mm7 - pxor mm0,mm2 - pxor mm4,mm6 - jmp NEAR L$007loop -align 16 -L$008out: - pxor mm0,[edi] - pxor mm4,[8+edi] - ret -align 16 -__x86_AES_decrypt: - mov DWORD [20+esp],edi - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [24+esp],esi -align 16 -L$009loop: - mov esi,eax - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,dh - xor esi,DWORD [3+edi*8+ebp] - mov edi,ecx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,ebx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,ah - xor esi,DWORD [3+edi*8+ebp] - mov edi,edx - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,ecx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - mov esi,DWORD [esi*8+ebp] - movzx edi,bh - xor esi,DWORD [3+edi*8+ebp] - mov edi,eax - shr edi,16 - and edi,255 - xor esi,DWORD [2+edi*8+ebp] - mov edi,edx - shr edi,24 - xor esi,DWORD [1+edi*8+ebp] - mov edi,DWORD [20+esp] - and edx,255 - mov edx,DWORD [edx*8+ebp] - movzx ecx,ch - xor edx,DWORD [3+ecx*8+ebp] - mov ecx,esi - shr ebx,16 - and ebx,255 - xor edx,DWORD [2+ebx*8+ebp] - mov ebx,DWORD [8+esp] - shr eax,24 - xor edx,DWORD [1+eax*8+ebp] - mov eax,DWORD [4+esp] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - cmp edi,DWORD [24+esp] - mov DWORD [20+esp],edi - jb NEAR L$009loop - lea ebp,[2176+ebp] - mov edi,DWORD [ebp-128] - mov esi,DWORD [ebp-96] - mov edi,DWORD [ebp-64] - mov esi,DWORD [ebp-32] - mov edi,DWORD [ebp] - mov esi,DWORD [32+ebp] - mov edi,DWORD [64+ebp] - mov esi,DWORD [96+ebp] - lea ebp,[ebp-128] - mov esi,eax - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,dh - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,ecx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,ebx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov DWORD [4+esp],esi - mov esi,ebx - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,ah - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,edx - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,ecx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov DWORD [8+esp],esi - mov esi,ecx - and esi,255 - movzx esi,BYTE [esi*1+ebp] - movzx edi,bh - movzx edi,BYTE [edi*1+ebp] - shl edi,8 - xor esi,edi - mov edi,eax - shr edi,16 - and edi,255 - movzx edi,BYTE [edi*1+ebp] - shl edi,16 - xor esi,edi - mov edi,edx - shr edi,24 - movzx edi,BYTE [edi*1+ebp] - shl edi,24 - xor esi,edi - mov edi,DWORD [20+esp] - and edx,255 - movzx edx,BYTE [edx*1+ebp] - movzx ecx,ch - movzx ecx,BYTE [ecx*1+ebp] - shl ecx,8 - xor edx,ecx - mov ecx,esi - shr ebx,16 - and ebx,255 - movzx ebx,BYTE [ebx*1+ebp] - shl ebx,16 - xor edx,ebx - mov ebx,DWORD [8+esp] - shr eax,24 - movzx eax,BYTE [eax*1+ebp] - shl eax,24 - xor edx,eax - mov eax,DWORD [4+esp] - lea ebp,[ebp-2048] - add edi,16 - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - ret -align 64 -L$AES_Td: -dd 1353184337,1353184337 -dd 1399144830,1399144830 -dd 3282310938,3282310938 -dd 2522752826,2522752826 -dd 3412831035,3412831035 -dd 4047871263,4047871263 -dd 2874735276,2874735276 -dd 2466505547,2466505547 -dd 1442459680,1442459680 -dd 4134368941,4134368941 -dd 2440481928,2440481928 -dd 625738485,625738485 -dd 4242007375,4242007375 -dd 3620416197,3620416197 -dd 2151953702,2151953702 -dd 2409849525,2409849525 -dd 1230680542,1230680542 -dd 1729870373,1729870373 -dd 2551114309,2551114309 -dd 3787521629,3787521629 -dd 41234371,41234371 -dd 317738113,317738113 -dd 2744600205,2744600205 -dd 3338261355,3338261355 -dd 3881799427,3881799427 -dd 2510066197,2510066197 -dd 3950669247,3950669247 -dd 3663286933,3663286933 -dd 763608788,763608788 -dd 3542185048,3542185048 -dd 694804553,694804553 -dd 1154009486,1154009486 -dd 1787413109,1787413109 -dd 2021232372,2021232372 -dd 1799248025,1799248025 -dd 3715217703,3715217703 -dd 3058688446,3058688446 -dd 397248752,397248752 -dd 1722556617,1722556617 -dd 3023752829,3023752829 -dd 407560035,407560035 -dd 2184256229,2184256229 -dd 1613975959,1613975959 -dd 1165972322,1165972322 -dd 3765920945,3765920945 -dd 2226023355,2226023355 -dd 480281086,480281086 -dd 2485848313,2485848313 -dd 1483229296,1483229296 -dd 436028815,436028815 -dd 2272059028,2272059028 -dd 3086515026,3086515026 -dd 601060267,601060267 -dd 3791801202,3791801202 -dd 1468997603,1468997603 -dd 715871590,715871590 -dd 120122290,120122290 -dd 63092015,63092015 -dd 2591802758,2591802758 -dd 2768779219,2768779219 -dd 4068943920,4068943920 -dd 2997206819,2997206819 -dd 3127509762,3127509762 -dd 1552029421,1552029421 -dd 723308426,723308426 -dd 2461301159,2461301159 -dd 4042393587,4042393587 -dd 2715969870,2715969870 -dd 3455375973,3455375973 -dd 3586000134,3586000134 -dd 526529745,526529745 -dd 2331944644,2331944644 -dd 2639474228,2639474228 -dd 2689987490,2689987490 -dd 853641733,853641733 -dd 1978398372,1978398372 -dd 971801355,971801355 -dd 2867814464,2867814464 -dd 111112542,111112542 -dd 1360031421,1360031421 -dd 4186579262,4186579262 -dd 1023860118,1023860118 -dd 2919579357,2919579357 -dd 1186850381,1186850381 -dd 3045938321,3045938321 -dd 90031217,90031217 -dd 1876166148,1876166148 -dd 4279586912,4279586912 -dd 620468249,620468249 -dd 2548678102,2548678102 -dd 3426959497,3426959497 -dd 2006899047,2006899047 -dd 3175278768,3175278768 -dd 2290845959,2290845959 -dd 945494503,945494503 -dd 3689859193,3689859193 -dd 1191869601,1191869601 -dd 3910091388,3910091388 -dd 3374220536,3374220536 -dd 0,0 -dd 2206629897,2206629897 -dd 1223502642,1223502642 -dd 2893025566,2893025566 -dd 1316117100,1316117100 -dd 4227796733,4227796733 -dd 1446544655,1446544655 -dd 517320253,517320253 -dd 658058550,658058550 -dd 1691946762,1691946762 -dd 564550760,564550760 -dd 3511966619,3511966619 -dd 976107044,976107044 -dd 2976320012,2976320012 -dd 266819475,266819475 -dd 3533106868,3533106868 -dd 2660342555,2660342555 -dd 1338359936,1338359936 -dd 2720062561,2720062561 -dd 1766553434,1766553434 -dd 370807324,370807324 -dd 179999714,179999714 -dd 3844776128,3844776128 -dd 1138762300,1138762300 -dd 488053522,488053522 -dd 185403662,185403662 -dd 2915535858,2915535858 -dd 3114841645,3114841645 -dd 3366526484,3366526484 -dd 2233069911,2233069911 -dd 1275557295,1275557295 -dd 3151862254,3151862254 -dd 4250959779,4250959779 -dd 2670068215,2670068215 -dd 3170202204,3170202204 -dd 3309004356,3309004356 -dd 880737115,880737115 -dd 1982415755,1982415755 -dd 3703972811,3703972811 -dd 1761406390,1761406390 -dd 1676797112,1676797112 -dd 3403428311,3403428311 -dd 277177154,277177154 -dd 1076008723,1076008723 -dd 538035844,538035844 -dd 2099530373,2099530373 -dd 4164795346,4164795346 -dd 288553390,288553390 -dd 1839278535,1839278535 -dd 1261411869,1261411869 -dd 4080055004,4080055004 -dd 3964831245,3964831245 -dd 3504587127,3504587127 -dd 1813426987,1813426987 -dd 2579067049,2579067049 -dd 4199060497,4199060497 -dd 577038663,577038663 -dd 3297574056,3297574056 -dd 440397984,440397984 -dd 3626794326,3626794326 -dd 4019204898,4019204898 -dd 3343796615,3343796615 -dd 3251714265,3251714265 -dd 4272081548,4272081548 -dd 906744984,906744984 -dd 3481400742,3481400742 -dd 685669029,685669029 -dd 646887386,646887386 -dd 2764025151,2764025151 -dd 3835509292,3835509292 -dd 227702864,227702864 -dd 2613862250,2613862250 -dd 1648787028,1648787028 -dd 3256061430,3256061430 -dd 3904428176,3904428176 -dd 1593260334,1593260334 -dd 4121936770,4121936770 -dd 3196083615,3196083615 -dd 2090061929,2090061929 -dd 2838353263,2838353263 -dd 3004310991,3004310991 -dd 999926984,999926984 -dd 2809993232,2809993232 -dd 1852021992,1852021992 -dd 2075868123,2075868123 -dd 158869197,158869197 -dd 4095236462,4095236462 -dd 28809964,28809964 -dd 2828685187,2828685187 -dd 1701746150,1701746150 -dd 2129067946,2129067946 -dd 147831841,147831841 -dd 3873969647,3873969647 -dd 3650873274,3650873274 -dd 3459673930,3459673930 -dd 3557400554,3557400554 -dd 3598495785,3598495785 -dd 2947720241,2947720241 -dd 824393514,824393514 -dd 815048134,815048134 -dd 3227951669,3227951669 -dd 935087732,935087732 -dd 2798289660,2798289660 -dd 2966458592,2966458592 -dd 366520115,366520115 -dd 1251476721,1251476721 -dd 4158319681,4158319681 -dd 240176511,240176511 -dd 804688151,804688151 -dd 2379631990,2379631990 -dd 1303441219,1303441219 -dd 1414376140,1414376140 -dd 3741619940,3741619940 -dd 3820343710,3820343710 -dd 461924940,461924940 -dd 3089050817,3089050817 -dd 2136040774,2136040774 -dd 82468509,82468509 -dd 1563790337,1563790337 -dd 1937016826,1937016826 -dd 776014843,776014843 -dd 1511876531,1511876531 -dd 1389550482,1389550482 -dd 861278441,861278441 -dd 323475053,323475053 -dd 2355222426,2355222426 -dd 2047648055,2047648055 -dd 2383738969,2383738969 -dd 2302415851,2302415851 -dd 3995576782,3995576782 -dd 902390199,902390199 -dd 3991215329,3991215329 -dd 1018251130,1018251130 -dd 1507840668,1507840668 -dd 1064563285,1064563285 -dd 2043548696,2043548696 -dd 3208103795,3208103795 -dd 3939366739,3939366739 -dd 1537932639,1537932639 -dd 342834655,342834655 -dd 2262516856,2262516856 -dd 2180231114,2180231114 -dd 1053059257,1053059257 -dd 741614648,741614648 -dd 1598071746,1598071746 -dd 1925389590,1925389590 -dd 203809468,203809468 -dd 2336832552,2336832552 -dd 1100287487,1100287487 -dd 1895934009,1895934009 -dd 3736275976,3736275976 -dd 2632234200,2632234200 -dd 2428589668,2428589668 -dd 1636092795,1636092795 -dd 1890988757,1890988757 -dd 1952214088,1952214088 -dd 1113045200,1113045200 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -db 82,9,106,213,48,54,165,56 -db 191,64,163,158,129,243,215,251 -db 124,227,57,130,155,47,255,135 -db 52,142,67,68,196,222,233,203 -db 84,123,148,50,166,194,35,61 -db 238,76,149,11,66,250,195,78 -db 8,46,161,102,40,217,36,178 -db 118,91,162,73,109,139,209,37 -db 114,248,246,100,134,104,152,22 -db 212,164,92,204,93,101,182,146 -db 108,112,72,80,253,237,185,218 -db 94,21,70,87,167,141,157,132 -db 144,216,171,0,140,188,211,10 -db 247,228,88,5,184,179,69,6 -db 208,44,30,143,202,63,15,2 -db 193,175,189,3,1,19,138,107 -db 58,145,17,65,79,103,220,234 -db 151,242,207,206,240,180,230,115 -db 150,172,116,34,231,173,53,133 -db 226,249,55,232,28,117,223,110 -db 71,241,26,113,29,41,197,137 -db 111,183,98,14,170,24,190,27 -db 252,86,62,75,198,210,121,32 -db 154,219,192,254,120,205,90,244 -db 31,221,168,51,136,7,199,49 -db 177,18,16,89,39,128,236,95 -db 96,81,127,169,25,181,74,13 -db 45,229,122,159,147,201,156,239 -db 160,224,59,77,174,42,245,176 -db 200,235,187,60,131,83,153,97 -db 23,43,4,126,186,119,214,38 -db 225,105,20,99,85,33,12,125 -global _AES_decrypt -align 16 -_AES_decrypt: -L$_AES_decrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov eax,esp - sub esp,36 - and esp,-64 - lea ebx,[edi-127] - sub ebx,esp - neg ebx - and ebx,960 - sub esp,ebx - add esp,4 - mov DWORD [28+esp],eax - call L$010pic_point -L$010pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - lea ebp,[(L$AES_Td-L$010pic_point)+ebp] - lea ebx,[764+esp] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - bt DWORD [eax],25 - jnc NEAR L$011x86 - movq mm0,[esi] - movq mm4,[8+esi] - call __sse_AES_decrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -L$011x86: - mov DWORD [24+esp],ebp - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - call __x86_AES_decrypt_compact - mov esp,DWORD [28+esp] - mov esi,DWORD [24+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -global _AES_cbc_encrypt -align 16 -_AES_cbc_encrypt: -L$_AES_cbc_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov ecx,DWORD [28+esp] - cmp ecx,0 - je NEAR L$012drop_out - call L$013pic_point -L$013pic_point: - pop ebp - lea eax,[_OPENSSL_ia32cap_P] - cmp DWORD [40+esp],0 - lea ebp,[(L$AES_Te-L$013pic_point)+ebp] - jne NEAR L$014picked_te - lea ebp,[(L$AES_Td-L$AES_Te)+ebp] -L$014picked_te: - pushfd - cld - cmp ecx,512 - jb NEAR L$015slow_way - test ecx,15 - jnz NEAR L$015slow_way - bt DWORD [eax],28 - jc NEAR L$015slow_way - lea esi,[esp-324] - and esi,-64 - mov eax,ebp - lea ebx,[2304+ebp] - mov edx,esi - and eax,4095 - and ebx,4095 - and edx,4095 - cmp edx,ebx - jb NEAR L$016tbl_break_out - sub edx,ebx - sub esi,edx - jmp NEAR L$017tbl_ok -align 4 -L$016tbl_break_out: - sub edx,eax - and edx,4095 - add edx,384 - sub esi,edx -align 4 -L$017tbl_ok: - lea edx,[24+esp] - xchg esp,esi - add esp,4 - mov DWORD [24+esp],ebp - mov DWORD [28+esp],esi - mov eax,DWORD [edx] - mov ebx,DWORD [4+edx] - mov edi,DWORD [12+edx] - mov esi,DWORD [16+edx] - mov edx,DWORD [20+edx] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov DWORD [40+esp],ecx - mov DWORD [44+esp],edi - mov DWORD [48+esp],esi - mov DWORD [316+esp],0 - mov ebx,edi - mov ecx,61 - sub ebx,ebp - mov esi,edi - and ebx,4095 - lea edi,[76+esp] - cmp ebx,2304 - jb NEAR L$018do_copy - cmp ebx,3852 - jb NEAR L$019skip_copy -align 4 -L$018do_copy: - mov DWORD [44+esp],edi -dd 2784229001 -L$019skip_copy: - mov edi,16 -align 4 -L$020prefetch_tbl: - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov esi,DWORD [96+ebp] - lea ebp,[128+ebp] - sub edi,1 - jnz NEAR L$020prefetch_tbl - sub ebp,2048 - mov esi,DWORD [32+esp] - mov edi,DWORD [48+esp] - cmp edx,0 - je NEAR L$021fast_decrypt - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] -align 16 -L$022fast_enc_loop: - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - xor edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_encrypt - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - lea esi,[16+esi] - mov ecx,DWORD [40+esp] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$022fast_enc_loop - mov esi,DWORD [48+esp] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - cmp DWORD [316+esp],0 - mov edi,DWORD [44+esp] - je NEAR L$023skip_ezero - mov ecx,60 - xor eax,eax -align 4 -dd 2884892297 -L$023skip_ezero: - mov esp,DWORD [28+esp] - popfd -L$012drop_out: - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$021fast_decrypt: - cmp esi,DWORD [36+esp] - je NEAR L$024fast_dec_in_place - mov DWORD [52+esp],edi -align 4 -align 16 -L$025fast_dec_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_decrypt - mov edi,DWORD [52+esp] - mov esi,DWORD [40+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov edi,DWORD [36+esp] - mov esi,DWORD [32+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - mov DWORD [52+esp],esi - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edi,[16+edi] - mov DWORD [36+esp],edi - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$025fast_dec_loop - mov edi,DWORD [52+esp] - mov esi,DWORD [48+esp] - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - jmp NEAR L$026fast_dec_out -align 16 -L$024fast_dec_in_place: -L$027fast_dec_in_place_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - lea edi,[60+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov edi,DWORD [44+esp] - call __x86_AES_decrypt - mov edi,DWORD [48+esp] - mov esi,DWORD [36+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - lea esi,[16+esi] - mov DWORD [36+esp],esi - lea esi,[60+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov esi,DWORD [32+esp] - mov ecx,DWORD [40+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - sub ecx,16 - mov DWORD [40+esp],ecx - jnz NEAR L$027fast_dec_in_place_loop -align 4 -L$026fast_dec_out: - cmp DWORD [316+esp],0 - mov edi,DWORD [44+esp] - je NEAR L$028skip_dzero - mov ecx,60 - xor eax,eax -align 4 -dd 2884892297 -L$028skip_dzero: - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$015slow_way: - mov eax,DWORD [eax] - mov edi,DWORD [36+esp] - lea esi,[esp-80] - and esi,-64 - lea ebx,[edi-143] - sub ebx,esi - neg ebx - and ebx,960 - sub esi,ebx - lea ebx,[768+esi] - sub ebx,ebp - and ebx,768 - lea ebp,[2176+ebx*1+ebp] - lea edx,[24+esp] - xchg esp,esi - add esp,4 - mov DWORD [24+esp],ebp - mov DWORD [28+esp],esi - mov DWORD [52+esp],eax - mov eax,DWORD [edx] - mov ebx,DWORD [4+edx] - mov esi,DWORD [16+edx] - mov edx,DWORD [20+edx] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov DWORD [40+esp],ecx - mov DWORD [44+esp],edi - mov DWORD [48+esp],esi - mov edi,esi - mov esi,eax - cmp edx,0 - je NEAR L$029slow_decrypt - cmp ecx,16 - mov edx,ebx - jb NEAR L$030slow_enc_tail - bt DWORD [52+esp],25 - jnc NEAR L$031slow_enc_x86 - movq mm0,[edi] - movq mm4,[8+edi] -align 16 -L$032slow_enc_loop_sse: - pxor mm0,[esi] - pxor mm4,[8+esi] - mov edi,DWORD [44+esp] - call __sse_AES_encrypt_compact - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov ecx,DWORD [40+esp] - movq [edi],mm0 - movq [8+edi],mm4 - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - cmp ecx,16 - mov DWORD [40+esp],ecx - jae NEAR L$032slow_enc_loop_sse - test ecx,15 - jnz NEAR L$030slow_enc_tail - mov esi,DWORD [48+esp] - movq [esi],mm0 - movq [8+esi],mm4 - emms - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$031slow_enc_x86: - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] -align 4 -L$033slow_enc_loop_x86: - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - xor edx,DWORD [12+esi] - mov edi,DWORD [44+esp] - call __x86_AES_encrypt_compact - mov esi,DWORD [32+esp] - mov edi,DWORD [36+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - lea edx,[16+edi] - mov DWORD [36+esp],edx - sub ecx,16 - cmp ecx,16 - mov DWORD [40+esp],ecx - jae NEAR L$033slow_enc_loop_x86 - test ecx,15 - jnz NEAR L$030slow_enc_tail - mov esi,DWORD [48+esp] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$030slow_enc_tail: - emms - mov edi,edx - mov ebx,16 - sub ebx,ecx - cmp edi,esi - je NEAR L$034enc_in_place -align 4 -dd 2767451785 - jmp NEAR L$035enc_skip_in_place -L$034enc_in_place: - lea edi,[ecx*1+edi] -L$035enc_skip_in_place: - mov ecx,ebx - xor eax,eax -align 4 -dd 2868115081 - mov edi,DWORD [48+esp] - mov esi,edx - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov DWORD [40+esp],16 - jmp NEAR L$033slow_enc_loop_x86 -align 16 -L$029slow_decrypt: - bt DWORD [52+esp],25 - jnc NEAR L$036slow_dec_loop_x86 -align 4 -L$037slow_dec_loop_sse: - movq mm0,[esi] - movq mm4,[8+esi] - mov edi,DWORD [44+esp] - call __sse_AES_decrypt_compact - mov esi,DWORD [32+esp] - lea eax,[60+esp] - mov ebx,DWORD [36+esp] - mov ecx,DWORD [40+esp] - mov edi,DWORD [48+esp] - movq mm1,[esi] - movq mm5,[8+esi] - pxor mm0,[edi] - pxor mm4,[8+edi] - movq [edi],mm1 - movq [8+edi],mm5 - sub ecx,16 - jc NEAR L$038slow_dec_partial_sse - movq [ebx],mm0 - movq [8+ebx],mm4 - lea ebx,[16+ebx] - mov DWORD [36+esp],ebx - lea esi,[16+esi] - mov DWORD [32+esp],esi - mov DWORD [40+esp],ecx - jnz NEAR L$037slow_dec_loop_sse - emms - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$038slow_dec_partial_sse: - movq [eax],mm0 - movq [8+eax],mm4 - emms - add ecx,16 - mov edi,ebx - mov esi,eax -align 4 -dd 2767451785 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$036slow_dec_loop_x86: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - lea edi,[60+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov edi,DWORD [44+esp] - call __x86_AES_decrypt_compact - mov edi,DWORD [48+esp] - mov esi,DWORD [40+esp] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - sub esi,16 - jc NEAR L$039slow_dec_partial_x86 - mov DWORD [40+esp],esi - mov esi,DWORD [36+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - lea esi,[16+esi] - mov DWORD [36+esp],esi - lea esi,[60+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov esi,DWORD [32+esp] - lea esi,[16+esi] - mov DWORD [32+esp],esi - jnz NEAR L$036slow_dec_loop_x86 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 16 -L$039slow_dec_partial_x86: - lea esi,[60+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov esi,DWORD [32+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [40+esp] - mov edi,DWORD [36+esp] - lea esi,[60+esp] -align 4 -dd 2767451785 - mov esp,DWORD [28+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_AES_set_encrypt_key: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [24+esp] - mov edi,DWORD [32+esp] - test esi,-1 - jz NEAR L$040badpointer - test edi,-1 - jz NEAR L$040badpointer - call L$041pic_point -L$041pic_point: - pop ebp - lea ebp,[(L$AES_Te-L$041pic_point)+ebp] - lea ebp,[2176+ebp] - mov eax,DWORD [ebp-128] - mov ebx,DWORD [ebp-96] - mov ecx,DWORD [ebp-64] - mov edx,DWORD [ebp-32] - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] - mov ecx,DWORD [28+esp] - cmp ecx,128 - je NEAR L$04210rounds - cmp ecx,192 - je NEAR L$04312rounds - cmp ecx,256 - je NEAR L$04414rounds - mov eax,-2 - jmp NEAR L$045exit -L$04210rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - xor ecx,ecx - jmp NEAR L$04610shortcut -align 4 -L$04710loop: - mov eax,DWORD [edi] - mov edx,DWORD [12+edi] -L$04610shortcut: - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [16+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [20+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [24+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [28+edi],eax - inc ecx - add edi,16 - cmp ecx,10 - jl NEAR L$04710loop - mov DWORD [80+edi],10 - xor eax,eax - jmp NEAR L$045exit -L$04312rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [16+esi] - mov edx,DWORD [20+esi] - mov DWORD [16+edi],ecx - mov DWORD [20+edi],edx - xor ecx,ecx - jmp NEAR L$04812shortcut -align 4 -L$04912loop: - mov eax,DWORD [edi] - mov edx,DWORD [20+edi] -L$04812shortcut: - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [24+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [28+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [32+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [36+edi],eax - cmp ecx,7 - je NEAR L$05012break - inc ecx - xor eax,DWORD [16+edi] - mov DWORD [40+edi],eax - xor eax,DWORD [20+edi] - mov DWORD [44+edi],eax - add edi,24 - jmp NEAR L$04912loop -L$05012break: - mov DWORD [72+edi],12 - xor eax,eax - jmp NEAR L$045exit -L$04414rounds: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov eax,DWORD [16+esi] - mov ebx,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov edx,DWORD [28+esi] - mov DWORD [16+edi],eax - mov DWORD [20+edi],ebx - mov DWORD [24+edi],ecx - mov DWORD [28+edi],edx - xor ecx,ecx - jmp NEAR L$05114shortcut -align 4 -L$05214loop: - mov edx,DWORD [28+edi] -L$05114shortcut: - mov eax,DWORD [edi] - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,24 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,8 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,16 - xor eax,ebx - xor eax,DWORD [896+ecx*4+ebp] - mov DWORD [32+edi],eax - xor eax,DWORD [4+edi] - mov DWORD [36+edi],eax - xor eax,DWORD [8+edi] - mov DWORD [40+edi],eax - xor eax,DWORD [12+edi] - mov DWORD [44+edi],eax - cmp ecx,6 - je NEAR L$05314break - inc ecx - mov edx,eax - mov eax,DWORD [16+edi] - movzx esi,dl - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shr edx,16 - shl ebx,8 - movzx esi,dl - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - movzx esi,dh - shl ebx,16 - xor eax,ebx - movzx ebx,BYTE [esi*1+ebp-128] - shl ebx,24 - xor eax,ebx - mov DWORD [48+edi],eax - xor eax,DWORD [20+edi] - mov DWORD [52+edi],eax - xor eax,DWORD [24+edi] - mov DWORD [56+edi],eax - xor eax,DWORD [28+edi] - mov DWORD [60+edi],eax - add edi,32 - jmp NEAR L$05214loop -L$05314break: - mov DWORD [48+edi],14 - xor eax,eax - jmp NEAR L$045exit -L$040badpointer: - mov eax,-1 -L$045exit: - pop edi - pop esi - pop ebx - pop ebp - ret -global _private_AES_set_encrypt_key -align 16 -_private_AES_set_encrypt_key: -L$_private_AES_set_encrypt_key_begin: - call __x86_AES_set_encrypt_key - ret -global _private_AES_set_decrypt_key -align 16 -_private_AES_set_decrypt_key: -L$_private_AES_set_decrypt_key_begin: - call __x86_AES_set_encrypt_key - cmp eax,0 - je NEAR L$054proceed - ret -L$054proceed: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [28+esp] - mov ecx,DWORD [240+esi] - lea ecx,[ecx*4] - lea edi,[ecx*4+esi] -align 4 -L$055invert: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [edi] - mov edx,DWORD [4+edi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [esi],ecx - mov DWORD [4+esi],edx - mov eax,DWORD [8+esi] - mov ebx,DWORD [12+esi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [8+edi],eax - mov DWORD [12+edi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - add esi,16 - sub edi,16 - cmp esi,edi - jne NEAR L$055invert - mov edi,DWORD [28+esp] - mov esi,DWORD [240+edi] - lea esi,[esi*1+esi-2] - lea esi,[esi*8+edi] - mov DWORD [28+esp],esi - mov eax,DWORD [16+edi] -align 4 -L$056permute: - add edi,16 - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - xor ebx,esi - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - xor ebx,eax - xor ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - xor ecx,eax - sub esi,ebp - and edx,4278124286 - and esi,454761243 - rol eax,8 - xor edx,esi - mov ebp,DWORD [4+edi] - xor eax,ebx - xor ebx,edx - xor eax,ecx - rol ebx,24 - xor ecx,edx - xor eax,edx - rol ecx,16 - xor eax,ebx - rol edx,8 - xor eax,ecx - mov ebx,ebp - xor eax,edx - mov DWORD [edi],eax - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - xor ecx,esi - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and edx,4278124286 - and esi,454761243 - xor ecx,ebx - xor edx,esi - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - xor edx,ebx - sub esi,ebp - and eax,4278124286 - and esi,454761243 - rol ebx,8 - xor eax,esi - mov ebp,DWORD [8+edi] - xor ebx,ecx - xor ecx,eax - xor ebx,edx - rol ecx,24 - xor edx,eax - xor ebx,eax - rol edx,16 - xor ebx,ecx - rol eax,8 - xor ebx,edx - mov ecx,ebp - xor ebx,eax - mov DWORD [4+edi],ebx - mov ebp,2155905152 - and ebp,ecx - lea edx,[ecx*1+ecx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and edx,4278124286 - and esi,454761243 - xor edx,esi - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and eax,4278124286 - and esi,454761243 - xor edx,ecx - xor eax,esi - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - xor eax,ecx - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - rol ecx,8 - xor ebx,esi - mov ebp,DWORD [12+edi] - xor ecx,edx - xor edx,ebx - xor ecx,eax - rol edx,24 - xor eax,ebx - xor ecx,ebx - rol eax,16 - xor ecx,edx - rol ebx,8 - xor ecx,eax - mov edx,ebp - xor ecx,ebx - mov DWORD [8+edi],ecx - mov ebp,2155905152 - and ebp,edx - lea eax,[edx*1+edx] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and eax,4278124286 - and esi,454761243 - xor eax,esi - mov ebp,2155905152 - and ebp,eax - lea ebx,[eax*1+eax] - mov esi,ebp - shr ebp,7 - sub esi,ebp - and ebx,4278124286 - and esi,454761243 - xor eax,edx - xor ebx,esi - mov ebp,2155905152 - and ebp,ebx - lea ecx,[ebx*1+ebx] - mov esi,ebp - shr ebp,7 - xor ebx,edx - sub esi,ebp - and ecx,4278124286 - and esi,454761243 - rol edx,8 - xor ecx,esi - mov ebp,DWORD [16+edi] - xor edx,eax - xor eax,ecx - xor edx,ebx - rol eax,24 - xor ebx,ecx - xor edx,ecx - rol ebx,16 - xor edx,eax - rol ecx,8 - xor edx,ebx - mov eax,ebp - xor edx,ecx - mov DWORD [12+edi],edx - cmp edi,DWORD [28+esp] - jb NEAR L$056permute - xor eax,eax - pop edi - pop esi - pop ebx - pop ebp - ret -db 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 -db 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -db 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -segment .bss -common _OPENSSL_ia32cap_P 16 +%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 16 +__x86_AES_encrypt_compact: + mov DWORD [20+esp],edi + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + mov esi,DWORD [240+edi] + lea esi,[esi*1+esi-2] + lea esi,[esi*8+edi] + mov DWORD [24+esp],esi + mov edi,DWORD [ebp-128] + mov esi,DWORD [ebp-96] + mov edi,DWORD [ebp-64] + mov esi,DWORD [ebp-32] + mov edi,DWORD [ebp] + mov esi,DWORD [32+ebp] + mov edi,DWORD [64+ebp] + mov esi,DWORD [96+ebp] +align 16 +L$000loop: + mov esi,eax + and esi,255 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,bh + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,ecx + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + mov edi,edx + shr edi,24 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + mov DWORD [4+esp],esi + mov esi,ebx + and esi,255 + shr ebx,16 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,ch + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,edx + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + mov edi,eax + shr edi,24 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + mov DWORD [8+esp],esi + mov esi,ecx + and esi,255 + shr ecx,24 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,dh + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,eax + shr edi,16 + and edx,255 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + movzx edi,bh + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + and edx,255 + movzx edx,BYTE [edx*1+ebp-128] + movzx eax,ah + movzx eax,BYTE [eax*1+ebp-128] + shl eax,8 + xor edx,eax + mov eax,DWORD [4+esp] + and ebx,255 + movzx ebx,BYTE [ebx*1+ebp-128] + shl ebx,16 + xor edx,ebx + mov ebx,DWORD [8+esp] + movzx ecx,BYTE [ecx*1+ebp-128] + shl ecx,24 + xor edx,ecx + mov ecx,esi + mov ebp,2155905152 + and ebp,ecx + lea edi,[ecx*1+ecx] + mov esi,ebp + shr ebp,7 + and edi,4278124286 + sub esi,ebp + mov ebp,ecx + and esi,454761243 + ror ebp,16 + xor esi,edi + mov edi,ecx + xor ecx,esi + ror edi,24 + xor esi,ebp + rol ecx,24 + xor esi,edi + mov ebp,2155905152 + xor ecx,esi + and ebp,edx + lea edi,[edx*1+edx] + mov esi,ebp + shr ebp,7 + and edi,4278124286 + sub esi,ebp + mov ebp,edx + and esi,454761243 + ror ebp,16 + xor esi,edi + mov edi,edx + xor edx,esi + ror edi,24 + xor esi,ebp + rol edx,24 + xor esi,edi + mov ebp,2155905152 + xor edx,esi + and ebp,eax + lea edi,[eax*1+eax] + mov esi,ebp + shr ebp,7 + and edi,4278124286 + sub esi,ebp + mov ebp,eax + and esi,454761243 + ror ebp,16 + xor esi,edi + mov edi,eax + xor eax,esi + ror edi,24 + xor esi,ebp + rol eax,24 + xor esi,edi + mov ebp,2155905152 + xor eax,esi + and ebp,ebx + lea edi,[ebx*1+ebx] + mov esi,ebp + shr ebp,7 + and edi,4278124286 + sub esi,ebp + mov ebp,ebx + and esi,454761243 + ror ebp,16 + xor esi,edi + mov edi,ebx + xor ebx,esi + ror edi,24 + xor esi,ebp + rol ebx,24 + xor esi,edi + xor ebx,esi + mov edi,DWORD [20+esp] + mov ebp,DWORD [28+esp] + add edi,16 + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + cmp edi,DWORD [24+esp] + mov DWORD [20+esp],edi + jb NEAR L$000loop + mov esi,eax + and esi,255 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,bh + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,ecx + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + mov edi,edx + shr edi,24 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + mov DWORD [4+esp],esi + mov esi,ebx + and esi,255 + shr ebx,16 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,ch + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,edx + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + mov edi,eax + shr edi,24 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + mov DWORD [8+esp],esi + mov esi,ecx + and esi,255 + shr ecx,24 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,dh + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,eax + shr edi,16 + and edx,255 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + movzx edi,bh + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + mov edi,DWORD [20+esp] + and edx,255 + movzx edx,BYTE [edx*1+ebp-128] + movzx eax,ah + movzx eax,BYTE [eax*1+ebp-128] + shl eax,8 + xor edx,eax + mov eax,DWORD [4+esp] + and ebx,255 + movzx ebx,BYTE [ebx*1+ebp-128] + shl ebx,16 + xor edx,ebx + mov ebx,DWORD [8+esp] + movzx ecx,BYTE [ecx*1+ebp-128] + shl ecx,24 + xor edx,ecx + mov ecx,esi + xor eax,DWORD [16+edi] + xor ebx,DWORD [20+edi] + xor ecx,DWORD [24+edi] + xor edx,DWORD [28+edi] + ret +align 16 +__sse_AES_encrypt_compact: + pxor mm0,[edi] + pxor mm4,[8+edi] + mov esi,DWORD [240+edi] + lea esi,[esi*1+esi-2] + lea esi,[esi*8+edi] + mov DWORD [24+esp],esi + mov eax,454761243 + mov DWORD [8+esp],eax + mov DWORD [12+esp],eax + mov eax,DWORD [ebp-128] + mov ebx,DWORD [ebp-96] + mov ecx,DWORD [ebp-64] + mov edx,DWORD [ebp-32] + mov eax,DWORD [ebp] + mov ebx,DWORD [32+ebp] + mov ecx,DWORD [64+ebp] + mov edx,DWORD [96+ebp] +align 16 +L$001loop: + pshufw mm1,mm0,8 + pshufw mm5,mm4,13 + movd eax,mm1 + movd ebx,mm5 + mov DWORD [20+esp],edi + movzx esi,al + movzx edx,ah + pshufw mm2,mm0,13 + movzx ecx,BYTE [esi*1+ebp-128] + movzx edi,bl + movzx edx,BYTE [edx*1+ebp-128] + shr eax,16 + shl edx,8 + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,bh + shl esi,16 + pshufw mm6,mm4,8 + or ecx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,ah + shl esi,24 + shr ebx,16 + or edx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,bh + shl esi,8 + or ecx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,al + shl esi,24 + or ecx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,bl + movd eax,mm2 + movd mm0,ecx + movzx ecx,BYTE [edi*1+ebp-128] + movzx edi,ah + shl ecx,16 + movd ebx,mm6 + or ecx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,bh + shl esi,24 + or ecx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,bl + shl esi,8 + shr ebx,16 + or ecx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,al + shr eax,16 + movd mm1,ecx + movzx ecx,BYTE [edi*1+ebp-128] + movzx edi,ah + shl ecx,16 + and eax,255 + or ecx,esi + punpckldq mm0,mm1 + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,bh + shl esi,24 + and ebx,255 + movzx eax,BYTE [eax*1+ebp-128] + or ecx,esi + shl eax,16 + movzx esi,BYTE [edi*1+ebp-128] + or edx,eax + shl esi,8 + movzx ebx,BYTE [ebx*1+ebp-128] + or ecx,esi + or edx,ebx + mov edi,DWORD [20+esp] + movd mm4,ecx + movd mm5,edx + punpckldq mm4,mm5 + add edi,16 + cmp edi,DWORD [24+esp] + ja NEAR L$002out + movq mm2,[8+esp] + pxor mm3,mm3 + pxor mm7,mm7 + movq mm1,mm0 + movq mm5,mm4 + pcmpgtb mm3,mm0 + pcmpgtb mm7,mm4 + pand mm3,mm2 + pand mm7,mm2 + pshufw mm2,mm0,177 + pshufw mm6,mm4,177 + paddb mm0,mm0 + paddb mm4,mm4 + pxor mm0,mm3 + pxor mm4,mm7 + pshufw mm3,mm2,177 + pshufw mm7,mm6,177 + pxor mm1,mm0 + pxor mm5,mm4 + pxor mm0,mm2 + pxor mm4,mm6 + movq mm2,mm3 + movq mm6,mm7 + pslld mm3,8 + pslld mm7,8 + psrld mm2,24 + psrld mm6,24 + pxor mm0,mm3 + pxor mm4,mm7 + pxor mm0,mm2 + pxor mm4,mm6 + movq mm3,mm1 + movq mm7,mm5 + movq mm2,[edi] + movq mm6,[8+edi] + psrld mm1,8 + psrld mm5,8 + mov eax,DWORD [ebp-128] + pslld mm3,24 + pslld mm7,24 + mov ebx,DWORD [ebp-64] + pxor mm0,mm1 + pxor mm4,mm5 + mov ecx,DWORD [ebp] + pxor mm0,mm3 + pxor mm4,mm7 + mov edx,DWORD [64+ebp] + pxor mm0,mm2 + pxor mm4,mm6 + jmp NEAR L$001loop +align 16 +L$002out: + pxor mm0,[edi] + pxor mm4,[8+edi] + ret +align 16 +__x86_AES_encrypt: + mov DWORD [20+esp],edi + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + mov esi,DWORD [240+edi] + lea esi,[esi*1+esi-2] + lea esi,[esi*8+edi] + mov DWORD [24+esp],esi +align 16 +L$003loop: + mov esi,eax + and esi,255 + mov esi,DWORD [esi*8+ebp] + movzx edi,bh + xor esi,DWORD [3+edi*8+ebp] + mov edi,ecx + shr edi,16 + and edi,255 + xor esi,DWORD [2+edi*8+ebp] + mov edi,edx + shr edi,24 + xor esi,DWORD [1+edi*8+ebp] + mov DWORD [4+esp],esi + mov esi,ebx + and esi,255 + shr ebx,16 + mov esi,DWORD [esi*8+ebp] + movzx edi,ch + xor esi,DWORD [3+edi*8+ebp] + mov edi,edx + shr edi,16 + and edi,255 + xor esi,DWORD [2+edi*8+ebp] + mov edi,eax + shr edi,24 + xor esi,DWORD [1+edi*8+ebp] + mov DWORD [8+esp],esi + mov esi,ecx + and esi,255 + shr ecx,24 + mov esi,DWORD [esi*8+ebp] + movzx edi,dh + xor esi,DWORD [3+edi*8+ebp] + mov edi,eax + shr edi,16 + and edx,255 + and edi,255 + xor esi,DWORD [2+edi*8+ebp] + movzx edi,bh + xor esi,DWORD [1+edi*8+ebp] + mov edi,DWORD [20+esp] + mov edx,DWORD [edx*8+ebp] + movzx eax,ah + xor edx,DWORD [3+eax*8+ebp] + mov eax,DWORD [4+esp] + and ebx,255 + xor edx,DWORD [2+ebx*8+ebp] + mov ebx,DWORD [8+esp] + xor edx,DWORD [1+ecx*8+ebp] + mov ecx,esi + add edi,16 + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + cmp edi,DWORD [24+esp] + mov DWORD [20+esp],edi + jb NEAR L$003loop + mov esi,eax + and esi,255 + mov esi,DWORD [2+esi*8+ebp] + and esi,255 + movzx edi,bh + mov edi,DWORD [edi*8+ebp] + and edi,65280 + xor esi,edi + mov edi,ecx + shr edi,16 + and edi,255 + mov edi,DWORD [edi*8+ebp] + and edi,16711680 + xor esi,edi + mov edi,edx + shr edi,24 + mov edi,DWORD [2+edi*8+ebp] + and edi,4278190080 + xor esi,edi + mov DWORD [4+esp],esi + mov esi,ebx + and esi,255 + shr ebx,16 + mov esi,DWORD [2+esi*8+ebp] + and esi,255 + movzx edi,ch + mov edi,DWORD [edi*8+ebp] + and edi,65280 + xor esi,edi + mov edi,edx + shr edi,16 + and edi,255 + mov edi,DWORD [edi*8+ebp] + and edi,16711680 + xor esi,edi + mov edi,eax + shr edi,24 + mov edi,DWORD [2+edi*8+ebp] + and edi,4278190080 + xor esi,edi + mov DWORD [8+esp],esi + mov esi,ecx + and esi,255 + shr ecx,24 + mov esi,DWORD [2+esi*8+ebp] + and esi,255 + movzx edi,dh + mov edi,DWORD [edi*8+ebp] + and edi,65280 + xor esi,edi + mov edi,eax + shr edi,16 + and edx,255 + and edi,255 + mov edi,DWORD [edi*8+ebp] + and edi,16711680 + xor esi,edi + movzx edi,bh + mov edi,DWORD [2+edi*8+ebp] + and edi,4278190080 + xor esi,edi + mov edi,DWORD [20+esp] + and edx,255 + mov edx,DWORD [2+edx*8+ebp] + and edx,255 + movzx eax,ah + mov eax,DWORD [eax*8+ebp] + and eax,65280 + xor edx,eax + mov eax,DWORD [4+esp] + and ebx,255 + mov ebx,DWORD [ebx*8+ebp] + and ebx,16711680 + xor edx,ebx + mov ebx,DWORD [8+esp] + mov ecx,DWORD [2+ecx*8+ebp] + and ecx,4278190080 + xor edx,ecx + mov ecx,esi + add edi,16 + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + ret +align 64 +L$AES_Te: +dd 2774754246,2774754246 +dd 2222750968,2222750968 +dd 2574743534,2574743534 +dd 2373680118,2373680118 +dd 234025727,234025727 +dd 3177933782,3177933782 +dd 2976870366,2976870366 +dd 1422247313,1422247313 +dd 1345335392,1345335392 +dd 50397442,50397442 +dd 2842126286,2842126286 +dd 2099981142,2099981142 +dd 436141799,436141799 +dd 1658312629,1658312629 +dd 3870010189,3870010189 +dd 2591454956,2591454956 +dd 1170918031,1170918031 +dd 2642575903,2642575903 +dd 1086966153,1086966153 +dd 2273148410,2273148410 +dd 368769775,368769775 +dd 3948501426,3948501426 +dd 3376891790,3376891790 +dd 200339707,200339707 +dd 3970805057,3970805057 +dd 1742001331,1742001331 +dd 4255294047,4255294047 +dd 3937382213,3937382213 +dd 3214711843,3214711843 +dd 4154762323,4154762323 +dd 2524082916,2524082916 +dd 1539358875,1539358875 +dd 3266819957,3266819957 +dd 486407649,486407649 +dd 2928907069,2928907069 +dd 1780885068,1780885068 +dd 1513502316,1513502316 +dd 1094664062,1094664062 +dd 49805301,49805301 +dd 1338821763,1338821763 +dd 1546925160,1546925160 +dd 4104496465,4104496465 +dd 887481809,887481809 +dd 150073849,150073849 +dd 2473685474,2473685474 +dd 1943591083,1943591083 +dd 1395732834,1395732834 +dd 1058346282,1058346282 +dd 201589768,201589768 +dd 1388824469,1388824469 +dd 1696801606,1696801606 +dd 1589887901,1589887901 +dd 672667696,672667696 +dd 2711000631,2711000631 +dd 251987210,251987210 +dd 3046808111,3046808111 +dd 151455502,151455502 +dd 907153956,907153956 +dd 2608889883,2608889883 +dd 1038279391,1038279391 +dd 652995533,652995533 +dd 1764173646,1764173646 +dd 3451040383,3451040383 +dd 2675275242,2675275242 +dd 453576978,453576978 +dd 2659418909,2659418909 +dd 1949051992,1949051992 +dd 773462580,773462580 +dd 756751158,756751158 +dd 2993581788,2993581788 +dd 3998898868,3998898868 +dd 4221608027,4221608027 +dd 4132590244,4132590244 +dd 1295727478,1295727478 +dd 1641469623,1641469623 +dd 3467883389,3467883389 +dd 2066295122,2066295122 +dd 1055122397,1055122397 +dd 1898917726,1898917726 +dd 2542044179,2542044179 +dd 4115878822,4115878822 +dd 1758581177,1758581177 +dd 0,0 +dd 753790401,753790401 +dd 1612718144,1612718144 +dd 536673507,536673507 +dd 3367088505,3367088505 +dd 3982187446,3982187446 +dd 3194645204,3194645204 +dd 1187761037,1187761037 +dd 3653156455,3653156455 +dd 1262041458,1262041458 +dd 3729410708,3729410708 +dd 3561770136,3561770136 +dd 3898103984,3898103984 +dd 1255133061,1255133061 +dd 1808847035,1808847035 +dd 720367557,720367557 +dd 3853167183,3853167183 +dd 385612781,385612781 +dd 3309519750,3309519750 +dd 3612167578,3612167578 +dd 1429418854,1429418854 +dd 2491778321,2491778321 +dd 3477423498,3477423498 +dd 284817897,284817897 +dd 100794884,100794884 +dd 2172616702,2172616702 +dd 4031795360,4031795360 +dd 1144798328,1144798328 +dd 3131023141,3131023141 +dd 3819481163,3819481163 +dd 4082192802,4082192802 +dd 4272137053,4272137053 +dd 3225436288,3225436288 +dd 2324664069,2324664069 +dd 2912064063,2912064063 +dd 3164445985,3164445985 +dd 1211644016,1211644016 +dd 83228145,83228145 +dd 3753688163,3753688163 +dd 3249976951,3249976951 +dd 1977277103,1977277103 +dd 1663115586,1663115586 +dd 806359072,806359072 +dd 452984805,452984805 +dd 250868733,250868733 +dd 1842533055,1842533055 +dd 1288555905,1288555905 +dd 336333848,336333848 +dd 890442534,890442534 +dd 804056259,804056259 +dd 3781124030,3781124030 +dd 2727843637,2727843637 +dd 3427026056,3427026056 +dd 957814574,957814574 +dd 1472513171,1472513171 +dd 4071073621,4071073621 +dd 2189328124,2189328124 +dd 1195195770,1195195770 +dd 2892260552,2892260552 +dd 3881655738,3881655738 +dd 723065138,723065138 +dd 2507371494,2507371494 +dd 2690670784,2690670784 +dd 2558624025,2558624025 +dd 3511635870,3511635870 +dd 2145180835,2145180835 +dd 1713513028,1713513028 +dd 2116692564,2116692564 +dd 2878378043,2878378043 +dd 2206763019,2206763019 +dd 3393603212,3393603212 +dd 703524551,703524551 +dd 3552098411,3552098411 +dd 1007948840,1007948840 +dd 2044649127,2044649127 +dd 3797835452,3797835452 +dd 487262998,487262998 +dd 1994120109,1994120109 +dd 1004593371,1004593371 +dd 1446130276,1446130276 +dd 1312438900,1312438900 +dd 503974420,503974420 +dd 3679013266,3679013266 +dd 168166924,168166924 +dd 1814307912,1814307912 +dd 3831258296,3831258296 +dd 1573044895,1573044895 +dd 1859376061,1859376061 +dd 4021070915,4021070915 +dd 2791465668,2791465668 +dd 2828112185,2828112185 +dd 2761266481,2761266481 +dd 937747667,937747667 +dd 2339994098,2339994098 +dd 854058965,854058965 +dd 1137232011,1137232011 +dd 1496790894,1496790894 +dd 3077402074,3077402074 +dd 2358086913,2358086913 +dd 1691735473,1691735473 +dd 3528347292,3528347292 +dd 3769215305,3769215305 +dd 3027004632,3027004632 +dd 4199962284,4199962284 +dd 133494003,133494003 +dd 636152527,636152527 +dd 2942657994,2942657994 +dd 2390391540,2390391540 +dd 3920539207,3920539207 +dd 403179536,403179536 +dd 3585784431,3585784431 +dd 2289596656,2289596656 +dd 1864705354,1864705354 +dd 1915629148,1915629148 +dd 605822008,605822008 +dd 4054230615,4054230615 +dd 3350508659,3350508659 +dd 1371981463,1371981463 +dd 602466507,602466507 +dd 2094914977,2094914977 +dd 2624877800,2624877800 +dd 555687742,555687742 +dd 3712699286,3712699286 +dd 3703422305,3703422305 +dd 2257292045,2257292045 +dd 2240449039,2240449039 +dd 2423288032,2423288032 +dd 1111375484,1111375484 +dd 3300242801,3300242801 +dd 2858837708,2858837708 +dd 3628615824,3628615824 +dd 84083462,84083462 +dd 32962295,32962295 +dd 302911004,302911004 +dd 2741068226,2741068226 +dd 1597322602,1597322602 +dd 4183250862,4183250862 +dd 3501832553,3501832553 +dd 2441512471,2441512471 +dd 1489093017,1489093017 +dd 656219450,656219450 +dd 3114180135,3114180135 +dd 954327513,954327513 +dd 335083755,335083755 +dd 3013122091,3013122091 +dd 856756514,856756514 +dd 3144247762,3144247762 +dd 1893325225,1893325225 +dd 2307821063,2307821063 +dd 2811532339,2811532339 +dd 3063651117,3063651117 +dd 572399164,572399164 +dd 2458355477,2458355477 +dd 552200649,552200649 +dd 1238290055,1238290055 +dd 4283782570,4283782570 +dd 2015897680,2015897680 +dd 2061492133,2061492133 +dd 2408352771,2408352771 +dd 4171342169,4171342169 +dd 2156497161,2156497161 +dd 386731290,386731290 +dd 3669999461,3669999461 +dd 837215959,837215959 +dd 3326231172,3326231172 +dd 3093850320,3093850320 +dd 3275833730,3275833730 +dd 2962856233,2962856233 +dd 1999449434,1999449434 +dd 286199582,286199582 +dd 3417354363,3417354363 +dd 4233385128,4233385128 +dd 3602627437,3602627437 +dd 974525996,974525996 +db 99,124,119,123,242,107,111,197 +db 48,1,103,43,254,215,171,118 +db 202,130,201,125,250,89,71,240 +db 173,212,162,175,156,164,114,192 +db 183,253,147,38,54,63,247,204 +db 52,165,229,241,113,216,49,21 +db 4,199,35,195,24,150,5,154 +db 7,18,128,226,235,39,178,117 +db 9,131,44,26,27,110,90,160 +db 82,59,214,179,41,227,47,132 +db 83,209,0,237,32,252,177,91 +db 106,203,190,57,74,76,88,207 +db 208,239,170,251,67,77,51,133 +db 69,249,2,127,80,60,159,168 +db 81,163,64,143,146,157,56,245 +db 188,182,218,33,16,255,243,210 +db 205,12,19,236,95,151,68,23 +db 196,167,126,61,100,93,25,115 +db 96,129,79,220,34,42,144,136 +db 70,238,184,20,222,94,11,219 +db 224,50,58,10,73,6,36,92 +db 194,211,172,98,145,149,228,121 +db 231,200,55,109,141,213,78,169 +db 108,86,244,234,101,122,174,8 +db 186,120,37,46,28,166,180,198 +db 232,221,116,31,75,189,139,138 +db 112,62,181,102,72,3,246,14 +db 97,53,87,185,134,193,29,158 +db 225,248,152,17,105,217,142,148 +db 155,30,135,233,206,85,40,223 +db 140,161,137,13,191,230,66,104 +db 65,153,45,15,176,84,187,22 +db 99,124,119,123,242,107,111,197 +db 48,1,103,43,254,215,171,118 +db 202,130,201,125,250,89,71,240 +db 173,212,162,175,156,164,114,192 +db 183,253,147,38,54,63,247,204 +db 52,165,229,241,113,216,49,21 +db 4,199,35,195,24,150,5,154 +db 7,18,128,226,235,39,178,117 +db 9,131,44,26,27,110,90,160 +db 82,59,214,179,41,227,47,132 +db 83,209,0,237,32,252,177,91 +db 106,203,190,57,74,76,88,207 +db 208,239,170,251,67,77,51,133 +db 69,249,2,127,80,60,159,168 +db 81,163,64,143,146,157,56,245 +db 188,182,218,33,16,255,243,210 +db 205,12,19,236,95,151,68,23 +db 196,167,126,61,100,93,25,115 +db 96,129,79,220,34,42,144,136 +db 70,238,184,20,222,94,11,219 +db 224,50,58,10,73,6,36,92 +db 194,211,172,98,145,149,228,121 +db 231,200,55,109,141,213,78,169 +db 108,86,244,234,101,122,174,8 +db 186,120,37,46,28,166,180,198 +db 232,221,116,31,75,189,139,138 +db 112,62,181,102,72,3,246,14 +db 97,53,87,185,134,193,29,158 +db 225,248,152,17,105,217,142,148 +db 155,30,135,233,206,85,40,223 +db 140,161,137,13,191,230,66,104 +db 65,153,45,15,176,84,187,22 +db 99,124,119,123,242,107,111,197 +db 48,1,103,43,254,215,171,118 +db 202,130,201,125,250,89,71,240 +db 173,212,162,175,156,164,114,192 +db 183,253,147,38,54,63,247,204 +db 52,165,229,241,113,216,49,21 +db 4,199,35,195,24,150,5,154 +db 7,18,128,226,235,39,178,117 +db 9,131,44,26,27,110,90,160 +db 82,59,214,179,41,227,47,132 +db 83,209,0,237,32,252,177,91 +db 106,203,190,57,74,76,88,207 +db 208,239,170,251,67,77,51,133 +db 69,249,2,127,80,60,159,168 +db 81,163,64,143,146,157,56,245 +db 188,182,218,33,16,255,243,210 +db 205,12,19,236,95,151,68,23 +db 196,167,126,61,100,93,25,115 +db 96,129,79,220,34,42,144,136 +db 70,238,184,20,222,94,11,219 +db 224,50,58,10,73,6,36,92 +db 194,211,172,98,145,149,228,121 +db 231,200,55,109,141,213,78,169 +db 108,86,244,234,101,122,174,8 +db 186,120,37,46,28,166,180,198 +db 232,221,116,31,75,189,139,138 +db 112,62,181,102,72,3,246,14 +db 97,53,87,185,134,193,29,158 +db 225,248,152,17,105,217,142,148 +db 155,30,135,233,206,85,40,223 +db 140,161,137,13,191,230,66,104 +db 65,153,45,15,176,84,187,22 +db 99,124,119,123,242,107,111,197 +db 48,1,103,43,254,215,171,118 +db 202,130,201,125,250,89,71,240 +db 173,212,162,175,156,164,114,192 +db 183,253,147,38,54,63,247,204 +db 52,165,229,241,113,216,49,21 +db 4,199,35,195,24,150,5,154 +db 7,18,128,226,235,39,178,117 +db 9,131,44,26,27,110,90,160 +db 82,59,214,179,41,227,47,132 +db 83,209,0,237,32,252,177,91 +db 106,203,190,57,74,76,88,207 +db 208,239,170,251,67,77,51,133 +db 69,249,2,127,80,60,159,168 +db 81,163,64,143,146,157,56,245 +db 188,182,218,33,16,255,243,210 +db 205,12,19,236,95,151,68,23 +db 196,167,126,61,100,93,25,115 +db 96,129,79,220,34,42,144,136 +db 70,238,184,20,222,94,11,219 +db 224,50,58,10,73,6,36,92 +db 194,211,172,98,145,149,228,121 +db 231,200,55,109,141,213,78,169 +db 108,86,244,234,101,122,174,8 +db 186,120,37,46,28,166,180,198 +db 232,221,116,31,75,189,139,138 +db 112,62,181,102,72,3,246,14 +db 97,53,87,185,134,193,29,158 +db 225,248,152,17,105,217,142,148 +db 155,30,135,233,206,85,40,223 +db 140,161,137,13,191,230,66,104 +db 65,153,45,15,176,84,187,22 +dd 1,2,4,8 +dd 16,32,64,128 +dd 27,54,0,0 +dd 0,0,0,0 +global _AES_encrypt +align 16 +_AES_encrypt: +L$_AES_encrypt_begin: + push ebp + push ebx + push esi + push edi + mov esi,DWORD [20+esp] + mov edi,DWORD [28+esp] + mov eax,esp + sub esp,36 + and esp,-64 + lea ebx,[edi-127] + sub ebx,esp + neg ebx + and ebx,960 + sub esp,ebx + add esp,4 + mov DWORD [28+esp],eax + call L$004pic_point +L$004pic_point: + pop ebp + lea eax,[_OPENSSL_ia32cap_P] + lea ebp,[(L$AES_Te-L$004pic_point)+ebp] + lea ebx,[764+esp] + sub ebx,ebp + and ebx,768 + lea ebp,[2176+ebx*1+ebp] + bt DWORD [eax],25 + jnc NEAR L$005x86 + movq mm0,[esi] + movq mm4,[8+esi] + call __sse_AES_encrypt_compact + mov esp,DWORD [28+esp] + mov esi,DWORD [24+esp] + movq [esi],mm0 + movq [8+esi],mm4 + emms + pop edi + pop esi + pop ebx + pop ebp + ret +align 16 +L$005x86: + mov DWORD [24+esp],ebp + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + call __x86_AES_encrypt_compact + mov esp,DWORD [28+esp] + mov esi,DWORD [24+esp] + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + pop edi + pop esi + pop ebx + pop ebp + ret +align 16 +__x86_AES_decrypt_compact: + mov DWORD [20+esp],edi + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + mov esi,DWORD [240+edi] + lea esi,[esi*1+esi-2] + lea esi,[esi*8+edi] + mov DWORD [24+esp],esi + mov edi,DWORD [ebp-128] + mov esi,DWORD [ebp-96] + mov edi,DWORD [ebp-64] + mov esi,DWORD [ebp-32] + mov edi,DWORD [ebp] + mov esi,DWORD [32+ebp] + mov edi,DWORD [64+ebp] + mov esi,DWORD [96+ebp] +align 16 +L$006loop: + mov esi,eax + and esi,255 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,dh + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,ecx + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + mov edi,ebx + shr edi,24 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + mov DWORD [4+esp],esi + mov esi,ebx + and esi,255 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,ah + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,edx + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + mov edi,ecx + shr edi,24 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + mov DWORD [8+esp],esi + mov esi,ecx + and esi,255 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,bh + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,eax + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + mov edi,edx + shr edi,24 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + and edx,255 + movzx edx,BYTE [edx*1+ebp-128] + movzx ecx,ch + movzx ecx,BYTE [ecx*1+ebp-128] + shl ecx,8 + xor edx,ecx + mov ecx,esi + shr ebx,16 + and ebx,255 + movzx ebx,BYTE [ebx*1+ebp-128] + shl ebx,16 + xor edx,ebx + shr eax,24 + movzx eax,BYTE [eax*1+ebp-128] + shl eax,24 + xor edx,eax + mov edi,2155905152 + and edi,ecx + mov esi,edi + shr edi,7 + lea eax,[ecx*1+ecx] + sub esi,edi + and eax,4278124286 + and esi,454761243 + xor eax,esi + mov edi,2155905152 + and edi,eax + mov esi,edi + shr edi,7 + lea ebx,[eax*1+eax] + sub esi,edi + and ebx,4278124286 + and esi,454761243 + xor eax,ecx + xor ebx,esi + mov edi,2155905152 + and edi,ebx + mov esi,edi + shr edi,7 + lea ebp,[ebx*1+ebx] + sub esi,edi + and ebp,4278124286 + and esi,454761243 + xor ebx,ecx + rol ecx,8 + xor ebp,esi + xor ecx,eax + xor eax,ebp + xor ecx,ebx + xor ebx,ebp + rol eax,24 + xor ecx,ebp + rol ebx,16 + xor ecx,eax + rol ebp,8 + xor ecx,ebx + mov eax,DWORD [4+esp] + xor ecx,ebp + mov DWORD [12+esp],ecx + mov edi,2155905152 + and edi,edx + mov esi,edi + shr edi,7 + lea ebx,[edx*1+edx] + sub esi,edi + and ebx,4278124286 + and esi,454761243 + xor ebx,esi + mov edi,2155905152 + and edi,ebx + mov esi,edi + shr edi,7 + lea ecx,[ebx*1+ebx] + sub esi,edi + and ecx,4278124286 + and esi,454761243 + xor ebx,edx + xor ecx,esi + mov edi,2155905152 + and edi,ecx + mov esi,edi + shr edi,7 + lea ebp,[ecx*1+ecx] + sub esi,edi + and ebp,4278124286 + and esi,454761243 + xor ecx,edx + rol edx,8 + xor ebp,esi + xor edx,ebx + xor ebx,ebp + xor edx,ecx + xor ecx,ebp + rol ebx,24 + xor edx,ebp + rol ecx,16 + xor edx,ebx + rol ebp,8 + xor edx,ecx + mov ebx,DWORD [8+esp] + xor edx,ebp + mov DWORD [16+esp],edx + mov edi,2155905152 + and edi,eax + mov esi,edi + shr edi,7 + lea ecx,[eax*1+eax] + sub esi,edi + and ecx,4278124286 + and esi,454761243 + xor ecx,esi + mov edi,2155905152 + and edi,ecx + mov esi,edi + shr edi,7 + lea edx,[ecx*1+ecx] + sub esi,edi + and edx,4278124286 + and esi,454761243 + xor ecx,eax + xor edx,esi + mov edi,2155905152 + and edi,edx + mov esi,edi + shr edi,7 + lea ebp,[edx*1+edx] + sub esi,edi + and ebp,4278124286 + and esi,454761243 + xor edx,eax + rol eax,8 + xor ebp,esi + xor eax,ecx + xor ecx,ebp + xor eax,edx + xor edx,ebp + rol ecx,24 + xor eax,ebp + rol edx,16 + xor eax,ecx + rol ebp,8 + xor eax,edx + xor eax,ebp + mov edi,2155905152 + and edi,ebx + mov esi,edi + shr edi,7 + lea ecx,[ebx*1+ebx] + sub esi,edi + and ecx,4278124286 + and esi,454761243 + xor ecx,esi + mov edi,2155905152 + and edi,ecx + mov esi,edi + shr edi,7 + lea edx,[ecx*1+ecx] + sub esi,edi + and edx,4278124286 + and esi,454761243 + xor ecx,ebx + xor edx,esi + mov edi,2155905152 + and edi,edx + mov esi,edi + shr edi,7 + lea ebp,[edx*1+edx] + sub esi,edi + and ebp,4278124286 + and esi,454761243 + xor edx,ebx + rol ebx,8 + xor ebp,esi + xor ebx,ecx + xor ecx,ebp + xor ebx,edx + xor edx,ebp + rol ecx,24 + xor ebx,ebp + rol edx,16 + xor ebx,ecx + rol ebp,8 + xor ebx,edx + mov ecx,DWORD [12+esp] + xor ebx,ebp + mov edx,DWORD [16+esp] + mov edi,DWORD [20+esp] + mov ebp,DWORD [28+esp] + add edi,16 + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + cmp edi,DWORD [24+esp] + mov DWORD [20+esp],edi + jb NEAR L$006loop + mov esi,eax + and esi,255 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,dh + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,ecx + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + mov edi,ebx + shr edi,24 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + mov DWORD [4+esp],esi + mov esi,ebx + and esi,255 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,ah + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,edx + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + mov edi,ecx + shr edi,24 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + mov DWORD [8+esp],esi + mov esi,ecx + and esi,255 + movzx esi,BYTE [esi*1+ebp-128] + movzx edi,bh + movzx edi,BYTE [edi*1+ebp-128] + shl edi,8 + xor esi,edi + mov edi,eax + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,16 + xor esi,edi + mov edi,edx + shr edi,24 + movzx edi,BYTE [edi*1+ebp-128] + shl edi,24 + xor esi,edi + mov edi,DWORD [20+esp] + and edx,255 + movzx edx,BYTE [edx*1+ebp-128] + movzx ecx,ch + movzx ecx,BYTE [ecx*1+ebp-128] + shl ecx,8 + xor edx,ecx + mov ecx,esi + shr ebx,16 + and ebx,255 + movzx ebx,BYTE [ebx*1+ebp-128] + shl ebx,16 + xor edx,ebx + mov ebx,DWORD [8+esp] + shr eax,24 + movzx eax,BYTE [eax*1+ebp-128] + shl eax,24 + xor edx,eax + mov eax,DWORD [4+esp] + xor eax,DWORD [16+edi] + xor ebx,DWORD [20+edi] + xor ecx,DWORD [24+edi] + xor edx,DWORD [28+edi] + ret +align 16 +__sse_AES_decrypt_compact: + pxor mm0,[edi] + pxor mm4,[8+edi] + mov esi,DWORD [240+edi] + lea esi,[esi*1+esi-2] + lea esi,[esi*8+edi] + mov DWORD [24+esp],esi + mov eax,454761243 + mov DWORD [8+esp],eax + mov DWORD [12+esp],eax + mov eax,DWORD [ebp-128] + mov ebx,DWORD [ebp-96] + mov ecx,DWORD [ebp-64] + mov edx,DWORD [ebp-32] + mov eax,DWORD [ebp] + mov ebx,DWORD [32+ebp] + mov ecx,DWORD [64+ebp] + mov edx,DWORD [96+ebp] +align 16 +L$007loop: + pshufw mm1,mm0,12 + pshufw mm5,mm4,9 + movd eax,mm1 + movd ebx,mm5 + mov DWORD [20+esp],edi + movzx esi,al + movzx edx,ah + pshufw mm2,mm0,6 + movzx ecx,BYTE [esi*1+ebp-128] + movzx edi,bl + movzx edx,BYTE [edx*1+ebp-128] + shr eax,16 + shl edx,8 + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,bh + shl esi,16 + pshufw mm6,mm4,3 + or ecx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,ah + shl esi,24 + shr ebx,16 + or edx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,bh + shl esi,24 + or ecx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,al + shl esi,8 + movd eax,mm2 + or ecx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,bl + shl esi,16 + movd ebx,mm6 + movd mm0,ecx + movzx ecx,BYTE [edi*1+ebp-128] + movzx edi,al + or ecx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,bl + or edx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,ah + shl esi,16 + shr eax,16 + or edx,esi + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,bh + shr ebx,16 + shl esi,8 + movd mm1,edx + movzx edx,BYTE [edi*1+ebp-128] + movzx edi,bh + shl edx,24 + and ebx,255 + or edx,esi + punpckldq mm0,mm1 + movzx esi,BYTE [edi*1+ebp-128] + movzx edi,al + shl esi,8 + movzx eax,ah + movzx ebx,BYTE [ebx*1+ebp-128] + or ecx,esi + movzx esi,BYTE [edi*1+ebp-128] + or edx,ebx + shl esi,16 + movzx eax,BYTE [eax*1+ebp-128] + or edx,esi + shl eax,24 + or ecx,eax + mov edi,DWORD [20+esp] + movd mm4,edx + movd mm5,ecx + punpckldq mm4,mm5 + add edi,16 + cmp edi,DWORD [24+esp] + ja NEAR L$008out + movq mm3,mm0 + movq mm7,mm4 + pshufw mm2,mm0,228 + pshufw mm6,mm4,228 + movq mm1,mm0 + movq mm5,mm4 + pshufw mm0,mm0,177 + pshufw mm4,mm4,177 + pslld mm2,8 + pslld mm6,8 + psrld mm3,8 + psrld mm7,8 + pxor mm0,mm2 + pxor mm4,mm6 + pxor mm0,mm3 + pxor mm4,mm7 + pslld mm2,16 + pslld mm6,16 + psrld mm3,16 + psrld mm7,16 + pxor mm0,mm2 + pxor mm4,mm6 + pxor mm0,mm3 + pxor mm4,mm7 + movq mm3,[8+esp] + pxor mm2,mm2 + pxor mm6,mm6 + pcmpgtb mm2,mm1 + pcmpgtb mm6,mm5 + pand mm2,mm3 + pand mm6,mm3 + paddb mm1,mm1 + paddb mm5,mm5 + pxor mm1,mm2 + pxor mm5,mm6 + movq mm3,mm1 + movq mm7,mm5 + movq mm2,mm1 + movq mm6,mm5 + pxor mm0,mm1 + pxor mm4,mm5 + pslld mm3,24 + pslld mm7,24 + psrld mm2,8 + psrld mm6,8 + pxor mm0,mm3 + pxor mm4,mm7 + pxor mm0,mm2 + pxor mm4,mm6 + movq mm2,[8+esp] + pxor mm3,mm3 + pxor mm7,mm7 + pcmpgtb mm3,mm1 + pcmpgtb mm7,mm5 + pand mm3,mm2 + pand mm7,mm2 + paddb mm1,mm1 + paddb mm5,mm5 + pxor mm1,mm3 + pxor mm5,mm7 + pshufw mm3,mm1,177 + pshufw mm7,mm5,177 + pxor mm0,mm1 + pxor mm4,mm5 + pxor mm0,mm3 + pxor mm4,mm7 + pxor mm3,mm3 + pxor mm7,mm7 + pcmpgtb mm3,mm1 + pcmpgtb mm7,mm5 + pand mm3,mm2 + pand mm7,mm2 + paddb mm1,mm1 + paddb mm5,mm5 + pxor mm1,mm3 + pxor mm5,mm7 + pxor mm0,mm1 + pxor mm4,mm5 + movq mm3,mm1 + movq mm7,mm5 + pshufw mm2,mm1,177 + pshufw mm6,mm5,177 + pxor mm0,mm2 + pxor mm4,mm6 + pslld mm1,8 + pslld mm5,8 + psrld mm3,8 + psrld mm7,8 + movq mm2,[edi] + movq mm6,[8+edi] + pxor mm0,mm1 + pxor mm4,mm5 + pxor mm0,mm3 + pxor mm4,mm7 + mov eax,DWORD [ebp-128] + pslld mm1,16 + pslld mm5,16 + mov ebx,DWORD [ebp-64] + psrld mm3,16 + psrld mm7,16 + mov ecx,DWORD [ebp] + pxor mm0,mm1 + pxor mm4,mm5 + mov edx,DWORD [64+ebp] + pxor mm0,mm3 + pxor mm4,mm7 + pxor mm0,mm2 + pxor mm4,mm6 + jmp NEAR L$007loop +align 16 +L$008out: + pxor mm0,[edi] + pxor mm4,[8+edi] + ret +align 16 +__x86_AES_decrypt: + mov DWORD [20+esp],edi + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + mov esi,DWORD [240+edi] + lea esi,[esi*1+esi-2] + lea esi,[esi*8+edi] + mov DWORD [24+esp],esi +align 16 +L$009loop: + mov esi,eax + and esi,255 + mov esi,DWORD [esi*8+ebp] + movzx edi,dh + xor esi,DWORD [3+edi*8+ebp] + mov edi,ecx + shr edi,16 + and edi,255 + xor esi,DWORD [2+edi*8+ebp] + mov edi,ebx + shr edi,24 + xor esi,DWORD [1+edi*8+ebp] + mov DWORD [4+esp],esi + mov esi,ebx + and esi,255 + mov esi,DWORD [esi*8+ebp] + movzx edi,ah + xor esi,DWORD [3+edi*8+ebp] + mov edi,edx + shr edi,16 + and edi,255 + xor esi,DWORD [2+edi*8+ebp] + mov edi,ecx + shr edi,24 + xor esi,DWORD [1+edi*8+ebp] + mov DWORD [8+esp],esi + mov esi,ecx + and esi,255 + mov esi,DWORD [esi*8+ebp] + movzx edi,bh + xor esi,DWORD [3+edi*8+ebp] + mov edi,eax + shr edi,16 + and edi,255 + xor esi,DWORD [2+edi*8+ebp] + mov edi,edx + shr edi,24 + xor esi,DWORD [1+edi*8+ebp] + mov edi,DWORD [20+esp] + and edx,255 + mov edx,DWORD [edx*8+ebp] + movzx ecx,ch + xor edx,DWORD [3+ecx*8+ebp] + mov ecx,esi + shr ebx,16 + and ebx,255 + xor edx,DWORD [2+ebx*8+ebp] + mov ebx,DWORD [8+esp] + shr eax,24 + xor edx,DWORD [1+eax*8+ebp] + mov eax,DWORD [4+esp] + add edi,16 + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + cmp edi,DWORD [24+esp] + mov DWORD [20+esp],edi + jb NEAR L$009loop + lea ebp,[2176+ebp] + mov edi,DWORD [ebp-128] + mov esi,DWORD [ebp-96] + mov edi,DWORD [ebp-64] + mov esi,DWORD [ebp-32] + mov edi,DWORD [ebp] + mov esi,DWORD [32+ebp] + mov edi,DWORD [64+ebp] + mov esi,DWORD [96+ebp] + lea ebp,[ebp-128] + mov esi,eax + and esi,255 + movzx esi,BYTE [esi*1+ebp] + movzx edi,dh + movzx edi,BYTE [edi*1+ebp] + shl edi,8 + xor esi,edi + mov edi,ecx + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp] + shl edi,16 + xor esi,edi + mov edi,ebx + shr edi,24 + movzx edi,BYTE [edi*1+ebp] + shl edi,24 + xor esi,edi + mov DWORD [4+esp],esi + mov esi,ebx + and esi,255 + movzx esi,BYTE [esi*1+ebp] + movzx edi,ah + movzx edi,BYTE [edi*1+ebp] + shl edi,8 + xor esi,edi + mov edi,edx + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp] + shl edi,16 + xor esi,edi + mov edi,ecx + shr edi,24 + movzx edi,BYTE [edi*1+ebp] + shl edi,24 + xor esi,edi + mov DWORD [8+esp],esi + mov esi,ecx + and esi,255 + movzx esi,BYTE [esi*1+ebp] + movzx edi,bh + movzx edi,BYTE [edi*1+ebp] + shl edi,8 + xor esi,edi + mov edi,eax + shr edi,16 + and edi,255 + movzx edi,BYTE [edi*1+ebp] + shl edi,16 + xor esi,edi + mov edi,edx + shr edi,24 + movzx edi,BYTE [edi*1+ebp] + shl edi,24 + xor esi,edi + mov edi,DWORD [20+esp] + and edx,255 + movzx edx,BYTE [edx*1+ebp] + movzx ecx,ch + movzx ecx,BYTE [ecx*1+ebp] + shl ecx,8 + xor edx,ecx + mov ecx,esi + shr ebx,16 + and ebx,255 + movzx ebx,BYTE [ebx*1+ebp] + shl ebx,16 + xor edx,ebx + mov ebx,DWORD [8+esp] + shr eax,24 + movzx eax,BYTE [eax*1+ebp] + shl eax,24 + xor edx,eax + mov eax,DWORD [4+esp] + lea ebp,[ebp-2048] + add edi,16 + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + ret +align 64 +L$AES_Td: +dd 1353184337,1353184337 +dd 1399144830,1399144830 +dd 3282310938,3282310938 +dd 2522752826,2522752826 +dd 3412831035,3412831035 +dd 4047871263,4047871263 +dd 2874735276,2874735276 +dd 2466505547,2466505547 +dd 1442459680,1442459680 +dd 4134368941,4134368941 +dd 2440481928,2440481928 +dd 625738485,625738485 +dd 4242007375,4242007375 +dd 3620416197,3620416197 +dd 2151953702,2151953702 +dd 2409849525,2409849525 +dd 1230680542,1230680542 +dd 1729870373,1729870373 +dd 2551114309,2551114309 +dd 3787521629,3787521629 +dd 41234371,41234371 +dd 317738113,317738113 +dd 2744600205,2744600205 +dd 3338261355,3338261355 +dd 3881799427,3881799427 +dd 2510066197,2510066197 +dd 3950669247,3950669247 +dd 3663286933,3663286933 +dd 763608788,763608788 +dd 3542185048,3542185048 +dd 694804553,694804553 +dd 1154009486,1154009486 +dd 1787413109,1787413109 +dd 2021232372,2021232372 +dd 1799248025,1799248025 +dd 3715217703,3715217703 +dd 3058688446,3058688446 +dd 397248752,397248752 +dd 1722556617,1722556617 +dd 3023752829,3023752829 +dd 407560035,407560035 +dd 2184256229,2184256229 +dd 1613975959,1613975959 +dd 1165972322,1165972322 +dd 3765920945,3765920945 +dd 2226023355,2226023355 +dd 480281086,480281086 +dd 2485848313,2485848313 +dd 1483229296,1483229296 +dd 436028815,436028815 +dd 2272059028,2272059028 +dd 3086515026,3086515026 +dd 601060267,601060267 +dd 3791801202,3791801202 +dd 1468997603,1468997603 +dd 715871590,715871590 +dd 120122290,120122290 +dd 63092015,63092015 +dd 2591802758,2591802758 +dd 2768779219,2768779219 +dd 4068943920,4068943920 +dd 2997206819,2997206819 +dd 3127509762,3127509762 +dd 1552029421,1552029421 +dd 723308426,723308426 +dd 2461301159,2461301159 +dd 4042393587,4042393587 +dd 2715969870,2715969870 +dd 3455375973,3455375973 +dd 3586000134,3586000134 +dd 526529745,526529745 +dd 2331944644,2331944644 +dd 2639474228,2639474228 +dd 2689987490,2689987490 +dd 853641733,853641733 +dd 1978398372,1978398372 +dd 971801355,971801355 +dd 2867814464,2867814464 +dd 111112542,111112542 +dd 1360031421,1360031421 +dd 4186579262,4186579262 +dd 1023860118,1023860118 +dd 2919579357,2919579357 +dd 1186850381,1186850381 +dd 3045938321,3045938321 +dd 90031217,90031217 +dd 1876166148,1876166148 +dd 4279586912,4279586912 +dd 620468249,620468249 +dd 2548678102,2548678102 +dd 3426959497,3426959497 +dd 2006899047,2006899047 +dd 3175278768,3175278768 +dd 2290845959,2290845959 +dd 945494503,945494503 +dd 3689859193,3689859193 +dd 1191869601,1191869601 +dd 3910091388,3910091388 +dd 3374220536,3374220536 +dd 0,0 +dd 2206629897,2206629897 +dd 1223502642,1223502642 +dd 2893025566,2893025566 +dd 1316117100,1316117100 +dd 4227796733,4227796733 +dd 1446544655,1446544655 +dd 517320253,517320253 +dd 658058550,658058550 +dd 1691946762,1691946762 +dd 564550760,564550760 +dd 3511966619,3511966619 +dd 976107044,976107044 +dd 2976320012,2976320012 +dd 266819475,266819475 +dd 3533106868,3533106868 +dd 2660342555,2660342555 +dd 1338359936,1338359936 +dd 2720062561,2720062561 +dd 1766553434,1766553434 +dd 370807324,370807324 +dd 179999714,179999714 +dd 3844776128,3844776128 +dd 1138762300,1138762300 +dd 488053522,488053522 +dd 185403662,185403662 +dd 2915535858,2915535858 +dd 3114841645,3114841645 +dd 3366526484,3366526484 +dd 2233069911,2233069911 +dd 1275557295,1275557295 +dd 3151862254,3151862254 +dd 4250959779,4250959779 +dd 2670068215,2670068215 +dd 3170202204,3170202204 +dd 3309004356,3309004356 +dd 880737115,880737115 +dd 1982415755,1982415755 +dd 3703972811,3703972811 +dd 1761406390,1761406390 +dd 1676797112,1676797112 +dd 3403428311,3403428311 +dd 277177154,277177154 +dd 1076008723,1076008723 +dd 538035844,538035844 +dd 2099530373,2099530373 +dd 4164795346,4164795346 +dd 288553390,288553390 +dd 1839278535,1839278535 +dd 1261411869,1261411869 +dd 4080055004,4080055004 +dd 3964831245,3964831245 +dd 3504587127,3504587127 +dd 1813426987,1813426987 +dd 2579067049,2579067049 +dd 4199060497,4199060497 +dd 577038663,577038663 +dd 3297574056,3297574056 +dd 440397984,440397984 +dd 3626794326,3626794326 +dd 4019204898,4019204898 +dd 3343796615,3343796615 +dd 3251714265,3251714265 +dd 4272081548,4272081548 +dd 906744984,906744984 +dd 3481400742,3481400742 +dd 685669029,685669029 +dd 646887386,646887386 +dd 2764025151,2764025151 +dd 3835509292,3835509292 +dd 227702864,227702864 +dd 2613862250,2613862250 +dd 1648787028,1648787028 +dd 3256061430,3256061430 +dd 3904428176,3904428176 +dd 1593260334,1593260334 +dd 4121936770,4121936770 +dd 3196083615,3196083615 +dd 2090061929,2090061929 +dd 2838353263,2838353263 +dd 3004310991,3004310991 +dd 999926984,999926984 +dd 2809993232,2809993232 +dd 1852021992,1852021992 +dd 2075868123,2075868123 +dd 158869197,158869197 +dd 4095236462,4095236462 +dd 28809964,28809964 +dd 2828685187,2828685187 +dd 1701746150,1701746150 +dd 2129067946,2129067946 +dd 147831841,147831841 +dd 3873969647,3873969647 +dd 3650873274,3650873274 +dd 3459673930,3459673930 +dd 3557400554,3557400554 +dd 3598495785,3598495785 +dd 2947720241,2947720241 +dd 824393514,824393514 +dd 815048134,815048134 +dd 3227951669,3227951669 +dd 935087732,935087732 +dd 2798289660,2798289660 +dd 2966458592,2966458592 +dd 366520115,366520115 +dd 1251476721,1251476721 +dd 4158319681,4158319681 +dd 240176511,240176511 +dd 804688151,804688151 +dd 2379631990,2379631990 +dd 1303441219,1303441219 +dd 1414376140,1414376140 +dd 3741619940,3741619940 +dd 3820343710,3820343710 +dd 461924940,461924940 +dd 3089050817,3089050817 +dd 2136040774,2136040774 +dd 82468509,82468509 +dd 1563790337,1563790337 +dd 1937016826,1937016826 +dd 776014843,776014843 +dd 1511876531,1511876531 +dd 1389550482,1389550482 +dd 861278441,861278441 +dd 323475053,323475053 +dd 2355222426,2355222426 +dd 2047648055,2047648055 +dd 2383738969,2383738969 +dd 2302415851,2302415851 +dd 3995576782,3995576782 +dd 902390199,902390199 +dd 3991215329,3991215329 +dd 1018251130,1018251130 +dd 1507840668,1507840668 +dd 1064563285,1064563285 +dd 2043548696,2043548696 +dd 3208103795,3208103795 +dd 3939366739,3939366739 +dd 1537932639,1537932639 +dd 342834655,342834655 +dd 2262516856,2262516856 +dd 2180231114,2180231114 +dd 1053059257,1053059257 +dd 741614648,741614648 +dd 1598071746,1598071746 +dd 1925389590,1925389590 +dd 203809468,203809468 +dd 2336832552,2336832552 +dd 1100287487,1100287487 +dd 1895934009,1895934009 +dd 3736275976,3736275976 +dd 2632234200,2632234200 +dd 2428589668,2428589668 +dd 1636092795,1636092795 +dd 1890988757,1890988757 +dd 1952214088,1952214088 +dd 1113045200,1113045200 +db 82,9,106,213,48,54,165,56 +db 191,64,163,158,129,243,215,251 +db 124,227,57,130,155,47,255,135 +db 52,142,67,68,196,222,233,203 +db 84,123,148,50,166,194,35,61 +db 238,76,149,11,66,250,195,78 +db 8,46,161,102,40,217,36,178 +db 118,91,162,73,109,139,209,37 +db 114,248,246,100,134,104,152,22 +db 212,164,92,204,93,101,182,146 +db 108,112,72,80,253,237,185,218 +db 94,21,70,87,167,141,157,132 +db 144,216,171,0,140,188,211,10 +db 247,228,88,5,184,179,69,6 +db 208,44,30,143,202,63,15,2 +db 193,175,189,3,1,19,138,107 +db 58,145,17,65,79,103,220,234 +db 151,242,207,206,240,180,230,115 +db 150,172,116,34,231,173,53,133 +db 226,249,55,232,28,117,223,110 +db 71,241,26,113,29,41,197,137 +db 111,183,98,14,170,24,190,27 +db 252,86,62,75,198,210,121,32 +db 154,219,192,254,120,205,90,244 +db 31,221,168,51,136,7,199,49 +db 177,18,16,89,39,128,236,95 +db 96,81,127,169,25,181,74,13 +db 45,229,122,159,147,201,156,239 +db 160,224,59,77,174,42,245,176 +db 200,235,187,60,131,83,153,97 +db 23,43,4,126,186,119,214,38 +db 225,105,20,99,85,33,12,125 +db 82,9,106,213,48,54,165,56 +db 191,64,163,158,129,243,215,251 +db 124,227,57,130,155,47,255,135 +db 52,142,67,68,196,222,233,203 +db 84,123,148,50,166,194,35,61 +db 238,76,149,11,66,250,195,78 +db 8,46,161,102,40,217,36,178 +db 118,91,162,73,109,139,209,37 +db 114,248,246,100,134,104,152,22 +db 212,164,92,204,93,101,182,146 +db 108,112,72,80,253,237,185,218 +db 94,21,70,87,167,141,157,132 +db 144,216,171,0,140,188,211,10 +db 247,228,88,5,184,179,69,6 +db 208,44,30,143,202,63,15,2 +db 193,175,189,3,1,19,138,107 +db 58,145,17,65,79,103,220,234 +db 151,242,207,206,240,180,230,115 +db 150,172,116,34,231,173,53,133 +db 226,249,55,232,28,117,223,110 +db 71,241,26,113,29,41,197,137 +db 111,183,98,14,170,24,190,27 +db 252,86,62,75,198,210,121,32 +db 154,219,192,254,120,205,90,244 +db 31,221,168,51,136,7,199,49 +db 177,18,16,89,39,128,236,95 +db 96,81,127,169,25,181,74,13 +db 45,229,122,159,147,201,156,239 +db 160,224,59,77,174,42,245,176 +db 200,235,187,60,131,83,153,97 +db 23,43,4,126,186,119,214,38 +db 225,105,20,99,85,33,12,125 +db 82,9,106,213,48,54,165,56 +db 191,64,163,158,129,243,215,251 +db 124,227,57,130,155,47,255,135 +db 52,142,67,68,196,222,233,203 +db 84,123,148,50,166,194,35,61 +db 238,76,149,11,66,250,195,78 +db 8,46,161,102,40,217,36,178 +db 118,91,162,73,109,139,209,37 +db 114,248,246,100,134,104,152,22 +db 212,164,92,204,93,101,182,146 +db 108,112,72,80,253,237,185,218 +db 94,21,70,87,167,141,157,132 +db 144,216,171,0,140,188,211,10 +db 247,228,88,5,184,179,69,6 +db 208,44,30,143,202,63,15,2 +db 193,175,189,3,1,19,138,107 +db 58,145,17,65,79,103,220,234 +db 151,242,207,206,240,180,230,115 +db 150,172,116,34,231,173,53,133 +db 226,249,55,232,28,117,223,110 +db 71,241,26,113,29,41,197,137 +db 111,183,98,14,170,24,190,27 +db 252,86,62,75,198,210,121,32 +db 154,219,192,254,120,205,90,244 +db 31,221,168,51,136,7,199,49 +db 177,18,16,89,39,128,236,95 +db 96,81,127,169,25,181,74,13 +db 45,229,122,159,147,201,156,239 +db 160,224,59,77,174,42,245,176 +db 200,235,187,60,131,83,153,97 +db 23,43,4,126,186,119,214,38 +db 225,105,20,99,85,33,12,125 +db 82,9,106,213,48,54,165,56 +db 191,64,163,158,129,243,215,251 +db 124,227,57,130,155,47,255,135 +db 52,142,67,68,196,222,233,203 +db 84,123,148,50,166,194,35,61 +db 238,76,149,11,66,250,195,78 +db 8,46,161,102,40,217,36,178 +db 118,91,162,73,109,139,209,37 +db 114,248,246,100,134,104,152,22 +db 212,164,92,204,93,101,182,146 +db 108,112,72,80,253,237,185,218 +db 94,21,70,87,167,141,157,132 +db 144,216,171,0,140,188,211,10 +db 247,228,88,5,184,179,69,6 +db 208,44,30,143,202,63,15,2 +db 193,175,189,3,1,19,138,107 +db 58,145,17,65,79,103,220,234 +db 151,242,207,206,240,180,230,115 +db 150,172,116,34,231,173,53,133 +db 226,249,55,232,28,117,223,110 +db 71,241,26,113,29,41,197,137 +db 111,183,98,14,170,24,190,27 +db 252,86,62,75,198,210,121,32 +db 154,219,192,254,120,205,90,244 +db 31,221,168,51,136,7,199,49 +db 177,18,16,89,39,128,236,95 +db 96,81,127,169,25,181,74,13 +db 45,229,122,159,147,201,156,239 +db 160,224,59,77,174,42,245,176 +db 200,235,187,60,131,83,153,97 +db 23,43,4,126,186,119,214,38 +db 225,105,20,99,85,33,12,125 +global _AES_decrypt +align 16 +_AES_decrypt: +L$_AES_decrypt_begin: + push ebp + push ebx + push esi + push edi + mov esi,DWORD [20+esp] + mov edi,DWORD [28+esp] + mov eax,esp + sub esp,36 + and esp,-64 + lea ebx,[edi-127] + sub ebx,esp + neg ebx + and ebx,960 + sub esp,ebx + add esp,4 + mov DWORD [28+esp],eax + call L$010pic_point +L$010pic_point: + pop ebp + lea eax,[_OPENSSL_ia32cap_P] + lea ebp,[(L$AES_Td-L$010pic_point)+ebp] + lea ebx,[764+esp] + sub ebx,ebp + and ebx,768 + lea ebp,[2176+ebx*1+ebp] + bt DWORD [eax],25 + jnc NEAR L$011x86 + movq mm0,[esi] + movq mm4,[8+esi] + call __sse_AES_decrypt_compact + mov esp,DWORD [28+esp] + mov esi,DWORD [24+esp] + movq [esi],mm0 + movq [8+esi],mm4 + emms + pop edi + pop esi + pop ebx + pop ebp + ret +align 16 +L$011x86: + mov DWORD [24+esp],ebp + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + call __x86_AES_decrypt_compact + mov esp,DWORD [28+esp] + mov esi,DWORD [24+esp] + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + pop edi + pop esi + pop ebx + pop ebp + ret +global _AES_cbc_encrypt +align 16 +_AES_cbc_encrypt: +L$_AES_cbc_encrypt_begin: + push ebp + push ebx + push esi + push edi + mov ecx,DWORD [28+esp] + cmp ecx,0 + je NEAR L$012drop_out + call L$013pic_point +L$013pic_point: + pop ebp + lea eax,[_OPENSSL_ia32cap_P] + cmp DWORD [40+esp],0 + lea ebp,[(L$AES_Te-L$013pic_point)+ebp] + jne NEAR L$014picked_te + lea ebp,[(L$AES_Td-L$AES_Te)+ebp] +L$014picked_te: + pushfd + cld + cmp ecx,512 + jb NEAR L$015slow_way + test ecx,15 + jnz NEAR L$015slow_way + bt DWORD [eax],28 + jc NEAR L$015slow_way + lea esi,[esp-324] + and esi,-64 + mov eax,ebp + lea ebx,[2304+ebp] + mov edx,esi + and eax,4095 + and ebx,4095 + and edx,4095 + cmp edx,ebx + jb NEAR L$016tbl_break_out + sub edx,ebx + sub esi,edx + jmp NEAR L$017tbl_ok +align 4 +L$016tbl_break_out: + sub edx,eax + and edx,4095 + add edx,384 + sub esi,edx +align 4 +L$017tbl_ok: + lea edx,[24+esp] + xchg esp,esi + add esp,4 + mov DWORD [24+esp],ebp + mov DWORD [28+esp],esi + mov eax,DWORD [edx] + mov ebx,DWORD [4+edx] + mov edi,DWORD [12+edx] + mov esi,DWORD [16+edx] + mov edx,DWORD [20+edx] + mov DWORD [32+esp],eax + mov DWORD [36+esp],ebx + mov DWORD [40+esp],ecx + mov DWORD [44+esp],edi + mov DWORD [48+esp],esi + mov DWORD [316+esp],0 + mov ebx,edi + mov ecx,61 + sub ebx,ebp + mov esi,edi + and ebx,4095 + lea edi,[76+esp] + cmp ebx,2304 + jb NEAR L$018do_copy + cmp ebx,3852 + jb NEAR L$019skip_copy +align 4 +L$018do_copy: + mov DWORD [44+esp],edi +dd 2784229001 +L$019skip_copy: + mov edi,16 +align 4 +L$020prefetch_tbl: + mov eax,DWORD [ebp] + mov ebx,DWORD [32+ebp] + mov ecx,DWORD [64+ebp] + mov esi,DWORD [96+ebp] + lea ebp,[128+ebp] + sub edi,1 + jnz NEAR L$020prefetch_tbl + sub ebp,2048 + mov esi,DWORD [32+esp] + mov edi,DWORD [48+esp] + cmp edx,0 + je NEAR L$021fast_decrypt + mov eax,DWORD [edi] + mov ebx,DWORD [4+edi] +align 16 +L$022fast_enc_loop: + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] + xor eax,DWORD [esi] + xor ebx,DWORD [4+esi] + xor ecx,DWORD [8+esi] + xor edx,DWORD [12+esi] + mov edi,DWORD [44+esp] + call __x86_AES_encrypt + mov esi,DWORD [32+esp] + mov edi,DWORD [36+esp] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + lea esi,[16+esi] + mov ecx,DWORD [40+esp] + mov DWORD [32+esp],esi + lea edx,[16+edi] + mov DWORD [36+esp],edx + sub ecx,16 + mov DWORD [40+esp],ecx + jnz NEAR L$022fast_enc_loop + mov esi,DWORD [48+esp] + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + cmp DWORD [316+esp],0 + mov edi,DWORD [44+esp] + je NEAR L$023skip_ezero + mov ecx,60 + xor eax,eax +align 4 +dd 2884892297 +L$023skip_ezero: + mov esp,DWORD [28+esp] + popfd +L$012drop_out: + pop edi + pop esi + pop ebx + pop ebp + ret + pushfd +align 16 +L$021fast_decrypt: + cmp esi,DWORD [36+esp] + je NEAR L$024fast_dec_in_place + mov DWORD [52+esp],edi +align 4 +align 16 +L$025fast_dec_loop: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + mov edi,DWORD [44+esp] + call __x86_AES_decrypt + mov edi,DWORD [52+esp] + mov esi,DWORD [40+esp] + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + mov edi,DWORD [36+esp] + mov esi,DWORD [32+esp] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov ecx,DWORD [40+esp] + mov DWORD [52+esp],esi + lea esi,[16+esi] + mov DWORD [32+esp],esi + lea edi,[16+edi] + mov DWORD [36+esp],edi + sub ecx,16 + mov DWORD [40+esp],ecx + jnz NEAR L$025fast_dec_loop + mov edi,DWORD [52+esp] + mov esi,DWORD [48+esp] + mov eax,DWORD [edi] + mov ebx,DWORD [4+edi] + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + jmp NEAR L$026fast_dec_out +align 16 +L$024fast_dec_in_place: +L$027fast_dec_in_place_loop: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + lea edi,[60+esp] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov edi,DWORD [44+esp] + call __x86_AES_decrypt + mov edi,DWORD [48+esp] + mov esi,DWORD [36+esp] + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + lea esi,[16+esi] + mov DWORD [36+esp],esi + lea esi,[60+esp] + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov esi,DWORD [32+esp] + mov ecx,DWORD [40+esp] + lea esi,[16+esi] + mov DWORD [32+esp],esi + sub ecx,16 + mov DWORD [40+esp],ecx + jnz NEAR L$027fast_dec_in_place_loop +align 4 +L$026fast_dec_out: + cmp DWORD [316+esp],0 + mov edi,DWORD [44+esp] + je NEAR L$028skip_dzero + mov ecx,60 + xor eax,eax +align 4 +dd 2884892297 +L$028skip_dzero: + mov esp,DWORD [28+esp] + popfd + pop edi + pop esi + pop ebx + pop ebp + ret + pushfd +align 16 +L$015slow_way: + mov eax,DWORD [eax] + mov edi,DWORD [36+esp] + lea esi,[esp-80] + and esi,-64 + lea ebx,[edi-143] + sub ebx,esi + neg ebx + and ebx,960 + sub esi,ebx + lea ebx,[768+esi] + sub ebx,ebp + and ebx,768 + lea ebp,[2176+ebx*1+ebp] + lea edx,[24+esp] + xchg esp,esi + add esp,4 + mov DWORD [24+esp],ebp + mov DWORD [28+esp],esi + mov DWORD [52+esp],eax + mov eax,DWORD [edx] + mov ebx,DWORD [4+edx] + mov esi,DWORD [16+edx] + mov edx,DWORD [20+edx] + mov DWORD [32+esp],eax + mov DWORD [36+esp],ebx + mov DWORD [40+esp],ecx + mov DWORD [44+esp],edi + mov DWORD [48+esp],esi + mov edi,esi + mov esi,eax + cmp edx,0 + je NEAR L$029slow_decrypt + cmp ecx,16 + mov edx,ebx + jb NEAR L$030slow_enc_tail + bt DWORD [52+esp],25 + jnc NEAR L$031slow_enc_x86 + movq mm0,[edi] + movq mm4,[8+edi] +align 16 +L$032slow_enc_loop_sse: + pxor mm0,[esi] + pxor mm4,[8+esi] + mov edi,DWORD [44+esp] + call __sse_AES_encrypt_compact + mov esi,DWORD [32+esp] + mov edi,DWORD [36+esp] + mov ecx,DWORD [40+esp] + movq [edi],mm0 + movq [8+edi],mm4 + lea esi,[16+esi] + mov DWORD [32+esp],esi + lea edx,[16+edi] + mov DWORD [36+esp],edx + sub ecx,16 + cmp ecx,16 + mov DWORD [40+esp],ecx + jae NEAR L$032slow_enc_loop_sse + test ecx,15 + jnz NEAR L$030slow_enc_tail + mov esi,DWORD [48+esp] + movq [esi],mm0 + movq [8+esi],mm4 + emms + mov esp,DWORD [28+esp] + popfd + pop edi + pop esi + pop ebx + pop ebp + ret + pushfd +align 16 +L$031slow_enc_x86: + mov eax,DWORD [edi] + mov ebx,DWORD [4+edi] +align 4 +L$033slow_enc_loop_x86: + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] + xor eax,DWORD [esi] + xor ebx,DWORD [4+esi] + xor ecx,DWORD [8+esi] + xor edx,DWORD [12+esi] + mov edi,DWORD [44+esp] + call __x86_AES_encrypt_compact + mov esi,DWORD [32+esp] + mov edi,DWORD [36+esp] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov ecx,DWORD [40+esp] + lea esi,[16+esi] + mov DWORD [32+esp],esi + lea edx,[16+edi] + mov DWORD [36+esp],edx + sub ecx,16 + cmp ecx,16 + mov DWORD [40+esp],ecx + jae NEAR L$033slow_enc_loop_x86 + test ecx,15 + jnz NEAR L$030slow_enc_tail + mov esi,DWORD [48+esp] + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + mov esp,DWORD [28+esp] + popfd + pop edi + pop esi + pop ebx + pop ebp + ret + pushfd +align 16 +L$030slow_enc_tail: + emms + mov edi,edx + mov ebx,16 + sub ebx,ecx + cmp edi,esi + je NEAR L$034enc_in_place +align 4 +dd 2767451785 + jmp NEAR L$035enc_skip_in_place +L$034enc_in_place: + lea edi,[ecx*1+edi] +L$035enc_skip_in_place: + mov ecx,ebx + xor eax,eax +align 4 +dd 2868115081 + mov edi,DWORD [48+esp] + mov esi,edx + mov eax,DWORD [edi] + mov ebx,DWORD [4+edi] + mov DWORD [40+esp],16 + jmp NEAR L$033slow_enc_loop_x86 +align 16 +L$029slow_decrypt: + bt DWORD [52+esp],25 + jnc NEAR L$036slow_dec_loop_x86 +align 4 +L$037slow_dec_loop_sse: + movq mm0,[esi] + movq mm4,[8+esi] + mov edi,DWORD [44+esp] + call __sse_AES_decrypt_compact + mov esi,DWORD [32+esp] + lea eax,[60+esp] + mov ebx,DWORD [36+esp] + mov ecx,DWORD [40+esp] + mov edi,DWORD [48+esp] + movq mm1,[esi] + movq mm5,[8+esi] + pxor mm0,[edi] + pxor mm4,[8+edi] + movq [edi],mm1 + movq [8+edi],mm5 + sub ecx,16 + jc NEAR L$038slow_dec_partial_sse + movq [ebx],mm0 + movq [8+ebx],mm4 + lea ebx,[16+ebx] + mov DWORD [36+esp],ebx + lea esi,[16+esi] + mov DWORD [32+esp],esi + mov DWORD [40+esp],ecx + jnz NEAR L$037slow_dec_loop_sse + emms + mov esp,DWORD [28+esp] + popfd + pop edi + pop esi + pop ebx + pop ebp + ret + pushfd +align 16 +L$038slow_dec_partial_sse: + movq [eax],mm0 + movq [8+eax],mm4 + emms + add ecx,16 + mov edi,ebx + mov esi,eax +align 4 +dd 2767451785 + mov esp,DWORD [28+esp] + popfd + pop edi + pop esi + pop ebx + pop ebp + ret + pushfd +align 16 +L$036slow_dec_loop_x86: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + lea edi,[60+esp] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov edi,DWORD [44+esp] + call __x86_AES_decrypt_compact + mov edi,DWORD [48+esp] + mov esi,DWORD [40+esp] + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + sub esi,16 + jc NEAR L$039slow_dec_partial_x86 + mov DWORD [40+esp],esi + mov esi,DWORD [36+esp] + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + lea esi,[16+esi] + mov DWORD [36+esp],esi + lea esi,[60+esp] + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov esi,DWORD [32+esp] + lea esi,[16+esi] + mov DWORD [32+esp],esi + jnz NEAR L$036slow_dec_loop_x86 + mov esp,DWORD [28+esp] + popfd + pop edi + pop esi + pop ebx + pop ebp + ret + pushfd +align 16 +L$039slow_dec_partial_x86: + lea esi,[60+esp] + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + mov esi,DWORD [32+esp] + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov ecx,DWORD [40+esp] + mov edi,DWORD [36+esp] + lea esi,[60+esp] +align 4 +dd 2767451785 + mov esp,DWORD [28+esp] + popfd + pop edi + pop esi + pop ebx + pop ebp + ret +align 16 +__x86_AES_set_encrypt_key: + push ebp + push ebx + push esi + push edi + mov esi,DWORD [24+esp] + mov edi,DWORD [32+esp] + test esi,-1 + jz NEAR L$040badpointer + test edi,-1 + jz NEAR L$040badpointer + call L$041pic_point +L$041pic_point: + pop ebp + lea ebp,[(L$AES_Te-L$041pic_point)+ebp] + lea ebp,[2176+ebp] + mov eax,DWORD [ebp-128] + mov ebx,DWORD [ebp-96] + mov ecx,DWORD [ebp-64] + mov edx,DWORD [ebp-32] + mov eax,DWORD [ebp] + mov ebx,DWORD [32+ebp] + mov ecx,DWORD [64+ebp] + mov edx,DWORD [96+ebp] + mov ecx,DWORD [28+esp] + cmp ecx,128 + je NEAR L$04210rounds + cmp ecx,192 + je NEAR L$04312rounds + cmp ecx,256 + je NEAR L$04414rounds + mov eax,-2 + jmp NEAR L$045exit +L$04210rounds: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + xor ecx,ecx + jmp NEAR L$04610shortcut +align 4 +L$04710loop: + mov eax,DWORD [edi] + mov edx,DWORD [12+edi] +L$04610shortcut: + movzx esi,dl + movzx ebx,BYTE [esi*1+ebp-128] + movzx esi,dh + shl ebx,24 + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + shr edx,16 + movzx esi,dl + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + movzx esi,dh + shl ebx,8 + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + shl ebx,16 + xor eax,ebx + xor eax,DWORD [896+ecx*4+ebp] + mov DWORD [16+edi],eax + xor eax,DWORD [4+edi] + mov DWORD [20+edi],eax + xor eax,DWORD [8+edi] + mov DWORD [24+edi],eax + xor eax,DWORD [12+edi] + mov DWORD [28+edi],eax + inc ecx + add edi,16 + cmp ecx,10 + jl NEAR L$04710loop + mov DWORD [80+edi],10 + xor eax,eax + jmp NEAR L$045exit +L$04312rounds: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov ecx,DWORD [16+esi] + mov edx,DWORD [20+esi] + mov DWORD [16+edi],ecx + mov DWORD [20+edi],edx + xor ecx,ecx + jmp NEAR L$04812shortcut +align 4 +L$04912loop: + mov eax,DWORD [edi] + mov edx,DWORD [20+edi] +L$04812shortcut: + movzx esi,dl + movzx ebx,BYTE [esi*1+ebp-128] + movzx esi,dh + shl ebx,24 + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + shr edx,16 + movzx esi,dl + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + movzx esi,dh + shl ebx,8 + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + shl ebx,16 + xor eax,ebx + xor eax,DWORD [896+ecx*4+ebp] + mov DWORD [24+edi],eax + xor eax,DWORD [4+edi] + mov DWORD [28+edi],eax + xor eax,DWORD [8+edi] + mov DWORD [32+edi],eax + xor eax,DWORD [12+edi] + mov DWORD [36+edi],eax + cmp ecx,7 + je NEAR L$05012break + inc ecx + xor eax,DWORD [16+edi] + mov DWORD [40+edi],eax + xor eax,DWORD [20+edi] + mov DWORD [44+edi],eax + add edi,24 + jmp NEAR L$04912loop +L$05012break: + mov DWORD [72+edi],12 + xor eax,eax + jmp NEAR L$045exit +L$04414rounds: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov eax,DWORD [16+esi] + mov ebx,DWORD [20+esi] + mov ecx,DWORD [24+esi] + mov edx,DWORD [28+esi] + mov DWORD [16+edi],eax + mov DWORD [20+edi],ebx + mov DWORD [24+edi],ecx + mov DWORD [28+edi],edx + xor ecx,ecx + jmp NEAR L$05114shortcut +align 4 +L$05214loop: + mov edx,DWORD [28+edi] +L$05114shortcut: + mov eax,DWORD [edi] + movzx esi,dl + movzx ebx,BYTE [esi*1+ebp-128] + movzx esi,dh + shl ebx,24 + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + shr edx,16 + movzx esi,dl + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + movzx esi,dh + shl ebx,8 + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + shl ebx,16 + xor eax,ebx + xor eax,DWORD [896+ecx*4+ebp] + mov DWORD [32+edi],eax + xor eax,DWORD [4+edi] + mov DWORD [36+edi],eax + xor eax,DWORD [8+edi] + mov DWORD [40+edi],eax + xor eax,DWORD [12+edi] + mov DWORD [44+edi],eax + cmp ecx,6 + je NEAR L$05314break + inc ecx + mov edx,eax + mov eax,DWORD [16+edi] + movzx esi,dl + movzx ebx,BYTE [esi*1+ebp-128] + movzx esi,dh + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + shr edx,16 + shl ebx,8 + movzx esi,dl + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + movzx esi,dh + shl ebx,16 + xor eax,ebx + movzx ebx,BYTE [esi*1+ebp-128] + shl ebx,24 + xor eax,ebx + mov DWORD [48+edi],eax + xor eax,DWORD [20+edi] + mov DWORD [52+edi],eax + xor eax,DWORD [24+edi] + mov DWORD [56+edi],eax + xor eax,DWORD [28+edi] + mov DWORD [60+edi],eax + add edi,32 + jmp NEAR L$05214loop +L$05314break: + mov DWORD [48+edi],14 + xor eax,eax + jmp NEAR L$045exit +L$040badpointer: + mov eax,-1 +L$045exit: + pop edi + pop esi + pop ebx + pop ebp + ret +global _private_AES_set_encrypt_key +align 16 +_private_AES_set_encrypt_key: +L$_private_AES_set_encrypt_key_begin: + call __x86_AES_set_encrypt_key + ret +global _private_AES_set_decrypt_key +align 16 +_private_AES_set_decrypt_key: +L$_private_AES_set_decrypt_key_begin: + call __x86_AES_set_encrypt_key + cmp eax,0 + je NEAR L$054proceed + ret +L$054proceed: + push ebp + push ebx + push esi + push edi + mov esi,DWORD [28+esp] + mov ecx,DWORD [240+esi] + lea ecx,[ecx*4] + lea edi,[ecx*4+esi] +align 4 +L$055invert: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [edi] + mov edx,DWORD [4+edi] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [esi],ecx + mov DWORD [4+esi],edx + mov eax,DWORD [8+esi] + mov ebx,DWORD [12+esi] + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] + mov DWORD [8+edi],eax + mov DWORD [12+edi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + add esi,16 + sub edi,16 + cmp esi,edi + jne NEAR L$055invert + mov edi,DWORD [28+esp] + mov esi,DWORD [240+edi] + lea esi,[esi*1+esi-2] + lea esi,[esi*8+edi] + mov DWORD [28+esp],esi + mov eax,DWORD [16+edi] +align 4 +L$056permute: + add edi,16 + mov ebp,2155905152 + and ebp,eax + lea ebx,[eax*1+eax] + mov esi,ebp + shr ebp,7 + sub esi,ebp + and ebx,4278124286 + and esi,454761243 + xor ebx,esi + mov ebp,2155905152 + and ebp,ebx + lea ecx,[ebx*1+ebx] + mov esi,ebp + shr ebp,7 + sub esi,ebp + and ecx,4278124286 + and esi,454761243 + xor ebx,eax + xor ecx,esi + mov ebp,2155905152 + and ebp,ecx + lea edx,[ecx*1+ecx] + mov esi,ebp + shr ebp,7 + xor ecx,eax + sub esi,ebp + and edx,4278124286 + and esi,454761243 + rol eax,8 + xor edx,esi + mov ebp,DWORD [4+edi] + xor eax,ebx + xor ebx,edx + xor eax,ecx + rol ebx,24 + xor ecx,edx + xor eax,edx + rol ecx,16 + xor eax,ebx + rol edx,8 + xor eax,ecx + mov ebx,ebp + xor eax,edx + mov DWORD [edi],eax + mov ebp,2155905152 + and ebp,ebx + lea ecx,[ebx*1+ebx] + mov esi,ebp + shr ebp,7 + sub esi,ebp + and ecx,4278124286 + and esi,454761243 + xor ecx,esi + mov ebp,2155905152 + and ebp,ecx + lea edx,[ecx*1+ecx] + mov esi,ebp + shr ebp,7 + sub esi,ebp + and edx,4278124286 + and esi,454761243 + xor ecx,ebx + xor edx,esi + mov ebp,2155905152 + and ebp,edx + lea eax,[edx*1+edx] + mov esi,ebp + shr ebp,7 + xor edx,ebx + sub esi,ebp + and eax,4278124286 + and esi,454761243 + rol ebx,8 + xor eax,esi + mov ebp,DWORD [8+edi] + xor ebx,ecx + xor ecx,eax + xor ebx,edx + rol ecx,24 + xor edx,eax + xor ebx,eax + rol edx,16 + xor ebx,ecx + rol eax,8 + xor ebx,edx + mov ecx,ebp + xor ebx,eax + mov DWORD [4+edi],ebx + mov ebp,2155905152 + and ebp,ecx + lea edx,[ecx*1+ecx] + mov esi,ebp + shr ebp,7 + sub esi,ebp + and edx,4278124286 + and esi,454761243 + xor edx,esi + mov ebp,2155905152 + and ebp,edx + lea eax,[edx*1+edx] + mov esi,ebp + shr ebp,7 + sub esi,ebp + and eax,4278124286 + and esi,454761243 + xor edx,ecx + xor eax,esi + mov ebp,2155905152 + and ebp,eax + lea ebx,[eax*1+eax] + mov esi,ebp + shr ebp,7 + xor eax,ecx + sub esi,ebp + and ebx,4278124286 + and esi,454761243 + rol ecx,8 + xor ebx,esi + mov ebp,DWORD [12+edi] + xor ecx,edx + xor edx,ebx + xor ecx,eax + rol edx,24 + xor eax,ebx + xor ecx,ebx + rol eax,16 + xor ecx,edx + rol ebx,8 + xor ecx,eax + mov edx,ebp + xor ecx,ebx + mov DWORD [8+edi],ecx + mov ebp,2155905152 + and ebp,edx + lea eax,[edx*1+edx] + mov esi,ebp + shr ebp,7 + sub esi,ebp + and eax,4278124286 + and esi,454761243 + xor eax,esi + mov ebp,2155905152 + and ebp,eax + lea ebx,[eax*1+eax] + mov esi,ebp + shr ebp,7 + sub esi,ebp + and ebx,4278124286 + and esi,454761243 + xor eax,edx + xor ebx,esi + mov ebp,2155905152 + and ebp,ebx + lea ecx,[ebx*1+ebx] + mov esi,ebp + shr ebp,7 + xor ebx,edx + sub esi,ebp + and ecx,4278124286 + and esi,454761243 + rol edx,8 + xor ecx,esi + mov ebp,DWORD [16+edi] + xor edx,eax + xor eax,ecx + xor edx,ebx + rol eax,24 + xor ebx,ecx + xor edx,ecx + rol ebx,16 + xor edx,eax + rol ecx,8 + xor edx,ebx + mov eax,ebp + xor edx,ecx + mov DWORD [12+edi],edx + cmp edi,DWORD [28+esp] + jb NEAR L$056permute + xor eax,eax + pop edi + pop esi + pop ebx + pop ebp + ret +db 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 +db 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 +db 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 +segment .bss +common _OPENSSL_ia32cap_P 16 diff --git a/tmp32/aesni-x86.asm b/tmp32/aesni-x86.asm index 36444094..f48900e6 100644 --- a/tmp32/aesni-x86.asm +++ b/tmp32/aesni-x86.asm @@ -1,2416 +1,2416 @@ -%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_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$074cbc_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$075cbc_decrypt - movaps xmm2,xmm7 - cmp eax,16 - jb NEAR L$076cbc_enc_tail - sub eax,16 - jmp NEAR L$077cbc_enc_loop -align 16 -L$077cbc_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$078enc1_loop_15: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$078enc1_loop_15 -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$077cbc_enc_loop - add eax,16 - jnz NEAR L$076cbc_enc_tail - movaps xmm7,xmm2 - pxor xmm2,xmm2 - jmp NEAR L$079cbc_ret -L$076cbc_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$077cbc_enc_loop -align 16 -L$075cbc_decrypt: - cmp eax,80 - jbe NEAR L$080cbc_dec_tail - movaps [esp],xmm7 - sub eax,80 - jmp NEAR L$081cbc_dec_loop6_enter -align 16 -L$082cbc_dec_loop6: - movaps [esp],xmm0 - movups [edi],xmm7 - lea edi,[16+edi] -L$081cbc_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$082cbc_dec_loop6 - movaps xmm2,xmm7 - movaps xmm7,xmm0 - add eax,80 - jle NEAR L$083cbc_dec_clear_tail_collected - movups [edi],xmm2 - lea edi,[16+edi] -L$080cbc_dec_tail: - movups xmm2,[esi] - movaps xmm6,xmm2 - cmp eax,16 - jbe NEAR L$084cbc_dec_one - movups xmm3,[16+esi] - movaps xmm5,xmm3 - cmp eax,32 - jbe NEAR L$085cbc_dec_two - movups xmm4,[32+esi] - cmp eax,48 - jbe NEAR L$086cbc_dec_three - movups xmm5,[48+esi] - cmp eax,64 - jbe NEAR L$087cbc_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$088cbc_dec_tail_collected -align 16 -L$084cbc_dec_one: - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$089dec1_loop_16: -db 102,15,56,222,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$089dec1_loop_16 -db 102,15,56,223,209 - xorps xmm2,xmm7 - movaps xmm7,xmm6 - sub eax,16 - jmp NEAR L$088cbc_dec_tail_collected -align 16 -L$085cbc_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$088cbc_dec_tail_collected -align 16 -L$086cbc_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$088cbc_dec_tail_collected -align 16 -L$087cbc_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$088cbc_dec_tail_collected -align 16 -L$083cbc_dec_clear_tail_collected: - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - pxor xmm6,xmm6 -L$088cbc_dec_tail_collected: - and eax,15 - jnz NEAR L$090cbc_dec_tail_partial - movups [edi],xmm2 - pxor xmm0,xmm0 - jmp NEAR L$079cbc_ret -align 16 -L$090cbc_dec_tail_partial: - movaps [esp],xmm2 - pxor xmm0,xmm0 - mov ecx,16 - mov esi,esp - sub ecx,eax -dd 2767451785 - movdqa [esp],xmm2 -L$079cbc_ret: - mov esp,DWORD [16+esp] - mov ebp,DWORD [36+esp] - pxor xmm2,xmm2 - pxor xmm1,xmm1 - movups [ebp],xmm7 - pxor xmm7,xmm7 -L$074cbc_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$091bad_pointer - test edx,edx - jz NEAR L$091bad_pointer - call L$092pic -L$092pic: - pop ebx - lea ebx,[(L$key_const-L$092pic)+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$09314rounds - cmp ecx,192 - je NEAR L$09412rounds - cmp ecx,128 - jne NEAR L$095bad_keybits -align 16 -L$09610rounds: - cmp ebp,268435456 - je NEAR L$09710rounds_alt - mov ecx,9 - movups [edx-16],xmm0 -db 102,15,58,223,200,1 - call L$098key_128_cold -db 102,15,58,223,200,2 - call L$099key_128 -db 102,15,58,223,200,4 - call L$099key_128 -db 102,15,58,223,200,8 - call L$099key_128 -db 102,15,58,223,200,16 - call L$099key_128 -db 102,15,58,223,200,32 - call L$099key_128 -db 102,15,58,223,200,64 - call L$099key_128 -db 102,15,58,223,200,128 - call L$099key_128 -db 102,15,58,223,200,27 - call L$099key_128 -db 102,15,58,223,200,54 - call L$099key_128 - movups [edx],xmm0 - mov DWORD [80+edx],ecx - jmp NEAR L$100good_key -align 16 -L$099key_128: - movups [edx],xmm0 - lea edx,[16+edx] -L$098key_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$09710rounds_alt: - movdqa xmm5,[ebx] - mov ecx,8 - movdqa xmm4,[32+ebx] - movdqa xmm2,xmm0 - movdqu [edx-16],xmm0 -L$101loop_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$101loop_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$100good_key -align 16 -L$09412rounds: - movq xmm2,[16+eax] - cmp ebp,268435456 - je NEAR L$10212rounds_alt - mov ecx,11 - movups [edx-16],xmm0 -db 102,15,58,223,202,1 - call L$103key_192a_cold -db 102,15,58,223,202,2 - call L$104key_192b -db 102,15,58,223,202,4 - call L$105key_192a -db 102,15,58,223,202,8 - call L$104key_192b -db 102,15,58,223,202,16 - call L$105key_192a -db 102,15,58,223,202,32 - call L$104key_192b -db 102,15,58,223,202,64 - call L$105key_192a -db 102,15,58,223,202,128 - call L$104key_192b - movups [edx],xmm0 - mov DWORD [48+edx],ecx - jmp NEAR L$100good_key -align 16 -L$105key_192a: - movups [edx],xmm0 - lea edx,[16+edx] -align 16 -L$103key_192a_cold: - movaps xmm5,xmm2 -L$106key_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$104key_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$106key_192b_warm -align 16 -L$10212rounds_alt: - movdqa xmm5,[16+ebx] - movdqa xmm4,[32+ebx] - mov ecx,8 - movdqu [edx-16],xmm0 -L$107loop_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$107loop_key192 - mov ecx,11 - mov DWORD [32+edx],ecx - jmp NEAR L$100good_key -align 16 -L$09314rounds: - movups xmm2,[16+eax] - lea edx,[16+edx] - cmp ebp,268435456 - je NEAR L$10814rounds_alt - mov ecx,13 - movups [edx-32],xmm0 - movups [edx-16],xmm2 -db 102,15,58,223,202,1 - call L$109key_256a_cold -db 102,15,58,223,200,1 - call L$110key_256b -db 102,15,58,223,202,2 - call L$111key_256a -db 102,15,58,223,200,2 - call L$110key_256b -db 102,15,58,223,202,4 - call L$111key_256a -db 102,15,58,223,200,4 - call L$110key_256b -db 102,15,58,223,202,8 - call L$111key_256a -db 102,15,58,223,200,8 - call L$110key_256b -db 102,15,58,223,202,16 - call L$111key_256a -db 102,15,58,223,200,16 - call L$110key_256b -db 102,15,58,223,202,32 - call L$111key_256a -db 102,15,58,223,200,32 - call L$110key_256b -db 102,15,58,223,202,64 - call L$111key_256a - movups [edx],xmm0 - mov DWORD [16+edx],ecx - xor eax,eax - jmp NEAR L$100good_key -align 16 -L$111key_256a: - movups [edx],xmm2 - lea edx,[16+edx] -L$109key_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$110key_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$10814rounds_alt: - movdqa xmm5,[ebx] - movdqa xmm4,[32+ebx] - mov ecx,7 - movdqu [edx-32],xmm0 - movdqa xmm1,xmm2 - movdqu [edx-16],xmm2 -L$112loop_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$113done_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$112loop_key256 -L$113done_key256: - mov ecx,13 - mov DWORD [16+edx],ecx -L$100good_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$091bad_pointer: - mov eax,-1 - pop ebx - pop ebp - ret -align 4 -L$095bad_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$114dec_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$115dec_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$115dec_key_inverse - movups xmm0,[edx] -db 102,15,56,219,192 - movups [edx],xmm0 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - xor eax,eax -L$114dec_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 +%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_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$074cbc_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$075cbc_decrypt + movaps xmm2,xmm7 + cmp eax,16 + jb NEAR L$076cbc_enc_tail + sub eax,16 + jmp NEAR L$077cbc_enc_loop +align 16 +L$077cbc_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$078enc1_loop_15: +db 102,15,56,220,209 + dec ecx + movups xmm1,[edx] + lea edx,[16+edx] + jnz NEAR L$078enc1_loop_15 +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$077cbc_enc_loop + add eax,16 + jnz NEAR L$076cbc_enc_tail + movaps xmm7,xmm2 + pxor xmm2,xmm2 + jmp NEAR L$079cbc_ret +L$076cbc_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$077cbc_enc_loop +align 16 +L$075cbc_decrypt: + cmp eax,80 + jbe NEAR L$080cbc_dec_tail + movaps [esp],xmm7 + sub eax,80 + jmp NEAR L$081cbc_dec_loop6_enter +align 16 +L$082cbc_dec_loop6: + movaps [esp],xmm0 + movups [edi],xmm7 + lea edi,[16+edi] +L$081cbc_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$082cbc_dec_loop6 + movaps xmm2,xmm7 + movaps xmm7,xmm0 + add eax,80 + jle NEAR L$083cbc_dec_clear_tail_collected + movups [edi],xmm2 + lea edi,[16+edi] +L$080cbc_dec_tail: + movups xmm2,[esi] + movaps xmm6,xmm2 + cmp eax,16 + jbe NEAR L$084cbc_dec_one + movups xmm3,[16+esi] + movaps xmm5,xmm3 + cmp eax,32 + jbe NEAR L$085cbc_dec_two + movups xmm4,[32+esi] + cmp eax,48 + jbe NEAR L$086cbc_dec_three + movups xmm5,[48+esi] + cmp eax,64 + jbe NEAR L$087cbc_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$088cbc_dec_tail_collected +align 16 +L$084cbc_dec_one: + movups xmm0,[edx] + movups xmm1,[16+edx] + lea edx,[32+edx] + xorps xmm2,xmm0 +L$089dec1_loop_16: +db 102,15,56,222,209 + dec ecx + movups xmm1,[edx] + lea edx,[16+edx] + jnz NEAR L$089dec1_loop_16 +db 102,15,56,223,209 + xorps xmm2,xmm7 + movaps xmm7,xmm6 + sub eax,16 + jmp NEAR L$088cbc_dec_tail_collected +align 16 +L$085cbc_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$088cbc_dec_tail_collected +align 16 +L$086cbc_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$088cbc_dec_tail_collected +align 16 +L$087cbc_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$088cbc_dec_tail_collected +align 16 +L$083cbc_dec_clear_tail_collected: + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + pxor xmm6,xmm6 +L$088cbc_dec_tail_collected: + and eax,15 + jnz NEAR L$090cbc_dec_tail_partial + movups [edi],xmm2 + pxor xmm0,xmm0 + jmp NEAR L$079cbc_ret +align 16 +L$090cbc_dec_tail_partial: + movaps [esp],xmm2 + pxor xmm0,xmm0 + mov ecx,16 + mov esi,esp + sub ecx,eax +dd 2767451785 + movdqa [esp],xmm2 +L$079cbc_ret: + mov esp,DWORD [16+esp] + mov ebp,DWORD [36+esp] + pxor xmm2,xmm2 + pxor xmm1,xmm1 + movups [ebp],xmm7 + pxor xmm7,xmm7 +L$074cbc_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$091bad_pointer + test edx,edx + jz NEAR L$091bad_pointer + call L$092pic +L$092pic: + pop ebx + lea ebx,[(L$key_const-L$092pic)+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$09314rounds + cmp ecx,192 + je NEAR L$09412rounds + cmp ecx,128 + jne NEAR L$095bad_keybits +align 16 +L$09610rounds: + cmp ebp,268435456 + je NEAR L$09710rounds_alt + mov ecx,9 + movups [edx-16],xmm0 +db 102,15,58,223,200,1 + call L$098key_128_cold +db 102,15,58,223,200,2 + call L$099key_128 +db 102,15,58,223,200,4 + call L$099key_128 +db 102,15,58,223,200,8 + call L$099key_128 +db 102,15,58,223,200,16 + call L$099key_128 +db 102,15,58,223,200,32 + call L$099key_128 +db 102,15,58,223,200,64 + call L$099key_128 +db 102,15,58,223,200,128 + call L$099key_128 +db 102,15,58,223,200,27 + call L$099key_128 +db 102,15,58,223,200,54 + call L$099key_128 + movups [edx],xmm0 + mov DWORD [80+edx],ecx + jmp NEAR L$100good_key +align 16 +L$099key_128: + movups [edx],xmm0 + lea edx,[16+edx] +L$098key_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$09710rounds_alt: + movdqa xmm5,[ebx] + mov ecx,8 + movdqa xmm4,[32+ebx] + movdqa xmm2,xmm0 + movdqu [edx-16],xmm0 +L$101loop_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$101loop_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$100good_key +align 16 +L$09412rounds: + movq xmm2,[16+eax] + cmp ebp,268435456 + je NEAR L$10212rounds_alt + mov ecx,11 + movups [edx-16],xmm0 +db 102,15,58,223,202,1 + call L$103key_192a_cold +db 102,15,58,223,202,2 + call L$104key_192b +db 102,15,58,223,202,4 + call L$105key_192a +db 102,15,58,223,202,8 + call L$104key_192b +db 102,15,58,223,202,16 + call L$105key_192a +db 102,15,58,223,202,32 + call L$104key_192b +db 102,15,58,223,202,64 + call L$105key_192a +db 102,15,58,223,202,128 + call L$104key_192b + movups [edx],xmm0 + mov DWORD [48+edx],ecx + jmp NEAR L$100good_key +align 16 +L$105key_192a: + movups [edx],xmm0 + lea edx,[16+edx] +align 16 +L$103key_192a_cold: + movaps xmm5,xmm2 +L$106key_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$104key_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$106key_192b_warm +align 16 +L$10212rounds_alt: + movdqa xmm5,[16+ebx] + movdqa xmm4,[32+ebx] + mov ecx,8 + movdqu [edx-16],xmm0 +L$107loop_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$107loop_key192 + mov ecx,11 + mov DWORD [32+edx],ecx + jmp NEAR L$100good_key +align 16 +L$09314rounds: + movups xmm2,[16+eax] + lea edx,[16+edx] + cmp ebp,268435456 + je NEAR L$10814rounds_alt + mov ecx,13 + movups [edx-32],xmm0 + movups [edx-16],xmm2 +db 102,15,58,223,202,1 + call L$109key_256a_cold +db 102,15,58,223,200,1 + call L$110key_256b +db 102,15,58,223,202,2 + call L$111key_256a +db 102,15,58,223,200,2 + call L$110key_256b +db 102,15,58,223,202,4 + call L$111key_256a +db 102,15,58,223,200,4 + call L$110key_256b +db 102,15,58,223,202,8 + call L$111key_256a +db 102,15,58,223,200,8 + call L$110key_256b +db 102,15,58,223,202,16 + call L$111key_256a +db 102,15,58,223,200,16 + call L$110key_256b +db 102,15,58,223,202,32 + call L$111key_256a +db 102,15,58,223,200,32 + call L$110key_256b +db 102,15,58,223,202,64 + call L$111key_256a + movups [edx],xmm0 + mov DWORD [16+edx],ecx + xor eax,eax + jmp NEAR L$100good_key +align 16 +L$111key_256a: + movups [edx],xmm2 + lea edx,[16+edx] +L$109key_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$110key_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$10814rounds_alt: + movdqa xmm5,[ebx] + movdqa xmm4,[32+ebx] + mov ecx,7 + movdqu [edx-32],xmm0 + movdqa xmm1,xmm2 + movdqu [edx-16],xmm2 +L$112loop_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$113done_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$112loop_key256 +L$113done_key256: + mov ecx,13 + mov DWORD [16+edx],ecx +L$100good_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$091bad_pointer: + mov eax,-1 + pop ebx + pop ebp + ret +align 4 +L$095bad_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$114dec_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$115dec_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$115dec_key_inverse + movups xmm0,[edx] +db 102,15,56,219,192 + movups [edx],xmm0 + pxor xmm0,xmm0 + pxor xmm1,xmm1 + xor eax,eax +L$114dec_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/tmp32/bf-586.asm b/tmp32/bf-586.asm index 78d5e737..45d42cd5 100644 --- a/tmp32/bf-586.asm +++ b/tmp32/bf-586.asm @@ -1,896 +1,896 @@ -%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 _BF_encrypt -align 16 -_BF_encrypt: -L$_BF_encrypt_begin: - ; - push ebp - push ebx - mov ebx,DWORD [12+esp] - mov ebp,DWORD [16+esp] - push esi - push edi - ; Load the 2 words - mov edi,DWORD [ebx] - mov esi,DWORD [4+ebx] - xor eax,eax - mov ebx,DWORD [ebp] - xor ecx,ecx - xor edi,ebx - ; - ; Round 0 - mov edx,DWORD [4+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 1 - mov edx,DWORD [8+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 2 - mov edx,DWORD [12+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 3 - mov edx,DWORD [16+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 4 - mov edx,DWORD [20+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 5 - mov edx,DWORD [24+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 6 - mov edx,DWORD [28+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 7 - mov edx,DWORD [32+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 8 - mov edx,DWORD [36+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 9 - mov edx,DWORD [40+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 10 - mov edx,DWORD [44+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 11 - mov edx,DWORD [48+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 12 - mov edx,DWORD [52+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 13 - mov edx,DWORD [56+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 14 - mov edx,DWORD [60+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 15 - mov edx,DWORD [64+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - ; Load parameter 0 (16) enc=1 - mov eax,DWORD [20+esp] - xor edi,ebx - mov edx,DWORD [68+ebp] - xor esi,edx - mov DWORD [4+eax],edi - mov DWORD [eax],esi - pop edi - pop esi - pop ebx - pop ebp - ret -global _BF_decrypt -align 16 -_BF_decrypt: -L$_BF_decrypt_begin: - ; - push ebp - push ebx - mov ebx,DWORD [12+esp] - mov ebp,DWORD [16+esp] - push esi - push edi - ; Load the 2 words - mov edi,DWORD [ebx] - mov esi,DWORD [4+ebx] - xor eax,eax - mov ebx,DWORD [68+ebp] - xor ecx,ecx - xor edi,ebx - ; - ; Round 16 - mov edx,DWORD [64+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 15 - mov edx,DWORD [60+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 14 - mov edx,DWORD [56+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 13 - mov edx,DWORD [52+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 12 - mov edx,DWORD [48+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 11 - mov edx,DWORD [44+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 10 - mov edx,DWORD [40+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 9 - mov edx,DWORD [36+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 8 - mov edx,DWORD [32+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 7 - mov edx,DWORD [28+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 6 - mov edx,DWORD [24+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 5 - mov edx,DWORD [20+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 4 - mov edx,DWORD [16+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 3 - mov edx,DWORD [12+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor edi,ebx - ; - ; Round 2 - mov edx,DWORD [8+ebp] - mov ebx,edi - xor esi,edx - shr ebx,16 - mov edx,edi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - xor eax,eax - xor esi,ebx - ; - ; Round 1 - mov edx,DWORD [4+ebp] - mov ebx,esi - xor edi,edx - shr ebx,16 - mov edx,esi - mov al,bh - and ebx,255 - mov cl,dh - and edx,255 - mov eax,DWORD [72+eax*4+ebp] - mov ebx,DWORD [1096+ebx*4+ebp] - add ebx,eax - mov eax,DWORD [2120+ecx*4+ebp] - xor ebx,eax - mov edx,DWORD [3144+edx*4+ebp] - add ebx,edx - ; Load parameter 0 (1) enc=0 - mov eax,DWORD [20+esp] - xor edi,ebx - mov edx,DWORD [ebp] - xor esi,edx - mov DWORD [4+eax],edi - mov DWORD [eax],esi - pop edi - pop esi - pop ebx - pop ebp - ret -global _BF_cbc_encrypt -align 16 -_BF_cbc_encrypt: -L$_BF_cbc_encrypt_begin: - ; - push ebp - push ebx - push esi - push edi - mov ebp,DWORD [28+esp] - ; getting iv ptr from parameter 4 - mov ebx,DWORD [36+esp] - mov esi,DWORD [ebx] - mov edi,DWORD [4+ebx] - push edi - push esi - push edi - push esi - mov ebx,esp - mov esi,DWORD [36+esp] - mov edi,DWORD [40+esp] - ; getting encrypt flag from parameter 5 - mov ecx,DWORD [56+esp] - ; get and push parameter 3 - mov eax,DWORD [48+esp] - push eax - push ebx - cmp ecx,0 - jz NEAR L$000decrypt - and ebp,4294967288 - mov eax,DWORD [8+esp] - mov ebx,DWORD [12+esp] - jz NEAR L$001encrypt_finish -L$002encrypt_loop: - mov ecx,DWORD [esi] - mov edx,DWORD [4+esi] - xor eax,ecx - xor ebx,edx - bswap eax - bswap ebx - mov DWORD [8+esp],eax - mov DWORD [12+esp],ebx - call L$_BF_encrypt_begin - mov eax,DWORD [8+esp] - mov ebx,DWORD [12+esp] - bswap eax - bswap ebx - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - add esi,8 - add edi,8 - sub ebp,8 - jnz NEAR L$002encrypt_loop -L$001encrypt_finish: - mov ebp,DWORD [52+esp] - and ebp,7 - jz NEAR L$003finish - call L$004PIC_point -L$004PIC_point: - pop edx - lea ecx,[(L$005cbc_enc_jmp_table-L$004PIC_point)+edx] - mov ebp,DWORD [ebp*4+ecx] - add ebp,edx - xor ecx,ecx - xor edx,edx - jmp ebp -L$006ej7: - mov dh,BYTE [6+esi] - shl edx,8 -L$007ej6: - mov dh,BYTE [5+esi] -L$008ej5: - mov dl,BYTE [4+esi] -L$009ej4: - mov ecx,DWORD [esi] - jmp NEAR L$010ejend -L$011ej3: - mov ch,BYTE [2+esi] - shl ecx,8 -L$012ej2: - mov ch,BYTE [1+esi] -L$013ej1: - mov cl,BYTE [esi] -L$010ejend: - xor eax,ecx - xor ebx,edx - bswap eax - bswap ebx - mov DWORD [8+esp],eax - mov DWORD [12+esp],ebx - call L$_BF_encrypt_begin - mov eax,DWORD [8+esp] - mov ebx,DWORD [12+esp] - bswap eax - bswap ebx - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - jmp NEAR L$003finish -L$000decrypt: - and ebp,4294967288 - mov eax,DWORD [16+esp] - mov ebx,DWORD [20+esp] - jz NEAR L$014decrypt_finish -L$015decrypt_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - bswap eax - bswap ebx - mov DWORD [8+esp],eax - mov DWORD [12+esp],ebx - call L$_BF_decrypt_begin - mov eax,DWORD [8+esp] - mov ebx,DWORD [12+esp] - bswap eax - bswap ebx - mov ecx,DWORD [16+esp] - mov edx,DWORD [20+esp] - xor ecx,eax - xor edx,ebx - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov DWORD [edi],ecx - mov DWORD [4+edi],edx - mov DWORD [16+esp],eax - mov DWORD [20+esp],ebx - add esi,8 - add edi,8 - sub ebp,8 - jnz NEAR L$015decrypt_loop -L$014decrypt_finish: - mov ebp,DWORD [52+esp] - and ebp,7 - jz NEAR L$003finish - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - bswap eax - bswap ebx - mov DWORD [8+esp],eax - mov DWORD [12+esp],ebx - call L$_BF_decrypt_begin - mov eax,DWORD [8+esp] - mov ebx,DWORD [12+esp] - bswap eax - bswap ebx - mov ecx,DWORD [16+esp] - mov edx,DWORD [20+esp] - xor ecx,eax - xor edx,ebx - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] -L$016dj7: - ror edx,16 - mov BYTE [6+edi],dl - shr edx,16 -L$017dj6: - mov BYTE [5+edi],dh -L$018dj5: - mov BYTE [4+edi],dl -L$019dj4: - mov DWORD [edi],ecx - jmp NEAR L$020djend -L$021dj3: - ror ecx,16 - mov BYTE [2+edi],cl - shl ecx,16 -L$022dj2: - mov BYTE [1+esi],ch -L$023dj1: - mov BYTE [esi],cl -L$020djend: - jmp NEAR L$003finish -L$003finish: - mov ecx,DWORD [60+esp] - add esp,24 - mov DWORD [ecx],eax - mov DWORD [4+ecx],ebx - pop edi - pop esi - pop ebx - pop ebp - ret -align 64 -L$005cbc_enc_jmp_table: -dd 0 -dd L$013ej1-L$004PIC_point -dd L$012ej2-L$004PIC_point -dd L$011ej3-L$004PIC_point -dd L$009ej4-L$004PIC_point -dd L$008ej5-L$004PIC_point -dd L$007ej6-L$004PIC_point -dd L$006ej7-L$004PIC_point -align 64 +%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 _BF_encrypt +align 16 +_BF_encrypt: +L$_BF_encrypt_begin: + ; + push ebp + push ebx + mov ebx,DWORD [12+esp] + mov ebp,DWORD [16+esp] + push esi + push edi + ; Load the 2 words + mov edi,DWORD [ebx] + mov esi,DWORD [4+ebx] + xor eax,eax + mov ebx,DWORD [ebp] + xor ecx,ecx + xor edi,ebx + ; + ; Round 0 + mov edx,DWORD [4+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 1 + mov edx,DWORD [8+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 2 + mov edx,DWORD [12+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 3 + mov edx,DWORD [16+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 4 + mov edx,DWORD [20+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 5 + mov edx,DWORD [24+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 6 + mov edx,DWORD [28+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 7 + mov edx,DWORD [32+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 8 + mov edx,DWORD [36+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 9 + mov edx,DWORD [40+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 10 + mov edx,DWORD [44+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 11 + mov edx,DWORD [48+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 12 + mov edx,DWORD [52+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 13 + mov edx,DWORD [56+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 14 + mov edx,DWORD [60+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 15 + mov edx,DWORD [64+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + ; Load parameter 0 (16) enc=1 + mov eax,DWORD [20+esp] + xor edi,ebx + mov edx,DWORD [68+ebp] + xor esi,edx + mov DWORD [4+eax],edi + mov DWORD [eax],esi + pop edi + pop esi + pop ebx + pop ebp + ret +global _BF_decrypt +align 16 +_BF_decrypt: +L$_BF_decrypt_begin: + ; + push ebp + push ebx + mov ebx,DWORD [12+esp] + mov ebp,DWORD [16+esp] + push esi + push edi + ; Load the 2 words + mov edi,DWORD [ebx] + mov esi,DWORD [4+ebx] + xor eax,eax + mov ebx,DWORD [68+ebp] + xor ecx,ecx + xor edi,ebx + ; + ; Round 16 + mov edx,DWORD [64+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 15 + mov edx,DWORD [60+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 14 + mov edx,DWORD [56+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 13 + mov edx,DWORD [52+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 12 + mov edx,DWORD [48+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 11 + mov edx,DWORD [44+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 10 + mov edx,DWORD [40+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 9 + mov edx,DWORD [36+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 8 + mov edx,DWORD [32+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 7 + mov edx,DWORD [28+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 6 + mov edx,DWORD [24+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 5 + mov edx,DWORD [20+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 4 + mov edx,DWORD [16+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 3 + mov edx,DWORD [12+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor edi,ebx + ; + ; Round 2 + mov edx,DWORD [8+ebp] + mov ebx,edi + xor esi,edx + shr ebx,16 + mov edx,edi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + xor eax,eax + xor esi,ebx + ; + ; Round 1 + mov edx,DWORD [4+ebp] + mov ebx,esi + xor edi,edx + shr ebx,16 + mov edx,esi + mov al,bh + and ebx,255 + mov cl,dh + and edx,255 + mov eax,DWORD [72+eax*4+ebp] + mov ebx,DWORD [1096+ebx*4+ebp] + add ebx,eax + mov eax,DWORD [2120+ecx*4+ebp] + xor ebx,eax + mov edx,DWORD [3144+edx*4+ebp] + add ebx,edx + ; Load parameter 0 (1) enc=0 + mov eax,DWORD [20+esp] + xor edi,ebx + mov edx,DWORD [ebp] + xor esi,edx + mov DWORD [4+eax],edi + mov DWORD [eax],esi + pop edi + pop esi + pop ebx + pop ebp + ret +global _BF_cbc_encrypt +align 16 +_BF_cbc_encrypt: +L$_BF_cbc_encrypt_begin: + ; + push ebp + push ebx + push esi + push edi + mov ebp,DWORD [28+esp] + ; getting iv ptr from parameter 4 + mov ebx,DWORD [36+esp] + mov esi,DWORD [ebx] + mov edi,DWORD [4+ebx] + push edi + push esi + push edi + push esi + mov ebx,esp + mov esi,DWORD [36+esp] + mov edi,DWORD [40+esp] + ; getting encrypt flag from parameter 5 + mov ecx,DWORD [56+esp] + ; get and push parameter 3 + mov eax,DWORD [48+esp] + push eax + push ebx + cmp ecx,0 + jz NEAR L$000decrypt + and ebp,4294967288 + mov eax,DWORD [8+esp] + mov ebx,DWORD [12+esp] + jz NEAR L$001encrypt_finish +L$002encrypt_loop: + mov ecx,DWORD [esi] + mov edx,DWORD [4+esi] + xor eax,ecx + xor ebx,edx + bswap eax + bswap ebx + mov DWORD [8+esp],eax + mov DWORD [12+esp],ebx + call L$_BF_encrypt_begin + mov eax,DWORD [8+esp] + mov ebx,DWORD [12+esp] + bswap eax + bswap ebx + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + add esi,8 + add edi,8 + sub ebp,8 + jnz NEAR L$002encrypt_loop +L$001encrypt_finish: + mov ebp,DWORD [52+esp] + and ebp,7 + jz NEAR L$003finish + call L$004PIC_point +L$004PIC_point: + pop edx + lea ecx,[(L$005cbc_enc_jmp_table-L$004PIC_point)+edx] + mov ebp,DWORD [ebp*4+ecx] + add ebp,edx + xor ecx,ecx + xor edx,edx + jmp ebp +L$006ej7: + mov dh,BYTE [6+esi] + shl edx,8 +L$007ej6: + mov dh,BYTE [5+esi] +L$008ej5: + mov dl,BYTE [4+esi] +L$009ej4: + mov ecx,DWORD [esi] + jmp NEAR L$010ejend +L$011ej3: + mov ch,BYTE [2+esi] + shl ecx,8 +L$012ej2: + mov ch,BYTE [1+esi] +L$013ej1: + mov cl,BYTE [esi] +L$010ejend: + xor eax,ecx + xor ebx,edx + bswap eax + bswap ebx + mov DWORD [8+esp],eax + mov DWORD [12+esp],ebx + call L$_BF_encrypt_begin + mov eax,DWORD [8+esp] + mov ebx,DWORD [12+esp] + bswap eax + bswap ebx + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + jmp NEAR L$003finish +L$000decrypt: + and ebp,4294967288 + mov eax,DWORD [16+esp] + mov ebx,DWORD [20+esp] + jz NEAR L$014decrypt_finish +L$015decrypt_loop: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + bswap eax + bswap ebx + mov DWORD [8+esp],eax + mov DWORD [12+esp],ebx + call L$_BF_decrypt_begin + mov eax,DWORD [8+esp] + mov ebx,DWORD [12+esp] + bswap eax + bswap ebx + mov ecx,DWORD [16+esp] + mov edx,DWORD [20+esp] + xor ecx,eax + xor edx,ebx + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov DWORD [edi],ecx + mov DWORD [4+edi],edx + mov DWORD [16+esp],eax + mov DWORD [20+esp],ebx + add esi,8 + add edi,8 + sub ebp,8 + jnz NEAR L$015decrypt_loop +L$014decrypt_finish: + mov ebp,DWORD [52+esp] + and ebp,7 + jz NEAR L$003finish + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + bswap eax + bswap ebx + mov DWORD [8+esp],eax + mov DWORD [12+esp],ebx + call L$_BF_decrypt_begin + mov eax,DWORD [8+esp] + mov ebx,DWORD [12+esp] + bswap eax + bswap ebx + mov ecx,DWORD [16+esp] + mov edx,DWORD [20+esp] + xor ecx,eax + xor edx,ebx + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] +L$016dj7: + ror edx,16 + mov BYTE [6+edi],dl + shr edx,16 +L$017dj6: + mov BYTE [5+edi],dh +L$018dj5: + mov BYTE [4+edi],dl +L$019dj4: + mov DWORD [edi],ecx + jmp NEAR L$020djend +L$021dj3: + ror ecx,16 + mov BYTE [2+edi],cl + shl ecx,16 +L$022dj2: + mov BYTE [1+esi],ch +L$023dj1: + mov BYTE [esi],cl +L$020djend: + jmp NEAR L$003finish +L$003finish: + mov ecx,DWORD [60+esp] + add esp,24 + mov DWORD [ecx],eax + mov DWORD [4+ecx],ebx + pop edi + pop esi + pop ebx + pop ebp + ret +align 64 +L$005cbc_enc_jmp_table: +dd 0 +dd L$013ej1-L$004PIC_point +dd L$012ej2-L$004PIC_point +dd L$011ej3-L$004PIC_point +dd L$009ej4-L$004PIC_point +dd L$008ej5-L$004PIC_point +dd L$007ej6-L$004PIC_point +dd L$006ej7-L$004PIC_point +align 64 diff --git a/tmp32/bn-586.asm b/tmp32/bn-586.asm index 82002b35..b6fb0ad5 100644 --- a/tmp32/bn-586.asm +++ b/tmp32/bn-586.asm @@ -1,1515 +1,1515 @@ -%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 _bn_mul_add_words -align 16 -_bn_mul_add_words: -L$_bn_mul_add_words_begin: - lea eax,[_OPENSSL_ia32cap_P] - bt DWORD [eax],26 - jnc NEAR L$000maw_non_sse2 - mov eax,DWORD [4+esp] - mov edx,DWORD [8+esp] - mov ecx,DWORD [12+esp] - movd mm0,DWORD [16+esp] - pxor mm1,mm1 - jmp NEAR L$001maw_sse2_entry -align 16 -L$002maw_sse2_unrolled: - movd mm3,DWORD [eax] - paddq mm1,mm3 - movd mm2,DWORD [edx] - pmuludq mm2,mm0 - movd mm4,DWORD [4+edx] - pmuludq mm4,mm0 - movd mm6,DWORD [8+edx] - pmuludq mm6,mm0 - movd mm7,DWORD [12+edx] - pmuludq mm7,mm0 - paddq mm1,mm2 - movd mm3,DWORD [4+eax] - paddq mm3,mm4 - movd mm5,DWORD [8+eax] - paddq mm5,mm6 - movd mm4,DWORD [12+eax] - paddq mm7,mm4 - movd DWORD [eax],mm1 - movd mm2,DWORD [16+edx] - pmuludq mm2,mm0 - psrlq mm1,32 - movd mm4,DWORD [20+edx] - pmuludq mm4,mm0 - paddq mm1,mm3 - movd mm6,DWORD [24+edx] - pmuludq mm6,mm0 - movd DWORD [4+eax],mm1 - psrlq mm1,32 - movd mm3,DWORD [28+edx] - add edx,32 - pmuludq mm3,mm0 - paddq mm1,mm5 - movd mm5,DWORD [16+eax] - paddq mm2,mm5 - movd DWORD [8+eax],mm1 - psrlq mm1,32 - paddq mm1,mm7 - movd mm5,DWORD [20+eax] - paddq mm4,mm5 - movd DWORD [12+eax],mm1 - psrlq mm1,32 - paddq mm1,mm2 - movd mm5,DWORD [24+eax] - paddq mm6,mm5 - movd DWORD [16+eax],mm1 - psrlq mm1,32 - paddq mm1,mm4 - movd mm5,DWORD [28+eax] - paddq mm3,mm5 - movd DWORD [20+eax],mm1 - psrlq mm1,32 - paddq mm1,mm6 - movd DWORD [24+eax],mm1 - psrlq mm1,32 - paddq mm1,mm3 - movd DWORD [28+eax],mm1 - lea eax,[32+eax] - psrlq mm1,32 - sub ecx,8 - jz NEAR L$003maw_sse2_exit -L$001maw_sse2_entry: - test ecx,4294967288 - jnz NEAR L$002maw_sse2_unrolled -align 4 -L$004maw_sse2_loop: - movd mm2,DWORD [edx] - movd mm3,DWORD [eax] - pmuludq mm2,mm0 - lea edx,[4+edx] - paddq mm1,mm3 - paddq mm1,mm2 - movd DWORD [eax],mm1 - sub ecx,1 - psrlq mm1,32 - lea eax,[4+eax] - jnz NEAR L$004maw_sse2_loop -L$003maw_sse2_exit: - movd eax,mm1 - emms - ret -align 16 -L$000maw_non_sse2: - push ebp - push ebx - push esi - push edi - ; - xor esi,esi - mov edi,DWORD [20+esp] - mov ecx,DWORD [28+esp] - mov ebx,DWORD [24+esp] - and ecx,4294967288 - mov ebp,DWORD [32+esp] - push ecx - jz NEAR L$005maw_finish -align 16 -L$006maw_loop: - ; Round 0 - mov eax,DWORD [ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [edi] - adc edx,0 - mov DWORD [edi],eax - mov esi,edx - ; Round 4 - mov eax,DWORD [4+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [4+edi] - adc edx,0 - mov DWORD [4+edi],eax - mov esi,edx - ; Round 8 - mov eax,DWORD [8+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [8+edi] - adc edx,0 - mov DWORD [8+edi],eax - mov esi,edx - ; Round 12 - mov eax,DWORD [12+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [12+edi] - adc edx,0 - mov DWORD [12+edi],eax - mov esi,edx - ; Round 16 - mov eax,DWORD [16+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [16+edi] - adc edx,0 - mov DWORD [16+edi],eax - mov esi,edx - ; Round 20 - mov eax,DWORD [20+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [20+edi] - adc edx,0 - mov DWORD [20+edi],eax - mov esi,edx - ; Round 24 - mov eax,DWORD [24+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [24+edi] - adc edx,0 - mov DWORD [24+edi],eax - mov esi,edx - ; Round 28 - mov eax,DWORD [28+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [28+edi] - adc edx,0 - mov DWORD [28+edi],eax - mov esi,edx - ; - sub ecx,8 - lea ebx,[32+ebx] - lea edi,[32+edi] - jnz NEAR L$006maw_loop -L$005maw_finish: - mov ecx,DWORD [32+esp] - and ecx,7 - jnz NEAR L$007maw_finish2 - jmp NEAR L$008maw_end -L$007maw_finish2: - ; Tail Round 0 - mov eax,DWORD [ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [edi] - adc edx,0 - dec ecx - mov DWORD [edi],eax - mov esi,edx - jz NEAR L$008maw_end - ; Tail Round 1 - mov eax,DWORD [4+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [4+edi] - adc edx,0 - dec ecx - mov DWORD [4+edi],eax - mov esi,edx - jz NEAR L$008maw_end - ; Tail Round 2 - mov eax,DWORD [8+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [8+edi] - adc edx,0 - dec ecx - mov DWORD [8+edi],eax - mov esi,edx - jz NEAR L$008maw_end - ; Tail Round 3 - mov eax,DWORD [12+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [12+edi] - adc edx,0 - dec ecx - mov DWORD [12+edi],eax - mov esi,edx - jz NEAR L$008maw_end - ; Tail Round 4 - mov eax,DWORD [16+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [16+edi] - adc edx,0 - dec ecx - mov DWORD [16+edi],eax - mov esi,edx - jz NEAR L$008maw_end - ; Tail Round 5 - mov eax,DWORD [20+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [20+edi] - adc edx,0 - dec ecx - mov DWORD [20+edi],eax - mov esi,edx - jz NEAR L$008maw_end - ; Tail Round 6 - mov eax,DWORD [24+ebx] - mul ebp - add eax,esi - adc edx,0 - add eax,DWORD [24+edi] - adc edx,0 - mov DWORD [24+edi],eax - mov esi,edx -L$008maw_end: - mov eax,esi - pop ecx - pop edi - pop esi - pop ebx - pop ebp - ret -global _bn_mul_words -align 16 -_bn_mul_words: -L$_bn_mul_words_begin: - lea eax,[_OPENSSL_ia32cap_P] - bt DWORD [eax],26 - jnc NEAR L$009mw_non_sse2 - mov eax,DWORD [4+esp] - mov edx,DWORD [8+esp] - mov ecx,DWORD [12+esp] - movd mm0,DWORD [16+esp] - pxor mm1,mm1 -align 16 -L$010mw_sse2_loop: - movd mm2,DWORD [edx] - pmuludq mm2,mm0 - lea edx,[4+edx] - paddq mm1,mm2 - movd DWORD [eax],mm1 - sub ecx,1 - psrlq mm1,32 - lea eax,[4+eax] - jnz NEAR L$010mw_sse2_loop - movd eax,mm1 - emms - ret -align 16 -L$009mw_non_sse2: - push ebp - push ebx - push esi - push edi - ; - xor esi,esi - mov edi,DWORD [20+esp] - mov ebx,DWORD [24+esp] - mov ebp,DWORD [28+esp] - mov ecx,DWORD [32+esp] - and ebp,4294967288 - jz NEAR L$011mw_finish -L$012mw_loop: - ; Round 0 - mov eax,DWORD [ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [edi],eax - mov esi,edx - ; Round 4 - mov eax,DWORD [4+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [4+edi],eax - mov esi,edx - ; Round 8 - mov eax,DWORD [8+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [8+edi],eax - mov esi,edx - ; Round 12 - mov eax,DWORD [12+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [12+edi],eax - mov esi,edx - ; Round 16 - mov eax,DWORD [16+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [16+edi],eax - mov esi,edx - ; Round 20 - mov eax,DWORD [20+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [20+edi],eax - mov esi,edx - ; Round 24 - mov eax,DWORD [24+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [24+edi],eax - mov esi,edx - ; Round 28 - mov eax,DWORD [28+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [28+edi],eax - mov esi,edx - ; - add ebx,32 - add edi,32 - sub ebp,8 - jz NEAR L$011mw_finish - jmp NEAR L$012mw_loop -L$011mw_finish: - mov ebp,DWORD [28+esp] - and ebp,7 - jnz NEAR L$013mw_finish2 - jmp NEAR L$014mw_end -L$013mw_finish2: - ; Tail Round 0 - mov eax,DWORD [ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [edi],eax - mov esi,edx - dec ebp - jz NEAR L$014mw_end - ; Tail Round 1 - mov eax,DWORD [4+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [4+edi],eax - mov esi,edx - dec ebp - jz NEAR L$014mw_end - ; Tail Round 2 - mov eax,DWORD [8+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [8+edi],eax - mov esi,edx - dec ebp - jz NEAR L$014mw_end - ; Tail Round 3 - mov eax,DWORD [12+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [12+edi],eax - mov esi,edx - dec ebp - jz NEAR L$014mw_end - ; Tail Round 4 - mov eax,DWORD [16+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [16+edi],eax - mov esi,edx - dec ebp - jz NEAR L$014mw_end - ; Tail Round 5 - mov eax,DWORD [20+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [20+edi],eax - mov esi,edx - dec ebp - jz NEAR L$014mw_end - ; Tail Round 6 - mov eax,DWORD [24+ebx] - mul ecx - add eax,esi - adc edx,0 - mov DWORD [24+edi],eax - mov esi,edx -L$014mw_end: - mov eax,esi - pop edi - pop esi - pop ebx - pop ebp - ret -global _bn_sqr_words -align 16 -_bn_sqr_words: -L$_bn_sqr_words_begin: - lea eax,[_OPENSSL_ia32cap_P] - bt DWORD [eax],26 - jnc NEAR L$015sqr_non_sse2 - mov eax,DWORD [4+esp] - mov edx,DWORD [8+esp] - mov ecx,DWORD [12+esp] -align 16 -L$016sqr_sse2_loop: - movd mm0,DWORD [edx] - pmuludq mm0,mm0 - lea edx,[4+edx] - movq [eax],mm0 - sub ecx,1 - lea eax,[8+eax] - jnz NEAR L$016sqr_sse2_loop - emms - ret -align 16 -L$015sqr_non_sse2: - push ebp - push ebx - push esi - push edi - ; - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov ebx,DWORD [28+esp] - and ebx,4294967288 - jz NEAR L$017sw_finish -L$018sw_loop: - ; Round 0 - mov eax,DWORD [edi] - mul eax - mov DWORD [esi],eax - mov DWORD [4+esi],edx - ; Round 4 - mov eax,DWORD [4+edi] - mul eax - mov DWORD [8+esi],eax - mov DWORD [12+esi],edx - ; Round 8 - mov eax,DWORD [8+edi] - mul eax - mov DWORD [16+esi],eax - mov DWORD [20+esi],edx - ; Round 12 - mov eax,DWORD [12+edi] - mul eax - mov DWORD [24+esi],eax - mov DWORD [28+esi],edx - ; Round 16 - mov eax,DWORD [16+edi] - mul eax - mov DWORD [32+esi],eax - mov DWORD [36+esi],edx - ; Round 20 - mov eax,DWORD [20+edi] - mul eax - mov DWORD [40+esi],eax - mov DWORD [44+esi],edx - ; Round 24 - mov eax,DWORD [24+edi] - mul eax - mov DWORD [48+esi],eax - mov DWORD [52+esi],edx - ; Round 28 - mov eax,DWORD [28+edi] - mul eax - mov DWORD [56+esi],eax - mov DWORD [60+esi],edx - ; - add edi,32 - add esi,64 - sub ebx,8 - jnz NEAR L$018sw_loop -L$017sw_finish: - mov ebx,DWORD [28+esp] - and ebx,7 - jz NEAR L$019sw_end - ; Tail Round 0 - mov eax,DWORD [edi] - mul eax - mov DWORD [esi],eax - dec ebx - mov DWORD [4+esi],edx - jz NEAR L$019sw_end - ; Tail Round 1 - mov eax,DWORD [4+edi] - mul eax - mov DWORD [8+esi],eax - dec ebx - mov DWORD [12+esi],edx - jz NEAR L$019sw_end - ; Tail Round 2 - mov eax,DWORD [8+edi] - mul eax - mov DWORD [16+esi],eax - dec ebx - mov DWORD [20+esi],edx - jz NEAR L$019sw_end - ; Tail Round 3 - mov eax,DWORD [12+edi] - mul eax - mov DWORD [24+esi],eax - dec ebx - mov DWORD [28+esi],edx - jz NEAR L$019sw_end - ; Tail Round 4 - mov eax,DWORD [16+edi] - mul eax - mov DWORD [32+esi],eax - dec ebx - mov DWORD [36+esi],edx - jz NEAR L$019sw_end - ; Tail Round 5 - mov eax,DWORD [20+edi] - mul eax - mov DWORD [40+esi],eax - dec ebx - mov DWORD [44+esi],edx - jz NEAR L$019sw_end - ; Tail Round 6 - mov eax,DWORD [24+edi] - mul eax - mov DWORD [48+esi],eax - mov DWORD [52+esi],edx -L$019sw_end: - pop edi - pop esi - pop ebx - pop ebp - ret -global _bn_div_words -align 16 -_bn_div_words: -L$_bn_div_words_begin: - mov edx,DWORD [4+esp] - mov eax,DWORD [8+esp] - mov ecx,DWORD [12+esp] - div ecx - ret -global _bn_add_words -align 16 -_bn_add_words: -L$_bn_add_words_begin: - push ebp - push ebx - push esi - push edi - ; - mov ebx,DWORD [20+esp] - mov esi,DWORD [24+esp] - mov edi,DWORD [28+esp] - mov ebp,DWORD [32+esp] - xor eax,eax - and ebp,4294967288 - jz NEAR L$020aw_finish -L$021aw_loop: - ; Round 0 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - ; Round 1 - mov ecx,DWORD [4+esi] - mov edx,DWORD [4+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - mov DWORD [4+ebx],ecx - ; Round 2 - mov ecx,DWORD [8+esi] - mov edx,DWORD [8+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - mov DWORD [8+ebx],ecx - ; Round 3 - mov ecx,DWORD [12+esi] - mov edx,DWORD [12+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - mov DWORD [12+ebx],ecx - ; Round 4 - mov ecx,DWORD [16+esi] - mov edx,DWORD [16+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - mov DWORD [16+ebx],ecx - ; Round 5 - mov ecx,DWORD [20+esi] - mov edx,DWORD [20+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - mov DWORD [20+ebx],ecx - ; Round 6 - mov ecx,DWORD [24+esi] - mov edx,DWORD [24+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx - ; Round 7 - mov ecx,DWORD [28+esi] - mov edx,DWORD [28+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - mov DWORD [28+ebx],ecx - ; - add esi,32 - add edi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$021aw_loop -L$020aw_finish: - mov ebp,DWORD [32+esp] - and ebp,7 - jz NEAR L$022aw_end - ; Tail Round 0 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - dec ebp - mov DWORD [ebx],ecx - jz NEAR L$022aw_end - ; Tail Round 1 - mov ecx,DWORD [4+esi] - mov edx,DWORD [4+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - dec ebp - mov DWORD [4+ebx],ecx - jz NEAR L$022aw_end - ; Tail Round 2 - mov ecx,DWORD [8+esi] - mov edx,DWORD [8+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - dec ebp - mov DWORD [8+ebx],ecx - jz NEAR L$022aw_end - ; Tail Round 3 - mov ecx,DWORD [12+esi] - mov edx,DWORD [12+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - dec ebp - mov DWORD [12+ebx],ecx - jz NEAR L$022aw_end - ; Tail Round 4 - mov ecx,DWORD [16+esi] - mov edx,DWORD [16+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - dec ebp - mov DWORD [16+ebx],ecx - jz NEAR L$022aw_end - ; Tail Round 5 - mov ecx,DWORD [20+esi] - mov edx,DWORD [20+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - dec ebp - mov DWORD [20+ebx],ecx - jz NEAR L$022aw_end - ; Tail Round 6 - mov ecx,DWORD [24+esi] - mov edx,DWORD [24+edi] - add ecx,eax - mov eax,0 - adc eax,eax - add ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx -L$022aw_end: - pop edi - pop esi - pop ebx - pop ebp - ret -global _bn_sub_words -align 16 -_bn_sub_words: -L$_bn_sub_words_begin: - push ebp - push ebx - push esi - push edi - ; - mov ebx,DWORD [20+esp] - mov esi,DWORD [24+esp] - mov edi,DWORD [28+esp] - mov ebp,DWORD [32+esp] - xor eax,eax - and ebp,4294967288 - jz NEAR L$023aw_finish -L$024aw_loop: - ; Round 0 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - ; Round 1 - mov ecx,DWORD [4+esi] - mov edx,DWORD [4+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [4+ebx],ecx - ; Round 2 - mov ecx,DWORD [8+esi] - mov edx,DWORD [8+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [8+ebx],ecx - ; Round 3 - mov ecx,DWORD [12+esi] - mov edx,DWORD [12+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [12+ebx],ecx - ; Round 4 - mov ecx,DWORD [16+esi] - mov edx,DWORD [16+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [16+ebx],ecx - ; Round 5 - mov ecx,DWORD [20+esi] - mov edx,DWORD [20+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [20+ebx],ecx - ; Round 6 - mov ecx,DWORD [24+esi] - mov edx,DWORD [24+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx - ; Round 7 - mov ecx,DWORD [28+esi] - mov edx,DWORD [28+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [28+ebx],ecx - ; - add esi,32 - add edi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$024aw_loop -L$023aw_finish: - mov ebp,DWORD [32+esp] - and ebp,7 - jz NEAR L$025aw_end - ; Tail Round 0 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [ebx],ecx - jz NEAR L$025aw_end - ; Tail Round 1 - mov ecx,DWORD [4+esi] - mov edx,DWORD [4+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [4+ebx],ecx - jz NEAR L$025aw_end - ; Tail Round 2 - mov ecx,DWORD [8+esi] - mov edx,DWORD [8+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [8+ebx],ecx - jz NEAR L$025aw_end - ; Tail Round 3 - mov ecx,DWORD [12+esi] - mov edx,DWORD [12+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [12+ebx],ecx - jz NEAR L$025aw_end - ; Tail Round 4 - mov ecx,DWORD [16+esi] - mov edx,DWORD [16+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [16+ebx],ecx - jz NEAR L$025aw_end - ; Tail Round 5 - mov ecx,DWORD [20+esi] - mov edx,DWORD [20+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [20+ebx],ecx - jz NEAR L$025aw_end - ; Tail Round 6 - mov ecx,DWORD [24+esi] - mov edx,DWORD [24+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx -L$025aw_end: - pop edi - pop esi - pop ebx - pop ebp - ret -global _bn_sub_part_words -align 16 -_bn_sub_part_words: -L$_bn_sub_part_words_begin: - push ebp - push ebx - push esi - push edi - ; - mov ebx,DWORD [20+esp] - mov esi,DWORD [24+esp] - mov edi,DWORD [28+esp] - mov ebp,DWORD [32+esp] - xor eax,eax - and ebp,4294967288 - jz NEAR L$026aw_finish -L$027aw_loop: - ; Round 0 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - ; Round 1 - mov ecx,DWORD [4+esi] - mov edx,DWORD [4+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [4+ebx],ecx - ; Round 2 - mov ecx,DWORD [8+esi] - mov edx,DWORD [8+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [8+ebx],ecx - ; Round 3 - mov ecx,DWORD [12+esi] - mov edx,DWORD [12+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [12+ebx],ecx - ; Round 4 - mov ecx,DWORD [16+esi] - mov edx,DWORD [16+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [16+ebx],ecx - ; Round 5 - mov ecx,DWORD [20+esi] - mov edx,DWORD [20+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [20+ebx],ecx - ; Round 6 - mov ecx,DWORD [24+esi] - mov edx,DWORD [24+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx - ; Round 7 - mov ecx,DWORD [28+esi] - mov edx,DWORD [28+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [28+ebx],ecx - ; - add esi,32 - add edi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$027aw_loop -L$026aw_finish: - mov ebp,DWORD [32+esp] - and ebp,7 - jz NEAR L$028aw_end - ; Tail Round 0 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 1 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 2 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 3 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 4 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 5 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 - dec ebp - jz NEAR L$028aw_end - ; Tail Round 6 - mov ecx,DWORD [esi] - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - add esi,4 - add edi,4 - add ebx,4 -L$028aw_end: - cmp DWORD [36+esp],0 - je NEAR L$029pw_end - mov ebp,DWORD [36+esp] - cmp ebp,0 - je NEAR L$029pw_end - jge NEAR L$030pw_pos - ; pw_neg - mov edx,0 - sub edx,ebp - mov ebp,edx - and ebp,4294967288 - jz NEAR L$031pw_neg_finish -L$032pw_neg_loop: - ; dl<0 Round 0 - mov ecx,0 - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [ebx],ecx - ; dl<0 Round 1 - mov ecx,0 - mov edx,DWORD [4+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [4+ebx],ecx - ; dl<0 Round 2 - mov ecx,0 - mov edx,DWORD [8+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [8+ebx],ecx - ; dl<0 Round 3 - mov ecx,0 - mov edx,DWORD [12+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [12+ebx],ecx - ; dl<0 Round 4 - mov ecx,0 - mov edx,DWORD [16+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [16+ebx],ecx - ; dl<0 Round 5 - mov ecx,0 - mov edx,DWORD [20+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [20+ebx],ecx - ; dl<0 Round 6 - mov ecx,0 - mov edx,DWORD [24+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx - ; dl<0 Round 7 - mov ecx,0 - mov edx,DWORD [28+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [28+ebx],ecx - ; - add edi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$032pw_neg_loop -L$031pw_neg_finish: - mov edx,DWORD [36+esp] - mov ebp,0 - sub ebp,edx - and ebp,7 - jz NEAR L$029pw_end - ; dl<0 Tail Round 0 - mov ecx,0 - mov edx,DWORD [edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 1 - mov ecx,0 - mov edx,DWORD [4+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [4+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 2 - mov ecx,0 - mov edx,DWORD [8+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [8+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 3 - mov ecx,0 - mov edx,DWORD [12+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [12+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 4 - mov ecx,0 - mov edx,DWORD [16+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [16+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 5 - mov ecx,0 - mov edx,DWORD [20+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - dec ebp - mov DWORD [20+ebx],ecx - jz NEAR L$029pw_end - ; dl<0 Tail Round 6 - mov ecx,0 - mov edx,DWORD [24+edi] - sub ecx,eax - mov eax,0 - adc eax,eax - sub ecx,edx - adc eax,0 - mov DWORD [24+ebx],ecx - jmp NEAR L$029pw_end -L$030pw_pos: - and ebp,4294967288 - jz NEAR L$033pw_pos_finish -L$034pw_pos_loop: - ; dl>0 Round 0 - mov ecx,DWORD [esi] - sub ecx,eax - mov DWORD [ebx],ecx - jnc NEAR L$035pw_nc0 - ; dl>0 Round 1 - mov ecx,DWORD [4+esi] - sub ecx,eax - mov DWORD [4+ebx],ecx - jnc NEAR L$036pw_nc1 - ; dl>0 Round 2 - mov ecx,DWORD [8+esi] - sub ecx,eax - mov DWORD [8+ebx],ecx - jnc NEAR L$037pw_nc2 - ; dl>0 Round 3 - mov ecx,DWORD [12+esi] - sub ecx,eax - mov DWORD [12+ebx],ecx - jnc NEAR L$038pw_nc3 - ; dl>0 Round 4 - mov ecx,DWORD [16+esi] - sub ecx,eax - mov DWORD [16+ebx],ecx - jnc NEAR L$039pw_nc4 - ; dl>0 Round 5 - mov ecx,DWORD [20+esi] - sub ecx,eax - mov DWORD [20+ebx],ecx - jnc NEAR L$040pw_nc5 - ; dl>0 Round 6 - mov ecx,DWORD [24+esi] - sub ecx,eax - mov DWORD [24+ebx],ecx - jnc NEAR L$041pw_nc6 - ; dl>0 Round 7 - mov ecx,DWORD [28+esi] - sub ecx,eax - mov DWORD [28+ebx],ecx - jnc NEAR L$042pw_nc7 - ; - add esi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$034pw_pos_loop -L$033pw_pos_finish: - mov ebp,DWORD [36+esp] - and ebp,7 - jz NEAR L$029pw_end - ; dl>0 Tail Round 0 - mov ecx,DWORD [esi] - sub ecx,eax - mov DWORD [ebx],ecx - jnc NEAR L$043pw_tail_nc0 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 1 - mov ecx,DWORD [4+esi] - sub ecx,eax - mov DWORD [4+ebx],ecx - jnc NEAR L$044pw_tail_nc1 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 2 - mov ecx,DWORD [8+esi] - sub ecx,eax - mov DWORD [8+ebx],ecx - jnc NEAR L$045pw_tail_nc2 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 3 - mov ecx,DWORD [12+esi] - sub ecx,eax - mov DWORD [12+ebx],ecx - jnc NEAR L$046pw_tail_nc3 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 4 - mov ecx,DWORD [16+esi] - sub ecx,eax - mov DWORD [16+ebx],ecx - jnc NEAR L$047pw_tail_nc4 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 5 - mov ecx,DWORD [20+esi] - sub ecx,eax - mov DWORD [20+ebx],ecx - jnc NEAR L$048pw_tail_nc5 - dec ebp - jz NEAR L$029pw_end - ; dl>0 Tail Round 6 - mov ecx,DWORD [24+esi] - sub ecx,eax - mov DWORD [24+ebx],ecx - jnc NEAR L$049pw_tail_nc6 - mov eax,1 - jmp NEAR L$029pw_end -L$050pw_nc_loop: - mov ecx,DWORD [esi] - mov DWORD [ebx],ecx -L$035pw_nc0: - mov ecx,DWORD [4+esi] - mov DWORD [4+ebx],ecx -L$036pw_nc1: - mov ecx,DWORD [8+esi] - mov DWORD [8+ebx],ecx -L$037pw_nc2: - mov ecx,DWORD [12+esi] - mov DWORD [12+ebx],ecx -L$038pw_nc3: - mov ecx,DWORD [16+esi] - mov DWORD [16+ebx],ecx -L$039pw_nc4: - mov ecx,DWORD [20+esi] - mov DWORD [20+ebx],ecx -L$040pw_nc5: - mov ecx,DWORD [24+esi] - mov DWORD [24+ebx],ecx -L$041pw_nc6: - mov ecx,DWORD [28+esi] - mov DWORD [28+ebx],ecx -L$042pw_nc7: - ; - add esi,32 - add ebx,32 - sub ebp,8 - jnz NEAR L$050pw_nc_loop - mov ebp,DWORD [36+esp] - and ebp,7 - jz NEAR L$051pw_nc_end - mov ecx,DWORD [esi] - mov DWORD [ebx],ecx -L$043pw_tail_nc0: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [4+esi] - mov DWORD [4+ebx],ecx -L$044pw_tail_nc1: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [8+esi] - mov DWORD [8+ebx],ecx -L$045pw_tail_nc2: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [12+esi] - mov DWORD [12+ebx],ecx -L$046pw_tail_nc3: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [16+esi] - mov DWORD [16+ebx],ecx -L$047pw_tail_nc4: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [20+esi] - mov DWORD [20+ebx],ecx -L$048pw_tail_nc5: - dec ebp - jz NEAR L$051pw_nc_end - mov ecx,DWORD [24+esi] - mov DWORD [24+ebx],ecx -L$049pw_tail_nc6: -L$051pw_nc_end: - mov eax,0 -L$029pw_end: - pop edi - pop esi - pop ebx - pop ebp - ret -segment .bss -common _OPENSSL_ia32cap_P 16 +%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 _bn_mul_add_words +align 16 +_bn_mul_add_words: +L$_bn_mul_add_words_begin: + lea eax,[_OPENSSL_ia32cap_P] + bt DWORD [eax],26 + jnc NEAR L$000maw_non_sse2 + mov eax,DWORD [4+esp] + mov edx,DWORD [8+esp] + mov ecx,DWORD [12+esp] + movd mm0,DWORD [16+esp] + pxor mm1,mm1 + jmp NEAR L$001maw_sse2_entry +align 16 +L$002maw_sse2_unrolled: + movd mm3,DWORD [eax] + paddq mm1,mm3 + movd mm2,DWORD [edx] + pmuludq mm2,mm0 + movd mm4,DWORD [4+edx] + pmuludq mm4,mm0 + movd mm6,DWORD [8+edx] + pmuludq mm6,mm0 + movd mm7,DWORD [12+edx] + pmuludq mm7,mm0 + paddq mm1,mm2 + movd mm3,DWORD [4+eax] + paddq mm3,mm4 + movd mm5,DWORD [8+eax] + paddq mm5,mm6 + movd mm4,DWORD [12+eax] + paddq mm7,mm4 + movd DWORD [eax],mm1 + movd mm2,DWORD [16+edx] + pmuludq mm2,mm0 + psrlq mm1,32 + movd mm4,DWORD [20+edx] + pmuludq mm4,mm0 + paddq mm1,mm3 + movd mm6,DWORD [24+edx] + pmuludq mm6,mm0 + movd DWORD [4+eax],mm1 + psrlq mm1,32 + movd mm3,DWORD [28+edx] + add edx,32 + pmuludq mm3,mm0 + paddq mm1,mm5 + movd mm5,DWORD [16+eax] + paddq mm2,mm5 + movd DWORD [8+eax],mm1 + psrlq mm1,32 + paddq mm1,mm7 + movd mm5,DWORD [20+eax] + paddq mm4,mm5 + movd DWORD [12+eax],mm1 + psrlq mm1,32 + paddq mm1,mm2 + movd mm5,DWORD [24+eax] + paddq mm6,mm5 + movd DWORD [16+eax],mm1 + psrlq mm1,32 + paddq mm1,mm4 + movd mm5,DWORD [28+eax] + paddq mm3,mm5 + movd DWORD [20+eax],mm1 + psrlq mm1,32 + paddq mm1,mm6 + movd DWORD [24+eax],mm1 + psrlq mm1,32 + paddq mm1,mm3 + movd DWORD [28+eax],mm1 + lea eax,[32+eax] + psrlq mm1,32 + sub ecx,8 + jz NEAR L$003maw_sse2_exit +L$001maw_sse2_entry: + test ecx,4294967288 + jnz NEAR L$002maw_sse2_unrolled +align 4 +L$004maw_sse2_loop: + movd mm2,DWORD [edx] + movd mm3,DWORD [eax] + pmuludq mm2,mm0 + lea edx,[4+edx] + paddq mm1,mm3 + paddq mm1,mm2 + movd DWORD [eax],mm1 + sub ecx,1 + psrlq mm1,32 + lea eax,[4+eax] + jnz NEAR L$004maw_sse2_loop +L$003maw_sse2_exit: + movd eax,mm1 + emms + ret +align 16 +L$000maw_non_sse2: + push ebp + push ebx + push esi + push edi + ; + xor esi,esi + mov edi,DWORD [20+esp] + mov ecx,DWORD [28+esp] + mov ebx,DWORD [24+esp] + and ecx,4294967288 + mov ebp,DWORD [32+esp] + push ecx + jz NEAR L$005maw_finish +align 16 +L$006maw_loop: + ; Round 0 + mov eax,DWORD [ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [edi] + adc edx,0 + mov DWORD [edi],eax + mov esi,edx + ; Round 4 + mov eax,DWORD [4+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [4+edi] + adc edx,0 + mov DWORD [4+edi],eax + mov esi,edx + ; Round 8 + mov eax,DWORD [8+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [8+edi] + adc edx,0 + mov DWORD [8+edi],eax + mov esi,edx + ; Round 12 + mov eax,DWORD [12+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [12+edi] + adc edx,0 + mov DWORD [12+edi],eax + mov esi,edx + ; Round 16 + mov eax,DWORD [16+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [16+edi] + adc edx,0 + mov DWORD [16+edi],eax + mov esi,edx + ; Round 20 + mov eax,DWORD [20+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [20+edi] + adc edx,0 + mov DWORD [20+edi],eax + mov esi,edx + ; Round 24 + mov eax,DWORD [24+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [24+edi] + adc edx,0 + mov DWORD [24+edi],eax + mov esi,edx + ; Round 28 + mov eax,DWORD [28+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [28+edi] + adc edx,0 + mov DWORD [28+edi],eax + mov esi,edx + ; + sub ecx,8 + lea ebx,[32+ebx] + lea edi,[32+edi] + jnz NEAR L$006maw_loop +L$005maw_finish: + mov ecx,DWORD [32+esp] + and ecx,7 + jnz NEAR L$007maw_finish2 + jmp NEAR L$008maw_end +L$007maw_finish2: + ; Tail Round 0 + mov eax,DWORD [ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [edi] + adc edx,0 + dec ecx + mov DWORD [edi],eax + mov esi,edx + jz NEAR L$008maw_end + ; Tail Round 1 + mov eax,DWORD [4+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [4+edi] + adc edx,0 + dec ecx + mov DWORD [4+edi],eax + mov esi,edx + jz NEAR L$008maw_end + ; Tail Round 2 + mov eax,DWORD [8+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [8+edi] + adc edx,0 + dec ecx + mov DWORD [8+edi],eax + mov esi,edx + jz NEAR L$008maw_end + ; Tail Round 3 + mov eax,DWORD [12+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [12+edi] + adc edx,0 + dec ecx + mov DWORD [12+edi],eax + mov esi,edx + jz NEAR L$008maw_end + ; Tail Round 4 + mov eax,DWORD [16+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [16+edi] + adc edx,0 + dec ecx + mov DWORD [16+edi],eax + mov esi,edx + jz NEAR L$008maw_end + ; Tail Round 5 + mov eax,DWORD [20+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [20+edi] + adc edx,0 + dec ecx + mov DWORD [20+edi],eax + mov esi,edx + jz NEAR L$008maw_end + ; Tail Round 6 + mov eax,DWORD [24+ebx] + mul ebp + add eax,esi + adc edx,0 + add eax,DWORD [24+edi] + adc edx,0 + mov DWORD [24+edi],eax + mov esi,edx +L$008maw_end: + mov eax,esi + pop ecx + pop edi + pop esi + pop ebx + pop ebp + ret +global _bn_mul_words +align 16 +_bn_mul_words: +L$_bn_mul_words_begin: + lea eax,[_OPENSSL_ia32cap_P] + bt DWORD [eax],26 + jnc NEAR L$009mw_non_sse2 + mov eax,DWORD [4+esp] + mov edx,DWORD [8+esp] + mov ecx,DWORD [12+esp] + movd mm0,DWORD [16+esp] + pxor mm1,mm1 +align 16 +L$010mw_sse2_loop: + movd mm2,DWORD [edx] + pmuludq mm2,mm0 + lea edx,[4+edx] + paddq mm1,mm2 + movd DWORD [eax],mm1 + sub ecx,1 + psrlq mm1,32 + lea eax,[4+eax] + jnz NEAR L$010mw_sse2_loop + movd eax,mm1 + emms + ret +align 16 +L$009mw_non_sse2: + push ebp + push ebx + push esi + push edi + ; + xor esi,esi + mov edi,DWORD [20+esp] + mov ebx,DWORD [24+esp] + mov ebp,DWORD [28+esp] + mov ecx,DWORD [32+esp] + and ebp,4294967288 + jz NEAR L$011mw_finish +L$012mw_loop: + ; Round 0 + mov eax,DWORD [ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [edi],eax + mov esi,edx + ; Round 4 + mov eax,DWORD [4+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [4+edi],eax + mov esi,edx + ; Round 8 + mov eax,DWORD [8+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [8+edi],eax + mov esi,edx + ; Round 12 + mov eax,DWORD [12+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [12+edi],eax + mov esi,edx + ; Round 16 + mov eax,DWORD [16+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [16+edi],eax + mov esi,edx + ; Round 20 + mov eax,DWORD [20+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [20+edi],eax + mov esi,edx + ; Round 24 + mov eax,DWORD [24+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [24+edi],eax + mov esi,edx + ; Round 28 + mov eax,DWORD [28+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [28+edi],eax + mov esi,edx + ; + add ebx,32 + add edi,32 + sub ebp,8 + jz NEAR L$011mw_finish + jmp NEAR L$012mw_loop +L$011mw_finish: + mov ebp,DWORD [28+esp] + and ebp,7 + jnz NEAR L$013mw_finish2 + jmp NEAR L$014mw_end +L$013mw_finish2: + ; Tail Round 0 + mov eax,DWORD [ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [edi],eax + mov esi,edx + dec ebp + jz NEAR L$014mw_end + ; Tail Round 1 + mov eax,DWORD [4+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [4+edi],eax + mov esi,edx + dec ebp + jz NEAR L$014mw_end + ; Tail Round 2 + mov eax,DWORD [8+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [8+edi],eax + mov esi,edx + dec ebp + jz NEAR L$014mw_end + ; Tail Round 3 + mov eax,DWORD [12+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [12+edi],eax + mov esi,edx + dec ebp + jz NEAR L$014mw_end + ; Tail Round 4 + mov eax,DWORD [16+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [16+edi],eax + mov esi,edx + dec ebp + jz NEAR L$014mw_end + ; Tail Round 5 + mov eax,DWORD [20+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [20+edi],eax + mov esi,edx + dec ebp + jz NEAR L$014mw_end + ; Tail Round 6 + mov eax,DWORD [24+ebx] + mul ecx + add eax,esi + adc edx,0 + mov DWORD [24+edi],eax + mov esi,edx +L$014mw_end: + mov eax,esi + pop edi + pop esi + pop ebx + pop ebp + ret +global _bn_sqr_words +align 16 +_bn_sqr_words: +L$_bn_sqr_words_begin: + lea eax,[_OPENSSL_ia32cap_P] + bt DWORD [eax],26 + jnc NEAR L$015sqr_non_sse2 + mov eax,DWORD [4+esp] + mov edx,DWORD [8+esp] + mov ecx,DWORD [12+esp] +align 16 +L$016sqr_sse2_loop: + movd mm0,DWORD [edx] + pmuludq mm0,mm0 + lea edx,[4+edx] + movq [eax],mm0 + sub ecx,1 + lea eax,[8+eax] + jnz NEAR L$016sqr_sse2_loop + emms + ret +align 16 +L$015sqr_non_sse2: + push ebp + push ebx + push esi + push edi + ; + mov esi,DWORD [20+esp] + mov edi,DWORD [24+esp] + mov ebx,DWORD [28+esp] + and ebx,4294967288 + jz NEAR L$017sw_finish +L$018sw_loop: + ; Round 0 + mov eax,DWORD [edi] + mul eax + mov DWORD [esi],eax + mov DWORD [4+esi],edx + ; Round 4 + mov eax,DWORD [4+edi] + mul eax + mov DWORD [8+esi],eax + mov DWORD [12+esi],edx + ; Round 8 + mov eax,DWORD [8+edi] + mul eax + mov DWORD [16+esi],eax + mov DWORD [20+esi],edx + ; Round 12 + mov eax,DWORD [12+edi] + mul eax + mov DWORD [24+esi],eax + mov DWORD [28+esi],edx + ; Round 16 + mov eax,DWORD [16+edi] + mul eax + mov DWORD [32+esi],eax + mov DWORD [36+esi],edx + ; Round 20 + mov eax,DWORD [20+edi] + mul eax + mov DWORD [40+esi],eax + mov DWORD [44+esi],edx + ; Round 24 + mov eax,DWORD [24+edi] + mul eax + mov DWORD [48+esi],eax + mov DWORD [52+esi],edx + ; Round 28 + mov eax,DWORD [28+edi] + mul eax + mov DWORD [56+esi],eax + mov DWORD [60+esi],edx + ; + add edi,32 + add esi,64 + sub ebx,8 + jnz NEAR L$018sw_loop +L$017sw_finish: + mov ebx,DWORD [28+esp] + and ebx,7 + jz NEAR L$019sw_end + ; Tail Round 0 + mov eax,DWORD [edi] + mul eax + mov DWORD [esi],eax + dec ebx + mov DWORD [4+esi],edx + jz NEAR L$019sw_end + ; Tail Round 1 + mov eax,DWORD [4+edi] + mul eax + mov DWORD [8+esi],eax + dec ebx + mov DWORD [12+esi],edx + jz NEAR L$019sw_end + ; Tail Round 2 + mov eax,DWORD [8+edi] + mul eax + mov DWORD [16+esi],eax + dec ebx + mov DWORD [20+esi],edx + jz NEAR L$019sw_end + ; Tail Round 3 + mov eax,DWORD [12+edi] + mul eax + mov DWORD [24+esi],eax + dec ebx + mov DWORD [28+esi],edx + jz NEAR L$019sw_end + ; Tail Round 4 + mov eax,DWORD [16+edi] + mul eax + mov DWORD [32+esi],eax + dec ebx + mov DWORD [36+esi],edx + jz NEAR L$019sw_end + ; Tail Round 5 + mov eax,DWORD [20+edi] + mul eax + mov DWORD [40+esi],eax + dec ebx + mov DWORD [44+esi],edx + jz NEAR L$019sw_end + ; Tail Round 6 + mov eax,DWORD [24+edi] + mul eax + mov DWORD [48+esi],eax + mov DWORD [52+esi],edx +L$019sw_end: + pop edi + pop esi + pop ebx + pop ebp + ret +global _bn_div_words +align 16 +_bn_div_words: +L$_bn_div_words_begin: + mov edx,DWORD [4+esp] + mov eax,DWORD [8+esp] + mov ecx,DWORD [12+esp] + div ecx + ret +global _bn_add_words +align 16 +_bn_add_words: +L$_bn_add_words_begin: + push ebp + push ebx + push esi + push edi + ; + mov ebx,DWORD [20+esp] + mov esi,DWORD [24+esp] + mov edi,DWORD [28+esp] + mov ebp,DWORD [32+esp] + xor eax,eax + and ebp,4294967288 + jz NEAR L$020aw_finish +L$021aw_loop: + ; Round 0 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + mov DWORD [ebx],ecx + ; Round 1 + mov ecx,DWORD [4+esi] + mov edx,DWORD [4+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + mov DWORD [4+ebx],ecx + ; Round 2 + mov ecx,DWORD [8+esi] + mov edx,DWORD [8+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + mov DWORD [8+ebx],ecx + ; Round 3 + mov ecx,DWORD [12+esi] + mov edx,DWORD [12+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + mov DWORD [12+ebx],ecx + ; Round 4 + mov ecx,DWORD [16+esi] + mov edx,DWORD [16+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + mov DWORD [16+ebx],ecx + ; Round 5 + mov ecx,DWORD [20+esi] + mov edx,DWORD [20+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + mov DWORD [20+ebx],ecx + ; Round 6 + mov ecx,DWORD [24+esi] + mov edx,DWORD [24+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + mov DWORD [24+ebx],ecx + ; Round 7 + mov ecx,DWORD [28+esi] + mov edx,DWORD [28+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + mov DWORD [28+ebx],ecx + ; + add esi,32 + add edi,32 + add ebx,32 + sub ebp,8 + jnz NEAR L$021aw_loop +L$020aw_finish: + mov ebp,DWORD [32+esp] + and ebp,7 + jz NEAR L$022aw_end + ; Tail Round 0 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + dec ebp + mov DWORD [ebx],ecx + jz NEAR L$022aw_end + ; Tail Round 1 + mov ecx,DWORD [4+esi] + mov edx,DWORD [4+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + dec ebp + mov DWORD [4+ebx],ecx + jz NEAR L$022aw_end + ; Tail Round 2 + mov ecx,DWORD [8+esi] + mov edx,DWORD [8+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + dec ebp + mov DWORD [8+ebx],ecx + jz NEAR L$022aw_end + ; Tail Round 3 + mov ecx,DWORD [12+esi] + mov edx,DWORD [12+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + dec ebp + mov DWORD [12+ebx],ecx + jz NEAR L$022aw_end + ; Tail Round 4 + mov ecx,DWORD [16+esi] + mov edx,DWORD [16+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + dec ebp + mov DWORD [16+ebx],ecx + jz NEAR L$022aw_end + ; Tail Round 5 + mov ecx,DWORD [20+esi] + mov edx,DWORD [20+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + dec ebp + mov DWORD [20+ebx],ecx + jz NEAR L$022aw_end + ; Tail Round 6 + mov ecx,DWORD [24+esi] + mov edx,DWORD [24+edi] + add ecx,eax + mov eax,0 + adc eax,eax + add ecx,edx + adc eax,0 + mov DWORD [24+ebx],ecx +L$022aw_end: + pop edi + pop esi + pop ebx + pop ebp + ret +global _bn_sub_words +align 16 +_bn_sub_words: +L$_bn_sub_words_begin: + push ebp + push ebx + push esi + push edi + ; + mov ebx,DWORD [20+esp] + mov esi,DWORD [24+esp] + mov edi,DWORD [28+esp] + mov ebp,DWORD [32+esp] + xor eax,eax + and ebp,4294967288 + jz NEAR L$023aw_finish +L$024aw_loop: + ; Round 0 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [ebx],ecx + ; Round 1 + mov ecx,DWORD [4+esi] + mov edx,DWORD [4+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [4+ebx],ecx + ; Round 2 + mov ecx,DWORD [8+esi] + mov edx,DWORD [8+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [8+ebx],ecx + ; Round 3 + mov ecx,DWORD [12+esi] + mov edx,DWORD [12+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [12+ebx],ecx + ; Round 4 + mov ecx,DWORD [16+esi] + mov edx,DWORD [16+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [16+ebx],ecx + ; Round 5 + mov ecx,DWORD [20+esi] + mov edx,DWORD [20+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [20+ebx],ecx + ; Round 6 + mov ecx,DWORD [24+esi] + mov edx,DWORD [24+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [24+ebx],ecx + ; Round 7 + mov ecx,DWORD [28+esi] + mov edx,DWORD [28+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [28+ebx],ecx + ; + add esi,32 + add edi,32 + add ebx,32 + sub ebp,8 + jnz NEAR L$024aw_loop +L$023aw_finish: + mov ebp,DWORD [32+esp] + and ebp,7 + jz NEAR L$025aw_end + ; Tail Round 0 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [ebx],ecx + jz NEAR L$025aw_end + ; Tail Round 1 + mov ecx,DWORD [4+esi] + mov edx,DWORD [4+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [4+ebx],ecx + jz NEAR L$025aw_end + ; Tail Round 2 + mov ecx,DWORD [8+esi] + mov edx,DWORD [8+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [8+ebx],ecx + jz NEAR L$025aw_end + ; Tail Round 3 + mov ecx,DWORD [12+esi] + mov edx,DWORD [12+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [12+ebx],ecx + jz NEAR L$025aw_end + ; Tail Round 4 + mov ecx,DWORD [16+esi] + mov edx,DWORD [16+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [16+ebx],ecx + jz NEAR L$025aw_end + ; Tail Round 5 + mov ecx,DWORD [20+esi] + mov edx,DWORD [20+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [20+ebx],ecx + jz NEAR L$025aw_end + ; Tail Round 6 + mov ecx,DWORD [24+esi] + mov edx,DWORD [24+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [24+ebx],ecx +L$025aw_end: + pop edi + pop esi + pop ebx + pop ebp + ret +global _bn_sub_part_words +align 16 +_bn_sub_part_words: +L$_bn_sub_part_words_begin: + push ebp + push ebx + push esi + push edi + ; + mov ebx,DWORD [20+esp] + mov esi,DWORD [24+esp] + mov edi,DWORD [28+esp] + mov ebp,DWORD [32+esp] + xor eax,eax + and ebp,4294967288 + jz NEAR L$026aw_finish +L$027aw_loop: + ; Round 0 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [ebx],ecx + ; Round 1 + mov ecx,DWORD [4+esi] + mov edx,DWORD [4+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [4+ebx],ecx + ; Round 2 + mov ecx,DWORD [8+esi] + mov edx,DWORD [8+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [8+ebx],ecx + ; Round 3 + mov ecx,DWORD [12+esi] + mov edx,DWORD [12+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [12+ebx],ecx + ; Round 4 + mov ecx,DWORD [16+esi] + mov edx,DWORD [16+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [16+ebx],ecx + ; Round 5 + mov ecx,DWORD [20+esi] + mov edx,DWORD [20+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [20+ebx],ecx + ; Round 6 + mov ecx,DWORD [24+esi] + mov edx,DWORD [24+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [24+ebx],ecx + ; Round 7 + mov ecx,DWORD [28+esi] + mov edx,DWORD [28+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [28+ebx],ecx + ; + add esi,32 + add edi,32 + add ebx,32 + sub ebp,8 + jnz NEAR L$027aw_loop +L$026aw_finish: + mov ebp,DWORD [32+esp] + and ebp,7 + jz NEAR L$028aw_end + ; Tail Round 0 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [ebx],ecx + add esi,4 + add edi,4 + add ebx,4 + dec ebp + jz NEAR L$028aw_end + ; Tail Round 1 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [ebx],ecx + add esi,4 + add edi,4 + add ebx,4 + dec ebp + jz NEAR L$028aw_end + ; Tail Round 2 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [ebx],ecx + add esi,4 + add edi,4 + add ebx,4 + dec ebp + jz NEAR L$028aw_end + ; Tail Round 3 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [ebx],ecx + add esi,4 + add edi,4 + add ebx,4 + dec ebp + jz NEAR L$028aw_end + ; Tail Round 4 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [ebx],ecx + add esi,4 + add edi,4 + add ebx,4 + dec ebp + jz NEAR L$028aw_end + ; Tail Round 5 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [ebx],ecx + add esi,4 + add edi,4 + add ebx,4 + dec ebp + jz NEAR L$028aw_end + ; Tail Round 6 + mov ecx,DWORD [esi] + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [ebx],ecx + add esi,4 + add edi,4 + add ebx,4 +L$028aw_end: + cmp DWORD [36+esp],0 + je NEAR L$029pw_end + mov ebp,DWORD [36+esp] + cmp ebp,0 + je NEAR L$029pw_end + jge NEAR L$030pw_pos + ; pw_neg + mov edx,0 + sub edx,ebp + mov ebp,edx + and ebp,4294967288 + jz NEAR L$031pw_neg_finish +L$032pw_neg_loop: + ; dl<0 Round 0 + mov ecx,0 + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [ebx],ecx + ; dl<0 Round 1 + mov ecx,0 + mov edx,DWORD [4+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [4+ebx],ecx + ; dl<0 Round 2 + mov ecx,0 + mov edx,DWORD [8+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [8+ebx],ecx + ; dl<0 Round 3 + mov ecx,0 + mov edx,DWORD [12+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [12+ebx],ecx + ; dl<0 Round 4 + mov ecx,0 + mov edx,DWORD [16+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [16+ebx],ecx + ; dl<0 Round 5 + mov ecx,0 + mov edx,DWORD [20+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [20+ebx],ecx + ; dl<0 Round 6 + mov ecx,0 + mov edx,DWORD [24+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [24+ebx],ecx + ; dl<0 Round 7 + mov ecx,0 + mov edx,DWORD [28+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [28+ebx],ecx + ; + add edi,32 + add ebx,32 + sub ebp,8 + jnz NEAR L$032pw_neg_loop +L$031pw_neg_finish: + mov edx,DWORD [36+esp] + mov ebp,0 + sub ebp,edx + and ebp,7 + jz NEAR L$029pw_end + ; dl<0 Tail Round 0 + mov ecx,0 + mov edx,DWORD [edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [ebx],ecx + jz NEAR L$029pw_end + ; dl<0 Tail Round 1 + mov ecx,0 + mov edx,DWORD [4+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [4+ebx],ecx + jz NEAR L$029pw_end + ; dl<0 Tail Round 2 + mov ecx,0 + mov edx,DWORD [8+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [8+ebx],ecx + jz NEAR L$029pw_end + ; dl<0 Tail Round 3 + mov ecx,0 + mov edx,DWORD [12+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [12+ebx],ecx + jz NEAR L$029pw_end + ; dl<0 Tail Round 4 + mov ecx,0 + mov edx,DWORD [16+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [16+ebx],ecx + jz NEAR L$029pw_end + ; dl<0 Tail Round 5 + mov ecx,0 + mov edx,DWORD [20+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + dec ebp + mov DWORD [20+ebx],ecx + jz NEAR L$029pw_end + ; dl<0 Tail Round 6 + mov ecx,0 + mov edx,DWORD [24+edi] + sub ecx,eax + mov eax,0 + adc eax,eax + sub ecx,edx + adc eax,0 + mov DWORD [24+ebx],ecx + jmp NEAR L$029pw_end +L$030pw_pos: + and ebp,4294967288 + jz NEAR L$033pw_pos_finish +L$034pw_pos_loop: + ; dl>0 Round 0 + mov ecx,DWORD [esi] + sub ecx,eax + mov DWORD [ebx],ecx + jnc NEAR L$035pw_nc0 + ; dl>0 Round 1 + mov ecx,DWORD [4+esi] + sub ecx,eax + mov DWORD [4+ebx],ecx + jnc NEAR L$036pw_nc1 + ; dl>0 Round 2 + mov ecx,DWORD [8+esi] + sub ecx,eax + mov DWORD [8+ebx],ecx + jnc NEAR L$037pw_nc2 + ; dl>0 Round 3 + mov ecx,DWORD [12+esi] + sub ecx,eax + mov DWORD [12+ebx],ecx + jnc NEAR L$038pw_nc3 + ; dl>0 Round 4 + mov ecx,DWORD [16+esi] + sub ecx,eax + mov DWORD [16+ebx],ecx + jnc NEAR L$039pw_nc4 + ; dl>0 Round 5 + mov ecx,DWORD [20+esi] + sub ecx,eax + mov DWORD [20+ebx],ecx + jnc NEAR L$040pw_nc5 + ; dl>0 Round 6 + mov ecx,DWORD [24+esi] + sub ecx,eax + mov DWORD [24+ebx],ecx + jnc NEAR L$041pw_nc6 + ; dl>0 Round 7 + mov ecx,DWORD [28+esi] + sub ecx,eax + mov DWORD [28+ebx],ecx + jnc NEAR L$042pw_nc7 + ; + add esi,32 + add ebx,32 + sub ebp,8 + jnz NEAR L$034pw_pos_loop +L$033pw_pos_finish: + mov ebp,DWORD [36+esp] + and ebp,7 + jz NEAR L$029pw_end + ; dl>0 Tail Round 0 + mov ecx,DWORD [esi] + sub ecx,eax + mov DWORD [ebx],ecx + jnc NEAR L$043pw_tail_nc0 + dec ebp + jz NEAR L$029pw_end + ; dl>0 Tail Round 1 + mov ecx,DWORD [4+esi] + sub ecx,eax + mov DWORD [4+ebx],ecx + jnc NEAR L$044pw_tail_nc1 + dec ebp + jz NEAR L$029pw_end + ; dl>0 Tail Round 2 + mov ecx,DWORD [8+esi] + sub ecx,eax + mov DWORD [8+ebx],ecx + jnc NEAR L$045pw_tail_nc2 + dec ebp + jz NEAR L$029pw_end + ; dl>0 Tail Round 3 + mov ecx,DWORD [12+esi] + sub ecx,eax + mov DWORD [12+ebx],ecx + jnc NEAR L$046pw_tail_nc3 + dec ebp + jz NEAR L$029pw_end + ; dl>0 Tail Round 4 + mov ecx,DWORD [16+esi] + sub ecx,eax + mov DWORD [16+ebx],ecx + jnc NEAR L$047pw_tail_nc4 + dec ebp + jz NEAR L$029pw_end + ; dl>0 Tail Round 5 + mov ecx,DWORD [20+esi] + sub ecx,eax + mov DWORD [20+ebx],ecx + jnc NEAR L$048pw_tail_nc5 + dec ebp + jz NEAR L$029pw_end + ; dl>0 Tail Round 6 + mov ecx,DWORD [24+esi] + sub ecx,eax + mov DWORD [24+ebx],ecx + jnc NEAR L$049pw_tail_nc6 + mov eax,1 + jmp NEAR L$029pw_end +L$050pw_nc_loop: + mov ecx,DWORD [esi] + mov DWORD [ebx],ecx +L$035pw_nc0: + mov ecx,DWORD [4+esi] + mov DWORD [4+ebx],ecx +L$036pw_nc1: + mov ecx,DWORD [8+esi] + mov DWORD [8+ebx],ecx +L$037pw_nc2: + mov ecx,DWORD [12+esi] + mov DWORD [12+ebx],ecx +L$038pw_nc3: + mov ecx,DWORD [16+esi] + mov DWORD [16+ebx],ecx +L$039pw_nc4: + mov ecx,DWORD [20+esi] + mov DWORD [20+ebx],ecx +L$040pw_nc5: + mov ecx,DWORD [24+esi] + mov DWORD [24+ebx],ecx +L$041pw_nc6: + mov ecx,DWORD [28+esi] + mov DWORD [28+ebx],ecx +L$042pw_nc7: + ; + add esi,32 + add ebx,32 + sub ebp,8 + jnz NEAR L$050pw_nc_loop + mov ebp,DWORD [36+esp] + and ebp,7 + jz NEAR L$051pw_nc_end + mov ecx,DWORD [esi] + mov DWORD [ebx],ecx +L$043pw_tail_nc0: + dec ebp + jz NEAR L$051pw_nc_end + mov ecx,DWORD [4+esi] + mov DWORD [4+ebx],ecx +L$044pw_tail_nc1: + dec ebp + jz NEAR L$051pw_nc_end + mov ecx,DWORD [8+esi] + mov DWORD [8+ebx],ecx +L$045pw_tail_nc2: + dec ebp + jz NEAR L$051pw_nc_end + mov ecx,DWORD [12+esi] + mov DWORD [12+ebx],ecx +L$046pw_tail_nc3: + dec ebp + jz NEAR L$051pw_nc_end + mov ecx,DWORD [16+esi] + mov DWORD [16+ebx],ecx +L$047pw_tail_nc4: + dec ebp + jz NEAR L$051pw_nc_end + mov ecx,DWORD [20+esi] + mov DWORD [20+ebx],ecx +L$048pw_tail_nc5: + dec ebp + jz NEAR L$051pw_nc_end + mov ecx,DWORD [24+esi] + mov DWORD [24+ebx],ecx +L$049pw_tail_nc6: +L$051pw_nc_end: + mov eax,0 +L$029pw_end: + pop edi + pop esi + pop ebx + pop ebp + ret +segment .bss +common _OPENSSL_ia32cap_P 16 diff --git a/tmp32/cast-586.asm b/tmp32/cast-586.asm index ad363e3c..76e4d2a6 100644 --- a/tmp32/cast-586.asm +++ b/tmp32/cast-586.asm @@ -1,941 +1,941 @@ -%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 _CAST_S_table0 -extern _CAST_S_table1 -extern _CAST_S_table2 -extern _CAST_S_table3 -global _CAST_encrypt -align 16 -_CAST_encrypt: -L$_CAST_encrypt_begin: - ; - push ebp - push ebx - mov ebx,DWORD [12+esp] - mov ebp,DWORD [16+esp] - push esi - push edi - ; Load the 2 words - mov edi,DWORD [ebx] - mov esi,DWORD [4+ebx] - ; Get short key flag - mov eax,DWORD [128+ebp] - push eax - xor eax,eax - ; round 0 - mov edx,DWORD [ebp] - mov ecx,DWORD [4+ebp] - add edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor edi,ecx - ; round 1 - mov edx,DWORD [8+ebp] - mov ecx,DWORD [12+ebp] - xor edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - xor ecx,ebx - xor esi,ecx - ; round 2 - mov edx,DWORD [16+ebp] - mov ecx,DWORD [20+ebp] - sub edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - sub ecx,ebx - xor edi,ecx - ; round 3 - mov edx,DWORD [24+ebp] - mov ecx,DWORD [28+ebp] - add edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor esi,ecx - ; round 4 - mov edx,DWORD [32+ebp] - mov ecx,DWORD [36+ebp] - xor edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - xor ecx,ebx - xor edi,ecx - ; round 5 - mov edx,DWORD [40+ebp] - mov ecx,DWORD [44+ebp] - sub edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - sub ecx,ebx - xor esi,ecx - ; round 6 - mov edx,DWORD [48+ebp] - mov ecx,DWORD [52+ebp] - add edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor edi,ecx - ; round 7 - mov edx,DWORD [56+ebp] - mov ecx,DWORD [60+ebp] - xor edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - xor ecx,ebx - xor esi,ecx - ; round 8 - mov edx,DWORD [64+ebp] - mov ecx,DWORD [68+ebp] - sub edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - sub ecx,ebx - xor edi,ecx - ; round 9 - mov edx,DWORD [72+ebp] - mov ecx,DWORD [76+ebp] - add edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor esi,ecx - ; round 10 - mov edx,DWORD [80+ebp] - mov ecx,DWORD [84+ebp] - xor edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - xor ecx,ebx - xor edi,ecx - ; round 11 - mov edx,DWORD [88+ebp] - mov ecx,DWORD [92+ebp] - sub edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - sub ecx,ebx - xor esi,ecx - ; test short key flag - pop edx - or edx,edx - jnz NEAR L$000cast_enc_done - ; round 12 - mov edx,DWORD [96+ebp] - mov ecx,DWORD [100+ebp] - add edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor edi,ecx - ; round 13 - mov edx,DWORD [104+ebp] - mov ecx,DWORD [108+ebp] - xor edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - xor ecx,ebx - xor esi,ecx - ; round 14 - mov edx,DWORD [112+ebp] - mov ecx,DWORD [116+ebp] - sub edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - sub ecx,ebx - xor edi,ecx - ; round 15 - mov edx,DWORD [120+ebp] - mov ecx,DWORD [124+ebp] - add edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor esi,ecx -L$000cast_enc_done: - nop - mov eax,DWORD [20+esp] - mov DWORD [4+eax],edi - mov DWORD [eax],esi - pop edi - pop esi - pop ebx - pop ebp - ret -extern _CAST_S_table0 -extern _CAST_S_table1 -extern _CAST_S_table2 -extern _CAST_S_table3 -global _CAST_decrypt -align 16 -_CAST_decrypt: -L$_CAST_decrypt_begin: - ; - push ebp - push ebx - mov ebx,DWORD [12+esp] - mov ebp,DWORD [16+esp] - push esi - push edi - ; Load the 2 words - mov edi,DWORD [ebx] - mov esi,DWORD [4+ebx] - ; Get short key flag - mov eax,DWORD [128+ebp] - or eax,eax - jnz NEAR L$001cast_dec_skip - xor eax,eax - ; round 15 - mov edx,DWORD [120+ebp] - mov ecx,DWORD [124+ebp] - add edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor edi,ecx - ; round 14 - mov edx,DWORD [112+ebp] - mov ecx,DWORD [116+ebp] - sub edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - sub ecx,ebx - xor esi,ecx - ; round 13 - mov edx,DWORD [104+ebp] - mov ecx,DWORD [108+ebp] - xor edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - xor ecx,ebx - xor edi,ecx - ; round 12 - mov edx,DWORD [96+ebp] - mov ecx,DWORD [100+ebp] - add edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor esi,ecx -L$001cast_dec_skip: - ; round 11 - mov edx,DWORD [88+ebp] - mov ecx,DWORD [92+ebp] - sub edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - sub ecx,ebx - xor edi,ecx - ; round 10 - mov edx,DWORD [80+ebp] - mov ecx,DWORD [84+ebp] - xor edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - xor ecx,ebx - xor esi,ecx - ; round 9 - mov edx,DWORD [72+ebp] - mov ecx,DWORD [76+ebp] - add edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor edi,ecx - ; round 8 - mov edx,DWORD [64+ebp] - mov ecx,DWORD [68+ebp] - sub edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - sub ecx,ebx - xor esi,ecx - ; round 7 - mov edx,DWORD [56+ebp] - mov ecx,DWORD [60+ebp] - xor edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - xor ecx,ebx - xor edi,ecx - ; round 6 - mov edx,DWORD [48+ebp] - mov ecx,DWORD [52+ebp] - add edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor esi,ecx - ; round 5 - mov edx,DWORD [40+ebp] - mov ecx,DWORD [44+ebp] - sub edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - sub ecx,ebx - xor edi,ecx - ; round 4 - mov edx,DWORD [32+ebp] - mov ecx,DWORD [36+ebp] - xor edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - xor ecx,ebx - xor esi,ecx - ; round 3 - mov edx,DWORD [24+ebp] - mov ecx,DWORD [28+ebp] - add edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor edi,ecx - ; round 2 - mov edx,DWORD [16+ebp] - mov ecx,DWORD [20+ebp] - sub edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - sub ecx,ebx - xor esi,ecx - ; round 1 - mov edx,DWORD [8+ebp] - mov ecx,DWORD [12+ebp] - xor edx,esi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - add ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - xor ecx,ebx - xor edi,ecx - ; round 0 - mov edx,DWORD [ebp] - mov ecx,DWORD [4+ebp] - add edx,edi - rol edx,cl - mov ebx,edx - xor ecx,ecx - mov cl,dh - and ebx,255 - shr edx,16 - xor eax,eax - mov al,dh - and edx,255 - mov ecx,DWORD [_CAST_S_table0+ecx*4] - mov ebx,DWORD [_CAST_S_table1+ebx*4] - xor ecx,ebx - mov ebx,DWORD [_CAST_S_table2+eax*4] - sub ecx,ebx - mov ebx,DWORD [_CAST_S_table3+edx*4] - add ecx,ebx - xor esi,ecx - nop - mov eax,DWORD [20+esp] - mov DWORD [4+eax],edi - mov DWORD [eax],esi - pop edi - pop esi - pop ebx - pop ebp - ret -global _CAST_cbc_encrypt -align 16 -_CAST_cbc_encrypt: -L$_CAST_cbc_encrypt_begin: - ; - push ebp - push ebx - push esi - push edi - mov ebp,DWORD [28+esp] - ; getting iv ptr from parameter 4 - mov ebx,DWORD [36+esp] - mov esi,DWORD [ebx] - mov edi,DWORD [4+ebx] - push edi - push esi - push edi - push esi - mov ebx,esp - mov esi,DWORD [36+esp] - mov edi,DWORD [40+esp] - ; getting encrypt flag from parameter 5 - mov ecx,DWORD [56+esp] - ; get and push parameter 3 - mov eax,DWORD [48+esp] - push eax - push ebx - cmp ecx,0 - jz NEAR L$002decrypt - and ebp,4294967288 - mov eax,DWORD [8+esp] - mov ebx,DWORD [12+esp] - jz NEAR L$003encrypt_finish -L$004encrypt_loop: - mov ecx,DWORD [esi] - mov edx,DWORD [4+esi] - xor eax,ecx - xor ebx,edx - bswap eax - bswap ebx - mov DWORD [8+esp],eax - mov DWORD [12+esp],ebx - call L$_CAST_encrypt_begin - mov eax,DWORD [8+esp] - mov ebx,DWORD [12+esp] - bswap eax - bswap ebx - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - add esi,8 - add edi,8 - sub ebp,8 - jnz NEAR L$004encrypt_loop -L$003encrypt_finish: - mov ebp,DWORD [52+esp] - and ebp,7 - jz NEAR L$005finish - call L$006PIC_point -L$006PIC_point: - pop edx - lea ecx,[(L$007cbc_enc_jmp_table-L$006PIC_point)+edx] - mov ebp,DWORD [ebp*4+ecx] - add ebp,edx - xor ecx,ecx - xor edx,edx - jmp ebp -L$008ej7: - mov dh,BYTE [6+esi] - shl edx,8 -L$009ej6: - mov dh,BYTE [5+esi] -L$010ej5: - mov dl,BYTE [4+esi] -L$011ej4: - mov ecx,DWORD [esi] - jmp NEAR L$012ejend -L$013ej3: - mov ch,BYTE [2+esi] - shl ecx,8 -L$014ej2: - mov ch,BYTE [1+esi] -L$015ej1: - mov cl,BYTE [esi] -L$012ejend: - xor eax,ecx - xor ebx,edx - bswap eax - bswap ebx - mov DWORD [8+esp],eax - mov DWORD [12+esp],ebx - call L$_CAST_encrypt_begin - mov eax,DWORD [8+esp] - mov ebx,DWORD [12+esp] - bswap eax - bswap ebx - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - jmp NEAR L$005finish -L$002decrypt: - and ebp,4294967288 - mov eax,DWORD [16+esp] - mov ebx,DWORD [20+esp] - jz NEAR L$016decrypt_finish -L$017decrypt_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - bswap eax - bswap ebx - mov DWORD [8+esp],eax - mov DWORD [12+esp],ebx - call L$_CAST_decrypt_begin - mov eax,DWORD [8+esp] - mov ebx,DWORD [12+esp] - bswap eax - bswap ebx - mov ecx,DWORD [16+esp] - mov edx,DWORD [20+esp] - xor ecx,eax - xor edx,ebx - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov DWORD [edi],ecx - mov DWORD [4+edi],edx - mov DWORD [16+esp],eax - mov DWORD [20+esp],ebx - add esi,8 - add edi,8 - sub ebp,8 - jnz NEAR L$017decrypt_loop -L$016decrypt_finish: - mov ebp,DWORD [52+esp] - and ebp,7 - jz NEAR L$005finish - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - bswap eax - bswap ebx - mov DWORD [8+esp],eax - mov DWORD [12+esp],ebx - call L$_CAST_decrypt_begin - mov eax,DWORD [8+esp] - mov ebx,DWORD [12+esp] - bswap eax - bswap ebx - mov ecx,DWORD [16+esp] - mov edx,DWORD [20+esp] - xor ecx,eax - xor edx,ebx - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] -L$018dj7: - ror edx,16 - mov BYTE [6+edi],dl - shr edx,16 -L$019dj6: - mov BYTE [5+edi],dh -L$020dj5: - mov BYTE [4+edi],dl -L$021dj4: - mov DWORD [edi],ecx - jmp NEAR L$022djend -L$023dj3: - ror ecx,16 - mov BYTE [2+edi],cl - shl ecx,16 -L$024dj2: - mov BYTE [1+esi],ch -L$025dj1: - mov BYTE [esi],cl -L$022djend: - jmp NEAR L$005finish -L$005finish: - mov ecx,DWORD [60+esp] - add esp,24 - mov DWORD [ecx],eax - mov DWORD [4+ecx],ebx - pop edi - pop esi - pop ebx - pop ebp - ret -align 64 -L$007cbc_enc_jmp_table: -dd 0 -dd L$015ej1-L$006PIC_point -dd L$014ej2-L$006PIC_point -dd L$013ej3-L$006PIC_point -dd L$011ej4-L$006PIC_point -dd L$010ej5-L$006PIC_point -dd L$009ej6-L$006PIC_point -dd L$008ej7-L$006PIC_point -align 64 +%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 _CAST_S_table0 +extern _CAST_S_table1 +extern _CAST_S_table2 +extern _CAST_S_table3 +global _CAST_encrypt +align 16 +_CAST_encrypt: +L$_CAST_encrypt_begin: + ; + push ebp + push ebx + mov ebx,DWORD [12+esp] + mov ebp,DWORD [16+esp] + push esi + push edi + ; Load the 2 words + mov edi,DWORD [ebx] + mov esi,DWORD [4+ebx] + ; Get short key flag + mov eax,DWORD [128+ebp] + push eax + xor eax,eax + ; round 0 + mov edx,DWORD [ebp] + mov ecx,DWORD [4+ebp] + add edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor edi,ecx + ; round 1 + mov edx,DWORD [8+ebp] + mov ecx,DWORD [12+ebp] + xor edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + xor ecx,ebx + xor esi,ecx + ; round 2 + mov edx,DWORD [16+ebp] + mov ecx,DWORD [20+ebp] + sub edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + sub ecx,ebx + xor edi,ecx + ; round 3 + mov edx,DWORD [24+ebp] + mov ecx,DWORD [28+ebp] + add edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor esi,ecx + ; round 4 + mov edx,DWORD [32+ebp] + mov ecx,DWORD [36+ebp] + xor edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + xor ecx,ebx + xor edi,ecx + ; round 5 + mov edx,DWORD [40+ebp] + mov ecx,DWORD [44+ebp] + sub edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + sub ecx,ebx + xor esi,ecx + ; round 6 + mov edx,DWORD [48+ebp] + mov ecx,DWORD [52+ebp] + add edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor edi,ecx + ; round 7 + mov edx,DWORD [56+ebp] + mov ecx,DWORD [60+ebp] + xor edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + xor ecx,ebx + xor esi,ecx + ; round 8 + mov edx,DWORD [64+ebp] + mov ecx,DWORD [68+ebp] + sub edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + sub ecx,ebx + xor edi,ecx + ; round 9 + mov edx,DWORD [72+ebp] + mov ecx,DWORD [76+ebp] + add edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor esi,ecx + ; round 10 + mov edx,DWORD [80+ebp] + mov ecx,DWORD [84+ebp] + xor edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + xor ecx,ebx + xor edi,ecx + ; round 11 + mov edx,DWORD [88+ebp] + mov ecx,DWORD [92+ebp] + sub edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + sub ecx,ebx + xor esi,ecx + ; test short key flag + pop edx + or edx,edx + jnz NEAR L$000cast_enc_done + ; round 12 + mov edx,DWORD [96+ebp] + mov ecx,DWORD [100+ebp] + add edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor edi,ecx + ; round 13 + mov edx,DWORD [104+ebp] + mov ecx,DWORD [108+ebp] + xor edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + xor ecx,ebx + xor esi,ecx + ; round 14 + mov edx,DWORD [112+ebp] + mov ecx,DWORD [116+ebp] + sub edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + sub ecx,ebx + xor edi,ecx + ; round 15 + mov edx,DWORD [120+ebp] + mov ecx,DWORD [124+ebp] + add edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor esi,ecx +L$000cast_enc_done: + nop + mov eax,DWORD [20+esp] + mov DWORD [4+eax],edi + mov DWORD [eax],esi + pop edi + pop esi + pop ebx + pop ebp + ret +extern _CAST_S_table0 +extern _CAST_S_table1 +extern _CAST_S_table2 +extern _CAST_S_table3 +global _CAST_decrypt +align 16 +_CAST_decrypt: +L$_CAST_decrypt_begin: + ; + push ebp + push ebx + mov ebx,DWORD [12+esp] + mov ebp,DWORD [16+esp] + push esi + push edi + ; Load the 2 words + mov edi,DWORD [ebx] + mov esi,DWORD [4+ebx] + ; Get short key flag + mov eax,DWORD [128+ebp] + or eax,eax + jnz NEAR L$001cast_dec_skip + xor eax,eax + ; round 15 + mov edx,DWORD [120+ebp] + mov ecx,DWORD [124+ebp] + add edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor edi,ecx + ; round 14 + mov edx,DWORD [112+ebp] + mov ecx,DWORD [116+ebp] + sub edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + sub ecx,ebx + xor esi,ecx + ; round 13 + mov edx,DWORD [104+ebp] + mov ecx,DWORD [108+ebp] + xor edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + xor ecx,ebx + xor edi,ecx + ; round 12 + mov edx,DWORD [96+ebp] + mov ecx,DWORD [100+ebp] + add edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor esi,ecx +L$001cast_dec_skip: + ; round 11 + mov edx,DWORD [88+ebp] + mov ecx,DWORD [92+ebp] + sub edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + sub ecx,ebx + xor edi,ecx + ; round 10 + mov edx,DWORD [80+ebp] + mov ecx,DWORD [84+ebp] + xor edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + xor ecx,ebx + xor esi,ecx + ; round 9 + mov edx,DWORD [72+ebp] + mov ecx,DWORD [76+ebp] + add edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor edi,ecx + ; round 8 + mov edx,DWORD [64+ebp] + mov ecx,DWORD [68+ebp] + sub edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + sub ecx,ebx + xor esi,ecx + ; round 7 + mov edx,DWORD [56+ebp] + mov ecx,DWORD [60+ebp] + xor edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + xor ecx,ebx + xor edi,ecx + ; round 6 + mov edx,DWORD [48+ebp] + mov ecx,DWORD [52+ebp] + add edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor esi,ecx + ; round 5 + mov edx,DWORD [40+ebp] + mov ecx,DWORD [44+ebp] + sub edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + sub ecx,ebx + xor edi,ecx + ; round 4 + mov edx,DWORD [32+ebp] + mov ecx,DWORD [36+ebp] + xor edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + xor ecx,ebx + xor esi,ecx + ; round 3 + mov edx,DWORD [24+ebp] + mov ecx,DWORD [28+ebp] + add edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor edi,ecx + ; round 2 + mov edx,DWORD [16+ebp] + mov ecx,DWORD [20+ebp] + sub edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + sub ecx,ebx + xor esi,ecx + ; round 1 + mov edx,DWORD [8+ebp] + mov ecx,DWORD [12+ebp] + xor edx,esi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + add ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + xor ecx,ebx + xor edi,ecx + ; round 0 + mov edx,DWORD [ebp] + mov ecx,DWORD [4+ebp] + add edx,edi + rol edx,cl + mov ebx,edx + xor ecx,ecx + mov cl,dh + and ebx,255 + shr edx,16 + xor eax,eax + mov al,dh + and edx,255 + mov ecx,DWORD [_CAST_S_table0+ecx*4] + mov ebx,DWORD [_CAST_S_table1+ebx*4] + xor ecx,ebx + mov ebx,DWORD [_CAST_S_table2+eax*4] + sub ecx,ebx + mov ebx,DWORD [_CAST_S_table3+edx*4] + add ecx,ebx + xor esi,ecx + nop + mov eax,DWORD [20+esp] + mov DWORD [4+eax],edi + mov DWORD [eax],esi + pop edi + pop esi + pop ebx + pop ebp + ret +global _CAST_cbc_encrypt +align 16 +_CAST_cbc_encrypt: +L$_CAST_cbc_encrypt_begin: + ; + push ebp + push ebx + push esi + push edi + mov ebp,DWORD [28+esp] + ; getting iv ptr from parameter 4 + mov ebx,DWORD [36+esp] + mov esi,DWORD [ebx] + mov edi,DWORD [4+ebx] + push edi + push esi + push edi + push esi + mov ebx,esp + mov esi,DWORD [36+esp] + mov edi,DWORD [40+esp] + ; getting encrypt flag from parameter 5 + mov ecx,DWORD [56+esp] + ; get and push parameter 3 + mov eax,DWORD [48+esp] + push eax + push ebx + cmp ecx,0 + jz NEAR L$002decrypt + and ebp,4294967288 + mov eax,DWORD [8+esp] + mov ebx,DWORD [12+esp] + jz NEAR L$003encrypt_finish +L$004encrypt_loop: + mov ecx,DWORD [esi] + mov edx,DWORD [4+esi] + xor eax,ecx + xor ebx,edx + bswap eax + bswap ebx + mov DWORD [8+esp],eax + mov DWORD [12+esp],ebx + call L$_CAST_encrypt_begin + mov eax,DWORD [8+esp] + mov ebx,DWORD [12+esp] + bswap eax + bswap ebx + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + add esi,8 + add edi,8 + sub ebp,8 + jnz NEAR L$004encrypt_loop +L$003encrypt_finish: + mov ebp,DWORD [52+esp] + and ebp,7 + jz NEAR L$005finish + call L$006PIC_point +L$006PIC_point: + pop edx + lea ecx,[(L$007cbc_enc_jmp_table-L$006PIC_point)+edx] + mov ebp,DWORD [ebp*4+ecx] + add ebp,edx + xor ecx,ecx + xor edx,edx + jmp ebp +L$008ej7: + mov dh,BYTE [6+esi] + shl edx,8 +L$009ej6: + mov dh,BYTE [5+esi] +L$010ej5: + mov dl,BYTE [4+esi] +L$011ej4: + mov ecx,DWORD [esi] + jmp NEAR L$012ejend +L$013ej3: + mov ch,BYTE [2+esi] + shl ecx,8 +L$014ej2: + mov ch,BYTE [1+esi] +L$015ej1: + mov cl,BYTE [esi] +L$012ejend: + xor eax,ecx + xor ebx,edx + bswap eax + bswap ebx + mov DWORD [8+esp],eax + mov DWORD [12+esp],ebx + call L$_CAST_encrypt_begin + mov eax,DWORD [8+esp] + mov ebx,DWORD [12+esp] + bswap eax + bswap ebx + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + jmp NEAR L$005finish +L$002decrypt: + and ebp,4294967288 + mov eax,DWORD [16+esp] + mov ebx,DWORD [20+esp] + jz NEAR L$016decrypt_finish +L$017decrypt_loop: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + bswap eax + bswap ebx + mov DWORD [8+esp],eax + mov DWORD [12+esp],ebx + call L$_CAST_decrypt_begin + mov eax,DWORD [8+esp] + mov ebx,DWORD [12+esp] + bswap eax + bswap ebx + mov ecx,DWORD [16+esp] + mov edx,DWORD [20+esp] + xor ecx,eax + xor edx,ebx + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov DWORD [edi],ecx + mov DWORD [4+edi],edx + mov DWORD [16+esp],eax + mov DWORD [20+esp],ebx + add esi,8 + add edi,8 + sub ebp,8 + jnz NEAR L$017decrypt_loop +L$016decrypt_finish: + mov ebp,DWORD [52+esp] + and ebp,7 + jz NEAR L$005finish + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + bswap eax + bswap ebx + mov DWORD [8+esp],eax + mov DWORD [12+esp],ebx + call L$_CAST_decrypt_begin + mov eax,DWORD [8+esp] + mov ebx,DWORD [12+esp] + bswap eax + bswap ebx + mov ecx,DWORD [16+esp] + mov edx,DWORD [20+esp] + xor ecx,eax + xor edx,ebx + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] +L$018dj7: + ror edx,16 + mov BYTE [6+edi],dl + shr edx,16 +L$019dj6: + mov BYTE [5+edi],dh +L$020dj5: + mov BYTE [4+edi],dl +L$021dj4: + mov DWORD [edi],ecx + jmp NEAR L$022djend +L$023dj3: + ror ecx,16 + mov BYTE [2+edi],cl + shl ecx,16 +L$024dj2: + mov BYTE [1+esi],ch +L$025dj1: + mov BYTE [esi],cl +L$022djend: + jmp NEAR L$005finish +L$005finish: + mov ecx,DWORD [60+esp] + add esp,24 + mov DWORD [ecx],eax + mov DWORD [4+ecx],ebx + pop edi + pop esi + pop ebx + pop ebp + ret +align 64 +L$007cbc_enc_jmp_table: +dd 0 +dd L$015ej1-L$006PIC_point +dd L$014ej2-L$006PIC_point +dd L$013ej3-L$006PIC_point +dd L$011ej4-L$006PIC_point +dd L$010ej5-L$006PIC_point +dd L$009ej6-L$006PIC_point +dd L$008ej7-L$006PIC_point +align 64 diff --git a/tmp32/cmll-x86.asm b/tmp32/cmll-x86.asm index 386799e1..ba0ef3ba 100644 --- a/tmp32/cmll-x86.asm +++ b/tmp32/cmll-x86.asm @@ -1,2359 +1,2359 @@ -%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 _Camellia_EncryptBlock_Rounds -align 16 -_Camellia_EncryptBlock_Rounds: -L$_Camellia_EncryptBlock_Rounds_begin: - push ebp - push ebx - push esi - push edi - mov eax,DWORD [20+esp] - mov esi,DWORD [24+esp] - mov edi,DWORD [28+esp] - mov ebx,esp - sub esp,28 - and esp,-64 - lea ecx,[edi-127] - sub ecx,esp - neg ecx - and ecx,960 - sub esp,ecx - add esp,4 - shl eax,6 - lea eax,[eax*1+edi] - mov DWORD [20+esp],ebx - mov DWORD [16+esp],eax - call L$000pic_point -L$000pic_point: - pop ebp - lea ebp,[(L$Camellia_SBOX-L$000pic_point)+ebp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - bswap eax - mov edx,DWORD [12+esi] - bswap ebx - bswap ecx - bswap edx - call __x86_Camellia_encrypt - mov esp,DWORD [20+esp] - bswap eax - mov esi,DWORD [32+esp] - bswap ebx - bswap ecx - bswap edx - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -global _Camellia_EncryptBlock -align 16 -_Camellia_EncryptBlock: -L$_Camellia_EncryptBlock_begin: - mov eax,128 - sub eax,DWORD [4+esp] - mov eax,3 - adc eax,0 - mov DWORD [4+esp],eax - jmp NEAR L$_Camellia_EncryptBlock_Rounds_begin -global _Camellia_encrypt -align 16 -_Camellia_encrypt: -L$_Camellia_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov ebx,esp - sub esp,28 - and esp,-64 - mov eax,DWORD [272+edi] - lea ecx,[edi-127] - sub ecx,esp - neg ecx - and ecx,960 - sub esp,ecx - add esp,4 - shl eax,6 - lea eax,[eax*1+edi] - mov DWORD [20+esp],ebx - mov DWORD [16+esp],eax - call L$001pic_point -L$001pic_point: - pop ebp - lea ebp,[(L$Camellia_SBOX-L$001pic_point)+ebp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - bswap eax - mov edx,DWORD [12+esi] - bswap ebx - bswap ecx - bswap edx - call __x86_Camellia_encrypt - mov esp,DWORD [20+esp] - bswap eax - mov esi,DWORD [24+esp] - bswap ebx - bswap ecx - bswap edx - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_Camellia_encrypt: - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [16+edi] - mov DWORD [4+esp],eax - mov DWORD [8+esp],ebx - mov DWORD [12+esp],ecx - mov DWORD [16+esp],edx -align 16 -L$002loop: - xor eax,esi - xor ebx,DWORD [20+edi] - movzx esi,ah - mov edx,DWORD [2052+esi*8+ebp] - movzx esi,al - xor edx,DWORD [4+esi*8+ebp] - shr eax,16 - movzx esi,bl - mov ecx,DWORD [esi*8+ebp] - movzx esi,ah - xor edx,DWORD [esi*8+ebp] - movzx esi,bh - xor ecx,DWORD [4+esi*8+ebp] - shr ebx,16 - movzx eax,al - xor edx,DWORD [2048+eax*8+ebp] - movzx esi,bh - mov eax,DWORD [16+esp] - xor ecx,edx - ror edx,8 - xor ecx,DWORD [2048+esi*8+ebp] - movzx esi,bl - mov ebx,DWORD [12+esp] - xor edx,eax - xor ecx,DWORD [2052+esi*8+ebp] - mov esi,DWORD [24+edi] - xor edx,ecx - mov DWORD [16+esp],edx - xor ecx,ebx - mov DWORD [12+esp],ecx - xor ecx,esi - xor edx,DWORD [28+edi] - movzx esi,ch - mov ebx,DWORD [2052+esi*8+ebp] - movzx esi,cl - xor ebx,DWORD [4+esi*8+ebp] - shr ecx,16 - movzx esi,dl - mov eax,DWORD [esi*8+ebp] - movzx esi,ch - xor ebx,DWORD [esi*8+ebp] - movzx esi,dh - xor eax,DWORD [4+esi*8+ebp] - shr edx,16 - movzx ecx,cl - xor ebx,DWORD [2048+ecx*8+ebp] - movzx esi,dh - mov ecx,DWORD [8+esp] - xor eax,ebx - ror ebx,8 - xor eax,DWORD [2048+esi*8+ebp] - movzx esi,dl - mov edx,DWORD [4+esp] - xor ebx,ecx - xor eax,DWORD [2052+esi*8+ebp] - mov esi,DWORD [32+edi] - xor ebx,eax - mov DWORD [8+esp],ebx - xor eax,edx - mov DWORD [4+esp],eax - xor eax,esi - xor ebx,DWORD [36+edi] - movzx esi,ah - mov edx,DWORD [2052+esi*8+ebp] - movzx esi,al - xor edx,DWORD [4+esi*8+ebp] - shr eax,16 - movzx esi,bl - mov ecx,DWORD [esi*8+ebp] - movzx esi,ah - xor edx,DWORD [esi*8+ebp] - movzx esi,bh - xor ecx,DWORD [4+esi*8+ebp] - shr ebx,16 - movzx eax,al - xor edx,DWORD [2048+eax*8+ebp] - movzx esi,bh - mov eax,DWORD [16+esp] - xor ecx,edx - ror edx,8 - xor ecx,DWORD [2048+esi*8+ebp] - movzx esi,bl - mov ebx,DWORD [12+esp] - xor edx,eax - xor ecx,DWORD [2052+esi*8+ebp] - mov esi,DWORD [40+edi] - xor edx,ecx - mov DWORD [16+esp],edx - xor ecx,ebx - mov DWORD [12+esp],ecx - xor ecx,esi - xor edx,DWORD [44+edi] - movzx esi,ch - mov ebx,DWORD [2052+esi*8+ebp] - movzx esi,cl - xor ebx,DWORD [4+esi*8+ebp] - shr ecx,16 - movzx esi,dl - mov eax,DWORD [esi*8+ebp] - movzx esi,ch - xor ebx,DWORD [esi*8+ebp] - movzx esi,dh - xor eax,DWORD [4+esi*8+ebp] - shr edx,16 - movzx ecx,cl - xor ebx,DWORD [2048+ecx*8+ebp] - movzx esi,dh - mov ecx,DWORD [8+esp] - xor eax,ebx - ror ebx,8 - xor eax,DWORD [2048+esi*8+ebp] - movzx esi,dl - mov edx,DWORD [4+esp] - xor ebx,ecx - xor eax,DWORD [2052+esi*8+ebp] - mov esi,DWORD [48+edi] - xor ebx,eax - mov DWORD [8+esp],ebx - xor eax,edx - mov DWORD [4+esp],eax - xor eax,esi - xor ebx,DWORD [52+edi] - movzx esi,ah - mov edx,DWORD [2052+esi*8+ebp] - movzx esi,al - xor edx,DWORD [4+esi*8+ebp] - shr eax,16 - movzx esi,bl - mov ecx,DWORD [esi*8+ebp] - movzx esi,ah - xor edx,DWORD [esi*8+ebp] - movzx esi,bh - xor ecx,DWORD [4+esi*8+ebp] - shr ebx,16 - movzx eax,al - xor edx,DWORD [2048+eax*8+ebp] - movzx esi,bh - mov eax,DWORD [16+esp] - xor ecx,edx - ror edx,8 - xor ecx,DWORD [2048+esi*8+ebp] - movzx esi,bl - mov ebx,DWORD [12+esp] - xor edx,eax - xor ecx,DWORD [2052+esi*8+ebp] - mov esi,DWORD [56+edi] - xor edx,ecx - mov DWORD [16+esp],edx - xor ecx,ebx - mov DWORD [12+esp],ecx - xor ecx,esi - xor edx,DWORD [60+edi] - movzx esi,ch - mov ebx,DWORD [2052+esi*8+ebp] - movzx esi,cl - xor ebx,DWORD [4+esi*8+ebp] - shr ecx,16 - movzx esi,dl - mov eax,DWORD [esi*8+ebp] - movzx esi,ch - xor ebx,DWORD [esi*8+ebp] - movzx esi,dh - xor eax,DWORD [4+esi*8+ebp] - shr edx,16 - movzx ecx,cl - xor ebx,DWORD [2048+ecx*8+ebp] - movzx esi,dh - mov ecx,DWORD [8+esp] - xor eax,ebx - ror ebx,8 - xor eax,DWORD [2048+esi*8+ebp] - movzx esi,dl - mov edx,DWORD [4+esp] - xor ebx,ecx - xor eax,DWORD [2052+esi*8+ebp] - mov esi,DWORD [64+edi] - xor ebx,eax - mov DWORD [8+esp],ebx - xor eax,edx - mov DWORD [4+esp],eax - add edi,64 - cmp edi,DWORD [20+esp] - je NEAR L$003done - and esi,eax - mov edx,DWORD [16+esp] - rol esi,1 - mov ecx,edx - xor ebx,esi - or ecx,DWORD [12+edi] - mov DWORD [8+esp],ebx - xor ecx,DWORD [12+esp] - mov esi,DWORD [4+edi] - mov DWORD [12+esp],ecx - or esi,ebx - and ecx,DWORD [8+edi] - xor eax,esi - rol ecx,1 - mov DWORD [4+esp],eax - xor edx,ecx - mov esi,DWORD [16+edi] - mov DWORD [16+esp],edx - jmp NEAR L$002loop -align 8 -L$003done: - mov ecx,eax - mov edx,ebx - mov eax,DWORD [12+esp] - mov ebx,DWORD [16+esp] - xor eax,esi - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - ret -global _Camellia_DecryptBlock_Rounds -align 16 -_Camellia_DecryptBlock_Rounds: -L$_Camellia_DecryptBlock_Rounds_begin: - push ebp - push ebx - push esi - push edi - mov eax,DWORD [20+esp] - mov esi,DWORD [24+esp] - mov edi,DWORD [28+esp] - mov ebx,esp - sub esp,28 - and esp,-64 - lea ecx,[edi-127] - sub ecx,esp - neg ecx - and ecx,960 - sub esp,ecx - add esp,4 - shl eax,6 - mov DWORD [16+esp],edi - lea edi,[eax*1+edi] - mov DWORD [20+esp],ebx - call L$004pic_point -L$004pic_point: - pop ebp - lea ebp,[(L$Camellia_SBOX-L$004pic_point)+ebp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - bswap eax - mov edx,DWORD [12+esi] - bswap ebx - bswap ecx - bswap edx - call __x86_Camellia_decrypt - mov esp,DWORD [20+esp] - bswap eax - mov esi,DWORD [32+esp] - bswap ebx - bswap ecx - bswap edx - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -global _Camellia_DecryptBlock -align 16 -_Camellia_DecryptBlock: -L$_Camellia_DecryptBlock_begin: - mov eax,128 - sub eax,DWORD [4+esp] - mov eax,3 - adc eax,0 - mov DWORD [4+esp],eax - jmp NEAR L$_Camellia_DecryptBlock_Rounds_begin -global _Camellia_decrypt -align 16 -_Camellia_decrypt: -L$_Camellia_decrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [28+esp] - mov ebx,esp - sub esp,28 - and esp,-64 - mov eax,DWORD [272+edi] - lea ecx,[edi-127] - sub ecx,esp - neg ecx - and ecx,960 - sub esp,ecx - add esp,4 - shl eax,6 - mov DWORD [16+esp],edi - lea edi,[eax*1+edi] - mov DWORD [20+esp],ebx - call L$005pic_point -L$005pic_point: - pop ebp - lea ebp,[(L$Camellia_SBOX-L$005pic_point)+ebp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - bswap eax - mov edx,DWORD [12+esi] - bswap ebx - bswap ecx - bswap edx - call __x86_Camellia_decrypt - mov esp,DWORD [20+esp] - bswap eax - mov esi,DWORD [24+esp] - bswap ebx - bswap ecx - bswap edx - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__x86_Camellia_decrypt: - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov esi,DWORD [edi-8] - mov DWORD [4+esp],eax - mov DWORD [8+esp],ebx - mov DWORD [12+esp],ecx - mov DWORD [16+esp],edx -align 16 -L$006loop: - xor eax,esi - xor ebx,DWORD [edi-4] - movzx esi,ah - mov edx,DWORD [2052+esi*8+ebp] - movzx esi,al - xor edx,DWORD [4+esi*8+ebp] - shr eax,16 - movzx esi,bl - mov ecx,DWORD [esi*8+ebp] - movzx esi,ah - xor edx,DWORD [esi*8+ebp] - movzx esi,bh - xor ecx,DWORD [4+esi*8+ebp] - shr ebx,16 - movzx eax,al - xor edx,DWORD [2048+eax*8+ebp] - movzx esi,bh - mov eax,DWORD [16+esp] - xor ecx,edx - ror edx,8 - xor ecx,DWORD [2048+esi*8+ebp] - movzx esi,bl - mov ebx,DWORD [12+esp] - xor edx,eax - xor ecx,DWORD [2052+esi*8+ebp] - mov esi,DWORD [edi-16] - xor edx,ecx - mov DWORD [16+esp],edx - xor ecx,ebx - mov DWORD [12+esp],ecx - xor ecx,esi - xor edx,DWORD [edi-12] - movzx esi,ch - mov ebx,DWORD [2052+esi*8+ebp] - movzx esi,cl - xor ebx,DWORD [4+esi*8+ebp] - shr ecx,16 - movzx esi,dl - mov eax,DWORD [esi*8+ebp] - movzx esi,ch - xor ebx,DWORD [esi*8+ebp] - movzx esi,dh - xor eax,DWORD [4+esi*8+ebp] - shr edx,16 - movzx ecx,cl - xor ebx,DWORD [2048+ecx*8+ebp] - movzx esi,dh - mov ecx,DWORD [8+esp] - xor eax,ebx - ror ebx,8 - xor eax,DWORD [2048+esi*8+ebp] - movzx esi,dl - mov edx,DWORD [4+esp] - xor ebx,ecx - xor eax,DWORD [2052+esi*8+ebp] - mov esi,DWORD [edi-24] - xor ebx,eax - mov DWORD [8+esp],ebx - xor eax,edx - mov DWORD [4+esp],eax - xor eax,esi - xor ebx,DWORD [edi-20] - movzx esi,ah - mov edx,DWORD [2052+esi*8+ebp] - movzx esi,al - xor edx,DWORD [4+esi*8+ebp] - shr eax,16 - movzx esi,bl - mov ecx,DWORD [esi*8+ebp] - movzx esi,ah - xor edx,DWORD [esi*8+ebp] - movzx esi,bh - xor ecx,DWORD [4+esi*8+ebp] - shr ebx,16 - movzx eax,al - xor edx,DWORD [2048+eax*8+ebp] - movzx esi,bh - mov eax,DWORD [16+esp] - xor ecx,edx - ror edx,8 - xor ecx,DWORD [2048+esi*8+ebp] - movzx esi,bl - mov ebx,DWORD [12+esp] - xor edx,eax - xor ecx,DWORD [2052+esi*8+ebp] - mov esi,DWORD [edi-32] - xor edx,ecx - mov DWORD [16+esp],edx - xor ecx,ebx - mov DWORD [12+esp],ecx - xor ecx,esi - xor edx,DWORD [edi-28] - movzx esi,ch - mov ebx,DWORD [2052+esi*8+ebp] - movzx esi,cl - xor ebx,DWORD [4+esi*8+ebp] - shr ecx,16 - movzx esi,dl - mov eax,DWORD [esi*8+ebp] - movzx esi,ch - xor ebx,DWORD [esi*8+ebp] - movzx esi,dh - xor eax,DWORD [4+esi*8+ebp] - shr edx,16 - movzx ecx,cl - xor ebx,DWORD [2048+ecx*8+ebp] - movzx esi,dh - mov ecx,DWORD [8+esp] - xor eax,ebx - ror ebx,8 - xor eax,DWORD [2048+esi*8+ebp] - movzx esi,dl - mov edx,DWORD [4+esp] - xor ebx,ecx - xor eax,DWORD [2052+esi*8+ebp] - mov esi,DWORD [edi-40] - xor ebx,eax - mov DWORD [8+esp],ebx - xor eax,edx - mov DWORD [4+esp],eax - xor eax,esi - xor ebx,DWORD [edi-36] - movzx esi,ah - mov edx,DWORD [2052+esi*8+ebp] - movzx esi,al - xor edx,DWORD [4+esi*8+ebp] - shr eax,16 - movzx esi,bl - mov ecx,DWORD [esi*8+ebp] - movzx esi,ah - xor edx,DWORD [esi*8+ebp] - movzx esi,bh - xor ecx,DWORD [4+esi*8+ebp] - shr ebx,16 - movzx eax,al - xor edx,DWORD [2048+eax*8+ebp] - movzx esi,bh - mov eax,DWORD [16+esp] - xor ecx,edx - ror edx,8 - xor ecx,DWORD [2048+esi*8+ebp] - movzx esi,bl - mov ebx,DWORD [12+esp] - xor edx,eax - xor ecx,DWORD [2052+esi*8+ebp] - mov esi,DWORD [edi-48] - xor edx,ecx - mov DWORD [16+esp],edx - xor ecx,ebx - mov DWORD [12+esp],ecx - xor ecx,esi - xor edx,DWORD [edi-44] - movzx esi,ch - mov ebx,DWORD [2052+esi*8+ebp] - movzx esi,cl - xor ebx,DWORD [4+esi*8+ebp] - shr ecx,16 - movzx esi,dl - mov eax,DWORD [esi*8+ebp] - movzx esi,ch - xor ebx,DWORD [esi*8+ebp] - movzx esi,dh - xor eax,DWORD [4+esi*8+ebp] - shr edx,16 - movzx ecx,cl - xor ebx,DWORD [2048+ecx*8+ebp] - movzx esi,dh - mov ecx,DWORD [8+esp] - xor eax,ebx - ror ebx,8 - xor eax,DWORD [2048+esi*8+ebp] - movzx esi,dl - mov edx,DWORD [4+esp] - xor ebx,ecx - xor eax,DWORD [2052+esi*8+ebp] - mov esi,DWORD [edi-56] - xor ebx,eax - mov DWORD [8+esp],ebx - xor eax,edx - mov DWORD [4+esp],eax - sub edi,64 - cmp edi,DWORD [20+esp] - je NEAR L$007done - and esi,eax - mov edx,DWORD [16+esp] - rol esi,1 - mov ecx,edx - xor ebx,esi - or ecx,DWORD [4+edi] - mov DWORD [8+esp],ebx - xor ecx,DWORD [12+esp] - mov esi,DWORD [12+edi] - mov DWORD [12+esp],ecx - or esi,ebx - and ecx,DWORD [edi] - xor eax,esi - rol ecx,1 - mov DWORD [4+esp],eax - xor edx,ecx - mov esi,DWORD [edi-8] - mov DWORD [16+esp],edx - jmp NEAR L$006loop -align 8 -L$007done: - mov ecx,eax - mov edx,ebx - mov eax,DWORD [12+esp] - mov ebx,DWORD [16+esp] - xor ecx,esi - xor edx,DWORD [12+edi] - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - ret -global _Camellia_Ekeygen -align 16 -_Camellia_Ekeygen: -L$_Camellia_Ekeygen_begin: - push ebp - push ebx - push esi - push edi - sub esp,16 - mov ebp,DWORD [36+esp] - mov esi,DWORD [40+esp] - mov edi,DWORD [44+esp] - 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 [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - cmp ebp,128 - je NEAR L$0081st128 - mov eax,DWORD [16+esi] - mov ebx,DWORD [20+esi] - cmp ebp,192 - je NEAR L$0091st192 - mov ecx,DWORD [24+esi] - mov edx,DWORD [28+esi] - jmp NEAR L$0101st256 -align 4 -L$0091st192: - mov ecx,eax - mov edx,ebx - not ecx - not edx -align 4 -L$0101st256: - bswap eax - bswap ebx - bswap ecx - bswap edx - mov DWORD [32+edi],eax - mov DWORD [36+edi],ebx - mov DWORD [40+edi],ecx - mov DWORD [44+edi],edx - xor eax,DWORD [edi] - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] -align 4 -L$0081st128: - call L$011pic_point -L$011pic_point: - pop ebp - lea ebp,[(L$Camellia_SBOX-L$011pic_point)+ebp] - lea edi,[(L$Camellia_SIGMA-L$Camellia_SBOX)+ebp] - mov esi,DWORD [edi] - mov DWORD [esp],eax - mov DWORD [4+esp],ebx - mov DWORD [8+esp],ecx - mov DWORD [12+esp],edx - xor eax,esi - xor ebx,DWORD [4+edi] - movzx esi,ah - mov edx,DWORD [2052+esi*8+ebp] - movzx esi,al - xor edx,DWORD [4+esi*8+ebp] - shr eax,16 - movzx esi,bl - mov ecx,DWORD [esi*8+ebp] - movzx esi,ah - xor edx,DWORD [esi*8+ebp] - movzx esi,bh - xor ecx,DWORD [4+esi*8+ebp] - shr ebx,16 - movzx eax,al - xor edx,DWORD [2048+eax*8+ebp] - movzx esi,bh - mov eax,DWORD [12+esp] - xor ecx,edx - ror edx,8 - xor ecx,DWORD [2048+esi*8+ebp] - movzx esi,bl - mov ebx,DWORD [8+esp] - xor edx,eax - xor ecx,DWORD [2052+esi*8+ebp] - mov esi,DWORD [8+edi] - xor edx,ecx - mov DWORD [12+esp],edx - xor ecx,ebx - mov DWORD [8+esp],ecx - xor ecx,esi - xor edx,DWORD [12+edi] - movzx esi,ch - mov ebx,DWORD [2052+esi*8+ebp] - movzx esi,cl - xor ebx,DWORD [4+esi*8+ebp] - shr ecx,16 - movzx esi,dl - mov eax,DWORD [esi*8+ebp] - movzx esi,ch - xor ebx,DWORD [esi*8+ebp] - movzx esi,dh - xor eax,DWORD [4+esi*8+ebp] - shr edx,16 - movzx ecx,cl - xor ebx,DWORD [2048+ecx*8+ebp] - movzx esi,dh - mov ecx,DWORD [4+esp] - xor eax,ebx - ror ebx,8 - xor eax,DWORD [2048+esi*8+ebp] - movzx esi,dl - mov edx,DWORD [esp] - xor ebx,ecx - xor eax,DWORD [2052+esi*8+ebp] - mov esi,DWORD [16+edi] - xor ebx,eax - mov DWORD [4+esp],ebx - xor eax,edx - mov DWORD [esp],eax - mov ecx,DWORD [8+esp] - mov edx,DWORD [12+esp] - mov esi,DWORD [44+esp] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - xor edx,DWORD [12+esi] - mov esi,DWORD [16+edi] - mov DWORD [esp],eax - mov DWORD [4+esp],ebx - mov DWORD [8+esp],ecx - mov DWORD [12+esp],edx - xor eax,esi - xor ebx,DWORD [20+edi] - movzx esi,ah - mov edx,DWORD [2052+esi*8+ebp] - movzx esi,al - xor edx,DWORD [4+esi*8+ebp] - shr eax,16 - movzx esi,bl - mov ecx,DWORD [esi*8+ebp] - movzx esi,ah - xor edx,DWORD [esi*8+ebp] - movzx esi,bh - xor ecx,DWORD [4+esi*8+ebp] - shr ebx,16 - movzx eax,al - xor edx,DWORD [2048+eax*8+ebp] - movzx esi,bh - mov eax,DWORD [12+esp] - xor ecx,edx - ror edx,8 - xor ecx,DWORD [2048+esi*8+ebp] - movzx esi,bl - mov ebx,DWORD [8+esp] - xor edx,eax - xor ecx,DWORD [2052+esi*8+ebp] - mov esi,DWORD [24+edi] - xor edx,ecx - mov DWORD [12+esp],edx - xor ecx,ebx - mov DWORD [8+esp],ecx - xor ecx,esi - xor edx,DWORD [28+edi] - movzx esi,ch - mov ebx,DWORD [2052+esi*8+ebp] - movzx esi,cl - xor ebx,DWORD [4+esi*8+ebp] - shr ecx,16 - movzx esi,dl - mov eax,DWORD [esi*8+ebp] - movzx esi,ch - xor ebx,DWORD [esi*8+ebp] - movzx esi,dh - xor eax,DWORD [4+esi*8+ebp] - shr edx,16 - movzx ecx,cl - xor ebx,DWORD [2048+ecx*8+ebp] - movzx esi,dh - mov ecx,DWORD [4+esp] - xor eax,ebx - ror ebx,8 - xor eax,DWORD [2048+esi*8+ebp] - movzx esi,dl - mov edx,DWORD [esp] - xor ebx,ecx - xor eax,DWORD [2052+esi*8+ebp] - mov esi,DWORD [32+edi] - xor ebx,eax - mov DWORD [4+esp],ebx - xor eax,edx - mov DWORD [esp],eax - mov ecx,DWORD [8+esp] - mov edx,DWORD [12+esp] - mov esi,DWORD [36+esp] - cmp esi,128 - jne NEAR L$0122nd256 - mov edi,DWORD [44+esp] - lea edi,[128+edi] - mov DWORD [edi-112],eax - mov DWORD [edi-108],ebx - mov DWORD [edi-104],ecx - mov DWORD [edi-100],edx - mov ebp,eax - shl eax,15 - mov esi,ebx - shr esi,17 - shl ebx,15 - or eax,esi - mov esi,ecx - shl ecx,15 - mov DWORD [edi-80],eax - shr esi,17 - or ebx,esi - shr ebp,17 - mov esi,edx - shr esi,17 - mov DWORD [edi-76],ebx - shl edx,15 - or ecx,esi - or edx,ebp - mov DWORD [edi-72],ecx - mov DWORD [edi-68],edx - mov ebp,eax - shl eax,15 - mov esi,ebx - shr esi,17 - shl ebx,15 - or eax,esi - mov esi,ecx - shl ecx,15 - mov DWORD [edi-64],eax - shr esi,17 - or ebx,esi - shr ebp,17 - mov esi,edx - shr esi,17 - mov DWORD [edi-60],ebx - shl edx,15 - or ecx,esi - or edx,ebp - mov DWORD [edi-56],ecx - mov DWORD [edi-52],edx - mov ebp,eax - shl eax,15 - mov esi,ebx - shr esi,17 - shl ebx,15 - or eax,esi - mov esi,ecx - shl ecx,15 - mov DWORD [edi-32],eax - shr esi,17 - or ebx,esi - shr ebp,17 - mov esi,edx - shr esi,17 - mov DWORD [edi-28],ebx - shl edx,15 - or ecx,esi - or edx,ebp - mov ebp,eax - shl eax,15 - mov esi,ebx - shr esi,17 - shl ebx,15 - or eax,esi - mov esi,ecx - shl ecx,15 - mov DWORD [edi-16],eax - shr esi,17 - or ebx,esi - shr ebp,17 - mov esi,edx - shr esi,17 - mov DWORD [edi-12],ebx - shl edx,15 - or ecx,esi - or edx,ebp - mov DWORD [edi-8],ecx - mov DWORD [edi-4],edx - mov ebp,ebx - shl ebx,2 - mov esi,ecx - shr esi,30 - shl ecx,2 - or ebx,esi - mov esi,edx - shl edx,2 - mov DWORD [32+edi],ebx - shr esi,30 - or ecx,esi - shr ebp,30 - mov esi,eax - shr esi,30 - mov DWORD [36+edi],ecx - shl eax,2 - or edx,esi - or eax,ebp - mov DWORD [40+edi],edx - mov DWORD [44+edi],eax - mov ebp,ebx - shl ebx,17 - mov esi,ecx - shr esi,15 - shl ecx,17 - or ebx,esi - mov esi,edx - shl edx,17 - mov DWORD [64+edi],ebx - shr esi,15 - or ecx,esi - shr ebp,15 - mov esi,eax - shr esi,15 - mov DWORD [68+edi],ecx - shl eax,17 - or edx,esi - or eax,ebp - mov DWORD [72+edi],edx - mov DWORD [76+edi],eax - mov ebx,DWORD [edi-128] - mov ecx,DWORD [edi-124] - mov edx,DWORD [edi-120] - mov eax,DWORD [edi-116] - mov ebp,ebx - shl ebx,15 - mov esi,ecx - shr esi,17 - shl ecx,15 - or ebx,esi - mov esi,edx - shl edx,15 - mov DWORD [edi-96],ebx - shr esi,17 - or ecx,esi - shr ebp,17 - mov esi,eax - shr esi,17 - mov DWORD [edi-92],ecx - shl eax,15 - or edx,esi - or eax,ebp - mov DWORD [edi-88],edx - mov DWORD [edi-84],eax - mov ebp,ebx - shl ebx,30 - mov esi,ecx - shr esi,2 - shl ecx,30 - or ebx,esi - mov esi,edx - shl edx,30 - mov DWORD [edi-48],ebx - shr esi,2 - or ecx,esi - shr ebp,2 - mov esi,eax - shr esi,2 - mov DWORD [edi-44],ecx - shl eax,30 - or edx,esi - or eax,ebp - mov DWORD [edi-40],edx - mov DWORD [edi-36],eax - mov ebp,ebx - shl ebx,15 - mov esi,ecx - shr esi,17 - shl ecx,15 - or ebx,esi - mov esi,edx - shl edx,15 - shr esi,17 - or ecx,esi - shr ebp,17 - mov esi,eax - shr esi,17 - shl eax,15 - or edx,esi - or eax,ebp - mov DWORD [edi-24],edx - mov DWORD [edi-20],eax - mov ebp,ebx - shl ebx,17 - mov esi,ecx - shr esi,15 - shl ecx,17 - or ebx,esi - mov esi,edx - shl edx,17 - mov DWORD [edi],ebx - shr esi,15 - or ecx,esi - shr ebp,15 - mov esi,eax - shr esi,15 - mov DWORD [4+edi],ecx - shl eax,17 - or edx,esi - or eax,ebp - mov DWORD [8+edi],edx - mov DWORD [12+edi],eax - mov ebp,ebx - shl ebx,17 - mov esi,ecx - shr esi,15 - shl ecx,17 - or ebx,esi - mov esi,edx - shl edx,17 - mov DWORD [16+edi],ebx - shr esi,15 - or ecx,esi - shr ebp,15 - mov esi,eax - shr esi,15 - mov DWORD [20+edi],ecx - shl eax,17 - or edx,esi - or eax,ebp - mov DWORD [24+edi],edx - mov DWORD [28+edi],eax - mov ebp,ebx - shl ebx,17 - mov esi,ecx - shr esi,15 - shl ecx,17 - or ebx,esi - mov esi,edx - shl edx,17 - mov DWORD [48+edi],ebx - shr esi,15 - or ecx,esi - shr ebp,15 - mov esi,eax - shr esi,15 - mov DWORD [52+edi],ecx - shl eax,17 - or edx,esi - or eax,ebp - mov DWORD [56+edi],edx - mov DWORD [60+edi],eax - mov eax,3 - jmp NEAR L$013done -align 16 -L$0122nd256: - mov esi,DWORD [44+esp] - mov DWORD [48+esi],eax - mov DWORD [52+esi],ebx - mov DWORD [56+esi],ecx - mov DWORD [60+esi],edx - xor eax,DWORD [32+esi] - xor ebx,DWORD [36+esi] - xor ecx,DWORD [40+esi] - xor edx,DWORD [44+esi] - mov esi,DWORD [32+edi] - mov DWORD [esp],eax - mov DWORD [4+esp],ebx - mov DWORD [8+esp],ecx - mov DWORD [12+esp],edx - xor eax,esi - xor ebx,DWORD [36+edi] - movzx esi,ah - mov edx,DWORD [2052+esi*8+ebp] - movzx esi,al - xor edx,DWORD [4+esi*8+ebp] - shr eax,16 - movzx esi,bl - mov ecx,DWORD [esi*8+ebp] - movzx esi,ah - xor edx,DWORD [esi*8+ebp] - movzx esi,bh - xor ecx,DWORD [4+esi*8+ebp] - shr ebx,16 - movzx eax,al - xor edx,DWORD [2048+eax*8+ebp] - movzx esi,bh - mov eax,DWORD [12+esp] - xor ecx,edx - ror edx,8 - xor ecx,DWORD [2048+esi*8+ebp] - movzx esi,bl - mov ebx,DWORD [8+esp] - xor edx,eax - xor ecx,DWORD [2052+esi*8+ebp] - mov esi,DWORD [40+edi] - xor edx,ecx - mov DWORD [12+esp],edx - xor ecx,ebx - mov DWORD [8+esp],ecx - xor ecx,esi - xor edx,DWORD [44+edi] - movzx esi,ch - mov ebx,DWORD [2052+esi*8+ebp] - movzx esi,cl - xor ebx,DWORD [4+esi*8+ebp] - shr ecx,16 - movzx esi,dl - mov eax,DWORD [esi*8+ebp] - movzx esi,ch - xor ebx,DWORD [esi*8+ebp] - movzx esi,dh - xor eax,DWORD [4+esi*8+ebp] - shr edx,16 - movzx ecx,cl - xor ebx,DWORD [2048+ecx*8+ebp] - movzx esi,dh - mov ecx,DWORD [4+esp] - xor eax,ebx - ror ebx,8 - xor eax,DWORD [2048+esi*8+ebp] - movzx esi,dl - mov edx,DWORD [esp] - xor ebx,ecx - xor eax,DWORD [2052+esi*8+ebp] - mov esi,DWORD [48+edi] - xor ebx,eax - mov DWORD [4+esp],ebx - xor eax,edx - mov DWORD [esp],eax - mov ecx,DWORD [8+esp] - mov edx,DWORD [12+esp] - mov edi,DWORD [44+esp] - lea edi,[128+edi] - mov DWORD [edi-112],eax - mov DWORD [edi-108],ebx - mov DWORD [edi-104],ecx - mov DWORD [edi-100],edx - mov ebp,eax - shl eax,30 - mov esi,ebx - shr esi,2 - shl ebx,30 - or eax,esi - mov esi,ecx - shl ecx,30 - mov DWORD [edi-48],eax - shr esi,2 - or ebx,esi - shr ebp,2 - mov esi,edx - shr esi,2 - mov DWORD [edi-44],ebx - shl edx,30 - or ecx,esi - or edx,ebp - mov DWORD [edi-40],ecx - mov DWORD [edi-36],edx - mov ebp,eax - shl eax,30 - mov esi,ebx - shr esi,2 - shl ebx,30 - or eax,esi - mov esi,ecx - shl ecx,30 - mov DWORD [32+edi],eax - shr esi,2 - or ebx,esi - shr ebp,2 - mov esi,edx - shr esi,2 - mov DWORD [36+edi],ebx - shl edx,30 - or ecx,esi - or edx,ebp - mov DWORD [40+edi],ecx - mov DWORD [44+edi],edx - mov ebp,ebx - shl ebx,19 - mov esi,ecx - shr esi,13 - shl ecx,19 - or ebx,esi - mov esi,edx - shl edx,19 - mov DWORD [128+edi],ebx - shr esi,13 - or ecx,esi - shr ebp,13 - mov esi,eax - shr esi,13 - mov DWORD [132+edi],ecx - shl eax,19 - or edx,esi - or eax,ebp - mov DWORD [136+edi],edx - mov DWORD [140+edi],eax - mov ebx,DWORD [edi-96] - mov ecx,DWORD [edi-92] - mov edx,DWORD [edi-88] - mov eax,DWORD [edi-84] - mov ebp,ebx - shl ebx,15 - mov esi,ecx - shr esi,17 - shl ecx,15 - or ebx,esi - mov esi,edx - shl edx,15 - mov DWORD [edi-96],ebx - shr esi,17 - or ecx,esi - shr ebp,17 - mov esi,eax - shr esi,17 - mov DWORD [edi-92],ecx - shl eax,15 - or edx,esi - or eax,ebp - mov DWORD [edi-88],edx - mov DWORD [edi-84],eax - mov ebp,ebx - shl ebx,15 - mov esi,ecx - shr esi,17 - shl ecx,15 - or ebx,esi - mov esi,edx - shl edx,15 - mov DWORD [edi-64],ebx - shr esi,17 - or ecx,esi - shr ebp,17 - mov esi,eax - shr esi,17 - mov DWORD [edi-60],ecx - shl eax,15 - or edx,esi - or eax,ebp - mov DWORD [edi-56],edx - mov DWORD [edi-52],eax - mov ebp,ebx - shl ebx,30 - mov esi,ecx - shr esi,2 - shl ecx,30 - or ebx,esi - mov esi,edx - shl edx,30 - mov DWORD [16+edi],ebx - shr esi,2 - or ecx,esi - shr ebp,2 - mov esi,eax - shr esi,2 - mov DWORD [20+edi],ecx - shl eax,30 - or edx,esi - or eax,ebp - mov DWORD [24+edi],edx - mov DWORD [28+edi],eax - mov ebp,ecx - shl ecx,2 - mov esi,edx - shr esi,30 - shl edx,2 - or ecx,esi - mov esi,eax - shl eax,2 - mov DWORD [80+edi],ecx - shr esi,30 - or edx,esi - shr ebp,30 - mov esi,ebx - shr esi,30 - mov DWORD [84+edi],edx - shl ebx,2 - or eax,esi - or ebx,ebp - mov DWORD [88+edi],eax - mov DWORD [92+edi],ebx - mov ecx,DWORD [edi-80] - mov edx,DWORD [edi-76] - mov eax,DWORD [edi-72] - mov ebx,DWORD [edi-68] - mov ebp,ecx - shl ecx,15 - mov esi,edx - shr esi,17 - shl edx,15 - or ecx,esi - mov esi,eax - shl eax,15 - mov DWORD [edi-80],ecx - shr esi,17 - or edx,esi - shr ebp,17 - mov esi,ebx - shr esi,17 - mov DWORD [edi-76],edx - shl ebx,15 - or eax,esi - or ebx,ebp - mov DWORD [edi-72],eax - mov DWORD [edi-68],ebx - mov ebp,ecx - shl ecx,30 - mov esi,edx - shr esi,2 - shl edx,30 - or ecx,esi - mov esi,eax - shl eax,30 - mov DWORD [edi-16],ecx - shr esi,2 - or edx,esi - shr ebp,2 - mov esi,ebx - shr esi,2 - mov DWORD [edi-12],edx - shl ebx,30 - or eax,esi - or ebx,ebp - mov DWORD [edi-8],eax - mov DWORD [edi-4],ebx - mov DWORD [64+edi],edx - mov DWORD [68+edi],eax - mov DWORD [72+edi],ebx - mov DWORD [76+edi],ecx - mov ebp,edx - shl edx,17 - mov esi,eax - shr esi,15 - shl eax,17 - or edx,esi - mov esi,ebx - shl ebx,17 - mov DWORD [96+edi],edx - shr esi,15 - or eax,esi - shr ebp,15 - mov esi,ecx - shr esi,15 - mov DWORD [100+edi],eax - shl ecx,17 - or ebx,esi - or ecx,ebp - mov DWORD [104+edi],ebx - mov DWORD [108+edi],ecx - mov edx,DWORD [edi-128] - mov eax,DWORD [edi-124] - mov ebx,DWORD [edi-120] - mov ecx,DWORD [edi-116] - mov ebp,eax - shl eax,13 - mov esi,ebx - shr esi,19 - shl ebx,13 - or eax,esi - mov esi,ecx - shl ecx,13 - mov DWORD [edi-32],eax - shr esi,19 - or ebx,esi - shr ebp,19 - mov esi,edx - shr esi,19 - mov DWORD [edi-28],ebx - shl edx,13 - or ecx,esi - or edx,ebp - mov DWORD [edi-24],ecx - mov DWORD [edi-20],edx - mov ebp,eax - shl eax,15 - mov esi,ebx - shr esi,17 - shl ebx,15 - or eax,esi - mov esi,ecx - shl ecx,15 - mov DWORD [edi],eax - shr esi,17 - or ebx,esi - shr ebp,17 - mov esi,edx - shr esi,17 - mov DWORD [4+edi],ebx - shl edx,15 - or ecx,esi - or edx,ebp - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ebp,eax - shl eax,17 - mov esi,ebx - shr esi,15 - shl ebx,17 - or eax,esi - mov esi,ecx - shl ecx,17 - mov DWORD [48+edi],eax - shr esi,15 - or ebx,esi - shr ebp,15 - mov esi,edx - shr esi,15 - mov DWORD [52+edi],ebx - shl edx,17 - or ecx,esi - or edx,ebp - mov DWORD [56+edi],ecx - mov DWORD [60+edi],edx - mov ebp,ebx - shl ebx,2 - mov esi,ecx - shr esi,30 - shl ecx,2 - or ebx,esi - mov esi,edx - shl edx,2 - mov DWORD [112+edi],ebx - shr esi,30 - or ecx,esi - shr ebp,30 - mov esi,eax - shr esi,30 - mov DWORD [116+edi],ecx - shl eax,2 - or edx,esi - or eax,ebp - mov DWORD [120+edi],edx - mov DWORD [124+edi],eax - mov eax,4 -L$013done: - lea edx,[144+edi] - add esp,16 - pop edi - pop esi - pop ebx - pop ebp - ret -global _private_Camellia_set_key -align 16 -_private_Camellia_set_key: -L$_private_Camellia_set_key_begin: - push ebx - mov ecx,DWORD [8+esp] - mov ebx,DWORD [12+esp] - mov edx,DWORD [16+esp] - mov eax,-1 - test ecx,ecx - jz NEAR L$014done - test edx,edx - jz NEAR L$014done - mov eax,-2 - cmp ebx,256 - je NEAR L$015arg_ok - cmp ebx,192 - je NEAR L$015arg_ok - cmp ebx,128 - jne NEAR L$014done -align 4 -L$015arg_ok: - push edx - push ecx - push ebx - call L$_Camellia_Ekeygen_begin - add esp,12 - mov DWORD [edx],eax - xor eax,eax -align 4 -L$014done: - pop ebx - ret -align 64 -L$Camellia_SIGMA: -dd 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0 -align 64 -L$Camellia_SBOX: -dd 1886416896,1886388336 -dd 2189591040,741081132 -dd 741092352,3014852787 -dd 3974949888,3233808576 -dd 3014898432,3840147684 -dd 656877312,1465319511 -dd 3233857536,3941204202 -dd 3857048832,2930639022 -dd 3840205824,589496355 -dd 2240120064,1802174571 -dd 1465341696,1162149957 -dd 892679424,2779054245 -dd 3941263872,3991732461 -dd 202116096,1330577487 -dd 2930683392,488439837 -dd 1094795520,2459041938 -dd 589505280,2256928902 -dd 4025478912,2947481775 -dd 1802201856,2088501372 -dd 2475922176,522125343 -dd 1162167552,1044250686 -dd 421075200,3705405660 -dd 2779096320,1583218782 -dd 555819264,185270283 -dd 3991792896,2795896998 -dd 235802112,960036921 -dd 1330597632,3587506389 -dd 1313754624,1566376029 -dd 488447232,3654877401 -dd 1701143808,1515847770 -dd 2459079168,1364262993 -dd 3183328512,1819017324 -dd 2256963072,2341142667 -dd 3099113472,2593783962 -dd 2947526400,4227531003 -dd 2408550144,2964324528 -dd 2088532992,1953759348 -dd 3958106880,724238379 -dd 522133248,4042260720 -dd 3469659648,2223243396 -dd 1044266496,3755933919 -dd 808464384,3419078859 -dd 3705461760,875823156 -dd 1600085760,1987444854 -dd 1583242752,1835860077 -dd 3318072576,2846425257 -dd 185273088,3520135377 -dd 437918208,67371012 -dd 2795939328,336855060 -dd 3789676800,976879674 -dd 960051456,3739091166 -dd 3402287616,286326801 -dd 3587560704,842137650 -dd 1195853568,2627469468 -dd 1566399744,1397948499 -dd 1027423488,4075946226 -dd 3654932736,4278059262 -dd 16843008,3486449871 -dd 1515870720,3284336835 -dd 3604403712,2054815866 -dd 1364283648,606339108 -dd 1448498688,3907518696 -dd 1819044864,1616904288 -dd 1296911616,1768489065 -dd 2341178112,2863268010 -dd 218959104,2694840480 -dd 2593823232,2711683233 -dd 1717986816,1650589794 -dd 4227595008,1414791252 -dd 3435973632,505282590 -dd 2964369408,3772776672 -dd 757935360,1684275300 -dd 1953788928,269484048 -dd 303174144,0 -dd 724249344,2745368739 -dd 538976256,1970602101 -dd 4042321920,2324299914 -dd 2981212416,3873833190 -dd 2223277056,151584777 -dd 2576980224,3722248413 -dd 3755990784,2273771655 -dd 1280068608,2206400643 -dd 3419130624,3452764365 -dd 3267543552,2425356432 -dd 875836416,1936916595 -dd 2122219008,4143317238 -dd 1987474944,2644312221 -dd 84215040,3216965823 -dd 1835887872,1381105746 -dd 3082270464,3638034648 -dd 2846468352,3368550600 -dd 825307392,3334865094 -dd 3520188672,2172715137 -dd 387389184,1869545583 -dd 67372032,320012307 -dd 3621246720,1667432547 -dd 336860160,3924361449 -dd 1482184704,2812739751 -dd 976894464,2677997727 -dd 1633771776,3166437564 -dd 3739147776,690552873 -dd 454761216,4193845497 -dd 286331136,791609391 -dd 471604224,3031695540 -dd 842150400,2021130360 -dd 252645120,101056518 -dd 2627509248,3890675943 -dd 370546176,1903231089 -dd 1397969664,3570663636 -dd 404232192,2880110763 -dd 4076007936,2290614408 -dd 572662272,2374828173 -dd 4278124032,1920073842 -dd 1145324544,3115909305 -dd 3486502656,4177002744 -dd 2998055424,2896953516 -dd 3284386560,909508662 -dd 3048584448,707395626 -dd 2054846976,1010565180 -dd 2442236160,4059103473 -dd 606348288,1077936192 -dd 134744064,3553820883 -dd 3907577856,3149594811 -dd 2829625344,1128464451 -dd 1616928768,353697813 -dd 4244438016,2913796269 -dd 1768515840,2004287607 -dd 1347440640,2155872384 -dd 2863311360,2189557890 -dd 3503345664,3974889708 -dd 2694881280,656867367 -dd 2105376000,3856990437 -dd 2711724288,2240086149 -dd 2307492096,892665909 -dd 1650614784,202113036 -dd 2543294208,1094778945 -dd 1414812672,4025417967 -dd 1532713728,2475884691 -dd 505290240,421068825 -dd 2509608192,555810849 -dd 3772833792,235798542 -dd 4294967040,1313734734 -dd 1684300800,1701118053 -dd 3537031680,3183280317 -dd 269488128,3099066552 -dd 3301229568,2408513679 -dd 0,3958046955 -dd 1212696576,3469607118 -dd 2745410304,808452144 -dd 4160222976,1600061535 -dd 1970631936,3318022341 -dd 3688618752,437911578 -dd 2324335104,3789619425 -dd 50529024,3402236106 -dd 3873891840,1195835463 -dd 3671775744,1027407933 -dd 151587072,16842753 -dd 1061109504,3604349142 -dd 3722304768,1448476758 -dd 2492765184,1296891981 -dd 2273806080,218955789 -dd 1549556736,1717960806 -dd 2206434048,3435921612 -dd 33686016,757923885 -dd 3452816640,303169554 -dd 1246382592,538968096 -dd 2425393152,2981167281 -dd 858993408,2576941209 -dd 1936945920,1280049228 -dd 1734829824,3267494082 -dd 4143379968,2122186878 -dd 4092850944,84213765 -dd 2644352256,3082223799 -dd 2139062016,825294897 -dd 3217014528,387383319 -dd 3806519808,3621191895 -dd 1381126656,1482162264 -dd 2610666240,1633747041 -dd 3638089728,454754331 -dd 640034304,471597084 -dd 3368601600,252641295 -dd 926365440,370540566 -dd 3334915584,404226072 -dd 993737472,572653602 -dd 2172748032,1145307204 -dd 2526451200,2998010034 -dd 1869573888,3048538293 -dd 1263225600,2442199185 -dd 320017152,134742024 -dd 3200171520,2829582504 -dd 1667457792,4244373756 -dd 774778368,1347420240 -dd 3924420864,3503292624 -dd 2038003968,2105344125 -dd 2812782336,2307457161 -dd 2358021120,2543255703 -dd 2678038272,1532690523 -dd 1852730880,2509570197 -dd 3166485504,4294902015 -dd 2391707136,3536978130 -dd 690563328,3301179588 -dd 4126536960,1212678216 -dd 4193908992,4160159991 -dd 3065427456,3688562907 -dd 791621376,50528259 -dd 4261281024,3671720154 -dd 3031741440,1061093439 -dd 1499027712,2492727444 -dd 2021160960,1549533276 -dd 2560137216,33685506 -dd 101058048,1246363722 -dd 1785358848,858980403 -dd 3890734848,1734803559 -dd 1179010560,4092788979 -dd 1903259904,2139029631 -dd 3132799488,3806462178 -dd 3570717696,2610626715 -dd 623191296,640024614 -dd 2880154368,926351415 -dd 1111638528,993722427 -dd 2290649088,2526412950 -dd 2728567296,1263206475 -dd 2374864128,3200123070 -dd 4210752000,774766638 -dd 1920102912,2037973113 -dd 117901056,2357985420 -dd 3115956480,1852702830 -dd 1431655680,2391670926 -dd 4177065984,4126474485 -dd 4008635904,3065381046 -dd 2896997376,4261216509 -dd 168430080,1499005017 -dd 909522432,2560098456 -dd 1229539584,1785331818 -dd 707406336,1178992710 -dd 1751672832,3132752058 -dd 1010580480,623181861 -dd 943208448,1111621698 -dd 4059164928,2728525986 -dd 2762253312,4210688250 -dd 1077952512,117899271 -dd 673720320,1431634005 -dd 3553874688,4008575214 -dd 2071689984,168427530 -dd 3149642496,1229520969 -dd 3385444608,1751646312 -dd 1128481536,943194168 -dd 3250700544,2762211492 -dd 353703168,673710120 -dd 3823362816,2071658619 -dd 2913840384,3385393353 -dd 4109693952,3250651329 -dd 2004317952,3823304931 -dd 3351758592,4109631732 -dd 2155905024,3351707847 -dd 2661195264,2661154974 -dd 14737632,939538488 -dd 328965,1090535745 -dd 5789784,369104406 -dd 14277081,1979741814 -dd 6776679,3640711641 -dd 5131854,2466288531 -dd 8487297,1610637408 -dd 13355979,4060148466 -dd 13224393,1912631922 -dd 723723,3254829762 -dd 11447982,2868947883 -dd 6974058,2583730842 -dd 14013909,1962964341 -dd 1579032,100664838 -dd 6118749,1459640151 -dd 8553090,2684395680 -dd 4605510,2432733585 -dd 14671839,4144035831 -dd 14079702,3036722613 -dd 2565927,3372272073 -dd 9079434,2717950626 -dd 3289650,2348846220 -dd 4934475,3523269330 -dd 4342338,2415956112 -dd 14408667,4127258358 -dd 1842204,117442311 -dd 10395294,2801837991 -dd 10263708,654321447 -dd 3815994,2382401166 -dd 13290186,2986390194 -dd 2434341,1224755529 -dd 8092539,3724599006 -dd 855309,1124090691 -dd 7434609,1543527516 -dd 6250335,3607156695 -dd 2039583,3338717127 -dd 16316664,1040203326 -dd 14145495,4110480885 -dd 4079166,2399178639 -dd 10329501,1728079719 -dd 8158332,520101663 -dd 6316128,402659352 -dd 12171705,1845522030 -dd 12500670,2936057775 -dd 12369084,788541231 -dd 9145227,3791708898 -dd 1447446,2231403909 -dd 3421236,218107149 -dd 5066061,1392530259 -dd 12829635,4026593520 -dd 7500402,2617285788 -dd 9803157,1694524773 -dd 11250603,3925928682 -dd 9342606,2734728099 -dd 12237498,2919280302 -dd 8026746,2650840734 -dd 11776947,3959483628 -dd 131586,2147516544 -dd 11842740,754986285 -dd 11382189,1795189611 -dd 10658466,2818615464 -dd 11316396,721431339 -dd 14211288,905983542 -dd 10132122,2785060518 -dd 1513239,3305162181 -dd 1710618,2248181382 -dd 3487029,1291865421 -dd 13421772,855651123 -dd 16250871,4244700669 -dd 10066329,1711302246 -dd 6381921,1476417624 -dd 5921370,2516620950 -dd 15263976,973093434 -dd 2368548,150997257 -dd 5658198,2499843477 -dd 4210752,268439568 -dd 14803425,2013296760 -dd 6513507,3623934168 -dd 592137,1107313218 -dd 3355443,3422604492 -dd 12566463,4009816047 -dd 10000536,637543974 -dd 9934743,3842041317 -dd 8750469,1627414881 -dd 6842472,436214298 -dd 16579836,1056980799 -dd 15527148,989870907 -dd 657930,2181071490 -dd 14342874,3053500086 -dd 7303023,3674266587 -dd 5460819,3556824276 -dd 6447714,2550175896 -dd 10724259,3892373736 -dd 3026478,2332068747 -dd 526344,33554946 -dd 11513775,3942706155 -dd 2631720,167774730 -dd 11579568,738208812 -dd 7631988,486546717 -dd 12763842,2952835248 -dd 12434877,1862299503 -dd 3552822,2365623693 -dd 2236962,2281736328 -dd 3684408,234884622 -dd 6579300,419436825 -dd 1973790,2264958855 -dd 3750201,1308642894 -dd 2894892,184552203 -dd 10921638,2835392937 -dd 3158064,201329676 -dd 15066597,2030074233 -dd 4473924,285217041 -dd 16645629,2130739071 -dd 8947848,570434082 -dd 10461087,3875596263 -dd 6645093,1493195097 -dd 8882055,3774931425 -dd 7039851,3657489114 -dd 16053492,1023425853 -dd 2302755,3355494600 -dd 4737096,301994514 -dd 1052688,67109892 -dd 13750737,1946186868 -dd 5329233,1409307732 -dd 12632256,805318704 -dd 16382457,2113961598 -dd 13816530,3019945140 -dd 10526880,671098920 -dd 5592405,1426085205 -dd 10592673,1744857192 -dd 4276545,1342197840 -dd 16448250,3187719870 -dd 4408131,3489714384 -dd 1250067,3288384708 -dd 12895428,822096177 -dd 3092271,3405827019 -dd 11053224,704653866 -dd 11974326,2902502829 -dd 3947580,251662095 -dd 2829099,3389049546 -dd 12698049,1879076976 -dd 16777215,4278255615 -dd 13158600,838873650 -dd 10855845,1761634665 -dd 2105376,134219784 -dd 9013641,1644192354 -dd 0,0 -dd 9474192,603989028 -dd 4671303,3506491857 -dd 15724527,4211145723 -dd 15395562,3120609978 -dd 12040119,3976261101 -dd 1381653,1157645637 -dd 394758,2164294017 -dd 13487565,1929409395 -dd 11908533,1828744557 -dd 1184274,2214626436 -dd 8289918,2667618207 -dd 12303291,3993038574 -dd 2697513,1241533002 -dd 986895,3271607235 -dd 12105912,771763758 -dd 460551,3238052289 -dd 263172,16777473 -dd 10197915,3858818790 -dd 9737364,620766501 -dd 2171169,1207978056 -dd 6710886,2566953369 -dd 15132390,3103832505 -dd 13553358,3003167667 -dd 15592941,2063629179 -dd 15198183,4177590777 -dd 3881787,3456159438 -dd 16711422,3204497343 -dd 8355711,3741376479 -dd 12961221,1895854449 -dd 10790052,687876393 -dd 3618615,3439381965 -dd 11645361,1811967084 -dd 5000268,318771987 -dd 9539985,1677747300 -dd 7237230,2600508315 -dd 9276813,1660969827 -dd 7763574,2634063261 -dd 197379,3221274816 -dd 2960685,1258310475 -dd 14606046,3070277559 -dd 9868950,2768283045 -dd 2500134,2298513801 -dd 8224125,1593859935 -dd 13027014,2969612721 -dd 6052956,385881879 -dd 13882323,4093703412 -dd 15921906,3154164924 -dd 5197647,3540046803 -dd 1644825,1174423110 -dd 4144959,3472936911 -dd 14474460,922761015 -dd 7960953,1577082462 -dd 1907997,1191200583 -dd 5395026,2483066004 -dd 15461355,4194368250 -dd 15987699,4227923196 -dd 7171437,1526750043 -dd 6184542,2533398423 -dd 16514043,4261478142 -dd 6908265,1509972570 -dd 11711154,2885725356 -dd 15790320,1006648380 -dd 3223857,1275087948 -dd 789516,50332419 -dd 13948116,889206069 -dd 13619151,4076925939 -dd 9211020,587211555 -dd 14869218,3087055032 -dd 7697781,1560304989 -dd 11119017,1778412138 -dd 4868682,2449511058 -dd 5723991,3573601749 -dd 8684676,553656609 -dd 1118481,1140868164 -dd 4539717,1358975313 -dd 1776411,3321939654 -dd 16119285,2097184125 -dd 15000804,956315961 -dd 921102,2197848963 -dd 7566195,3691044060 -dd 11184810,2852170410 -dd 15856113,2080406652 -dd 14540253,1996519287 -dd 5855577,1442862678 -dd 1315860,83887365 -dd 7105644,452991771 -dd 9605778,2751505572 -dd 5526612,352326933 -dd 13684944,872428596 -dd 7895160,503324190 -dd 7368816,469769244 -dd 14935011,4160813304 -dd 4802889,1375752786 -dd 8421504,536879136 -dd 5263440,335549460 -dd 10987431,3909151209 -dd 16185078,3170942397 -dd 7829367,3707821533 -dd 9671571,3825263844 -dd 8816262,2701173153 -dd 8618883,3758153952 -dd 2763306,2315291274 -dd 13092807,4043370993 -dd 5987163,3590379222 -dd 15329769,2046851706 -dd 15658734,3137387451 -dd 9408399,3808486371 -dd 65793,1073758272 -dd 4013373,1325420367 -global _Camellia_cbc_encrypt -align 16 -_Camellia_cbc_encrypt: -L$_Camellia_cbc_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov ecx,DWORD [28+esp] - cmp ecx,0 - je NEAR L$016enc_out - pushfd - cld - mov eax,DWORD [24+esp] - mov ebx,DWORD [28+esp] - mov edx,DWORD [36+esp] - mov ebp,DWORD [40+esp] - lea esi,[esp-64] - and esi,-64 - lea edi,[edx-127] - sub edi,esi - neg edi - and edi,960 - sub esi,edi - mov edi,DWORD [44+esp] - xchg esp,esi - add esp,4 - mov DWORD [20+esp],esi - mov DWORD [24+esp],eax - mov DWORD [28+esp],ebx - mov DWORD [32+esp],ecx - mov DWORD [36+esp],edx - mov DWORD [40+esp],ebp - call L$017pic_point -L$017pic_point: - pop ebp - lea ebp,[(L$Camellia_SBOX-L$017pic_point)+ebp] - mov esi,32 -align 4 -L$018prefetch_sbox: - mov eax,DWORD [ebp] - mov ebx,DWORD [32+ebp] - mov ecx,DWORD [64+ebp] - mov edx,DWORD [96+ebp] - lea ebp,[128+ebp] - dec esi - jnz NEAR L$018prefetch_sbox - mov eax,DWORD [36+esp] - sub ebp,4096 - mov esi,DWORD [24+esp] - mov edx,DWORD [272+eax] - cmp edi,0 - je NEAR L$019DECRYPT - mov ecx,DWORD [32+esp] - mov edi,DWORD [40+esp] - shl edx,6 - lea edx,[edx*1+eax] - mov DWORD [16+esp],edx - test ecx,4294967280 - jz NEAR L$020enc_tail - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] -align 4 -L$021enc_loop: - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - xor eax,DWORD [esi] - xor ebx,DWORD [4+esi] - xor ecx,DWORD [8+esi] - bswap eax - xor edx,DWORD [12+esi] - bswap ebx - mov edi,DWORD [36+esp] - bswap ecx - bswap edx - call __x86_Camellia_encrypt - mov esi,DWORD [24+esp] - mov edi,DWORD [28+esp] - bswap eax - bswap ebx - bswap ecx - mov DWORD [edi],eax - bswap edx - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov ecx,DWORD [32+esp] - lea esi,[16+esi] - mov DWORD [24+esp],esi - lea edx,[16+edi] - mov DWORD [28+esp],edx - sub ecx,16 - test ecx,4294967280 - mov DWORD [32+esp],ecx - jnz NEAR L$021enc_loop - test ecx,15 - jnz NEAR L$020enc_tail - mov esi,DWORD [40+esp] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov esp,DWORD [20+esp] - popfd -L$016enc_out: - pop edi - pop esi - pop ebx - pop ebp - ret - pushfd -align 4 -L$020enc_tail: - mov eax,edi - mov edi,DWORD [28+esp] - push eax - mov ebx,16 - sub ebx,ecx - cmp edi,esi - je NEAR L$022enc_in_place -align 4 -dd 2767451785 - jmp NEAR L$023enc_skip_in_place -L$022enc_in_place: - lea edi,[ecx*1+edi] -L$023enc_skip_in_place: - mov ecx,ebx - xor eax,eax -align 4 -dd 2868115081 - pop edi - mov esi,DWORD [28+esp] - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov DWORD [32+esp],16 - jmp NEAR L$021enc_loop -align 16 -L$019DECRYPT: - shl edx,6 - lea edx,[edx*1+eax] - mov DWORD [16+esp],eax - mov DWORD [36+esp],edx - cmp esi,DWORD [28+esp] - je NEAR L$024dec_in_place - mov edi,DWORD [40+esp] - mov DWORD [44+esp],edi -align 4 -L$025dec_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - bswap eax - mov edx,DWORD [12+esi] - bswap ebx - mov edi,DWORD [36+esp] - bswap ecx - bswap edx - call __x86_Camellia_decrypt - mov edi,DWORD [44+esp] - mov esi,DWORD [32+esp] - bswap eax - bswap ebx - bswap ecx - xor eax,DWORD [edi] - bswap edx - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - sub esi,16 - jc NEAR L$026dec_partial - mov DWORD [32+esp],esi - mov esi,DWORD [24+esp] - mov edi,DWORD [28+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov DWORD [44+esp],esi - lea esi,[16+esi] - mov DWORD [24+esp],esi - lea edi,[16+edi] - mov DWORD [28+esp],edi - jnz NEAR L$025dec_loop - mov edi,DWORD [44+esp] -L$027dec_end: - mov esi,DWORD [40+esp] - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - jmp NEAR L$028dec_out -align 4 -L$026dec_partial: - lea edi,[44+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - lea ecx,[16+esi] - mov esi,edi - mov edi,DWORD [28+esp] -dd 2767451785 - mov edi,DWORD [24+esp] - jmp NEAR L$027dec_end -align 4 -L$024dec_in_place: -L$029dec_in_place_loop: - lea edi,[44+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - bswap eax - mov DWORD [12+edi],edx - bswap ebx - mov edi,DWORD [36+esp] - bswap ecx - bswap edx - call __x86_Camellia_decrypt - mov edi,DWORD [40+esp] - mov esi,DWORD [28+esp] - bswap eax - bswap ebx - bswap ecx - xor eax,DWORD [edi] - bswap edx - xor ebx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [12+edi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - lea esi,[16+esi] - mov DWORD [28+esp],esi - lea esi,[44+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [12+edi],edx - mov esi,DWORD [24+esp] - lea esi,[16+esi] - mov DWORD [24+esp],esi - mov ecx,DWORD [32+esp] - sub ecx,16 - jc NEAR L$030dec_in_place_partial - mov DWORD [32+esp],ecx - jnz NEAR L$029dec_in_place_loop - jmp NEAR L$028dec_out -align 4 -L$030dec_in_place_partial: - mov edi,DWORD [28+esp] - lea esi,[44+esp] - lea edi,[ecx*1+edi] - lea esi,[16+ecx*1+esi] - neg ecx -dd 2767451785 -align 4 -L$028dec_out: - mov esp,DWORD [20+esp] - popfd - pop edi - pop esi - pop ebx - pop ebp - ret -db 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54 -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 +%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 _Camellia_EncryptBlock_Rounds +align 16 +_Camellia_EncryptBlock_Rounds: +L$_Camellia_EncryptBlock_Rounds_begin: + push ebp + push ebx + push esi + push edi + mov eax,DWORD [20+esp] + mov esi,DWORD [24+esp] + mov edi,DWORD [28+esp] + mov ebx,esp + sub esp,28 + and esp,-64 + lea ecx,[edi-127] + sub ecx,esp + neg ecx + and ecx,960 + sub esp,ecx + add esp,4 + shl eax,6 + lea eax,[eax*1+edi] + mov DWORD [20+esp],ebx + mov DWORD [16+esp],eax + call L$000pic_point +L$000pic_point: + pop ebp + lea ebp,[(L$Camellia_SBOX-L$000pic_point)+ebp] + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + bswap eax + mov edx,DWORD [12+esi] + bswap ebx + bswap ecx + bswap edx + call __x86_Camellia_encrypt + mov esp,DWORD [20+esp] + bswap eax + mov esi,DWORD [32+esp] + bswap ebx + bswap ecx + bswap edx + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + pop edi + pop esi + pop ebx + pop ebp + ret +global _Camellia_EncryptBlock +align 16 +_Camellia_EncryptBlock: +L$_Camellia_EncryptBlock_begin: + mov eax,128 + sub eax,DWORD [4+esp] + mov eax,3 + adc eax,0 + mov DWORD [4+esp],eax + jmp NEAR L$_Camellia_EncryptBlock_Rounds_begin +global _Camellia_encrypt +align 16 +_Camellia_encrypt: +L$_Camellia_encrypt_begin: + push ebp + push ebx + push esi + push edi + mov esi,DWORD [20+esp] + mov edi,DWORD [28+esp] + mov ebx,esp + sub esp,28 + and esp,-64 + mov eax,DWORD [272+edi] + lea ecx,[edi-127] + sub ecx,esp + neg ecx + and ecx,960 + sub esp,ecx + add esp,4 + shl eax,6 + lea eax,[eax*1+edi] + mov DWORD [20+esp],ebx + mov DWORD [16+esp],eax + call L$001pic_point +L$001pic_point: + pop ebp + lea ebp,[(L$Camellia_SBOX-L$001pic_point)+ebp] + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + bswap eax + mov edx,DWORD [12+esi] + bswap ebx + bswap ecx + bswap edx + call __x86_Camellia_encrypt + mov esp,DWORD [20+esp] + bswap eax + mov esi,DWORD [24+esp] + bswap ebx + bswap ecx + bswap edx + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + pop edi + pop esi + pop ebx + pop ebp + ret +align 16 +__x86_Camellia_encrypt: + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + mov esi,DWORD [16+edi] + mov DWORD [4+esp],eax + mov DWORD [8+esp],ebx + mov DWORD [12+esp],ecx + mov DWORD [16+esp],edx +align 16 +L$002loop: + xor eax,esi + xor ebx,DWORD [20+edi] + movzx esi,ah + mov edx,DWORD [2052+esi*8+ebp] + movzx esi,al + xor edx,DWORD [4+esi*8+ebp] + shr eax,16 + movzx esi,bl + mov ecx,DWORD [esi*8+ebp] + movzx esi,ah + xor edx,DWORD [esi*8+ebp] + movzx esi,bh + xor ecx,DWORD [4+esi*8+ebp] + shr ebx,16 + movzx eax,al + xor edx,DWORD [2048+eax*8+ebp] + movzx esi,bh + mov eax,DWORD [16+esp] + xor ecx,edx + ror edx,8 + xor ecx,DWORD [2048+esi*8+ebp] + movzx esi,bl + mov ebx,DWORD [12+esp] + xor edx,eax + xor ecx,DWORD [2052+esi*8+ebp] + mov esi,DWORD [24+edi] + xor edx,ecx + mov DWORD [16+esp],edx + xor ecx,ebx + mov DWORD [12+esp],ecx + xor ecx,esi + xor edx,DWORD [28+edi] + movzx esi,ch + mov ebx,DWORD [2052+esi*8+ebp] + movzx esi,cl + xor ebx,DWORD [4+esi*8+ebp] + shr ecx,16 + movzx esi,dl + mov eax,DWORD [esi*8+ebp] + movzx esi,ch + xor ebx,DWORD [esi*8+ebp] + movzx esi,dh + xor eax,DWORD [4+esi*8+ebp] + shr edx,16 + movzx ecx,cl + xor ebx,DWORD [2048+ecx*8+ebp] + movzx esi,dh + mov ecx,DWORD [8+esp] + xor eax,ebx + ror ebx,8 + xor eax,DWORD [2048+esi*8+ebp] + movzx esi,dl + mov edx,DWORD [4+esp] + xor ebx,ecx + xor eax,DWORD [2052+esi*8+ebp] + mov esi,DWORD [32+edi] + xor ebx,eax + mov DWORD [8+esp],ebx + xor eax,edx + mov DWORD [4+esp],eax + xor eax,esi + xor ebx,DWORD [36+edi] + movzx esi,ah + mov edx,DWORD [2052+esi*8+ebp] + movzx esi,al + xor edx,DWORD [4+esi*8+ebp] + shr eax,16 + movzx esi,bl + mov ecx,DWORD [esi*8+ebp] + movzx esi,ah + xor edx,DWORD [esi*8+ebp] + movzx esi,bh + xor ecx,DWORD [4+esi*8+ebp] + shr ebx,16 + movzx eax,al + xor edx,DWORD [2048+eax*8+ebp] + movzx esi,bh + mov eax,DWORD [16+esp] + xor ecx,edx + ror edx,8 + xor ecx,DWORD [2048+esi*8+ebp] + movzx esi,bl + mov ebx,DWORD [12+esp] + xor edx,eax + xor ecx,DWORD [2052+esi*8+ebp] + mov esi,DWORD [40+edi] + xor edx,ecx + mov DWORD [16+esp],edx + xor ecx,ebx + mov DWORD [12+esp],ecx + xor ecx,esi + xor edx,DWORD [44+edi] + movzx esi,ch + mov ebx,DWORD [2052+esi*8+ebp] + movzx esi,cl + xor ebx,DWORD [4+esi*8+ebp] + shr ecx,16 + movzx esi,dl + mov eax,DWORD [esi*8+ebp] + movzx esi,ch + xor ebx,DWORD [esi*8+ebp] + movzx esi,dh + xor eax,DWORD [4+esi*8+ebp] + shr edx,16 + movzx ecx,cl + xor ebx,DWORD [2048+ecx*8+ebp] + movzx esi,dh + mov ecx,DWORD [8+esp] + xor eax,ebx + ror ebx,8 + xor eax,DWORD [2048+esi*8+ebp] + movzx esi,dl + mov edx,DWORD [4+esp] + xor ebx,ecx + xor eax,DWORD [2052+esi*8+ebp] + mov esi,DWORD [48+edi] + xor ebx,eax + mov DWORD [8+esp],ebx + xor eax,edx + mov DWORD [4+esp],eax + xor eax,esi + xor ebx,DWORD [52+edi] + movzx esi,ah + mov edx,DWORD [2052+esi*8+ebp] + movzx esi,al + xor edx,DWORD [4+esi*8+ebp] + shr eax,16 + movzx esi,bl + mov ecx,DWORD [esi*8+ebp] + movzx esi,ah + xor edx,DWORD [esi*8+ebp] + movzx esi,bh + xor ecx,DWORD [4+esi*8+ebp] + shr ebx,16 + movzx eax,al + xor edx,DWORD [2048+eax*8+ebp] + movzx esi,bh + mov eax,DWORD [16+esp] + xor ecx,edx + ror edx,8 + xor ecx,DWORD [2048+esi*8+ebp] + movzx esi,bl + mov ebx,DWORD [12+esp] + xor edx,eax + xor ecx,DWORD [2052+esi*8+ebp] + mov esi,DWORD [56+edi] + xor edx,ecx + mov DWORD [16+esp],edx + xor ecx,ebx + mov DWORD [12+esp],ecx + xor ecx,esi + xor edx,DWORD [60+edi] + movzx esi,ch + mov ebx,DWORD [2052+esi*8+ebp] + movzx esi,cl + xor ebx,DWORD [4+esi*8+ebp] + shr ecx,16 + movzx esi,dl + mov eax,DWORD [esi*8+ebp] + movzx esi,ch + xor ebx,DWORD [esi*8+ebp] + movzx esi,dh + xor eax,DWORD [4+esi*8+ebp] + shr edx,16 + movzx ecx,cl + xor ebx,DWORD [2048+ecx*8+ebp] + movzx esi,dh + mov ecx,DWORD [8+esp] + xor eax,ebx + ror ebx,8 + xor eax,DWORD [2048+esi*8+ebp] + movzx esi,dl + mov edx,DWORD [4+esp] + xor ebx,ecx + xor eax,DWORD [2052+esi*8+ebp] + mov esi,DWORD [64+edi] + xor ebx,eax + mov DWORD [8+esp],ebx + xor eax,edx + mov DWORD [4+esp],eax + add edi,64 + cmp edi,DWORD [20+esp] + je NEAR L$003done + and esi,eax + mov edx,DWORD [16+esp] + rol esi,1 + mov ecx,edx + xor ebx,esi + or ecx,DWORD [12+edi] + mov DWORD [8+esp],ebx + xor ecx,DWORD [12+esp] + mov esi,DWORD [4+edi] + mov DWORD [12+esp],ecx + or esi,ebx + and ecx,DWORD [8+edi] + xor eax,esi + rol ecx,1 + mov DWORD [4+esp],eax + xor edx,ecx + mov esi,DWORD [16+edi] + mov DWORD [16+esp],edx + jmp NEAR L$002loop +align 8 +L$003done: + mov ecx,eax + mov edx,ebx + mov eax,DWORD [12+esp] + mov ebx,DWORD [16+esp] + xor eax,esi + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + ret +global _Camellia_DecryptBlock_Rounds +align 16 +_Camellia_DecryptBlock_Rounds: +L$_Camellia_DecryptBlock_Rounds_begin: + push ebp + push ebx + push esi + push edi + mov eax,DWORD [20+esp] + mov esi,DWORD [24+esp] + mov edi,DWORD [28+esp] + mov ebx,esp + sub esp,28 + and esp,-64 + lea ecx,[edi-127] + sub ecx,esp + neg ecx + and ecx,960 + sub esp,ecx + add esp,4 + shl eax,6 + mov DWORD [16+esp],edi + lea edi,[eax*1+edi] + mov DWORD [20+esp],ebx + call L$004pic_point +L$004pic_point: + pop ebp + lea ebp,[(L$Camellia_SBOX-L$004pic_point)+ebp] + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + bswap eax + mov edx,DWORD [12+esi] + bswap ebx + bswap ecx + bswap edx + call __x86_Camellia_decrypt + mov esp,DWORD [20+esp] + bswap eax + mov esi,DWORD [32+esp] + bswap ebx + bswap ecx + bswap edx + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + pop edi + pop esi + pop ebx + pop ebp + ret +global _Camellia_DecryptBlock +align 16 +_Camellia_DecryptBlock: +L$_Camellia_DecryptBlock_begin: + mov eax,128 + sub eax,DWORD [4+esp] + mov eax,3 + adc eax,0 + mov DWORD [4+esp],eax + jmp NEAR L$_Camellia_DecryptBlock_Rounds_begin +global _Camellia_decrypt +align 16 +_Camellia_decrypt: +L$_Camellia_decrypt_begin: + push ebp + push ebx + push esi + push edi + mov esi,DWORD [20+esp] + mov edi,DWORD [28+esp] + mov ebx,esp + sub esp,28 + and esp,-64 + mov eax,DWORD [272+edi] + lea ecx,[edi-127] + sub ecx,esp + neg ecx + and ecx,960 + sub esp,ecx + add esp,4 + shl eax,6 + mov DWORD [16+esp],edi + lea edi,[eax*1+edi] + mov DWORD [20+esp],ebx + call L$005pic_point +L$005pic_point: + pop ebp + lea ebp,[(L$Camellia_SBOX-L$005pic_point)+ebp] + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + bswap eax + mov edx,DWORD [12+esi] + bswap ebx + bswap ecx + bswap edx + call __x86_Camellia_decrypt + mov esp,DWORD [20+esp] + bswap eax + mov esi,DWORD [24+esp] + bswap ebx + bswap ecx + bswap edx + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + pop edi + pop esi + pop ebx + pop ebp + ret +align 16 +__x86_Camellia_decrypt: + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + mov esi,DWORD [edi-8] + mov DWORD [4+esp],eax + mov DWORD [8+esp],ebx + mov DWORD [12+esp],ecx + mov DWORD [16+esp],edx +align 16 +L$006loop: + xor eax,esi + xor ebx,DWORD [edi-4] + movzx esi,ah + mov edx,DWORD [2052+esi*8+ebp] + movzx esi,al + xor edx,DWORD [4+esi*8+ebp] + shr eax,16 + movzx esi,bl + mov ecx,DWORD [esi*8+ebp] + movzx esi,ah + xor edx,DWORD [esi*8+ebp] + movzx esi,bh + xor ecx,DWORD [4+esi*8+ebp] + shr ebx,16 + movzx eax,al + xor edx,DWORD [2048+eax*8+ebp] + movzx esi,bh + mov eax,DWORD [16+esp] + xor ecx,edx + ror edx,8 + xor ecx,DWORD [2048+esi*8+ebp] + movzx esi,bl + mov ebx,DWORD [12+esp] + xor edx,eax + xor ecx,DWORD [2052+esi*8+ebp] + mov esi,DWORD [edi-16] + xor edx,ecx + mov DWORD [16+esp],edx + xor ecx,ebx + mov DWORD [12+esp],ecx + xor ecx,esi + xor edx,DWORD [edi-12] + movzx esi,ch + mov ebx,DWORD [2052+esi*8+ebp] + movzx esi,cl + xor ebx,DWORD [4+esi*8+ebp] + shr ecx,16 + movzx esi,dl + mov eax,DWORD [esi*8+ebp] + movzx esi,ch + xor ebx,DWORD [esi*8+ebp] + movzx esi,dh + xor eax,DWORD [4+esi*8+ebp] + shr edx,16 + movzx ecx,cl + xor ebx,DWORD [2048+ecx*8+ebp] + movzx esi,dh + mov ecx,DWORD [8+esp] + xor eax,ebx + ror ebx,8 + xor eax,DWORD [2048+esi*8+ebp] + movzx esi,dl + mov edx,DWORD [4+esp] + xor ebx,ecx + xor eax,DWORD [2052+esi*8+ebp] + mov esi,DWORD [edi-24] + xor ebx,eax + mov DWORD [8+esp],ebx + xor eax,edx + mov DWORD [4+esp],eax + xor eax,esi + xor ebx,DWORD [edi-20] + movzx esi,ah + mov edx,DWORD [2052+esi*8+ebp] + movzx esi,al + xor edx,DWORD [4+esi*8+ebp] + shr eax,16 + movzx esi,bl + mov ecx,DWORD [esi*8+ebp] + movzx esi,ah + xor edx,DWORD [esi*8+ebp] + movzx esi,bh + xor ecx,DWORD [4+esi*8+ebp] + shr ebx,16 + movzx eax,al + xor edx,DWORD [2048+eax*8+ebp] + movzx esi,bh + mov eax,DWORD [16+esp] + xor ecx,edx + ror edx,8 + xor ecx,DWORD [2048+esi*8+ebp] + movzx esi,bl + mov ebx,DWORD [12+esp] + xor edx,eax + xor ecx,DWORD [2052+esi*8+ebp] + mov esi,DWORD [edi-32] + xor edx,ecx + mov DWORD [16+esp],edx + xor ecx,ebx + mov DWORD [12+esp],ecx + xor ecx,esi + xor edx,DWORD [edi-28] + movzx esi,ch + mov ebx,DWORD [2052+esi*8+ebp] + movzx esi,cl + xor ebx,DWORD [4+esi*8+ebp] + shr ecx,16 + movzx esi,dl + mov eax,DWORD [esi*8+ebp] + movzx esi,ch + xor ebx,DWORD [esi*8+ebp] + movzx esi,dh + xor eax,DWORD [4+esi*8+ebp] + shr edx,16 + movzx ecx,cl + xor ebx,DWORD [2048+ecx*8+ebp] + movzx esi,dh + mov ecx,DWORD [8+esp] + xor eax,ebx + ror ebx,8 + xor eax,DWORD [2048+esi*8+ebp] + movzx esi,dl + mov edx,DWORD [4+esp] + xor ebx,ecx + xor eax,DWORD [2052+esi*8+ebp] + mov esi,DWORD [edi-40] + xor ebx,eax + mov DWORD [8+esp],ebx + xor eax,edx + mov DWORD [4+esp],eax + xor eax,esi + xor ebx,DWORD [edi-36] + movzx esi,ah + mov edx,DWORD [2052+esi*8+ebp] + movzx esi,al + xor edx,DWORD [4+esi*8+ebp] + shr eax,16 + movzx esi,bl + mov ecx,DWORD [esi*8+ebp] + movzx esi,ah + xor edx,DWORD [esi*8+ebp] + movzx esi,bh + xor ecx,DWORD [4+esi*8+ebp] + shr ebx,16 + movzx eax,al + xor edx,DWORD [2048+eax*8+ebp] + movzx esi,bh + mov eax,DWORD [16+esp] + xor ecx,edx + ror edx,8 + xor ecx,DWORD [2048+esi*8+ebp] + movzx esi,bl + mov ebx,DWORD [12+esp] + xor edx,eax + xor ecx,DWORD [2052+esi*8+ebp] + mov esi,DWORD [edi-48] + xor edx,ecx + mov DWORD [16+esp],edx + xor ecx,ebx + mov DWORD [12+esp],ecx + xor ecx,esi + xor edx,DWORD [edi-44] + movzx esi,ch + mov ebx,DWORD [2052+esi*8+ebp] + movzx esi,cl + xor ebx,DWORD [4+esi*8+ebp] + shr ecx,16 + movzx esi,dl + mov eax,DWORD [esi*8+ebp] + movzx esi,ch + xor ebx,DWORD [esi*8+ebp] + movzx esi,dh + xor eax,DWORD [4+esi*8+ebp] + shr edx,16 + movzx ecx,cl + xor ebx,DWORD [2048+ecx*8+ebp] + movzx esi,dh + mov ecx,DWORD [8+esp] + xor eax,ebx + ror ebx,8 + xor eax,DWORD [2048+esi*8+ebp] + movzx esi,dl + mov edx,DWORD [4+esp] + xor ebx,ecx + xor eax,DWORD [2052+esi*8+ebp] + mov esi,DWORD [edi-56] + xor ebx,eax + mov DWORD [8+esp],ebx + xor eax,edx + mov DWORD [4+esp],eax + sub edi,64 + cmp edi,DWORD [20+esp] + je NEAR L$007done + and esi,eax + mov edx,DWORD [16+esp] + rol esi,1 + mov ecx,edx + xor ebx,esi + or ecx,DWORD [4+edi] + mov DWORD [8+esp],ebx + xor ecx,DWORD [12+esp] + mov esi,DWORD [12+edi] + mov DWORD [12+esp],ecx + or esi,ebx + and ecx,DWORD [edi] + xor eax,esi + rol ecx,1 + mov DWORD [4+esp],eax + xor edx,ecx + mov esi,DWORD [edi-8] + mov DWORD [16+esp],edx + jmp NEAR L$006loop +align 8 +L$007done: + mov ecx,eax + mov edx,ebx + mov eax,DWORD [12+esp] + mov ebx,DWORD [16+esp] + xor ecx,esi + xor edx,DWORD [12+edi] + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + ret +global _Camellia_Ekeygen +align 16 +_Camellia_Ekeygen: +L$_Camellia_Ekeygen_begin: + push ebp + push ebx + push esi + push edi + sub esp,16 + mov ebp,DWORD [36+esp] + mov esi,DWORD [40+esp] + mov edi,DWORD [44+esp] + 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 [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + cmp ebp,128 + je NEAR L$0081st128 + mov eax,DWORD [16+esi] + mov ebx,DWORD [20+esi] + cmp ebp,192 + je NEAR L$0091st192 + mov ecx,DWORD [24+esi] + mov edx,DWORD [28+esi] + jmp NEAR L$0101st256 +align 4 +L$0091st192: + mov ecx,eax + mov edx,ebx + not ecx + not edx +align 4 +L$0101st256: + bswap eax + bswap ebx + bswap ecx + bswap edx + mov DWORD [32+edi],eax + mov DWORD [36+edi],ebx + mov DWORD [40+edi],ecx + mov DWORD [44+edi],edx + xor eax,DWORD [edi] + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] +align 4 +L$0081st128: + call L$011pic_point +L$011pic_point: + pop ebp + lea ebp,[(L$Camellia_SBOX-L$011pic_point)+ebp] + lea edi,[(L$Camellia_SIGMA-L$Camellia_SBOX)+ebp] + mov esi,DWORD [edi] + mov DWORD [esp],eax + mov DWORD [4+esp],ebx + mov DWORD [8+esp],ecx + mov DWORD [12+esp],edx + xor eax,esi + xor ebx,DWORD [4+edi] + movzx esi,ah + mov edx,DWORD [2052+esi*8+ebp] + movzx esi,al + xor edx,DWORD [4+esi*8+ebp] + shr eax,16 + movzx esi,bl + mov ecx,DWORD [esi*8+ebp] + movzx esi,ah + xor edx,DWORD [esi*8+ebp] + movzx esi,bh + xor ecx,DWORD [4+esi*8+ebp] + shr ebx,16 + movzx eax,al + xor edx,DWORD [2048+eax*8+ebp] + movzx esi,bh + mov eax,DWORD [12+esp] + xor ecx,edx + ror edx,8 + xor ecx,DWORD [2048+esi*8+ebp] + movzx esi,bl + mov ebx,DWORD [8+esp] + xor edx,eax + xor ecx,DWORD [2052+esi*8+ebp] + mov esi,DWORD [8+edi] + xor edx,ecx + mov DWORD [12+esp],edx + xor ecx,ebx + mov DWORD [8+esp],ecx + xor ecx,esi + xor edx,DWORD [12+edi] + movzx esi,ch + mov ebx,DWORD [2052+esi*8+ebp] + movzx esi,cl + xor ebx,DWORD [4+esi*8+ebp] + shr ecx,16 + movzx esi,dl + mov eax,DWORD [esi*8+ebp] + movzx esi,ch + xor ebx,DWORD [esi*8+ebp] + movzx esi,dh + xor eax,DWORD [4+esi*8+ebp] + shr edx,16 + movzx ecx,cl + xor ebx,DWORD [2048+ecx*8+ebp] + movzx esi,dh + mov ecx,DWORD [4+esp] + xor eax,ebx + ror ebx,8 + xor eax,DWORD [2048+esi*8+ebp] + movzx esi,dl + mov edx,DWORD [esp] + xor ebx,ecx + xor eax,DWORD [2052+esi*8+ebp] + mov esi,DWORD [16+edi] + xor ebx,eax + mov DWORD [4+esp],ebx + xor eax,edx + mov DWORD [esp],eax + mov ecx,DWORD [8+esp] + mov edx,DWORD [12+esp] + mov esi,DWORD [44+esp] + xor eax,DWORD [esi] + xor ebx,DWORD [4+esi] + xor ecx,DWORD [8+esi] + xor edx,DWORD [12+esi] + mov esi,DWORD [16+edi] + mov DWORD [esp],eax + mov DWORD [4+esp],ebx + mov DWORD [8+esp],ecx + mov DWORD [12+esp],edx + xor eax,esi + xor ebx,DWORD [20+edi] + movzx esi,ah + mov edx,DWORD [2052+esi*8+ebp] + movzx esi,al + xor edx,DWORD [4+esi*8+ebp] + shr eax,16 + movzx esi,bl + mov ecx,DWORD [esi*8+ebp] + movzx esi,ah + xor edx,DWORD [esi*8+ebp] + movzx esi,bh + xor ecx,DWORD [4+esi*8+ebp] + shr ebx,16 + movzx eax,al + xor edx,DWORD [2048+eax*8+ebp] + movzx esi,bh + mov eax,DWORD [12+esp] + xor ecx,edx + ror edx,8 + xor ecx,DWORD [2048+esi*8+ebp] + movzx esi,bl + mov ebx,DWORD [8+esp] + xor edx,eax + xor ecx,DWORD [2052+esi*8+ebp] + mov esi,DWORD [24+edi] + xor edx,ecx + mov DWORD [12+esp],edx + xor ecx,ebx + mov DWORD [8+esp],ecx + xor ecx,esi + xor edx,DWORD [28+edi] + movzx esi,ch + mov ebx,DWORD [2052+esi*8+ebp] + movzx esi,cl + xor ebx,DWORD [4+esi*8+ebp] + shr ecx,16 + movzx esi,dl + mov eax,DWORD [esi*8+ebp] + movzx esi,ch + xor ebx,DWORD [esi*8+ebp] + movzx esi,dh + xor eax,DWORD [4+esi*8+ebp] + shr edx,16 + movzx ecx,cl + xor ebx,DWORD [2048+ecx*8+ebp] + movzx esi,dh + mov ecx,DWORD [4+esp] + xor eax,ebx + ror ebx,8 + xor eax,DWORD [2048+esi*8+ebp] + movzx esi,dl + mov edx,DWORD [esp] + xor ebx,ecx + xor eax,DWORD [2052+esi*8+ebp] + mov esi,DWORD [32+edi] + xor ebx,eax + mov DWORD [4+esp],ebx + xor eax,edx + mov DWORD [esp],eax + mov ecx,DWORD [8+esp] + mov edx,DWORD [12+esp] + mov esi,DWORD [36+esp] + cmp esi,128 + jne NEAR L$0122nd256 + mov edi,DWORD [44+esp] + lea edi,[128+edi] + mov DWORD [edi-112],eax + mov DWORD [edi-108],ebx + mov DWORD [edi-104],ecx + mov DWORD [edi-100],edx + mov ebp,eax + shl eax,15 + mov esi,ebx + shr esi,17 + shl ebx,15 + or eax,esi + mov esi,ecx + shl ecx,15 + mov DWORD [edi-80],eax + shr esi,17 + or ebx,esi + shr ebp,17 + mov esi,edx + shr esi,17 + mov DWORD [edi-76],ebx + shl edx,15 + or ecx,esi + or edx,ebp + mov DWORD [edi-72],ecx + mov DWORD [edi-68],edx + mov ebp,eax + shl eax,15 + mov esi,ebx + shr esi,17 + shl ebx,15 + or eax,esi + mov esi,ecx + shl ecx,15 + mov DWORD [edi-64],eax + shr esi,17 + or ebx,esi + shr ebp,17 + mov esi,edx + shr esi,17 + mov DWORD [edi-60],ebx + shl edx,15 + or ecx,esi + or edx,ebp + mov DWORD [edi-56],ecx + mov DWORD [edi-52],edx + mov ebp,eax + shl eax,15 + mov esi,ebx + shr esi,17 + shl ebx,15 + or eax,esi + mov esi,ecx + shl ecx,15 + mov DWORD [edi-32],eax + shr esi,17 + or ebx,esi + shr ebp,17 + mov esi,edx + shr esi,17 + mov DWORD [edi-28],ebx + shl edx,15 + or ecx,esi + or edx,ebp + mov ebp,eax + shl eax,15 + mov esi,ebx + shr esi,17 + shl ebx,15 + or eax,esi + mov esi,ecx + shl ecx,15 + mov DWORD [edi-16],eax + shr esi,17 + or ebx,esi + shr ebp,17 + mov esi,edx + shr esi,17 + mov DWORD [edi-12],ebx + shl edx,15 + or ecx,esi + or edx,ebp + mov DWORD [edi-8],ecx + mov DWORD [edi-4],edx + mov ebp,ebx + shl ebx,2 + mov esi,ecx + shr esi,30 + shl ecx,2 + or ebx,esi + mov esi,edx + shl edx,2 + mov DWORD [32+edi],ebx + shr esi,30 + or ecx,esi + shr ebp,30 + mov esi,eax + shr esi,30 + mov DWORD [36+edi],ecx + shl eax,2 + or edx,esi + or eax,ebp + mov DWORD [40+edi],edx + mov DWORD [44+edi],eax + mov ebp,ebx + shl ebx,17 + mov esi,ecx + shr esi,15 + shl ecx,17 + or ebx,esi + mov esi,edx + shl edx,17 + mov DWORD [64+edi],ebx + shr esi,15 + or ecx,esi + shr ebp,15 + mov esi,eax + shr esi,15 + mov DWORD [68+edi],ecx + shl eax,17 + or edx,esi + or eax,ebp + mov DWORD [72+edi],edx + mov DWORD [76+edi],eax + mov ebx,DWORD [edi-128] + mov ecx,DWORD [edi-124] + mov edx,DWORD [edi-120] + mov eax,DWORD [edi-116] + mov ebp,ebx + shl ebx,15 + mov esi,ecx + shr esi,17 + shl ecx,15 + or ebx,esi + mov esi,edx + shl edx,15 + mov DWORD [edi-96],ebx + shr esi,17 + or ecx,esi + shr ebp,17 + mov esi,eax + shr esi,17 + mov DWORD [edi-92],ecx + shl eax,15 + or edx,esi + or eax,ebp + mov DWORD [edi-88],edx + mov DWORD [edi-84],eax + mov ebp,ebx + shl ebx,30 + mov esi,ecx + shr esi,2 + shl ecx,30 + or ebx,esi + mov esi,edx + shl edx,30 + mov DWORD [edi-48],ebx + shr esi,2 + or ecx,esi + shr ebp,2 + mov esi,eax + shr esi,2 + mov DWORD [edi-44],ecx + shl eax,30 + or edx,esi + or eax,ebp + mov DWORD [edi-40],edx + mov DWORD [edi-36],eax + mov ebp,ebx + shl ebx,15 + mov esi,ecx + shr esi,17 + shl ecx,15 + or ebx,esi + mov esi,edx + shl edx,15 + shr esi,17 + or ecx,esi + shr ebp,17 + mov esi,eax + shr esi,17 + shl eax,15 + or edx,esi + or eax,ebp + mov DWORD [edi-24],edx + mov DWORD [edi-20],eax + mov ebp,ebx + shl ebx,17 + mov esi,ecx + shr esi,15 + shl ecx,17 + or ebx,esi + mov esi,edx + shl edx,17 + mov DWORD [edi],ebx + shr esi,15 + or ecx,esi + shr ebp,15 + mov esi,eax + shr esi,15 + mov DWORD [4+edi],ecx + shl eax,17 + or edx,esi + or eax,ebp + mov DWORD [8+edi],edx + mov DWORD [12+edi],eax + mov ebp,ebx + shl ebx,17 + mov esi,ecx + shr esi,15 + shl ecx,17 + or ebx,esi + mov esi,edx + shl edx,17 + mov DWORD [16+edi],ebx + shr esi,15 + or ecx,esi + shr ebp,15 + mov esi,eax + shr esi,15 + mov DWORD [20+edi],ecx + shl eax,17 + or edx,esi + or eax,ebp + mov DWORD [24+edi],edx + mov DWORD [28+edi],eax + mov ebp,ebx + shl ebx,17 + mov esi,ecx + shr esi,15 + shl ecx,17 + or ebx,esi + mov esi,edx + shl edx,17 + mov DWORD [48+edi],ebx + shr esi,15 + or ecx,esi + shr ebp,15 + mov esi,eax + shr esi,15 + mov DWORD [52+edi],ecx + shl eax,17 + or edx,esi + or eax,ebp + mov DWORD [56+edi],edx + mov DWORD [60+edi],eax + mov eax,3 + jmp NEAR L$013done +align 16 +L$0122nd256: + mov esi,DWORD [44+esp] + mov DWORD [48+esi],eax + mov DWORD [52+esi],ebx + mov DWORD [56+esi],ecx + mov DWORD [60+esi],edx + xor eax,DWORD [32+esi] + xor ebx,DWORD [36+esi] + xor ecx,DWORD [40+esi] + xor edx,DWORD [44+esi] + mov esi,DWORD [32+edi] + mov DWORD [esp],eax + mov DWORD [4+esp],ebx + mov DWORD [8+esp],ecx + mov DWORD [12+esp],edx + xor eax,esi + xor ebx,DWORD [36+edi] + movzx esi,ah + mov edx,DWORD [2052+esi*8+ebp] + movzx esi,al + xor edx,DWORD [4+esi*8+ebp] + shr eax,16 + movzx esi,bl + mov ecx,DWORD [esi*8+ebp] + movzx esi,ah + xor edx,DWORD [esi*8+ebp] + movzx esi,bh + xor ecx,DWORD [4+esi*8+ebp] + shr ebx,16 + movzx eax,al + xor edx,DWORD [2048+eax*8+ebp] + movzx esi,bh + mov eax,DWORD [12+esp] + xor ecx,edx + ror edx,8 + xor ecx,DWORD [2048+esi*8+ebp] + movzx esi,bl + mov ebx,DWORD [8+esp] + xor edx,eax + xor ecx,DWORD [2052+esi*8+ebp] + mov esi,DWORD [40+edi] + xor edx,ecx + mov DWORD [12+esp],edx + xor ecx,ebx + mov DWORD [8+esp],ecx + xor ecx,esi + xor edx,DWORD [44+edi] + movzx esi,ch + mov ebx,DWORD [2052+esi*8+ebp] + movzx esi,cl + xor ebx,DWORD [4+esi*8+ebp] + shr ecx,16 + movzx esi,dl + mov eax,DWORD [esi*8+ebp] + movzx esi,ch + xor ebx,DWORD [esi*8+ebp] + movzx esi,dh + xor eax,DWORD [4+esi*8+ebp] + shr edx,16 + movzx ecx,cl + xor ebx,DWORD [2048+ecx*8+ebp] + movzx esi,dh + mov ecx,DWORD [4+esp] + xor eax,ebx + ror ebx,8 + xor eax,DWORD [2048+esi*8+ebp] + movzx esi,dl + mov edx,DWORD [esp] + xor ebx,ecx + xor eax,DWORD [2052+esi*8+ebp] + mov esi,DWORD [48+edi] + xor ebx,eax + mov DWORD [4+esp],ebx + xor eax,edx + mov DWORD [esp],eax + mov ecx,DWORD [8+esp] + mov edx,DWORD [12+esp] + mov edi,DWORD [44+esp] + lea edi,[128+edi] + mov DWORD [edi-112],eax + mov DWORD [edi-108],ebx + mov DWORD [edi-104],ecx + mov DWORD [edi-100],edx + mov ebp,eax + shl eax,30 + mov esi,ebx + shr esi,2 + shl ebx,30 + or eax,esi + mov esi,ecx + shl ecx,30 + mov DWORD [edi-48],eax + shr esi,2 + or ebx,esi + shr ebp,2 + mov esi,edx + shr esi,2 + mov DWORD [edi-44],ebx + shl edx,30 + or ecx,esi + or edx,ebp + mov DWORD [edi-40],ecx + mov DWORD [edi-36],edx + mov ebp,eax + shl eax,30 + mov esi,ebx + shr esi,2 + shl ebx,30 + or eax,esi + mov esi,ecx + shl ecx,30 + mov DWORD [32+edi],eax + shr esi,2 + or ebx,esi + shr ebp,2 + mov esi,edx + shr esi,2 + mov DWORD [36+edi],ebx + shl edx,30 + or ecx,esi + or edx,ebp + mov DWORD [40+edi],ecx + mov DWORD [44+edi],edx + mov ebp,ebx + shl ebx,19 + mov esi,ecx + shr esi,13 + shl ecx,19 + or ebx,esi + mov esi,edx + shl edx,19 + mov DWORD [128+edi],ebx + shr esi,13 + or ecx,esi + shr ebp,13 + mov esi,eax + shr esi,13 + mov DWORD [132+edi],ecx + shl eax,19 + or edx,esi + or eax,ebp + mov DWORD [136+edi],edx + mov DWORD [140+edi],eax + mov ebx,DWORD [edi-96] + mov ecx,DWORD [edi-92] + mov edx,DWORD [edi-88] + mov eax,DWORD [edi-84] + mov ebp,ebx + shl ebx,15 + mov esi,ecx + shr esi,17 + shl ecx,15 + or ebx,esi + mov esi,edx + shl edx,15 + mov DWORD [edi-96],ebx + shr esi,17 + or ecx,esi + shr ebp,17 + mov esi,eax + shr esi,17 + mov DWORD [edi-92],ecx + shl eax,15 + or edx,esi + or eax,ebp + mov DWORD [edi-88],edx + mov DWORD [edi-84],eax + mov ebp,ebx + shl ebx,15 + mov esi,ecx + shr esi,17 + shl ecx,15 + or ebx,esi + mov esi,edx + shl edx,15 + mov DWORD [edi-64],ebx + shr esi,17 + or ecx,esi + shr ebp,17 + mov esi,eax + shr esi,17 + mov DWORD [edi-60],ecx + shl eax,15 + or edx,esi + or eax,ebp + mov DWORD [edi-56],edx + mov DWORD [edi-52],eax + mov ebp,ebx + shl ebx,30 + mov esi,ecx + shr esi,2 + shl ecx,30 + or ebx,esi + mov esi,edx + shl edx,30 + mov DWORD [16+edi],ebx + shr esi,2 + or ecx,esi + shr ebp,2 + mov esi,eax + shr esi,2 + mov DWORD [20+edi],ecx + shl eax,30 + or edx,esi + or eax,ebp + mov DWORD [24+edi],edx + mov DWORD [28+edi],eax + mov ebp,ecx + shl ecx,2 + mov esi,edx + shr esi,30 + shl edx,2 + or ecx,esi + mov esi,eax + shl eax,2 + mov DWORD [80+edi],ecx + shr esi,30 + or edx,esi + shr ebp,30 + mov esi,ebx + shr esi,30 + mov DWORD [84+edi],edx + shl ebx,2 + or eax,esi + or ebx,ebp + mov DWORD [88+edi],eax + mov DWORD [92+edi],ebx + mov ecx,DWORD [edi-80] + mov edx,DWORD [edi-76] + mov eax,DWORD [edi-72] + mov ebx,DWORD [edi-68] + mov ebp,ecx + shl ecx,15 + mov esi,edx + shr esi,17 + shl edx,15 + or ecx,esi + mov esi,eax + shl eax,15 + mov DWORD [edi-80],ecx + shr esi,17 + or edx,esi + shr ebp,17 + mov esi,ebx + shr esi,17 + mov DWORD [edi-76],edx + shl ebx,15 + or eax,esi + or ebx,ebp + mov DWORD [edi-72],eax + mov DWORD [edi-68],ebx + mov ebp,ecx + shl ecx,30 + mov esi,edx + shr esi,2 + shl edx,30 + or ecx,esi + mov esi,eax + shl eax,30 + mov DWORD [edi-16],ecx + shr esi,2 + or edx,esi + shr ebp,2 + mov esi,ebx + shr esi,2 + mov DWORD [edi-12],edx + shl ebx,30 + or eax,esi + or ebx,ebp + mov DWORD [edi-8],eax + mov DWORD [edi-4],ebx + mov DWORD [64+edi],edx + mov DWORD [68+edi],eax + mov DWORD [72+edi],ebx + mov DWORD [76+edi],ecx + mov ebp,edx + shl edx,17 + mov esi,eax + shr esi,15 + shl eax,17 + or edx,esi + mov esi,ebx + shl ebx,17 + mov DWORD [96+edi],edx + shr esi,15 + or eax,esi + shr ebp,15 + mov esi,ecx + shr esi,15 + mov DWORD [100+edi],eax + shl ecx,17 + or ebx,esi + or ecx,ebp + mov DWORD [104+edi],ebx + mov DWORD [108+edi],ecx + mov edx,DWORD [edi-128] + mov eax,DWORD [edi-124] + mov ebx,DWORD [edi-120] + mov ecx,DWORD [edi-116] + mov ebp,eax + shl eax,13 + mov esi,ebx + shr esi,19 + shl ebx,13 + or eax,esi + mov esi,ecx + shl ecx,13 + mov DWORD [edi-32],eax + shr esi,19 + or ebx,esi + shr ebp,19 + mov esi,edx + shr esi,19 + mov DWORD [edi-28],ebx + shl edx,13 + or ecx,esi + or edx,ebp + mov DWORD [edi-24],ecx + mov DWORD [edi-20],edx + mov ebp,eax + shl eax,15 + mov esi,ebx + shr esi,17 + shl ebx,15 + or eax,esi + mov esi,ecx + shl ecx,15 + mov DWORD [edi],eax + shr esi,17 + or ebx,esi + shr ebp,17 + mov esi,edx + shr esi,17 + mov DWORD [4+edi],ebx + shl edx,15 + or ecx,esi + or edx,ebp + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov ebp,eax + shl eax,17 + mov esi,ebx + shr esi,15 + shl ebx,17 + or eax,esi + mov esi,ecx + shl ecx,17 + mov DWORD [48+edi],eax + shr esi,15 + or ebx,esi + shr ebp,15 + mov esi,edx + shr esi,15 + mov DWORD [52+edi],ebx + shl edx,17 + or ecx,esi + or edx,ebp + mov DWORD [56+edi],ecx + mov DWORD [60+edi],edx + mov ebp,ebx + shl ebx,2 + mov esi,ecx + shr esi,30 + shl ecx,2 + or ebx,esi + mov esi,edx + shl edx,2 + mov DWORD [112+edi],ebx + shr esi,30 + or ecx,esi + shr ebp,30 + mov esi,eax + shr esi,30 + mov DWORD [116+edi],ecx + shl eax,2 + or edx,esi + or eax,ebp + mov DWORD [120+edi],edx + mov DWORD [124+edi],eax + mov eax,4 +L$013done: + lea edx,[144+edi] + add esp,16 + pop edi + pop esi + pop ebx + pop ebp + ret +global _private_Camellia_set_key +align 16 +_private_Camellia_set_key: +L$_private_Camellia_set_key_begin: + push ebx + mov ecx,DWORD [8+esp] + mov ebx,DWORD [12+esp] + mov edx,DWORD [16+esp] + mov eax,-1 + test ecx,ecx + jz NEAR L$014done + test edx,edx + jz NEAR L$014done + mov eax,-2 + cmp ebx,256 + je NEAR L$015arg_ok + cmp ebx,192 + je NEAR L$015arg_ok + cmp ebx,128 + jne NEAR L$014done +align 4 +L$015arg_ok: + push edx + push ecx + push ebx + call L$_Camellia_Ekeygen_begin + add esp,12 + mov DWORD [edx],eax + xor eax,eax +align 4 +L$014done: + pop ebx + ret +align 64 +L$Camellia_SIGMA: +dd 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0 +align 64 +L$Camellia_SBOX: +dd 1886416896,1886388336 +dd 2189591040,741081132 +dd 741092352,3014852787 +dd 3974949888,3233808576 +dd 3014898432,3840147684 +dd 656877312,1465319511 +dd 3233857536,3941204202 +dd 3857048832,2930639022 +dd 3840205824,589496355 +dd 2240120064,1802174571 +dd 1465341696,1162149957 +dd 892679424,2779054245 +dd 3941263872,3991732461 +dd 202116096,1330577487 +dd 2930683392,488439837 +dd 1094795520,2459041938 +dd 589505280,2256928902 +dd 4025478912,2947481775 +dd 1802201856,2088501372 +dd 2475922176,522125343 +dd 1162167552,1044250686 +dd 421075200,3705405660 +dd 2779096320,1583218782 +dd 555819264,185270283 +dd 3991792896,2795896998 +dd 235802112,960036921 +dd 1330597632,3587506389 +dd 1313754624,1566376029 +dd 488447232,3654877401 +dd 1701143808,1515847770 +dd 2459079168,1364262993 +dd 3183328512,1819017324 +dd 2256963072,2341142667 +dd 3099113472,2593783962 +dd 2947526400,4227531003 +dd 2408550144,2964324528 +dd 2088532992,1953759348 +dd 3958106880,724238379 +dd 522133248,4042260720 +dd 3469659648,2223243396 +dd 1044266496,3755933919 +dd 808464384,3419078859 +dd 3705461760,875823156 +dd 1600085760,1987444854 +dd 1583242752,1835860077 +dd 3318072576,2846425257 +dd 185273088,3520135377 +dd 437918208,67371012 +dd 2795939328,336855060 +dd 3789676800,976879674 +dd 960051456,3739091166 +dd 3402287616,286326801 +dd 3587560704,842137650 +dd 1195853568,2627469468 +dd 1566399744,1397948499 +dd 1027423488,4075946226 +dd 3654932736,4278059262 +dd 16843008,3486449871 +dd 1515870720,3284336835 +dd 3604403712,2054815866 +dd 1364283648,606339108 +dd 1448498688,3907518696 +dd 1819044864,1616904288 +dd 1296911616,1768489065 +dd 2341178112,2863268010 +dd 218959104,2694840480 +dd 2593823232,2711683233 +dd 1717986816,1650589794 +dd 4227595008,1414791252 +dd 3435973632,505282590 +dd 2964369408,3772776672 +dd 757935360,1684275300 +dd 1953788928,269484048 +dd 303174144,0 +dd 724249344,2745368739 +dd 538976256,1970602101 +dd 4042321920,2324299914 +dd 2981212416,3873833190 +dd 2223277056,151584777 +dd 2576980224,3722248413 +dd 3755990784,2273771655 +dd 1280068608,2206400643 +dd 3419130624,3452764365 +dd 3267543552,2425356432 +dd 875836416,1936916595 +dd 2122219008,4143317238 +dd 1987474944,2644312221 +dd 84215040,3216965823 +dd 1835887872,1381105746 +dd 3082270464,3638034648 +dd 2846468352,3368550600 +dd 825307392,3334865094 +dd 3520188672,2172715137 +dd 387389184,1869545583 +dd 67372032,320012307 +dd 3621246720,1667432547 +dd 336860160,3924361449 +dd 1482184704,2812739751 +dd 976894464,2677997727 +dd 1633771776,3166437564 +dd 3739147776,690552873 +dd 454761216,4193845497 +dd 286331136,791609391 +dd 471604224,3031695540 +dd 842150400,2021130360 +dd 252645120,101056518 +dd 2627509248,3890675943 +dd 370546176,1903231089 +dd 1397969664,3570663636 +dd 404232192,2880110763 +dd 4076007936,2290614408 +dd 572662272,2374828173 +dd 4278124032,1920073842 +dd 1145324544,3115909305 +dd 3486502656,4177002744 +dd 2998055424,2896953516 +dd 3284386560,909508662 +dd 3048584448,707395626 +dd 2054846976,1010565180 +dd 2442236160,4059103473 +dd 606348288,1077936192 +dd 134744064,3553820883 +dd 3907577856,3149594811 +dd 2829625344,1128464451 +dd 1616928768,353697813 +dd 4244438016,2913796269 +dd 1768515840,2004287607 +dd 1347440640,2155872384 +dd 2863311360,2189557890 +dd 3503345664,3974889708 +dd 2694881280,656867367 +dd 2105376000,3856990437 +dd 2711724288,2240086149 +dd 2307492096,892665909 +dd 1650614784,202113036 +dd 2543294208,1094778945 +dd 1414812672,4025417967 +dd 1532713728,2475884691 +dd 505290240,421068825 +dd 2509608192,555810849 +dd 3772833792,235798542 +dd 4294967040,1313734734 +dd 1684300800,1701118053 +dd 3537031680,3183280317 +dd 269488128,3099066552 +dd 3301229568,2408513679 +dd 0,3958046955 +dd 1212696576,3469607118 +dd 2745410304,808452144 +dd 4160222976,1600061535 +dd 1970631936,3318022341 +dd 3688618752,437911578 +dd 2324335104,3789619425 +dd 50529024,3402236106 +dd 3873891840,1195835463 +dd 3671775744,1027407933 +dd 151587072,16842753 +dd 1061109504,3604349142 +dd 3722304768,1448476758 +dd 2492765184,1296891981 +dd 2273806080,218955789 +dd 1549556736,1717960806 +dd 2206434048,3435921612 +dd 33686016,757923885 +dd 3452816640,303169554 +dd 1246382592,538968096 +dd 2425393152,2981167281 +dd 858993408,2576941209 +dd 1936945920,1280049228 +dd 1734829824,3267494082 +dd 4143379968,2122186878 +dd 4092850944,84213765 +dd 2644352256,3082223799 +dd 2139062016,825294897 +dd 3217014528,387383319 +dd 3806519808,3621191895 +dd 1381126656,1482162264 +dd 2610666240,1633747041 +dd 3638089728,454754331 +dd 640034304,471597084 +dd 3368601600,252641295 +dd 926365440,370540566 +dd 3334915584,404226072 +dd 993737472,572653602 +dd 2172748032,1145307204 +dd 2526451200,2998010034 +dd 1869573888,3048538293 +dd 1263225600,2442199185 +dd 320017152,134742024 +dd 3200171520,2829582504 +dd 1667457792,4244373756 +dd 774778368,1347420240 +dd 3924420864,3503292624 +dd 2038003968,2105344125 +dd 2812782336,2307457161 +dd 2358021120,2543255703 +dd 2678038272,1532690523 +dd 1852730880,2509570197 +dd 3166485504,4294902015 +dd 2391707136,3536978130 +dd 690563328,3301179588 +dd 4126536960,1212678216 +dd 4193908992,4160159991 +dd 3065427456,3688562907 +dd 791621376,50528259 +dd 4261281024,3671720154 +dd 3031741440,1061093439 +dd 1499027712,2492727444 +dd 2021160960,1549533276 +dd 2560137216,33685506 +dd 101058048,1246363722 +dd 1785358848,858980403 +dd 3890734848,1734803559 +dd 1179010560,4092788979 +dd 1903259904,2139029631 +dd 3132799488,3806462178 +dd 3570717696,2610626715 +dd 623191296,640024614 +dd 2880154368,926351415 +dd 1111638528,993722427 +dd 2290649088,2526412950 +dd 2728567296,1263206475 +dd 2374864128,3200123070 +dd 4210752000,774766638 +dd 1920102912,2037973113 +dd 117901056,2357985420 +dd 3115956480,1852702830 +dd 1431655680,2391670926 +dd 4177065984,4126474485 +dd 4008635904,3065381046 +dd 2896997376,4261216509 +dd 168430080,1499005017 +dd 909522432,2560098456 +dd 1229539584,1785331818 +dd 707406336,1178992710 +dd 1751672832,3132752058 +dd 1010580480,623181861 +dd 943208448,1111621698 +dd 4059164928,2728525986 +dd 2762253312,4210688250 +dd 1077952512,117899271 +dd 673720320,1431634005 +dd 3553874688,4008575214 +dd 2071689984,168427530 +dd 3149642496,1229520969 +dd 3385444608,1751646312 +dd 1128481536,943194168 +dd 3250700544,2762211492 +dd 353703168,673710120 +dd 3823362816,2071658619 +dd 2913840384,3385393353 +dd 4109693952,3250651329 +dd 2004317952,3823304931 +dd 3351758592,4109631732 +dd 2155905024,3351707847 +dd 2661195264,2661154974 +dd 14737632,939538488 +dd 328965,1090535745 +dd 5789784,369104406 +dd 14277081,1979741814 +dd 6776679,3640711641 +dd 5131854,2466288531 +dd 8487297,1610637408 +dd 13355979,4060148466 +dd 13224393,1912631922 +dd 723723,3254829762 +dd 11447982,2868947883 +dd 6974058,2583730842 +dd 14013909,1962964341 +dd 1579032,100664838 +dd 6118749,1459640151 +dd 8553090,2684395680 +dd 4605510,2432733585 +dd 14671839,4144035831 +dd 14079702,3036722613 +dd 2565927,3372272073 +dd 9079434,2717950626 +dd 3289650,2348846220 +dd 4934475,3523269330 +dd 4342338,2415956112 +dd 14408667,4127258358 +dd 1842204,117442311 +dd 10395294,2801837991 +dd 10263708,654321447 +dd 3815994,2382401166 +dd 13290186,2986390194 +dd 2434341,1224755529 +dd 8092539,3724599006 +dd 855309,1124090691 +dd 7434609,1543527516 +dd 6250335,3607156695 +dd 2039583,3338717127 +dd 16316664,1040203326 +dd 14145495,4110480885 +dd 4079166,2399178639 +dd 10329501,1728079719 +dd 8158332,520101663 +dd 6316128,402659352 +dd 12171705,1845522030 +dd 12500670,2936057775 +dd 12369084,788541231 +dd 9145227,3791708898 +dd 1447446,2231403909 +dd 3421236,218107149 +dd 5066061,1392530259 +dd 12829635,4026593520 +dd 7500402,2617285788 +dd 9803157,1694524773 +dd 11250603,3925928682 +dd 9342606,2734728099 +dd 12237498,2919280302 +dd 8026746,2650840734 +dd 11776947,3959483628 +dd 131586,2147516544 +dd 11842740,754986285 +dd 11382189,1795189611 +dd 10658466,2818615464 +dd 11316396,721431339 +dd 14211288,905983542 +dd 10132122,2785060518 +dd 1513239,3305162181 +dd 1710618,2248181382 +dd 3487029,1291865421 +dd 13421772,855651123 +dd 16250871,4244700669 +dd 10066329,1711302246 +dd 6381921,1476417624 +dd 5921370,2516620950 +dd 15263976,973093434 +dd 2368548,150997257 +dd 5658198,2499843477 +dd 4210752,268439568 +dd 14803425,2013296760 +dd 6513507,3623934168 +dd 592137,1107313218 +dd 3355443,3422604492 +dd 12566463,4009816047 +dd 10000536,637543974 +dd 9934743,3842041317 +dd 8750469,1627414881 +dd 6842472,436214298 +dd 16579836,1056980799 +dd 15527148,989870907 +dd 657930,2181071490 +dd 14342874,3053500086 +dd 7303023,3674266587 +dd 5460819,3556824276 +dd 6447714,2550175896 +dd 10724259,3892373736 +dd 3026478,2332068747 +dd 526344,33554946 +dd 11513775,3942706155 +dd 2631720,167774730 +dd 11579568,738208812 +dd 7631988,486546717 +dd 12763842,2952835248 +dd 12434877,1862299503 +dd 3552822,2365623693 +dd 2236962,2281736328 +dd 3684408,234884622 +dd 6579300,419436825 +dd 1973790,2264958855 +dd 3750201,1308642894 +dd 2894892,184552203 +dd 10921638,2835392937 +dd 3158064,201329676 +dd 15066597,2030074233 +dd 4473924,285217041 +dd 16645629,2130739071 +dd 8947848,570434082 +dd 10461087,3875596263 +dd 6645093,1493195097 +dd 8882055,3774931425 +dd 7039851,3657489114 +dd 16053492,1023425853 +dd 2302755,3355494600 +dd 4737096,301994514 +dd 1052688,67109892 +dd 13750737,1946186868 +dd 5329233,1409307732 +dd 12632256,805318704 +dd 16382457,2113961598 +dd 13816530,3019945140 +dd 10526880,671098920 +dd 5592405,1426085205 +dd 10592673,1744857192 +dd 4276545,1342197840 +dd 16448250,3187719870 +dd 4408131,3489714384 +dd 1250067,3288384708 +dd 12895428,822096177 +dd 3092271,3405827019 +dd 11053224,704653866 +dd 11974326,2902502829 +dd 3947580,251662095 +dd 2829099,3389049546 +dd 12698049,1879076976 +dd 16777215,4278255615 +dd 13158600,838873650 +dd 10855845,1761634665 +dd 2105376,134219784 +dd 9013641,1644192354 +dd 0,0 +dd 9474192,603989028 +dd 4671303,3506491857 +dd 15724527,4211145723 +dd 15395562,3120609978 +dd 12040119,3976261101 +dd 1381653,1157645637 +dd 394758,2164294017 +dd 13487565,1929409395 +dd 11908533,1828744557 +dd 1184274,2214626436 +dd 8289918,2667618207 +dd 12303291,3993038574 +dd 2697513,1241533002 +dd 986895,3271607235 +dd 12105912,771763758 +dd 460551,3238052289 +dd 263172,16777473 +dd 10197915,3858818790 +dd 9737364,620766501 +dd 2171169,1207978056 +dd 6710886,2566953369 +dd 15132390,3103832505 +dd 13553358,3003167667 +dd 15592941,2063629179 +dd 15198183,4177590777 +dd 3881787,3456159438 +dd 16711422,3204497343 +dd 8355711,3741376479 +dd 12961221,1895854449 +dd 10790052,687876393 +dd 3618615,3439381965 +dd 11645361,1811967084 +dd 5000268,318771987 +dd 9539985,1677747300 +dd 7237230,2600508315 +dd 9276813,1660969827 +dd 7763574,2634063261 +dd 197379,3221274816 +dd 2960685,1258310475 +dd 14606046,3070277559 +dd 9868950,2768283045 +dd 2500134,2298513801 +dd 8224125,1593859935 +dd 13027014,2969612721 +dd 6052956,385881879 +dd 13882323,4093703412 +dd 15921906,3154164924 +dd 5197647,3540046803 +dd 1644825,1174423110 +dd 4144959,3472936911 +dd 14474460,922761015 +dd 7960953,1577082462 +dd 1907997,1191200583 +dd 5395026,2483066004 +dd 15461355,4194368250 +dd 15987699,4227923196 +dd 7171437,1526750043 +dd 6184542,2533398423 +dd 16514043,4261478142 +dd 6908265,1509972570 +dd 11711154,2885725356 +dd 15790320,1006648380 +dd 3223857,1275087948 +dd 789516,50332419 +dd 13948116,889206069 +dd 13619151,4076925939 +dd 9211020,587211555 +dd 14869218,3087055032 +dd 7697781,1560304989 +dd 11119017,1778412138 +dd 4868682,2449511058 +dd 5723991,3573601749 +dd 8684676,553656609 +dd 1118481,1140868164 +dd 4539717,1358975313 +dd 1776411,3321939654 +dd 16119285,2097184125 +dd 15000804,956315961 +dd 921102,2197848963 +dd 7566195,3691044060 +dd 11184810,2852170410 +dd 15856113,2080406652 +dd 14540253,1996519287 +dd 5855577,1442862678 +dd 1315860,83887365 +dd 7105644,452991771 +dd 9605778,2751505572 +dd 5526612,352326933 +dd 13684944,872428596 +dd 7895160,503324190 +dd 7368816,469769244 +dd 14935011,4160813304 +dd 4802889,1375752786 +dd 8421504,536879136 +dd 5263440,335549460 +dd 10987431,3909151209 +dd 16185078,3170942397 +dd 7829367,3707821533 +dd 9671571,3825263844 +dd 8816262,2701173153 +dd 8618883,3758153952 +dd 2763306,2315291274 +dd 13092807,4043370993 +dd 5987163,3590379222 +dd 15329769,2046851706 +dd 15658734,3137387451 +dd 9408399,3808486371 +dd 65793,1073758272 +dd 4013373,1325420367 +global _Camellia_cbc_encrypt +align 16 +_Camellia_cbc_encrypt: +L$_Camellia_cbc_encrypt_begin: + push ebp + push ebx + push esi + push edi + mov ecx,DWORD [28+esp] + cmp ecx,0 + je NEAR L$016enc_out + pushfd + cld + mov eax,DWORD [24+esp] + mov ebx,DWORD [28+esp] + mov edx,DWORD [36+esp] + mov ebp,DWORD [40+esp] + lea esi,[esp-64] + and esi,-64 + lea edi,[edx-127] + sub edi,esi + neg edi + and edi,960 + sub esi,edi + mov edi,DWORD [44+esp] + xchg esp,esi + add esp,4 + mov DWORD [20+esp],esi + mov DWORD [24+esp],eax + mov DWORD [28+esp],ebx + mov DWORD [32+esp],ecx + mov DWORD [36+esp],edx + mov DWORD [40+esp],ebp + call L$017pic_point +L$017pic_point: + pop ebp + lea ebp,[(L$Camellia_SBOX-L$017pic_point)+ebp] + mov esi,32 +align 4 +L$018prefetch_sbox: + mov eax,DWORD [ebp] + mov ebx,DWORD [32+ebp] + mov ecx,DWORD [64+ebp] + mov edx,DWORD [96+ebp] + lea ebp,[128+ebp] + dec esi + jnz NEAR L$018prefetch_sbox + mov eax,DWORD [36+esp] + sub ebp,4096 + mov esi,DWORD [24+esp] + mov edx,DWORD [272+eax] + cmp edi,0 + je NEAR L$019DECRYPT + mov ecx,DWORD [32+esp] + mov edi,DWORD [40+esp] + shl edx,6 + lea edx,[edx*1+eax] + mov DWORD [16+esp],edx + test ecx,4294967280 + jz NEAR L$020enc_tail + mov eax,DWORD [edi] + mov ebx,DWORD [4+edi] +align 4 +L$021enc_loop: + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] + xor eax,DWORD [esi] + xor ebx,DWORD [4+esi] + xor ecx,DWORD [8+esi] + bswap eax + xor edx,DWORD [12+esi] + bswap ebx + mov edi,DWORD [36+esp] + bswap ecx + bswap edx + call __x86_Camellia_encrypt + mov esi,DWORD [24+esp] + mov edi,DWORD [28+esp] + bswap eax + bswap ebx + bswap ecx + mov DWORD [edi],eax + bswap edx + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov ecx,DWORD [32+esp] + lea esi,[16+esi] + mov DWORD [24+esp],esi + lea edx,[16+edi] + mov DWORD [28+esp],edx + sub ecx,16 + test ecx,4294967280 + mov DWORD [32+esp],ecx + jnz NEAR L$021enc_loop + test ecx,15 + jnz NEAR L$020enc_tail + mov esi,DWORD [40+esp] + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + mov esp,DWORD [20+esp] + popfd +L$016enc_out: + pop edi + pop esi + pop ebx + pop ebp + ret + pushfd +align 4 +L$020enc_tail: + mov eax,edi + mov edi,DWORD [28+esp] + push eax + mov ebx,16 + sub ebx,ecx + cmp edi,esi + je NEAR L$022enc_in_place +align 4 +dd 2767451785 + jmp NEAR L$023enc_skip_in_place +L$022enc_in_place: + lea edi,[ecx*1+edi] +L$023enc_skip_in_place: + mov ecx,ebx + xor eax,eax +align 4 +dd 2868115081 + pop edi + mov esi,DWORD [28+esp] + mov eax,DWORD [edi] + mov ebx,DWORD [4+edi] + mov DWORD [32+esp],16 + jmp NEAR L$021enc_loop +align 16 +L$019DECRYPT: + shl edx,6 + lea edx,[edx*1+eax] + mov DWORD [16+esp],eax + mov DWORD [36+esp],edx + cmp esi,DWORD [28+esp] + je NEAR L$024dec_in_place + mov edi,DWORD [40+esp] + mov DWORD [44+esp],edi +align 4 +L$025dec_loop: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + bswap eax + mov edx,DWORD [12+esi] + bswap ebx + mov edi,DWORD [36+esp] + bswap ecx + bswap edx + call __x86_Camellia_decrypt + mov edi,DWORD [44+esp] + mov esi,DWORD [32+esp] + bswap eax + bswap ebx + bswap ecx + xor eax,DWORD [edi] + bswap edx + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + sub esi,16 + jc NEAR L$026dec_partial + mov DWORD [32+esp],esi + mov esi,DWORD [24+esp] + mov edi,DWORD [28+esp] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov DWORD [44+esp],esi + lea esi,[16+esi] + mov DWORD [24+esp],esi + lea edi,[16+edi] + mov DWORD [28+esp],edi + jnz NEAR L$025dec_loop + mov edi,DWORD [44+esp] +L$027dec_end: + mov esi,DWORD [40+esp] + mov eax,DWORD [edi] + mov ebx,DWORD [4+edi] + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + jmp NEAR L$028dec_out +align 4 +L$026dec_partial: + lea edi,[44+esp] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + lea ecx,[16+esi] + mov esi,edi + mov edi,DWORD [28+esp] +dd 2767451785 + mov edi,DWORD [24+esp] + jmp NEAR L$027dec_end +align 4 +L$024dec_in_place: +L$029dec_in_place_loop: + lea edi,[44+esp] + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + bswap eax + mov DWORD [12+edi],edx + bswap ebx + mov edi,DWORD [36+esp] + bswap ecx + bswap edx + call __x86_Camellia_decrypt + mov edi,DWORD [40+esp] + mov esi,DWORD [28+esp] + bswap eax + bswap ebx + bswap ecx + xor eax,DWORD [edi] + bswap edx + xor ebx,DWORD [4+edi] + xor ecx,DWORD [8+edi] + xor edx,DWORD [12+edi] + mov DWORD [esi],eax + mov DWORD [4+esi],ebx + mov DWORD [8+esi],ecx + mov DWORD [12+esi],edx + lea esi,[16+esi] + mov DWORD [28+esp],esi + lea esi,[44+esp] + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edx,DWORD [12+esi] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + mov DWORD [8+edi],ecx + mov DWORD [12+edi],edx + mov esi,DWORD [24+esp] + lea esi,[16+esi] + mov DWORD [24+esp],esi + mov ecx,DWORD [32+esp] + sub ecx,16 + jc NEAR L$030dec_in_place_partial + mov DWORD [32+esp],ecx + jnz NEAR L$029dec_in_place_loop + jmp NEAR L$028dec_out +align 4 +L$030dec_in_place_partial: + mov edi,DWORD [28+esp] + lea esi,[44+esp] + lea edi,[ecx*1+edi] + lea esi,[16+ecx*1+esi] + neg ecx +dd 2767451785 +align 4 +L$028dec_out: + mov esp,DWORD [20+esp] + popfd + pop edi + pop esi + pop ebx + pop ebp + ret +db 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54 +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 diff --git a/tmp32/co-586.asm b/tmp32/co-586.asm index d57f0b5f..a557f0be 100644 --- a/tmp32/co-586.asm +++ b/tmp32/co-586.asm @@ -1,1252 +1,1252 @@ -%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 _bn_mul_comba8 -align 16 -_bn_mul_comba8: -L$_bn_mul_comba8_begin: - push esi - mov esi,DWORD [12+esp] - push edi - mov edi,DWORD [20+esp] - push ebp - push ebx - xor ebx,ebx - mov eax,DWORD [esi] - xor ecx,ecx - mov edx,DWORD [edi] - ; ################## Calculate word 0 - xor ebp,ebp - ; mul a[0]*b[0] - mul edx - add ebx,eax - mov eax,DWORD [20+esp] - adc ecx,edx - mov edx,DWORD [edi] - adc ebp,0 - mov DWORD [eax],ebx - mov eax,DWORD [4+esi] - ; saved r[0] - ; ################## Calculate word 1 - xor ebx,ebx - ; mul a[1]*b[0] - mul edx - add ecx,eax - mov eax,DWORD [esi] - adc ebp,edx - mov edx,DWORD [4+edi] - adc ebx,0 - ; mul a[0]*b[1] - mul edx - add ecx,eax - mov eax,DWORD [20+esp] - adc ebp,edx - mov edx,DWORD [edi] - adc ebx,0 - mov DWORD [4+eax],ecx - mov eax,DWORD [8+esi] - ; saved r[1] - ; ################## Calculate word 2 - xor ecx,ecx - ; mul a[2]*b[0] - mul edx - add ebp,eax - mov eax,DWORD [4+esi] - adc ebx,edx - mov edx,DWORD [4+edi] - adc ecx,0 - ; mul a[1]*b[1] - mul edx - add ebp,eax - mov eax,DWORD [esi] - adc ebx,edx - mov edx,DWORD [8+edi] - adc ecx,0 - ; mul a[0]*b[2] - mul edx - add ebp,eax - mov eax,DWORD [20+esp] - adc ebx,edx - mov edx,DWORD [edi] - adc ecx,0 - mov DWORD [8+eax],ebp - mov eax,DWORD [12+esi] - ; saved r[2] - ; ################## Calculate word 3 - xor ebp,ebp - ; mul a[3]*b[0] - mul edx - add ebx,eax - mov eax,DWORD [8+esi] - adc ecx,edx - mov edx,DWORD [4+edi] - adc ebp,0 - ; mul a[2]*b[1] - mul edx - add ebx,eax - mov eax,DWORD [4+esi] - adc ecx,edx - mov edx,DWORD [8+edi] - adc ebp,0 - ; mul a[1]*b[2] - mul edx - add ebx,eax - mov eax,DWORD [esi] - adc ecx,edx - mov edx,DWORD [12+edi] - adc ebp,0 - ; mul a[0]*b[3] - mul edx - add ebx,eax - mov eax,DWORD [20+esp] - adc ecx,edx - mov edx,DWORD [edi] - adc ebp,0 - mov DWORD [12+eax],ebx - mov eax,DWORD [16+esi] - ; saved r[3] - ; ################## Calculate word 4 - xor ebx,ebx - ; mul a[4]*b[0] - mul edx - add ecx,eax - mov eax,DWORD [12+esi] - adc ebp,edx - mov edx,DWORD [4+edi] - adc ebx,0 - ; mul a[3]*b[1] - mul edx - add ecx,eax - mov eax,DWORD [8+esi] - adc ebp,edx - mov edx,DWORD [8+edi] - adc ebx,0 - ; mul a[2]*b[2] - mul edx - add ecx,eax - mov eax,DWORD [4+esi] - adc ebp,edx - mov edx,DWORD [12+edi] - adc ebx,0 - ; mul a[1]*b[3] - mul edx - add ecx,eax - mov eax,DWORD [esi] - adc ebp,edx - mov edx,DWORD [16+edi] - adc ebx,0 - ; mul a[0]*b[4] - mul edx - add ecx,eax - mov eax,DWORD [20+esp] - adc ebp,edx - mov edx,DWORD [edi] - adc ebx,0 - mov DWORD [16+eax],ecx - mov eax,DWORD [20+esi] - ; saved r[4] - ; ################## Calculate word 5 - xor ecx,ecx - ; mul a[5]*b[0] - mul edx - add ebp,eax - mov eax,DWORD [16+esi] - adc ebx,edx - mov edx,DWORD [4+edi] - adc ecx,0 - ; mul a[4]*b[1] - mul edx - add ebp,eax - mov eax,DWORD [12+esi] - adc ebx,edx - mov edx,DWORD [8+edi] - adc ecx,0 - ; mul a[3]*b[2] - mul edx - add ebp,eax - mov eax,DWORD [8+esi] - adc ebx,edx - mov edx,DWORD [12+edi] - adc ecx,0 - ; mul a[2]*b[3] - mul edx - add ebp,eax - mov eax,DWORD [4+esi] - adc ebx,edx - mov edx,DWORD [16+edi] - adc ecx,0 - ; mul a[1]*b[4] - mul edx - add ebp,eax - mov eax,DWORD [esi] - adc ebx,edx - mov edx,DWORD [20+edi] - adc ecx,0 - ; mul a[0]*b[5] - mul edx - add ebp,eax - mov eax,DWORD [20+esp] - adc ebx,edx - mov edx,DWORD [edi] - adc ecx,0 - mov DWORD [20+eax],ebp - mov eax,DWORD [24+esi] - ; saved r[5] - ; ################## Calculate word 6 - xor ebp,ebp - ; mul a[6]*b[0] - mul edx - add ebx,eax - mov eax,DWORD [20+esi] - adc ecx,edx - mov edx,DWORD [4+edi] - adc ebp,0 - ; mul a[5]*b[1] - mul edx - add ebx,eax - mov eax,DWORD [16+esi] - adc ecx,edx - mov edx,DWORD [8+edi] - adc ebp,0 - ; mul a[4]*b[2] - mul edx - add ebx,eax - mov eax,DWORD [12+esi] - adc ecx,edx - mov edx,DWORD [12+edi] - adc ebp,0 - ; mul a[3]*b[3] - mul edx - add ebx,eax - mov eax,DWORD [8+esi] - adc ecx,edx - mov edx,DWORD [16+edi] - adc ebp,0 - ; mul a[2]*b[4] - mul edx - add ebx,eax - mov eax,DWORD [4+esi] - adc ecx,edx - mov edx,DWORD [20+edi] - adc ebp,0 - ; mul a[1]*b[5] - mul edx - add ebx,eax - mov eax,DWORD [esi] - adc ecx,edx - mov edx,DWORD [24+edi] - adc ebp,0 - ; mul a[0]*b[6] - mul edx - add ebx,eax - mov eax,DWORD [20+esp] - adc ecx,edx - mov edx,DWORD [edi] - adc ebp,0 - mov DWORD [24+eax],ebx - mov eax,DWORD [28+esi] - ; saved r[6] - ; ################## Calculate word 7 - xor ebx,ebx - ; mul a[7]*b[0] - mul edx - add ecx,eax - mov eax,DWORD [24+esi] - adc ebp,edx - mov edx,DWORD [4+edi] - adc ebx,0 - ; mul a[6]*b[1] - mul edx - add ecx,eax - mov eax,DWORD [20+esi] - adc ebp,edx - mov edx,DWORD [8+edi] - adc ebx,0 - ; mul a[5]*b[2] - mul edx - add ecx,eax - mov eax,DWORD [16+esi] - adc ebp,edx - mov edx,DWORD [12+edi] - adc ebx,0 - ; mul a[4]*b[3] - mul edx - add ecx,eax - mov eax,DWORD [12+esi] - adc ebp,edx - mov edx,DWORD [16+edi] - adc ebx,0 - ; mul a[3]*b[4] - mul edx - add ecx,eax - mov eax,DWORD [8+esi] - adc ebp,edx - mov edx,DWORD [20+edi] - adc ebx,0 - ; mul a[2]*b[5] - mul edx - add ecx,eax - mov eax,DWORD [4+esi] - adc ebp,edx - mov edx,DWORD [24+edi] - adc ebx,0 - ; mul a[1]*b[6] - mul edx - add ecx,eax - mov eax,DWORD [esi] - adc ebp,edx - mov edx,DWORD [28+edi] - adc ebx,0 - ; mul a[0]*b[7] - mul edx - add ecx,eax - mov eax,DWORD [20+esp] - adc ebp,edx - mov edx,DWORD [4+edi] - adc ebx,0 - mov DWORD [28+eax],ecx - mov eax,DWORD [28+esi] - ; saved r[7] - ; ################## Calculate word 8 - xor ecx,ecx - ; mul a[7]*b[1] - mul edx - add ebp,eax - mov eax,DWORD [24+esi] - adc ebx,edx - mov edx,DWORD [8+edi] - adc ecx,0 - ; mul a[6]*b[2] - mul edx - add ebp,eax - mov eax,DWORD [20+esi] - adc ebx,edx - mov edx,DWORD [12+edi] - adc ecx,0 - ; mul a[5]*b[3] - mul edx - add ebp,eax - mov eax,DWORD [16+esi] - adc ebx,edx - mov edx,DWORD [16+edi] - adc ecx,0 - ; mul a[4]*b[4] - mul edx - add ebp,eax - mov eax,DWORD [12+esi] - adc ebx,edx - mov edx,DWORD [20+edi] - adc ecx,0 - ; mul a[3]*b[5] - mul edx - add ebp,eax - mov eax,DWORD [8+esi] - adc ebx,edx - mov edx,DWORD [24+edi] - adc ecx,0 - ; mul a[2]*b[6] - mul edx - add ebp,eax - mov eax,DWORD [4+esi] - adc ebx,edx - mov edx,DWORD [28+edi] - adc ecx,0 - ; mul a[1]*b[7] - mul edx - add ebp,eax - mov eax,DWORD [20+esp] - adc ebx,edx - mov edx,DWORD [8+edi] - adc ecx,0 - mov DWORD [32+eax],ebp - mov eax,DWORD [28+esi] - ; saved r[8] - ; ################## Calculate word 9 - xor ebp,ebp - ; mul a[7]*b[2] - mul edx - add ebx,eax - mov eax,DWORD [24+esi] - adc ecx,edx - mov edx,DWORD [12+edi] - adc ebp,0 - ; mul a[6]*b[3] - mul edx - add ebx,eax - mov eax,DWORD [20+esi] - adc ecx,edx - mov edx,DWORD [16+edi] - adc ebp,0 - ; mul a[5]*b[4] - mul edx - add ebx,eax - mov eax,DWORD [16+esi] - adc ecx,edx - mov edx,DWORD [20+edi] - adc ebp,0 - ; mul a[4]*b[5] - mul edx - add ebx,eax - mov eax,DWORD [12+esi] - adc ecx,edx - mov edx,DWORD [24+edi] - adc ebp,0 - ; mul a[3]*b[6] - mul edx - add ebx,eax - mov eax,DWORD [8+esi] - adc ecx,edx - mov edx,DWORD [28+edi] - adc ebp,0 - ; mul a[2]*b[7] - mul edx - add ebx,eax - mov eax,DWORD [20+esp] - adc ecx,edx - mov edx,DWORD [12+edi] - adc ebp,0 - mov DWORD [36+eax],ebx - mov eax,DWORD [28+esi] - ; saved r[9] - ; ################## Calculate word 10 - xor ebx,ebx - ; mul a[7]*b[3] - mul edx - add ecx,eax - mov eax,DWORD [24+esi] - adc ebp,edx - mov edx,DWORD [16+edi] - adc ebx,0 - ; mul a[6]*b[4] - mul edx - add ecx,eax - mov eax,DWORD [20+esi] - adc ebp,edx - mov edx,DWORD [20+edi] - adc ebx,0 - ; mul a[5]*b[5] - mul edx - add ecx,eax - mov eax,DWORD [16+esi] - adc ebp,edx - mov edx,DWORD [24+edi] - adc ebx,0 - ; mul a[4]*b[6] - mul edx - add ecx,eax - mov eax,DWORD [12+esi] - adc ebp,edx - mov edx,DWORD [28+edi] - adc ebx,0 - ; mul a[3]*b[7] - mul edx - add ecx,eax - mov eax,DWORD [20+esp] - adc ebp,edx - mov edx,DWORD [16+edi] - adc ebx,0 - mov DWORD [40+eax],ecx - mov eax,DWORD [28+esi] - ; saved r[10] - ; ################## Calculate word 11 - xor ecx,ecx - ; mul a[7]*b[4] - mul edx - add ebp,eax - mov eax,DWORD [24+esi] - adc ebx,edx - mov edx,DWORD [20+edi] - adc ecx,0 - ; mul a[6]*b[5] - mul edx - add ebp,eax - mov eax,DWORD [20+esi] - adc ebx,edx - mov edx,DWORD [24+edi] - adc ecx,0 - ; mul a[5]*b[6] - mul edx - add ebp,eax - mov eax,DWORD [16+esi] - adc ebx,edx - mov edx,DWORD [28+edi] - adc ecx,0 - ; mul a[4]*b[7] - mul edx - add ebp,eax - mov eax,DWORD [20+esp] - adc ebx,edx - mov edx,DWORD [20+edi] - adc ecx,0 - mov DWORD [44+eax],ebp - mov eax,DWORD [28+esi] - ; saved r[11] - ; ################## Calculate word 12 - xor ebp,ebp - ; mul a[7]*b[5] - mul edx - add ebx,eax - mov eax,DWORD [24+esi] - adc ecx,edx - mov edx,DWORD [24+edi] - adc ebp,0 - ; mul a[6]*b[6] - mul edx - add ebx,eax - mov eax,DWORD [20+esi] - adc ecx,edx - mov edx,DWORD [28+edi] - adc ebp,0 - ; mul a[5]*b[7] - mul edx - add ebx,eax - mov eax,DWORD [20+esp] - adc ecx,edx - mov edx,DWORD [24+edi] - adc ebp,0 - mov DWORD [48+eax],ebx - mov eax,DWORD [28+esi] - ; saved r[12] - ; ################## Calculate word 13 - xor ebx,ebx - ; mul a[7]*b[6] - mul edx - add ecx,eax - mov eax,DWORD [24+esi] - adc ebp,edx - mov edx,DWORD [28+edi] - adc ebx,0 - ; mul a[6]*b[7] - mul edx - add ecx,eax - mov eax,DWORD [20+esp] - adc ebp,edx - mov edx,DWORD [28+edi] - adc ebx,0 - mov DWORD [52+eax],ecx - mov eax,DWORD [28+esi] - ; saved r[13] - ; ################## Calculate word 14 - xor ecx,ecx - ; mul a[7]*b[7] - mul edx - add ebp,eax - mov eax,DWORD [20+esp] - adc ebx,edx - adc ecx,0 - mov DWORD [56+eax],ebp - ; saved r[14] - ; save r[15] - mov DWORD [60+eax],ebx - pop ebx - pop ebp - pop edi - pop esi - ret -global _bn_mul_comba4 -align 16 -_bn_mul_comba4: -L$_bn_mul_comba4_begin: - push esi - mov esi,DWORD [12+esp] - push edi - mov edi,DWORD [20+esp] - push ebp - push ebx - xor ebx,ebx - mov eax,DWORD [esi] - xor ecx,ecx - mov edx,DWORD [edi] - ; ################## Calculate word 0 - xor ebp,ebp - ; mul a[0]*b[0] - mul edx - add ebx,eax - mov eax,DWORD [20+esp] - adc ecx,edx - mov edx,DWORD [edi] - adc ebp,0 - mov DWORD [eax],ebx - mov eax,DWORD [4+esi] - ; saved r[0] - ; ################## Calculate word 1 - xor ebx,ebx - ; mul a[1]*b[0] - mul edx - add ecx,eax - mov eax,DWORD [esi] - adc ebp,edx - mov edx,DWORD [4+edi] - adc ebx,0 - ; mul a[0]*b[1] - mul edx - add ecx,eax - mov eax,DWORD [20+esp] - adc ebp,edx - mov edx,DWORD [edi] - adc ebx,0 - mov DWORD [4+eax],ecx - mov eax,DWORD [8+esi] - ; saved r[1] - ; ################## Calculate word 2 - xor ecx,ecx - ; mul a[2]*b[0] - mul edx - add ebp,eax - mov eax,DWORD [4+esi] - adc ebx,edx - mov edx,DWORD [4+edi] - adc ecx,0 - ; mul a[1]*b[1] - mul edx - add ebp,eax - mov eax,DWORD [esi] - adc ebx,edx - mov edx,DWORD [8+edi] - adc ecx,0 - ; mul a[0]*b[2] - mul edx - add ebp,eax - mov eax,DWORD [20+esp] - adc ebx,edx - mov edx,DWORD [edi] - adc ecx,0 - mov DWORD [8+eax],ebp - mov eax,DWORD [12+esi] - ; saved r[2] - ; ################## Calculate word 3 - xor ebp,ebp - ; mul a[3]*b[0] - mul edx - add ebx,eax - mov eax,DWORD [8+esi] - adc ecx,edx - mov edx,DWORD [4+edi] - adc ebp,0 - ; mul a[2]*b[1] - mul edx - add ebx,eax - mov eax,DWORD [4+esi] - adc ecx,edx - mov edx,DWORD [8+edi] - adc ebp,0 - ; mul a[1]*b[2] - mul edx - add ebx,eax - mov eax,DWORD [esi] - adc ecx,edx - mov edx,DWORD [12+edi] - adc ebp,0 - ; mul a[0]*b[3] - mul edx - add ebx,eax - mov eax,DWORD [20+esp] - adc ecx,edx - mov edx,DWORD [4+edi] - adc ebp,0 - mov DWORD [12+eax],ebx - mov eax,DWORD [12+esi] - ; saved r[3] - ; ################## Calculate word 4 - xor ebx,ebx - ; mul a[3]*b[1] - mul edx - add ecx,eax - mov eax,DWORD [8+esi] - adc ebp,edx - mov edx,DWORD [8+edi] - adc ebx,0 - ; mul a[2]*b[2] - mul edx - add ecx,eax - mov eax,DWORD [4+esi] - adc ebp,edx - mov edx,DWORD [12+edi] - adc ebx,0 - ; mul a[1]*b[3] - mul edx - add ecx,eax - mov eax,DWORD [20+esp] - adc ebp,edx - mov edx,DWORD [8+edi] - adc ebx,0 - mov DWORD [16+eax],ecx - mov eax,DWORD [12+esi] - ; saved r[4] - ; ################## Calculate word 5 - xor ecx,ecx - ; mul a[3]*b[2] - mul edx - add ebp,eax - mov eax,DWORD [8+esi] - adc ebx,edx - mov edx,DWORD [12+edi] - adc ecx,0 - ; mul a[2]*b[3] - mul edx - add ebp,eax - mov eax,DWORD [20+esp] - adc ebx,edx - mov edx,DWORD [12+edi] - adc ecx,0 - mov DWORD [20+eax],ebp - mov eax,DWORD [12+esi] - ; saved r[5] - ; ################## Calculate word 6 - xor ebp,ebp - ; mul a[3]*b[3] - mul edx - add ebx,eax - mov eax,DWORD [20+esp] - adc ecx,edx - adc ebp,0 - mov DWORD [24+eax],ebx - ; saved r[6] - ; save r[7] - mov DWORD [28+eax],ecx - pop ebx - pop ebp - pop edi - pop esi - ret -global _bn_sqr_comba8 -align 16 -_bn_sqr_comba8: -L$_bn_sqr_comba8_begin: - push esi - push edi - push ebp - push ebx - mov edi,DWORD [20+esp] - mov esi,DWORD [24+esp] - xor ebx,ebx - xor ecx,ecx - mov eax,DWORD [esi] - ; ############### Calculate word 0 - xor ebp,ebp - ; sqr a[0]*a[0] - mul eax - add ebx,eax - adc ecx,edx - mov edx,DWORD [esi] - adc ebp,0 - mov DWORD [edi],ebx - mov eax,DWORD [4+esi] - ; saved r[0] - ; ############### Calculate word 1 - xor ebx,ebx - ; sqr a[1]*a[0] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [8+esi] - adc ebx,0 - mov DWORD [4+edi],ecx - mov edx,DWORD [esi] - ; saved r[1] - ; ############### Calculate word 2 - xor ecx,ecx - ; sqr a[2]*a[0] - mul edx - add eax,eax - adc edx,edx - adc ecx,0 - add ebp,eax - adc ebx,edx - mov eax,DWORD [4+esi] - adc ecx,0 - ; sqr a[1]*a[1] - mul eax - add ebp,eax - adc ebx,edx - mov edx,DWORD [esi] - adc ecx,0 - mov DWORD [8+edi],ebp - mov eax,DWORD [12+esi] - ; saved r[2] - ; ############### Calculate word 3 - xor ebp,ebp - ; sqr a[3]*a[0] - mul edx - add eax,eax - adc edx,edx - adc ebp,0 - add ebx,eax - adc ecx,edx - mov eax,DWORD [8+esi] - adc ebp,0 - mov edx,DWORD [4+esi] - ; sqr a[2]*a[1] - mul edx - add eax,eax - adc edx,edx - adc ebp,0 - add ebx,eax - adc ecx,edx - mov eax,DWORD [16+esi] - adc ebp,0 - mov DWORD [12+edi],ebx - mov edx,DWORD [esi] - ; saved r[3] - ; ############### Calculate word 4 - xor ebx,ebx - ; sqr a[4]*a[0] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [12+esi] - adc ebx,0 - mov edx,DWORD [4+esi] - ; sqr a[3]*a[1] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [8+esi] - adc ebx,0 - ; sqr a[2]*a[2] - mul eax - add ecx,eax - adc ebp,edx - mov edx,DWORD [esi] - adc ebx,0 - mov DWORD [16+edi],ecx - mov eax,DWORD [20+esi] - ; saved r[4] - ; ############### Calculate word 5 - xor ecx,ecx - ; sqr a[5]*a[0] - mul edx - add eax,eax - adc edx,edx - adc ecx,0 - add ebp,eax - adc ebx,edx - mov eax,DWORD [16+esi] - adc ecx,0 - mov edx,DWORD [4+esi] - ; sqr a[4]*a[1] - mul edx - add eax,eax - adc edx,edx - adc ecx,0 - add ebp,eax - adc ebx,edx - mov eax,DWORD [12+esi] - adc ecx,0 - mov edx,DWORD [8+esi] - ; sqr a[3]*a[2] - mul edx - add eax,eax - adc edx,edx - adc ecx,0 - add ebp,eax - adc ebx,edx - mov eax,DWORD [24+esi] - adc ecx,0 - mov DWORD [20+edi],ebp - mov edx,DWORD [esi] - ; saved r[5] - ; ############### Calculate word 6 - xor ebp,ebp - ; sqr a[6]*a[0] - mul edx - add eax,eax - adc edx,edx - adc ebp,0 - add ebx,eax - adc ecx,edx - mov eax,DWORD [20+esi] - adc ebp,0 - mov edx,DWORD [4+esi] - ; sqr a[5]*a[1] - mul edx - add eax,eax - adc edx,edx - adc ebp,0 - add ebx,eax - adc ecx,edx - mov eax,DWORD [16+esi] - adc ebp,0 - mov edx,DWORD [8+esi] - ; sqr a[4]*a[2] - mul edx - add eax,eax - adc edx,edx - adc ebp,0 - add ebx,eax - adc ecx,edx - mov eax,DWORD [12+esi] - adc ebp,0 - ; sqr a[3]*a[3] - mul eax - add ebx,eax - adc ecx,edx - mov edx,DWORD [esi] - adc ebp,0 - mov DWORD [24+edi],ebx - mov eax,DWORD [28+esi] - ; saved r[6] - ; ############### Calculate word 7 - xor ebx,ebx - ; sqr a[7]*a[0] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [24+esi] - adc ebx,0 - mov edx,DWORD [4+esi] - ; sqr a[6]*a[1] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [20+esi] - adc ebx,0 - mov edx,DWORD [8+esi] - ; sqr a[5]*a[2] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [16+esi] - adc ebx,0 - mov edx,DWORD [12+esi] - ; sqr a[4]*a[3] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [28+esi] - adc ebx,0 - mov DWORD [28+edi],ecx - mov edx,DWORD [4+esi] - ; saved r[7] - ; ############### Calculate word 8 - xor ecx,ecx - ; sqr a[7]*a[1] - mul edx - add eax,eax - adc edx,edx - adc ecx,0 - add ebp,eax - adc ebx,edx - mov eax,DWORD [24+esi] - adc ecx,0 - mov edx,DWORD [8+esi] - ; sqr a[6]*a[2] - mul edx - add eax,eax - adc edx,edx - adc ecx,0 - add ebp,eax - adc ebx,edx - mov eax,DWORD [20+esi] - adc ecx,0 - mov edx,DWORD [12+esi] - ; sqr a[5]*a[3] - mul edx - add eax,eax - adc edx,edx - adc ecx,0 - add ebp,eax - adc ebx,edx - mov eax,DWORD [16+esi] - adc ecx,0 - ; sqr a[4]*a[4] - mul eax - add ebp,eax - adc ebx,edx - mov edx,DWORD [8+esi] - adc ecx,0 - mov DWORD [32+edi],ebp - mov eax,DWORD [28+esi] - ; saved r[8] - ; ############### Calculate word 9 - xor ebp,ebp - ; sqr a[7]*a[2] - mul edx - add eax,eax - adc edx,edx - adc ebp,0 - add ebx,eax - adc ecx,edx - mov eax,DWORD [24+esi] - adc ebp,0 - mov edx,DWORD [12+esi] - ; sqr a[6]*a[3] - mul edx - add eax,eax - adc edx,edx - adc ebp,0 - add ebx,eax - adc ecx,edx - mov eax,DWORD [20+esi] - adc ebp,0 - mov edx,DWORD [16+esi] - ; sqr a[5]*a[4] - mul edx - add eax,eax - adc edx,edx - adc ebp,0 - add ebx,eax - adc ecx,edx - mov eax,DWORD [28+esi] - adc ebp,0 - mov DWORD [36+edi],ebx - mov edx,DWORD [12+esi] - ; saved r[9] - ; ############### Calculate word 10 - xor ebx,ebx - ; sqr a[7]*a[3] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [24+esi] - adc ebx,0 - mov edx,DWORD [16+esi] - ; sqr a[6]*a[4] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [20+esi] - adc ebx,0 - ; sqr a[5]*a[5] - mul eax - add ecx,eax - adc ebp,edx - mov edx,DWORD [16+esi] - adc ebx,0 - mov DWORD [40+edi],ecx - mov eax,DWORD [28+esi] - ; saved r[10] - ; ############### Calculate word 11 - xor ecx,ecx - ; sqr a[7]*a[4] - mul edx - add eax,eax - adc edx,edx - adc ecx,0 - add ebp,eax - adc ebx,edx - mov eax,DWORD [24+esi] - adc ecx,0 - mov edx,DWORD [20+esi] - ; sqr a[6]*a[5] - mul edx - add eax,eax - adc edx,edx - adc ecx,0 - add ebp,eax - adc ebx,edx - mov eax,DWORD [28+esi] - adc ecx,0 - mov DWORD [44+edi],ebp - mov edx,DWORD [20+esi] - ; saved r[11] - ; ############### Calculate word 12 - xor ebp,ebp - ; sqr a[7]*a[5] - mul edx - add eax,eax - adc edx,edx - adc ebp,0 - add ebx,eax - adc ecx,edx - mov eax,DWORD [24+esi] - adc ebp,0 - ; sqr a[6]*a[6] - mul eax - add ebx,eax - adc ecx,edx - mov edx,DWORD [24+esi] - adc ebp,0 - mov DWORD [48+edi],ebx - mov eax,DWORD [28+esi] - ; saved r[12] - ; ############### Calculate word 13 - xor ebx,ebx - ; sqr a[7]*a[6] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [28+esi] - adc ebx,0 - mov DWORD [52+edi],ecx - ; saved r[13] - ; ############### Calculate word 14 - xor ecx,ecx - ; sqr a[7]*a[7] - mul eax - add ebp,eax - adc ebx,edx - adc ecx,0 - mov DWORD [56+edi],ebp - ; saved r[14] - mov DWORD [60+edi],ebx - pop ebx - pop ebp - pop edi - pop esi - ret -global _bn_sqr_comba4 -align 16 -_bn_sqr_comba4: -L$_bn_sqr_comba4_begin: - push esi - push edi - push ebp - push ebx - mov edi,DWORD [20+esp] - mov esi,DWORD [24+esp] - xor ebx,ebx - xor ecx,ecx - mov eax,DWORD [esi] - ; ############### Calculate word 0 - xor ebp,ebp - ; sqr a[0]*a[0] - mul eax - add ebx,eax - adc ecx,edx - mov edx,DWORD [esi] - adc ebp,0 - mov DWORD [edi],ebx - mov eax,DWORD [4+esi] - ; saved r[0] - ; ############### Calculate word 1 - xor ebx,ebx - ; sqr a[1]*a[0] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [8+esi] - adc ebx,0 - mov DWORD [4+edi],ecx - mov edx,DWORD [esi] - ; saved r[1] - ; ############### Calculate word 2 - xor ecx,ecx - ; sqr a[2]*a[0] - mul edx - add eax,eax - adc edx,edx - adc ecx,0 - add ebp,eax - adc ebx,edx - mov eax,DWORD [4+esi] - adc ecx,0 - ; sqr a[1]*a[1] - mul eax - add ebp,eax - adc ebx,edx - mov edx,DWORD [esi] - adc ecx,0 - mov DWORD [8+edi],ebp - mov eax,DWORD [12+esi] - ; saved r[2] - ; ############### Calculate word 3 - xor ebp,ebp - ; sqr a[3]*a[0] - mul edx - add eax,eax - adc edx,edx - adc ebp,0 - add ebx,eax - adc ecx,edx - mov eax,DWORD [8+esi] - adc ebp,0 - mov edx,DWORD [4+esi] - ; sqr a[2]*a[1] - mul edx - add eax,eax - adc edx,edx - adc ebp,0 - add ebx,eax - adc ecx,edx - mov eax,DWORD [12+esi] - adc ebp,0 - mov DWORD [12+edi],ebx - mov edx,DWORD [4+esi] - ; saved r[3] - ; ############### Calculate word 4 - xor ebx,ebx - ; sqr a[3]*a[1] - mul edx - add eax,eax - adc edx,edx - adc ebx,0 - add ecx,eax - adc ebp,edx - mov eax,DWORD [8+esi] - adc ebx,0 - ; sqr a[2]*a[2] - mul eax - add ecx,eax - adc ebp,edx - mov edx,DWORD [8+esi] - adc ebx,0 - mov DWORD [16+edi],ecx - mov eax,DWORD [12+esi] - ; saved r[4] - ; ############### Calculate word 5 - xor ecx,ecx - ; sqr a[3]*a[2] - mul edx - add eax,eax - adc edx,edx - adc ecx,0 - add ebp,eax - adc ebx,edx - mov eax,DWORD [12+esi] - adc ecx,0 - mov DWORD [20+edi],ebp - ; saved r[5] - ; ############### Calculate word 6 - xor ebp,ebp - ; sqr a[3]*a[3] - mul eax - add ebx,eax - adc ecx,edx - adc ebp,0 - mov DWORD [24+edi],ebx - ; saved r[6] - mov DWORD [28+edi],ecx - pop ebx - pop ebp - pop edi - pop esi - ret +%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 _bn_mul_comba8 +align 16 +_bn_mul_comba8: +L$_bn_mul_comba8_begin: + push esi + mov esi,DWORD [12+esp] + push edi + mov edi,DWORD [20+esp] + push ebp + push ebx + xor ebx,ebx + mov eax,DWORD [esi] + xor ecx,ecx + mov edx,DWORD [edi] + ; ################## Calculate word 0 + xor ebp,ebp + ; mul a[0]*b[0] + mul edx + add ebx,eax + mov eax,DWORD [20+esp] + adc ecx,edx + mov edx,DWORD [edi] + adc ebp,0 + mov DWORD [eax],ebx + mov eax,DWORD [4+esi] + ; saved r[0] + ; ################## Calculate word 1 + xor ebx,ebx + ; mul a[1]*b[0] + mul edx + add ecx,eax + mov eax,DWORD [esi] + adc ebp,edx + mov edx,DWORD [4+edi] + adc ebx,0 + ; mul a[0]*b[1] + mul edx + add ecx,eax + mov eax,DWORD [20+esp] + adc ebp,edx + mov edx,DWORD [edi] + adc ebx,0 + mov DWORD [4+eax],ecx + mov eax,DWORD [8+esi] + ; saved r[1] + ; ################## Calculate word 2 + xor ecx,ecx + ; mul a[2]*b[0] + mul edx + add ebp,eax + mov eax,DWORD [4+esi] + adc ebx,edx + mov edx,DWORD [4+edi] + adc ecx,0 + ; mul a[1]*b[1] + mul edx + add ebp,eax + mov eax,DWORD [esi] + adc ebx,edx + mov edx,DWORD [8+edi] + adc ecx,0 + ; mul a[0]*b[2] + mul edx + add ebp,eax + mov eax,DWORD [20+esp] + adc ebx,edx + mov edx,DWORD [edi] + adc ecx,0 + mov DWORD [8+eax],ebp + mov eax,DWORD [12+esi] + ; saved r[2] + ; ################## Calculate word 3 + xor ebp,ebp + ; mul a[3]*b[0] + mul edx + add ebx,eax + mov eax,DWORD [8+esi] + adc ecx,edx + mov edx,DWORD [4+edi] + adc ebp,0 + ; mul a[2]*b[1] + mul edx + add ebx,eax + mov eax,DWORD [4+esi] + adc ecx,edx + mov edx,DWORD [8+edi] + adc ebp,0 + ; mul a[1]*b[2] + mul edx + add ebx,eax + mov eax,DWORD [esi] + adc ecx,edx + mov edx,DWORD [12+edi] + adc ebp,0 + ; mul a[0]*b[3] + mul edx + add ebx,eax + mov eax,DWORD [20+esp] + adc ecx,edx + mov edx,DWORD [edi] + adc ebp,0 + mov DWORD [12+eax],ebx + mov eax,DWORD [16+esi] + ; saved r[3] + ; ################## Calculate word 4 + xor ebx,ebx + ; mul a[4]*b[0] + mul edx + add ecx,eax + mov eax,DWORD [12+esi] + adc ebp,edx + mov edx,DWORD [4+edi] + adc ebx,0 + ; mul a[3]*b[1] + mul edx + add ecx,eax + mov eax,DWORD [8+esi] + adc ebp,edx + mov edx,DWORD [8+edi] + adc ebx,0 + ; mul a[2]*b[2] + mul edx + add ecx,eax + mov eax,DWORD [4+esi] + adc ebp,edx + mov edx,DWORD [12+edi] + adc ebx,0 + ; mul a[1]*b[3] + mul edx + add ecx,eax + mov eax,DWORD [esi] + adc ebp,edx + mov edx,DWORD [16+edi] + adc ebx,0 + ; mul a[0]*b[4] + mul edx + add ecx,eax + mov eax,DWORD [20+esp] + adc ebp,edx + mov edx,DWORD [edi] + adc ebx,0 + mov DWORD [16+eax],ecx + mov eax,DWORD [20+esi] + ; saved r[4] + ; ################## Calculate word 5 + xor ecx,ecx + ; mul a[5]*b[0] + mul edx + add ebp,eax + mov eax,DWORD [16+esi] + adc ebx,edx + mov edx,DWORD [4+edi] + adc ecx,0 + ; mul a[4]*b[1] + mul edx + add ebp,eax + mov eax,DWORD [12+esi] + adc ebx,edx + mov edx,DWORD [8+edi] + adc ecx,0 + ; mul a[3]*b[2] + mul edx + add ebp,eax + mov eax,DWORD [8+esi] + adc ebx,edx + mov edx,DWORD [12+edi] + adc ecx,0 + ; mul a[2]*b[3] + mul edx + add ebp,eax + mov eax,DWORD [4+esi] + adc ebx,edx + mov edx,DWORD [16+edi] + adc ecx,0 + ; mul a[1]*b[4] + mul edx + add ebp,eax + mov eax,DWORD [esi] + adc ebx,edx + mov edx,DWORD [20+edi] + adc ecx,0 + ; mul a[0]*b[5] + mul edx + add ebp,eax + mov eax,DWORD [20+esp] + adc ebx,edx + mov edx,DWORD [edi] + adc ecx,0 + mov DWORD [20+eax],ebp + mov eax,DWORD [24+esi] + ; saved r[5] + ; ################## Calculate word 6 + xor ebp,ebp + ; mul a[6]*b[0] + mul edx + add ebx,eax + mov eax,DWORD [20+esi] + adc ecx,edx + mov edx,DWORD [4+edi] + adc ebp,0 + ; mul a[5]*b[1] + mul edx + add ebx,eax + mov eax,DWORD [16+esi] + adc ecx,edx + mov edx,DWORD [8+edi] + adc ebp,0 + ; mul a[4]*b[2] + mul edx + add ebx,eax + mov eax,DWORD [12+esi] + adc ecx,edx + mov edx,DWORD [12+edi] + adc ebp,0 + ; mul a[3]*b[3] + mul edx + add ebx,eax + mov eax,DWORD [8+esi] + adc ecx,edx + mov edx,DWORD [16+edi] + adc ebp,0 + ; mul a[2]*b[4] + mul edx + add ebx,eax + mov eax,DWORD [4+esi] + adc ecx,edx + mov edx,DWORD [20+edi] + adc ebp,0 + ; mul a[1]*b[5] + mul edx + add ebx,eax + mov eax,DWORD [esi] + adc ecx,edx + mov edx,DWORD [24+edi] + adc ebp,0 + ; mul a[0]*b[6] + mul edx + add ebx,eax + mov eax,DWORD [20+esp] + adc ecx,edx + mov edx,DWORD [edi] + adc ebp,0 + mov DWORD [24+eax],ebx + mov eax,DWORD [28+esi] + ; saved r[6] + ; ################## Calculate word 7 + xor ebx,ebx + ; mul a[7]*b[0] + mul edx + add ecx,eax + mov eax,DWORD [24+esi] + adc ebp,edx + mov edx,DWORD [4+edi] + adc ebx,0 + ; mul a[6]*b[1] + mul edx + add ecx,eax + mov eax,DWORD [20+esi] + adc ebp,edx + mov edx,DWORD [8+edi] + adc ebx,0 + ; mul a[5]*b[2] + mul edx + add ecx,eax + mov eax,DWORD [16+esi] + adc ebp,edx + mov edx,DWORD [12+edi] + adc ebx,0 + ; mul a[4]*b[3] + mul edx + add ecx,eax + mov eax,DWORD [12+esi] + adc ebp,edx + mov edx,DWORD [16+edi] + adc ebx,0 + ; mul a[3]*b[4] + mul edx + add ecx,eax + mov eax,DWORD [8+esi] + adc ebp,edx + mov edx,DWORD [20+edi] + adc ebx,0 + ; mul a[2]*b[5] + mul edx + add ecx,eax + mov eax,DWORD [4+esi] + adc ebp,edx + mov edx,DWORD [24+edi] + adc ebx,0 + ; mul a[1]*b[6] + mul edx + add ecx,eax + mov eax,DWORD [esi] + adc ebp,edx + mov edx,DWORD [28+edi] + adc ebx,0 + ; mul a[0]*b[7] + mul edx + add ecx,eax + mov eax,DWORD [20+esp] + adc ebp,edx + mov edx,DWORD [4+edi] + adc ebx,0 + mov DWORD [28+eax],ecx + mov eax,DWORD [28+esi] + ; saved r[7] + ; ################## Calculate word 8 + xor ecx,ecx + ; mul a[7]*b[1] + mul edx + add ebp,eax + mov eax,DWORD [24+esi] + adc ebx,edx + mov edx,DWORD [8+edi] + adc ecx,0 + ; mul a[6]*b[2] + mul edx + add ebp,eax + mov eax,DWORD [20+esi] + adc ebx,edx + mov edx,DWORD [12+edi] + adc ecx,0 + ; mul a[5]*b[3] + mul edx + add ebp,eax + mov eax,DWORD [16+esi] + adc ebx,edx + mov edx,DWORD [16+edi] + adc ecx,0 + ; mul a[4]*b[4] + mul edx + add ebp,eax + mov eax,DWORD [12+esi] + adc ebx,edx + mov edx,DWORD [20+edi] + adc ecx,0 + ; mul a[3]*b[5] + mul edx + add ebp,eax + mov eax,DWORD [8+esi] + adc ebx,edx + mov edx,DWORD [24+edi] + adc ecx,0 + ; mul a[2]*b[6] + mul edx + add ebp,eax + mov eax,DWORD [4+esi] + adc ebx,edx + mov edx,DWORD [28+edi] + adc ecx,0 + ; mul a[1]*b[7] + mul edx + add ebp,eax + mov eax,DWORD [20+esp] + adc ebx,edx + mov edx,DWORD [8+edi] + adc ecx,0 + mov DWORD [32+eax],ebp + mov eax,DWORD [28+esi] + ; saved r[8] + ; ################## Calculate word 9 + xor ebp,ebp + ; mul a[7]*b[2] + mul edx + add ebx,eax + mov eax,DWORD [24+esi] + adc ecx,edx + mov edx,DWORD [12+edi] + adc ebp,0 + ; mul a[6]*b[3] + mul edx + add ebx,eax + mov eax,DWORD [20+esi] + adc ecx,edx + mov edx,DWORD [16+edi] + adc ebp,0 + ; mul a[5]*b[4] + mul edx + add ebx,eax + mov eax,DWORD [16+esi] + adc ecx,edx + mov edx,DWORD [20+edi] + adc ebp,0 + ; mul a[4]*b[5] + mul edx + add ebx,eax + mov eax,DWORD [12+esi] + adc ecx,edx + mov edx,DWORD [24+edi] + adc ebp,0 + ; mul a[3]*b[6] + mul edx + add ebx,eax + mov eax,DWORD [8+esi] + adc ecx,edx + mov edx,DWORD [28+edi] + adc ebp,0 + ; mul a[2]*b[7] + mul edx + add ebx,eax + mov eax,DWORD [20+esp] + adc ecx,edx + mov edx,DWORD [12+edi] + adc ebp,0 + mov DWORD [36+eax],ebx + mov eax,DWORD [28+esi] + ; saved r[9] + ; ################## Calculate word 10 + xor ebx,ebx + ; mul a[7]*b[3] + mul edx + add ecx,eax + mov eax,DWORD [24+esi] + adc ebp,edx + mov edx,DWORD [16+edi] + adc ebx,0 + ; mul a[6]*b[4] + mul edx + add ecx,eax + mov eax,DWORD [20+esi] + adc ebp,edx + mov edx,DWORD [20+edi] + adc ebx,0 + ; mul a[5]*b[5] + mul edx + add ecx,eax + mov eax,DWORD [16+esi] + adc ebp,edx + mov edx,DWORD [24+edi] + adc ebx,0 + ; mul a[4]*b[6] + mul edx + add ecx,eax + mov eax,DWORD [12+esi] + adc ebp,edx + mov edx,DWORD [28+edi] + adc ebx,0 + ; mul a[3]*b[7] + mul edx + add ecx,eax + mov eax,DWORD [20+esp] + adc ebp,edx + mov edx,DWORD [16+edi] + adc ebx,0 + mov DWORD [40+eax],ecx + mov eax,DWORD [28+esi] + ; saved r[10] + ; ################## Calculate word 11 + xor ecx,ecx + ; mul a[7]*b[4] + mul edx + add ebp,eax + mov eax,DWORD [24+esi] + adc ebx,edx + mov edx,DWORD [20+edi] + adc ecx,0 + ; mul a[6]*b[5] + mul edx + add ebp,eax + mov eax,DWORD [20+esi] + adc ebx,edx + mov edx,DWORD [24+edi] + adc ecx,0 + ; mul a[5]*b[6] + mul edx + add ebp,eax + mov eax,DWORD [16+esi] + adc ebx,edx + mov edx,DWORD [28+edi] + adc ecx,0 + ; mul a[4]*b[7] + mul edx + add ebp,eax + mov eax,DWORD [20+esp] + adc ebx,edx + mov edx,DWORD [20+edi] + adc ecx,0 + mov DWORD [44+eax],ebp + mov eax,DWORD [28+esi] + ; saved r[11] + ; ################## Calculate word 12 + xor ebp,ebp + ; mul a[7]*b[5] + mul edx + add ebx,eax + mov eax,DWORD [24+esi] + adc ecx,edx + mov edx,DWORD [24+edi] + adc ebp,0 + ; mul a[6]*b[6] + mul edx + add ebx,eax + mov eax,DWORD [20+esi] + adc ecx,edx + mov edx,DWORD [28+edi] + adc ebp,0 + ; mul a[5]*b[7] + mul edx + add ebx,eax + mov eax,DWORD [20+esp] + adc ecx,edx + mov edx,DWORD [24+edi] + adc ebp,0 + mov DWORD [48+eax],ebx + mov eax,DWORD [28+esi] + ; saved r[12] + ; ################## Calculate word 13 + xor ebx,ebx + ; mul a[7]*b[6] + mul edx + add ecx,eax + mov eax,DWORD [24+esi] + adc ebp,edx + mov edx,DWORD [28+edi] + adc ebx,0 + ; mul a[6]*b[7] + mul edx + add ecx,eax + mov eax,DWORD [20+esp] + adc ebp,edx + mov edx,DWORD [28+edi] + adc ebx,0 + mov DWORD [52+eax],ecx + mov eax,DWORD [28+esi] + ; saved r[13] + ; ################## Calculate word 14 + xor ecx,ecx + ; mul a[7]*b[7] + mul edx + add ebp,eax + mov eax,DWORD [20+esp] + adc ebx,edx + adc ecx,0 + mov DWORD [56+eax],ebp + ; saved r[14] + ; save r[15] + mov DWORD [60+eax],ebx + pop ebx + pop ebp + pop edi + pop esi + ret +global _bn_mul_comba4 +align 16 +_bn_mul_comba4: +L$_bn_mul_comba4_begin: + push esi + mov esi,DWORD [12+esp] + push edi + mov edi,DWORD [20+esp] + push ebp + push ebx + xor ebx,ebx + mov eax,DWORD [esi] + xor ecx,ecx + mov edx,DWORD [edi] + ; ################## Calculate word 0 + xor ebp,ebp + ; mul a[0]*b[0] + mul edx + add ebx,eax + mov eax,DWORD [20+esp] + adc ecx,edx + mov edx,DWORD [edi] + adc ebp,0 + mov DWORD [eax],ebx + mov eax,DWORD [4+esi] + ; saved r[0] + ; ################## Calculate word 1 + xor ebx,ebx + ; mul a[1]*b[0] + mul edx + add ecx,eax + mov eax,DWORD [esi] + adc ebp,edx + mov edx,DWORD [4+edi] + adc ebx,0 + ; mul a[0]*b[1] + mul edx + add ecx,eax + mov eax,DWORD [20+esp] + adc ebp,edx + mov edx,DWORD [edi] + adc ebx,0 + mov DWORD [4+eax],ecx + mov eax,DWORD [8+esi] + ; saved r[1] + ; ################## Calculate word 2 + xor ecx,ecx + ; mul a[2]*b[0] + mul edx + add ebp,eax + mov eax,DWORD [4+esi] + adc ebx,edx + mov edx,DWORD [4+edi] + adc ecx,0 + ; mul a[1]*b[1] + mul edx + add ebp,eax + mov eax,DWORD [esi] + adc ebx,edx + mov edx,DWORD [8+edi] + adc ecx,0 + ; mul a[0]*b[2] + mul edx + add ebp,eax + mov eax,DWORD [20+esp] + adc ebx,edx + mov edx,DWORD [edi] + adc ecx,0 + mov DWORD [8+eax],ebp + mov eax,DWORD [12+esi] + ; saved r[2] + ; ################## Calculate word 3 + xor ebp,ebp + ; mul a[3]*b[0] + mul edx + add ebx,eax + mov eax,DWORD [8+esi] + adc ecx,edx + mov edx,DWORD [4+edi] + adc ebp,0 + ; mul a[2]*b[1] + mul edx + add ebx,eax + mov eax,DWORD [4+esi] + adc ecx,edx + mov edx,DWORD [8+edi] + adc ebp,0 + ; mul a[1]*b[2] + mul edx + add ebx,eax + mov eax,DWORD [esi] + adc ecx,edx + mov edx,DWORD [12+edi] + adc ebp,0 + ; mul a[0]*b[3] + mul edx + add ebx,eax + mov eax,DWORD [20+esp] + adc ecx,edx + mov edx,DWORD [4+edi] + adc ebp,0 + mov DWORD [12+eax],ebx + mov eax,DWORD [12+esi] + ; saved r[3] + ; ################## Calculate word 4 + xor ebx,ebx + ; mul a[3]*b[1] + mul edx + add ecx,eax + mov eax,DWORD [8+esi] + adc ebp,edx + mov edx,DWORD [8+edi] + adc ebx,0 + ; mul a[2]*b[2] + mul edx + add ecx,eax + mov eax,DWORD [4+esi] + adc ebp,edx + mov edx,DWORD [12+edi] + adc ebx,0 + ; mul a[1]*b[3] + mul edx + add ecx,eax + mov eax,DWORD [20+esp] + adc ebp,edx + mov edx,DWORD [8+edi] + adc ebx,0 + mov DWORD [16+eax],ecx + mov eax,DWORD [12+esi] + ; saved r[4] + ; ################## Calculate word 5 + xor ecx,ecx + ; mul a[3]*b[2] + mul edx + add ebp,eax + mov eax,DWORD [8+esi] + adc ebx,edx + mov edx,DWORD [12+edi] + adc ecx,0 + ; mul a[2]*b[3] + mul edx + add ebp,eax + mov eax,DWORD [20+esp] + adc ebx,edx + mov edx,DWORD [12+edi] + adc ecx,0 + mov DWORD [20+eax],ebp + mov eax,DWORD [12+esi] + ; saved r[5] + ; ################## Calculate word 6 + xor ebp,ebp + ; mul a[3]*b[3] + mul edx + add ebx,eax + mov eax,DWORD [20+esp] + adc ecx,edx + adc ebp,0 + mov DWORD [24+eax],ebx + ; saved r[6] + ; save r[7] + mov DWORD [28+eax],ecx + pop ebx + pop ebp + pop edi + pop esi + ret +global _bn_sqr_comba8 +align 16 +_bn_sqr_comba8: +L$_bn_sqr_comba8_begin: + push esi + push edi + push ebp + push ebx + mov edi,DWORD [20+esp] + mov esi,DWORD [24+esp] + xor ebx,ebx + xor ecx,ecx + mov eax,DWORD [esi] + ; ############### Calculate word 0 + xor ebp,ebp + ; sqr a[0]*a[0] + mul eax + add ebx,eax + adc ecx,edx + mov edx,DWORD [esi] + adc ebp,0 + mov DWORD [edi],ebx + mov eax,DWORD [4+esi] + ; saved r[0] + ; ############### Calculate word 1 + xor ebx,ebx + ; sqr a[1]*a[0] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [8+esi] + adc ebx,0 + mov DWORD [4+edi],ecx + mov edx,DWORD [esi] + ; saved r[1] + ; ############### Calculate word 2 + xor ecx,ecx + ; sqr a[2]*a[0] + mul edx + add eax,eax + adc edx,edx + adc ecx,0 + add ebp,eax + adc ebx,edx + mov eax,DWORD [4+esi] + adc ecx,0 + ; sqr a[1]*a[1] + mul eax + add ebp,eax + adc ebx,edx + mov edx,DWORD [esi] + adc ecx,0 + mov DWORD [8+edi],ebp + mov eax,DWORD [12+esi] + ; saved r[2] + ; ############### Calculate word 3 + xor ebp,ebp + ; sqr a[3]*a[0] + mul edx + add eax,eax + adc edx,edx + adc ebp,0 + add ebx,eax + adc ecx,edx + mov eax,DWORD [8+esi] + adc ebp,0 + mov edx,DWORD [4+esi] + ; sqr a[2]*a[1] + mul edx + add eax,eax + adc edx,edx + adc ebp,0 + add ebx,eax + adc ecx,edx + mov eax,DWORD [16+esi] + adc ebp,0 + mov DWORD [12+edi],ebx + mov edx,DWORD [esi] + ; saved r[3] + ; ############### Calculate word 4 + xor ebx,ebx + ; sqr a[4]*a[0] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [12+esi] + adc ebx,0 + mov edx,DWORD [4+esi] + ; sqr a[3]*a[1] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [8+esi] + adc ebx,0 + ; sqr a[2]*a[2] + mul eax + add ecx,eax + adc ebp,edx + mov edx,DWORD [esi] + adc ebx,0 + mov DWORD [16+edi],ecx + mov eax,DWORD [20+esi] + ; saved r[4] + ; ############### Calculate word 5 + xor ecx,ecx + ; sqr a[5]*a[0] + mul edx + add eax,eax + adc edx,edx + adc ecx,0 + add ebp,eax + adc ebx,edx + mov eax,DWORD [16+esi] + adc ecx,0 + mov edx,DWORD [4+esi] + ; sqr a[4]*a[1] + mul edx + add eax,eax + adc edx,edx + adc ecx,0 + add ebp,eax + adc ebx,edx + mov eax,DWORD [12+esi] + adc ecx,0 + mov edx,DWORD [8+esi] + ; sqr a[3]*a[2] + mul edx + add eax,eax + adc edx,edx + adc ecx,0 + add ebp,eax + adc ebx,edx + mov eax,DWORD [24+esi] + adc ecx,0 + mov DWORD [20+edi],ebp + mov edx,DWORD [esi] + ; saved r[5] + ; ############### Calculate word 6 + xor ebp,ebp + ; sqr a[6]*a[0] + mul edx + add eax,eax + adc edx,edx + adc ebp,0 + add ebx,eax + adc ecx,edx + mov eax,DWORD [20+esi] + adc ebp,0 + mov edx,DWORD [4+esi] + ; sqr a[5]*a[1] + mul edx + add eax,eax + adc edx,edx + adc ebp,0 + add ebx,eax + adc ecx,edx + mov eax,DWORD [16+esi] + adc ebp,0 + mov edx,DWORD [8+esi] + ; sqr a[4]*a[2] + mul edx + add eax,eax + adc edx,edx + adc ebp,0 + add ebx,eax + adc ecx,edx + mov eax,DWORD [12+esi] + adc ebp,0 + ; sqr a[3]*a[3] + mul eax + add ebx,eax + adc ecx,edx + mov edx,DWORD [esi] + adc ebp,0 + mov DWORD [24+edi],ebx + mov eax,DWORD [28+esi] + ; saved r[6] + ; ############### Calculate word 7 + xor ebx,ebx + ; sqr a[7]*a[0] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [24+esi] + adc ebx,0 + mov edx,DWORD [4+esi] + ; sqr a[6]*a[1] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [20+esi] + adc ebx,0 + mov edx,DWORD [8+esi] + ; sqr a[5]*a[2] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [16+esi] + adc ebx,0 + mov edx,DWORD [12+esi] + ; sqr a[4]*a[3] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [28+esi] + adc ebx,0 + mov DWORD [28+edi],ecx + mov edx,DWORD [4+esi] + ; saved r[7] + ; ############### Calculate word 8 + xor ecx,ecx + ; sqr a[7]*a[1] + mul edx + add eax,eax + adc edx,edx + adc ecx,0 + add ebp,eax + adc ebx,edx + mov eax,DWORD [24+esi] + adc ecx,0 + mov edx,DWORD [8+esi] + ; sqr a[6]*a[2] + mul edx + add eax,eax + adc edx,edx + adc ecx,0 + add ebp,eax + adc ebx,edx + mov eax,DWORD [20+esi] + adc ecx,0 + mov edx,DWORD [12+esi] + ; sqr a[5]*a[3] + mul edx + add eax,eax + adc edx,edx + adc ecx,0 + add ebp,eax + adc ebx,edx + mov eax,DWORD [16+esi] + adc ecx,0 + ; sqr a[4]*a[4] + mul eax + add ebp,eax + adc ebx,edx + mov edx,DWORD [8+esi] + adc ecx,0 + mov DWORD [32+edi],ebp + mov eax,DWORD [28+esi] + ; saved r[8] + ; ############### Calculate word 9 + xor ebp,ebp + ; sqr a[7]*a[2] + mul edx + add eax,eax + adc edx,edx + adc ebp,0 + add ebx,eax + adc ecx,edx + mov eax,DWORD [24+esi] + adc ebp,0 + mov edx,DWORD [12+esi] + ; sqr a[6]*a[3] + mul edx + add eax,eax + adc edx,edx + adc ebp,0 + add ebx,eax + adc ecx,edx + mov eax,DWORD [20+esi] + adc ebp,0 + mov edx,DWORD [16+esi] + ; sqr a[5]*a[4] + mul edx + add eax,eax + adc edx,edx + adc ebp,0 + add ebx,eax + adc ecx,edx + mov eax,DWORD [28+esi] + adc ebp,0 + mov DWORD [36+edi],ebx + mov edx,DWORD [12+esi] + ; saved r[9] + ; ############### Calculate word 10 + xor ebx,ebx + ; sqr a[7]*a[3] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [24+esi] + adc ebx,0 + mov edx,DWORD [16+esi] + ; sqr a[6]*a[4] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [20+esi] + adc ebx,0 + ; sqr a[5]*a[5] + mul eax + add ecx,eax + adc ebp,edx + mov edx,DWORD [16+esi] + adc ebx,0 + mov DWORD [40+edi],ecx + mov eax,DWORD [28+esi] + ; saved r[10] + ; ############### Calculate word 11 + xor ecx,ecx + ; sqr a[7]*a[4] + mul edx + add eax,eax + adc edx,edx + adc ecx,0 + add ebp,eax + adc ebx,edx + mov eax,DWORD [24+esi] + adc ecx,0 + mov edx,DWORD [20+esi] + ; sqr a[6]*a[5] + mul edx + add eax,eax + adc edx,edx + adc ecx,0 + add ebp,eax + adc ebx,edx + mov eax,DWORD [28+esi] + adc ecx,0 + mov DWORD [44+edi],ebp + mov edx,DWORD [20+esi] + ; saved r[11] + ; ############### Calculate word 12 + xor ebp,ebp + ; sqr a[7]*a[5] + mul edx + add eax,eax + adc edx,edx + adc ebp,0 + add ebx,eax + adc ecx,edx + mov eax,DWORD [24+esi] + adc ebp,0 + ; sqr a[6]*a[6] + mul eax + add ebx,eax + adc ecx,edx + mov edx,DWORD [24+esi] + adc ebp,0 + mov DWORD [48+edi],ebx + mov eax,DWORD [28+esi] + ; saved r[12] + ; ############### Calculate word 13 + xor ebx,ebx + ; sqr a[7]*a[6] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [28+esi] + adc ebx,0 + mov DWORD [52+edi],ecx + ; saved r[13] + ; ############### Calculate word 14 + xor ecx,ecx + ; sqr a[7]*a[7] + mul eax + add ebp,eax + adc ebx,edx + adc ecx,0 + mov DWORD [56+edi],ebp + ; saved r[14] + mov DWORD [60+edi],ebx + pop ebx + pop ebp + pop edi + pop esi + ret +global _bn_sqr_comba4 +align 16 +_bn_sqr_comba4: +L$_bn_sqr_comba4_begin: + push esi + push edi + push ebp + push ebx + mov edi,DWORD [20+esp] + mov esi,DWORD [24+esp] + xor ebx,ebx + xor ecx,ecx + mov eax,DWORD [esi] + ; ############### Calculate word 0 + xor ebp,ebp + ; sqr a[0]*a[0] + mul eax + add ebx,eax + adc ecx,edx + mov edx,DWORD [esi] + adc ebp,0 + mov DWORD [edi],ebx + mov eax,DWORD [4+esi] + ; saved r[0] + ; ############### Calculate word 1 + xor ebx,ebx + ; sqr a[1]*a[0] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [8+esi] + adc ebx,0 + mov DWORD [4+edi],ecx + mov edx,DWORD [esi] + ; saved r[1] + ; ############### Calculate word 2 + xor ecx,ecx + ; sqr a[2]*a[0] + mul edx + add eax,eax + adc edx,edx + adc ecx,0 + add ebp,eax + adc ebx,edx + mov eax,DWORD [4+esi] + adc ecx,0 + ; sqr a[1]*a[1] + mul eax + add ebp,eax + adc ebx,edx + mov edx,DWORD [esi] + adc ecx,0 + mov DWORD [8+edi],ebp + mov eax,DWORD [12+esi] + ; saved r[2] + ; ############### Calculate word 3 + xor ebp,ebp + ; sqr a[3]*a[0] + mul edx + add eax,eax + adc edx,edx + adc ebp,0 + add ebx,eax + adc ecx,edx + mov eax,DWORD [8+esi] + adc ebp,0 + mov edx,DWORD [4+esi] + ; sqr a[2]*a[1] + mul edx + add eax,eax + adc edx,edx + adc ebp,0 + add ebx,eax + adc ecx,edx + mov eax,DWORD [12+esi] + adc ebp,0 + mov DWORD [12+edi],ebx + mov edx,DWORD [4+esi] + ; saved r[3] + ; ############### Calculate word 4 + xor ebx,ebx + ; sqr a[3]*a[1] + mul edx + add eax,eax + adc edx,edx + adc ebx,0 + add ecx,eax + adc ebp,edx + mov eax,DWORD [8+esi] + adc ebx,0 + ; sqr a[2]*a[2] + mul eax + add ecx,eax + adc ebp,edx + mov edx,DWORD [8+esi] + adc ebx,0 + mov DWORD [16+edi],ecx + mov eax,DWORD [12+esi] + ; saved r[4] + ; ############### Calculate word 5 + xor ecx,ecx + ; sqr a[3]*a[2] + mul edx + add eax,eax + adc edx,edx + adc ecx,0 + add ebp,eax + adc ebx,edx + mov eax,DWORD [12+esi] + adc ecx,0 + mov DWORD [20+edi],ebp + ; saved r[5] + ; ############### Calculate word 6 + xor ebp,ebp + ; sqr a[3]*a[3] + mul eax + add ebx,eax + adc ecx,edx + adc ebp,0 + mov DWORD [24+edi],ebx + ; saved r[6] + mov DWORD [28+edi],ecx + pop ebx + pop ebp + pop edi + pop esi + ret diff --git a/tmp32/crypt586.asm b/tmp32/crypt586.asm index 2af8af39..ebbd7911 100644 --- a/tmp32/crypt586.asm +++ b/tmp32/crypt586.asm @@ -1,880 +1,880 @@ -%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 _DES_SPtrans -global _fcrypt_body -align 16 -_fcrypt_body: -L$_fcrypt_body_begin: - push ebp - push ebx - push esi - push edi - ; - ; Load the 2 words - xor edi,edi - xor esi,esi - lea edx,[_DES_SPtrans] - push edx - mov ebp,DWORD [28+esp] - push DWORD 25 -L$000start: - ; - ; Round 0 - mov eax,DWORD [36+esp] - mov edx,esi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,esi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [ebp] - xor eax,ebx - mov ecx,DWORD [4+ebp] - xor eax,esi - xor edx,esi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor edi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 1 - mov eax,DWORD [36+esp] - mov edx,edi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,edi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [8+ebp] - xor eax,ebx - mov ecx,DWORD [12+ebp] - xor eax,edi - xor edx,edi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor esi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 2 - mov eax,DWORD [36+esp] - mov edx,esi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,esi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [16+ebp] - xor eax,ebx - mov ecx,DWORD [20+ebp] - xor eax,esi - xor edx,esi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor edi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 3 - mov eax,DWORD [36+esp] - mov edx,edi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,edi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [24+ebp] - xor eax,ebx - mov ecx,DWORD [28+ebp] - xor eax,edi - xor edx,edi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor esi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 4 - mov eax,DWORD [36+esp] - mov edx,esi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,esi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [32+ebp] - xor eax,ebx - mov ecx,DWORD [36+ebp] - xor eax,esi - xor edx,esi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor edi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 5 - mov eax,DWORD [36+esp] - mov edx,edi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,edi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [40+ebp] - xor eax,ebx - mov ecx,DWORD [44+ebp] - xor eax,edi - xor edx,edi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor esi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 6 - mov eax,DWORD [36+esp] - mov edx,esi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,esi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [48+ebp] - xor eax,ebx - mov ecx,DWORD [52+ebp] - xor eax,esi - xor edx,esi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor edi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 7 - mov eax,DWORD [36+esp] - mov edx,edi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,edi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [56+ebp] - xor eax,ebx - mov ecx,DWORD [60+ebp] - xor eax,edi - xor edx,edi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor esi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 8 - mov eax,DWORD [36+esp] - mov edx,esi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,esi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [64+ebp] - xor eax,ebx - mov ecx,DWORD [68+ebp] - xor eax,esi - xor edx,esi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor edi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 9 - mov eax,DWORD [36+esp] - mov edx,edi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,edi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [72+ebp] - xor eax,ebx - mov ecx,DWORD [76+ebp] - xor eax,edi - xor edx,edi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor esi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 10 - mov eax,DWORD [36+esp] - mov edx,esi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,esi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [80+ebp] - xor eax,ebx - mov ecx,DWORD [84+ebp] - xor eax,esi - xor edx,esi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor edi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 11 - mov eax,DWORD [36+esp] - mov edx,edi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,edi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [88+ebp] - xor eax,ebx - mov ecx,DWORD [92+ebp] - xor eax,edi - xor edx,edi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor esi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 12 - mov eax,DWORD [36+esp] - mov edx,esi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,esi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [96+ebp] - xor eax,ebx - mov ecx,DWORD [100+ebp] - xor eax,esi - xor edx,esi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor edi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 13 - mov eax,DWORD [36+esp] - mov edx,edi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,edi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [104+ebp] - xor eax,ebx - mov ecx,DWORD [108+ebp] - xor eax,edi - xor edx,edi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor esi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 14 - mov eax,DWORD [36+esp] - mov edx,esi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,esi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [112+ebp] - xor eax,ebx - mov ecx,DWORD [116+ebp] - xor eax,esi - xor edx,esi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor edi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor edi,ebx - mov ebp,DWORD [32+esp] - ; - ; Round 15 - mov eax,DWORD [36+esp] - mov edx,edi - shr edx,16 - mov ecx,DWORD [40+esp] - xor edx,edi - and eax,edx - and edx,ecx - mov ebx,eax - shl ebx,16 - mov ecx,edx - shl ecx,16 - xor eax,ebx - xor edx,ecx - mov ebx,DWORD [120+ebp] - xor eax,ebx - mov ecx,DWORD [124+ebp] - xor eax,edi - xor edx,edi - xor edx,ecx - and eax,0xfcfcfcfc - xor ebx,ebx - and edx,0xcfcfcfcf - xor ecx,ecx - mov bl,al - mov cl,ah - ror edx,4 - mov ebp,DWORD [4+esp] - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - mov ebx,DWORD [0x600+ebx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x700+ecx*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x400+eax*1+ebp] - xor esi,ebx - mov ebx,DWORD [0x500+edx*1+ebp] - xor esi,ebx - mov ebp,DWORD [32+esp] - mov ebx,DWORD [esp] - mov eax,edi - dec ebx - mov edi,esi - mov esi,eax - mov DWORD [esp],ebx - jnz NEAR L$000start - ; - ; FP - mov edx,DWORD [28+esp] - ror edi,1 - mov eax,esi - xor esi,edi - and esi,0xaaaaaaaa - xor eax,esi - xor edi,esi - ; - rol eax,23 - mov esi,eax - xor eax,edi - and eax,0x03fc03fc - xor esi,eax - xor edi,eax - ; - rol esi,10 - mov eax,esi - xor esi,edi - and esi,0x33333333 - xor eax,esi - xor edi,esi - ; - rol edi,18 - mov esi,edi - xor edi,eax - and edi,0xfff0000f - xor esi,edi - xor eax,edi - ; - rol esi,12 - mov edi,esi - xor esi,eax - and esi,0xf0f0f0f0 - xor edi,esi - xor eax,esi - ; - ror eax,4 - mov DWORD [edx],eax - mov DWORD [4+edx],edi - add esp,8 - pop edi - pop esi - pop ebx - pop ebp - ret +%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 _DES_SPtrans +global _fcrypt_body +align 16 +_fcrypt_body: +L$_fcrypt_body_begin: + push ebp + push ebx + push esi + push edi + ; + ; Load the 2 words + xor edi,edi + xor esi,esi + lea edx,[_DES_SPtrans] + push edx + mov ebp,DWORD [28+esp] + push DWORD 25 +L$000start: + ; + ; Round 0 + mov eax,DWORD [36+esp] + mov edx,esi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,esi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [ebp] + xor eax,ebx + mov ecx,DWORD [4+ebp] + xor eax,esi + xor edx,esi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor edi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 1 + mov eax,DWORD [36+esp] + mov edx,edi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,edi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [8+ebp] + xor eax,ebx + mov ecx,DWORD [12+ebp] + xor eax,edi + xor edx,edi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor esi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 2 + mov eax,DWORD [36+esp] + mov edx,esi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,esi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [16+ebp] + xor eax,ebx + mov ecx,DWORD [20+ebp] + xor eax,esi + xor edx,esi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor edi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 3 + mov eax,DWORD [36+esp] + mov edx,edi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,edi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [24+ebp] + xor eax,ebx + mov ecx,DWORD [28+ebp] + xor eax,edi + xor edx,edi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor esi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 4 + mov eax,DWORD [36+esp] + mov edx,esi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,esi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [32+ebp] + xor eax,ebx + mov ecx,DWORD [36+ebp] + xor eax,esi + xor edx,esi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor edi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 5 + mov eax,DWORD [36+esp] + mov edx,edi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,edi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [40+ebp] + xor eax,ebx + mov ecx,DWORD [44+ebp] + xor eax,edi + xor edx,edi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor esi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 6 + mov eax,DWORD [36+esp] + mov edx,esi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,esi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [48+ebp] + xor eax,ebx + mov ecx,DWORD [52+ebp] + xor eax,esi + xor edx,esi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor edi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 7 + mov eax,DWORD [36+esp] + mov edx,edi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,edi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [56+ebp] + xor eax,ebx + mov ecx,DWORD [60+ebp] + xor eax,edi + xor edx,edi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor esi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 8 + mov eax,DWORD [36+esp] + mov edx,esi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,esi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [64+ebp] + xor eax,ebx + mov ecx,DWORD [68+ebp] + xor eax,esi + xor edx,esi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor edi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 9 + mov eax,DWORD [36+esp] + mov edx,edi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,edi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [72+ebp] + xor eax,ebx + mov ecx,DWORD [76+ebp] + xor eax,edi + xor edx,edi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor esi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 10 + mov eax,DWORD [36+esp] + mov edx,esi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,esi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [80+ebp] + xor eax,ebx + mov ecx,DWORD [84+ebp] + xor eax,esi + xor edx,esi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor edi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 11 + mov eax,DWORD [36+esp] + mov edx,edi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,edi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [88+ebp] + xor eax,ebx + mov ecx,DWORD [92+ebp] + xor eax,edi + xor edx,edi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor esi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 12 + mov eax,DWORD [36+esp] + mov edx,esi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,esi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [96+ebp] + xor eax,ebx + mov ecx,DWORD [100+ebp] + xor eax,esi + xor edx,esi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor edi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 13 + mov eax,DWORD [36+esp] + mov edx,edi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,edi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [104+ebp] + xor eax,ebx + mov ecx,DWORD [108+ebp] + xor eax,edi + xor edx,edi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor esi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 14 + mov eax,DWORD [36+esp] + mov edx,esi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,esi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [112+ebp] + xor eax,ebx + mov ecx,DWORD [116+ebp] + xor eax,esi + xor edx,esi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor edi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor edi,ebx + mov ebp,DWORD [32+esp] + ; + ; Round 15 + mov eax,DWORD [36+esp] + mov edx,edi + shr edx,16 + mov ecx,DWORD [40+esp] + xor edx,edi + and eax,edx + and edx,ecx + mov ebx,eax + shl ebx,16 + mov ecx,edx + shl ecx,16 + xor eax,ebx + xor edx,ecx + mov ebx,DWORD [120+ebp] + xor eax,ebx + mov ecx,DWORD [124+ebp] + xor eax,edi + xor edx,edi + xor edx,ecx + and eax,0xfcfcfcfc + xor ebx,ebx + and edx,0xcfcfcfcf + xor ecx,ecx + mov bl,al + mov cl,ah + ror edx,4 + mov ebp,DWORD [4+esp] + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + mov ebx,DWORD [0x600+ebx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x700+ecx*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x400+eax*1+ebp] + xor esi,ebx + mov ebx,DWORD [0x500+edx*1+ebp] + xor esi,ebx + mov ebp,DWORD [32+esp] + mov ebx,DWORD [esp] + mov eax,edi + dec ebx + mov edi,esi + mov esi,eax + mov DWORD [esp],ebx + jnz NEAR L$000start + ; + ; FP + mov edx,DWORD [28+esp] + ror edi,1 + mov eax,esi + xor esi,edi + and esi,0xaaaaaaaa + xor eax,esi + xor edi,esi + ; + rol eax,23 + mov esi,eax + xor eax,edi + and eax,0x03fc03fc + xor esi,eax + xor edi,eax + ; + rol esi,10 + mov eax,esi + xor esi,edi + and esi,0x33333333 + xor eax,esi + xor edi,esi + ; + rol edi,18 + mov esi,edi + xor edi,eax + and edi,0xfff0000f + xor esi,edi + xor eax,edi + ; + rol esi,12 + mov edi,esi + xor esi,eax + and esi,0xf0f0f0f0 + xor edi,esi + xor eax,esi + ; + ror eax,4 + mov DWORD [edx],eax + mov DWORD [4+edx],edi + add esp,8 + pop edi + pop esi + pop ebx + pop ebp + ret diff --git a/tmp32/des-586.asm b/tmp32/des-586.asm index 3d6ee2a5..01a531a9 100644 --- a/tmp32/des-586.asm +++ b/tmp32/des-586.asm @@ -1,1828 +1,1828 @@ -%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 _DES_SPtrans -align 16 -__x86_DES_encrypt: - push ecx - ; Round 0 - mov eax,DWORD [ecx] - xor ebx,ebx - mov edx,DWORD [4+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 1 - mov eax,DWORD [8+ecx] - xor ebx,ebx - mov edx,DWORD [12+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 2 - mov eax,DWORD [16+ecx] - xor ebx,ebx - mov edx,DWORD [20+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 3 - mov eax,DWORD [24+ecx] - xor ebx,ebx - mov edx,DWORD [28+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 4 - mov eax,DWORD [32+ecx] - xor ebx,ebx - mov edx,DWORD [36+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 5 - mov eax,DWORD [40+ecx] - xor ebx,ebx - mov edx,DWORD [44+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 6 - mov eax,DWORD [48+ecx] - xor ebx,ebx - mov edx,DWORD [52+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 7 - mov eax,DWORD [56+ecx] - xor ebx,ebx - mov edx,DWORD [60+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 8 - mov eax,DWORD [64+ecx] - xor ebx,ebx - mov edx,DWORD [68+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 9 - mov eax,DWORD [72+ecx] - xor ebx,ebx - mov edx,DWORD [76+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 10 - mov eax,DWORD [80+ecx] - xor ebx,ebx - mov edx,DWORD [84+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 11 - mov eax,DWORD [88+ecx] - xor ebx,ebx - mov edx,DWORD [92+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 12 - mov eax,DWORD [96+ecx] - xor ebx,ebx - mov edx,DWORD [100+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 13 - mov eax,DWORD [104+ecx] - xor ebx,ebx - mov edx,DWORD [108+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 14 - mov eax,DWORD [112+ecx] - xor ebx,ebx - mov edx,DWORD [116+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 15 - mov eax,DWORD [120+ecx] - xor ebx,ebx - mov edx,DWORD [124+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - add esp,4 - ret -align 16 -__x86_DES_decrypt: - push ecx - ; Round 15 - mov eax,DWORD [120+ecx] - xor ebx,ebx - mov edx,DWORD [124+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 14 - mov eax,DWORD [112+ecx] - xor ebx,ebx - mov edx,DWORD [116+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 13 - mov eax,DWORD [104+ecx] - xor ebx,ebx - mov edx,DWORD [108+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 12 - mov eax,DWORD [96+ecx] - xor ebx,ebx - mov edx,DWORD [100+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 11 - mov eax,DWORD [88+ecx] - xor ebx,ebx - mov edx,DWORD [92+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 10 - mov eax,DWORD [80+ecx] - xor ebx,ebx - mov edx,DWORD [84+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 9 - mov eax,DWORD [72+ecx] - xor ebx,ebx - mov edx,DWORD [76+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 8 - mov eax,DWORD [64+ecx] - xor ebx,ebx - mov edx,DWORD [68+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 7 - mov eax,DWORD [56+ecx] - xor ebx,ebx - mov edx,DWORD [60+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 6 - mov eax,DWORD [48+ecx] - xor ebx,ebx - mov edx,DWORD [52+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 5 - mov eax,DWORD [40+ecx] - xor ebx,ebx - mov edx,DWORD [44+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 4 - mov eax,DWORD [32+ecx] - xor ebx,ebx - mov edx,DWORD [36+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 3 - mov eax,DWORD [24+ecx] - xor ebx,ebx - mov edx,DWORD [28+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 2 - mov eax,DWORD [16+ecx] - xor ebx,ebx - mov edx,DWORD [20+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - ; Round 1 - mov eax,DWORD [8+ecx] - xor ebx,ebx - mov edx,DWORD [12+ecx] - xor eax,esi - xor ecx,ecx - xor edx,esi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor edi,DWORD [ebx*1+ebp] - mov bl,dl - xor edi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor edi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor edi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor edi,DWORD [0x600+ebx*1+ebp] - xor edi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor edi,DWORD [0x400+eax*1+ebp] - xor edi,DWORD [0x500+edx*1+ebp] - ; Round 0 - mov eax,DWORD [ecx] - xor ebx,ebx - mov edx,DWORD [4+ecx] - xor eax,edi - xor ecx,ecx - xor edx,edi - and eax,0xfcfcfcfc - and edx,0xcfcfcfcf - mov bl,al - mov cl,ah - ror edx,4 - xor esi,DWORD [ebx*1+ebp] - mov bl,dl - xor esi,DWORD [0x200+ecx*1+ebp] - mov cl,dh - shr eax,16 - xor esi,DWORD [0x100+ebx*1+ebp] - mov bl,ah - shr edx,16 - xor esi,DWORD [0x300+ecx*1+ebp] - mov cl,dh - and eax,0xff - and edx,0xff - xor esi,DWORD [0x600+ebx*1+ebp] - xor esi,DWORD [0x700+ecx*1+ebp] - mov ecx,DWORD [esp] - xor esi,DWORD [0x400+eax*1+ebp] - xor esi,DWORD [0x500+edx*1+ebp] - add esp,4 - ret -global _DES_encrypt1 -align 16 -_DES_encrypt1: -L$_DES_encrypt1_begin: - push esi - push edi - ; - ; Load the 2 words - mov esi,DWORD [12+esp] - xor ecx,ecx - push ebx - push ebp - mov eax,DWORD [esi] - mov ebx,DWORD [28+esp] - mov edi,DWORD [4+esi] - ; - ; IP - rol eax,4 - mov esi,eax - xor eax,edi - and eax,0xf0f0f0f0 - xor esi,eax - xor edi,eax - ; - rol edi,20 - mov eax,edi - xor edi,esi - and edi,0xfff0000f - xor eax,edi - xor esi,edi - ; - rol eax,14 - mov edi,eax - xor eax,esi - and eax,0x33333333 - xor edi,eax - xor esi,eax - ; - rol esi,22 - mov eax,esi - xor esi,edi - and esi,0x03fc03fc - xor eax,esi - xor edi,esi - ; - rol eax,9 - mov esi,eax - xor eax,edi - and eax,0xaaaaaaaa - xor esi,eax - xor edi,eax - ; - rol edi,1 - call L$000pic_point -L$000pic_point: - pop ebp - lea ebp,[(L$des_sptrans-L$000pic_point)+ebp] - mov ecx,DWORD [24+esp] - cmp ebx,0 - je NEAR L$001decrypt - call __x86_DES_encrypt - jmp NEAR L$002done -L$001decrypt: - call __x86_DES_decrypt -L$002done: - ; - ; FP - mov edx,DWORD [20+esp] - ror esi,1 - mov eax,edi - xor edi,esi - and edi,0xaaaaaaaa - xor eax,edi - xor esi,edi - ; - rol eax,23 - mov edi,eax - xor eax,esi - and eax,0x03fc03fc - xor edi,eax - xor esi,eax - ; - rol edi,10 - mov eax,edi - xor edi,esi - and edi,0x33333333 - xor eax,edi - xor esi,edi - ; - rol esi,18 - mov edi,esi - xor esi,eax - and esi,0xfff0000f - xor edi,esi - xor eax,esi - ; - rol edi,12 - mov esi,edi - xor edi,eax - and edi,0xf0f0f0f0 - xor esi,edi - xor eax,edi - ; - ror eax,4 - mov DWORD [edx],eax - mov DWORD [4+edx],esi - pop ebp - pop ebx - pop edi - pop esi - ret -global _DES_encrypt2 -align 16 -_DES_encrypt2: -L$_DES_encrypt2_begin: - push esi - push edi - ; - ; Load the 2 words - mov eax,DWORD [12+esp] - xor ecx,ecx - push ebx - push ebp - mov esi,DWORD [eax] - mov ebx,DWORD [28+esp] - rol esi,3 - mov edi,DWORD [4+eax] - rol edi,3 - call L$003pic_point -L$003pic_point: - pop ebp - lea ebp,[(L$des_sptrans-L$003pic_point)+ebp] - mov ecx,DWORD [24+esp] - cmp ebx,0 - je NEAR L$004decrypt - call __x86_DES_encrypt - jmp NEAR L$005done -L$004decrypt: - call __x86_DES_decrypt -L$005done: - ; - ; Fixup - ror edi,3 - mov eax,DWORD [20+esp] - ror esi,3 - mov DWORD [eax],edi - mov DWORD [4+eax],esi - pop ebp - pop ebx - pop edi - pop esi - ret -global _DES_encrypt3 -align 16 -_DES_encrypt3: -L$_DES_encrypt3_begin: - push ebx - mov ebx,DWORD [8+esp] - push ebp - push esi - push edi - ; - ; Load the data words - mov edi,DWORD [ebx] - mov esi,DWORD [4+ebx] - sub esp,12 - ; - ; IP - rol edi,4 - mov edx,edi - xor edi,esi - and edi,0xf0f0f0f0 - xor edx,edi - xor esi,edi - ; - rol esi,20 - mov edi,esi - xor esi,edx - and esi,0xfff0000f - xor edi,esi - xor edx,esi - ; - rol edi,14 - mov esi,edi - xor edi,edx - and edi,0x33333333 - xor esi,edi - xor edx,edi - ; - rol edx,22 - mov edi,edx - xor edx,esi - and edx,0x03fc03fc - xor edi,edx - xor esi,edx - ; - rol edi,9 - mov edx,edi - xor edi,esi - and edi,0xaaaaaaaa - xor edx,edi - xor esi,edi - ; - ror edx,3 - ror esi,2 - mov DWORD [4+ebx],esi - mov eax,DWORD [36+esp] - mov DWORD [ebx],edx - mov edi,DWORD [40+esp] - mov esi,DWORD [44+esp] - mov DWORD [8+esp],DWORD 1 - mov DWORD [4+esp],eax - mov DWORD [esp],ebx - call L$_DES_encrypt2_begin - mov DWORD [8+esp],DWORD 0 - mov DWORD [4+esp],edi - mov DWORD [esp],ebx - call L$_DES_encrypt2_begin - mov DWORD [8+esp],DWORD 1 - mov DWORD [4+esp],esi - mov DWORD [esp],ebx - call L$_DES_encrypt2_begin - add esp,12 - mov edi,DWORD [ebx] - mov esi,DWORD [4+ebx] - ; - ; FP - rol esi,2 - rol edi,3 - mov eax,edi - xor edi,esi - and edi,0xaaaaaaaa - xor eax,edi - xor esi,edi - ; - rol eax,23 - mov edi,eax - xor eax,esi - and eax,0x03fc03fc - xor edi,eax - xor esi,eax - ; - rol edi,10 - mov eax,edi - xor edi,esi - and edi,0x33333333 - xor eax,edi - xor esi,edi - ; - rol esi,18 - mov edi,esi - xor esi,eax - and esi,0xfff0000f - xor edi,esi - xor eax,esi - ; - rol edi,12 - mov esi,edi - xor edi,eax - and edi,0xf0f0f0f0 - xor esi,edi - xor eax,edi - ; - ror eax,4 - mov DWORD [ebx],eax - mov DWORD [4+ebx],esi - pop edi - pop esi - pop ebp - pop ebx - ret -global _DES_decrypt3 -align 16 -_DES_decrypt3: -L$_DES_decrypt3_begin: - push ebx - mov ebx,DWORD [8+esp] - push ebp - push esi - push edi - ; - ; Load the data words - mov edi,DWORD [ebx] - mov esi,DWORD [4+ebx] - sub esp,12 - ; - ; IP - rol edi,4 - mov edx,edi - xor edi,esi - and edi,0xf0f0f0f0 - xor edx,edi - xor esi,edi - ; - rol esi,20 - mov edi,esi - xor esi,edx - and esi,0xfff0000f - xor edi,esi - xor edx,esi - ; - rol edi,14 - mov esi,edi - xor edi,edx - and edi,0x33333333 - xor esi,edi - xor edx,edi - ; - rol edx,22 - mov edi,edx - xor edx,esi - and edx,0x03fc03fc - xor edi,edx - xor esi,edx - ; - rol edi,9 - mov edx,edi - xor edi,esi - and edi,0xaaaaaaaa - xor edx,edi - xor esi,edi - ; - ror edx,3 - ror esi,2 - mov DWORD [4+ebx],esi - mov esi,DWORD [36+esp] - mov DWORD [ebx],edx - mov edi,DWORD [40+esp] - mov eax,DWORD [44+esp] - mov DWORD [8+esp],DWORD 0 - mov DWORD [4+esp],eax - mov DWORD [esp],ebx - call L$_DES_encrypt2_begin - mov DWORD [8+esp],DWORD 1 - mov DWORD [4+esp],edi - mov DWORD [esp],ebx - call L$_DES_encrypt2_begin - mov DWORD [8+esp],DWORD 0 - mov DWORD [4+esp],esi - mov DWORD [esp],ebx - call L$_DES_encrypt2_begin - add esp,12 - mov edi,DWORD [ebx] - mov esi,DWORD [4+ebx] - ; - ; FP - rol esi,2 - rol edi,3 - mov eax,edi - xor edi,esi - and edi,0xaaaaaaaa - xor eax,edi - xor esi,edi - ; - rol eax,23 - mov edi,eax - xor eax,esi - and eax,0x03fc03fc - xor edi,eax - xor esi,eax - ; - rol edi,10 - mov eax,edi - xor edi,esi - and edi,0x33333333 - xor eax,edi - xor esi,edi - ; - rol esi,18 - mov edi,esi - xor esi,eax - and esi,0xfff0000f - xor edi,esi - xor eax,esi - ; - rol edi,12 - mov esi,edi - xor edi,eax - and edi,0xf0f0f0f0 - xor esi,edi - xor eax,edi - ; - ror eax,4 - mov DWORD [ebx],eax - mov DWORD [4+ebx],esi - pop edi - pop esi - pop ebp - pop ebx - ret -global _DES_ncbc_encrypt -align 16 -_DES_ncbc_encrypt: -L$_DES_ncbc_encrypt_begin: - ; - push ebp - push ebx - push esi - push edi - mov ebp,DWORD [28+esp] - ; getting iv ptr from parameter 4 - mov ebx,DWORD [36+esp] - mov esi,DWORD [ebx] - mov edi,DWORD [4+ebx] - push edi - push esi - push edi - push esi - mov ebx,esp - mov esi,DWORD [36+esp] - mov edi,DWORD [40+esp] - ; getting encrypt flag from parameter 5 - mov ecx,DWORD [56+esp] - ; get and push parameter 5 - push ecx - ; get and push parameter 3 - mov eax,DWORD [52+esp] - push eax - push ebx - cmp ecx,0 - jz NEAR L$006decrypt - and ebp,4294967288 - mov eax,DWORD [12+esp] - mov ebx,DWORD [16+esp] - jz NEAR L$007encrypt_finish -L$008encrypt_loop: - mov ecx,DWORD [esi] - mov edx,DWORD [4+esi] - xor eax,ecx - xor ebx,edx - mov DWORD [12+esp],eax - mov DWORD [16+esp],ebx - call L$_DES_encrypt1_begin - mov eax,DWORD [12+esp] - mov ebx,DWORD [16+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - add esi,8 - add edi,8 - sub ebp,8 - jnz NEAR L$008encrypt_loop -L$007encrypt_finish: - mov ebp,DWORD [56+esp] - and ebp,7 - jz NEAR L$009finish - call L$010PIC_point -L$010PIC_point: - pop edx - lea ecx,[(L$011cbc_enc_jmp_table-L$010PIC_point)+edx] - mov ebp,DWORD [ebp*4+ecx] - add ebp,edx - xor ecx,ecx - xor edx,edx - jmp ebp -L$012ej7: - mov dh,BYTE [6+esi] - shl edx,8 -L$013ej6: - mov dh,BYTE [5+esi] -L$014ej5: - mov dl,BYTE [4+esi] -L$015ej4: - mov ecx,DWORD [esi] - jmp NEAR L$016ejend -L$017ej3: - mov ch,BYTE [2+esi] - shl ecx,8 -L$018ej2: - mov ch,BYTE [1+esi] -L$019ej1: - mov cl,BYTE [esi] -L$016ejend: - xor eax,ecx - xor ebx,edx - mov DWORD [12+esp],eax - mov DWORD [16+esp],ebx - call L$_DES_encrypt1_begin - mov eax,DWORD [12+esp] - mov ebx,DWORD [16+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - jmp NEAR L$009finish -L$006decrypt: - and ebp,4294967288 - mov eax,DWORD [20+esp] - mov ebx,DWORD [24+esp] - jz NEAR L$020decrypt_finish -L$021decrypt_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov DWORD [12+esp],eax - mov DWORD [16+esp],ebx - call L$_DES_encrypt1_begin - mov eax,DWORD [12+esp] - mov ebx,DWORD [16+esp] - mov ecx,DWORD [20+esp] - mov edx,DWORD [24+esp] - xor ecx,eax - xor edx,ebx - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov DWORD [edi],ecx - mov DWORD [4+edi],edx - mov DWORD [20+esp],eax - mov DWORD [24+esp],ebx - add esi,8 - add edi,8 - sub ebp,8 - jnz NEAR L$021decrypt_loop -L$020decrypt_finish: - mov ebp,DWORD [56+esp] - and ebp,7 - jz NEAR L$009finish - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov DWORD [12+esp],eax - mov DWORD [16+esp],ebx - call L$_DES_encrypt1_begin - mov eax,DWORD [12+esp] - mov ebx,DWORD [16+esp] - mov ecx,DWORD [20+esp] - mov edx,DWORD [24+esp] - xor ecx,eax - xor edx,ebx - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] -L$022dj7: - ror edx,16 - mov BYTE [6+edi],dl - shr edx,16 -L$023dj6: - mov BYTE [5+edi],dh -L$024dj5: - mov BYTE [4+edi],dl -L$025dj4: - mov DWORD [edi],ecx - jmp NEAR L$026djend -L$027dj3: - ror ecx,16 - mov BYTE [2+edi],cl - shl ecx,16 -L$028dj2: - mov BYTE [1+esi],ch -L$029dj1: - mov BYTE [esi],cl -L$026djend: - jmp NEAR L$009finish -L$009finish: - mov ecx,DWORD [64+esp] - add esp,28 - mov DWORD [ecx],eax - mov DWORD [4+ecx],ebx - pop edi - pop esi - pop ebx - pop ebp - ret -align 64 -L$011cbc_enc_jmp_table: -dd 0 -dd L$019ej1-L$010PIC_point -dd L$018ej2-L$010PIC_point -dd L$017ej3-L$010PIC_point -dd L$015ej4-L$010PIC_point -dd L$014ej5-L$010PIC_point -dd L$013ej6-L$010PIC_point -dd L$012ej7-L$010PIC_point -align 64 -global _DES_ede3_cbc_encrypt -align 16 -_DES_ede3_cbc_encrypt: -L$_DES_ede3_cbc_encrypt_begin: - ; - push ebp - push ebx - push esi - push edi - mov ebp,DWORD [28+esp] - ; getting iv ptr from parameter 6 - mov ebx,DWORD [44+esp] - mov esi,DWORD [ebx] - mov edi,DWORD [4+ebx] - push edi - push esi - push edi - push esi - mov ebx,esp - mov esi,DWORD [36+esp] - mov edi,DWORD [40+esp] - ; getting encrypt flag from parameter 7 - mov ecx,DWORD [64+esp] - ; get and push parameter 5 - mov eax,DWORD [56+esp] - push eax - ; get and push parameter 4 - mov eax,DWORD [56+esp] - push eax - ; get and push parameter 3 - mov eax,DWORD [56+esp] - push eax - push ebx - cmp ecx,0 - jz NEAR L$030decrypt - and ebp,4294967288 - mov eax,DWORD [16+esp] - mov ebx,DWORD [20+esp] - jz NEAR L$031encrypt_finish -L$032encrypt_loop: - mov ecx,DWORD [esi] - mov edx,DWORD [4+esi] - xor eax,ecx - xor ebx,edx - mov DWORD [16+esp],eax - mov DWORD [20+esp],ebx - call L$_DES_encrypt3_begin - mov eax,DWORD [16+esp] - mov ebx,DWORD [20+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - add esi,8 - add edi,8 - sub ebp,8 - jnz NEAR L$032encrypt_loop -L$031encrypt_finish: - mov ebp,DWORD [60+esp] - and ebp,7 - jz NEAR L$033finish - call L$034PIC_point -L$034PIC_point: - pop edx - lea ecx,[(L$035cbc_enc_jmp_table-L$034PIC_point)+edx] - mov ebp,DWORD [ebp*4+ecx] - add ebp,edx - xor ecx,ecx - xor edx,edx - jmp ebp -L$036ej7: - mov dh,BYTE [6+esi] - shl edx,8 -L$037ej6: - mov dh,BYTE [5+esi] -L$038ej5: - mov dl,BYTE [4+esi] -L$039ej4: - mov ecx,DWORD [esi] - jmp NEAR L$040ejend -L$041ej3: - mov ch,BYTE [2+esi] - shl ecx,8 -L$042ej2: - mov ch,BYTE [1+esi] -L$043ej1: - mov cl,BYTE [esi] -L$040ejend: - xor eax,ecx - xor ebx,edx - mov DWORD [16+esp],eax - mov DWORD [20+esp],ebx - call L$_DES_encrypt3_begin - mov eax,DWORD [16+esp] - mov ebx,DWORD [20+esp] - mov DWORD [edi],eax - mov DWORD [4+edi],ebx - jmp NEAR L$033finish -L$030decrypt: - and ebp,4294967288 - mov eax,DWORD [24+esp] - mov ebx,DWORD [28+esp] - jz NEAR L$044decrypt_finish -L$045decrypt_loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov DWORD [16+esp],eax - mov DWORD [20+esp],ebx - call L$_DES_decrypt3_begin - mov eax,DWORD [16+esp] - mov ebx,DWORD [20+esp] - mov ecx,DWORD [24+esp] - mov edx,DWORD [28+esp] - xor ecx,eax - xor edx,ebx - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov DWORD [edi],ecx - mov DWORD [4+edi],edx - mov DWORD [24+esp],eax - mov DWORD [28+esp],ebx - add esi,8 - add edi,8 - sub ebp,8 - jnz NEAR L$045decrypt_loop -L$044decrypt_finish: - mov ebp,DWORD [60+esp] - and ebp,7 - jz NEAR L$033finish - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov DWORD [16+esp],eax - mov DWORD [20+esp],ebx - call L$_DES_decrypt3_begin - mov eax,DWORD [16+esp] - mov ebx,DWORD [20+esp] - mov ecx,DWORD [24+esp] - mov edx,DWORD [28+esp] - xor ecx,eax - xor edx,ebx - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] -L$046dj7: - ror edx,16 - mov BYTE [6+edi],dl - shr edx,16 -L$047dj6: - mov BYTE [5+edi],dh -L$048dj5: - mov BYTE [4+edi],dl -L$049dj4: - mov DWORD [edi],ecx - jmp NEAR L$050djend -L$051dj3: - ror ecx,16 - mov BYTE [2+edi],cl - shl ecx,16 -L$052dj2: - mov BYTE [1+esi],ch -L$053dj1: - mov BYTE [esi],cl -L$050djend: - jmp NEAR L$033finish -L$033finish: - mov ecx,DWORD [76+esp] - add esp,32 - mov DWORD [ecx],eax - mov DWORD [4+ecx],ebx - pop edi - pop esi - pop ebx - pop ebp - ret -align 64 -L$035cbc_enc_jmp_table: -dd 0 -dd L$043ej1-L$034PIC_point -dd L$042ej2-L$034PIC_point -dd L$041ej3-L$034PIC_point -dd L$039ej4-L$034PIC_point -dd L$038ej5-L$034PIC_point -dd L$037ej6-L$034PIC_point -dd L$036ej7-L$034PIC_point -align 64 -align 64 -_DES_SPtrans: -L$des_sptrans: -dd 34080768,524288,33554434,34080770 -dd 33554432,526338,524290,33554434 -dd 526338,34080768,34078720,2050 -dd 33556482,33554432,0,524290 -dd 524288,2,33556480,526336 -dd 34080770,34078720,2050,33556480 -dd 2,2048,526336,34078722 -dd 2048,33556482,34078722,0 -dd 0,34080770,33556480,524290 -dd 34080768,524288,2050,33556480 -dd 34078722,2048,526336,33554434 -dd 526338,2,33554434,34078720 -dd 34080770,526336,34078720,33556482 -dd 33554432,2050,524290,0 -dd 524288,33554432,33556482,34080768 -dd 2,34078722,2048,526338 -dd 1074823184,0,1081344,1074790400 -dd 1073741840,32784,1073774592,1081344 -dd 32768,1074790416,16,1073774592 -dd 1048592,1074823168,1074790400,16 -dd 1048576,1073774608,1074790416,32768 -dd 1081360,1073741824,0,1048592 -dd 1073774608,1081360,1074823168,1073741840 -dd 1073741824,1048576,32784,1074823184 -dd 1048592,1074823168,1073774592,1081360 -dd 1074823184,1048592,1073741840,0 -dd 1073741824,32784,1048576,1074790416 -dd 32768,1073741824,1081360,1073774608 -dd 1074823168,32768,0,1073741840 -dd 16,1074823184,1081344,1074790400 -dd 1074790416,1048576,32784,1073774592 -dd 1073774608,16,1074790400,1081344 -dd 67108865,67371264,256,67109121 -dd 262145,67108864,67109121,262400 -dd 67109120,262144,67371008,1 -dd 67371265,257,1,67371009 -dd 0,262145,67371264,256 -dd 257,67371265,262144,67108865 -dd 67371009,67109120,262401,67371008 -dd 262400,0,67108864,262401 -dd 67371264,256,1,262144 -dd 257,262145,67371008,67109121 -dd 0,67371264,262400,67371009 -dd 262145,67108864,67371265,1 -dd 262401,67108865,67108864,67371265 -dd 262144,67109120,67109121,262400 -dd 67109120,0,67371009,257 -dd 67108865,262401,256,67371008 -dd 4198408,268439552,8,272633864 -dd 0,272629760,268439560,4194312 -dd 272633856,268435464,268435456,4104 -dd 268435464,4198408,4194304,268435456 -dd 272629768,4198400,4096,8 -dd 4198400,268439560,272629760,4096 -dd 4104,0,4194312,272633856 -dd 268439552,272629768,272633864,4194304 -dd 272629768,4104,4194304,268435464 -dd 4198400,268439552,8,272629760 -dd 268439560,0,4096,4194312 -dd 0,272629768,272633856,4096 -dd 268435456,272633864,4198408,4194304 -dd 272633864,8,268439552,4198408 -dd 4194312,4198400,272629760,268439560 -dd 4104,268435456,268435464,272633856 -dd 134217728,65536,1024,134284320 -dd 134283296,134218752,66592,134283264 -dd 65536,32,134217760,66560 -dd 134218784,134283296,134284288,0 -dd 66560,134217728,65568,1056 -dd 134218752,66592,0,134217760 -dd 32,134218784,134284320,65568 -dd 134283264,1024,1056,134284288 -dd 134284288,134218784,65568,134283264 -dd 65536,32,134217760,134218752 -dd 134217728,66560,134284320,0 -dd 66592,134217728,1024,65568 -dd 134218784,1024,0,134284320 -dd 134283296,134284288,1056,65536 -dd 66560,134283296,134218752,1056 -dd 32,66592,134283264,134217760 -dd 2147483712,2097216,0,2149588992 -dd 2097216,8192,2147491904,2097152 -dd 8256,2149589056,2105344,2147483648 -dd 2147491840,2147483712,2149580800,2105408 -dd 2097152,2147491904,2149580864,0 -dd 8192,64,2149588992,2149580864 -dd 2149589056,2149580800,2147483648,8256 -dd 64,2105344,2105408,2147491840 -dd 8256,2147483648,2147491840,2105408 -dd 2149588992,2097216,0,2147491840 -dd 2147483648,8192,2149580864,2097152 -dd 2097216,2149589056,2105344,64 -dd 2149589056,2105344,2097152,2147491904 -dd 2147483712,2149580800,2105408,0 -dd 8192,2147483712,2147491904,2149588992 -dd 2149580800,8256,64,2149580864 -dd 16384,512,16777728,16777220 -dd 16794116,16388,16896,0 -dd 16777216,16777732,516,16793600 -dd 4,16794112,16793600,516 -dd 16777732,16384,16388,16794116 -dd 0,16777728,16777220,16896 -dd 16793604,16900,16794112,4 -dd 16900,16793604,512,16777216 -dd 16900,16793600,16793604,516 -dd 16384,512,16777216,16793604 -dd 16777732,16900,16896,0 -dd 512,16777220,4,16777728 -dd 0,16777732,16777728,16896 -dd 516,16384,16794116,16777216 -dd 16794112,4,16388,16794116 -dd 16777220,16794112,16793600,16388 -dd 545259648,545390592,131200,0 -dd 537001984,8388736,545259520,545390720 -dd 128,536870912,8519680,131200 -dd 8519808,537002112,536871040,545259520 -dd 131072,8519808,8388736,537001984 -dd 545390720,536871040,0,8519680 -dd 536870912,8388608,537002112,545259648 -dd 8388608,131072,545390592,128 -dd 8388608,131072,536871040,545390720 -dd 131200,536870912,0,8519680 -dd 545259648,537002112,537001984,8388736 -dd 545390592,128,8388736,537001984 -dd 545390720,8388608,545259520,536871040 -dd 8519680,131200,537002112,545259520 -dd 128,545390592,8519808,0 -dd 536870912,545259648,131072,8519808 +%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 _DES_SPtrans +align 16 +__x86_DES_encrypt: + push ecx + ; Round 0 + mov eax,DWORD [ecx] + xor ebx,ebx + mov edx,DWORD [4+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 1 + mov eax,DWORD [8+ecx] + xor ebx,ebx + mov edx,DWORD [12+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 2 + mov eax,DWORD [16+ecx] + xor ebx,ebx + mov edx,DWORD [20+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 3 + mov eax,DWORD [24+ecx] + xor ebx,ebx + mov edx,DWORD [28+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 4 + mov eax,DWORD [32+ecx] + xor ebx,ebx + mov edx,DWORD [36+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 5 + mov eax,DWORD [40+ecx] + xor ebx,ebx + mov edx,DWORD [44+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 6 + mov eax,DWORD [48+ecx] + xor ebx,ebx + mov edx,DWORD [52+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 7 + mov eax,DWORD [56+ecx] + xor ebx,ebx + mov edx,DWORD [60+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 8 + mov eax,DWORD [64+ecx] + xor ebx,ebx + mov edx,DWORD [68+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 9 + mov eax,DWORD [72+ecx] + xor ebx,ebx + mov edx,DWORD [76+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 10 + mov eax,DWORD [80+ecx] + xor ebx,ebx + mov edx,DWORD [84+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 11 + mov eax,DWORD [88+ecx] + xor ebx,ebx + mov edx,DWORD [92+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 12 + mov eax,DWORD [96+ecx] + xor ebx,ebx + mov edx,DWORD [100+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 13 + mov eax,DWORD [104+ecx] + xor ebx,ebx + mov edx,DWORD [108+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 14 + mov eax,DWORD [112+ecx] + xor ebx,ebx + mov edx,DWORD [116+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 15 + mov eax,DWORD [120+ecx] + xor ebx,ebx + mov edx,DWORD [124+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + add esp,4 + ret +align 16 +__x86_DES_decrypt: + push ecx + ; Round 15 + mov eax,DWORD [120+ecx] + xor ebx,ebx + mov edx,DWORD [124+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 14 + mov eax,DWORD [112+ecx] + xor ebx,ebx + mov edx,DWORD [116+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 13 + mov eax,DWORD [104+ecx] + xor ebx,ebx + mov edx,DWORD [108+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 12 + mov eax,DWORD [96+ecx] + xor ebx,ebx + mov edx,DWORD [100+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 11 + mov eax,DWORD [88+ecx] + xor ebx,ebx + mov edx,DWORD [92+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 10 + mov eax,DWORD [80+ecx] + xor ebx,ebx + mov edx,DWORD [84+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 9 + mov eax,DWORD [72+ecx] + xor ebx,ebx + mov edx,DWORD [76+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 8 + mov eax,DWORD [64+ecx] + xor ebx,ebx + mov edx,DWORD [68+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 7 + mov eax,DWORD [56+ecx] + xor ebx,ebx + mov edx,DWORD [60+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 6 + mov eax,DWORD [48+ecx] + xor ebx,ebx + mov edx,DWORD [52+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 5 + mov eax,DWORD [40+ecx] + xor ebx,ebx + mov edx,DWORD [44+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 4 + mov eax,DWORD [32+ecx] + xor ebx,ebx + mov edx,DWORD [36+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 3 + mov eax,DWORD [24+ecx] + xor ebx,ebx + mov edx,DWORD [28+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 2 + mov eax,DWORD [16+ecx] + xor ebx,ebx + mov edx,DWORD [20+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + ; Round 1 + mov eax,DWORD [8+ecx] + xor ebx,ebx + mov edx,DWORD [12+ecx] + xor eax,esi + xor ecx,ecx + xor edx,esi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor edi,DWORD [ebx*1+ebp] + mov bl,dl + xor edi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor edi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor edi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor edi,DWORD [0x600+ebx*1+ebp] + xor edi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor edi,DWORD [0x400+eax*1+ebp] + xor edi,DWORD [0x500+edx*1+ebp] + ; Round 0 + mov eax,DWORD [ecx] + xor ebx,ebx + mov edx,DWORD [4+ecx] + xor eax,edi + xor ecx,ecx + xor edx,edi + and eax,0xfcfcfcfc + and edx,0xcfcfcfcf + mov bl,al + mov cl,ah + ror edx,4 + xor esi,DWORD [ebx*1+ebp] + mov bl,dl + xor esi,DWORD [0x200+ecx*1+ebp] + mov cl,dh + shr eax,16 + xor esi,DWORD [0x100+ebx*1+ebp] + mov bl,ah + shr edx,16 + xor esi,DWORD [0x300+ecx*1+ebp] + mov cl,dh + and eax,0xff + and edx,0xff + xor esi,DWORD [0x600+ebx*1+ebp] + xor esi,DWORD [0x700+ecx*1+ebp] + mov ecx,DWORD [esp] + xor esi,DWORD [0x400+eax*1+ebp] + xor esi,DWORD [0x500+edx*1+ebp] + add esp,4 + ret +global _DES_encrypt1 +align 16 +_DES_encrypt1: +L$_DES_encrypt1_begin: + push esi + push edi + ; + ; Load the 2 words + mov esi,DWORD [12+esp] + xor ecx,ecx + push ebx + push ebp + mov eax,DWORD [esi] + mov ebx,DWORD [28+esp] + mov edi,DWORD [4+esi] + ; + ; IP + rol eax,4 + mov esi,eax + xor eax,edi + and eax,0xf0f0f0f0 + xor esi,eax + xor edi,eax + ; + rol edi,20 + mov eax,edi + xor edi,esi + and edi,0xfff0000f + xor eax,edi + xor esi,edi + ; + rol eax,14 + mov edi,eax + xor eax,esi + and eax,0x33333333 + xor edi,eax + xor esi,eax + ; + rol esi,22 + mov eax,esi + xor esi,edi + and esi,0x03fc03fc + xor eax,esi + xor edi,esi + ; + rol eax,9 + mov esi,eax + xor eax,edi + and eax,0xaaaaaaaa + xor esi,eax + xor edi,eax + ; + rol edi,1 + call L$000pic_point +L$000pic_point: + pop ebp + lea ebp,[(L$des_sptrans-L$000pic_point)+ebp] + mov ecx,DWORD [24+esp] + cmp ebx,0 + je NEAR L$001decrypt + call __x86_DES_encrypt + jmp NEAR L$002done +L$001decrypt: + call __x86_DES_decrypt +L$002done: + ; + ; FP + mov edx,DWORD [20+esp] + ror esi,1 + mov eax,edi + xor edi,esi + and edi,0xaaaaaaaa + xor eax,edi + xor esi,edi + ; + rol eax,23 + mov edi,eax + xor eax,esi + and eax,0x03fc03fc + xor edi,eax + xor esi,eax + ; + rol edi,10 + mov eax,edi + xor edi,esi + and edi,0x33333333 + xor eax,edi + xor esi,edi + ; + rol esi,18 + mov edi,esi + xor esi,eax + and esi,0xfff0000f + xor edi,esi + xor eax,esi + ; + rol edi,12 + mov esi,edi + xor edi,eax + and edi,0xf0f0f0f0 + xor esi,edi + xor eax,edi + ; + ror eax,4 + mov DWORD [edx],eax + mov DWORD [4+edx],esi + pop ebp + pop ebx + pop edi + pop esi + ret +global _DES_encrypt2 +align 16 +_DES_encrypt2: +L$_DES_encrypt2_begin: + push esi + push edi + ; + ; Load the 2 words + mov eax,DWORD [12+esp] + xor ecx,ecx + push ebx + push ebp + mov esi,DWORD [eax] + mov ebx,DWORD [28+esp] + rol esi,3 + mov edi,DWORD [4+eax] + rol edi,3 + call L$003pic_point +L$003pic_point: + pop ebp + lea ebp,[(L$des_sptrans-L$003pic_point)+ebp] + mov ecx,DWORD [24+esp] + cmp ebx,0 + je NEAR L$004decrypt + call __x86_DES_encrypt + jmp NEAR L$005done +L$004decrypt: + call __x86_DES_decrypt +L$005done: + ; + ; Fixup + ror edi,3 + mov eax,DWORD [20+esp] + ror esi,3 + mov DWORD [eax],edi + mov DWORD [4+eax],esi + pop ebp + pop ebx + pop edi + pop esi + ret +global _DES_encrypt3 +align 16 +_DES_encrypt3: +L$_DES_encrypt3_begin: + push ebx + mov ebx,DWORD [8+esp] + push ebp + push esi + push edi + ; + ; Load the data words + mov edi,DWORD [ebx] + mov esi,DWORD [4+ebx] + sub esp,12 + ; + ; IP + rol edi,4 + mov edx,edi + xor edi,esi + and edi,0xf0f0f0f0 + xor edx,edi + xor esi,edi + ; + rol esi,20 + mov edi,esi + xor esi,edx + and esi,0xfff0000f + xor edi,esi + xor edx,esi + ; + rol edi,14 + mov esi,edi + xor edi,edx + and edi,0x33333333 + xor esi,edi + xor edx,edi + ; + rol edx,22 + mov edi,edx + xor edx,esi + and edx,0x03fc03fc + xor edi,edx + xor esi,edx + ; + rol edi,9 + mov edx,edi + xor edi,esi + and edi,0xaaaaaaaa + xor edx,edi + xor esi,edi + ; + ror edx,3 + ror esi,2 + mov DWORD [4+ebx],esi + mov eax,DWORD [36+esp] + mov DWORD [ebx],edx + mov edi,DWORD [40+esp] + mov esi,DWORD [44+esp] + mov DWORD [8+esp],DWORD 1 + mov DWORD [4+esp],eax + mov DWORD [esp],ebx + call L$_DES_encrypt2_begin + mov DWORD [8+esp],DWORD 0 + mov DWORD [4+esp],edi + mov DWORD [esp],ebx + call L$_DES_encrypt2_begin + mov DWORD [8+esp],DWORD 1 + mov DWORD [4+esp],esi + mov DWORD [esp],ebx + call L$_DES_encrypt2_begin + add esp,12 + mov edi,DWORD [ebx] + mov esi,DWORD [4+ebx] + ; + ; FP + rol esi,2 + rol edi,3 + mov eax,edi + xor edi,esi + and edi,0xaaaaaaaa + xor eax,edi + xor esi,edi + ; + rol eax,23 + mov edi,eax + xor eax,esi + and eax,0x03fc03fc + xor edi,eax + xor esi,eax + ; + rol edi,10 + mov eax,edi + xor edi,esi + and edi,0x33333333 + xor eax,edi + xor esi,edi + ; + rol esi,18 + mov edi,esi + xor esi,eax + and esi,0xfff0000f + xor edi,esi + xor eax,esi + ; + rol edi,12 + mov esi,edi + xor edi,eax + and edi,0xf0f0f0f0 + xor esi,edi + xor eax,edi + ; + ror eax,4 + mov DWORD [ebx],eax + mov DWORD [4+ebx],esi + pop edi + pop esi + pop ebp + pop ebx + ret +global _DES_decrypt3 +align 16 +_DES_decrypt3: +L$_DES_decrypt3_begin: + push ebx + mov ebx,DWORD [8+esp] + push ebp + push esi + push edi + ; + ; Load the data words + mov edi,DWORD [ebx] + mov esi,DWORD [4+ebx] + sub esp,12 + ; + ; IP + rol edi,4 + mov edx,edi + xor edi,esi + and edi,0xf0f0f0f0 + xor edx,edi + xor esi,edi + ; + rol esi,20 + mov edi,esi + xor esi,edx + and esi,0xfff0000f + xor edi,esi + xor edx,esi + ; + rol edi,14 + mov esi,edi + xor edi,edx + and edi,0x33333333 + xor esi,edi + xor edx,edi + ; + rol edx,22 + mov edi,edx + xor edx,esi + and edx,0x03fc03fc + xor edi,edx + xor esi,edx + ; + rol edi,9 + mov edx,edi + xor edi,esi + and edi,0xaaaaaaaa + xor edx,edi + xor esi,edi + ; + ror edx,3 + ror esi,2 + mov DWORD [4+ebx],esi + mov esi,DWORD [36+esp] + mov DWORD [ebx],edx + mov edi,DWORD [40+esp] + mov eax,DWORD [44+esp] + mov DWORD [8+esp],DWORD 0 + mov DWORD [4+esp],eax + mov DWORD [esp],ebx + call L$_DES_encrypt2_begin + mov DWORD [8+esp],DWORD 1 + mov DWORD [4+esp],edi + mov DWORD [esp],ebx + call L$_DES_encrypt2_begin + mov DWORD [8+esp],DWORD 0 + mov DWORD [4+esp],esi + mov DWORD [esp],ebx + call L$_DES_encrypt2_begin + add esp,12 + mov edi,DWORD [ebx] + mov esi,DWORD [4+ebx] + ; + ; FP + rol esi,2 + rol edi,3 + mov eax,edi + xor edi,esi + and edi,0xaaaaaaaa + xor eax,edi + xor esi,edi + ; + rol eax,23 + mov edi,eax + xor eax,esi + and eax,0x03fc03fc + xor edi,eax + xor esi,eax + ; + rol edi,10 + mov eax,edi + xor edi,esi + and edi,0x33333333 + xor eax,edi + xor esi,edi + ; + rol esi,18 + mov edi,esi + xor esi,eax + and esi,0xfff0000f + xor edi,esi + xor eax,esi + ; + rol edi,12 + mov esi,edi + xor edi,eax + and edi,0xf0f0f0f0 + xor esi,edi + xor eax,edi + ; + ror eax,4 + mov DWORD [ebx],eax + mov DWORD [4+ebx],esi + pop edi + pop esi + pop ebp + pop ebx + ret +global _DES_ncbc_encrypt +align 16 +_DES_ncbc_encrypt: +L$_DES_ncbc_encrypt_begin: + ; + push ebp + push ebx + push esi + push edi + mov ebp,DWORD [28+esp] + ; getting iv ptr from parameter 4 + mov ebx,DWORD [36+esp] + mov esi,DWORD [ebx] + mov edi,DWORD [4+ebx] + push edi + push esi + push edi + push esi + mov ebx,esp + mov esi,DWORD [36+esp] + mov edi,DWORD [40+esp] + ; getting encrypt flag from parameter 5 + mov ecx,DWORD [56+esp] + ; get and push parameter 5 + push ecx + ; get and push parameter 3 + mov eax,DWORD [52+esp] + push eax + push ebx + cmp ecx,0 + jz NEAR L$006decrypt + and ebp,4294967288 + mov eax,DWORD [12+esp] + mov ebx,DWORD [16+esp] + jz NEAR L$007encrypt_finish +L$008encrypt_loop: + mov ecx,DWORD [esi] + mov edx,DWORD [4+esi] + xor eax,ecx + xor ebx,edx + mov DWORD [12+esp],eax + mov DWORD [16+esp],ebx + call L$_DES_encrypt1_begin + mov eax,DWORD [12+esp] + mov ebx,DWORD [16+esp] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + add esi,8 + add edi,8 + sub ebp,8 + jnz NEAR L$008encrypt_loop +L$007encrypt_finish: + mov ebp,DWORD [56+esp] + and ebp,7 + jz NEAR L$009finish + call L$010PIC_point +L$010PIC_point: + pop edx + lea ecx,[(L$011cbc_enc_jmp_table-L$010PIC_point)+edx] + mov ebp,DWORD [ebp*4+ecx] + add ebp,edx + xor ecx,ecx + xor edx,edx + jmp ebp +L$012ej7: + mov dh,BYTE [6+esi] + shl edx,8 +L$013ej6: + mov dh,BYTE [5+esi] +L$014ej5: + mov dl,BYTE [4+esi] +L$015ej4: + mov ecx,DWORD [esi] + jmp NEAR L$016ejend +L$017ej3: + mov ch,BYTE [2+esi] + shl ecx,8 +L$018ej2: + mov ch,BYTE [1+esi] +L$019ej1: + mov cl,BYTE [esi] +L$016ejend: + xor eax,ecx + xor ebx,edx + mov DWORD [12+esp],eax + mov DWORD [16+esp],ebx + call L$_DES_encrypt1_begin + mov eax,DWORD [12+esp] + mov ebx,DWORD [16+esp] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + jmp NEAR L$009finish +L$006decrypt: + and ebp,4294967288 + mov eax,DWORD [20+esp] + mov ebx,DWORD [24+esp] + jz NEAR L$020decrypt_finish +L$021decrypt_loop: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov DWORD [12+esp],eax + mov DWORD [16+esp],ebx + call L$_DES_encrypt1_begin + mov eax,DWORD [12+esp] + mov ebx,DWORD [16+esp] + mov ecx,DWORD [20+esp] + mov edx,DWORD [24+esp] + xor ecx,eax + xor edx,ebx + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov DWORD [edi],ecx + mov DWORD [4+edi],edx + mov DWORD [20+esp],eax + mov DWORD [24+esp],ebx + add esi,8 + add edi,8 + sub ebp,8 + jnz NEAR L$021decrypt_loop +L$020decrypt_finish: + mov ebp,DWORD [56+esp] + and ebp,7 + jz NEAR L$009finish + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov DWORD [12+esp],eax + mov DWORD [16+esp],ebx + call L$_DES_encrypt1_begin + mov eax,DWORD [12+esp] + mov ebx,DWORD [16+esp] + mov ecx,DWORD [20+esp] + mov edx,DWORD [24+esp] + xor ecx,eax + xor edx,ebx + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] +L$022dj7: + ror edx,16 + mov BYTE [6+edi],dl + shr edx,16 +L$023dj6: + mov BYTE [5+edi],dh +L$024dj5: + mov BYTE [4+edi],dl +L$025dj4: + mov DWORD [edi],ecx + jmp NEAR L$026djend +L$027dj3: + ror ecx,16 + mov BYTE [2+edi],cl + shl ecx,16 +L$028dj2: + mov BYTE [1+esi],ch +L$029dj1: + mov BYTE [esi],cl +L$026djend: + jmp NEAR L$009finish +L$009finish: + mov ecx,DWORD [64+esp] + add esp,28 + mov DWORD [ecx],eax + mov DWORD [4+ecx],ebx + pop edi + pop esi + pop ebx + pop ebp + ret +align 64 +L$011cbc_enc_jmp_table: +dd 0 +dd L$019ej1-L$010PIC_point +dd L$018ej2-L$010PIC_point +dd L$017ej3-L$010PIC_point +dd L$015ej4-L$010PIC_point +dd L$014ej5-L$010PIC_point +dd L$013ej6-L$010PIC_point +dd L$012ej7-L$010PIC_point +align 64 +global _DES_ede3_cbc_encrypt +align 16 +_DES_ede3_cbc_encrypt: +L$_DES_ede3_cbc_encrypt_begin: + ; + push ebp + push ebx + push esi + push edi + mov ebp,DWORD [28+esp] + ; getting iv ptr from parameter 6 + mov ebx,DWORD [44+esp] + mov esi,DWORD [ebx] + mov edi,DWORD [4+ebx] + push edi + push esi + push edi + push esi + mov ebx,esp + mov esi,DWORD [36+esp] + mov edi,DWORD [40+esp] + ; getting encrypt flag from parameter 7 + mov ecx,DWORD [64+esp] + ; get and push parameter 5 + mov eax,DWORD [56+esp] + push eax + ; get and push parameter 4 + mov eax,DWORD [56+esp] + push eax + ; get and push parameter 3 + mov eax,DWORD [56+esp] + push eax + push ebx + cmp ecx,0 + jz NEAR L$030decrypt + and ebp,4294967288 + mov eax,DWORD [16+esp] + mov ebx,DWORD [20+esp] + jz NEAR L$031encrypt_finish +L$032encrypt_loop: + mov ecx,DWORD [esi] + mov edx,DWORD [4+esi] + xor eax,ecx + xor ebx,edx + mov DWORD [16+esp],eax + mov DWORD [20+esp],ebx + call L$_DES_encrypt3_begin + mov eax,DWORD [16+esp] + mov ebx,DWORD [20+esp] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + add esi,8 + add edi,8 + sub ebp,8 + jnz NEAR L$032encrypt_loop +L$031encrypt_finish: + mov ebp,DWORD [60+esp] + and ebp,7 + jz NEAR L$033finish + call L$034PIC_point +L$034PIC_point: + pop edx + lea ecx,[(L$035cbc_enc_jmp_table-L$034PIC_point)+edx] + mov ebp,DWORD [ebp*4+ecx] + add ebp,edx + xor ecx,ecx + xor edx,edx + jmp ebp +L$036ej7: + mov dh,BYTE [6+esi] + shl edx,8 +L$037ej6: + mov dh,BYTE [5+esi] +L$038ej5: + mov dl,BYTE [4+esi] +L$039ej4: + mov ecx,DWORD [esi] + jmp NEAR L$040ejend +L$041ej3: + mov ch,BYTE [2+esi] + shl ecx,8 +L$042ej2: + mov ch,BYTE [1+esi] +L$043ej1: + mov cl,BYTE [esi] +L$040ejend: + xor eax,ecx + xor ebx,edx + mov DWORD [16+esp],eax + mov DWORD [20+esp],ebx + call L$_DES_encrypt3_begin + mov eax,DWORD [16+esp] + mov ebx,DWORD [20+esp] + mov DWORD [edi],eax + mov DWORD [4+edi],ebx + jmp NEAR L$033finish +L$030decrypt: + and ebp,4294967288 + mov eax,DWORD [24+esp] + mov ebx,DWORD [28+esp] + jz NEAR L$044decrypt_finish +L$045decrypt_loop: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov DWORD [16+esp],eax + mov DWORD [20+esp],ebx + call L$_DES_decrypt3_begin + mov eax,DWORD [16+esp] + mov ebx,DWORD [20+esp] + mov ecx,DWORD [24+esp] + mov edx,DWORD [28+esp] + xor ecx,eax + xor edx,ebx + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov DWORD [edi],ecx + mov DWORD [4+edi],edx + mov DWORD [24+esp],eax + mov DWORD [28+esp],ebx + add esi,8 + add edi,8 + sub ebp,8 + jnz NEAR L$045decrypt_loop +L$044decrypt_finish: + mov ebp,DWORD [60+esp] + and ebp,7 + jz NEAR L$033finish + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov DWORD [16+esp],eax + mov DWORD [20+esp],ebx + call L$_DES_decrypt3_begin + mov eax,DWORD [16+esp] + mov ebx,DWORD [20+esp] + mov ecx,DWORD [24+esp] + mov edx,DWORD [28+esp] + xor ecx,eax + xor edx,ebx + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] +L$046dj7: + ror edx,16 + mov BYTE [6+edi],dl + shr edx,16 +L$047dj6: + mov BYTE [5+edi],dh +L$048dj5: + mov BYTE [4+edi],dl +L$049dj4: + mov DWORD [edi],ecx + jmp NEAR L$050djend +L$051dj3: + ror ecx,16 + mov BYTE [2+edi],cl + shl ecx,16 +L$052dj2: + mov BYTE [1+esi],ch +L$053dj1: + mov BYTE [esi],cl +L$050djend: + jmp NEAR L$033finish +L$033finish: + mov ecx,DWORD [76+esp] + add esp,32 + mov DWORD [ecx],eax + mov DWORD [4+ecx],ebx + pop edi + pop esi + pop ebx + pop ebp + ret +align 64 +L$035cbc_enc_jmp_table: +dd 0 +dd L$043ej1-L$034PIC_point +dd L$042ej2-L$034PIC_point +dd L$041ej3-L$034PIC_point +dd L$039ej4-L$034PIC_point +dd L$038ej5-L$034PIC_point +dd L$037ej6-L$034PIC_point +dd L$036ej7-L$034PIC_point +align 64 +align 64 +_DES_SPtrans: +L$des_sptrans: +dd 34080768,524288,33554434,34080770 +dd 33554432,526338,524290,33554434 +dd 526338,34080768,34078720,2050 +dd 33556482,33554432,0,524290 +dd 524288,2,33556480,526336 +dd 34080770,34078720,2050,33556480 +dd 2,2048,526336,34078722 +dd 2048,33556482,34078722,0 +dd 0,34080770,33556480,524290 +dd 34080768,524288,2050,33556480 +dd 34078722,2048,526336,33554434 +dd 526338,2,33554434,34078720 +dd 34080770,526336,34078720,33556482 +dd 33554432,2050,524290,0 +dd 524288,33554432,33556482,34080768 +dd 2,34078722,2048,526338 +dd 1074823184,0,1081344,1074790400 +dd 1073741840,32784,1073774592,1081344 +dd 32768,1074790416,16,1073774592 +dd 1048592,1074823168,1074790400,16 +dd 1048576,1073774608,1074790416,32768 +dd 1081360,1073741824,0,1048592 +dd 1073774608,1081360,1074823168,1073741840 +dd 1073741824,1048576,32784,1074823184 +dd 1048592,1074823168,1073774592,1081360 +dd 1074823184,1048592,1073741840,0 +dd 1073741824,32784,1048576,1074790416 +dd 32768,1073741824,1081360,1073774608 +dd 1074823168,32768,0,1073741840 +dd 16,1074823184,1081344,1074790400 +dd 1074790416,1048576,32784,1073774592 +dd 1073774608,16,1074790400,1081344 +dd 67108865,67371264,256,67109121 +dd 262145,67108864,67109121,262400 +dd 67109120,262144,67371008,1 +dd 67371265,257,1,67371009 +dd 0,262145,67371264,256 +dd 257,67371265,262144,67108865 +dd 67371009,67109120,262401,67371008 +dd 262400,0,67108864,262401 +dd 67371264,256,1,262144 +dd 257,262145,67371008,67109121 +dd 0,67371264,262400,67371009 +dd 262145,67108864,67371265,1 +dd 262401,67108865,67108864,67371265 +dd 262144,67109120,67109121,262400 +dd 67109120,0,67371009,257 +dd 67108865,262401,256,67371008 +dd 4198408,268439552,8,272633864 +dd 0,272629760,268439560,4194312 +dd 272633856,268435464,268435456,4104 +dd 268435464,4198408,4194304,268435456 +dd 272629768,4198400,4096,8 +dd 4198400,268439560,272629760,4096 +dd 4104,0,4194312,272633856 +dd 268439552,272629768,272633864,4194304 +dd 272629768,4104,4194304,268435464 +dd 4198400,268439552,8,272629760 +dd 268439560,0,4096,4194312 +dd 0,272629768,272633856,4096 +dd 268435456,272633864,4198408,4194304 +dd 272633864,8,268439552,4198408 +dd 4194312,4198400,272629760,268439560 +dd 4104,268435456,268435464,272633856 +dd 134217728,65536,1024,134284320 +dd 134283296,134218752,66592,134283264 +dd 65536,32,134217760,66560 +dd 134218784,134283296,134284288,0 +dd 66560,134217728,65568,1056 +dd 134218752,66592,0,134217760 +dd 32,134218784,134284320,65568 +dd 134283264,1024,1056,134284288 +dd 134284288,134218784,65568,134283264 +dd 65536,32,134217760,134218752 +dd 134217728,66560,134284320,0 +dd 66592,134217728,1024,65568 +dd 134218784,1024,0,134284320 +dd 134283296,134284288,1056,65536 +dd 66560,134283296,134218752,1056 +dd 32,66592,134283264,134217760 +dd 2147483712,2097216,0,2149588992 +dd 2097216,8192,2147491904,2097152 +dd 8256,2149589056,2105344,2147483648 +dd 2147491840,2147483712,2149580800,2105408 +dd 2097152,2147491904,2149580864,0 +dd 8192,64,2149588992,2149580864 +dd 2149589056,2149580800,2147483648,8256 +dd 64,2105344,2105408,2147491840 +dd 8256,2147483648,2147491840,2105408 +dd 2149588992,2097216,0,2147491840 +dd 2147483648,8192,2149580864,2097152 +dd 2097216,2149589056,2105344,64 +dd 2149589056,2105344,2097152,2147491904 +dd 2147483712,2149580800,2105408,0 +dd 8192,2147483712,2147491904,2149588992 +dd 2149580800,8256,64,2149580864 +dd 16384,512,16777728,16777220 +dd 16794116,16388,16896,0 +dd 16777216,16777732,516,16793600 +dd 4,16794112,16793600,516 +dd 16777732,16384,16388,16794116 +dd 0,16777728,16777220,16896 +dd 16793604,16900,16794112,4 +dd 16900,16793604,512,16777216 +dd 16900,16793600,16793604,516 +dd 16384,512,16777216,16793604 +dd 16777732,16900,16896,0 +dd 512,16777220,4,16777728 +dd 0,16777732,16777728,16896 +dd 516,16384,16794116,16777216 +dd 16794112,4,16388,16794116 +dd 16777220,16794112,16793600,16388 +dd 545259648,545390592,131200,0 +dd 537001984,8388736,545259520,545390720 +dd 128,536870912,8519680,131200 +dd 8519808,537002112,536871040,545259520 +dd 131072,8519808,8388736,537001984 +dd 545390720,536871040,0,8519680 +dd 536870912,8388608,537002112,545259648 +dd 8388608,131072,545390592,128 +dd 8388608,131072,536871040,545390720 +dd 131200,536870912,0,8519680 +dd 545259648,537002112,537001984,8388736 +dd 545390592,128,8388736,537001984 +dd 545390720,8388608,545259520,536871040 +dd 8519680,131200,537002112,545259520 +dd 128,545390592,8519808,0 +dd 536870912,545259648,131072,8519808 diff --git a/tmp32/ghash-x86.asm b/tmp32/ghash-x86.asm index a526bbbc..7b43cb0a 100644 --- a/tmp32/ghash-x86.asm +++ b/tmp32/ghash-x86.asm @@ -1,1257 +1,1257 @@ -%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 -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] - xor ecx,ecx - mov edx,ebx - mov cl,dl - mov ebp,14 - shl cl,4 - and edx,240 - movq mm0,[8+ecx*1+esi] - movq mm1,[ecx*1+esi] - movd ebx,mm0 - jmp NEAR L$006mmx_loop -align 16 -L$006mmx_loop: - psrlq mm0,4 - and ebx,15 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [ebp*1+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - dec ebp - movd ebx,mm0 - pxor mm1,[edx*1+esi] - mov edx,ecx - pxor mm0,mm2 - js NEAR L$007mmx_break - shl cl,4 - and ebx,15 - psrlq mm0,4 - and edx,240 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - movd ebx,mm0 - pxor mm1,[ecx*1+esi] - pxor mm0,mm2 - jmp NEAR L$006mmx_loop -align 16 -L$007mmx_break: - shl cl,4 - and ebx,15 - psrlq mm0,4 - and edx,240 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - movd ebx,mm0 - pxor mm1,[ecx*1+esi] - pxor mm0,mm2 - psrlq mm0,4 - and ebx,15 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - movd ebx,mm0 - pxor mm1,[edx*1+esi] - pxor mm0,mm2 - psrlq mm0,32 - movd edx,mm1 - psrlq mm1,32 - movd ecx,mm0 - movd ebp,mm1 - bswap ebx - bswap edx - bswap ecx - bswap ebp - 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 eax,DWORD [20+esp] - mov ebx,DWORD [24+esp] - mov ecx,DWORD [28+esp] - mov edx,DWORD [32+esp] - mov ebp,esp - call L$008pic_point -L$008pic_point: - pop esi - lea esi,[(L$rem_8bit-L$008pic_point)+esi] - sub esp,544 - and esp,-64 - sub esp,16 - add edx,ecx - mov DWORD [544+esp],eax - mov DWORD [552+esp],edx - mov DWORD [556+esp],ebp - add ebx,128 - lea edi,[144+esp] - lea ebp,[400+esp] - mov edx,DWORD [ebx-120] - movq mm0,[ebx-120] - movq mm3,[ebx-128] - shl edx,4 - mov BYTE [esp],dl - mov edx,DWORD [ebx-104] - movq mm2,[ebx-104] - movq mm5,[ebx-112] - movq [edi-128],mm0 - psrlq mm0,4 - movq [edi],mm3 - movq mm7,mm3 - psrlq mm3,4 - shl edx,4 - mov BYTE [1+esp],dl - mov edx,DWORD [ebx-88] - movq mm1,[ebx-88] - psllq mm7,60 - movq mm4,[ebx-96] - por mm0,mm7 - movq [edi-120],mm2 - psrlq mm2,4 - movq [8+edi],mm5 - movq mm6,mm5 - movq [ebp-128],mm0 - psrlq mm5,4 - movq [ebp],mm3 - shl edx,4 - mov BYTE [2+esp],dl - mov edx,DWORD [ebx-72] - movq mm0,[ebx-72] - psllq mm6,60 - movq mm3,[ebx-80] - por mm2,mm6 - movq [edi-112],mm1 - psrlq mm1,4 - movq [16+edi],mm4 - movq mm7,mm4 - movq [ebp-120],mm2 - psrlq mm4,4 - movq [8+ebp],mm5 - shl edx,4 - mov BYTE [3+esp],dl - mov edx,DWORD [ebx-56] - movq mm2,[ebx-56] - psllq mm7,60 - movq mm5,[ebx-64] - por mm1,mm7 - movq [edi-104],mm0 - psrlq mm0,4 - movq [24+edi],mm3 - movq mm6,mm3 - movq [ebp-112],mm1 - psrlq mm3,4 - movq [16+ebp],mm4 - shl edx,4 - mov BYTE [4+esp],dl - mov edx,DWORD [ebx-40] - movq mm1,[ebx-40] - psllq mm6,60 - movq mm4,[ebx-48] - por mm0,mm6 - movq [edi-96],mm2 - psrlq mm2,4 - movq [32+edi],mm5 - movq mm7,mm5 - movq [ebp-104],mm0 - psrlq mm5,4 - movq [24+ebp],mm3 - shl edx,4 - mov BYTE [5+esp],dl - mov edx,DWORD [ebx-24] - movq mm0,[ebx-24] - psllq mm7,60 - movq mm3,[ebx-32] - por mm2,mm7 - movq [edi-88],mm1 - psrlq mm1,4 - movq [40+edi],mm4 - movq mm6,mm4 - movq [ebp-96],mm2 - psrlq mm4,4 - movq [32+ebp],mm5 - shl edx,4 - mov BYTE [6+esp],dl - mov edx,DWORD [ebx-8] - movq mm2,[ebx-8] - psllq mm6,60 - movq mm5,[ebx-16] - por mm1,mm6 - movq [edi-80],mm0 - psrlq mm0,4 - movq [48+edi],mm3 - movq mm7,mm3 - movq [ebp-88],mm1 - psrlq mm3,4 - movq [40+ebp],mm4 - shl edx,4 - mov BYTE [7+esp],dl - mov edx,DWORD [8+ebx] - movq mm1,[8+ebx] - psllq mm7,60 - movq mm4,[ebx] - por mm0,mm7 - movq [edi-72],mm2 - psrlq mm2,4 - movq [56+edi],mm5 - movq mm6,mm5 - movq [ebp-80],mm0 - psrlq mm5,4 - movq [48+ebp],mm3 - shl edx,4 - mov BYTE [8+esp],dl - mov edx,DWORD [24+ebx] - movq mm0,[24+ebx] - psllq mm6,60 - movq mm3,[16+ebx] - por mm2,mm6 - movq [edi-64],mm1 - psrlq mm1,4 - movq [64+edi],mm4 - movq mm7,mm4 - movq [ebp-72],mm2 - psrlq mm4,4 - movq [56+ebp],mm5 - shl edx,4 - mov BYTE [9+esp],dl - mov edx,DWORD [40+ebx] - movq mm2,[40+ebx] - psllq mm7,60 - movq mm5,[32+ebx] - por mm1,mm7 - movq [edi-56],mm0 - psrlq mm0,4 - movq [72+edi],mm3 - movq mm6,mm3 - movq [ebp-64],mm1 - psrlq mm3,4 - movq [64+ebp],mm4 - shl edx,4 - mov BYTE [10+esp],dl - mov edx,DWORD [56+ebx] - movq mm1,[56+ebx] - psllq mm6,60 - movq mm4,[48+ebx] - por mm0,mm6 - movq [edi-48],mm2 - psrlq mm2,4 - movq [80+edi],mm5 - movq mm7,mm5 - movq [ebp-56],mm0 - psrlq mm5,4 - movq [72+ebp],mm3 - shl edx,4 - mov BYTE [11+esp],dl - mov edx,DWORD [72+ebx] - movq mm0,[72+ebx] - psllq mm7,60 - movq mm3,[64+ebx] - por mm2,mm7 - movq [edi-40],mm1 - psrlq mm1,4 - movq [88+edi],mm4 - movq mm6,mm4 - movq [ebp-48],mm2 - psrlq mm4,4 - movq [80+ebp],mm5 - shl edx,4 - mov BYTE [12+esp],dl - mov edx,DWORD [88+ebx] - movq mm2,[88+ebx] - psllq mm6,60 - movq mm5,[80+ebx] - por mm1,mm6 - movq [edi-32],mm0 - psrlq mm0,4 - movq [96+edi],mm3 - movq mm7,mm3 - movq [ebp-40],mm1 - psrlq mm3,4 - movq [88+ebp],mm4 - shl edx,4 - mov BYTE [13+esp],dl - mov edx,DWORD [104+ebx] - movq mm1,[104+ebx] - psllq mm7,60 - movq mm4,[96+ebx] - por mm0,mm7 - movq [edi-24],mm2 - psrlq mm2,4 - movq [104+edi],mm5 - movq mm6,mm5 - movq [ebp-32],mm0 - psrlq mm5,4 - movq [96+ebp],mm3 - shl edx,4 - mov BYTE [14+esp],dl - mov edx,DWORD [120+ebx] - movq mm0,[120+ebx] - psllq mm6,60 - movq mm3,[112+ebx] - por mm2,mm6 - movq [edi-16],mm1 - psrlq mm1,4 - movq [112+edi],mm4 - movq mm7,mm4 - movq [ebp-24],mm2 - psrlq mm4,4 - movq [104+ebp],mm5 - shl edx,4 - mov BYTE [15+esp],dl - psllq mm7,60 - por mm1,mm7 - movq [edi-8],mm0 - psrlq mm0,4 - movq [120+edi],mm3 - movq mm6,mm3 - movq [ebp-16],mm1 - psrlq mm3,4 - movq [112+ebp],mm4 - psllq mm6,60 - por mm0,mm6 - movq [ebp-8],mm0 - movq [120+ebp],mm3 - movq mm6,[eax] - mov ebx,DWORD [8+eax] - mov edx,DWORD [12+eax] -align 16 -L$009outer: - xor edx,DWORD [12+ecx] - xor ebx,DWORD [8+ecx] - pxor mm6,[ecx] - lea ecx,[16+ecx] - mov DWORD [536+esp],ebx - movq [528+esp],mm6 - mov DWORD [548+esp],ecx - xor eax,eax - rol edx,8 - mov al,dl - mov ebp,eax - and al,15 - shr ebp,4 - pxor mm0,mm0 - rol edx,8 - pxor mm1,mm1 - pxor mm2,mm2 - movq mm7,[16+eax*8+esp] - movq mm6,[144+eax*8+esp] - mov al,dl - movd ebx,mm7 - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - shr edi,4 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - shr ebp,4 - pinsrw mm2,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [536+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr edi,4 - pinsrw mm1,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr ebp,4 - pinsrw mm0,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr edi,4 - pinsrw mm2,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr ebp,4 - pinsrw mm1,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [532+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr edi,4 - pinsrw mm0,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr ebp,4 - pinsrw mm2,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr edi,4 - pinsrw mm1,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr ebp,4 - pinsrw mm0,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [528+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr edi,4 - pinsrw mm2,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr ebp,4 - pinsrw mm1,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm1 - shr edi,4 - pinsrw mm0,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - xor bl,BYTE [ebp*1+esp] - mov al,dl - movd ecx,mm7 - movzx ebx,bl - psrlq mm7,8 - movq mm3,mm6 - mov ebp,eax - psrlq mm6,8 - pxor mm7,[272+edi*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm0 - shr ebp,4 - pinsrw mm2,WORD [ebx*2+esi],2 - pxor mm7,[16+eax*8+esp] - rol edx,8 - pxor mm6,[144+eax*8+esp] - pxor mm7,mm3 - pxor mm6,[400+edi*8+esp] - xor cl,BYTE [edi*1+esp] - mov al,dl - mov edx,DWORD [524+esp] - movd ebx,mm7 - movzx ecx,cl - psrlq mm7,8 - movq mm3,mm6 - mov edi,eax - psrlq mm6,8 - pxor mm7,[272+ebp*8+esp] - and al,15 - psllq mm3,56 - pxor mm6,mm2 - shr edi,4 - pinsrw mm1,WORD [ecx*2+esi],2 - pxor mm7,[16+eax*8+esp] - pxor mm6,[144+eax*8+esp] - xor bl,BYTE [ebp*1+esp] - pxor mm7,mm3 - pxor mm6,[400+ebp*8+esp] - movzx ebx,bl - pxor mm2,mm2 - psllq mm1,4 - movd ecx,mm7 - psrlq mm7,4 - movq mm3,mm6 - psrlq mm6,4 - shl ecx,4 - pxor mm7,[16+edi*8+esp] - psllq mm3,60 - movzx ecx,cl - pxor mm7,mm3 - pxor mm6,[144+edi*8+esp] - pinsrw mm0,WORD [ebx*2+esi],2 - pxor mm6,mm1 - movd edx,mm7 - pinsrw mm2,WORD [ecx*2+esi],3 - psllq mm0,12 - pxor mm6,mm0 - psrlq mm7,32 - pxor mm6,mm2 - mov ecx,DWORD [548+esp] - movd ebx,mm7 - movq mm3,mm6 - psllw mm6,8 - psrlw mm3,8 - por mm6,mm3 - bswap edx - pshufw mm6,mm6,27 - bswap ebx - cmp ecx,DWORD [552+esp] - jne NEAR L$009outer - mov eax,DWORD [544+esp] - mov DWORD [12+eax],edx - mov DWORD [8+eax],ebx - movq [eax],mm6 - mov esp,DWORD [556+esp] - emms - pop edi - pop esi - pop ebx - pop ebp - ret -global _gcm_init_clmul -align 16 -_gcm_init_clmul: -L$_gcm_init_clmul_begin: - mov edx,DWORD [4+esp] - mov eax,DWORD [8+esp] - call L$010pic -L$010pic: - pop ecx - lea ecx,[(L$bswap-L$010pic)+ecx] - movdqu xmm2,[eax] - pshufd xmm2,xmm2,78 - pshufd xmm4,xmm2,255 - movdqa xmm3,xmm2 - psllq xmm2,1 - pxor xmm5,xmm5 - psrlq xmm3,63 - pcmpgtd xmm5,xmm4 - pslldq xmm3,8 - por xmm2,xmm3 - pand xmm5,[16+ecx] - pxor xmm2,xmm5 - movdqa xmm0,xmm2 - movdqa xmm1,xmm0 - pshufd xmm3,xmm0,78 - pshufd xmm4,xmm2,78 - pxor xmm3,xmm0 - pxor xmm4,xmm2 -db 102,15,58,68,194,0 -db 102,15,58,68,202,17 -db 102,15,58,68,220,0 - xorps xmm3,xmm0 - xorps xmm3,xmm1 - movdqa xmm4,xmm3 - psrldq xmm3,8 - pslldq xmm4,8 - pxor xmm1,xmm3 - pxor xmm0,xmm4 - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 - pshufd xmm3,xmm2,78 - pshufd xmm4,xmm0,78 - pxor xmm3,xmm2 - movdqu [edx],xmm2 - pxor xmm4,xmm0 - movdqu [16+edx],xmm0 -db 102,15,58,15,227,8 - movdqu [32+edx],xmm4 - ret -global _gcm_gmult_clmul -align 16 -_gcm_gmult_clmul: -L$_gcm_gmult_clmul_begin: - mov eax,DWORD [4+esp] - mov edx,DWORD [8+esp] - call L$011pic -L$011pic: - pop ecx - lea ecx,[(L$bswap-L$011pic)+ecx] - movdqu xmm0,[eax] - movdqa xmm5,[ecx] - movups xmm2,[edx] -db 102,15,56,0,197 - movups xmm4,[32+edx] - movdqa xmm1,xmm0 - pshufd xmm3,xmm0,78 - pxor xmm3,xmm0 -db 102,15,58,68,194,0 -db 102,15,58,68,202,17 -db 102,15,58,68,220,0 - xorps xmm3,xmm0 - xorps xmm3,xmm1 - movdqa xmm4,xmm3 - psrldq xmm3,8 - pslldq xmm4,8 - pxor xmm1,xmm3 - pxor xmm0,xmm4 - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 -db 102,15,56,0,197 - movdqu [eax],xmm0 - ret -global _gcm_ghash_clmul -align 16 -_gcm_ghash_clmul: -L$_gcm_ghash_clmul_begin: - push ebp - push ebx - push esi - push edi - mov eax,DWORD [20+esp] - mov edx,DWORD [24+esp] - mov esi,DWORD [28+esp] - mov ebx,DWORD [32+esp] - call L$012pic -L$012pic: - pop ecx - lea ecx,[(L$bswap-L$012pic)+ecx] - movdqu xmm0,[eax] - movdqa xmm5,[ecx] - movdqu xmm2,[edx] -db 102,15,56,0,197 - sub ebx,16 - jz NEAR L$013odd_tail - movdqu xmm3,[esi] - movdqu xmm6,[16+esi] -db 102,15,56,0,221 -db 102,15,56,0,245 - movdqu xmm5,[32+edx] - pxor xmm0,xmm3 - pshufd xmm3,xmm6,78 - movdqa xmm7,xmm6 - pxor xmm3,xmm6 - lea esi,[32+esi] -db 102,15,58,68,242,0 -db 102,15,58,68,250,17 -db 102,15,58,68,221,0 - movups xmm2,[16+edx] - nop - sub ebx,32 - jbe NEAR L$014even_tail - jmp NEAR L$015mod_loop -align 32 -L$015mod_loop: - pshufd xmm4,xmm0,78 - movdqa xmm1,xmm0 - pxor xmm4,xmm0 - nop -db 102,15,58,68,194,0 -db 102,15,58,68,202,17 -db 102,15,58,68,229,16 - movups xmm2,[edx] - xorps xmm0,xmm6 - movdqa xmm5,[ecx] - xorps xmm1,xmm7 - movdqu xmm7,[esi] - pxor xmm3,xmm0 - movdqu xmm6,[16+esi] - pxor xmm3,xmm1 -db 102,15,56,0,253 - pxor xmm4,xmm3 - movdqa xmm3,xmm4 - psrldq xmm4,8 - pslldq xmm3,8 - pxor xmm1,xmm4 - pxor xmm0,xmm3 -db 102,15,56,0,245 - pxor xmm1,xmm7 - movdqa xmm7,xmm6 - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 -db 102,15,58,68,242,0 - movups xmm5,[32+edx] - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - pshufd xmm3,xmm7,78 - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm3,xmm7 - pxor xmm1,xmm4 -db 102,15,58,68,250,17 - movups xmm2,[16+edx] - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 -db 102,15,58,68,221,0 - lea esi,[32+esi] - sub ebx,32 - ja NEAR L$015mod_loop -L$014even_tail: - pshufd xmm4,xmm0,78 - movdqa xmm1,xmm0 - pxor xmm4,xmm0 -db 102,15,58,68,194,0 -db 102,15,58,68,202,17 -db 102,15,58,68,229,16 - movdqa xmm5,[ecx] - xorps xmm0,xmm6 - xorps xmm1,xmm7 - pxor xmm3,xmm0 - pxor xmm3,xmm1 - pxor xmm4,xmm3 - movdqa xmm3,xmm4 - psrldq xmm4,8 - pslldq xmm3,8 - pxor xmm1,xmm4 - pxor xmm0,xmm3 - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 - test ebx,ebx - jnz NEAR L$016done - movups xmm2,[edx] -L$013odd_tail: - movdqu xmm3,[esi] -db 102,15,56,0,221 - pxor xmm0,xmm3 - movdqa xmm1,xmm0 - pshufd xmm3,xmm0,78 - pshufd xmm4,xmm2,78 - pxor xmm3,xmm0 - pxor xmm4,xmm2 -db 102,15,58,68,194,0 -db 102,15,58,68,202,17 -db 102,15,58,68,220,0 - xorps xmm3,xmm0 - xorps xmm3,xmm1 - movdqa xmm4,xmm3 - psrldq xmm3,8 - pslldq xmm4,8 - pxor xmm1,xmm3 - pxor xmm0,xmm4 - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 -L$016done: -db 102,15,56,0,197 - movdqu [eax],xmm0 - pop edi - pop esi - pop ebx - pop ebp - ret -align 64 -L$bswap: -db 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 -db 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 -align 64 -L$rem_8bit: -dw 0,450,900,582,1800,1738,1164,1358 -dw 3600,4050,3476,3158,2328,2266,2716,2910 -dw 7200,7650,8100,7782,6952,6890,6316,6510 -dw 4656,5106,4532,4214,5432,5370,5820,6014 -dw 14400,14722,15300,14854,16200,16010,15564,15630 -dw 13904,14226,13780,13334,12632,12442,13020,13086 -dw 9312,9634,10212,9766,9064,8874,8428,8494 -dw 10864,11186,10740,10294,11640,11450,12028,12094 -dw 28800,28994,29444,29382,30600,30282,29708,30158 -dw 32400,32594,32020,31958,31128,30810,31260,31710 -dw 27808,28002,28452,28390,27560,27242,26668,27118 -dw 25264,25458,24884,24822,26040,25722,26172,26622 -dw 18624,18690,19268,19078,20424,19978,19532,19854 -dw 18128,18194,17748,17558,16856,16410,16988,17310 -dw 21728,21794,22372,22182,21480,21034,20588,20910 -dw 23280,23346,22900,22710,24056,23610,24188,24510 -dw 57600,57538,57988,58182,58888,59338,58764,58446 -dw 61200,61138,60564,60758,59416,59866,60316,59998 -dw 64800,64738,65188,65382,64040,64490,63916,63598 -dw 62256,62194,61620,61814,62520,62970,63420,63102 -dw 55616,55426,56004,56070,56904,57226,56780,56334 -dw 55120,54930,54484,54550,53336,53658,54236,53790 -dw 50528,50338,50916,50982,49768,50090,49644,49198 -dw 52080,51890,51444,51510,52344,52666,53244,52798 -dw 37248,36930,37380,37830,38536,38730,38156,38094 -dw 40848,40530,39956,40406,39064,39258,39708,39646 -dw 36256,35938,36388,36838,35496,35690,35116,35054 -dw 33712,33394,32820,33270,33976,34170,34620,34558 -dw 43456,43010,43588,43910,44744,44810,44364,44174 -dw 42960,42514,42068,42390,41176,41242,41820,41630 -dw 46560,46114,46692,47014,45800,45866,45420,45230 -dw 48112,47666,47220,47542,48376,48442,49020,48830 -align 64 -L$rem_4bit: -dd 0,0,0,471859200,0,943718400,0,610271232 -dd 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -dd 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -dd 0,2441084928,0,2376073216,0,2847932416,0,3051356160 -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 +%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 +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] + xor ecx,ecx + mov edx,ebx + mov cl,dl + mov ebp,14 + shl cl,4 + and edx,240 + movq mm0,[8+ecx*1+esi] + movq mm1,[ecx*1+esi] + movd ebx,mm0 + jmp NEAR L$006mmx_loop +align 16 +L$006mmx_loop: + psrlq mm0,4 + and ebx,15 + movq mm2,mm1 + psrlq mm1,4 + pxor mm0,[8+edx*1+esi] + mov cl,BYTE [ebp*1+edi] + psllq mm2,60 + pxor mm1,[ebx*8+eax] + dec ebp + movd ebx,mm0 + pxor mm1,[edx*1+esi] + mov edx,ecx + pxor mm0,mm2 + js NEAR L$007mmx_break + shl cl,4 + and ebx,15 + psrlq mm0,4 + and edx,240 + movq mm2,mm1 + psrlq mm1,4 + pxor mm0,[8+ecx*1+esi] + psllq mm2,60 + pxor mm1,[ebx*8+eax] + movd ebx,mm0 + pxor mm1,[ecx*1+esi] + pxor mm0,mm2 + jmp NEAR L$006mmx_loop +align 16 +L$007mmx_break: + shl cl,4 + and ebx,15 + psrlq mm0,4 + and edx,240 + movq mm2,mm1 + psrlq mm1,4 + pxor mm0,[8+ecx*1+esi] + psllq mm2,60 + pxor mm1,[ebx*8+eax] + movd ebx,mm0 + pxor mm1,[ecx*1+esi] + pxor mm0,mm2 + psrlq mm0,4 + and ebx,15 + movq mm2,mm1 + psrlq mm1,4 + pxor mm0,[8+edx*1+esi] + psllq mm2,60 + pxor mm1,[ebx*8+eax] + movd ebx,mm0 + pxor mm1,[edx*1+esi] + pxor mm0,mm2 + psrlq mm0,32 + movd edx,mm1 + psrlq mm1,32 + movd ecx,mm0 + movd ebp,mm1 + bswap ebx + bswap edx + bswap ecx + bswap ebp + 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 eax,DWORD [20+esp] + mov ebx,DWORD [24+esp] + mov ecx,DWORD [28+esp] + mov edx,DWORD [32+esp] + mov ebp,esp + call L$008pic_point +L$008pic_point: + pop esi + lea esi,[(L$rem_8bit-L$008pic_point)+esi] + sub esp,544 + and esp,-64 + sub esp,16 + add edx,ecx + mov DWORD [544+esp],eax + mov DWORD [552+esp],edx + mov DWORD [556+esp],ebp + add ebx,128 + lea edi,[144+esp] + lea ebp,[400+esp] + mov edx,DWORD [ebx-120] + movq mm0,[ebx-120] + movq mm3,[ebx-128] + shl edx,4 + mov BYTE [esp],dl + mov edx,DWORD [ebx-104] + movq mm2,[ebx-104] + movq mm5,[ebx-112] + movq [edi-128],mm0 + psrlq mm0,4 + movq [edi],mm3 + movq mm7,mm3 + psrlq mm3,4 + shl edx,4 + mov BYTE [1+esp],dl + mov edx,DWORD [ebx-88] + movq mm1,[ebx-88] + psllq mm7,60 + movq mm4,[ebx-96] + por mm0,mm7 + movq [edi-120],mm2 + psrlq mm2,4 + movq [8+edi],mm5 + movq mm6,mm5 + movq [ebp-128],mm0 + psrlq mm5,4 + movq [ebp],mm3 + shl edx,4 + mov BYTE [2+esp],dl + mov edx,DWORD [ebx-72] + movq mm0,[ebx-72] + psllq mm6,60 + movq mm3,[ebx-80] + por mm2,mm6 + movq [edi-112],mm1 + psrlq mm1,4 + movq [16+edi],mm4 + movq mm7,mm4 + movq [ebp-120],mm2 + psrlq mm4,4 + movq [8+ebp],mm5 + shl edx,4 + mov BYTE [3+esp],dl + mov edx,DWORD [ebx-56] + movq mm2,[ebx-56] + psllq mm7,60 + movq mm5,[ebx-64] + por mm1,mm7 + movq [edi-104],mm0 + psrlq mm0,4 + movq [24+edi],mm3 + movq mm6,mm3 + movq [ebp-112],mm1 + psrlq mm3,4 + movq [16+ebp],mm4 + shl edx,4 + mov BYTE [4+esp],dl + mov edx,DWORD [ebx-40] + movq mm1,[ebx-40] + psllq mm6,60 + movq mm4,[ebx-48] + por mm0,mm6 + movq [edi-96],mm2 + psrlq mm2,4 + movq [32+edi],mm5 + movq mm7,mm5 + movq [ebp-104],mm0 + psrlq mm5,4 + movq [24+ebp],mm3 + shl edx,4 + mov BYTE [5+esp],dl + mov edx,DWORD [ebx-24] + movq mm0,[ebx-24] + psllq mm7,60 + movq mm3,[ebx-32] + por mm2,mm7 + movq [edi-88],mm1 + psrlq mm1,4 + movq [40+edi],mm4 + movq mm6,mm4 + movq [ebp-96],mm2 + psrlq mm4,4 + movq [32+ebp],mm5 + shl edx,4 + mov BYTE [6+esp],dl + mov edx,DWORD [ebx-8] + movq mm2,[ebx-8] + psllq mm6,60 + movq mm5,[ebx-16] + por mm1,mm6 + movq [edi-80],mm0 + psrlq mm0,4 + movq [48+edi],mm3 + movq mm7,mm3 + movq [ebp-88],mm1 + psrlq mm3,4 + movq [40+ebp],mm4 + shl edx,4 + mov BYTE [7+esp],dl + mov edx,DWORD [8+ebx] + movq mm1,[8+ebx] + psllq mm7,60 + movq mm4,[ebx] + por mm0,mm7 + movq [edi-72],mm2 + psrlq mm2,4 + movq [56+edi],mm5 + movq mm6,mm5 + movq [ebp-80],mm0 + psrlq mm5,4 + movq [48+ebp],mm3 + shl edx,4 + mov BYTE [8+esp],dl + mov edx,DWORD [24+ebx] + movq mm0,[24+ebx] + psllq mm6,60 + movq mm3,[16+ebx] + por mm2,mm6 + movq [edi-64],mm1 + psrlq mm1,4 + movq [64+edi],mm4 + movq mm7,mm4 + movq [ebp-72],mm2 + psrlq mm4,4 + movq [56+ebp],mm5 + shl edx,4 + mov BYTE [9+esp],dl + mov edx,DWORD [40+ebx] + movq mm2,[40+ebx] + psllq mm7,60 + movq mm5,[32+ebx] + por mm1,mm7 + movq [edi-56],mm0 + psrlq mm0,4 + movq [72+edi],mm3 + movq mm6,mm3 + movq [ebp-64],mm1 + psrlq mm3,4 + movq [64+ebp],mm4 + shl edx,4 + mov BYTE [10+esp],dl + mov edx,DWORD [56+ebx] + movq mm1,[56+ebx] + psllq mm6,60 + movq mm4,[48+ebx] + por mm0,mm6 + movq [edi-48],mm2 + psrlq mm2,4 + movq [80+edi],mm5 + movq mm7,mm5 + movq [ebp-56],mm0 + psrlq mm5,4 + movq [72+ebp],mm3 + shl edx,4 + mov BYTE [11+esp],dl + mov edx,DWORD [72+ebx] + movq mm0,[72+ebx] + psllq mm7,60 + movq mm3,[64+ebx] + por mm2,mm7 + movq [edi-40],mm1 + psrlq mm1,4 + movq [88+edi],mm4 + movq mm6,mm4 + movq [ebp-48],mm2 + psrlq mm4,4 + movq [80+ebp],mm5 + shl edx,4 + mov BYTE [12+esp],dl + mov edx,DWORD [88+ebx] + movq mm2,[88+ebx] + psllq mm6,60 + movq mm5,[80+ebx] + por mm1,mm6 + movq [edi-32],mm0 + psrlq mm0,4 + movq [96+edi],mm3 + movq mm7,mm3 + movq [ebp-40],mm1 + psrlq mm3,4 + movq [88+ebp],mm4 + shl edx,4 + mov BYTE [13+esp],dl + mov edx,DWORD [104+ebx] + movq mm1,[104+ebx] + psllq mm7,60 + movq mm4,[96+ebx] + por mm0,mm7 + movq [edi-24],mm2 + psrlq mm2,4 + movq [104+edi],mm5 + movq mm6,mm5 + movq [ebp-32],mm0 + psrlq mm5,4 + movq [96+ebp],mm3 + shl edx,4 + mov BYTE [14+esp],dl + mov edx,DWORD [120+ebx] + movq mm0,[120+ebx] + psllq mm6,60 + movq mm3,[112+ebx] + por mm2,mm6 + movq [edi-16],mm1 + psrlq mm1,4 + movq [112+edi],mm4 + movq mm7,mm4 + movq [ebp-24],mm2 + psrlq mm4,4 + movq [104+ebp],mm5 + shl edx,4 + mov BYTE [15+esp],dl + psllq mm7,60 + por mm1,mm7 + movq [edi-8],mm0 + psrlq mm0,4 + movq [120+edi],mm3 + movq mm6,mm3 + movq [ebp-16],mm1 + psrlq mm3,4 + movq [112+ebp],mm4 + psllq mm6,60 + por mm0,mm6 + movq [ebp-8],mm0 + movq [120+ebp],mm3 + movq mm6,[eax] + mov ebx,DWORD [8+eax] + mov edx,DWORD [12+eax] +align 16 +L$009outer: + xor edx,DWORD [12+ecx] + xor ebx,DWORD [8+ecx] + pxor mm6,[ecx] + lea ecx,[16+ecx] + mov DWORD [536+esp],ebx + movq [528+esp],mm6 + mov DWORD [548+esp],ecx + xor eax,eax + rol edx,8 + mov al,dl + mov ebp,eax + and al,15 + shr ebp,4 + pxor mm0,mm0 + rol edx,8 + pxor mm1,mm1 + pxor mm2,mm2 + movq mm7,[16+eax*8+esp] + movq mm6,[144+eax*8+esp] + mov al,dl + movd ebx,mm7 + psrlq mm7,8 + movq mm3,mm6 + mov edi,eax + psrlq mm6,8 + pxor mm7,[272+ebp*8+esp] + and al,15 + psllq mm3,56 + shr edi,4 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+ebp*8+esp] + xor bl,BYTE [ebp*1+esp] + mov al,dl + movd ecx,mm7 + movzx ebx,bl + psrlq mm7,8 + movq mm3,mm6 + mov ebp,eax + psrlq mm6,8 + pxor mm7,[272+edi*8+esp] + and al,15 + psllq mm3,56 + shr ebp,4 + pinsrw mm2,WORD [ebx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+edi*8+esp] + xor cl,BYTE [edi*1+esp] + mov al,dl + mov edx,DWORD [536+esp] + movd ebx,mm7 + movzx ecx,cl + psrlq mm7,8 + movq mm3,mm6 + mov edi,eax + psrlq mm6,8 + pxor mm7,[272+ebp*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm2 + shr edi,4 + pinsrw mm1,WORD [ecx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+ebp*8+esp] + xor bl,BYTE [ebp*1+esp] + mov al,dl + movd ecx,mm7 + movzx ebx,bl + psrlq mm7,8 + movq mm3,mm6 + mov ebp,eax + psrlq mm6,8 + pxor mm7,[272+edi*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm1 + shr ebp,4 + pinsrw mm0,WORD [ebx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+edi*8+esp] + xor cl,BYTE [edi*1+esp] + mov al,dl + movd ebx,mm7 + movzx ecx,cl + psrlq mm7,8 + movq mm3,mm6 + mov edi,eax + psrlq mm6,8 + pxor mm7,[272+ebp*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm0 + shr edi,4 + pinsrw mm2,WORD [ecx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+ebp*8+esp] + xor bl,BYTE [ebp*1+esp] + mov al,dl + movd ecx,mm7 + movzx ebx,bl + psrlq mm7,8 + movq mm3,mm6 + mov ebp,eax + psrlq mm6,8 + pxor mm7,[272+edi*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm2 + shr ebp,4 + pinsrw mm1,WORD [ebx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+edi*8+esp] + xor cl,BYTE [edi*1+esp] + mov al,dl + mov edx,DWORD [532+esp] + movd ebx,mm7 + movzx ecx,cl + psrlq mm7,8 + movq mm3,mm6 + mov edi,eax + psrlq mm6,8 + pxor mm7,[272+ebp*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm1 + shr edi,4 + pinsrw mm0,WORD [ecx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+ebp*8+esp] + xor bl,BYTE [ebp*1+esp] + mov al,dl + movd ecx,mm7 + movzx ebx,bl + psrlq mm7,8 + movq mm3,mm6 + mov ebp,eax + psrlq mm6,8 + pxor mm7,[272+edi*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm0 + shr ebp,4 + pinsrw mm2,WORD [ebx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+edi*8+esp] + xor cl,BYTE [edi*1+esp] + mov al,dl + movd ebx,mm7 + movzx ecx,cl + psrlq mm7,8 + movq mm3,mm6 + mov edi,eax + psrlq mm6,8 + pxor mm7,[272+ebp*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm2 + shr edi,4 + pinsrw mm1,WORD [ecx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+ebp*8+esp] + xor bl,BYTE [ebp*1+esp] + mov al,dl + movd ecx,mm7 + movzx ebx,bl + psrlq mm7,8 + movq mm3,mm6 + mov ebp,eax + psrlq mm6,8 + pxor mm7,[272+edi*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm1 + shr ebp,4 + pinsrw mm0,WORD [ebx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+edi*8+esp] + xor cl,BYTE [edi*1+esp] + mov al,dl + mov edx,DWORD [528+esp] + movd ebx,mm7 + movzx ecx,cl + psrlq mm7,8 + movq mm3,mm6 + mov edi,eax + psrlq mm6,8 + pxor mm7,[272+ebp*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm0 + shr edi,4 + pinsrw mm2,WORD [ecx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+ebp*8+esp] + xor bl,BYTE [ebp*1+esp] + mov al,dl + movd ecx,mm7 + movzx ebx,bl + psrlq mm7,8 + movq mm3,mm6 + mov ebp,eax + psrlq mm6,8 + pxor mm7,[272+edi*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm2 + shr ebp,4 + pinsrw mm1,WORD [ebx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+edi*8+esp] + xor cl,BYTE [edi*1+esp] + mov al,dl + movd ebx,mm7 + movzx ecx,cl + psrlq mm7,8 + movq mm3,mm6 + mov edi,eax + psrlq mm6,8 + pxor mm7,[272+ebp*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm1 + shr edi,4 + pinsrw mm0,WORD [ecx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+ebp*8+esp] + xor bl,BYTE [ebp*1+esp] + mov al,dl + movd ecx,mm7 + movzx ebx,bl + psrlq mm7,8 + movq mm3,mm6 + mov ebp,eax + psrlq mm6,8 + pxor mm7,[272+edi*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm0 + shr ebp,4 + pinsrw mm2,WORD [ebx*2+esi],2 + pxor mm7,[16+eax*8+esp] + rol edx,8 + pxor mm6,[144+eax*8+esp] + pxor mm7,mm3 + pxor mm6,[400+edi*8+esp] + xor cl,BYTE [edi*1+esp] + mov al,dl + mov edx,DWORD [524+esp] + movd ebx,mm7 + movzx ecx,cl + psrlq mm7,8 + movq mm3,mm6 + mov edi,eax + psrlq mm6,8 + pxor mm7,[272+ebp*8+esp] + and al,15 + psllq mm3,56 + pxor mm6,mm2 + shr edi,4 + pinsrw mm1,WORD [ecx*2+esi],2 + pxor mm7,[16+eax*8+esp] + pxor mm6,[144+eax*8+esp] + xor bl,BYTE [ebp*1+esp] + pxor mm7,mm3 + pxor mm6,[400+ebp*8+esp] + movzx ebx,bl + pxor mm2,mm2 + psllq mm1,4 + movd ecx,mm7 + psrlq mm7,4 + movq mm3,mm6 + psrlq mm6,4 + shl ecx,4 + pxor mm7,[16+edi*8+esp] + psllq mm3,60 + movzx ecx,cl + pxor mm7,mm3 + pxor mm6,[144+edi*8+esp] + pinsrw mm0,WORD [ebx*2+esi],2 + pxor mm6,mm1 + movd edx,mm7 + pinsrw mm2,WORD [ecx*2+esi],3 + psllq mm0,12 + pxor mm6,mm0 + psrlq mm7,32 + pxor mm6,mm2 + mov ecx,DWORD [548+esp] + movd ebx,mm7 + movq mm3,mm6 + psllw mm6,8 + psrlw mm3,8 + por mm6,mm3 + bswap edx + pshufw mm6,mm6,27 + bswap ebx + cmp ecx,DWORD [552+esp] + jne NEAR L$009outer + mov eax,DWORD [544+esp] + mov DWORD [12+eax],edx + mov DWORD [8+eax],ebx + movq [eax],mm6 + mov esp,DWORD [556+esp] + emms + pop edi + pop esi + pop ebx + pop ebp + ret +global _gcm_init_clmul +align 16 +_gcm_init_clmul: +L$_gcm_init_clmul_begin: + mov edx,DWORD [4+esp] + mov eax,DWORD [8+esp] + call L$010pic +L$010pic: + pop ecx + lea ecx,[(L$bswap-L$010pic)+ecx] + movdqu xmm2,[eax] + pshufd xmm2,xmm2,78 + pshufd xmm4,xmm2,255 + movdqa xmm3,xmm2 + psllq xmm2,1 + pxor xmm5,xmm5 + psrlq xmm3,63 + pcmpgtd xmm5,xmm4 + pslldq xmm3,8 + por xmm2,xmm3 + pand xmm5,[16+ecx] + pxor xmm2,xmm5 + movdqa xmm0,xmm2 + movdqa xmm1,xmm0 + pshufd xmm3,xmm0,78 + pshufd xmm4,xmm2,78 + pxor xmm3,xmm0 + pxor xmm4,xmm2 +db 102,15,58,68,194,0 +db 102,15,58,68,202,17 +db 102,15,58,68,220,0 + xorps xmm3,xmm0 + xorps xmm3,xmm1 + movdqa xmm4,xmm3 + psrldq xmm3,8 + pslldq xmm4,8 + pxor xmm1,xmm3 + pxor xmm0,xmm4 + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm1,xmm4 + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 + pshufd xmm3,xmm2,78 + pshufd xmm4,xmm0,78 + pxor xmm3,xmm2 + movdqu [edx],xmm2 + pxor xmm4,xmm0 + movdqu [16+edx],xmm0 +db 102,15,58,15,227,8 + movdqu [32+edx],xmm4 + ret +global _gcm_gmult_clmul +align 16 +_gcm_gmult_clmul: +L$_gcm_gmult_clmul_begin: + mov eax,DWORD [4+esp] + mov edx,DWORD [8+esp] + call L$011pic +L$011pic: + pop ecx + lea ecx,[(L$bswap-L$011pic)+ecx] + movdqu xmm0,[eax] + movdqa xmm5,[ecx] + movups xmm2,[edx] +db 102,15,56,0,197 + movups xmm4,[32+edx] + movdqa xmm1,xmm0 + pshufd xmm3,xmm0,78 + pxor xmm3,xmm0 +db 102,15,58,68,194,0 +db 102,15,58,68,202,17 +db 102,15,58,68,220,0 + xorps xmm3,xmm0 + xorps xmm3,xmm1 + movdqa xmm4,xmm3 + psrldq xmm3,8 + pslldq xmm4,8 + pxor xmm1,xmm3 + pxor xmm0,xmm4 + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm1,xmm4 + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 +db 102,15,56,0,197 + movdqu [eax],xmm0 + ret +global _gcm_ghash_clmul +align 16 +_gcm_ghash_clmul: +L$_gcm_ghash_clmul_begin: + push ebp + push ebx + push esi + push edi + mov eax,DWORD [20+esp] + mov edx,DWORD [24+esp] + mov esi,DWORD [28+esp] + mov ebx,DWORD [32+esp] + call L$012pic +L$012pic: + pop ecx + lea ecx,[(L$bswap-L$012pic)+ecx] + movdqu xmm0,[eax] + movdqa xmm5,[ecx] + movdqu xmm2,[edx] +db 102,15,56,0,197 + sub ebx,16 + jz NEAR L$013odd_tail + movdqu xmm3,[esi] + movdqu xmm6,[16+esi] +db 102,15,56,0,221 +db 102,15,56,0,245 + movdqu xmm5,[32+edx] + pxor xmm0,xmm3 + pshufd xmm3,xmm6,78 + movdqa xmm7,xmm6 + pxor xmm3,xmm6 + lea esi,[32+esi] +db 102,15,58,68,242,0 +db 102,15,58,68,250,17 +db 102,15,58,68,221,0 + movups xmm2,[16+edx] + nop + sub ebx,32 + jbe NEAR L$014even_tail + jmp NEAR L$015mod_loop +align 32 +L$015mod_loop: + pshufd xmm4,xmm0,78 + movdqa xmm1,xmm0 + pxor xmm4,xmm0 + nop +db 102,15,58,68,194,0 +db 102,15,58,68,202,17 +db 102,15,58,68,229,16 + movups xmm2,[edx] + xorps xmm0,xmm6 + movdqa xmm5,[ecx] + xorps xmm1,xmm7 + movdqu xmm7,[esi] + pxor xmm3,xmm0 + movdqu xmm6,[16+esi] + pxor xmm3,xmm1 +db 102,15,56,0,253 + pxor xmm4,xmm3 + movdqa xmm3,xmm4 + psrldq xmm4,8 + pslldq xmm3,8 + pxor xmm1,xmm4 + pxor xmm0,xmm3 +db 102,15,56,0,245 + pxor xmm1,xmm7 + movdqa xmm7,xmm6 + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 +db 102,15,58,68,242,0 + movups xmm5,[32+edx] + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + pshufd xmm3,xmm7,78 + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm3,xmm7 + pxor xmm1,xmm4 +db 102,15,58,68,250,17 + movups xmm2,[16+edx] + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 +db 102,15,58,68,221,0 + lea esi,[32+esi] + sub ebx,32 + ja NEAR L$015mod_loop +L$014even_tail: + pshufd xmm4,xmm0,78 + movdqa xmm1,xmm0 + pxor xmm4,xmm0 +db 102,15,58,68,194,0 +db 102,15,58,68,202,17 +db 102,15,58,68,229,16 + movdqa xmm5,[ecx] + xorps xmm0,xmm6 + xorps xmm1,xmm7 + pxor xmm3,xmm0 + pxor xmm3,xmm1 + pxor xmm4,xmm3 + movdqa xmm3,xmm4 + psrldq xmm4,8 + pslldq xmm3,8 + pxor xmm1,xmm4 + pxor xmm0,xmm3 + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm1,xmm4 + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 + test ebx,ebx + jnz NEAR L$016done + movups xmm2,[edx] +L$013odd_tail: + movdqu xmm3,[esi] +db 102,15,56,0,221 + pxor xmm0,xmm3 + movdqa xmm1,xmm0 + pshufd xmm3,xmm0,78 + pshufd xmm4,xmm2,78 + pxor xmm3,xmm0 + pxor xmm4,xmm2 +db 102,15,58,68,194,0 +db 102,15,58,68,202,17 +db 102,15,58,68,220,0 + xorps xmm3,xmm0 + xorps xmm3,xmm1 + movdqa xmm4,xmm3 + psrldq xmm3,8 + pslldq xmm4,8 + pxor xmm1,xmm3 + pxor xmm0,xmm4 + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm1,xmm4 + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 +L$016done: +db 102,15,56,0,197 + movdqu [eax],xmm0 + pop edi + pop esi + pop ebx + pop ebp + ret +align 64 +L$bswap: +db 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 +db 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 +align 64 +L$rem_8bit: +dw 0,450,900,582,1800,1738,1164,1358 +dw 3600,4050,3476,3158,2328,2266,2716,2910 +dw 7200,7650,8100,7782,6952,6890,6316,6510 +dw 4656,5106,4532,4214,5432,5370,5820,6014 +dw 14400,14722,15300,14854,16200,16010,15564,15630 +dw 13904,14226,13780,13334,12632,12442,13020,13086 +dw 9312,9634,10212,9766,9064,8874,8428,8494 +dw 10864,11186,10740,10294,11640,11450,12028,12094 +dw 28800,28994,29444,29382,30600,30282,29708,30158 +dw 32400,32594,32020,31958,31128,30810,31260,31710 +dw 27808,28002,28452,28390,27560,27242,26668,27118 +dw 25264,25458,24884,24822,26040,25722,26172,26622 +dw 18624,18690,19268,19078,20424,19978,19532,19854 +dw 18128,18194,17748,17558,16856,16410,16988,17310 +dw 21728,21794,22372,22182,21480,21034,20588,20910 +dw 23280,23346,22900,22710,24056,23610,24188,24510 +dw 57600,57538,57988,58182,58888,59338,58764,58446 +dw 61200,61138,60564,60758,59416,59866,60316,59998 +dw 64800,64738,65188,65382,64040,64490,63916,63598 +dw 62256,62194,61620,61814,62520,62970,63420,63102 +dw 55616,55426,56004,56070,56904,57226,56780,56334 +dw 55120,54930,54484,54550,53336,53658,54236,53790 +dw 50528,50338,50916,50982,49768,50090,49644,49198 +dw 52080,51890,51444,51510,52344,52666,53244,52798 +dw 37248,36930,37380,37830,38536,38730,38156,38094 +dw 40848,40530,39956,40406,39064,39258,39708,39646 +dw 36256,35938,36388,36838,35496,35690,35116,35054 +dw 33712,33394,32820,33270,33976,34170,34620,34558 +dw 43456,43010,43588,43910,44744,44810,44364,44174 +dw 42960,42514,42068,42390,41176,41242,41820,41630 +dw 46560,46114,46692,47014,45800,45866,45420,45230 +dw 48112,47666,47220,47542,48376,48442,49020,48830 +align 64 +L$rem_4bit: +dd 0,0,0,471859200,0,943718400,0,610271232 +dd 0,1887436800,0,1822425088,0,1220542464,0,1423966208 +dd 0,3774873600,0,4246732800,0,3644850176,0,3311403008 +dd 0,2441084928,0,2376073216,0,2847932416,0,3051356160 +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/tmp32/md5-586.asm b/tmp32/md5-586.asm index 86e2771e..e9501449 100644 --- a/tmp32/md5-586.asm +++ b/tmp32/md5-586.asm @@ -1,683 +1,683 @@ -%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 _md5_block_asm_data_order -align 16 -_md5_block_asm_data_order: -L$_md5_block_asm_data_order_begin: - push esi - push edi - mov edi,DWORD [12+esp] - mov esi,DWORD [16+esp] - mov ecx,DWORD [20+esp] - push ebp - shl ecx,6 - push ebx - add ecx,esi - sub ecx,64 - mov eax,DWORD [edi] - push ecx - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] -L$000start: - ; - ; R0 section - mov edi,ecx - mov ebp,DWORD [esi] - ; R0 0 - xor edi,edx - and edi,ebx - lea eax,[3614090360+ebp*1+eax] - xor edi,edx - add eax,edi - mov edi,ebx - rol eax,7 - mov ebp,DWORD [4+esi] - add eax,ebx - ; R0 1 - xor edi,ecx - and edi,eax - lea edx,[3905402710+ebp*1+edx] - xor edi,ecx - add edx,edi - mov edi,eax - rol edx,12 - mov ebp,DWORD [8+esi] - add edx,eax - ; R0 2 - xor edi,ebx - and edi,edx - lea ecx,[606105819+ebp*1+ecx] - xor edi,ebx - add ecx,edi - mov edi,edx - rol ecx,17 - mov ebp,DWORD [12+esi] - add ecx,edx - ; R0 3 - xor edi,eax - and edi,ecx - lea ebx,[3250441966+ebp*1+ebx] - xor edi,eax - add ebx,edi - mov edi,ecx - rol ebx,22 - mov ebp,DWORD [16+esi] - add ebx,ecx - ; R0 4 - xor edi,edx - and edi,ebx - lea eax,[4118548399+ebp*1+eax] - xor edi,edx - add eax,edi - mov edi,ebx - rol eax,7 - mov ebp,DWORD [20+esi] - add eax,ebx - ; R0 5 - xor edi,ecx - and edi,eax - lea edx,[1200080426+ebp*1+edx] - xor edi,ecx - add edx,edi - mov edi,eax - rol edx,12 - mov ebp,DWORD [24+esi] - add edx,eax - ; R0 6 - xor edi,ebx - and edi,edx - lea ecx,[2821735955+ebp*1+ecx] - xor edi,ebx - add ecx,edi - mov edi,edx - rol ecx,17 - mov ebp,DWORD [28+esi] - add ecx,edx - ; R0 7 - xor edi,eax - and edi,ecx - lea ebx,[4249261313+ebp*1+ebx] - xor edi,eax - add ebx,edi - mov edi,ecx - rol ebx,22 - mov ebp,DWORD [32+esi] - add ebx,ecx - ; R0 8 - xor edi,edx - and edi,ebx - lea eax,[1770035416+ebp*1+eax] - xor edi,edx - add eax,edi - mov edi,ebx - rol eax,7 - mov ebp,DWORD [36+esi] - add eax,ebx - ; R0 9 - xor edi,ecx - and edi,eax - lea edx,[2336552879+ebp*1+edx] - xor edi,ecx - add edx,edi - mov edi,eax - rol edx,12 - mov ebp,DWORD [40+esi] - add edx,eax - ; R0 10 - xor edi,ebx - and edi,edx - lea ecx,[4294925233+ebp*1+ecx] - xor edi,ebx - add ecx,edi - mov edi,edx - rol ecx,17 - mov ebp,DWORD [44+esi] - add ecx,edx - ; R0 11 - xor edi,eax - and edi,ecx - lea ebx,[2304563134+ebp*1+ebx] - xor edi,eax - add ebx,edi - mov edi,ecx - rol ebx,22 - mov ebp,DWORD [48+esi] - add ebx,ecx - ; R0 12 - xor edi,edx - and edi,ebx - lea eax,[1804603682+ebp*1+eax] - xor edi,edx - add eax,edi - mov edi,ebx - rol eax,7 - mov ebp,DWORD [52+esi] - add eax,ebx - ; R0 13 - xor edi,ecx - and edi,eax - lea edx,[4254626195+ebp*1+edx] - xor edi,ecx - add edx,edi - mov edi,eax - rol edx,12 - mov ebp,DWORD [56+esi] - add edx,eax - ; R0 14 - xor edi,ebx - and edi,edx - lea ecx,[2792965006+ebp*1+ecx] - xor edi,ebx - add ecx,edi - mov edi,edx - rol ecx,17 - mov ebp,DWORD [60+esi] - add ecx,edx - ; R0 15 - xor edi,eax - and edi,ecx - lea ebx,[1236535329+ebp*1+ebx] - xor edi,eax - add ebx,edi - mov edi,ecx - rol ebx,22 - mov ebp,DWORD [4+esi] - add ebx,ecx - ; - ; R1 section - ; R1 16 - lea eax,[4129170786+ebp*1+eax] - xor edi,ebx - and edi,edx - mov ebp,DWORD [24+esi] - xor edi,ecx - add eax,edi - mov edi,ebx - rol eax,5 - add eax,ebx - ; R1 17 - lea edx,[3225465664+ebp*1+edx] - xor edi,eax - and edi,ecx - mov ebp,DWORD [44+esi] - xor edi,ebx - add edx,edi - mov edi,eax - rol edx,9 - add edx,eax - ; R1 18 - lea ecx,[643717713+ebp*1+ecx] - xor edi,edx - and edi,ebx - mov ebp,DWORD [esi] - xor edi,eax - add ecx,edi - mov edi,edx - rol ecx,14 - add ecx,edx - ; R1 19 - lea ebx,[3921069994+ebp*1+ebx] - xor edi,ecx - and edi,eax - mov ebp,DWORD [20+esi] - xor edi,edx - add ebx,edi - mov edi,ecx - rol ebx,20 - add ebx,ecx - ; R1 20 - lea eax,[3593408605+ebp*1+eax] - xor edi,ebx - and edi,edx - mov ebp,DWORD [40+esi] - xor edi,ecx - add eax,edi - mov edi,ebx - rol eax,5 - add eax,ebx - ; R1 21 - lea edx,[38016083+ebp*1+edx] - xor edi,eax - and edi,ecx - mov ebp,DWORD [60+esi] - xor edi,ebx - add edx,edi - mov edi,eax - rol edx,9 - add edx,eax - ; R1 22 - lea ecx,[3634488961+ebp*1+ecx] - xor edi,edx - and edi,ebx - mov ebp,DWORD [16+esi] - xor edi,eax - add ecx,edi - mov edi,edx - rol ecx,14 - add ecx,edx - ; R1 23 - lea ebx,[3889429448+ebp*1+ebx] - xor edi,ecx - and edi,eax - mov ebp,DWORD [36+esi] - xor edi,edx - add ebx,edi - mov edi,ecx - rol ebx,20 - add ebx,ecx - ; R1 24 - lea eax,[568446438+ebp*1+eax] - xor edi,ebx - and edi,edx - mov ebp,DWORD [56+esi] - xor edi,ecx - add eax,edi - mov edi,ebx - rol eax,5 - add eax,ebx - ; R1 25 - lea edx,[3275163606+ebp*1+edx] - xor edi,eax - and edi,ecx - mov ebp,DWORD [12+esi] - xor edi,ebx - add edx,edi - mov edi,eax - rol edx,9 - add edx,eax - ; R1 26 - lea ecx,[4107603335+ebp*1+ecx] - xor edi,edx - and edi,ebx - mov ebp,DWORD [32+esi] - xor edi,eax - add ecx,edi - mov edi,edx - rol ecx,14 - add ecx,edx - ; R1 27 - lea ebx,[1163531501+ebp*1+ebx] - xor edi,ecx - and edi,eax - mov ebp,DWORD [52+esi] - xor edi,edx - add ebx,edi - mov edi,ecx - rol ebx,20 - add ebx,ecx - ; R1 28 - lea eax,[2850285829+ebp*1+eax] - xor edi,ebx - and edi,edx - mov ebp,DWORD [8+esi] - xor edi,ecx - add eax,edi - mov edi,ebx - rol eax,5 - add eax,ebx - ; R1 29 - lea edx,[4243563512+ebp*1+edx] - xor edi,eax - and edi,ecx - mov ebp,DWORD [28+esi] - xor edi,ebx - add edx,edi - mov edi,eax - rol edx,9 - add edx,eax - ; R1 30 - lea ecx,[1735328473+ebp*1+ecx] - xor edi,edx - and edi,ebx - mov ebp,DWORD [48+esi] - xor edi,eax - add ecx,edi - mov edi,edx - rol ecx,14 - add ecx,edx - ; R1 31 - lea ebx,[2368359562+ebp*1+ebx] - xor edi,ecx - and edi,eax - mov ebp,DWORD [20+esi] - xor edi,edx - add ebx,edi - mov edi,ecx - rol ebx,20 - add ebx,ecx - ; - ; R2 section - ; R2 32 - xor edi,edx - xor edi,ebx - lea eax,[4294588738+ebp*1+eax] - add eax,edi - rol eax,4 - mov ebp,DWORD [32+esi] - mov edi,ebx - ; R2 33 - lea edx,[2272392833+ebp*1+edx] - add eax,ebx - xor edi,ecx - xor edi,eax - mov ebp,DWORD [44+esi] - add edx,edi - mov edi,eax - rol edx,11 - add edx,eax - ; R2 34 - xor edi,ebx - xor edi,edx - lea ecx,[1839030562+ebp*1+ecx] - add ecx,edi - rol ecx,16 - mov ebp,DWORD [56+esi] - mov edi,edx - ; R2 35 - lea ebx,[4259657740+ebp*1+ebx] - add ecx,edx - xor edi,eax - xor edi,ecx - mov ebp,DWORD [4+esi] - add ebx,edi - mov edi,ecx - rol ebx,23 - add ebx,ecx - ; R2 36 - xor edi,edx - xor edi,ebx - lea eax,[2763975236+ebp*1+eax] - add eax,edi - rol eax,4 - mov ebp,DWORD [16+esi] - mov edi,ebx - ; R2 37 - lea edx,[1272893353+ebp*1+edx] - add eax,ebx - xor edi,ecx - xor edi,eax - mov ebp,DWORD [28+esi] - add edx,edi - mov edi,eax - rol edx,11 - add edx,eax - ; R2 38 - xor edi,ebx - xor edi,edx - lea ecx,[4139469664+ebp*1+ecx] - add ecx,edi - rol ecx,16 - mov ebp,DWORD [40+esi] - mov edi,edx - ; R2 39 - lea ebx,[3200236656+ebp*1+ebx] - add ecx,edx - xor edi,eax - xor edi,ecx - mov ebp,DWORD [52+esi] - add ebx,edi - mov edi,ecx - rol ebx,23 - add ebx,ecx - ; R2 40 - xor edi,edx - xor edi,ebx - lea eax,[681279174+ebp*1+eax] - add eax,edi - rol eax,4 - mov ebp,DWORD [esi] - mov edi,ebx - ; R2 41 - lea edx,[3936430074+ebp*1+edx] - add eax,ebx - xor edi,ecx - xor edi,eax - mov ebp,DWORD [12+esi] - add edx,edi - mov edi,eax - rol edx,11 - add edx,eax - ; R2 42 - xor edi,ebx - xor edi,edx - lea ecx,[3572445317+ebp*1+ecx] - add ecx,edi - rol ecx,16 - mov ebp,DWORD [24+esi] - mov edi,edx - ; R2 43 - lea ebx,[76029189+ebp*1+ebx] - add ecx,edx - xor edi,eax - xor edi,ecx - mov ebp,DWORD [36+esi] - add ebx,edi - mov edi,ecx - rol ebx,23 - add ebx,ecx - ; R2 44 - xor edi,edx - xor edi,ebx - lea eax,[3654602809+ebp*1+eax] - add eax,edi - rol eax,4 - mov ebp,DWORD [48+esi] - mov edi,ebx - ; R2 45 - lea edx,[3873151461+ebp*1+edx] - add eax,ebx - xor edi,ecx - xor edi,eax - mov ebp,DWORD [60+esi] - add edx,edi - mov edi,eax - rol edx,11 - add edx,eax - ; R2 46 - xor edi,ebx - xor edi,edx - lea ecx,[530742520+ebp*1+ecx] - add ecx,edi - rol ecx,16 - mov ebp,DWORD [8+esi] - mov edi,edx - ; R2 47 - lea ebx,[3299628645+ebp*1+ebx] - add ecx,edx - xor edi,eax - xor edi,ecx - mov ebp,DWORD [esi] - add ebx,edi - mov edi,-1 - rol ebx,23 - add ebx,ecx - ; - ; R3 section - ; R3 48 - xor edi,edx - or edi,ebx - lea eax,[4096336452+ebp*1+eax] - xor edi,ecx - mov ebp,DWORD [28+esi] - add eax,edi - mov edi,-1 - rol eax,6 - xor edi,ecx - add eax,ebx - ; R3 49 - or edi,eax - lea edx,[1126891415+ebp*1+edx] - xor edi,ebx - mov ebp,DWORD [56+esi] - add edx,edi - mov edi,-1 - rol edx,10 - xor edi,ebx - add edx,eax - ; R3 50 - or edi,edx - lea ecx,[2878612391+ebp*1+ecx] - xor edi,eax - mov ebp,DWORD [20+esi] - add ecx,edi - mov edi,-1 - rol ecx,15 - xor edi,eax - add ecx,edx - ; R3 51 - or edi,ecx - lea ebx,[4237533241+ebp*1+ebx] - xor edi,edx - mov ebp,DWORD [48+esi] - add ebx,edi - mov edi,-1 - rol ebx,21 - xor edi,edx - add ebx,ecx - ; R3 52 - or edi,ebx - lea eax,[1700485571+ebp*1+eax] - xor edi,ecx - mov ebp,DWORD [12+esi] - add eax,edi - mov edi,-1 - rol eax,6 - xor edi,ecx - add eax,ebx - ; R3 53 - or edi,eax - lea edx,[2399980690+ebp*1+edx] - xor edi,ebx - mov ebp,DWORD [40+esi] - add edx,edi - mov edi,-1 - rol edx,10 - xor edi,ebx - add edx,eax - ; R3 54 - or edi,edx - lea ecx,[4293915773+ebp*1+ecx] - xor edi,eax - mov ebp,DWORD [4+esi] - add ecx,edi - mov edi,-1 - rol ecx,15 - xor edi,eax - add ecx,edx - ; R3 55 - or edi,ecx - lea ebx,[2240044497+ebp*1+ebx] - xor edi,edx - mov ebp,DWORD [32+esi] - add ebx,edi - mov edi,-1 - rol ebx,21 - xor edi,edx - add ebx,ecx - ; R3 56 - or edi,ebx - lea eax,[1873313359+ebp*1+eax] - xor edi,ecx - mov ebp,DWORD [60+esi] - add eax,edi - mov edi,-1 - rol eax,6 - xor edi,ecx - add eax,ebx - ; R3 57 - or edi,eax - lea edx,[4264355552+ebp*1+edx] - xor edi,ebx - mov ebp,DWORD [24+esi] - add edx,edi - mov edi,-1 - rol edx,10 - xor edi,ebx - add edx,eax - ; R3 58 - or edi,edx - lea ecx,[2734768916+ebp*1+ecx] - xor edi,eax - mov ebp,DWORD [52+esi] - add ecx,edi - mov edi,-1 - rol ecx,15 - xor edi,eax - add ecx,edx - ; R3 59 - or edi,ecx - lea ebx,[1309151649+ebp*1+ebx] - xor edi,edx - mov ebp,DWORD [16+esi] - add ebx,edi - mov edi,-1 - rol ebx,21 - xor edi,edx - add ebx,ecx - ; R3 60 - or edi,ebx - lea eax,[4149444226+ebp*1+eax] - xor edi,ecx - mov ebp,DWORD [44+esi] - add eax,edi - mov edi,-1 - rol eax,6 - xor edi,ecx - add eax,ebx - ; R3 61 - or edi,eax - lea edx,[3174756917+ebp*1+edx] - xor edi,ebx - mov ebp,DWORD [8+esi] - add edx,edi - mov edi,-1 - rol edx,10 - xor edi,ebx - add edx,eax - ; R3 62 - or edi,edx - lea ecx,[718787259+ebp*1+ecx] - xor edi,eax - mov ebp,DWORD [36+esi] - add ecx,edi - mov edi,-1 - rol ecx,15 - xor edi,eax - add ecx,edx - ; R3 63 - or edi,ecx - lea ebx,[3951481745+ebp*1+ebx] - xor edi,edx - mov ebp,DWORD [24+esp] - add ebx,edi - add esi,64 - rol ebx,21 - mov edi,DWORD [ebp] - add ebx,ecx - add eax,edi - mov edi,DWORD [4+ebp] - add ebx,edi - mov edi,DWORD [8+ebp] - add ecx,edi - mov edi,DWORD [12+ebp] - add edx,edi - mov DWORD [ebp],eax - mov DWORD [4+ebp],ebx - mov edi,DWORD [esp] - mov DWORD [8+ebp],ecx - mov DWORD [12+ebp],edx - cmp edi,esi - jae NEAR L$000start - pop eax - pop ebx - pop ebp - pop edi - pop esi - ret +%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 _md5_block_asm_data_order +align 16 +_md5_block_asm_data_order: +L$_md5_block_asm_data_order_begin: + push esi + push edi + mov edi,DWORD [12+esp] + mov esi,DWORD [16+esp] + mov ecx,DWORD [20+esp] + push ebp + shl ecx,6 + push ebx + add ecx,esi + sub ecx,64 + mov eax,DWORD [edi] + push ecx + mov ebx,DWORD [4+edi] + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] +L$000start: + ; + ; R0 section + mov edi,ecx + mov ebp,DWORD [esi] + ; R0 0 + xor edi,edx + and edi,ebx + lea eax,[3614090360+ebp*1+eax] + xor edi,edx + add eax,edi + mov edi,ebx + rol eax,7 + mov ebp,DWORD [4+esi] + add eax,ebx + ; R0 1 + xor edi,ecx + and edi,eax + lea edx,[3905402710+ebp*1+edx] + xor edi,ecx + add edx,edi + mov edi,eax + rol edx,12 + mov ebp,DWORD [8+esi] + add edx,eax + ; R0 2 + xor edi,ebx + and edi,edx + lea ecx,[606105819+ebp*1+ecx] + xor edi,ebx + add ecx,edi + mov edi,edx + rol ecx,17 + mov ebp,DWORD [12+esi] + add ecx,edx + ; R0 3 + xor edi,eax + and edi,ecx + lea ebx,[3250441966+ebp*1+ebx] + xor edi,eax + add ebx,edi + mov edi,ecx + rol ebx,22 + mov ebp,DWORD [16+esi] + add ebx,ecx + ; R0 4 + xor edi,edx + and edi,ebx + lea eax,[4118548399+ebp*1+eax] + xor edi,edx + add eax,edi + mov edi,ebx + rol eax,7 + mov ebp,DWORD [20+esi] + add eax,ebx + ; R0 5 + xor edi,ecx + and edi,eax + lea edx,[1200080426+ebp*1+edx] + xor edi,ecx + add edx,edi + mov edi,eax + rol edx,12 + mov ebp,DWORD [24+esi] + add edx,eax + ; R0 6 + xor edi,ebx + and edi,edx + lea ecx,[2821735955+ebp*1+ecx] + xor edi,ebx + add ecx,edi + mov edi,edx + rol ecx,17 + mov ebp,DWORD [28+esi] + add ecx,edx + ; R0 7 + xor edi,eax + and edi,ecx + lea ebx,[4249261313+ebp*1+ebx] + xor edi,eax + add ebx,edi + mov edi,ecx + rol ebx,22 + mov ebp,DWORD [32+esi] + add ebx,ecx + ; R0 8 + xor edi,edx + and edi,ebx + lea eax,[1770035416+ebp*1+eax] + xor edi,edx + add eax,edi + mov edi,ebx + rol eax,7 + mov ebp,DWORD [36+esi] + add eax,ebx + ; R0 9 + xor edi,ecx + and edi,eax + lea edx,[2336552879+ebp*1+edx] + xor edi,ecx + add edx,edi + mov edi,eax + rol edx,12 + mov ebp,DWORD [40+esi] + add edx,eax + ; R0 10 + xor edi,ebx + and edi,edx + lea ecx,[4294925233+ebp*1+ecx] + xor edi,ebx + add ecx,edi + mov edi,edx + rol ecx,17 + mov ebp,DWORD [44+esi] + add ecx,edx + ; R0 11 + xor edi,eax + and edi,ecx + lea ebx,[2304563134+ebp*1+ebx] + xor edi,eax + add ebx,edi + mov edi,ecx + rol ebx,22 + mov ebp,DWORD [48+esi] + add ebx,ecx + ; R0 12 + xor edi,edx + and edi,ebx + lea eax,[1804603682+ebp*1+eax] + xor edi,edx + add eax,edi + mov edi,ebx + rol eax,7 + mov ebp,DWORD [52+esi] + add eax,ebx + ; R0 13 + xor edi,ecx + and edi,eax + lea edx,[4254626195+ebp*1+edx] + xor edi,ecx + add edx,edi + mov edi,eax + rol edx,12 + mov ebp,DWORD [56+esi] + add edx,eax + ; R0 14 + xor edi,ebx + and edi,edx + lea ecx,[2792965006+ebp*1+ecx] + xor edi,ebx + add ecx,edi + mov edi,edx + rol ecx,17 + mov ebp,DWORD [60+esi] + add ecx,edx + ; R0 15 + xor edi,eax + and edi,ecx + lea ebx,[1236535329+ebp*1+ebx] + xor edi,eax + add ebx,edi + mov edi,ecx + rol ebx,22 + mov ebp,DWORD [4+esi] + add ebx,ecx + ; + ; R1 section + ; R1 16 + lea eax,[4129170786+ebp*1+eax] + xor edi,ebx + and edi,edx + mov ebp,DWORD [24+esi] + xor edi,ecx + add eax,edi + mov edi,ebx + rol eax,5 + add eax,ebx + ; R1 17 + lea edx,[3225465664+ebp*1+edx] + xor edi,eax + and edi,ecx + mov ebp,DWORD [44+esi] + xor edi,ebx + add edx,edi + mov edi,eax + rol edx,9 + add edx,eax + ; R1 18 + lea ecx,[643717713+ebp*1+ecx] + xor edi,edx + and edi,ebx + mov ebp,DWORD [esi] + xor edi,eax + add ecx,edi + mov edi,edx + rol ecx,14 + add ecx,edx + ; R1 19 + lea ebx,[3921069994+ebp*1+ebx] + xor edi,ecx + and edi,eax + mov ebp,DWORD [20+esi] + xor edi,edx + add ebx,edi + mov edi,ecx + rol ebx,20 + add ebx,ecx + ; R1 20 + lea eax,[3593408605+ebp*1+eax] + xor edi,ebx + and edi,edx + mov ebp,DWORD [40+esi] + xor edi,ecx + add eax,edi + mov edi,ebx + rol eax,5 + add eax,ebx + ; R1 21 + lea edx,[38016083+ebp*1+edx] + xor edi,eax + and edi,ecx + mov ebp,DWORD [60+esi] + xor edi,ebx + add edx,edi + mov edi,eax + rol edx,9 + add edx,eax + ; R1 22 + lea ecx,[3634488961+ebp*1+ecx] + xor edi,edx + and edi,ebx + mov ebp,DWORD [16+esi] + xor edi,eax + add ecx,edi + mov edi,edx + rol ecx,14 + add ecx,edx + ; R1 23 + lea ebx,[3889429448+ebp*1+ebx] + xor edi,ecx + and edi,eax + mov ebp,DWORD [36+esi] + xor edi,edx + add ebx,edi + mov edi,ecx + rol ebx,20 + add ebx,ecx + ; R1 24 + lea eax,[568446438+ebp*1+eax] + xor edi,ebx + and edi,edx + mov ebp,DWORD [56+esi] + xor edi,ecx + add eax,edi + mov edi,ebx + rol eax,5 + add eax,ebx + ; R1 25 + lea edx,[3275163606+ebp*1+edx] + xor edi,eax + and edi,ecx + mov ebp,DWORD [12+esi] + xor edi,ebx + add edx,edi + mov edi,eax + rol edx,9 + add edx,eax + ; R1 26 + lea ecx,[4107603335+ebp*1+ecx] + xor edi,edx + and edi,ebx + mov ebp,DWORD [32+esi] + xor edi,eax + add ecx,edi + mov edi,edx + rol ecx,14 + add ecx,edx + ; R1 27 + lea ebx,[1163531501+ebp*1+ebx] + xor edi,ecx + and edi,eax + mov ebp,DWORD [52+esi] + xor edi,edx + add ebx,edi + mov edi,ecx + rol ebx,20 + add ebx,ecx + ; R1 28 + lea eax,[2850285829+ebp*1+eax] + xor edi,ebx + and edi,edx + mov ebp,DWORD [8+esi] + xor edi,ecx + add eax,edi + mov edi,ebx + rol eax,5 + add eax,ebx + ; R1 29 + lea edx,[4243563512+ebp*1+edx] + xor edi,eax + and edi,ecx + mov ebp,DWORD [28+esi] + xor edi,ebx + add edx,edi + mov edi,eax + rol edx,9 + add edx,eax + ; R1 30 + lea ecx,[1735328473+ebp*1+ecx] + xor edi,edx + and edi,ebx + mov ebp,DWORD [48+esi] + xor edi,eax + add ecx,edi + mov edi,edx + rol ecx,14 + add ecx,edx + ; R1 31 + lea ebx,[2368359562+ebp*1+ebx] + xor edi,ecx + and edi,eax + mov ebp,DWORD [20+esi] + xor edi,edx + add ebx,edi + mov edi,ecx + rol ebx,20 + add ebx,ecx + ; + ; R2 section + ; R2 32 + xor edi,edx + xor edi,ebx + lea eax,[4294588738+ebp*1+eax] + add eax,edi + rol eax,4 + mov ebp,DWORD [32+esi] + mov edi,ebx + ; R2 33 + lea edx,[2272392833+ebp*1+edx] + add eax,ebx + xor edi,ecx + xor edi,eax + mov ebp,DWORD [44+esi] + add edx,edi + mov edi,eax + rol edx,11 + add edx,eax + ; R2 34 + xor edi,ebx + xor edi,edx + lea ecx,[1839030562+ebp*1+ecx] + add ecx,edi + rol ecx,16 + mov ebp,DWORD [56+esi] + mov edi,edx + ; R2 35 + lea ebx,[4259657740+ebp*1+ebx] + add ecx,edx + xor edi,eax + xor edi,ecx + mov ebp,DWORD [4+esi] + add ebx,edi + mov edi,ecx + rol ebx,23 + add ebx,ecx + ; R2 36 + xor edi,edx + xor edi,ebx + lea eax,[2763975236+ebp*1+eax] + add eax,edi + rol eax,4 + mov ebp,DWORD [16+esi] + mov edi,ebx + ; R2 37 + lea edx,[1272893353+ebp*1+edx] + add eax,ebx + xor edi,ecx + xor edi,eax + mov ebp,DWORD [28+esi] + add edx,edi + mov edi,eax + rol edx,11 + add edx,eax + ; R2 38 + xor edi,ebx + xor edi,edx + lea ecx,[4139469664+ebp*1+ecx] + add ecx,edi + rol ecx,16 + mov ebp,DWORD [40+esi] + mov edi,edx + ; R2 39 + lea ebx,[3200236656+ebp*1+ebx] + add ecx,edx + xor edi,eax + xor edi,ecx + mov ebp,DWORD [52+esi] + add ebx,edi + mov edi,ecx + rol ebx,23 + add ebx,ecx + ; R2 40 + xor edi,edx + xor edi,ebx + lea eax,[681279174+ebp*1+eax] + add eax,edi + rol eax,4 + mov ebp,DWORD [esi] + mov edi,ebx + ; R2 41 + lea edx,[3936430074+ebp*1+edx] + add eax,ebx + xor edi,ecx + xor edi,eax + mov ebp,DWORD [12+esi] + add edx,edi + mov edi,eax + rol edx,11 + add edx,eax + ; R2 42 + xor edi,ebx + xor edi,edx + lea ecx,[3572445317+ebp*1+ecx] + add ecx,edi + rol ecx,16 + mov ebp,DWORD [24+esi] + mov edi,edx + ; R2 43 + lea ebx,[76029189+ebp*1+ebx] + add ecx,edx + xor edi,eax + xor edi,ecx + mov ebp,DWORD [36+esi] + add ebx,edi + mov edi,ecx + rol ebx,23 + add ebx,ecx + ; R2 44 + xor edi,edx + xor edi,ebx + lea eax,[3654602809+ebp*1+eax] + add eax,edi + rol eax,4 + mov ebp,DWORD [48+esi] + mov edi,ebx + ; R2 45 + lea edx,[3873151461+ebp*1+edx] + add eax,ebx + xor edi,ecx + xor edi,eax + mov ebp,DWORD [60+esi] + add edx,edi + mov edi,eax + rol edx,11 + add edx,eax + ; R2 46 + xor edi,ebx + xor edi,edx + lea ecx,[530742520+ebp*1+ecx] + add ecx,edi + rol ecx,16 + mov ebp,DWORD [8+esi] + mov edi,edx + ; R2 47 + lea ebx,[3299628645+ebp*1+ebx] + add ecx,edx + xor edi,eax + xor edi,ecx + mov ebp,DWORD [esi] + add ebx,edi + mov edi,-1 + rol ebx,23 + add ebx,ecx + ; + ; R3 section + ; R3 48 + xor edi,edx + or edi,ebx + lea eax,[4096336452+ebp*1+eax] + xor edi,ecx + mov ebp,DWORD [28+esi] + add eax,edi + mov edi,-1 + rol eax,6 + xor edi,ecx + add eax,ebx + ; R3 49 + or edi,eax + lea edx,[1126891415+ebp*1+edx] + xor edi,ebx + mov ebp,DWORD [56+esi] + add edx,edi + mov edi,-1 + rol edx,10 + xor edi,ebx + add edx,eax + ; R3 50 + or edi,edx + lea ecx,[2878612391+ebp*1+ecx] + xor edi,eax + mov ebp,DWORD [20+esi] + add ecx,edi + mov edi,-1 + rol ecx,15 + xor edi,eax + add ecx,edx + ; R3 51 + or edi,ecx + lea ebx,[4237533241+ebp*1+ebx] + xor edi,edx + mov ebp,DWORD [48+esi] + add ebx,edi + mov edi,-1 + rol ebx,21 + xor edi,edx + add ebx,ecx + ; R3 52 + or edi,ebx + lea eax,[1700485571+ebp*1+eax] + xor edi,ecx + mov ebp,DWORD [12+esi] + add eax,edi + mov edi,-1 + rol eax,6 + xor edi,ecx + add eax,ebx + ; R3 53 + or edi,eax + lea edx,[2399980690+ebp*1+edx] + xor edi,ebx + mov ebp,DWORD [40+esi] + add edx,edi + mov edi,-1 + rol edx,10 + xor edi,ebx + add edx,eax + ; R3 54 + or edi,edx + lea ecx,[4293915773+ebp*1+ecx] + xor edi,eax + mov ebp,DWORD [4+esi] + add ecx,edi + mov edi,-1 + rol ecx,15 + xor edi,eax + add ecx,edx + ; R3 55 + or edi,ecx + lea ebx,[2240044497+ebp*1+ebx] + xor edi,edx + mov ebp,DWORD [32+esi] + add ebx,edi + mov edi,-1 + rol ebx,21 + xor edi,edx + add ebx,ecx + ; R3 56 + or edi,ebx + lea eax,[1873313359+ebp*1+eax] + xor edi,ecx + mov ebp,DWORD [60+esi] + add eax,edi + mov edi,-1 + rol eax,6 + xor edi,ecx + add eax,ebx + ; R3 57 + or edi,eax + lea edx,[4264355552+ebp*1+edx] + xor edi,ebx + mov ebp,DWORD [24+esi] + add edx,edi + mov edi,-1 + rol edx,10 + xor edi,ebx + add edx,eax + ; R3 58 + or edi,edx + lea ecx,[2734768916+ebp*1+ecx] + xor edi,eax + mov ebp,DWORD [52+esi] + add ecx,edi + mov edi,-1 + rol ecx,15 + xor edi,eax + add ecx,edx + ; R3 59 + or edi,ecx + lea ebx,[1309151649+ebp*1+ebx] + xor edi,edx + mov ebp,DWORD [16+esi] + add ebx,edi + mov edi,-1 + rol ebx,21 + xor edi,edx + add ebx,ecx + ; R3 60 + or edi,ebx + lea eax,[4149444226+ebp*1+eax] + xor edi,ecx + mov ebp,DWORD [44+esi] + add eax,edi + mov edi,-1 + rol eax,6 + xor edi,ecx + add eax,ebx + ; R3 61 + or edi,eax + lea edx,[3174756917+ebp*1+edx] + xor edi,ebx + mov ebp,DWORD [8+esi] + add edx,edi + mov edi,-1 + rol edx,10 + xor edi,ebx + add edx,eax + ; R3 62 + or edi,edx + lea ecx,[718787259+ebp*1+ecx] + xor edi,eax + mov ebp,DWORD [36+esi] + add ecx,edi + mov edi,-1 + rol ecx,15 + xor edi,eax + add ecx,edx + ; R3 63 + or edi,ecx + lea ebx,[3951481745+ebp*1+ebx] + xor edi,edx + mov ebp,DWORD [24+esp] + add ebx,edi + add esi,64 + rol ebx,21 + mov edi,DWORD [ebp] + add ebx,ecx + add eax,edi + mov edi,DWORD [4+ebp] + add ebx,edi + mov edi,DWORD [8+ebp] + add ecx,edi + mov edi,DWORD [12+ebp] + add edx,edi + mov DWORD [ebp],eax + mov DWORD [4+ebp],ebx + mov edi,DWORD [esp] + mov DWORD [8+ebp],ecx + mov DWORD [12+ebp],edx + cmp edi,esi + jae NEAR L$000start + pop eax + pop ebx + pop ebp + pop edi + pop esi + ret diff --git a/tmp32/rc4-586.asm b/tmp32/rc4-586.asm index 84d0b6b6..e19def88 100644 --- a/tmp32/rc4-586.asm +++ b/tmp32/rc4-586.asm @@ -1,374 +1,374 @@ -%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 _RC4 -align 16 -_RC4: -L$_RC4_begin: - push ebp - push ebx - push esi - push edi - mov edi,DWORD [20+esp] - mov edx,DWORD [24+esp] - mov esi,DWORD [28+esp] - mov ebp,DWORD [32+esp] - xor eax,eax - xor ebx,ebx - cmp edx,0 - je NEAR L$000abort - mov al,BYTE [edi] - mov bl,BYTE [4+edi] - add edi,8 - lea ecx,[edx*1+esi] - sub ebp,esi - mov DWORD [24+esp],ecx - inc al - cmp DWORD [256+edi],-1 - je NEAR L$001RC4_CHAR - mov ecx,DWORD [eax*4+edi] - and edx,-4 - jz NEAR L$002loop1 - mov DWORD [32+esp],ebp - test edx,-8 - jz NEAR L$003go4loop4 - lea ebp,[_OPENSSL_ia32cap_P] - bt DWORD [ebp],26 - jnc NEAR L$003go4loop4 - mov ebp,DWORD [32+esp] - and edx,-8 - lea edx,[edx*1+esi-8] - mov DWORD [edi-4],edx - add bl,cl - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - inc eax - add edx,ecx - movzx eax,al - movzx edx,dl - movq mm0,[esi] - mov ecx,DWORD [eax*4+edi] - movd mm2,DWORD [edx*4+edi] - jmp NEAR L$004loop_mmx_enter -align 16 -L$005loop_mmx: - add bl,cl - psllq mm1,56 - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - inc eax - add edx,ecx - movzx eax,al - movzx edx,dl - pxor mm2,mm1 - movq mm0,[esi] - movq [esi*1+ebp-8],mm2 - mov ecx,DWORD [eax*4+edi] - movd mm2,DWORD [edx*4+edi] -L$004loop_mmx_enter: - add bl,cl - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - inc eax - add edx,ecx - movzx eax,al - movzx edx,dl - pxor mm2,mm0 - mov ecx,DWORD [eax*4+edi] - movd mm1,DWORD [edx*4+edi] - add bl,cl - psllq mm1,8 - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - inc eax - add edx,ecx - movzx eax,al - movzx edx,dl - pxor mm2,mm1 - mov ecx,DWORD [eax*4+edi] - movd mm1,DWORD [edx*4+edi] - add bl,cl - psllq mm1,16 - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - inc eax - add edx,ecx - movzx eax,al - movzx edx,dl - pxor mm2,mm1 - mov ecx,DWORD [eax*4+edi] - movd mm1,DWORD [edx*4+edi] - add bl,cl - psllq mm1,24 - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - inc eax - add edx,ecx - movzx eax,al - movzx edx,dl - pxor mm2,mm1 - mov ecx,DWORD [eax*4+edi] - movd mm1,DWORD [edx*4+edi] - add bl,cl - psllq mm1,32 - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - inc eax - add edx,ecx - movzx eax,al - movzx edx,dl - pxor mm2,mm1 - mov ecx,DWORD [eax*4+edi] - movd mm1,DWORD [edx*4+edi] - add bl,cl - psllq mm1,40 - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - inc eax - add edx,ecx - movzx eax,al - movzx edx,dl - pxor mm2,mm1 - mov ecx,DWORD [eax*4+edi] - movd mm1,DWORD [edx*4+edi] - add bl,cl - psllq mm1,48 - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - inc eax - add edx,ecx - movzx eax,al - movzx edx,dl - pxor mm2,mm1 - mov ecx,DWORD [eax*4+edi] - movd mm1,DWORD [edx*4+edi] - mov edx,ebx - xor ebx,ebx - mov bl,dl - cmp esi,DWORD [edi-4] - lea esi,[8+esi] - jb NEAR L$005loop_mmx - psllq mm1,56 - pxor mm2,mm1 - movq [esi*1+ebp-8],mm2 - emms - cmp esi,DWORD [24+esp] - je NEAR L$006done - jmp NEAR L$002loop1 -align 16 -L$003go4loop4: - lea edx,[edx*1+esi-4] - mov DWORD [28+esp],edx -L$007loop4: - add bl,cl - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - add edx,ecx - inc al - and edx,255 - mov ecx,DWORD [eax*4+edi] - mov ebp,DWORD [edx*4+edi] - add bl,cl - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - add edx,ecx - inc al - and edx,255 - ror ebp,8 - mov ecx,DWORD [eax*4+edi] - or ebp,DWORD [edx*4+edi] - add bl,cl - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - add edx,ecx - inc al - and edx,255 - ror ebp,8 - mov ecx,DWORD [eax*4+edi] - or ebp,DWORD [edx*4+edi] - add bl,cl - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - add edx,ecx - inc al - and edx,255 - ror ebp,8 - mov ecx,DWORD [32+esp] - or ebp,DWORD [edx*4+edi] - ror ebp,8 - xor ebp,DWORD [esi] - cmp esi,DWORD [28+esp] - mov DWORD [esi*1+ecx],ebp - lea esi,[4+esi] - mov ecx,DWORD [eax*4+edi] - jb NEAR L$007loop4 - cmp esi,DWORD [24+esp] - je NEAR L$006done - mov ebp,DWORD [32+esp] -align 16 -L$002loop1: - add bl,cl - mov edx,DWORD [ebx*4+edi] - mov DWORD [ebx*4+edi],ecx - mov DWORD [eax*4+edi],edx - add edx,ecx - inc al - and edx,255 - mov edx,DWORD [edx*4+edi] - xor dl,BYTE [esi] - lea esi,[1+esi] - mov ecx,DWORD [eax*4+edi] - cmp esi,DWORD [24+esp] - mov BYTE [esi*1+ebp-1],dl - jb NEAR L$002loop1 - jmp NEAR L$006done -align 16 -L$001RC4_CHAR: - movzx ecx,BYTE [eax*1+edi] -L$008cloop1: - add bl,cl - movzx edx,BYTE [ebx*1+edi] - mov BYTE [ebx*1+edi],cl - mov BYTE [eax*1+edi],dl - add dl,cl - movzx edx,BYTE [edx*1+edi] - add al,1 - xor dl,BYTE [esi] - lea esi,[1+esi] - movzx ecx,BYTE [eax*1+edi] - cmp esi,DWORD [24+esp] - mov BYTE [esi*1+ebp-1],dl - jb NEAR L$008cloop1 -L$006done: - dec al - mov DWORD [edi-4],ebx - mov BYTE [edi-8],al -L$000abort: - pop edi - pop esi - pop ebx - pop ebp - ret -global _private_RC4_set_key -align 16 -_private_RC4_set_key: -L$_private_RC4_set_key_begin: - push ebp - push ebx - push esi - push edi - mov edi,DWORD [20+esp] - mov ebp,DWORD [24+esp] - mov esi,DWORD [28+esp] - lea edx,[_OPENSSL_ia32cap_P] - lea edi,[8+edi] - lea esi,[ebp*1+esi] - neg ebp - xor eax,eax - mov DWORD [edi-4],ebp - bt DWORD [edx],20 - jc NEAR L$009c1stloop -align 16 -L$010w1stloop: - mov DWORD [eax*4+edi],eax - add al,1 - jnc NEAR L$010w1stloop - xor ecx,ecx - xor edx,edx -align 16 -L$011w2ndloop: - mov eax,DWORD [ecx*4+edi] - add dl,BYTE [ebp*1+esi] - add dl,al - add ebp,1 - mov ebx,DWORD [edx*4+edi] - jnz NEAR L$012wnowrap - mov ebp,DWORD [edi-4] -L$012wnowrap: - mov DWORD [edx*4+edi],eax - mov DWORD [ecx*4+edi],ebx - add cl,1 - jnc NEAR L$011w2ndloop - jmp NEAR L$013exit -align 16 -L$009c1stloop: - mov BYTE [eax*1+edi],al - add al,1 - jnc NEAR L$009c1stloop - xor ecx,ecx - xor edx,edx - xor ebx,ebx -align 16 -L$014c2ndloop: - mov al,BYTE [ecx*1+edi] - add dl,BYTE [ebp*1+esi] - add dl,al - add ebp,1 - mov bl,BYTE [edx*1+edi] - jnz NEAR L$015cnowrap - mov ebp,DWORD [edi-4] -L$015cnowrap: - mov BYTE [edx*1+edi],al - mov BYTE [ecx*1+edi],bl - add cl,1 - jnc NEAR L$014c2ndloop - mov DWORD [256+edi],-1 -L$013exit: - xor eax,eax - mov DWORD [edi-8],eax - mov DWORD [edi-4],eax - pop edi - pop esi - pop ebx - pop ebp - ret -global _RC4_options -align 16 -_RC4_options: -L$_RC4_options_begin: - call L$016pic_point -L$016pic_point: - pop eax - lea eax,[(L$017opts-L$016pic_point)+eax] - lea edx,[_OPENSSL_ia32cap_P] - mov edx,DWORD [edx] - bt edx,20 - jc NEAR L$0181xchar - bt edx,26 - jnc NEAR L$019ret - add eax,25 - ret -L$0181xchar: - add eax,12 -L$019ret: - ret -align 64 -L$017opts: -db 114,99,52,40,52,120,44,105,110,116,41,0 -db 114,99,52,40,49,120,44,99,104,97,114,41,0 -db 114,99,52,40,56,120,44,109,109,120,41,0 -db 82,67,52,32,102,111,114,32,120,56,54,44,32,67,82,89 -db 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 -db 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -align 64 -segment .bss -common _OPENSSL_ia32cap_P 16 +%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 _RC4 +align 16 +_RC4: +L$_RC4_begin: + push ebp + push ebx + push esi + push edi + mov edi,DWORD [20+esp] + mov edx,DWORD [24+esp] + mov esi,DWORD [28+esp] + mov ebp,DWORD [32+esp] + xor eax,eax + xor ebx,ebx + cmp edx,0 + je NEAR L$000abort + mov al,BYTE [edi] + mov bl,BYTE [4+edi] + add edi,8 + lea ecx,[edx*1+esi] + sub ebp,esi + mov DWORD [24+esp],ecx + inc al + cmp DWORD [256+edi],-1 + je NEAR L$001RC4_CHAR + mov ecx,DWORD [eax*4+edi] + and edx,-4 + jz NEAR L$002loop1 + mov DWORD [32+esp],ebp + test edx,-8 + jz NEAR L$003go4loop4 + lea ebp,[_OPENSSL_ia32cap_P] + bt DWORD [ebp],26 + jnc NEAR L$003go4loop4 + mov ebp,DWORD [32+esp] + and edx,-8 + lea edx,[edx*1+esi-8] + mov DWORD [edi-4],edx + add bl,cl + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + inc eax + add edx,ecx + movzx eax,al + movzx edx,dl + movq mm0,[esi] + mov ecx,DWORD [eax*4+edi] + movd mm2,DWORD [edx*4+edi] + jmp NEAR L$004loop_mmx_enter +align 16 +L$005loop_mmx: + add bl,cl + psllq mm1,56 + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + inc eax + add edx,ecx + movzx eax,al + movzx edx,dl + pxor mm2,mm1 + movq mm0,[esi] + movq [esi*1+ebp-8],mm2 + mov ecx,DWORD [eax*4+edi] + movd mm2,DWORD [edx*4+edi] +L$004loop_mmx_enter: + add bl,cl + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + inc eax + add edx,ecx + movzx eax,al + movzx edx,dl + pxor mm2,mm0 + mov ecx,DWORD [eax*4+edi] + movd mm1,DWORD [edx*4+edi] + add bl,cl + psllq mm1,8 + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + inc eax + add edx,ecx + movzx eax,al + movzx edx,dl + pxor mm2,mm1 + mov ecx,DWORD [eax*4+edi] + movd mm1,DWORD [edx*4+edi] + add bl,cl + psllq mm1,16 + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + inc eax + add edx,ecx + movzx eax,al + movzx edx,dl + pxor mm2,mm1 + mov ecx,DWORD [eax*4+edi] + movd mm1,DWORD [edx*4+edi] + add bl,cl + psllq mm1,24 + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + inc eax + add edx,ecx + movzx eax,al + movzx edx,dl + pxor mm2,mm1 + mov ecx,DWORD [eax*4+edi] + movd mm1,DWORD [edx*4+edi] + add bl,cl + psllq mm1,32 + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + inc eax + add edx,ecx + movzx eax,al + movzx edx,dl + pxor mm2,mm1 + mov ecx,DWORD [eax*4+edi] + movd mm1,DWORD [edx*4+edi] + add bl,cl + psllq mm1,40 + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + inc eax + add edx,ecx + movzx eax,al + movzx edx,dl + pxor mm2,mm1 + mov ecx,DWORD [eax*4+edi] + movd mm1,DWORD [edx*4+edi] + add bl,cl + psllq mm1,48 + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + inc eax + add edx,ecx + movzx eax,al + movzx edx,dl + pxor mm2,mm1 + mov ecx,DWORD [eax*4+edi] + movd mm1,DWORD [edx*4+edi] + mov edx,ebx + xor ebx,ebx + mov bl,dl + cmp esi,DWORD [edi-4] + lea esi,[8+esi] + jb NEAR L$005loop_mmx + psllq mm1,56 + pxor mm2,mm1 + movq [esi*1+ebp-8],mm2 + emms + cmp esi,DWORD [24+esp] + je NEAR L$006done + jmp NEAR L$002loop1 +align 16 +L$003go4loop4: + lea edx,[edx*1+esi-4] + mov DWORD [28+esp],edx +L$007loop4: + add bl,cl + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + add edx,ecx + inc al + and edx,255 + mov ecx,DWORD [eax*4+edi] + mov ebp,DWORD [edx*4+edi] + add bl,cl + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + add edx,ecx + inc al + and edx,255 + ror ebp,8 + mov ecx,DWORD [eax*4+edi] + or ebp,DWORD [edx*4+edi] + add bl,cl + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + add edx,ecx + inc al + and edx,255 + ror ebp,8 + mov ecx,DWORD [eax*4+edi] + or ebp,DWORD [edx*4+edi] + add bl,cl + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + add edx,ecx + inc al + and edx,255 + ror ebp,8 + mov ecx,DWORD [32+esp] + or ebp,DWORD [edx*4+edi] + ror ebp,8 + xor ebp,DWORD [esi] + cmp esi,DWORD [28+esp] + mov DWORD [esi*1+ecx],ebp + lea esi,[4+esi] + mov ecx,DWORD [eax*4+edi] + jb NEAR L$007loop4 + cmp esi,DWORD [24+esp] + je NEAR L$006done + mov ebp,DWORD [32+esp] +align 16 +L$002loop1: + add bl,cl + mov edx,DWORD [ebx*4+edi] + mov DWORD [ebx*4+edi],ecx + mov DWORD [eax*4+edi],edx + add edx,ecx + inc al + and edx,255 + mov edx,DWORD [edx*4+edi] + xor dl,BYTE [esi] + lea esi,[1+esi] + mov ecx,DWORD [eax*4+edi] + cmp esi,DWORD [24+esp] + mov BYTE [esi*1+ebp-1],dl + jb NEAR L$002loop1 + jmp NEAR L$006done +align 16 +L$001RC4_CHAR: + movzx ecx,BYTE [eax*1+edi] +L$008cloop1: + add bl,cl + movzx edx,BYTE [ebx*1+edi] + mov BYTE [ebx*1+edi],cl + mov BYTE [eax*1+edi],dl + add dl,cl + movzx edx,BYTE [edx*1+edi] + add al,1 + xor dl,BYTE [esi] + lea esi,[1+esi] + movzx ecx,BYTE [eax*1+edi] + cmp esi,DWORD [24+esp] + mov BYTE [esi*1+ebp-1],dl + jb NEAR L$008cloop1 +L$006done: + dec al + mov DWORD [edi-4],ebx + mov BYTE [edi-8],al +L$000abort: + pop edi + pop esi + pop ebx + pop ebp + ret +global _private_RC4_set_key +align 16 +_private_RC4_set_key: +L$_private_RC4_set_key_begin: + push ebp + push ebx + push esi + push edi + mov edi,DWORD [20+esp] + mov ebp,DWORD [24+esp] + mov esi,DWORD [28+esp] + lea edx,[_OPENSSL_ia32cap_P] + lea edi,[8+edi] + lea esi,[ebp*1+esi] + neg ebp + xor eax,eax + mov DWORD [edi-4],ebp + bt DWORD [edx],20 + jc NEAR L$009c1stloop +align 16 +L$010w1stloop: + mov DWORD [eax*4+edi],eax + add al,1 + jnc NEAR L$010w1stloop + xor ecx,ecx + xor edx,edx +align 16 +L$011w2ndloop: + mov eax,DWORD [ecx*4+edi] + add dl,BYTE [ebp*1+esi] + add dl,al + add ebp,1 + mov ebx,DWORD [edx*4+edi] + jnz NEAR L$012wnowrap + mov ebp,DWORD [edi-4] +L$012wnowrap: + mov DWORD [edx*4+edi],eax + mov DWORD [ecx*4+edi],ebx + add cl,1 + jnc NEAR L$011w2ndloop + jmp NEAR L$013exit +align 16 +L$009c1stloop: + mov BYTE [eax*1+edi],al + add al,1 + jnc NEAR L$009c1stloop + xor ecx,ecx + xor edx,edx + xor ebx,ebx +align 16 +L$014c2ndloop: + mov al,BYTE [ecx*1+edi] + add dl,BYTE [ebp*1+esi] + add dl,al + add ebp,1 + mov bl,BYTE [edx*1+edi] + jnz NEAR L$015cnowrap + mov ebp,DWORD [edi-4] +L$015cnowrap: + mov BYTE [edx*1+edi],al + mov BYTE [ecx*1+edi],bl + add cl,1 + jnc NEAR L$014c2ndloop + mov DWORD [256+edi],-1 +L$013exit: + xor eax,eax + mov DWORD [edi-8],eax + mov DWORD [edi-4],eax + pop edi + pop esi + pop ebx + pop ebp + ret +global _RC4_options +align 16 +_RC4_options: +L$_RC4_options_begin: + call L$016pic_point +L$016pic_point: + pop eax + lea eax,[(L$017opts-L$016pic_point)+eax] + lea edx,[_OPENSSL_ia32cap_P] + mov edx,DWORD [edx] + bt edx,20 + jc NEAR L$0181xchar + bt edx,26 + jnc NEAR L$019ret + add eax,25 + ret +L$0181xchar: + add eax,12 +L$019ret: + ret +align 64 +L$017opts: +db 114,99,52,40,52,120,44,105,110,116,41,0 +db 114,99,52,40,49,120,44,99,104,97,114,41,0 +db 114,99,52,40,56,120,44,109,109,120,41,0 +db 82,67,52,32,102,111,114,32,120,56,54,44,32,67,82,89 +db 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 +db 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 +align 64 +segment .bss +common _OPENSSL_ia32cap_P 16 diff --git a/tmp32/rmd-586.asm b/tmp32/rmd-586.asm index a5ab6836..937c6527 100644 --- a/tmp32/rmd-586.asm +++ b/tmp32/rmd-586.asm @@ -1,1969 +1,1969 @@ -%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 _ripemd160_block_asm_data_order -align 16 -_ripemd160_block_asm_data_order: -L$_ripemd160_block_asm_data_order_begin: - mov edx,DWORD [4+esp] - mov eax,DWORD [8+esp] - push esi - mov ecx,DWORD [edx] - push edi - mov esi,DWORD [4+edx] - push ebp - mov edi,DWORD [8+edx] - push ebx - sub esp,108 -L$000start: - ; - mov ebx,DWORD [eax] - mov ebp,DWORD [4+eax] - mov DWORD [esp],ebx - mov DWORD [4+esp],ebp - mov ebx,DWORD [8+eax] - mov ebp,DWORD [12+eax] - mov DWORD [8+esp],ebx - mov DWORD [12+esp],ebp - mov ebx,DWORD [16+eax] - mov ebp,DWORD [20+eax] - mov DWORD [16+esp],ebx - mov DWORD [20+esp],ebp - mov ebx,DWORD [24+eax] - mov ebp,DWORD [28+eax] - mov DWORD [24+esp],ebx - mov DWORD [28+esp],ebp - mov ebx,DWORD [32+eax] - mov ebp,DWORD [36+eax] - mov DWORD [32+esp],ebx - mov DWORD [36+esp],ebp - mov ebx,DWORD [40+eax] - mov ebp,DWORD [44+eax] - mov DWORD [40+esp],ebx - mov DWORD [44+esp],ebp - mov ebx,DWORD [48+eax] - mov ebp,DWORD [52+eax] - mov DWORD [48+esp],ebx - mov DWORD [52+esp],ebp - mov ebx,DWORD [56+eax] - mov ebp,DWORD [60+eax] - mov DWORD [56+esp],ebx - mov DWORD [60+esp],ebp - mov eax,edi - mov ebx,DWORD [12+edx] - mov ebp,DWORD [16+edx] - ; 0 - xor eax,ebx - mov edx,DWORD [esp] - xor eax,esi - add ecx,edx - rol edi,10 - add ecx,eax - mov eax,esi - rol ecx,11 - add ecx,ebp - ; 1 - xor eax,edi - mov edx,DWORD [4+esp] - xor eax,ecx - add ebp,eax - mov eax,ecx - rol esi,10 - add ebp,edx - xor eax,esi - rol ebp,14 - add ebp,ebx - ; 2 - mov edx,DWORD [8+esp] - xor eax,ebp - add ebx,edx - rol ecx,10 - add ebx,eax - mov eax,ebp - rol ebx,15 - add ebx,edi - ; 3 - xor eax,ecx - mov edx,DWORD [12+esp] - xor eax,ebx - add edi,eax - mov eax,ebx - rol ebp,10 - add edi,edx - xor eax,ebp - rol edi,12 - add edi,esi - ; 4 - mov edx,DWORD [16+esp] - xor eax,edi - add esi,edx - rol ebx,10 - add esi,eax - mov eax,edi - rol esi,5 - add esi,ecx - ; 5 - xor eax,ebx - mov edx,DWORD [20+esp] - xor eax,esi - add ecx,eax - mov eax,esi - rol edi,10 - add ecx,edx - xor eax,edi - rol ecx,8 - add ecx,ebp - ; 6 - mov edx,DWORD [24+esp] - xor eax,ecx - add ebp,edx - rol esi,10 - add ebp,eax - mov eax,ecx - rol ebp,7 - add ebp,ebx - ; 7 - xor eax,esi - mov edx,DWORD [28+esp] - xor eax,ebp - add ebx,eax - mov eax,ebp - rol ecx,10 - add ebx,edx - xor eax,ecx - rol ebx,9 - add ebx,edi - ; 8 - mov edx,DWORD [32+esp] - xor eax,ebx - add edi,edx - rol ebp,10 - add edi,eax - mov eax,ebx - rol edi,11 - add edi,esi - ; 9 - xor eax,ebp - mov edx,DWORD [36+esp] - xor eax,edi - add esi,eax - mov eax,edi - rol ebx,10 - add esi,edx - xor eax,ebx - rol esi,13 - add esi,ecx - ; 10 - mov edx,DWORD [40+esp] - xor eax,esi - add ecx,edx - rol edi,10 - add ecx,eax - mov eax,esi - rol ecx,14 - add ecx,ebp - ; 11 - xor eax,edi - mov edx,DWORD [44+esp] - xor eax,ecx - add ebp,eax - mov eax,ecx - rol esi,10 - add ebp,edx - xor eax,esi - rol ebp,15 - add ebp,ebx - ; 12 - mov edx,DWORD [48+esp] - xor eax,ebp - add ebx,edx - rol ecx,10 - add ebx,eax - mov eax,ebp - rol ebx,6 - add ebx,edi - ; 13 - xor eax,ecx - mov edx,DWORD [52+esp] - xor eax,ebx - add edi,eax - mov eax,ebx - rol ebp,10 - add edi,edx - xor eax,ebp - rol edi,7 - add edi,esi - ; 14 - mov edx,DWORD [56+esp] - xor eax,edi - add esi,edx - rol ebx,10 - add esi,eax - mov eax,edi - rol esi,9 - add esi,ecx - ; 15 - xor eax,ebx - mov edx,DWORD [60+esp] - xor eax,esi - add ecx,eax - mov eax,-1 - rol edi,10 - add ecx,edx - mov edx,DWORD [28+esp] - rol ecx,8 - add ecx,ebp - ; 16 - add ebp,edx - mov edx,esi - sub eax,ecx - and edx,ecx - and eax,edi - or edx,eax - mov eax,DWORD [16+esp] - rol esi,10 - lea ebp,[1518500249+edx*1+ebp] - mov edx,-1 - rol ebp,7 - add ebp,ebx - ; 17 - add ebx,eax - mov eax,ecx - sub edx,ebp - and eax,ebp - and edx,esi - or eax,edx - mov edx,DWORD [52+esp] - rol ecx,10 - lea ebx,[1518500249+eax*1+ebx] - mov eax,-1 - rol ebx,6 - add ebx,edi - ; 18 - add edi,edx - mov edx,ebp - sub eax,ebx - and edx,ebx - and eax,ecx - or edx,eax - mov eax,DWORD [4+esp] - rol ebp,10 - lea edi,[1518500249+edx*1+edi] - mov edx,-1 - rol edi,8 - add edi,esi - ; 19 - add esi,eax - mov eax,ebx - sub edx,edi - and eax,edi - and edx,ebp - or eax,edx - mov edx,DWORD [40+esp] - rol ebx,10 - lea esi,[1518500249+eax*1+esi] - mov eax,-1 - rol esi,13 - add esi,ecx - ; 20 - add ecx,edx - mov edx,edi - sub eax,esi - and edx,esi - and eax,ebx - or edx,eax - mov eax,DWORD [24+esp] - rol edi,10 - lea ecx,[1518500249+edx*1+ecx] - mov edx,-1 - rol ecx,11 - add ecx,ebp - ; 21 - add ebp,eax - mov eax,esi - sub edx,ecx - and eax,ecx - and edx,edi - or eax,edx - mov edx,DWORD [60+esp] - rol esi,10 - lea ebp,[1518500249+eax*1+ebp] - mov eax,-1 - rol ebp,9 - add ebp,ebx - ; 22 - add ebx,edx - mov edx,ecx - sub eax,ebp - and edx,ebp - and eax,esi - or edx,eax - mov eax,DWORD [12+esp] - rol ecx,10 - lea ebx,[1518500249+edx*1+ebx] - mov edx,-1 - rol ebx,7 - add ebx,edi - ; 23 - add edi,eax - mov eax,ebp - sub edx,ebx - and eax,ebx - and edx,ecx - or eax,edx - mov edx,DWORD [48+esp] - rol ebp,10 - lea edi,[1518500249+eax*1+edi] - mov eax,-1 - rol edi,15 - add edi,esi - ; 24 - add esi,edx - mov edx,ebx - sub eax,edi - and edx,edi - and eax,ebp - or edx,eax - mov eax,DWORD [esp] - rol ebx,10 - lea esi,[1518500249+edx*1+esi] - mov edx,-1 - rol esi,7 - add esi,ecx - ; 25 - add ecx,eax - mov eax,edi - sub edx,esi - and eax,esi - and edx,ebx - or eax,edx - mov edx,DWORD [36+esp] - rol edi,10 - lea ecx,[1518500249+eax*1+ecx] - mov eax,-1 - rol ecx,12 - add ecx,ebp - ; 26 - add ebp,edx - mov edx,esi - sub eax,ecx - and edx,ecx - and eax,edi - or edx,eax - mov eax,DWORD [20+esp] - rol esi,10 - lea ebp,[1518500249+edx*1+ebp] - mov edx,-1 - rol ebp,15 - add ebp,ebx - ; 27 - add ebx,eax - mov eax,ecx - sub edx,ebp - and eax,ebp - and edx,esi - or eax,edx - mov edx,DWORD [8+esp] - rol ecx,10 - lea ebx,[1518500249+eax*1+ebx] - mov eax,-1 - rol ebx,9 - add ebx,edi - ; 28 - add edi,edx - mov edx,ebp - sub eax,ebx - and edx,ebx - and eax,ecx - or edx,eax - mov eax,DWORD [56+esp] - rol ebp,10 - lea edi,[1518500249+edx*1+edi] - mov edx,-1 - rol edi,11 - add edi,esi - ; 29 - add esi,eax - mov eax,ebx - sub edx,edi - and eax,edi - and edx,ebp - or eax,edx - mov edx,DWORD [44+esp] - rol ebx,10 - lea esi,[1518500249+eax*1+esi] - mov eax,-1 - rol esi,7 - add esi,ecx - ; 30 - add ecx,edx - mov edx,edi - sub eax,esi - and edx,esi - and eax,ebx - or edx,eax - mov eax,DWORD [32+esp] - rol edi,10 - lea ecx,[1518500249+edx*1+ecx] - mov edx,-1 - rol ecx,13 - add ecx,ebp - ; 31 - add ebp,eax - mov eax,esi - sub edx,ecx - and eax,ecx - and edx,edi - or eax,edx - mov edx,-1 - rol esi,10 - lea ebp,[1518500249+eax*1+ebp] - sub edx,ecx - rol ebp,12 - add ebp,ebx - ; 32 - mov eax,DWORD [12+esp] - or edx,ebp - add ebx,eax - xor edx,esi - mov eax,-1 - rol ecx,10 - lea ebx,[1859775393+edx*1+ebx] - sub eax,ebp - rol ebx,11 - add ebx,edi - ; 33 - mov edx,DWORD [40+esp] - or eax,ebx - add edi,edx - xor eax,ecx - mov edx,-1 - rol ebp,10 - lea edi,[1859775393+eax*1+edi] - sub edx,ebx - rol edi,13 - add edi,esi - ; 34 - mov eax,DWORD [56+esp] - or edx,edi - add esi,eax - xor edx,ebp - mov eax,-1 - rol ebx,10 - lea esi,[1859775393+edx*1+esi] - sub eax,edi - rol esi,6 - add esi,ecx - ; 35 - mov edx,DWORD [16+esp] - or eax,esi - add ecx,edx - xor eax,ebx - mov edx,-1 - rol edi,10 - lea ecx,[1859775393+eax*1+ecx] - sub edx,esi - rol ecx,7 - add ecx,ebp - ; 36 - mov eax,DWORD [36+esp] - or edx,ecx - add ebp,eax - xor edx,edi - mov eax,-1 - rol esi,10 - lea ebp,[1859775393+edx*1+ebp] - sub eax,ecx - rol ebp,14 - add ebp,ebx - ; 37 - mov edx,DWORD [60+esp] - or eax,ebp - add ebx,edx - xor eax,esi - mov edx,-1 - rol ecx,10 - lea ebx,[1859775393+eax*1+ebx] - sub edx,ebp - rol ebx,9 - add ebx,edi - ; 38 - mov eax,DWORD [32+esp] - or edx,ebx - add edi,eax - xor edx,ecx - mov eax,-1 - rol ebp,10 - lea edi,[1859775393+edx*1+edi] - sub eax,ebx - rol edi,13 - add edi,esi - ; 39 - mov edx,DWORD [4+esp] - or eax,edi - add esi,edx - xor eax,ebp - mov edx,-1 - rol ebx,10 - lea esi,[1859775393+eax*1+esi] - sub edx,edi - rol esi,15 - add esi,ecx - ; 40 - mov eax,DWORD [8+esp] - or edx,esi - add ecx,eax - xor edx,ebx - mov eax,-1 - rol edi,10 - lea ecx,[1859775393+edx*1+ecx] - sub eax,esi - rol ecx,14 - add ecx,ebp - ; 41 - mov edx,DWORD [28+esp] - or eax,ecx - add ebp,edx - xor eax,edi - mov edx,-1 - rol esi,10 - lea ebp,[1859775393+eax*1+ebp] - sub edx,ecx - rol ebp,8 - add ebp,ebx - ; 42 - mov eax,DWORD [esp] - or edx,ebp - add ebx,eax - xor edx,esi - mov eax,-1 - rol ecx,10 - lea ebx,[1859775393+edx*1+ebx] - sub eax,ebp - rol ebx,13 - add ebx,edi - ; 43 - mov edx,DWORD [24+esp] - or eax,ebx - add edi,edx - xor eax,ecx - mov edx,-1 - rol ebp,10 - lea edi,[1859775393+eax*1+edi] - sub edx,ebx - rol edi,6 - add edi,esi - ; 44 - mov eax,DWORD [52+esp] - or edx,edi - add esi,eax - xor edx,ebp - mov eax,-1 - rol ebx,10 - lea esi,[1859775393+edx*1+esi] - sub eax,edi - rol esi,5 - add esi,ecx - ; 45 - mov edx,DWORD [44+esp] - or eax,esi - add ecx,edx - xor eax,ebx - mov edx,-1 - rol edi,10 - lea ecx,[1859775393+eax*1+ecx] - sub edx,esi - rol ecx,12 - add ecx,ebp - ; 46 - mov eax,DWORD [20+esp] - or edx,ecx - add ebp,eax - xor edx,edi - mov eax,-1 - rol esi,10 - lea ebp,[1859775393+edx*1+ebp] - sub eax,ecx - rol ebp,7 - add ebp,ebx - ; 47 - mov edx,DWORD [48+esp] - or eax,ebp - add ebx,edx - xor eax,esi - mov edx,-1 - rol ecx,10 - lea ebx,[1859775393+eax*1+ebx] - mov eax,ecx - rol ebx,5 - add ebx,edi - ; 48 - sub edx,ecx - and eax,ebx - and edx,ebp - or edx,eax - mov eax,DWORD [4+esp] - rol ebp,10 - lea edi,[2400959708+edx*1+edi] - mov edx,-1 - add edi,eax - mov eax,ebp - rol edi,11 - add edi,esi - ; 49 - sub edx,ebp - and eax,edi - and edx,ebx - or edx,eax - mov eax,DWORD [36+esp] - rol ebx,10 - lea esi,[2400959708+edx*1+esi] - mov edx,-1 - add esi,eax - mov eax,ebx - rol esi,12 - add esi,ecx - ; 50 - sub edx,ebx - and eax,esi - and edx,edi - or edx,eax - mov eax,DWORD [44+esp] - rol edi,10 - lea ecx,[2400959708+edx*1+ecx] - mov edx,-1 - add ecx,eax - mov eax,edi - rol ecx,14 - add ecx,ebp - ; 51 - sub edx,edi - and eax,ecx - and edx,esi - or edx,eax - mov eax,DWORD [40+esp] - rol esi,10 - lea ebp,[2400959708+edx*1+ebp] - mov edx,-1 - add ebp,eax - mov eax,esi - rol ebp,15 - add ebp,ebx - ; 52 - sub edx,esi - and eax,ebp - and edx,ecx - or edx,eax - mov eax,DWORD [esp] - rol ecx,10 - lea ebx,[2400959708+edx*1+ebx] - mov edx,-1 - add ebx,eax - mov eax,ecx - rol ebx,14 - add ebx,edi - ; 53 - sub edx,ecx - and eax,ebx - and edx,ebp - or edx,eax - mov eax,DWORD [32+esp] - rol ebp,10 - lea edi,[2400959708+edx*1+edi] - mov edx,-1 - add edi,eax - mov eax,ebp - rol edi,15 - add edi,esi - ; 54 - sub edx,ebp - and eax,edi - and edx,ebx - or edx,eax - mov eax,DWORD [48+esp] - rol ebx,10 - lea esi,[2400959708+edx*1+esi] - mov edx,-1 - add esi,eax - mov eax,ebx - rol esi,9 - add esi,ecx - ; 55 - sub edx,ebx - and eax,esi - and edx,edi - or edx,eax - mov eax,DWORD [16+esp] - rol edi,10 - lea ecx,[2400959708+edx*1+ecx] - mov edx,-1 - add ecx,eax - mov eax,edi - rol ecx,8 - add ecx,ebp - ; 56 - sub edx,edi - and eax,ecx - and edx,esi - or edx,eax - mov eax,DWORD [52+esp] - rol esi,10 - lea ebp,[2400959708+edx*1+ebp] - mov edx,-1 - add ebp,eax - mov eax,esi - rol ebp,9 - add ebp,ebx - ; 57 - sub edx,esi - and eax,ebp - and edx,ecx - or edx,eax - mov eax,DWORD [12+esp] - rol ecx,10 - lea ebx,[2400959708+edx*1+ebx] - mov edx,-1 - add ebx,eax - mov eax,ecx - rol ebx,14 - add ebx,edi - ; 58 - sub edx,ecx - and eax,ebx - and edx,ebp - or edx,eax - mov eax,DWORD [28+esp] - rol ebp,10 - lea edi,[2400959708+edx*1+edi] - mov edx,-1 - add edi,eax - mov eax,ebp - rol edi,5 - add edi,esi - ; 59 - sub edx,ebp - and eax,edi - and edx,ebx - or edx,eax - mov eax,DWORD [60+esp] - rol ebx,10 - lea esi,[2400959708+edx*1+esi] - mov edx,-1 - add esi,eax - mov eax,ebx - rol esi,6 - add esi,ecx - ; 60 - sub edx,ebx - and eax,esi - and edx,edi - or edx,eax - mov eax,DWORD [56+esp] - rol edi,10 - lea ecx,[2400959708+edx*1+ecx] - mov edx,-1 - add ecx,eax - mov eax,edi - rol ecx,8 - add ecx,ebp - ; 61 - sub edx,edi - and eax,ecx - and edx,esi - or edx,eax - mov eax,DWORD [20+esp] - rol esi,10 - lea ebp,[2400959708+edx*1+ebp] - mov edx,-1 - add ebp,eax - mov eax,esi - rol ebp,6 - add ebp,ebx - ; 62 - sub edx,esi - and eax,ebp - and edx,ecx - or edx,eax - mov eax,DWORD [24+esp] - rol ecx,10 - lea ebx,[2400959708+edx*1+ebx] - mov edx,-1 - add ebx,eax - mov eax,ecx - rol ebx,5 - add ebx,edi - ; 63 - sub edx,ecx - and eax,ebx - and edx,ebp - or edx,eax - mov eax,DWORD [8+esp] - rol ebp,10 - lea edi,[2400959708+edx*1+edi] - mov edx,-1 - add edi,eax - sub edx,ebp - rol edi,12 - add edi,esi - ; 64 - mov eax,DWORD [16+esp] - or edx,ebx - add esi,eax - xor edx,edi - mov eax,-1 - rol ebx,10 - lea esi,[2840853838+edx*1+esi] - sub eax,ebx - rol esi,9 - add esi,ecx - ; 65 - mov edx,DWORD [esp] - or eax,edi - add ecx,edx - xor eax,esi - mov edx,-1 - rol edi,10 - lea ecx,[2840853838+eax*1+ecx] - sub edx,edi - rol ecx,15 - add ecx,ebp - ; 66 - mov eax,DWORD [20+esp] - or edx,esi - add ebp,eax - xor edx,ecx - mov eax,-1 - rol esi,10 - lea ebp,[2840853838+edx*1+ebp] - sub eax,esi - rol ebp,5 - add ebp,ebx - ; 67 - mov edx,DWORD [36+esp] - or eax,ecx - add ebx,edx - xor eax,ebp - mov edx,-1 - rol ecx,10 - lea ebx,[2840853838+eax*1+ebx] - sub edx,ecx - rol ebx,11 - add ebx,edi - ; 68 - mov eax,DWORD [28+esp] - or edx,ebp - add edi,eax - xor edx,ebx - mov eax,-1 - rol ebp,10 - lea edi,[2840853838+edx*1+edi] - sub eax,ebp - rol edi,6 - add edi,esi - ; 69 - mov edx,DWORD [48+esp] - or eax,ebx - add esi,edx - xor eax,edi - mov edx,-1 - rol ebx,10 - lea esi,[2840853838+eax*1+esi] - sub edx,ebx - rol esi,8 - add esi,ecx - ; 70 - mov eax,DWORD [8+esp] - or edx,edi - add ecx,eax - xor edx,esi - mov eax,-1 - rol edi,10 - lea ecx,[2840853838+edx*1+ecx] - sub eax,edi - rol ecx,13 - add ecx,ebp - ; 71 - mov edx,DWORD [40+esp] - or eax,esi - add ebp,edx - xor eax,ecx - mov edx,-1 - rol esi,10 - lea ebp,[2840853838+eax*1+ebp] - sub edx,esi - rol ebp,12 - add ebp,ebx - ; 72 - mov eax,DWORD [56+esp] - or edx,ecx - add ebx,eax - xor edx,ebp - mov eax,-1 - rol ecx,10 - lea ebx,[2840853838+edx*1+ebx] - sub eax,ecx - rol ebx,5 - add ebx,edi - ; 73 - mov edx,DWORD [4+esp] - or eax,ebp - add edi,edx - xor eax,ebx - mov edx,-1 - rol ebp,10 - lea edi,[2840853838+eax*1+edi] - sub edx,ebp - rol edi,12 - add edi,esi - ; 74 - mov eax,DWORD [12+esp] - or edx,ebx - add esi,eax - xor edx,edi - mov eax,-1 - rol ebx,10 - lea esi,[2840853838+edx*1+esi] - sub eax,ebx - rol esi,13 - add esi,ecx - ; 75 - mov edx,DWORD [32+esp] - or eax,edi - add ecx,edx - xor eax,esi - mov edx,-1 - rol edi,10 - lea ecx,[2840853838+eax*1+ecx] - sub edx,edi - rol ecx,14 - add ecx,ebp - ; 76 - mov eax,DWORD [44+esp] - or edx,esi - add ebp,eax - xor edx,ecx - mov eax,-1 - rol esi,10 - lea ebp,[2840853838+edx*1+ebp] - sub eax,esi - rol ebp,11 - add ebp,ebx - ; 77 - mov edx,DWORD [24+esp] - or eax,ecx - add ebx,edx - xor eax,ebp - mov edx,-1 - rol ecx,10 - lea ebx,[2840853838+eax*1+ebx] - sub edx,ecx - rol ebx,8 - add ebx,edi - ; 78 - mov eax,DWORD [60+esp] - or edx,ebp - add edi,eax - xor edx,ebx - mov eax,-1 - rol ebp,10 - lea edi,[2840853838+edx*1+edi] - sub eax,ebp - rol edi,5 - add edi,esi - ; 79 - mov edx,DWORD [52+esp] - or eax,ebx - add esi,edx - xor eax,edi - mov edx,DWORD [128+esp] - rol ebx,10 - lea esi,[2840853838+eax*1+esi] - mov DWORD [64+esp],ecx - rol esi,6 - add esi,ecx - mov ecx,DWORD [edx] - mov DWORD [68+esp],esi - mov DWORD [72+esp],edi - mov esi,DWORD [4+edx] - mov DWORD [76+esp],ebx - mov edi,DWORD [8+edx] - mov DWORD [80+esp],ebp - mov ebx,DWORD [12+edx] - mov ebp,DWORD [16+edx] - ; 80 - mov edx,-1 - sub edx,ebx - mov eax,DWORD [20+esp] - or edx,edi - add ecx,eax - xor edx,esi - mov eax,-1 - rol edi,10 - lea ecx,[1352829926+edx*1+ecx] - sub eax,edi - rol ecx,8 - add ecx,ebp - ; 81 - mov edx,DWORD [56+esp] - or eax,esi - add ebp,edx - xor eax,ecx - mov edx,-1 - rol esi,10 - lea ebp,[1352829926+eax*1+ebp] - sub edx,esi - rol ebp,9 - add ebp,ebx - ; 82 - mov eax,DWORD [28+esp] - or edx,ecx - add ebx,eax - xor edx,ebp - mov eax,-1 - rol ecx,10 - lea ebx,[1352829926+edx*1+ebx] - sub eax,ecx - rol ebx,9 - add ebx,edi - ; 83 - mov edx,DWORD [esp] - or eax,ebp - add edi,edx - xor eax,ebx - mov edx,-1 - rol ebp,10 - lea edi,[1352829926+eax*1+edi] - sub edx,ebp - rol edi,11 - add edi,esi - ; 84 - mov eax,DWORD [36+esp] - or edx,ebx - add esi,eax - xor edx,edi - mov eax,-1 - rol ebx,10 - lea esi,[1352829926+edx*1+esi] - sub eax,ebx - rol esi,13 - add esi,ecx - ; 85 - mov edx,DWORD [8+esp] - or eax,edi - add ecx,edx - xor eax,esi - mov edx,-1 - rol edi,10 - lea ecx,[1352829926+eax*1+ecx] - sub edx,edi - rol ecx,15 - add ecx,ebp - ; 86 - mov eax,DWORD [44+esp] - or edx,esi - add ebp,eax - xor edx,ecx - mov eax,-1 - rol esi,10 - lea ebp,[1352829926+edx*1+ebp] - sub eax,esi - rol ebp,15 - add ebp,ebx - ; 87 - mov edx,DWORD [16+esp] - or eax,ecx - add ebx,edx - xor eax,ebp - mov edx,-1 - rol ecx,10 - lea ebx,[1352829926+eax*1+ebx] - sub edx,ecx - rol ebx,5 - add ebx,edi - ; 88 - mov eax,DWORD [52+esp] - or edx,ebp - add edi,eax - xor edx,ebx - mov eax,-1 - rol ebp,10 - lea edi,[1352829926+edx*1+edi] - sub eax,ebp - rol edi,7 - add edi,esi - ; 89 - mov edx,DWORD [24+esp] - or eax,ebx - add esi,edx - xor eax,edi - mov edx,-1 - rol ebx,10 - lea esi,[1352829926+eax*1+esi] - sub edx,ebx - rol esi,7 - add esi,ecx - ; 90 - mov eax,DWORD [60+esp] - or edx,edi - add ecx,eax - xor edx,esi - mov eax,-1 - rol edi,10 - lea ecx,[1352829926+edx*1+ecx] - sub eax,edi - rol ecx,8 - add ecx,ebp - ; 91 - mov edx,DWORD [32+esp] - or eax,esi - add ebp,edx - xor eax,ecx - mov edx,-1 - rol esi,10 - lea ebp,[1352829926+eax*1+ebp] - sub edx,esi - rol ebp,11 - add ebp,ebx - ; 92 - mov eax,DWORD [4+esp] - or edx,ecx - add ebx,eax - xor edx,ebp - mov eax,-1 - rol ecx,10 - lea ebx,[1352829926+edx*1+ebx] - sub eax,ecx - rol ebx,14 - add ebx,edi - ; 93 - mov edx,DWORD [40+esp] - or eax,ebp - add edi,edx - xor eax,ebx - mov edx,-1 - rol ebp,10 - lea edi,[1352829926+eax*1+edi] - sub edx,ebp - rol edi,14 - add edi,esi - ; 94 - mov eax,DWORD [12+esp] - or edx,ebx - add esi,eax - xor edx,edi - mov eax,-1 - rol ebx,10 - lea esi,[1352829926+edx*1+esi] - sub eax,ebx - rol esi,12 - add esi,ecx - ; 95 - mov edx,DWORD [48+esp] - or eax,edi - add ecx,edx - xor eax,esi - mov edx,-1 - rol edi,10 - lea ecx,[1352829926+eax*1+ecx] - mov eax,edi - rol ecx,6 - add ecx,ebp - ; 96 - sub edx,edi - and eax,ecx - and edx,esi - or edx,eax - mov eax,DWORD [24+esp] - rol esi,10 - lea ebp,[1548603684+edx*1+ebp] - mov edx,-1 - add ebp,eax - mov eax,esi - rol ebp,9 - add ebp,ebx - ; 97 - sub edx,esi - and eax,ebp - and edx,ecx - or edx,eax - mov eax,DWORD [44+esp] - rol ecx,10 - lea ebx,[1548603684+edx*1+ebx] - mov edx,-1 - add ebx,eax - mov eax,ecx - rol ebx,13 - add ebx,edi - ; 98 - sub edx,ecx - and eax,ebx - and edx,ebp - or edx,eax - mov eax,DWORD [12+esp] - rol ebp,10 - lea edi,[1548603684+edx*1+edi] - mov edx,-1 - add edi,eax - mov eax,ebp - rol edi,15 - add edi,esi - ; 99 - sub edx,ebp - and eax,edi - and edx,ebx - or edx,eax - mov eax,DWORD [28+esp] - rol ebx,10 - lea esi,[1548603684+edx*1+esi] - mov edx,-1 - add esi,eax - mov eax,ebx - rol esi,7 - add esi,ecx - ; 100 - sub edx,ebx - and eax,esi - and edx,edi - or edx,eax - mov eax,DWORD [esp] - rol edi,10 - lea ecx,[1548603684+edx*1+ecx] - mov edx,-1 - add ecx,eax - mov eax,edi - rol ecx,12 - add ecx,ebp - ; 101 - sub edx,edi - and eax,ecx - and edx,esi - or edx,eax - mov eax,DWORD [52+esp] - rol esi,10 - lea ebp,[1548603684+edx*1+ebp] - mov edx,-1 - add ebp,eax - mov eax,esi - rol ebp,8 - add ebp,ebx - ; 102 - sub edx,esi - and eax,ebp - and edx,ecx - or edx,eax - mov eax,DWORD [20+esp] - rol ecx,10 - lea ebx,[1548603684+edx*1+ebx] - mov edx,-1 - add ebx,eax - mov eax,ecx - rol ebx,9 - add ebx,edi - ; 103 - sub edx,ecx - and eax,ebx - and edx,ebp - or edx,eax - mov eax,DWORD [40+esp] - rol ebp,10 - lea edi,[1548603684+edx*1+edi] - mov edx,-1 - add edi,eax - mov eax,ebp - rol edi,11 - add edi,esi - ; 104 - sub edx,ebp - and eax,edi - and edx,ebx - or edx,eax - mov eax,DWORD [56+esp] - rol ebx,10 - lea esi,[1548603684+edx*1+esi] - mov edx,-1 - add esi,eax - mov eax,ebx - rol esi,7 - add esi,ecx - ; 105 - sub edx,ebx - and eax,esi - and edx,edi - or edx,eax - mov eax,DWORD [60+esp] - rol edi,10 - lea ecx,[1548603684+edx*1+ecx] - mov edx,-1 - add ecx,eax - mov eax,edi - rol ecx,7 - add ecx,ebp - ; 106 - sub edx,edi - and eax,ecx - and edx,esi - or edx,eax - mov eax,DWORD [32+esp] - rol esi,10 - lea ebp,[1548603684+edx*1+ebp] - mov edx,-1 - add ebp,eax - mov eax,esi - rol ebp,12 - add ebp,ebx - ; 107 - sub edx,esi - and eax,ebp - and edx,ecx - or edx,eax - mov eax,DWORD [48+esp] - rol ecx,10 - lea ebx,[1548603684+edx*1+ebx] - mov edx,-1 - add ebx,eax - mov eax,ecx - rol ebx,7 - add ebx,edi - ; 108 - sub edx,ecx - and eax,ebx - and edx,ebp - or edx,eax - mov eax,DWORD [16+esp] - rol ebp,10 - lea edi,[1548603684+edx*1+edi] - mov edx,-1 - add edi,eax - mov eax,ebp - rol edi,6 - add edi,esi - ; 109 - sub edx,ebp - and eax,edi - and edx,ebx - or edx,eax - mov eax,DWORD [36+esp] - rol ebx,10 - lea esi,[1548603684+edx*1+esi] - mov edx,-1 - add esi,eax - mov eax,ebx - rol esi,15 - add esi,ecx - ; 110 - sub edx,ebx - and eax,esi - and edx,edi - or edx,eax - mov eax,DWORD [4+esp] - rol edi,10 - lea ecx,[1548603684+edx*1+ecx] - mov edx,-1 - add ecx,eax - mov eax,edi - rol ecx,13 - add ecx,ebp - ; 111 - sub edx,edi - and eax,ecx - and edx,esi - or edx,eax - mov eax,DWORD [8+esp] - rol esi,10 - lea ebp,[1548603684+edx*1+ebp] - mov edx,-1 - add ebp,eax - sub edx,ecx - rol ebp,11 - add ebp,ebx - ; 112 - mov eax,DWORD [60+esp] - or edx,ebp - add ebx,eax - xor edx,esi - mov eax,-1 - rol ecx,10 - lea ebx,[1836072691+edx*1+ebx] - sub eax,ebp - rol ebx,9 - add ebx,edi - ; 113 - mov edx,DWORD [20+esp] - or eax,ebx - add edi,edx - xor eax,ecx - mov edx,-1 - rol ebp,10 - lea edi,[1836072691+eax*1+edi] - sub edx,ebx - rol edi,7 - add edi,esi - ; 114 - mov eax,DWORD [4+esp] - or edx,edi - add esi,eax - xor edx,ebp - mov eax,-1 - rol ebx,10 - lea esi,[1836072691+edx*1+esi] - sub eax,edi - rol esi,15 - add esi,ecx - ; 115 - mov edx,DWORD [12+esp] - or eax,esi - add ecx,edx - xor eax,ebx - mov edx,-1 - rol edi,10 - lea ecx,[1836072691+eax*1+ecx] - sub edx,esi - rol ecx,11 - add ecx,ebp - ; 116 - mov eax,DWORD [28+esp] - or edx,ecx - add ebp,eax - xor edx,edi - mov eax,-1 - rol esi,10 - lea ebp,[1836072691+edx*1+ebp] - sub eax,ecx - rol ebp,8 - add ebp,ebx - ; 117 - mov edx,DWORD [56+esp] - or eax,ebp - add ebx,edx - xor eax,esi - mov edx,-1 - rol ecx,10 - lea ebx,[1836072691+eax*1+ebx] - sub edx,ebp - rol ebx,6 - add ebx,edi - ; 118 - mov eax,DWORD [24+esp] - or edx,ebx - add edi,eax - xor edx,ecx - mov eax,-1 - rol ebp,10 - lea edi,[1836072691+edx*1+edi] - sub eax,ebx - rol edi,6 - add edi,esi - ; 119 - mov edx,DWORD [36+esp] - or eax,edi - add esi,edx - xor eax,ebp - mov edx,-1 - rol ebx,10 - lea esi,[1836072691+eax*1+esi] - sub edx,edi - rol esi,14 - add esi,ecx - ; 120 - mov eax,DWORD [44+esp] - or edx,esi - add ecx,eax - xor edx,ebx - mov eax,-1 - rol edi,10 - lea ecx,[1836072691+edx*1+ecx] - sub eax,esi - rol ecx,12 - add ecx,ebp - ; 121 - mov edx,DWORD [32+esp] - or eax,ecx - add ebp,edx - xor eax,edi - mov edx,-1 - rol esi,10 - lea ebp,[1836072691+eax*1+ebp] - sub edx,ecx - rol ebp,13 - add ebp,ebx - ; 122 - mov eax,DWORD [48+esp] - or edx,ebp - add ebx,eax - xor edx,esi - mov eax,-1 - rol ecx,10 - lea ebx,[1836072691+edx*1+ebx] - sub eax,ebp - rol ebx,5 - add ebx,edi - ; 123 - mov edx,DWORD [8+esp] - or eax,ebx - add edi,edx - xor eax,ecx - mov edx,-1 - rol ebp,10 - lea edi,[1836072691+eax*1+edi] - sub edx,ebx - rol edi,14 - add edi,esi - ; 124 - mov eax,DWORD [40+esp] - or edx,edi - add esi,eax - xor edx,ebp - mov eax,-1 - rol ebx,10 - lea esi,[1836072691+edx*1+esi] - sub eax,edi - rol esi,13 - add esi,ecx - ; 125 - mov edx,DWORD [esp] - or eax,esi - add ecx,edx - xor eax,ebx - mov edx,-1 - rol edi,10 - lea ecx,[1836072691+eax*1+ecx] - sub edx,esi - rol ecx,13 - add ecx,ebp - ; 126 - mov eax,DWORD [16+esp] - or edx,ecx - add ebp,eax - xor edx,edi - mov eax,-1 - rol esi,10 - lea ebp,[1836072691+edx*1+ebp] - sub eax,ecx - rol ebp,7 - add ebp,ebx - ; 127 - mov edx,DWORD [52+esp] - or eax,ebp - add ebx,edx - xor eax,esi - mov edx,DWORD [32+esp] - rol ecx,10 - lea ebx,[1836072691+eax*1+ebx] - mov eax,-1 - rol ebx,5 - add ebx,edi - ; 128 - add edi,edx - mov edx,ebp - sub eax,ebx - and edx,ebx - and eax,ecx - or edx,eax - mov eax,DWORD [24+esp] - rol ebp,10 - lea edi,[2053994217+edx*1+edi] - mov edx,-1 - rol edi,15 - add edi,esi - ; 129 - add esi,eax - mov eax,ebx - sub edx,edi - and eax,edi - and edx,ebp - or eax,edx - mov edx,DWORD [16+esp] - rol ebx,10 - lea esi,[2053994217+eax*1+esi] - mov eax,-1 - rol esi,5 - add esi,ecx - ; 130 - add ecx,edx - mov edx,edi - sub eax,esi - and edx,esi - and eax,ebx - or edx,eax - mov eax,DWORD [4+esp] - rol edi,10 - lea ecx,[2053994217+edx*1+ecx] - mov edx,-1 - rol ecx,8 - add ecx,ebp - ; 131 - add ebp,eax - mov eax,esi - sub edx,ecx - and eax,ecx - and edx,edi - or eax,edx - mov edx,DWORD [12+esp] - rol esi,10 - lea ebp,[2053994217+eax*1+ebp] - mov eax,-1 - rol ebp,11 - add ebp,ebx - ; 132 - add ebx,edx - mov edx,ecx - sub eax,ebp - and edx,ebp - and eax,esi - or edx,eax - mov eax,DWORD [44+esp] - rol ecx,10 - lea ebx,[2053994217+edx*1+ebx] - mov edx,-1 - rol ebx,14 - add ebx,edi - ; 133 - add edi,eax - mov eax,ebp - sub edx,ebx - and eax,ebx - and edx,ecx - or eax,edx - mov edx,DWORD [60+esp] - rol ebp,10 - lea edi,[2053994217+eax*1+edi] - mov eax,-1 - rol edi,14 - add edi,esi - ; 134 - add esi,edx - mov edx,ebx - sub eax,edi - and edx,edi - and eax,ebp - or edx,eax - mov eax,DWORD [esp] - rol ebx,10 - lea esi,[2053994217+edx*1+esi] - mov edx,-1 - rol esi,6 - add esi,ecx - ; 135 - add ecx,eax - mov eax,edi - sub edx,esi - and eax,esi - and edx,ebx - or eax,edx - mov edx,DWORD [20+esp] - rol edi,10 - lea ecx,[2053994217+eax*1+ecx] - mov eax,-1 - rol ecx,14 - add ecx,ebp - ; 136 - add ebp,edx - mov edx,esi - sub eax,ecx - and edx,ecx - and eax,edi - or edx,eax - mov eax,DWORD [48+esp] - rol esi,10 - lea ebp,[2053994217+edx*1+ebp] - mov edx,-1 - rol ebp,6 - add ebp,ebx - ; 137 - add ebx,eax - mov eax,ecx - sub edx,ebp - and eax,ebp - and edx,esi - or eax,edx - mov edx,DWORD [8+esp] - rol ecx,10 - lea ebx,[2053994217+eax*1+ebx] - mov eax,-1 - rol ebx,9 - add ebx,edi - ; 138 - add edi,edx - mov edx,ebp - sub eax,ebx - and edx,ebx - and eax,ecx - or edx,eax - mov eax,DWORD [52+esp] - rol ebp,10 - lea edi,[2053994217+edx*1+edi] - mov edx,-1 - rol edi,12 - add edi,esi - ; 139 - add esi,eax - mov eax,ebx - sub edx,edi - and eax,edi - and edx,ebp - or eax,edx - mov edx,DWORD [36+esp] - rol ebx,10 - lea esi,[2053994217+eax*1+esi] - mov eax,-1 - rol esi,9 - add esi,ecx - ; 140 - add ecx,edx - mov edx,edi - sub eax,esi - and edx,esi - and eax,ebx - or edx,eax - mov eax,DWORD [28+esp] - rol edi,10 - lea ecx,[2053994217+edx*1+ecx] - mov edx,-1 - rol ecx,12 - add ecx,ebp - ; 141 - add ebp,eax - mov eax,esi - sub edx,ecx - and eax,ecx - and edx,edi - or eax,edx - mov edx,DWORD [40+esp] - rol esi,10 - lea ebp,[2053994217+eax*1+ebp] - mov eax,-1 - rol ebp,5 - add ebp,ebx - ; 142 - add ebx,edx - mov edx,ecx - sub eax,ebp - and edx,ebp - and eax,esi - or edx,eax - mov eax,DWORD [56+esp] - rol ecx,10 - lea ebx,[2053994217+edx*1+ebx] - mov edx,-1 - rol ebx,15 - add ebx,edi - ; 143 - add edi,eax - mov eax,ebp - sub edx,ebx - and eax,ebx - and edx,ecx - or edx,eax - mov eax,ebx - rol ebp,10 - lea edi,[2053994217+edx*1+edi] - xor eax,ebp - rol edi,8 - add edi,esi - ; 144 - mov edx,DWORD [48+esp] - xor eax,edi - add esi,edx - rol ebx,10 - add esi,eax - mov eax,edi - rol esi,8 - add esi,ecx - ; 145 - xor eax,ebx - mov edx,DWORD [60+esp] - xor eax,esi - add ecx,eax - mov eax,esi - rol edi,10 - add ecx,edx - xor eax,edi - rol ecx,5 - add ecx,ebp - ; 146 - mov edx,DWORD [40+esp] - xor eax,ecx - add ebp,edx - rol esi,10 - add ebp,eax - mov eax,ecx - rol ebp,12 - add ebp,ebx - ; 147 - xor eax,esi - mov edx,DWORD [16+esp] - xor eax,ebp - add ebx,eax - mov eax,ebp - rol ecx,10 - add ebx,edx - xor eax,ecx - rol ebx,9 - add ebx,edi - ; 148 - mov edx,DWORD [4+esp] - xor eax,ebx - add edi,edx - rol ebp,10 - add edi,eax - mov eax,ebx - rol edi,12 - add edi,esi - ; 149 - xor eax,ebp - mov edx,DWORD [20+esp] - xor eax,edi - add esi,eax - mov eax,edi - rol ebx,10 - add esi,edx - xor eax,ebx - rol esi,5 - add esi,ecx - ; 150 - mov edx,DWORD [32+esp] - xor eax,esi - add ecx,edx - rol edi,10 - add ecx,eax - mov eax,esi - rol ecx,14 - add ecx,ebp - ; 151 - xor eax,edi - mov edx,DWORD [28+esp] - xor eax,ecx - add ebp,eax - mov eax,ecx - rol esi,10 - add ebp,edx - xor eax,esi - rol ebp,6 - add ebp,ebx - ; 152 - mov edx,DWORD [24+esp] - xor eax,ebp - add ebx,edx - rol ecx,10 - add ebx,eax - mov eax,ebp - rol ebx,8 - add ebx,edi - ; 153 - xor eax,ecx - mov edx,DWORD [8+esp] - xor eax,ebx - add edi,eax - mov eax,ebx - rol ebp,10 - add edi,edx - xor eax,ebp - rol edi,13 - add edi,esi - ; 154 - mov edx,DWORD [52+esp] - xor eax,edi - add esi,edx - rol ebx,10 - add esi,eax - mov eax,edi - rol esi,6 - add esi,ecx - ; 155 - xor eax,ebx - mov edx,DWORD [56+esp] - xor eax,esi - add ecx,eax - mov eax,esi - rol edi,10 - add ecx,edx - xor eax,edi - rol ecx,5 - add ecx,ebp - ; 156 - mov edx,DWORD [esp] - xor eax,ecx - add ebp,edx - rol esi,10 - add ebp,eax - mov eax,ecx - rol ebp,15 - add ebp,ebx - ; 157 - xor eax,esi - mov edx,DWORD [12+esp] - xor eax,ebp - add ebx,eax - mov eax,ebp - rol ecx,10 - add ebx,edx - xor eax,ecx - rol ebx,13 - add ebx,edi - ; 158 - mov edx,DWORD [36+esp] - xor eax,ebx - add edi,edx - rol ebp,10 - add edi,eax - mov eax,ebx - rol edi,11 - add edi,esi - ; 159 - xor eax,ebp - mov edx,DWORD [44+esp] - xor eax,edi - add esi,eax - rol ebx,10 - add esi,edx - mov edx,DWORD [128+esp] - rol esi,11 - add esi,ecx - mov eax,DWORD [4+edx] - add ebx,eax - mov eax,DWORD [72+esp] - add ebx,eax - mov eax,DWORD [8+edx] - add ebp,eax - mov eax,DWORD [76+esp] - add ebp,eax - mov eax,DWORD [12+edx] - add ecx,eax - mov eax,DWORD [80+esp] - add ecx,eax - mov eax,DWORD [16+edx] - add esi,eax - mov eax,DWORD [64+esp] - add esi,eax - mov eax,DWORD [edx] - add edi,eax - mov eax,DWORD [68+esp] - add edi,eax - mov eax,DWORD [136+esp] - mov DWORD [edx],ebx - mov DWORD [4+edx],ebp - mov DWORD [8+edx],ecx - sub eax,1 - mov DWORD [12+edx],esi - mov DWORD [16+edx],edi - jle NEAR L$001get_out - mov DWORD [136+esp],eax - mov edi,ecx - mov eax,DWORD [132+esp] - mov ecx,ebx - add eax,64 - mov esi,ebp - mov DWORD [132+esp],eax - jmp NEAR L$000start -L$001get_out: - add esp,108 - pop ebx - pop ebp - pop edi - pop esi - ret +%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 _ripemd160_block_asm_data_order +align 16 +_ripemd160_block_asm_data_order: +L$_ripemd160_block_asm_data_order_begin: + mov edx,DWORD [4+esp] + mov eax,DWORD [8+esp] + push esi + mov ecx,DWORD [edx] + push edi + mov esi,DWORD [4+edx] + push ebp + mov edi,DWORD [8+edx] + push ebx + sub esp,108 +L$000start: + ; + mov ebx,DWORD [eax] + mov ebp,DWORD [4+eax] + mov DWORD [esp],ebx + mov DWORD [4+esp],ebp + mov ebx,DWORD [8+eax] + mov ebp,DWORD [12+eax] + mov DWORD [8+esp],ebx + mov DWORD [12+esp],ebp + mov ebx,DWORD [16+eax] + mov ebp,DWORD [20+eax] + mov DWORD [16+esp],ebx + mov DWORD [20+esp],ebp + mov ebx,DWORD [24+eax] + mov ebp,DWORD [28+eax] + mov DWORD [24+esp],ebx + mov DWORD [28+esp],ebp + mov ebx,DWORD [32+eax] + mov ebp,DWORD [36+eax] + mov DWORD [32+esp],ebx + mov DWORD [36+esp],ebp + mov ebx,DWORD [40+eax] + mov ebp,DWORD [44+eax] + mov DWORD [40+esp],ebx + mov DWORD [44+esp],ebp + mov ebx,DWORD [48+eax] + mov ebp,DWORD [52+eax] + mov DWORD [48+esp],ebx + mov DWORD [52+esp],ebp + mov ebx,DWORD [56+eax] + mov ebp,DWORD [60+eax] + mov DWORD [56+esp],ebx + mov DWORD [60+esp],ebp + mov eax,edi + mov ebx,DWORD [12+edx] + mov ebp,DWORD [16+edx] + ; 0 + xor eax,ebx + mov edx,DWORD [esp] + xor eax,esi + add ecx,edx + rol edi,10 + add ecx,eax + mov eax,esi + rol ecx,11 + add ecx,ebp + ; 1 + xor eax,edi + mov edx,DWORD [4+esp] + xor eax,ecx + add ebp,eax + mov eax,ecx + rol esi,10 + add ebp,edx + xor eax,esi + rol ebp,14 + add ebp,ebx + ; 2 + mov edx,DWORD [8+esp] + xor eax,ebp + add ebx,edx + rol ecx,10 + add ebx,eax + mov eax,ebp + rol ebx,15 + add ebx,edi + ; 3 + xor eax,ecx + mov edx,DWORD [12+esp] + xor eax,ebx + add edi,eax + mov eax,ebx + rol ebp,10 + add edi,edx + xor eax,ebp + rol edi,12 + add edi,esi + ; 4 + mov edx,DWORD [16+esp] + xor eax,edi + add esi,edx + rol ebx,10 + add esi,eax + mov eax,edi + rol esi,5 + add esi,ecx + ; 5 + xor eax,ebx + mov edx,DWORD [20+esp] + xor eax,esi + add ecx,eax + mov eax,esi + rol edi,10 + add ecx,edx + xor eax,edi + rol ecx,8 + add ecx,ebp + ; 6 + mov edx,DWORD [24+esp] + xor eax,ecx + add ebp,edx + rol esi,10 + add ebp,eax + mov eax,ecx + rol ebp,7 + add ebp,ebx + ; 7 + xor eax,esi + mov edx,DWORD [28+esp] + xor eax,ebp + add ebx,eax + mov eax,ebp + rol ecx,10 + add ebx,edx + xor eax,ecx + rol ebx,9 + add ebx,edi + ; 8 + mov edx,DWORD [32+esp] + xor eax,ebx + add edi,edx + rol ebp,10 + add edi,eax + mov eax,ebx + rol edi,11 + add edi,esi + ; 9 + xor eax,ebp + mov edx,DWORD [36+esp] + xor eax,edi + add esi,eax + mov eax,edi + rol ebx,10 + add esi,edx + xor eax,ebx + rol esi,13 + add esi,ecx + ; 10 + mov edx,DWORD [40+esp] + xor eax,esi + add ecx,edx + rol edi,10 + add ecx,eax + mov eax,esi + rol ecx,14 + add ecx,ebp + ; 11 + xor eax,edi + mov edx,DWORD [44+esp] + xor eax,ecx + add ebp,eax + mov eax,ecx + rol esi,10 + add ebp,edx + xor eax,esi + rol ebp,15 + add ebp,ebx + ; 12 + mov edx,DWORD [48+esp] + xor eax,ebp + add ebx,edx + rol ecx,10 + add ebx,eax + mov eax,ebp + rol ebx,6 + add ebx,edi + ; 13 + xor eax,ecx + mov edx,DWORD [52+esp] + xor eax,ebx + add edi,eax + mov eax,ebx + rol ebp,10 + add edi,edx + xor eax,ebp + rol edi,7 + add edi,esi + ; 14 + mov edx,DWORD [56+esp] + xor eax,edi + add esi,edx + rol ebx,10 + add esi,eax + mov eax,edi + rol esi,9 + add esi,ecx + ; 15 + xor eax,ebx + mov edx,DWORD [60+esp] + xor eax,esi + add ecx,eax + mov eax,-1 + rol edi,10 + add ecx,edx + mov edx,DWORD [28+esp] + rol ecx,8 + add ecx,ebp + ; 16 + add ebp,edx + mov edx,esi + sub eax,ecx + and edx,ecx + and eax,edi + or edx,eax + mov eax,DWORD [16+esp] + rol esi,10 + lea ebp,[1518500249+edx*1+ebp] + mov edx,-1 + rol ebp,7 + add ebp,ebx + ; 17 + add ebx,eax + mov eax,ecx + sub edx,ebp + and eax,ebp + and edx,esi + or eax,edx + mov edx,DWORD [52+esp] + rol ecx,10 + lea ebx,[1518500249+eax*1+ebx] + mov eax,-1 + rol ebx,6 + add ebx,edi + ; 18 + add edi,edx + mov edx,ebp + sub eax,ebx + and edx,ebx + and eax,ecx + or edx,eax + mov eax,DWORD [4+esp] + rol ebp,10 + lea edi,[1518500249+edx*1+edi] + mov edx,-1 + rol edi,8 + add edi,esi + ; 19 + add esi,eax + mov eax,ebx + sub edx,edi + and eax,edi + and edx,ebp + or eax,edx + mov edx,DWORD [40+esp] + rol ebx,10 + lea esi,[1518500249+eax*1+esi] + mov eax,-1 + rol esi,13 + add esi,ecx + ; 20 + add ecx,edx + mov edx,edi + sub eax,esi + and edx,esi + and eax,ebx + or edx,eax + mov eax,DWORD [24+esp] + rol edi,10 + lea ecx,[1518500249+edx*1+ecx] + mov edx,-1 + rol ecx,11 + add ecx,ebp + ; 21 + add ebp,eax + mov eax,esi + sub edx,ecx + and eax,ecx + and edx,edi + or eax,edx + mov edx,DWORD [60+esp] + rol esi,10 + lea ebp,[1518500249+eax*1+ebp] + mov eax,-1 + rol ebp,9 + add ebp,ebx + ; 22 + add ebx,edx + mov edx,ecx + sub eax,ebp + and edx,ebp + and eax,esi + or edx,eax + mov eax,DWORD [12+esp] + rol ecx,10 + lea ebx,[1518500249+edx*1+ebx] + mov edx,-1 + rol ebx,7 + add ebx,edi + ; 23 + add edi,eax + mov eax,ebp + sub edx,ebx + and eax,ebx + and edx,ecx + or eax,edx + mov edx,DWORD [48+esp] + rol ebp,10 + lea edi,[1518500249+eax*1+edi] + mov eax,-1 + rol edi,15 + add edi,esi + ; 24 + add esi,edx + mov edx,ebx + sub eax,edi + and edx,edi + and eax,ebp + or edx,eax + mov eax,DWORD [esp] + rol ebx,10 + lea esi,[1518500249+edx*1+esi] + mov edx,-1 + rol esi,7 + add esi,ecx + ; 25 + add ecx,eax + mov eax,edi + sub edx,esi + and eax,esi + and edx,ebx + or eax,edx + mov edx,DWORD [36+esp] + rol edi,10 + lea ecx,[1518500249+eax*1+ecx] + mov eax,-1 + rol ecx,12 + add ecx,ebp + ; 26 + add ebp,edx + mov edx,esi + sub eax,ecx + and edx,ecx + and eax,edi + or edx,eax + mov eax,DWORD [20+esp] + rol esi,10 + lea ebp,[1518500249+edx*1+ebp] + mov edx,-1 + rol ebp,15 + add ebp,ebx + ; 27 + add ebx,eax + mov eax,ecx + sub edx,ebp + and eax,ebp + and edx,esi + or eax,edx + mov edx,DWORD [8+esp] + rol ecx,10 + lea ebx,[1518500249+eax*1+ebx] + mov eax,-1 + rol ebx,9 + add ebx,edi + ; 28 + add edi,edx + mov edx,ebp + sub eax,ebx + and edx,ebx + and eax,ecx + or edx,eax + mov eax,DWORD [56+esp] + rol ebp,10 + lea edi,[1518500249+edx*1+edi] + mov edx,-1 + rol edi,11 + add edi,esi + ; 29 + add esi,eax + mov eax,ebx + sub edx,edi + and eax,edi + and edx,ebp + or eax,edx + mov edx,DWORD [44+esp] + rol ebx,10 + lea esi,[1518500249+eax*1+esi] + mov eax,-1 + rol esi,7 + add esi,ecx + ; 30 + add ecx,edx + mov edx,edi + sub eax,esi + and edx,esi + and eax,ebx + or edx,eax + mov eax,DWORD [32+esp] + rol edi,10 + lea ecx,[1518500249+edx*1+ecx] + mov edx,-1 + rol ecx,13 + add ecx,ebp + ; 31 + add ebp,eax + mov eax,esi + sub edx,ecx + and eax,ecx + and edx,edi + or eax,edx + mov edx,-1 + rol esi,10 + lea ebp,[1518500249+eax*1+ebp] + sub edx,ecx + rol ebp,12 + add ebp,ebx + ; 32 + mov eax,DWORD [12+esp] + or edx,ebp + add ebx,eax + xor edx,esi + mov eax,-1 + rol ecx,10 + lea ebx,[1859775393+edx*1+ebx] + sub eax,ebp + rol ebx,11 + add ebx,edi + ; 33 + mov edx,DWORD [40+esp] + or eax,ebx + add edi,edx + xor eax,ecx + mov edx,-1 + rol ebp,10 + lea edi,[1859775393+eax*1+edi] + sub edx,ebx + rol edi,13 + add edi,esi + ; 34 + mov eax,DWORD [56+esp] + or edx,edi + add esi,eax + xor edx,ebp + mov eax,-1 + rol ebx,10 + lea esi,[1859775393+edx*1+esi] + sub eax,edi + rol esi,6 + add esi,ecx + ; 35 + mov edx,DWORD [16+esp] + or eax,esi + add ecx,edx + xor eax,ebx + mov edx,-1 + rol edi,10 + lea ecx,[1859775393+eax*1+ecx] + sub edx,esi + rol ecx,7 + add ecx,ebp + ; 36 + mov eax,DWORD [36+esp] + or edx,ecx + add ebp,eax + xor edx,edi + mov eax,-1 + rol esi,10 + lea ebp,[1859775393+edx*1+ebp] + sub eax,ecx + rol ebp,14 + add ebp,ebx + ; 37 + mov edx,DWORD [60+esp] + or eax,ebp + add ebx,edx + xor eax,esi + mov edx,-1 + rol ecx,10 + lea ebx,[1859775393+eax*1+ebx] + sub edx,ebp + rol ebx,9 + add ebx,edi + ; 38 + mov eax,DWORD [32+esp] + or edx,ebx + add edi,eax + xor edx,ecx + mov eax,-1 + rol ebp,10 + lea edi,[1859775393+edx*1+edi] + sub eax,ebx + rol edi,13 + add edi,esi + ; 39 + mov edx,DWORD [4+esp] + or eax,edi + add esi,edx + xor eax,ebp + mov edx,-1 + rol ebx,10 + lea esi,[1859775393+eax*1+esi] + sub edx,edi + rol esi,15 + add esi,ecx + ; 40 + mov eax,DWORD [8+esp] + or edx,esi + add ecx,eax + xor edx,ebx + mov eax,-1 + rol edi,10 + lea ecx,[1859775393+edx*1+ecx] + sub eax,esi + rol ecx,14 + add ecx,ebp + ; 41 + mov edx,DWORD [28+esp] + or eax,ecx + add ebp,edx + xor eax,edi + mov edx,-1 + rol esi,10 + lea ebp,[1859775393+eax*1+ebp] + sub edx,ecx + rol ebp,8 + add ebp,ebx + ; 42 + mov eax,DWORD [esp] + or edx,ebp + add ebx,eax + xor edx,esi + mov eax,-1 + rol ecx,10 + lea ebx,[1859775393+edx*1+ebx] + sub eax,ebp + rol ebx,13 + add ebx,edi + ; 43 + mov edx,DWORD [24+esp] + or eax,ebx + add edi,edx + xor eax,ecx + mov edx,-1 + rol ebp,10 + lea edi,[1859775393+eax*1+edi] + sub edx,ebx + rol edi,6 + add edi,esi + ; 44 + mov eax,DWORD [52+esp] + or edx,edi + add esi,eax + xor edx,ebp + mov eax,-1 + rol ebx,10 + lea esi,[1859775393+edx*1+esi] + sub eax,edi + rol esi,5 + add esi,ecx + ; 45 + mov edx,DWORD [44+esp] + or eax,esi + add ecx,edx + xor eax,ebx + mov edx,-1 + rol edi,10 + lea ecx,[1859775393+eax*1+ecx] + sub edx,esi + rol ecx,12 + add ecx,ebp + ; 46 + mov eax,DWORD [20+esp] + or edx,ecx + add ebp,eax + xor edx,edi + mov eax,-1 + rol esi,10 + lea ebp,[1859775393+edx*1+ebp] + sub eax,ecx + rol ebp,7 + add ebp,ebx + ; 47 + mov edx,DWORD [48+esp] + or eax,ebp + add ebx,edx + xor eax,esi + mov edx,-1 + rol ecx,10 + lea ebx,[1859775393+eax*1+ebx] + mov eax,ecx + rol ebx,5 + add ebx,edi + ; 48 + sub edx,ecx + and eax,ebx + and edx,ebp + or edx,eax + mov eax,DWORD [4+esp] + rol ebp,10 + lea edi,[2400959708+edx*1+edi] + mov edx,-1 + add edi,eax + mov eax,ebp + rol edi,11 + add edi,esi + ; 49 + sub edx,ebp + and eax,edi + and edx,ebx + or edx,eax + mov eax,DWORD [36+esp] + rol ebx,10 + lea esi,[2400959708+edx*1+esi] + mov edx,-1 + add esi,eax + mov eax,ebx + rol esi,12 + add esi,ecx + ; 50 + sub edx,ebx + and eax,esi + and edx,edi + or edx,eax + mov eax,DWORD [44+esp] + rol edi,10 + lea ecx,[2400959708+edx*1+ecx] + mov edx,-1 + add ecx,eax + mov eax,edi + rol ecx,14 + add ecx,ebp + ; 51 + sub edx,edi + and eax,ecx + and edx,esi + or edx,eax + mov eax,DWORD [40+esp] + rol esi,10 + lea ebp,[2400959708+edx*1+ebp] + mov edx,-1 + add ebp,eax + mov eax,esi + rol ebp,15 + add ebp,ebx + ; 52 + sub edx,esi + and eax,ebp + and edx,ecx + or edx,eax + mov eax,DWORD [esp] + rol ecx,10 + lea ebx,[2400959708+edx*1+ebx] + mov edx,-1 + add ebx,eax + mov eax,ecx + rol ebx,14 + add ebx,edi + ; 53 + sub edx,ecx + and eax,ebx + and edx,ebp + or edx,eax + mov eax,DWORD [32+esp] + rol ebp,10 + lea edi,[2400959708+edx*1+edi] + mov edx,-1 + add edi,eax + mov eax,ebp + rol edi,15 + add edi,esi + ; 54 + sub edx,ebp + and eax,edi + and edx,ebx + or edx,eax + mov eax,DWORD [48+esp] + rol ebx,10 + lea esi,[2400959708+edx*1+esi] + mov edx,-1 + add esi,eax + mov eax,ebx + rol esi,9 + add esi,ecx + ; 55 + sub edx,ebx + and eax,esi + and edx,edi + or edx,eax + mov eax,DWORD [16+esp] + rol edi,10 + lea ecx,[2400959708+edx*1+ecx] + mov edx,-1 + add ecx,eax + mov eax,edi + rol ecx,8 + add ecx,ebp + ; 56 + sub edx,edi + and eax,ecx + and edx,esi + or edx,eax + mov eax,DWORD [52+esp] + rol esi,10 + lea ebp,[2400959708+edx*1+ebp] + mov edx,-1 + add ebp,eax + mov eax,esi + rol ebp,9 + add ebp,ebx + ; 57 + sub edx,esi + and eax,ebp + and edx,ecx + or edx,eax + mov eax,DWORD [12+esp] + rol ecx,10 + lea ebx,[2400959708+edx*1+ebx] + mov edx,-1 + add ebx,eax + mov eax,ecx + rol ebx,14 + add ebx,edi + ; 58 + sub edx,ecx + and eax,ebx + and edx,ebp + or edx,eax + mov eax,DWORD [28+esp] + rol ebp,10 + lea edi,[2400959708+edx*1+edi] + mov edx,-1 + add edi,eax + mov eax,ebp + rol edi,5 + add edi,esi + ; 59 + sub edx,ebp + and eax,edi + and edx,ebx + or edx,eax + mov eax,DWORD [60+esp] + rol ebx,10 + lea esi,[2400959708+edx*1+esi] + mov edx,-1 + add esi,eax + mov eax,ebx + rol esi,6 + add esi,ecx + ; 60 + sub edx,ebx + and eax,esi + and edx,edi + or edx,eax + mov eax,DWORD [56+esp] + rol edi,10 + lea ecx,[2400959708+edx*1+ecx] + mov edx,-1 + add ecx,eax + mov eax,edi + rol ecx,8 + add ecx,ebp + ; 61 + sub edx,edi + and eax,ecx + and edx,esi + or edx,eax + mov eax,DWORD [20+esp] + rol esi,10 + lea ebp,[2400959708+edx*1+ebp] + mov edx,-1 + add ebp,eax + mov eax,esi + rol ebp,6 + add ebp,ebx + ; 62 + sub edx,esi + and eax,ebp + and edx,ecx + or edx,eax + mov eax,DWORD [24+esp] + rol ecx,10 + lea ebx,[2400959708+edx*1+ebx] + mov edx,-1 + add ebx,eax + mov eax,ecx + rol ebx,5 + add ebx,edi + ; 63 + sub edx,ecx + and eax,ebx + and edx,ebp + or edx,eax + mov eax,DWORD [8+esp] + rol ebp,10 + lea edi,[2400959708+edx*1+edi] + mov edx,-1 + add edi,eax + sub edx,ebp + rol edi,12 + add edi,esi + ; 64 + mov eax,DWORD [16+esp] + or edx,ebx + add esi,eax + xor edx,edi + mov eax,-1 + rol ebx,10 + lea esi,[2840853838+edx*1+esi] + sub eax,ebx + rol esi,9 + add esi,ecx + ; 65 + mov edx,DWORD [esp] + or eax,edi + add ecx,edx + xor eax,esi + mov edx,-1 + rol edi,10 + lea ecx,[2840853838+eax*1+ecx] + sub edx,edi + rol ecx,15 + add ecx,ebp + ; 66 + mov eax,DWORD [20+esp] + or edx,esi + add ebp,eax + xor edx,ecx + mov eax,-1 + rol esi,10 + lea ebp,[2840853838+edx*1+ebp] + sub eax,esi + rol ebp,5 + add ebp,ebx + ; 67 + mov edx,DWORD [36+esp] + or eax,ecx + add ebx,edx + xor eax,ebp + mov edx,-1 + rol ecx,10 + lea ebx,[2840853838+eax*1+ebx] + sub edx,ecx + rol ebx,11 + add ebx,edi + ; 68 + mov eax,DWORD [28+esp] + or edx,ebp + add edi,eax + xor edx,ebx + mov eax,-1 + rol ebp,10 + lea edi,[2840853838+edx*1+edi] + sub eax,ebp + rol edi,6 + add edi,esi + ; 69 + mov edx,DWORD [48+esp] + or eax,ebx + add esi,edx + xor eax,edi + mov edx,-1 + rol ebx,10 + lea esi,[2840853838+eax*1+esi] + sub edx,ebx + rol esi,8 + add esi,ecx + ; 70 + mov eax,DWORD [8+esp] + or edx,edi + add ecx,eax + xor edx,esi + mov eax,-1 + rol edi,10 + lea ecx,[2840853838+edx*1+ecx] + sub eax,edi + rol ecx,13 + add ecx,ebp + ; 71 + mov edx,DWORD [40+esp] + or eax,esi + add ebp,edx + xor eax,ecx + mov edx,-1 + rol esi,10 + lea ebp,[2840853838+eax*1+ebp] + sub edx,esi + rol ebp,12 + add ebp,ebx + ; 72 + mov eax,DWORD [56+esp] + or edx,ecx + add ebx,eax + xor edx,ebp + mov eax,-1 + rol ecx,10 + lea ebx,[2840853838+edx*1+ebx] + sub eax,ecx + rol ebx,5 + add ebx,edi + ; 73 + mov edx,DWORD [4+esp] + or eax,ebp + add edi,edx + xor eax,ebx + mov edx,-1 + rol ebp,10 + lea edi,[2840853838+eax*1+edi] + sub edx,ebp + rol edi,12 + add edi,esi + ; 74 + mov eax,DWORD [12+esp] + or edx,ebx + add esi,eax + xor edx,edi + mov eax,-1 + rol ebx,10 + lea esi,[2840853838+edx*1+esi] + sub eax,ebx + rol esi,13 + add esi,ecx + ; 75 + mov edx,DWORD [32+esp] + or eax,edi + add ecx,edx + xor eax,esi + mov edx,-1 + rol edi,10 + lea ecx,[2840853838+eax*1+ecx] + sub edx,edi + rol ecx,14 + add ecx,ebp + ; 76 + mov eax,DWORD [44+esp] + or edx,esi + add ebp,eax + xor edx,ecx + mov eax,-1 + rol esi,10 + lea ebp,[2840853838+edx*1+ebp] + sub eax,esi + rol ebp,11 + add ebp,ebx + ; 77 + mov edx,DWORD [24+esp] + or eax,ecx + add ebx,edx + xor eax,ebp + mov edx,-1 + rol ecx,10 + lea ebx,[2840853838+eax*1+ebx] + sub edx,ecx + rol ebx,8 + add ebx,edi + ; 78 + mov eax,DWORD [60+esp] + or edx,ebp + add edi,eax + xor edx,ebx + mov eax,-1 + rol ebp,10 + lea edi,[2840853838+edx*1+edi] + sub eax,ebp + rol edi,5 + add edi,esi + ; 79 + mov edx,DWORD [52+esp] + or eax,ebx + add esi,edx + xor eax,edi + mov edx,DWORD [128+esp] + rol ebx,10 + lea esi,[2840853838+eax*1+esi] + mov DWORD [64+esp],ecx + rol esi,6 + add esi,ecx + mov ecx,DWORD [edx] + mov DWORD [68+esp],esi + mov DWORD [72+esp],edi + mov esi,DWORD [4+edx] + mov DWORD [76+esp],ebx + mov edi,DWORD [8+edx] + mov DWORD [80+esp],ebp + mov ebx,DWORD [12+edx] + mov ebp,DWORD [16+edx] + ; 80 + mov edx,-1 + sub edx,ebx + mov eax,DWORD [20+esp] + or edx,edi + add ecx,eax + xor edx,esi + mov eax,-1 + rol edi,10 + lea ecx,[1352829926+edx*1+ecx] + sub eax,edi + rol ecx,8 + add ecx,ebp + ; 81 + mov edx,DWORD [56+esp] + or eax,esi + add ebp,edx + xor eax,ecx + mov edx,-1 + rol esi,10 + lea ebp,[1352829926+eax*1+ebp] + sub edx,esi + rol ebp,9 + add ebp,ebx + ; 82 + mov eax,DWORD [28+esp] + or edx,ecx + add ebx,eax + xor edx,ebp + mov eax,-1 + rol ecx,10 + lea ebx,[1352829926+edx*1+ebx] + sub eax,ecx + rol ebx,9 + add ebx,edi + ; 83 + mov edx,DWORD [esp] + or eax,ebp + add edi,edx + xor eax,ebx + mov edx,-1 + rol ebp,10 + lea edi,[1352829926+eax*1+edi] + sub edx,ebp + rol edi,11 + add edi,esi + ; 84 + mov eax,DWORD [36+esp] + or edx,ebx + add esi,eax + xor edx,edi + mov eax,-1 + rol ebx,10 + lea esi,[1352829926+edx*1+esi] + sub eax,ebx + rol esi,13 + add esi,ecx + ; 85 + mov edx,DWORD [8+esp] + or eax,edi + add ecx,edx + xor eax,esi + mov edx,-1 + rol edi,10 + lea ecx,[1352829926+eax*1+ecx] + sub edx,edi + rol ecx,15 + add ecx,ebp + ; 86 + mov eax,DWORD [44+esp] + or edx,esi + add ebp,eax + xor edx,ecx + mov eax,-1 + rol esi,10 + lea ebp,[1352829926+edx*1+ebp] + sub eax,esi + rol ebp,15 + add ebp,ebx + ; 87 + mov edx,DWORD [16+esp] + or eax,ecx + add ebx,edx + xor eax,ebp + mov edx,-1 + rol ecx,10 + lea ebx,[1352829926+eax*1+ebx] + sub edx,ecx + rol ebx,5 + add ebx,edi + ; 88 + mov eax,DWORD [52+esp] + or edx,ebp + add edi,eax + xor edx,ebx + mov eax,-1 + rol ebp,10 + lea edi,[1352829926+edx*1+edi] + sub eax,ebp + rol edi,7 + add edi,esi + ; 89 + mov edx,DWORD [24+esp] + or eax,ebx + add esi,edx + xor eax,edi + mov edx,-1 + rol ebx,10 + lea esi,[1352829926+eax*1+esi] + sub edx,ebx + rol esi,7 + add esi,ecx + ; 90 + mov eax,DWORD [60+esp] + or edx,edi + add ecx,eax + xor edx,esi + mov eax,-1 + rol edi,10 + lea ecx,[1352829926+edx*1+ecx] + sub eax,edi + rol ecx,8 + add ecx,ebp + ; 91 + mov edx,DWORD [32+esp] + or eax,esi + add ebp,edx + xor eax,ecx + mov edx,-1 + rol esi,10 + lea ebp,[1352829926+eax*1+ebp] + sub edx,esi + rol ebp,11 + add ebp,ebx + ; 92 + mov eax,DWORD [4+esp] + or edx,ecx + add ebx,eax + xor edx,ebp + mov eax,-1 + rol ecx,10 + lea ebx,[1352829926+edx*1+ebx] + sub eax,ecx + rol ebx,14 + add ebx,edi + ; 93 + mov edx,DWORD [40+esp] + or eax,ebp + add edi,edx + xor eax,ebx + mov edx,-1 + rol ebp,10 + lea edi,[1352829926+eax*1+edi] + sub edx,ebp + rol edi,14 + add edi,esi + ; 94 + mov eax,DWORD [12+esp] + or edx,ebx + add esi,eax + xor edx,edi + mov eax,-1 + rol ebx,10 + lea esi,[1352829926+edx*1+esi] + sub eax,ebx + rol esi,12 + add esi,ecx + ; 95 + mov edx,DWORD [48+esp] + or eax,edi + add ecx,edx + xor eax,esi + mov edx,-1 + rol edi,10 + lea ecx,[1352829926+eax*1+ecx] + mov eax,edi + rol ecx,6 + add ecx,ebp + ; 96 + sub edx,edi + and eax,ecx + and edx,esi + or edx,eax + mov eax,DWORD [24+esp] + rol esi,10 + lea ebp,[1548603684+edx*1+ebp] + mov edx,-1 + add ebp,eax + mov eax,esi + rol ebp,9 + add ebp,ebx + ; 97 + sub edx,esi + and eax,ebp + and edx,ecx + or edx,eax + mov eax,DWORD [44+esp] + rol ecx,10 + lea ebx,[1548603684+edx*1+ebx] + mov edx,-1 + add ebx,eax + mov eax,ecx + rol ebx,13 + add ebx,edi + ; 98 + sub edx,ecx + and eax,ebx + and edx,ebp + or edx,eax + mov eax,DWORD [12+esp] + rol ebp,10 + lea edi,[1548603684+edx*1+edi] + mov edx,-1 + add edi,eax + mov eax,ebp + rol edi,15 + add edi,esi + ; 99 + sub edx,ebp + and eax,edi + and edx,ebx + or edx,eax + mov eax,DWORD [28+esp] + rol ebx,10 + lea esi,[1548603684+edx*1+esi] + mov edx,-1 + add esi,eax + mov eax,ebx + rol esi,7 + add esi,ecx + ; 100 + sub edx,ebx + and eax,esi + and edx,edi + or edx,eax + mov eax,DWORD [esp] + rol edi,10 + lea ecx,[1548603684+edx*1+ecx] + mov edx,-1 + add ecx,eax + mov eax,edi + rol ecx,12 + add ecx,ebp + ; 101 + sub edx,edi + and eax,ecx + and edx,esi + or edx,eax + mov eax,DWORD [52+esp] + rol esi,10 + lea ebp,[1548603684+edx*1+ebp] + mov edx,-1 + add ebp,eax + mov eax,esi + rol ebp,8 + add ebp,ebx + ; 102 + sub edx,esi + and eax,ebp + and edx,ecx + or edx,eax + mov eax,DWORD [20+esp] + rol ecx,10 + lea ebx,[1548603684+edx*1+ebx] + mov edx,-1 + add ebx,eax + mov eax,ecx + rol ebx,9 + add ebx,edi + ; 103 + sub edx,ecx + and eax,ebx + and edx,ebp + or edx,eax + mov eax,DWORD [40+esp] + rol ebp,10 + lea edi,[1548603684+edx*1+edi] + mov edx,-1 + add edi,eax + mov eax,ebp + rol edi,11 + add edi,esi + ; 104 + sub edx,ebp + and eax,edi + and edx,ebx + or edx,eax + mov eax,DWORD [56+esp] + rol ebx,10 + lea esi,[1548603684+edx*1+esi] + mov edx,-1 + add esi,eax + mov eax,ebx + rol esi,7 + add esi,ecx + ; 105 + sub edx,ebx + and eax,esi + and edx,edi + or edx,eax + mov eax,DWORD [60+esp] + rol edi,10 + lea ecx,[1548603684+edx*1+ecx] + mov edx,-1 + add ecx,eax + mov eax,edi + rol ecx,7 + add ecx,ebp + ; 106 + sub edx,edi + and eax,ecx + and edx,esi + or edx,eax + mov eax,DWORD [32+esp] + rol esi,10 + lea ebp,[1548603684+edx*1+ebp] + mov edx,-1 + add ebp,eax + mov eax,esi + rol ebp,12 + add ebp,ebx + ; 107 + sub edx,esi + and eax,ebp + and edx,ecx + or edx,eax + mov eax,DWORD [48+esp] + rol ecx,10 + lea ebx,[1548603684+edx*1+ebx] + mov edx,-1 + add ebx,eax + mov eax,ecx + rol ebx,7 + add ebx,edi + ; 108 + sub edx,ecx + and eax,ebx + and edx,ebp + or edx,eax + mov eax,DWORD [16+esp] + rol ebp,10 + lea edi,[1548603684+edx*1+edi] + mov edx,-1 + add edi,eax + mov eax,ebp + rol edi,6 + add edi,esi + ; 109 + sub edx,ebp + and eax,edi + and edx,ebx + or edx,eax + mov eax,DWORD [36+esp] + rol ebx,10 + lea esi,[1548603684+edx*1+esi] + mov edx,-1 + add esi,eax + mov eax,ebx + rol esi,15 + add esi,ecx + ; 110 + sub edx,ebx + and eax,esi + and edx,edi + or edx,eax + mov eax,DWORD [4+esp] + rol edi,10 + lea ecx,[1548603684+edx*1+ecx] + mov edx,-1 + add ecx,eax + mov eax,edi + rol ecx,13 + add ecx,ebp + ; 111 + sub edx,edi + and eax,ecx + and edx,esi + or edx,eax + mov eax,DWORD [8+esp] + rol esi,10 + lea ebp,[1548603684+edx*1+ebp] + mov edx,-1 + add ebp,eax + sub edx,ecx + rol ebp,11 + add ebp,ebx + ; 112 + mov eax,DWORD [60+esp] + or edx,ebp + add ebx,eax + xor edx,esi + mov eax,-1 + rol ecx,10 + lea ebx,[1836072691+edx*1+ebx] + sub eax,ebp + rol ebx,9 + add ebx,edi + ; 113 + mov edx,DWORD [20+esp] + or eax,ebx + add edi,edx + xor eax,ecx + mov edx,-1 + rol ebp,10 + lea edi,[1836072691+eax*1+edi] + sub edx,ebx + rol edi,7 + add edi,esi + ; 114 + mov eax,DWORD [4+esp] + or edx,edi + add esi,eax + xor edx,ebp + mov eax,-1 + rol ebx,10 + lea esi,[1836072691+edx*1+esi] + sub eax,edi + rol esi,15 + add esi,ecx + ; 115 + mov edx,DWORD [12+esp] + or eax,esi + add ecx,edx + xor eax,ebx + mov edx,-1 + rol edi,10 + lea ecx,[1836072691+eax*1+ecx] + sub edx,esi + rol ecx,11 + add ecx,ebp + ; 116 + mov eax,DWORD [28+esp] + or edx,ecx + add ebp,eax + xor edx,edi + mov eax,-1 + rol esi,10 + lea ebp,[1836072691+edx*1+ebp] + sub eax,ecx + rol ebp,8 + add ebp,ebx + ; 117 + mov edx,DWORD [56+esp] + or eax,ebp + add ebx,edx + xor eax,esi + mov edx,-1 + rol ecx,10 + lea ebx,[1836072691+eax*1+ebx] + sub edx,ebp + rol ebx,6 + add ebx,edi + ; 118 + mov eax,DWORD [24+esp] + or edx,ebx + add edi,eax + xor edx,ecx + mov eax,-1 + rol ebp,10 + lea edi,[1836072691+edx*1+edi] + sub eax,ebx + rol edi,6 + add edi,esi + ; 119 + mov edx,DWORD [36+esp] + or eax,edi + add esi,edx + xor eax,ebp + mov edx,-1 + rol ebx,10 + lea esi,[1836072691+eax*1+esi] + sub edx,edi + rol esi,14 + add esi,ecx + ; 120 + mov eax,DWORD [44+esp] + or edx,esi + add ecx,eax + xor edx,ebx + mov eax,-1 + rol edi,10 + lea ecx,[1836072691+edx*1+ecx] + sub eax,esi + rol ecx,12 + add ecx,ebp + ; 121 + mov edx,DWORD [32+esp] + or eax,ecx + add ebp,edx + xor eax,edi + mov edx,-1 + rol esi,10 + lea ebp,[1836072691+eax*1+ebp] + sub edx,ecx + rol ebp,13 + add ebp,ebx + ; 122 + mov eax,DWORD [48+esp] + or edx,ebp + add ebx,eax + xor edx,esi + mov eax,-1 + rol ecx,10 + lea ebx,[1836072691+edx*1+ebx] + sub eax,ebp + rol ebx,5 + add ebx,edi + ; 123 + mov edx,DWORD [8+esp] + or eax,ebx + add edi,edx + xor eax,ecx + mov edx,-1 + rol ebp,10 + lea edi,[1836072691+eax*1+edi] + sub edx,ebx + rol edi,14 + add edi,esi + ; 124 + mov eax,DWORD [40+esp] + or edx,edi + add esi,eax + xor edx,ebp + mov eax,-1 + rol ebx,10 + lea esi,[1836072691+edx*1+esi] + sub eax,edi + rol esi,13 + add esi,ecx + ; 125 + mov edx,DWORD [esp] + or eax,esi + add ecx,edx + xor eax,ebx + mov edx,-1 + rol edi,10 + lea ecx,[1836072691+eax*1+ecx] + sub edx,esi + rol ecx,13 + add ecx,ebp + ; 126 + mov eax,DWORD [16+esp] + or edx,ecx + add ebp,eax + xor edx,edi + mov eax,-1 + rol esi,10 + lea ebp,[1836072691+edx*1+ebp] + sub eax,ecx + rol ebp,7 + add ebp,ebx + ; 127 + mov edx,DWORD [52+esp] + or eax,ebp + add ebx,edx + xor eax,esi + mov edx,DWORD [32+esp] + rol ecx,10 + lea ebx,[1836072691+eax*1+ebx] + mov eax,-1 + rol ebx,5 + add ebx,edi + ; 128 + add edi,edx + mov edx,ebp + sub eax,ebx + and edx,ebx + and eax,ecx + or edx,eax + mov eax,DWORD [24+esp] + rol ebp,10 + lea edi,[2053994217+edx*1+edi] + mov edx,-1 + rol edi,15 + add edi,esi + ; 129 + add esi,eax + mov eax,ebx + sub edx,edi + and eax,edi + and edx,ebp + or eax,edx + mov edx,DWORD [16+esp] + rol ebx,10 + lea esi,[2053994217+eax*1+esi] + mov eax,-1 + rol esi,5 + add esi,ecx + ; 130 + add ecx,edx + mov edx,edi + sub eax,esi + and edx,esi + and eax,ebx + or edx,eax + mov eax,DWORD [4+esp] + rol edi,10 + lea ecx,[2053994217+edx*1+ecx] + mov edx,-1 + rol ecx,8 + add ecx,ebp + ; 131 + add ebp,eax + mov eax,esi + sub edx,ecx + and eax,ecx + and edx,edi + or eax,edx + mov edx,DWORD [12+esp] + rol esi,10 + lea ebp,[2053994217+eax*1+ebp] + mov eax,-1 + rol ebp,11 + add ebp,ebx + ; 132 + add ebx,edx + mov edx,ecx + sub eax,ebp + and edx,ebp + and eax,esi + or edx,eax + mov eax,DWORD [44+esp] + rol ecx,10 + lea ebx,[2053994217+edx*1+ebx] + mov edx,-1 + rol ebx,14 + add ebx,edi + ; 133 + add edi,eax + mov eax,ebp + sub edx,ebx + and eax,ebx + and edx,ecx + or eax,edx + mov edx,DWORD [60+esp] + rol ebp,10 + lea edi,[2053994217+eax*1+edi] + mov eax,-1 + rol edi,14 + add edi,esi + ; 134 + add esi,edx + mov edx,ebx + sub eax,edi + and edx,edi + and eax,ebp + or edx,eax + mov eax,DWORD [esp] + rol ebx,10 + lea esi,[2053994217+edx*1+esi] + mov edx,-1 + rol esi,6 + add esi,ecx + ; 135 + add ecx,eax + mov eax,edi + sub edx,esi + and eax,esi + and edx,ebx + or eax,edx + mov edx,DWORD [20+esp] + rol edi,10 + lea ecx,[2053994217+eax*1+ecx] + mov eax,-1 + rol ecx,14 + add ecx,ebp + ; 136 + add ebp,edx + mov edx,esi + sub eax,ecx + and edx,ecx + and eax,edi + or edx,eax + mov eax,DWORD [48+esp] + rol esi,10 + lea ebp,[2053994217+edx*1+ebp] + mov edx,-1 + rol ebp,6 + add ebp,ebx + ; 137 + add ebx,eax + mov eax,ecx + sub edx,ebp + and eax,ebp + and edx,esi + or eax,edx + mov edx,DWORD [8+esp] + rol ecx,10 + lea ebx,[2053994217+eax*1+ebx] + mov eax,-1 + rol ebx,9 + add ebx,edi + ; 138 + add edi,edx + mov edx,ebp + sub eax,ebx + and edx,ebx + and eax,ecx + or edx,eax + mov eax,DWORD [52+esp] + rol ebp,10 + lea edi,[2053994217+edx*1+edi] + mov edx,-1 + rol edi,12 + add edi,esi + ; 139 + add esi,eax + mov eax,ebx + sub edx,edi + and eax,edi + and edx,ebp + or eax,edx + mov edx,DWORD [36+esp] + rol ebx,10 + lea esi,[2053994217+eax*1+esi] + mov eax,-1 + rol esi,9 + add esi,ecx + ; 140 + add ecx,edx + mov edx,edi + sub eax,esi + and edx,esi + and eax,ebx + or edx,eax + mov eax,DWORD [28+esp] + rol edi,10 + lea ecx,[2053994217+edx*1+ecx] + mov edx,-1 + rol ecx,12 + add ecx,ebp + ; 141 + add ebp,eax + mov eax,esi + sub edx,ecx + and eax,ecx + and edx,edi + or eax,edx + mov edx,DWORD [40+esp] + rol esi,10 + lea ebp,[2053994217+eax*1+ebp] + mov eax,-1 + rol ebp,5 + add ebp,ebx + ; 142 + add ebx,edx + mov edx,ecx + sub eax,ebp + and edx,ebp + and eax,esi + or edx,eax + mov eax,DWORD [56+esp] + rol ecx,10 + lea ebx,[2053994217+edx*1+ebx] + mov edx,-1 + rol ebx,15 + add ebx,edi + ; 143 + add edi,eax + mov eax,ebp + sub edx,ebx + and eax,ebx + and edx,ecx + or edx,eax + mov eax,ebx + rol ebp,10 + lea edi,[2053994217+edx*1+edi] + xor eax,ebp + rol edi,8 + add edi,esi + ; 144 + mov edx,DWORD [48+esp] + xor eax,edi + add esi,edx + rol ebx,10 + add esi,eax + mov eax,edi + rol esi,8 + add esi,ecx + ; 145 + xor eax,ebx + mov edx,DWORD [60+esp] + xor eax,esi + add ecx,eax + mov eax,esi + rol edi,10 + add ecx,edx + xor eax,edi + rol ecx,5 + add ecx,ebp + ; 146 + mov edx,DWORD [40+esp] + xor eax,ecx + add ebp,edx + rol esi,10 + add ebp,eax + mov eax,ecx + rol ebp,12 + add ebp,ebx + ; 147 + xor eax,esi + mov edx,DWORD [16+esp] + xor eax,ebp + add ebx,eax + mov eax,ebp + rol ecx,10 + add ebx,edx + xor eax,ecx + rol ebx,9 + add ebx,edi + ; 148 + mov edx,DWORD [4+esp] + xor eax,ebx + add edi,edx + rol ebp,10 + add edi,eax + mov eax,ebx + rol edi,12 + add edi,esi + ; 149 + xor eax,ebp + mov edx,DWORD [20+esp] + xor eax,edi + add esi,eax + mov eax,edi + rol ebx,10 + add esi,edx + xor eax,ebx + rol esi,5 + add esi,ecx + ; 150 + mov edx,DWORD [32+esp] + xor eax,esi + add ecx,edx + rol edi,10 + add ecx,eax + mov eax,esi + rol ecx,14 + add ecx,ebp + ; 151 + xor eax,edi + mov edx,DWORD [28+esp] + xor eax,ecx + add ebp,eax + mov eax,ecx + rol esi,10 + add ebp,edx + xor eax,esi + rol ebp,6 + add ebp,ebx + ; 152 + mov edx,DWORD [24+esp] + xor eax,ebp + add ebx,edx + rol ecx,10 + add ebx,eax + mov eax,ebp + rol ebx,8 + add ebx,edi + ; 153 + xor eax,ecx + mov edx,DWORD [8+esp] + xor eax,ebx + add edi,eax + mov eax,ebx + rol ebp,10 + add edi,edx + xor eax,ebp + rol edi,13 + add edi,esi + ; 154 + mov edx,DWORD [52+esp] + xor eax,edi + add esi,edx + rol ebx,10 + add esi,eax + mov eax,edi + rol esi,6 + add esi,ecx + ; 155 + xor eax,ebx + mov edx,DWORD [56+esp] + xor eax,esi + add ecx,eax + mov eax,esi + rol edi,10 + add ecx,edx + xor eax,edi + rol ecx,5 + add ecx,ebp + ; 156 + mov edx,DWORD [esp] + xor eax,ecx + add ebp,edx + rol esi,10 + add ebp,eax + mov eax,ecx + rol ebp,15 + add ebp,ebx + ; 157 + xor eax,esi + mov edx,DWORD [12+esp] + xor eax,ebp + add ebx,eax + mov eax,ebp + rol ecx,10 + add ebx,edx + xor eax,ecx + rol ebx,13 + add ebx,edi + ; 158 + mov edx,DWORD [36+esp] + xor eax,ebx + add edi,edx + rol ebp,10 + add edi,eax + mov eax,ebx + rol edi,11 + add edi,esi + ; 159 + xor eax,ebp + mov edx,DWORD [44+esp] + xor eax,edi + add esi,eax + rol ebx,10 + add esi,edx + mov edx,DWORD [128+esp] + rol esi,11 + add esi,ecx + mov eax,DWORD [4+edx] + add ebx,eax + mov eax,DWORD [72+esp] + add ebx,eax + mov eax,DWORD [8+edx] + add ebp,eax + mov eax,DWORD [76+esp] + add ebp,eax + mov eax,DWORD [12+edx] + add ecx,eax + mov eax,DWORD [80+esp] + add ecx,eax + mov eax,DWORD [16+edx] + add esi,eax + mov eax,DWORD [64+esp] + add esi,eax + mov eax,DWORD [edx] + add edi,eax + mov eax,DWORD [68+esp] + add edi,eax + mov eax,DWORD [136+esp] + mov DWORD [edx],ebx + mov DWORD [4+edx],ebp + mov DWORD [8+edx],ecx + sub eax,1 + mov DWORD [12+edx],esi + mov DWORD [16+edx],edi + jle NEAR L$001get_out + mov DWORD [136+esp],eax + mov edi,ecx + mov eax,DWORD [132+esp] + mov ecx,ebx + add eax,64 + mov esi,ebp + mov DWORD [132+esp],eax + jmp NEAR L$000start +L$001get_out: + add esp,108 + pop ebx + pop ebp + pop edi + pop esi + ret diff --git a/tmp32/sha1-586.asm b/tmp32/sha1-586.asm index 1112de39..db3ad08a 100644 --- a/tmp32/sha1-586.asm +++ b/tmp32/sha1-586.asm @@ -1,3970 +1,3970 @@ -%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 _sha1_block_data_order -align 16 -_sha1_block_data_order: -L$_sha1_block_data_order_begin: - push ebp - push ebx - push esi - push edi - call L$000pic_point -L$000pic_point: - pop ebp - lea esi,[_OPENSSL_ia32cap_P] - lea ebp,[(L$K_XX_XX-L$000pic_point)+ebp] - mov eax,DWORD [esi] - mov edx,DWORD [4+esi] - test edx,512 - jz NEAR L$001x86 - mov ecx,DWORD [8+esi] - test eax,16777216 - jz NEAR L$001x86 - test ecx,536870912 - jnz NEAR L$shaext_shortcut - and edx,268435456 - and eax,1073741824 - or eax,edx - cmp eax,1342177280 - je NEAR L$avx_shortcut - jmp NEAR L$ssse3_shortcut -align 16 -L$001x86: - 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$002loop -align 16 -L$002loop: - 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$002loop - add esp,76 - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__sha1_block_data_order_shaext: - push ebp - push ebx - push esi - push edi - call L$003pic_point -L$003pic_point: - pop ebp - lea ebp,[(L$K_XX_XX-L$003pic_point)+ebp] -L$shaext_shortcut: - mov edi,DWORD [20+esp] - mov ebx,esp - mov esi,DWORD [24+esp] - mov ecx,DWORD [28+esp] - sub esp,32 - movdqu xmm0,[edi] - movd xmm1,DWORD [16+edi] - and esp,-32 - movdqa xmm3,[80+ebp] - movdqu xmm4,[esi] - pshufd xmm0,xmm0,27 - movdqu xmm5,[16+esi] - pshufd xmm1,xmm1,27 - movdqu xmm6,[32+esi] -db 102,15,56,0,227 - movdqu xmm7,[48+esi] -db 102,15,56,0,235 -db 102,15,56,0,243 -db 102,15,56,0,251 - jmp NEAR L$004loop_shaext -align 16 -L$004loop_shaext: - dec ecx - lea eax,[64+esi] - movdqa [esp],xmm1 - paddd xmm1,xmm4 - cmovne esi,eax - movdqa [16+esp],xmm0 -db 15,56,201,229 - movdqa xmm2,xmm0 -db 15,58,204,193,0 -db 15,56,200,213 - pxor xmm4,xmm6 -db 15,56,201,238 -db 15,56,202,231 - movdqa xmm1,xmm0 -db 15,58,204,194,0 -db 15,56,200,206 - pxor xmm5,xmm7 -db 15,56,202,236 -db 15,56,201,247 - movdqa xmm2,xmm0 -db 15,58,204,193,0 -db 15,56,200,215 - pxor xmm6,xmm4 -db 15,56,201,252 -db 15,56,202,245 - movdqa xmm1,xmm0 -db 15,58,204,194,0 -db 15,56,200,204 - pxor xmm7,xmm5 -db 15,56,202,254 -db 15,56,201,229 - movdqa xmm2,xmm0 -db 15,58,204,193,0 -db 15,56,200,213 - pxor xmm4,xmm6 -db 15,56,201,238 -db 15,56,202,231 - movdqa xmm1,xmm0 -db 15,58,204,194,1 -db 15,56,200,206 - pxor xmm5,xmm7 -db 15,56,202,236 -db 15,56,201,247 - movdqa xmm2,xmm0 -db 15,58,204,193,1 -db 15,56,200,215 - pxor xmm6,xmm4 -db 15,56,201,252 -db 15,56,202,245 - movdqa xmm1,xmm0 -db 15,58,204,194,1 -db 15,56,200,204 - pxor xmm7,xmm5 -db 15,56,202,254 -db 15,56,201,229 - movdqa xmm2,xmm0 -db 15,58,204,193,1 -db 15,56,200,213 - pxor xmm4,xmm6 -db 15,56,201,238 -db 15,56,202,231 - movdqa xmm1,xmm0 -db 15,58,204,194,1 -db 15,56,200,206 - pxor xmm5,xmm7 -db 15,56,202,236 -db 15,56,201,247 - movdqa xmm2,xmm0 -db 15,58,204,193,2 -db 15,56,200,215 - pxor xmm6,xmm4 -db 15,56,201,252 -db 15,56,202,245 - movdqa xmm1,xmm0 -db 15,58,204,194,2 -db 15,56,200,204 - pxor xmm7,xmm5 -db 15,56,202,254 -db 15,56,201,229 - movdqa xmm2,xmm0 -db 15,58,204,193,2 -db 15,56,200,213 - pxor xmm4,xmm6 -db 15,56,201,238 -db 15,56,202,231 - movdqa xmm1,xmm0 -db 15,58,204,194,2 -db 15,56,200,206 - pxor xmm5,xmm7 -db 15,56,202,236 -db 15,56,201,247 - movdqa xmm2,xmm0 -db 15,58,204,193,2 -db 15,56,200,215 - pxor xmm6,xmm4 -db 15,56,201,252 -db 15,56,202,245 - movdqa xmm1,xmm0 -db 15,58,204,194,3 -db 15,56,200,204 - pxor xmm7,xmm5 -db 15,56,202,254 - movdqu xmm4,[esi] - movdqa xmm2,xmm0 -db 15,58,204,193,3 -db 15,56,200,213 - movdqu xmm5,[16+esi] -db 102,15,56,0,227 - movdqa xmm1,xmm0 -db 15,58,204,194,3 -db 15,56,200,206 - movdqu xmm6,[32+esi] -db 102,15,56,0,235 - movdqa xmm2,xmm0 -db 15,58,204,193,3 -db 15,56,200,215 - movdqu xmm7,[48+esi] -db 102,15,56,0,243 - movdqa xmm1,xmm0 -db 15,58,204,194,3 - movdqa xmm2,[esp] -db 102,15,56,0,251 -db 15,56,200,202 - paddd xmm0,[16+esp] - jnz NEAR L$004loop_shaext - pshufd xmm0,xmm0,27 - pshufd xmm1,xmm1,27 - movdqu [edi],xmm0 - movd DWORD [16+edi],xmm1 - mov esp,ebx - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__sha1_block_data_order_ssse3: - push ebp - push ebx - push esi - push edi - call L$005pic_point -L$005pic_point: - pop ebp - lea ebp,[(L$K_XX_XX-L$005pic_point)+ebp] -L$ssse3_shortcut: - movdqa xmm7,[ebp] - movdqa xmm0,[16+ebp] - movdqa xmm1,[32+ebp] - movdqa xmm2,[48+ebp] - movdqa xmm6,[64+ebp] - mov edi,DWORD [20+esp] - mov ebp,DWORD [24+esp] - mov edx,DWORD [28+esp] - mov esi,esp - sub esp,208 - and esp,-64 - movdqa [112+esp],xmm0 - movdqa [128+esp],xmm1 - movdqa [144+esp],xmm2 - shl edx,6 - movdqa [160+esp],xmm7 - add edx,ebp - movdqa [176+esp],xmm6 - add ebp,64 - mov DWORD [192+esp],edi - mov DWORD [196+esp],ebp - mov DWORD [200+esp],edx - mov DWORD [204+esp],esi - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov edi,DWORD [16+edi] - mov esi,ebx - movdqu xmm0,[ebp-64] - movdqu xmm1,[ebp-48] - movdqu xmm2,[ebp-32] - movdqu xmm3,[ebp-16] -db 102,15,56,0,198 -db 102,15,56,0,206 -db 102,15,56,0,214 - movdqa [96+esp],xmm7 -db 102,15,56,0,222 - paddd xmm0,xmm7 - paddd xmm1,xmm7 - paddd xmm2,xmm7 - movdqa [esp],xmm0 - psubd xmm0,xmm7 - movdqa [16+esp],xmm1 - psubd xmm1,xmm7 - movdqa [32+esp],xmm2 - mov ebp,ecx - psubd xmm2,xmm7 - xor ebp,edx - pshufd xmm4,xmm0,238 - and esi,ebp - jmp NEAR L$006loop -align 16 -L$006loop: - ror ebx,2 - xor esi,edx - mov ebp,eax - punpcklqdq xmm4,xmm1 - movdqa xmm6,xmm3 - add edi,DWORD [esp] - xor ebx,ecx - paddd xmm7,xmm3 - movdqa [64+esp],xmm0 - rol eax,5 - add edi,esi - psrldq xmm6,4 - and ebp,ebx - xor ebx,ecx - pxor xmm4,xmm0 - add edi,eax - ror eax,7 - pxor xmm6,xmm2 - xor ebp,ecx - mov esi,edi - add edx,DWORD [4+esp] - pxor xmm4,xmm6 - xor eax,ebx - rol edi,5 - movdqa [48+esp],xmm7 - add edx,ebp - and esi,eax - movdqa xmm0,xmm4 - xor eax,ebx - add edx,edi - ror edi,7 - movdqa xmm6,xmm4 - xor esi,ebx - pslldq xmm0,12 - paddd xmm4,xmm4 - mov ebp,edx - add ecx,DWORD [8+esp] - psrld xmm6,31 - xor edi,eax - rol edx,5 - movdqa xmm7,xmm0 - add ecx,esi - and ebp,edi - xor edi,eax - psrld xmm0,30 - add ecx,edx - ror edx,7 - por xmm4,xmm6 - xor ebp,eax - mov esi,ecx - add ebx,DWORD [12+esp] - pslld xmm7,2 - xor edx,edi - rol ecx,5 - pxor xmm4,xmm0 - movdqa xmm0,[96+esp] - add ebx,ebp - and esi,edx - pxor xmm4,xmm7 - pshufd xmm5,xmm1,238 - xor edx,edi - add ebx,ecx - ror ecx,7 - xor esi,edi - mov ebp,ebx - punpcklqdq xmm5,xmm2 - movdqa xmm7,xmm4 - add eax,DWORD [16+esp] - xor ecx,edx - paddd xmm0,xmm4 - movdqa [80+esp],xmm1 - rol ebx,5 - add eax,esi - psrldq xmm7,4 - and ebp,ecx - xor ecx,edx - pxor xmm5,xmm1 - add eax,ebx - ror ebx,7 - pxor xmm7,xmm3 - xor ebp,edx - mov esi,eax - add edi,DWORD [20+esp] - pxor xmm5,xmm7 - xor ebx,ecx - rol eax,5 - movdqa [esp],xmm0 - add edi,ebp - and esi,ebx - movdqa xmm1,xmm5 - xor ebx,ecx - add edi,eax - ror eax,7 - movdqa xmm7,xmm5 - xor esi,ecx - pslldq xmm1,12 - paddd xmm5,xmm5 - mov ebp,edi - add edx,DWORD [24+esp] - psrld xmm7,31 - xor eax,ebx - rol edi,5 - movdqa xmm0,xmm1 - add edx,esi - and ebp,eax - xor eax,ebx - psrld xmm1,30 - add edx,edi - ror edi,7 - por xmm5,xmm7 - xor ebp,ebx - mov esi,edx - add ecx,DWORD [28+esp] - pslld xmm0,2 - xor edi,eax - rol edx,5 - pxor xmm5,xmm1 - movdqa xmm1,[112+esp] - add ecx,ebp - and esi,edi - pxor xmm5,xmm0 - pshufd xmm6,xmm2,238 - xor edi,eax - add ecx,edx - ror edx,7 - xor esi,eax - mov ebp,ecx - punpcklqdq xmm6,xmm3 - movdqa xmm0,xmm5 - add ebx,DWORD [32+esp] - xor edx,edi - paddd xmm1,xmm5 - movdqa [96+esp],xmm2 - rol ecx,5 - add ebx,esi - psrldq xmm0,4 - and ebp,edx - xor edx,edi - pxor xmm6,xmm2 - add ebx,ecx - ror ecx,7 - pxor xmm0,xmm4 - xor ebp,edi - mov esi,ebx - add eax,DWORD [36+esp] - pxor xmm6,xmm0 - xor ecx,edx - rol ebx,5 - movdqa [16+esp],xmm1 - add eax,ebp - and esi,ecx - movdqa xmm2,xmm6 - xor ecx,edx - add eax,ebx - ror ebx,7 - movdqa xmm0,xmm6 - xor esi,edx - pslldq xmm2,12 - paddd xmm6,xmm6 - mov ebp,eax - add edi,DWORD [40+esp] - psrld xmm0,31 - xor ebx,ecx - rol eax,5 - movdqa xmm1,xmm2 - add edi,esi - and ebp,ebx - xor ebx,ecx - psrld xmm2,30 - add edi,eax - ror eax,7 - por xmm6,xmm0 - xor ebp,ecx - movdqa xmm0,[64+esp] - mov esi,edi - add edx,DWORD [44+esp] - pslld xmm1,2 - xor eax,ebx - rol edi,5 - pxor xmm6,xmm2 - movdqa xmm2,[112+esp] - add edx,ebp - and esi,eax - pxor xmm6,xmm1 - pshufd xmm7,xmm3,238 - xor eax,ebx - add edx,edi - ror edi,7 - xor esi,ebx - mov ebp,edx - punpcklqdq xmm7,xmm4 - movdqa xmm1,xmm6 - add ecx,DWORD [48+esp] - xor edi,eax - paddd xmm2,xmm6 - movdqa [64+esp],xmm3 - rol edx,5 - add ecx,esi - psrldq xmm1,4 - and ebp,edi - xor edi,eax - pxor xmm7,xmm3 - add ecx,edx - ror edx,7 - pxor xmm1,xmm5 - xor ebp,eax - mov esi,ecx - add ebx,DWORD [52+esp] - pxor xmm7,xmm1 - xor edx,edi - rol ecx,5 - movdqa [32+esp],xmm2 - add ebx,ebp - and esi,edx - movdqa xmm3,xmm7 - xor edx,edi - add ebx,ecx - ror ecx,7 - movdqa xmm1,xmm7 - xor esi,edi - pslldq xmm3,12 - paddd xmm7,xmm7 - mov ebp,ebx - add eax,DWORD [56+esp] - psrld xmm1,31 - xor ecx,edx - rol ebx,5 - movdqa xmm2,xmm3 - add eax,esi - and ebp,ecx - xor ecx,edx - psrld xmm3,30 - add eax,ebx - ror ebx,7 - por xmm7,xmm1 - xor ebp,edx - movdqa xmm1,[80+esp] - mov esi,eax - add edi,DWORD [60+esp] - pslld xmm2,2 - xor ebx,ecx - rol eax,5 - pxor xmm7,xmm3 - movdqa xmm3,[112+esp] - add edi,ebp - and esi,ebx - pxor xmm7,xmm2 - pshufd xmm2,xmm6,238 - xor ebx,ecx - add edi,eax - ror eax,7 - pxor xmm0,xmm4 - punpcklqdq xmm2,xmm7 - xor esi,ecx - mov ebp,edi - add edx,DWORD [esp] - pxor xmm0,xmm1 - movdqa [80+esp],xmm4 - xor eax,ebx - rol edi,5 - movdqa xmm4,xmm3 - add edx,esi - paddd xmm3,xmm7 - and ebp,eax - pxor xmm0,xmm2 - xor eax,ebx - add edx,edi - ror edi,7 - xor ebp,ebx - movdqa xmm2,xmm0 - movdqa [48+esp],xmm3 - mov esi,edx - add ecx,DWORD [4+esp] - xor edi,eax - rol edx,5 - pslld xmm0,2 - add ecx,ebp - and esi,edi - psrld xmm2,30 - xor edi,eax - add ecx,edx - ror edx,7 - xor esi,eax - mov ebp,ecx - add ebx,DWORD [8+esp] - xor edx,edi - rol ecx,5 - por xmm0,xmm2 - add ebx,esi - and ebp,edx - movdqa xmm2,[96+esp] - xor edx,edi - add ebx,ecx - add eax,DWORD [12+esp] - xor ebp,edi - mov esi,ebx - pshufd xmm3,xmm7,238 - rol ebx,5 - add eax,ebp - xor esi,edx - ror ecx,7 - add eax,ebx - add edi,DWORD [16+esp] - pxor xmm1,xmm5 - punpcklqdq xmm3,xmm0 - xor esi,ecx - mov ebp,eax - rol eax,5 - pxor xmm1,xmm2 - movdqa [96+esp],xmm5 - add edi,esi - xor ebp,ecx - movdqa xmm5,xmm4 - ror ebx,7 - paddd xmm4,xmm0 - add edi,eax - pxor xmm1,xmm3 - add edx,DWORD [20+esp] - xor ebp,ebx - mov esi,edi - rol edi,5 - movdqa xmm3,xmm1 - movdqa [esp],xmm4 - add edx,ebp - xor esi,ebx - ror eax,7 - add edx,edi - pslld xmm1,2 - add ecx,DWORD [24+esp] - xor esi,eax - psrld xmm3,30 - mov ebp,edx - rol edx,5 - add ecx,esi - xor ebp,eax - ror edi,7 - add ecx,edx - por xmm1,xmm3 - add ebx,DWORD [28+esp] - xor ebp,edi - movdqa xmm3,[64+esp] - mov esi,ecx - rol ecx,5 - add ebx,ebp - xor esi,edi - ror edx,7 - pshufd xmm4,xmm0,238 - add ebx,ecx - add eax,DWORD [32+esp] - pxor xmm2,xmm6 - punpcklqdq xmm4,xmm1 - xor esi,edx - mov ebp,ebx - rol ebx,5 - pxor xmm2,xmm3 - movdqa [64+esp],xmm6 - add eax,esi - xor ebp,edx - movdqa xmm6,[128+esp] - ror ecx,7 - paddd xmm5,xmm1 - add eax,ebx - pxor xmm2,xmm4 - add edi,DWORD [36+esp] - xor ebp,ecx - mov esi,eax - rol eax,5 - movdqa xmm4,xmm2 - movdqa [16+esp],xmm5 - add edi,ebp - xor esi,ecx - ror ebx,7 - add edi,eax - pslld xmm2,2 - add edx,DWORD [40+esp] - xor esi,ebx - psrld xmm4,30 - mov ebp,edi - rol edi,5 - add edx,esi - xor ebp,ebx - ror eax,7 - add edx,edi - por xmm2,xmm4 - add ecx,DWORD [44+esp] - xor ebp,eax - movdqa xmm4,[80+esp] - mov esi,edx - rol edx,5 - add ecx,ebp - xor esi,eax - ror edi,7 - pshufd xmm5,xmm1,238 - add ecx,edx - add ebx,DWORD [48+esp] - pxor xmm3,xmm7 - punpcklqdq xmm5,xmm2 - xor esi,edi - mov ebp,ecx - rol ecx,5 - pxor xmm3,xmm4 - movdqa [80+esp],xmm7 - add ebx,esi - xor ebp,edi - movdqa xmm7,xmm6 - ror edx,7 - paddd xmm6,xmm2 - add ebx,ecx - pxor xmm3,xmm5 - add eax,DWORD [52+esp] - xor ebp,edx - mov esi,ebx - rol ebx,5 - movdqa xmm5,xmm3 - movdqa [32+esp],xmm6 - add eax,ebp - xor esi,edx - ror ecx,7 - add eax,ebx - pslld xmm3,2 - add edi,DWORD [56+esp] - xor esi,ecx - psrld xmm5,30 - mov ebp,eax - rol eax,5 - add edi,esi - xor ebp,ecx - ror ebx,7 - add edi,eax - por xmm3,xmm5 - add edx,DWORD [60+esp] - xor ebp,ebx - movdqa xmm5,[96+esp] - mov esi,edi - rol edi,5 - add edx,ebp - xor esi,ebx - ror eax,7 - pshufd xmm6,xmm2,238 - add edx,edi - add ecx,DWORD [esp] - pxor xmm4,xmm0 - punpcklqdq xmm6,xmm3 - xor esi,eax - mov ebp,edx - rol edx,5 - pxor xmm4,xmm5 - movdqa [96+esp],xmm0 - add ecx,esi - xor ebp,eax - movdqa xmm0,xmm7 - ror edi,7 - paddd xmm7,xmm3 - add ecx,edx - pxor xmm4,xmm6 - add ebx,DWORD [4+esp] - xor ebp,edi - mov esi,ecx - rol ecx,5 - movdqa xmm6,xmm4 - movdqa [48+esp],xmm7 - add ebx,ebp - xor esi,edi - ror edx,7 - add ebx,ecx - pslld xmm4,2 - add eax,DWORD [8+esp] - xor esi,edx - psrld xmm6,30 - mov ebp,ebx - rol ebx,5 - add eax,esi - xor ebp,edx - ror ecx,7 - add eax,ebx - por xmm4,xmm6 - add edi,DWORD [12+esp] - xor ebp,ecx - movdqa xmm6,[64+esp] - mov esi,eax - rol eax,5 - add edi,ebp - xor esi,ecx - ror ebx,7 - pshufd xmm7,xmm3,238 - add edi,eax - add edx,DWORD [16+esp] - pxor xmm5,xmm1 - punpcklqdq xmm7,xmm4 - xor esi,ebx - mov ebp,edi - rol edi,5 - pxor xmm5,xmm6 - movdqa [64+esp],xmm1 - add edx,esi - xor ebp,ebx - movdqa xmm1,xmm0 - ror eax,7 - paddd xmm0,xmm4 - add edx,edi - pxor xmm5,xmm7 - add ecx,DWORD [20+esp] - xor ebp,eax - mov esi,edx - rol edx,5 - movdqa xmm7,xmm5 - movdqa [esp],xmm0 - add ecx,ebp - xor esi,eax - ror edi,7 - add ecx,edx - pslld xmm5,2 - add ebx,DWORD [24+esp] - xor esi,edi - psrld xmm7,30 - mov ebp,ecx - rol ecx,5 - add ebx,esi - xor ebp,edi - ror edx,7 - add ebx,ecx - por xmm5,xmm7 - add eax,DWORD [28+esp] - movdqa xmm7,[80+esp] - ror ecx,7 - mov esi,ebx - xor ebp,edx - rol ebx,5 - pshufd xmm0,xmm4,238 - add eax,ebp - xor esi,ecx - xor ecx,edx - add eax,ebx - add edi,DWORD [32+esp] - pxor xmm6,xmm2 - punpcklqdq xmm0,xmm5 - and esi,ecx - xor ecx,edx - ror ebx,7 - pxor xmm6,xmm7 - movdqa [80+esp],xmm2 - mov ebp,eax - xor esi,ecx - rol eax,5 - movdqa xmm2,xmm1 - add edi,esi - paddd xmm1,xmm5 - xor ebp,ebx - pxor xmm6,xmm0 - xor ebx,ecx - add edi,eax - add edx,DWORD [36+esp] - and ebp,ebx - movdqa xmm0,xmm6 - movdqa [16+esp],xmm1 - xor ebx,ecx - ror eax,7 - mov esi,edi - xor ebp,ebx - rol edi,5 - pslld xmm6,2 - add edx,ebp - xor esi,eax - psrld xmm0,30 - xor eax,ebx - add edx,edi - add ecx,DWORD [40+esp] - and esi,eax - xor eax,ebx - ror edi,7 - por xmm6,xmm0 - mov ebp,edx - xor esi,eax - movdqa xmm0,[96+esp] - rol edx,5 - add ecx,esi - xor ebp,edi - xor edi,eax - add ecx,edx - pshufd xmm1,xmm5,238 - add ebx,DWORD [44+esp] - and ebp,edi - xor edi,eax - ror edx,7 - mov esi,ecx - xor ebp,edi - rol ecx,5 - add ebx,ebp - xor esi,edx - xor edx,edi - add ebx,ecx - add eax,DWORD [48+esp] - pxor xmm7,xmm3 - punpcklqdq xmm1,xmm6 - and esi,edx - xor edx,edi - ror ecx,7 - pxor xmm7,xmm0 - movdqa [96+esp],xmm3 - mov ebp,ebx - xor esi,edx - rol ebx,5 - movdqa xmm3,[144+esp] - add eax,esi - paddd xmm2,xmm6 - xor ebp,ecx - pxor xmm7,xmm1 - xor ecx,edx - add eax,ebx - add edi,DWORD [52+esp] - and ebp,ecx - movdqa xmm1,xmm7 - movdqa [32+esp],xmm2 - xor ecx,edx - ror ebx,7 - mov esi,eax - xor ebp,ecx - rol eax,5 - pslld xmm7,2 - add edi,ebp - xor esi,ebx - psrld xmm1,30 - xor ebx,ecx - add edi,eax - add edx,DWORD [56+esp] - and esi,ebx - xor ebx,ecx - ror eax,7 - por xmm7,xmm1 - mov ebp,edi - xor esi,ebx - movdqa xmm1,[64+esp] - rol edi,5 - add edx,esi - xor ebp,eax - xor eax,ebx - add edx,edi - pshufd xmm2,xmm6,238 - add ecx,DWORD [60+esp] - and ebp,eax - xor eax,ebx - ror edi,7 - mov esi,edx - xor ebp,eax - rol edx,5 - add ecx,ebp - xor esi,edi - xor edi,eax - add ecx,edx - add ebx,DWORD [esp] - pxor xmm0,xmm4 - punpcklqdq xmm2,xmm7 - and esi,edi - xor edi,eax - ror edx,7 - pxor xmm0,xmm1 - movdqa [64+esp],xmm4 - mov ebp,ecx - xor esi,edi - rol ecx,5 - movdqa xmm4,xmm3 - add ebx,esi - paddd xmm3,xmm7 - xor ebp,edx - pxor xmm0,xmm2 - xor edx,edi - add ebx,ecx - add eax,DWORD [4+esp] - and ebp,edx - movdqa xmm2,xmm0 - movdqa [48+esp],xmm3 - xor edx,edi - ror ecx,7 - mov esi,ebx - xor ebp,edx - rol ebx,5 - pslld xmm0,2 - add eax,ebp - xor esi,ecx - psrld xmm2,30 - xor ecx,edx - add eax,ebx - add edi,DWORD [8+esp] - and esi,ecx - xor ecx,edx - ror ebx,7 - por xmm0,xmm2 - mov ebp,eax - xor esi,ecx - movdqa xmm2,[80+esp] - rol eax,5 - add edi,esi - xor ebp,ebx - xor ebx,ecx - add edi,eax - pshufd xmm3,xmm7,238 - add edx,DWORD [12+esp] - and ebp,ebx - xor ebx,ecx - ror eax,7 - mov esi,edi - xor ebp,ebx - rol edi,5 - add edx,ebp - xor esi,eax - xor eax,ebx - add edx,edi - add ecx,DWORD [16+esp] - pxor xmm1,xmm5 - punpcklqdq xmm3,xmm0 - and esi,eax - xor eax,ebx - ror edi,7 - pxor xmm1,xmm2 - movdqa [80+esp],xmm5 - mov ebp,edx - xor esi,eax - rol edx,5 - movdqa xmm5,xmm4 - add ecx,esi - paddd xmm4,xmm0 - xor ebp,edi - pxor xmm1,xmm3 - xor edi,eax - add ecx,edx - add ebx,DWORD [20+esp] - and ebp,edi - movdqa xmm3,xmm1 - movdqa [esp],xmm4 - xor edi,eax - ror edx,7 - mov esi,ecx - xor ebp,edi - rol ecx,5 - pslld xmm1,2 - add ebx,ebp - xor esi,edx - psrld xmm3,30 - xor edx,edi - add ebx,ecx - add eax,DWORD [24+esp] - and esi,edx - xor edx,edi - ror ecx,7 - por xmm1,xmm3 - mov ebp,ebx - xor esi,edx - movdqa xmm3,[96+esp] - rol ebx,5 - add eax,esi - xor ebp,ecx - xor ecx,edx - add eax,ebx - pshufd xmm4,xmm0,238 - add edi,DWORD [28+esp] - and ebp,ecx - xor ecx,edx - ror ebx,7 - mov esi,eax - xor ebp,ecx - rol eax,5 - add edi,ebp - xor esi,ebx - xor ebx,ecx - add edi,eax - add edx,DWORD [32+esp] - pxor xmm2,xmm6 - punpcklqdq xmm4,xmm1 - and esi,ebx - xor ebx,ecx - ror eax,7 - pxor xmm2,xmm3 - movdqa [96+esp],xmm6 - mov ebp,edi - xor esi,ebx - rol edi,5 - movdqa xmm6,xmm5 - add edx,esi - paddd xmm5,xmm1 - xor ebp,eax - pxor xmm2,xmm4 - xor eax,ebx - add edx,edi - add ecx,DWORD [36+esp] - and ebp,eax - movdqa xmm4,xmm2 - movdqa [16+esp],xmm5 - xor eax,ebx - ror edi,7 - mov esi,edx - xor ebp,eax - rol edx,5 - pslld xmm2,2 - add ecx,ebp - xor esi,edi - psrld xmm4,30 - xor edi,eax - add ecx,edx - add ebx,DWORD [40+esp] - and esi,edi - xor edi,eax - ror edx,7 - por xmm2,xmm4 - mov ebp,ecx - xor esi,edi - movdqa xmm4,[64+esp] - rol ecx,5 - add ebx,esi - xor ebp,edx - xor edx,edi - add ebx,ecx - pshufd xmm5,xmm1,238 - add eax,DWORD [44+esp] - and ebp,edx - xor edx,edi - ror ecx,7 - mov esi,ebx - xor ebp,edx - rol ebx,5 - add eax,ebp - xor esi,edx - add eax,ebx - add edi,DWORD [48+esp] - pxor xmm3,xmm7 - punpcklqdq xmm5,xmm2 - xor esi,ecx - mov ebp,eax - rol eax,5 - pxor xmm3,xmm4 - movdqa [64+esp],xmm7 - add edi,esi - xor ebp,ecx - movdqa xmm7,xmm6 - ror ebx,7 - paddd xmm6,xmm2 - add edi,eax - pxor xmm3,xmm5 - add edx,DWORD [52+esp] - xor ebp,ebx - mov esi,edi - rol edi,5 - movdqa xmm5,xmm3 - movdqa [32+esp],xmm6 - add edx,ebp - xor esi,ebx - ror eax,7 - add edx,edi - pslld xmm3,2 - add ecx,DWORD [56+esp] - xor esi,eax - psrld xmm5,30 - mov ebp,edx - rol edx,5 - add ecx,esi - xor ebp,eax - ror edi,7 - add ecx,edx - por xmm3,xmm5 - add ebx,DWORD [60+esp] - xor ebp,edi - mov esi,ecx - rol ecx,5 - add ebx,ebp - xor esi,edi - ror edx,7 - add ebx,ecx - add eax,DWORD [esp] - xor esi,edx - mov ebp,ebx - rol ebx,5 - add eax,esi - xor ebp,edx - ror ecx,7 - paddd xmm7,xmm3 - add eax,ebx - add edi,DWORD [4+esp] - xor ebp,ecx - mov esi,eax - movdqa [48+esp],xmm7 - rol eax,5 - add edi,ebp - xor esi,ecx - ror ebx,7 - add edi,eax - add edx,DWORD [8+esp] - xor esi,ebx - mov ebp,edi - rol edi,5 - add edx,esi - xor ebp,ebx - ror eax,7 - add edx,edi - add ecx,DWORD [12+esp] - xor ebp,eax - mov esi,edx - rol edx,5 - add ecx,ebp - xor esi,eax - ror edi,7 - add ecx,edx - mov ebp,DWORD [196+esp] - cmp ebp,DWORD [200+esp] - je NEAR L$007done - movdqa xmm7,[160+esp] - movdqa xmm6,[176+esp] - movdqu xmm0,[ebp] - movdqu xmm1,[16+ebp] - movdqu xmm2,[32+ebp] - movdqu xmm3,[48+ebp] - add ebp,64 -db 102,15,56,0,198 - mov DWORD [196+esp],ebp - movdqa [96+esp],xmm7 - add ebx,DWORD [16+esp] - xor esi,edi - mov ebp,ecx - rol ecx,5 - add ebx,esi - xor ebp,edi - ror edx,7 -db 102,15,56,0,206 - add ebx,ecx - add eax,DWORD [20+esp] - xor ebp,edx - mov esi,ebx - paddd xmm0,xmm7 - rol ebx,5 - add eax,ebp - xor esi,edx - ror ecx,7 - movdqa [esp],xmm0 - add eax,ebx - add edi,DWORD [24+esp] - xor esi,ecx - mov ebp,eax - psubd xmm0,xmm7 - rol eax,5 - add edi,esi - xor ebp,ecx - ror ebx,7 - add edi,eax - add edx,DWORD [28+esp] - xor ebp,ebx - mov esi,edi - rol edi,5 - add edx,ebp - xor esi,ebx - ror eax,7 - add edx,edi - add ecx,DWORD [32+esp] - xor esi,eax - mov ebp,edx - rol edx,5 - add ecx,esi - xor ebp,eax - ror edi,7 -db 102,15,56,0,214 - add ecx,edx - add ebx,DWORD [36+esp] - xor ebp,edi - mov esi,ecx - paddd xmm1,xmm7 - rol ecx,5 - add ebx,ebp - xor esi,edi - ror edx,7 - movdqa [16+esp],xmm1 - add ebx,ecx - add eax,DWORD [40+esp] - xor esi,edx - mov ebp,ebx - psubd xmm1,xmm7 - rol ebx,5 - add eax,esi - xor ebp,edx - ror ecx,7 - add eax,ebx - add edi,DWORD [44+esp] - xor ebp,ecx - mov esi,eax - rol eax,5 - add edi,ebp - xor esi,ecx - ror ebx,7 - add edi,eax - add edx,DWORD [48+esp] - xor esi,ebx - mov ebp,edi - rol edi,5 - add edx,esi - xor ebp,ebx - ror eax,7 -db 102,15,56,0,222 - add edx,edi - add ecx,DWORD [52+esp] - xor ebp,eax - mov esi,edx - paddd xmm2,xmm7 - rol edx,5 - add ecx,ebp - xor esi,eax - ror edi,7 - movdqa [32+esp],xmm2 - add ecx,edx - add ebx,DWORD [56+esp] - xor esi,edi - mov ebp,ecx - psubd xmm2,xmm7 - rol ecx,5 - add ebx,esi - xor ebp,edi - ror edx,7 - add ebx,ecx - add eax,DWORD [60+esp] - xor ebp,edx - mov esi,ebx - rol ebx,5 - add eax,ebp - ror ecx,7 - add eax,ebx - mov ebp,DWORD [192+esp] - add eax,DWORD [ebp] - add esi,DWORD [4+ebp] - add ecx,DWORD [8+ebp] - mov DWORD [ebp],eax - add edx,DWORD [12+ebp] - mov DWORD [4+ebp],esi - add edi,DWORD [16+ebp] - mov DWORD [8+ebp],ecx - mov ebx,ecx - mov DWORD [12+ebp],edx - xor ebx,edx - mov DWORD [16+ebp],edi - mov ebp,esi - pshufd xmm4,xmm0,238 - and esi,ebx - mov ebx,ebp - jmp NEAR L$006loop -align 16 -L$007done: - add ebx,DWORD [16+esp] - xor esi,edi - mov ebp,ecx - rol ecx,5 - add ebx,esi - xor ebp,edi - ror edx,7 - add ebx,ecx - add eax,DWORD [20+esp] - xor ebp,edx - mov esi,ebx - rol ebx,5 - add eax,ebp - xor esi,edx - ror ecx,7 - add eax,ebx - add edi,DWORD [24+esp] - xor esi,ecx - mov ebp,eax - rol eax,5 - add edi,esi - xor ebp,ecx - ror ebx,7 - add edi,eax - add edx,DWORD [28+esp] - xor ebp,ebx - mov esi,edi - rol edi,5 - add edx,ebp - xor esi,ebx - ror eax,7 - add edx,edi - add ecx,DWORD [32+esp] - xor esi,eax - mov ebp,edx - rol edx,5 - add ecx,esi - xor ebp,eax - ror edi,7 - add ecx,edx - add ebx,DWORD [36+esp] - xor ebp,edi - mov esi,ecx - rol ecx,5 - add ebx,ebp - xor esi,edi - ror edx,7 - add ebx,ecx - add eax,DWORD [40+esp] - xor esi,edx - mov ebp,ebx - rol ebx,5 - add eax,esi - xor ebp,edx - ror ecx,7 - add eax,ebx - add edi,DWORD [44+esp] - xor ebp,ecx - mov esi,eax - rol eax,5 - add edi,ebp - xor esi,ecx - ror ebx,7 - add edi,eax - add edx,DWORD [48+esp] - xor esi,ebx - mov ebp,edi - rol edi,5 - add edx,esi - xor ebp,ebx - ror eax,7 - add edx,edi - add ecx,DWORD [52+esp] - xor ebp,eax - mov esi,edx - rol edx,5 - add ecx,ebp - xor esi,eax - ror edi,7 - add ecx,edx - add ebx,DWORD [56+esp] - xor esi,edi - mov ebp,ecx - rol ecx,5 - add ebx,esi - xor ebp,edi - ror edx,7 - add ebx,ecx - add eax,DWORD [60+esp] - xor ebp,edx - mov esi,ebx - rol ebx,5 - add eax,ebp - ror ecx,7 - add eax,ebx - mov ebp,DWORD [192+esp] - add eax,DWORD [ebp] - mov esp,DWORD [204+esp] - add esi,DWORD [4+ebp] - add ecx,DWORD [8+ebp] - mov DWORD [ebp],eax - add edx,DWORD [12+ebp] - mov DWORD [4+ebp],esi - add edi,DWORD [16+ebp] - mov DWORD [8+ebp],ecx - mov DWORD [12+ebp],edx - mov DWORD [16+ebp],edi - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__sha1_block_data_order_avx: - push ebp - push ebx - push esi - push edi - call L$008pic_point -L$008pic_point: - pop ebp - lea ebp,[(L$K_XX_XX-L$008pic_point)+ebp] -L$avx_shortcut: - vzeroall - vmovdqa xmm7,[ebp] - vmovdqa xmm0,[16+ebp] - vmovdqa xmm1,[32+ebp] - vmovdqa xmm2,[48+ebp] - vmovdqa xmm6,[64+ebp] - mov edi,DWORD [20+esp] - mov ebp,DWORD [24+esp] - mov edx,DWORD [28+esp] - mov esi,esp - sub esp,208 - and esp,-64 - vmovdqa [112+esp],xmm0 - vmovdqa [128+esp],xmm1 - vmovdqa [144+esp],xmm2 - shl edx,6 - vmovdqa [160+esp],xmm7 - add edx,ebp - vmovdqa [176+esp],xmm6 - add ebp,64 - mov DWORD [192+esp],edi - mov DWORD [196+esp],ebp - mov DWORD [200+esp],edx - mov DWORD [204+esp],esi - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - mov edi,DWORD [16+edi] - mov esi,ebx - vmovdqu xmm0,[ebp-64] - vmovdqu xmm1,[ebp-48] - vmovdqu xmm2,[ebp-32] - vmovdqu xmm3,[ebp-16] - vpshufb xmm0,xmm0,xmm6 - vpshufb xmm1,xmm1,xmm6 - vpshufb xmm2,xmm2,xmm6 - vmovdqa [96+esp],xmm7 - vpshufb xmm3,xmm3,xmm6 - vpaddd xmm4,xmm0,xmm7 - vpaddd xmm5,xmm1,xmm7 - vpaddd xmm6,xmm2,xmm7 - vmovdqa [esp],xmm4 - mov ebp,ecx - vmovdqa [16+esp],xmm5 - xor ebp,edx - vmovdqa [32+esp],xmm6 - and esi,ebp - jmp NEAR L$009loop -align 16 -L$009loop: - shrd ebx,ebx,2 - xor esi,edx - vpalignr xmm4,xmm1,xmm0,8 - mov ebp,eax - add edi,DWORD [esp] - vpaddd xmm7,xmm7,xmm3 - vmovdqa [64+esp],xmm0 - xor ebx,ecx - shld eax,eax,5 - vpsrldq xmm6,xmm3,4 - add edi,esi - and ebp,ebx - vpxor xmm4,xmm4,xmm0 - xor ebx,ecx - add edi,eax - vpxor xmm6,xmm6,xmm2 - shrd eax,eax,7 - xor ebp,ecx - vmovdqa [48+esp],xmm7 - mov esi,edi - add edx,DWORD [4+esp] - vpxor xmm4,xmm4,xmm6 - xor eax,ebx - shld edi,edi,5 - add edx,ebp - and esi,eax - vpsrld xmm6,xmm4,31 - xor eax,ebx - add edx,edi - shrd edi,edi,7 - xor esi,ebx - vpslldq xmm0,xmm4,12 - vpaddd xmm4,xmm4,xmm4 - mov ebp,edx - add ecx,DWORD [8+esp] - xor edi,eax - shld edx,edx,5 - vpsrld xmm7,xmm0,30 - vpor xmm4,xmm4,xmm6 - add ecx,esi - and ebp,edi - xor edi,eax - add ecx,edx - vpslld xmm0,xmm0,2 - shrd edx,edx,7 - xor ebp,eax - vpxor xmm4,xmm4,xmm7 - mov esi,ecx - add ebx,DWORD [12+esp] - xor edx,edi - shld ecx,ecx,5 - vpxor xmm4,xmm4,xmm0 - add ebx,ebp - and esi,edx - vmovdqa xmm0,[96+esp] - xor edx,edi - add ebx,ecx - shrd ecx,ecx,7 - xor esi,edi - vpalignr xmm5,xmm2,xmm1,8 - mov ebp,ebx - add eax,DWORD [16+esp] - vpaddd xmm0,xmm0,xmm4 - vmovdqa [80+esp],xmm1 - xor ecx,edx - shld ebx,ebx,5 - vpsrldq xmm7,xmm4,4 - add eax,esi - and ebp,ecx - vpxor xmm5,xmm5,xmm1 - xor ecx,edx - add eax,ebx - vpxor xmm7,xmm7,xmm3 - shrd ebx,ebx,7 - xor ebp,edx - vmovdqa [esp],xmm0 - mov esi,eax - add edi,DWORD [20+esp] - vpxor xmm5,xmm5,xmm7 - xor ebx,ecx - shld eax,eax,5 - add edi,ebp - and esi,ebx - vpsrld xmm7,xmm5,31 - xor ebx,ecx - add edi,eax - shrd eax,eax,7 - xor esi,ecx - vpslldq xmm1,xmm5,12 - vpaddd xmm5,xmm5,xmm5 - mov ebp,edi - add edx,DWORD [24+esp] - xor eax,ebx - shld edi,edi,5 - vpsrld xmm0,xmm1,30 - vpor xmm5,xmm5,xmm7 - add edx,esi - and ebp,eax - xor eax,ebx - add edx,edi - vpslld xmm1,xmm1,2 - shrd edi,edi,7 - xor ebp,ebx - vpxor xmm5,xmm5,xmm0 - mov esi,edx - add ecx,DWORD [28+esp] - xor edi,eax - shld edx,edx,5 - vpxor xmm5,xmm5,xmm1 - add ecx,ebp - and esi,edi - vmovdqa xmm1,[112+esp] - xor edi,eax - add ecx,edx - shrd edx,edx,7 - xor esi,eax - vpalignr xmm6,xmm3,xmm2,8 - mov ebp,ecx - add ebx,DWORD [32+esp] - vpaddd xmm1,xmm1,xmm5 - vmovdqa [96+esp],xmm2 - xor edx,edi - shld ecx,ecx,5 - vpsrldq xmm0,xmm5,4 - add ebx,esi - and ebp,edx - vpxor xmm6,xmm6,xmm2 - xor edx,edi - add ebx,ecx - vpxor xmm0,xmm0,xmm4 - shrd ecx,ecx,7 - xor ebp,edi - vmovdqa [16+esp],xmm1 - mov esi,ebx - add eax,DWORD [36+esp] - vpxor xmm6,xmm6,xmm0 - xor ecx,edx - shld ebx,ebx,5 - add eax,ebp - and esi,ecx - vpsrld xmm0,xmm6,31 - xor ecx,edx - add eax,ebx - shrd ebx,ebx,7 - xor esi,edx - vpslldq xmm2,xmm6,12 - vpaddd xmm6,xmm6,xmm6 - mov ebp,eax - add edi,DWORD [40+esp] - xor ebx,ecx - shld eax,eax,5 - vpsrld xmm1,xmm2,30 - vpor xmm6,xmm6,xmm0 - add edi,esi - and ebp,ebx - xor ebx,ecx - add edi,eax - vpslld xmm2,xmm2,2 - vmovdqa xmm0,[64+esp] - shrd eax,eax,7 - xor ebp,ecx - vpxor xmm6,xmm6,xmm1 - mov esi,edi - add edx,DWORD [44+esp] - xor eax,ebx - shld edi,edi,5 - vpxor xmm6,xmm6,xmm2 - add edx,ebp - and esi,eax - vmovdqa xmm2,[112+esp] - xor eax,ebx - add edx,edi - shrd edi,edi,7 - xor esi,ebx - vpalignr xmm7,xmm4,xmm3,8 - mov ebp,edx - add ecx,DWORD [48+esp] - vpaddd xmm2,xmm2,xmm6 - vmovdqa [64+esp],xmm3 - xor edi,eax - shld edx,edx,5 - vpsrldq xmm1,xmm6,4 - add ecx,esi - and ebp,edi - vpxor xmm7,xmm7,xmm3 - xor edi,eax - add ecx,edx - vpxor xmm1,xmm1,xmm5 - shrd edx,edx,7 - xor ebp,eax - vmovdqa [32+esp],xmm2 - mov esi,ecx - add ebx,DWORD [52+esp] - vpxor xmm7,xmm7,xmm1 - xor edx,edi - shld ecx,ecx,5 - add ebx,ebp - and esi,edx - vpsrld xmm1,xmm7,31 - xor edx,edi - add ebx,ecx - shrd ecx,ecx,7 - xor esi,edi - vpslldq xmm3,xmm7,12 - vpaddd xmm7,xmm7,xmm7 - mov ebp,ebx - add eax,DWORD [56+esp] - xor ecx,edx - shld ebx,ebx,5 - vpsrld xmm2,xmm3,30 - vpor xmm7,xmm7,xmm1 - add eax,esi - and ebp,ecx - xor ecx,edx - add eax,ebx - vpslld xmm3,xmm3,2 - vmovdqa xmm1,[80+esp] - shrd ebx,ebx,7 - xor ebp,edx - vpxor xmm7,xmm7,xmm2 - mov esi,eax - add edi,DWORD [60+esp] - xor ebx,ecx - shld eax,eax,5 - vpxor xmm7,xmm7,xmm3 - add edi,ebp - and esi,ebx - vmovdqa xmm3,[112+esp] - xor ebx,ecx - add edi,eax - vpalignr xmm2,xmm7,xmm6,8 - vpxor xmm0,xmm0,xmm4 - shrd eax,eax,7 - xor esi,ecx - mov ebp,edi - add edx,DWORD [esp] - vpxor xmm0,xmm0,xmm1 - vmovdqa [80+esp],xmm4 - xor eax,ebx - shld edi,edi,5 - vmovdqa xmm4,xmm3 - vpaddd xmm3,xmm3,xmm7 - add edx,esi - and ebp,eax - vpxor xmm0,xmm0,xmm2 - xor eax,ebx - add edx,edi - shrd edi,edi,7 - xor ebp,ebx - vpsrld xmm2,xmm0,30 - vmovdqa [48+esp],xmm3 - mov esi,edx - add ecx,DWORD [4+esp] - xor edi,eax - shld edx,edx,5 - vpslld xmm0,xmm0,2 - add ecx,ebp - and esi,edi - xor edi,eax - add ecx,edx - shrd edx,edx,7 - xor esi,eax - mov ebp,ecx - add ebx,DWORD [8+esp] - vpor xmm0,xmm0,xmm2 - xor edx,edi - shld ecx,ecx,5 - vmovdqa xmm2,[96+esp] - add ebx,esi - and ebp,edx - xor edx,edi - add ebx,ecx - add eax,DWORD [12+esp] - xor ebp,edi - mov esi,ebx - shld ebx,ebx,5 - add eax,ebp - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - vpalignr xmm3,xmm0,xmm7,8 - vpxor xmm1,xmm1,xmm5 - add edi,DWORD [16+esp] - xor esi,ecx - mov ebp,eax - shld eax,eax,5 - vpxor xmm1,xmm1,xmm2 - vmovdqa [96+esp],xmm5 - add edi,esi - xor ebp,ecx - vmovdqa xmm5,xmm4 - vpaddd xmm4,xmm4,xmm0 - shrd ebx,ebx,7 - add edi,eax - vpxor xmm1,xmm1,xmm3 - add edx,DWORD [20+esp] - xor ebp,ebx - mov esi,edi - shld edi,edi,5 - vpsrld xmm3,xmm1,30 - vmovdqa [esp],xmm4 - add edx,ebp - xor esi,ebx - shrd eax,eax,7 - add edx,edi - vpslld xmm1,xmm1,2 - add ecx,DWORD [24+esp] - xor esi,eax - mov ebp,edx - shld edx,edx,5 - add ecx,esi - xor ebp,eax - shrd edi,edi,7 - add ecx,edx - vpor xmm1,xmm1,xmm3 - add ebx,DWORD [28+esp] - xor ebp,edi - vmovdqa xmm3,[64+esp] - mov esi,ecx - shld ecx,ecx,5 - add ebx,ebp - xor esi,edi - shrd edx,edx,7 - add ebx,ecx - vpalignr xmm4,xmm1,xmm0,8 - vpxor xmm2,xmm2,xmm6 - add eax,DWORD [32+esp] - xor esi,edx - mov ebp,ebx - shld ebx,ebx,5 - vpxor xmm2,xmm2,xmm3 - vmovdqa [64+esp],xmm6 - add eax,esi - xor ebp,edx - vmovdqa xmm6,[128+esp] - vpaddd xmm5,xmm5,xmm1 - shrd ecx,ecx,7 - add eax,ebx - vpxor xmm2,xmm2,xmm4 - add edi,DWORD [36+esp] - xor ebp,ecx - mov esi,eax - shld eax,eax,5 - vpsrld xmm4,xmm2,30 - vmovdqa [16+esp],xmm5 - add edi,ebp - xor esi,ecx - shrd ebx,ebx,7 - add edi,eax - vpslld xmm2,xmm2,2 - add edx,DWORD [40+esp] - xor esi,ebx - mov ebp,edi - shld edi,edi,5 - add edx,esi - xor ebp,ebx - shrd eax,eax,7 - add edx,edi - vpor xmm2,xmm2,xmm4 - add ecx,DWORD [44+esp] - xor ebp,eax - vmovdqa xmm4,[80+esp] - mov esi,edx - shld edx,edx,5 - add ecx,ebp - xor esi,eax - shrd edi,edi,7 - add ecx,edx - vpalignr xmm5,xmm2,xmm1,8 - vpxor xmm3,xmm3,xmm7 - add ebx,DWORD [48+esp] - xor esi,edi - mov ebp,ecx - shld ecx,ecx,5 - vpxor xmm3,xmm3,xmm4 - vmovdqa [80+esp],xmm7 - add ebx,esi - xor ebp,edi - vmovdqa xmm7,xmm6 - vpaddd xmm6,xmm6,xmm2 - shrd edx,edx,7 - add ebx,ecx - vpxor xmm3,xmm3,xmm5 - add eax,DWORD [52+esp] - xor ebp,edx - mov esi,ebx - shld ebx,ebx,5 - vpsrld xmm5,xmm3,30 - vmovdqa [32+esp],xmm6 - add eax,ebp - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - vpslld xmm3,xmm3,2 - add edi,DWORD [56+esp] - xor esi,ecx - mov ebp,eax - shld eax,eax,5 - add edi,esi - xor ebp,ecx - shrd ebx,ebx,7 - add edi,eax - vpor xmm3,xmm3,xmm5 - add edx,DWORD [60+esp] - xor ebp,ebx - vmovdqa xmm5,[96+esp] - mov esi,edi - shld edi,edi,5 - add edx,ebp - xor esi,ebx - shrd eax,eax,7 - add edx,edi - vpalignr xmm6,xmm3,xmm2,8 - vpxor xmm4,xmm4,xmm0 - add ecx,DWORD [esp] - xor esi,eax - mov ebp,edx - shld edx,edx,5 - vpxor xmm4,xmm4,xmm5 - vmovdqa [96+esp],xmm0 - add ecx,esi - xor ebp,eax - vmovdqa xmm0,xmm7 - vpaddd xmm7,xmm7,xmm3 - shrd edi,edi,7 - add ecx,edx - vpxor xmm4,xmm4,xmm6 - add ebx,DWORD [4+esp] - xor ebp,edi - mov esi,ecx - shld ecx,ecx,5 - vpsrld xmm6,xmm4,30 - vmovdqa [48+esp],xmm7 - add ebx,ebp - xor esi,edi - shrd edx,edx,7 - add ebx,ecx - vpslld xmm4,xmm4,2 - add eax,DWORD [8+esp] - xor esi,edx - mov ebp,ebx - shld ebx,ebx,5 - add eax,esi - xor ebp,edx - shrd ecx,ecx,7 - add eax,ebx - vpor xmm4,xmm4,xmm6 - add edi,DWORD [12+esp] - xor ebp,ecx - vmovdqa xmm6,[64+esp] - mov esi,eax - shld eax,eax,5 - add edi,ebp - xor esi,ecx - shrd ebx,ebx,7 - add edi,eax - vpalignr xmm7,xmm4,xmm3,8 - vpxor xmm5,xmm5,xmm1 - add edx,DWORD [16+esp] - xor esi,ebx - mov ebp,edi - shld edi,edi,5 - vpxor xmm5,xmm5,xmm6 - vmovdqa [64+esp],xmm1 - add edx,esi - xor ebp,ebx - vmovdqa xmm1,xmm0 - vpaddd xmm0,xmm0,xmm4 - shrd eax,eax,7 - add edx,edi - vpxor xmm5,xmm5,xmm7 - add ecx,DWORD [20+esp] - xor ebp,eax - mov esi,edx - shld edx,edx,5 - vpsrld xmm7,xmm5,30 - vmovdqa [esp],xmm0 - add ecx,ebp - xor esi,eax - shrd edi,edi,7 - add ecx,edx - vpslld xmm5,xmm5,2 - add ebx,DWORD [24+esp] - xor esi,edi - mov ebp,ecx - shld ecx,ecx,5 - add ebx,esi - xor ebp,edi - shrd edx,edx,7 - add ebx,ecx - vpor xmm5,xmm5,xmm7 - add eax,DWORD [28+esp] - vmovdqa xmm7,[80+esp] - shrd ecx,ecx,7 - mov esi,ebx - xor ebp,edx - shld ebx,ebx,5 - add eax,ebp - xor esi,ecx - xor ecx,edx - add eax,ebx - vpalignr xmm0,xmm5,xmm4,8 - vpxor xmm6,xmm6,xmm2 - add edi,DWORD [32+esp] - and esi,ecx - xor ecx,edx - shrd ebx,ebx,7 - vpxor xmm6,xmm6,xmm7 - vmovdqa [80+esp],xmm2 - mov ebp,eax - xor esi,ecx - vmovdqa xmm2,xmm1 - vpaddd xmm1,xmm1,xmm5 - shld eax,eax,5 - add edi,esi - vpxor xmm6,xmm6,xmm0 - xor ebp,ebx - xor ebx,ecx - add edi,eax - add edx,DWORD [36+esp] - vpsrld xmm0,xmm6,30 - vmovdqa [16+esp],xmm1 - and ebp,ebx - xor ebx,ecx - shrd eax,eax,7 - mov esi,edi - vpslld xmm6,xmm6,2 - xor ebp,ebx - shld edi,edi,5 - add edx,ebp - xor esi,eax - xor eax,ebx - add edx,edi - add ecx,DWORD [40+esp] - and esi,eax - vpor xmm6,xmm6,xmm0 - xor eax,ebx - shrd edi,edi,7 - vmovdqa xmm0,[96+esp] - mov ebp,edx - xor esi,eax - shld edx,edx,5 - add ecx,esi - xor ebp,edi - xor edi,eax - add ecx,edx - add ebx,DWORD [44+esp] - and ebp,edi - xor edi,eax - shrd edx,edx,7 - mov esi,ecx - xor ebp,edi - shld ecx,ecx,5 - add ebx,ebp - xor esi,edx - xor edx,edi - add ebx,ecx - vpalignr xmm1,xmm6,xmm5,8 - vpxor xmm7,xmm7,xmm3 - add eax,DWORD [48+esp] - and esi,edx - xor edx,edi - shrd ecx,ecx,7 - vpxor xmm7,xmm7,xmm0 - vmovdqa [96+esp],xmm3 - mov ebp,ebx - xor esi,edx - vmovdqa xmm3,[144+esp] - vpaddd xmm2,xmm2,xmm6 - shld ebx,ebx,5 - add eax,esi - vpxor xmm7,xmm7,xmm1 - xor ebp,ecx - xor ecx,edx - add eax,ebx - add edi,DWORD [52+esp] - vpsrld xmm1,xmm7,30 - vmovdqa [32+esp],xmm2 - and ebp,ecx - xor ecx,edx - shrd ebx,ebx,7 - mov esi,eax - vpslld xmm7,xmm7,2 - xor ebp,ecx - shld eax,eax,5 - add edi,ebp - xor esi,ebx - xor ebx,ecx - add edi,eax - add edx,DWORD [56+esp] - and esi,ebx - vpor xmm7,xmm7,xmm1 - xor ebx,ecx - shrd eax,eax,7 - vmovdqa xmm1,[64+esp] - mov ebp,edi - xor esi,ebx - shld edi,edi,5 - add edx,esi - xor ebp,eax - xor eax,ebx - add edx,edi - add ecx,DWORD [60+esp] - and ebp,eax - xor eax,ebx - shrd edi,edi,7 - mov esi,edx - xor ebp,eax - shld edx,edx,5 - add ecx,ebp - xor esi,edi - xor edi,eax - add ecx,edx - vpalignr xmm2,xmm7,xmm6,8 - vpxor xmm0,xmm0,xmm4 - add ebx,DWORD [esp] - and esi,edi - xor edi,eax - shrd edx,edx,7 - vpxor xmm0,xmm0,xmm1 - vmovdqa [64+esp],xmm4 - mov ebp,ecx - xor esi,edi - vmovdqa xmm4,xmm3 - vpaddd xmm3,xmm3,xmm7 - shld ecx,ecx,5 - add ebx,esi - vpxor xmm0,xmm0,xmm2 - xor ebp,edx - xor edx,edi - add ebx,ecx - add eax,DWORD [4+esp] - vpsrld xmm2,xmm0,30 - vmovdqa [48+esp],xmm3 - and ebp,edx - xor edx,edi - shrd ecx,ecx,7 - mov esi,ebx - vpslld xmm0,xmm0,2 - xor ebp,edx - shld ebx,ebx,5 - add eax,ebp - xor esi,ecx - xor ecx,edx - add eax,ebx - add edi,DWORD [8+esp] - and esi,ecx - vpor xmm0,xmm0,xmm2 - xor ecx,edx - shrd ebx,ebx,7 - vmovdqa xmm2,[80+esp] - mov ebp,eax - xor esi,ecx - shld eax,eax,5 - add edi,esi - xor ebp,ebx - xor ebx,ecx - add edi,eax - add edx,DWORD [12+esp] - and ebp,ebx - xor ebx,ecx - shrd eax,eax,7 - mov esi,edi - xor ebp,ebx - shld edi,edi,5 - add edx,ebp - xor esi,eax - xor eax,ebx - add edx,edi - vpalignr xmm3,xmm0,xmm7,8 - vpxor xmm1,xmm1,xmm5 - add ecx,DWORD [16+esp] - and esi,eax - xor eax,ebx - shrd edi,edi,7 - vpxor xmm1,xmm1,xmm2 - vmovdqa [80+esp],xmm5 - mov ebp,edx - xor esi,eax - vmovdqa xmm5,xmm4 - vpaddd xmm4,xmm4,xmm0 - shld edx,edx,5 - add ecx,esi - vpxor xmm1,xmm1,xmm3 - xor ebp,edi - xor edi,eax - add ecx,edx - add ebx,DWORD [20+esp] - vpsrld xmm3,xmm1,30 - vmovdqa [esp],xmm4 - and ebp,edi - xor edi,eax - shrd edx,edx,7 - mov esi,ecx - vpslld xmm1,xmm1,2 - xor ebp,edi - shld ecx,ecx,5 - add ebx,ebp - xor esi,edx - xor edx,edi - add ebx,ecx - add eax,DWORD [24+esp] - and esi,edx - vpor xmm1,xmm1,xmm3 - xor edx,edi - shrd ecx,ecx,7 - vmovdqa xmm3,[96+esp] - mov ebp,ebx - xor esi,edx - shld ebx,ebx,5 - add eax,esi - xor ebp,ecx - xor ecx,edx - add eax,ebx - add edi,DWORD [28+esp] - and ebp,ecx - xor ecx,edx - shrd ebx,ebx,7 - mov esi,eax - xor ebp,ecx - shld eax,eax,5 - add edi,ebp - xor esi,ebx - xor ebx,ecx - add edi,eax - vpalignr xmm4,xmm1,xmm0,8 - vpxor xmm2,xmm2,xmm6 - add edx,DWORD [32+esp] - and esi,ebx - xor ebx,ecx - shrd eax,eax,7 - vpxor xmm2,xmm2,xmm3 - vmovdqa [96+esp],xmm6 - mov ebp,edi - xor esi,ebx - vmovdqa xmm6,xmm5 - vpaddd xmm5,xmm5,xmm1 - shld edi,edi,5 - add edx,esi - vpxor xmm2,xmm2,xmm4 - xor ebp,eax - xor eax,ebx - add edx,edi - add ecx,DWORD [36+esp] - vpsrld xmm4,xmm2,30 - vmovdqa [16+esp],xmm5 - and ebp,eax - xor eax,ebx - shrd edi,edi,7 - mov esi,edx - vpslld xmm2,xmm2,2 - xor ebp,eax - shld edx,edx,5 - add ecx,ebp - xor esi,edi - xor edi,eax - add ecx,edx - add ebx,DWORD [40+esp] - and esi,edi - vpor xmm2,xmm2,xmm4 - xor edi,eax - shrd edx,edx,7 - vmovdqa xmm4,[64+esp] - mov ebp,ecx - xor esi,edi - shld ecx,ecx,5 - add ebx,esi - xor ebp,edx - xor edx,edi - add ebx,ecx - add eax,DWORD [44+esp] - and ebp,edx - xor edx,edi - shrd ecx,ecx,7 - mov esi,ebx - xor ebp,edx - shld ebx,ebx,5 - add eax,ebp - xor esi,edx - add eax,ebx - vpalignr xmm5,xmm2,xmm1,8 - vpxor xmm3,xmm3,xmm7 - add edi,DWORD [48+esp] - xor esi,ecx - mov ebp,eax - shld eax,eax,5 - vpxor xmm3,xmm3,xmm4 - vmovdqa [64+esp],xmm7 - add edi,esi - xor ebp,ecx - vmovdqa xmm7,xmm6 - vpaddd xmm6,xmm6,xmm2 - shrd ebx,ebx,7 - add edi,eax - vpxor xmm3,xmm3,xmm5 - add edx,DWORD [52+esp] - xor ebp,ebx - mov esi,edi - shld edi,edi,5 - vpsrld xmm5,xmm3,30 - vmovdqa [32+esp],xmm6 - add edx,ebp - xor esi,ebx - shrd eax,eax,7 - add edx,edi - vpslld xmm3,xmm3,2 - add ecx,DWORD [56+esp] - xor esi,eax - mov ebp,edx - shld edx,edx,5 - add ecx,esi - xor ebp,eax - shrd edi,edi,7 - add ecx,edx - vpor xmm3,xmm3,xmm5 - add ebx,DWORD [60+esp] - xor ebp,edi - mov esi,ecx - shld ecx,ecx,5 - add ebx,ebp - xor esi,edi - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD [esp] - vpaddd xmm7,xmm7,xmm3 - xor esi,edx - mov ebp,ebx - shld ebx,ebx,5 - add eax,esi - vmovdqa [48+esp],xmm7 - xor ebp,edx - shrd ecx,ecx,7 - add eax,ebx - add edi,DWORD [4+esp] - xor ebp,ecx - mov esi,eax - shld eax,eax,5 - add edi,ebp - xor esi,ecx - shrd ebx,ebx,7 - add edi,eax - add edx,DWORD [8+esp] - xor esi,ebx - mov ebp,edi - shld edi,edi,5 - add edx,esi - xor ebp,ebx - shrd eax,eax,7 - add edx,edi - add ecx,DWORD [12+esp] - xor ebp,eax - mov esi,edx - shld edx,edx,5 - add ecx,ebp - xor esi,eax - shrd edi,edi,7 - add ecx,edx - mov ebp,DWORD [196+esp] - cmp ebp,DWORD [200+esp] - je NEAR L$010done - vmovdqa xmm7,[160+esp] - vmovdqa xmm6,[176+esp] - vmovdqu xmm0,[ebp] - vmovdqu xmm1,[16+ebp] - vmovdqu xmm2,[32+ebp] - vmovdqu xmm3,[48+ebp] - add ebp,64 - vpshufb xmm0,xmm0,xmm6 - mov DWORD [196+esp],ebp - vmovdqa [96+esp],xmm7 - add ebx,DWORD [16+esp] - xor esi,edi - vpshufb xmm1,xmm1,xmm6 - mov ebp,ecx - shld ecx,ecx,5 - vpaddd xmm4,xmm0,xmm7 - add ebx,esi - xor ebp,edi - shrd edx,edx,7 - add ebx,ecx - vmovdqa [esp],xmm4 - add eax,DWORD [20+esp] - xor ebp,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,ebp - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - add edi,DWORD [24+esp] - xor esi,ecx - mov ebp,eax - shld eax,eax,5 - add edi,esi - xor ebp,ecx - shrd ebx,ebx,7 - add edi,eax - add edx,DWORD [28+esp] - xor ebp,ebx - mov esi,edi - shld edi,edi,5 - add edx,ebp - xor esi,ebx - shrd eax,eax,7 - add edx,edi - add ecx,DWORD [32+esp] - xor esi,eax - vpshufb xmm2,xmm2,xmm6 - mov ebp,edx - shld edx,edx,5 - vpaddd xmm5,xmm1,xmm7 - add ecx,esi - xor ebp,eax - shrd edi,edi,7 - add ecx,edx - vmovdqa [16+esp],xmm5 - add ebx,DWORD [36+esp] - xor ebp,edi - mov esi,ecx - shld ecx,ecx,5 - add ebx,ebp - xor esi,edi - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD [40+esp] - xor esi,edx - mov ebp,ebx - shld ebx,ebx,5 - add eax,esi - xor ebp,edx - shrd ecx,ecx,7 - add eax,ebx - add edi,DWORD [44+esp] - xor ebp,ecx - mov esi,eax - shld eax,eax,5 - add edi,ebp - xor esi,ecx - shrd ebx,ebx,7 - add edi,eax - add edx,DWORD [48+esp] - xor esi,ebx - vpshufb xmm3,xmm3,xmm6 - mov ebp,edi - shld edi,edi,5 - vpaddd xmm6,xmm2,xmm7 - add edx,esi - xor ebp,ebx - shrd eax,eax,7 - add edx,edi - vmovdqa [32+esp],xmm6 - add ecx,DWORD [52+esp] - xor ebp,eax - mov esi,edx - shld edx,edx,5 - add ecx,ebp - xor esi,eax - shrd edi,edi,7 - add ecx,edx - add ebx,DWORD [56+esp] - xor esi,edi - mov ebp,ecx - shld ecx,ecx,5 - add ebx,esi - xor ebp,edi - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD [60+esp] - xor ebp,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,ebp - shrd ecx,ecx,7 - add eax,ebx - mov ebp,DWORD [192+esp] - add eax,DWORD [ebp] - add esi,DWORD [4+ebp] - add ecx,DWORD [8+ebp] - mov DWORD [ebp],eax - add edx,DWORD [12+ebp] - mov DWORD [4+ebp],esi - add edi,DWORD [16+ebp] - mov ebx,ecx - mov DWORD [8+ebp],ecx - xor ebx,edx - mov DWORD [12+ebp],edx - mov DWORD [16+ebp],edi - mov ebp,esi - and esi,ebx - mov ebx,ebp - jmp NEAR L$009loop -align 16 -L$010done: - add ebx,DWORD [16+esp] - xor esi,edi - mov ebp,ecx - shld ecx,ecx,5 - add ebx,esi - xor ebp,edi - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD [20+esp] - xor ebp,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,ebp - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - add edi,DWORD [24+esp] - xor esi,ecx - mov ebp,eax - shld eax,eax,5 - add edi,esi - xor ebp,ecx - shrd ebx,ebx,7 - add edi,eax - add edx,DWORD [28+esp] - xor ebp,ebx - mov esi,edi - shld edi,edi,5 - add edx,ebp - xor esi,ebx - shrd eax,eax,7 - add edx,edi - add ecx,DWORD [32+esp] - xor esi,eax - mov ebp,edx - shld edx,edx,5 - add ecx,esi - xor ebp,eax - shrd edi,edi,7 - add ecx,edx - add ebx,DWORD [36+esp] - xor ebp,edi - mov esi,ecx - shld ecx,ecx,5 - add ebx,ebp - xor esi,edi - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD [40+esp] - xor esi,edx - mov ebp,ebx - shld ebx,ebx,5 - add eax,esi - xor ebp,edx - shrd ecx,ecx,7 - add eax,ebx - add edi,DWORD [44+esp] - xor ebp,ecx - mov esi,eax - shld eax,eax,5 - add edi,ebp - xor esi,ecx - shrd ebx,ebx,7 - add edi,eax - add edx,DWORD [48+esp] - xor esi,ebx - mov ebp,edi - shld edi,edi,5 - add edx,esi - xor ebp,ebx - shrd eax,eax,7 - add edx,edi - add ecx,DWORD [52+esp] - xor ebp,eax - mov esi,edx - shld edx,edx,5 - add ecx,ebp - xor esi,eax - shrd edi,edi,7 - add ecx,edx - add ebx,DWORD [56+esp] - xor esi,edi - mov ebp,ecx - shld ecx,ecx,5 - add ebx,esi - xor ebp,edi - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD [60+esp] - xor ebp,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,ebp - shrd ecx,ecx,7 - add eax,ebx - vzeroall - mov ebp,DWORD [192+esp] - add eax,DWORD [ebp] - mov esp,DWORD [204+esp] - add esi,DWORD [4+ebp] - add ecx,DWORD [8+ebp] - mov DWORD [ebp],eax - add edx,DWORD [12+ebp] - mov DWORD [4+ebp],esi - add edi,DWORD [16+ebp] - mov DWORD [8+ebp],ecx - mov DWORD [12+ebp],edx - mov DWORD [16+ebp],edi - pop edi - pop esi - pop ebx - pop ebp - ret -align 64 -L$K_XX_XX: -dd 1518500249,1518500249,1518500249,1518500249 -dd 1859775393,1859775393,1859775393,1859775393 -dd 2400959708,2400959708,2400959708,2400959708 -dd 3395469782,3395469782,3395469782,3395469782 -dd 66051,67438087,134810123,202182159 -db 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 -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 -segment .bss -common _OPENSSL_ia32cap_P 16 +%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 _sha1_block_data_order +align 16 +_sha1_block_data_order: +L$_sha1_block_data_order_begin: + push ebp + push ebx + push esi + push edi + call L$000pic_point +L$000pic_point: + pop ebp + lea esi,[_OPENSSL_ia32cap_P] + lea ebp,[(L$K_XX_XX-L$000pic_point)+ebp] + mov eax,DWORD [esi] + mov edx,DWORD [4+esi] + test edx,512 + jz NEAR L$001x86 + mov ecx,DWORD [8+esi] + test eax,16777216 + jz NEAR L$001x86 + test ecx,536870912 + jnz NEAR L$shaext_shortcut + and edx,268435456 + and eax,1073741824 + or eax,edx + cmp eax,1342177280 + je NEAR L$avx_shortcut + jmp NEAR L$ssse3_shortcut +align 16 +L$001x86: + 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$002loop +align 16 +L$002loop: + 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$002loop + add esp,76 + pop edi + pop esi + pop ebx + pop ebp + ret +align 16 +__sha1_block_data_order_shaext: + push ebp + push ebx + push esi + push edi + call L$003pic_point +L$003pic_point: + pop ebp + lea ebp,[(L$K_XX_XX-L$003pic_point)+ebp] +L$shaext_shortcut: + mov edi,DWORD [20+esp] + mov ebx,esp + mov esi,DWORD [24+esp] + mov ecx,DWORD [28+esp] + sub esp,32 + movdqu xmm0,[edi] + movd xmm1,DWORD [16+edi] + and esp,-32 + movdqa xmm3,[80+ebp] + movdqu xmm4,[esi] + pshufd xmm0,xmm0,27 + movdqu xmm5,[16+esi] + pshufd xmm1,xmm1,27 + movdqu xmm6,[32+esi] +db 102,15,56,0,227 + movdqu xmm7,[48+esi] +db 102,15,56,0,235 +db 102,15,56,0,243 +db 102,15,56,0,251 + jmp NEAR L$004loop_shaext +align 16 +L$004loop_shaext: + dec ecx + lea eax,[64+esi] + movdqa [esp],xmm1 + paddd xmm1,xmm4 + cmovne esi,eax + movdqa [16+esp],xmm0 +db 15,56,201,229 + movdqa xmm2,xmm0 +db 15,58,204,193,0 +db 15,56,200,213 + pxor xmm4,xmm6 +db 15,56,201,238 +db 15,56,202,231 + movdqa xmm1,xmm0 +db 15,58,204,194,0 +db 15,56,200,206 + pxor xmm5,xmm7 +db 15,56,202,236 +db 15,56,201,247 + movdqa xmm2,xmm0 +db 15,58,204,193,0 +db 15,56,200,215 + pxor xmm6,xmm4 +db 15,56,201,252 +db 15,56,202,245 + movdqa xmm1,xmm0 +db 15,58,204,194,0 +db 15,56,200,204 + pxor xmm7,xmm5 +db 15,56,202,254 +db 15,56,201,229 + movdqa xmm2,xmm0 +db 15,58,204,193,0 +db 15,56,200,213 + pxor xmm4,xmm6 +db 15,56,201,238 +db 15,56,202,231 + movdqa xmm1,xmm0 +db 15,58,204,194,1 +db 15,56,200,206 + pxor xmm5,xmm7 +db 15,56,202,236 +db 15,56,201,247 + movdqa xmm2,xmm0 +db 15,58,204,193,1 +db 15,56,200,215 + pxor xmm6,xmm4 +db 15,56,201,252 +db 15,56,202,245 + movdqa xmm1,xmm0 +db 15,58,204,194,1 +db 15,56,200,204 + pxor xmm7,xmm5 +db 15,56,202,254 +db 15,56,201,229 + movdqa xmm2,xmm0 +db 15,58,204,193,1 +db 15,56,200,213 + pxor xmm4,xmm6 +db 15,56,201,238 +db 15,56,202,231 + movdqa xmm1,xmm0 +db 15,58,204,194,1 +db 15,56,200,206 + pxor xmm5,xmm7 +db 15,56,202,236 +db 15,56,201,247 + movdqa xmm2,xmm0 +db 15,58,204,193,2 +db 15,56,200,215 + pxor xmm6,xmm4 +db 15,56,201,252 +db 15,56,202,245 + movdqa xmm1,xmm0 +db 15,58,204,194,2 +db 15,56,200,204 + pxor xmm7,xmm5 +db 15,56,202,254 +db 15,56,201,229 + movdqa xmm2,xmm0 +db 15,58,204,193,2 +db 15,56,200,213 + pxor xmm4,xmm6 +db 15,56,201,238 +db 15,56,202,231 + movdqa xmm1,xmm0 +db 15,58,204,194,2 +db 15,56,200,206 + pxor xmm5,xmm7 +db 15,56,202,236 +db 15,56,201,247 + movdqa xmm2,xmm0 +db 15,58,204,193,2 +db 15,56,200,215 + pxor xmm6,xmm4 +db 15,56,201,252 +db 15,56,202,245 + movdqa xmm1,xmm0 +db 15,58,204,194,3 +db 15,56,200,204 + pxor xmm7,xmm5 +db 15,56,202,254 + movdqu xmm4,[esi] + movdqa xmm2,xmm0 +db 15,58,204,193,3 +db 15,56,200,213 + movdqu xmm5,[16+esi] +db 102,15,56,0,227 + movdqa xmm1,xmm0 +db 15,58,204,194,3 +db 15,56,200,206 + movdqu xmm6,[32+esi] +db 102,15,56,0,235 + movdqa xmm2,xmm0 +db 15,58,204,193,3 +db 15,56,200,215 + movdqu xmm7,[48+esi] +db 102,15,56,0,243 + movdqa xmm1,xmm0 +db 15,58,204,194,3 + movdqa xmm2,[esp] +db 102,15,56,0,251 +db 15,56,200,202 + paddd xmm0,[16+esp] + jnz NEAR L$004loop_shaext + pshufd xmm0,xmm0,27 + pshufd xmm1,xmm1,27 + movdqu [edi],xmm0 + movd DWORD [16+edi],xmm1 + mov esp,ebx + pop edi + pop esi + pop ebx + pop ebp + ret +align 16 +__sha1_block_data_order_ssse3: + push ebp + push ebx + push esi + push edi + call L$005pic_point +L$005pic_point: + pop ebp + lea ebp,[(L$K_XX_XX-L$005pic_point)+ebp] +L$ssse3_shortcut: + movdqa xmm7,[ebp] + movdqa xmm0,[16+ebp] + movdqa xmm1,[32+ebp] + movdqa xmm2,[48+ebp] + movdqa xmm6,[64+ebp] + mov edi,DWORD [20+esp] + mov ebp,DWORD [24+esp] + mov edx,DWORD [28+esp] + mov esi,esp + sub esp,208 + and esp,-64 + movdqa [112+esp],xmm0 + movdqa [128+esp],xmm1 + movdqa [144+esp],xmm2 + shl edx,6 + movdqa [160+esp],xmm7 + add edx,ebp + movdqa [176+esp],xmm6 + add ebp,64 + mov DWORD [192+esp],edi + mov DWORD [196+esp],ebp + mov DWORD [200+esp],edx + mov DWORD [204+esp],esi + mov eax,DWORD [edi] + mov ebx,DWORD [4+edi] + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] + mov edi,DWORD [16+edi] + mov esi,ebx + movdqu xmm0,[ebp-64] + movdqu xmm1,[ebp-48] + movdqu xmm2,[ebp-32] + movdqu xmm3,[ebp-16] +db 102,15,56,0,198 +db 102,15,56,0,206 +db 102,15,56,0,214 + movdqa [96+esp],xmm7 +db 102,15,56,0,222 + paddd xmm0,xmm7 + paddd xmm1,xmm7 + paddd xmm2,xmm7 + movdqa [esp],xmm0 + psubd xmm0,xmm7 + movdqa [16+esp],xmm1 + psubd xmm1,xmm7 + movdqa [32+esp],xmm2 + mov ebp,ecx + psubd xmm2,xmm7 + xor ebp,edx + pshufd xmm4,xmm0,238 + and esi,ebp + jmp NEAR L$006loop +align 16 +L$006loop: + ror ebx,2 + xor esi,edx + mov ebp,eax + punpcklqdq xmm4,xmm1 + movdqa xmm6,xmm3 + add edi,DWORD [esp] + xor ebx,ecx + paddd xmm7,xmm3 + movdqa [64+esp],xmm0 + rol eax,5 + add edi,esi + psrldq xmm6,4 + and ebp,ebx + xor ebx,ecx + pxor xmm4,xmm0 + add edi,eax + ror eax,7 + pxor xmm6,xmm2 + xor ebp,ecx + mov esi,edi + add edx,DWORD [4+esp] + pxor xmm4,xmm6 + xor eax,ebx + rol edi,5 + movdqa [48+esp],xmm7 + add edx,ebp + and esi,eax + movdqa xmm0,xmm4 + xor eax,ebx + add edx,edi + ror edi,7 + movdqa xmm6,xmm4 + xor esi,ebx + pslldq xmm0,12 + paddd xmm4,xmm4 + mov ebp,edx + add ecx,DWORD [8+esp] + psrld xmm6,31 + xor edi,eax + rol edx,5 + movdqa xmm7,xmm0 + add ecx,esi + and ebp,edi + xor edi,eax + psrld xmm0,30 + add ecx,edx + ror edx,7 + por xmm4,xmm6 + xor ebp,eax + mov esi,ecx + add ebx,DWORD [12+esp] + pslld xmm7,2 + xor edx,edi + rol ecx,5 + pxor xmm4,xmm0 + movdqa xmm0,[96+esp] + add ebx,ebp + and esi,edx + pxor xmm4,xmm7 + pshufd xmm5,xmm1,238 + xor edx,edi + add ebx,ecx + ror ecx,7 + xor esi,edi + mov ebp,ebx + punpcklqdq xmm5,xmm2 + movdqa xmm7,xmm4 + add eax,DWORD [16+esp] + xor ecx,edx + paddd xmm0,xmm4 + movdqa [80+esp],xmm1 + rol ebx,5 + add eax,esi + psrldq xmm7,4 + and ebp,ecx + xor ecx,edx + pxor xmm5,xmm1 + add eax,ebx + ror ebx,7 + pxor xmm7,xmm3 + xor ebp,edx + mov esi,eax + add edi,DWORD [20+esp] + pxor xmm5,xmm7 + xor ebx,ecx + rol eax,5 + movdqa [esp],xmm0 + add edi,ebp + and esi,ebx + movdqa xmm1,xmm5 + xor ebx,ecx + add edi,eax + ror eax,7 + movdqa xmm7,xmm5 + xor esi,ecx + pslldq xmm1,12 + paddd xmm5,xmm5 + mov ebp,edi + add edx,DWORD [24+esp] + psrld xmm7,31 + xor eax,ebx + rol edi,5 + movdqa xmm0,xmm1 + add edx,esi + and ebp,eax + xor eax,ebx + psrld xmm1,30 + add edx,edi + ror edi,7 + por xmm5,xmm7 + xor ebp,ebx + mov esi,edx + add ecx,DWORD [28+esp] + pslld xmm0,2 + xor edi,eax + rol edx,5 + pxor xmm5,xmm1 + movdqa xmm1,[112+esp] + add ecx,ebp + and esi,edi + pxor xmm5,xmm0 + pshufd xmm6,xmm2,238 + xor edi,eax + add ecx,edx + ror edx,7 + xor esi,eax + mov ebp,ecx + punpcklqdq xmm6,xmm3 + movdqa xmm0,xmm5 + add ebx,DWORD [32+esp] + xor edx,edi + paddd xmm1,xmm5 + movdqa [96+esp],xmm2 + rol ecx,5 + add ebx,esi + psrldq xmm0,4 + and ebp,edx + xor edx,edi + pxor xmm6,xmm2 + add ebx,ecx + ror ecx,7 + pxor xmm0,xmm4 + xor ebp,edi + mov esi,ebx + add eax,DWORD [36+esp] + pxor xmm6,xmm0 + xor ecx,edx + rol ebx,5 + movdqa [16+esp],xmm1 + add eax,ebp + and esi,ecx + movdqa xmm2,xmm6 + xor ecx,edx + add eax,ebx + ror ebx,7 + movdqa xmm0,xmm6 + xor esi,edx + pslldq xmm2,12 + paddd xmm6,xmm6 + mov ebp,eax + add edi,DWORD [40+esp] + psrld xmm0,31 + xor ebx,ecx + rol eax,5 + movdqa xmm1,xmm2 + add edi,esi + and ebp,ebx + xor ebx,ecx + psrld xmm2,30 + add edi,eax + ror eax,7 + por xmm6,xmm0 + xor ebp,ecx + movdqa xmm0,[64+esp] + mov esi,edi + add edx,DWORD [44+esp] + pslld xmm1,2 + xor eax,ebx + rol edi,5 + pxor xmm6,xmm2 + movdqa xmm2,[112+esp] + add edx,ebp + and esi,eax + pxor xmm6,xmm1 + pshufd xmm7,xmm3,238 + xor eax,ebx + add edx,edi + ror edi,7 + xor esi,ebx + mov ebp,edx + punpcklqdq xmm7,xmm4 + movdqa xmm1,xmm6 + add ecx,DWORD [48+esp] + xor edi,eax + paddd xmm2,xmm6 + movdqa [64+esp],xmm3 + rol edx,5 + add ecx,esi + psrldq xmm1,4 + and ebp,edi + xor edi,eax + pxor xmm7,xmm3 + add ecx,edx + ror edx,7 + pxor xmm1,xmm5 + xor ebp,eax + mov esi,ecx + add ebx,DWORD [52+esp] + pxor xmm7,xmm1 + xor edx,edi + rol ecx,5 + movdqa [32+esp],xmm2 + add ebx,ebp + and esi,edx + movdqa xmm3,xmm7 + xor edx,edi + add ebx,ecx + ror ecx,7 + movdqa xmm1,xmm7 + xor esi,edi + pslldq xmm3,12 + paddd xmm7,xmm7 + mov ebp,ebx + add eax,DWORD [56+esp] + psrld xmm1,31 + xor ecx,edx + rol ebx,5 + movdqa xmm2,xmm3 + add eax,esi + and ebp,ecx + xor ecx,edx + psrld xmm3,30 + add eax,ebx + ror ebx,7 + por xmm7,xmm1 + xor ebp,edx + movdqa xmm1,[80+esp] + mov esi,eax + add edi,DWORD [60+esp] + pslld xmm2,2 + xor ebx,ecx + rol eax,5 + pxor xmm7,xmm3 + movdqa xmm3,[112+esp] + add edi,ebp + and esi,ebx + pxor xmm7,xmm2 + pshufd xmm2,xmm6,238 + xor ebx,ecx + add edi,eax + ror eax,7 + pxor xmm0,xmm4 + punpcklqdq xmm2,xmm7 + xor esi,ecx + mov ebp,edi + add edx,DWORD [esp] + pxor xmm0,xmm1 + movdqa [80+esp],xmm4 + xor eax,ebx + rol edi,5 + movdqa xmm4,xmm3 + add edx,esi + paddd xmm3,xmm7 + and ebp,eax + pxor xmm0,xmm2 + xor eax,ebx + add edx,edi + ror edi,7 + xor ebp,ebx + movdqa xmm2,xmm0 + movdqa [48+esp],xmm3 + mov esi,edx + add ecx,DWORD [4+esp] + xor edi,eax + rol edx,5 + pslld xmm0,2 + add ecx,ebp + and esi,edi + psrld xmm2,30 + xor edi,eax + add ecx,edx + ror edx,7 + xor esi,eax + mov ebp,ecx + add ebx,DWORD [8+esp] + xor edx,edi + rol ecx,5 + por xmm0,xmm2 + add ebx,esi + and ebp,edx + movdqa xmm2,[96+esp] + xor edx,edi + add ebx,ecx + add eax,DWORD [12+esp] + xor ebp,edi + mov esi,ebx + pshufd xmm3,xmm7,238 + rol ebx,5 + add eax,ebp + xor esi,edx + ror ecx,7 + add eax,ebx + add edi,DWORD [16+esp] + pxor xmm1,xmm5 + punpcklqdq xmm3,xmm0 + xor esi,ecx + mov ebp,eax + rol eax,5 + pxor xmm1,xmm2 + movdqa [96+esp],xmm5 + add edi,esi + xor ebp,ecx + movdqa xmm5,xmm4 + ror ebx,7 + paddd xmm4,xmm0 + add edi,eax + pxor xmm1,xmm3 + add edx,DWORD [20+esp] + xor ebp,ebx + mov esi,edi + rol edi,5 + movdqa xmm3,xmm1 + movdqa [esp],xmm4 + add edx,ebp + xor esi,ebx + ror eax,7 + add edx,edi + pslld xmm1,2 + add ecx,DWORD [24+esp] + xor esi,eax + psrld xmm3,30 + mov ebp,edx + rol edx,5 + add ecx,esi + xor ebp,eax + ror edi,7 + add ecx,edx + por xmm1,xmm3 + add ebx,DWORD [28+esp] + xor ebp,edi + movdqa xmm3,[64+esp] + mov esi,ecx + rol ecx,5 + add ebx,ebp + xor esi,edi + ror edx,7 + pshufd xmm4,xmm0,238 + add ebx,ecx + add eax,DWORD [32+esp] + pxor xmm2,xmm6 + punpcklqdq xmm4,xmm1 + xor esi,edx + mov ebp,ebx + rol ebx,5 + pxor xmm2,xmm3 + movdqa [64+esp],xmm6 + add eax,esi + xor ebp,edx + movdqa xmm6,[128+esp] + ror ecx,7 + paddd xmm5,xmm1 + add eax,ebx + pxor xmm2,xmm4 + add edi,DWORD [36+esp] + xor ebp,ecx + mov esi,eax + rol eax,5 + movdqa xmm4,xmm2 + movdqa [16+esp],xmm5 + add edi,ebp + xor esi,ecx + ror ebx,7 + add edi,eax + pslld xmm2,2 + add edx,DWORD [40+esp] + xor esi,ebx + psrld xmm4,30 + mov ebp,edi + rol edi,5 + add edx,esi + xor ebp,ebx + ror eax,7 + add edx,edi + por xmm2,xmm4 + add ecx,DWORD [44+esp] + xor ebp,eax + movdqa xmm4,[80+esp] + mov esi,edx + rol edx,5 + add ecx,ebp + xor esi,eax + ror edi,7 + pshufd xmm5,xmm1,238 + add ecx,edx + add ebx,DWORD [48+esp] + pxor xmm3,xmm7 + punpcklqdq xmm5,xmm2 + xor esi,edi + mov ebp,ecx + rol ecx,5 + pxor xmm3,xmm4 + movdqa [80+esp],xmm7 + add ebx,esi + xor ebp,edi + movdqa xmm7,xmm6 + ror edx,7 + paddd xmm6,xmm2 + add ebx,ecx + pxor xmm3,xmm5 + add eax,DWORD [52+esp] + xor ebp,edx + mov esi,ebx + rol ebx,5 + movdqa xmm5,xmm3 + movdqa [32+esp],xmm6 + add eax,ebp + xor esi,edx + ror ecx,7 + add eax,ebx + pslld xmm3,2 + add edi,DWORD [56+esp] + xor esi,ecx + psrld xmm5,30 + mov ebp,eax + rol eax,5 + add edi,esi + xor ebp,ecx + ror ebx,7 + add edi,eax + por xmm3,xmm5 + add edx,DWORD [60+esp] + xor ebp,ebx + movdqa xmm5,[96+esp] + mov esi,edi + rol edi,5 + add edx,ebp + xor esi,ebx + ror eax,7 + pshufd xmm6,xmm2,238 + add edx,edi + add ecx,DWORD [esp] + pxor xmm4,xmm0 + punpcklqdq xmm6,xmm3 + xor esi,eax + mov ebp,edx + rol edx,5 + pxor xmm4,xmm5 + movdqa [96+esp],xmm0 + add ecx,esi + xor ebp,eax + movdqa xmm0,xmm7 + ror edi,7 + paddd xmm7,xmm3 + add ecx,edx + pxor xmm4,xmm6 + add ebx,DWORD [4+esp] + xor ebp,edi + mov esi,ecx + rol ecx,5 + movdqa xmm6,xmm4 + movdqa [48+esp],xmm7 + add ebx,ebp + xor esi,edi + ror edx,7 + add ebx,ecx + pslld xmm4,2 + add eax,DWORD [8+esp] + xor esi,edx + psrld xmm6,30 + mov ebp,ebx + rol ebx,5 + add eax,esi + xor ebp,edx + ror ecx,7 + add eax,ebx + por xmm4,xmm6 + add edi,DWORD [12+esp] + xor ebp,ecx + movdqa xmm6,[64+esp] + mov esi,eax + rol eax,5 + add edi,ebp + xor esi,ecx + ror ebx,7 + pshufd xmm7,xmm3,238 + add edi,eax + add edx,DWORD [16+esp] + pxor xmm5,xmm1 + punpcklqdq xmm7,xmm4 + xor esi,ebx + mov ebp,edi + rol edi,5 + pxor xmm5,xmm6 + movdqa [64+esp],xmm1 + add edx,esi + xor ebp,ebx + movdqa xmm1,xmm0 + ror eax,7 + paddd xmm0,xmm4 + add edx,edi + pxor xmm5,xmm7 + add ecx,DWORD [20+esp] + xor ebp,eax + mov esi,edx + rol edx,5 + movdqa xmm7,xmm5 + movdqa [esp],xmm0 + add ecx,ebp + xor esi,eax + ror edi,7 + add ecx,edx + pslld xmm5,2 + add ebx,DWORD [24+esp] + xor esi,edi + psrld xmm7,30 + mov ebp,ecx + rol ecx,5 + add ebx,esi + xor ebp,edi + ror edx,7 + add ebx,ecx + por xmm5,xmm7 + add eax,DWORD [28+esp] + movdqa xmm7,[80+esp] + ror ecx,7 + mov esi,ebx + xor ebp,edx + rol ebx,5 + pshufd xmm0,xmm4,238 + add eax,ebp + xor esi,ecx + xor ecx,edx + add eax,ebx + add edi,DWORD [32+esp] + pxor xmm6,xmm2 + punpcklqdq xmm0,xmm5 + and esi,ecx + xor ecx,edx + ror ebx,7 + pxor xmm6,xmm7 + movdqa [80+esp],xmm2 + mov ebp,eax + xor esi,ecx + rol eax,5 + movdqa xmm2,xmm1 + add edi,esi + paddd xmm1,xmm5 + xor ebp,ebx + pxor xmm6,xmm0 + xor ebx,ecx + add edi,eax + add edx,DWORD [36+esp] + and ebp,ebx + movdqa xmm0,xmm6 + movdqa [16+esp],xmm1 + xor ebx,ecx + ror eax,7 + mov esi,edi + xor ebp,ebx + rol edi,5 + pslld xmm6,2 + add edx,ebp + xor esi,eax + psrld xmm0,30 + xor eax,ebx + add edx,edi + add ecx,DWORD [40+esp] + and esi,eax + xor eax,ebx + ror edi,7 + por xmm6,xmm0 + mov ebp,edx + xor esi,eax + movdqa xmm0,[96+esp] + rol edx,5 + add ecx,esi + xor ebp,edi + xor edi,eax + add ecx,edx + pshufd xmm1,xmm5,238 + add ebx,DWORD [44+esp] + and ebp,edi + xor edi,eax + ror edx,7 + mov esi,ecx + xor ebp,edi + rol ecx,5 + add ebx,ebp + xor esi,edx + xor edx,edi + add ebx,ecx + add eax,DWORD [48+esp] + pxor xmm7,xmm3 + punpcklqdq xmm1,xmm6 + and esi,edx + xor edx,edi + ror ecx,7 + pxor xmm7,xmm0 + movdqa [96+esp],xmm3 + mov ebp,ebx + xor esi,edx + rol ebx,5 + movdqa xmm3,[144+esp] + add eax,esi + paddd xmm2,xmm6 + xor ebp,ecx + pxor xmm7,xmm1 + xor ecx,edx + add eax,ebx + add edi,DWORD [52+esp] + and ebp,ecx + movdqa xmm1,xmm7 + movdqa [32+esp],xmm2 + xor ecx,edx + ror ebx,7 + mov esi,eax + xor ebp,ecx + rol eax,5 + pslld xmm7,2 + add edi,ebp + xor esi,ebx + psrld xmm1,30 + xor ebx,ecx + add edi,eax + add edx,DWORD [56+esp] + and esi,ebx + xor ebx,ecx + ror eax,7 + por xmm7,xmm1 + mov ebp,edi + xor esi,ebx + movdqa xmm1,[64+esp] + rol edi,5 + add edx,esi + xor ebp,eax + xor eax,ebx + add edx,edi + pshufd xmm2,xmm6,238 + add ecx,DWORD [60+esp] + and ebp,eax + xor eax,ebx + ror edi,7 + mov esi,edx + xor ebp,eax + rol edx,5 + add ecx,ebp + xor esi,edi + xor edi,eax + add ecx,edx + add ebx,DWORD [esp] + pxor xmm0,xmm4 + punpcklqdq xmm2,xmm7 + and esi,edi + xor edi,eax + ror edx,7 + pxor xmm0,xmm1 + movdqa [64+esp],xmm4 + mov ebp,ecx + xor esi,edi + rol ecx,5 + movdqa xmm4,xmm3 + add ebx,esi + paddd xmm3,xmm7 + xor ebp,edx + pxor xmm0,xmm2 + xor edx,edi + add ebx,ecx + add eax,DWORD [4+esp] + and ebp,edx + movdqa xmm2,xmm0 + movdqa [48+esp],xmm3 + xor edx,edi + ror ecx,7 + mov esi,ebx + xor ebp,edx + rol ebx,5 + pslld xmm0,2 + add eax,ebp + xor esi,ecx + psrld xmm2,30 + xor ecx,edx + add eax,ebx + add edi,DWORD [8+esp] + and esi,ecx + xor ecx,edx + ror ebx,7 + por xmm0,xmm2 + mov ebp,eax + xor esi,ecx + movdqa xmm2,[80+esp] + rol eax,5 + add edi,esi + xor ebp,ebx + xor ebx,ecx + add edi,eax + pshufd xmm3,xmm7,238 + add edx,DWORD [12+esp] + and ebp,ebx + xor ebx,ecx + ror eax,7 + mov esi,edi + xor ebp,ebx + rol edi,5 + add edx,ebp + xor esi,eax + xor eax,ebx + add edx,edi + add ecx,DWORD [16+esp] + pxor xmm1,xmm5 + punpcklqdq xmm3,xmm0 + and esi,eax + xor eax,ebx + ror edi,7 + pxor xmm1,xmm2 + movdqa [80+esp],xmm5 + mov ebp,edx + xor esi,eax + rol edx,5 + movdqa xmm5,xmm4 + add ecx,esi + paddd xmm4,xmm0 + xor ebp,edi + pxor xmm1,xmm3 + xor edi,eax + add ecx,edx + add ebx,DWORD [20+esp] + and ebp,edi + movdqa xmm3,xmm1 + movdqa [esp],xmm4 + xor edi,eax + ror edx,7 + mov esi,ecx + xor ebp,edi + rol ecx,5 + pslld xmm1,2 + add ebx,ebp + xor esi,edx + psrld xmm3,30 + xor edx,edi + add ebx,ecx + add eax,DWORD [24+esp] + and esi,edx + xor edx,edi + ror ecx,7 + por xmm1,xmm3 + mov ebp,ebx + xor esi,edx + movdqa xmm3,[96+esp] + rol ebx,5 + add eax,esi + xor ebp,ecx + xor ecx,edx + add eax,ebx + pshufd xmm4,xmm0,238 + add edi,DWORD [28+esp] + and ebp,ecx + xor ecx,edx + ror ebx,7 + mov esi,eax + xor ebp,ecx + rol eax,5 + add edi,ebp + xor esi,ebx + xor ebx,ecx + add edi,eax + add edx,DWORD [32+esp] + pxor xmm2,xmm6 + punpcklqdq xmm4,xmm1 + and esi,ebx + xor ebx,ecx + ror eax,7 + pxor xmm2,xmm3 + movdqa [96+esp],xmm6 + mov ebp,edi + xor esi,ebx + rol edi,5 + movdqa xmm6,xmm5 + add edx,esi + paddd xmm5,xmm1 + xor ebp,eax + pxor xmm2,xmm4 + xor eax,ebx + add edx,edi + add ecx,DWORD [36+esp] + and ebp,eax + movdqa xmm4,xmm2 + movdqa [16+esp],xmm5 + xor eax,ebx + ror edi,7 + mov esi,edx + xor ebp,eax + rol edx,5 + pslld xmm2,2 + add ecx,ebp + xor esi,edi + psrld xmm4,30 + xor edi,eax + add ecx,edx + add ebx,DWORD [40+esp] + and esi,edi + xor edi,eax + ror edx,7 + por xmm2,xmm4 + mov ebp,ecx + xor esi,edi + movdqa xmm4,[64+esp] + rol ecx,5 + add ebx,esi + xor ebp,edx + xor edx,edi + add ebx,ecx + pshufd xmm5,xmm1,238 + add eax,DWORD [44+esp] + and ebp,edx + xor edx,edi + ror ecx,7 + mov esi,ebx + xor ebp,edx + rol ebx,5 + add eax,ebp + xor esi,edx + add eax,ebx + add edi,DWORD [48+esp] + pxor xmm3,xmm7 + punpcklqdq xmm5,xmm2 + xor esi,ecx + mov ebp,eax + rol eax,5 + pxor xmm3,xmm4 + movdqa [64+esp],xmm7 + add edi,esi + xor ebp,ecx + movdqa xmm7,xmm6 + ror ebx,7 + paddd xmm6,xmm2 + add edi,eax + pxor xmm3,xmm5 + add edx,DWORD [52+esp] + xor ebp,ebx + mov esi,edi + rol edi,5 + movdqa xmm5,xmm3 + movdqa [32+esp],xmm6 + add edx,ebp + xor esi,ebx + ror eax,7 + add edx,edi + pslld xmm3,2 + add ecx,DWORD [56+esp] + xor esi,eax + psrld xmm5,30 + mov ebp,edx + rol edx,5 + add ecx,esi + xor ebp,eax + ror edi,7 + add ecx,edx + por xmm3,xmm5 + add ebx,DWORD [60+esp] + xor ebp,edi + mov esi,ecx + rol ecx,5 + add ebx,ebp + xor esi,edi + ror edx,7 + add ebx,ecx + add eax,DWORD [esp] + xor esi,edx + mov ebp,ebx + rol ebx,5 + add eax,esi + xor ebp,edx + ror ecx,7 + paddd xmm7,xmm3 + add eax,ebx + add edi,DWORD [4+esp] + xor ebp,ecx + mov esi,eax + movdqa [48+esp],xmm7 + rol eax,5 + add edi,ebp + xor esi,ecx + ror ebx,7 + add edi,eax + add edx,DWORD [8+esp] + xor esi,ebx + mov ebp,edi + rol edi,5 + add edx,esi + xor ebp,ebx + ror eax,7 + add edx,edi + add ecx,DWORD [12+esp] + xor ebp,eax + mov esi,edx + rol edx,5 + add ecx,ebp + xor esi,eax + ror edi,7 + add ecx,edx + mov ebp,DWORD [196+esp] + cmp ebp,DWORD [200+esp] + je NEAR L$007done + movdqa xmm7,[160+esp] + movdqa xmm6,[176+esp] + movdqu xmm0,[ebp] + movdqu xmm1,[16+ebp] + movdqu xmm2,[32+ebp] + movdqu xmm3,[48+ebp] + add ebp,64 +db 102,15,56,0,198 + mov DWORD [196+esp],ebp + movdqa [96+esp],xmm7 + add ebx,DWORD [16+esp] + xor esi,edi + mov ebp,ecx + rol ecx,5 + add ebx,esi + xor ebp,edi + ror edx,7 +db 102,15,56,0,206 + add ebx,ecx + add eax,DWORD [20+esp] + xor ebp,edx + mov esi,ebx + paddd xmm0,xmm7 + rol ebx,5 + add eax,ebp + xor esi,edx + ror ecx,7 + movdqa [esp],xmm0 + add eax,ebx + add edi,DWORD [24+esp] + xor esi,ecx + mov ebp,eax + psubd xmm0,xmm7 + rol eax,5 + add edi,esi + xor ebp,ecx + ror ebx,7 + add edi,eax + add edx,DWORD [28+esp] + xor ebp,ebx + mov esi,edi + rol edi,5 + add edx,ebp + xor esi,ebx + ror eax,7 + add edx,edi + add ecx,DWORD [32+esp] + xor esi,eax + mov ebp,edx + rol edx,5 + add ecx,esi + xor ebp,eax + ror edi,7 +db 102,15,56,0,214 + add ecx,edx + add ebx,DWORD [36+esp] + xor ebp,edi + mov esi,ecx + paddd xmm1,xmm7 + rol ecx,5 + add ebx,ebp + xor esi,edi + ror edx,7 + movdqa [16+esp],xmm1 + add ebx,ecx + add eax,DWORD [40+esp] + xor esi,edx + mov ebp,ebx + psubd xmm1,xmm7 + rol ebx,5 + add eax,esi + xor ebp,edx + ror ecx,7 + add eax,ebx + add edi,DWORD [44+esp] + xor ebp,ecx + mov esi,eax + rol eax,5 + add edi,ebp + xor esi,ecx + ror ebx,7 + add edi,eax + add edx,DWORD [48+esp] + xor esi,ebx + mov ebp,edi + rol edi,5 + add edx,esi + xor ebp,ebx + ror eax,7 +db 102,15,56,0,222 + add edx,edi + add ecx,DWORD [52+esp] + xor ebp,eax + mov esi,edx + paddd xmm2,xmm7 + rol edx,5 + add ecx,ebp + xor esi,eax + ror edi,7 + movdqa [32+esp],xmm2 + add ecx,edx + add ebx,DWORD [56+esp] + xor esi,edi + mov ebp,ecx + psubd xmm2,xmm7 + rol ecx,5 + add ebx,esi + xor ebp,edi + ror edx,7 + add ebx,ecx + add eax,DWORD [60+esp] + xor ebp,edx + mov esi,ebx + rol ebx,5 + add eax,ebp + ror ecx,7 + add eax,ebx + mov ebp,DWORD [192+esp] + add eax,DWORD [ebp] + add esi,DWORD [4+ebp] + add ecx,DWORD [8+ebp] + mov DWORD [ebp],eax + add edx,DWORD [12+ebp] + mov DWORD [4+ebp],esi + add edi,DWORD [16+ebp] + mov DWORD [8+ebp],ecx + mov ebx,ecx + mov DWORD [12+ebp],edx + xor ebx,edx + mov DWORD [16+ebp],edi + mov ebp,esi + pshufd xmm4,xmm0,238 + and esi,ebx + mov ebx,ebp + jmp NEAR L$006loop +align 16 +L$007done: + add ebx,DWORD [16+esp] + xor esi,edi + mov ebp,ecx + rol ecx,5 + add ebx,esi + xor ebp,edi + ror edx,7 + add ebx,ecx + add eax,DWORD [20+esp] + xor ebp,edx + mov esi,ebx + rol ebx,5 + add eax,ebp + xor esi,edx + ror ecx,7 + add eax,ebx + add edi,DWORD [24+esp] + xor esi,ecx + mov ebp,eax + rol eax,5 + add edi,esi + xor ebp,ecx + ror ebx,7 + add edi,eax + add edx,DWORD [28+esp] + xor ebp,ebx + mov esi,edi + rol edi,5 + add edx,ebp + xor esi,ebx + ror eax,7 + add edx,edi + add ecx,DWORD [32+esp] + xor esi,eax + mov ebp,edx + rol edx,5 + add ecx,esi + xor ebp,eax + ror edi,7 + add ecx,edx + add ebx,DWORD [36+esp] + xor ebp,edi + mov esi,ecx + rol ecx,5 + add ebx,ebp + xor esi,edi + ror edx,7 + add ebx,ecx + add eax,DWORD [40+esp] + xor esi,edx + mov ebp,ebx + rol ebx,5 + add eax,esi + xor ebp,edx + ror ecx,7 + add eax,ebx + add edi,DWORD [44+esp] + xor ebp,ecx + mov esi,eax + rol eax,5 + add edi,ebp + xor esi,ecx + ror ebx,7 + add edi,eax + add edx,DWORD [48+esp] + xor esi,ebx + mov ebp,edi + rol edi,5 + add edx,esi + xor ebp,ebx + ror eax,7 + add edx,edi + add ecx,DWORD [52+esp] + xor ebp,eax + mov esi,edx + rol edx,5 + add ecx,ebp + xor esi,eax + ror edi,7 + add ecx,edx + add ebx,DWORD [56+esp] + xor esi,edi + mov ebp,ecx + rol ecx,5 + add ebx,esi + xor ebp,edi + ror edx,7 + add ebx,ecx + add eax,DWORD [60+esp] + xor ebp,edx + mov esi,ebx + rol ebx,5 + add eax,ebp + ror ecx,7 + add eax,ebx + mov ebp,DWORD [192+esp] + add eax,DWORD [ebp] + mov esp,DWORD [204+esp] + add esi,DWORD [4+ebp] + add ecx,DWORD [8+ebp] + mov DWORD [ebp],eax + add edx,DWORD [12+ebp] + mov DWORD [4+ebp],esi + add edi,DWORD [16+ebp] + mov DWORD [8+ebp],ecx + mov DWORD [12+ebp],edx + mov DWORD [16+ebp],edi + pop edi + pop esi + pop ebx + pop ebp + ret +align 16 +__sha1_block_data_order_avx: + push ebp + push ebx + push esi + push edi + call L$008pic_point +L$008pic_point: + pop ebp + lea ebp,[(L$K_XX_XX-L$008pic_point)+ebp] +L$avx_shortcut: + vzeroall + vmovdqa xmm7,[ebp] + vmovdqa xmm0,[16+ebp] + vmovdqa xmm1,[32+ebp] + vmovdqa xmm2,[48+ebp] + vmovdqa xmm6,[64+ebp] + mov edi,DWORD [20+esp] + mov ebp,DWORD [24+esp] + mov edx,DWORD [28+esp] + mov esi,esp + sub esp,208 + and esp,-64 + vmovdqa [112+esp],xmm0 + vmovdqa [128+esp],xmm1 + vmovdqa [144+esp],xmm2 + shl edx,6 + vmovdqa [160+esp],xmm7 + add edx,ebp + vmovdqa [176+esp],xmm6 + add ebp,64 + mov DWORD [192+esp],edi + mov DWORD [196+esp],ebp + mov DWORD [200+esp],edx + mov DWORD [204+esp],esi + mov eax,DWORD [edi] + mov ebx,DWORD [4+edi] + mov ecx,DWORD [8+edi] + mov edx,DWORD [12+edi] + mov edi,DWORD [16+edi] + mov esi,ebx + vmovdqu xmm0,[ebp-64] + vmovdqu xmm1,[ebp-48] + vmovdqu xmm2,[ebp-32] + vmovdqu xmm3,[ebp-16] + vpshufb xmm0,xmm0,xmm6 + vpshufb xmm1,xmm1,xmm6 + vpshufb xmm2,xmm2,xmm6 + vmovdqa [96+esp],xmm7 + vpshufb xmm3,xmm3,xmm6 + vpaddd xmm4,xmm0,xmm7 + vpaddd xmm5,xmm1,xmm7 + vpaddd xmm6,xmm2,xmm7 + vmovdqa [esp],xmm4 + mov ebp,ecx + vmovdqa [16+esp],xmm5 + xor ebp,edx + vmovdqa [32+esp],xmm6 + and esi,ebp + jmp NEAR L$009loop +align 16 +L$009loop: + shrd ebx,ebx,2 + xor esi,edx + vpalignr xmm4,xmm1,xmm0,8 + mov ebp,eax + add edi,DWORD [esp] + vpaddd xmm7,xmm7,xmm3 + vmovdqa [64+esp],xmm0 + xor ebx,ecx + shld eax,eax,5 + vpsrldq xmm6,xmm3,4 + add edi,esi + and ebp,ebx + vpxor xmm4,xmm4,xmm0 + xor ebx,ecx + add edi,eax + vpxor xmm6,xmm6,xmm2 + shrd eax,eax,7 + xor ebp,ecx + vmovdqa [48+esp],xmm7 + mov esi,edi + add edx,DWORD [4+esp] + vpxor xmm4,xmm4,xmm6 + xor eax,ebx + shld edi,edi,5 + add edx,ebp + and esi,eax + vpsrld xmm6,xmm4,31 + xor eax,ebx + add edx,edi + shrd edi,edi,7 + xor esi,ebx + vpslldq xmm0,xmm4,12 + vpaddd xmm4,xmm4,xmm4 + mov ebp,edx + add ecx,DWORD [8+esp] + xor edi,eax + shld edx,edx,5 + vpsrld xmm7,xmm0,30 + vpor xmm4,xmm4,xmm6 + add ecx,esi + and ebp,edi + xor edi,eax + add ecx,edx + vpslld xmm0,xmm0,2 + shrd edx,edx,7 + xor ebp,eax + vpxor xmm4,xmm4,xmm7 + mov esi,ecx + add ebx,DWORD [12+esp] + xor edx,edi + shld ecx,ecx,5 + vpxor xmm4,xmm4,xmm0 + add ebx,ebp + and esi,edx + vmovdqa xmm0,[96+esp] + xor edx,edi + add ebx,ecx + shrd ecx,ecx,7 + xor esi,edi + vpalignr xmm5,xmm2,xmm1,8 + mov ebp,ebx + add eax,DWORD [16+esp] + vpaddd xmm0,xmm0,xmm4 + vmovdqa [80+esp],xmm1 + xor ecx,edx + shld ebx,ebx,5 + vpsrldq xmm7,xmm4,4 + add eax,esi + and ebp,ecx + vpxor xmm5,xmm5,xmm1 + xor ecx,edx + add eax,ebx + vpxor xmm7,xmm7,xmm3 + shrd ebx,ebx,7 + xor ebp,edx + vmovdqa [esp],xmm0 + mov esi,eax + add edi,DWORD [20+esp] + vpxor xmm5,xmm5,xmm7 + xor ebx,ecx + shld eax,eax,5 + add edi,ebp + and esi,ebx + vpsrld xmm7,xmm5,31 + xor ebx,ecx + add edi,eax + shrd eax,eax,7 + xor esi,ecx + vpslldq xmm1,xmm5,12 + vpaddd xmm5,xmm5,xmm5 + mov ebp,edi + add edx,DWORD [24+esp] + xor eax,ebx + shld edi,edi,5 + vpsrld xmm0,xmm1,30 + vpor xmm5,xmm5,xmm7 + add edx,esi + and ebp,eax + xor eax,ebx + add edx,edi + vpslld xmm1,xmm1,2 + shrd edi,edi,7 + xor ebp,ebx + vpxor xmm5,xmm5,xmm0 + mov esi,edx + add ecx,DWORD [28+esp] + xor edi,eax + shld edx,edx,5 + vpxor xmm5,xmm5,xmm1 + add ecx,ebp + and esi,edi + vmovdqa xmm1,[112+esp] + xor edi,eax + add ecx,edx + shrd edx,edx,7 + xor esi,eax + vpalignr xmm6,xmm3,xmm2,8 + mov ebp,ecx + add ebx,DWORD [32+esp] + vpaddd xmm1,xmm1,xmm5 + vmovdqa [96+esp],xmm2 + xor edx,edi + shld ecx,ecx,5 + vpsrldq xmm0,xmm5,4 + add ebx,esi + and ebp,edx + vpxor xmm6,xmm6,xmm2 + xor edx,edi + add ebx,ecx + vpxor xmm0,xmm0,xmm4 + shrd ecx,ecx,7 + xor ebp,edi + vmovdqa [16+esp],xmm1 + mov esi,ebx + add eax,DWORD [36+esp] + vpxor xmm6,xmm6,xmm0 + xor ecx,edx + shld ebx,ebx,5 + add eax,ebp + and esi,ecx + vpsrld xmm0,xmm6,31 + xor ecx,edx + add eax,ebx + shrd ebx,ebx,7 + xor esi,edx + vpslldq xmm2,xmm6,12 + vpaddd xmm6,xmm6,xmm6 + mov ebp,eax + add edi,DWORD [40+esp] + xor ebx,ecx + shld eax,eax,5 + vpsrld xmm1,xmm2,30 + vpor xmm6,xmm6,xmm0 + add edi,esi + and ebp,ebx + xor ebx,ecx + add edi,eax + vpslld xmm2,xmm2,2 + vmovdqa xmm0,[64+esp] + shrd eax,eax,7 + xor ebp,ecx + vpxor xmm6,xmm6,xmm1 + mov esi,edi + add edx,DWORD [44+esp] + xor eax,ebx + shld edi,edi,5 + vpxor xmm6,xmm6,xmm2 + add edx,ebp + and esi,eax + vmovdqa xmm2,[112+esp] + xor eax,ebx + add edx,edi + shrd edi,edi,7 + xor esi,ebx + vpalignr xmm7,xmm4,xmm3,8 + mov ebp,edx + add ecx,DWORD [48+esp] + vpaddd xmm2,xmm2,xmm6 + vmovdqa [64+esp],xmm3 + xor edi,eax + shld edx,edx,5 + vpsrldq xmm1,xmm6,4 + add ecx,esi + and ebp,edi + vpxor xmm7,xmm7,xmm3 + xor edi,eax + add ecx,edx + vpxor xmm1,xmm1,xmm5 + shrd edx,edx,7 + xor ebp,eax + vmovdqa [32+esp],xmm2 + mov esi,ecx + add ebx,DWORD [52+esp] + vpxor xmm7,xmm7,xmm1 + xor edx,edi + shld ecx,ecx,5 + add ebx,ebp + and esi,edx + vpsrld xmm1,xmm7,31 + xor edx,edi + add ebx,ecx + shrd ecx,ecx,7 + xor esi,edi + vpslldq xmm3,xmm7,12 + vpaddd xmm7,xmm7,xmm7 + mov ebp,ebx + add eax,DWORD [56+esp] + xor ecx,edx + shld ebx,ebx,5 + vpsrld xmm2,xmm3,30 + vpor xmm7,xmm7,xmm1 + add eax,esi + and ebp,ecx + xor ecx,edx + add eax,ebx + vpslld xmm3,xmm3,2 + vmovdqa xmm1,[80+esp] + shrd ebx,ebx,7 + xor ebp,edx + vpxor xmm7,xmm7,xmm2 + mov esi,eax + add edi,DWORD [60+esp] + xor ebx,ecx + shld eax,eax,5 + vpxor xmm7,xmm7,xmm3 + add edi,ebp + and esi,ebx + vmovdqa xmm3,[112+esp] + xor ebx,ecx + add edi,eax + vpalignr xmm2,xmm7,xmm6,8 + vpxor xmm0,xmm0,xmm4 + shrd eax,eax,7 + xor esi,ecx + mov ebp,edi + add edx,DWORD [esp] + vpxor xmm0,xmm0,xmm1 + vmovdqa [80+esp],xmm4 + xor eax,ebx + shld edi,edi,5 + vmovdqa xmm4,xmm3 + vpaddd xmm3,xmm3,xmm7 + add edx,esi + and ebp,eax + vpxor xmm0,xmm0,xmm2 + xor eax,ebx + add edx,edi + shrd edi,edi,7 + xor ebp,ebx + vpsrld xmm2,xmm0,30 + vmovdqa [48+esp],xmm3 + mov esi,edx + add ecx,DWORD [4+esp] + xor edi,eax + shld edx,edx,5 + vpslld xmm0,xmm0,2 + add ecx,ebp + and esi,edi + xor edi,eax + add ecx,edx + shrd edx,edx,7 + xor esi,eax + mov ebp,ecx + add ebx,DWORD [8+esp] + vpor xmm0,xmm0,xmm2 + xor edx,edi + shld ecx,ecx,5 + vmovdqa xmm2,[96+esp] + add ebx,esi + and ebp,edx + xor edx,edi + add ebx,ecx + add eax,DWORD [12+esp] + xor ebp,edi + mov esi,ebx + shld ebx,ebx,5 + add eax,ebp + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + vpalignr xmm3,xmm0,xmm7,8 + vpxor xmm1,xmm1,xmm5 + add edi,DWORD [16+esp] + xor esi,ecx + mov ebp,eax + shld eax,eax,5 + vpxor xmm1,xmm1,xmm2 + vmovdqa [96+esp],xmm5 + add edi,esi + xor ebp,ecx + vmovdqa xmm5,xmm4 + vpaddd xmm4,xmm4,xmm0 + shrd ebx,ebx,7 + add edi,eax + vpxor xmm1,xmm1,xmm3 + add edx,DWORD [20+esp] + xor ebp,ebx + mov esi,edi + shld edi,edi,5 + vpsrld xmm3,xmm1,30 + vmovdqa [esp],xmm4 + add edx,ebp + xor esi,ebx + shrd eax,eax,7 + add edx,edi + vpslld xmm1,xmm1,2 + add ecx,DWORD [24+esp] + xor esi,eax + mov ebp,edx + shld edx,edx,5 + add ecx,esi + xor ebp,eax + shrd edi,edi,7 + add ecx,edx + vpor xmm1,xmm1,xmm3 + add ebx,DWORD [28+esp] + xor ebp,edi + vmovdqa xmm3,[64+esp] + mov esi,ecx + shld ecx,ecx,5 + add ebx,ebp + xor esi,edi + shrd edx,edx,7 + add ebx,ecx + vpalignr xmm4,xmm1,xmm0,8 + vpxor xmm2,xmm2,xmm6 + add eax,DWORD [32+esp] + xor esi,edx + mov ebp,ebx + shld ebx,ebx,5 + vpxor xmm2,xmm2,xmm3 + vmovdqa [64+esp],xmm6 + add eax,esi + xor ebp,edx + vmovdqa xmm6,[128+esp] + vpaddd xmm5,xmm5,xmm1 + shrd ecx,ecx,7 + add eax,ebx + vpxor xmm2,xmm2,xmm4 + add edi,DWORD [36+esp] + xor ebp,ecx + mov esi,eax + shld eax,eax,5 + vpsrld xmm4,xmm2,30 + vmovdqa [16+esp],xmm5 + add edi,ebp + xor esi,ecx + shrd ebx,ebx,7 + add edi,eax + vpslld xmm2,xmm2,2 + add edx,DWORD [40+esp] + xor esi,ebx + mov ebp,edi + shld edi,edi,5 + add edx,esi + xor ebp,ebx + shrd eax,eax,7 + add edx,edi + vpor xmm2,xmm2,xmm4 + add ecx,DWORD [44+esp] + xor ebp,eax + vmovdqa xmm4,[80+esp] + mov esi,edx + shld edx,edx,5 + add ecx,ebp + xor esi,eax + shrd edi,edi,7 + add ecx,edx + vpalignr xmm5,xmm2,xmm1,8 + vpxor xmm3,xmm3,xmm7 + add ebx,DWORD [48+esp] + xor esi,edi + mov ebp,ecx + shld ecx,ecx,5 + vpxor xmm3,xmm3,xmm4 + vmovdqa [80+esp],xmm7 + add ebx,esi + xor ebp,edi + vmovdqa xmm7,xmm6 + vpaddd xmm6,xmm6,xmm2 + shrd edx,edx,7 + add ebx,ecx + vpxor xmm3,xmm3,xmm5 + add eax,DWORD [52+esp] + xor ebp,edx + mov esi,ebx + shld ebx,ebx,5 + vpsrld xmm5,xmm3,30 + vmovdqa [32+esp],xmm6 + add eax,ebp + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + vpslld xmm3,xmm3,2 + add edi,DWORD [56+esp] + xor esi,ecx + mov ebp,eax + shld eax,eax,5 + add edi,esi + xor ebp,ecx + shrd ebx,ebx,7 + add edi,eax + vpor xmm3,xmm3,xmm5 + add edx,DWORD [60+esp] + xor ebp,ebx + vmovdqa xmm5,[96+esp] + mov esi,edi + shld edi,edi,5 + add edx,ebp + xor esi,ebx + shrd eax,eax,7 + add edx,edi + vpalignr xmm6,xmm3,xmm2,8 + vpxor xmm4,xmm4,xmm0 + add ecx,DWORD [esp] + xor esi,eax + mov ebp,edx + shld edx,edx,5 + vpxor xmm4,xmm4,xmm5 + vmovdqa [96+esp],xmm0 + add ecx,esi + xor ebp,eax + vmovdqa xmm0,xmm7 + vpaddd xmm7,xmm7,xmm3 + shrd edi,edi,7 + add ecx,edx + vpxor xmm4,xmm4,xmm6 + add ebx,DWORD [4+esp] + xor ebp,edi + mov esi,ecx + shld ecx,ecx,5 + vpsrld xmm6,xmm4,30 + vmovdqa [48+esp],xmm7 + add ebx,ebp + xor esi,edi + shrd edx,edx,7 + add ebx,ecx + vpslld xmm4,xmm4,2 + add eax,DWORD [8+esp] + xor esi,edx + mov ebp,ebx + shld ebx,ebx,5 + add eax,esi + xor ebp,edx + shrd ecx,ecx,7 + add eax,ebx + vpor xmm4,xmm4,xmm6 + add edi,DWORD [12+esp] + xor ebp,ecx + vmovdqa xmm6,[64+esp] + mov esi,eax + shld eax,eax,5 + add edi,ebp + xor esi,ecx + shrd ebx,ebx,7 + add edi,eax + vpalignr xmm7,xmm4,xmm3,8 + vpxor xmm5,xmm5,xmm1 + add edx,DWORD [16+esp] + xor esi,ebx + mov ebp,edi + shld edi,edi,5 + vpxor xmm5,xmm5,xmm6 + vmovdqa [64+esp],xmm1 + add edx,esi + xor ebp,ebx + vmovdqa xmm1,xmm0 + vpaddd xmm0,xmm0,xmm4 + shrd eax,eax,7 + add edx,edi + vpxor xmm5,xmm5,xmm7 + add ecx,DWORD [20+esp] + xor ebp,eax + mov esi,edx + shld edx,edx,5 + vpsrld xmm7,xmm5,30 + vmovdqa [esp],xmm0 + add ecx,ebp + xor esi,eax + shrd edi,edi,7 + add ecx,edx + vpslld xmm5,xmm5,2 + add ebx,DWORD [24+esp] + xor esi,edi + mov ebp,ecx + shld ecx,ecx,5 + add ebx,esi + xor ebp,edi + shrd edx,edx,7 + add ebx,ecx + vpor xmm5,xmm5,xmm7 + add eax,DWORD [28+esp] + vmovdqa xmm7,[80+esp] + shrd ecx,ecx,7 + mov esi,ebx + xor ebp,edx + shld ebx,ebx,5 + add eax,ebp + xor esi,ecx + xor ecx,edx + add eax,ebx + vpalignr xmm0,xmm5,xmm4,8 + vpxor xmm6,xmm6,xmm2 + add edi,DWORD [32+esp] + and esi,ecx + xor ecx,edx + shrd ebx,ebx,7 + vpxor xmm6,xmm6,xmm7 + vmovdqa [80+esp],xmm2 + mov ebp,eax + xor esi,ecx + vmovdqa xmm2,xmm1 + vpaddd xmm1,xmm1,xmm5 + shld eax,eax,5 + add edi,esi + vpxor xmm6,xmm6,xmm0 + xor ebp,ebx + xor ebx,ecx + add edi,eax + add edx,DWORD [36+esp] + vpsrld xmm0,xmm6,30 + vmovdqa [16+esp],xmm1 + and ebp,ebx + xor ebx,ecx + shrd eax,eax,7 + mov esi,edi + vpslld xmm6,xmm6,2 + xor ebp,ebx + shld edi,edi,5 + add edx,ebp + xor esi,eax + xor eax,ebx + add edx,edi + add ecx,DWORD [40+esp] + and esi,eax + vpor xmm6,xmm6,xmm0 + xor eax,ebx + shrd edi,edi,7 + vmovdqa xmm0,[96+esp] + mov ebp,edx + xor esi,eax + shld edx,edx,5 + add ecx,esi + xor ebp,edi + xor edi,eax + add ecx,edx + add ebx,DWORD [44+esp] + and ebp,edi + xor edi,eax + shrd edx,edx,7 + mov esi,ecx + xor ebp,edi + shld ecx,ecx,5 + add ebx,ebp + xor esi,edx + xor edx,edi + add ebx,ecx + vpalignr xmm1,xmm6,xmm5,8 + vpxor xmm7,xmm7,xmm3 + add eax,DWORD [48+esp] + and esi,edx + xor edx,edi + shrd ecx,ecx,7 + vpxor xmm7,xmm7,xmm0 + vmovdqa [96+esp],xmm3 + mov ebp,ebx + xor esi,edx + vmovdqa xmm3,[144+esp] + vpaddd xmm2,xmm2,xmm6 + shld ebx,ebx,5 + add eax,esi + vpxor xmm7,xmm7,xmm1 + xor ebp,ecx + xor ecx,edx + add eax,ebx + add edi,DWORD [52+esp] + vpsrld xmm1,xmm7,30 + vmovdqa [32+esp],xmm2 + and ebp,ecx + xor ecx,edx + shrd ebx,ebx,7 + mov esi,eax + vpslld xmm7,xmm7,2 + xor ebp,ecx + shld eax,eax,5 + add edi,ebp + xor esi,ebx + xor ebx,ecx + add edi,eax + add edx,DWORD [56+esp] + and esi,ebx + vpor xmm7,xmm7,xmm1 + xor ebx,ecx + shrd eax,eax,7 + vmovdqa xmm1,[64+esp] + mov ebp,edi + xor esi,ebx + shld edi,edi,5 + add edx,esi + xor ebp,eax + xor eax,ebx + add edx,edi + add ecx,DWORD [60+esp] + and ebp,eax + xor eax,ebx + shrd edi,edi,7 + mov esi,edx + xor ebp,eax + shld edx,edx,5 + add ecx,ebp + xor esi,edi + xor edi,eax + add ecx,edx + vpalignr xmm2,xmm7,xmm6,8 + vpxor xmm0,xmm0,xmm4 + add ebx,DWORD [esp] + and esi,edi + xor edi,eax + shrd edx,edx,7 + vpxor xmm0,xmm0,xmm1 + vmovdqa [64+esp],xmm4 + mov ebp,ecx + xor esi,edi + vmovdqa xmm4,xmm3 + vpaddd xmm3,xmm3,xmm7 + shld ecx,ecx,5 + add ebx,esi + vpxor xmm0,xmm0,xmm2 + xor ebp,edx + xor edx,edi + add ebx,ecx + add eax,DWORD [4+esp] + vpsrld xmm2,xmm0,30 + vmovdqa [48+esp],xmm3 + and ebp,edx + xor edx,edi + shrd ecx,ecx,7 + mov esi,ebx + vpslld xmm0,xmm0,2 + xor ebp,edx + shld ebx,ebx,5 + add eax,ebp + xor esi,ecx + xor ecx,edx + add eax,ebx + add edi,DWORD [8+esp] + and esi,ecx + vpor xmm0,xmm0,xmm2 + xor ecx,edx + shrd ebx,ebx,7 + vmovdqa xmm2,[80+esp] + mov ebp,eax + xor esi,ecx + shld eax,eax,5 + add edi,esi + xor ebp,ebx + xor ebx,ecx + add edi,eax + add edx,DWORD [12+esp] + and ebp,ebx + xor ebx,ecx + shrd eax,eax,7 + mov esi,edi + xor ebp,ebx + shld edi,edi,5 + add edx,ebp + xor esi,eax + xor eax,ebx + add edx,edi + vpalignr xmm3,xmm0,xmm7,8 + vpxor xmm1,xmm1,xmm5 + add ecx,DWORD [16+esp] + and esi,eax + xor eax,ebx + shrd edi,edi,7 + vpxor xmm1,xmm1,xmm2 + vmovdqa [80+esp],xmm5 + mov ebp,edx + xor esi,eax + vmovdqa xmm5,xmm4 + vpaddd xmm4,xmm4,xmm0 + shld edx,edx,5 + add ecx,esi + vpxor xmm1,xmm1,xmm3 + xor ebp,edi + xor edi,eax + add ecx,edx + add ebx,DWORD [20+esp] + vpsrld xmm3,xmm1,30 + vmovdqa [esp],xmm4 + and ebp,edi + xor edi,eax + shrd edx,edx,7 + mov esi,ecx + vpslld xmm1,xmm1,2 + xor ebp,edi + shld ecx,ecx,5 + add ebx,ebp + xor esi,edx + xor edx,edi + add ebx,ecx + add eax,DWORD [24+esp] + and esi,edx + vpor xmm1,xmm1,xmm3 + xor edx,edi + shrd ecx,ecx,7 + vmovdqa xmm3,[96+esp] + mov ebp,ebx + xor esi,edx + shld ebx,ebx,5 + add eax,esi + xor ebp,ecx + xor ecx,edx + add eax,ebx + add edi,DWORD [28+esp] + and ebp,ecx + xor ecx,edx + shrd ebx,ebx,7 + mov esi,eax + xor ebp,ecx + shld eax,eax,5 + add edi,ebp + xor esi,ebx + xor ebx,ecx + add edi,eax + vpalignr xmm4,xmm1,xmm0,8 + vpxor xmm2,xmm2,xmm6 + add edx,DWORD [32+esp] + and esi,ebx + xor ebx,ecx + shrd eax,eax,7 + vpxor xmm2,xmm2,xmm3 + vmovdqa [96+esp],xmm6 + mov ebp,edi + xor esi,ebx + vmovdqa xmm6,xmm5 + vpaddd xmm5,xmm5,xmm1 + shld edi,edi,5 + add edx,esi + vpxor xmm2,xmm2,xmm4 + xor ebp,eax + xor eax,ebx + add edx,edi + add ecx,DWORD [36+esp] + vpsrld xmm4,xmm2,30 + vmovdqa [16+esp],xmm5 + and ebp,eax + xor eax,ebx + shrd edi,edi,7 + mov esi,edx + vpslld xmm2,xmm2,2 + xor ebp,eax + shld edx,edx,5 + add ecx,ebp + xor esi,edi + xor edi,eax + add ecx,edx + add ebx,DWORD [40+esp] + and esi,edi + vpor xmm2,xmm2,xmm4 + xor edi,eax + shrd edx,edx,7 + vmovdqa xmm4,[64+esp] + mov ebp,ecx + xor esi,edi + shld ecx,ecx,5 + add ebx,esi + xor ebp,edx + xor edx,edi + add ebx,ecx + add eax,DWORD [44+esp] + and ebp,edx + xor edx,edi + shrd ecx,ecx,7 + mov esi,ebx + xor ebp,edx + shld ebx,ebx,5 + add eax,ebp + xor esi,edx + add eax,ebx + vpalignr xmm5,xmm2,xmm1,8 + vpxor xmm3,xmm3,xmm7 + add edi,DWORD [48+esp] + xor esi,ecx + mov ebp,eax + shld eax,eax,5 + vpxor xmm3,xmm3,xmm4 + vmovdqa [64+esp],xmm7 + add edi,esi + xor ebp,ecx + vmovdqa xmm7,xmm6 + vpaddd xmm6,xmm6,xmm2 + shrd ebx,ebx,7 + add edi,eax + vpxor xmm3,xmm3,xmm5 + add edx,DWORD [52+esp] + xor ebp,ebx + mov esi,edi + shld edi,edi,5 + vpsrld xmm5,xmm3,30 + vmovdqa [32+esp],xmm6 + add edx,ebp + xor esi,ebx + shrd eax,eax,7 + add edx,edi + vpslld xmm3,xmm3,2 + add ecx,DWORD [56+esp] + xor esi,eax + mov ebp,edx + shld edx,edx,5 + add ecx,esi + xor ebp,eax + shrd edi,edi,7 + add ecx,edx + vpor xmm3,xmm3,xmm5 + add ebx,DWORD [60+esp] + xor ebp,edi + mov esi,ecx + shld ecx,ecx,5 + add ebx,ebp + xor esi,edi + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD [esp] + vpaddd xmm7,xmm7,xmm3 + xor esi,edx + mov ebp,ebx + shld ebx,ebx,5 + add eax,esi + vmovdqa [48+esp],xmm7 + xor ebp,edx + shrd ecx,ecx,7 + add eax,ebx + add edi,DWORD [4+esp] + xor ebp,ecx + mov esi,eax + shld eax,eax,5 + add edi,ebp + xor esi,ecx + shrd ebx,ebx,7 + add edi,eax + add edx,DWORD [8+esp] + xor esi,ebx + mov ebp,edi + shld edi,edi,5 + add edx,esi + xor ebp,ebx + shrd eax,eax,7 + add edx,edi + add ecx,DWORD [12+esp] + xor ebp,eax + mov esi,edx + shld edx,edx,5 + add ecx,ebp + xor esi,eax + shrd edi,edi,7 + add ecx,edx + mov ebp,DWORD [196+esp] + cmp ebp,DWORD [200+esp] + je NEAR L$010done + vmovdqa xmm7,[160+esp] + vmovdqa xmm6,[176+esp] + vmovdqu xmm0,[ebp] + vmovdqu xmm1,[16+ebp] + vmovdqu xmm2,[32+ebp] + vmovdqu xmm3,[48+ebp] + add ebp,64 + vpshufb xmm0,xmm0,xmm6 + mov DWORD [196+esp],ebp + vmovdqa [96+esp],xmm7 + add ebx,DWORD [16+esp] + xor esi,edi + vpshufb xmm1,xmm1,xmm6 + mov ebp,ecx + shld ecx,ecx,5 + vpaddd xmm4,xmm0,xmm7 + add ebx,esi + xor ebp,edi + shrd edx,edx,7 + add ebx,ecx + vmovdqa [esp],xmm4 + add eax,DWORD [20+esp] + xor ebp,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,ebp + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + add edi,DWORD [24+esp] + xor esi,ecx + mov ebp,eax + shld eax,eax,5 + add edi,esi + xor ebp,ecx + shrd ebx,ebx,7 + add edi,eax + add edx,DWORD [28+esp] + xor ebp,ebx + mov esi,edi + shld edi,edi,5 + add edx,ebp + xor esi,ebx + shrd eax,eax,7 + add edx,edi + add ecx,DWORD [32+esp] + xor esi,eax + vpshufb xmm2,xmm2,xmm6 + mov ebp,edx + shld edx,edx,5 + vpaddd xmm5,xmm1,xmm7 + add ecx,esi + xor ebp,eax + shrd edi,edi,7 + add ecx,edx + vmovdqa [16+esp],xmm5 + add ebx,DWORD [36+esp] + xor ebp,edi + mov esi,ecx + shld ecx,ecx,5 + add ebx,ebp + xor esi,edi + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD [40+esp] + xor esi,edx + mov ebp,ebx + shld ebx,ebx,5 + add eax,esi + xor ebp,edx + shrd ecx,ecx,7 + add eax,ebx + add edi,DWORD [44+esp] + xor ebp,ecx + mov esi,eax + shld eax,eax,5 + add edi,ebp + xor esi,ecx + shrd ebx,ebx,7 + add edi,eax + add edx,DWORD [48+esp] + xor esi,ebx + vpshufb xmm3,xmm3,xmm6 + mov ebp,edi + shld edi,edi,5 + vpaddd xmm6,xmm2,xmm7 + add edx,esi + xor ebp,ebx + shrd eax,eax,7 + add edx,edi + vmovdqa [32+esp],xmm6 + add ecx,DWORD [52+esp] + xor ebp,eax + mov esi,edx + shld edx,edx,5 + add ecx,ebp + xor esi,eax + shrd edi,edi,7 + add ecx,edx + add ebx,DWORD [56+esp] + xor esi,edi + mov ebp,ecx + shld ecx,ecx,5 + add ebx,esi + xor ebp,edi + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD [60+esp] + xor ebp,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,ebp + shrd ecx,ecx,7 + add eax,ebx + mov ebp,DWORD [192+esp] + add eax,DWORD [ebp] + add esi,DWORD [4+ebp] + add ecx,DWORD [8+ebp] + mov DWORD [ebp],eax + add edx,DWORD [12+ebp] + mov DWORD [4+ebp],esi + add edi,DWORD [16+ebp] + mov ebx,ecx + mov DWORD [8+ebp],ecx + xor ebx,edx + mov DWORD [12+ebp],edx + mov DWORD [16+ebp],edi + mov ebp,esi + and esi,ebx + mov ebx,ebp + jmp NEAR L$009loop +align 16 +L$010done: + add ebx,DWORD [16+esp] + xor esi,edi + mov ebp,ecx + shld ecx,ecx,5 + add ebx,esi + xor ebp,edi + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD [20+esp] + xor ebp,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,ebp + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + add edi,DWORD [24+esp] + xor esi,ecx + mov ebp,eax + shld eax,eax,5 + add edi,esi + xor ebp,ecx + shrd ebx,ebx,7 + add edi,eax + add edx,DWORD [28+esp] + xor ebp,ebx + mov esi,edi + shld edi,edi,5 + add edx,ebp + xor esi,ebx + shrd eax,eax,7 + add edx,edi + add ecx,DWORD [32+esp] + xor esi,eax + mov ebp,edx + shld edx,edx,5 + add ecx,esi + xor ebp,eax + shrd edi,edi,7 + add ecx,edx + add ebx,DWORD [36+esp] + xor ebp,edi + mov esi,ecx + shld ecx,ecx,5 + add ebx,ebp + xor esi,edi + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD [40+esp] + xor esi,edx + mov ebp,ebx + shld ebx,ebx,5 + add eax,esi + xor ebp,edx + shrd ecx,ecx,7 + add eax,ebx + add edi,DWORD [44+esp] + xor ebp,ecx + mov esi,eax + shld eax,eax,5 + add edi,ebp + xor esi,ecx + shrd ebx,ebx,7 + add edi,eax + add edx,DWORD [48+esp] + xor esi,ebx + mov ebp,edi + shld edi,edi,5 + add edx,esi + xor ebp,ebx + shrd eax,eax,7 + add edx,edi + add ecx,DWORD [52+esp] + xor ebp,eax + mov esi,edx + shld edx,edx,5 + add ecx,ebp + xor esi,eax + shrd edi,edi,7 + add ecx,edx + add ebx,DWORD [56+esp] + xor esi,edi + mov ebp,ecx + shld ecx,ecx,5 + add ebx,esi + xor ebp,edi + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD [60+esp] + xor ebp,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,ebp + shrd ecx,ecx,7 + add eax,ebx + vzeroall + mov ebp,DWORD [192+esp] + add eax,DWORD [ebp] + mov esp,DWORD [204+esp] + add esi,DWORD [4+ebp] + add ecx,DWORD [8+ebp] + mov DWORD [ebp],eax + add edx,DWORD [12+ebp] + mov DWORD [4+ebp],esi + add edi,DWORD [16+ebp] + mov DWORD [8+ebp],ecx + mov DWORD [12+ebp],edx + mov DWORD [16+ebp],edi + pop edi + pop esi + pop ebx + pop ebp + ret +align 64 +L$K_XX_XX: +dd 1518500249,1518500249,1518500249,1518500249 +dd 1859775393,1859775393,1859775393,1859775393 +dd 2400959708,2400959708,2400959708,2400959708 +dd 3395469782,3395469782,3395469782,3395469782 +dd 66051,67438087,134810123,202182159 +db 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 +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 +segment .bss +common _OPENSSL_ia32cap_P 16 diff --git a/tmp32/sha256-586.asm b/tmp32/sha256-586.asm index 1108147a..defa0f86 100644 --- a/tmp32/sha256-586.asm +++ b/tmp32/sha256-586.asm @@ -1,6789 +1,6789 @@ -%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 - lea edx,[_OPENSSL_ia32cap_P] - mov ecx,DWORD [edx] - mov ebx,DWORD [4+edx] - test ecx,1048576 - jnz NEAR L$002loop - mov edx,DWORD [8+edx] - test ecx,16777216 - jz NEAR L$003no_xmm - and ecx,1073741824 - and ebx,268435968 - test edx,536870912 - jnz NEAR L$004shaext - or ecx,ebx - and ecx,1342177280 - cmp ecx,1342177280 - je NEAR L$005AVX - test ebx,512 - jnz NEAR L$006SSSE3 -L$003no_xmm: - sub eax,edi - cmp eax,256 - jae NEAR L$007unrolled - 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$00800_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$00800_15 - mov ecx,DWORD [156+esp] - jmp NEAR L$00916_63 -align 16 -L$00916_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$00916_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 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$007unrolled: - 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$010grand_loop -align 16 -L$010grand_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$010grand_loop - mov esp,DWORD [108+esp] - pop edi - pop esi - pop ebx - pop ebp - ret -align 32 -L$004shaext: - sub esp,32 - movdqu xmm1,[esi] - lea ebp,[128+ebp] - movdqu xmm2,[16+esi] - movdqa xmm7,[128+ebp] - pshufd xmm0,xmm1,27 - pshufd xmm1,xmm1,177 - pshufd xmm2,xmm2,27 -db 102,15,58,15,202,8 - punpcklqdq xmm2,xmm0 - jmp NEAR L$011loop_shaext -align 16 -L$011loop_shaext: - movdqu xmm3,[edi] - movdqu xmm4,[16+edi] - movdqu xmm5,[32+edi] -db 102,15,56,0,223 - movdqu xmm6,[48+edi] - movdqa [16+esp],xmm2 - movdqa xmm0,[ebp-128] - paddd xmm0,xmm3 -db 102,15,56,0,231 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - nop - movdqa [esp],xmm1 -db 15,56,203,202 - movdqa xmm0,[ebp-112] - paddd xmm0,xmm4 -db 102,15,56,0,239 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - lea edi,[64+edi] -db 15,56,204,220 -db 15,56,203,202 - movdqa xmm0,[ebp-96] - paddd xmm0,xmm5 -db 102,15,56,0,247 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm6 -db 102,15,58,15,253,4 - nop - paddd xmm3,xmm7 -db 15,56,204,229 -db 15,56,203,202 - movdqa xmm0,[ebp-80] - paddd xmm0,xmm6 -db 15,56,205,222 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm3 -db 102,15,58,15,254,4 - nop - paddd xmm4,xmm7 -db 15,56,204,238 -db 15,56,203,202 - movdqa xmm0,[ebp-64] - paddd xmm0,xmm3 -db 15,56,205,227 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm4 -db 102,15,58,15,251,4 - nop - paddd xmm5,xmm7 -db 15,56,204,243 -db 15,56,203,202 - movdqa xmm0,[ebp-48] - paddd xmm0,xmm4 -db 15,56,205,236 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm5 -db 102,15,58,15,252,4 - nop - paddd xmm6,xmm7 -db 15,56,204,220 -db 15,56,203,202 - movdqa xmm0,[ebp-32] - paddd xmm0,xmm5 -db 15,56,205,245 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm6 -db 102,15,58,15,253,4 - nop - paddd xmm3,xmm7 -db 15,56,204,229 -db 15,56,203,202 - movdqa xmm0,[ebp-16] - paddd xmm0,xmm6 -db 15,56,205,222 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm3 -db 102,15,58,15,254,4 - nop - paddd xmm4,xmm7 -db 15,56,204,238 -db 15,56,203,202 - movdqa xmm0,[ebp] - paddd xmm0,xmm3 -db 15,56,205,227 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm4 -db 102,15,58,15,251,4 - nop - paddd xmm5,xmm7 -db 15,56,204,243 -db 15,56,203,202 - movdqa xmm0,[16+ebp] - paddd xmm0,xmm4 -db 15,56,205,236 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm5 -db 102,15,58,15,252,4 - nop - paddd xmm6,xmm7 -db 15,56,204,220 -db 15,56,203,202 - movdqa xmm0,[32+ebp] - paddd xmm0,xmm5 -db 15,56,205,245 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm6 -db 102,15,58,15,253,4 - nop - paddd xmm3,xmm7 -db 15,56,204,229 -db 15,56,203,202 - movdqa xmm0,[48+ebp] - paddd xmm0,xmm6 -db 15,56,205,222 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm3 -db 102,15,58,15,254,4 - nop - paddd xmm4,xmm7 -db 15,56,204,238 -db 15,56,203,202 - movdqa xmm0,[64+ebp] - paddd xmm0,xmm3 -db 15,56,205,227 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm4 -db 102,15,58,15,251,4 - nop - paddd xmm5,xmm7 -db 15,56,204,243 -db 15,56,203,202 - movdqa xmm0,[80+ebp] - paddd xmm0,xmm4 -db 15,56,205,236 -db 15,56,203,209 - pshufd xmm0,xmm0,14 - movdqa xmm7,xmm5 -db 102,15,58,15,252,4 -db 15,56,203,202 - paddd xmm6,xmm7 - movdqa xmm0,[96+ebp] - paddd xmm0,xmm5 -db 15,56,203,209 - pshufd xmm0,xmm0,14 -db 15,56,205,245 - movdqa xmm7,[128+ebp] -db 15,56,203,202 - movdqa xmm0,[112+ebp] - paddd xmm0,xmm6 - nop -db 15,56,203,209 - pshufd xmm0,xmm0,14 - cmp eax,edi - nop -db 15,56,203,202 - paddd xmm2,[16+esp] - paddd xmm1,[esp] - jnz NEAR L$011loop_shaext - pshufd xmm2,xmm2,177 - pshufd xmm7,xmm1,27 - pshufd xmm1,xmm1,177 - punpckhqdq xmm1,xmm2 -db 102,15,58,15,215,8 - mov esp,DWORD [44+esp] - movdqu [esi],xmm1 - movdqu [16+esi],xmm2 - pop edi - pop esi - pop ebx - pop ebp - ret -align 32 -L$006SSSE3: - lea esp,[esp-96] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edi,DWORD [12+esi] - mov DWORD [4+esp],ebx - xor ebx,ecx - mov DWORD [8+esp],ecx - mov DWORD [12+esp],edi - mov edx,DWORD [16+esi] - mov edi,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov esi,DWORD [28+esi] - mov DWORD [20+esp],edi - mov edi,DWORD [100+esp] - mov DWORD [24+esp],ecx - mov DWORD [28+esp],esi - movdqa xmm7,[256+ebp] - jmp NEAR L$012grand_ssse3 -align 16 -L$012grand_ssse3: - movdqu xmm0,[edi] - movdqu xmm1,[16+edi] - movdqu xmm2,[32+edi] - movdqu xmm3,[48+edi] - add edi,64 -db 102,15,56,0,199 - mov DWORD [100+esp],edi -db 102,15,56,0,207 - movdqa xmm4,[ebp] -db 102,15,56,0,215 - movdqa xmm5,[16+ebp] - paddd xmm4,xmm0 -db 102,15,56,0,223 - movdqa xmm6,[32+ebp] - paddd xmm5,xmm1 - movdqa xmm7,[48+ebp] - movdqa [32+esp],xmm4 - paddd xmm6,xmm2 - movdqa [48+esp],xmm5 - paddd xmm7,xmm3 - movdqa [64+esp],xmm6 - movdqa [80+esp],xmm7 - jmp NEAR L$013ssse3_00_47 -align 16 -L$013ssse3_00_47: - add ebp,64 - mov ecx,edx - movdqa xmm4,xmm1 - ror edx,14 - mov esi,DWORD [20+esp] - movdqa xmm7,xmm3 - xor edx,ecx - mov edi,DWORD [24+esp] -db 102,15,58,15,224,4 - xor esi,edi - ror edx,5 - and esi,ecx -db 102,15,58,15,250,4 - mov DWORD [16+esp],ecx - xor edx,ecx - xor edi,esi - movdqa xmm5,xmm4 - ror edx,6 - mov ecx,eax - movdqa xmm6,xmm4 - add edx,edi - mov edi,DWORD [4+esp] - psrld xmm4,3 - mov esi,eax - ror ecx,9 - paddd xmm0,xmm7 - mov DWORD [esp],eax - xor ecx,eax - psrld xmm6,7 - xor eax,edi - add edx,DWORD [28+esp] - ror ecx,11 - and ebx,eax - pshufd xmm7,xmm3,250 - xor ecx,esi - add edx,DWORD [32+esp] - pslld xmm5,14 - xor ebx,edi - ror ecx,2 - pxor xmm4,xmm6 - add ebx,edx - add edx,DWORD [12+esp] - psrld xmm6,11 - add ebx,ecx - mov ecx,edx - ror edx,14 - pxor xmm4,xmm5 - mov esi,DWORD [16+esp] - xor edx,ecx - pslld xmm5,11 - mov edi,DWORD [20+esp] - xor esi,edi - ror edx,5 - pxor xmm4,xmm6 - and esi,ecx - mov DWORD [12+esp],ecx - movdqa xmm6,xmm7 - xor edx,ecx - xor edi,esi - ror edx,6 - pxor xmm4,xmm5 - mov ecx,ebx - add edx,edi - psrld xmm7,10 - mov edi,DWORD [esp] - mov esi,ebx - ror ecx,9 - paddd xmm0,xmm4 - mov DWORD [28+esp],ebx - xor ecx,ebx - psrlq xmm6,17 - xor ebx,edi - add edx,DWORD [24+esp] - ror ecx,11 - pxor xmm7,xmm6 - and eax,ebx - xor ecx,esi - psrlq xmm6,2 - add edx,DWORD [36+esp] - xor eax,edi - ror ecx,2 - pxor xmm7,xmm6 - add eax,edx - add edx,DWORD [8+esp] - pshufd xmm7,xmm7,128 - add eax,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [12+esp] - xor edx,ecx - mov edi,DWORD [16+esp] - xor esi,edi - ror edx,5 - and esi,ecx - psrldq xmm7,8 - mov DWORD [8+esp],ecx - xor edx,ecx - xor edi,esi - paddd xmm0,xmm7 - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [28+esp] - mov esi,eax - ror ecx,9 - mov DWORD [24+esp],eax - pshufd xmm7,xmm0,80 - xor ecx,eax - xor eax,edi - add edx,DWORD [20+esp] - movdqa xmm6,xmm7 - ror ecx,11 - psrld xmm7,10 - and ebx,eax - psrlq xmm6,17 - xor ecx,esi - add edx,DWORD [40+esp] - xor ebx,edi - ror ecx,2 - pxor xmm7,xmm6 - add ebx,edx - add edx,DWORD [4+esp] - psrlq xmm6,2 - add ebx,ecx - mov ecx,edx - ror edx,14 - pxor xmm7,xmm6 - mov esi,DWORD [8+esp] - xor edx,ecx - mov edi,DWORD [12+esp] - pshufd xmm7,xmm7,8 - xor esi,edi - ror edx,5 - movdqa xmm6,[ebp] - and esi,ecx - mov DWORD [4+esp],ecx - pslldq xmm7,8 - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [24+esp] - mov esi,ebx - ror ecx,9 - paddd xmm0,xmm7 - mov DWORD [20+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [16+esp] - paddd xmm6,xmm0 - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [44+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [esp] - add eax,ecx - movdqa [32+esp],xmm6 - mov ecx,edx - movdqa xmm4,xmm2 - ror edx,14 - mov esi,DWORD [4+esp] - movdqa xmm7,xmm0 - xor edx,ecx - mov edi,DWORD [8+esp] -db 102,15,58,15,225,4 - xor esi,edi - ror edx,5 - and esi,ecx -db 102,15,58,15,251,4 - mov DWORD [esp],ecx - xor edx,ecx - xor edi,esi - movdqa xmm5,xmm4 - ror edx,6 - mov ecx,eax - movdqa xmm6,xmm4 - add edx,edi - mov edi,DWORD [20+esp] - psrld xmm4,3 - mov esi,eax - ror ecx,9 - paddd xmm1,xmm7 - mov DWORD [16+esp],eax - xor ecx,eax - psrld xmm6,7 - xor eax,edi - add edx,DWORD [12+esp] - ror ecx,11 - and ebx,eax - pshufd xmm7,xmm0,250 - xor ecx,esi - add edx,DWORD [48+esp] - pslld xmm5,14 - xor ebx,edi - ror ecx,2 - pxor xmm4,xmm6 - add ebx,edx - add edx,DWORD [28+esp] - psrld xmm6,11 - add ebx,ecx - mov ecx,edx - ror edx,14 - pxor xmm4,xmm5 - mov esi,DWORD [esp] - xor edx,ecx - pslld xmm5,11 - mov edi,DWORD [4+esp] - xor esi,edi - ror edx,5 - pxor xmm4,xmm6 - and esi,ecx - mov DWORD [28+esp],ecx - movdqa xmm6,xmm7 - xor edx,ecx - xor edi,esi - ror edx,6 - pxor xmm4,xmm5 - mov ecx,ebx - add edx,edi - psrld xmm7,10 - mov edi,DWORD [16+esp] - mov esi,ebx - ror ecx,9 - paddd xmm1,xmm4 - mov DWORD [12+esp],ebx - xor ecx,ebx - psrlq xmm6,17 - xor ebx,edi - add edx,DWORD [8+esp] - ror ecx,11 - pxor xmm7,xmm6 - and eax,ebx - xor ecx,esi - psrlq xmm6,2 - add edx,DWORD [52+esp] - xor eax,edi - ror ecx,2 - pxor xmm7,xmm6 - add eax,edx - add edx,DWORD [24+esp] - pshufd xmm7,xmm7,128 - add eax,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [28+esp] - xor edx,ecx - mov edi,DWORD [esp] - xor esi,edi - ror edx,5 - and esi,ecx - psrldq xmm7,8 - mov DWORD [24+esp],ecx - xor edx,ecx - xor edi,esi - paddd xmm1,xmm7 - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [12+esp] - mov esi,eax - ror ecx,9 - mov DWORD [8+esp],eax - pshufd xmm7,xmm1,80 - xor ecx,eax - xor eax,edi - add edx,DWORD [4+esp] - movdqa xmm6,xmm7 - ror ecx,11 - psrld xmm7,10 - and ebx,eax - psrlq xmm6,17 - xor ecx,esi - add edx,DWORD [56+esp] - xor ebx,edi - ror ecx,2 - pxor xmm7,xmm6 - add ebx,edx - add edx,DWORD [20+esp] - psrlq xmm6,2 - add ebx,ecx - mov ecx,edx - ror edx,14 - pxor xmm7,xmm6 - mov esi,DWORD [24+esp] - xor edx,ecx - mov edi,DWORD [28+esp] - pshufd xmm7,xmm7,8 - xor esi,edi - ror edx,5 - movdqa xmm6,[16+ebp] - and esi,ecx - mov DWORD [20+esp],ecx - pslldq xmm7,8 - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [8+esp] - mov esi,ebx - ror ecx,9 - paddd xmm1,xmm7 - mov DWORD [4+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [esp] - paddd xmm6,xmm1 - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [60+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,ecx - movdqa [48+esp],xmm6 - mov ecx,edx - movdqa xmm4,xmm3 - ror edx,14 - mov esi,DWORD [20+esp] - movdqa xmm7,xmm1 - xor edx,ecx - mov edi,DWORD [24+esp] -db 102,15,58,15,226,4 - xor esi,edi - ror edx,5 - and esi,ecx -db 102,15,58,15,248,4 - mov DWORD [16+esp],ecx - xor edx,ecx - xor edi,esi - movdqa xmm5,xmm4 - ror edx,6 - mov ecx,eax - movdqa xmm6,xmm4 - add edx,edi - mov edi,DWORD [4+esp] - psrld xmm4,3 - mov esi,eax - ror ecx,9 - paddd xmm2,xmm7 - mov DWORD [esp],eax - xor ecx,eax - psrld xmm6,7 - xor eax,edi - add edx,DWORD [28+esp] - ror ecx,11 - and ebx,eax - pshufd xmm7,xmm1,250 - xor ecx,esi - add edx,DWORD [64+esp] - pslld xmm5,14 - xor ebx,edi - ror ecx,2 - pxor xmm4,xmm6 - add ebx,edx - add edx,DWORD [12+esp] - psrld xmm6,11 - add ebx,ecx - mov ecx,edx - ror edx,14 - pxor xmm4,xmm5 - mov esi,DWORD [16+esp] - xor edx,ecx - pslld xmm5,11 - mov edi,DWORD [20+esp] - xor esi,edi - ror edx,5 - pxor xmm4,xmm6 - and esi,ecx - mov DWORD [12+esp],ecx - movdqa xmm6,xmm7 - xor edx,ecx - xor edi,esi - ror edx,6 - pxor xmm4,xmm5 - mov ecx,ebx - add edx,edi - psrld xmm7,10 - mov edi,DWORD [esp] - mov esi,ebx - ror ecx,9 - paddd xmm2,xmm4 - mov DWORD [28+esp],ebx - xor ecx,ebx - psrlq xmm6,17 - xor ebx,edi - add edx,DWORD [24+esp] - ror ecx,11 - pxor xmm7,xmm6 - and eax,ebx - xor ecx,esi - psrlq xmm6,2 - add edx,DWORD [68+esp] - xor eax,edi - ror ecx,2 - pxor xmm7,xmm6 - add eax,edx - add edx,DWORD [8+esp] - pshufd xmm7,xmm7,128 - add eax,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [12+esp] - xor edx,ecx - mov edi,DWORD [16+esp] - xor esi,edi - ror edx,5 - and esi,ecx - psrldq xmm7,8 - mov DWORD [8+esp],ecx - xor edx,ecx - xor edi,esi - paddd xmm2,xmm7 - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [28+esp] - mov esi,eax - ror ecx,9 - mov DWORD [24+esp],eax - pshufd xmm7,xmm2,80 - xor ecx,eax - xor eax,edi - add edx,DWORD [20+esp] - movdqa xmm6,xmm7 - ror ecx,11 - psrld xmm7,10 - and ebx,eax - psrlq xmm6,17 - xor ecx,esi - add edx,DWORD [72+esp] - xor ebx,edi - ror ecx,2 - pxor xmm7,xmm6 - add ebx,edx - add edx,DWORD [4+esp] - psrlq xmm6,2 - add ebx,ecx - mov ecx,edx - ror edx,14 - pxor xmm7,xmm6 - mov esi,DWORD [8+esp] - xor edx,ecx - mov edi,DWORD [12+esp] - pshufd xmm7,xmm7,8 - xor esi,edi - ror edx,5 - movdqa xmm6,[32+ebp] - and esi,ecx - mov DWORD [4+esp],ecx - pslldq xmm7,8 - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [24+esp] - mov esi,ebx - ror ecx,9 - paddd xmm2,xmm7 - mov DWORD [20+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [16+esp] - paddd xmm6,xmm2 - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [76+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [esp] - add eax,ecx - movdqa [64+esp],xmm6 - mov ecx,edx - movdqa xmm4,xmm0 - ror edx,14 - mov esi,DWORD [4+esp] - movdqa xmm7,xmm2 - xor edx,ecx - mov edi,DWORD [8+esp] -db 102,15,58,15,227,4 - xor esi,edi - ror edx,5 - and esi,ecx -db 102,15,58,15,249,4 - mov DWORD [esp],ecx - xor edx,ecx - xor edi,esi - movdqa xmm5,xmm4 - ror edx,6 - mov ecx,eax - movdqa xmm6,xmm4 - add edx,edi - mov edi,DWORD [20+esp] - psrld xmm4,3 - mov esi,eax - ror ecx,9 - paddd xmm3,xmm7 - mov DWORD [16+esp],eax - xor ecx,eax - psrld xmm6,7 - xor eax,edi - add edx,DWORD [12+esp] - ror ecx,11 - and ebx,eax - pshufd xmm7,xmm2,250 - xor ecx,esi - add edx,DWORD [80+esp] - pslld xmm5,14 - xor ebx,edi - ror ecx,2 - pxor xmm4,xmm6 - add ebx,edx - add edx,DWORD [28+esp] - psrld xmm6,11 - add ebx,ecx - mov ecx,edx - ror edx,14 - pxor xmm4,xmm5 - mov esi,DWORD [esp] - xor edx,ecx - pslld xmm5,11 - mov edi,DWORD [4+esp] - xor esi,edi - ror edx,5 - pxor xmm4,xmm6 - and esi,ecx - mov DWORD [28+esp],ecx - movdqa xmm6,xmm7 - xor edx,ecx - xor edi,esi - ror edx,6 - pxor xmm4,xmm5 - mov ecx,ebx - add edx,edi - psrld xmm7,10 - mov edi,DWORD [16+esp] - mov esi,ebx - ror ecx,9 - paddd xmm3,xmm4 - mov DWORD [12+esp],ebx - xor ecx,ebx - psrlq xmm6,17 - xor ebx,edi - add edx,DWORD [8+esp] - ror ecx,11 - pxor xmm7,xmm6 - and eax,ebx - xor ecx,esi - psrlq xmm6,2 - add edx,DWORD [84+esp] - xor eax,edi - ror ecx,2 - pxor xmm7,xmm6 - add eax,edx - add edx,DWORD [24+esp] - pshufd xmm7,xmm7,128 - add eax,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [28+esp] - xor edx,ecx - mov edi,DWORD [esp] - xor esi,edi - ror edx,5 - and esi,ecx - psrldq xmm7,8 - mov DWORD [24+esp],ecx - xor edx,ecx - xor edi,esi - paddd xmm3,xmm7 - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [12+esp] - mov esi,eax - ror ecx,9 - mov DWORD [8+esp],eax - pshufd xmm7,xmm3,80 - xor ecx,eax - xor eax,edi - add edx,DWORD [4+esp] - movdqa xmm6,xmm7 - ror ecx,11 - psrld xmm7,10 - and ebx,eax - psrlq xmm6,17 - xor ecx,esi - add edx,DWORD [88+esp] - xor ebx,edi - ror ecx,2 - pxor xmm7,xmm6 - add ebx,edx - add edx,DWORD [20+esp] - psrlq xmm6,2 - add ebx,ecx - mov ecx,edx - ror edx,14 - pxor xmm7,xmm6 - mov esi,DWORD [24+esp] - xor edx,ecx - mov edi,DWORD [28+esp] - pshufd xmm7,xmm7,8 - xor esi,edi - ror edx,5 - movdqa xmm6,[48+ebp] - and esi,ecx - mov DWORD [20+esp],ecx - pslldq xmm7,8 - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [8+esp] - mov esi,ebx - ror ecx,9 - paddd xmm3,xmm7 - mov DWORD [4+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [esp] - paddd xmm6,xmm3 - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [92+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,ecx - movdqa [80+esp],xmm6 - cmp DWORD [64+ebp],66051 - jne NEAR L$013ssse3_00_47 - mov ecx,edx - ror edx,14 - mov esi,DWORD [20+esp] - xor edx,ecx - mov edi,DWORD [24+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [4+esp] - mov esi,eax - ror ecx,9 - mov DWORD [esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [28+esp] - ror ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [32+esp] - xor ebx,edi - ror ecx,2 - add ebx,edx - add edx,DWORD [12+esp] - add ebx,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [16+esp] - xor edx,ecx - mov edi,DWORD [20+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [12+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [esp] - mov esi,ebx - ror ecx,9 - mov DWORD [28+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [24+esp] - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [36+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [12+esp] - xor edx,ecx - mov edi,DWORD [16+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [28+esp] - mov esi,eax - ror ecx,9 - mov DWORD [24+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [20+esp] - ror ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [40+esp] - xor ebx,edi - ror ecx,2 - add ebx,edx - add edx,DWORD [4+esp] - add ebx,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [8+esp] - xor edx,ecx - mov edi,DWORD [12+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [4+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [24+esp] - mov esi,ebx - ror ecx,9 - mov DWORD [20+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [16+esp] - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [44+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [esp] - add eax,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [4+esp] - xor edx,ecx - mov edi,DWORD [8+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [20+esp] - mov esi,eax - ror ecx,9 - mov DWORD [16+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [12+esp] - ror ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [48+esp] - xor ebx,edi - ror ecx,2 - add ebx,edx - add edx,DWORD [28+esp] - add ebx,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [esp] - xor edx,ecx - mov edi,DWORD [4+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [28+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [16+esp] - mov esi,ebx - ror ecx,9 - mov DWORD [12+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [8+esp] - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [52+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [28+esp] - xor edx,ecx - mov edi,DWORD [esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [12+esp] - mov esi,eax - ror ecx,9 - mov DWORD [8+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [4+esp] - ror ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [56+esp] - xor ebx,edi - ror ecx,2 - add ebx,edx - add edx,DWORD [20+esp] - add ebx,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [24+esp] - xor edx,ecx - mov edi,DWORD [28+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [20+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [8+esp] - mov esi,ebx - ror ecx,9 - mov DWORD [4+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [esp] - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [60+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [20+esp] - xor edx,ecx - mov edi,DWORD [24+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [4+esp] - mov esi,eax - ror ecx,9 - mov DWORD [esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [28+esp] - ror ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [64+esp] - xor ebx,edi - ror ecx,2 - add ebx,edx - add edx,DWORD [12+esp] - add ebx,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [16+esp] - xor edx,ecx - mov edi,DWORD [20+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [12+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [esp] - mov esi,ebx - ror ecx,9 - mov DWORD [28+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [24+esp] - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [68+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [12+esp] - xor edx,ecx - mov edi,DWORD [16+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [28+esp] - mov esi,eax - ror ecx,9 - mov DWORD [24+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [20+esp] - ror ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [72+esp] - xor ebx,edi - ror ecx,2 - add ebx,edx - add edx,DWORD [4+esp] - add ebx,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [8+esp] - xor edx,ecx - mov edi,DWORD [12+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [4+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [24+esp] - mov esi,ebx - ror ecx,9 - mov DWORD [20+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [16+esp] - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [76+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [esp] - add eax,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [4+esp] - xor edx,ecx - mov edi,DWORD [8+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [20+esp] - mov esi,eax - ror ecx,9 - mov DWORD [16+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [12+esp] - ror ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [80+esp] - xor ebx,edi - ror ecx,2 - add ebx,edx - add edx,DWORD [28+esp] - add ebx,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [esp] - xor edx,ecx - mov edi,DWORD [4+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [28+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [16+esp] - mov esi,ebx - ror ecx,9 - mov DWORD [12+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [8+esp] - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [84+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [28+esp] - xor edx,ecx - mov edi,DWORD [esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [12+esp] - mov esi,eax - ror ecx,9 - mov DWORD [8+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [4+esp] - ror ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [88+esp] - xor ebx,edi - ror ecx,2 - add ebx,edx - add edx,DWORD [20+esp] - add ebx,ecx - mov ecx,edx - ror edx,14 - mov esi,DWORD [24+esp] - xor edx,ecx - mov edi,DWORD [28+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [20+esp],ecx - xor edx,ecx - xor edi,esi - ror edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [8+esp] - mov esi,ebx - ror ecx,9 - mov DWORD [4+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [esp] - ror ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [92+esp] - xor eax,edi - ror ecx,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,ecx - mov esi,DWORD [96+esp] - xor ebx,edi - mov ecx,DWORD [12+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 DWORD [4+esp],ebx - xor ebx,edi - mov DWORD [8+esp],edi - mov DWORD [12+esp],ecx - mov edi,DWORD [20+esp] - mov ecx,DWORD [24+esp] - add edx,DWORD [16+esi] - add edi,DWORD [20+esi] - add ecx,DWORD [24+esi] - mov DWORD [16+esi],edx - mov DWORD [20+esi],edi - mov DWORD [20+esp],edi - mov edi,DWORD [28+esp] - mov DWORD [24+esi],ecx - add edi,DWORD [28+esi] - mov DWORD [24+esp],ecx - mov DWORD [28+esi],edi - mov DWORD [28+esp],edi - mov edi,DWORD [100+esp] - movdqa xmm7,[64+ebp] - sub ebp,192 - cmp edi,DWORD [104+esp] - jb NEAR L$012grand_ssse3 - mov esp,DWORD [108+esp] - pop edi - pop esi - pop ebx - pop ebp - ret -align 32 -L$005AVX: - and edx,264 - cmp edx,264 - je NEAR L$014AVX_BMI - lea esp,[esp-96] - vzeroall - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edi,DWORD [12+esi] - mov DWORD [4+esp],ebx - xor ebx,ecx - mov DWORD [8+esp],ecx - mov DWORD [12+esp],edi - mov edx,DWORD [16+esi] - mov edi,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov esi,DWORD [28+esi] - mov DWORD [20+esp],edi - mov edi,DWORD [100+esp] - mov DWORD [24+esp],ecx - mov DWORD [28+esp],esi - vmovdqa xmm7,[256+ebp] - jmp NEAR L$015grand_avx -align 32 -L$015grand_avx: - vmovdqu xmm0,[edi] - vmovdqu xmm1,[16+edi] - vmovdqu xmm2,[32+edi] - vmovdqu xmm3,[48+edi] - add edi,64 - vpshufb xmm0,xmm0,xmm7 - mov DWORD [100+esp],edi - vpshufb xmm1,xmm1,xmm7 - vpshufb xmm2,xmm2,xmm7 - vpaddd xmm4,xmm0,[ebp] - vpshufb xmm3,xmm3,xmm7 - vpaddd xmm5,xmm1,[16+ebp] - vpaddd xmm6,xmm2,[32+ebp] - vpaddd xmm7,xmm3,[48+ebp] - vmovdqa [32+esp],xmm4 - vmovdqa [48+esp],xmm5 - vmovdqa [64+esp],xmm6 - vmovdqa [80+esp],xmm7 - jmp NEAR L$016avx_00_47 -align 16 -L$016avx_00_47: - add ebp,64 - vpalignr xmm4,xmm1,xmm0,4 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [20+esp] - vpalignr xmm7,xmm3,xmm2,4 - xor edx,ecx - mov edi,DWORD [24+esp] - xor esi,edi - vpsrld xmm6,xmm4,7 - shrd edx,edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - vpaddd xmm0,xmm0,xmm7 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrld xmm7,xmm4,3 - mov ecx,eax - add edx,edi - mov edi,DWORD [4+esp] - vpslld xmm5,xmm4,14 - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [esp],eax - vpxor xmm4,xmm7,xmm6 - xor ecx,eax - xor eax,edi - add edx,DWORD [28+esp] - vpshufd xmm7,xmm3,250 - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - vpsrld xmm6,xmm6,11 - add edx,DWORD [32+esp] - xor ebx,edi - shrd ecx,ecx,2 - vpxor xmm4,xmm4,xmm5 - add ebx,edx - add edx,DWORD [12+esp] - add ebx,ecx - vpslld xmm5,xmm5,11 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [16+esp] - vpxor xmm4,xmm4,xmm6 - xor edx,ecx - mov edi,DWORD [20+esp] - xor esi,edi - vpsrld xmm6,xmm7,10 - shrd edx,edx,5 - and esi,ecx - mov DWORD [12+esp],ecx - vpxor xmm4,xmm4,xmm5 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrlq xmm5,xmm7,17 - mov ecx,ebx - add edx,edi - mov edi,DWORD [esp] - vpaddd xmm0,xmm0,xmm4 - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [28+esp],ebx - vpxor xmm6,xmm6,xmm5 - xor ecx,ebx - xor ebx,edi - add edx,DWORD [24+esp] - vpsrlq xmm7,xmm7,19 - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - vpxor xmm6,xmm6,xmm7 - add edx,DWORD [36+esp] - xor eax,edi - shrd ecx,ecx,2 - vpshufd xmm7,xmm6,132 - add eax,edx - add edx,DWORD [8+esp] - add eax,ecx - vpsrldq xmm7,xmm7,8 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [12+esp] - vpaddd xmm0,xmm0,xmm7 - xor edx,ecx - mov edi,DWORD [16+esp] - xor esi,edi - vpshufd xmm7,xmm0,80 - shrd edx,edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - vpsrld xmm6,xmm7,10 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrlq xmm5,xmm7,17 - mov ecx,eax - add edx,edi - mov edi,DWORD [28+esp] - vpxor xmm6,xmm6,xmm5 - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [24+esp],eax - vpsrlq xmm7,xmm7,19 - xor ecx,eax - xor eax,edi - add edx,DWORD [20+esp] - vpxor xmm6,xmm6,xmm7 - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - vpshufd xmm7,xmm6,232 - add edx,DWORD [40+esp] - xor ebx,edi - shrd ecx,ecx,2 - vpslldq xmm7,xmm7,8 - add ebx,edx - add edx,DWORD [4+esp] - add ebx,ecx - vpaddd xmm0,xmm0,xmm7 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [8+esp] - vpaddd xmm6,xmm0,[ebp] - xor edx,ecx - mov edi,DWORD [12+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [4+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [24+esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [20+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [16+esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [44+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [esp] - add eax,ecx - vmovdqa [32+esp],xmm6 - vpalignr xmm4,xmm2,xmm1,4 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [4+esp] - vpalignr xmm7,xmm0,xmm3,4 - xor edx,ecx - mov edi,DWORD [8+esp] - xor esi,edi - vpsrld xmm6,xmm4,7 - shrd edx,edx,5 - and esi,ecx - mov DWORD [esp],ecx - vpaddd xmm1,xmm1,xmm7 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrld xmm7,xmm4,3 - mov ecx,eax - add edx,edi - mov edi,DWORD [20+esp] - vpslld xmm5,xmm4,14 - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [16+esp],eax - vpxor xmm4,xmm7,xmm6 - xor ecx,eax - xor eax,edi - add edx,DWORD [12+esp] - vpshufd xmm7,xmm0,250 - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - vpsrld xmm6,xmm6,11 - add edx,DWORD [48+esp] - xor ebx,edi - shrd ecx,ecx,2 - vpxor xmm4,xmm4,xmm5 - add ebx,edx - add edx,DWORD [28+esp] - add ebx,ecx - vpslld xmm5,xmm5,11 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [esp] - vpxor xmm4,xmm4,xmm6 - xor edx,ecx - mov edi,DWORD [4+esp] - xor esi,edi - vpsrld xmm6,xmm7,10 - shrd edx,edx,5 - and esi,ecx - mov DWORD [28+esp],ecx - vpxor xmm4,xmm4,xmm5 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrlq xmm5,xmm7,17 - mov ecx,ebx - add edx,edi - mov edi,DWORD [16+esp] - vpaddd xmm1,xmm1,xmm4 - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [12+esp],ebx - vpxor xmm6,xmm6,xmm5 - xor ecx,ebx - xor ebx,edi - add edx,DWORD [8+esp] - vpsrlq xmm7,xmm7,19 - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - vpxor xmm6,xmm6,xmm7 - add edx,DWORD [52+esp] - xor eax,edi - shrd ecx,ecx,2 - vpshufd xmm7,xmm6,132 - add eax,edx - add edx,DWORD [24+esp] - add eax,ecx - vpsrldq xmm7,xmm7,8 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [28+esp] - vpaddd xmm1,xmm1,xmm7 - xor edx,ecx - mov edi,DWORD [esp] - xor esi,edi - vpshufd xmm7,xmm1,80 - shrd edx,edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - vpsrld xmm6,xmm7,10 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrlq xmm5,xmm7,17 - mov ecx,eax - add edx,edi - mov edi,DWORD [12+esp] - vpxor xmm6,xmm6,xmm5 - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [8+esp],eax - vpsrlq xmm7,xmm7,19 - xor ecx,eax - xor eax,edi - add edx,DWORD [4+esp] - vpxor xmm6,xmm6,xmm7 - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - vpshufd xmm7,xmm6,232 - add edx,DWORD [56+esp] - xor ebx,edi - shrd ecx,ecx,2 - vpslldq xmm7,xmm7,8 - add ebx,edx - add edx,DWORD [20+esp] - add ebx,ecx - vpaddd xmm1,xmm1,xmm7 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [24+esp] - vpaddd xmm6,xmm1,[16+ebp] - xor edx,ecx - mov edi,DWORD [28+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [20+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [8+esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [4+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [60+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,ecx - vmovdqa [48+esp],xmm6 - vpalignr xmm4,xmm3,xmm2,4 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [20+esp] - vpalignr xmm7,xmm1,xmm0,4 - xor edx,ecx - mov edi,DWORD [24+esp] - xor esi,edi - vpsrld xmm6,xmm4,7 - shrd edx,edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - vpaddd xmm2,xmm2,xmm7 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrld xmm7,xmm4,3 - mov ecx,eax - add edx,edi - mov edi,DWORD [4+esp] - vpslld xmm5,xmm4,14 - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [esp],eax - vpxor xmm4,xmm7,xmm6 - xor ecx,eax - xor eax,edi - add edx,DWORD [28+esp] - vpshufd xmm7,xmm1,250 - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - vpsrld xmm6,xmm6,11 - add edx,DWORD [64+esp] - xor ebx,edi - shrd ecx,ecx,2 - vpxor xmm4,xmm4,xmm5 - add ebx,edx - add edx,DWORD [12+esp] - add ebx,ecx - vpslld xmm5,xmm5,11 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [16+esp] - vpxor xmm4,xmm4,xmm6 - xor edx,ecx - mov edi,DWORD [20+esp] - xor esi,edi - vpsrld xmm6,xmm7,10 - shrd edx,edx,5 - and esi,ecx - mov DWORD [12+esp],ecx - vpxor xmm4,xmm4,xmm5 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrlq xmm5,xmm7,17 - mov ecx,ebx - add edx,edi - mov edi,DWORD [esp] - vpaddd xmm2,xmm2,xmm4 - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [28+esp],ebx - vpxor xmm6,xmm6,xmm5 - xor ecx,ebx - xor ebx,edi - add edx,DWORD [24+esp] - vpsrlq xmm7,xmm7,19 - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - vpxor xmm6,xmm6,xmm7 - add edx,DWORD [68+esp] - xor eax,edi - shrd ecx,ecx,2 - vpshufd xmm7,xmm6,132 - add eax,edx - add edx,DWORD [8+esp] - add eax,ecx - vpsrldq xmm7,xmm7,8 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [12+esp] - vpaddd xmm2,xmm2,xmm7 - xor edx,ecx - mov edi,DWORD [16+esp] - xor esi,edi - vpshufd xmm7,xmm2,80 - shrd edx,edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - vpsrld xmm6,xmm7,10 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrlq xmm5,xmm7,17 - mov ecx,eax - add edx,edi - mov edi,DWORD [28+esp] - vpxor xmm6,xmm6,xmm5 - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [24+esp],eax - vpsrlq xmm7,xmm7,19 - xor ecx,eax - xor eax,edi - add edx,DWORD [20+esp] - vpxor xmm6,xmm6,xmm7 - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - vpshufd xmm7,xmm6,232 - add edx,DWORD [72+esp] - xor ebx,edi - shrd ecx,ecx,2 - vpslldq xmm7,xmm7,8 - add ebx,edx - add edx,DWORD [4+esp] - add ebx,ecx - vpaddd xmm2,xmm2,xmm7 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [8+esp] - vpaddd xmm6,xmm2,[32+ebp] - xor edx,ecx - mov edi,DWORD [12+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [4+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [24+esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [20+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [16+esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [76+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [esp] - add eax,ecx - vmovdqa [64+esp],xmm6 - vpalignr xmm4,xmm0,xmm3,4 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [4+esp] - vpalignr xmm7,xmm2,xmm1,4 - xor edx,ecx - mov edi,DWORD [8+esp] - xor esi,edi - vpsrld xmm6,xmm4,7 - shrd edx,edx,5 - and esi,ecx - mov DWORD [esp],ecx - vpaddd xmm3,xmm3,xmm7 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrld xmm7,xmm4,3 - mov ecx,eax - add edx,edi - mov edi,DWORD [20+esp] - vpslld xmm5,xmm4,14 - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [16+esp],eax - vpxor xmm4,xmm7,xmm6 - xor ecx,eax - xor eax,edi - add edx,DWORD [12+esp] - vpshufd xmm7,xmm2,250 - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - vpsrld xmm6,xmm6,11 - add edx,DWORD [80+esp] - xor ebx,edi - shrd ecx,ecx,2 - vpxor xmm4,xmm4,xmm5 - add ebx,edx - add edx,DWORD [28+esp] - add ebx,ecx - vpslld xmm5,xmm5,11 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [esp] - vpxor xmm4,xmm4,xmm6 - xor edx,ecx - mov edi,DWORD [4+esp] - xor esi,edi - vpsrld xmm6,xmm7,10 - shrd edx,edx,5 - and esi,ecx - mov DWORD [28+esp],ecx - vpxor xmm4,xmm4,xmm5 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrlq xmm5,xmm7,17 - mov ecx,ebx - add edx,edi - mov edi,DWORD [16+esp] - vpaddd xmm3,xmm3,xmm4 - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [12+esp],ebx - vpxor xmm6,xmm6,xmm5 - xor ecx,ebx - xor ebx,edi - add edx,DWORD [8+esp] - vpsrlq xmm7,xmm7,19 - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - vpxor xmm6,xmm6,xmm7 - add edx,DWORD [84+esp] - xor eax,edi - shrd ecx,ecx,2 - vpshufd xmm7,xmm6,132 - add eax,edx - add edx,DWORD [24+esp] - add eax,ecx - vpsrldq xmm7,xmm7,8 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [28+esp] - vpaddd xmm3,xmm3,xmm7 - xor edx,ecx - mov edi,DWORD [esp] - xor esi,edi - vpshufd xmm7,xmm3,80 - shrd edx,edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - vpsrld xmm6,xmm7,10 - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - vpsrlq xmm5,xmm7,17 - mov ecx,eax - add edx,edi - mov edi,DWORD [12+esp] - vpxor xmm6,xmm6,xmm5 - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [8+esp],eax - vpsrlq xmm7,xmm7,19 - xor ecx,eax - xor eax,edi - add edx,DWORD [4+esp] - vpxor xmm6,xmm6,xmm7 - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - vpshufd xmm7,xmm6,232 - add edx,DWORD [88+esp] - xor ebx,edi - shrd ecx,ecx,2 - vpslldq xmm7,xmm7,8 - add ebx,edx - add edx,DWORD [20+esp] - add ebx,ecx - vpaddd xmm3,xmm3,xmm7 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [24+esp] - vpaddd xmm6,xmm3,[48+ebp] - xor edx,ecx - mov edi,DWORD [28+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [20+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [8+esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [4+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [92+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,ecx - vmovdqa [80+esp],xmm6 - cmp DWORD [64+ebp],66051 - jne NEAR L$016avx_00_47 - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [20+esp] - xor edx,ecx - mov edi,DWORD [24+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [4+esp] - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [28+esp] - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [32+esp] - xor ebx,edi - shrd ecx,ecx,2 - add ebx,edx - add edx,DWORD [12+esp] - add ebx,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [16+esp] - xor edx,ecx - mov edi,DWORD [20+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [12+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [28+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [24+esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [36+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [12+esp] - xor edx,ecx - mov edi,DWORD [16+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [28+esp] - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [24+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [20+esp] - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [40+esp] - xor ebx,edi - shrd ecx,ecx,2 - add ebx,edx - add edx,DWORD [4+esp] - add ebx,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [8+esp] - xor edx,ecx - mov edi,DWORD [12+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [4+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [24+esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [20+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [16+esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [44+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [esp] - add eax,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [4+esp] - xor edx,ecx - mov edi,DWORD [8+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [20+esp] - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [16+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [12+esp] - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [48+esp] - xor ebx,edi - shrd ecx,ecx,2 - add ebx,edx - add edx,DWORD [28+esp] - add ebx,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [esp] - xor edx,ecx - mov edi,DWORD [4+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [28+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [16+esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [12+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [8+esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [52+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [28+esp] - xor edx,ecx - mov edi,DWORD [esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [12+esp] - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [8+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [4+esp] - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [56+esp] - xor ebx,edi - shrd ecx,ecx,2 - add ebx,edx - add edx,DWORD [20+esp] - add ebx,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [24+esp] - xor edx,ecx - mov edi,DWORD [28+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [20+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [8+esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [4+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [60+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [20+esp] - xor edx,ecx - mov edi,DWORD [24+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [4+esp] - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [28+esp] - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [64+esp] - xor ebx,edi - shrd ecx,ecx,2 - add ebx,edx - add edx,DWORD [12+esp] - add ebx,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [16+esp] - xor edx,ecx - mov edi,DWORD [20+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [12+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [28+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [24+esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [68+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [12+esp] - xor edx,ecx - mov edi,DWORD [16+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [28+esp] - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [24+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [20+esp] - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [72+esp] - xor ebx,edi - shrd ecx,ecx,2 - add ebx,edx - add edx,DWORD [4+esp] - add ebx,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [8+esp] - xor edx,ecx - mov edi,DWORD [12+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [4+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [24+esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [20+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [16+esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [76+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [esp] - add eax,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [4+esp] - xor edx,ecx - mov edi,DWORD [8+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [20+esp] - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [16+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [12+esp] - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [80+esp] - xor ebx,edi - shrd ecx,ecx,2 - add ebx,edx - add edx,DWORD [28+esp] - add ebx,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [esp] - xor edx,ecx - mov edi,DWORD [4+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [28+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [16+esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [12+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [8+esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [84+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [28+esp] - xor edx,ecx - mov edi,DWORD [esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,eax - add edx,edi - mov edi,DWORD [12+esp] - mov esi,eax - shrd ecx,ecx,9 - mov DWORD [8+esp],eax - xor ecx,eax - xor eax,edi - add edx,DWORD [4+esp] - shrd ecx,ecx,11 - and ebx,eax - xor ecx,esi - add edx,DWORD [88+esp] - xor ebx,edi - shrd ecx,ecx,2 - add ebx,edx - add edx,DWORD [20+esp] - add ebx,ecx - mov ecx,edx - shrd edx,edx,14 - mov esi,DWORD [24+esp] - xor edx,ecx - mov edi,DWORD [28+esp] - xor esi,edi - shrd edx,edx,5 - and esi,ecx - mov DWORD [20+esp],ecx - xor edx,ecx - xor edi,esi - shrd edx,edx,6 - mov ecx,ebx - add edx,edi - mov edi,DWORD [8+esp] - mov esi,ebx - shrd ecx,ecx,9 - mov DWORD [4+esp],ebx - xor ecx,ebx - xor ebx,edi - add edx,DWORD [esp] - shrd ecx,ecx,11 - and eax,ebx - xor ecx,esi - add edx,DWORD [92+esp] - xor eax,edi - shrd ecx,ecx,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,ecx - mov esi,DWORD [96+esp] - xor ebx,edi - mov ecx,DWORD [12+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 DWORD [4+esp],ebx - xor ebx,edi - mov DWORD [8+esp],edi - mov DWORD [12+esp],ecx - mov edi,DWORD [20+esp] - mov ecx,DWORD [24+esp] - add edx,DWORD [16+esi] - add edi,DWORD [20+esi] - add ecx,DWORD [24+esi] - mov DWORD [16+esi],edx - mov DWORD [20+esi],edi - mov DWORD [20+esp],edi - mov edi,DWORD [28+esp] - mov DWORD [24+esi],ecx - add edi,DWORD [28+esi] - mov DWORD [24+esp],ecx - mov DWORD [28+esi],edi - mov DWORD [28+esp],edi - mov edi,DWORD [100+esp] - vmovdqa xmm7,[64+ebp] - sub ebp,192 - cmp edi,DWORD [104+esp] - jb NEAR L$015grand_avx - mov esp,DWORD [108+esp] - vzeroall - pop edi - pop esi - pop ebx - pop ebp - ret -align 32 -L$014AVX_BMI: - lea esp,[esp-96] - vzeroall - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edi,DWORD [12+esi] - mov DWORD [4+esp],ebx - xor ebx,ecx - mov DWORD [8+esp],ecx - mov DWORD [12+esp],edi - mov edx,DWORD [16+esi] - mov edi,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov esi,DWORD [28+esi] - mov DWORD [20+esp],edi - mov edi,DWORD [100+esp] - mov DWORD [24+esp],ecx - mov DWORD [28+esp],esi - vmovdqa xmm7,[256+ebp] - jmp NEAR L$017grand_avx_bmi -align 32 -L$017grand_avx_bmi: - vmovdqu xmm0,[edi] - vmovdqu xmm1,[16+edi] - vmovdqu xmm2,[32+edi] - vmovdqu xmm3,[48+edi] - add edi,64 - vpshufb xmm0,xmm0,xmm7 - mov DWORD [100+esp],edi - vpshufb xmm1,xmm1,xmm7 - vpshufb xmm2,xmm2,xmm7 - vpaddd xmm4,xmm0,[ebp] - vpshufb xmm3,xmm3,xmm7 - vpaddd xmm5,xmm1,[16+ebp] - vpaddd xmm6,xmm2,[32+ebp] - vpaddd xmm7,xmm3,[48+ebp] - vmovdqa [32+esp],xmm4 - vmovdqa [48+esp],xmm5 - vmovdqa [64+esp],xmm6 - vmovdqa [80+esp],xmm7 - jmp NEAR L$018avx_bmi_00_47 -align 16 -L$018avx_bmi_00_47: - add ebp,64 - vpalignr xmm4,xmm1,xmm0,4 - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [16+esp],edx - vpalignr xmm7,xmm3,xmm2,4 - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [24+esp] - vpsrld xmm6,xmm4,7 - xor ecx,edi - and edx,DWORD [20+esp] - mov DWORD [esp],eax - vpaddd xmm0,xmm0,xmm7 - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - vpsrld xmm7,xmm4,3 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - vpslld xmm5,xmm4,14 - mov edi,DWORD [4+esp] - xor ecx,esi - xor eax,edi - vpxor xmm4,xmm7,xmm6 - add edx,DWORD [28+esp] - and ebx,eax - add edx,DWORD [32+esp] - vpshufd xmm7,xmm3,250 - xor ebx,edi - add ecx,edx - add edx,DWORD [12+esp] - vpsrld xmm6,xmm6,11 - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - vpxor xmm4,xmm4,xmm5 - mov DWORD [12+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpslld xmm5,xmm5,11 - andn esi,edx,DWORD [20+esp] - xor ecx,edi - and edx,DWORD [16+esp] - vpxor xmm4,xmm4,xmm6 - mov DWORD [28+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - vpsrld xmm6,xmm7,10 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - vpxor xmm4,xmm4,xmm5 - mov edi,DWORD [esp] - xor ecx,esi - xor ebx,edi - vpsrlq xmm5,xmm7,17 - add edx,DWORD [24+esp] - and eax,ebx - add edx,DWORD [36+esp] - vpaddd xmm0,xmm0,xmm4 - xor eax,edi - add ecx,edx - add edx,DWORD [8+esp] - vpxor xmm6,xmm6,xmm5 - lea eax,[ecx*1+eax] - rorx ecx,edx,6 - rorx esi,edx,11 - vpsrlq xmm7,xmm7,19 - mov DWORD [8+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpxor xmm6,xmm6,xmm7 - andn esi,edx,DWORD [16+esp] - xor ecx,edi - and edx,DWORD [12+esp] - vpshufd xmm7,xmm6,132 - mov DWORD [24+esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - vpsrldq xmm7,xmm7,8 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - vpaddd xmm0,xmm0,xmm7 - mov edi,DWORD [28+esp] - xor ecx,esi - xor eax,edi - vpshufd xmm7,xmm0,80 - add edx,DWORD [20+esp] - and ebx,eax - add edx,DWORD [40+esp] - vpsrld xmm6,xmm7,10 - xor ebx,edi - add ecx,edx - add edx,DWORD [4+esp] - vpsrlq xmm5,xmm7,17 - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - vpxor xmm6,xmm6,xmm5 - mov DWORD [4+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpsrlq xmm7,xmm7,19 - andn esi,edx,DWORD [12+esp] - xor ecx,edi - and edx,DWORD [8+esp] - vpxor xmm6,xmm6,xmm7 - mov DWORD [20+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - vpshufd xmm7,xmm6,232 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - vpslldq xmm7,xmm7,8 - mov edi,DWORD [24+esp] - xor ecx,esi - xor ebx,edi - vpaddd xmm0,xmm0,xmm7 - add edx,DWORD [16+esp] - and eax,ebx - add edx,DWORD [44+esp] - vpaddd xmm6,xmm0,[ebp] - xor eax,edi - add ecx,edx - add edx,DWORD [esp] - lea eax,[ecx*1+eax] - vmovdqa [32+esp],xmm6 - vpalignr xmm4,xmm2,xmm1,4 - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [esp],edx - vpalignr xmm7,xmm0,xmm3,4 - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [8+esp] - vpsrld xmm6,xmm4,7 - xor ecx,edi - and edx,DWORD [4+esp] - mov DWORD [16+esp],eax - vpaddd xmm1,xmm1,xmm7 - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - vpsrld xmm7,xmm4,3 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - vpslld xmm5,xmm4,14 - mov edi,DWORD [20+esp] - xor ecx,esi - xor eax,edi - vpxor xmm4,xmm7,xmm6 - add edx,DWORD [12+esp] - and ebx,eax - add edx,DWORD [48+esp] - vpshufd xmm7,xmm0,250 - xor ebx,edi - add ecx,edx - add edx,DWORD [28+esp] - vpsrld xmm6,xmm6,11 - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - vpxor xmm4,xmm4,xmm5 - mov DWORD [28+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpslld xmm5,xmm5,11 - andn esi,edx,DWORD [4+esp] - xor ecx,edi - and edx,DWORD [esp] - vpxor xmm4,xmm4,xmm6 - mov DWORD [12+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - vpsrld xmm6,xmm7,10 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - vpxor xmm4,xmm4,xmm5 - mov edi,DWORD [16+esp] - xor ecx,esi - xor ebx,edi - vpsrlq xmm5,xmm7,17 - add edx,DWORD [8+esp] - and eax,ebx - add edx,DWORD [52+esp] - vpaddd xmm1,xmm1,xmm4 - xor eax,edi - add ecx,edx - add edx,DWORD [24+esp] - vpxor xmm6,xmm6,xmm5 - lea eax,[ecx*1+eax] - rorx ecx,edx,6 - rorx esi,edx,11 - vpsrlq xmm7,xmm7,19 - mov DWORD [24+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpxor xmm6,xmm6,xmm7 - andn esi,edx,DWORD [esp] - xor ecx,edi - and edx,DWORD [28+esp] - vpshufd xmm7,xmm6,132 - mov DWORD [8+esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - vpsrldq xmm7,xmm7,8 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - vpaddd xmm1,xmm1,xmm7 - mov edi,DWORD [12+esp] - xor ecx,esi - xor eax,edi - vpshufd xmm7,xmm1,80 - add edx,DWORD [4+esp] - and ebx,eax - add edx,DWORD [56+esp] - vpsrld xmm6,xmm7,10 - xor ebx,edi - add ecx,edx - add edx,DWORD [20+esp] - vpsrlq xmm5,xmm7,17 - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - vpxor xmm6,xmm6,xmm5 - mov DWORD [20+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpsrlq xmm7,xmm7,19 - andn esi,edx,DWORD [28+esp] - xor ecx,edi - and edx,DWORD [24+esp] - vpxor xmm6,xmm6,xmm7 - mov DWORD [4+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - vpshufd xmm7,xmm6,232 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - vpslldq xmm7,xmm7,8 - mov edi,DWORD [8+esp] - xor ecx,esi - xor ebx,edi - vpaddd xmm1,xmm1,xmm7 - add edx,DWORD [esp] - and eax,ebx - add edx,DWORD [60+esp] - vpaddd xmm6,xmm1,[16+ebp] - xor eax,edi - add ecx,edx - add edx,DWORD [16+esp] - lea eax,[ecx*1+eax] - vmovdqa [48+esp],xmm6 - vpalignr xmm4,xmm3,xmm2,4 - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [16+esp],edx - vpalignr xmm7,xmm1,xmm0,4 - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [24+esp] - vpsrld xmm6,xmm4,7 - xor ecx,edi - and edx,DWORD [20+esp] - mov DWORD [esp],eax - vpaddd xmm2,xmm2,xmm7 - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - vpsrld xmm7,xmm4,3 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - vpslld xmm5,xmm4,14 - mov edi,DWORD [4+esp] - xor ecx,esi - xor eax,edi - vpxor xmm4,xmm7,xmm6 - add edx,DWORD [28+esp] - and ebx,eax - add edx,DWORD [64+esp] - vpshufd xmm7,xmm1,250 - xor ebx,edi - add ecx,edx - add edx,DWORD [12+esp] - vpsrld xmm6,xmm6,11 - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - vpxor xmm4,xmm4,xmm5 - mov DWORD [12+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpslld xmm5,xmm5,11 - andn esi,edx,DWORD [20+esp] - xor ecx,edi - and edx,DWORD [16+esp] - vpxor xmm4,xmm4,xmm6 - mov DWORD [28+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - vpsrld xmm6,xmm7,10 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - vpxor xmm4,xmm4,xmm5 - mov edi,DWORD [esp] - xor ecx,esi - xor ebx,edi - vpsrlq xmm5,xmm7,17 - add edx,DWORD [24+esp] - and eax,ebx - add edx,DWORD [68+esp] - vpaddd xmm2,xmm2,xmm4 - xor eax,edi - add ecx,edx - add edx,DWORD [8+esp] - vpxor xmm6,xmm6,xmm5 - lea eax,[ecx*1+eax] - rorx ecx,edx,6 - rorx esi,edx,11 - vpsrlq xmm7,xmm7,19 - mov DWORD [8+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpxor xmm6,xmm6,xmm7 - andn esi,edx,DWORD [16+esp] - xor ecx,edi - and edx,DWORD [12+esp] - vpshufd xmm7,xmm6,132 - mov DWORD [24+esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - vpsrldq xmm7,xmm7,8 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - vpaddd xmm2,xmm2,xmm7 - mov edi,DWORD [28+esp] - xor ecx,esi - xor eax,edi - vpshufd xmm7,xmm2,80 - add edx,DWORD [20+esp] - and ebx,eax - add edx,DWORD [72+esp] - vpsrld xmm6,xmm7,10 - xor ebx,edi - add ecx,edx - add edx,DWORD [4+esp] - vpsrlq xmm5,xmm7,17 - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - vpxor xmm6,xmm6,xmm5 - mov DWORD [4+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpsrlq xmm7,xmm7,19 - andn esi,edx,DWORD [12+esp] - xor ecx,edi - and edx,DWORD [8+esp] - vpxor xmm6,xmm6,xmm7 - mov DWORD [20+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - vpshufd xmm7,xmm6,232 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - vpslldq xmm7,xmm7,8 - mov edi,DWORD [24+esp] - xor ecx,esi - xor ebx,edi - vpaddd xmm2,xmm2,xmm7 - add edx,DWORD [16+esp] - and eax,ebx - add edx,DWORD [76+esp] - vpaddd xmm6,xmm2,[32+ebp] - xor eax,edi - add ecx,edx - add edx,DWORD [esp] - lea eax,[ecx*1+eax] - vmovdqa [64+esp],xmm6 - vpalignr xmm4,xmm0,xmm3,4 - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [esp],edx - vpalignr xmm7,xmm2,xmm1,4 - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [8+esp] - vpsrld xmm6,xmm4,7 - xor ecx,edi - and edx,DWORD [4+esp] - mov DWORD [16+esp],eax - vpaddd xmm3,xmm3,xmm7 - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - vpsrld xmm7,xmm4,3 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - vpslld xmm5,xmm4,14 - mov edi,DWORD [20+esp] - xor ecx,esi - xor eax,edi - vpxor xmm4,xmm7,xmm6 - add edx,DWORD [12+esp] - and ebx,eax - add edx,DWORD [80+esp] - vpshufd xmm7,xmm2,250 - xor ebx,edi - add ecx,edx - add edx,DWORD [28+esp] - vpsrld xmm6,xmm6,11 - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - vpxor xmm4,xmm4,xmm5 - mov DWORD [28+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpslld xmm5,xmm5,11 - andn esi,edx,DWORD [4+esp] - xor ecx,edi - and edx,DWORD [esp] - vpxor xmm4,xmm4,xmm6 - mov DWORD [12+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - vpsrld xmm6,xmm7,10 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - vpxor xmm4,xmm4,xmm5 - mov edi,DWORD [16+esp] - xor ecx,esi - xor ebx,edi - vpsrlq xmm5,xmm7,17 - add edx,DWORD [8+esp] - and eax,ebx - add edx,DWORD [84+esp] - vpaddd xmm3,xmm3,xmm4 - xor eax,edi - add ecx,edx - add edx,DWORD [24+esp] - vpxor xmm6,xmm6,xmm5 - lea eax,[ecx*1+eax] - rorx ecx,edx,6 - rorx esi,edx,11 - vpsrlq xmm7,xmm7,19 - mov DWORD [24+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpxor xmm6,xmm6,xmm7 - andn esi,edx,DWORD [esp] - xor ecx,edi - and edx,DWORD [28+esp] - vpshufd xmm7,xmm6,132 - mov DWORD [8+esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - vpsrldq xmm7,xmm7,8 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - vpaddd xmm3,xmm3,xmm7 - mov edi,DWORD [12+esp] - xor ecx,esi - xor eax,edi - vpshufd xmm7,xmm3,80 - add edx,DWORD [4+esp] - and ebx,eax - add edx,DWORD [88+esp] - vpsrld xmm6,xmm7,10 - xor ebx,edi - add ecx,edx - add edx,DWORD [20+esp] - vpsrlq xmm5,xmm7,17 - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - vpxor xmm6,xmm6,xmm5 - mov DWORD [20+esp],edx - rorx edi,edx,25 - xor ecx,esi - vpsrlq xmm7,xmm7,19 - andn esi,edx,DWORD [28+esp] - xor ecx,edi - and edx,DWORD [24+esp] - vpxor xmm6,xmm6,xmm7 - mov DWORD [4+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - vpshufd xmm7,xmm6,232 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - vpslldq xmm7,xmm7,8 - mov edi,DWORD [8+esp] - xor ecx,esi - xor ebx,edi - vpaddd xmm3,xmm3,xmm7 - add edx,DWORD [esp] - and eax,ebx - add edx,DWORD [92+esp] - vpaddd xmm6,xmm3,[48+ebp] - xor eax,edi - add ecx,edx - add edx,DWORD [16+esp] - lea eax,[ecx*1+eax] - vmovdqa [80+esp],xmm6 - cmp DWORD [64+ebp],66051 - jne NEAR L$018avx_bmi_00_47 - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [16+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [24+esp] - xor ecx,edi - and edx,DWORD [20+esp] - mov DWORD [esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - mov edi,DWORD [4+esp] - xor ecx,esi - xor eax,edi - add edx,DWORD [28+esp] - and ebx,eax - add edx,DWORD [32+esp] - xor ebx,edi - add ecx,edx - add edx,DWORD [12+esp] - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [12+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [20+esp] - xor ecx,edi - and edx,DWORD [16+esp] - mov DWORD [28+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - mov edi,DWORD [esp] - xor ecx,esi - xor ebx,edi - add edx,DWORD [24+esp] - and eax,ebx - add edx,DWORD [36+esp] - xor eax,edi - add ecx,edx - add edx,DWORD [8+esp] - lea eax,[ecx*1+eax] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [8+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [16+esp] - xor ecx,edi - and edx,DWORD [12+esp] - mov DWORD [24+esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - mov edi,DWORD [28+esp] - xor ecx,esi - xor eax,edi - add edx,DWORD [20+esp] - and ebx,eax - add edx,DWORD [40+esp] - xor ebx,edi - add ecx,edx - add edx,DWORD [4+esp] - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [4+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [12+esp] - xor ecx,edi - and edx,DWORD [8+esp] - mov DWORD [20+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - mov edi,DWORD [24+esp] - xor ecx,esi - xor ebx,edi - add edx,DWORD [16+esp] - and eax,ebx - add edx,DWORD [44+esp] - xor eax,edi - add ecx,edx - add edx,DWORD [esp] - lea eax,[ecx*1+eax] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [8+esp] - xor ecx,edi - and edx,DWORD [4+esp] - mov DWORD [16+esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - mov edi,DWORD [20+esp] - xor ecx,esi - xor eax,edi - add edx,DWORD [12+esp] - and ebx,eax - add edx,DWORD [48+esp] - xor ebx,edi - add ecx,edx - add edx,DWORD [28+esp] - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [28+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [4+esp] - xor ecx,edi - and edx,DWORD [esp] - mov DWORD [12+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - mov edi,DWORD [16+esp] - xor ecx,esi - xor ebx,edi - add edx,DWORD [8+esp] - and eax,ebx - add edx,DWORD [52+esp] - xor eax,edi - add ecx,edx - add edx,DWORD [24+esp] - lea eax,[ecx*1+eax] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [24+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [esp] - xor ecx,edi - and edx,DWORD [28+esp] - mov DWORD [8+esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - mov edi,DWORD [12+esp] - xor ecx,esi - xor eax,edi - add edx,DWORD [4+esp] - and ebx,eax - add edx,DWORD [56+esp] - xor ebx,edi - add ecx,edx - add edx,DWORD [20+esp] - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [20+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [28+esp] - xor ecx,edi - and edx,DWORD [24+esp] - mov DWORD [4+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - mov edi,DWORD [8+esp] - xor ecx,esi - xor ebx,edi - add edx,DWORD [esp] - and eax,ebx - add edx,DWORD [60+esp] - xor eax,edi - add ecx,edx - add edx,DWORD [16+esp] - lea eax,[ecx*1+eax] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [16+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [24+esp] - xor ecx,edi - and edx,DWORD [20+esp] - mov DWORD [esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - mov edi,DWORD [4+esp] - xor ecx,esi - xor eax,edi - add edx,DWORD [28+esp] - and ebx,eax - add edx,DWORD [64+esp] - xor ebx,edi - add ecx,edx - add edx,DWORD [12+esp] - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [12+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [20+esp] - xor ecx,edi - and edx,DWORD [16+esp] - mov DWORD [28+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - mov edi,DWORD [esp] - xor ecx,esi - xor ebx,edi - add edx,DWORD [24+esp] - and eax,ebx - add edx,DWORD [68+esp] - xor eax,edi - add ecx,edx - add edx,DWORD [8+esp] - lea eax,[ecx*1+eax] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [8+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [16+esp] - xor ecx,edi - and edx,DWORD [12+esp] - mov DWORD [24+esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - mov edi,DWORD [28+esp] - xor ecx,esi - xor eax,edi - add edx,DWORD [20+esp] - and ebx,eax - add edx,DWORD [72+esp] - xor ebx,edi - add ecx,edx - add edx,DWORD [4+esp] - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [4+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [12+esp] - xor ecx,edi - and edx,DWORD [8+esp] - mov DWORD [20+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - mov edi,DWORD [24+esp] - xor ecx,esi - xor ebx,edi - add edx,DWORD [16+esp] - and eax,ebx - add edx,DWORD [76+esp] - xor eax,edi - add ecx,edx - add edx,DWORD [esp] - lea eax,[ecx*1+eax] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [8+esp] - xor ecx,edi - and edx,DWORD [4+esp] - mov DWORD [16+esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - mov edi,DWORD [20+esp] - xor ecx,esi - xor eax,edi - add edx,DWORD [12+esp] - and ebx,eax - add edx,DWORD [80+esp] - xor ebx,edi - add ecx,edx - add edx,DWORD [28+esp] - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [28+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [4+esp] - xor ecx,edi - and edx,DWORD [esp] - mov DWORD [12+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - mov edi,DWORD [16+esp] - xor ecx,esi - xor ebx,edi - add edx,DWORD [8+esp] - and eax,ebx - add edx,DWORD [84+esp] - xor eax,edi - add ecx,edx - add edx,DWORD [24+esp] - lea eax,[ecx*1+eax] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [24+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [esp] - xor ecx,edi - and edx,DWORD [28+esp] - mov DWORD [8+esp],eax - or edx,esi - rorx edi,eax,2 - rorx esi,eax,13 - lea edx,[ecx*1+edx] - rorx ecx,eax,22 - xor esi,edi - mov edi,DWORD [12+esp] - xor ecx,esi - xor eax,edi - add edx,DWORD [4+esp] - and ebx,eax - add edx,DWORD [88+esp] - xor ebx,edi - add ecx,edx - add edx,DWORD [20+esp] - lea ebx,[ecx*1+ebx] - rorx ecx,edx,6 - rorx esi,edx,11 - mov DWORD [20+esp],edx - rorx edi,edx,25 - xor ecx,esi - andn esi,edx,DWORD [28+esp] - xor ecx,edi - and edx,DWORD [24+esp] - mov DWORD [4+esp],ebx - or edx,esi - rorx edi,ebx,2 - rorx esi,ebx,13 - lea edx,[ecx*1+edx] - rorx ecx,ebx,22 - xor esi,edi - mov edi,DWORD [8+esp] - xor ecx,esi - xor ebx,edi - add edx,DWORD [esp] - and eax,ebx - add edx,DWORD [92+esp] - xor eax,edi - add ecx,edx - add edx,DWORD [16+esp] - lea eax,[ecx*1+eax] - mov esi,DWORD [96+esp] - xor ebx,edi - mov ecx,DWORD [12+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 DWORD [4+esp],ebx - xor ebx,edi - mov DWORD [8+esp],edi - mov DWORD [12+esp],ecx - mov edi,DWORD [20+esp] - mov ecx,DWORD [24+esp] - add edx,DWORD [16+esi] - add edi,DWORD [20+esi] - add ecx,DWORD [24+esi] - mov DWORD [16+esi],edx - mov DWORD [20+esi],edi - mov DWORD [20+esp],edi - mov edi,DWORD [28+esp] - mov DWORD [24+esi],ecx - add edi,DWORD [28+esi] - mov DWORD [24+esp],ecx - mov DWORD [28+esi],edi - mov DWORD [28+esp],edi - mov edi,DWORD [100+esp] - vmovdqa xmm7,[64+ebp] - sub ebp,192 - cmp edi,DWORD [104+esp] - jb NEAR L$017grand_avx_bmi - mov esp,DWORD [108+esp] - vzeroall - pop edi - pop esi - pop ebx - pop ebp - ret -segment .bss -common _OPENSSL_ia32cap_P 16 +%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 + lea edx,[_OPENSSL_ia32cap_P] + mov ecx,DWORD [edx] + mov ebx,DWORD [4+edx] + test ecx,1048576 + jnz NEAR L$002loop + mov edx,DWORD [8+edx] + test ecx,16777216 + jz NEAR L$003no_xmm + and ecx,1073741824 + and ebx,268435968 + test edx,536870912 + jnz NEAR L$004shaext + or ecx,ebx + and ecx,1342177280 + cmp ecx,1342177280 + je NEAR L$005AVX + test ebx,512 + jnz NEAR L$006SSSE3 +L$003no_xmm: + sub eax,edi + cmp eax,256 + jae NEAR L$007unrolled + 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$00800_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$00800_15 + mov ecx,DWORD [156+esp] + jmp NEAR L$00916_63 +align 16 +L$00916_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$00916_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 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$007unrolled: + 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$010grand_loop +align 16 +L$010grand_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$010grand_loop + mov esp,DWORD [108+esp] + pop edi + pop esi + pop ebx + pop ebp + ret +align 32 +L$004shaext: + sub esp,32 + movdqu xmm1,[esi] + lea ebp,[128+ebp] + movdqu xmm2,[16+esi] + movdqa xmm7,[128+ebp] + pshufd xmm0,xmm1,27 + pshufd xmm1,xmm1,177 + pshufd xmm2,xmm2,27 +db 102,15,58,15,202,8 + punpcklqdq xmm2,xmm0 + jmp NEAR L$011loop_shaext +align 16 +L$011loop_shaext: + movdqu xmm3,[edi] + movdqu xmm4,[16+edi] + movdqu xmm5,[32+edi] +db 102,15,56,0,223 + movdqu xmm6,[48+edi] + movdqa [16+esp],xmm2 + movdqa xmm0,[ebp-128] + paddd xmm0,xmm3 +db 102,15,56,0,231 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + nop + movdqa [esp],xmm1 +db 15,56,203,202 + movdqa xmm0,[ebp-112] + paddd xmm0,xmm4 +db 102,15,56,0,239 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + lea edi,[64+edi] +db 15,56,204,220 +db 15,56,203,202 + movdqa xmm0,[ebp-96] + paddd xmm0,xmm5 +db 102,15,56,0,247 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm6 +db 102,15,58,15,253,4 + nop + paddd xmm3,xmm7 +db 15,56,204,229 +db 15,56,203,202 + movdqa xmm0,[ebp-80] + paddd xmm0,xmm6 +db 15,56,205,222 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm3 +db 102,15,58,15,254,4 + nop + paddd xmm4,xmm7 +db 15,56,204,238 +db 15,56,203,202 + movdqa xmm0,[ebp-64] + paddd xmm0,xmm3 +db 15,56,205,227 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm4 +db 102,15,58,15,251,4 + nop + paddd xmm5,xmm7 +db 15,56,204,243 +db 15,56,203,202 + movdqa xmm0,[ebp-48] + paddd xmm0,xmm4 +db 15,56,205,236 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm5 +db 102,15,58,15,252,4 + nop + paddd xmm6,xmm7 +db 15,56,204,220 +db 15,56,203,202 + movdqa xmm0,[ebp-32] + paddd xmm0,xmm5 +db 15,56,205,245 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm6 +db 102,15,58,15,253,4 + nop + paddd xmm3,xmm7 +db 15,56,204,229 +db 15,56,203,202 + movdqa xmm0,[ebp-16] + paddd xmm0,xmm6 +db 15,56,205,222 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm3 +db 102,15,58,15,254,4 + nop + paddd xmm4,xmm7 +db 15,56,204,238 +db 15,56,203,202 + movdqa xmm0,[ebp] + paddd xmm0,xmm3 +db 15,56,205,227 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm4 +db 102,15,58,15,251,4 + nop + paddd xmm5,xmm7 +db 15,56,204,243 +db 15,56,203,202 + movdqa xmm0,[16+ebp] + paddd xmm0,xmm4 +db 15,56,205,236 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm5 +db 102,15,58,15,252,4 + nop + paddd xmm6,xmm7 +db 15,56,204,220 +db 15,56,203,202 + movdqa xmm0,[32+ebp] + paddd xmm0,xmm5 +db 15,56,205,245 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm6 +db 102,15,58,15,253,4 + nop + paddd xmm3,xmm7 +db 15,56,204,229 +db 15,56,203,202 + movdqa xmm0,[48+ebp] + paddd xmm0,xmm6 +db 15,56,205,222 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm3 +db 102,15,58,15,254,4 + nop + paddd xmm4,xmm7 +db 15,56,204,238 +db 15,56,203,202 + movdqa xmm0,[64+ebp] + paddd xmm0,xmm3 +db 15,56,205,227 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm4 +db 102,15,58,15,251,4 + nop + paddd xmm5,xmm7 +db 15,56,204,243 +db 15,56,203,202 + movdqa xmm0,[80+ebp] + paddd xmm0,xmm4 +db 15,56,205,236 +db 15,56,203,209 + pshufd xmm0,xmm0,14 + movdqa xmm7,xmm5 +db 102,15,58,15,252,4 +db 15,56,203,202 + paddd xmm6,xmm7 + movdqa xmm0,[96+ebp] + paddd xmm0,xmm5 +db 15,56,203,209 + pshufd xmm0,xmm0,14 +db 15,56,205,245 + movdqa xmm7,[128+ebp] +db 15,56,203,202 + movdqa xmm0,[112+ebp] + paddd xmm0,xmm6 + nop +db 15,56,203,209 + pshufd xmm0,xmm0,14 + cmp eax,edi + nop +db 15,56,203,202 + paddd xmm2,[16+esp] + paddd xmm1,[esp] + jnz NEAR L$011loop_shaext + pshufd xmm2,xmm2,177 + pshufd xmm7,xmm1,27 + pshufd xmm1,xmm1,177 + punpckhqdq xmm1,xmm2 +db 102,15,58,15,215,8 + mov esp,DWORD [44+esp] + movdqu [esi],xmm1 + movdqu [16+esi],xmm2 + pop edi + pop esi + pop ebx + pop ebp + ret +align 32 +L$006SSSE3: + lea esp,[esp-96] + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edi,DWORD [12+esi] + mov DWORD [4+esp],ebx + xor ebx,ecx + mov DWORD [8+esp],ecx + mov DWORD [12+esp],edi + mov edx,DWORD [16+esi] + mov edi,DWORD [20+esi] + mov ecx,DWORD [24+esi] + mov esi,DWORD [28+esi] + mov DWORD [20+esp],edi + mov edi,DWORD [100+esp] + mov DWORD [24+esp],ecx + mov DWORD [28+esp],esi + movdqa xmm7,[256+ebp] + jmp NEAR L$012grand_ssse3 +align 16 +L$012grand_ssse3: + movdqu xmm0,[edi] + movdqu xmm1,[16+edi] + movdqu xmm2,[32+edi] + movdqu xmm3,[48+edi] + add edi,64 +db 102,15,56,0,199 + mov DWORD [100+esp],edi +db 102,15,56,0,207 + movdqa xmm4,[ebp] +db 102,15,56,0,215 + movdqa xmm5,[16+ebp] + paddd xmm4,xmm0 +db 102,15,56,0,223 + movdqa xmm6,[32+ebp] + paddd xmm5,xmm1 + movdqa xmm7,[48+ebp] + movdqa [32+esp],xmm4 + paddd xmm6,xmm2 + movdqa [48+esp],xmm5 + paddd xmm7,xmm3 + movdqa [64+esp],xmm6 + movdqa [80+esp],xmm7 + jmp NEAR L$013ssse3_00_47 +align 16 +L$013ssse3_00_47: + add ebp,64 + mov ecx,edx + movdqa xmm4,xmm1 + ror edx,14 + mov esi,DWORD [20+esp] + movdqa xmm7,xmm3 + xor edx,ecx + mov edi,DWORD [24+esp] +db 102,15,58,15,224,4 + xor esi,edi + ror edx,5 + and esi,ecx +db 102,15,58,15,250,4 + mov DWORD [16+esp],ecx + xor edx,ecx + xor edi,esi + movdqa xmm5,xmm4 + ror edx,6 + mov ecx,eax + movdqa xmm6,xmm4 + add edx,edi + mov edi,DWORD [4+esp] + psrld xmm4,3 + mov esi,eax + ror ecx,9 + paddd xmm0,xmm7 + mov DWORD [esp],eax + xor ecx,eax + psrld xmm6,7 + xor eax,edi + add edx,DWORD [28+esp] + ror ecx,11 + and ebx,eax + pshufd xmm7,xmm3,250 + xor ecx,esi + add edx,DWORD [32+esp] + pslld xmm5,14 + xor ebx,edi + ror ecx,2 + pxor xmm4,xmm6 + add ebx,edx + add edx,DWORD [12+esp] + psrld xmm6,11 + add ebx,ecx + mov ecx,edx + ror edx,14 + pxor xmm4,xmm5 + mov esi,DWORD [16+esp] + xor edx,ecx + pslld xmm5,11 + mov edi,DWORD [20+esp] + xor esi,edi + ror edx,5 + pxor xmm4,xmm6 + and esi,ecx + mov DWORD [12+esp],ecx + movdqa xmm6,xmm7 + xor edx,ecx + xor edi,esi + ror edx,6 + pxor xmm4,xmm5 + mov ecx,ebx + add edx,edi + psrld xmm7,10 + mov edi,DWORD [esp] + mov esi,ebx + ror ecx,9 + paddd xmm0,xmm4 + mov DWORD [28+esp],ebx + xor ecx,ebx + psrlq xmm6,17 + xor ebx,edi + add edx,DWORD [24+esp] + ror ecx,11 + pxor xmm7,xmm6 + and eax,ebx + xor ecx,esi + psrlq xmm6,2 + add edx,DWORD [36+esp] + xor eax,edi + ror ecx,2 + pxor xmm7,xmm6 + add eax,edx + add edx,DWORD [8+esp] + pshufd xmm7,xmm7,128 + add eax,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [12+esp] + xor edx,ecx + mov edi,DWORD [16+esp] + xor esi,edi + ror edx,5 + and esi,ecx + psrldq xmm7,8 + mov DWORD [8+esp],ecx + xor edx,ecx + xor edi,esi + paddd xmm0,xmm7 + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [28+esp] + mov esi,eax + ror ecx,9 + mov DWORD [24+esp],eax + pshufd xmm7,xmm0,80 + xor ecx,eax + xor eax,edi + add edx,DWORD [20+esp] + movdqa xmm6,xmm7 + ror ecx,11 + psrld xmm7,10 + and ebx,eax + psrlq xmm6,17 + xor ecx,esi + add edx,DWORD [40+esp] + xor ebx,edi + ror ecx,2 + pxor xmm7,xmm6 + add ebx,edx + add edx,DWORD [4+esp] + psrlq xmm6,2 + add ebx,ecx + mov ecx,edx + ror edx,14 + pxor xmm7,xmm6 + mov esi,DWORD [8+esp] + xor edx,ecx + mov edi,DWORD [12+esp] + pshufd xmm7,xmm7,8 + xor esi,edi + ror edx,5 + movdqa xmm6,[ebp] + and esi,ecx + mov DWORD [4+esp],ecx + pslldq xmm7,8 + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [24+esp] + mov esi,ebx + ror ecx,9 + paddd xmm0,xmm7 + mov DWORD [20+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [16+esp] + paddd xmm6,xmm0 + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [44+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [esp] + add eax,ecx + movdqa [32+esp],xmm6 + mov ecx,edx + movdqa xmm4,xmm2 + ror edx,14 + mov esi,DWORD [4+esp] + movdqa xmm7,xmm0 + xor edx,ecx + mov edi,DWORD [8+esp] +db 102,15,58,15,225,4 + xor esi,edi + ror edx,5 + and esi,ecx +db 102,15,58,15,251,4 + mov DWORD [esp],ecx + xor edx,ecx + xor edi,esi + movdqa xmm5,xmm4 + ror edx,6 + mov ecx,eax + movdqa xmm6,xmm4 + add edx,edi + mov edi,DWORD [20+esp] + psrld xmm4,3 + mov esi,eax + ror ecx,9 + paddd xmm1,xmm7 + mov DWORD [16+esp],eax + xor ecx,eax + psrld xmm6,7 + xor eax,edi + add edx,DWORD [12+esp] + ror ecx,11 + and ebx,eax + pshufd xmm7,xmm0,250 + xor ecx,esi + add edx,DWORD [48+esp] + pslld xmm5,14 + xor ebx,edi + ror ecx,2 + pxor xmm4,xmm6 + add ebx,edx + add edx,DWORD [28+esp] + psrld xmm6,11 + add ebx,ecx + mov ecx,edx + ror edx,14 + pxor xmm4,xmm5 + mov esi,DWORD [esp] + xor edx,ecx + pslld xmm5,11 + mov edi,DWORD [4+esp] + xor esi,edi + ror edx,5 + pxor xmm4,xmm6 + and esi,ecx + mov DWORD [28+esp],ecx + movdqa xmm6,xmm7 + xor edx,ecx + xor edi,esi + ror edx,6 + pxor xmm4,xmm5 + mov ecx,ebx + add edx,edi + psrld xmm7,10 + mov edi,DWORD [16+esp] + mov esi,ebx + ror ecx,9 + paddd xmm1,xmm4 + mov DWORD [12+esp],ebx + xor ecx,ebx + psrlq xmm6,17 + xor ebx,edi + add edx,DWORD [8+esp] + ror ecx,11 + pxor xmm7,xmm6 + and eax,ebx + xor ecx,esi + psrlq xmm6,2 + add edx,DWORD [52+esp] + xor eax,edi + ror ecx,2 + pxor xmm7,xmm6 + add eax,edx + add edx,DWORD [24+esp] + pshufd xmm7,xmm7,128 + add eax,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [28+esp] + xor edx,ecx + mov edi,DWORD [esp] + xor esi,edi + ror edx,5 + and esi,ecx + psrldq xmm7,8 + mov DWORD [24+esp],ecx + xor edx,ecx + xor edi,esi + paddd xmm1,xmm7 + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [12+esp] + mov esi,eax + ror ecx,9 + mov DWORD [8+esp],eax + pshufd xmm7,xmm1,80 + xor ecx,eax + xor eax,edi + add edx,DWORD [4+esp] + movdqa xmm6,xmm7 + ror ecx,11 + psrld xmm7,10 + and ebx,eax + psrlq xmm6,17 + xor ecx,esi + add edx,DWORD [56+esp] + xor ebx,edi + ror ecx,2 + pxor xmm7,xmm6 + add ebx,edx + add edx,DWORD [20+esp] + psrlq xmm6,2 + add ebx,ecx + mov ecx,edx + ror edx,14 + pxor xmm7,xmm6 + mov esi,DWORD [24+esp] + xor edx,ecx + mov edi,DWORD [28+esp] + pshufd xmm7,xmm7,8 + xor esi,edi + ror edx,5 + movdqa xmm6,[16+ebp] + and esi,ecx + mov DWORD [20+esp],ecx + pslldq xmm7,8 + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [8+esp] + mov esi,ebx + ror ecx,9 + paddd xmm1,xmm7 + mov DWORD [4+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [esp] + paddd xmm6,xmm1 + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [60+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [16+esp] + add eax,ecx + movdqa [48+esp],xmm6 + mov ecx,edx + movdqa xmm4,xmm3 + ror edx,14 + mov esi,DWORD [20+esp] + movdqa xmm7,xmm1 + xor edx,ecx + mov edi,DWORD [24+esp] +db 102,15,58,15,226,4 + xor esi,edi + ror edx,5 + and esi,ecx +db 102,15,58,15,248,4 + mov DWORD [16+esp],ecx + xor edx,ecx + xor edi,esi + movdqa xmm5,xmm4 + ror edx,6 + mov ecx,eax + movdqa xmm6,xmm4 + add edx,edi + mov edi,DWORD [4+esp] + psrld xmm4,3 + mov esi,eax + ror ecx,9 + paddd xmm2,xmm7 + mov DWORD [esp],eax + xor ecx,eax + psrld xmm6,7 + xor eax,edi + add edx,DWORD [28+esp] + ror ecx,11 + and ebx,eax + pshufd xmm7,xmm1,250 + xor ecx,esi + add edx,DWORD [64+esp] + pslld xmm5,14 + xor ebx,edi + ror ecx,2 + pxor xmm4,xmm6 + add ebx,edx + add edx,DWORD [12+esp] + psrld xmm6,11 + add ebx,ecx + mov ecx,edx + ror edx,14 + pxor xmm4,xmm5 + mov esi,DWORD [16+esp] + xor edx,ecx + pslld xmm5,11 + mov edi,DWORD [20+esp] + xor esi,edi + ror edx,5 + pxor xmm4,xmm6 + and esi,ecx + mov DWORD [12+esp],ecx + movdqa xmm6,xmm7 + xor edx,ecx + xor edi,esi + ror edx,6 + pxor xmm4,xmm5 + mov ecx,ebx + add edx,edi + psrld xmm7,10 + mov edi,DWORD [esp] + mov esi,ebx + ror ecx,9 + paddd xmm2,xmm4 + mov DWORD [28+esp],ebx + xor ecx,ebx + psrlq xmm6,17 + xor ebx,edi + add edx,DWORD [24+esp] + ror ecx,11 + pxor xmm7,xmm6 + and eax,ebx + xor ecx,esi + psrlq xmm6,2 + add edx,DWORD [68+esp] + xor eax,edi + ror ecx,2 + pxor xmm7,xmm6 + add eax,edx + add edx,DWORD [8+esp] + pshufd xmm7,xmm7,128 + add eax,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [12+esp] + xor edx,ecx + mov edi,DWORD [16+esp] + xor esi,edi + ror edx,5 + and esi,ecx + psrldq xmm7,8 + mov DWORD [8+esp],ecx + xor edx,ecx + xor edi,esi + paddd xmm2,xmm7 + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [28+esp] + mov esi,eax + ror ecx,9 + mov DWORD [24+esp],eax + pshufd xmm7,xmm2,80 + xor ecx,eax + xor eax,edi + add edx,DWORD [20+esp] + movdqa xmm6,xmm7 + ror ecx,11 + psrld xmm7,10 + and ebx,eax + psrlq xmm6,17 + xor ecx,esi + add edx,DWORD [72+esp] + xor ebx,edi + ror ecx,2 + pxor xmm7,xmm6 + add ebx,edx + add edx,DWORD [4+esp] + psrlq xmm6,2 + add ebx,ecx + mov ecx,edx + ror edx,14 + pxor xmm7,xmm6 + mov esi,DWORD [8+esp] + xor edx,ecx + mov edi,DWORD [12+esp] + pshufd xmm7,xmm7,8 + xor esi,edi + ror edx,5 + movdqa xmm6,[32+ebp] + and esi,ecx + mov DWORD [4+esp],ecx + pslldq xmm7,8 + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [24+esp] + mov esi,ebx + ror ecx,9 + paddd xmm2,xmm7 + mov DWORD [20+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [16+esp] + paddd xmm6,xmm2 + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [76+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [esp] + add eax,ecx + movdqa [64+esp],xmm6 + mov ecx,edx + movdqa xmm4,xmm0 + ror edx,14 + mov esi,DWORD [4+esp] + movdqa xmm7,xmm2 + xor edx,ecx + mov edi,DWORD [8+esp] +db 102,15,58,15,227,4 + xor esi,edi + ror edx,5 + and esi,ecx +db 102,15,58,15,249,4 + mov DWORD [esp],ecx + xor edx,ecx + xor edi,esi + movdqa xmm5,xmm4 + ror edx,6 + mov ecx,eax + movdqa xmm6,xmm4 + add edx,edi + mov edi,DWORD [20+esp] + psrld xmm4,3 + mov esi,eax + ror ecx,9 + paddd xmm3,xmm7 + mov DWORD [16+esp],eax + xor ecx,eax + psrld xmm6,7 + xor eax,edi + add edx,DWORD [12+esp] + ror ecx,11 + and ebx,eax + pshufd xmm7,xmm2,250 + xor ecx,esi + add edx,DWORD [80+esp] + pslld xmm5,14 + xor ebx,edi + ror ecx,2 + pxor xmm4,xmm6 + add ebx,edx + add edx,DWORD [28+esp] + psrld xmm6,11 + add ebx,ecx + mov ecx,edx + ror edx,14 + pxor xmm4,xmm5 + mov esi,DWORD [esp] + xor edx,ecx + pslld xmm5,11 + mov edi,DWORD [4+esp] + xor esi,edi + ror edx,5 + pxor xmm4,xmm6 + and esi,ecx + mov DWORD [28+esp],ecx + movdqa xmm6,xmm7 + xor edx,ecx + xor edi,esi + ror edx,6 + pxor xmm4,xmm5 + mov ecx,ebx + add edx,edi + psrld xmm7,10 + mov edi,DWORD [16+esp] + mov esi,ebx + ror ecx,9 + paddd xmm3,xmm4 + mov DWORD [12+esp],ebx + xor ecx,ebx + psrlq xmm6,17 + xor ebx,edi + add edx,DWORD [8+esp] + ror ecx,11 + pxor xmm7,xmm6 + and eax,ebx + xor ecx,esi + psrlq xmm6,2 + add edx,DWORD [84+esp] + xor eax,edi + ror ecx,2 + pxor xmm7,xmm6 + add eax,edx + add edx,DWORD [24+esp] + pshufd xmm7,xmm7,128 + add eax,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [28+esp] + xor edx,ecx + mov edi,DWORD [esp] + xor esi,edi + ror edx,5 + and esi,ecx + psrldq xmm7,8 + mov DWORD [24+esp],ecx + xor edx,ecx + xor edi,esi + paddd xmm3,xmm7 + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [12+esp] + mov esi,eax + ror ecx,9 + mov DWORD [8+esp],eax + pshufd xmm7,xmm3,80 + xor ecx,eax + xor eax,edi + add edx,DWORD [4+esp] + movdqa xmm6,xmm7 + ror ecx,11 + psrld xmm7,10 + and ebx,eax + psrlq xmm6,17 + xor ecx,esi + add edx,DWORD [88+esp] + xor ebx,edi + ror ecx,2 + pxor xmm7,xmm6 + add ebx,edx + add edx,DWORD [20+esp] + psrlq xmm6,2 + add ebx,ecx + mov ecx,edx + ror edx,14 + pxor xmm7,xmm6 + mov esi,DWORD [24+esp] + xor edx,ecx + mov edi,DWORD [28+esp] + pshufd xmm7,xmm7,8 + xor esi,edi + ror edx,5 + movdqa xmm6,[48+ebp] + and esi,ecx + mov DWORD [20+esp],ecx + pslldq xmm7,8 + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [8+esp] + mov esi,ebx + ror ecx,9 + paddd xmm3,xmm7 + mov DWORD [4+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [esp] + paddd xmm6,xmm3 + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [92+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [16+esp] + add eax,ecx + movdqa [80+esp],xmm6 + cmp DWORD [64+ebp],66051 + jne NEAR L$013ssse3_00_47 + mov ecx,edx + ror edx,14 + mov esi,DWORD [20+esp] + xor edx,ecx + mov edi,DWORD [24+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [16+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [4+esp] + mov esi,eax + ror ecx,9 + mov DWORD [esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [28+esp] + ror ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [32+esp] + xor ebx,edi + ror ecx,2 + add ebx,edx + add edx,DWORD [12+esp] + add ebx,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [16+esp] + xor edx,ecx + mov edi,DWORD [20+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [12+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [esp] + mov esi,ebx + ror ecx,9 + mov DWORD [28+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [24+esp] + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [36+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [8+esp] + add eax,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [12+esp] + xor edx,ecx + mov edi,DWORD [16+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [8+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [28+esp] + mov esi,eax + ror ecx,9 + mov DWORD [24+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [20+esp] + ror ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [40+esp] + xor ebx,edi + ror ecx,2 + add ebx,edx + add edx,DWORD [4+esp] + add ebx,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [8+esp] + xor edx,ecx + mov edi,DWORD [12+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [4+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [24+esp] + mov esi,ebx + ror ecx,9 + mov DWORD [20+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [16+esp] + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [44+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [esp] + add eax,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [4+esp] + xor edx,ecx + mov edi,DWORD [8+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [20+esp] + mov esi,eax + ror ecx,9 + mov DWORD [16+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [12+esp] + ror ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [48+esp] + xor ebx,edi + ror ecx,2 + add ebx,edx + add edx,DWORD [28+esp] + add ebx,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [esp] + xor edx,ecx + mov edi,DWORD [4+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [28+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [16+esp] + mov esi,ebx + ror ecx,9 + mov DWORD [12+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [8+esp] + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [52+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [24+esp] + add eax,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [28+esp] + xor edx,ecx + mov edi,DWORD [esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [24+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [12+esp] + mov esi,eax + ror ecx,9 + mov DWORD [8+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [4+esp] + ror ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [56+esp] + xor ebx,edi + ror ecx,2 + add ebx,edx + add edx,DWORD [20+esp] + add ebx,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [24+esp] + xor edx,ecx + mov edi,DWORD [28+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [20+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [8+esp] + mov esi,ebx + ror ecx,9 + mov DWORD [4+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [esp] + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [60+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [16+esp] + add eax,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [20+esp] + xor edx,ecx + mov edi,DWORD [24+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [16+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [4+esp] + mov esi,eax + ror ecx,9 + mov DWORD [esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [28+esp] + ror ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [64+esp] + xor ebx,edi + ror ecx,2 + add ebx,edx + add edx,DWORD [12+esp] + add ebx,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [16+esp] + xor edx,ecx + mov edi,DWORD [20+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [12+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [esp] + mov esi,ebx + ror ecx,9 + mov DWORD [28+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [24+esp] + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [68+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [8+esp] + add eax,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [12+esp] + xor edx,ecx + mov edi,DWORD [16+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [8+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [28+esp] + mov esi,eax + ror ecx,9 + mov DWORD [24+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [20+esp] + ror ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [72+esp] + xor ebx,edi + ror ecx,2 + add ebx,edx + add edx,DWORD [4+esp] + add ebx,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [8+esp] + xor edx,ecx + mov edi,DWORD [12+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [4+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [24+esp] + mov esi,ebx + ror ecx,9 + mov DWORD [20+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [16+esp] + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [76+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [esp] + add eax,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [4+esp] + xor edx,ecx + mov edi,DWORD [8+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [20+esp] + mov esi,eax + ror ecx,9 + mov DWORD [16+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [12+esp] + ror ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [80+esp] + xor ebx,edi + ror ecx,2 + add ebx,edx + add edx,DWORD [28+esp] + add ebx,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [esp] + xor edx,ecx + mov edi,DWORD [4+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [28+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [16+esp] + mov esi,ebx + ror ecx,9 + mov DWORD [12+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [8+esp] + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [84+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [24+esp] + add eax,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [28+esp] + xor edx,ecx + mov edi,DWORD [esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [24+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [12+esp] + mov esi,eax + ror ecx,9 + mov DWORD [8+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [4+esp] + ror ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [88+esp] + xor ebx,edi + ror ecx,2 + add ebx,edx + add edx,DWORD [20+esp] + add ebx,ecx + mov ecx,edx + ror edx,14 + mov esi,DWORD [24+esp] + xor edx,ecx + mov edi,DWORD [28+esp] + xor esi,edi + ror edx,5 + and esi,ecx + mov DWORD [20+esp],ecx + xor edx,ecx + xor edi,esi + ror edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [8+esp] + mov esi,ebx + ror ecx,9 + mov DWORD [4+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [esp] + ror ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [92+esp] + xor eax,edi + ror ecx,2 + add eax,edx + add edx,DWORD [16+esp] + add eax,ecx + mov esi,DWORD [96+esp] + xor ebx,edi + mov ecx,DWORD [12+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 DWORD [4+esp],ebx + xor ebx,edi + mov DWORD [8+esp],edi + mov DWORD [12+esp],ecx + mov edi,DWORD [20+esp] + mov ecx,DWORD [24+esp] + add edx,DWORD [16+esi] + add edi,DWORD [20+esi] + add ecx,DWORD [24+esi] + mov DWORD [16+esi],edx + mov DWORD [20+esi],edi + mov DWORD [20+esp],edi + mov edi,DWORD [28+esp] + mov DWORD [24+esi],ecx + add edi,DWORD [28+esi] + mov DWORD [24+esp],ecx + mov DWORD [28+esi],edi + mov DWORD [28+esp],edi + mov edi,DWORD [100+esp] + movdqa xmm7,[64+ebp] + sub ebp,192 + cmp edi,DWORD [104+esp] + jb NEAR L$012grand_ssse3 + mov esp,DWORD [108+esp] + pop edi + pop esi + pop ebx + pop ebp + ret +align 32 +L$005AVX: + and edx,264 + cmp edx,264 + je NEAR L$014AVX_BMI + lea esp,[esp-96] + vzeroall + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edi,DWORD [12+esi] + mov DWORD [4+esp],ebx + xor ebx,ecx + mov DWORD [8+esp],ecx + mov DWORD [12+esp],edi + mov edx,DWORD [16+esi] + mov edi,DWORD [20+esi] + mov ecx,DWORD [24+esi] + mov esi,DWORD [28+esi] + mov DWORD [20+esp],edi + mov edi,DWORD [100+esp] + mov DWORD [24+esp],ecx + mov DWORD [28+esp],esi + vmovdqa xmm7,[256+ebp] + jmp NEAR L$015grand_avx +align 32 +L$015grand_avx: + vmovdqu xmm0,[edi] + vmovdqu xmm1,[16+edi] + vmovdqu xmm2,[32+edi] + vmovdqu xmm3,[48+edi] + add edi,64 + vpshufb xmm0,xmm0,xmm7 + mov DWORD [100+esp],edi + vpshufb xmm1,xmm1,xmm7 + vpshufb xmm2,xmm2,xmm7 + vpaddd xmm4,xmm0,[ebp] + vpshufb xmm3,xmm3,xmm7 + vpaddd xmm5,xmm1,[16+ebp] + vpaddd xmm6,xmm2,[32+ebp] + vpaddd xmm7,xmm3,[48+ebp] + vmovdqa [32+esp],xmm4 + vmovdqa [48+esp],xmm5 + vmovdqa [64+esp],xmm6 + vmovdqa [80+esp],xmm7 + jmp NEAR L$016avx_00_47 +align 16 +L$016avx_00_47: + add ebp,64 + vpalignr xmm4,xmm1,xmm0,4 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [20+esp] + vpalignr xmm7,xmm3,xmm2,4 + xor edx,ecx + mov edi,DWORD [24+esp] + xor esi,edi + vpsrld xmm6,xmm4,7 + shrd edx,edx,5 + and esi,ecx + mov DWORD [16+esp],ecx + vpaddd xmm0,xmm0,xmm7 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrld xmm7,xmm4,3 + mov ecx,eax + add edx,edi + mov edi,DWORD [4+esp] + vpslld xmm5,xmm4,14 + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [esp],eax + vpxor xmm4,xmm7,xmm6 + xor ecx,eax + xor eax,edi + add edx,DWORD [28+esp] + vpshufd xmm7,xmm3,250 + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + vpsrld xmm6,xmm6,11 + add edx,DWORD [32+esp] + xor ebx,edi + shrd ecx,ecx,2 + vpxor xmm4,xmm4,xmm5 + add ebx,edx + add edx,DWORD [12+esp] + add ebx,ecx + vpslld xmm5,xmm5,11 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [16+esp] + vpxor xmm4,xmm4,xmm6 + xor edx,ecx + mov edi,DWORD [20+esp] + xor esi,edi + vpsrld xmm6,xmm7,10 + shrd edx,edx,5 + and esi,ecx + mov DWORD [12+esp],ecx + vpxor xmm4,xmm4,xmm5 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrlq xmm5,xmm7,17 + mov ecx,ebx + add edx,edi + mov edi,DWORD [esp] + vpaddd xmm0,xmm0,xmm4 + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [28+esp],ebx + vpxor xmm6,xmm6,xmm5 + xor ecx,ebx + xor ebx,edi + add edx,DWORD [24+esp] + vpsrlq xmm7,xmm7,19 + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + vpxor xmm6,xmm6,xmm7 + add edx,DWORD [36+esp] + xor eax,edi + shrd ecx,ecx,2 + vpshufd xmm7,xmm6,132 + add eax,edx + add edx,DWORD [8+esp] + add eax,ecx + vpsrldq xmm7,xmm7,8 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [12+esp] + vpaddd xmm0,xmm0,xmm7 + xor edx,ecx + mov edi,DWORD [16+esp] + xor esi,edi + vpshufd xmm7,xmm0,80 + shrd edx,edx,5 + and esi,ecx + mov DWORD [8+esp],ecx + vpsrld xmm6,xmm7,10 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrlq xmm5,xmm7,17 + mov ecx,eax + add edx,edi + mov edi,DWORD [28+esp] + vpxor xmm6,xmm6,xmm5 + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [24+esp],eax + vpsrlq xmm7,xmm7,19 + xor ecx,eax + xor eax,edi + add edx,DWORD [20+esp] + vpxor xmm6,xmm6,xmm7 + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + vpshufd xmm7,xmm6,232 + add edx,DWORD [40+esp] + xor ebx,edi + shrd ecx,ecx,2 + vpslldq xmm7,xmm7,8 + add ebx,edx + add edx,DWORD [4+esp] + add ebx,ecx + vpaddd xmm0,xmm0,xmm7 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [8+esp] + vpaddd xmm6,xmm0,[ebp] + xor edx,ecx + mov edi,DWORD [12+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [4+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [24+esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [20+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [16+esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [44+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [esp] + add eax,ecx + vmovdqa [32+esp],xmm6 + vpalignr xmm4,xmm2,xmm1,4 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [4+esp] + vpalignr xmm7,xmm0,xmm3,4 + xor edx,ecx + mov edi,DWORD [8+esp] + xor esi,edi + vpsrld xmm6,xmm4,7 + shrd edx,edx,5 + and esi,ecx + mov DWORD [esp],ecx + vpaddd xmm1,xmm1,xmm7 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrld xmm7,xmm4,3 + mov ecx,eax + add edx,edi + mov edi,DWORD [20+esp] + vpslld xmm5,xmm4,14 + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [16+esp],eax + vpxor xmm4,xmm7,xmm6 + xor ecx,eax + xor eax,edi + add edx,DWORD [12+esp] + vpshufd xmm7,xmm0,250 + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + vpsrld xmm6,xmm6,11 + add edx,DWORD [48+esp] + xor ebx,edi + shrd ecx,ecx,2 + vpxor xmm4,xmm4,xmm5 + add ebx,edx + add edx,DWORD [28+esp] + add ebx,ecx + vpslld xmm5,xmm5,11 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [esp] + vpxor xmm4,xmm4,xmm6 + xor edx,ecx + mov edi,DWORD [4+esp] + xor esi,edi + vpsrld xmm6,xmm7,10 + shrd edx,edx,5 + and esi,ecx + mov DWORD [28+esp],ecx + vpxor xmm4,xmm4,xmm5 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrlq xmm5,xmm7,17 + mov ecx,ebx + add edx,edi + mov edi,DWORD [16+esp] + vpaddd xmm1,xmm1,xmm4 + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [12+esp],ebx + vpxor xmm6,xmm6,xmm5 + xor ecx,ebx + xor ebx,edi + add edx,DWORD [8+esp] + vpsrlq xmm7,xmm7,19 + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + vpxor xmm6,xmm6,xmm7 + add edx,DWORD [52+esp] + xor eax,edi + shrd ecx,ecx,2 + vpshufd xmm7,xmm6,132 + add eax,edx + add edx,DWORD [24+esp] + add eax,ecx + vpsrldq xmm7,xmm7,8 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [28+esp] + vpaddd xmm1,xmm1,xmm7 + xor edx,ecx + mov edi,DWORD [esp] + xor esi,edi + vpshufd xmm7,xmm1,80 + shrd edx,edx,5 + and esi,ecx + mov DWORD [24+esp],ecx + vpsrld xmm6,xmm7,10 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrlq xmm5,xmm7,17 + mov ecx,eax + add edx,edi + mov edi,DWORD [12+esp] + vpxor xmm6,xmm6,xmm5 + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [8+esp],eax + vpsrlq xmm7,xmm7,19 + xor ecx,eax + xor eax,edi + add edx,DWORD [4+esp] + vpxor xmm6,xmm6,xmm7 + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + vpshufd xmm7,xmm6,232 + add edx,DWORD [56+esp] + xor ebx,edi + shrd ecx,ecx,2 + vpslldq xmm7,xmm7,8 + add ebx,edx + add edx,DWORD [20+esp] + add ebx,ecx + vpaddd xmm1,xmm1,xmm7 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [24+esp] + vpaddd xmm6,xmm1,[16+ebp] + xor edx,ecx + mov edi,DWORD [28+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [20+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [8+esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [4+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [60+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [16+esp] + add eax,ecx + vmovdqa [48+esp],xmm6 + vpalignr xmm4,xmm3,xmm2,4 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [20+esp] + vpalignr xmm7,xmm1,xmm0,4 + xor edx,ecx + mov edi,DWORD [24+esp] + xor esi,edi + vpsrld xmm6,xmm4,7 + shrd edx,edx,5 + and esi,ecx + mov DWORD [16+esp],ecx + vpaddd xmm2,xmm2,xmm7 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrld xmm7,xmm4,3 + mov ecx,eax + add edx,edi + mov edi,DWORD [4+esp] + vpslld xmm5,xmm4,14 + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [esp],eax + vpxor xmm4,xmm7,xmm6 + xor ecx,eax + xor eax,edi + add edx,DWORD [28+esp] + vpshufd xmm7,xmm1,250 + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + vpsrld xmm6,xmm6,11 + add edx,DWORD [64+esp] + xor ebx,edi + shrd ecx,ecx,2 + vpxor xmm4,xmm4,xmm5 + add ebx,edx + add edx,DWORD [12+esp] + add ebx,ecx + vpslld xmm5,xmm5,11 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [16+esp] + vpxor xmm4,xmm4,xmm6 + xor edx,ecx + mov edi,DWORD [20+esp] + xor esi,edi + vpsrld xmm6,xmm7,10 + shrd edx,edx,5 + and esi,ecx + mov DWORD [12+esp],ecx + vpxor xmm4,xmm4,xmm5 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrlq xmm5,xmm7,17 + mov ecx,ebx + add edx,edi + mov edi,DWORD [esp] + vpaddd xmm2,xmm2,xmm4 + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [28+esp],ebx + vpxor xmm6,xmm6,xmm5 + xor ecx,ebx + xor ebx,edi + add edx,DWORD [24+esp] + vpsrlq xmm7,xmm7,19 + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + vpxor xmm6,xmm6,xmm7 + add edx,DWORD [68+esp] + xor eax,edi + shrd ecx,ecx,2 + vpshufd xmm7,xmm6,132 + add eax,edx + add edx,DWORD [8+esp] + add eax,ecx + vpsrldq xmm7,xmm7,8 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [12+esp] + vpaddd xmm2,xmm2,xmm7 + xor edx,ecx + mov edi,DWORD [16+esp] + xor esi,edi + vpshufd xmm7,xmm2,80 + shrd edx,edx,5 + and esi,ecx + mov DWORD [8+esp],ecx + vpsrld xmm6,xmm7,10 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrlq xmm5,xmm7,17 + mov ecx,eax + add edx,edi + mov edi,DWORD [28+esp] + vpxor xmm6,xmm6,xmm5 + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [24+esp],eax + vpsrlq xmm7,xmm7,19 + xor ecx,eax + xor eax,edi + add edx,DWORD [20+esp] + vpxor xmm6,xmm6,xmm7 + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + vpshufd xmm7,xmm6,232 + add edx,DWORD [72+esp] + xor ebx,edi + shrd ecx,ecx,2 + vpslldq xmm7,xmm7,8 + add ebx,edx + add edx,DWORD [4+esp] + add ebx,ecx + vpaddd xmm2,xmm2,xmm7 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [8+esp] + vpaddd xmm6,xmm2,[32+ebp] + xor edx,ecx + mov edi,DWORD [12+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [4+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [24+esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [20+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [16+esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [76+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [esp] + add eax,ecx + vmovdqa [64+esp],xmm6 + vpalignr xmm4,xmm0,xmm3,4 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [4+esp] + vpalignr xmm7,xmm2,xmm1,4 + xor edx,ecx + mov edi,DWORD [8+esp] + xor esi,edi + vpsrld xmm6,xmm4,7 + shrd edx,edx,5 + and esi,ecx + mov DWORD [esp],ecx + vpaddd xmm3,xmm3,xmm7 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrld xmm7,xmm4,3 + mov ecx,eax + add edx,edi + mov edi,DWORD [20+esp] + vpslld xmm5,xmm4,14 + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [16+esp],eax + vpxor xmm4,xmm7,xmm6 + xor ecx,eax + xor eax,edi + add edx,DWORD [12+esp] + vpshufd xmm7,xmm2,250 + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + vpsrld xmm6,xmm6,11 + add edx,DWORD [80+esp] + xor ebx,edi + shrd ecx,ecx,2 + vpxor xmm4,xmm4,xmm5 + add ebx,edx + add edx,DWORD [28+esp] + add ebx,ecx + vpslld xmm5,xmm5,11 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [esp] + vpxor xmm4,xmm4,xmm6 + xor edx,ecx + mov edi,DWORD [4+esp] + xor esi,edi + vpsrld xmm6,xmm7,10 + shrd edx,edx,5 + and esi,ecx + mov DWORD [28+esp],ecx + vpxor xmm4,xmm4,xmm5 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrlq xmm5,xmm7,17 + mov ecx,ebx + add edx,edi + mov edi,DWORD [16+esp] + vpaddd xmm3,xmm3,xmm4 + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [12+esp],ebx + vpxor xmm6,xmm6,xmm5 + xor ecx,ebx + xor ebx,edi + add edx,DWORD [8+esp] + vpsrlq xmm7,xmm7,19 + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + vpxor xmm6,xmm6,xmm7 + add edx,DWORD [84+esp] + xor eax,edi + shrd ecx,ecx,2 + vpshufd xmm7,xmm6,132 + add eax,edx + add edx,DWORD [24+esp] + add eax,ecx + vpsrldq xmm7,xmm7,8 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [28+esp] + vpaddd xmm3,xmm3,xmm7 + xor edx,ecx + mov edi,DWORD [esp] + xor esi,edi + vpshufd xmm7,xmm3,80 + shrd edx,edx,5 + and esi,ecx + mov DWORD [24+esp],ecx + vpsrld xmm6,xmm7,10 + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + vpsrlq xmm5,xmm7,17 + mov ecx,eax + add edx,edi + mov edi,DWORD [12+esp] + vpxor xmm6,xmm6,xmm5 + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [8+esp],eax + vpsrlq xmm7,xmm7,19 + xor ecx,eax + xor eax,edi + add edx,DWORD [4+esp] + vpxor xmm6,xmm6,xmm7 + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + vpshufd xmm7,xmm6,232 + add edx,DWORD [88+esp] + xor ebx,edi + shrd ecx,ecx,2 + vpslldq xmm7,xmm7,8 + add ebx,edx + add edx,DWORD [20+esp] + add ebx,ecx + vpaddd xmm3,xmm3,xmm7 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [24+esp] + vpaddd xmm6,xmm3,[48+ebp] + xor edx,ecx + mov edi,DWORD [28+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [20+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [8+esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [4+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [92+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [16+esp] + add eax,ecx + vmovdqa [80+esp],xmm6 + cmp DWORD [64+ebp],66051 + jne NEAR L$016avx_00_47 + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [20+esp] + xor edx,ecx + mov edi,DWORD [24+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [16+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [4+esp] + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [28+esp] + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [32+esp] + xor ebx,edi + shrd ecx,ecx,2 + add ebx,edx + add edx,DWORD [12+esp] + add ebx,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [16+esp] + xor edx,ecx + mov edi,DWORD [20+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [12+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [28+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [24+esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [36+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [8+esp] + add eax,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [12+esp] + xor edx,ecx + mov edi,DWORD [16+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [8+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [28+esp] + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [24+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [20+esp] + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [40+esp] + xor ebx,edi + shrd ecx,ecx,2 + add ebx,edx + add edx,DWORD [4+esp] + add ebx,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [8+esp] + xor edx,ecx + mov edi,DWORD [12+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [4+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [24+esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [20+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [16+esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [44+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [esp] + add eax,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [4+esp] + xor edx,ecx + mov edi,DWORD [8+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [20+esp] + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [16+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [12+esp] + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [48+esp] + xor ebx,edi + shrd ecx,ecx,2 + add ebx,edx + add edx,DWORD [28+esp] + add ebx,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [esp] + xor edx,ecx + mov edi,DWORD [4+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [28+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [16+esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [12+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [8+esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [52+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [24+esp] + add eax,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [28+esp] + xor edx,ecx + mov edi,DWORD [esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [24+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [12+esp] + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [8+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [4+esp] + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [56+esp] + xor ebx,edi + shrd ecx,ecx,2 + add ebx,edx + add edx,DWORD [20+esp] + add ebx,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [24+esp] + xor edx,ecx + mov edi,DWORD [28+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [20+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [8+esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [4+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [60+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [16+esp] + add eax,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [20+esp] + xor edx,ecx + mov edi,DWORD [24+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [16+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [4+esp] + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [28+esp] + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [64+esp] + xor ebx,edi + shrd ecx,ecx,2 + add ebx,edx + add edx,DWORD [12+esp] + add ebx,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [16+esp] + xor edx,ecx + mov edi,DWORD [20+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [12+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [28+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [24+esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [68+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [8+esp] + add eax,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [12+esp] + xor edx,ecx + mov edi,DWORD [16+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [8+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [28+esp] + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [24+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [20+esp] + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [72+esp] + xor ebx,edi + shrd ecx,ecx,2 + add ebx,edx + add edx,DWORD [4+esp] + add ebx,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [8+esp] + xor edx,ecx + mov edi,DWORD [12+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [4+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [24+esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [20+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [16+esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [76+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [esp] + add eax,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [4+esp] + xor edx,ecx + mov edi,DWORD [8+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [20+esp] + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [16+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [12+esp] + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [80+esp] + xor ebx,edi + shrd ecx,ecx,2 + add ebx,edx + add edx,DWORD [28+esp] + add ebx,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [esp] + xor edx,ecx + mov edi,DWORD [4+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [28+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [16+esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [12+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [8+esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [84+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [24+esp] + add eax,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [28+esp] + xor edx,ecx + mov edi,DWORD [esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [24+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,eax + add edx,edi + mov edi,DWORD [12+esp] + mov esi,eax + shrd ecx,ecx,9 + mov DWORD [8+esp],eax + xor ecx,eax + xor eax,edi + add edx,DWORD [4+esp] + shrd ecx,ecx,11 + and ebx,eax + xor ecx,esi + add edx,DWORD [88+esp] + xor ebx,edi + shrd ecx,ecx,2 + add ebx,edx + add edx,DWORD [20+esp] + add ebx,ecx + mov ecx,edx + shrd edx,edx,14 + mov esi,DWORD [24+esp] + xor edx,ecx + mov edi,DWORD [28+esp] + xor esi,edi + shrd edx,edx,5 + and esi,ecx + mov DWORD [20+esp],ecx + xor edx,ecx + xor edi,esi + shrd edx,edx,6 + mov ecx,ebx + add edx,edi + mov edi,DWORD [8+esp] + mov esi,ebx + shrd ecx,ecx,9 + mov DWORD [4+esp],ebx + xor ecx,ebx + xor ebx,edi + add edx,DWORD [esp] + shrd ecx,ecx,11 + and eax,ebx + xor ecx,esi + add edx,DWORD [92+esp] + xor eax,edi + shrd ecx,ecx,2 + add eax,edx + add edx,DWORD [16+esp] + add eax,ecx + mov esi,DWORD [96+esp] + xor ebx,edi + mov ecx,DWORD [12+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 DWORD [4+esp],ebx + xor ebx,edi + mov DWORD [8+esp],edi + mov DWORD [12+esp],ecx + mov edi,DWORD [20+esp] + mov ecx,DWORD [24+esp] + add edx,DWORD [16+esi] + add edi,DWORD [20+esi] + add ecx,DWORD [24+esi] + mov DWORD [16+esi],edx + mov DWORD [20+esi],edi + mov DWORD [20+esp],edi + mov edi,DWORD [28+esp] + mov DWORD [24+esi],ecx + add edi,DWORD [28+esi] + mov DWORD [24+esp],ecx + mov DWORD [28+esi],edi + mov DWORD [28+esp],edi + mov edi,DWORD [100+esp] + vmovdqa xmm7,[64+ebp] + sub ebp,192 + cmp edi,DWORD [104+esp] + jb NEAR L$015grand_avx + mov esp,DWORD [108+esp] + vzeroall + pop edi + pop esi + pop ebx + pop ebp + ret +align 32 +L$014AVX_BMI: + lea esp,[esp-96] + vzeroall + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov edi,DWORD [12+esi] + mov DWORD [4+esp],ebx + xor ebx,ecx + mov DWORD [8+esp],ecx + mov DWORD [12+esp],edi + mov edx,DWORD [16+esi] + mov edi,DWORD [20+esi] + mov ecx,DWORD [24+esi] + mov esi,DWORD [28+esi] + mov DWORD [20+esp],edi + mov edi,DWORD [100+esp] + mov DWORD [24+esp],ecx + mov DWORD [28+esp],esi + vmovdqa xmm7,[256+ebp] + jmp NEAR L$017grand_avx_bmi +align 32 +L$017grand_avx_bmi: + vmovdqu xmm0,[edi] + vmovdqu xmm1,[16+edi] + vmovdqu xmm2,[32+edi] + vmovdqu xmm3,[48+edi] + add edi,64 + vpshufb xmm0,xmm0,xmm7 + mov DWORD [100+esp],edi + vpshufb xmm1,xmm1,xmm7 + vpshufb xmm2,xmm2,xmm7 + vpaddd xmm4,xmm0,[ebp] + vpshufb xmm3,xmm3,xmm7 + vpaddd xmm5,xmm1,[16+ebp] + vpaddd xmm6,xmm2,[32+ebp] + vpaddd xmm7,xmm3,[48+ebp] + vmovdqa [32+esp],xmm4 + vmovdqa [48+esp],xmm5 + vmovdqa [64+esp],xmm6 + vmovdqa [80+esp],xmm7 + jmp NEAR L$018avx_bmi_00_47 +align 16 +L$018avx_bmi_00_47: + add ebp,64 + vpalignr xmm4,xmm1,xmm0,4 + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [16+esp],edx + vpalignr xmm7,xmm3,xmm2,4 + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [24+esp] + vpsrld xmm6,xmm4,7 + xor ecx,edi + and edx,DWORD [20+esp] + mov DWORD [esp],eax + vpaddd xmm0,xmm0,xmm7 + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + vpsrld xmm7,xmm4,3 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + vpslld xmm5,xmm4,14 + mov edi,DWORD [4+esp] + xor ecx,esi + xor eax,edi + vpxor xmm4,xmm7,xmm6 + add edx,DWORD [28+esp] + and ebx,eax + add edx,DWORD [32+esp] + vpshufd xmm7,xmm3,250 + xor ebx,edi + add ecx,edx + add edx,DWORD [12+esp] + vpsrld xmm6,xmm6,11 + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + vpxor xmm4,xmm4,xmm5 + mov DWORD [12+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpslld xmm5,xmm5,11 + andn esi,edx,DWORD [20+esp] + xor ecx,edi + and edx,DWORD [16+esp] + vpxor xmm4,xmm4,xmm6 + mov DWORD [28+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + vpsrld xmm6,xmm7,10 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + vpxor xmm4,xmm4,xmm5 + mov edi,DWORD [esp] + xor ecx,esi + xor ebx,edi + vpsrlq xmm5,xmm7,17 + add edx,DWORD [24+esp] + and eax,ebx + add edx,DWORD [36+esp] + vpaddd xmm0,xmm0,xmm4 + xor eax,edi + add ecx,edx + add edx,DWORD [8+esp] + vpxor xmm6,xmm6,xmm5 + lea eax,[ecx*1+eax] + rorx ecx,edx,6 + rorx esi,edx,11 + vpsrlq xmm7,xmm7,19 + mov DWORD [8+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpxor xmm6,xmm6,xmm7 + andn esi,edx,DWORD [16+esp] + xor ecx,edi + and edx,DWORD [12+esp] + vpshufd xmm7,xmm6,132 + mov DWORD [24+esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + vpsrldq xmm7,xmm7,8 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + vpaddd xmm0,xmm0,xmm7 + mov edi,DWORD [28+esp] + xor ecx,esi + xor eax,edi + vpshufd xmm7,xmm0,80 + add edx,DWORD [20+esp] + and ebx,eax + add edx,DWORD [40+esp] + vpsrld xmm6,xmm7,10 + xor ebx,edi + add ecx,edx + add edx,DWORD [4+esp] + vpsrlq xmm5,xmm7,17 + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + vpxor xmm6,xmm6,xmm5 + mov DWORD [4+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpsrlq xmm7,xmm7,19 + andn esi,edx,DWORD [12+esp] + xor ecx,edi + and edx,DWORD [8+esp] + vpxor xmm6,xmm6,xmm7 + mov DWORD [20+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + vpshufd xmm7,xmm6,232 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + vpslldq xmm7,xmm7,8 + mov edi,DWORD [24+esp] + xor ecx,esi + xor ebx,edi + vpaddd xmm0,xmm0,xmm7 + add edx,DWORD [16+esp] + and eax,ebx + add edx,DWORD [44+esp] + vpaddd xmm6,xmm0,[ebp] + xor eax,edi + add ecx,edx + add edx,DWORD [esp] + lea eax,[ecx*1+eax] + vmovdqa [32+esp],xmm6 + vpalignr xmm4,xmm2,xmm1,4 + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [esp],edx + vpalignr xmm7,xmm0,xmm3,4 + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [8+esp] + vpsrld xmm6,xmm4,7 + xor ecx,edi + and edx,DWORD [4+esp] + mov DWORD [16+esp],eax + vpaddd xmm1,xmm1,xmm7 + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + vpsrld xmm7,xmm4,3 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + vpslld xmm5,xmm4,14 + mov edi,DWORD [20+esp] + xor ecx,esi + xor eax,edi + vpxor xmm4,xmm7,xmm6 + add edx,DWORD [12+esp] + and ebx,eax + add edx,DWORD [48+esp] + vpshufd xmm7,xmm0,250 + xor ebx,edi + add ecx,edx + add edx,DWORD [28+esp] + vpsrld xmm6,xmm6,11 + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + vpxor xmm4,xmm4,xmm5 + mov DWORD [28+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpslld xmm5,xmm5,11 + andn esi,edx,DWORD [4+esp] + xor ecx,edi + and edx,DWORD [esp] + vpxor xmm4,xmm4,xmm6 + mov DWORD [12+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + vpsrld xmm6,xmm7,10 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + vpxor xmm4,xmm4,xmm5 + mov edi,DWORD [16+esp] + xor ecx,esi + xor ebx,edi + vpsrlq xmm5,xmm7,17 + add edx,DWORD [8+esp] + and eax,ebx + add edx,DWORD [52+esp] + vpaddd xmm1,xmm1,xmm4 + xor eax,edi + add ecx,edx + add edx,DWORD [24+esp] + vpxor xmm6,xmm6,xmm5 + lea eax,[ecx*1+eax] + rorx ecx,edx,6 + rorx esi,edx,11 + vpsrlq xmm7,xmm7,19 + mov DWORD [24+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpxor xmm6,xmm6,xmm7 + andn esi,edx,DWORD [esp] + xor ecx,edi + and edx,DWORD [28+esp] + vpshufd xmm7,xmm6,132 + mov DWORD [8+esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + vpsrldq xmm7,xmm7,8 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + vpaddd xmm1,xmm1,xmm7 + mov edi,DWORD [12+esp] + xor ecx,esi + xor eax,edi + vpshufd xmm7,xmm1,80 + add edx,DWORD [4+esp] + and ebx,eax + add edx,DWORD [56+esp] + vpsrld xmm6,xmm7,10 + xor ebx,edi + add ecx,edx + add edx,DWORD [20+esp] + vpsrlq xmm5,xmm7,17 + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + vpxor xmm6,xmm6,xmm5 + mov DWORD [20+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpsrlq xmm7,xmm7,19 + andn esi,edx,DWORD [28+esp] + xor ecx,edi + and edx,DWORD [24+esp] + vpxor xmm6,xmm6,xmm7 + mov DWORD [4+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + vpshufd xmm7,xmm6,232 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + vpslldq xmm7,xmm7,8 + mov edi,DWORD [8+esp] + xor ecx,esi + xor ebx,edi + vpaddd xmm1,xmm1,xmm7 + add edx,DWORD [esp] + and eax,ebx + add edx,DWORD [60+esp] + vpaddd xmm6,xmm1,[16+ebp] + xor eax,edi + add ecx,edx + add edx,DWORD [16+esp] + lea eax,[ecx*1+eax] + vmovdqa [48+esp],xmm6 + vpalignr xmm4,xmm3,xmm2,4 + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [16+esp],edx + vpalignr xmm7,xmm1,xmm0,4 + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [24+esp] + vpsrld xmm6,xmm4,7 + xor ecx,edi + and edx,DWORD [20+esp] + mov DWORD [esp],eax + vpaddd xmm2,xmm2,xmm7 + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + vpsrld xmm7,xmm4,3 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + vpslld xmm5,xmm4,14 + mov edi,DWORD [4+esp] + xor ecx,esi + xor eax,edi + vpxor xmm4,xmm7,xmm6 + add edx,DWORD [28+esp] + and ebx,eax + add edx,DWORD [64+esp] + vpshufd xmm7,xmm1,250 + xor ebx,edi + add ecx,edx + add edx,DWORD [12+esp] + vpsrld xmm6,xmm6,11 + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + vpxor xmm4,xmm4,xmm5 + mov DWORD [12+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpslld xmm5,xmm5,11 + andn esi,edx,DWORD [20+esp] + xor ecx,edi + and edx,DWORD [16+esp] + vpxor xmm4,xmm4,xmm6 + mov DWORD [28+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + vpsrld xmm6,xmm7,10 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + vpxor xmm4,xmm4,xmm5 + mov edi,DWORD [esp] + xor ecx,esi + xor ebx,edi + vpsrlq xmm5,xmm7,17 + add edx,DWORD [24+esp] + and eax,ebx + add edx,DWORD [68+esp] + vpaddd xmm2,xmm2,xmm4 + xor eax,edi + add ecx,edx + add edx,DWORD [8+esp] + vpxor xmm6,xmm6,xmm5 + lea eax,[ecx*1+eax] + rorx ecx,edx,6 + rorx esi,edx,11 + vpsrlq xmm7,xmm7,19 + mov DWORD [8+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpxor xmm6,xmm6,xmm7 + andn esi,edx,DWORD [16+esp] + xor ecx,edi + and edx,DWORD [12+esp] + vpshufd xmm7,xmm6,132 + mov DWORD [24+esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + vpsrldq xmm7,xmm7,8 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + vpaddd xmm2,xmm2,xmm7 + mov edi,DWORD [28+esp] + xor ecx,esi + xor eax,edi + vpshufd xmm7,xmm2,80 + add edx,DWORD [20+esp] + and ebx,eax + add edx,DWORD [72+esp] + vpsrld xmm6,xmm7,10 + xor ebx,edi + add ecx,edx + add edx,DWORD [4+esp] + vpsrlq xmm5,xmm7,17 + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + vpxor xmm6,xmm6,xmm5 + mov DWORD [4+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpsrlq xmm7,xmm7,19 + andn esi,edx,DWORD [12+esp] + xor ecx,edi + and edx,DWORD [8+esp] + vpxor xmm6,xmm6,xmm7 + mov DWORD [20+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + vpshufd xmm7,xmm6,232 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + vpslldq xmm7,xmm7,8 + mov edi,DWORD [24+esp] + xor ecx,esi + xor ebx,edi + vpaddd xmm2,xmm2,xmm7 + add edx,DWORD [16+esp] + and eax,ebx + add edx,DWORD [76+esp] + vpaddd xmm6,xmm2,[32+ebp] + xor eax,edi + add ecx,edx + add edx,DWORD [esp] + lea eax,[ecx*1+eax] + vmovdqa [64+esp],xmm6 + vpalignr xmm4,xmm0,xmm3,4 + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [esp],edx + vpalignr xmm7,xmm2,xmm1,4 + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [8+esp] + vpsrld xmm6,xmm4,7 + xor ecx,edi + and edx,DWORD [4+esp] + mov DWORD [16+esp],eax + vpaddd xmm3,xmm3,xmm7 + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + vpsrld xmm7,xmm4,3 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + vpslld xmm5,xmm4,14 + mov edi,DWORD [20+esp] + xor ecx,esi + xor eax,edi + vpxor xmm4,xmm7,xmm6 + add edx,DWORD [12+esp] + and ebx,eax + add edx,DWORD [80+esp] + vpshufd xmm7,xmm2,250 + xor ebx,edi + add ecx,edx + add edx,DWORD [28+esp] + vpsrld xmm6,xmm6,11 + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + vpxor xmm4,xmm4,xmm5 + mov DWORD [28+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpslld xmm5,xmm5,11 + andn esi,edx,DWORD [4+esp] + xor ecx,edi + and edx,DWORD [esp] + vpxor xmm4,xmm4,xmm6 + mov DWORD [12+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + vpsrld xmm6,xmm7,10 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + vpxor xmm4,xmm4,xmm5 + mov edi,DWORD [16+esp] + xor ecx,esi + xor ebx,edi + vpsrlq xmm5,xmm7,17 + add edx,DWORD [8+esp] + and eax,ebx + add edx,DWORD [84+esp] + vpaddd xmm3,xmm3,xmm4 + xor eax,edi + add ecx,edx + add edx,DWORD [24+esp] + vpxor xmm6,xmm6,xmm5 + lea eax,[ecx*1+eax] + rorx ecx,edx,6 + rorx esi,edx,11 + vpsrlq xmm7,xmm7,19 + mov DWORD [24+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpxor xmm6,xmm6,xmm7 + andn esi,edx,DWORD [esp] + xor ecx,edi + and edx,DWORD [28+esp] + vpshufd xmm7,xmm6,132 + mov DWORD [8+esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + vpsrldq xmm7,xmm7,8 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + vpaddd xmm3,xmm3,xmm7 + mov edi,DWORD [12+esp] + xor ecx,esi + xor eax,edi + vpshufd xmm7,xmm3,80 + add edx,DWORD [4+esp] + and ebx,eax + add edx,DWORD [88+esp] + vpsrld xmm6,xmm7,10 + xor ebx,edi + add ecx,edx + add edx,DWORD [20+esp] + vpsrlq xmm5,xmm7,17 + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + vpxor xmm6,xmm6,xmm5 + mov DWORD [20+esp],edx + rorx edi,edx,25 + xor ecx,esi + vpsrlq xmm7,xmm7,19 + andn esi,edx,DWORD [28+esp] + xor ecx,edi + and edx,DWORD [24+esp] + vpxor xmm6,xmm6,xmm7 + mov DWORD [4+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + vpshufd xmm7,xmm6,232 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + vpslldq xmm7,xmm7,8 + mov edi,DWORD [8+esp] + xor ecx,esi + xor ebx,edi + vpaddd xmm3,xmm3,xmm7 + add edx,DWORD [esp] + and eax,ebx + add edx,DWORD [92+esp] + vpaddd xmm6,xmm3,[48+ebp] + xor eax,edi + add ecx,edx + add edx,DWORD [16+esp] + lea eax,[ecx*1+eax] + vmovdqa [80+esp],xmm6 + cmp DWORD [64+ebp],66051 + jne NEAR L$018avx_bmi_00_47 + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [16+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [24+esp] + xor ecx,edi + and edx,DWORD [20+esp] + mov DWORD [esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + mov edi,DWORD [4+esp] + xor ecx,esi + xor eax,edi + add edx,DWORD [28+esp] + and ebx,eax + add edx,DWORD [32+esp] + xor ebx,edi + add ecx,edx + add edx,DWORD [12+esp] + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [12+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [20+esp] + xor ecx,edi + and edx,DWORD [16+esp] + mov DWORD [28+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + mov edi,DWORD [esp] + xor ecx,esi + xor ebx,edi + add edx,DWORD [24+esp] + and eax,ebx + add edx,DWORD [36+esp] + xor eax,edi + add ecx,edx + add edx,DWORD [8+esp] + lea eax,[ecx*1+eax] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [8+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [16+esp] + xor ecx,edi + and edx,DWORD [12+esp] + mov DWORD [24+esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + mov edi,DWORD [28+esp] + xor ecx,esi + xor eax,edi + add edx,DWORD [20+esp] + and ebx,eax + add edx,DWORD [40+esp] + xor ebx,edi + add ecx,edx + add edx,DWORD [4+esp] + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [4+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [12+esp] + xor ecx,edi + and edx,DWORD [8+esp] + mov DWORD [20+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + mov edi,DWORD [24+esp] + xor ecx,esi + xor ebx,edi + add edx,DWORD [16+esp] + and eax,ebx + add edx,DWORD [44+esp] + xor eax,edi + add ecx,edx + add edx,DWORD [esp] + lea eax,[ecx*1+eax] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [8+esp] + xor ecx,edi + and edx,DWORD [4+esp] + mov DWORD [16+esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + mov edi,DWORD [20+esp] + xor ecx,esi + xor eax,edi + add edx,DWORD [12+esp] + and ebx,eax + add edx,DWORD [48+esp] + xor ebx,edi + add ecx,edx + add edx,DWORD [28+esp] + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [28+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [4+esp] + xor ecx,edi + and edx,DWORD [esp] + mov DWORD [12+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + mov edi,DWORD [16+esp] + xor ecx,esi + xor ebx,edi + add edx,DWORD [8+esp] + and eax,ebx + add edx,DWORD [52+esp] + xor eax,edi + add ecx,edx + add edx,DWORD [24+esp] + lea eax,[ecx*1+eax] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [24+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [esp] + xor ecx,edi + and edx,DWORD [28+esp] + mov DWORD [8+esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + mov edi,DWORD [12+esp] + xor ecx,esi + xor eax,edi + add edx,DWORD [4+esp] + and ebx,eax + add edx,DWORD [56+esp] + xor ebx,edi + add ecx,edx + add edx,DWORD [20+esp] + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [20+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [28+esp] + xor ecx,edi + and edx,DWORD [24+esp] + mov DWORD [4+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + mov edi,DWORD [8+esp] + xor ecx,esi + xor ebx,edi + add edx,DWORD [esp] + and eax,ebx + add edx,DWORD [60+esp] + xor eax,edi + add ecx,edx + add edx,DWORD [16+esp] + lea eax,[ecx*1+eax] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [16+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [24+esp] + xor ecx,edi + and edx,DWORD [20+esp] + mov DWORD [esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + mov edi,DWORD [4+esp] + xor ecx,esi + xor eax,edi + add edx,DWORD [28+esp] + and ebx,eax + add edx,DWORD [64+esp] + xor ebx,edi + add ecx,edx + add edx,DWORD [12+esp] + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [12+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [20+esp] + xor ecx,edi + and edx,DWORD [16+esp] + mov DWORD [28+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + mov edi,DWORD [esp] + xor ecx,esi + xor ebx,edi + add edx,DWORD [24+esp] + and eax,ebx + add edx,DWORD [68+esp] + xor eax,edi + add ecx,edx + add edx,DWORD [8+esp] + lea eax,[ecx*1+eax] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [8+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [16+esp] + xor ecx,edi + and edx,DWORD [12+esp] + mov DWORD [24+esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + mov edi,DWORD [28+esp] + xor ecx,esi + xor eax,edi + add edx,DWORD [20+esp] + and ebx,eax + add edx,DWORD [72+esp] + xor ebx,edi + add ecx,edx + add edx,DWORD [4+esp] + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [4+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [12+esp] + xor ecx,edi + and edx,DWORD [8+esp] + mov DWORD [20+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + mov edi,DWORD [24+esp] + xor ecx,esi + xor ebx,edi + add edx,DWORD [16+esp] + and eax,ebx + add edx,DWORD [76+esp] + xor eax,edi + add ecx,edx + add edx,DWORD [esp] + lea eax,[ecx*1+eax] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [8+esp] + xor ecx,edi + and edx,DWORD [4+esp] + mov DWORD [16+esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + mov edi,DWORD [20+esp] + xor ecx,esi + xor eax,edi + add edx,DWORD [12+esp] + and ebx,eax + add edx,DWORD [80+esp] + xor ebx,edi + add ecx,edx + add edx,DWORD [28+esp] + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [28+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [4+esp] + xor ecx,edi + and edx,DWORD [esp] + mov DWORD [12+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + mov edi,DWORD [16+esp] + xor ecx,esi + xor ebx,edi + add edx,DWORD [8+esp] + and eax,ebx + add edx,DWORD [84+esp] + xor eax,edi + add ecx,edx + add edx,DWORD [24+esp] + lea eax,[ecx*1+eax] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [24+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [esp] + xor ecx,edi + and edx,DWORD [28+esp] + mov DWORD [8+esp],eax + or edx,esi + rorx edi,eax,2 + rorx esi,eax,13 + lea edx,[ecx*1+edx] + rorx ecx,eax,22 + xor esi,edi + mov edi,DWORD [12+esp] + xor ecx,esi + xor eax,edi + add edx,DWORD [4+esp] + and ebx,eax + add edx,DWORD [88+esp] + xor ebx,edi + add ecx,edx + add edx,DWORD [20+esp] + lea ebx,[ecx*1+ebx] + rorx ecx,edx,6 + rorx esi,edx,11 + mov DWORD [20+esp],edx + rorx edi,edx,25 + xor ecx,esi + andn esi,edx,DWORD [28+esp] + xor ecx,edi + and edx,DWORD [24+esp] + mov DWORD [4+esp],ebx + or edx,esi + rorx edi,ebx,2 + rorx esi,ebx,13 + lea edx,[ecx*1+edx] + rorx ecx,ebx,22 + xor esi,edi + mov edi,DWORD [8+esp] + xor ecx,esi + xor ebx,edi + add edx,DWORD [esp] + and eax,ebx + add edx,DWORD [92+esp] + xor eax,edi + add ecx,edx + add edx,DWORD [16+esp] + lea eax,[ecx*1+eax] + mov esi,DWORD [96+esp] + xor ebx,edi + mov ecx,DWORD [12+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 DWORD [4+esp],ebx + xor ebx,edi + mov DWORD [8+esp],edi + mov DWORD [12+esp],ecx + mov edi,DWORD [20+esp] + mov ecx,DWORD [24+esp] + add edx,DWORD [16+esi] + add edi,DWORD [20+esi] + add ecx,DWORD [24+esi] + mov DWORD [16+esi],edx + mov DWORD [20+esi],edi + mov DWORD [20+esp],edi + mov edi,DWORD [28+esp] + mov DWORD [24+esi],ecx + add edi,DWORD [28+esi] + mov DWORD [24+esp],ecx + mov DWORD [28+esi],edi + mov DWORD [28+esp],edi + mov edi,DWORD [100+esp] + vmovdqa xmm7,[64+ebp] + sub ebp,192 + cmp edi,DWORD [104+esp] + jb NEAR L$017grand_avx_bmi + mov esp,DWORD [108+esp] + vzeroall + pop edi + pop esi + pop ebx + pop ebp + ret +segment .bss +common _OPENSSL_ia32cap_P 16 diff --git a/tmp32/sha512-586.asm b/tmp32/sha512-586.asm index 2202228c..8fc5a3ff 100644 --- a/tmp32/sha512-586.asm +++ b/tmp32/sha512-586.asm @@ -1,2835 +1,2835 @@ -%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 _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 - lea edx,[_OPENSSL_ia32cap_P] - mov ecx,DWORD [edx] - test ecx,67108864 - jz NEAR L$002loop_x86 - mov edx,DWORD [4+edx] - movq mm0,[esi] - and ecx,16777216 - movq mm1,[8+esi] - and edx,512 - movq mm2,[16+esi] - or ecx,edx - movq mm3,[24+esi] - movq mm4,[32+esi] - movq mm5,[40+esi] - movq mm6,[48+esi] - movq mm7,[56+esi] - cmp ecx,16777728 - je NEAR L$003SSSE3 - sub esp,80 - jmp NEAR L$004loop_sse2 -align 16 -L$004loop_sse2: - movq [8+esp],mm1 - movq [16+esp],mm2 - movq [24+esp],mm3 - movq [40+esp],mm5 - movq [48+esp],mm6 - pxor mm2,mm1 - movq [56+esp],mm7 - movq mm3,mm0 - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - add edi,8 - mov edx,15 - bswap eax - bswap ebx - jmp NEAR L$00500_14_sse2 -align 16 -L$00500_14_sse2: - movd mm1,eax - mov eax,DWORD [edi] - movd mm7,ebx - mov ebx,DWORD [4+edi] - add edi,8 - bswap eax - bswap ebx - punpckldq mm7,mm1 - movq mm1,mm4 - pxor mm5,mm6 - psrlq mm1,14 - movq [32+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - movq mm0,mm3 - movq [72+esp],mm7 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[56+esp] - pxor mm3,mm1 - psllq mm4,4 - paddq mm7,[ebp] - pxor mm3,mm4 - movq mm4,[24+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[8+esp] - psrlq mm5,6 - pxor mm7,mm6 - sub esp,8 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[40+esp] - paddq mm3,mm2 - movq mm2,mm0 - add ebp,8 - paddq mm3,mm6 - movq mm6,[48+esp] - dec edx - jnz NEAR L$00500_14_sse2 - movd mm1,eax - movd mm7,ebx - punpckldq mm7,mm1 - movq mm1,mm4 - pxor mm5,mm6 - psrlq mm1,14 - movq [32+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - movq mm0,mm3 - movq [72+esp],mm7 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[56+esp] - pxor mm3,mm1 - psllq mm4,4 - paddq mm7,[ebp] - pxor mm3,mm4 - movq mm4,[24+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[8+esp] - psrlq mm5,6 - pxor mm7,mm6 - sub esp,8 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm7,[192+esp] - paddq mm3,mm2 - movq mm2,mm0 - add ebp,8 - paddq mm3,mm6 - pxor mm0,mm0 - mov edx,32 - jmp NEAR L$00616_79_sse2 -align 16 -L$00616_79_sse2: - movq mm5,[88+esp] - movq mm1,mm7 - psrlq mm7,1 - movq mm6,mm5 - psrlq mm5,6 - psllq mm1,56 - paddq mm0,mm3 - movq mm3,mm7 - psrlq mm7,6 - pxor mm3,mm1 - psllq mm1,7 - pxor mm3,mm7 - psrlq mm7,1 - pxor mm3,mm1 - movq mm1,mm5 - psrlq mm5,13 - pxor mm7,mm3 - psllq mm6,3 - pxor mm1,mm5 - paddq mm7,[200+esp] - pxor mm1,mm6 - psrlq mm5,42 - paddq mm7,[128+esp] - pxor mm1,mm5 - psllq mm6,42 - movq mm5,[40+esp] - pxor mm1,mm6 - movq mm6,[48+esp] - paddq mm7,mm1 - movq mm1,mm4 - pxor mm5,mm6 - psrlq mm1,14 - movq [32+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - movq [72+esp],mm7 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[56+esp] - pxor mm3,mm1 - psllq mm4,4 - paddq mm7,[ebp] - pxor mm3,mm4 - movq mm4,[24+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[8+esp] - psrlq mm5,6 - pxor mm7,mm6 - sub esp,8 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm7,[192+esp] - paddq mm2,mm6 - add ebp,8 - movq mm5,[88+esp] - movq mm1,mm7 - psrlq mm7,1 - movq mm6,mm5 - psrlq mm5,6 - psllq mm1,56 - paddq mm2,mm3 - movq mm3,mm7 - psrlq mm7,6 - pxor mm3,mm1 - psllq mm1,7 - pxor mm3,mm7 - psrlq mm7,1 - pxor mm3,mm1 - movq mm1,mm5 - psrlq mm5,13 - pxor mm7,mm3 - psllq mm6,3 - pxor mm1,mm5 - paddq mm7,[200+esp] - pxor mm1,mm6 - psrlq mm5,42 - paddq mm7,[128+esp] - pxor mm1,mm5 - psllq mm6,42 - movq mm5,[40+esp] - pxor mm1,mm6 - movq mm6,[48+esp] - paddq mm7,mm1 - movq mm1,mm4 - pxor mm5,mm6 - psrlq mm1,14 - movq [32+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - movq [72+esp],mm7 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[56+esp] - pxor mm3,mm1 - psllq mm4,4 - paddq mm7,[ebp] - pxor mm3,mm4 - movq mm4,[24+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[8+esp] - psrlq mm5,6 - pxor mm7,mm6 - sub esp,8 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm7,[192+esp] - paddq mm0,mm6 - add ebp,8 - dec edx - jnz NEAR L$00616_79_sse2 - paddq mm0,mm3 - movq mm1,[8+esp] - movq mm3,[24+esp] - movq mm5,[40+esp] - movq mm6,[48+esp] - movq mm7,[56+esp] - pxor mm2,mm1 - paddq mm0,[esi] - paddq mm1,[8+esi] - paddq mm2,[16+esi] - paddq mm3,[24+esi] - paddq mm4,[32+esi] - paddq mm5,[40+esi] - paddq mm6,[48+esi] - paddq mm7,[56+esi] - mov eax,640 - movq [esi],mm0 - movq [8+esi],mm1 - movq [16+esi],mm2 - movq [24+esi],mm3 - movq [32+esi],mm4 - movq [40+esi],mm5 - movq [48+esi],mm6 - movq [56+esi],mm7 - lea esp,[eax*1+esp] - sub ebp,eax - cmp edi,DWORD [88+esp] - jb NEAR L$004loop_sse2 - mov esp,DWORD [92+esp] - emms - pop edi - pop esi - pop ebx - pop ebp - ret -align 32 -L$003SSSE3: - lea edx,[esp-64] - sub esp,256 - movdqa xmm1,[640+ebp] - movdqu xmm0,[edi] -db 102,15,56,0,193 - movdqa xmm3,[ebp] - movdqa xmm2,xmm1 - movdqu xmm1,[16+edi] - paddq xmm3,xmm0 -db 102,15,56,0,202 - movdqa [edx-128],xmm3 - movdqa xmm4,[16+ebp] - movdqa xmm3,xmm2 - movdqu xmm2,[32+edi] - paddq xmm4,xmm1 -db 102,15,56,0,211 - movdqa [edx-112],xmm4 - movdqa xmm5,[32+ebp] - movdqa xmm4,xmm3 - movdqu xmm3,[48+edi] - paddq xmm5,xmm2 -db 102,15,56,0,220 - movdqa [edx-96],xmm5 - movdqa xmm6,[48+ebp] - movdqa xmm5,xmm4 - movdqu xmm4,[64+edi] - paddq xmm6,xmm3 -db 102,15,56,0,229 - movdqa [edx-80],xmm6 - movdqa xmm7,[64+ebp] - movdqa xmm6,xmm5 - movdqu xmm5,[80+edi] - paddq xmm7,xmm4 -db 102,15,56,0,238 - movdqa [edx-64],xmm7 - movdqa [edx],xmm0 - movdqa xmm0,[80+ebp] - movdqa xmm7,xmm6 - movdqu xmm6,[96+edi] - paddq xmm0,xmm5 -db 102,15,56,0,247 - movdqa [edx-48],xmm0 - movdqa [16+edx],xmm1 - movdqa xmm1,[96+ebp] - movdqa xmm0,xmm7 - movdqu xmm7,[112+edi] - paddq xmm1,xmm6 -db 102,15,56,0,248 - movdqa [edx-32],xmm1 - movdqa [32+edx],xmm2 - movdqa xmm2,[112+ebp] - movdqa xmm0,[edx] - paddq xmm2,xmm7 - movdqa [edx-16],xmm2 - nop -align 32 -L$007loop_ssse3: - movdqa xmm2,[16+edx] - movdqa [48+edx],xmm3 - lea ebp,[128+ebp] - movq [8+esp],mm1 - mov ebx,edi - movq [16+esp],mm2 - lea edi,[128+edi] - movq [24+esp],mm3 - cmp edi,eax - movq [40+esp],mm5 - cmovb ebx,edi - movq [48+esp],mm6 - mov ecx,4 - pxor mm2,mm1 - movq [56+esp],mm7 - pxor mm3,mm3 - jmp NEAR L$00800_47_ssse3 -align 32 -L$00800_47_ssse3: - movdqa xmm3,xmm5 - movdqa xmm1,xmm2 -db 102,15,58,15,208,8 - movdqa [edx],xmm4 -db 102,15,58,15,220,8 - movdqa xmm4,xmm2 - psrlq xmm2,7 - paddq xmm0,xmm3 - movdqa xmm3,xmm4 - psrlq xmm4,1 - psllq xmm3,56 - pxor xmm2,xmm4 - psrlq xmm4,7 - pxor xmm2,xmm3 - psllq xmm3,7 - pxor xmm2,xmm4 - movdqa xmm4,xmm7 - pxor xmm2,xmm3 - movdqa xmm3,xmm7 - psrlq xmm4,6 - paddq xmm0,xmm2 - movdqa xmm2,xmm7 - psrlq xmm3,19 - psllq xmm2,3 - pxor xmm4,xmm3 - psrlq xmm3,42 - pxor xmm4,xmm2 - psllq xmm2,42 - pxor xmm4,xmm3 - movdqa xmm3,[32+edx] - pxor xmm4,xmm2 - movdqa xmm2,[ebp] - movq mm1,mm4 - paddq xmm0,xmm4 - movq mm7,[edx-128] - pxor mm5,mm6 - psrlq mm1,14 - movq [32+esp],mm4 - paddq xmm2,xmm0 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[56+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[24+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[8+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[32+esp] - paddq mm2,mm6 - movq mm6,[40+esp] - movq mm1,mm4 - movq mm7,[edx-120] - pxor mm5,mm6 - psrlq mm1,14 - movq [24+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [56+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[48+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[16+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[24+esp] - paddq mm0,mm6 - movq mm6,[32+esp] - movdqa [edx-128],xmm2 - movdqa xmm4,xmm6 - movdqa xmm2,xmm3 -db 102,15,58,15,217,8 - movdqa [16+edx],xmm5 -db 102,15,58,15,229,8 - movdqa xmm5,xmm3 - psrlq xmm3,7 - paddq xmm1,xmm4 - movdqa xmm4,xmm5 - psrlq xmm5,1 - psllq xmm4,56 - pxor xmm3,xmm5 - psrlq xmm5,7 - pxor xmm3,xmm4 - psllq xmm4,7 - pxor xmm3,xmm5 - movdqa xmm5,xmm0 - pxor xmm3,xmm4 - movdqa xmm4,xmm0 - psrlq xmm5,6 - paddq xmm1,xmm3 - movdqa xmm3,xmm0 - psrlq xmm4,19 - psllq xmm3,3 - pxor xmm5,xmm4 - psrlq xmm4,42 - pxor xmm5,xmm3 - psllq xmm3,42 - pxor xmm5,xmm4 - movdqa xmm4,[48+edx] - pxor xmm5,xmm3 - movdqa xmm3,[16+ebp] - movq mm1,mm4 - paddq xmm1,xmm5 - movq mm7,[edx-112] - pxor mm5,mm6 - psrlq mm1,14 - movq [16+esp],mm4 - paddq xmm3,xmm1 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [48+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[40+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[8+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[56+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[16+esp] - paddq mm2,mm6 - movq mm6,[24+esp] - movq mm1,mm4 - movq mm7,[edx-104] - pxor mm5,mm6 - psrlq mm1,14 - movq [8+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [40+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[32+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[48+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[8+esp] - paddq mm0,mm6 - movq mm6,[16+esp] - movdqa [edx-112],xmm3 - movdqa xmm5,xmm7 - movdqa xmm3,xmm4 -db 102,15,58,15,226,8 - movdqa [32+edx],xmm6 -db 102,15,58,15,238,8 - movdqa xmm6,xmm4 - psrlq xmm4,7 - paddq xmm2,xmm5 - movdqa xmm5,xmm6 - psrlq xmm6,1 - psllq xmm5,56 - pxor xmm4,xmm6 - psrlq xmm6,7 - pxor xmm4,xmm5 - psllq xmm5,7 - pxor xmm4,xmm6 - movdqa xmm6,xmm1 - pxor xmm4,xmm5 - movdqa xmm5,xmm1 - psrlq xmm6,6 - paddq xmm2,xmm4 - movdqa xmm4,xmm1 - psrlq xmm5,19 - psllq xmm4,3 - pxor xmm6,xmm5 - psrlq xmm5,42 - pxor xmm6,xmm4 - psllq xmm4,42 - pxor xmm6,xmm5 - movdqa xmm5,[edx] - pxor xmm6,xmm4 - movdqa xmm4,[32+ebp] - movq mm1,mm4 - paddq xmm2,xmm6 - movq mm7,[edx-96] - pxor mm5,mm6 - psrlq mm1,14 - movq [esp],mm4 - paddq xmm4,xmm2 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [32+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[24+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[56+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[40+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[esp] - paddq mm2,mm6 - movq mm6,[8+esp] - movq mm1,mm4 - movq mm7,[edx-88] - pxor mm5,mm6 - psrlq mm1,14 - movq [56+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [24+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[16+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[48+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[32+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[56+esp] - paddq mm0,mm6 - movq mm6,[esp] - movdqa [edx-96],xmm4 - movdqa xmm6,xmm0 - movdqa xmm4,xmm5 -db 102,15,58,15,235,8 - movdqa [48+edx],xmm7 -db 102,15,58,15,247,8 - movdqa xmm7,xmm5 - psrlq xmm5,7 - paddq xmm3,xmm6 - movdqa xmm6,xmm7 - psrlq xmm7,1 - psllq xmm6,56 - pxor xmm5,xmm7 - psrlq xmm7,7 - pxor xmm5,xmm6 - psllq xmm6,7 - pxor xmm5,xmm7 - movdqa xmm7,xmm2 - pxor xmm5,xmm6 - movdqa xmm6,xmm2 - psrlq xmm7,6 - paddq xmm3,xmm5 - movdqa xmm5,xmm2 - psrlq xmm6,19 - psllq xmm5,3 - pxor xmm7,xmm6 - psrlq xmm6,42 - pxor xmm7,xmm5 - psllq xmm5,42 - pxor xmm7,xmm6 - movdqa xmm6,[16+edx] - pxor xmm7,xmm5 - movdqa xmm5,[48+ebp] - movq mm1,mm4 - paddq xmm3,xmm7 - movq mm7,[edx-80] - pxor mm5,mm6 - psrlq mm1,14 - movq [48+esp],mm4 - paddq xmm5,xmm3 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [16+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[8+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[40+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[24+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[48+esp] - paddq mm2,mm6 - movq mm6,[56+esp] - movq mm1,mm4 - movq mm7,[edx-72] - pxor mm5,mm6 - psrlq mm1,14 - movq [40+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [8+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[32+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[16+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[40+esp] - paddq mm0,mm6 - movq mm6,[48+esp] - movdqa [edx-80],xmm5 - movdqa xmm7,xmm1 - movdqa xmm5,xmm6 -db 102,15,58,15,244,8 - movdqa [edx],xmm0 -db 102,15,58,15,248,8 - movdqa xmm0,xmm6 - psrlq xmm6,7 - paddq xmm4,xmm7 - movdqa xmm7,xmm0 - psrlq xmm0,1 - psllq xmm7,56 - pxor xmm6,xmm0 - psrlq xmm0,7 - pxor xmm6,xmm7 - psllq xmm7,7 - pxor xmm6,xmm0 - movdqa xmm0,xmm3 - pxor xmm6,xmm7 - movdqa xmm7,xmm3 - psrlq xmm0,6 - paddq xmm4,xmm6 - movdqa xmm6,xmm3 - psrlq xmm7,19 - psllq xmm6,3 - pxor xmm0,xmm7 - psrlq xmm7,42 - pxor xmm0,xmm6 - psllq xmm6,42 - pxor xmm0,xmm7 - movdqa xmm7,[32+edx] - pxor xmm0,xmm6 - movdqa xmm6,[64+ebp] - movq mm1,mm4 - paddq xmm4,xmm0 - movq mm7,[edx-64] - pxor mm5,mm6 - psrlq mm1,14 - movq [32+esp],mm4 - paddq xmm6,xmm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[56+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[24+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[8+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[32+esp] - paddq mm2,mm6 - movq mm6,[40+esp] - movq mm1,mm4 - movq mm7,[edx-56] - pxor mm5,mm6 - psrlq mm1,14 - movq [24+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [56+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[48+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[16+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[24+esp] - paddq mm0,mm6 - movq mm6,[32+esp] - movdqa [edx-64],xmm6 - movdqa xmm0,xmm2 - movdqa xmm6,xmm7 -db 102,15,58,15,253,8 - movdqa [16+edx],xmm1 -db 102,15,58,15,193,8 - movdqa xmm1,xmm7 - psrlq xmm7,7 - paddq xmm5,xmm0 - movdqa xmm0,xmm1 - psrlq xmm1,1 - psllq xmm0,56 - pxor xmm7,xmm1 - psrlq xmm1,7 - pxor xmm7,xmm0 - psllq xmm0,7 - pxor xmm7,xmm1 - movdqa xmm1,xmm4 - pxor xmm7,xmm0 - movdqa xmm0,xmm4 - psrlq xmm1,6 - paddq xmm5,xmm7 - movdqa xmm7,xmm4 - psrlq xmm0,19 - psllq xmm7,3 - pxor xmm1,xmm0 - psrlq xmm0,42 - pxor xmm1,xmm7 - psllq xmm7,42 - pxor xmm1,xmm0 - movdqa xmm0,[48+edx] - pxor xmm1,xmm7 - movdqa xmm7,[80+ebp] - movq mm1,mm4 - paddq xmm5,xmm1 - movq mm7,[edx-48] - pxor mm5,mm6 - psrlq mm1,14 - movq [16+esp],mm4 - paddq xmm7,xmm5 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [48+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[40+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[8+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[56+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[16+esp] - paddq mm2,mm6 - movq mm6,[24+esp] - movq mm1,mm4 - movq mm7,[edx-40] - pxor mm5,mm6 - psrlq mm1,14 - movq [8+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [40+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[32+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[48+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[8+esp] - paddq mm0,mm6 - movq mm6,[16+esp] - movdqa [edx-48],xmm7 - movdqa xmm1,xmm3 - movdqa xmm7,xmm0 -db 102,15,58,15,198,8 - movdqa [32+edx],xmm2 -db 102,15,58,15,202,8 - movdqa xmm2,xmm0 - psrlq xmm0,7 - paddq xmm6,xmm1 - movdqa xmm1,xmm2 - psrlq xmm2,1 - psllq xmm1,56 - pxor xmm0,xmm2 - psrlq xmm2,7 - pxor xmm0,xmm1 - psllq xmm1,7 - pxor xmm0,xmm2 - movdqa xmm2,xmm5 - pxor xmm0,xmm1 - movdqa xmm1,xmm5 - psrlq xmm2,6 - paddq xmm6,xmm0 - movdqa xmm0,xmm5 - psrlq xmm1,19 - psllq xmm0,3 - pxor xmm2,xmm1 - psrlq xmm1,42 - pxor xmm2,xmm0 - psllq xmm0,42 - pxor xmm2,xmm1 - movdqa xmm1,[edx] - pxor xmm2,xmm0 - movdqa xmm0,[96+ebp] - movq mm1,mm4 - paddq xmm6,xmm2 - movq mm7,[edx-32] - pxor mm5,mm6 - psrlq mm1,14 - movq [esp],mm4 - paddq xmm0,xmm6 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [32+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[24+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[56+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[40+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[esp] - paddq mm2,mm6 - movq mm6,[8+esp] - movq mm1,mm4 - movq mm7,[edx-24] - pxor mm5,mm6 - psrlq mm1,14 - movq [56+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [24+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[16+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[48+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[32+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[56+esp] - paddq mm0,mm6 - movq mm6,[esp] - movdqa [edx-32],xmm0 - movdqa xmm2,xmm4 - movdqa xmm0,xmm1 -db 102,15,58,15,207,8 - movdqa [48+edx],xmm3 -db 102,15,58,15,211,8 - movdqa xmm3,xmm1 - psrlq xmm1,7 - paddq xmm7,xmm2 - movdqa xmm2,xmm3 - psrlq xmm3,1 - psllq xmm2,56 - pxor xmm1,xmm3 - psrlq xmm3,7 - pxor xmm1,xmm2 - psllq xmm2,7 - pxor xmm1,xmm3 - movdqa xmm3,xmm6 - pxor xmm1,xmm2 - movdqa xmm2,xmm6 - psrlq xmm3,6 - paddq xmm7,xmm1 - movdqa xmm1,xmm6 - psrlq xmm2,19 - psllq xmm1,3 - pxor xmm3,xmm2 - psrlq xmm2,42 - pxor xmm3,xmm1 - psllq xmm1,42 - pxor xmm3,xmm2 - movdqa xmm2,[16+edx] - pxor xmm3,xmm1 - movdqa xmm1,[112+ebp] - movq mm1,mm4 - paddq xmm7,xmm3 - movq mm7,[edx-16] - pxor mm5,mm6 - psrlq mm1,14 - movq [48+esp],mm4 - paddq xmm1,xmm7 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [16+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[8+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[40+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[24+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[48+esp] - paddq mm2,mm6 - movq mm6,[56+esp] - movq mm1,mm4 - movq mm7,[edx-8] - pxor mm5,mm6 - psrlq mm1,14 - movq [40+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [8+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[32+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[16+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[40+esp] - paddq mm0,mm6 - movq mm6,[48+esp] - movdqa [edx-16],xmm1 - lea ebp,[128+ebp] - dec ecx - jnz NEAR L$00800_47_ssse3 - movdqa xmm1,[ebp] - lea ebp,[ebp-640] - movdqu xmm0,[ebx] -db 102,15,56,0,193 - movdqa xmm3,[ebp] - movdqa xmm2,xmm1 - movdqu xmm1,[16+ebx] - paddq xmm3,xmm0 -db 102,15,56,0,202 - movq mm1,mm4 - movq mm7,[edx-128] - pxor mm5,mm6 - psrlq mm1,14 - movq [32+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[56+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[24+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[8+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[32+esp] - paddq mm2,mm6 - movq mm6,[40+esp] - movq mm1,mm4 - movq mm7,[edx-120] - pxor mm5,mm6 - psrlq mm1,14 - movq [24+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [56+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[48+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[16+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[24+esp] - paddq mm0,mm6 - movq mm6,[32+esp] - movdqa [edx-128],xmm3 - movdqa xmm4,[16+ebp] - movdqa xmm3,xmm2 - movdqu xmm2,[32+ebx] - paddq xmm4,xmm1 -db 102,15,56,0,211 - movq mm1,mm4 - movq mm7,[edx-112] - pxor mm5,mm6 - psrlq mm1,14 - movq [16+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [48+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[40+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[8+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[56+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[16+esp] - paddq mm2,mm6 - movq mm6,[24+esp] - movq mm1,mm4 - movq mm7,[edx-104] - pxor mm5,mm6 - psrlq mm1,14 - movq [8+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [40+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[32+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[48+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[8+esp] - paddq mm0,mm6 - movq mm6,[16+esp] - movdqa [edx-112],xmm4 - movdqa xmm5,[32+ebp] - movdqa xmm4,xmm3 - movdqu xmm3,[48+ebx] - paddq xmm5,xmm2 -db 102,15,56,0,220 - movq mm1,mm4 - movq mm7,[edx-96] - pxor mm5,mm6 - psrlq mm1,14 - movq [esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [32+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[24+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[56+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[40+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[esp] - paddq mm2,mm6 - movq mm6,[8+esp] - movq mm1,mm4 - movq mm7,[edx-88] - pxor mm5,mm6 - psrlq mm1,14 - movq [56+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [24+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[16+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[48+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[32+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[56+esp] - paddq mm0,mm6 - movq mm6,[esp] - movdqa [edx-96],xmm5 - movdqa xmm6,[48+ebp] - movdqa xmm5,xmm4 - movdqu xmm4,[64+ebx] - paddq xmm6,xmm3 -db 102,15,56,0,229 - movq mm1,mm4 - movq mm7,[edx-80] - pxor mm5,mm6 - psrlq mm1,14 - movq [48+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [16+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[8+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[40+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[24+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[48+esp] - paddq mm2,mm6 - movq mm6,[56+esp] - movq mm1,mm4 - movq mm7,[edx-72] - pxor mm5,mm6 - psrlq mm1,14 - movq [40+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [8+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[32+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[16+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[40+esp] - paddq mm0,mm6 - movq mm6,[48+esp] - movdqa [edx-80],xmm6 - movdqa xmm7,[64+ebp] - movdqa xmm6,xmm5 - movdqu xmm5,[80+ebx] - paddq xmm7,xmm4 -db 102,15,56,0,238 - movq mm1,mm4 - movq mm7,[edx-64] - pxor mm5,mm6 - psrlq mm1,14 - movq [32+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[56+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[24+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[8+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[32+esp] - paddq mm2,mm6 - movq mm6,[40+esp] - movq mm1,mm4 - movq mm7,[edx-56] - pxor mm5,mm6 - psrlq mm1,14 - movq [24+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [56+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[48+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[16+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[24+esp] - paddq mm0,mm6 - movq mm6,[32+esp] - movdqa [edx-64],xmm7 - movdqa [edx],xmm0 - movdqa xmm0,[80+ebp] - movdqa xmm7,xmm6 - movdqu xmm6,[96+ebx] - paddq xmm0,xmm5 -db 102,15,56,0,247 - movq mm1,mm4 - movq mm7,[edx-48] - pxor mm5,mm6 - psrlq mm1,14 - movq [16+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [48+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[40+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[8+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[56+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[16+esp] - paddq mm2,mm6 - movq mm6,[24+esp] - movq mm1,mm4 - movq mm7,[edx-40] - pxor mm5,mm6 - psrlq mm1,14 - movq [8+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [40+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[32+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[48+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[8+esp] - paddq mm0,mm6 - movq mm6,[16+esp] - movdqa [edx-48],xmm0 - movdqa [16+edx],xmm1 - movdqa xmm1,[96+ebp] - movdqa xmm0,xmm7 - movdqu xmm7,[112+ebx] - paddq xmm1,xmm6 -db 102,15,56,0,248 - movq mm1,mm4 - movq mm7,[edx-32] - pxor mm5,mm6 - psrlq mm1,14 - movq [esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [32+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[24+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[56+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[40+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[esp] - paddq mm2,mm6 - movq mm6,[8+esp] - movq mm1,mm4 - movq mm7,[edx-24] - pxor mm5,mm6 - psrlq mm1,14 - movq [56+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [24+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[16+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[48+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[32+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[56+esp] - paddq mm0,mm6 - movq mm6,[esp] - movdqa [edx-32],xmm1 - movdqa [32+edx],xmm2 - movdqa xmm2,[112+ebp] - movdqa xmm0,[edx] - paddq xmm2,xmm7 - movq mm1,mm4 - movq mm7,[edx-16] - pxor mm5,mm6 - psrlq mm1,14 - movq [48+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm0,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [16+esp],mm0 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[8+esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[40+esp] - paddq mm3,mm7 - movq mm5,mm0 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm0 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[24+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm0,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm2,mm0 - psllq mm6,6 - pxor mm7,mm5 - pxor mm2,mm1 - pxor mm6,mm7 - movq mm5,[48+esp] - paddq mm2,mm6 - movq mm6,[56+esp] - movq mm1,mm4 - movq mm7,[edx-8] - pxor mm5,mm6 - psrlq mm1,14 - movq [40+esp],mm4 - pand mm5,mm4 - psllq mm4,23 - paddq mm2,mm3 - movq mm3,mm1 - psrlq mm1,4 - pxor mm5,mm6 - pxor mm3,mm4 - psllq mm4,23 - pxor mm3,mm1 - movq [8+esp],mm2 - paddq mm7,mm5 - pxor mm3,mm4 - psrlq mm1,23 - paddq mm7,[esp] - pxor mm3,mm1 - psllq mm4,4 - pxor mm3,mm4 - movq mm4,[32+esp] - paddq mm3,mm7 - movq mm5,mm2 - psrlq mm5,28 - paddq mm4,mm3 - movq mm6,mm2 - movq mm7,mm5 - psllq mm6,25 - movq mm1,[16+esp] - psrlq mm5,6 - pxor mm7,mm6 - psllq mm6,5 - pxor mm7,mm5 - pxor mm2,mm1 - psrlq mm5,5 - pxor mm7,mm6 - pand mm0,mm2 - psllq mm6,6 - pxor mm7,mm5 - pxor mm0,mm1 - pxor mm6,mm7 - movq mm5,[40+esp] - paddq mm0,mm6 - movq mm6,[48+esp] - movdqa [edx-16],xmm2 - movq mm1,[8+esp] - paddq mm0,mm3 - movq mm3,[24+esp] - movq mm7,[56+esp] - pxor mm2,mm1 - paddq mm0,[esi] - paddq mm1,[8+esi] - paddq mm2,[16+esi] - paddq mm3,[24+esi] - paddq mm4,[32+esi] - paddq mm5,[40+esi] - paddq mm6,[48+esi] - paddq mm7,[56+esi] - movq [esi],mm0 - movq [8+esi],mm1 - movq [16+esi],mm2 - movq [24+esi],mm3 - movq [32+esi],mm4 - movq [40+esi],mm5 - movq [48+esi],mm6 - movq [56+esi],mm7 - cmp edi,eax - jb NEAR L$007loop_ssse3 - mov esp,DWORD [76+edx] - emms - pop edi - pop esi - pop ebx - pop ebp - ret -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$00900_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$00900_15_x86 -align 16 -L$01016_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$01016_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 -segment .bss -common _OPENSSL_ia32cap_P 16 +%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 _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 + lea edx,[_OPENSSL_ia32cap_P] + mov ecx,DWORD [edx] + test ecx,67108864 + jz NEAR L$002loop_x86 + mov edx,DWORD [4+edx] + movq mm0,[esi] + and ecx,16777216 + movq mm1,[8+esi] + and edx,512 + movq mm2,[16+esi] + or ecx,edx + movq mm3,[24+esi] + movq mm4,[32+esi] + movq mm5,[40+esi] + movq mm6,[48+esi] + movq mm7,[56+esi] + cmp ecx,16777728 + je NEAR L$003SSSE3 + sub esp,80 + jmp NEAR L$004loop_sse2 +align 16 +L$004loop_sse2: + movq [8+esp],mm1 + movq [16+esp],mm2 + movq [24+esp],mm3 + movq [40+esp],mm5 + movq [48+esp],mm6 + pxor mm2,mm1 + movq [56+esp],mm7 + movq mm3,mm0 + mov eax,DWORD [edi] + mov ebx,DWORD [4+edi] + add edi,8 + mov edx,15 + bswap eax + bswap ebx + jmp NEAR L$00500_14_sse2 +align 16 +L$00500_14_sse2: + movd mm1,eax + mov eax,DWORD [edi] + movd mm7,ebx + mov ebx,DWORD [4+edi] + add edi,8 + bswap eax + bswap ebx + punpckldq mm7,mm1 + movq mm1,mm4 + pxor mm5,mm6 + psrlq mm1,14 + movq [32+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + movq mm0,mm3 + movq [72+esp],mm7 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[56+esp] + pxor mm3,mm1 + psllq mm4,4 + paddq mm7,[ebp] + pxor mm3,mm4 + movq mm4,[24+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[8+esp] + psrlq mm5,6 + pxor mm7,mm6 + sub esp,8 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[40+esp] + paddq mm3,mm2 + movq mm2,mm0 + add ebp,8 + paddq mm3,mm6 + movq mm6,[48+esp] + dec edx + jnz NEAR L$00500_14_sse2 + movd mm1,eax + movd mm7,ebx + punpckldq mm7,mm1 + movq mm1,mm4 + pxor mm5,mm6 + psrlq mm1,14 + movq [32+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + movq mm0,mm3 + movq [72+esp],mm7 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[56+esp] + pxor mm3,mm1 + psllq mm4,4 + paddq mm7,[ebp] + pxor mm3,mm4 + movq mm4,[24+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[8+esp] + psrlq mm5,6 + pxor mm7,mm6 + sub esp,8 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm7,[192+esp] + paddq mm3,mm2 + movq mm2,mm0 + add ebp,8 + paddq mm3,mm6 + pxor mm0,mm0 + mov edx,32 + jmp NEAR L$00616_79_sse2 +align 16 +L$00616_79_sse2: + movq mm5,[88+esp] + movq mm1,mm7 + psrlq mm7,1 + movq mm6,mm5 + psrlq mm5,6 + psllq mm1,56 + paddq mm0,mm3 + movq mm3,mm7 + psrlq mm7,6 + pxor mm3,mm1 + psllq mm1,7 + pxor mm3,mm7 + psrlq mm7,1 + pxor mm3,mm1 + movq mm1,mm5 + psrlq mm5,13 + pxor mm7,mm3 + psllq mm6,3 + pxor mm1,mm5 + paddq mm7,[200+esp] + pxor mm1,mm6 + psrlq mm5,42 + paddq mm7,[128+esp] + pxor mm1,mm5 + psllq mm6,42 + movq mm5,[40+esp] + pxor mm1,mm6 + movq mm6,[48+esp] + paddq mm7,mm1 + movq mm1,mm4 + pxor mm5,mm6 + psrlq mm1,14 + movq [32+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + movq [72+esp],mm7 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[56+esp] + pxor mm3,mm1 + psllq mm4,4 + paddq mm7,[ebp] + pxor mm3,mm4 + movq mm4,[24+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[8+esp] + psrlq mm5,6 + pxor mm7,mm6 + sub esp,8 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm7,[192+esp] + paddq mm2,mm6 + add ebp,8 + movq mm5,[88+esp] + movq mm1,mm7 + psrlq mm7,1 + movq mm6,mm5 + psrlq mm5,6 + psllq mm1,56 + paddq mm2,mm3 + movq mm3,mm7 + psrlq mm7,6 + pxor mm3,mm1 + psllq mm1,7 + pxor mm3,mm7 + psrlq mm7,1 + pxor mm3,mm1 + movq mm1,mm5 + psrlq mm5,13 + pxor mm7,mm3 + psllq mm6,3 + pxor mm1,mm5 + paddq mm7,[200+esp] + pxor mm1,mm6 + psrlq mm5,42 + paddq mm7,[128+esp] + pxor mm1,mm5 + psllq mm6,42 + movq mm5,[40+esp] + pxor mm1,mm6 + movq mm6,[48+esp] + paddq mm7,mm1 + movq mm1,mm4 + pxor mm5,mm6 + psrlq mm1,14 + movq [32+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + movq [72+esp],mm7 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[56+esp] + pxor mm3,mm1 + psllq mm4,4 + paddq mm7,[ebp] + pxor mm3,mm4 + movq mm4,[24+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[8+esp] + psrlq mm5,6 + pxor mm7,mm6 + sub esp,8 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm7,[192+esp] + paddq mm0,mm6 + add ebp,8 + dec edx + jnz NEAR L$00616_79_sse2 + paddq mm0,mm3 + movq mm1,[8+esp] + movq mm3,[24+esp] + movq mm5,[40+esp] + movq mm6,[48+esp] + movq mm7,[56+esp] + pxor mm2,mm1 + paddq mm0,[esi] + paddq mm1,[8+esi] + paddq mm2,[16+esi] + paddq mm3,[24+esi] + paddq mm4,[32+esi] + paddq mm5,[40+esi] + paddq mm6,[48+esi] + paddq mm7,[56+esi] + mov eax,640 + movq [esi],mm0 + movq [8+esi],mm1 + movq [16+esi],mm2 + movq [24+esi],mm3 + movq [32+esi],mm4 + movq [40+esi],mm5 + movq [48+esi],mm6 + movq [56+esi],mm7 + lea esp,[eax*1+esp] + sub ebp,eax + cmp edi,DWORD [88+esp] + jb NEAR L$004loop_sse2 + mov esp,DWORD [92+esp] + emms + pop edi + pop esi + pop ebx + pop ebp + ret +align 32 +L$003SSSE3: + lea edx,[esp-64] + sub esp,256 + movdqa xmm1,[640+ebp] + movdqu xmm0,[edi] +db 102,15,56,0,193 + movdqa xmm3,[ebp] + movdqa xmm2,xmm1 + movdqu xmm1,[16+edi] + paddq xmm3,xmm0 +db 102,15,56,0,202 + movdqa [edx-128],xmm3 + movdqa xmm4,[16+ebp] + movdqa xmm3,xmm2 + movdqu xmm2,[32+edi] + paddq xmm4,xmm1 +db 102,15,56,0,211 + movdqa [edx-112],xmm4 + movdqa xmm5,[32+ebp] + movdqa xmm4,xmm3 + movdqu xmm3,[48+edi] + paddq xmm5,xmm2 +db 102,15,56,0,220 + movdqa [edx-96],xmm5 + movdqa xmm6,[48+ebp] + movdqa xmm5,xmm4 + movdqu xmm4,[64+edi] + paddq xmm6,xmm3 +db 102,15,56,0,229 + movdqa [edx-80],xmm6 + movdqa xmm7,[64+ebp] + movdqa xmm6,xmm5 + movdqu xmm5,[80+edi] + paddq xmm7,xmm4 +db 102,15,56,0,238 + movdqa [edx-64],xmm7 + movdqa [edx],xmm0 + movdqa xmm0,[80+ebp] + movdqa xmm7,xmm6 + movdqu xmm6,[96+edi] + paddq xmm0,xmm5 +db 102,15,56,0,247 + movdqa [edx-48],xmm0 + movdqa [16+edx],xmm1 + movdqa xmm1,[96+ebp] + movdqa xmm0,xmm7 + movdqu xmm7,[112+edi] + paddq xmm1,xmm6 +db 102,15,56,0,248 + movdqa [edx-32],xmm1 + movdqa [32+edx],xmm2 + movdqa xmm2,[112+ebp] + movdqa xmm0,[edx] + paddq xmm2,xmm7 + movdqa [edx-16],xmm2 + nop +align 32 +L$007loop_ssse3: + movdqa xmm2,[16+edx] + movdqa [48+edx],xmm3 + lea ebp,[128+ebp] + movq [8+esp],mm1 + mov ebx,edi + movq [16+esp],mm2 + lea edi,[128+edi] + movq [24+esp],mm3 + cmp edi,eax + movq [40+esp],mm5 + cmovb ebx,edi + movq [48+esp],mm6 + mov ecx,4 + pxor mm2,mm1 + movq [56+esp],mm7 + pxor mm3,mm3 + jmp NEAR L$00800_47_ssse3 +align 32 +L$00800_47_ssse3: + movdqa xmm3,xmm5 + movdqa xmm1,xmm2 +db 102,15,58,15,208,8 + movdqa [edx],xmm4 +db 102,15,58,15,220,8 + movdqa xmm4,xmm2 + psrlq xmm2,7 + paddq xmm0,xmm3 + movdqa xmm3,xmm4 + psrlq xmm4,1 + psllq xmm3,56 + pxor xmm2,xmm4 + psrlq xmm4,7 + pxor xmm2,xmm3 + psllq xmm3,7 + pxor xmm2,xmm4 + movdqa xmm4,xmm7 + pxor xmm2,xmm3 + movdqa xmm3,xmm7 + psrlq xmm4,6 + paddq xmm0,xmm2 + movdqa xmm2,xmm7 + psrlq xmm3,19 + psllq xmm2,3 + pxor xmm4,xmm3 + psrlq xmm3,42 + pxor xmm4,xmm2 + psllq xmm2,42 + pxor xmm4,xmm3 + movdqa xmm3,[32+edx] + pxor xmm4,xmm2 + movdqa xmm2,[ebp] + movq mm1,mm4 + paddq xmm0,xmm4 + movq mm7,[edx-128] + pxor mm5,mm6 + psrlq mm1,14 + movq [32+esp],mm4 + paddq xmm2,xmm0 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[56+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[24+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[8+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[32+esp] + paddq mm2,mm6 + movq mm6,[40+esp] + movq mm1,mm4 + movq mm7,[edx-120] + pxor mm5,mm6 + psrlq mm1,14 + movq [24+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [56+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[48+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[16+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[24+esp] + paddq mm0,mm6 + movq mm6,[32+esp] + movdqa [edx-128],xmm2 + movdqa xmm4,xmm6 + movdqa xmm2,xmm3 +db 102,15,58,15,217,8 + movdqa [16+edx],xmm5 +db 102,15,58,15,229,8 + movdqa xmm5,xmm3 + psrlq xmm3,7 + paddq xmm1,xmm4 + movdqa xmm4,xmm5 + psrlq xmm5,1 + psllq xmm4,56 + pxor xmm3,xmm5 + psrlq xmm5,7 + pxor xmm3,xmm4 + psllq xmm4,7 + pxor xmm3,xmm5 + movdqa xmm5,xmm0 + pxor xmm3,xmm4 + movdqa xmm4,xmm0 + psrlq xmm5,6 + paddq xmm1,xmm3 + movdqa xmm3,xmm0 + psrlq xmm4,19 + psllq xmm3,3 + pxor xmm5,xmm4 + psrlq xmm4,42 + pxor xmm5,xmm3 + psllq xmm3,42 + pxor xmm5,xmm4 + movdqa xmm4,[48+edx] + pxor xmm5,xmm3 + movdqa xmm3,[16+ebp] + movq mm1,mm4 + paddq xmm1,xmm5 + movq mm7,[edx-112] + pxor mm5,mm6 + psrlq mm1,14 + movq [16+esp],mm4 + paddq xmm3,xmm1 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [48+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[40+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[8+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[56+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[16+esp] + paddq mm2,mm6 + movq mm6,[24+esp] + movq mm1,mm4 + movq mm7,[edx-104] + pxor mm5,mm6 + psrlq mm1,14 + movq [8+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [40+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[32+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[48+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[8+esp] + paddq mm0,mm6 + movq mm6,[16+esp] + movdqa [edx-112],xmm3 + movdqa xmm5,xmm7 + movdqa xmm3,xmm4 +db 102,15,58,15,226,8 + movdqa [32+edx],xmm6 +db 102,15,58,15,238,8 + movdqa xmm6,xmm4 + psrlq xmm4,7 + paddq xmm2,xmm5 + movdqa xmm5,xmm6 + psrlq xmm6,1 + psllq xmm5,56 + pxor xmm4,xmm6 + psrlq xmm6,7 + pxor xmm4,xmm5 + psllq xmm5,7 + pxor xmm4,xmm6 + movdqa xmm6,xmm1 + pxor xmm4,xmm5 + movdqa xmm5,xmm1 + psrlq xmm6,6 + paddq xmm2,xmm4 + movdqa xmm4,xmm1 + psrlq xmm5,19 + psllq xmm4,3 + pxor xmm6,xmm5 + psrlq xmm5,42 + pxor xmm6,xmm4 + psllq xmm4,42 + pxor xmm6,xmm5 + movdqa xmm5,[edx] + pxor xmm6,xmm4 + movdqa xmm4,[32+ebp] + movq mm1,mm4 + paddq xmm2,xmm6 + movq mm7,[edx-96] + pxor mm5,mm6 + psrlq mm1,14 + movq [esp],mm4 + paddq xmm4,xmm2 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [32+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[24+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[56+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[40+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[esp] + paddq mm2,mm6 + movq mm6,[8+esp] + movq mm1,mm4 + movq mm7,[edx-88] + pxor mm5,mm6 + psrlq mm1,14 + movq [56+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [24+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[16+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[48+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[32+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[56+esp] + paddq mm0,mm6 + movq mm6,[esp] + movdqa [edx-96],xmm4 + movdqa xmm6,xmm0 + movdqa xmm4,xmm5 +db 102,15,58,15,235,8 + movdqa [48+edx],xmm7 +db 102,15,58,15,247,8 + movdqa xmm7,xmm5 + psrlq xmm5,7 + paddq xmm3,xmm6 + movdqa xmm6,xmm7 + psrlq xmm7,1 + psllq xmm6,56 + pxor xmm5,xmm7 + psrlq xmm7,7 + pxor xmm5,xmm6 + psllq xmm6,7 + pxor xmm5,xmm7 + movdqa xmm7,xmm2 + pxor xmm5,xmm6 + movdqa xmm6,xmm2 + psrlq xmm7,6 + paddq xmm3,xmm5 + movdqa xmm5,xmm2 + psrlq xmm6,19 + psllq xmm5,3 + pxor xmm7,xmm6 + psrlq xmm6,42 + pxor xmm7,xmm5 + psllq xmm5,42 + pxor xmm7,xmm6 + movdqa xmm6,[16+edx] + pxor xmm7,xmm5 + movdqa xmm5,[48+ebp] + movq mm1,mm4 + paddq xmm3,xmm7 + movq mm7,[edx-80] + pxor mm5,mm6 + psrlq mm1,14 + movq [48+esp],mm4 + paddq xmm5,xmm3 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [16+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[8+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[40+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[24+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[48+esp] + paddq mm2,mm6 + movq mm6,[56+esp] + movq mm1,mm4 + movq mm7,[edx-72] + pxor mm5,mm6 + psrlq mm1,14 + movq [40+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [8+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[32+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[16+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[40+esp] + paddq mm0,mm6 + movq mm6,[48+esp] + movdqa [edx-80],xmm5 + movdqa xmm7,xmm1 + movdqa xmm5,xmm6 +db 102,15,58,15,244,8 + movdqa [edx],xmm0 +db 102,15,58,15,248,8 + movdqa xmm0,xmm6 + psrlq xmm6,7 + paddq xmm4,xmm7 + movdqa xmm7,xmm0 + psrlq xmm0,1 + psllq xmm7,56 + pxor xmm6,xmm0 + psrlq xmm0,7 + pxor xmm6,xmm7 + psllq xmm7,7 + pxor xmm6,xmm0 + movdqa xmm0,xmm3 + pxor xmm6,xmm7 + movdqa xmm7,xmm3 + psrlq xmm0,6 + paddq xmm4,xmm6 + movdqa xmm6,xmm3 + psrlq xmm7,19 + psllq xmm6,3 + pxor xmm0,xmm7 + psrlq xmm7,42 + pxor xmm0,xmm6 + psllq xmm6,42 + pxor xmm0,xmm7 + movdqa xmm7,[32+edx] + pxor xmm0,xmm6 + movdqa xmm6,[64+ebp] + movq mm1,mm4 + paddq xmm4,xmm0 + movq mm7,[edx-64] + pxor mm5,mm6 + psrlq mm1,14 + movq [32+esp],mm4 + paddq xmm6,xmm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[56+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[24+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[8+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[32+esp] + paddq mm2,mm6 + movq mm6,[40+esp] + movq mm1,mm4 + movq mm7,[edx-56] + pxor mm5,mm6 + psrlq mm1,14 + movq [24+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [56+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[48+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[16+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[24+esp] + paddq mm0,mm6 + movq mm6,[32+esp] + movdqa [edx-64],xmm6 + movdqa xmm0,xmm2 + movdqa xmm6,xmm7 +db 102,15,58,15,253,8 + movdqa [16+edx],xmm1 +db 102,15,58,15,193,8 + movdqa xmm1,xmm7 + psrlq xmm7,7 + paddq xmm5,xmm0 + movdqa xmm0,xmm1 + psrlq xmm1,1 + psllq xmm0,56 + pxor xmm7,xmm1 + psrlq xmm1,7 + pxor xmm7,xmm0 + psllq xmm0,7 + pxor xmm7,xmm1 + movdqa xmm1,xmm4 + pxor xmm7,xmm0 + movdqa xmm0,xmm4 + psrlq xmm1,6 + paddq xmm5,xmm7 + movdqa xmm7,xmm4 + psrlq xmm0,19 + psllq xmm7,3 + pxor xmm1,xmm0 + psrlq xmm0,42 + pxor xmm1,xmm7 + psllq xmm7,42 + pxor xmm1,xmm0 + movdqa xmm0,[48+edx] + pxor xmm1,xmm7 + movdqa xmm7,[80+ebp] + movq mm1,mm4 + paddq xmm5,xmm1 + movq mm7,[edx-48] + pxor mm5,mm6 + psrlq mm1,14 + movq [16+esp],mm4 + paddq xmm7,xmm5 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [48+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[40+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[8+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[56+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[16+esp] + paddq mm2,mm6 + movq mm6,[24+esp] + movq mm1,mm4 + movq mm7,[edx-40] + pxor mm5,mm6 + psrlq mm1,14 + movq [8+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [40+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[32+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[48+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[8+esp] + paddq mm0,mm6 + movq mm6,[16+esp] + movdqa [edx-48],xmm7 + movdqa xmm1,xmm3 + movdqa xmm7,xmm0 +db 102,15,58,15,198,8 + movdqa [32+edx],xmm2 +db 102,15,58,15,202,8 + movdqa xmm2,xmm0 + psrlq xmm0,7 + paddq xmm6,xmm1 + movdqa xmm1,xmm2 + psrlq xmm2,1 + psllq xmm1,56 + pxor xmm0,xmm2 + psrlq xmm2,7 + pxor xmm0,xmm1 + psllq xmm1,7 + pxor xmm0,xmm2 + movdqa xmm2,xmm5 + pxor xmm0,xmm1 + movdqa xmm1,xmm5 + psrlq xmm2,6 + paddq xmm6,xmm0 + movdqa xmm0,xmm5 + psrlq xmm1,19 + psllq xmm0,3 + pxor xmm2,xmm1 + psrlq xmm1,42 + pxor xmm2,xmm0 + psllq xmm0,42 + pxor xmm2,xmm1 + movdqa xmm1,[edx] + pxor xmm2,xmm0 + movdqa xmm0,[96+ebp] + movq mm1,mm4 + paddq xmm6,xmm2 + movq mm7,[edx-32] + pxor mm5,mm6 + psrlq mm1,14 + movq [esp],mm4 + paddq xmm0,xmm6 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [32+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[24+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[56+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[40+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[esp] + paddq mm2,mm6 + movq mm6,[8+esp] + movq mm1,mm4 + movq mm7,[edx-24] + pxor mm5,mm6 + psrlq mm1,14 + movq [56+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [24+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[16+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[48+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[32+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[56+esp] + paddq mm0,mm6 + movq mm6,[esp] + movdqa [edx-32],xmm0 + movdqa xmm2,xmm4 + movdqa xmm0,xmm1 +db 102,15,58,15,207,8 + movdqa [48+edx],xmm3 +db 102,15,58,15,211,8 + movdqa xmm3,xmm1 + psrlq xmm1,7 + paddq xmm7,xmm2 + movdqa xmm2,xmm3 + psrlq xmm3,1 + psllq xmm2,56 + pxor xmm1,xmm3 + psrlq xmm3,7 + pxor xmm1,xmm2 + psllq xmm2,7 + pxor xmm1,xmm3 + movdqa xmm3,xmm6 + pxor xmm1,xmm2 + movdqa xmm2,xmm6 + psrlq xmm3,6 + paddq xmm7,xmm1 + movdqa xmm1,xmm6 + psrlq xmm2,19 + psllq xmm1,3 + pxor xmm3,xmm2 + psrlq xmm2,42 + pxor xmm3,xmm1 + psllq xmm1,42 + pxor xmm3,xmm2 + movdqa xmm2,[16+edx] + pxor xmm3,xmm1 + movdqa xmm1,[112+ebp] + movq mm1,mm4 + paddq xmm7,xmm3 + movq mm7,[edx-16] + pxor mm5,mm6 + psrlq mm1,14 + movq [48+esp],mm4 + paddq xmm1,xmm7 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [16+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[8+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[40+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[24+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[48+esp] + paddq mm2,mm6 + movq mm6,[56+esp] + movq mm1,mm4 + movq mm7,[edx-8] + pxor mm5,mm6 + psrlq mm1,14 + movq [40+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [8+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[32+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[16+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[40+esp] + paddq mm0,mm6 + movq mm6,[48+esp] + movdqa [edx-16],xmm1 + lea ebp,[128+ebp] + dec ecx + jnz NEAR L$00800_47_ssse3 + movdqa xmm1,[ebp] + lea ebp,[ebp-640] + movdqu xmm0,[ebx] +db 102,15,56,0,193 + movdqa xmm3,[ebp] + movdqa xmm2,xmm1 + movdqu xmm1,[16+ebx] + paddq xmm3,xmm0 +db 102,15,56,0,202 + movq mm1,mm4 + movq mm7,[edx-128] + pxor mm5,mm6 + psrlq mm1,14 + movq [32+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[56+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[24+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[8+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[32+esp] + paddq mm2,mm6 + movq mm6,[40+esp] + movq mm1,mm4 + movq mm7,[edx-120] + pxor mm5,mm6 + psrlq mm1,14 + movq [24+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [56+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[48+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[16+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[24+esp] + paddq mm0,mm6 + movq mm6,[32+esp] + movdqa [edx-128],xmm3 + movdqa xmm4,[16+ebp] + movdqa xmm3,xmm2 + movdqu xmm2,[32+ebx] + paddq xmm4,xmm1 +db 102,15,56,0,211 + movq mm1,mm4 + movq mm7,[edx-112] + pxor mm5,mm6 + psrlq mm1,14 + movq [16+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [48+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[40+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[8+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[56+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[16+esp] + paddq mm2,mm6 + movq mm6,[24+esp] + movq mm1,mm4 + movq mm7,[edx-104] + pxor mm5,mm6 + psrlq mm1,14 + movq [8+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [40+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[32+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[48+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[8+esp] + paddq mm0,mm6 + movq mm6,[16+esp] + movdqa [edx-112],xmm4 + movdqa xmm5,[32+ebp] + movdqa xmm4,xmm3 + movdqu xmm3,[48+ebx] + paddq xmm5,xmm2 +db 102,15,56,0,220 + movq mm1,mm4 + movq mm7,[edx-96] + pxor mm5,mm6 + psrlq mm1,14 + movq [esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [32+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[24+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[56+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[40+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[esp] + paddq mm2,mm6 + movq mm6,[8+esp] + movq mm1,mm4 + movq mm7,[edx-88] + pxor mm5,mm6 + psrlq mm1,14 + movq [56+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [24+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[16+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[48+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[32+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[56+esp] + paddq mm0,mm6 + movq mm6,[esp] + movdqa [edx-96],xmm5 + movdqa xmm6,[48+ebp] + movdqa xmm5,xmm4 + movdqu xmm4,[64+ebx] + paddq xmm6,xmm3 +db 102,15,56,0,229 + movq mm1,mm4 + movq mm7,[edx-80] + pxor mm5,mm6 + psrlq mm1,14 + movq [48+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [16+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[8+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[40+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[24+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[48+esp] + paddq mm2,mm6 + movq mm6,[56+esp] + movq mm1,mm4 + movq mm7,[edx-72] + pxor mm5,mm6 + psrlq mm1,14 + movq [40+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [8+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[32+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[16+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[40+esp] + paddq mm0,mm6 + movq mm6,[48+esp] + movdqa [edx-80],xmm6 + movdqa xmm7,[64+ebp] + movdqa xmm6,xmm5 + movdqu xmm5,[80+ebx] + paddq xmm7,xmm4 +db 102,15,56,0,238 + movq mm1,mm4 + movq mm7,[edx-64] + pxor mm5,mm6 + psrlq mm1,14 + movq [32+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[56+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[24+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[8+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[32+esp] + paddq mm2,mm6 + movq mm6,[40+esp] + movq mm1,mm4 + movq mm7,[edx-56] + pxor mm5,mm6 + psrlq mm1,14 + movq [24+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [56+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[48+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[16+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[24+esp] + paddq mm0,mm6 + movq mm6,[32+esp] + movdqa [edx-64],xmm7 + movdqa [edx],xmm0 + movdqa xmm0,[80+ebp] + movdqa xmm7,xmm6 + movdqu xmm6,[96+ebx] + paddq xmm0,xmm5 +db 102,15,56,0,247 + movq mm1,mm4 + movq mm7,[edx-48] + pxor mm5,mm6 + psrlq mm1,14 + movq [16+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [48+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[40+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[8+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[56+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[16+esp] + paddq mm2,mm6 + movq mm6,[24+esp] + movq mm1,mm4 + movq mm7,[edx-40] + pxor mm5,mm6 + psrlq mm1,14 + movq [8+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [40+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[32+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[48+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[8+esp] + paddq mm0,mm6 + movq mm6,[16+esp] + movdqa [edx-48],xmm0 + movdqa [16+edx],xmm1 + movdqa xmm1,[96+ebp] + movdqa xmm0,xmm7 + movdqu xmm7,[112+ebx] + paddq xmm1,xmm6 +db 102,15,56,0,248 + movq mm1,mm4 + movq mm7,[edx-32] + pxor mm5,mm6 + psrlq mm1,14 + movq [esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [32+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[24+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[56+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[40+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[esp] + paddq mm2,mm6 + movq mm6,[8+esp] + movq mm1,mm4 + movq mm7,[edx-24] + pxor mm5,mm6 + psrlq mm1,14 + movq [56+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [24+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[16+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[48+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[32+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[56+esp] + paddq mm0,mm6 + movq mm6,[esp] + movdqa [edx-32],xmm1 + movdqa [32+edx],xmm2 + movdqa xmm2,[112+ebp] + movdqa xmm0,[edx] + paddq xmm2,xmm7 + movq mm1,mm4 + movq mm7,[edx-16] + pxor mm5,mm6 + psrlq mm1,14 + movq [48+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm0,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [16+esp],mm0 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[8+esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[40+esp] + paddq mm3,mm7 + movq mm5,mm0 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm0 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[24+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm0,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm2,mm0 + psllq mm6,6 + pxor mm7,mm5 + pxor mm2,mm1 + pxor mm6,mm7 + movq mm5,[48+esp] + paddq mm2,mm6 + movq mm6,[56+esp] + movq mm1,mm4 + movq mm7,[edx-8] + pxor mm5,mm6 + psrlq mm1,14 + movq [40+esp],mm4 + pand mm5,mm4 + psllq mm4,23 + paddq mm2,mm3 + movq mm3,mm1 + psrlq mm1,4 + pxor mm5,mm6 + pxor mm3,mm4 + psllq mm4,23 + pxor mm3,mm1 + movq [8+esp],mm2 + paddq mm7,mm5 + pxor mm3,mm4 + psrlq mm1,23 + paddq mm7,[esp] + pxor mm3,mm1 + psllq mm4,4 + pxor mm3,mm4 + movq mm4,[32+esp] + paddq mm3,mm7 + movq mm5,mm2 + psrlq mm5,28 + paddq mm4,mm3 + movq mm6,mm2 + movq mm7,mm5 + psllq mm6,25 + movq mm1,[16+esp] + psrlq mm5,6 + pxor mm7,mm6 + psllq mm6,5 + pxor mm7,mm5 + pxor mm2,mm1 + psrlq mm5,5 + pxor mm7,mm6 + pand mm0,mm2 + psllq mm6,6 + pxor mm7,mm5 + pxor mm0,mm1 + pxor mm6,mm7 + movq mm5,[40+esp] + paddq mm0,mm6 + movq mm6,[48+esp] + movdqa [edx-16],xmm2 + movq mm1,[8+esp] + paddq mm0,mm3 + movq mm3,[24+esp] + movq mm7,[56+esp] + pxor mm2,mm1 + paddq mm0,[esi] + paddq mm1,[8+esi] + paddq mm2,[16+esi] + paddq mm3,[24+esi] + paddq mm4,[32+esi] + paddq mm5,[40+esi] + paddq mm6,[48+esi] + paddq mm7,[56+esi] + movq [esi],mm0 + movq [8+esi],mm1 + movq [16+esi],mm2 + movq [24+esi],mm3 + movq [32+esi],mm4 + movq [40+esi],mm5 + movq [48+esi],mm6 + movq [56+esi],mm7 + cmp edi,eax + jb NEAR L$007loop_ssse3 + mov esp,DWORD [76+edx] + emms + pop edi + pop esi + pop ebx + pop ebp + ret +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$00900_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$00900_15_x86 +align 16 +L$01016_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$01016_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 +segment .bss +common _OPENSSL_ia32cap_P 16 diff --git a/tmp32/vpaes-x86.asm b/tmp32/vpaes-x86.asm index dff9a4c6..88f61996 100644 --- a/tmp32/vpaes-x86.asm +++ b/tmp32/vpaes-x86.asm @@ -1,641 +1,641 @@ -%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 +%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/tmp32/wp-mmx.asm b/tmp32/wp-mmx.asm index 16a99469..308bff98 100644 --- a/tmp32/wp-mmx.asm +++ b/tmp32/wp-mmx.asm @@ -1,1111 +1,1111 @@ -%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 _whirlpool_block_mmx -align 16 -_whirlpool_block_mmx: -L$_whirlpool_block_mmx_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov ebp,DWORD [28+esp] - mov eax,esp - sub esp,148 - and esp,-64 - lea ebx,[128+esp] - mov DWORD [ebx],esi - mov DWORD [4+ebx],edi - mov DWORD [8+ebx],ebp - mov DWORD [16+ebx],eax - call L$000pic_point -L$000pic_point: - pop ebp - lea ebp,[(L$001table-L$000pic_point)+ebp] - xor ecx,ecx - xor edx,edx - movq mm0,[esi] - movq mm1,[8+esi] - movq mm2,[16+esi] - movq mm3,[24+esi] - movq mm4,[32+esi] - movq mm5,[40+esi] - movq mm6,[48+esi] - movq mm7,[56+esi] -L$002outerloop: - movq [esp],mm0 - movq [8+esp],mm1 - movq [16+esp],mm2 - movq [24+esp],mm3 - movq [32+esp],mm4 - movq [40+esp],mm5 - movq [48+esp],mm6 - movq [56+esp],mm7 - pxor mm0,[edi] - pxor mm1,[8+edi] - pxor mm2,[16+edi] - pxor mm3,[24+edi] - pxor mm4,[32+edi] - pxor mm5,[40+edi] - pxor mm6,[48+edi] - pxor mm7,[56+edi] - movq [64+esp],mm0 - movq [72+esp],mm1 - movq [80+esp],mm2 - movq [88+esp],mm3 - movq [96+esp],mm4 - movq [104+esp],mm5 - movq [112+esp],mm6 - movq [120+esp],mm7 - xor esi,esi - mov DWORD [12+ebx],esi -align 16 -L$003round: - movq mm0,[4096+esi*8+ebp] - mov eax,DWORD [esp] - mov ebx,DWORD [4+esp] - movzx ecx,al - movzx edx,ah - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm0,[esi*8+ebp] - movq mm1,[7+edi*8+ebp] - mov eax,DWORD [8+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - movq mm2,[6+esi*8+ebp] - movq mm3,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - movq mm4,[4+esi*8+ebp] - movq mm5,[3+edi*8+ebp] - mov ebx,DWORD [12+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - movq mm6,[2+esi*8+ebp] - movq mm7,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm1,[esi*8+ebp] - pxor mm2,[7+edi*8+ebp] - mov eax,DWORD [16+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm3,[6+esi*8+ebp] - pxor mm4,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm5,[4+esi*8+ebp] - pxor mm6,[3+edi*8+ebp] - mov ebx,DWORD [20+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm7,[2+esi*8+ebp] - pxor mm0,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm2,[esi*8+ebp] - pxor mm3,[7+edi*8+ebp] - mov eax,DWORD [24+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm4,[6+esi*8+ebp] - pxor mm5,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm6,[4+esi*8+ebp] - pxor mm7,[3+edi*8+ebp] - mov ebx,DWORD [28+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm0,[2+esi*8+ebp] - pxor mm1,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm3,[esi*8+ebp] - pxor mm4,[7+edi*8+ebp] - mov eax,DWORD [32+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm5,[6+esi*8+ebp] - pxor mm6,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm7,[4+esi*8+ebp] - pxor mm0,[3+edi*8+ebp] - mov ebx,DWORD [36+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm1,[2+esi*8+ebp] - pxor mm2,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm4,[esi*8+ebp] - pxor mm5,[7+edi*8+ebp] - mov eax,DWORD [40+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm6,[6+esi*8+ebp] - pxor mm7,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm0,[4+esi*8+ebp] - pxor mm1,[3+edi*8+ebp] - mov ebx,DWORD [44+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm2,[2+esi*8+ebp] - pxor mm3,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm5,[esi*8+ebp] - pxor mm6,[7+edi*8+ebp] - mov eax,DWORD [48+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm7,[6+esi*8+ebp] - pxor mm0,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm1,[4+esi*8+ebp] - pxor mm2,[3+edi*8+ebp] - mov ebx,DWORD [52+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm3,[2+esi*8+ebp] - pxor mm4,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm6,[esi*8+ebp] - pxor mm7,[7+edi*8+ebp] - mov eax,DWORD [56+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm0,[6+esi*8+ebp] - pxor mm1,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm2,[4+esi*8+ebp] - pxor mm3,[3+edi*8+ebp] - mov ebx,DWORD [60+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm4,[2+esi*8+ebp] - pxor mm5,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm7,[esi*8+ebp] - pxor mm0,[7+edi*8+ebp] - mov eax,DWORD [64+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm1,[6+esi*8+ebp] - pxor mm2,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm3,[4+esi*8+ebp] - pxor mm4,[3+edi*8+ebp] - mov ebx,DWORD [68+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm5,[2+esi*8+ebp] - pxor mm6,[1+edi*8+ebp] - movq [esp],mm0 - movq [8+esp],mm1 - movq [16+esp],mm2 - movq [24+esp],mm3 - movq [32+esp],mm4 - movq [40+esp],mm5 - movq [48+esp],mm6 - movq [56+esp],mm7 - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm0,[esi*8+ebp] - pxor mm1,[7+edi*8+ebp] - mov eax,DWORD [72+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm2,[6+esi*8+ebp] - pxor mm3,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm4,[4+esi*8+ebp] - pxor mm5,[3+edi*8+ebp] - mov ebx,DWORD [76+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm6,[2+esi*8+ebp] - pxor mm7,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm1,[esi*8+ebp] - pxor mm2,[7+edi*8+ebp] - mov eax,DWORD [80+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm3,[6+esi*8+ebp] - pxor mm4,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm5,[4+esi*8+ebp] - pxor mm6,[3+edi*8+ebp] - mov ebx,DWORD [84+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm7,[2+esi*8+ebp] - pxor mm0,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm2,[esi*8+ebp] - pxor mm3,[7+edi*8+ebp] - mov eax,DWORD [88+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm4,[6+esi*8+ebp] - pxor mm5,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm6,[4+esi*8+ebp] - pxor mm7,[3+edi*8+ebp] - mov ebx,DWORD [92+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm0,[2+esi*8+ebp] - pxor mm1,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm3,[esi*8+ebp] - pxor mm4,[7+edi*8+ebp] - mov eax,DWORD [96+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm5,[6+esi*8+ebp] - pxor mm6,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm7,[4+esi*8+ebp] - pxor mm0,[3+edi*8+ebp] - mov ebx,DWORD [100+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm1,[2+esi*8+ebp] - pxor mm2,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm4,[esi*8+ebp] - pxor mm5,[7+edi*8+ebp] - mov eax,DWORD [104+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm6,[6+esi*8+ebp] - pxor mm7,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm0,[4+esi*8+ebp] - pxor mm1,[3+edi*8+ebp] - mov ebx,DWORD [108+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm2,[2+esi*8+ebp] - pxor mm3,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm5,[esi*8+ebp] - pxor mm6,[7+edi*8+ebp] - mov eax,DWORD [112+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm7,[6+esi*8+ebp] - pxor mm0,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm1,[4+esi*8+ebp] - pxor mm2,[3+edi*8+ebp] - mov ebx,DWORD [116+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm3,[2+esi*8+ebp] - pxor mm4,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm6,[esi*8+ebp] - pxor mm7,[7+edi*8+ebp] - mov eax,DWORD [120+esp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm0,[6+esi*8+ebp] - pxor mm1,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm2,[4+esi*8+ebp] - pxor mm3,[3+edi*8+ebp] - mov ebx,DWORD [124+esp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm4,[2+esi*8+ebp] - pxor mm5,[1+edi*8+ebp] - shr eax,16 - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm7,[esi*8+ebp] - pxor mm0,[7+edi*8+ebp] - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm1,[6+esi*8+ebp] - pxor mm2,[5+edi*8+ebp] - shr ebx,16 - lea esi,[ecx*1+ecx] - movzx ecx,bl - lea edi,[edx*1+edx] - movzx edx,bh - pxor mm3,[4+esi*8+ebp] - pxor mm4,[3+edi*8+ebp] - lea esi,[ecx*1+ecx] - movzx ecx,al - lea edi,[edx*1+edx] - movzx edx,ah - pxor mm5,[2+esi*8+ebp] - pxor mm6,[1+edi*8+ebp] - lea ebx,[128+esp] - mov esi,DWORD [12+ebx] - add esi,1 - cmp esi,10 - je NEAR L$004roundsdone - mov DWORD [12+ebx],esi - movq [64+esp],mm0 - movq [72+esp],mm1 - movq [80+esp],mm2 - movq [88+esp],mm3 - movq [96+esp],mm4 - movq [104+esp],mm5 - movq [112+esp],mm6 - movq [120+esp],mm7 - jmp NEAR L$003round -align 16 -L$004roundsdone: - mov esi,DWORD [ebx] - mov edi,DWORD [4+ebx] - mov eax,DWORD [8+ebx] - pxor mm0,[edi] - pxor mm1,[8+edi] - pxor mm2,[16+edi] - pxor mm3,[24+edi] - pxor mm4,[32+edi] - pxor mm5,[40+edi] - pxor mm6,[48+edi] - pxor mm7,[56+edi] - pxor mm0,[esi] - pxor mm1,[8+esi] - pxor mm2,[16+esi] - pxor mm3,[24+esi] - pxor mm4,[32+esi] - pxor mm5,[40+esi] - pxor mm6,[48+esi] - pxor mm7,[56+esi] - movq [esi],mm0 - movq [8+esi],mm1 - movq [16+esi],mm2 - movq [24+esi],mm3 - movq [32+esi],mm4 - movq [40+esi],mm5 - movq [48+esi],mm6 - movq [56+esi],mm7 - lea edi,[64+edi] - sub eax,1 - jz NEAR L$005alldone - mov DWORD [4+ebx],edi - mov DWORD [8+ebx],eax - jmp NEAR L$002outerloop -L$005alldone: - emms - mov esp,DWORD [16+ebx] - pop edi - pop esi - pop ebx - pop ebp - ret -align 64 -L$001table: -db 24,24,96,24,192,120,48,216 -db 24,24,96,24,192,120,48,216 -db 35,35,140,35,5,175,70,38 -db 35,35,140,35,5,175,70,38 -db 198,198,63,198,126,249,145,184 -db 198,198,63,198,126,249,145,184 -db 232,232,135,232,19,111,205,251 -db 232,232,135,232,19,111,205,251 -db 135,135,38,135,76,161,19,203 -db 135,135,38,135,76,161,19,203 -db 184,184,218,184,169,98,109,17 -db 184,184,218,184,169,98,109,17 -db 1,1,4,1,8,5,2,9 -db 1,1,4,1,8,5,2,9 -db 79,79,33,79,66,110,158,13 -db 79,79,33,79,66,110,158,13 -db 54,54,216,54,173,238,108,155 -db 54,54,216,54,173,238,108,155 -db 166,166,162,166,89,4,81,255 -db 166,166,162,166,89,4,81,255 -db 210,210,111,210,222,189,185,12 -db 210,210,111,210,222,189,185,12 -db 245,245,243,245,251,6,247,14 -db 245,245,243,245,251,6,247,14 -db 121,121,249,121,239,128,242,150 -db 121,121,249,121,239,128,242,150 -db 111,111,161,111,95,206,222,48 -db 111,111,161,111,95,206,222,48 -db 145,145,126,145,252,239,63,109 -db 145,145,126,145,252,239,63,109 -db 82,82,85,82,170,7,164,248 -db 82,82,85,82,170,7,164,248 -db 96,96,157,96,39,253,192,71 -db 96,96,157,96,39,253,192,71 -db 188,188,202,188,137,118,101,53 -db 188,188,202,188,137,118,101,53 -db 155,155,86,155,172,205,43,55 -db 155,155,86,155,172,205,43,55 -db 142,142,2,142,4,140,1,138 -db 142,142,2,142,4,140,1,138 -db 163,163,182,163,113,21,91,210 -db 163,163,182,163,113,21,91,210 -db 12,12,48,12,96,60,24,108 -db 12,12,48,12,96,60,24,108 -db 123,123,241,123,255,138,246,132 -db 123,123,241,123,255,138,246,132 -db 53,53,212,53,181,225,106,128 -db 53,53,212,53,181,225,106,128 -db 29,29,116,29,232,105,58,245 -db 29,29,116,29,232,105,58,245 -db 224,224,167,224,83,71,221,179 -db 224,224,167,224,83,71,221,179 -db 215,215,123,215,246,172,179,33 -db 215,215,123,215,246,172,179,33 -db 194,194,47,194,94,237,153,156 -db 194,194,47,194,94,237,153,156 -db 46,46,184,46,109,150,92,67 -db 46,46,184,46,109,150,92,67 -db 75,75,49,75,98,122,150,41 -db 75,75,49,75,98,122,150,41 -db 254,254,223,254,163,33,225,93 -db 254,254,223,254,163,33,225,93 -db 87,87,65,87,130,22,174,213 -db 87,87,65,87,130,22,174,213 -db 21,21,84,21,168,65,42,189 -db 21,21,84,21,168,65,42,189 -db 119,119,193,119,159,182,238,232 -db 119,119,193,119,159,182,238,232 -db 55,55,220,55,165,235,110,146 -db 55,55,220,55,165,235,110,146 -db 229,229,179,229,123,86,215,158 -db 229,229,179,229,123,86,215,158 -db 159,159,70,159,140,217,35,19 -db 159,159,70,159,140,217,35,19 -db 240,240,231,240,211,23,253,35 -db 240,240,231,240,211,23,253,35 -db 74,74,53,74,106,127,148,32 -db 74,74,53,74,106,127,148,32 -db 218,218,79,218,158,149,169,68 -db 218,218,79,218,158,149,169,68 -db 88,88,125,88,250,37,176,162 -db 88,88,125,88,250,37,176,162 -db 201,201,3,201,6,202,143,207 -db 201,201,3,201,6,202,143,207 -db 41,41,164,41,85,141,82,124 -db 41,41,164,41,85,141,82,124 -db 10,10,40,10,80,34,20,90 -db 10,10,40,10,80,34,20,90 -db 177,177,254,177,225,79,127,80 -db 177,177,254,177,225,79,127,80 -db 160,160,186,160,105,26,93,201 -db 160,160,186,160,105,26,93,201 -db 107,107,177,107,127,218,214,20 -db 107,107,177,107,127,218,214,20 -db 133,133,46,133,92,171,23,217 -db 133,133,46,133,92,171,23,217 -db 189,189,206,189,129,115,103,60 -db 189,189,206,189,129,115,103,60 -db 93,93,105,93,210,52,186,143 -db 93,93,105,93,210,52,186,143 -db 16,16,64,16,128,80,32,144 -db 16,16,64,16,128,80,32,144 -db 244,244,247,244,243,3,245,7 -db 244,244,247,244,243,3,245,7 -db 203,203,11,203,22,192,139,221 -db 203,203,11,203,22,192,139,221 -db 62,62,248,62,237,198,124,211 -db 62,62,248,62,237,198,124,211 -db 5,5,20,5,40,17,10,45 -db 5,5,20,5,40,17,10,45 -db 103,103,129,103,31,230,206,120 -db 103,103,129,103,31,230,206,120 -db 228,228,183,228,115,83,213,151 -db 228,228,183,228,115,83,213,151 -db 39,39,156,39,37,187,78,2 -db 39,39,156,39,37,187,78,2 -db 65,65,25,65,50,88,130,115 -db 65,65,25,65,50,88,130,115 -db 139,139,22,139,44,157,11,167 -db 139,139,22,139,44,157,11,167 -db 167,167,166,167,81,1,83,246 -db 167,167,166,167,81,1,83,246 -db 125,125,233,125,207,148,250,178 -db 125,125,233,125,207,148,250,178 -db 149,149,110,149,220,251,55,73 -db 149,149,110,149,220,251,55,73 -db 216,216,71,216,142,159,173,86 -db 216,216,71,216,142,159,173,86 -db 251,251,203,251,139,48,235,112 -db 251,251,203,251,139,48,235,112 -db 238,238,159,238,35,113,193,205 -db 238,238,159,238,35,113,193,205 -db 124,124,237,124,199,145,248,187 -db 124,124,237,124,199,145,248,187 -db 102,102,133,102,23,227,204,113 -db 102,102,133,102,23,227,204,113 -db 221,221,83,221,166,142,167,123 -db 221,221,83,221,166,142,167,123 -db 23,23,92,23,184,75,46,175 -db 23,23,92,23,184,75,46,175 -db 71,71,1,71,2,70,142,69 -db 71,71,1,71,2,70,142,69 -db 158,158,66,158,132,220,33,26 -db 158,158,66,158,132,220,33,26 -db 202,202,15,202,30,197,137,212 -db 202,202,15,202,30,197,137,212 -db 45,45,180,45,117,153,90,88 -db 45,45,180,45,117,153,90,88 -db 191,191,198,191,145,121,99,46 -db 191,191,198,191,145,121,99,46 -db 7,7,28,7,56,27,14,63 -db 7,7,28,7,56,27,14,63 -db 173,173,142,173,1,35,71,172 -db 173,173,142,173,1,35,71,172 -db 90,90,117,90,234,47,180,176 -db 90,90,117,90,234,47,180,176 -db 131,131,54,131,108,181,27,239 -db 131,131,54,131,108,181,27,239 -db 51,51,204,51,133,255,102,182 -db 51,51,204,51,133,255,102,182 -db 99,99,145,99,63,242,198,92 -db 99,99,145,99,63,242,198,92 -db 2,2,8,2,16,10,4,18 -db 2,2,8,2,16,10,4,18 -db 170,170,146,170,57,56,73,147 -db 170,170,146,170,57,56,73,147 -db 113,113,217,113,175,168,226,222 -db 113,113,217,113,175,168,226,222 -db 200,200,7,200,14,207,141,198 -db 200,200,7,200,14,207,141,198 -db 25,25,100,25,200,125,50,209 -db 25,25,100,25,200,125,50,209 -db 73,73,57,73,114,112,146,59 -db 73,73,57,73,114,112,146,59 -db 217,217,67,217,134,154,175,95 -db 217,217,67,217,134,154,175,95 -db 242,242,239,242,195,29,249,49 -db 242,242,239,242,195,29,249,49 -db 227,227,171,227,75,72,219,168 -db 227,227,171,227,75,72,219,168 -db 91,91,113,91,226,42,182,185 -db 91,91,113,91,226,42,182,185 -db 136,136,26,136,52,146,13,188 -db 136,136,26,136,52,146,13,188 -db 154,154,82,154,164,200,41,62 -db 154,154,82,154,164,200,41,62 -db 38,38,152,38,45,190,76,11 -db 38,38,152,38,45,190,76,11 -db 50,50,200,50,141,250,100,191 -db 50,50,200,50,141,250,100,191 -db 176,176,250,176,233,74,125,89 -db 176,176,250,176,233,74,125,89 -db 233,233,131,233,27,106,207,242 -db 233,233,131,233,27,106,207,242 -db 15,15,60,15,120,51,30,119 -db 15,15,60,15,120,51,30,119 -db 213,213,115,213,230,166,183,51 -db 213,213,115,213,230,166,183,51 -db 128,128,58,128,116,186,29,244 -db 128,128,58,128,116,186,29,244 -db 190,190,194,190,153,124,97,39 -db 190,190,194,190,153,124,97,39 -db 205,205,19,205,38,222,135,235 -db 205,205,19,205,38,222,135,235 -db 52,52,208,52,189,228,104,137 -db 52,52,208,52,189,228,104,137 -db 72,72,61,72,122,117,144,50 -db 72,72,61,72,122,117,144,50 -db 255,255,219,255,171,36,227,84 -db 255,255,219,255,171,36,227,84 -db 122,122,245,122,247,143,244,141 -db 122,122,245,122,247,143,244,141 -db 144,144,122,144,244,234,61,100 -db 144,144,122,144,244,234,61,100 -db 95,95,97,95,194,62,190,157 -db 95,95,97,95,194,62,190,157 -db 32,32,128,32,29,160,64,61 -db 32,32,128,32,29,160,64,61 -db 104,104,189,104,103,213,208,15 -db 104,104,189,104,103,213,208,15 -db 26,26,104,26,208,114,52,202 -db 26,26,104,26,208,114,52,202 -db 174,174,130,174,25,44,65,183 -db 174,174,130,174,25,44,65,183 -db 180,180,234,180,201,94,117,125 -db 180,180,234,180,201,94,117,125 -db 84,84,77,84,154,25,168,206 -db 84,84,77,84,154,25,168,206 -db 147,147,118,147,236,229,59,127 -db 147,147,118,147,236,229,59,127 -db 34,34,136,34,13,170,68,47 -db 34,34,136,34,13,170,68,47 -db 100,100,141,100,7,233,200,99 -db 100,100,141,100,7,233,200,99 -db 241,241,227,241,219,18,255,42 -db 241,241,227,241,219,18,255,42 -db 115,115,209,115,191,162,230,204 -db 115,115,209,115,191,162,230,204 -db 18,18,72,18,144,90,36,130 -db 18,18,72,18,144,90,36,130 -db 64,64,29,64,58,93,128,122 -db 64,64,29,64,58,93,128,122 -db 8,8,32,8,64,40,16,72 -db 8,8,32,8,64,40,16,72 -db 195,195,43,195,86,232,155,149 -db 195,195,43,195,86,232,155,149 -db 236,236,151,236,51,123,197,223 -db 236,236,151,236,51,123,197,223 -db 219,219,75,219,150,144,171,77 -db 219,219,75,219,150,144,171,77 -db 161,161,190,161,97,31,95,192 -db 161,161,190,161,97,31,95,192 -db 141,141,14,141,28,131,7,145 -db 141,141,14,141,28,131,7,145 -db 61,61,244,61,245,201,122,200 -db 61,61,244,61,245,201,122,200 -db 151,151,102,151,204,241,51,91 -db 151,151,102,151,204,241,51,91 -db 0,0,0,0,0,0,0,0 -db 0,0,0,0,0,0,0,0 -db 207,207,27,207,54,212,131,249 -db 207,207,27,207,54,212,131,249 -db 43,43,172,43,69,135,86,110 -db 43,43,172,43,69,135,86,110 -db 118,118,197,118,151,179,236,225 -db 118,118,197,118,151,179,236,225 -db 130,130,50,130,100,176,25,230 -db 130,130,50,130,100,176,25,230 -db 214,214,127,214,254,169,177,40 -db 214,214,127,214,254,169,177,40 -db 27,27,108,27,216,119,54,195 -db 27,27,108,27,216,119,54,195 -db 181,181,238,181,193,91,119,116 -db 181,181,238,181,193,91,119,116 -db 175,175,134,175,17,41,67,190 -db 175,175,134,175,17,41,67,190 -db 106,106,181,106,119,223,212,29 -db 106,106,181,106,119,223,212,29 -db 80,80,93,80,186,13,160,234 -db 80,80,93,80,186,13,160,234 -db 69,69,9,69,18,76,138,87 -db 69,69,9,69,18,76,138,87 -db 243,243,235,243,203,24,251,56 -db 243,243,235,243,203,24,251,56 -db 48,48,192,48,157,240,96,173 -db 48,48,192,48,157,240,96,173 -db 239,239,155,239,43,116,195,196 -db 239,239,155,239,43,116,195,196 -db 63,63,252,63,229,195,126,218 -db 63,63,252,63,229,195,126,218 -db 85,85,73,85,146,28,170,199 -db 85,85,73,85,146,28,170,199 -db 162,162,178,162,121,16,89,219 -db 162,162,178,162,121,16,89,219 -db 234,234,143,234,3,101,201,233 -db 234,234,143,234,3,101,201,233 -db 101,101,137,101,15,236,202,106 -db 101,101,137,101,15,236,202,106 -db 186,186,210,186,185,104,105,3 -db 186,186,210,186,185,104,105,3 -db 47,47,188,47,101,147,94,74 -db 47,47,188,47,101,147,94,74 -db 192,192,39,192,78,231,157,142 -db 192,192,39,192,78,231,157,142 -db 222,222,95,222,190,129,161,96 -db 222,222,95,222,190,129,161,96 -db 28,28,112,28,224,108,56,252 -db 28,28,112,28,224,108,56,252 -db 253,253,211,253,187,46,231,70 -db 253,253,211,253,187,46,231,70 -db 77,77,41,77,82,100,154,31 -db 77,77,41,77,82,100,154,31 -db 146,146,114,146,228,224,57,118 -db 146,146,114,146,228,224,57,118 -db 117,117,201,117,143,188,234,250 -db 117,117,201,117,143,188,234,250 -db 6,6,24,6,48,30,12,54 -db 6,6,24,6,48,30,12,54 -db 138,138,18,138,36,152,9,174 -db 138,138,18,138,36,152,9,174 -db 178,178,242,178,249,64,121,75 -db 178,178,242,178,249,64,121,75 -db 230,230,191,230,99,89,209,133 -db 230,230,191,230,99,89,209,133 -db 14,14,56,14,112,54,28,126 -db 14,14,56,14,112,54,28,126 -db 31,31,124,31,248,99,62,231 -db 31,31,124,31,248,99,62,231 -db 98,98,149,98,55,247,196,85 -db 98,98,149,98,55,247,196,85 -db 212,212,119,212,238,163,181,58 -db 212,212,119,212,238,163,181,58 -db 168,168,154,168,41,50,77,129 -db 168,168,154,168,41,50,77,129 -db 150,150,98,150,196,244,49,82 -db 150,150,98,150,196,244,49,82 -db 249,249,195,249,155,58,239,98 -db 249,249,195,249,155,58,239,98 -db 197,197,51,197,102,246,151,163 -db 197,197,51,197,102,246,151,163 -db 37,37,148,37,53,177,74,16 -db 37,37,148,37,53,177,74,16 -db 89,89,121,89,242,32,178,171 -db 89,89,121,89,242,32,178,171 -db 132,132,42,132,84,174,21,208 -db 132,132,42,132,84,174,21,208 -db 114,114,213,114,183,167,228,197 -db 114,114,213,114,183,167,228,197 -db 57,57,228,57,213,221,114,236 -db 57,57,228,57,213,221,114,236 -db 76,76,45,76,90,97,152,22 -db 76,76,45,76,90,97,152,22 -db 94,94,101,94,202,59,188,148 -db 94,94,101,94,202,59,188,148 -db 120,120,253,120,231,133,240,159 -db 120,120,253,120,231,133,240,159 -db 56,56,224,56,221,216,112,229 -db 56,56,224,56,221,216,112,229 -db 140,140,10,140,20,134,5,152 -db 140,140,10,140,20,134,5,152 -db 209,209,99,209,198,178,191,23 -db 209,209,99,209,198,178,191,23 -db 165,165,174,165,65,11,87,228 -db 165,165,174,165,65,11,87,228 -db 226,226,175,226,67,77,217,161 -db 226,226,175,226,67,77,217,161 -db 97,97,153,97,47,248,194,78 -db 97,97,153,97,47,248,194,78 -db 179,179,246,179,241,69,123,66 -db 179,179,246,179,241,69,123,66 -db 33,33,132,33,21,165,66,52 -db 33,33,132,33,21,165,66,52 -db 156,156,74,156,148,214,37,8 -db 156,156,74,156,148,214,37,8 -db 30,30,120,30,240,102,60,238 -db 30,30,120,30,240,102,60,238 -db 67,67,17,67,34,82,134,97 -db 67,67,17,67,34,82,134,97 -db 199,199,59,199,118,252,147,177 -db 199,199,59,199,118,252,147,177 -db 252,252,215,252,179,43,229,79 -db 252,252,215,252,179,43,229,79 -db 4,4,16,4,32,20,8,36 -db 4,4,16,4,32,20,8,36 -db 81,81,89,81,178,8,162,227 -db 81,81,89,81,178,8,162,227 -db 153,153,94,153,188,199,47,37 -db 153,153,94,153,188,199,47,37 -db 109,109,169,109,79,196,218,34 -db 109,109,169,109,79,196,218,34 -db 13,13,52,13,104,57,26,101 -db 13,13,52,13,104,57,26,101 -db 250,250,207,250,131,53,233,121 -db 250,250,207,250,131,53,233,121 -db 223,223,91,223,182,132,163,105 -db 223,223,91,223,182,132,163,105 -db 126,126,229,126,215,155,252,169 -db 126,126,229,126,215,155,252,169 -db 36,36,144,36,61,180,72,25 -db 36,36,144,36,61,180,72,25 -db 59,59,236,59,197,215,118,254 -db 59,59,236,59,197,215,118,254 -db 171,171,150,171,49,61,75,154 -db 171,171,150,171,49,61,75,154 -db 206,206,31,206,62,209,129,240 -db 206,206,31,206,62,209,129,240 -db 17,17,68,17,136,85,34,153 -db 17,17,68,17,136,85,34,153 -db 143,143,6,143,12,137,3,131 -db 143,143,6,143,12,137,3,131 -db 78,78,37,78,74,107,156,4 -db 78,78,37,78,74,107,156,4 -db 183,183,230,183,209,81,115,102 -db 183,183,230,183,209,81,115,102 -db 235,235,139,235,11,96,203,224 -db 235,235,139,235,11,96,203,224 -db 60,60,240,60,253,204,120,193 -db 60,60,240,60,253,204,120,193 -db 129,129,62,129,124,191,31,253 -db 129,129,62,129,124,191,31,253 -db 148,148,106,148,212,254,53,64 -db 148,148,106,148,212,254,53,64 -db 247,247,251,247,235,12,243,28 -db 247,247,251,247,235,12,243,28 -db 185,185,222,185,161,103,111,24 -db 185,185,222,185,161,103,111,24 -db 19,19,76,19,152,95,38,139 -db 19,19,76,19,152,95,38,139 -db 44,44,176,44,125,156,88,81 -db 44,44,176,44,125,156,88,81 -db 211,211,107,211,214,184,187,5 -db 211,211,107,211,214,184,187,5 -db 231,231,187,231,107,92,211,140 -db 231,231,187,231,107,92,211,140 -db 110,110,165,110,87,203,220,57 -db 110,110,165,110,87,203,220,57 -db 196,196,55,196,110,243,149,170 -db 196,196,55,196,110,243,149,170 -db 3,3,12,3,24,15,6,27 -db 3,3,12,3,24,15,6,27 -db 86,86,69,86,138,19,172,220 -db 86,86,69,86,138,19,172,220 -db 68,68,13,68,26,73,136,94 -db 68,68,13,68,26,73,136,94 -db 127,127,225,127,223,158,254,160 -db 127,127,225,127,223,158,254,160 -db 169,169,158,169,33,55,79,136 -db 169,169,158,169,33,55,79,136 -db 42,42,168,42,77,130,84,103 -db 42,42,168,42,77,130,84,103 -db 187,187,214,187,177,109,107,10 -db 187,187,214,187,177,109,107,10 -db 193,193,35,193,70,226,159,135 -db 193,193,35,193,70,226,159,135 -db 83,83,81,83,162,2,166,241 -db 83,83,81,83,162,2,166,241 -db 220,220,87,220,174,139,165,114 -db 220,220,87,220,174,139,165,114 -db 11,11,44,11,88,39,22,83 -db 11,11,44,11,88,39,22,83 -db 157,157,78,157,156,211,39,1 -db 157,157,78,157,156,211,39,1 -db 108,108,173,108,71,193,216,43 -db 108,108,173,108,71,193,216,43 -db 49,49,196,49,149,245,98,164 -db 49,49,196,49,149,245,98,164 -db 116,116,205,116,135,185,232,243 -db 116,116,205,116,135,185,232,243 -db 246,246,255,246,227,9,241,21 -db 246,246,255,246,227,9,241,21 -db 70,70,5,70,10,67,140,76 -db 70,70,5,70,10,67,140,76 -db 172,172,138,172,9,38,69,165 -db 172,172,138,172,9,38,69,165 -db 137,137,30,137,60,151,15,181 -db 137,137,30,137,60,151,15,181 -db 20,20,80,20,160,68,40,180 -db 20,20,80,20,160,68,40,180 -db 225,225,163,225,91,66,223,186 -db 225,225,163,225,91,66,223,186 -db 22,22,88,22,176,78,44,166 -db 22,22,88,22,176,78,44,166 -db 58,58,232,58,205,210,116,247 -db 58,58,232,58,205,210,116,247 -db 105,105,185,105,111,208,210,6 -db 105,105,185,105,111,208,210,6 -db 9,9,36,9,72,45,18,65 -db 9,9,36,9,72,45,18,65 -db 112,112,221,112,167,173,224,215 -db 112,112,221,112,167,173,224,215 -db 182,182,226,182,217,84,113,111 -db 182,182,226,182,217,84,113,111 -db 208,208,103,208,206,183,189,30 -db 208,208,103,208,206,183,189,30 -db 237,237,147,237,59,126,199,214 -db 237,237,147,237,59,126,199,214 -db 204,204,23,204,46,219,133,226 -db 204,204,23,204,46,219,133,226 -db 66,66,21,66,42,87,132,104 -db 66,66,21,66,42,87,132,104 -db 152,152,90,152,180,194,45,44 -db 152,152,90,152,180,194,45,44 -db 164,164,170,164,73,14,85,237 -db 164,164,170,164,73,14,85,237 -db 40,40,160,40,93,136,80,117 -db 40,40,160,40,93,136,80,117 -db 92,92,109,92,218,49,184,134 -db 92,92,109,92,218,49,184,134 -db 248,248,199,248,147,63,237,107 -db 248,248,199,248,147,63,237,107 -db 134,134,34,134,68,164,17,194 -db 134,134,34,134,68,164,17,194 -db 24,35,198,232,135,184,1,79 -db 54,166,210,245,121,111,145,82 -db 96,188,155,142,163,12,123,53 -db 29,224,215,194,46,75,254,87 -db 21,119,55,229,159,240,74,218 -db 88,201,41,10,177,160,107,133 -db 189,93,16,244,203,62,5,103 -db 228,39,65,139,167,125,149,216 -db 251,238,124,102,221,23,71,158 -db 202,45,191,7,173,90,131,51 +%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 _whirlpool_block_mmx +align 16 +_whirlpool_block_mmx: +L$_whirlpool_block_mmx_begin: + push ebp + push ebx + push esi + push edi + mov esi,DWORD [20+esp] + mov edi,DWORD [24+esp] + mov ebp,DWORD [28+esp] + mov eax,esp + sub esp,148 + and esp,-64 + lea ebx,[128+esp] + mov DWORD [ebx],esi + mov DWORD [4+ebx],edi + mov DWORD [8+ebx],ebp + mov DWORD [16+ebx],eax + call L$000pic_point +L$000pic_point: + pop ebp + lea ebp,[(L$001table-L$000pic_point)+ebp] + xor ecx,ecx + xor edx,edx + movq mm0,[esi] + movq mm1,[8+esi] + movq mm2,[16+esi] + movq mm3,[24+esi] + movq mm4,[32+esi] + movq mm5,[40+esi] + movq mm6,[48+esi] + movq mm7,[56+esi] +L$002outerloop: + movq [esp],mm0 + movq [8+esp],mm1 + movq [16+esp],mm2 + movq [24+esp],mm3 + movq [32+esp],mm4 + movq [40+esp],mm5 + movq [48+esp],mm6 + movq [56+esp],mm7 + pxor mm0,[edi] + pxor mm1,[8+edi] + pxor mm2,[16+edi] + pxor mm3,[24+edi] + pxor mm4,[32+edi] + pxor mm5,[40+edi] + pxor mm6,[48+edi] + pxor mm7,[56+edi] + movq [64+esp],mm0 + movq [72+esp],mm1 + movq [80+esp],mm2 + movq [88+esp],mm3 + movq [96+esp],mm4 + movq [104+esp],mm5 + movq [112+esp],mm6 + movq [120+esp],mm7 + xor esi,esi + mov DWORD [12+ebx],esi +align 16 +L$003round: + movq mm0,[4096+esi*8+ebp] + mov eax,DWORD [esp] + mov ebx,DWORD [4+esp] + movzx ecx,al + movzx edx,ah + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm0,[esi*8+ebp] + movq mm1,[7+edi*8+ebp] + mov eax,DWORD [8+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + movq mm2,[6+esi*8+ebp] + movq mm3,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + movq mm4,[4+esi*8+ebp] + movq mm5,[3+edi*8+ebp] + mov ebx,DWORD [12+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + movq mm6,[2+esi*8+ebp] + movq mm7,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm1,[esi*8+ebp] + pxor mm2,[7+edi*8+ebp] + mov eax,DWORD [16+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm3,[6+esi*8+ebp] + pxor mm4,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm5,[4+esi*8+ebp] + pxor mm6,[3+edi*8+ebp] + mov ebx,DWORD [20+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm7,[2+esi*8+ebp] + pxor mm0,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm2,[esi*8+ebp] + pxor mm3,[7+edi*8+ebp] + mov eax,DWORD [24+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm4,[6+esi*8+ebp] + pxor mm5,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm6,[4+esi*8+ebp] + pxor mm7,[3+edi*8+ebp] + mov ebx,DWORD [28+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm0,[2+esi*8+ebp] + pxor mm1,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm3,[esi*8+ebp] + pxor mm4,[7+edi*8+ebp] + mov eax,DWORD [32+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm5,[6+esi*8+ebp] + pxor mm6,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm7,[4+esi*8+ebp] + pxor mm0,[3+edi*8+ebp] + mov ebx,DWORD [36+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm1,[2+esi*8+ebp] + pxor mm2,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm4,[esi*8+ebp] + pxor mm5,[7+edi*8+ebp] + mov eax,DWORD [40+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm6,[6+esi*8+ebp] + pxor mm7,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm0,[4+esi*8+ebp] + pxor mm1,[3+edi*8+ebp] + mov ebx,DWORD [44+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm2,[2+esi*8+ebp] + pxor mm3,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm5,[esi*8+ebp] + pxor mm6,[7+edi*8+ebp] + mov eax,DWORD [48+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm7,[6+esi*8+ebp] + pxor mm0,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm1,[4+esi*8+ebp] + pxor mm2,[3+edi*8+ebp] + mov ebx,DWORD [52+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm3,[2+esi*8+ebp] + pxor mm4,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm6,[esi*8+ebp] + pxor mm7,[7+edi*8+ebp] + mov eax,DWORD [56+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm0,[6+esi*8+ebp] + pxor mm1,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm2,[4+esi*8+ebp] + pxor mm3,[3+edi*8+ebp] + mov ebx,DWORD [60+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm4,[2+esi*8+ebp] + pxor mm5,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm7,[esi*8+ebp] + pxor mm0,[7+edi*8+ebp] + mov eax,DWORD [64+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm1,[6+esi*8+ebp] + pxor mm2,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm3,[4+esi*8+ebp] + pxor mm4,[3+edi*8+ebp] + mov ebx,DWORD [68+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm5,[2+esi*8+ebp] + pxor mm6,[1+edi*8+ebp] + movq [esp],mm0 + movq [8+esp],mm1 + movq [16+esp],mm2 + movq [24+esp],mm3 + movq [32+esp],mm4 + movq [40+esp],mm5 + movq [48+esp],mm6 + movq [56+esp],mm7 + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm0,[esi*8+ebp] + pxor mm1,[7+edi*8+ebp] + mov eax,DWORD [72+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm2,[6+esi*8+ebp] + pxor mm3,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm4,[4+esi*8+ebp] + pxor mm5,[3+edi*8+ebp] + mov ebx,DWORD [76+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm6,[2+esi*8+ebp] + pxor mm7,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm1,[esi*8+ebp] + pxor mm2,[7+edi*8+ebp] + mov eax,DWORD [80+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm3,[6+esi*8+ebp] + pxor mm4,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm5,[4+esi*8+ebp] + pxor mm6,[3+edi*8+ebp] + mov ebx,DWORD [84+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm7,[2+esi*8+ebp] + pxor mm0,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm2,[esi*8+ebp] + pxor mm3,[7+edi*8+ebp] + mov eax,DWORD [88+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm4,[6+esi*8+ebp] + pxor mm5,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm6,[4+esi*8+ebp] + pxor mm7,[3+edi*8+ebp] + mov ebx,DWORD [92+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm0,[2+esi*8+ebp] + pxor mm1,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm3,[esi*8+ebp] + pxor mm4,[7+edi*8+ebp] + mov eax,DWORD [96+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm5,[6+esi*8+ebp] + pxor mm6,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm7,[4+esi*8+ebp] + pxor mm0,[3+edi*8+ebp] + mov ebx,DWORD [100+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm1,[2+esi*8+ebp] + pxor mm2,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm4,[esi*8+ebp] + pxor mm5,[7+edi*8+ebp] + mov eax,DWORD [104+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm6,[6+esi*8+ebp] + pxor mm7,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm0,[4+esi*8+ebp] + pxor mm1,[3+edi*8+ebp] + mov ebx,DWORD [108+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm2,[2+esi*8+ebp] + pxor mm3,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm5,[esi*8+ebp] + pxor mm6,[7+edi*8+ebp] + mov eax,DWORD [112+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm7,[6+esi*8+ebp] + pxor mm0,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm1,[4+esi*8+ebp] + pxor mm2,[3+edi*8+ebp] + mov ebx,DWORD [116+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm3,[2+esi*8+ebp] + pxor mm4,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm6,[esi*8+ebp] + pxor mm7,[7+edi*8+ebp] + mov eax,DWORD [120+esp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm0,[6+esi*8+ebp] + pxor mm1,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm2,[4+esi*8+ebp] + pxor mm3,[3+edi*8+ebp] + mov ebx,DWORD [124+esp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm4,[2+esi*8+ebp] + pxor mm5,[1+edi*8+ebp] + shr eax,16 + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm7,[esi*8+ebp] + pxor mm0,[7+edi*8+ebp] + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm1,[6+esi*8+ebp] + pxor mm2,[5+edi*8+ebp] + shr ebx,16 + lea esi,[ecx*1+ecx] + movzx ecx,bl + lea edi,[edx*1+edx] + movzx edx,bh + pxor mm3,[4+esi*8+ebp] + pxor mm4,[3+edi*8+ebp] + lea esi,[ecx*1+ecx] + movzx ecx,al + lea edi,[edx*1+edx] + movzx edx,ah + pxor mm5,[2+esi*8+ebp] + pxor mm6,[1+edi*8+ebp] + lea ebx,[128+esp] + mov esi,DWORD [12+ebx] + add esi,1 + cmp esi,10 + je NEAR L$004roundsdone + mov DWORD [12+ebx],esi + movq [64+esp],mm0 + movq [72+esp],mm1 + movq [80+esp],mm2 + movq [88+esp],mm3 + movq [96+esp],mm4 + movq [104+esp],mm5 + movq [112+esp],mm6 + movq [120+esp],mm7 + jmp NEAR L$003round +align 16 +L$004roundsdone: + mov esi,DWORD [ebx] + mov edi,DWORD [4+ebx] + mov eax,DWORD [8+ebx] + pxor mm0,[edi] + pxor mm1,[8+edi] + pxor mm2,[16+edi] + pxor mm3,[24+edi] + pxor mm4,[32+edi] + pxor mm5,[40+edi] + pxor mm6,[48+edi] + pxor mm7,[56+edi] + pxor mm0,[esi] + pxor mm1,[8+esi] + pxor mm2,[16+esi] + pxor mm3,[24+esi] + pxor mm4,[32+esi] + pxor mm5,[40+esi] + pxor mm6,[48+esi] + pxor mm7,[56+esi] + movq [esi],mm0 + movq [8+esi],mm1 + movq [16+esi],mm2 + movq [24+esi],mm3 + movq [32+esi],mm4 + movq [40+esi],mm5 + movq [48+esi],mm6 + movq [56+esi],mm7 + lea edi,[64+edi] + sub eax,1 + jz NEAR L$005alldone + mov DWORD [4+ebx],edi + mov DWORD [8+ebx],eax + jmp NEAR L$002outerloop +L$005alldone: + emms + mov esp,DWORD [16+ebx] + pop edi + pop esi + pop ebx + pop ebp + ret +align 64 +L$001table: +db 24,24,96,24,192,120,48,216 +db 24,24,96,24,192,120,48,216 +db 35,35,140,35,5,175,70,38 +db 35,35,140,35,5,175,70,38 +db 198,198,63,198,126,249,145,184 +db 198,198,63,198,126,249,145,184 +db 232,232,135,232,19,111,205,251 +db 232,232,135,232,19,111,205,251 +db 135,135,38,135,76,161,19,203 +db 135,135,38,135,76,161,19,203 +db 184,184,218,184,169,98,109,17 +db 184,184,218,184,169,98,109,17 +db 1,1,4,1,8,5,2,9 +db 1,1,4,1,8,5,2,9 +db 79,79,33,79,66,110,158,13 +db 79,79,33,79,66,110,158,13 +db 54,54,216,54,173,238,108,155 +db 54,54,216,54,173,238,108,155 +db 166,166,162,166,89,4,81,255 +db 166,166,162,166,89,4,81,255 +db 210,210,111,210,222,189,185,12 +db 210,210,111,210,222,189,185,12 +db 245,245,243,245,251,6,247,14 +db 245,245,243,245,251,6,247,14 +db 121,121,249,121,239,128,242,150 +db 121,121,249,121,239,128,242,150 +db 111,111,161,111,95,206,222,48 +db 111,111,161,111,95,206,222,48 +db 145,145,126,145,252,239,63,109 +db 145,145,126,145,252,239,63,109 +db 82,82,85,82,170,7,164,248 +db 82,82,85,82,170,7,164,248 +db 96,96,157,96,39,253,192,71 +db 96,96,157,96,39,253,192,71 +db 188,188,202,188,137,118,101,53 +db 188,188,202,188,137,118,101,53 +db 155,155,86,155,172,205,43,55 +db 155,155,86,155,172,205,43,55 +db 142,142,2,142,4,140,1,138 +db 142,142,2,142,4,140,1,138 +db 163,163,182,163,113,21,91,210 +db 163,163,182,163,113,21,91,210 +db 12,12,48,12,96,60,24,108 +db 12,12,48,12,96,60,24,108 +db 123,123,241,123,255,138,246,132 +db 123,123,241,123,255,138,246,132 +db 53,53,212,53,181,225,106,128 +db 53,53,212,53,181,225,106,128 +db 29,29,116,29,232,105,58,245 +db 29,29,116,29,232,105,58,245 +db 224,224,167,224,83,71,221,179 +db 224,224,167,224,83,71,221,179 +db 215,215,123,215,246,172,179,33 +db 215,215,123,215,246,172,179,33 +db 194,194,47,194,94,237,153,156 +db 194,194,47,194,94,237,153,156 +db 46,46,184,46,109,150,92,67 +db 46,46,184,46,109,150,92,67 +db 75,75,49,75,98,122,150,41 +db 75,75,49,75,98,122,150,41 +db 254,254,223,254,163,33,225,93 +db 254,254,223,254,163,33,225,93 +db 87,87,65,87,130,22,174,213 +db 87,87,65,87,130,22,174,213 +db 21,21,84,21,168,65,42,189 +db 21,21,84,21,168,65,42,189 +db 119,119,193,119,159,182,238,232 +db 119,119,193,119,159,182,238,232 +db 55,55,220,55,165,235,110,146 +db 55,55,220,55,165,235,110,146 +db 229,229,179,229,123,86,215,158 +db 229,229,179,229,123,86,215,158 +db 159,159,70,159,140,217,35,19 +db 159,159,70,159,140,217,35,19 +db 240,240,231,240,211,23,253,35 +db 240,240,231,240,211,23,253,35 +db 74,74,53,74,106,127,148,32 +db 74,74,53,74,106,127,148,32 +db 218,218,79,218,158,149,169,68 +db 218,218,79,218,158,149,169,68 +db 88,88,125,88,250,37,176,162 +db 88,88,125,88,250,37,176,162 +db 201,201,3,201,6,202,143,207 +db 201,201,3,201,6,202,143,207 +db 41,41,164,41,85,141,82,124 +db 41,41,164,41,85,141,82,124 +db 10,10,40,10,80,34,20,90 +db 10,10,40,10,80,34,20,90 +db 177,177,254,177,225,79,127,80 +db 177,177,254,177,225,79,127,80 +db 160,160,186,160,105,26,93,201 +db 160,160,186,160,105,26,93,201 +db 107,107,177,107,127,218,214,20 +db 107,107,177,107,127,218,214,20 +db 133,133,46,133,92,171,23,217 +db 133,133,46,133,92,171,23,217 +db 189,189,206,189,129,115,103,60 +db 189,189,206,189,129,115,103,60 +db 93,93,105,93,210,52,186,143 +db 93,93,105,93,210,52,186,143 +db 16,16,64,16,128,80,32,144 +db 16,16,64,16,128,80,32,144 +db 244,244,247,244,243,3,245,7 +db 244,244,247,244,243,3,245,7 +db 203,203,11,203,22,192,139,221 +db 203,203,11,203,22,192,139,221 +db 62,62,248,62,237,198,124,211 +db 62,62,248,62,237,198,124,211 +db 5,5,20,5,40,17,10,45 +db 5,5,20,5,40,17,10,45 +db 103,103,129,103,31,230,206,120 +db 103,103,129,103,31,230,206,120 +db 228,228,183,228,115,83,213,151 +db 228,228,183,228,115,83,213,151 +db 39,39,156,39,37,187,78,2 +db 39,39,156,39,37,187,78,2 +db 65,65,25,65,50,88,130,115 +db 65,65,25,65,50,88,130,115 +db 139,139,22,139,44,157,11,167 +db 139,139,22,139,44,157,11,167 +db 167,167,166,167,81,1,83,246 +db 167,167,166,167,81,1,83,246 +db 125,125,233,125,207,148,250,178 +db 125,125,233,125,207,148,250,178 +db 149,149,110,149,220,251,55,73 +db 149,149,110,149,220,251,55,73 +db 216,216,71,216,142,159,173,86 +db 216,216,71,216,142,159,173,86 +db 251,251,203,251,139,48,235,112 +db 251,251,203,251,139,48,235,112 +db 238,238,159,238,35,113,193,205 +db 238,238,159,238,35,113,193,205 +db 124,124,237,124,199,145,248,187 +db 124,124,237,124,199,145,248,187 +db 102,102,133,102,23,227,204,113 +db 102,102,133,102,23,227,204,113 +db 221,221,83,221,166,142,167,123 +db 221,221,83,221,166,142,167,123 +db 23,23,92,23,184,75,46,175 +db 23,23,92,23,184,75,46,175 +db 71,71,1,71,2,70,142,69 +db 71,71,1,71,2,70,142,69 +db 158,158,66,158,132,220,33,26 +db 158,158,66,158,132,220,33,26 +db 202,202,15,202,30,197,137,212 +db 202,202,15,202,30,197,137,212 +db 45,45,180,45,117,153,90,88 +db 45,45,180,45,117,153,90,88 +db 191,191,198,191,145,121,99,46 +db 191,191,198,191,145,121,99,46 +db 7,7,28,7,56,27,14,63 +db 7,7,28,7,56,27,14,63 +db 173,173,142,173,1,35,71,172 +db 173,173,142,173,1,35,71,172 +db 90,90,117,90,234,47,180,176 +db 90,90,117,90,234,47,180,176 +db 131,131,54,131,108,181,27,239 +db 131,131,54,131,108,181,27,239 +db 51,51,204,51,133,255,102,182 +db 51,51,204,51,133,255,102,182 +db 99,99,145,99,63,242,198,92 +db 99,99,145,99,63,242,198,92 +db 2,2,8,2,16,10,4,18 +db 2,2,8,2,16,10,4,18 +db 170,170,146,170,57,56,73,147 +db 170,170,146,170,57,56,73,147 +db 113,113,217,113,175,168,226,222 +db 113,113,217,113,175,168,226,222 +db 200,200,7,200,14,207,141,198 +db 200,200,7,200,14,207,141,198 +db 25,25,100,25,200,125,50,209 +db 25,25,100,25,200,125,50,209 +db 73,73,57,73,114,112,146,59 +db 73,73,57,73,114,112,146,59 +db 217,217,67,217,134,154,175,95 +db 217,217,67,217,134,154,175,95 +db 242,242,239,242,195,29,249,49 +db 242,242,239,242,195,29,249,49 +db 227,227,171,227,75,72,219,168 +db 227,227,171,227,75,72,219,168 +db 91,91,113,91,226,42,182,185 +db 91,91,113,91,226,42,182,185 +db 136,136,26,136,52,146,13,188 +db 136,136,26,136,52,146,13,188 +db 154,154,82,154,164,200,41,62 +db 154,154,82,154,164,200,41,62 +db 38,38,152,38,45,190,76,11 +db 38,38,152,38,45,190,76,11 +db 50,50,200,50,141,250,100,191 +db 50,50,200,50,141,250,100,191 +db 176,176,250,176,233,74,125,89 +db 176,176,250,176,233,74,125,89 +db 233,233,131,233,27,106,207,242 +db 233,233,131,233,27,106,207,242 +db 15,15,60,15,120,51,30,119 +db 15,15,60,15,120,51,30,119 +db 213,213,115,213,230,166,183,51 +db 213,213,115,213,230,166,183,51 +db 128,128,58,128,116,186,29,244 +db 128,128,58,128,116,186,29,244 +db 190,190,194,190,153,124,97,39 +db 190,190,194,190,153,124,97,39 +db 205,205,19,205,38,222,135,235 +db 205,205,19,205,38,222,135,235 +db 52,52,208,52,189,228,104,137 +db 52,52,208,52,189,228,104,137 +db 72,72,61,72,122,117,144,50 +db 72,72,61,72,122,117,144,50 +db 255,255,219,255,171,36,227,84 +db 255,255,219,255,171,36,227,84 +db 122,122,245,122,247,143,244,141 +db 122,122,245,122,247,143,244,141 +db 144,144,122,144,244,234,61,100 +db 144,144,122,144,244,234,61,100 +db 95,95,97,95,194,62,190,157 +db 95,95,97,95,194,62,190,157 +db 32,32,128,32,29,160,64,61 +db 32,32,128,32,29,160,64,61 +db 104,104,189,104,103,213,208,15 +db 104,104,189,104,103,213,208,15 +db 26,26,104,26,208,114,52,202 +db 26,26,104,26,208,114,52,202 +db 174,174,130,174,25,44,65,183 +db 174,174,130,174,25,44,65,183 +db 180,180,234,180,201,94,117,125 +db 180,180,234,180,201,94,117,125 +db 84,84,77,84,154,25,168,206 +db 84,84,77,84,154,25,168,206 +db 147,147,118,147,236,229,59,127 +db 147,147,118,147,236,229,59,127 +db 34,34,136,34,13,170,68,47 +db 34,34,136,34,13,170,68,47 +db 100,100,141,100,7,233,200,99 +db 100,100,141,100,7,233,200,99 +db 241,241,227,241,219,18,255,42 +db 241,241,227,241,219,18,255,42 +db 115,115,209,115,191,162,230,204 +db 115,115,209,115,191,162,230,204 +db 18,18,72,18,144,90,36,130 +db 18,18,72,18,144,90,36,130 +db 64,64,29,64,58,93,128,122 +db 64,64,29,64,58,93,128,122 +db 8,8,32,8,64,40,16,72 +db 8,8,32,8,64,40,16,72 +db 195,195,43,195,86,232,155,149 +db 195,195,43,195,86,232,155,149 +db 236,236,151,236,51,123,197,223 +db 236,236,151,236,51,123,197,223 +db 219,219,75,219,150,144,171,77 +db 219,219,75,219,150,144,171,77 +db 161,161,190,161,97,31,95,192 +db 161,161,190,161,97,31,95,192 +db 141,141,14,141,28,131,7,145 +db 141,141,14,141,28,131,7,145 +db 61,61,244,61,245,201,122,200 +db 61,61,244,61,245,201,122,200 +db 151,151,102,151,204,241,51,91 +db 151,151,102,151,204,241,51,91 +db 0,0,0,0,0,0,0,0 +db 0,0,0,0,0,0,0,0 +db 207,207,27,207,54,212,131,249 +db 207,207,27,207,54,212,131,249 +db 43,43,172,43,69,135,86,110 +db 43,43,172,43,69,135,86,110 +db 118,118,197,118,151,179,236,225 +db 118,118,197,118,151,179,236,225 +db 130,130,50,130,100,176,25,230 +db 130,130,50,130,100,176,25,230 +db 214,214,127,214,254,169,177,40 +db 214,214,127,214,254,169,177,40 +db 27,27,108,27,216,119,54,195 +db 27,27,108,27,216,119,54,195 +db 181,181,238,181,193,91,119,116 +db 181,181,238,181,193,91,119,116 +db 175,175,134,175,17,41,67,190 +db 175,175,134,175,17,41,67,190 +db 106,106,181,106,119,223,212,29 +db 106,106,181,106,119,223,212,29 +db 80,80,93,80,186,13,160,234 +db 80,80,93,80,186,13,160,234 +db 69,69,9,69,18,76,138,87 +db 69,69,9,69,18,76,138,87 +db 243,243,235,243,203,24,251,56 +db 243,243,235,243,203,24,251,56 +db 48,48,192,48,157,240,96,173 +db 48,48,192,48,157,240,96,173 +db 239,239,155,239,43,116,195,196 +db 239,239,155,239,43,116,195,196 +db 63,63,252,63,229,195,126,218 +db 63,63,252,63,229,195,126,218 +db 85,85,73,85,146,28,170,199 +db 85,85,73,85,146,28,170,199 +db 162,162,178,162,121,16,89,219 +db 162,162,178,162,121,16,89,219 +db 234,234,143,234,3,101,201,233 +db 234,234,143,234,3,101,201,233 +db 101,101,137,101,15,236,202,106 +db 101,101,137,101,15,236,202,106 +db 186,186,210,186,185,104,105,3 +db 186,186,210,186,185,104,105,3 +db 47,47,188,47,101,147,94,74 +db 47,47,188,47,101,147,94,74 +db 192,192,39,192,78,231,157,142 +db 192,192,39,192,78,231,157,142 +db 222,222,95,222,190,129,161,96 +db 222,222,95,222,190,129,161,96 +db 28,28,112,28,224,108,56,252 +db 28,28,112,28,224,108,56,252 +db 253,253,211,253,187,46,231,70 +db 253,253,211,253,187,46,231,70 +db 77,77,41,77,82,100,154,31 +db 77,77,41,77,82,100,154,31 +db 146,146,114,146,228,224,57,118 +db 146,146,114,146,228,224,57,118 +db 117,117,201,117,143,188,234,250 +db 117,117,201,117,143,188,234,250 +db 6,6,24,6,48,30,12,54 +db 6,6,24,6,48,30,12,54 +db 138,138,18,138,36,152,9,174 +db 138,138,18,138,36,152,9,174 +db 178,178,242,178,249,64,121,75 +db 178,178,242,178,249,64,121,75 +db 230,230,191,230,99,89,209,133 +db 230,230,191,230,99,89,209,133 +db 14,14,56,14,112,54,28,126 +db 14,14,56,14,112,54,28,126 +db 31,31,124,31,248,99,62,231 +db 31,31,124,31,248,99,62,231 +db 98,98,149,98,55,247,196,85 +db 98,98,149,98,55,247,196,85 +db 212,212,119,212,238,163,181,58 +db 212,212,119,212,238,163,181,58 +db 168,168,154,168,41,50,77,129 +db 168,168,154,168,41,50,77,129 +db 150,150,98,150,196,244,49,82 +db 150,150,98,150,196,244,49,82 +db 249,249,195,249,155,58,239,98 +db 249,249,195,249,155,58,239,98 +db 197,197,51,197,102,246,151,163 +db 197,197,51,197,102,246,151,163 +db 37,37,148,37,53,177,74,16 +db 37,37,148,37,53,177,74,16 +db 89,89,121,89,242,32,178,171 +db 89,89,121,89,242,32,178,171 +db 132,132,42,132,84,174,21,208 +db 132,132,42,132,84,174,21,208 +db 114,114,213,114,183,167,228,197 +db 114,114,213,114,183,167,228,197 +db 57,57,228,57,213,221,114,236 +db 57,57,228,57,213,221,114,236 +db 76,76,45,76,90,97,152,22 +db 76,76,45,76,90,97,152,22 +db 94,94,101,94,202,59,188,148 +db 94,94,101,94,202,59,188,148 +db 120,120,253,120,231,133,240,159 +db 120,120,253,120,231,133,240,159 +db 56,56,224,56,221,216,112,229 +db 56,56,224,56,221,216,112,229 +db 140,140,10,140,20,134,5,152 +db 140,140,10,140,20,134,5,152 +db 209,209,99,209,198,178,191,23 +db 209,209,99,209,198,178,191,23 +db 165,165,174,165,65,11,87,228 +db 165,165,174,165,65,11,87,228 +db 226,226,175,226,67,77,217,161 +db 226,226,175,226,67,77,217,161 +db 97,97,153,97,47,248,194,78 +db 97,97,153,97,47,248,194,78 +db 179,179,246,179,241,69,123,66 +db 179,179,246,179,241,69,123,66 +db 33,33,132,33,21,165,66,52 +db 33,33,132,33,21,165,66,52 +db 156,156,74,156,148,214,37,8 +db 156,156,74,156,148,214,37,8 +db 30,30,120,30,240,102,60,238 +db 30,30,120,30,240,102,60,238 +db 67,67,17,67,34,82,134,97 +db 67,67,17,67,34,82,134,97 +db 199,199,59,199,118,252,147,177 +db 199,199,59,199,118,252,147,177 +db 252,252,215,252,179,43,229,79 +db 252,252,215,252,179,43,229,79 +db 4,4,16,4,32,20,8,36 +db 4,4,16,4,32,20,8,36 +db 81,81,89,81,178,8,162,227 +db 81,81,89,81,178,8,162,227 +db 153,153,94,153,188,199,47,37 +db 153,153,94,153,188,199,47,37 +db 109,109,169,109,79,196,218,34 +db 109,109,169,109,79,196,218,34 +db 13,13,52,13,104,57,26,101 +db 13,13,52,13,104,57,26,101 +db 250,250,207,250,131,53,233,121 +db 250,250,207,250,131,53,233,121 +db 223,223,91,223,182,132,163,105 +db 223,223,91,223,182,132,163,105 +db 126,126,229,126,215,155,252,169 +db 126,126,229,126,215,155,252,169 +db 36,36,144,36,61,180,72,25 +db 36,36,144,36,61,180,72,25 +db 59,59,236,59,197,215,118,254 +db 59,59,236,59,197,215,118,254 +db 171,171,150,171,49,61,75,154 +db 171,171,150,171,49,61,75,154 +db 206,206,31,206,62,209,129,240 +db 206,206,31,206,62,209,129,240 +db 17,17,68,17,136,85,34,153 +db 17,17,68,17,136,85,34,153 +db 143,143,6,143,12,137,3,131 +db 143,143,6,143,12,137,3,131 +db 78,78,37,78,74,107,156,4 +db 78,78,37,78,74,107,156,4 +db 183,183,230,183,209,81,115,102 +db 183,183,230,183,209,81,115,102 +db 235,235,139,235,11,96,203,224 +db 235,235,139,235,11,96,203,224 +db 60,60,240,60,253,204,120,193 +db 60,60,240,60,253,204,120,193 +db 129,129,62,129,124,191,31,253 +db 129,129,62,129,124,191,31,253 +db 148,148,106,148,212,254,53,64 +db 148,148,106,148,212,254,53,64 +db 247,247,251,247,235,12,243,28 +db 247,247,251,247,235,12,243,28 +db 185,185,222,185,161,103,111,24 +db 185,185,222,185,161,103,111,24 +db 19,19,76,19,152,95,38,139 +db 19,19,76,19,152,95,38,139 +db 44,44,176,44,125,156,88,81 +db 44,44,176,44,125,156,88,81 +db 211,211,107,211,214,184,187,5 +db 211,211,107,211,214,184,187,5 +db 231,231,187,231,107,92,211,140 +db 231,231,187,231,107,92,211,140 +db 110,110,165,110,87,203,220,57 +db 110,110,165,110,87,203,220,57 +db 196,196,55,196,110,243,149,170 +db 196,196,55,196,110,243,149,170 +db 3,3,12,3,24,15,6,27 +db 3,3,12,3,24,15,6,27 +db 86,86,69,86,138,19,172,220 +db 86,86,69,86,138,19,172,220 +db 68,68,13,68,26,73,136,94 +db 68,68,13,68,26,73,136,94 +db 127,127,225,127,223,158,254,160 +db 127,127,225,127,223,158,254,160 +db 169,169,158,169,33,55,79,136 +db 169,169,158,169,33,55,79,136 +db 42,42,168,42,77,130,84,103 +db 42,42,168,42,77,130,84,103 +db 187,187,214,187,177,109,107,10 +db 187,187,214,187,177,109,107,10 +db 193,193,35,193,70,226,159,135 +db 193,193,35,193,70,226,159,135 +db 83,83,81,83,162,2,166,241 +db 83,83,81,83,162,2,166,241 +db 220,220,87,220,174,139,165,114 +db 220,220,87,220,174,139,165,114 +db 11,11,44,11,88,39,22,83 +db 11,11,44,11,88,39,22,83 +db 157,157,78,157,156,211,39,1 +db 157,157,78,157,156,211,39,1 +db 108,108,173,108,71,193,216,43 +db 108,108,173,108,71,193,216,43 +db 49,49,196,49,149,245,98,164 +db 49,49,196,49,149,245,98,164 +db 116,116,205,116,135,185,232,243 +db 116,116,205,116,135,185,232,243 +db 246,246,255,246,227,9,241,21 +db 246,246,255,246,227,9,241,21 +db 70,70,5,70,10,67,140,76 +db 70,70,5,70,10,67,140,76 +db 172,172,138,172,9,38,69,165 +db 172,172,138,172,9,38,69,165 +db 137,137,30,137,60,151,15,181 +db 137,137,30,137,60,151,15,181 +db 20,20,80,20,160,68,40,180 +db 20,20,80,20,160,68,40,180 +db 225,225,163,225,91,66,223,186 +db 225,225,163,225,91,66,223,186 +db 22,22,88,22,176,78,44,166 +db 22,22,88,22,176,78,44,166 +db 58,58,232,58,205,210,116,247 +db 58,58,232,58,205,210,116,247 +db 105,105,185,105,111,208,210,6 +db 105,105,185,105,111,208,210,6 +db 9,9,36,9,72,45,18,65 +db 9,9,36,9,72,45,18,65 +db 112,112,221,112,167,173,224,215 +db 112,112,221,112,167,173,224,215 +db 182,182,226,182,217,84,113,111 +db 182,182,226,182,217,84,113,111 +db 208,208,103,208,206,183,189,30 +db 208,208,103,208,206,183,189,30 +db 237,237,147,237,59,126,199,214 +db 237,237,147,237,59,126,199,214 +db 204,204,23,204,46,219,133,226 +db 204,204,23,204,46,219,133,226 +db 66,66,21,66,42,87,132,104 +db 66,66,21,66,42,87,132,104 +db 152,152,90,152,180,194,45,44 +db 152,152,90,152,180,194,45,44 +db 164,164,170,164,73,14,85,237 +db 164,164,170,164,73,14,85,237 +db 40,40,160,40,93,136,80,117 +db 40,40,160,40,93,136,80,117 +db 92,92,109,92,218,49,184,134 +db 92,92,109,92,218,49,184,134 +db 248,248,199,248,147,63,237,107 +db 248,248,199,248,147,63,237,107 +db 134,134,34,134,68,164,17,194 +db 134,134,34,134,68,164,17,194 +db 24,35,198,232,135,184,1,79 +db 54,166,210,245,121,111,145,82 +db 96,188,155,142,163,12,123,53 +db 29,224,215,194,46,75,254,87 +db 21,119,55,229,159,240,74,218 +db 88,201,41,10,177,160,107,133 +db 189,93,16,244,203,62,5,103 +db 228,39,65,139,167,125,149,216 +db 251,238,124,102,221,23,71,158 +db 202,45,191,7,173,90,131,51 diff --git a/tmp32/x86-gf2m.asm b/tmp32/x86-gf2m.asm index 709f4a9e..5e00dc99 100644 --- a/tmp32/x86-gf2m.asm +++ b/tmp32/x86-gf2m.asm @@ -1,345 +1,345 @@ -%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 -align 16 -__mul_1x1_mmx: - sub esp,36 - mov ecx,eax - lea edx,[eax*1+eax] - and ecx,1073741823 - lea ebp,[edx*1+edx] - mov DWORD [esp],0 - and edx,2147483647 - movd mm2,eax - movd mm3,ebx - mov DWORD [4+esp],ecx - xor ecx,edx - pxor mm5,mm5 - pxor mm4,mm4 - mov DWORD [8+esp],edx - xor edx,ebp - mov DWORD [12+esp],ecx - pcmpgtd mm5,mm2 - paddd mm2,mm2 - xor ecx,edx - mov DWORD [16+esp],ebp - xor ebp,edx - pand mm5,mm3 - pcmpgtd mm4,mm2 - mov DWORD [20+esp],ecx - xor ebp,ecx - psllq mm5,31 - pand mm4,mm3 - mov DWORD [24+esp],edx - mov esi,7 - mov DWORD [28+esp],ebp - mov ebp,esi - and esi,ebx - shr ebx,3 - mov edi,ebp - psllq mm4,30 - and edi,ebx - shr ebx,3 - movd mm0,DWORD [esi*4+esp] - mov esi,ebp - and esi,ebx - shr ebx,3 - movd mm2,DWORD [edi*4+esp] - mov edi,ebp - psllq mm2,3 - and edi,ebx - shr ebx,3 - pxor mm0,mm2 - movd mm1,DWORD [esi*4+esp] - mov esi,ebp - psllq mm1,6 - and esi,ebx - shr ebx,3 - pxor mm0,mm1 - movd mm2,DWORD [edi*4+esp] - mov edi,ebp - psllq mm2,9 - and edi,ebx - shr ebx,3 - pxor mm0,mm2 - movd mm1,DWORD [esi*4+esp] - mov esi,ebp - psllq mm1,12 - and esi,ebx - shr ebx,3 - pxor mm0,mm1 - movd mm2,DWORD [edi*4+esp] - mov edi,ebp - psllq mm2,15 - and edi,ebx - shr ebx,3 - pxor mm0,mm2 - movd mm1,DWORD [esi*4+esp] - mov esi,ebp - psllq mm1,18 - and esi,ebx - shr ebx,3 - pxor mm0,mm1 - movd mm2,DWORD [edi*4+esp] - mov edi,ebp - psllq mm2,21 - and edi,ebx - shr ebx,3 - pxor mm0,mm2 - movd mm1,DWORD [esi*4+esp] - mov esi,ebp - psllq mm1,24 - and esi,ebx - shr ebx,3 - pxor mm0,mm1 - movd mm2,DWORD [edi*4+esp] - pxor mm0,mm4 - psllq mm2,27 - pxor mm0,mm2 - movd mm1,DWORD [esi*4+esp] - pxor mm0,mm5 - psllq mm1,30 - add esp,36 - pxor mm0,mm1 - ret -align 16 -__mul_1x1_ialu: - sub esp,36 - mov ecx,eax - lea edx,[eax*1+eax] - lea ebp,[eax*4] - and ecx,1073741823 - lea edi,[eax*1+eax] - sar eax,31 - mov DWORD [esp],0 - and edx,2147483647 - mov DWORD [4+esp],ecx - xor ecx,edx - mov DWORD [8+esp],edx - xor edx,ebp - mov DWORD [12+esp],ecx - xor ecx,edx - mov DWORD [16+esp],ebp - xor ebp,edx - mov DWORD [20+esp],ecx - xor ebp,ecx - sar edi,31 - and eax,ebx - mov DWORD [24+esp],edx - and edi,ebx - mov DWORD [28+esp],ebp - mov edx,eax - shl eax,31 - mov ecx,edi - shr edx,1 - mov esi,7 - shl edi,30 - and esi,ebx - shr ecx,2 - xor eax,edi - shr ebx,3 - mov edi,7 - and edi,ebx - shr ebx,3 - xor edx,ecx - xor eax,DWORD [esi*4+esp] - mov esi,7 - and esi,ebx - shr ebx,3 - mov ebp,DWORD [edi*4+esp] - mov edi,7 - mov ecx,ebp - shl ebp,3 - and edi,ebx - shr ecx,29 - xor eax,ebp - shr ebx,3 - xor edx,ecx - mov ecx,DWORD [esi*4+esp] - mov esi,7 - mov ebp,ecx - shl ecx,6 - and esi,ebx - shr ebp,26 - xor eax,ecx - shr ebx,3 - xor edx,ebp - mov ebp,DWORD [edi*4+esp] - mov edi,7 - mov ecx,ebp - shl ebp,9 - and edi,ebx - shr ecx,23 - xor eax,ebp - shr ebx,3 - xor edx,ecx - mov ecx,DWORD [esi*4+esp] - mov esi,7 - mov ebp,ecx - shl ecx,12 - and esi,ebx - shr ebp,20 - xor eax,ecx - shr ebx,3 - xor edx,ebp - mov ebp,DWORD [edi*4+esp] - mov edi,7 - mov ecx,ebp - shl ebp,15 - and edi,ebx - shr ecx,17 - xor eax,ebp - shr ebx,3 - xor edx,ecx - mov ecx,DWORD [esi*4+esp] - mov esi,7 - mov ebp,ecx - shl ecx,18 - and esi,ebx - shr ebp,14 - xor eax,ecx - shr ebx,3 - xor edx,ebp - mov ebp,DWORD [edi*4+esp] - mov edi,7 - mov ecx,ebp - shl ebp,21 - and edi,ebx - shr ecx,11 - xor eax,ebp - shr ebx,3 - xor edx,ecx - mov ecx,DWORD [esi*4+esp] - mov esi,7 - mov ebp,ecx - shl ecx,24 - and esi,ebx - shr ebp,8 - xor eax,ecx - shr ebx,3 - xor edx,ebp - mov ebp,DWORD [edi*4+esp] - mov ecx,ebp - shl ebp,27 - mov edi,DWORD [esi*4+esp] - shr ecx,5 - mov esi,edi - xor eax,ebp - shl edi,30 - xor edx,ecx - shr esi,2 - xor eax,edi - xor edx,esi - add esp,36 - ret -global _bn_GF2m_mul_2x2 -align 16 -_bn_GF2m_mul_2x2: -L$_bn_GF2m_mul_2x2_begin: - lea edx,[_OPENSSL_ia32cap_P] - mov eax,DWORD [edx] - mov edx,DWORD [4+edx] - test eax,8388608 - jz NEAR L$000ialu - test eax,16777216 - jz NEAR L$001mmx - test edx,2 - jz NEAR L$001mmx - movups xmm0,[8+esp] - shufps xmm0,xmm0,177 -db 102,15,58,68,192,1 - mov eax,DWORD [4+esp] - movups [eax],xmm0 - ret -align 16 -L$001mmx: - push ebp - push ebx - push esi - push edi - mov eax,DWORD [24+esp] - mov ebx,DWORD [32+esp] - call __mul_1x1_mmx - movq mm7,mm0 - mov eax,DWORD [28+esp] - mov ebx,DWORD [36+esp] - call __mul_1x1_mmx - movq mm6,mm0 - mov eax,DWORD [24+esp] - mov ebx,DWORD [32+esp] - xor eax,DWORD [28+esp] - xor ebx,DWORD [36+esp] - call __mul_1x1_mmx - pxor mm0,mm7 - mov eax,DWORD [20+esp] - pxor mm0,mm6 - movq mm2,mm0 - psllq mm0,32 - pop edi - psrlq mm2,32 - pop esi - pxor mm0,mm6 - pop ebx - pxor mm2,mm7 - movq [eax],mm0 - pop ebp - movq [8+eax],mm2 - emms - ret -align 16 -L$000ialu: - push ebp - push ebx - push esi - push edi - sub esp,20 - mov eax,DWORD [44+esp] - mov ebx,DWORD [52+esp] - call __mul_1x1_ialu - mov DWORD [8+esp],eax - mov DWORD [12+esp],edx - mov eax,DWORD [48+esp] - mov ebx,DWORD [56+esp] - call __mul_1x1_ialu - mov DWORD [esp],eax - mov DWORD [4+esp],edx - mov eax,DWORD [44+esp] - mov ebx,DWORD [52+esp] - xor eax,DWORD [48+esp] - xor ebx,DWORD [56+esp] - call __mul_1x1_ialu - mov ebp,DWORD [40+esp] - mov ebx,DWORD [esp] - mov ecx,DWORD [4+esp] - mov edi,DWORD [8+esp] - mov esi,DWORD [12+esp] - xor eax,edx - xor edx,ecx - xor eax,ebx - mov DWORD [ebp],ebx - xor edx,edi - mov DWORD [12+ebp],esi - xor eax,esi - add esp,20 - xor edx,esi - pop edi - xor eax,edx - pop esi - mov DWORD [8+ebp],edx - pop ebx - mov DWORD [4+ebp],eax - pop ebp - ret -db 71,70,40,50,94,109,41,32,77,117,108,116,105,112,108,105 -db 99,97,116,105,111,110,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 -segment .bss -common _OPENSSL_ia32cap_P 16 +%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 +align 16 +__mul_1x1_mmx: + sub esp,36 + mov ecx,eax + lea edx,[eax*1+eax] + and ecx,1073741823 + lea ebp,[edx*1+edx] + mov DWORD [esp],0 + and edx,2147483647 + movd mm2,eax + movd mm3,ebx + mov DWORD [4+esp],ecx + xor ecx,edx + pxor mm5,mm5 + pxor mm4,mm4 + mov DWORD [8+esp],edx + xor edx,ebp + mov DWORD [12+esp],ecx + pcmpgtd mm5,mm2 + paddd mm2,mm2 + xor ecx,edx + mov DWORD [16+esp],ebp + xor ebp,edx + pand mm5,mm3 + pcmpgtd mm4,mm2 + mov DWORD [20+esp],ecx + xor ebp,ecx + psllq mm5,31 + pand mm4,mm3 + mov DWORD [24+esp],edx + mov esi,7 + mov DWORD [28+esp],ebp + mov ebp,esi + and esi,ebx + shr ebx,3 + mov edi,ebp + psllq mm4,30 + and edi,ebx + shr ebx,3 + movd mm0,DWORD [esi*4+esp] + mov esi,ebp + and esi,ebx + shr ebx,3 + movd mm2,DWORD [edi*4+esp] + mov edi,ebp + psllq mm2,3 + and edi,ebx + shr ebx,3 + pxor mm0,mm2 + movd mm1,DWORD [esi*4+esp] + mov esi,ebp + psllq mm1,6 + and esi,ebx + shr ebx,3 + pxor mm0,mm1 + movd mm2,DWORD [edi*4+esp] + mov edi,ebp + psllq mm2,9 + and edi,ebx + shr ebx,3 + pxor mm0,mm2 + movd mm1,DWORD [esi*4+esp] + mov esi,ebp + psllq mm1,12 + and esi,ebx + shr ebx,3 + pxor mm0,mm1 + movd mm2,DWORD [edi*4+esp] + mov edi,ebp + psllq mm2,15 + and edi,ebx + shr ebx,3 + pxor mm0,mm2 + movd mm1,DWORD [esi*4+esp] + mov esi,ebp + psllq mm1,18 + and esi,ebx + shr ebx,3 + pxor mm0,mm1 + movd mm2,DWORD [edi*4+esp] + mov edi,ebp + psllq mm2,21 + and edi,ebx + shr ebx,3 + pxor mm0,mm2 + movd mm1,DWORD [esi*4+esp] + mov esi,ebp + psllq mm1,24 + and esi,ebx + shr ebx,3 + pxor mm0,mm1 + movd mm2,DWORD [edi*4+esp] + pxor mm0,mm4 + psllq mm2,27 + pxor mm0,mm2 + movd mm1,DWORD [esi*4+esp] + pxor mm0,mm5 + psllq mm1,30 + add esp,36 + pxor mm0,mm1 + ret +align 16 +__mul_1x1_ialu: + sub esp,36 + mov ecx,eax + lea edx,[eax*1+eax] + lea ebp,[eax*4] + and ecx,1073741823 + lea edi,[eax*1+eax] + sar eax,31 + mov DWORD [esp],0 + and edx,2147483647 + mov DWORD [4+esp],ecx + xor ecx,edx + mov DWORD [8+esp],edx + xor edx,ebp + mov DWORD [12+esp],ecx + xor ecx,edx + mov DWORD [16+esp],ebp + xor ebp,edx + mov DWORD [20+esp],ecx + xor ebp,ecx + sar edi,31 + and eax,ebx + mov DWORD [24+esp],edx + and edi,ebx + mov DWORD [28+esp],ebp + mov edx,eax + shl eax,31 + mov ecx,edi + shr edx,1 + mov esi,7 + shl edi,30 + and esi,ebx + shr ecx,2 + xor eax,edi + shr ebx,3 + mov edi,7 + and edi,ebx + shr ebx,3 + xor edx,ecx + xor eax,DWORD [esi*4+esp] + mov esi,7 + and esi,ebx + shr ebx,3 + mov ebp,DWORD [edi*4+esp] + mov edi,7 + mov ecx,ebp + shl ebp,3 + and edi,ebx + shr ecx,29 + xor eax,ebp + shr ebx,3 + xor edx,ecx + mov ecx,DWORD [esi*4+esp] + mov esi,7 + mov ebp,ecx + shl ecx,6 + and esi,ebx + shr ebp,26 + xor eax,ecx + shr ebx,3 + xor edx,ebp + mov ebp,DWORD [edi*4+esp] + mov edi,7 + mov ecx,ebp + shl ebp,9 + and edi,ebx + shr ecx,23 + xor eax,ebp + shr ebx,3 + xor edx,ecx + mov ecx,DWORD [esi*4+esp] + mov esi,7 + mov ebp,ecx + shl ecx,12 + and esi,ebx + shr ebp,20 + xor eax,ecx + shr ebx,3 + xor edx,ebp + mov ebp,DWORD [edi*4+esp] + mov edi,7 + mov ecx,ebp + shl ebp,15 + and edi,ebx + shr ecx,17 + xor eax,ebp + shr ebx,3 + xor edx,ecx + mov ecx,DWORD [esi*4+esp] + mov esi,7 + mov ebp,ecx + shl ecx,18 + and esi,ebx + shr ebp,14 + xor eax,ecx + shr ebx,3 + xor edx,ebp + mov ebp,DWORD [edi*4+esp] + mov edi,7 + mov ecx,ebp + shl ebp,21 + and edi,ebx + shr ecx,11 + xor eax,ebp + shr ebx,3 + xor edx,ecx + mov ecx,DWORD [esi*4+esp] + mov esi,7 + mov ebp,ecx + shl ecx,24 + and esi,ebx + shr ebp,8 + xor eax,ecx + shr ebx,3 + xor edx,ebp + mov ebp,DWORD [edi*4+esp] + mov ecx,ebp + shl ebp,27 + mov edi,DWORD [esi*4+esp] + shr ecx,5 + mov esi,edi + xor eax,ebp + shl edi,30 + xor edx,ecx + shr esi,2 + xor eax,edi + xor edx,esi + add esp,36 + ret +global _bn_GF2m_mul_2x2 +align 16 +_bn_GF2m_mul_2x2: +L$_bn_GF2m_mul_2x2_begin: + lea edx,[_OPENSSL_ia32cap_P] + mov eax,DWORD [edx] + mov edx,DWORD [4+edx] + test eax,8388608 + jz NEAR L$000ialu + test eax,16777216 + jz NEAR L$001mmx + test edx,2 + jz NEAR L$001mmx + movups xmm0,[8+esp] + shufps xmm0,xmm0,177 +db 102,15,58,68,192,1 + mov eax,DWORD [4+esp] + movups [eax],xmm0 + ret +align 16 +L$001mmx: + push ebp + push ebx + push esi + push edi + mov eax,DWORD [24+esp] + mov ebx,DWORD [32+esp] + call __mul_1x1_mmx + movq mm7,mm0 + mov eax,DWORD [28+esp] + mov ebx,DWORD [36+esp] + call __mul_1x1_mmx + movq mm6,mm0 + mov eax,DWORD [24+esp] + mov ebx,DWORD [32+esp] + xor eax,DWORD [28+esp] + xor ebx,DWORD [36+esp] + call __mul_1x1_mmx + pxor mm0,mm7 + mov eax,DWORD [20+esp] + pxor mm0,mm6 + movq mm2,mm0 + psllq mm0,32 + pop edi + psrlq mm2,32 + pop esi + pxor mm0,mm6 + pop ebx + pxor mm2,mm7 + movq [eax],mm0 + pop ebp + movq [8+eax],mm2 + emms + ret +align 16 +L$000ialu: + push ebp + push ebx + push esi + push edi + sub esp,20 + mov eax,DWORD [44+esp] + mov ebx,DWORD [52+esp] + call __mul_1x1_ialu + mov DWORD [8+esp],eax + mov DWORD [12+esp],edx + mov eax,DWORD [48+esp] + mov ebx,DWORD [56+esp] + call __mul_1x1_ialu + mov DWORD [esp],eax + mov DWORD [4+esp],edx + mov eax,DWORD [44+esp] + mov ebx,DWORD [52+esp] + xor eax,DWORD [48+esp] + xor ebx,DWORD [56+esp] + call __mul_1x1_ialu + mov ebp,DWORD [40+esp] + mov ebx,DWORD [esp] + mov ecx,DWORD [4+esp] + mov edi,DWORD [8+esp] + mov esi,DWORD [12+esp] + xor eax,edx + xor edx,ecx + xor eax,ebx + mov DWORD [ebp],ebx + xor edx,edi + mov DWORD [12+ebp],esi + xor eax,esi + add esp,20 + xor edx,esi + pop edi + xor eax,edx + pop esi + mov DWORD [8+ebp],edx + pop ebx + mov DWORD [4+ebp],eax + pop ebp + ret +db 71,70,40,50,94,109,41,32,77,117,108,116,105,112,108,105 +db 99,97,116,105,111,110,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 +segment .bss +common _OPENSSL_ia32cap_P 16 diff --git a/tmp32/x86-mont.asm b/tmp32/x86-mont.asm index 090630c3..69dff07c 100644 --- a/tmp32/x86-mont.asm +++ b/tmp32/x86-mont.asm @@ -1,479 +1,479 @@ -%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 _bn_mul_mont -align 16 -_bn_mul_mont: -L$_bn_mul_mont_begin: - push ebp - push ebx - push esi - push edi - xor eax,eax - mov edi,DWORD [40+esp] - cmp edi,4 - jl NEAR L$000just_leave - lea esi,[20+esp] - lea edx,[24+esp] - add edi,2 - neg edi - lea ebp,[edi*4+esp-32] - neg edi - mov eax,ebp - sub eax,edx - and eax,2047 - sub ebp,eax - xor edx,ebp - and edx,2048 - xor edx,2048 - sub ebp,edx - and ebp,-64 - mov eax,esp - sub eax,ebp - and eax,-4096 - mov edx,esp - lea esp,[eax*1+ebp] - mov eax,DWORD [esp] - cmp esp,ebp - ja NEAR L$001page_walk - jmp NEAR L$002page_walk_done -align 16 -L$001page_walk: - lea esp,[esp-4096] - mov eax,DWORD [esp] - cmp esp,ebp - ja NEAR L$001page_walk -L$002page_walk_done: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov ebp,DWORD [12+esi] - mov esi,DWORD [16+esi] - mov esi,DWORD [esi] - mov DWORD [4+esp],eax - mov DWORD [8+esp],ebx - mov DWORD [12+esp],ecx - mov DWORD [16+esp],ebp - mov DWORD [20+esp],esi - lea ebx,[edi-3] - mov DWORD [24+esp],edx - lea eax,[_OPENSSL_ia32cap_P] - bt DWORD [eax],26 - jnc NEAR L$003non_sse2 - mov eax,-1 - movd mm7,eax - mov esi,DWORD [8+esp] - mov edi,DWORD [12+esp] - mov ebp,DWORD [16+esp] - xor edx,edx - xor ecx,ecx - movd mm4,DWORD [edi] - movd mm5,DWORD [esi] - movd mm3,DWORD [ebp] - pmuludq mm5,mm4 - movq mm2,mm5 - movq mm0,mm5 - pand mm0,mm7 - pmuludq mm5,[20+esp] - pmuludq mm3,mm5 - paddq mm3,mm0 - movd mm1,DWORD [4+ebp] - movd mm0,DWORD [4+esi] - psrlq mm2,32 - psrlq mm3,32 - inc ecx -align 16 -L$0041st: - pmuludq mm0,mm4 - pmuludq mm1,mm5 - paddq mm2,mm0 - paddq mm3,mm1 - movq mm0,mm2 - pand mm0,mm7 - movd mm1,DWORD [4+ecx*4+ebp] - paddq mm3,mm0 - movd mm0,DWORD [4+ecx*4+esi] - psrlq mm2,32 - movd DWORD [28+ecx*4+esp],mm3 - psrlq mm3,32 - lea ecx,[1+ecx] - cmp ecx,ebx - jl NEAR L$0041st - pmuludq mm0,mm4 - pmuludq mm1,mm5 - paddq mm2,mm0 - paddq mm3,mm1 - movq mm0,mm2 - pand mm0,mm7 - paddq mm3,mm0 - movd DWORD [28+ecx*4+esp],mm3 - psrlq mm2,32 - psrlq mm3,32 - paddq mm3,mm2 - movq [32+ebx*4+esp],mm3 - inc edx -L$005outer: - xor ecx,ecx - movd mm4,DWORD [edx*4+edi] - movd mm5,DWORD [esi] - movd mm6,DWORD [32+esp] - movd mm3,DWORD [ebp] - pmuludq mm5,mm4 - paddq mm5,mm6 - movq mm0,mm5 - movq mm2,mm5 - pand mm0,mm7 - pmuludq mm5,[20+esp] - pmuludq mm3,mm5 - paddq mm3,mm0 - movd mm6,DWORD [36+esp] - movd mm1,DWORD [4+ebp] - movd mm0,DWORD [4+esi] - psrlq mm2,32 - psrlq mm3,32 - paddq mm2,mm6 - inc ecx - dec ebx -L$006inner: - pmuludq mm0,mm4 - pmuludq mm1,mm5 - paddq mm2,mm0 - paddq mm3,mm1 - movq mm0,mm2 - movd mm6,DWORD [36+ecx*4+esp] - pand mm0,mm7 - movd mm1,DWORD [4+ecx*4+ebp] - paddq mm3,mm0 - movd mm0,DWORD [4+ecx*4+esi] - psrlq mm2,32 - movd DWORD [28+ecx*4+esp],mm3 - psrlq mm3,32 - paddq mm2,mm6 - dec ebx - lea ecx,[1+ecx] - jnz NEAR L$006inner - mov ebx,ecx - pmuludq mm0,mm4 - pmuludq mm1,mm5 - paddq mm2,mm0 - paddq mm3,mm1 - movq mm0,mm2 - pand mm0,mm7 - paddq mm3,mm0 - movd DWORD [28+ecx*4+esp],mm3 - psrlq mm2,32 - psrlq mm3,32 - movd mm6,DWORD [36+ebx*4+esp] - paddq mm3,mm2 - paddq mm3,mm6 - movq [32+ebx*4+esp],mm3 - lea edx,[1+edx] - cmp edx,ebx - jle NEAR L$005outer - emms - jmp NEAR L$007common_tail -align 16 -L$003non_sse2: - mov esi,DWORD [8+esp] - lea ebp,[1+ebx] - mov edi,DWORD [12+esp] - xor ecx,ecx - mov edx,esi - and ebp,1 - sub edx,edi - lea eax,[4+ebx*4+edi] - or ebp,edx - mov edi,DWORD [edi] - jz NEAR L$008bn_sqr_mont - mov DWORD [28+esp],eax - mov eax,DWORD [esi] - xor edx,edx -align 16 -L$009mull: - mov ebp,edx - mul edi - add ebp,eax - lea ecx,[1+ecx] - adc edx,0 - mov eax,DWORD [ecx*4+esi] - cmp ecx,ebx - mov DWORD [28+ecx*4+esp],ebp - jl NEAR L$009mull - mov ebp,edx - mul edi - mov edi,DWORD [20+esp] - add eax,ebp - mov esi,DWORD [16+esp] - adc edx,0 - imul edi,DWORD [32+esp] - mov DWORD [32+ebx*4+esp],eax - xor ecx,ecx - mov DWORD [36+ebx*4+esp],edx - mov DWORD [40+ebx*4+esp],ecx - mov eax,DWORD [esi] - mul edi - add eax,DWORD [32+esp] - mov eax,DWORD [4+esi] - adc edx,0 - inc ecx - jmp NEAR L$0102ndmadd -align 16 -L$0111stmadd: - mov ebp,edx - mul edi - add ebp,DWORD [32+ecx*4+esp] - lea ecx,[1+ecx] - adc edx,0 - add ebp,eax - mov eax,DWORD [ecx*4+esi] - adc edx,0 - cmp ecx,ebx - mov DWORD [28+ecx*4+esp],ebp - jl NEAR L$0111stmadd - mov ebp,edx - mul edi - add eax,DWORD [32+ebx*4+esp] - mov edi,DWORD [20+esp] - adc edx,0 - mov esi,DWORD [16+esp] - add ebp,eax - adc edx,0 - imul edi,DWORD [32+esp] - xor ecx,ecx - add edx,DWORD [36+ebx*4+esp] - mov DWORD [32+ebx*4+esp],ebp - adc ecx,0 - mov eax,DWORD [esi] - mov DWORD [36+ebx*4+esp],edx - mov DWORD [40+ebx*4+esp],ecx - mul edi - add eax,DWORD [32+esp] - mov eax,DWORD [4+esi] - adc edx,0 - mov ecx,1 -align 16 -L$0102ndmadd: - mov ebp,edx - mul edi - add ebp,DWORD [32+ecx*4+esp] - lea ecx,[1+ecx] - adc edx,0 - add ebp,eax - mov eax,DWORD [ecx*4+esi] - adc edx,0 - cmp ecx,ebx - mov DWORD [24+ecx*4+esp],ebp - jl NEAR L$0102ndmadd - mov ebp,edx - mul edi - add ebp,DWORD [32+ebx*4+esp] - adc edx,0 - add ebp,eax - adc edx,0 - mov DWORD [28+ebx*4+esp],ebp - xor eax,eax - mov ecx,DWORD [12+esp] - add edx,DWORD [36+ebx*4+esp] - adc eax,DWORD [40+ebx*4+esp] - lea ecx,[4+ecx] - mov DWORD [32+ebx*4+esp],edx - cmp ecx,DWORD [28+esp] - mov DWORD [36+ebx*4+esp],eax - je NEAR L$007common_tail - mov edi,DWORD [ecx] - mov esi,DWORD [8+esp] - mov DWORD [12+esp],ecx - xor ecx,ecx - xor edx,edx - mov eax,DWORD [esi] - jmp NEAR L$0111stmadd -align 16 -L$008bn_sqr_mont: - mov DWORD [esp],ebx - mov DWORD [12+esp],ecx - mov eax,edi - mul edi - mov DWORD [32+esp],eax - mov ebx,edx - shr edx,1 - and ebx,1 - inc ecx -align 16 -L$012sqr: - mov eax,DWORD [ecx*4+esi] - mov ebp,edx - mul edi - add eax,ebp - lea ecx,[1+ecx] - adc edx,0 - lea ebp,[eax*2+ebx] - shr eax,31 - cmp ecx,DWORD [esp] - mov ebx,eax - mov DWORD [28+ecx*4+esp],ebp - jl NEAR L$012sqr - mov eax,DWORD [ecx*4+esi] - mov ebp,edx - mul edi - add eax,ebp - mov edi,DWORD [20+esp] - adc edx,0 - mov esi,DWORD [16+esp] - lea ebp,[eax*2+ebx] - imul edi,DWORD [32+esp] - shr eax,31 - mov DWORD [32+ecx*4+esp],ebp - lea ebp,[edx*2+eax] - mov eax,DWORD [esi] - shr edx,31 - mov DWORD [36+ecx*4+esp],ebp - mov DWORD [40+ecx*4+esp],edx - mul edi - add eax,DWORD [32+esp] - mov ebx,ecx - adc edx,0 - mov eax,DWORD [4+esi] - mov ecx,1 -align 16 -L$0133rdmadd: - mov ebp,edx - mul edi - add ebp,DWORD [32+ecx*4+esp] - adc edx,0 - add ebp,eax - mov eax,DWORD [4+ecx*4+esi] - adc edx,0 - mov DWORD [28+ecx*4+esp],ebp - mov ebp,edx - mul edi - add ebp,DWORD [36+ecx*4+esp] - lea ecx,[2+ecx] - adc edx,0 - add ebp,eax - mov eax,DWORD [ecx*4+esi] - adc edx,0 - cmp ecx,ebx - mov DWORD [24+ecx*4+esp],ebp - jl NEAR L$0133rdmadd - mov ebp,edx - mul edi - add ebp,DWORD [32+ebx*4+esp] - adc edx,0 - add ebp,eax - adc edx,0 - mov DWORD [28+ebx*4+esp],ebp - mov ecx,DWORD [12+esp] - xor eax,eax - mov esi,DWORD [8+esp] - add edx,DWORD [36+ebx*4+esp] - adc eax,DWORD [40+ebx*4+esp] - mov DWORD [32+ebx*4+esp],edx - cmp ecx,ebx - mov DWORD [36+ebx*4+esp],eax - je NEAR L$007common_tail - mov edi,DWORD [4+ecx*4+esi] - lea ecx,[1+ecx] - mov eax,edi - mov DWORD [12+esp],ecx - mul edi - add eax,DWORD [32+ecx*4+esp] - adc edx,0 - mov DWORD [32+ecx*4+esp],eax - xor ebp,ebp - cmp ecx,ebx - lea ecx,[1+ecx] - je NEAR L$014sqrlast - mov ebx,edx - shr edx,1 - and ebx,1 -align 16 -L$015sqradd: - mov eax,DWORD [ecx*4+esi] - mov ebp,edx - mul edi - add eax,ebp - lea ebp,[eax*1+eax] - adc edx,0 - shr eax,31 - add ebp,DWORD [32+ecx*4+esp] - lea ecx,[1+ecx] - adc eax,0 - add ebp,ebx - adc eax,0 - cmp ecx,DWORD [esp] - mov DWORD [28+ecx*4+esp],ebp - mov ebx,eax - jle NEAR L$015sqradd - mov ebp,edx - add edx,edx - shr ebp,31 - add edx,ebx - adc ebp,0 -L$014sqrlast: - mov edi,DWORD [20+esp] - mov esi,DWORD [16+esp] - imul edi,DWORD [32+esp] - add edx,DWORD [32+ecx*4+esp] - mov eax,DWORD [esi] - adc ebp,0 - mov DWORD [32+ecx*4+esp],edx - mov DWORD [36+ecx*4+esp],ebp - mul edi - add eax,DWORD [32+esp] - lea ebx,[ecx-1] - adc edx,0 - mov ecx,1 - mov eax,DWORD [4+esi] - jmp NEAR L$0133rdmadd -align 16 -L$007common_tail: - mov ebp,DWORD [16+esp] - mov edi,DWORD [4+esp] - lea esi,[32+esp] - mov eax,DWORD [esi] - mov ecx,ebx - xor edx,edx -align 16 -L$016sub: - sbb eax,DWORD [edx*4+ebp] - mov DWORD [edx*4+edi],eax - dec ecx - mov eax,DWORD [4+edx*4+esi] - lea edx,[1+edx] - jge NEAR L$016sub - sbb eax,0 - mov edx,-1 - xor edx,eax - jmp NEAR L$017copy -align 16 -L$017copy: - mov esi,DWORD [32+ebx*4+esp] - mov ebp,DWORD [ebx*4+edi] - mov DWORD [32+ebx*4+esp],ecx - and esi,eax - and ebp,edx - or ebp,esi - mov DWORD [ebx*4+edi],ebp - dec ebx - jge NEAR L$017copy - mov esp,DWORD [24+esp] - mov eax,1 -L$000just_leave: - pop edi - pop esi - pop ebx - pop ebp - ret -db 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 -db 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56 -db 54,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 -db 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 -db 111,114,103,62,0 -segment .bss -common _OPENSSL_ia32cap_P 16 +%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 _bn_mul_mont +align 16 +_bn_mul_mont: +L$_bn_mul_mont_begin: + push ebp + push ebx + push esi + push edi + xor eax,eax + mov edi,DWORD [40+esp] + cmp edi,4 + jl NEAR L$000just_leave + lea esi,[20+esp] + lea edx,[24+esp] + add edi,2 + neg edi + lea ebp,[edi*4+esp-32] + neg edi + mov eax,ebp + sub eax,edx + and eax,2047 + sub ebp,eax + xor edx,ebp + and edx,2048 + xor edx,2048 + sub ebp,edx + and ebp,-64 + mov eax,esp + sub eax,ebp + and eax,-4096 + mov edx,esp + lea esp,[eax*1+ebp] + mov eax,DWORD [esp] + cmp esp,ebp + ja NEAR L$001page_walk + jmp NEAR L$002page_walk_done +align 16 +L$001page_walk: + lea esp,[esp-4096] + mov eax,DWORD [esp] + cmp esp,ebp + ja NEAR L$001page_walk +L$002page_walk_done: + mov eax,DWORD [esi] + mov ebx,DWORD [4+esi] + mov ecx,DWORD [8+esi] + mov ebp,DWORD [12+esi] + mov esi,DWORD [16+esi] + mov esi,DWORD [esi] + mov DWORD [4+esp],eax + mov DWORD [8+esp],ebx + mov DWORD [12+esp],ecx + mov DWORD [16+esp],ebp + mov DWORD [20+esp],esi + lea ebx,[edi-3] + mov DWORD [24+esp],edx + lea eax,[_OPENSSL_ia32cap_P] + bt DWORD [eax],26 + jnc NEAR L$003non_sse2 + mov eax,-1 + movd mm7,eax + mov esi,DWORD [8+esp] + mov edi,DWORD [12+esp] + mov ebp,DWORD [16+esp] + xor edx,edx + xor ecx,ecx + movd mm4,DWORD [edi] + movd mm5,DWORD [esi] + movd mm3,DWORD [ebp] + pmuludq mm5,mm4 + movq mm2,mm5 + movq mm0,mm5 + pand mm0,mm7 + pmuludq mm5,[20+esp] + pmuludq mm3,mm5 + paddq mm3,mm0 + movd mm1,DWORD [4+ebp] + movd mm0,DWORD [4+esi] + psrlq mm2,32 + psrlq mm3,32 + inc ecx +align 16 +L$0041st: + pmuludq mm0,mm4 + pmuludq mm1,mm5 + paddq mm2,mm0 + paddq mm3,mm1 + movq mm0,mm2 + pand mm0,mm7 + movd mm1,DWORD [4+ecx*4+ebp] + paddq mm3,mm0 + movd mm0,DWORD [4+ecx*4+esi] + psrlq mm2,32 + movd DWORD [28+ecx*4+esp],mm3 + psrlq mm3,32 + lea ecx,[1+ecx] + cmp ecx,ebx + jl NEAR L$0041st + pmuludq mm0,mm4 + pmuludq mm1,mm5 + paddq mm2,mm0 + paddq mm3,mm1 + movq mm0,mm2 + pand mm0,mm7 + paddq mm3,mm0 + movd DWORD [28+ecx*4+esp],mm3 + psrlq mm2,32 + psrlq mm3,32 + paddq mm3,mm2 + movq [32+ebx*4+esp],mm3 + inc edx +L$005outer: + xor ecx,ecx + movd mm4,DWORD [edx*4+edi] + movd mm5,DWORD [esi] + movd mm6,DWORD [32+esp] + movd mm3,DWORD [ebp] + pmuludq mm5,mm4 + paddq mm5,mm6 + movq mm0,mm5 + movq mm2,mm5 + pand mm0,mm7 + pmuludq mm5,[20+esp] + pmuludq mm3,mm5 + paddq mm3,mm0 + movd mm6,DWORD [36+esp] + movd mm1,DWORD [4+ebp] + movd mm0,DWORD [4+esi] + psrlq mm2,32 + psrlq mm3,32 + paddq mm2,mm6 + inc ecx + dec ebx +L$006inner: + pmuludq mm0,mm4 + pmuludq mm1,mm5 + paddq mm2,mm0 + paddq mm3,mm1 + movq mm0,mm2 + movd mm6,DWORD [36+ecx*4+esp] + pand mm0,mm7 + movd mm1,DWORD [4+ecx*4+ebp] + paddq mm3,mm0 + movd mm0,DWORD [4+ecx*4+esi] + psrlq mm2,32 + movd DWORD [28+ecx*4+esp],mm3 + psrlq mm3,32 + paddq mm2,mm6 + dec ebx + lea ecx,[1+ecx] + jnz NEAR L$006inner + mov ebx,ecx + pmuludq mm0,mm4 + pmuludq mm1,mm5 + paddq mm2,mm0 + paddq mm3,mm1 + movq mm0,mm2 + pand mm0,mm7 + paddq mm3,mm0 + movd DWORD [28+ecx*4+esp],mm3 + psrlq mm2,32 + psrlq mm3,32 + movd mm6,DWORD [36+ebx*4+esp] + paddq mm3,mm2 + paddq mm3,mm6 + movq [32+ebx*4+esp],mm3 + lea edx,[1+edx] + cmp edx,ebx + jle NEAR L$005outer + emms + jmp NEAR L$007common_tail +align 16 +L$003non_sse2: + mov esi,DWORD [8+esp] + lea ebp,[1+ebx] + mov edi,DWORD [12+esp] + xor ecx,ecx + mov edx,esi + and ebp,1 + sub edx,edi + lea eax,[4+ebx*4+edi] + or ebp,edx + mov edi,DWORD [edi] + jz NEAR L$008bn_sqr_mont + mov DWORD [28+esp],eax + mov eax,DWORD [esi] + xor edx,edx +align 16 +L$009mull: + mov ebp,edx + mul edi + add ebp,eax + lea ecx,[1+ecx] + adc edx,0 + mov eax,DWORD [ecx*4+esi] + cmp ecx,ebx + mov DWORD [28+ecx*4+esp],ebp + jl NEAR L$009mull + mov ebp,edx + mul edi + mov edi,DWORD [20+esp] + add eax,ebp + mov esi,DWORD [16+esp] + adc edx,0 + imul edi,DWORD [32+esp] + mov DWORD [32+ebx*4+esp],eax + xor ecx,ecx + mov DWORD [36+ebx*4+esp],edx + mov DWORD [40+ebx*4+esp],ecx + mov eax,DWORD [esi] + mul edi + add eax,DWORD [32+esp] + mov eax,DWORD [4+esi] + adc edx,0 + inc ecx + jmp NEAR L$0102ndmadd +align 16 +L$0111stmadd: + mov ebp,edx + mul edi + add ebp,DWORD [32+ecx*4+esp] + lea ecx,[1+ecx] + adc edx,0 + add ebp,eax + mov eax,DWORD [ecx*4+esi] + adc edx,0 + cmp ecx,ebx + mov DWORD [28+ecx*4+esp],ebp + jl NEAR L$0111stmadd + mov ebp,edx + mul edi + add eax,DWORD [32+ebx*4+esp] + mov edi,DWORD [20+esp] + adc edx,0 + mov esi,DWORD [16+esp] + add ebp,eax + adc edx,0 + imul edi,DWORD [32+esp] + xor ecx,ecx + add edx,DWORD [36+ebx*4+esp] + mov DWORD [32+ebx*4+esp],ebp + adc ecx,0 + mov eax,DWORD [esi] + mov DWORD [36+ebx*4+esp],edx + mov DWORD [40+ebx*4+esp],ecx + mul edi + add eax,DWORD [32+esp] + mov eax,DWORD [4+esi] + adc edx,0 + mov ecx,1 +align 16 +L$0102ndmadd: + mov ebp,edx + mul edi + add ebp,DWORD [32+ecx*4+esp] + lea ecx,[1+ecx] + adc edx,0 + add ebp,eax + mov eax,DWORD [ecx*4+esi] + adc edx,0 + cmp ecx,ebx + mov DWORD [24+ecx*4+esp],ebp + jl NEAR L$0102ndmadd + mov ebp,edx + mul edi + add ebp,DWORD [32+ebx*4+esp] + adc edx,0 + add ebp,eax + adc edx,0 + mov DWORD [28+ebx*4+esp],ebp + xor eax,eax + mov ecx,DWORD [12+esp] + add edx,DWORD [36+ebx*4+esp] + adc eax,DWORD [40+ebx*4+esp] + lea ecx,[4+ecx] + mov DWORD [32+ebx*4+esp],edx + cmp ecx,DWORD [28+esp] + mov DWORD [36+ebx*4+esp],eax + je NEAR L$007common_tail + mov edi,DWORD [ecx] + mov esi,DWORD [8+esp] + mov DWORD [12+esp],ecx + xor ecx,ecx + xor edx,edx + mov eax,DWORD [esi] + jmp NEAR L$0111stmadd +align 16 +L$008bn_sqr_mont: + mov DWORD [esp],ebx + mov DWORD [12+esp],ecx + mov eax,edi + mul edi + mov DWORD [32+esp],eax + mov ebx,edx + shr edx,1 + and ebx,1 + inc ecx +align 16 +L$012sqr: + mov eax,DWORD [ecx*4+esi] + mov ebp,edx + mul edi + add eax,ebp + lea ecx,[1+ecx] + adc edx,0 + lea ebp,[eax*2+ebx] + shr eax,31 + cmp ecx,DWORD [esp] + mov ebx,eax + mov DWORD [28+ecx*4+esp],ebp + jl NEAR L$012sqr + mov eax,DWORD [ecx*4+esi] + mov ebp,edx + mul edi + add eax,ebp + mov edi,DWORD [20+esp] + adc edx,0 + mov esi,DWORD [16+esp] + lea ebp,[eax*2+ebx] + imul edi,DWORD [32+esp] + shr eax,31 + mov DWORD [32+ecx*4+esp],ebp + lea ebp,[edx*2+eax] + mov eax,DWORD [esi] + shr edx,31 + mov DWORD [36+ecx*4+esp],ebp + mov DWORD [40+ecx*4+esp],edx + mul edi + add eax,DWORD [32+esp] + mov ebx,ecx + adc edx,0 + mov eax,DWORD [4+esi] + mov ecx,1 +align 16 +L$0133rdmadd: + mov ebp,edx + mul edi + add ebp,DWORD [32+ecx*4+esp] + adc edx,0 + add ebp,eax + mov eax,DWORD [4+ecx*4+esi] + adc edx,0 + mov DWORD [28+ecx*4+esp],ebp + mov ebp,edx + mul edi + add ebp,DWORD [36+ecx*4+esp] + lea ecx,[2+ecx] + adc edx,0 + add ebp,eax + mov eax,DWORD [ecx*4+esi] + adc edx,0 + cmp ecx,ebx + mov DWORD [24+ecx*4+esp],ebp + jl NEAR L$0133rdmadd + mov ebp,edx + mul edi + add ebp,DWORD [32+ebx*4+esp] + adc edx,0 + add ebp,eax + adc edx,0 + mov DWORD [28+ebx*4+esp],ebp + mov ecx,DWORD [12+esp] + xor eax,eax + mov esi,DWORD [8+esp] + add edx,DWORD [36+ebx*4+esp] + adc eax,DWORD [40+ebx*4+esp] + mov DWORD [32+ebx*4+esp],edx + cmp ecx,ebx + mov DWORD [36+ebx*4+esp],eax + je NEAR L$007common_tail + mov edi,DWORD [4+ecx*4+esi] + lea ecx,[1+ecx] + mov eax,edi + mov DWORD [12+esp],ecx + mul edi + add eax,DWORD [32+ecx*4+esp] + adc edx,0 + mov DWORD [32+ecx*4+esp],eax + xor ebp,ebp + cmp ecx,ebx + lea ecx,[1+ecx] + je NEAR L$014sqrlast + mov ebx,edx + shr edx,1 + and ebx,1 +align 16 +L$015sqradd: + mov eax,DWORD [ecx*4+esi] + mov ebp,edx + mul edi + add eax,ebp + lea ebp,[eax*1+eax] + adc edx,0 + shr eax,31 + add ebp,DWORD [32+ecx*4+esp] + lea ecx,[1+ecx] + adc eax,0 + add ebp,ebx + adc eax,0 + cmp ecx,DWORD [esp] + mov DWORD [28+ecx*4+esp],ebp + mov ebx,eax + jle NEAR L$015sqradd + mov ebp,edx + add edx,edx + shr ebp,31 + add edx,ebx + adc ebp,0 +L$014sqrlast: + mov edi,DWORD [20+esp] + mov esi,DWORD [16+esp] + imul edi,DWORD [32+esp] + add edx,DWORD [32+ecx*4+esp] + mov eax,DWORD [esi] + adc ebp,0 + mov DWORD [32+ecx*4+esp],edx + mov DWORD [36+ecx*4+esp],ebp + mul edi + add eax,DWORD [32+esp] + lea ebx,[ecx-1] + adc edx,0 + mov ecx,1 + mov eax,DWORD [4+esi] + jmp NEAR L$0133rdmadd +align 16 +L$007common_tail: + mov ebp,DWORD [16+esp] + mov edi,DWORD [4+esp] + lea esi,[32+esp] + mov eax,DWORD [esi] + mov ecx,ebx + xor edx,edx +align 16 +L$016sub: + sbb eax,DWORD [edx*4+ebp] + mov DWORD [edx*4+edi],eax + dec ecx + mov eax,DWORD [4+edx*4+esi] + lea edx,[1+edx] + jge NEAR L$016sub + sbb eax,0 + mov edx,-1 + xor edx,eax + jmp NEAR L$017copy +align 16 +L$017copy: + mov esi,DWORD [32+ebx*4+esp] + mov ebp,DWORD [ebx*4+edi] + mov DWORD [32+ebx*4+esp],ecx + and esi,eax + and ebp,edx + or ebp,esi + mov DWORD [ebx*4+edi],ebp + dec ebx + jge NEAR L$017copy + mov esp,DWORD [24+esp] + mov eax,1 +L$000just_leave: + pop edi + pop esi + pop ebx + pop ebp + ret +db 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 +db 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56 +db 54,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 +db 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 +db 111,114,103,62,0 +segment .bss +common _OPENSSL_ia32cap_P 16 diff --git a/tmp32/x86cpuid.asm b/tmp32/x86cpuid.asm index fc639075..be27e9d7 100644 --- a/tmp32/x86cpuid.asm +++ b/tmp32/x86cpuid.asm @@ -1,349 +1,349 @@ -%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 - and ecx,83886080 - cmp ecx,83886080 - jne NEAR L$014no_sse2 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - pxor xmm6,xmm6 - pxor xmm7,xmm7 -L$014no_sse2: -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$015spin: - lea ebx,[ecx*1+eax] - nop -dd 447811568 - jne NEAR L$015spin - mov eax,ebx - pop ebx - ret -global _OPENSSL_indirect_call -align 16 -_OPENSSL_indirect_call: -L$_OPENSSL_indirect_call_begin: - push ebp - mov ebp,esp - sub esp,28 - mov ecx,DWORD [12+ebp] - mov DWORD [esp],ecx - mov edx,DWORD [16+ebp] - mov DWORD [4+esp],edx - mov eax,DWORD [20+ebp] - mov DWORD [8+esp],eax - mov eax,DWORD [24+ebp] - mov DWORD [12+esp],eax - mov eax,DWORD [28+ebp] - mov DWORD [16+esp],eax - mov eax,DWORD [32+ebp] - mov DWORD [20+esp],eax - mov eax,DWORD [36+ebp] - mov DWORD [24+esp],eax - call DWORD [8+ebp] - mov esp,ebp - pop ebp - 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$016lot - cmp ecx,0 - je NEAR L$017ret -L$018little: - mov BYTE [edx],al - sub ecx,1 - lea edx,[1+edx] - jnz NEAR L$018little -L$017ret: - ret -align 16 -L$016lot: - test edx,3 - jz NEAR L$019aligned - mov BYTE [edx],al - lea ecx,[ecx-1] - lea edx,[1+edx] - jmp NEAR L$016lot -L$019aligned: - mov DWORD [edx],eax - lea ecx,[ecx-4] - test ecx,-4 - lea edx,[4+edx] - jnz NEAR L$019aligned - cmp ecx,0 - jne NEAR L$018little - ret -global _OPENSSL_ia32_rdrand -align 16 -_OPENSSL_ia32_rdrand: -L$_OPENSSL_ia32_rdrand_begin: - mov ecx,8 -L$020loop: -db 15,199,240 - jc NEAR L$021break - loop L$020loop -L$021break: - cmp eax,0 - cmove eax,ecx - ret -global _OPENSSL_ia32_rdseed -align 16 -_OPENSSL_ia32_rdseed: -L$_OPENSSL_ia32_rdseed_begin: - mov ecx,8 -L$022loop: -db 15,199,248 - jc NEAR L$023break - loop L$022loop -L$023break: - cmp eax,0 - cmove eax,ecx - ret -segment .bss -common _OPENSSL_ia32cap_P 16 -segment .CRT$XCU data align=4 -extern _OPENSSL_cpuid_setup -dd _OPENSSL_cpuid_setup +%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 + and ecx,83886080 + cmp ecx,83886080 + jne NEAR L$014no_sse2 + pxor xmm0,xmm0 + pxor xmm1,xmm1 + pxor xmm2,xmm2 + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + pxor xmm6,xmm6 + pxor xmm7,xmm7 +L$014no_sse2: +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$015spin: + lea ebx,[ecx*1+eax] + nop +dd 447811568 + jne NEAR L$015spin + mov eax,ebx + pop ebx + ret +global _OPENSSL_indirect_call +align 16 +_OPENSSL_indirect_call: +L$_OPENSSL_indirect_call_begin: + push ebp + mov ebp,esp + sub esp,28 + mov ecx,DWORD [12+ebp] + mov DWORD [esp],ecx + mov edx,DWORD [16+ebp] + mov DWORD [4+esp],edx + mov eax,DWORD [20+ebp] + mov DWORD [8+esp],eax + mov eax,DWORD [24+ebp] + mov DWORD [12+esp],eax + mov eax,DWORD [28+ebp] + mov DWORD [16+esp],eax + mov eax,DWORD [32+ebp] + mov DWORD [20+esp],eax + mov eax,DWORD [36+ebp] + mov DWORD [24+esp],eax + call DWORD [8+ebp] + mov esp,ebp + pop ebp + 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$016lot + cmp ecx,0 + je NEAR L$017ret +L$018little: + mov BYTE [edx],al + sub ecx,1 + lea edx,[1+edx] + jnz NEAR L$018little +L$017ret: + ret +align 16 +L$016lot: + test edx,3 + jz NEAR L$019aligned + mov BYTE [edx],al + lea ecx,[ecx-1] + lea edx,[1+edx] + jmp NEAR L$016lot +L$019aligned: + mov DWORD [edx],eax + lea ecx,[ecx-4] + test ecx,-4 + lea edx,[4+edx] + jnz NEAR L$019aligned + cmp ecx,0 + jne NEAR L$018little + ret +global _OPENSSL_ia32_rdrand +align 16 +_OPENSSL_ia32_rdrand: +L$_OPENSSL_ia32_rdrand_begin: + mov ecx,8 +L$020loop: +db 15,199,240 + jc NEAR L$021break + loop L$020loop +L$021break: + cmp eax,0 + cmove eax,ecx + ret +global _OPENSSL_ia32_rdseed +align 16 +_OPENSSL_ia32_rdseed: +L$_OPENSSL_ia32_rdseed_begin: + mov ecx,8 +L$022loop: +db 15,199,248 + jc NEAR L$023break + loop L$022loop +L$023break: + cmp eax,0 + cmove eax,ecx + ret +segment .bss +common _OPENSSL_ia32cap_P 16 +segment .CRT$XCU data align=4 +extern _OPENSSL_cpuid_setup +dd _OPENSSL_cpuid_setup diff --git a/tmp64/aes-x86_64.asm b/tmp64/aes-x86_64.asm index c38ea12e..cc9c6174 100644 --- a/tmp64/aes-x86_64.asm +++ b/tmp64/aes-x86_64.asm @@ -1,2864 +1,2864 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -ALIGN 16 -_x86_64_AES_encrypt: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - - mov r13d,DWORD[240+r15] - sub r13d,1 - jmp NEAR $L$enc_loop -ALIGN 16 -$L$enc_loop: - - movzx esi,al - movzx edi,bl - movzx ebp,cl - mov r10d,DWORD[rsi*8+r14] - mov r11d,DWORD[rdi*8+r14] - mov r12d,DWORD[rbp*8+r14] - - movzx esi,bh - movzx edi,ch - movzx ebp,dl - xor r10d,DWORD[3+rsi*8+r14] - xor r11d,DWORD[3+rdi*8+r14] - mov r8d,DWORD[rbp*8+r14] - - movzx esi,dh - shr ecx,16 - movzx ebp,ah - xor r12d,DWORD[3+rsi*8+r14] - shr edx,16 - xor r8d,DWORD[3+rbp*8+r14] - - shr ebx,16 - lea r15,[16+r15] - shr eax,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - xor r10d,DWORD[2+rsi*8+r14] - xor r11d,DWORD[2+rdi*8+r14] - xor r12d,DWORD[2+rbp*8+r14] - - movzx esi,dh - movzx edi,ah - movzx ebp,bl - xor r10d,DWORD[1+rsi*8+r14] - xor r11d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[2+rbp*8+r14] - - mov edx,DWORD[12+r15] - movzx edi,bh - movzx ebp,ch - mov eax,DWORD[r15] - xor r12d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[1+rbp*8+r14] - - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d - sub r13d,1 - jnz NEAR $L$enc_loop - movzx esi,al - movzx edi,bl - movzx ebp,cl - movzx r10d,BYTE[2+rsi*8+r14] - movzx r11d,BYTE[2+rdi*8+r14] - movzx r12d,BYTE[2+rbp*8+r14] - - movzx esi,dl - movzx edi,bh - movzx ebp,ch - movzx r8d,BYTE[2+rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - mov ebp,DWORD[rbp*8+r14] - - and edi,0x0000ff00 - and ebp,0x0000ff00 - - xor r10d,edi - xor r11d,ebp - shr ecx,16 - - movzx esi,dh - movzx edi,ah - shr edx,16 - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - - and esi,0x0000ff00 - and edi,0x0000ff00 - shr ebx,16 - xor r12d,esi - xor r8d,edi - shr eax,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[rdi*8+r14] - mov ebp,DWORD[rbp*8+r14] - - and esi,0x00ff0000 - and edi,0x00ff0000 - and ebp,0x00ff0000 - - xor r10d,esi - xor r11d,edi - xor r12d,ebp - - movzx esi,bl - movzx edi,dh - movzx ebp,ah - mov esi,DWORD[rsi*8+r14] - mov edi,DWORD[2+rdi*8+r14] - mov ebp,DWORD[2+rbp*8+r14] - - and esi,0x00ff0000 - and edi,0xff000000 - and ebp,0xff000000 - - xor r8d,esi - xor r10d,edi - xor r11d,ebp - - movzx esi,bh - movzx edi,ch - mov edx,DWORD[((16+12))+r15] - mov esi,DWORD[2+rsi*8+r14] - mov edi,DWORD[2+rdi*8+r14] - mov eax,DWORD[((16+0))+r15] - - and esi,0xff000000 - and edi,0xff000000 - - xor r12d,esi - xor r8d,edi - - mov ebx,DWORD[((16+4))+r15] - mov ecx,DWORD[((16+8))+r15] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d -DB 0xf3,0xc3 - - -ALIGN 16 -_x86_64_AES_encrypt_compact: - lea r8,[128+r14] - mov edi,DWORD[((0-128))+r8] - mov ebp,DWORD[((32-128))+r8] - mov r10d,DWORD[((64-128))+r8] - mov r11d,DWORD[((96-128))+r8] - mov edi,DWORD[((128-128))+r8] - mov ebp,DWORD[((160-128))+r8] - mov r10d,DWORD[((192-128))+r8] - mov r11d,DWORD[((224-128))+r8] - jmp NEAR $L$enc_loop_compact -ALIGN 16 -$L$enc_loop_compact: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - lea r15,[16+r15] - movzx r10d,al - movzx r11d,bl - movzx r12d,cl - movzx r8d,dl - movzx esi,bh - movzx edi,ch - shr ecx,16 - movzx ebp,dh - movzx r10d,BYTE[r10*1+r14] - movzx r11d,BYTE[r11*1+r14] - movzx r12d,BYTE[r12*1+r14] - movzx r8d,BYTE[r8*1+r14] - - movzx r9d,BYTE[rsi*1+r14] - movzx esi,ah - movzx r13d,BYTE[rdi*1+r14] - movzx edi,cl - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - - shl r9d,8 - shr edx,16 - shl r13d,8 - xor r10d,r9d - shr eax,16 - movzx r9d,dl - shr ebx,16 - xor r11d,r13d - shl ebp,8 - movzx r13d,al - movzx edi,BYTE[rdi*1+r14] - xor r12d,ebp - - shl esi,8 - movzx ebp,bl - shl edi,16 - xor r8d,esi - movzx r9d,BYTE[r9*1+r14] - movzx esi,dh - movzx r13d,BYTE[r13*1+r14] - xor r10d,edi - - shr ecx,8 - movzx edi,ah - shl r9d,16 - shr ebx,8 - shl r13d,16 - xor r11d,r9d - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx edx,BYTE[rcx*1+r14] - movzx ecx,BYTE[rbx*1+r14] - - shl ebp,16 - xor r12d,r13d - shl esi,24 - xor r8d,ebp - shl edi,24 - xor r10d,esi - shl edx,24 - xor r11d,edi - shl ecx,24 - mov eax,r10d - mov ebx,r11d - xor ecx,r12d - xor edx,r8d - cmp r15,QWORD[16+rsp] - je NEAR $L$enc_compact_done - mov r10d,0x80808080 - mov r11d,0x80808080 - and r10d,eax - and r11d,ebx - mov esi,r10d - mov edi,r11d - shr r10d,7 - lea r8d,[rax*1+rax] - shr r11d,7 - lea r9d,[rbx*1+rbx] - sub esi,r10d - sub edi,r11d - and r8d,0xfefefefe - and r9d,0xfefefefe - and esi,0x1b1b1b1b - and edi,0x1b1b1b1b - mov r10d,eax - mov r11d,ebx - xor r8d,esi - xor r9d,edi - - xor eax,r8d - xor ebx,r9d - mov r12d,0x80808080 - rol eax,24 - mov ebp,0x80808080 - rol ebx,24 - and r12d,ecx - and ebp,edx - xor eax,r8d - xor ebx,r9d - mov esi,r12d - ror r10d,16 - mov edi,ebp - ror r11d,16 - lea r8d,[rcx*1+rcx] - shr r12d,7 - xor eax,r10d - shr ebp,7 - xor ebx,r11d - ror r10d,8 - lea r9d,[rdx*1+rdx] - ror r11d,8 - sub esi,r12d - sub edi,ebp - xor eax,r10d - xor ebx,r11d - - and r8d,0xfefefefe - and r9d,0xfefefefe - and esi,0x1b1b1b1b - and edi,0x1b1b1b1b - mov r12d,ecx - mov ebp,edx - xor r8d,esi - xor r9d,edi - - ror r12d,16 - xor ecx,r8d - ror ebp,16 - xor edx,r9d - rol ecx,24 - mov esi,DWORD[r14] - rol edx,24 - xor ecx,r8d - mov edi,DWORD[64+r14] - xor edx,r9d - mov r8d,DWORD[128+r14] - xor ecx,r12d - ror r12d,8 - xor edx,ebp - ror ebp,8 - xor ecx,r12d - mov r9d,DWORD[192+r14] - xor edx,ebp - jmp NEAR $L$enc_loop_compact -ALIGN 16 -$L$enc_compact_done: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] -DB 0xf3,0xc3 - -global AES_encrypt - -ALIGN 16 -global asm_AES_encrypt - -asm_AES_encrypt: -AES_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - - mov r10,rsp - lea rcx,[((-63))+rdx] - and rsp,-64 - sub rcx,rsp - neg rcx - and rcx,0x3c0 - sub rsp,rcx - sub rsp,32 - - mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],r10 -$L$enc_prologue: - - mov r15,rdx - mov r13d,DWORD[240+r15] - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - - shl r13d,4 - lea rbp,[r13*1+r15] - mov QWORD[rsp],r15 - mov QWORD[8+rsp],rbp - - - lea r14,[(($L$AES_Te+2048))] - lea rbp,[768+rsp] - sub rbp,r14 - and rbp,0x300 - lea r14,[rbp*1+r14] - - call _x86_64_AES_encrypt_compact - - mov r9,QWORD[16+rsp] - mov rsi,QWORD[24+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$enc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_AES_encrypt: - -ALIGN 16 -_x86_64_AES_decrypt: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - - mov r13d,DWORD[240+r15] - sub r13d,1 - jmp NEAR $L$dec_loop -ALIGN 16 -$L$dec_loop: - - movzx esi,al - movzx edi,bl - movzx ebp,cl - mov r10d,DWORD[rsi*8+r14] - mov r11d,DWORD[rdi*8+r14] - mov r12d,DWORD[rbp*8+r14] - - movzx esi,dh - movzx edi,ah - movzx ebp,dl - xor r10d,DWORD[3+rsi*8+r14] - xor r11d,DWORD[3+rdi*8+r14] - mov r8d,DWORD[rbp*8+r14] - - movzx esi,bh - shr eax,16 - movzx ebp,ch - xor r12d,DWORD[3+rsi*8+r14] - shr edx,16 - xor r8d,DWORD[3+rbp*8+r14] - - shr ebx,16 - lea r15,[16+r15] - shr ecx,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - xor r10d,DWORD[2+rsi*8+r14] - xor r11d,DWORD[2+rdi*8+r14] - xor r12d,DWORD[2+rbp*8+r14] - - movzx esi,bh - movzx edi,ch - movzx ebp,bl - xor r10d,DWORD[1+rsi*8+r14] - xor r11d,DWORD[1+rdi*8+r14] - xor r8d,DWORD[2+rbp*8+r14] - - movzx esi,dh - mov edx,DWORD[12+r15] - movzx ebp,ah - xor r12d,DWORD[1+rsi*8+r14] - mov eax,DWORD[r15] - xor r8d,DWORD[1+rbp*8+r14] - - xor eax,r10d - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - xor ecx,r12d - xor ebx,r11d - xor edx,r8d - sub r13d,1 - jnz NEAR $L$dec_loop - lea r14,[2048+r14] - movzx esi,al - movzx edi,bl - movzx ebp,cl - movzx r10d,BYTE[rsi*1+r14] - movzx r11d,BYTE[rdi*1+r14] - movzx r12d,BYTE[rbp*1+r14] - - movzx esi,dl - movzx edi,dh - movzx ebp,ah - movzx r8d,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl edi,8 - shl ebp,8 - - xor r10d,edi - xor r11d,ebp - shr edx,16 - - movzx esi,bh - movzx edi,ch - shr eax,16 - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - - shl esi,8 - shl edi,8 - shr ebx,16 - xor r12d,esi - xor r8d,edi - shr ecx,16 - - movzx esi,cl - movzx edi,dl - movzx ebp,al - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl esi,16 - shl edi,16 - shl ebp,16 - - xor r10d,esi - xor r11d,edi - xor r12d,ebp - - movzx esi,bl - movzx edi,bh - movzx ebp,ch - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - - shl esi,16 - shl edi,24 - shl ebp,24 - - xor r8d,esi - xor r10d,edi - xor r11d,ebp - - movzx esi,dh - movzx edi,ah - mov edx,DWORD[((16+12))+r15] - movzx esi,BYTE[rsi*1+r14] - movzx edi,BYTE[rdi*1+r14] - mov eax,DWORD[((16+0))+r15] - - shl esi,24 - shl edi,24 - - xor r12d,esi - xor r8d,edi - - mov ebx,DWORD[((16+4))+r15] - mov ecx,DWORD[((16+8))+r15] - lea r14,[((-2048))+r14] - xor eax,r10d - xor ebx,r11d - xor ecx,r12d - xor edx,r8d -DB 0xf3,0xc3 - - -ALIGN 16 -_x86_64_AES_decrypt_compact: - lea r8,[128+r14] - mov edi,DWORD[((0-128))+r8] - mov ebp,DWORD[((32-128))+r8] - mov r10d,DWORD[((64-128))+r8] - mov r11d,DWORD[((96-128))+r8] - mov edi,DWORD[((128-128))+r8] - mov ebp,DWORD[((160-128))+r8] - mov r10d,DWORD[((192-128))+r8] - mov r11d,DWORD[((224-128))+r8] - jmp NEAR $L$dec_loop_compact - -ALIGN 16 -$L$dec_loop_compact: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] - lea r15,[16+r15] - movzx r10d,al - movzx r11d,bl - movzx r12d,cl - movzx r8d,dl - movzx esi,dh - movzx edi,ah - shr edx,16 - movzx ebp,bh - movzx r10d,BYTE[r10*1+r14] - movzx r11d,BYTE[r11*1+r14] - movzx r12d,BYTE[r12*1+r14] - movzx r8d,BYTE[r8*1+r14] - - movzx r9d,BYTE[rsi*1+r14] - movzx esi,ch - movzx r13d,BYTE[rdi*1+r14] - movzx ebp,BYTE[rbp*1+r14] - movzx esi,BYTE[rsi*1+r14] - - shr ecx,16 - shl r13d,8 - shl r9d,8 - movzx edi,cl - shr eax,16 - xor r10d,r9d - shr ebx,16 - movzx r9d,dl - - shl ebp,8 - xor r11d,r13d - shl esi,8 - movzx r13d,al - movzx edi,BYTE[rdi*1+r14] - xor r12d,ebp - movzx ebp,bl - - shl edi,16 - xor r8d,esi - movzx r9d,BYTE[r9*1+r14] - movzx esi,bh - movzx ebp,BYTE[rbp*1+r14] - xor r10d,edi - movzx r13d,BYTE[r13*1+r14] - movzx edi,ch - - shl ebp,16 - shl r9d,16 - shl r13d,16 - xor r8d,ebp - movzx ebp,dh - xor r11d,r9d - shr eax,8 - xor r12d,r13d - - movzx esi,BYTE[rsi*1+r14] - movzx ebx,BYTE[rdi*1+r14] - movzx ecx,BYTE[rbp*1+r14] - movzx edx,BYTE[rax*1+r14] - - mov eax,r10d - shl esi,24 - shl ebx,24 - shl ecx,24 - xor eax,esi - shl edx,24 - xor ebx,r11d - xor ecx,r12d - xor edx,r8d - cmp r15,QWORD[16+rsp] - je NEAR $L$dec_compact_done - - mov rsi,QWORD[((256+0))+r14] - shl rbx,32 - shl rdx,32 - mov rdi,QWORD[((256+8))+r14] - or rax,rbx - or rcx,rdx - mov rbp,QWORD[((256+16))+r14] - mov r9,rsi - mov r12,rsi - and r9,rax - and r12,rcx - mov rbx,r9 - mov rdx,r12 - shr r9,7 - lea r8,[rax*1+rax] - shr r12,7 - lea r11,[rcx*1+rcx] - sub rbx,r9 - sub rdx,r12 - and r8,rdi - and r11,rdi - and rbx,rbp - and rdx,rbp - xor r8,rbx - xor r11,rdx - mov r10,rsi - mov r13,rsi - - and r10,r8 - and r13,r11 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - lea r9,[r8*1+r8] - shr r13,7 - lea r12,[r11*1+r11] - sub rbx,r10 - sub rdx,r13 - and r9,rdi - and r12,rdi - and rbx,rbp - and rdx,rbp - xor r9,rbx - xor r12,rdx - mov r10,rsi - mov r13,rsi - - and r10,r9 - and r13,r12 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - xor r8,rax - shr r13,7 - xor r11,rcx - sub rbx,r10 - sub rdx,r13 - lea r10,[r9*1+r9] - lea r13,[r12*1+r12] - xor r9,rax - xor r12,rcx - and r10,rdi - and r13,rdi - and rbx,rbp - and rdx,rbp - xor r10,rbx - xor r13,rdx - - xor rax,r10 - xor rcx,r13 - xor r8,r10 - xor r11,r13 - mov rbx,rax - mov rdx,rcx - xor r9,r10 - shr rbx,32 - xor r12,r13 - shr rdx,32 - xor r10,r8 - rol eax,8 - xor r13,r11 - rol ecx,8 - xor r10,r9 - rol ebx,8 - xor r13,r12 - - rol edx,8 - xor eax,r10d - shr r10,32 - xor ecx,r13d - shr r13,32 - xor ebx,r10d - xor edx,r13d - - mov r10,r8 - rol r8d,24 - mov r13,r11 - rol r11d,24 - shr r10,32 - xor eax,r8d - shr r13,32 - xor ecx,r11d - rol r10d,24 - mov r8,r9 - rol r13d,24 - mov r11,r12 - shr r8,32 - xor ebx,r10d - shr r11,32 - xor edx,r13d - - mov rsi,QWORD[r14] - rol r9d,16 - mov rdi,QWORD[64+r14] - rol r12d,16 - mov rbp,QWORD[128+r14] - rol r8d,16 - mov r10,QWORD[192+r14] - xor eax,r9d - rol r11d,16 - xor ecx,r12d - mov r13,QWORD[256+r14] - xor ebx,r8d - xor edx,r11d - jmp NEAR $L$dec_loop_compact -ALIGN 16 -$L$dec_compact_done: - xor eax,DWORD[r15] - xor ebx,DWORD[4+r15] - xor ecx,DWORD[8+r15] - xor edx,DWORD[12+r15] -DB 0xf3,0xc3 - -global AES_decrypt - -ALIGN 16 -global asm_AES_decrypt - -asm_AES_decrypt: -AES_decrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_decrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - - mov r10,rsp - lea rcx,[((-63))+rdx] - and rsp,-64 - sub rcx,rsp - neg rcx - and rcx,0x3c0 - sub rsp,rcx - sub rsp,32 - - mov QWORD[16+rsp],rsi - mov QWORD[24+rsp],r10 -$L$dec_prologue: - - mov r15,rdx - mov r13d,DWORD[240+r15] - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - - shl r13d,4 - lea rbp,[r13*1+r15] - mov QWORD[rsp],r15 - mov QWORD[8+rsp],rbp - - - lea r14,[(($L$AES_Td+2048))] - lea rbp,[768+rsp] - sub rbp,r14 - and rbp,0x300 - lea r14,[rbp*1+r14] - shr rbp,3 - add r14,rbp - - call _x86_64_AES_decrypt_compact - - mov r9,QWORD[16+rsp] - mov rsi,QWORD[24+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$dec_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_AES_decrypt: -global private_AES_set_encrypt_key - -ALIGN 16 -private_AES_set_encrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_private_AES_set_encrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - sub rsp,8 -$L$enc_key_prologue: - - call _x86_64_AES_set_encrypt_key - - mov rbp,QWORD[40+rsp] - mov rbx,QWORD[48+rsp] - add rsp,56 -$L$enc_key_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_private_AES_set_encrypt_key: - - -ALIGN 16 -_x86_64_AES_set_encrypt_key: - mov ecx,esi - mov rsi,rdi - mov rdi,rdx - - test rsi,-1 - jz NEAR $L$badpointer - test rdi,-1 - jz NEAR $L$badpointer - - lea rbp,[$L$AES_Te] - lea rbp,[((2048+128))+rbp] - - - mov eax,DWORD[((0-128))+rbp] - mov ebx,DWORD[((32-128))+rbp] - mov r8d,DWORD[((64-128))+rbp] - mov edx,DWORD[((96-128))+rbp] - mov eax,DWORD[((128-128))+rbp] - mov ebx,DWORD[((160-128))+rbp] - mov r8d,DWORD[((192-128))+rbp] - mov edx,DWORD[((224-128))+rbp] - - cmp ecx,128 - je NEAR $L$10rounds - cmp ecx,192 - je NEAR $L$12rounds - cmp ecx,256 - je NEAR $L$14rounds - mov rax,-2 - jmp NEAR $L$exit - -$L$10rounds: - mov rax,QWORD[rsi] - mov rdx,QWORD[8+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$10shortcut -ALIGN 4 -$L$10loop: - mov eax,DWORD[rdi] - mov edx,DWORD[12+rdi] -$L$10shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[16+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[20+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[24+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[28+rdi],eax - add ecx,1 - lea rdi,[16+rdi] - cmp ecx,10 - jl NEAR $L$10loop - - mov DWORD[80+rdi],10 - xor rax,rax - jmp NEAR $L$exit - -$L$12rounds: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rdx,QWORD[16+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$12shortcut -ALIGN 4 -$L$12loop: - mov eax,DWORD[rdi] - mov edx,DWORD[20+rdi] -$L$12shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[24+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[28+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[32+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[36+rdi],eax - - cmp ecx,7 - je NEAR $L$12break - add ecx,1 - - xor eax,DWORD[16+rdi] - mov DWORD[40+rdi],eax - xor eax,DWORD[20+rdi] - mov DWORD[44+rdi],eax - - lea rdi,[24+rdi] - jmp NEAR $L$12loop -$L$12break: - mov DWORD[72+rdi],12 - xor rax,rax - jmp NEAR $L$exit - -$L$14rounds: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rcx,QWORD[16+rsi] - mov rdx,QWORD[24+rsi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rcx - mov QWORD[24+rdi],rdx - - shr rdx,32 - xor ecx,ecx - jmp NEAR $L$14shortcut -ALIGN 4 -$L$14loop: - mov eax,DWORD[rdi] - mov edx,DWORD[28+rdi] -$L$14shortcut: - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,24 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,8 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,16 - xor eax,ebx - - xor eax,DWORD[((1024-128))+rcx*4+rbp] - mov DWORD[32+rdi],eax - xor eax,DWORD[4+rdi] - mov DWORD[36+rdi],eax - xor eax,DWORD[8+rdi] - mov DWORD[40+rdi],eax - xor eax,DWORD[12+rdi] - mov DWORD[44+rdi],eax - - cmp ecx,6 - je NEAR $L$14break - add ecx,1 - - mov edx,eax - mov eax,DWORD[16+rdi] - movzx esi,dl - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shr edx,16 - shl ebx,8 - movzx esi,dl - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - movzx esi,dh - shl ebx,16 - xor eax,ebx - - movzx ebx,BYTE[((-128))+rsi*1+rbp] - shl ebx,24 - xor eax,ebx - - mov DWORD[48+rdi],eax - xor eax,DWORD[20+rdi] - mov DWORD[52+rdi],eax - xor eax,DWORD[24+rdi] - mov DWORD[56+rdi],eax - xor eax,DWORD[28+rdi] - mov DWORD[60+rdi],eax - - lea rdi,[32+rdi] - jmp NEAR $L$14loop -$L$14break: - mov DWORD[48+rdi],14 - xor rax,rax - jmp NEAR $L$exit - -$L$badpointer: - mov rax,-1 -$L$exit: -DB 0xf3,0xc3 - -global private_AES_set_decrypt_key - -ALIGN 16 -private_AES_set_decrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_private_AES_set_decrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - push rdx -$L$dec_key_prologue: - - call _x86_64_AES_set_encrypt_key - mov r8,QWORD[rsp] - cmp eax,0 - jne NEAR $L$abort - - mov r14d,DWORD[240+r8] - xor rdi,rdi - lea rcx,[r14*4+rdi] - mov rsi,r8 - lea rdi,[rcx*4+r8] -ALIGN 4 -$L$invert: - mov rax,QWORD[rsi] - mov rbx,QWORD[8+rsi] - mov rcx,QWORD[rdi] - mov rdx,QWORD[8+rdi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[rsi],rcx - mov QWORD[8+rsi],rdx - lea rsi,[16+rsi] - lea rdi,[((-16))+rdi] - cmp rdi,rsi - jne NEAR $L$invert - - lea rax,[(($L$AES_Te+2048+1024))] - - mov rsi,QWORD[40+rax] - mov rdi,QWORD[48+rax] - mov rbp,QWORD[56+rax] - - mov r15,r8 - sub r14d,1 -ALIGN 4 -$L$permute: - lea r15,[16+r15] - mov rax,QWORD[r15] - mov rcx,QWORD[8+r15] - mov r9,rsi - mov r12,rsi - and r9,rax - and r12,rcx - mov rbx,r9 - mov rdx,r12 - shr r9,7 - lea r8,[rax*1+rax] - shr r12,7 - lea r11,[rcx*1+rcx] - sub rbx,r9 - sub rdx,r12 - and r8,rdi - and r11,rdi - and rbx,rbp - and rdx,rbp - xor r8,rbx - xor r11,rdx - mov r10,rsi - mov r13,rsi - - and r10,r8 - and r13,r11 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - lea r9,[r8*1+r8] - shr r13,7 - lea r12,[r11*1+r11] - sub rbx,r10 - sub rdx,r13 - and r9,rdi - and r12,rdi - and rbx,rbp - and rdx,rbp - xor r9,rbx - xor r12,rdx - mov r10,rsi - mov r13,rsi - - and r10,r9 - and r13,r12 - mov rbx,r10 - mov rdx,r13 - shr r10,7 - xor r8,rax - shr r13,7 - xor r11,rcx - sub rbx,r10 - sub rdx,r13 - lea r10,[r9*1+r9] - lea r13,[r12*1+r12] - xor r9,rax - xor r12,rcx - and r10,rdi - and r13,rdi - and rbx,rbp - and rdx,rbp - xor r10,rbx - xor r13,rdx - - xor rax,r10 - xor rcx,r13 - xor r8,r10 - xor r11,r13 - mov rbx,rax - mov rdx,rcx - xor r9,r10 - shr rbx,32 - xor r12,r13 - shr rdx,32 - xor r10,r8 - rol eax,8 - xor r13,r11 - rol ecx,8 - xor r10,r9 - rol ebx,8 - xor r13,r12 - - rol edx,8 - xor eax,r10d - shr r10,32 - xor ecx,r13d - shr r13,32 - xor ebx,r10d - xor edx,r13d - - mov r10,r8 - rol r8d,24 - mov r13,r11 - rol r11d,24 - shr r10,32 - xor eax,r8d - shr r13,32 - xor ecx,r11d - rol r10d,24 - mov r8,r9 - rol r13d,24 - mov r11,r12 - shr r8,32 - xor ebx,r10d - shr r11,32 - xor edx,r13d - - - rol r9d,16 - - rol r12d,16 - - rol r8d,16 - - xor eax,r9d - rol r11d,16 - xor ecx,r12d - - xor ebx,r8d - xor edx,r11d - mov DWORD[r15],eax - mov DWORD[4+r15],ebx - mov DWORD[8+r15],ecx - mov DWORD[12+r15],edx - sub r14d,1 - jnz NEAR $L$permute - - xor rax,rax -$L$abort: - mov r15,QWORD[8+rsp] - mov r14,QWORD[16+rsp] - mov r13,QWORD[24+rsp] - mov r12,QWORD[32+rsp] - mov rbp,QWORD[40+rsp] - mov rbx,QWORD[48+rsp] - add rsp,56 -$L$dec_key_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_private_AES_set_decrypt_key: -global AES_cbc_encrypt - -ALIGN 16 -EXTERN OPENSSL_ia32cap_P -global asm_AES_cbc_encrypt - -asm_AES_cbc_encrypt: -AES_cbc_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_AES_cbc_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - cmp rdx,0 - je NEAR $L$cbc_epilogue - pushfq - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 -$L$cbc_prologue: - - cld - mov r9d,r9d - - lea r14,[$L$AES_Te] - cmp r9,0 - jne NEAR $L$cbc_picked_te - lea r14,[$L$AES_Td] -$L$cbc_picked_te: - - mov r10d,DWORD[OPENSSL_ia32cap_P] - cmp rdx,512 - jb NEAR $L$cbc_slow_prologue - test rdx,15 - jnz NEAR $L$cbc_slow_prologue - bt r10d,28 - jc NEAR $L$cbc_slow_prologue - - - lea r15,[((-88-248))+rsp] - and r15,-64 - - - mov r10,r14 - lea r11,[2304+r14] - mov r12,r15 - and r10,0xFFF - and r11,0xFFF - and r12,0xFFF - - cmp r12,r11 - jb NEAR $L$cbc_te_break_out - sub r12,r11 - sub r15,r12 - jmp NEAR $L$cbc_te_ok -$L$cbc_te_break_out: - sub r12,r10 - and r12,0xFFF - add r12,320 - sub r15,r12 -ALIGN 4 -$L$cbc_te_ok: - - xchg r15,rsp - - mov QWORD[16+rsp],r15 -$L$cbc_fast_body: - mov QWORD[24+rsp],rdi - mov QWORD[32+rsp],rsi - mov QWORD[40+rsp],rdx - mov QWORD[48+rsp],rcx - mov QWORD[56+rsp],r8 - mov DWORD[((80+240))+rsp],0 - mov rbp,r8 - mov rbx,r9 - mov r9,rsi - mov r8,rdi - mov r15,rcx - - mov eax,DWORD[240+r15] - - mov r10,r15 - sub r10,r14 - and r10,0xfff - cmp r10,2304 - jb NEAR $L$cbc_do_ecopy - cmp r10,4096-248 - jb NEAR $L$cbc_skip_ecopy -ALIGN 4 -$L$cbc_do_ecopy: - mov rsi,r15 - lea rdi,[80+rsp] - lea r15,[80+rsp] - mov ecx,240/8 - DD 0x90A548F3 - mov DWORD[rdi],eax -$L$cbc_skip_ecopy: - mov QWORD[rsp],r15 - - mov ecx,18 -ALIGN 4 -$L$cbc_prefetch_te: - mov r10,QWORD[r14] - mov r11,QWORD[32+r14] - mov r12,QWORD[64+r14] - mov r13,QWORD[96+r14] - lea r14,[128+r14] - sub ecx,1 - jnz NEAR $L$cbc_prefetch_te - lea r14,[((-2304))+r14] - - cmp rbx,0 - je NEAR $L$FAST_DECRYPT - - - mov eax,DWORD[rbp] - mov ebx,DWORD[4+rbp] - mov ecx,DWORD[8+rbp] - mov edx,DWORD[12+rbp] - -ALIGN 4 -$L$cbc_fast_enc_loop: - xor eax,DWORD[r8] - xor ebx,DWORD[4+r8] - xor ecx,DWORD[8+r8] - xor edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_encrypt - - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - sub r10,16 - test r10,-16 - mov QWORD[40+rsp],r10 - jnz NEAR $L$cbc_fast_enc_loop - mov rbp,QWORD[56+rsp] - mov DWORD[rbp],eax - mov DWORD[4+rbp],ebx - mov DWORD[8+rbp],ecx - mov DWORD[12+rbp],edx - - jmp NEAR $L$cbc_fast_cleanup - - -ALIGN 16 -$L$FAST_DECRYPT: - cmp r9,r8 - je NEAR $L$cbc_fast_dec_in_place - - mov QWORD[64+rsp],rbp -ALIGN 4 -$L$cbc_fast_dec_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_decrypt - - mov rbp,QWORD[64+rsp] - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[rbp] - xor ebx,DWORD[4+rbp] - xor ecx,DWORD[8+rbp] - xor edx,DWORD[12+rbp] - mov rbp,r8 - - sub r10,16 - mov QWORD[40+rsp],r10 - mov QWORD[64+rsp],rbp - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - jnz NEAR $L$cbc_fast_dec_loop - mov r12,QWORD[56+rsp] - mov r10,QWORD[rbp] - mov r11,QWORD[8+rbp] - mov QWORD[r12],r10 - mov QWORD[8+r12],r11 - jmp NEAR $L$cbc_fast_cleanup - -ALIGN 16 -$L$cbc_fast_dec_in_place: - mov r10,QWORD[rbp] - mov r11,QWORD[8+rbp] - mov QWORD[((0+64))+rsp],r10 - mov QWORD[((8+64))+rsp],r11 -ALIGN 4 -$L$cbc_fast_dec_in_place_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - - call _x86_64_AES_decrypt - - mov r8,QWORD[24+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[((0+64))+rsp] - xor ebx,DWORD[((4+64))+rsp] - xor ecx,DWORD[((8+64))+rsp] - xor edx,DWORD[((12+64))+rsp] - - mov r11,QWORD[r8] - mov r12,QWORD[8+r8] - sub r10,16 - jz NEAR $L$cbc_fast_dec_in_place_done - - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - mov QWORD[40+rsp],r10 - jmp NEAR $L$cbc_fast_dec_in_place_loop -$L$cbc_fast_dec_in_place_done: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - -ALIGN 4 -$L$cbc_fast_cleanup: - cmp DWORD[((80+240))+rsp],0 - lea rdi,[80+rsp] - je NEAR $L$cbc_exit - mov ecx,240/8 - xor rax,rax - DD 0x90AB48F3 - - jmp NEAR $L$cbc_exit - - -ALIGN 16 -$L$cbc_slow_prologue: - - lea rbp,[((-88))+rsp] - and rbp,-64 - - lea r10,[((-88-63))+rcx] - sub r10,rbp - neg r10 - and r10,0x3c0 - sub rbp,r10 - - xchg rbp,rsp - - mov QWORD[16+rsp],rbp -$L$cbc_slow_body: - - - - - mov QWORD[56+rsp],r8 - mov rbp,r8 - mov rbx,r9 - mov r9,rsi - mov r8,rdi - mov r15,rcx - mov r10,rdx - - mov eax,DWORD[240+r15] - mov QWORD[rsp],r15 - shl eax,4 - lea rax,[rax*1+r15] - mov QWORD[8+rsp],rax - - - lea r14,[2048+r14] - lea rax,[((768-8))+rsp] - sub rax,r14 - and rax,0x300 - lea r14,[rax*1+r14] - - cmp rbx,0 - je NEAR $L$SLOW_DECRYPT - - - test r10,-16 - mov eax,DWORD[rbp] - mov ebx,DWORD[4+rbp] - mov ecx,DWORD[8+rbp] - mov edx,DWORD[12+rbp] - jz NEAR $L$cbc_slow_enc_tail - -ALIGN 4 -$L$cbc_slow_enc_loop: - xor eax,DWORD[r8] - xor ebx,DWORD[4+r8] - xor ecx,DWORD[8+r8] - xor edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - mov QWORD[32+rsp],r9 - mov QWORD[40+rsp],r10 - - call _x86_64_AES_encrypt_compact - - mov r8,QWORD[24+rsp] - mov r9,QWORD[32+rsp] - mov r10,QWORD[40+rsp] - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - sub r10,16 - test r10,-16 - jnz NEAR $L$cbc_slow_enc_loop - test r10,15 - jnz NEAR $L$cbc_slow_enc_tail - mov rbp,QWORD[56+rsp] - mov DWORD[rbp],eax - mov DWORD[4+rbp],ebx - mov DWORD[8+rbp],ecx - mov DWORD[12+rbp],edx - - jmp NEAR $L$cbc_exit - -ALIGN 4 -$L$cbc_slow_enc_tail: - mov r11,rax - mov r12,rcx - mov rcx,r10 - mov rsi,r8 - mov rdi,r9 - DD 0x9066A4F3 - mov rcx,16 - sub rcx,r10 - xor rax,rax - DD 0x9066AAF3 - mov r8,r9 - mov r10,16 - mov rax,r11 - mov rcx,r12 - jmp NEAR $L$cbc_slow_enc_loop - -ALIGN 16 -$L$SLOW_DECRYPT: - shr rax,3 - add r14,rax - - mov r11,QWORD[rbp] - mov r12,QWORD[8+rbp] - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - -ALIGN 4 -$L$cbc_slow_dec_loop: - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov r15,QWORD[rsp] - mov QWORD[24+rsp],r8 - mov QWORD[32+rsp],r9 - mov QWORD[40+rsp],r10 - - call _x86_64_AES_decrypt_compact - - mov r8,QWORD[24+rsp] - mov r9,QWORD[32+rsp] - mov r10,QWORD[40+rsp] - xor eax,DWORD[((0+64))+rsp] - xor ebx,DWORD[((4+64))+rsp] - xor ecx,DWORD[((8+64))+rsp] - xor edx,DWORD[((12+64))+rsp] - - mov r11,QWORD[r8] - mov r12,QWORD[8+r8] - sub r10,16 - jc NEAR $L$cbc_slow_dec_partial - jz NEAR $L$cbc_slow_dec_done - - mov QWORD[((0+64))+rsp],r11 - mov QWORD[((8+64))+rsp],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - lea r8,[16+r8] - lea r9,[16+r9] - jmp NEAR $L$cbc_slow_dec_loop -$L$cbc_slow_dec_done: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[r9],eax - mov DWORD[4+r9],ebx - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - - jmp NEAR $L$cbc_exit - -ALIGN 4 -$L$cbc_slow_dec_partial: - mov rdi,QWORD[56+rsp] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - - mov DWORD[((0+64))+rsp],eax - mov DWORD[((4+64))+rsp],ebx - mov DWORD[((8+64))+rsp],ecx - mov DWORD[((12+64))+rsp],edx - - mov rdi,r9 - lea rsi,[64+rsp] - lea rcx,[16+r10] - DD 0x9066A4F3 - jmp NEAR $L$cbc_exit - -ALIGN 16 -$L$cbc_exit: - mov rsi,QWORD[16+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$cbc_popfq: - popfq -$L$cbc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_AES_cbc_encrypt: -ALIGN 64 -$L$AES_Te: - DD 0xa56363c6,0xa56363c6 - DD 0x847c7cf8,0x847c7cf8 - DD 0x997777ee,0x997777ee - DD 0x8d7b7bf6,0x8d7b7bf6 - DD 0x0df2f2ff,0x0df2f2ff - DD 0xbd6b6bd6,0xbd6b6bd6 - DD 0xb16f6fde,0xb16f6fde - DD 0x54c5c591,0x54c5c591 - DD 0x50303060,0x50303060 - DD 0x03010102,0x03010102 - DD 0xa96767ce,0xa96767ce - DD 0x7d2b2b56,0x7d2b2b56 - DD 0x19fefee7,0x19fefee7 - DD 0x62d7d7b5,0x62d7d7b5 - DD 0xe6abab4d,0xe6abab4d - DD 0x9a7676ec,0x9a7676ec - DD 0x45caca8f,0x45caca8f - DD 0x9d82821f,0x9d82821f - DD 0x40c9c989,0x40c9c989 - DD 0x877d7dfa,0x877d7dfa - DD 0x15fafaef,0x15fafaef - DD 0xeb5959b2,0xeb5959b2 - DD 0xc947478e,0xc947478e - DD 0x0bf0f0fb,0x0bf0f0fb - DD 0xecadad41,0xecadad41 - DD 0x67d4d4b3,0x67d4d4b3 - DD 0xfda2a25f,0xfda2a25f - DD 0xeaafaf45,0xeaafaf45 - DD 0xbf9c9c23,0xbf9c9c23 - DD 0xf7a4a453,0xf7a4a453 - DD 0x967272e4,0x967272e4 - DD 0x5bc0c09b,0x5bc0c09b - DD 0xc2b7b775,0xc2b7b775 - DD 0x1cfdfde1,0x1cfdfde1 - DD 0xae93933d,0xae93933d - DD 0x6a26264c,0x6a26264c - DD 0x5a36366c,0x5a36366c - DD 0x413f3f7e,0x413f3f7e - DD 0x02f7f7f5,0x02f7f7f5 - DD 0x4fcccc83,0x4fcccc83 - DD 0x5c343468,0x5c343468 - DD 0xf4a5a551,0xf4a5a551 - DD 0x34e5e5d1,0x34e5e5d1 - DD 0x08f1f1f9,0x08f1f1f9 - DD 0x937171e2,0x937171e2 - DD 0x73d8d8ab,0x73d8d8ab - DD 0x53313162,0x53313162 - DD 0x3f15152a,0x3f15152a - DD 0x0c040408,0x0c040408 - DD 0x52c7c795,0x52c7c795 - DD 0x65232346,0x65232346 - DD 0x5ec3c39d,0x5ec3c39d - DD 0x28181830,0x28181830 - DD 0xa1969637,0xa1969637 - DD 0x0f05050a,0x0f05050a - DD 0xb59a9a2f,0xb59a9a2f - DD 0x0907070e,0x0907070e - DD 0x36121224,0x36121224 - DD 0x9b80801b,0x9b80801b - DD 0x3de2e2df,0x3de2e2df - DD 0x26ebebcd,0x26ebebcd - DD 0x6927274e,0x6927274e - DD 0xcdb2b27f,0xcdb2b27f - DD 0x9f7575ea,0x9f7575ea - DD 0x1b090912,0x1b090912 - DD 0x9e83831d,0x9e83831d - DD 0x742c2c58,0x742c2c58 - DD 0x2e1a1a34,0x2e1a1a34 - DD 0x2d1b1b36,0x2d1b1b36 - DD 0xb26e6edc,0xb26e6edc - DD 0xee5a5ab4,0xee5a5ab4 - DD 0xfba0a05b,0xfba0a05b - DD 0xf65252a4,0xf65252a4 - DD 0x4d3b3b76,0x4d3b3b76 - DD 0x61d6d6b7,0x61d6d6b7 - DD 0xceb3b37d,0xceb3b37d - DD 0x7b292952,0x7b292952 - DD 0x3ee3e3dd,0x3ee3e3dd - DD 0x712f2f5e,0x712f2f5e - DD 0x97848413,0x97848413 - DD 0xf55353a6,0xf55353a6 - DD 0x68d1d1b9,0x68d1d1b9 - DD 0x00000000,0x00000000 - DD 0x2cededc1,0x2cededc1 - DD 0x60202040,0x60202040 - DD 0x1ffcfce3,0x1ffcfce3 - DD 0xc8b1b179,0xc8b1b179 - DD 0xed5b5bb6,0xed5b5bb6 - DD 0xbe6a6ad4,0xbe6a6ad4 - DD 0x46cbcb8d,0x46cbcb8d - DD 0xd9bebe67,0xd9bebe67 - DD 0x4b393972,0x4b393972 - DD 0xde4a4a94,0xde4a4a94 - DD 0xd44c4c98,0xd44c4c98 - DD 0xe85858b0,0xe85858b0 - DD 0x4acfcf85,0x4acfcf85 - DD 0x6bd0d0bb,0x6bd0d0bb - DD 0x2aefefc5,0x2aefefc5 - DD 0xe5aaaa4f,0xe5aaaa4f - DD 0x16fbfbed,0x16fbfbed - DD 0xc5434386,0xc5434386 - DD 0xd74d4d9a,0xd74d4d9a - DD 0x55333366,0x55333366 - DD 0x94858511,0x94858511 - DD 0xcf45458a,0xcf45458a - DD 0x10f9f9e9,0x10f9f9e9 - DD 0x06020204,0x06020204 - DD 0x817f7ffe,0x817f7ffe - DD 0xf05050a0,0xf05050a0 - DD 0x443c3c78,0x443c3c78 - DD 0xba9f9f25,0xba9f9f25 - DD 0xe3a8a84b,0xe3a8a84b - DD 0xf35151a2,0xf35151a2 - DD 0xfea3a35d,0xfea3a35d - DD 0xc0404080,0xc0404080 - DD 0x8a8f8f05,0x8a8f8f05 - DD 0xad92923f,0xad92923f - DD 0xbc9d9d21,0xbc9d9d21 - DD 0x48383870,0x48383870 - DD 0x04f5f5f1,0x04f5f5f1 - DD 0xdfbcbc63,0xdfbcbc63 - DD 0xc1b6b677,0xc1b6b677 - DD 0x75dadaaf,0x75dadaaf - DD 0x63212142,0x63212142 - DD 0x30101020,0x30101020 - DD 0x1affffe5,0x1affffe5 - DD 0x0ef3f3fd,0x0ef3f3fd - DD 0x6dd2d2bf,0x6dd2d2bf - DD 0x4ccdcd81,0x4ccdcd81 - DD 0x140c0c18,0x140c0c18 - DD 0x35131326,0x35131326 - DD 0x2fececc3,0x2fececc3 - DD 0xe15f5fbe,0xe15f5fbe - DD 0xa2979735,0xa2979735 - DD 0xcc444488,0xcc444488 - DD 0x3917172e,0x3917172e - DD 0x57c4c493,0x57c4c493 - DD 0xf2a7a755,0xf2a7a755 - DD 0x827e7efc,0x827e7efc - DD 0x473d3d7a,0x473d3d7a - DD 0xac6464c8,0xac6464c8 - DD 0xe75d5dba,0xe75d5dba - DD 0x2b191932,0x2b191932 - DD 0x957373e6,0x957373e6 - DD 0xa06060c0,0xa06060c0 - DD 0x98818119,0x98818119 - DD 0xd14f4f9e,0xd14f4f9e - DD 0x7fdcdca3,0x7fdcdca3 - DD 0x66222244,0x66222244 - DD 0x7e2a2a54,0x7e2a2a54 - DD 0xab90903b,0xab90903b - DD 0x8388880b,0x8388880b - DD 0xca46468c,0xca46468c - DD 0x29eeeec7,0x29eeeec7 - DD 0xd3b8b86b,0xd3b8b86b - DD 0x3c141428,0x3c141428 - DD 0x79dedea7,0x79dedea7 - DD 0xe25e5ebc,0xe25e5ebc - DD 0x1d0b0b16,0x1d0b0b16 - DD 0x76dbdbad,0x76dbdbad - DD 0x3be0e0db,0x3be0e0db - DD 0x56323264,0x56323264 - DD 0x4e3a3a74,0x4e3a3a74 - DD 0x1e0a0a14,0x1e0a0a14 - DD 0xdb494992,0xdb494992 - DD 0x0a06060c,0x0a06060c - DD 0x6c242448,0x6c242448 - DD 0xe45c5cb8,0xe45c5cb8 - DD 0x5dc2c29f,0x5dc2c29f - DD 0x6ed3d3bd,0x6ed3d3bd - DD 0xefacac43,0xefacac43 - DD 0xa66262c4,0xa66262c4 - DD 0xa8919139,0xa8919139 - DD 0xa4959531,0xa4959531 - DD 0x37e4e4d3,0x37e4e4d3 - DD 0x8b7979f2,0x8b7979f2 - DD 0x32e7e7d5,0x32e7e7d5 - DD 0x43c8c88b,0x43c8c88b - DD 0x5937376e,0x5937376e - DD 0xb76d6dda,0xb76d6dda - DD 0x8c8d8d01,0x8c8d8d01 - DD 0x64d5d5b1,0x64d5d5b1 - DD 0xd24e4e9c,0xd24e4e9c - DD 0xe0a9a949,0xe0a9a949 - DD 0xb46c6cd8,0xb46c6cd8 - DD 0xfa5656ac,0xfa5656ac - DD 0x07f4f4f3,0x07f4f4f3 - DD 0x25eaeacf,0x25eaeacf - DD 0xaf6565ca,0xaf6565ca - DD 0x8e7a7af4,0x8e7a7af4 - DD 0xe9aeae47,0xe9aeae47 - DD 0x18080810,0x18080810 - DD 0xd5baba6f,0xd5baba6f - DD 0x887878f0,0x887878f0 - DD 0x6f25254a,0x6f25254a - DD 0x722e2e5c,0x722e2e5c - DD 0x241c1c38,0x241c1c38 - DD 0xf1a6a657,0xf1a6a657 - DD 0xc7b4b473,0xc7b4b473 - DD 0x51c6c697,0x51c6c697 - DD 0x23e8e8cb,0x23e8e8cb - DD 0x7cdddda1,0x7cdddda1 - DD 0x9c7474e8,0x9c7474e8 - DD 0x211f1f3e,0x211f1f3e - DD 0xdd4b4b96,0xdd4b4b96 - DD 0xdcbdbd61,0xdcbdbd61 - DD 0x868b8b0d,0x868b8b0d - DD 0x858a8a0f,0x858a8a0f - DD 0x907070e0,0x907070e0 - DD 0x423e3e7c,0x423e3e7c - DD 0xc4b5b571,0xc4b5b571 - DD 0xaa6666cc,0xaa6666cc - DD 0xd8484890,0xd8484890 - DD 0x05030306,0x05030306 - DD 0x01f6f6f7,0x01f6f6f7 - DD 0x120e0e1c,0x120e0e1c - DD 0xa36161c2,0xa36161c2 - DD 0x5f35356a,0x5f35356a - DD 0xf95757ae,0xf95757ae - DD 0xd0b9b969,0xd0b9b969 - DD 0x91868617,0x91868617 - DD 0x58c1c199,0x58c1c199 - DD 0x271d1d3a,0x271d1d3a - DD 0xb99e9e27,0xb99e9e27 - DD 0x38e1e1d9,0x38e1e1d9 - DD 0x13f8f8eb,0x13f8f8eb - DD 0xb398982b,0xb398982b - DD 0x33111122,0x33111122 - DD 0xbb6969d2,0xbb6969d2 - DD 0x70d9d9a9,0x70d9d9a9 - DD 0x898e8e07,0x898e8e07 - DD 0xa7949433,0xa7949433 - DD 0xb69b9b2d,0xb69b9b2d - DD 0x221e1e3c,0x221e1e3c - DD 0x92878715,0x92878715 - DD 0x20e9e9c9,0x20e9e9c9 - DD 0x49cece87,0x49cece87 - DD 0xff5555aa,0xff5555aa - DD 0x78282850,0x78282850 - DD 0x7adfdfa5,0x7adfdfa5 - DD 0x8f8c8c03,0x8f8c8c03 - DD 0xf8a1a159,0xf8a1a159 - DD 0x80898909,0x80898909 - DD 0x170d0d1a,0x170d0d1a - DD 0xdabfbf65,0xdabfbf65 - DD 0x31e6e6d7,0x31e6e6d7 - DD 0xc6424284,0xc6424284 - DD 0xb86868d0,0xb86868d0 - DD 0xc3414182,0xc3414182 - DD 0xb0999929,0xb0999929 - DD 0x772d2d5a,0x772d2d5a - DD 0x110f0f1e,0x110f0f1e - DD 0xcbb0b07b,0xcbb0b07b - DD 0xfc5454a8,0xfc5454a8 - DD 0xd6bbbb6d,0xd6bbbb6d - DD 0x3a16162c,0x3a16162c -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 -DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 -DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 -DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 -DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 -DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc -DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 -DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a -DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 -DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 -DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 -DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b -DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf -DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 -DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 -DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 -DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 -DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 -DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 -DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 -DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb -DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c -DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 -DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 -DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 -DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 -DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a -DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e -DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e -DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 -DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf -DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 -DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 - DD 0x00000001,0x00000002,0x00000004,0x00000008 - DD 0x00000010,0x00000020,0x00000040,0x00000080 - DD 0x0000001b,0x00000036,0x80808080,0x80808080 - DD 0xfefefefe,0xfefefefe,0x1b1b1b1b,0x1b1b1b1b -ALIGN 64 -$L$AES_Td: - DD 0x50a7f451,0x50a7f451 - DD 0x5365417e,0x5365417e - DD 0xc3a4171a,0xc3a4171a - DD 0x965e273a,0x965e273a - DD 0xcb6bab3b,0xcb6bab3b - DD 0xf1459d1f,0xf1459d1f - DD 0xab58faac,0xab58faac - DD 0x9303e34b,0x9303e34b - DD 0x55fa3020,0x55fa3020 - DD 0xf66d76ad,0xf66d76ad - DD 0x9176cc88,0x9176cc88 - DD 0x254c02f5,0x254c02f5 - DD 0xfcd7e54f,0xfcd7e54f - DD 0xd7cb2ac5,0xd7cb2ac5 - DD 0x80443526,0x80443526 - DD 0x8fa362b5,0x8fa362b5 - DD 0x495ab1de,0x495ab1de - DD 0x671bba25,0x671bba25 - DD 0x980eea45,0x980eea45 - DD 0xe1c0fe5d,0xe1c0fe5d - DD 0x02752fc3,0x02752fc3 - DD 0x12f04c81,0x12f04c81 - DD 0xa397468d,0xa397468d - DD 0xc6f9d36b,0xc6f9d36b - DD 0xe75f8f03,0xe75f8f03 - DD 0x959c9215,0x959c9215 - DD 0xeb7a6dbf,0xeb7a6dbf - DD 0xda595295,0xda595295 - DD 0x2d83bed4,0x2d83bed4 - DD 0xd3217458,0xd3217458 - DD 0x2969e049,0x2969e049 - DD 0x44c8c98e,0x44c8c98e - DD 0x6a89c275,0x6a89c275 - DD 0x78798ef4,0x78798ef4 - DD 0x6b3e5899,0x6b3e5899 - DD 0xdd71b927,0xdd71b927 - DD 0xb64fe1be,0xb64fe1be - DD 0x17ad88f0,0x17ad88f0 - DD 0x66ac20c9,0x66ac20c9 - DD 0xb43ace7d,0xb43ace7d - DD 0x184adf63,0x184adf63 - DD 0x82311ae5,0x82311ae5 - DD 0x60335197,0x60335197 - DD 0x457f5362,0x457f5362 - DD 0xe07764b1,0xe07764b1 - DD 0x84ae6bbb,0x84ae6bbb - DD 0x1ca081fe,0x1ca081fe - DD 0x942b08f9,0x942b08f9 - DD 0x58684870,0x58684870 - DD 0x19fd458f,0x19fd458f - DD 0x876cde94,0x876cde94 - DD 0xb7f87b52,0xb7f87b52 - DD 0x23d373ab,0x23d373ab - DD 0xe2024b72,0xe2024b72 - DD 0x578f1fe3,0x578f1fe3 - DD 0x2aab5566,0x2aab5566 - DD 0x0728ebb2,0x0728ebb2 - DD 0x03c2b52f,0x03c2b52f - DD 0x9a7bc586,0x9a7bc586 - DD 0xa50837d3,0xa50837d3 - DD 0xf2872830,0xf2872830 - DD 0xb2a5bf23,0xb2a5bf23 - DD 0xba6a0302,0xba6a0302 - DD 0x5c8216ed,0x5c8216ed - DD 0x2b1ccf8a,0x2b1ccf8a - DD 0x92b479a7,0x92b479a7 - DD 0xf0f207f3,0xf0f207f3 - DD 0xa1e2694e,0xa1e2694e - DD 0xcdf4da65,0xcdf4da65 - DD 0xd5be0506,0xd5be0506 - DD 0x1f6234d1,0x1f6234d1 - DD 0x8afea6c4,0x8afea6c4 - DD 0x9d532e34,0x9d532e34 - DD 0xa055f3a2,0xa055f3a2 - DD 0x32e18a05,0x32e18a05 - DD 0x75ebf6a4,0x75ebf6a4 - DD 0x39ec830b,0x39ec830b - DD 0xaaef6040,0xaaef6040 - DD 0x069f715e,0x069f715e - DD 0x51106ebd,0x51106ebd - DD 0xf98a213e,0xf98a213e - DD 0x3d06dd96,0x3d06dd96 - DD 0xae053edd,0xae053edd - DD 0x46bde64d,0x46bde64d - DD 0xb58d5491,0xb58d5491 - DD 0x055dc471,0x055dc471 - DD 0x6fd40604,0x6fd40604 - DD 0xff155060,0xff155060 - DD 0x24fb9819,0x24fb9819 - DD 0x97e9bdd6,0x97e9bdd6 - DD 0xcc434089,0xcc434089 - DD 0x779ed967,0x779ed967 - DD 0xbd42e8b0,0xbd42e8b0 - DD 0x888b8907,0x888b8907 - DD 0x385b19e7,0x385b19e7 - DD 0xdbeec879,0xdbeec879 - DD 0x470a7ca1,0x470a7ca1 - DD 0xe90f427c,0xe90f427c - DD 0xc91e84f8,0xc91e84f8 - DD 0x00000000,0x00000000 - DD 0x83868009,0x83868009 - DD 0x48ed2b32,0x48ed2b32 - DD 0xac70111e,0xac70111e - DD 0x4e725a6c,0x4e725a6c - DD 0xfbff0efd,0xfbff0efd - DD 0x5638850f,0x5638850f - DD 0x1ed5ae3d,0x1ed5ae3d - DD 0x27392d36,0x27392d36 - DD 0x64d90f0a,0x64d90f0a - DD 0x21a65c68,0x21a65c68 - DD 0xd1545b9b,0xd1545b9b - DD 0x3a2e3624,0x3a2e3624 - DD 0xb1670a0c,0xb1670a0c - DD 0x0fe75793,0x0fe75793 - DD 0xd296eeb4,0xd296eeb4 - DD 0x9e919b1b,0x9e919b1b - DD 0x4fc5c080,0x4fc5c080 - DD 0xa220dc61,0xa220dc61 - DD 0x694b775a,0x694b775a - DD 0x161a121c,0x161a121c - DD 0x0aba93e2,0x0aba93e2 - DD 0xe52aa0c0,0xe52aa0c0 - DD 0x43e0223c,0x43e0223c - DD 0x1d171b12,0x1d171b12 - DD 0x0b0d090e,0x0b0d090e - DD 0xadc78bf2,0xadc78bf2 - DD 0xb9a8b62d,0xb9a8b62d - DD 0xc8a91e14,0xc8a91e14 - DD 0x8519f157,0x8519f157 - DD 0x4c0775af,0x4c0775af - DD 0xbbdd99ee,0xbbdd99ee - DD 0xfd607fa3,0xfd607fa3 - DD 0x9f2601f7,0x9f2601f7 - DD 0xbcf5725c,0xbcf5725c - DD 0xc53b6644,0xc53b6644 - DD 0x347efb5b,0x347efb5b - DD 0x7629438b,0x7629438b - DD 0xdcc623cb,0xdcc623cb - DD 0x68fcedb6,0x68fcedb6 - DD 0x63f1e4b8,0x63f1e4b8 - DD 0xcadc31d7,0xcadc31d7 - DD 0x10856342,0x10856342 - DD 0x40229713,0x40229713 - DD 0x2011c684,0x2011c684 - DD 0x7d244a85,0x7d244a85 - DD 0xf83dbbd2,0xf83dbbd2 - DD 0x1132f9ae,0x1132f9ae - DD 0x6da129c7,0x6da129c7 - DD 0x4b2f9e1d,0x4b2f9e1d - DD 0xf330b2dc,0xf330b2dc - DD 0xec52860d,0xec52860d - DD 0xd0e3c177,0xd0e3c177 - DD 0x6c16b32b,0x6c16b32b - DD 0x99b970a9,0x99b970a9 - DD 0xfa489411,0xfa489411 - DD 0x2264e947,0x2264e947 - DD 0xc48cfca8,0xc48cfca8 - DD 0x1a3ff0a0,0x1a3ff0a0 - DD 0xd82c7d56,0xd82c7d56 - DD 0xef903322,0xef903322 - DD 0xc74e4987,0xc74e4987 - DD 0xc1d138d9,0xc1d138d9 - DD 0xfea2ca8c,0xfea2ca8c - DD 0x360bd498,0x360bd498 - DD 0xcf81f5a6,0xcf81f5a6 - DD 0x28de7aa5,0x28de7aa5 - DD 0x268eb7da,0x268eb7da - DD 0xa4bfad3f,0xa4bfad3f - DD 0xe49d3a2c,0xe49d3a2c - DD 0x0d927850,0x0d927850 - DD 0x9bcc5f6a,0x9bcc5f6a - DD 0x62467e54,0x62467e54 - DD 0xc2138df6,0xc2138df6 - DD 0xe8b8d890,0xe8b8d890 - DD 0x5ef7392e,0x5ef7392e - DD 0xf5afc382,0xf5afc382 - DD 0xbe805d9f,0xbe805d9f - DD 0x7c93d069,0x7c93d069 - DD 0xa92dd56f,0xa92dd56f - DD 0xb31225cf,0xb31225cf - DD 0x3b99acc8,0x3b99acc8 - DD 0xa77d1810,0xa77d1810 - DD 0x6e639ce8,0x6e639ce8 - DD 0x7bbb3bdb,0x7bbb3bdb - DD 0x097826cd,0x097826cd - DD 0xf418596e,0xf418596e - DD 0x01b79aec,0x01b79aec - DD 0xa89a4f83,0xa89a4f83 - DD 0x656e95e6,0x656e95e6 - DD 0x7ee6ffaa,0x7ee6ffaa - DD 0x08cfbc21,0x08cfbc21 - DD 0xe6e815ef,0xe6e815ef - DD 0xd99be7ba,0xd99be7ba - DD 0xce366f4a,0xce366f4a - DD 0xd4099fea,0xd4099fea - DD 0xd67cb029,0xd67cb029 - DD 0xafb2a431,0xafb2a431 - DD 0x31233f2a,0x31233f2a - DD 0x3094a5c6,0x3094a5c6 - DD 0xc066a235,0xc066a235 - DD 0x37bc4e74,0x37bc4e74 - DD 0xa6ca82fc,0xa6ca82fc - DD 0xb0d090e0,0xb0d090e0 - DD 0x15d8a733,0x15d8a733 - DD 0x4a9804f1,0x4a9804f1 - DD 0xf7daec41,0xf7daec41 - DD 0x0e50cd7f,0x0e50cd7f - DD 0x2ff69117,0x2ff69117 - DD 0x8dd64d76,0x8dd64d76 - DD 0x4db0ef43,0x4db0ef43 - DD 0x544daacc,0x544daacc - DD 0xdf0496e4,0xdf0496e4 - DD 0xe3b5d19e,0xe3b5d19e - DD 0x1b886a4c,0x1b886a4c - DD 0xb81f2cc1,0xb81f2cc1 - DD 0x7f516546,0x7f516546 - DD 0x04ea5e9d,0x04ea5e9d - DD 0x5d358c01,0x5d358c01 - DD 0x737487fa,0x737487fa - DD 0x2e410bfb,0x2e410bfb - DD 0x5a1d67b3,0x5a1d67b3 - DD 0x52d2db92,0x52d2db92 - DD 0x335610e9,0x335610e9 - DD 0x1347d66d,0x1347d66d - DD 0x8c61d79a,0x8c61d79a - DD 0x7a0ca137,0x7a0ca137 - DD 0x8e14f859,0x8e14f859 - DD 0x893c13eb,0x893c13eb - DD 0xee27a9ce,0xee27a9ce - DD 0x35c961b7,0x35c961b7 - DD 0xede51ce1,0xede51ce1 - DD 0x3cb1477a,0x3cb1477a - DD 0x59dfd29c,0x59dfd29c - DD 0x3f73f255,0x3f73f255 - DD 0x79ce1418,0x79ce1418 - DD 0xbf37c773,0xbf37c773 - DD 0xeacdf753,0xeacdf753 - DD 0x5baafd5f,0x5baafd5f - DD 0x146f3ddf,0x146f3ddf - DD 0x86db4478,0x86db4478 - DD 0x81f3afca,0x81f3afca - DD 0x3ec468b9,0x3ec468b9 - DD 0x2c342438,0x2c342438 - DD 0x5f40a3c2,0x5f40a3c2 - DD 0x72c31d16,0x72c31d16 - DD 0x0c25e2bc,0x0c25e2bc - DD 0x8b493c28,0x8b493c28 - DD 0x41950dff,0x41950dff - DD 0x7101a839,0x7101a839 - DD 0xdeb30c08,0xdeb30c08 - DD 0x9ce4b4d8,0x9ce4b4d8 - DD 0x90c15664,0x90c15664 - DD 0x6184cb7b,0x6184cb7b - DD 0x70b632d5,0x70b632d5 - DD 0x745c6c48,0x745c6c48 - DD 0x4257b8d0,0x4257b8d0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 -DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb -DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 -DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb -DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d -DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e -DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 -DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 -DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 -DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 -DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda -DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 -DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a -DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 -DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 -DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b -DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea -DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 -DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 -DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e -DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 -DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b -DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 -DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 -DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 -DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f -DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d -DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef -DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 -DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 -DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 -DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d - DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe - DD 0x1b1b1b1b,0x1b1b1b1b,0,0 -DB 65,69,83,32,102,111,114,32,120,56,54,95,54,52,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 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -block_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_block_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_block_prologue - - mov rax,QWORD[24+rax] - lea rax,[48+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_block_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -key_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_key_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_key_prologue - - lea rax,[56+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_key_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -cbc_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$cbc_prologue] - cmp rbx,r10 - jb NEAR $L$in_cbc_prologue - - lea r10,[$L$cbc_fast_body] - cmp rbx,r10 - jb NEAR $L$in_cbc_frame_setup - - lea r10,[$L$cbc_slow_prologue] - cmp rbx,r10 - jb NEAR $L$in_cbc_body - - lea r10,[$L$cbc_slow_body] - cmp rbx,r10 - jb NEAR $L$in_cbc_frame_setup - -$L$in_cbc_body: - mov rax,QWORD[152+r8] - - lea r10,[$L$cbc_epilogue] - cmp rbx,r10 - jae NEAR $L$in_cbc_prologue - - lea rax,[8+rax] - - lea r10,[$L$cbc_popfq] - cmp rbx,r10 - jae NEAR $L$in_cbc_prologue - - mov rax,QWORD[8+rax] - lea rax,[56+rax] - -$L$in_cbc_frame_setup: - mov rbx,QWORD[((-16))+rax] - mov rbp,QWORD[((-24))+rax] - mov r12,QWORD[((-32))+rax] - mov r13,QWORD[((-40))+rax] - mov r14,QWORD[((-48))+rax] - mov r15,QWORD[((-56))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_cbc_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - -$L$common_seh_exit: - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_AES_encrypt wrt ..imagebase - DD $L$SEH_end_AES_encrypt wrt ..imagebase - DD $L$SEH_info_AES_encrypt wrt ..imagebase - - DD $L$SEH_begin_AES_decrypt wrt ..imagebase - DD $L$SEH_end_AES_decrypt wrt ..imagebase - DD $L$SEH_info_AES_decrypt wrt ..imagebase - - DD $L$SEH_begin_private_AES_set_encrypt_key wrt ..imagebase - DD $L$SEH_end_private_AES_set_encrypt_key wrt ..imagebase - DD $L$SEH_info_private_AES_set_encrypt_key wrt ..imagebase - - DD $L$SEH_begin_private_AES_set_decrypt_key wrt ..imagebase - DD $L$SEH_end_private_AES_set_decrypt_key wrt ..imagebase - DD $L$SEH_info_private_AES_set_decrypt_key wrt ..imagebase - - DD $L$SEH_begin_AES_cbc_encrypt wrt ..imagebase - DD $L$SEH_end_AES_cbc_encrypt wrt ..imagebase - DD $L$SEH_info_AES_cbc_encrypt wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_AES_encrypt: -DB 9,0,0,0 - DD block_se_handler wrt ..imagebase - DD $L$enc_prologue wrt ..imagebase,$L$enc_epilogue wrt ..imagebase -$L$SEH_info_AES_decrypt: -DB 9,0,0,0 - DD block_se_handler wrt ..imagebase - DD $L$dec_prologue wrt ..imagebase,$L$dec_epilogue wrt ..imagebase -$L$SEH_info_private_AES_set_encrypt_key: -DB 9,0,0,0 - DD key_se_handler wrt ..imagebase - DD $L$enc_key_prologue wrt ..imagebase,$L$enc_key_epilogue wrt ..imagebase -$L$SEH_info_private_AES_set_decrypt_key: -DB 9,0,0,0 - DD key_se_handler wrt ..imagebase - DD $L$dec_key_prologue wrt ..imagebase,$L$dec_key_epilogue wrt ..imagebase -$L$SEH_info_AES_cbc_encrypt: -DB 9,0,0,0 - DD cbc_se_handler wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +ALIGN 16 +_x86_64_AES_encrypt: + xor eax,DWORD[r15] + xor ebx,DWORD[4+r15] + xor ecx,DWORD[8+r15] + xor edx,DWORD[12+r15] + + mov r13d,DWORD[240+r15] + sub r13d,1 + jmp NEAR $L$enc_loop +ALIGN 16 +$L$enc_loop: + + movzx esi,al + movzx edi,bl + movzx ebp,cl + mov r10d,DWORD[rsi*8+r14] + mov r11d,DWORD[rdi*8+r14] + mov r12d,DWORD[rbp*8+r14] + + movzx esi,bh + movzx edi,ch + movzx ebp,dl + xor r10d,DWORD[3+rsi*8+r14] + xor r11d,DWORD[3+rdi*8+r14] + mov r8d,DWORD[rbp*8+r14] + + movzx esi,dh + shr ecx,16 + movzx ebp,ah + xor r12d,DWORD[3+rsi*8+r14] + shr edx,16 + xor r8d,DWORD[3+rbp*8+r14] + + shr ebx,16 + lea r15,[16+r15] + shr eax,16 + + movzx esi,cl + movzx edi,dl + movzx ebp,al + xor r10d,DWORD[2+rsi*8+r14] + xor r11d,DWORD[2+rdi*8+r14] + xor r12d,DWORD[2+rbp*8+r14] + + movzx esi,dh + movzx edi,ah + movzx ebp,bl + xor r10d,DWORD[1+rsi*8+r14] + xor r11d,DWORD[1+rdi*8+r14] + xor r8d,DWORD[2+rbp*8+r14] + + mov edx,DWORD[12+r15] + movzx edi,bh + movzx ebp,ch + mov eax,DWORD[r15] + xor r12d,DWORD[1+rdi*8+r14] + xor r8d,DWORD[1+rbp*8+r14] + + mov ebx,DWORD[4+r15] + mov ecx,DWORD[8+r15] + xor eax,r10d + xor ebx,r11d + xor ecx,r12d + xor edx,r8d + sub r13d,1 + jnz NEAR $L$enc_loop + movzx esi,al + movzx edi,bl + movzx ebp,cl + movzx r10d,BYTE[2+rsi*8+r14] + movzx r11d,BYTE[2+rdi*8+r14] + movzx r12d,BYTE[2+rbp*8+r14] + + movzx esi,dl + movzx edi,bh + movzx ebp,ch + movzx r8d,BYTE[2+rsi*8+r14] + mov edi,DWORD[rdi*8+r14] + mov ebp,DWORD[rbp*8+r14] + + and edi,0x0000ff00 + and ebp,0x0000ff00 + + xor r10d,edi + xor r11d,ebp + shr ecx,16 + + movzx esi,dh + movzx edi,ah + shr edx,16 + mov esi,DWORD[rsi*8+r14] + mov edi,DWORD[rdi*8+r14] + + and esi,0x0000ff00 + and edi,0x0000ff00 + shr ebx,16 + xor r12d,esi + xor r8d,edi + shr eax,16 + + movzx esi,cl + movzx edi,dl + movzx ebp,al + mov esi,DWORD[rsi*8+r14] + mov edi,DWORD[rdi*8+r14] + mov ebp,DWORD[rbp*8+r14] + + and esi,0x00ff0000 + and edi,0x00ff0000 + and ebp,0x00ff0000 + + xor r10d,esi + xor r11d,edi + xor r12d,ebp + + movzx esi,bl + movzx edi,dh + movzx ebp,ah + mov esi,DWORD[rsi*8+r14] + mov edi,DWORD[2+rdi*8+r14] + mov ebp,DWORD[2+rbp*8+r14] + + and esi,0x00ff0000 + and edi,0xff000000 + and ebp,0xff000000 + + xor r8d,esi + xor r10d,edi + xor r11d,ebp + + movzx esi,bh + movzx edi,ch + mov edx,DWORD[((16+12))+r15] + mov esi,DWORD[2+rsi*8+r14] + mov edi,DWORD[2+rdi*8+r14] + mov eax,DWORD[((16+0))+r15] + + and esi,0xff000000 + and edi,0xff000000 + + xor r12d,esi + xor r8d,edi + + mov ebx,DWORD[((16+4))+r15] + mov ecx,DWORD[((16+8))+r15] + xor eax,r10d + xor ebx,r11d + xor ecx,r12d + xor edx,r8d +DB 0xf3,0xc3 + + +ALIGN 16 +_x86_64_AES_encrypt_compact: + lea r8,[128+r14] + mov edi,DWORD[((0-128))+r8] + mov ebp,DWORD[((32-128))+r8] + mov r10d,DWORD[((64-128))+r8] + mov r11d,DWORD[((96-128))+r8] + mov edi,DWORD[((128-128))+r8] + mov ebp,DWORD[((160-128))+r8] + mov r10d,DWORD[((192-128))+r8] + mov r11d,DWORD[((224-128))+r8] + jmp NEAR $L$enc_loop_compact +ALIGN 16 +$L$enc_loop_compact: + xor eax,DWORD[r15] + xor ebx,DWORD[4+r15] + xor ecx,DWORD[8+r15] + xor edx,DWORD[12+r15] + lea r15,[16+r15] + movzx r10d,al + movzx r11d,bl + movzx r12d,cl + movzx r8d,dl + movzx esi,bh + movzx edi,ch + shr ecx,16 + movzx ebp,dh + movzx r10d,BYTE[r10*1+r14] + movzx r11d,BYTE[r11*1+r14] + movzx r12d,BYTE[r12*1+r14] + movzx r8d,BYTE[r8*1+r14] + + movzx r9d,BYTE[rsi*1+r14] + movzx esi,ah + movzx r13d,BYTE[rdi*1+r14] + movzx edi,cl + movzx ebp,BYTE[rbp*1+r14] + movzx esi,BYTE[rsi*1+r14] + + shl r9d,8 + shr edx,16 + shl r13d,8 + xor r10d,r9d + shr eax,16 + movzx r9d,dl + shr ebx,16 + xor r11d,r13d + shl ebp,8 + movzx r13d,al + movzx edi,BYTE[rdi*1+r14] + xor r12d,ebp + + shl esi,8 + movzx ebp,bl + shl edi,16 + xor r8d,esi + movzx r9d,BYTE[r9*1+r14] + movzx esi,dh + movzx r13d,BYTE[r13*1+r14] + xor r10d,edi + + shr ecx,8 + movzx edi,ah + shl r9d,16 + shr ebx,8 + shl r13d,16 + xor r11d,r9d + movzx ebp,BYTE[rbp*1+r14] + movzx esi,BYTE[rsi*1+r14] + movzx edi,BYTE[rdi*1+r14] + movzx edx,BYTE[rcx*1+r14] + movzx ecx,BYTE[rbx*1+r14] + + shl ebp,16 + xor r12d,r13d + shl esi,24 + xor r8d,ebp + shl edi,24 + xor r10d,esi + shl edx,24 + xor r11d,edi + shl ecx,24 + mov eax,r10d + mov ebx,r11d + xor ecx,r12d + xor edx,r8d + cmp r15,QWORD[16+rsp] + je NEAR $L$enc_compact_done + mov r10d,0x80808080 + mov r11d,0x80808080 + and r10d,eax + and r11d,ebx + mov esi,r10d + mov edi,r11d + shr r10d,7 + lea r8d,[rax*1+rax] + shr r11d,7 + lea r9d,[rbx*1+rbx] + sub esi,r10d + sub edi,r11d + and r8d,0xfefefefe + and r9d,0xfefefefe + and esi,0x1b1b1b1b + and edi,0x1b1b1b1b + mov r10d,eax + mov r11d,ebx + xor r8d,esi + xor r9d,edi + + xor eax,r8d + xor ebx,r9d + mov r12d,0x80808080 + rol eax,24 + mov ebp,0x80808080 + rol ebx,24 + and r12d,ecx + and ebp,edx + xor eax,r8d + xor ebx,r9d + mov esi,r12d + ror r10d,16 + mov edi,ebp + ror r11d,16 + lea r8d,[rcx*1+rcx] + shr r12d,7 + xor eax,r10d + shr ebp,7 + xor ebx,r11d + ror r10d,8 + lea r9d,[rdx*1+rdx] + ror r11d,8 + sub esi,r12d + sub edi,ebp + xor eax,r10d + xor ebx,r11d + + and r8d,0xfefefefe + and r9d,0xfefefefe + and esi,0x1b1b1b1b + and edi,0x1b1b1b1b + mov r12d,ecx + mov ebp,edx + xor r8d,esi + xor r9d,edi + + ror r12d,16 + xor ecx,r8d + ror ebp,16 + xor edx,r9d + rol ecx,24 + mov esi,DWORD[r14] + rol edx,24 + xor ecx,r8d + mov edi,DWORD[64+r14] + xor edx,r9d + mov r8d,DWORD[128+r14] + xor ecx,r12d + ror r12d,8 + xor edx,ebp + ror ebp,8 + xor ecx,r12d + mov r9d,DWORD[192+r14] + xor edx,ebp + jmp NEAR $L$enc_loop_compact +ALIGN 16 +$L$enc_compact_done: + xor eax,DWORD[r15] + xor ebx,DWORD[4+r15] + xor ecx,DWORD[8+r15] + xor edx,DWORD[12+r15] +DB 0xf3,0xc3 + +global AES_encrypt + +ALIGN 16 +global asm_AES_encrypt + +asm_AES_encrypt: +AES_encrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_AES_encrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + + + mov r10,rsp + lea rcx,[((-63))+rdx] + and rsp,-64 + sub rcx,rsp + neg rcx + and rcx,0x3c0 + sub rsp,rcx + sub rsp,32 + + mov QWORD[16+rsp],rsi + mov QWORD[24+rsp],r10 +$L$enc_prologue: + + mov r15,rdx + mov r13d,DWORD[240+r15] + + mov eax,DWORD[rdi] + mov ebx,DWORD[4+rdi] + mov ecx,DWORD[8+rdi] + mov edx,DWORD[12+rdi] + + shl r13d,4 + lea rbp,[r13*1+r15] + mov QWORD[rsp],r15 + mov QWORD[8+rsp],rbp + + + lea r14,[(($L$AES_Te+2048))] + lea rbp,[768+rsp] + sub rbp,r14 + and rbp,0x300 + lea r14,[rbp*1+r14] + + call _x86_64_AES_encrypt_compact + + mov r9,QWORD[16+rsp] + mov rsi,QWORD[24+rsp] + mov DWORD[r9],eax + mov DWORD[4+r9],ebx + mov DWORD[8+r9],ecx + mov DWORD[12+r9],edx + + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$enc_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_AES_encrypt: + +ALIGN 16 +_x86_64_AES_decrypt: + xor eax,DWORD[r15] + xor ebx,DWORD[4+r15] + xor ecx,DWORD[8+r15] + xor edx,DWORD[12+r15] + + mov r13d,DWORD[240+r15] + sub r13d,1 + jmp NEAR $L$dec_loop +ALIGN 16 +$L$dec_loop: + + movzx esi,al + movzx edi,bl + movzx ebp,cl + mov r10d,DWORD[rsi*8+r14] + mov r11d,DWORD[rdi*8+r14] + mov r12d,DWORD[rbp*8+r14] + + movzx esi,dh + movzx edi,ah + movzx ebp,dl + xor r10d,DWORD[3+rsi*8+r14] + xor r11d,DWORD[3+rdi*8+r14] + mov r8d,DWORD[rbp*8+r14] + + movzx esi,bh + shr eax,16 + movzx ebp,ch + xor r12d,DWORD[3+rsi*8+r14] + shr edx,16 + xor r8d,DWORD[3+rbp*8+r14] + + shr ebx,16 + lea r15,[16+r15] + shr ecx,16 + + movzx esi,cl + movzx edi,dl + movzx ebp,al + xor r10d,DWORD[2+rsi*8+r14] + xor r11d,DWORD[2+rdi*8+r14] + xor r12d,DWORD[2+rbp*8+r14] + + movzx esi,bh + movzx edi,ch + movzx ebp,bl + xor r10d,DWORD[1+rsi*8+r14] + xor r11d,DWORD[1+rdi*8+r14] + xor r8d,DWORD[2+rbp*8+r14] + + movzx esi,dh + mov edx,DWORD[12+r15] + movzx ebp,ah + xor r12d,DWORD[1+rsi*8+r14] + mov eax,DWORD[r15] + xor r8d,DWORD[1+rbp*8+r14] + + xor eax,r10d + mov ebx,DWORD[4+r15] + mov ecx,DWORD[8+r15] + xor ecx,r12d + xor ebx,r11d + xor edx,r8d + sub r13d,1 + jnz NEAR $L$dec_loop + lea r14,[2048+r14] + movzx esi,al + movzx edi,bl + movzx ebp,cl + movzx r10d,BYTE[rsi*1+r14] + movzx r11d,BYTE[rdi*1+r14] + movzx r12d,BYTE[rbp*1+r14] + + movzx esi,dl + movzx edi,dh + movzx ebp,ah + movzx r8d,BYTE[rsi*1+r14] + movzx edi,BYTE[rdi*1+r14] + movzx ebp,BYTE[rbp*1+r14] + + shl edi,8 + shl ebp,8 + + xor r10d,edi + xor r11d,ebp + shr edx,16 + + movzx esi,bh + movzx edi,ch + shr eax,16 + movzx esi,BYTE[rsi*1+r14] + movzx edi,BYTE[rdi*1+r14] + + shl esi,8 + shl edi,8 + shr ebx,16 + xor r12d,esi + xor r8d,edi + shr ecx,16 + + movzx esi,cl + movzx edi,dl + movzx ebp,al + movzx esi,BYTE[rsi*1+r14] + movzx edi,BYTE[rdi*1+r14] + movzx ebp,BYTE[rbp*1+r14] + + shl esi,16 + shl edi,16 + shl ebp,16 + + xor r10d,esi + xor r11d,edi + xor r12d,ebp + + movzx esi,bl + movzx edi,bh + movzx ebp,ch + movzx esi,BYTE[rsi*1+r14] + movzx edi,BYTE[rdi*1+r14] + movzx ebp,BYTE[rbp*1+r14] + + shl esi,16 + shl edi,24 + shl ebp,24 + + xor r8d,esi + xor r10d,edi + xor r11d,ebp + + movzx esi,dh + movzx edi,ah + mov edx,DWORD[((16+12))+r15] + movzx esi,BYTE[rsi*1+r14] + movzx edi,BYTE[rdi*1+r14] + mov eax,DWORD[((16+0))+r15] + + shl esi,24 + shl edi,24 + + xor r12d,esi + xor r8d,edi + + mov ebx,DWORD[((16+4))+r15] + mov ecx,DWORD[((16+8))+r15] + lea r14,[((-2048))+r14] + xor eax,r10d + xor ebx,r11d + xor ecx,r12d + xor edx,r8d +DB 0xf3,0xc3 + + +ALIGN 16 +_x86_64_AES_decrypt_compact: + lea r8,[128+r14] + mov edi,DWORD[((0-128))+r8] + mov ebp,DWORD[((32-128))+r8] + mov r10d,DWORD[((64-128))+r8] + mov r11d,DWORD[((96-128))+r8] + mov edi,DWORD[((128-128))+r8] + mov ebp,DWORD[((160-128))+r8] + mov r10d,DWORD[((192-128))+r8] + mov r11d,DWORD[((224-128))+r8] + jmp NEAR $L$dec_loop_compact + +ALIGN 16 +$L$dec_loop_compact: + xor eax,DWORD[r15] + xor ebx,DWORD[4+r15] + xor ecx,DWORD[8+r15] + xor edx,DWORD[12+r15] + lea r15,[16+r15] + movzx r10d,al + movzx r11d,bl + movzx r12d,cl + movzx r8d,dl + movzx esi,dh + movzx edi,ah + shr edx,16 + movzx ebp,bh + movzx r10d,BYTE[r10*1+r14] + movzx r11d,BYTE[r11*1+r14] + movzx r12d,BYTE[r12*1+r14] + movzx r8d,BYTE[r8*1+r14] + + movzx r9d,BYTE[rsi*1+r14] + movzx esi,ch + movzx r13d,BYTE[rdi*1+r14] + movzx ebp,BYTE[rbp*1+r14] + movzx esi,BYTE[rsi*1+r14] + + shr ecx,16 + shl r13d,8 + shl r9d,8 + movzx edi,cl + shr eax,16 + xor r10d,r9d + shr ebx,16 + movzx r9d,dl + + shl ebp,8 + xor r11d,r13d + shl esi,8 + movzx r13d,al + movzx edi,BYTE[rdi*1+r14] + xor r12d,ebp + movzx ebp,bl + + shl edi,16 + xor r8d,esi + movzx r9d,BYTE[r9*1+r14] + movzx esi,bh + movzx ebp,BYTE[rbp*1+r14] + xor r10d,edi + movzx r13d,BYTE[r13*1+r14] + movzx edi,ch + + shl ebp,16 + shl r9d,16 + shl r13d,16 + xor r8d,ebp + movzx ebp,dh + xor r11d,r9d + shr eax,8 + xor r12d,r13d + + movzx esi,BYTE[rsi*1+r14] + movzx ebx,BYTE[rdi*1+r14] + movzx ecx,BYTE[rbp*1+r14] + movzx edx,BYTE[rax*1+r14] + + mov eax,r10d + shl esi,24 + shl ebx,24 + shl ecx,24 + xor eax,esi + shl edx,24 + xor ebx,r11d + xor ecx,r12d + xor edx,r8d + cmp r15,QWORD[16+rsp] + je NEAR $L$dec_compact_done + + mov rsi,QWORD[((256+0))+r14] + shl rbx,32 + shl rdx,32 + mov rdi,QWORD[((256+8))+r14] + or rax,rbx + or rcx,rdx + mov rbp,QWORD[((256+16))+r14] + mov r9,rsi + mov r12,rsi + and r9,rax + and r12,rcx + mov rbx,r9 + mov rdx,r12 + shr r9,7 + lea r8,[rax*1+rax] + shr r12,7 + lea r11,[rcx*1+rcx] + sub rbx,r9 + sub rdx,r12 + and r8,rdi + and r11,rdi + and rbx,rbp + and rdx,rbp + xor r8,rbx + xor r11,rdx + mov r10,rsi + mov r13,rsi + + and r10,r8 + and r13,r11 + mov rbx,r10 + mov rdx,r13 + shr r10,7 + lea r9,[r8*1+r8] + shr r13,7 + lea r12,[r11*1+r11] + sub rbx,r10 + sub rdx,r13 + and r9,rdi + and r12,rdi + and rbx,rbp + and rdx,rbp + xor r9,rbx + xor r12,rdx + mov r10,rsi + mov r13,rsi + + and r10,r9 + and r13,r12 + mov rbx,r10 + mov rdx,r13 + shr r10,7 + xor r8,rax + shr r13,7 + xor r11,rcx + sub rbx,r10 + sub rdx,r13 + lea r10,[r9*1+r9] + lea r13,[r12*1+r12] + xor r9,rax + xor r12,rcx + and r10,rdi + and r13,rdi + and rbx,rbp + and rdx,rbp + xor r10,rbx + xor r13,rdx + + xor rax,r10 + xor rcx,r13 + xor r8,r10 + xor r11,r13 + mov rbx,rax + mov rdx,rcx + xor r9,r10 + shr rbx,32 + xor r12,r13 + shr rdx,32 + xor r10,r8 + rol eax,8 + xor r13,r11 + rol ecx,8 + xor r10,r9 + rol ebx,8 + xor r13,r12 + + rol edx,8 + xor eax,r10d + shr r10,32 + xor ecx,r13d + shr r13,32 + xor ebx,r10d + xor edx,r13d + + mov r10,r8 + rol r8d,24 + mov r13,r11 + rol r11d,24 + shr r10,32 + xor eax,r8d + shr r13,32 + xor ecx,r11d + rol r10d,24 + mov r8,r9 + rol r13d,24 + mov r11,r12 + shr r8,32 + xor ebx,r10d + shr r11,32 + xor edx,r13d + + mov rsi,QWORD[r14] + rol r9d,16 + mov rdi,QWORD[64+r14] + rol r12d,16 + mov rbp,QWORD[128+r14] + rol r8d,16 + mov r10,QWORD[192+r14] + xor eax,r9d + rol r11d,16 + xor ecx,r12d + mov r13,QWORD[256+r14] + xor ebx,r8d + xor edx,r11d + jmp NEAR $L$dec_loop_compact +ALIGN 16 +$L$dec_compact_done: + xor eax,DWORD[r15] + xor ebx,DWORD[4+r15] + xor ecx,DWORD[8+r15] + xor edx,DWORD[12+r15] +DB 0xf3,0xc3 + +global AES_decrypt + +ALIGN 16 +global asm_AES_decrypt + +asm_AES_decrypt: +AES_decrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_AES_decrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + + + mov r10,rsp + lea rcx,[((-63))+rdx] + and rsp,-64 + sub rcx,rsp + neg rcx + and rcx,0x3c0 + sub rsp,rcx + sub rsp,32 + + mov QWORD[16+rsp],rsi + mov QWORD[24+rsp],r10 +$L$dec_prologue: + + mov r15,rdx + mov r13d,DWORD[240+r15] + + mov eax,DWORD[rdi] + mov ebx,DWORD[4+rdi] + mov ecx,DWORD[8+rdi] + mov edx,DWORD[12+rdi] + + shl r13d,4 + lea rbp,[r13*1+r15] + mov QWORD[rsp],r15 + mov QWORD[8+rsp],rbp + + + lea r14,[(($L$AES_Td+2048))] + lea rbp,[768+rsp] + sub rbp,r14 + and rbp,0x300 + lea r14,[rbp*1+r14] + shr rbp,3 + add r14,rbp + + call _x86_64_AES_decrypt_compact + + mov r9,QWORD[16+rsp] + mov rsi,QWORD[24+rsp] + mov DWORD[r9],eax + mov DWORD[4+r9],ebx + mov DWORD[8+r9],ecx + mov DWORD[12+r9],edx + + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$dec_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_AES_decrypt: +global private_AES_set_encrypt_key + +ALIGN 16 +private_AES_set_encrypt_key: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_private_AES_set_encrypt_key: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + sub rsp,8 +$L$enc_key_prologue: + + call _x86_64_AES_set_encrypt_key + + mov rbp,QWORD[40+rsp] + mov rbx,QWORD[48+rsp] + add rsp,56 +$L$enc_key_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_private_AES_set_encrypt_key: + + +ALIGN 16 +_x86_64_AES_set_encrypt_key: + mov ecx,esi + mov rsi,rdi + mov rdi,rdx + + test rsi,-1 + jz NEAR $L$badpointer + test rdi,-1 + jz NEAR $L$badpointer + + lea rbp,[$L$AES_Te] + lea rbp,[((2048+128))+rbp] + + + mov eax,DWORD[((0-128))+rbp] + mov ebx,DWORD[((32-128))+rbp] + mov r8d,DWORD[((64-128))+rbp] + mov edx,DWORD[((96-128))+rbp] + mov eax,DWORD[((128-128))+rbp] + mov ebx,DWORD[((160-128))+rbp] + mov r8d,DWORD[((192-128))+rbp] + mov edx,DWORD[((224-128))+rbp] + + cmp ecx,128 + je NEAR $L$10rounds + cmp ecx,192 + je NEAR $L$12rounds + cmp ecx,256 + je NEAR $L$14rounds + mov rax,-2 + jmp NEAR $L$exit + +$L$10rounds: + mov rax,QWORD[rsi] + mov rdx,QWORD[8+rsi] + mov QWORD[rdi],rax + mov QWORD[8+rdi],rdx + + shr rdx,32 + xor ecx,ecx + jmp NEAR $L$10shortcut +ALIGN 4 +$L$10loop: + mov eax,DWORD[rdi] + mov edx,DWORD[12+rdi] +$L$10shortcut: + movzx esi,dl + movzx ebx,BYTE[((-128))+rsi*1+rbp] + movzx esi,dh + shl ebx,24 + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + shr edx,16 + movzx esi,dl + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + movzx esi,dh + shl ebx,8 + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + shl ebx,16 + xor eax,ebx + + xor eax,DWORD[((1024-128))+rcx*4+rbp] + mov DWORD[16+rdi],eax + xor eax,DWORD[4+rdi] + mov DWORD[20+rdi],eax + xor eax,DWORD[8+rdi] + mov DWORD[24+rdi],eax + xor eax,DWORD[12+rdi] + mov DWORD[28+rdi],eax + add ecx,1 + lea rdi,[16+rdi] + cmp ecx,10 + jl NEAR $L$10loop + + mov DWORD[80+rdi],10 + xor rax,rax + jmp NEAR $L$exit + +$L$12rounds: + mov rax,QWORD[rsi] + mov rbx,QWORD[8+rsi] + mov rdx,QWORD[16+rsi] + mov QWORD[rdi],rax + mov QWORD[8+rdi],rbx + mov QWORD[16+rdi],rdx + + shr rdx,32 + xor ecx,ecx + jmp NEAR $L$12shortcut +ALIGN 4 +$L$12loop: + mov eax,DWORD[rdi] + mov edx,DWORD[20+rdi] +$L$12shortcut: + movzx esi,dl + movzx ebx,BYTE[((-128))+rsi*1+rbp] + movzx esi,dh + shl ebx,24 + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + shr edx,16 + movzx esi,dl + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + movzx esi,dh + shl ebx,8 + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + shl ebx,16 + xor eax,ebx + + xor eax,DWORD[((1024-128))+rcx*4+rbp] + mov DWORD[24+rdi],eax + xor eax,DWORD[4+rdi] + mov DWORD[28+rdi],eax + xor eax,DWORD[8+rdi] + mov DWORD[32+rdi],eax + xor eax,DWORD[12+rdi] + mov DWORD[36+rdi],eax + + cmp ecx,7 + je NEAR $L$12break + add ecx,1 + + xor eax,DWORD[16+rdi] + mov DWORD[40+rdi],eax + xor eax,DWORD[20+rdi] + mov DWORD[44+rdi],eax + + lea rdi,[24+rdi] + jmp NEAR $L$12loop +$L$12break: + mov DWORD[72+rdi],12 + xor rax,rax + jmp NEAR $L$exit + +$L$14rounds: + mov rax,QWORD[rsi] + mov rbx,QWORD[8+rsi] + mov rcx,QWORD[16+rsi] + mov rdx,QWORD[24+rsi] + mov QWORD[rdi],rax + mov QWORD[8+rdi],rbx + mov QWORD[16+rdi],rcx + mov QWORD[24+rdi],rdx + + shr rdx,32 + xor ecx,ecx + jmp NEAR $L$14shortcut +ALIGN 4 +$L$14loop: + mov eax,DWORD[rdi] + mov edx,DWORD[28+rdi] +$L$14shortcut: + movzx esi,dl + movzx ebx,BYTE[((-128))+rsi*1+rbp] + movzx esi,dh + shl ebx,24 + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + shr edx,16 + movzx esi,dl + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + movzx esi,dh + shl ebx,8 + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + shl ebx,16 + xor eax,ebx + + xor eax,DWORD[((1024-128))+rcx*4+rbp] + mov DWORD[32+rdi],eax + xor eax,DWORD[4+rdi] + mov DWORD[36+rdi],eax + xor eax,DWORD[8+rdi] + mov DWORD[40+rdi],eax + xor eax,DWORD[12+rdi] + mov DWORD[44+rdi],eax + + cmp ecx,6 + je NEAR $L$14break + add ecx,1 + + mov edx,eax + mov eax,DWORD[16+rdi] + movzx esi,dl + movzx ebx,BYTE[((-128))+rsi*1+rbp] + movzx esi,dh + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + shr edx,16 + shl ebx,8 + movzx esi,dl + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + movzx esi,dh + shl ebx,16 + xor eax,ebx + + movzx ebx,BYTE[((-128))+rsi*1+rbp] + shl ebx,24 + xor eax,ebx + + mov DWORD[48+rdi],eax + xor eax,DWORD[20+rdi] + mov DWORD[52+rdi],eax + xor eax,DWORD[24+rdi] + mov DWORD[56+rdi],eax + xor eax,DWORD[28+rdi] + mov DWORD[60+rdi],eax + + lea rdi,[32+rdi] + jmp NEAR $L$14loop +$L$14break: + mov DWORD[48+rdi],14 + xor rax,rax + jmp NEAR $L$exit + +$L$badpointer: + mov rax,-1 +$L$exit: +DB 0xf3,0xc3 + +global private_AES_set_decrypt_key + +ALIGN 16 +private_AES_set_decrypt_key: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_private_AES_set_decrypt_key: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + push rdx +$L$dec_key_prologue: + + call _x86_64_AES_set_encrypt_key + mov r8,QWORD[rsp] + cmp eax,0 + jne NEAR $L$abort + + mov r14d,DWORD[240+r8] + xor rdi,rdi + lea rcx,[r14*4+rdi] + mov rsi,r8 + lea rdi,[rcx*4+r8] +ALIGN 4 +$L$invert: + mov rax,QWORD[rsi] + mov rbx,QWORD[8+rsi] + mov rcx,QWORD[rdi] + mov rdx,QWORD[8+rdi] + mov QWORD[rdi],rax + mov QWORD[8+rdi],rbx + mov QWORD[rsi],rcx + mov QWORD[8+rsi],rdx + lea rsi,[16+rsi] + lea rdi,[((-16))+rdi] + cmp rdi,rsi + jne NEAR $L$invert + + lea rax,[(($L$AES_Te+2048+1024))] + + mov rsi,QWORD[40+rax] + mov rdi,QWORD[48+rax] + mov rbp,QWORD[56+rax] + + mov r15,r8 + sub r14d,1 +ALIGN 4 +$L$permute: + lea r15,[16+r15] + mov rax,QWORD[r15] + mov rcx,QWORD[8+r15] + mov r9,rsi + mov r12,rsi + and r9,rax + and r12,rcx + mov rbx,r9 + mov rdx,r12 + shr r9,7 + lea r8,[rax*1+rax] + shr r12,7 + lea r11,[rcx*1+rcx] + sub rbx,r9 + sub rdx,r12 + and r8,rdi + and r11,rdi + and rbx,rbp + and rdx,rbp + xor r8,rbx + xor r11,rdx + mov r10,rsi + mov r13,rsi + + and r10,r8 + and r13,r11 + mov rbx,r10 + mov rdx,r13 + shr r10,7 + lea r9,[r8*1+r8] + shr r13,7 + lea r12,[r11*1+r11] + sub rbx,r10 + sub rdx,r13 + and r9,rdi + and r12,rdi + and rbx,rbp + and rdx,rbp + xor r9,rbx + xor r12,rdx + mov r10,rsi + mov r13,rsi + + and r10,r9 + and r13,r12 + mov rbx,r10 + mov rdx,r13 + shr r10,7 + xor r8,rax + shr r13,7 + xor r11,rcx + sub rbx,r10 + sub rdx,r13 + lea r10,[r9*1+r9] + lea r13,[r12*1+r12] + xor r9,rax + xor r12,rcx + and r10,rdi + and r13,rdi + and rbx,rbp + and rdx,rbp + xor r10,rbx + xor r13,rdx + + xor rax,r10 + xor rcx,r13 + xor r8,r10 + xor r11,r13 + mov rbx,rax + mov rdx,rcx + xor r9,r10 + shr rbx,32 + xor r12,r13 + shr rdx,32 + xor r10,r8 + rol eax,8 + xor r13,r11 + rol ecx,8 + xor r10,r9 + rol ebx,8 + xor r13,r12 + + rol edx,8 + xor eax,r10d + shr r10,32 + xor ecx,r13d + shr r13,32 + xor ebx,r10d + xor edx,r13d + + mov r10,r8 + rol r8d,24 + mov r13,r11 + rol r11d,24 + shr r10,32 + xor eax,r8d + shr r13,32 + xor ecx,r11d + rol r10d,24 + mov r8,r9 + rol r13d,24 + mov r11,r12 + shr r8,32 + xor ebx,r10d + shr r11,32 + xor edx,r13d + + + rol r9d,16 + + rol r12d,16 + + rol r8d,16 + + xor eax,r9d + rol r11d,16 + xor ecx,r12d + + xor ebx,r8d + xor edx,r11d + mov DWORD[r15],eax + mov DWORD[4+r15],ebx + mov DWORD[8+r15],ecx + mov DWORD[12+r15],edx + sub r14d,1 + jnz NEAR $L$permute + + xor rax,rax +$L$abort: + mov r15,QWORD[8+rsp] + mov r14,QWORD[16+rsp] + mov r13,QWORD[24+rsp] + mov r12,QWORD[32+rsp] + mov rbp,QWORD[40+rsp] + mov rbx,QWORD[48+rsp] + add rsp,56 +$L$dec_key_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_private_AES_set_decrypt_key: +global AES_cbc_encrypt + +ALIGN 16 +EXTERN OPENSSL_ia32cap_P +global asm_AES_cbc_encrypt + +asm_AES_cbc_encrypt: +AES_cbc_encrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_AES_cbc_encrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + cmp rdx,0 + je NEAR $L$cbc_epilogue + pushfq + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 +$L$cbc_prologue: + + cld + mov r9d,r9d + + lea r14,[$L$AES_Te] + cmp r9,0 + jne NEAR $L$cbc_picked_te + lea r14,[$L$AES_Td] +$L$cbc_picked_te: + + mov r10d,DWORD[OPENSSL_ia32cap_P] + cmp rdx,512 + jb NEAR $L$cbc_slow_prologue + test rdx,15 + jnz NEAR $L$cbc_slow_prologue + bt r10d,28 + jc NEAR $L$cbc_slow_prologue + + + lea r15,[((-88-248))+rsp] + and r15,-64 + + + mov r10,r14 + lea r11,[2304+r14] + mov r12,r15 + and r10,0xFFF + and r11,0xFFF + and r12,0xFFF + + cmp r12,r11 + jb NEAR $L$cbc_te_break_out + sub r12,r11 + sub r15,r12 + jmp NEAR $L$cbc_te_ok +$L$cbc_te_break_out: + sub r12,r10 + and r12,0xFFF + add r12,320 + sub r15,r12 +ALIGN 4 +$L$cbc_te_ok: + + xchg r15,rsp + + mov QWORD[16+rsp],r15 +$L$cbc_fast_body: + mov QWORD[24+rsp],rdi + mov QWORD[32+rsp],rsi + mov QWORD[40+rsp],rdx + mov QWORD[48+rsp],rcx + mov QWORD[56+rsp],r8 + mov DWORD[((80+240))+rsp],0 + mov rbp,r8 + mov rbx,r9 + mov r9,rsi + mov r8,rdi + mov r15,rcx + + mov eax,DWORD[240+r15] + + mov r10,r15 + sub r10,r14 + and r10,0xfff + cmp r10,2304 + jb NEAR $L$cbc_do_ecopy + cmp r10,4096-248 + jb NEAR $L$cbc_skip_ecopy +ALIGN 4 +$L$cbc_do_ecopy: + mov rsi,r15 + lea rdi,[80+rsp] + lea r15,[80+rsp] + mov ecx,240/8 + DD 0x90A548F3 + mov DWORD[rdi],eax +$L$cbc_skip_ecopy: + mov QWORD[rsp],r15 + + mov ecx,18 +ALIGN 4 +$L$cbc_prefetch_te: + mov r10,QWORD[r14] + mov r11,QWORD[32+r14] + mov r12,QWORD[64+r14] + mov r13,QWORD[96+r14] + lea r14,[128+r14] + sub ecx,1 + jnz NEAR $L$cbc_prefetch_te + lea r14,[((-2304))+r14] + + cmp rbx,0 + je NEAR $L$FAST_DECRYPT + + + mov eax,DWORD[rbp] + mov ebx,DWORD[4+rbp] + mov ecx,DWORD[8+rbp] + mov edx,DWORD[12+rbp] + +ALIGN 4 +$L$cbc_fast_enc_loop: + xor eax,DWORD[r8] + xor ebx,DWORD[4+r8] + xor ecx,DWORD[8+r8] + xor edx,DWORD[12+r8] + mov r15,QWORD[rsp] + mov QWORD[24+rsp],r8 + + call _x86_64_AES_encrypt + + mov r8,QWORD[24+rsp] + mov r10,QWORD[40+rsp] + mov DWORD[r9],eax + mov DWORD[4+r9],ebx + mov DWORD[8+r9],ecx + mov DWORD[12+r9],edx + + lea r8,[16+r8] + lea r9,[16+r9] + sub r10,16 + test r10,-16 + mov QWORD[40+rsp],r10 + jnz NEAR $L$cbc_fast_enc_loop + mov rbp,QWORD[56+rsp] + mov DWORD[rbp],eax + mov DWORD[4+rbp],ebx + mov DWORD[8+rbp],ecx + mov DWORD[12+rbp],edx + + jmp NEAR $L$cbc_fast_cleanup + + +ALIGN 16 +$L$FAST_DECRYPT: + cmp r9,r8 + je NEAR $L$cbc_fast_dec_in_place + + mov QWORD[64+rsp],rbp +ALIGN 4 +$L$cbc_fast_dec_loop: + mov eax,DWORD[r8] + mov ebx,DWORD[4+r8] + mov ecx,DWORD[8+r8] + mov edx,DWORD[12+r8] + mov r15,QWORD[rsp] + mov QWORD[24+rsp],r8 + + call _x86_64_AES_decrypt + + mov rbp,QWORD[64+rsp] + mov r8,QWORD[24+rsp] + mov r10,QWORD[40+rsp] + xor eax,DWORD[rbp] + xor ebx,DWORD[4+rbp] + xor ecx,DWORD[8+rbp] + xor edx,DWORD[12+rbp] + mov rbp,r8 + + sub r10,16 + mov QWORD[40+rsp],r10 + mov QWORD[64+rsp],rbp + + mov DWORD[r9],eax + mov DWORD[4+r9],ebx + mov DWORD[8+r9],ecx + mov DWORD[12+r9],edx + + lea r8,[16+r8] + lea r9,[16+r9] + jnz NEAR $L$cbc_fast_dec_loop + mov r12,QWORD[56+rsp] + mov r10,QWORD[rbp] + mov r11,QWORD[8+rbp] + mov QWORD[r12],r10 + mov QWORD[8+r12],r11 + jmp NEAR $L$cbc_fast_cleanup + +ALIGN 16 +$L$cbc_fast_dec_in_place: + mov r10,QWORD[rbp] + mov r11,QWORD[8+rbp] + mov QWORD[((0+64))+rsp],r10 + mov QWORD[((8+64))+rsp],r11 +ALIGN 4 +$L$cbc_fast_dec_in_place_loop: + mov eax,DWORD[r8] + mov ebx,DWORD[4+r8] + mov ecx,DWORD[8+r8] + mov edx,DWORD[12+r8] + mov r15,QWORD[rsp] + mov QWORD[24+rsp],r8 + + call _x86_64_AES_decrypt + + mov r8,QWORD[24+rsp] + mov r10,QWORD[40+rsp] + xor eax,DWORD[((0+64))+rsp] + xor ebx,DWORD[((4+64))+rsp] + xor ecx,DWORD[((8+64))+rsp] + xor edx,DWORD[((12+64))+rsp] + + mov r11,QWORD[r8] + mov r12,QWORD[8+r8] + sub r10,16 + jz NEAR $L$cbc_fast_dec_in_place_done + + mov QWORD[((0+64))+rsp],r11 + mov QWORD[((8+64))+rsp],r12 + + mov DWORD[r9],eax + mov DWORD[4+r9],ebx + mov DWORD[8+r9],ecx + mov DWORD[12+r9],edx + + lea r8,[16+r8] + lea r9,[16+r9] + mov QWORD[40+rsp],r10 + jmp NEAR $L$cbc_fast_dec_in_place_loop +$L$cbc_fast_dec_in_place_done: + mov rdi,QWORD[56+rsp] + mov QWORD[rdi],r11 + mov QWORD[8+rdi],r12 + + mov DWORD[r9],eax + mov DWORD[4+r9],ebx + mov DWORD[8+r9],ecx + mov DWORD[12+r9],edx + +ALIGN 4 +$L$cbc_fast_cleanup: + cmp DWORD[((80+240))+rsp],0 + lea rdi,[80+rsp] + je NEAR $L$cbc_exit + mov ecx,240/8 + xor rax,rax + DD 0x90AB48F3 + + jmp NEAR $L$cbc_exit + + +ALIGN 16 +$L$cbc_slow_prologue: + + lea rbp,[((-88))+rsp] + and rbp,-64 + + lea r10,[((-88-63))+rcx] + sub r10,rbp + neg r10 + and r10,0x3c0 + sub rbp,r10 + + xchg rbp,rsp + + mov QWORD[16+rsp],rbp +$L$cbc_slow_body: + + + + + mov QWORD[56+rsp],r8 + mov rbp,r8 + mov rbx,r9 + mov r9,rsi + mov r8,rdi + mov r15,rcx + mov r10,rdx + + mov eax,DWORD[240+r15] + mov QWORD[rsp],r15 + shl eax,4 + lea rax,[rax*1+r15] + mov QWORD[8+rsp],rax + + + lea r14,[2048+r14] + lea rax,[((768-8))+rsp] + sub rax,r14 + and rax,0x300 + lea r14,[rax*1+r14] + + cmp rbx,0 + je NEAR $L$SLOW_DECRYPT + + + test r10,-16 + mov eax,DWORD[rbp] + mov ebx,DWORD[4+rbp] + mov ecx,DWORD[8+rbp] + mov edx,DWORD[12+rbp] + jz NEAR $L$cbc_slow_enc_tail + +ALIGN 4 +$L$cbc_slow_enc_loop: + xor eax,DWORD[r8] + xor ebx,DWORD[4+r8] + xor ecx,DWORD[8+r8] + xor edx,DWORD[12+r8] + mov r15,QWORD[rsp] + mov QWORD[24+rsp],r8 + mov QWORD[32+rsp],r9 + mov QWORD[40+rsp],r10 + + call _x86_64_AES_encrypt_compact + + mov r8,QWORD[24+rsp] + mov r9,QWORD[32+rsp] + mov r10,QWORD[40+rsp] + mov DWORD[r9],eax + mov DWORD[4+r9],ebx + mov DWORD[8+r9],ecx + mov DWORD[12+r9],edx + + lea r8,[16+r8] + lea r9,[16+r9] + sub r10,16 + test r10,-16 + jnz NEAR $L$cbc_slow_enc_loop + test r10,15 + jnz NEAR $L$cbc_slow_enc_tail + mov rbp,QWORD[56+rsp] + mov DWORD[rbp],eax + mov DWORD[4+rbp],ebx + mov DWORD[8+rbp],ecx + mov DWORD[12+rbp],edx + + jmp NEAR $L$cbc_exit + +ALIGN 4 +$L$cbc_slow_enc_tail: + mov r11,rax + mov r12,rcx + mov rcx,r10 + mov rsi,r8 + mov rdi,r9 + DD 0x9066A4F3 + mov rcx,16 + sub rcx,r10 + xor rax,rax + DD 0x9066AAF3 + mov r8,r9 + mov r10,16 + mov rax,r11 + mov rcx,r12 + jmp NEAR $L$cbc_slow_enc_loop + +ALIGN 16 +$L$SLOW_DECRYPT: + shr rax,3 + add r14,rax + + mov r11,QWORD[rbp] + mov r12,QWORD[8+rbp] + mov QWORD[((0+64))+rsp],r11 + mov QWORD[((8+64))+rsp],r12 + +ALIGN 4 +$L$cbc_slow_dec_loop: + mov eax,DWORD[r8] + mov ebx,DWORD[4+r8] + mov ecx,DWORD[8+r8] + mov edx,DWORD[12+r8] + mov r15,QWORD[rsp] + mov QWORD[24+rsp],r8 + mov QWORD[32+rsp],r9 + mov QWORD[40+rsp],r10 + + call _x86_64_AES_decrypt_compact + + mov r8,QWORD[24+rsp] + mov r9,QWORD[32+rsp] + mov r10,QWORD[40+rsp] + xor eax,DWORD[((0+64))+rsp] + xor ebx,DWORD[((4+64))+rsp] + xor ecx,DWORD[((8+64))+rsp] + xor edx,DWORD[((12+64))+rsp] + + mov r11,QWORD[r8] + mov r12,QWORD[8+r8] + sub r10,16 + jc NEAR $L$cbc_slow_dec_partial + jz NEAR $L$cbc_slow_dec_done + + mov QWORD[((0+64))+rsp],r11 + mov QWORD[((8+64))+rsp],r12 + + mov DWORD[r9],eax + mov DWORD[4+r9],ebx + mov DWORD[8+r9],ecx + mov DWORD[12+r9],edx + + lea r8,[16+r8] + lea r9,[16+r9] + jmp NEAR $L$cbc_slow_dec_loop +$L$cbc_slow_dec_done: + mov rdi,QWORD[56+rsp] + mov QWORD[rdi],r11 + mov QWORD[8+rdi],r12 + + mov DWORD[r9],eax + mov DWORD[4+r9],ebx + mov DWORD[8+r9],ecx + mov DWORD[12+r9],edx + + jmp NEAR $L$cbc_exit + +ALIGN 4 +$L$cbc_slow_dec_partial: + mov rdi,QWORD[56+rsp] + mov QWORD[rdi],r11 + mov QWORD[8+rdi],r12 + + mov DWORD[((0+64))+rsp],eax + mov DWORD[((4+64))+rsp],ebx + mov DWORD[((8+64))+rsp],ecx + mov DWORD[((12+64))+rsp],edx + + mov rdi,r9 + lea rsi,[64+rsp] + lea rcx,[16+r10] + DD 0x9066A4F3 + jmp NEAR $L$cbc_exit + +ALIGN 16 +$L$cbc_exit: + mov rsi,QWORD[16+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$cbc_popfq: + popfq +$L$cbc_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_AES_cbc_encrypt: +ALIGN 64 +$L$AES_Te: + DD 0xa56363c6,0xa56363c6 + DD 0x847c7cf8,0x847c7cf8 + DD 0x997777ee,0x997777ee + DD 0x8d7b7bf6,0x8d7b7bf6 + DD 0x0df2f2ff,0x0df2f2ff + DD 0xbd6b6bd6,0xbd6b6bd6 + DD 0xb16f6fde,0xb16f6fde + DD 0x54c5c591,0x54c5c591 + DD 0x50303060,0x50303060 + DD 0x03010102,0x03010102 + DD 0xa96767ce,0xa96767ce + DD 0x7d2b2b56,0x7d2b2b56 + DD 0x19fefee7,0x19fefee7 + DD 0x62d7d7b5,0x62d7d7b5 + DD 0xe6abab4d,0xe6abab4d + DD 0x9a7676ec,0x9a7676ec + DD 0x45caca8f,0x45caca8f + DD 0x9d82821f,0x9d82821f + DD 0x40c9c989,0x40c9c989 + DD 0x877d7dfa,0x877d7dfa + DD 0x15fafaef,0x15fafaef + DD 0xeb5959b2,0xeb5959b2 + DD 0xc947478e,0xc947478e + DD 0x0bf0f0fb,0x0bf0f0fb + DD 0xecadad41,0xecadad41 + DD 0x67d4d4b3,0x67d4d4b3 + DD 0xfda2a25f,0xfda2a25f + DD 0xeaafaf45,0xeaafaf45 + DD 0xbf9c9c23,0xbf9c9c23 + DD 0xf7a4a453,0xf7a4a453 + DD 0x967272e4,0x967272e4 + DD 0x5bc0c09b,0x5bc0c09b + DD 0xc2b7b775,0xc2b7b775 + DD 0x1cfdfde1,0x1cfdfde1 + DD 0xae93933d,0xae93933d + DD 0x6a26264c,0x6a26264c + DD 0x5a36366c,0x5a36366c + DD 0x413f3f7e,0x413f3f7e + DD 0x02f7f7f5,0x02f7f7f5 + DD 0x4fcccc83,0x4fcccc83 + DD 0x5c343468,0x5c343468 + DD 0xf4a5a551,0xf4a5a551 + DD 0x34e5e5d1,0x34e5e5d1 + DD 0x08f1f1f9,0x08f1f1f9 + DD 0x937171e2,0x937171e2 + DD 0x73d8d8ab,0x73d8d8ab + DD 0x53313162,0x53313162 + DD 0x3f15152a,0x3f15152a + DD 0x0c040408,0x0c040408 + DD 0x52c7c795,0x52c7c795 + DD 0x65232346,0x65232346 + DD 0x5ec3c39d,0x5ec3c39d + DD 0x28181830,0x28181830 + DD 0xa1969637,0xa1969637 + DD 0x0f05050a,0x0f05050a + DD 0xb59a9a2f,0xb59a9a2f + DD 0x0907070e,0x0907070e + DD 0x36121224,0x36121224 + DD 0x9b80801b,0x9b80801b + DD 0x3de2e2df,0x3de2e2df + DD 0x26ebebcd,0x26ebebcd + DD 0x6927274e,0x6927274e + DD 0xcdb2b27f,0xcdb2b27f + DD 0x9f7575ea,0x9f7575ea + DD 0x1b090912,0x1b090912 + DD 0x9e83831d,0x9e83831d + DD 0x742c2c58,0x742c2c58 + DD 0x2e1a1a34,0x2e1a1a34 + DD 0x2d1b1b36,0x2d1b1b36 + DD 0xb26e6edc,0xb26e6edc + DD 0xee5a5ab4,0xee5a5ab4 + DD 0xfba0a05b,0xfba0a05b + DD 0xf65252a4,0xf65252a4 + DD 0x4d3b3b76,0x4d3b3b76 + DD 0x61d6d6b7,0x61d6d6b7 + DD 0xceb3b37d,0xceb3b37d + DD 0x7b292952,0x7b292952 + DD 0x3ee3e3dd,0x3ee3e3dd + DD 0x712f2f5e,0x712f2f5e + DD 0x97848413,0x97848413 + DD 0xf55353a6,0xf55353a6 + DD 0x68d1d1b9,0x68d1d1b9 + DD 0x00000000,0x00000000 + DD 0x2cededc1,0x2cededc1 + DD 0x60202040,0x60202040 + DD 0x1ffcfce3,0x1ffcfce3 + DD 0xc8b1b179,0xc8b1b179 + DD 0xed5b5bb6,0xed5b5bb6 + DD 0xbe6a6ad4,0xbe6a6ad4 + DD 0x46cbcb8d,0x46cbcb8d + DD 0xd9bebe67,0xd9bebe67 + DD 0x4b393972,0x4b393972 + DD 0xde4a4a94,0xde4a4a94 + DD 0xd44c4c98,0xd44c4c98 + DD 0xe85858b0,0xe85858b0 + DD 0x4acfcf85,0x4acfcf85 + DD 0x6bd0d0bb,0x6bd0d0bb + DD 0x2aefefc5,0x2aefefc5 + DD 0xe5aaaa4f,0xe5aaaa4f + DD 0x16fbfbed,0x16fbfbed + DD 0xc5434386,0xc5434386 + DD 0xd74d4d9a,0xd74d4d9a + DD 0x55333366,0x55333366 + DD 0x94858511,0x94858511 + DD 0xcf45458a,0xcf45458a + DD 0x10f9f9e9,0x10f9f9e9 + DD 0x06020204,0x06020204 + DD 0x817f7ffe,0x817f7ffe + DD 0xf05050a0,0xf05050a0 + DD 0x443c3c78,0x443c3c78 + DD 0xba9f9f25,0xba9f9f25 + DD 0xe3a8a84b,0xe3a8a84b + DD 0xf35151a2,0xf35151a2 + DD 0xfea3a35d,0xfea3a35d + DD 0xc0404080,0xc0404080 + DD 0x8a8f8f05,0x8a8f8f05 + DD 0xad92923f,0xad92923f + DD 0xbc9d9d21,0xbc9d9d21 + DD 0x48383870,0x48383870 + DD 0x04f5f5f1,0x04f5f5f1 + DD 0xdfbcbc63,0xdfbcbc63 + DD 0xc1b6b677,0xc1b6b677 + DD 0x75dadaaf,0x75dadaaf + DD 0x63212142,0x63212142 + DD 0x30101020,0x30101020 + DD 0x1affffe5,0x1affffe5 + DD 0x0ef3f3fd,0x0ef3f3fd + DD 0x6dd2d2bf,0x6dd2d2bf + DD 0x4ccdcd81,0x4ccdcd81 + DD 0x140c0c18,0x140c0c18 + DD 0x35131326,0x35131326 + DD 0x2fececc3,0x2fececc3 + DD 0xe15f5fbe,0xe15f5fbe + DD 0xa2979735,0xa2979735 + DD 0xcc444488,0xcc444488 + DD 0x3917172e,0x3917172e + DD 0x57c4c493,0x57c4c493 + DD 0xf2a7a755,0xf2a7a755 + DD 0x827e7efc,0x827e7efc + DD 0x473d3d7a,0x473d3d7a + DD 0xac6464c8,0xac6464c8 + DD 0xe75d5dba,0xe75d5dba + DD 0x2b191932,0x2b191932 + DD 0x957373e6,0x957373e6 + DD 0xa06060c0,0xa06060c0 + DD 0x98818119,0x98818119 + DD 0xd14f4f9e,0xd14f4f9e + DD 0x7fdcdca3,0x7fdcdca3 + DD 0x66222244,0x66222244 + DD 0x7e2a2a54,0x7e2a2a54 + DD 0xab90903b,0xab90903b + DD 0x8388880b,0x8388880b + DD 0xca46468c,0xca46468c + DD 0x29eeeec7,0x29eeeec7 + DD 0xd3b8b86b,0xd3b8b86b + DD 0x3c141428,0x3c141428 + DD 0x79dedea7,0x79dedea7 + DD 0xe25e5ebc,0xe25e5ebc + DD 0x1d0b0b16,0x1d0b0b16 + DD 0x76dbdbad,0x76dbdbad + DD 0x3be0e0db,0x3be0e0db + DD 0x56323264,0x56323264 + DD 0x4e3a3a74,0x4e3a3a74 + DD 0x1e0a0a14,0x1e0a0a14 + DD 0xdb494992,0xdb494992 + DD 0x0a06060c,0x0a06060c + DD 0x6c242448,0x6c242448 + DD 0xe45c5cb8,0xe45c5cb8 + DD 0x5dc2c29f,0x5dc2c29f + DD 0x6ed3d3bd,0x6ed3d3bd + DD 0xefacac43,0xefacac43 + DD 0xa66262c4,0xa66262c4 + DD 0xa8919139,0xa8919139 + DD 0xa4959531,0xa4959531 + DD 0x37e4e4d3,0x37e4e4d3 + DD 0x8b7979f2,0x8b7979f2 + DD 0x32e7e7d5,0x32e7e7d5 + DD 0x43c8c88b,0x43c8c88b + DD 0x5937376e,0x5937376e + DD 0xb76d6dda,0xb76d6dda + DD 0x8c8d8d01,0x8c8d8d01 + DD 0x64d5d5b1,0x64d5d5b1 + DD 0xd24e4e9c,0xd24e4e9c + DD 0xe0a9a949,0xe0a9a949 + DD 0xb46c6cd8,0xb46c6cd8 + DD 0xfa5656ac,0xfa5656ac + DD 0x07f4f4f3,0x07f4f4f3 + DD 0x25eaeacf,0x25eaeacf + DD 0xaf6565ca,0xaf6565ca + DD 0x8e7a7af4,0x8e7a7af4 + DD 0xe9aeae47,0xe9aeae47 + DD 0x18080810,0x18080810 + DD 0xd5baba6f,0xd5baba6f + DD 0x887878f0,0x887878f0 + DD 0x6f25254a,0x6f25254a + DD 0x722e2e5c,0x722e2e5c + DD 0x241c1c38,0x241c1c38 + DD 0xf1a6a657,0xf1a6a657 + DD 0xc7b4b473,0xc7b4b473 + DD 0x51c6c697,0x51c6c697 + DD 0x23e8e8cb,0x23e8e8cb + DD 0x7cdddda1,0x7cdddda1 + DD 0x9c7474e8,0x9c7474e8 + DD 0x211f1f3e,0x211f1f3e + DD 0xdd4b4b96,0xdd4b4b96 + DD 0xdcbdbd61,0xdcbdbd61 + DD 0x868b8b0d,0x868b8b0d + DD 0x858a8a0f,0x858a8a0f + DD 0x907070e0,0x907070e0 + DD 0x423e3e7c,0x423e3e7c + DD 0xc4b5b571,0xc4b5b571 + DD 0xaa6666cc,0xaa6666cc + DD 0xd8484890,0xd8484890 + DD 0x05030306,0x05030306 + DD 0x01f6f6f7,0x01f6f6f7 + DD 0x120e0e1c,0x120e0e1c + DD 0xa36161c2,0xa36161c2 + DD 0x5f35356a,0x5f35356a + DD 0xf95757ae,0xf95757ae + DD 0xd0b9b969,0xd0b9b969 + DD 0x91868617,0x91868617 + DD 0x58c1c199,0x58c1c199 + DD 0x271d1d3a,0x271d1d3a + DD 0xb99e9e27,0xb99e9e27 + DD 0x38e1e1d9,0x38e1e1d9 + DD 0x13f8f8eb,0x13f8f8eb + DD 0xb398982b,0xb398982b + DD 0x33111122,0x33111122 + DD 0xbb6969d2,0xbb6969d2 + DD 0x70d9d9a9,0x70d9d9a9 + DD 0x898e8e07,0x898e8e07 + DD 0xa7949433,0xa7949433 + DD 0xb69b9b2d,0xb69b9b2d + DD 0x221e1e3c,0x221e1e3c + DD 0x92878715,0x92878715 + DD 0x20e9e9c9,0x20e9e9c9 + DD 0x49cece87,0x49cece87 + DD 0xff5555aa,0xff5555aa + DD 0x78282850,0x78282850 + DD 0x7adfdfa5,0x7adfdfa5 + DD 0x8f8c8c03,0x8f8c8c03 + DD 0xf8a1a159,0xf8a1a159 + DD 0x80898909,0x80898909 + DD 0x170d0d1a,0x170d0d1a + DD 0xdabfbf65,0xdabfbf65 + DD 0x31e6e6d7,0x31e6e6d7 + DD 0xc6424284,0xc6424284 + DD 0xb86868d0,0xb86868d0 + DD 0xc3414182,0xc3414182 + DD 0xb0999929,0xb0999929 + DD 0x772d2d5a,0x772d2d5a + DD 0x110f0f1e,0x110f0f1e + DD 0xcbb0b07b,0xcbb0b07b + DD 0xfc5454a8,0xfc5454a8 + DD 0xd6bbbb6d,0xd6bbbb6d + DD 0x3a16162c,0x3a16162c +DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 +DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 +DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 +DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 +DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc +DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 +DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a +DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 +DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 +DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 +DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b +DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf +DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 +DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 +DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 +DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 +DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 +DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 +DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 +DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb +DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c +DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 +DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 +DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 +DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 +DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a +DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e +DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e +DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 +DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf +DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 +DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 +DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 +DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 +DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 +DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 +DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc +DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 +DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a +DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 +DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 +DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 +DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b +DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf +DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 +DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 +DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 +DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 +DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 +DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 +DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 +DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb +DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c +DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 +DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 +DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 +DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 +DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a +DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e +DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e +DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 +DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf +DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 +DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 +DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 +DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 +DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 +DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 +DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc +DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 +DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a +DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 +DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 +DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 +DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b +DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf +DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 +DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 +DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 +DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 +DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 +DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 +DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 +DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb +DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c +DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 +DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 +DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 +DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 +DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a +DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e +DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e +DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 +DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf +DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 +DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 +DB 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 +DB 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 +DB 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 +DB 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 +DB 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc +DB 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 +DB 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a +DB 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 +DB 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 +DB 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 +DB 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b +DB 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf +DB 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 +DB 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 +DB 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 +DB 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 +DB 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 +DB 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 +DB 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 +DB 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb +DB 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c +DB 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 +DB 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 +DB 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 +DB 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 +DB 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a +DB 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e +DB 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e +DB 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 +DB 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf +DB 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 +DB 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 + DD 0x00000001,0x00000002,0x00000004,0x00000008 + DD 0x00000010,0x00000020,0x00000040,0x00000080 + DD 0x0000001b,0x00000036,0x80808080,0x80808080 + DD 0xfefefefe,0xfefefefe,0x1b1b1b1b,0x1b1b1b1b +ALIGN 64 +$L$AES_Td: + DD 0x50a7f451,0x50a7f451 + DD 0x5365417e,0x5365417e + DD 0xc3a4171a,0xc3a4171a + DD 0x965e273a,0x965e273a + DD 0xcb6bab3b,0xcb6bab3b + DD 0xf1459d1f,0xf1459d1f + DD 0xab58faac,0xab58faac + DD 0x9303e34b,0x9303e34b + DD 0x55fa3020,0x55fa3020 + DD 0xf66d76ad,0xf66d76ad + DD 0x9176cc88,0x9176cc88 + DD 0x254c02f5,0x254c02f5 + DD 0xfcd7e54f,0xfcd7e54f + DD 0xd7cb2ac5,0xd7cb2ac5 + DD 0x80443526,0x80443526 + DD 0x8fa362b5,0x8fa362b5 + DD 0x495ab1de,0x495ab1de + DD 0x671bba25,0x671bba25 + DD 0x980eea45,0x980eea45 + DD 0xe1c0fe5d,0xe1c0fe5d + DD 0x02752fc3,0x02752fc3 + DD 0x12f04c81,0x12f04c81 + DD 0xa397468d,0xa397468d + DD 0xc6f9d36b,0xc6f9d36b + DD 0xe75f8f03,0xe75f8f03 + DD 0x959c9215,0x959c9215 + DD 0xeb7a6dbf,0xeb7a6dbf + DD 0xda595295,0xda595295 + DD 0x2d83bed4,0x2d83bed4 + DD 0xd3217458,0xd3217458 + DD 0x2969e049,0x2969e049 + DD 0x44c8c98e,0x44c8c98e + DD 0x6a89c275,0x6a89c275 + DD 0x78798ef4,0x78798ef4 + DD 0x6b3e5899,0x6b3e5899 + DD 0xdd71b927,0xdd71b927 + DD 0xb64fe1be,0xb64fe1be + DD 0x17ad88f0,0x17ad88f0 + DD 0x66ac20c9,0x66ac20c9 + DD 0xb43ace7d,0xb43ace7d + DD 0x184adf63,0x184adf63 + DD 0x82311ae5,0x82311ae5 + DD 0x60335197,0x60335197 + DD 0x457f5362,0x457f5362 + DD 0xe07764b1,0xe07764b1 + DD 0x84ae6bbb,0x84ae6bbb + DD 0x1ca081fe,0x1ca081fe + DD 0x942b08f9,0x942b08f9 + DD 0x58684870,0x58684870 + DD 0x19fd458f,0x19fd458f + DD 0x876cde94,0x876cde94 + DD 0xb7f87b52,0xb7f87b52 + DD 0x23d373ab,0x23d373ab + DD 0xe2024b72,0xe2024b72 + DD 0x578f1fe3,0x578f1fe3 + DD 0x2aab5566,0x2aab5566 + DD 0x0728ebb2,0x0728ebb2 + DD 0x03c2b52f,0x03c2b52f + DD 0x9a7bc586,0x9a7bc586 + DD 0xa50837d3,0xa50837d3 + DD 0xf2872830,0xf2872830 + DD 0xb2a5bf23,0xb2a5bf23 + DD 0xba6a0302,0xba6a0302 + DD 0x5c8216ed,0x5c8216ed + DD 0x2b1ccf8a,0x2b1ccf8a + DD 0x92b479a7,0x92b479a7 + DD 0xf0f207f3,0xf0f207f3 + DD 0xa1e2694e,0xa1e2694e + DD 0xcdf4da65,0xcdf4da65 + DD 0xd5be0506,0xd5be0506 + DD 0x1f6234d1,0x1f6234d1 + DD 0x8afea6c4,0x8afea6c4 + DD 0x9d532e34,0x9d532e34 + DD 0xa055f3a2,0xa055f3a2 + DD 0x32e18a05,0x32e18a05 + DD 0x75ebf6a4,0x75ebf6a4 + DD 0x39ec830b,0x39ec830b + DD 0xaaef6040,0xaaef6040 + DD 0x069f715e,0x069f715e + DD 0x51106ebd,0x51106ebd + DD 0xf98a213e,0xf98a213e + DD 0x3d06dd96,0x3d06dd96 + DD 0xae053edd,0xae053edd + DD 0x46bde64d,0x46bde64d + DD 0xb58d5491,0xb58d5491 + DD 0x055dc471,0x055dc471 + DD 0x6fd40604,0x6fd40604 + DD 0xff155060,0xff155060 + DD 0x24fb9819,0x24fb9819 + DD 0x97e9bdd6,0x97e9bdd6 + DD 0xcc434089,0xcc434089 + DD 0x779ed967,0x779ed967 + DD 0xbd42e8b0,0xbd42e8b0 + DD 0x888b8907,0x888b8907 + DD 0x385b19e7,0x385b19e7 + DD 0xdbeec879,0xdbeec879 + DD 0x470a7ca1,0x470a7ca1 + DD 0xe90f427c,0xe90f427c + DD 0xc91e84f8,0xc91e84f8 + DD 0x00000000,0x00000000 + DD 0x83868009,0x83868009 + DD 0x48ed2b32,0x48ed2b32 + DD 0xac70111e,0xac70111e + DD 0x4e725a6c,0x4e725a6c + DD 0xfbff0efd,0xfbff0efd + DD 0x5638850f,0x5638850f + DD 0x1ed5ae3d,0x1ed5ae3d + DD 0x27392d36,0x27392d36 + DD 0x64d90f0a,0x64d90f0a + DD 0x21a65c68,0x21a65c68 + DD 0xd1545b9b,0xd1545b9b + DD 0x3a2e3624,0x3a2e3624 + DD 0xb1670a0c,0xb1670a0c + DD 0x0fe75793,0x0fe75793 + DD 0xd296eeb4,0xd296eeb4 + DD 0x9e919b1b,0x9e919b1b + DD 0x4fc5c080,0x4fc5c080 + DD 0xa220dc61,0xa220dc61 + DD 0x694b775a,0x694b775a + DD 0x161a121c,0x161a121c + DD 0x0aba93e2,0x0aba93e2 + DD 0xe52aa0c0,0xe52aa0c0 + DD 0x43e0223c,0x43e0223c + DD 0x1d171b12,0x1d171b12 + DD 0x0b0d090e,0x0b0d090e + DD 0xadc78bf2,0xadc78bf2 + DD 0xb9a8b62d,0xb9a8b62d + DD 0xc8a91e14,0xc8a91e14 + DD 0x8519f157,0x8519f157 + DD 0x4c0775af,0x4c0775af + DD 0xbbdd99ee,0xbbdd99ee + DD 0xfd607fa3,0xfd607fa3 + DD 0x9f2601f7,0x9f2601f7 + DD 0xbcf5725c,0xbcf5725c + DD 0xc53b6644,0xc53b6644 + DD 0x347efb5b,0x347efb5b + DD 0x7629438b,0x7629438b + DD 0xdcc623cb,0xdcc623cb + DD 0x68fcedb6,0x68fcedb6 + DD 0x63f1e4b8,0x63f1e4b8 + DD 0xcadc31d7,0xcadc31d7 + DD 0x10856342,0x10856342 + DD 0x40229713,0x40229713 + DD 0x2011c684,0x2011c684 + DD 0x7d244a85,0x7d244a85 + DD 0xf83dbbd2,0xf83dbbd2 + DD 0x1132f9ae,0x1132f9ae + DD 0x6da129c7,0x6da129c7 + DD 0x4b2f9e1d,0x4b2f9e1d + DD 0xf330b2dc,0xf330b2dc + DD 0xec52860d,0xec52860d + DD 0xd0e3c177,0xd0e3c177 + DD 0x6c16b32b,0x6c16b32b + DD 0x99b970a9,0x99b970a9 + DD 0xfa489411,0xfa489411 + DD 0x2264e947,0x2264e947 + DD 0xc48cfca8,0xc48cfca8 + DD 0x1a3ff0a0,0x1a3ff0a0 + DD 0xd82c7d56,0xd82c7d56 + DD 0xef903322,0xef903322 + DD 0xc74e4987,0xc74e4987 + DD 0xc1d138d9,0xc1d138d9 + DD 0xfea2ca8c,0xfea2ca8c + DD 0x360bd498,0x360bd498 + DD 0xcf81f5a6,0xcf81f5a6 + DD 0x28de7aa5,0x28de7aa5 + DD 0x268eb7da,0x268eb7da + DD 0xa4bfad3f,0xa4bfad3f + DD 0xe49d3a2c,0xe49d3a2c + DD 0x0d927850,0x0d927850 + DD 0x9bcc5f6a,0x9bcc5f6a + DD 0x62467e54,0x62467e54 + DD 0xc2138df6,0xc2138df6 + DD 0xe8b8d890,0xe8b8d890 + DD 0x5ef7392e,0x5ef7392e + DD 0xf5afc382,0xf5afc382 + DD 0xbe805d9f,0xbe805d9f + DD 0x7c93d069,0x7c93d069 + DD 0xa92dd56f,0xa92dd56f + DD 0xb31225cf,0xb31225cf + DD 0x3b99acc8,0x3b99acc8 + DD 0xa77d1810,0xa77d1810 + DD 0x6e639ce8,0x6e639ce8 + DD 0x7bbb3bdb,0x7bbb3bdb + DD 0x097826cd,0x097826cd + DD 0xf418596e,0xf418596e + DD 0x01b79aec,0x01b79aec + DD 0xa89a4f83,0xa89a4f83 + DD 0x656e95e6,0x656e95e6 + DD 0x7ee6ffaa,0x7ee6ffaa + DD 0x08cfbc21,0x08cfbc21 + DD 0xe6e815ef,0xe6e815ef + DD 0xd99be7ba,0xd99be7ba + DD 0xce366f4a,0xce366f4a + DD 0xd4099fea,0xd4099fea + DD 0xd67cb029,0xd67cb029 + DD 0xafb2a431,0xafb2a431 + DD 0x31233f2a,0x31233f2a + DD 0x3094a5c6,0x3094a5c6 + DD 0xc066a235,0xc066a235 + DD 0x37bc4e74,0x37bc4e74 + DD 0xa6ca82fc,0xa6ca82fc + DD 0xb0d090e0,0xb0d090e0 + DD 0x15d8a733,0x15d8a733 + DD 0x4a9804f1,0x4a9804f1 + DD 0xf7daec41,0xf7daec41 + DD 0x0e50cd7f,0x0e50cd7f + DD 0x2ff69117,0x2ff69117 + DD 0x8dd64d76,0x8dd64d76 + DD 0x4db0ef43,0x4db0ef43 + DD 0x544daacc,0x544daacc + DD 0xdf0496e4,0xdf0496e4 + DD 0xe3b5d19e,0xe3b5d19e + DD 0x1b886a4c,0x1b886a4c + DD 0xb81f2cc1,0xb81f2cc1 + DD 0x7f516546,0x7f516546 + DD 0x04ea5e9d,0x04ea5e9d + DD 0x5d358c01,0x5d358c01 + DD 0x737487fa,0x737487fa + DD 0x2e410bfb,0x2e410bfb + DD 0x5a1d67b3,0x5a1d67b3 + DD 0x52d2db92,0x52d2db92 + DD 0x335610e9,0x335610e9 + DD 0x1347d66d,0x1347d66d + DD 0x8c61d79a,0x8c61d79a + DD 0x7a0ca137,0x7a0ca137 + DD 0x8e14f859,0x8e14f859 + DD 0x893c13eb,0x893c13eb + DD 0xee27a9ce,0xee27a9ce + DD 0x35c961b7,0x35c961b7 + DD 0xede51ce1,0xede51ce1 + DD 0x3cb1477a,0x3cb1477a + DD 0x59dfd29c,0x59dfd29c + DD 0x3f73f255,0x3f73f255 + DD 0x79ce1418,0x79ce1418 + DD 0xbf37c773,0xbf37c773 + DD 0xeacdf753,0xeacdf753 + DD 0x5baafd5f,0x5baafd5f + DD 0x146f3ddf,0x146f3ddf + DD 0x86db4478,0x86db4478 + DD 0x81f3afca,0x81f3afca + DD 0x3ec468b9,0x3ec468b9 + DD 0x2c342438,0x2c342438 + DD 0x5f40a3c2,0x5f40a3c2 + DD 0x72c31d16,0x72c31d16 + DD 0x0c25e2bc,0x0c25e2bc + DD 0x8b493c28,0x8b493c28 + DD 0x41950dff,0x41950dff + DD 0x7101a839,0x7101a839 + DD 0xdeb30c08,0xdeb30c08 + DD 0x9ce4b4d8,0x9ce4b4d8 + DD 0x90c15664,0x90c15664 + DD 0x6184cb7b,0x6184cb7b + DD 0x70b632d5,0x70b632d5 + DD 0x745c6c48,0x745c6c48 + DD 0x4257b8d0,0x4257b8d0 +DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 +DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb +DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 +DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb +DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d +DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e +DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 +DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 +DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 +DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 +DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda +DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 +DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a +DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 +DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 +DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b +DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea +DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 +DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 +DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e +DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 +DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b +DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 +DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 +DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 +DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f +DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d +DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef +DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 +DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 +DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 +DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d + DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe + DD 0x1b1b1b1b,0x1b1b1b1b,0,0 +DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 +DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb +DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 +DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb +DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d +DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e +DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 +DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 +DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 +DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 +DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda +DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 +DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a +DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 +DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 +DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b +DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea +DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 +DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 +DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e +DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 +DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b +DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 +DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 +DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 +DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f +DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d +DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef +DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 +DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 +DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 +DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d + DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe + DD 0x1b1b1b1b,0x1b1b1b1b,0,0 +DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 +DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb +DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 +DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb +DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d +DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e +DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 +DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 +DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 +DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 +DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda +DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 +DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a +DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 +DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 +DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b +DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea +DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 +DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 +DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e +DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 +DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b +DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 +DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 +DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 +DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f +DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d +DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef +DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 +DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 +DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 +DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d + DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe + DD 0x1b1b1b1b,0x1b1b1b1b,0,0 +DB 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 +DB 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb +DB 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 +DB 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb +DB 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d +DB 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e +DB 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 +DB 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 +DB 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 +DB 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 +DB 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda +DB 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 +DB 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a +DB 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 +DB 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 +DB 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b +DB 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea +DB 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 +DB 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 +DB 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e +DB 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 +DB 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b +DB 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 +DB 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 +DB 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 +DB 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f +DB 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d +DB 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef +DB 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 +DB 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 +DB 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 +DB 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d + DD 0x80808080,0x80808080,0xfefefefe,0xfefefefe + DD 0x1b1b1b1b,0x1b1b1b1b,0,0 +DB 65,69,83,32,102,111,114,32,120,56,54,95,54,52,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 64 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +block_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_block_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_block_prologue + + mov rax,QWORD[24+rax] + lea rax,[48+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$in_block_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + jmp NEAR $L$common_seh_exit + + + +ALIGN 16 +key_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_key_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_key_prologue + + lea rax,[56+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$in_key_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + jmp NEAR $L$common_seh_exit + + + +ALIGN 16 +cbc_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$cbc_prologue] + cmp rbx,r10 + jb NEAR $L$in_cbc_prologue + + lea r10,[$L$cbc_fast_body] + cmp rbx,r10 + jb NEAR $L$in_cbc_frame_setup + + lea r10,[$L$cbc_slow_prologue] + cmp rbx,r10 + jb NEAR $L$in_cbc_body + + lea r10,[$L$cbc_slow_body] + cmp rbx,r10 + jb NEAR $L$in_cbc_frame_setup + +$L$in_cbc_body: + mov rax,QWORD[152+r8] + + lea r10,[$L$cbc_epilogue] + cmp rbx,r10 + jae NEAR $L$in_cbc_prologue + + lea rax,[8+rax] + + lea r10,[$L$cbc_popfq] + cmp rbx,r10 + jae NEAR $L$in_cbc_prologue + + mov rax,QWORD[8+rax] + lea rax,[56+rax] + +$L$in_cbc_frame_setup: + mov rbx,QWORD[((-16))+rax] + mov rbp,QWORD[((-24))+rax] + mov r12,QWORD[((-32))+rax] + mov r13,QWORD[((-40))+rax] + mov r14,QWORD[((-48))+rax] + mov r15,QWORD[((-56))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$in_cbc_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + +$L$common_seh_exit: + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_AES_encrypt wrt ..imagebase + DD $L$SEH_end_AES_encrypt wrt ..imagebase + DD $L$SEH_info_AES_encrypt wrt ..imagebase + + DD $L$SEH_begin_AES_decrypt wrt ..imagebase + DD $L$SEH_end_AES_decrypt wrt ..imagebase + DD $L$SEH_info_AES_decrypt wrt ..imagebase + + DD $L$SEH_begin_private_AES_set_encrypt_key wrt ..imagebase + DD $L$SEH_end_private_AES_set_encrypt_key wrt ..imagebase + DD $L$SEH_info_private_AES_set_encrypt_key wrt ..imagebase + + DD $L$SEH_begin_private_AES_set_decrypt_key wrt ..imagebase + DD $L$SEH_end_private_AES_set_decrypt_key wrt ..imagebase + DD $L$SEH_info_private_AES_set_decrypt_key wrt ..imagebase + + DD $L$SEH_begin_AES_cbc_encrypt wrt ..imagebase + DD $L$SEH_end_AES_cbc_encrypt wrt ..imagebase + DD $L$SEH_info_AES_cbc_encrypt wrt ..imagebase + +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_AES_encrypt: +DB 9,0,0,0 + DD block_se_handler wrt ..imagebase + DD $L$enc_prologue wrt ..imagebase,$L$enc_epilogue wrt ..imagebase +$L$SEH_info_AES_decrypt: +DB 9,0,0,0 + DD block_se_handler wrt ..imagebase + DD $L$dec_prologue wrt ..imagebase,$L$dec_epilogue wrt ..imagebase +$L$SEH_info_private_AES_set_encrypt_key: +DB 9,0,0,0 + DD key_se_handler wrt ..imagebase + DD $L$enc_key_prologue wrt ..imagebase,$L$enc_key_epilogue wrt ..imagebase +$L$SEH_info_private_AES_set_decrypt_key: +DB 9,0,0,0 + DD key_se_handler wrt ..imagebase + DD $L$dec_key_prologue wrt ..imagebase,$L$dec_key_epilogue wrt ..imagebase +$L$SEH_info_AES_cbc_encrypt: +DB 9,0,0,0 + DD cbc_se_handler wrt ..imagebase diff --git a/tmp64/aesni-gcm-x86_64.asm b/tmp64/aesni-gcm-x86_64.asm index 4bf6e572..be7eae84 100644 --- a/tmp64/aesni-gcm-x86_64.asm +++ b/tmp64/aesni-gcm-x86_64.asm @@ -1,945 +1,945 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - - -ALIGN 32 -_aesni_ctr32_ghash_6x: - vmovdqu xmm2,XMMWORD[32+r11] - sub rdx,6 - vpxor xmm4,xmm4,xmm4 - vmovdqu xmm15,XMMWORD[((0-128))+rcx] - vpaddb xmm10,xmm1,xmm2 - vpaddb xmm11,xmm10,xmm2 - vpaddb xmm12,xmm11,xmm2 - vpaddb xmm13,xmm12,xmm2 - vpaddb xmm14,xmm13,xmm2 - vpxor xmm9,xmm1,xmm15 - vmovdqu XMMWORD[(16+8)+rsp],xmm4 - jmp NEAR $L$oop6x - -ALIGN 32 -$L$oop6x: - add ebx,100663296 - jc NEAR $L$handle_ctr32 - vmovdqu xmm3,XMMWORD[((0-32))+r9] - vpaddb xmm1,xmm14,xmm2 - vpxor xmm10,xmm10,xmm15 - vpxor xmm11,xmm11,xmm15 - -$L$resume_ctr32: - vmovdqu XMMWORD[r8],xmm1 - vpclmulqdq xmm5,xmm7,xmm3,0x10 - vpxor xmm12,xmm12,xmm15 - vmovups xmm2,XMMWORD[((16-128))+rcx] - vpclmulqdq xmm6,xmm7,xmm3,0x01 - xor r12,r12 - cmp r15,r14 - - vaesenc xmm9,xmm9,xmm2 - vmovdqu xmm0,XMMWORD[((48+8))+rsp] - vpxor xmm13,xmm13,xmm15 - vpclmulqdq xmm1,xmm7,xmm3,0x00 - vaesenc xmm10,xmm10,xmm2 - vpxor xmm14,xmm14,xmm15 - setnc r12b - vpclmulqdq xmm7,xmm7,xmm3,0x11 - vaesenc xmm11,xmm11,xmm2 - vmovdqu xmm3,XMMWORD[((16-32))+r9] - neg r12 - vaesenc xmm12,xmm12,xmm2 - vpxor xmm6,xmm6,xmm5 - vpclmulqdq xmm5,xmm0,xmm3,0x00 - vpxor xmm8,xmm8,xmm4 - vaesenc xmm13,xmm13,xmm2 - vpxor xmm4,xmm1,xmm5 - and r12,0x60 - vmovups xmm15,XMMWORD[((32-128))+rcx] - vpclmulqdq xmm1,xmm0,xmm3,0x10 - vaesenc xmm14,xmm14,xmm2 - - vpclmulqdq xmm2,xmm0,xmm3,0x01 - lea r14,[r12*1+r14] - vaesenc xmm9,xmm9,xmm15 - vpxor xmm8,xmm8,XMMWORD[((16+8))+rsp] - vpclmulqdq xmm3,xmm0,xmm3,0x11 - vmovdqu xmm0,XMMWORD[((64+8))+rsp] - vaesenc xmm10,xmm10,xmm15 - movbe r13,QWORD[88+r14] - vaesenc xmm11,xmm11,xmm15 - movbe r12,QWORD[80+r14] - vaesenc xmm12,xmm12,xmm15 - mov QWORD[((32+8))+rsp],r13 - vaesenc xmm13,xmm13,xmm15 - mov QWORD[((40+8))+rsp],r12 - vmovdqu xmm5,XMMWORD[((48-32))+r9] - vaesenc xmm14,xmm14,xmm15 - - vmovups xmm15,XMMWORD[((48-128))+rcx] - vpxor xmm6,xmm6,xmm1 - vpclmulqdq xmm1,xmm0,xmm5,0x00 - vaesenc xmm9,xmm9,xmm15 - vpxor xmm6,xmm6,xmm2 - vpclmulqdq xmm2,xmm0,xmm5,0x10 - vaesenc xmm10,xmm10,xmm15 - vpxor xmm7,xmm7,xmm3 - vpclmulqdq xmm3,xmm0,xmm5,0x01 - vaesenc xmm11,xmm11,xmm15 - vpclmulqdq xmm5,xmm0,xmm5,0x11 - vmovdqu xmm0,XMMWORD[((80+8))+rsp] - vaesenc xmm12,xmm12,xmm15 - vaesenc xmm13,xmm13,xmm15 - vpxor xmm4,xmm4,xmm1 - vmovdqu xmm1,XMMWORD[((64-32))+r9] - vaesenc xmm14,xmm14,xmm15 - - vmovups xmm15,XMMWORD[((64-128))+rcx] - vpxor xmm6,xmm6,xmm2 - vpclmulqdq xmm2,xmm0,xmm1,0x00 - vaesenc xmm9,xmm9,xmm15 - vpxor xmm6,xmm6,xmm3 - vpclmulqdq xmm3,xmm0,xmm1,0x10 - vaesenc xmm10,xmm10,xmm15 - movbe r13,QWORD[72+r14] - vpxor xmm7,xmm7,xmm5 - vpclmulqdq xmm5,xmm0,xmm1,0x01 - vaesenc xmm11,xmm11,xmm15 - movbe r12,QWORD[64+r14] - vpclmulqdq xmm1,xmm0,xmm1,0x11 - vmovdqu xmm0,XMMWORD[((96+8))+rsp] - vaesenc xmm12,xmm12,xmm15 - mov QWORD[((48+8))+rsp],r13 - vaesenc xmm13,xmm13,xmm15 - mov QWORD[((56+8))+rsp],r12 - vpxor xmm4,xmm4,xmm2 - vmovdqu xmm2,XMMWORD[((96-32))+r9] - vaesenc xmm14,xmm14,xmm15 - - vmovups xmm15,XMMWORD[((80-128))+rcx] - vpxor xmm6,xmm6,xmm3 - vpclmulqdq xmm3,xmm0,xmm2,0x00 - vaesenc xmm9,xmm9,xmm15 - vpxor xmm6,xmm6,xmm5 - vpclmulqdq xmm5,xmm0,xmm2,0x10 - vaesenc xmm10,xmm10,xmm15 - movbe r13,QWORD[56+r14] - vpxor xmm7,xmm7,xmm1 - vpclmulqdq xmm1,xmm0,xmm2,0x01 - vpxor xmm8,xmm8,XMMWORD[((112+8))+rsp] - vaesenc xmm11,xmm11,xmm15 - movbe r12,QWORD[48+r14] - vpclmulqdq xmm2,xmm0,xmm2,0x11 - vaesenc xmm12,xmm12,xmm15 - mov QWORD[((64+8))+rsp],r13 - vaesenc xmm13,xmm13,xmm15 - mov QWORD[((72+8))+rsp],r12 - vpxor xmm4,xmm4,xmm3 - vmovdqu xmm3,XMMWORD[((112-32))+r9] - vaesenc xmm14,xmm14,xmm15 - - vmovups xmm15,XMMWORD[((96-128))+rcx] - vpxor xmm6,xmm6,xmm5 - vpclmulqdq xmm5,xmm8,xmm3,0x10 - vaesenc xmm9,xmm9,xmm15 - vpxor xmm6,xmm6,xmm1 - vpclmulqdq xmm1,xmm8,xmm3,0x01 - vaesenc xmm10,xmm10,xmm15 - movbe r13,QWORD[40+r14] - vpxor xmm7,xmm7,xmm2 - vpclmulqdq xmm2,xmm8,xmm3,0x00 - vaesenc xmm11,xmm11,xmm15 - movbe r12,QWORD[32+r14] - vpclmulqdq xmm8,xmm8,xmm3,0x11 - vaesenc xmm12,xmm12,xmm15 - mov QWORD[((80+8))+rsp],r13 - vaesenc xmm13,xmm13,xmm15 - mov QWORD[((88+8))+rsp],r12 - vpxor xmm6,xmm6,xmm5 - vaesenc xmm14,xmm14,xmm15 - vpxor xmm6,xmm6,xmm1 - - vmovups xmm15,XMMWORD[((112-128))+rcx] - vpslldq xmm5,xmm6,8 - vpxor xmm4,xmm4,xmm2 - vmovdqu xmm3,XMMWORD[16+r11] - - vaesenc xmm9,xmm9,xmm15 - vpxor xmm7,xmm7,xmm8 - vaesenc xmm10,xmm10,xmm15 - vpxor xmm4,xmm4,xmm5 - movbe r13,QWORD[24+r14] - vaesenc xmm11,xmm11,xmm15 - movbe r12,QWORD[16+r14] - vpalignr xmm0,xmm4,xmm4,8 - vpclmulqdq xmm4,xmm4,xmm3,0x10 - mov QWORD[((96+8))+rsp],r13 - vaesenc xmm12,xmm12,xmm15 - mov QWORD[((104+8))+rsp],r12 - vaesenc xmm13,xmm13,xmm15 - vmovups xmm1,XMMWORD[((128-128))+rcx] - vaesenc xmm14,xmm14,xmm15 - - vaesenc xmm9,xmm9,xmm1 - vmovups xmm15,XMMWORD[((144-128))+rcx] - vaesenc xmm10,xmm10,xmm1 - vpsrldq xmm6,xmm6,8 - vaesenc xmm11,xmm11,xmm1 - vpxor xmm7,xmm7,xmm6 - vaesenc xmm12,xmm12,xmm1 - vpxor xmm4,xmm4,xmm0 - movbe r13,QWORD[8+r14] - vaesenc xmm13,xmm13,xmm1 - movbe r12,QWORD[r14] - vaesenc xmm14,xmm14,xmm1 - vmovups xmm1,XMMWORD[((160-128))+rcx] - cmp ebp,11 - jb NEAR $L$enc_tail - - vaesenc xmm9,xmm9,xmm15 - vaesenc xmm10,xmm10,xmm15 - vaesenc xmm11,xmm11,xmm15 - vaesenc xmm12,xmm12,xmm15 - vaesenc xmm13,xmm13,xmm15 - vaesenc xmm14,xmm14,xmm15 - - vaesenc xmm9,xmm9,xmm1 - vaesenc xmm10,xmm10,xmm1 - vaesenc xmm11,xmm11,xmm1 - vaesenc xmm12,xmm12,xmm1 - vaesenc xmm13,xmm13,xmm1 - vmovups xmm15,XMMWORD[((176-128))+rcx] - vaesenc xmm14,xmm14,xmm1 - vmovups xmm1,XMMWORD[((192-128))+rcx] - je NEAR $L$enc_tail - - vaesenc xmm9,xmm9,xmm15 - vaesenc xmm10,xmm10,xmm15 - vaesenc xmm11,xmm11,xmm15 - vaesenc xmm12,xmm12,xmm15 - vaesenc xmm13,xmm13,xmm15 - vaesenc xmm14,xmm14,xmm15 - - vaesenc xmm9,xmm9,xmm1 - vaesenc xmm10,xmm10,xmm1 - vaesenc xmm11,xmm11,xmm1 - vaesenc xmm12,xmm12,xmm1 - vaesenc xmm13,xmm13,xmm1 - vmovups xmm15,XMMWORD[((208-128))+rcx] - vaesenc xmm14,xmm14,xmm1 - vmovups xmm1,XMMWORD[((224-128))+rcx] - jmp NEAR $L$enc_tail - -ALIGN 32 -$L$handle_ctr32: - vmovdqu xmm0,XMMWORD[r11] - vpshufb xmm6,xmm1,xmm0 - vmovdqu xmm5,XMMWORD[48+r11] - vpaddd xmm10,xmm6,XMMWORD[64+r11] - vpaddd xmm11,xmm6,xmm5 - vmovdqu xmm3,XMMWORD[((0-32))+r9] - vpaddd xmm12,xmm10,xmm5 - vpshufb xmm10,xmm10,xmm0 - vpaddd xmm13,xmm11,xmm5 - vpshufb xmm11,xmm11,xmm0 - vpxor xmm10,xmm10,xmm15 - vpaddd xmm14,xmm12,xmm5 - vpshufb xmm12,xmm12,xmm0 - vpxor xmm11,xmm11,xmm15 - vpaddd xmm1,xmm13,xmm5 - vpshufb xmm13,xmm13,xmm0 - vpshufb xmm14,xmm14,xmm0 - vpshufb xmm1,xmm1,xmm0 - jmp NEAR $L$resume_ctr32 - -ALIGN 32 -$L$enc_tail: - vaesenc xmm9,xmm9,xmm15 - vmovdqu XMMWORD[(16+8)+rsp],xmm7 - vpalignr xmm8,xmm4,xmm4,8 - vaesenc xmm10,xmm10,xmm15 - vpclmulqdq xmm4,xmm4,xmm3,0x10 - vpxor xmm2,xmm1,XMMWORD[rdi] - vaesenc xmm11,xmm11,xmm15 - vpxor xmm0,xmm1,XMMWORD[16+rdi] - vaesenc xmm12,xmm12,xmm15 - vpxor xmm5,xmm1,XMMWORD[32+rdi] - vaesenc xmm13,xmm13,xmm15 - vpxor xmm6,xmm1,XMMWORD[48+rdi] - vaesenc xmm14,xmm14,xmm15 - vpxor xmm7,xmm1,XMMWORD[64+rdi] - vpxor xmm3,xmm1,XMMWORD[80+rdi] - vmovdqu xmm1,XMMWORD[r8] - - vaesenclast xmm9,xmm9,xmm2 - vmovdqu xmm2,XMMWORD[32+r11] - vaesenclast xmm10,xmm10,xmm0 - vpaddb xmm0,xmm1,xmm2 - mov QWORD[((112+8))+rsp],r13 - lea rdi,[96+rdi] - vaesenclast xmm11,xmm11,xmm5 - vpaddb xmm5,xmm0,xmm2 - mov QWORD[((120+8))+rsp],r12 - lea rsi,[96+rsi] - vmovdqu xmm15,XMMWORD[((0-128))+rcx] - vaesenclast xmm12,xmm12,xmm6 - vpaddb xmm6,xmm5,xmm2 - vaesenclast xmm13,xmm13,xmm7 - vpaddb xmm7,xmm6,xmm2 - vaesenclast xmm14,xmm14,xmm3 - vpaddb xmm3,xmm7,xmm2 - - add r10,0x60 - sub rdx,0x6 - jc NEAR $L$6x_done - - vmovups XMMWORD[(-96)+rsi],xmm9 - vpxor xmm9,xmm1,xmm15 - vmovups XMMWORD[(-80)+rsi],xmm10 - vmovdqa xmm10,xmm0 - vmovups XMMWORD[(-64)+rsi],xmm11 - vmovdqa xmm11,xmm5 - vmovups XMMWORD[(-48)+rsi],xmm12 - vmovdqa xmm12,xmm6 - vmovups XMMWORD[(-32)+rsi],xmm13 - vmovdqa xmm13,xmm7 - vmovups XMMWORD[(-16)+rsi],xmm14 - vmovdqa xmm14,xmm3 - vmovdqu xmm7,XMMWORD[((32+8))+rsp] - jmp NEAR $L$oop6x - -$L$6x_done: - vpxor xmm8,xmm8,XMMWORD[((16+8))+rsp] - vpxor xmm8,xmm8,xmm4 - - DB 0F3h,0C3h ;repret - -global aesni_gcm_decrypt - -ALIGN 32 -aesni_gcm_decrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_gcm_decrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - xor r10,r10 - cmp rdx,0x60 - jb NEAR $L$gcm_dec_abort - - lea rax,[rsp] - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-168))+rsp] - movaps XMMWORD[(-216)+rax],xmm6 - movaps XMMWORD[(-200)+rax],xmm7 - movaps XMMWORD[(-184)+rax],xmm8 - movaps XMMWORD[(-168)+rax],xmm9 - movaps XMMWORD[(-152)+rax],xmm10 - movaps XMMWORD[(-136)+rax],xmm11 - movaps XMMWORD[(-120)+rax],xmm12 - movaps XMMWORD[(-104)+rax],xmm13 - movaps XMMWORD[(-88)+rax],xmm14 - movaps XMMWORD[(-72)+rax],xmm15 -$L$gcm_dec_body: - vzeroupper - - vmovdqu xmm1,XMMWORD[r8] - add rsp,-128 - mov ebx,DWORD[12+r8] - lea r11,[$L$bswap_mask] - lea r14,[((-128))+rcx] - mov r15,0xf80 - vmovdqu xmm8,XMMWORD[r9] - and rsp,-128 - vmovdqu xmm0,XMMWORD[r11] - lea rcx,[128+rcx] - lea r9,[((32+32))+r9] - mov ebp,DWORD[((240-128))+rcx] - vpshufb xmm8,xmm8,xmm0 - - and r14,r15 - and r15,rsp - sub r15,r14 - jc NEAR $L$dec_no_key_aliasing - cmp r15,768 - jnc NEAR $L$dec_no_key_aliasing - sub rsp,r15 -$L$dec_no_key_aliasing: - - vmovdqu xmm7,XMMWORD[80+rdi] - lea r14,[rdi] - vmovdqu xmm4,XMMWORD[64+rdi] - lea r15,[((-192))+rdx*1+rdi] - vmovdqu xmm5,XMMWORD[48+rdi] - shr rdx,4 - xor r10,r10 - vmovdqu xmm6,XMMWORD[32+rdi] - vpshufb xmm7,xmm7,xmm0 - vmovdqu xmm2,XMMWORD[16+rdi] - vpshufb xmm4,xmm4,xmm0 - vmovdqu xmm3,XMMWORD[rdi] - vpshufb xmm5,xmm5,xmm0 - vmovdqu XMMWORD[48+rsp],xmm4 - vpshufb xmm6,xmm6,xmm0 - vmovdqu XMMWORD[64+rsp],xmm5 - vpshufb xmm2,xmm2,xmm0 - vmovdqu XMMWORD[80+rsp],xmm6 - vpshufb xmm3,xmm3,xmm0 - vmovdqu XMMWORD[96+rsp],xmm2 - vmovdqu XMMWORD[112+rsp],xmm3 - - call _aesni_ctr32_ghash_6x - - vmovups XMMWORD[(-96)+rsi],xmm9 - vmovups XMMWORD[(-80)+rsi],xmm10 - vmovups XMMWORD[(-64)+rsi],xmm11 - vmovups XMMWORD[(-48)+rsi],xmm12 - vmovups XMMWORD[(-32)+rsi],xmm13 - vmovups XMMWORD[(-16)+rsi],xmm14 - - vpshufb xmm8,xmm8,XMMWORD[r11] - vmovdqu XMMWORD[(-64)+r9],xmm8 - - vzeroupper - movaps xmm6,XMMWORD[((-216))+rax] - movaps xmm7,XMMWORD[((-200))+rax] - movaps xmm8,XMMWORD[((-184))+rax] - movaps xmm9,XMMWORD[((-168))+rax] - movaps xmm10,XMMWORD[((-152))+rax] - movaps xmm11,XMMWORD[((-136))+rax] - movaps xmm12,XMMWORD[((-120))+rax] - movaps xmm13,XMMWORD[((-104))+rax] - movaps xmm14,XMMWORD[((-88))+rax] - movaps xmm15,XMMWORD[((-72))+rax] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$gcm_dec_abort: - mov rax,r10 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_gcm_decrypt: - -ALIGN 32 -_aesni_ctr32_6x: - vmovdqu xmm4,XMMWORD[((0-128))+rcx] - vmovdqu xmm2,XMMWORD[32+r11] - lea r13,[((-1))+rbp] - vmovups xmm15,XMMWORD[((16-128))+rcx] - lea r12,[((32-128))+rcx] - vpxor xmm9,xmm1,xmm4 - add ebx,100663296 - jc NEAR $L$handle_ctr32_2 - vpaddb xmm10,xmm1,xmm2 - vpaddb xmm11,xmm10,xmm2 - vpxor xmm10,xmm10,xmm4 - vpaddb xmm12,xmm11,xmm2 - vpxor xmm11,xmm11,xmm4 - vpaddb xmm13,xmm12,xmm2 - vpxor xmm12,xmm12,xmm4 - vpaddb xmm14,xmm13,xmm2 - vpxor xmm13,xmm13,xmm4 - vpaddb xmm1,xmm14,xmm2 - vpxor xmm14,xmm14,xmm4 - jmp NEAR $L$oop_ctr32 - -ALIGN 16 -$L$oop_ctr32: - vaesenc xmm9,xmm9,xmm15 - vaesenc xmm10,xmm10,xmm15 - vaesenc xmm11,xmm11,xmm15 - vaesenc xmm12,xmm12,xmm15 - vaesenc xmm13,xmm13,xmm15 - vaesenc xmm14,xmm14,xmm15 - vmovups xmm15,XMMWORD[r12] - lea r12,[16+r12] - dec r13d - jnz NEAR $L$oop_ctr32 - - vmovdqu xmm3,XMMWORD[r12] - vaesenc xmm9,xmm9,xmm15 - vpxor xmm4,xmm3,XMMWORD[rdi] - vaesenc xmm10,xmm10,xmm15 - vpxor xmm5,xmm3,XMMWORD[16+rdi] - vaesenc xmm11,xmm11,xmm15 - vpxor xmm6,xmm3,XMMWORD[32+rdi] - vaesenc xmm12,xmm12,xmm15 - vpxor xmm8,xmm3,XMMWORD[48+rdi] - vaesenc xmm13,xmm13,xmm15 - vpxor xmm2,xmm3,XMMWORD[64+rdi] - vaesenc xmm14,xmm14,xmm15 - vpxor xmm3,xmm3,XMMWORD[80+rdi] - lea rdi,[96+rdi] - - vaesenclast xmm9,xmm9,xmm4 - vaesenclast xmm10,xmm10,xmm5 - vaesenclast xmm11,xmm11,xmm6 - vaesenclast xmm12,xmm12,xmm8 - vaesenclast xmm13,xmm13,xmm2 - vaesenclast xmm14,xmm14,xmm3 - vmovups XMMWORD[rsi],xmm9 - vmovups XMMWORD[16+rsi],xmm10 - vmovups XMMWORD[32+rsi],xmm11 - vmovups XMMWORD[48+rsi],xmm12 - vmovups XMMWORD[64+rsi],xmm13 - vmovups XMMWORD[80+rsi],xmm14 - lea rsi,[96+rsi] - - DB 0F3h,0C3h ;repret -ALIGN 32 -$L$handle_ctr32_2: - vpshufb xmm6,xmm1,xmm0 - vmovdqu xmm5,XMMWORD[48+r11] - vpaddd xmm10,xmm6,XMMWORD[64+r11] - vpaddd xmm11,xmm6,xmm5 - vpaddd xmm12,xmm10,xmm5 - vpshufb xmm10,xmm10,xmm0 - vpaddd xmm13,xmm11,xmm5 - vpshufb xmm11,xmm11,xmm0 - vpxor xmm10,xmm10,xmm4 - vpaddd xmm14,xmm12,xmm5 - vpshufb xmm12,xmm12,xmm0 - vpxor xmm11,xmm11,xmm4 - vpaddd xmm1,xmm13,xmm5 - vpshufb xmm13,xmm13,xmm0 - vpxor xmm12,xmm12,xmm4 - vpshufb xmm14,xmm14,xmm0 - vpxor xmm13,xmm13,xmm4 - vpshufb xmm1,xmm1,xmm0 - vpxor xmm14,xmm14,xmm4 - jmp NEAR $L$oop_ctr32 - - -global aesni_gcm_encrypt - -ALIGN 32 -aesni_gcm_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_gcm_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - xor r10,r10 - cmp rdx,0x60*3 - jb NEAR $L$gcm_enc_abort - - lea rax,[rsp] - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-168))+rsp] - movaps XMMWORD[(-216)+rax],xmm6 - movaps XMMWORD[(-200)+rax],xmm7 - movaps XMMWORD[(-184)+rax],xmm8 - movaps XMMWORD[(-168)+rax],xmm9 - movaps XMMWORD[(-152)+rax],xmm10 - movaps XMMWORD[(-136)+rax],xmm11 - movaps XMMWORD[(-120)+rax],xmm12 - movaps XMMWORD[(-104)+rax],xmm13 - movaps XMMWORD[(-88)+rax],xmm14 - movaps XMMWORD[(-72)+rax],xmm15 -$L$gcm_enc_body: - vzeroupper - - vmovdqu xmm1,XMMWORD[r8] - add rsp,-128 - mov ebx,DWORD[12+r8] - lea r11,[$L$bswap_mask] - lea r14,[((-128))+rcx] - mov r15,0xf80 - lea rcx,[128+rcx] - vmovdqu xmm0,XMMWORD[r11] - and rsp,-128 - mov ebp,DWORD[((240-128))+rcx] - - and r14,r15 - and r15,rsp - sub r15,r14 - jc NEAR $L$enc_no_key_aliasing - cmp r15,768 - jnc NEAR $L$enc_no_key_aliasing - sub rsp,r15 -$L$enc_no_key_aliasing: - - lea r14,[rsi] - lea r15,[((-192))+rdx*1+rsi] - shr rdx,4 - - call _aesni_ctr32_6x - vpshufb xmm8,xmm9,xmm0 - vpshufb xmm2,xmm10,xmm0 - vmovdqu XMMWORD[112+rsp],xmm8 - vpshufb xmm4,xmm11,xmm0 - vmovdqu XMMWORD[96+rsp],xmm2 - vpshufb xmm5,xmm12,xmm0 - vmovdqu XMMWORD[80+rsp],xmm4 - vpshufb xmm6,xmm13,xmm0 - vmovdqu XMMWORD[64+rsp],xmm5 - vpshufb xmm7,xmm14,xmm0 - vmovdqu XMMWORD[48+rsp],xmm6 - - call _aesni_ctr32_6x - - vmovdqu xmm8,XMMWORD[r9] - lea r9,[((32+32))+r9] - sub rdx,12 - mov r10,0x60*2 - vpshufb xmm8,xmm8,xmm0 - - call _aesni_ctr32_ghash_6x - vmovdqu xmm7,XMMWORD[32+rsp] - vmovdqu xmm0,XMMWORD[r11] - vmovdqu xmm3,XMMWORD[((0-32))+r9] - vpunpckhqdq xmm1,xmm7,xmm7 - vmovdqu xmm15,XMMWORD[((32-32))+r9] - vmovups XMMWORD[(-96)+rsi],xmm9 - vpshufb xmm9,xmm9,xmm0 - vpxor xmm1,xmm1,xmm7 - vmovups XMMWORD[(-80)+rsi],xmm10 - vpshufb xmm10,xmm10,xmm0 - vmovups XMMWORD[(-64)+rsi],xmm11 - vpshufb xmm11,xmm11,xmm0 - vmovups XMMWORD[(-48)+rsi],xmm12 - vpshufb xmm12,xmm12,xmm0 - vmovups XMMWORD[(-32)+rsi],xmm13 - vpshufb xmm13,xmm13,xmm0 - vmovups XMMWORD[(-16)+rsi],xmm14 - vpshufb xmm14,xmm14,xmm0 - vmovdqu XMMWORD[16+rsp],xmm9 - vmovdqu xmm6,XMMWORD[48+rsp] - vmovdqu xmm0,XMMWORD[((16-32))+r9] - vpunpckhqdq xmm2,xmm6,xmm6 - vpclmulqdq xmm5,xmm7,xmm3,0x00 - vpxor xmm2,xmm2,xmm6 - vpclmulqdq xmm7,xmm7,xmm3,0x11 - vpclmulqdq xmm1,xmm1,xmm15,0x00 - - vmovdqu xmm9,XMMWORD[64+rsp] - vpclmulqdq xmm4,xmm6,xmm0,0x00 - vmovdqu xmm3,XMMWORD[((48-32))+r9] - vpxor xmm4,xmm4,xmm5 - vpunpckhqdq xmm5,xmm9,xmm9 - vpclmulqdq xmm6,xmm6,xmm0,0x11 - vpxor xmm5,xmm5,xmm9 - vpxor xmm6,xmm6,xmm7 - vpclmulqdq xmm2,xmm2,xmm15,0x10 - vmovdqu xmm15,XMMWORD[((80-32))+r9] - vpxor xmm2,xmm2,xmm1 - - vmovdqu xmm1,XMMWORD[80+rsp] - vpclmulqdq xmm7,xmm9,xmm3,0x00 - vmovdqu xmm0,XMMWORD[((64-32))+r9] - vpxor xmm7,xmm7,xmm4 - vpunpckhqdq xmm4,xmm1,xmm1 - vpclmulqdq xmm9,xmm9,xmm3,0x11 - vpxor xmm4,xmm4,xmm1 - vpxor xmm9,xmm9,xmm6 - vpclmulqdq xmm5,xmm5,xmm15,0x00 - vpxor xmm5,xmm5,xmm2 - - vmovdqu xmm2,XMMWORD[96+rsp] - vpclmulqdq xmm6,xmm1,xmm0,0x00 - vmovdqu xmm3,XMMWORD[((96-32))+r9] - vpxor xmm6,xmm6,xmm7 - vpunpckhqdq xmm7,xmm2,xmm2 - vpclmulqdq xmm1,xmm1,xmm0,0x11 - vpxor xmm7,xmm7,xmm2 - vpxor xmm1,xmm1,xmm9 - vpclmulqdq xmm4,xmm4,xmm15,0x10 - vmovdqu xmm15,XMMWORD[((128-32))+r9] - vpxor xmm4,xmm4,xmm5 - - vpxor xmm8,xmm8,XMMWORD[112+rsp] - vpclmulqdq xmm5,xmm2,xmm3,0x00 - vmovdqu xmm0,XMMWORD[((112-32))+r9] - vpunpckhqdq xmm9,xmm8,xmm8 - vpxor xmm5,xmm5,xmm6 - vpclmulqdq xmm2,xmm2,xmm3,0x11 - vpxor xmm9,xmm9,xmm8 - vpxor xmm2,xmm2,xmm1 - vpclmulqdq xmm7,xmm7,xmm15,0x00 - vpxor xmm4,xmm7,xmm4 - - vpclmulqdq xmm6,xmm8,xmm0,0x00 - vmovdqu xmm3,XMMWORD[((0-32))+r9] - vpunpckhqdq xmm1,xmm14,xmm14 - vpclmulqdq xmm8,xmm8,xmm0,0x11 - vpxor xmm1,xmm1,xmm14 - vpxor xmm5,xmm6,xmm5 - vpclmulqdq xmm9,xmm9,xmm15,0x10 - vmovdqu xmm15,XMMWORD[((32-32))+r9] - vpxor xmm7,xmm8,xmm2 - vpxor xmm6,xmm9,xmm4 - - vmovdqu xmm0,XMMWORD[((16-32))+r9] - vpxor xmm9,xmm7,xmm5 - vpclmulqdq xmm4,xmm14,xmm3,0x00 - vpxor xmm6,xmm6,xmm9 - vpunpckhqdq xmm2,xmm13,xmm13 - vpclmulqdq xmm14,xmm14,xmm3,0x11 - vpxor xmm2,xmm2,xmm13 - vpslldq xmm9,xmm6,8 - vpclmulqdq xmm1,xmm1,xmm15,0x00 - vpxor xmm8,xmm5,xmm9 - vpsrldq xmm6,xmm6,8 - vpxor xmm7,xmm7,xmm6 - - vpclmulqdq xmm5,xmm13,xmm0,0x00 - vmovdqu xmm3,XMMWORD[((48-32))+r9] - vpxor xmm5,xmm5,xmm4 - vpunpckhqdq xmm9,xmm12,xmm12 - vpclmulqdq xmm13,xmm13,xmm0,0x11 - vpxor xmm9,xmm9,xmm12 - vpxor xmm13,xmm13,xmm14 - vpalignr xmm14,xmm8,xmm8,8 - vpclmulqdq xmm2,xmm2,xmm15,0x10 - vmovdqu xmm15,XMMWORD[((80-32))+r9] - vpxor xmm2,xmm2,xmm1 - - vpclmulqdq xmm4,xmm12,xmm3,0x00 - vmovdqu xmm0,XMMWORD[((64-32))+r9] - vpxor xmm4,xmm4,xmm5 - vpunpckhqdq xmm1,xmm11,xmm11 - vpclmulqdq xmm12,xmm12,xmm3,0x11 - vpxor xmm1,xmm1,xmm11 - vpxor xmm12,xmm12,xmm13 - vxorps xmm7,xmm7,XMMWORD[16+rsp] - vpclmulqdq xmm9,xmm9,xmm15,0x00 - vpxor xmm9,xmm9,xmm2 - - vpclmulqdq xmm8,xmm8,XMMWORD[16+r11],0x10 - vxorps xmm8,xmm8,xmm14 - - vpclmulqdq xmm5,xmm11,xmm0,0x00 - vmovdqu xmm3,XMMWORD[((96-32))+r9] - vpxor xmm5,xmm5,xmm4 - vpunpckhqdq xmm2,xmm10,xmm10 - vpclmulqdq xmm11,xmm11,xmm0,0x11 - vpxor xmm2,xmm2,xmm10 - vpalignr xmm14,xmm8,xmm8,8 - vpxor xmm11,xmm11,xmm12 - vpclmulqdq xmm1,xmm1,xmm15,0x10 - vmovdqu xmm15,XMMWORD[((128-32))+r9] - vpxor xmm1,xmm1,xmm9 - - vxorps xmm14,xmm14,xmm7 - vpclmulqdq xmm8,xmm8,XMMWORD[16+r11],0x10 - vxorps xmm8,xmm8,xmm14 - - vpclmulqdq xmm4,xmm10,xmm3,0x00 - vmovdqu xmm0,XMMWORD[((112-32))+r9] - vpxor xmm4,xmm4,xmm5 - vpunpckhqdq xmm9,xmm8,xmm8 - vpclmulqdq xmm10,xmm10,xmm3,0x11 - vpxor xmm9,xmm9,xmm8 - vpxor xmm10,xmm10,xmm11 - vpclmulqdq xmm2,xmm2,xmm15,0x00 - vpxor xmm2,xmm2,xmm1 - - vpclmulqdq xmm5,xmm8,xmm0,0x00 - vpclmulqdq xmm7,xmm8,xmm0,0x11 - vpxor xmm5,xmm5,xmm4 - vpclmulqdq xmm6,xmm9,xmm15,0x10 - vpxor xmm7,xmm7,xmm10 - vpxor xmm6,xmm6,xmm2 - - vpxor xmm4,xmm7,xmm5 - vpxor xmm6,xmm6,xmm4 - vpslldq xmm1,xmm6,8 - vmovdqu xmm3,XMMWORD[16+r11] - vpsrldq xmm6,xmm6,8 - vpxor xmm8,xmm5,xmm1 - vpxor xmm7,xmm7,xmm6 - - vpalignr xmm2,xmm8,xmm8,8 - vpclmulqdq xmm8,xmm8,xmm3,0x10 - vpxor xmm8,xmm8,xmm2 - - vpalignr xmm2,xmm8,xmm8,8 - vpclmulqdq xmm8,xmm8,xmm3,0x10 - vpxor xmm2,xmm2,xmm7 - vpxor xmm8,xmm8,xmm2 - vpshufb xmm8,xmm8,XMMWORD[r11] - vmovdqu XMMWORD[(-64)+r9],xmm8 - - vzeroupper - movaps xmm6,XMMWORD[((-216))+rax] - movaps xmm7,XMMWORD[((-200))+rax] - movaps xmm8,XMMWORD[((-184))+rax] - movaps xmm9,XMMWORD[((-168))+rax] - movaps xmm10,XMMWORD[((-152))+rax] - movaps xmm11,XMMWORD[((-136))+rax] - movaps xmm12,XMMWORD[((-120))+rax] - movaps xmm13,XMMWORD[((-104))+rax] - movaps xmm14,XMMWORD[((-88))+rax] - movaps xmm15,XMMWORD[((-72))+rax] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$gcm_enc_abort: - mov rax,r10 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_gcm_encrypt: -ALIGN 64 -$L$bswap_mask: -DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 -$L$poly: -DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 -$L$one_msb: -DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -$L$two_lsb: -DB 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -$L$one_lsb: -DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -DB 65,69,83,45,78,73,32,71,67,77,32,109,111,100,117,108 -DB 101,32,102,111,114,32,120,56,54,95,54,52,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 -ALIGN 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -gcm_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - mov rax,QWORD[120+r8] - - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - mov QWORD[240+r8],r15 - mov QWORD[232+r8],r14 - mov QWORD[224+r8],r13 - mov QWORD[216+r8],r12 - mov QWORD[160+r8],rbp - mov QWORD[144+r8],rbx - - lea rsi,[((-216))+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - -$L$common_seh_tail: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_aesni_gcm_decrypt wrt ..imagebase - DD $L$SEH_end_aesni_gcm_decrypt wrt ..imagebase - DD $L$SEH_gcm_dec_info wrt ..imagebase - - DD $L$SEH_begin_aesni_gcm_encrypt wrt ..imagebase - DD $L$SEH_end_aesni_gcm_encrypt wrt ..imagebase - DD $L$SEH_gcm_enc_info wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_gcm_dec_info: -DB 9,0,0,0 - DD gcm_se_handler wrt ..imagebase - DD $L$gcm_dec_body wrt ..imagebase,$L$gcm_dec_abort wrt ..imagebase -$L$SEH_gcm_enc_info: -DB 9,0,0,0 - DD gcm_se_handler wrt ..imagebase - DD $L$gcm_enc_body wrt ..imagebase,$L$gcm_enc_abort wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + + +ALIGN 32 +_aesni_ctr32_ghash_6x: + vmovdqu xmm2,XMMWORD[32+r11] + sub rdx,6 + vpxor xmm4,xmm4,xmm4 + vmovdqu xmm15,XMMWORD[((0-128))+rcx] + vpaddb xmm10,xmm1,xmm2 + vpaddb xmm11,xmm10,xmm2 + vpaddb xmm12,xmm11,xmm2 + vpaddb xmm13,xmm12,xmm2 + vpaddb xmm14,xmm13,xmm2 + vpxor xmm9,xmm1,xmm15 + vmovdqu XMMWORD[(16+8)+rsp],xmm4 + jmp NEAR $L$oop6x + +ALIGN 32 +$L$oop6x: + add ebx,100663296 + jc NEAR $L$handle_ctr32 + vmovdqu xmm3,XMMWORD[((0-32))+r9] + vpaddb xmm1,xmm14,xmm2 + vpxor xmm10,xmm10,xmm15 + vpxor xmm11,xmm11,xmm15 + +$L$resume_ctr32: + vmovdqu XMMWORD[r8],xmm1 + vpclmulqdq xmm5,xmm7,xmm3,0x10 + vpxor xmm12,xmm12,xmm15 + vmovups xmm2,XMMWORD[((16-128))+rcx] + vpclmulqdq xmm6,xmm7,xmm3,0x01 + xor r12,r12 + cmp r15,r14 + + vaesenc xmm9,xmm9,xmm2 + vmovdqu xmm0,XMMWORD[((48+8))+rsp] + vpxor xmm13,xmm13,xmm15 + vpclmulqdq xmm1,xmm7,xmm3,0x00 + vaesenc xmm10,xmm10,xmm2 + vpxor xmm14,xmm14,xmm15 + setnc r12b + vpclmulqdq xmm7,xmm7,xmm3,0x11 + vaesenc xmm11,xmm11,xmm2 + vmovdqu xmm3,XMMWORD[((16-32))+r9] + neg r12 + vaesenc xmm12,xmm12,xmm2 + vpxor xmm6,xmm6,xmm5 + vpclmulqdq xmm5,xmm0,xmm3,0x00 + vpxor xmm8,xmm8,xmm4 + vaesenc xmm13,xmm13,xmm2 + vpxor xmm4,xmm1,xmm5 + and r12,0x60 + vmovups xmm15,XMMWORD[((32-128))+rcx] + vpclmulqdq xmm1,xmm0,xmm3,0x10 + vaesenc xmm14,xmm14,xmm2 + + vpclmulqdq xmm2,xmm0,xmm3,0x01 + lea r14,[r12*1+r14] + vaesenc xmm9,xmm9,xmm15 + vpxor xmm8,xmm8,XMMWORD[((16+8))+rsp] + vpclmulqdq xmm3,xmm0,xmm3,0x11 + vmovdqu xmm0,XMMWORD[((64+8))+rsp] + vaesenc xmm10,xmm10,xmm15 + movbe r13,QWORD[88+r14] + vaesenc xmm11,xmm11,xmm15 + movbe r12,QWORD[80+r14] + vaesenc xmm12,xmm12,xmm15 + mov QWORD[((32+8))+rsp],r13 + vaesenc xmm13,xmm13,xmm15 + mov QWORD[((40+8))+rsp],r12 + vmovdqu xmm5,XMMWORD[((48-32))+r9] + vaesenc xmm14,xmm14,xmm15 + + vmovups xmm15,XMMWORD[((48-128))+rcx] + vpxor xmm6,xmm6,xmm1 + vpclmulqdq xmm1,xmm0,xmm5,0x00 + vaesenc xmm9,xmm9,xmm15 + vpxor xmm6,xmm6,xmm2 + vpclmulqdq xmm2,xmm0,xmm5,0x10 + vaesenc xmm10,xmm10,xmm15 + vpxor xmm7,xmm7,xmm3 + vpclmulqdq xmm3,xmm0,xmm5,0x01 + vaesenc xmm11,xmm11,xmm15 + vpclmulqdq xmm5,xmm0,xmm5,0x11 + vmovdqu xmm0,XMMWORD[((80+8))+rsp] + vaesenc xmm12,xmm12,xmm15 + vaesenc xmm13,xmm13,xmm15 + vpxor xmm4,xmm4,xmm1 + vmovdqu xmm1,XMMWORD[((64-32))+r9] + vaesenc xmm14,xmm14,xmm15 + + vmovups xmm15,XMMWORD[((64-128))+rcx] + vpxor xmm6,xmm6,xmm2 + vpclmulqdq xmm2,xmm0,xmm1,0x00 + vaesenc xmm9,xmm9,xmm15 + vpxor xmm6,xmm6,xmm3 + vpclmulqdq xmm3,xmm0,xmm1,0x10 + vaesenc xmm10,xmm10,xmm15 + movbe r13,QWORD[72+r14] + vpxor xmm7,xmm7,xmm5 + vpclmulqdq xmm5,xmm0,xmm1,0x01 + vaesenc xmm11,xmm11,xmm15 + movbe r12,QWORD[64+r14] + vpclmulqdq xmm1,xmm0,xmm1,0x11 + vmovdqu xmm0,XMMWORD[((96+8))+rsp] + vaesenc xmm12,xmm12,xmm15 + mov QWORD[((48+8))+rsp],r13 + vaesenc xmm13,xmm13,xmm15 + mov QWORD[((56+8))+rsp],r12 + vpxor xmm4,xmm4,xmm2 + vmovdqu xmm2,XMMWORD[((96-32))+r9] + vaesenc xmm14,xmm14,xmm15 + + vmovups xmm15,XMMWORD[((80-128))+rcx] + vpxor xmm6,xmm6,xmm3 + vpclmulqdq xmm3,xmm0,xmm2,0x00 + vaesenc xmm9,xmm9,xmm15 + vpxor xmm6,xmm6,xmm5 + vpclmulqdq xmm5,xmm0,xmm2,0x10 + vaesenc xmm10,xmm10,xmm15 + movbe r13,QWORD[56+r14] + vpxor xmm7,xmm7,xmm1 + vpclmulqdq xmm1,xmm0,xmm2,0x01 + vpxor xmm8,xmm8,XMMWORD[((112+8))+rsp] + vaesenc xmm11,xmm11,xmm15 + movbe r12,QWORD[48+r14] + vpclmulqdq xmm2,xmm0,xmm2,0x11 + vaesenc xmm12,xmm12,xmm15 + mov QWORD[((64+8))+rsp],r13 + vaesenc xmm13,xmm13,xmm15 + mov QWORD[((72+8))+rsp],r12 + vpxor xmm4,xmm4,xmm3 + vmovdqu xmm3,XMMWORD[((112-32))+r9] + vaesenc xmm14,xmm14,xmm15 + + vmovups xmm15,XMMWORD[((96-128))+rcx] + vpxor xmm6,xmm6,xmm5 + vpclmulqdq xmm5,xmm8,xmm3,0x10 + vaesenc xmm9,xmm9,xmm15 + vpxor xmm6,xmm6,xmm1 + vpclmulqdq xmm1,xmm8,xmm3,0x01 + vaesenc xmm10,xmm10,xmm15 + movbe r13,QWORD[40+r14] + vpxor xmm7,xmm7,xmm2 + vpclmulqdq xmm2,xmm8,xmm3,0x00 + vaesenc xmm11,xmm11,xmm15 + movbe r12,QWORD[32+r14] + vpclmulqdq xmm8,xmm8,xmm3,0x11 + vaesenc xmm12,xmm12,xmm15 + mov QWORD[((80+8))+rsp],r13 + vaesenc xmm13,xmm13,xmm15 + mov QWORD[((88+8))+rsp],r12 + vpxor xmm6,xmm6,xmm5 + vaesenc xmm14,xmm14,xmm15 + vpxor xmm6,xmm6,xmm1 + + vmovups xmm15,XMMWORD[((112-128))+rcx] + vpslldq xmm5,xmm6,8 + vpxor xmm4,xmm4,xmm2 + vmovdqu xmm3,XMMWORD[16+r11] + + vaesenc xmm9,xmm9,xmm15 + vpxor xmm7,xmm7,xmm8 + vaesenc xmm10,xmm10,xmm15 + vpxor xmm4,xmm4,xmm5 + movbe r13,QWORD[24+r14] + vaesenc xmm11,xmm11,xmm15 + movbe r12,QWORD[16+r14] + vpalignr xmm0,xmm4,xmm4,8 + vpclmulqdq xmm4,xmm4,xmm3,0x10 + mov QWORD[((96+8))+rsp],r13 + vaesenc xmm12,xmm12,xmm15 + mov QWORD[((104+8))+rsp],r12 + vaesenc xmm13,xmm13,xmm15 + vmovups xmm1,XMMWORD[((128-128))+rcx] + vaesenc xmm14,xmm14,xmm15 + + vaesenc xmm9,xmm9,xmm1 + vmovups xmm15,XMMWORD[((144-128))+rcx] + vaesenc xmm10,xmm10,xmm1 + vpsrldq xmm6,xmm6,8 + vaesenc xmm11,xmm11,xmm1 + vpxor xmm7,xmm7,xmm6 + vaesenc xmm12,xmm12,xmm1 + vpxor xmm4,xmm4,xmm0 + movbe r13,QWORD[8+r14] + vaesenc xmm13,xmm13,xmm1 + movbe r12,QWORD[r14] + vaesenc xmm14,xmm14,xmm1 + vmovups xmm1,XMMWORD[((160-128))+rcx] + cmp ebp,11 + jb NEAR $L$enc_tail + + vaesenc xmm9,xmm9,xmm15 + vaesenc xmm10,xmm10,xmm15 + vaesenc xmm11,xmm11,xmm15 + vaesenc xmm12,xmm12,xmm15 + vaesenc xmm13,xmm13,xmm15 + vaesenc xmm14,xmm14,xmm15 + + vaesenc xmm9,xmm9,xmm1 + vaesenc xmm10,xmm10,xmm1 + vaesenc xmm11,xmm11,xmm1 + vaesenc xmm12,xmm12,xmm1 + vaesenc xmm13,xmm13,xmm1 + vmovups xmm15,XMMWORD[((176-128))+rcx] + vaesenc xmm14,xmm14,xmm1 + vmovups xmm1,XMMWORD[((192-128))+rcx] + je NEAR $L$enc_tail + + vaesenc xmm9,xmm9,xmm15 + vaesenc xmm10,xmm10,xmm15 + vaesenc xmm11,xmm11,xmm15 + vaesenc xmm12,xmm12,xmm15 + vaesenc xmm13,xmm13,xmm15 + vaesenc xmm14,xmm14,xmm15 + + vaesenc xmm9,xmm9,xmm1 + vaesenc xmm10,xmm10,xmm1 + vaesenc xmm11,xmm11,xmm1 + vaesenc xmm12,xmm12,xmm1 + vaesenc xmm13,xmm13,xmm1 + vmovups xmm15,XMMWORD[((208-128))+rcx] + vaesenc xmm14,xmm14,xmm1 + vmovups xmm1,XMMWORD[((224-128))+rcx] + jmp NEAR $L$enc_tail + +ALIGN 32 +$L$handle_ctr32: + vmovdqu xmm0,XMMWORD[r11] + vpshufb xmm6,xmm1,xmm0 + vmovdqu xmm5,XMMWORD[48+r11] + vpaddd xmm10,xmm6,XMMWORD[64+r11] + vpaddd xmm11,xmm6,xmm5 + vmovdqu xmm3,XMMWORD[((0-32))+r9] + vpaddd xmm12,xmm10,xmm5 + vpshufb xmm10,xmm10,xmm0 + vpaddd xmm13,xmm11,xmm5 + vpshufb xmm11,xmm11,xmm0 + vpxor xmm10,xmm10,xmm15 + vpaddd xmm14,xmm12,xmm5 + vpshufb xmm12,xmm12,xmm0 + vpxor xmm11,xmm11,xmm15 + vpaddd xmm1,xmm13,xmm5 + vpshufb xmm13,xmm13,xmm0 + vpshufb xmm14,xmm14,xmm0 + vpshufb xmm1,xmm1,xmm0 + jmp NEAR $L$resume_ctr32 + +ALIGN 32 +$L$enc_tail: + vaesenc xmm9,xmm9,xmm15 + vmovdqu XMMWORD[(16+8)+rsp],xmm7 + vpalignr xmm8,xmm4,xmm4,8 + vaesenc xmm10,xmm10,xmm15 + vpclmulqdq xmm4,xmm4,xmm3,0x10 + vpxor xmm2,xmm1,XMMWORD[rdi] + vaesenc xmm11,xmm11,xmm15 + vpxor xmm0,xmm1,XMMWORD[16+rdi] + vaesenc xmm12,xmm12,xmm15 + vpxor xmm5,xmm1,XMMWORD[32+rdi] + vaesenc xmm13,xmm13,xmm15 + vpxor xmm6,xmm1,XMMWORD[48+rdi] + vaesenc xmm14,xmm14,xmm15 + vpxor xmm7,xmm1,XMMWORD[64+rdi] + vpxor xmm3,xmm1,XMMWORD[80+rdi] + vmovdqu xmm1,XMMWORD[r8] + + vaesenclast xmm9,xmm9,xmm2 + vmovdqu xmm2,XMMWORD[32+r11] + vaesenclast xmm10,xmm10,xmm0 + vpaddb xmm0,xmm1,xmm2 + mov QWORD[((112+8))+rsp],r13 + lea rdi,[96+rdi] + vaesenclast xmm11,xmm11,xmm5 + vpaddb xmm5,xmm0,xmm2 + mov QWORD[((120+8))+rsp],r12 + lea rsi,[96+rsi] + vmovdqu xmm15,XMMWORD[((0-128))+rcx] + vaesenclast xmm12,xmm12,xmm6 + vpaddb xmm6,xmm5,xmm2 + vaesenclast xmm13,xmm13,xmm7 + vpaddb xmm7,xmm6,xmm2 + vaesenclast xmm14,xmm14,xmm3 + vpaddb xmm3,xmm7,xmm2 + + add r10,0x60 + sub rdx,0x6 + jc NEAR $L$6x_done + + vmovups XMMWORD[(-96)+rsi],xmm9 + vpxor xmm9,xmm1,xmm15 + vmovups XMMWORD[(-80)+rsi],xmm10 + vmovdqa xmm10,xmm0 + vmovups XMMWORD[(-64)+rsi],xmm11 + vmovdqa xmm11,xmm5 + vmovups XMMWORD[(-48)+rsi],xmm12 + vmovdqa xmm12,xmm6 + vmovups XMMWORD[(-32)+rsi],xmm13 + vmovdqa xmm13,xmm7 + vmovups XMMWORD[(-16)+rsi],xmm14 + vmovdqa xmm14,xmm3 + vmovdqu xmm7,XMMWORD[((32+8))+rsp] + jmp NEAR $L$oop6x + +$L$6x_done: + vpxor xmm8,xmm8,XMMWORD[((16+8))+rsp] + vpxor xmm8,xmm8,xmm4 + + DB 0F3h,0C3h ;repret + +global aesni_gcm_decrypt + +ALIGN 32 +aesni_gcm_decrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_gcm_decrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + xor r10,r10 + cmp rdx,0x60 + jb NEAR $L$gcm_dec_abort + + lea rax,[rsp] + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] + movaps XMMWORD[(-216)+rax],xmm6 + movaps XMMWORD[(-200)+rax],xmm7 + movaps XMMWORD[(-184)+rax],xmm8 + movaps XMMWORD[(-168)+rax],xmm9 + movaps XMMWORD[(-152)+rax],xmm10 + movaps XMMWORD[(-136)+rax],xmm11 + movaps XMMWORD[(-120)+rax],xmm12 + movaps XMMWORD[(-104)+rax],xmm13 + movaps XMMWORD[(-88)+rax],xmm14 + movaps XMMWORD[(-72)+rax],xmm15 +$L$gcm_dec_body: + vzeroupper + + vmovdqu xmm1,XMMWORD[r8] + add rsp,-128 + mov ebx,DWORD[12+r8] + lea r11,[$L$bswap_mask] + lea r14,[((-128))+rcx] + mov r15,0xf80 + vmovdqu xmm8,XMMWORD[r9] + and rsp,-128 + vmovdqu xmm0,XMMWORD[r11] + lea rcx,[128+rcx] + lea r9,[((32+32))+r9] + mov ebp,DWORD[((240-128))+rcx] + vpshufb xmm8,xmm8,xmm0 + + and r14,r15 + and r15,rsp + sub r15,r14 + jc NEAR $L$dec_no_key_aliasing + cmp r15,768 + jnc NEAR $L$dec_no_key_aliasing + sub rsp,r15 +$L$dec_no_key_aliasing: + + vmovdqu xmm7,XMMWORD[80+rdi] + lea r14,[rdi] + vmovdqu xmm4,XMMWORD[64+rdi] + lea r15,[((-192))+rdx*1+rdi] + vmovdqu xmm5,XMMWORD[48+rdi] + shr rdx,4 + xor r10,r10 + vmovdqu xmm6,XMMWORD[32+rdi] + vpshufb xmm7,xmm7,xmm0 + vmovdqu xmm2,XMMWORD[16+rdi] + vpshufb xmm4,xmm4,xmm0 + vmovdqu xmm3,XMMWORD[rdi] + vpshufb xmm5,xmm5,xmm0 + vmovdqu XMMWORD[48+rsp],xmm4 + vpshufb xmm6,xmm6,xmm0 + vmovdqu XMMWORD[64+rsp],xmm5 + vpshufb xmm2,xmm2,xmm0 + vmovdqu XMMWORD[80+rsp],xmm6 + vpshufb xmm3,xmm3,xmm0 + vmovdqu XMMWORD[96+rsp],xmm2 + vmovdqu XMMWORD[112+rsp],xmm3 + + call _aesni_ctr32_ghash_6x + + vmovups XMMWORD[(-96)+rsi],xmm9 + vmovups XMMWORD[(-80)+rsi],xmm10 + vmovups XMMWORD[(-64)+rsi],xmm11 + vmovups XMMWORD[(-48)+rsi],xmm12 + vmovups XMMWORD[(-32)+rsi],xmm13 + vmovups XMMWORD[(-16)+rsi],xmm14 + + vpshufb xmm8,xmm8,XMMWORD[r11] + vmovdqu XMMWORD[(-64)+r9],xmm8 + + vzeroupper + movaps xmm6,XMMWORD[((-216))+rax] + movaps xmm7,XMMWORD[((-200))+rax] + movaps xmm8,XMMWORD[((-184))+rax] + movaps xmm9,XMMWORD[((-168))+rax] + movaps xmm10,XMMWORD[((-152))+rax] + movaps xmm11,XMMWORD[((-136))+rax] + movaps xmm12,XMMWORD[((-120))+rax] + movaps xmm13,XMMWORD[((-104))+rax] + movaps xmm14,XMMWORD[((-88))+rax] + movaps xmm15,XMMWORD[((-72))+rax] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$gcm_dec_abort: + mov rax,r10 + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_gcm_decrypt: + +ALIGN 32 +_aesni_ctr32_6x: + vmovdqu xmm4,XMMWORD[((0-128))+rcx] + vmovdqu xmm2,XMMWORD[32+r11] + lea r13,[((-1))+rbp] + vmovups xmm15,XMMWORD[((16-128))+rcx] + lea r12,[((32-128))+rcx] + vpxor xmm9,xmm1,xmm4 + add ebx,100663296 + jc NEAR $L$handle_ctr32_2 + vpaddb xmm10,xmm1,xmm2 + vpaddb xmm11,xmm10,xmm2 + vpxor xmm10,xmm10,xmm4 + vpaddb xmm12,xmm11,xmm2 + vpxor xmm11,xmm11,xmm4 + vpaddb xmm13,xmm12,xmm2 + vpxor xmm12,xmm12,xmm4 + vpaddb xmm14,xmm13,xmm2 + vpxor xmm13,xmm13,xmm4 + vpaddb xmm1,xmm14,xmm2 + vpxor xmm14,xmm14,xmm4 + jmp NEAR $L$oop_ctr32 + +ALIGN 16 +$L$oop_ctr32: + vaesenc xmm9,xmm9,xmm15 + vaesenc xmm10,xmm10,xmm15 + vaesenc xmm11,xmm11,xmm15 + vaesenc xmm12,xmm12,xmm15 + vaesenc xmm13,xmm13,xmm15 + vaesenc xmm14,xmm14,xmm15 + vmovups xmm15,XMMWORD[r12] + lea r12,[16+r12] + dec r13d + jnz NEAR $L$oop_ctr32 + + vmovdqu xmm3,XMMWORD[r12] + vaesenc xmm9,xmm9,xmm15 + vpxor xmm4,xmm3,XMMWORD[rdi] + vaesenc xmm10,xmm10,xmm15 + vpxor xmm5,xmm3,XMMWORD[16+rdi] + vaesenc xmm11,xmm11,xmm15 + vpxor xmm6,xmm3,XMMWORD[32+rdi] + vaesenc xmm12,xmm12,xmm15 + vpxor xmm8,xmm3,XMMWORD[48+rdi] + vaesenc xmm13,xmm13,xmm15 + vpxor xmm2,xmm3,XMMWORD[64+rdi] + vaesenc xmm14,xmm14,xmm15 + vpxor xmm3,xmm3,XMMWORD[80+rdi] + lea rdi,[96+rdi] + + vaesenclast xmm9,xmm9,xmm4 + vaesenclast xmm10,xmm10,xmm5 + vaesenclast xmm11,xmm11,xmm6 + vaesenclast xmm12,xmm12,xmm8 + vaesenclast xmm13,xmm13,xmm2 + vaesenclast xmm14,xmm14,xmm3 + vmovups XMMWORD[rsi],xmm9 + vmovups XMMWORD[16+rsi],xmm10 + vmovups XMMWORD[32+rsi],xmm11 + vmovups XMMWORD[48+rsi],xmm12 + vmovups XMMWORD[64+rsi],xmm13 + vmovups XMMWORD[80+rsi],xmm14 + lea rsi,[96+rsi] + + DB 0F3h,0C3h ;repret +ALIGN 32 +$L$handle_ctr32_2: + vpshufb xmm6,xmm1,xmm0 + vmovdqu xmm5,XMMWORD[48+r11] + vpaddd xmm10,xmm6,XMMWORD[64+r11] + vpaddd xmm11,xmm6,xmm5 + vpaddd xmm12,xmm10,xmm5 + vpshufb xmm10,xmm10,xmm0 + vpaddd xmm13,xmm11,xmm5 + vpshufb xmm11,xmm11,xmm0 + vpxor xmm10,xmm10,xmm4 + vpaddd xmm14,xmm12,xmm5 + vpshufb xmm12,xmm12,xmm0 + vpxor xmm11,xmm11,xmm4 + vpaddd xmm1,xmm13,xmm5 + vpshufb xmm13,xmm13,xmm0 + vpxor xmm12,xmm12,xmm4 + vpshufb xmm14,xmm14,xmm0 + vpxor xmm13,xmm13,xmm4 + vpshufb xmm1,xmm1,xmm0 + vpxor xmm14,xmm14,xmm4 + jmp NEAR $L$oop_ctr32 + + +global aesni_gcm_encrypt + +ALIGN 32 +aesni_gcm_encrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_gcm_encrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + xor r10,r10 + cmp rdx,0x60*3 + jb NEAR $L$gcm_enc_abort + + lea rax,[rsp] + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] + movaps XMMWORD[(-216)+rax],xmm6 + movaps XMMWORD[(-200)+rax],xmm7 + movaps XMMWORD[(-184)+rax],xmm8 + movaps XMMWORD[(-168)+rax],xmm9 + movaps XMMWORD[(-152)+rax],xmm10 + movaps XMMWORD[(-136)+rax],xmm11 + movaps XMMWORD[(-120)+rax],xmm12 + movaps XMMWORD[(-104)+rax],xmm13 + movaps XMMWORD[(-88)+rax],xmm14 + movaps XMMWORD[(-72)+rax],xmm15 +$L$gcm_enc_body: + vzeroupper + + vmovdqu xmm1,XMMWORD[r8] + add rsp,-128 + mov ebx,DWORD[12+r8] + lea r11,[$L$bswap_mask] + lea r14,[((-128))+rcx] + mov r15,0xf80 + lea rcx,[128+rcx] + vmovdqu xmm0,XMMWORD[r11] + and rsp,-128 + mov ebp,DWORD[((240-128))+rcx] + + and r14,r15 + and r15,rsp + sub r15,r14 + jc NEAR $L$enc_no_key_aliasing + cmp r15,768 + jnc NEAR $L$enc_no_key_aliasing + sub rsp,r15 +$L$enc_no_key_aliasing: + + lea r14,[rsi] + lea r15,[((-192))+rdx*1+rsi] + shr rdx,4 + + call _aesni_ctr32_6x + vpshufb xmm8,xmm9,xmm0 + vpshufb xmm2,xmm10,xmm0 + vmovdqu XMMWORD[112+rsp],xmm8 + vpshufb xmm4,xmm11,xmm0 + vmovdqu XMMWORD[96+rsp],xmm2 + vpshufb xmm5,xmm12,xmm0 + vmovdqu XMMWORD[80+rsp],xmm4 + vpshufb xmm6,xmm13,xmm0 + vmovdqu XMMWORD[64+rsp],xmm5 + vpshufb xmm7,xmm14,xmm0 + vmovdqu XMMWORD[48+rsp],xmm6 + + call _aesni_ctr32_6x + + vmovdqu xmm8,XMMWORD[r9] + lea r9,[((32+32))+r9] + sub rdx,12 + mov r10,0x60*2 + vpshufb xmm8,xmm8,xmm0 + + call _aesni_ctr32_ghash_6x + vmovdqu xmm7,XMMWORD[32+rsp] + vmovdqu xmm0,XMMWORD[r11] + vmovdqu xmm3,XMMWORD[((0-32))+r9] + vpunpckhqdq xmm1,xmm7,xmm7 + vmovdqu xmm15,XMMWORD[((32-32))+r9] + vmovups XMMWORD[(-96)+rsi],xmm9 + vpshufb xmm9,xmm9,xmm0 + vpxor xmm1,xmm1,xmm7 + vmovups XMMWORD[(-80)+rsi],xmm10 + vpshufb xmm10,xmm10,xmm0 + vmovups XMMWORD[(-64)+rsi],xmm11 + vpshufb xmm11,xmm11,xmm0 + vmovups XMMWORD[(-48)+rsi],xmm12 + vpshufb xmm12,xmm12,xmm0 + vmovups XMMWORD[(-32)+rsi],xmm13 + vpshufb xmm13,xmm13,xmm0 + vmovups XMMWORD[(-16)+rsi],xmm14 + vpshufb xmm14,xmm14,xmm0 + vmovdqu XMMWORD[16+rsp],xmm9 + vmovdqu xmm6,XMMWORD[48+rsp] + vmovdqu xmm0,XMMWORD[((16-32))+r9] + vpunpckhqdq xmm2,xmm6,xmm6 + vpclmulqdq xmm5,xmm7,xmm3,0x00 + vpxor xmm2,xmm2,xmm6 + vpclmulqdq xmm7,xmm7,xmm3,0x11 + vpclmulqdq xmm1,xmm1,xmm15,0x00 + + vmovdqu xmm9,XMMWORD[64+rsp] + vpclmulqdq xmm4,xmm6,xmm0,0x00 + vmovdqu xmm3,XMMWORD[((48-32))+r9] + vpxor xmm4,xmm4,xmm5 + vpunpckhqdq xmm5,xmm9,xmm9 + vpclmulqdq xmm6,xmm6,xmm0,0x11 + vpxor xmm5,xmm5,xmm9 + vpxor xmm6,xmm6,xmm7 + vpclmulqdq xmm2,xmm2,xmm15,0x10 + vmovdqu xmm15,XMMWORD[((80-32))+r9] + vpxor xmm2,xmm2,xmm1 + + vmovdqu xmm1,XMMWORD[80+rsp] + vpclmulqdq xmm7,xmm9,xmm3,0x00 + vmovdqu xmm0,XMMWORD[((64-32))+r9] + vpxor xmm7,xmm7,xmm4 + vpunpckhqdq xmm4,xmm1,xmm1 + vpclmulqdq xmm9,xmm9,xmm3,0x11 + vpxor xmm4,xmm4,xmm1 + vpxor xmm9,xmm9,xmm6 + vpclmulqdq xmm5,xmm5,xmm15,0x00 + vpxor xmm5,xmm5,xmm2 + + vmovdqu xmm2,XMMWORD[96+rsp] + vpclmulqdq xmm6,xmm1,xmm0,0x00 + vmovdqu xmm3,XMMWORD[((96-32))+r9] + vpxor xmm6,xmm6,xmm7 + vpunpckhqdq xmm7,xmm2,xmm2 + vpclmulqdq xmm1,xmm1,xmm0,0x11 + vpxor xmm7,xmm7,xmm2 + vpxor xmm1,xmm1,xmm9 + vpclmulqdq xmm4,xmm4,xmm15,0x10 + vmovdqu xmm15,XMMWORD[((128-32))+r9] + vpxor xmm4,xmm4,xmm5 + + vpxor xmm8,xmm8,XMMWORD[112+rsp] + vpclmulqdq xmm5,xmm2,xmm3,0x00 + vmovdqu xmm0,XMMWORD[((112-32))+r9] + vpunpckhqdq xmm9,xmm8,xmm8 + vpxor xmm5,xmm5,xmm6 + vpclmulqdq xmm2,xmm2,xmm3,0x11 + vpxor xmm9,xmm9,xmm8 + vpxor xmm2,xmm2,xmm1 + vpclmulqdq xmm7,xmm7,xmm15,0x00 + vpxor xmm4,xmm7,xmm4 + + vpclmulqdq xmm6,xmm8,xmm0,0x00 + vmovdqu xmm3,XMMWORD[((0-32))+r9] + vpunpckhqdq xmm1,xmm14,xmm14 + vpclmulqdq xmm8,xmm8,xmm0,0x11 + vpxor xmm1,xmm1,xmm14 + vpxor xmm5,xmm6,xmm5 + vpclmulqdq xmm9,xmm9,xmm15,0x10 + vmovdqu xmm15,XMMWORD[((32-32))+r9] + vpxor xmm7,xmm8,xmm2 + vpxor xmm6,xmm9,xmm4 + + vmovdqu xmm0,XMMWORD[((16-32))+r9] + vpxor xmm9,xmm7,xmm5 + vpclmulqdq xmm4,xmm14,xmm3,0x00 + vpxor xmm6,xmm6,xmm9 + vpunpckhqdq xmm2,xmm13,xmm13 + vpclmulqdq xmm14,xmm14,xmm3,0x11 + vpxor xmm2,xmm2,xmm13 + vpslldq xmm9,xmm6,8 + vpclmulqdq xmm1,xmm1,xmm15,0x00 + vpxor xmm8,xmm5,xmm9 + vpsrldq xmm6,xmm6,8 + vpxor xmm7,xmm7,xmm6 + + vpclmulqdq xmm5,xmm13,xmm0,0x00 + vmovdqu xmm3,XMMWORD[((48-32))+r9] + vpxor xmm5,xmm5,xmm4 + vpunpckhqdq xmm9,xmm12,xmm12 + vpclmulqdq xmm13,xmm13,xmm0,0x11 + vpxor xmm9,xmm9,xmm12 + vpxor xmm13,xmm13,xmm14 + vpalignr xmm14,xmm8,xmm8,8 + vpclmulqdq xmm2,xmm2,xmm15,0x10 + vmovdqu xmm15,XMMWORD[((80-32))+r9] + vpxor xmm2,xmm2,xmm1 + + vpclmulqdq xmm4,xmm12,xmm3,0x00 + vmovdqu xmm0,XMMWORD[((64-32))+r9] + vpxor xmm4,xmm4,xmm5 + vpunpckhqdq xmm1,xmm11,xmm11 + vpclmulqdq xmm12,xmm12,xmm3,0x11 + vpxor xmm1,xmm1,xmm11 + vpxor xmm12,xmm12,xmm13 + vxorps xmm7,xmm7,XMMWORD[16+rsp] + vpclmulqdq xmm9,xmm9,xmm15,0x00 + vpxor xmm9,xmm9,xmm2 + + vpclmulqdq xmm8,xmm8,XMMWORD[16+r11],0x10 + vxorps xmm8,xmm8,xmm14 + + vpclmulqdq xmm5,xmm11,xmm0,0x00 + vmovdqu xmm3,XMMWORD[((96-32))+r9] + vpxor xmm5,xmm5,xmm4 + vpunpckhqdq xmm2,xmm10,xmm10 + vpclmulqdq xmm11,xmm11,xmm0,0x11 + vpxor xmm2,xmm2,xmm10 + vpalignr xmm14,xmm8,xmm8,8 + vpxor xmm11,xmm11,xmm12 + vpclmulqdq xmm1,xmm1,xmm15,0x10 + vmovdqu xmm15,XMMWORD[((128-32))+r9] + vpxor xmm1,xmm1,xmm9 + + vxorps xmm14,xmm14,xmm7 + vpclmulqdq xmm8,xmm8,XMMWORD[16+r11],0x10 + vxorps xmm8,xmm8,xmm14 + + vpclmulqdq xmm4,xmm10,xmm3,0x00 + vmovdqu xmm0,XMMWORD[((112-32))+r9] + vpxor xmm4,xmm4,xmm5 + vpunpckhqdq xmm9,xmm8,xmm8 + vpclmulqdq xmm10,xmm10,xmm3,0x11 + vpxor xmm9,xmm9,xmm8 + vpxor xmm10,xmm10,xmm11 + vpclmulqdq xmm2,xmm2,xmm15,0x00 + vpxor xmm2,xmm2,xmm1 + + vpclmulqdq xmm5,xmm8,xmm0,0x00 + vpclmulqdq xmm7,xmm8,xmm0,0x11 + vpxor xmm5,xmm5,xmm4 + vpclmulqdq xmm6,xmm9,xmm15,0x10 + vpxor xmm7,xmm7,xmm10 + vpxor xmm6,xmm6,xmm2 + + vpxor xmm4,xmm7,xmm5 + vpxor xmm6,xmm6,xmm4 + vpslldq xmm1,xmm6,8 + vmovdqu xmm3,XMMWORD[16+r11] + vpsrldq xmm6,xmm6,8 + vpxor xmm8,xmm5,xmm1 + vpxor xmm7,xmm7,xmm6 + + vpalignr xmm2,xmm8,xmm8,8 + vpclmulqdq xmm8,xmm8,xmm3,0x10 + vpxor xmm8,xmm8,xmm2 + + vpalignr xmm2,xmm8,xmm8,8 + vpclmulqdq xmm8,xmm8,xmm3,0x10 + vpxor xmm2,xmm2,xmm7 + vpxor xmm8,xmm8,xmm2 + vpshufb xmm8,xmm8,XMMWORD[r11] + vmovdqu XMMWORD[(-64)+r9],xmm8 + + vzeroupper + movaps xmm6,XMMWORD[((-216))+rax] + movaps xmm7,XMMWORD[((-200))+rax] + movaps xmm8,XMMWORD[((-184))+rax] + movaps xmm9,XMMWORD[((-168))+rax] + movaps xmm10,XMMWORD[((-152))+rax] + movaps xmm11,XMMWORD[((-136))+rax] + movaps xmm12,XMMWORD[((-120))+rax] + movaps xmm13,XMMWORD[((-104))+rax] + movaps xmm14,XMMWORD[((-88))+rax] + movaps xmm15,XMMWORD[((-72))+rax] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$gcm_enc_abort: + mov rax,r10 + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_gcm_encrypt: +ALIGN 64 +$L$bswap_mask: +DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 +$L$poly: +DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 +$L$one_msb: +DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +$L$two_lsb: +DB 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +$L$one_lsb: +DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +DB 65,69,83,45,78,73,32,71,67,77,32,109,111,100,117,108 +DB 101,32,102,111,114,32,120,56,54,95,54,52,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 +ALIGN 64 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +gcm_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + mov rax,QWORD[120+r8] + + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + mov QWORD[240+r8],r15 + mov QWORD[232+r8],r14 + mov QWORD[224+r8],r13 + mov QWORD[216+r8],r12 + mov QWORD[160+r8],rbp + mov QWORD[144+r8],rbx + + lea rsi,[((-216))+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + +$L$common_seh_tail: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_aesni_gcm_decrypt wrt ..imagebase + DD $L$SEH_end_aesni_gcm_decrypt wrt ..imagebase + DD $L$SEH_gcm_dec_info wrt ..imagebase + + DD $L$SEH_begin_aesni_gcm_encrypt wrt ..imagebase + DD $L$SEH_end_aesni_gcm_encrypt wrt ..imagebase + DD $L$SEH_gcm_enc_info wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_gcm_dec_info: +DB 9,0,0,0 + DD gcm_se_handler wrt ..imagebase + DD $L$gcm_dec_body wrt ..imagebase,$L$gcm_dec_abort wrt ..imagebase +$L$SEH_gcm_enc_info: +DB 9,0,0,0 + DD gcm_se_handler wrt ..imagebase + DD $L$gcm_enc_body wrt ..imagebase,$L$gcm_enc_abort wrt ..imagebase diff --git a/tmp64/aesni-mb-x86_64.asm b/tmp64/aesni-mb-x86_64.asm index e7fdb214..4ab08e8a 100644 --- a/tmp64/aesni-mb-x86_64.asm +++ b/tmp64/aesni-mb-x86_64.asm @@ -1,1693 +1,1693 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN OPENSSL_ia32cap_P - -global aesni_multi_cbc_encrypt - -ALIGN 32 -aesni_multi_cbc_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_multi_cbc_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - cmp edx,2 - jb NEAR $L$enc_non_avx - mov ecx,DWORD[((OPENSSL_ia32cap_P+4))] - test ecx,268435456 - jnz NEAR _avx_cbc_enc_shortcut - jmp NEAR $L$enc_non_avx -ALIGN 16 -$L$enc_non_avx: - mov rax,rsp - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[64+rsp],xmm10 - movaps XMMWORD[80+rsp],xmm11 - movaps XMMWORD[96+rsp],xmm12 - movaps XMMWORD[(-104)+rax],xmm13 - movaps XMMWORD[(-88)+rax],xmm14 - movaps XMMWORD[(-72)+rax],xmm15 - - - - - - - sub rsp,48 - and rsp,-64 - mov QWORD[16+rsp],rax - -$L$enc4x_body: - movdqu xmm12,XMMWORD[rsi] - lea rsi,[120+rsi] - lea rdi,[80+rdi] - -$L$enc4x_loop_grande: - mov DWORD[24+rsp],edx - xor edx,edx - mov ecx,DWORD[((-64))+rdi] - mov r8,QWORD[((-80))+rdi] - cmp ecx,edx - mov r12,QWORD[((-72))+rdi] - cmovg edx,ecx - test ecx,ecx - movdqu xmm2,XMMWORD[((-56))+rdi] - mov DWORD[32+rsp],ecx - cmovle r8,rsp - mov ecx,DWORD[((-24))+rdi] - mov r9,QWORD[((-40))+rdi] - cmp ecx,edx - mov r13,QWORD[((-32))+rdi] - cmovg edx,ecx - test ecx,ecx - movdqu xmm3,XMMWORD[((-16))+rdi] - mov DWORD[36+rsp],ecx - cmovle r9,rsp - mov ecx,DWORD[16+rdi] - mov r10,QWORD[rdi] - cmp ecx,edx - mov r14,QWORD[8+rdi] - cmovg edx,ecx - test ecx,ecx - movdqu xmm4,XMMWORD[24+rdi] - mov DWORD[40+rsp],ecx - cmovle r10,rsp - mov ecx,DWORD[56+rdi] - mov r11,QWORD[40+rdi] - cmp ecx,edx - mov r15,QWORD[48+rdi] - cmovg edx,ecx - test ecx,ecx - movdqu xmm5,XMMWORD[64+rdi] - mov DWORD[44+rsp],ecx - cmovle r11,rsp - test edx,edx - jz NEAR $L$enc4x_done - - movups xmm1,XMMWORD[((16-120))+rsi] - pxor xmm2,xmm12 - movups xmm0,XMMWORD[((32-120))+rsi] - pxor xmm3,xmm12 - mov eax,DWORD[((240-120))+rsi] - pxor xmm4,xmm12 - movdqu xmm6,XMMWORD[r8] - pxor xmm5,xmm12 - movdqu xmm7,XMMWORD[r9] - pxor xmm2,xmm6 - movdqu xmm8,XMMWORD[r10] - pxor xmm3,xmm7 - movdqu xmm9,XMMWORD[r11] - pxor xmm4,xmm8 - pxor xmm5,xmm9 - movdqa xmm10,XMMWORD[32+rsp] - xor rbx,rbx - jmp NEAR $L$oop_enc4x - -ALIGN 32 -$L$oop_enc4x: - add rbx,16 - lea rbp,[16+rsp] - mov ecx,1 - sub rbp,rbx - -DB 102,15,56,220,209 - prefetcht0 [31+rbx*1+r8] - prefetcht0 [31+rbx*1+r9] -DB 102,15,56,220,217 - prefetcht0 [31+rbx*1+r10] - prefetcht0 [31+rbx*1+r10] -DB 102,15,56,220,225 -DB 102,15,56,220,233 - movups xmm1,XMMWORD[((48-120))+rsi] - cmp ecx,DWORD[32+rsp] -DB 102,15,56,220,208 -DB 102,15,56,220,216 -DB 102,15,56,220,224 - cmovge r8,rbp - cmovg r12,rbp -DB 102,15,56,220,232 - movups xmm0,XMMWORD[((-56))+rsi] - cmp ecx,DWORD[36+rsp] -DB 102,15,56,220,209 -DB 102,15,56,220,217 -DB 102,15,56,220,225 - cmovge r9,rbp - cmovg r13,rbp -DB 102,15,56,220,233 - movups xmm1,XMMWORD[((-40))+rsi] - cmp ecx,DWORD[40+rsp] -DB 102,15,56,220,208 -DB 102,15,56,220,216 -DB 102,15,56,220,224 - cmovge r10,rbp - cmovg r14,rbp -DB 102,15,56,220,232 - movups xmm0,XMMWORD[((-24))+rsi] - cmp ecx,DWORD[44+rsp] -DB 102,15,56,220,209 -DB 102,15,56,220,217 -DB 102,15,56,220,225 - cmovge r11,rbp - cmovg r15,rbp -DB 102,15,56,220,233 - movups xmm1,XMMWORD[((-8))+rsi] - movdqa xmm11,xmm10 -DB 102,15,56,220,208 - prefetcht0 [15+rbx*1+r12] - prefetcht0 [15+rbx*1+r13] -DB 102,15,56,220,216 - prefetcht0 [15+rbx*1+r14] - prefetcht0 [15+rbx*1+r15] -DB 102,15,56,220,224 -DB 102,15,56,220,232 - movups xmm0,XMMWORD[((128-120))+rsi] - pxor xmm12,xmm12 - -DB 102,15,56,220,209 - pcmpgtd xmm11,xmm12 - movdqu xmm12,XMMWORD[((-120))+rsi] -DB 102,15,56,220,217 - paddd xmm10,xmm11 - movdqa XMMWORD[32+rsp],xmm10 -DB 102,15,56,220,225 -DB 102,15,56,220,233 - movups xmm1,XMMWORD[((144-120))+rsi] - - cmp eax,11 - -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,XMMWORD[((160-120))+rsi] - - jb NEAR $L$enc4x_tail - -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,XMMWORD[((176-120))+rsi] - -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,XMMWORD[((192-120))+rsi] - - je NEAR $L$enc4x_tail - -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,XMMWORD[((208-120))+rsi] - -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,XMMWORD[((224-120))+rsi] - jmp NEAR $L$enc4x_tail - -ALIGN 32 -$L$enc4x_tail: -DB 102,15,56,220,209 -DB 102,15,56,220,217 -DB 102,15,56,220,225 -DB 102,15,56,220,233 - movdqu xmm6,XMMWORD[rbx*1+r8] - movdqu xmm1,XMMWORD[((16-120))+rsi] - -DB 102,15,56,221,208 - movdqu xmm7,XMMWORD[rbx*1+r9] - pxor xmm6,xmm12 -DB 102,15,56,221,216 - movdqu xmm8,XMMWORD[rbx*1+r10] - pxor xmm7,xmm12 -DB 102,15,56,221,224 - movdqu xmm9,XMMWORD[rbx*1+r11] - pxor xmm8,xmm12 -DB 102,15,56,221,232 - movdqu xmm0,XMMWORD[((32-120))+rsi] - pxor xmm9,xmm12 - - movups XMMWORD[(-16)+rbx*1+r12],xmm2 - pxor xmm2,xmm6 - movups XMMWORD[(-16)+rbx*1+r13],xmm3 - pxor xmm3,xmm7 - movups XMMWORD[(-16)+rbx*1+r14],xmm4 - pxor xmm4,xmm8 - movups XMMWORD[(-16)+rbx*1+r15],xmm5 - pxor xmm5,xmm9 - - dec edx - jnz NEAR $L$oop_enc4x - - mov rax,QWORD[16+rsp] - mov edx,DWORD[24+rsp] - - - - - - - - - - - lea rdi,[160+rdi] - dec edx - jnz NEAR $L$enc4x_loop_grande - -$L$enc4x_done: - movaps xmm6,XMMWORD[((-216))+rax] - movaps xmm7,XMMWORD[((-200))+rax] - movaps xmm8,XMMWORD[((-184))+rax] - movaps xmm9,XMMWORD[((-168))+rax] - movaps xmm10,XMMWORD[((-152))+rax] - movaps xmm11,XMMWORD[((-136))+rax] - movaps xmm12,XMMWORD[((-120))+rax] - - - - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$enc4x_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_multi_cbc_encrypt: - -global aesni_multi_cbc_decrypt - -ALIGN 32 -aesni_multi_cbc_decrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_multi_cbc_decrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - cmp edx,2 - jb NEAR $L$dec_non_avx - mov ecx,DWORD[((OPENSSL_ia32cap_P+4))] - test ecx,268435456 - jnz NEAR _avx_cbc_dec_shortcut - jmp NEAR $L$dec_non_avx -ALIGN 16 -$L$dec_non_avx: - mov rax,rsp - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[64+rsp],xmm10 - movaps XMMWORD[80+rsp],xmm11 - movaps XMMWORD[96+rsp],xmm12 - movaps XMMWORD[(-104)+rax],xmm13 - movaps XMMWORD[(-88)+rax],xmm14 - movaps XMMWORD[(-72)+rax],xmm15 - - - - - - - sub rsp,48 - and rsp,-64 - mov QWORD[16+rsp],rax - -$L$dec4x_body: - movdqu xmm12,XMMWORD[rsi] - lea rsi,[120+rsi] - lea rdi,[80+rdi] - -$L$dec4x_loop_grande: - mov DWORD[24+rsp],edx - xor edx,edx - mov ecx,DWORD[((-64))+rdi] - mov r8,QWORD[((-80))+rdi] - cmp ecx,edx - mov r12,QWORD[((-72))+rdi] - cmovg edx,ecx - test ecx,ecx - movdqu xmm6,XMMWORD[((-56))+rdi] - mov DWORD[32+rsp],ecx - cmovle r8,rsp - mov ecx,DWORD[((-24))+rdi] - mov r9,QWORD[((-40))+rdi] - cmp ecx,edx - mov r13,QWORD[((-32))+rdi] - cmovg edx,ecx - test ecx,ecx - movdqu xmm7,XMMWORD[((-16))+rdi] - mov DWORD[36+rsp],ecx - cmovle r9,rsp - mov ecx,DWORD[16+rdi] - mov r10,QWORD[rdi] - cmp ecx,edx - mov r14,QWORD[8+rdi] - cmovg edx,ecx - test ecx,ecx - movdqu xmm8,XMMWORD[24+rdi] - mov DWORD[40+rsp],ecx - cmovle r10,rsp - mov ecx,DWORD[56+rdi] - mov r11,QWORD[40+rdi] - cmp ecx,edx - mov r15,QWORD[48+rdi] - cmovg edx,ecx - test ecx,ecx - movdqu xmm9,XMMWORD[64+rdi] - mov DWORD[44+rsp],ecx - cmovle r11,rsp - test edx,edx - jz NEAR $L$dec4x_done - - movups xmm1,XMMWORD[((16-120))+rsi] - movups xmm0,XMMWORD[((32-120))+rsi] - mov eax,DWORD[((240-120))+rsi] - movdqu xmm2,XMMWORD[r8] - movdqu xmm3,XMMWORD[r9] - pxor xmm2,xmm12 - movdqu xmm4,XMMWORD[r10] - pxor xmm3,xmm12 - movdqu xmm5,XMMWORD[r11] - pxor xmm4,xmm12 - pxor xmm5,xmm12 - movdqa xmm10,XMMWORD[32+rsp] - xor rbx,rbx - jmp NEAR $L$oop_dec4x - -ALIGN 32 -$L$oop_dec4x: - add rbx,16 - lea rbp,[16+rsp] - mov ecx,1 - sub rbp,rbx - -DB 102,15,56,222,209 - prefetcht0 [31+rbx*1+r8] - prefetcht0 [31+rbx*1+r9] -DB 102,15,56,222,217 - prefetcht0 [31+rbx*1+r10] - prefetcht0 [31+rbx*1+r11] -DB 102,15,56,222,225 -DB 102,15,56,222,233 - movups xmm1,XMMWORD[((48-120))+rsi] - cmp ecx,DWORD[32+rsp] -DB 102,15,56,222,208 -DB 102,15,56,222,216 -DB 102,15,56,222,224 - cmovge r8,rbp - cmovg r12,rbp -DB 102,15,56,222,232 - movups xmm0,XMMWORD[((-56))+rsi] - cmp ecx,DWORD[36+rsp] -DB 102,15,56,222,209 -DB 102,15,56,222,217 -DB 102,15,56,222,225 - cmovge r9,rbp - cmovg r13,rbp -DB 102,15,56,222,233 - movups xmm1,XMMWORD[((-40))+rsi] - cmp ecx,DWORD[40+rsp] -DB 102,15,56,222,208 -DB 102,15,56,222,216 -DB 102,15,56,222,224 - cmovge r10,rbp - cmovg r14,rbp -DB 102,15,56,222,232 - movups xmm0,XMMWORD[((-24))+rsi] - cmp ecx,DWORD[44+rsp] -DB 102,15,56,222,209 -DB 102,15,56,222,217 -DB 102,15,56,222,225 - cmovge r11,rbp - cmovg r15,rbp -DB 102,15,56,222,233 - movups xmm1,XMMWORD[((-8))+rsi] - movdqa xmm11,xmm10 -DB 102,15,56,222,208 - prefetcht0 [15+rbx*1+r12] - prefetcht0 [15+rbx*1+r13] -DB 102,15,56,222,216 - prefetcht0 [15+rbx*1+r14] - prefetcht0 [15+rbx*1+r15] -DB 102,15,56,222,224 -DB 102,15,56,222,232 - movups xmm0,XMMWORD[((128-120))+rsi] - pxor xmm12,xmm12 - -DB 102,15,56,222,209 - pcmpgtd xmm11,xmm12 - movdqu xmm12,XMMWORD[((-120))+rsi] -DB 102,15,56,222,217 - paddd xmm10,xmm11 - movdqa XMMWORD[32+rsp],xmm10 -DB 102,15,56,222,225 -DB 102,15,56,222,233 - movups xmm1,XMMWORD[((144-120))+rsi] - - cmp eax,11 - -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,XMMWORD[((160-120))+rsi] - - jb NEAR $L$dec4x_tail - -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,XMMWORD[((176-120))+rsi] - -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,XMMWORD[((192-120))+rsi] - - je NEAR $L$dec4x_tail - -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,XMMWORD[((208-120))+rsi] - -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,XMMWORD[((224-120))+rsi] - jmp NEAR $L$dec4x_tail - -ALIGN 32 -$L$dec4x_tail: -DB 102,15,56,222,209 -DB 102,15,56,222,217 -DB 102,15,56,222,225 - pxor xmm6,xmm0 - pxor xmm7,xmm0 -DB 102,15,56,222,233 - movdqu xmm1,XMMWORD[((16-120))+rsi] - pxor xmm8,xmm0 - pxor xmm9,xmm0 - movdqu xmm0,XMMWORD[((32-120))+rsi] - -DB 102,15,56,223,214 -DB 102,15,56,223,223 - movdqu xmm6,XMMWORD[((-16))+rbx*1+r8] - movdqu xmm7,XMMWORD[((-16))+rbx*1+r9] -DB 102,65,15,56,223,224 -DB 102,65,15,56,223,233 - movdqu xmm8,XMMWORD[((-16))+rbx*1+r10] - movdqu xmm9,XMMWORD[((-16))+rbx*1+r11] - - movups XMMWORD[(-16)+rbx*1+r12],xmm2 - movdqu xmm2,XMMWORD[rbx*1+r8] - movups XMMWORD[(-16)+rbx*1+r13],xmm3 - movdqu xmm3,XMMWORD[rbx*1+r9] - pxor xmm2,xmm12 - movups XMMWORD[(-16)+rbx*1+r14],xmm4 - movdqu xmm4,XMMWORD[rbx*1+r10] - pxor xmm3,xmm12 - movups XMMWORD[(-16)+rbx*1+r15],xmm5 - movdqu xmm5,XMMWORD[rbx*1+r11] - pxor xmm4,xmm12 - pxor xmm5,xmm12 - - dec edx - jnz NEAR $L$oop_dec4x - - mov rax,QWORD[16+rsp] - mov edx,DWORD[24+rsp] - - lea rdi,[160+rdi] - dec edx - jnz NEAR $L$dec4x_loop_grande - -$L$dec4x_done: - movaps xmm6,XMMWORD[((-216))+rax] - movaps xmm7,XMMWORD[((-200))+rax] - movaps xmm8,XMMWORD[((-184))+rax] - movaps xmm9,XMMWORD[((-168))+rax] - movaps xmm10,XMMWORD[((-152))+rax] - movaps xmm11,XMMWORD[((-136))+rax] - movaps xmm12,XMMWORD[((-120))+rax] - - - - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$dec4x_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_multi_cbc_decrypt: - -ALIGN 32 -aesni_multi_cbc_encrypt_avx: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_multi_cbc_encrypt_avx: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_avx_cbc_enc_shortcut: - mov rax,rsp - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[64+rsp],xmm10 - movaps XMMWORD[80+rsp],xmm11 - movaps XMMWORD[(-120)+rax],xmm12 - movaps XMMWORD[(-104)+rax],xmm13 - movaps XMMWORD[(-88)+rax],xmm14 - movaps XMMWORD[(-72)+rax],xmm15 - - - - - - - - - sub rsp,192 - and rsp,-128 - mov QWORD[16+rsp],rax - -$L$enc8x_body: - vzeroupper - vmovdqu xmm15,XMMWORD[rsi] - lea rsi,[120+rsi] - lea rdi,[160+rdi] - shr edx,1 - -$L$enc8x_loop_grande: - - xor edx,edx - mov ecx,DWORD[((-144))+rdi] - mov r8,QWORD[((-160))+rdi] - cmp ecx,edx - mov rbx,QWORD[((-152))+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm2,XMMWORD[((-136))+rdi] - mov DWORD[32+rsp],ecx - cmovle r8,rsp - sub rbx,r8 - mov QWORD[64+rsp],rbx - mov ecx,DWORD[((-104))+rdi] - mov r9,QWORD[((-120))+rdi] - cmp ecx,edx - mov rbp,QWORD[((-112))+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm3,XMMWORD[((-96))+rdi] - mov DWORD[36+rsp],ecx - cmovle r9,rsp - sub rbp,r9 - mov QWORD[72+rsp],rbp - mov ecx,DWORD[((-64))+rdi] - mov r10,QWORD[((-80))+rdi] - cmp ecx,edx - mov rbp,QWORD[((-72))+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm4,XMMWORD[((-56))+rdi] - mov DWORD[40+rsp],ecx - cmovle r10,rsp - sub rbp,r10 - mov QWORD[80+rsp],rbp - mov ecx,DWORD[((-24))+rdi] - mov r11,QWORD[((-40))+rdi] - cmp ecx,edx - mov rbp,QWORD[((-32))+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm5,XMMWORD[((-16))+rdi] - mov DWORD[44+rsp],ecx - cmovle r11,rsp - sub rbp,r11 - mov QWORD[88+rsp],rbp - mov ecx,DWORD[16+rdi] - mov r12,QWORD[rdi] - cmp ecx,edx - mov rbp,QWORD[8+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm6,XMMWORD[24+rdi] - mov DWORD[48+rsp],ecx - cmovle r12,rsp - sub rbp,r12 - mov QWORD[96+rsp],rbp - mov ecx,DWORD[56+rdi] - mov r13,QWORD[40+rdi] - cmp ecx,edx - mov rbp,QWORD[48+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm7,XMMWORD[64+rdi] - mov DWORD[52+rsp],ecx - cmovle r13,rsp - sub rbp,r13 - mov QWORD[104+rsp],rbp - mov ecx,DWORD[96+rdi] - mov r14,QWORD[80+rdi] - cmp ecx,edx - mov rbp,QWORD[88+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm8,XMMWORD[104+rdi] - mov DWORD[56+rsp],ecx - cmovle r14,rsp - sub rbp,r14 - mov QWORD[112+rsp],rbp - mov ecx,DWORD[136+rdi] - mov r15,QWORD[120+rdi] - cmp ecx,edx - mov rbp,QWORD[128+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm9,XMMWORD[144+rdi] - mov DWORD[60+rsp],ecx - cmovle r15,rsp - sub rbp,r15 - mov QWORD[120+rsp],rbp - test edx,edx - jz NEAR $L$enc8x_done - - vmovups xmm1,XMMWORD[((16-120))+rsi] - vmovups xmm0,XMMWORD[((32-120))+rsi] - mov eax,DWORD[((240-120))+rsi] - - vpxor xmm10,xmm15,XMMWORD[r8] - lea rbp,[128+rsp] - vpxor xmm11,xmm15,XMMWORD[r9] - vpxor xmm12,xmm15,XMMWORD[r10] - vpxor xmm13,xmm15,XMMWORD[r11] - vpxor xmm2,xmm2,xmm10 - vpxor xmm10,xmm15,XMMWORD[r12] - vpxor xmm3,xmm3,xmm11 - vpxor xmm11,xmm15,XMMWORD[r13] - vpxor xmm4,xmm4,xmm12 - vpxor xmm12,xmm15,XMMWORD[r14] - vpxor xmm5,xmm5,xmm13 - vpxor xmm13,xmm15,XMMWORD[r15] - vpxor xmm6,xmm6,xmm10 - mov ecx,1 - vpxor xmm7,xmm7,xmm11 - vpxor xmm8,xmm8,xmm12 - vpxor xmm9,xmm9,xmm13 - jmp NEAR $L$oop_enc8x - -ALIGN 32 -$L$oop_enc8x: - vaesenc xmm2,xmm2,xmm1 - cmp ecx,DWORD[((32+0))+rsp] - vaesenc xmm3,xmm3,xmm1 - prefetcht0 [31+r8] - vaesenc xmm4,xmm4,xmm1 - vaesenc xmm5,xmm5,xmm1 - lea rbx,[rbx*1+r8] - cmovge r8,rsp - vaesenc xmm6,xmm6,xmm1 - cmovg rbx,rsp - vaesenc xmm7,xmm7,xmm1 - sub rbx,r8 - vaesenc xmm8,xmm8,xmm1 - vpxor xmm10,xmm15,XMMWORD[16+r8] - mov QWORD[((64+0))+rsp],rbx - vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((-72))+rsi] - lea r8,[16+rbx*1+r8] - vmovdqu XMMWORD[rbp],xmm10 - vaesenc xmm2,xmm2,xmm0 - cmp ecx,DWORD[((32+4))+rsp] - mov rbx,QWORD[((64+8))+rsp] - vaesenc xmm3,xmm3,xmm0 - prefetcht0 [31+r9] - vaesenc xmm4,xmm4,xmm0 - vaesenc xmm5,xmm5,xmm0 - lea rbx,[rbx*1+r9] - cmovge r9,rsp - vaesenc xmm6,xmm6,xmm0 - cmovg rbx,rsp - vaesenc xmm7,xmm7,xmm0 - sub rbx,r9 - vaesenc xmm8,xmm8,xmm0 - vpxor xmm11,xmm15,XMMWORD[16+r9] - mov QWORD[((64+8))+rsp],rbx - vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[((-56))+rsi] - lea r9,[16+rbx*1+r9] - vmovdqu XMMWORD[16+rbp],xmm11 - vaesenc xmm2,xmm2,xmm1 - cmp ecx,DWORD[((32+8))+rsp] - mov rbx,QWORD[((64+16))+rsp] - vaesenc xmm3,xmm3,xmm1 - prefetcht0 [31+r10] - vaesenc xmm4,xmm4,xmm1 - prefetcht0 [15+r8] - vaesenc xmm5,xmm5,xmm1 - lea rbx,[rbx*1+r10] - cmovge r10,rsp - vaesenc xmm6,xmm6,xmm1 - cmovg rbx,rsp - vaesenc xmm7,xmm7,xmm1 - sub rbx,r10 - vaesenc xmm8,xmm8,xmm1 - vpxor xmm12,xmm15,XMMWORD[16+r10] - mov QWORD[((64+16))+rsp],rbx - vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((-40))+rsi] - lea r10,[16+rbx*1+r10] - vmovdqu XMMWORD[32+rbp],xmm12 - vaesenc xmm2,xmm2,xmm0 - cmp ecx,DWORD[((32+12))+rsp] - mov rbx,QWORD[((64+24))+rsp] - vaesenc xmm3,xmm3,xmm0 - prefetcht0 [31+r11] - vaesenc xmm4,xmm4,xmm0 - prefetcht0 [15+r9] - vaesenc xmm5,xmm5,xmm0 - lea rbx,[rbx*1+r11] - cmovge r11,rsp - vaesenc xmm6,xmm6,xmm0 - cmovg rbx,rsp - vaesenc xmm7,xmm7,xmm0 - sub rbx,r11 - vaesenc xmm8,xmm8,xmm0 - vpxor xmm13,xmm15,XMMWORD[16+r11] - mov QWORD[((64+24))+rsp],rbx - vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[((-24))+rsi] - lea r11,[16+rbx*1+r11] - vmovdqu XMMWORD[48+rbp],xmm13 - vaesenc xmm2,xmm2,xmm1 - cmp ecx,DWORD[((32+16))+rsp] - mov rbx,QWORD[((64+32))+rsp] - vaesenc xmm3,xmm3,xmm1 - prefetcht0 [31+r12] - vaesenc xmm4,xmm4,xmm1 - prefetcht0 [15+r10] - vaesenc xmm5,xmm5,xmm1 - lea rbx,[rbx*1+r12] - cmovge r12,rsp - vaesenc xmm6,xmm6,xmm1 - cmovg rbx,rsp - vaesenc xmm7,xmm7,xmm1 - sub rbx,r12 - vaesenc xmm8,xmm8,xmm1 - vpxor xmm10,xmm15,XMMWORD[16+r12] - mov QWORD[((64+32))+rsp],rbx - vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((-8))+rsi] - lea r12,[16+rbx*1+r12] - vaesenc xmm2,xmm2,xmm0 - cmp ecx,DWORD[((32+20))+rsp] - mov rbx,QWORD[((64+40))+rsp] - vaesenc xmm3,xmm3,xmm0 - prefetcht0 [31+r13] - vaesenc xmm4,xmm4,xmm0 - prefetcht0 [15+r11] - vaesenc xmm5,xmm5,xmm0 - lea rbx,[r13*1+rbx] - cmovge r13,rsp - vaesenc xmm6,xmm6,xmm0 - cmovg rbx,rsp - vaesenc xmm7,xmm7,xmm0 - sub rbx,r13 - vaesenc xmm8,xmm8,xmm0 - vpxor xmm11,xmm15,XMMWORD[16+r13] - mov QWORD[((64+40))+rsp],rbx - vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[8+rsi] - lea r13,[16+rbx*1+r13] - vaesenc xmm2,xmm2,xmm1 - cmp ecx,DWORD[((32+24))+rsp] - mov rbx,QWORD[((64+48))+rsp] - vaesenc xmm3,xmm3,xmm1 - prefetcht0 [31+r14] - vaesenc xmm4,xmm4,xmm1 - prefetcht0 [15+r12] - vaesenc xmm5,xmm5,xmm1 - lea rbx,[rbx*1+r14] - cmovge r14,rsp - vaesenc xmm6,xmm6,xmm1 - cmovg rbx,rsp - vaesenc xmm7,xmm7,xmm1 - sub rbx,r14 - vaesenc xmm8,xmm8,xmm1 - vpxor xmm12,xmm15,XMMWORD[16+r14] - mov QWORD[((64+48))+rsp],rbx - vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[24+rsi] - lea r14,[16+rbx*1+r14] - vaesenc xmm2,xmm2,xmm0 - cmp ecx,DWORD[((32+28))+rsp] - mov rbx,QWORD[((64+56))+rsp] - vaesenc xmm3,xmm3,xmm0 - prefetcht0 [31+r15] - vaesenc xmm4,xmm4,xmm0 - prefetcht0 [15+r13] - vaesenc xmm5,xmm5,xmm0 - lea rbx,[rbx*1+r15] - cmovge r15,rsp - vaesenc xmm6,xmm6,xmm0 - cmovg rbx,rsp - vaesenc xmm7,xmm7,xmm0 - sub rbx,r15 - vaesenc xmm8,xmm8,xmm0 - vpxor xmm13,xmm15,XMMWORD[16+r15] - mov QWORD[((64+56))+rsp],rbx - vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[40+rsi] - lea r15,[16+rbx*1+r15] - vmovdqu xmm14,XMMWORD[32+rsp] - prefetcht0 [15+r14] - prefetcht0 [15+r15] - cmp eax,11 - jb NEAR $L$enc8x_tail - - vaesenc xmm2,xmm2,xmm1 - vaesenc xmm3,xmm3,xmm1 - vaesenc xmm4,xmm4,xmm1 - vaesenc xmm5,xmm5,xmm1 - vaesenc xmm6,xmm6,xmm1 - vaesenc xmm7,xmm7,xmm1 - vaesenc xmm8,xmm8,xmm1 - vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((176-120))+rsi] - - vaesenc xmm2,xmm2,xmm0 - vaesenc xmm3,xmm3,xmm0 - vaesenc xmm4,xmm4,xmm0 - vaesenc xmm5,xmm5,xmm0 - vaesenc xmm6,xmm6,xmm0 - vaesenc xmm7,xmm7,xmm0 - vaesenc xmm8,xmm8,xmm0 - vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[((192-120))+rsi] - je NEAR $L$enc8x_tail - - vaesenc xmm2,xmm2,xmm1 - vaesenc xmm3,xmm3,xmm1 - vaesenc xmm4,xmm4,xmm1 - vaesenc xmm5,xmm5,xmm1 - vaesenc xmm6,xmm6,xmm1 - vaesenc xmm7,xmm7,xmm1 - vaesenc xmm8,xmm8,xmm1 - vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((208-120))+rsi] - - vaesenc xmm2,xmm2,xmm0 - vaesenc xmm3,xmm3,xmm0 - vaesenc xmm4,xmm4,xmm0 - vaesenc xmm5,xmm5,xmm0 - vaesenc xmm6,xmm6,xmm0 - vaesenc xmm7,xmm7,xmm0 - vaesenc xmm8,xmm8,xmm0 - vaesenc xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[((224-120))+rsi] - -$L$enc8x_tail: - vaesenc xmm2,xmm2,xmm1 - vpxor xmm15,xmm15,xmm15 - vaesenc xmm3,xmm3,xmm1 - vaesenc xmm4,xmm4,xmm1 - vpcmpgtd xmm15,xmm14,xmm15 - vaesenc xmm5,xmm5,xmm1 - vaesenc xmm6,xmm6,xmm1 - vpaddd xmm15,xmm15,xmm14 - vmovdqu xmm14,XMMWORD[48+rsp] - vaesenc xmm7,xmm7,xmm1 - mov rbx,QWORD[64+rsp] - vaesenc xmm8,xmm8,xmm1 - vaesenc xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((16-120))+rsi] - - vaesenclast xmm2,xmm2,xmm0 - vmovdqa XMMWORD[32+rsp],xmm15 - vpxor xmm15,xmm15,xmm15 - vaesenclast xmm3,xmm3,xmm0 - vaesenclast xmm4,xmm4,xmm0 - vpcmpgtd xmm15,xmm14,xmm15 - vaesenclast xmm5,xmm5,xmm0 - vaesenclast xmm6,xmm6,xmm0 - vpaddd xmm14,xmm14,xmm15 - vmovdqu xmm15,XMMWORD[((-120))+rsi] - vaesenclast xmm7,xmm7,xmm0 - vaesenclast xmm8,xmm8,xmm0 - vmovdqa XMMWORD[48+rsp],xmm14 - vaesenclast xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[((32-120))+rsi] - - vmovups XMMWORD[(-16)+r8],xmm2 - sub r8,rbx - vpxor xmm2,xmm2,XMMWORD[rbp] - vmovups XMMWORD[(-16)+r9],xmm3 - sub r9,QWORD[72+rsp] - vpxor xmm3,xmm3,XMMWORD[16+rbp] - vmovups XMMWORD[(-16)+r10],xmm4 - sub r10,QWORD[80+rsp] - vpxor xmm4,xmm4,XMMWORD[32+rbp] - vmovups XMMWORD[(-16)+r11],xmm5 - sub r11,QWORD[88+rsp] - vpxor xmm5,xmm5,XMMWORD[48+rbp] - vmovups XMMWORD[(-16)+r12],xmm6 - sub r12,QWORD[96+rsp] - vpxor xmm6,xmm6,xmm10 - vmovups XMMWORD[(-16)+r13],xmm7 - sub r13,QWORD[104+rsp] - vpxor xmm7,xmm7,xmm11 - vmovups XMMWORD[(-16)+r14],xmm8 - sub r14,QWORD[112+rsp] - vpxor xmm8,xmm8,xmm12 - vmovups XMMWORD[(-16)+r15],xmm9 - sub r15,QWORD[120+rsp] - vpxor xmm9,xmm9,xmm13 - - dec edx - jnz NEAR $L$oop_enc8x - - mov rax,QWORD[16+rsp] - - - - - -$L$enc8x_done: - vzeroupper - movaps xmm6,XMMWORD[((-216))+rax] - movaps xmm7,XMMWORD[((-200))+rax] - movaps xmm8,XMMWORD[((-184))+rax] - movaps xmm9,XMMWORD[((-168))+rax] - movaps xmm10,XMMWORD[((-152))+rax] - movaps xmm11,XMMWORD[((-136))+rax] - movaps xmm12,XMMWORD[((-120))+rax] - movaps xmm13,XMMWORD[((-104))+rax] - movaps xmm14,XMMWORD[((-88))+rax] - movaps xmm15,XMMWORD[((-72))+rax] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$enc8x_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_multi_cbc_encrypt_avx: - - -ALIGN 32 -aesni_multi_cbc_decrypt_avx: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_multi_cbc_decrypt_avx: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_avx_cbc_dec_shortcut: - mov rax,rsp - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[64+rsp],xmm10 - movaps XMMWORD[80+rsp],xmm11 - movaps XMMWORD[(-120)+rax],xmm12 - movaps XMMWORD[(-104)+rax],xmm13 - movaps XMMWORD[(-88)+rax],xmm14 - movaps XMMWORD[(-72)+rax],xmm15 - - - - - - - - - - sub rsp,256 - and rsp,-256 - sub rsp,192 - mov QWORD[16+rsp],rax - -$L$dec8x_body: - vzeroupper - vmovdqu xmm15,XMMWORD[rsi] - lea rsi,[120+rsi] - lea rdi,[160+rdi] - shr edx,1 - -$L$dec8x_loop_grande: - - xor edx,edx - mov ecx,DWORD[((-144))+rdi] - mov r8,QWORD[((-160))+rdi] - cmp ecx,edx - mov rbx,QWORD[((-152))+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm2,XMMWORD[((-136))+rdi] - mov DWORD[32+rsp],ecx - cmovle r8,rsp - sub rbx,r8 - mov QWORD[64+rsp],rbx - vmovdqu XMMWORD[192+rsp],xmm2 - mov ecx,DWORD[((-104))+rdi] - mov r9,QWORD[((-120))+rdi] - cmp ecx,edx - mov rbp,QWORD[((-112))+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm3,XMMWORD[((-96))+rdi] - mov DWORD[36+rsp],ecx - cmovle r9,rsp - sub rbp,r9 - mov QWORD[72+rsp],rbp - vmovdqu XMMWORD[208+rsp],xmm3 - mov ecx,DWORD[((-64))+rdi] - mov r10,QWORD[((-80))+rdi] - cmp ecx,edx - mov rbp,QWORD[((-72))+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm4,XMMWORD[((-56))+rdi] - mov DWORD[40+rsp],ecx - cmovle r10,rsp - sub rbp,r10 - mov QWORD[80+rsp],rbp - vmovdqu XMMWORD[224+rsp],xmm4 - mov ecx,DWORD[((-24))+rdi] - mov r11,QWORD[((-40))+rdi] - cmp ecx,edx - mov rbp,QWORD[((-32))+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm5,XMMWORD[((-16))+rdi] - mov DWORD[44+rsp],ecx - cmovle r11,rsp - sub rbp,r11 - mov QWORD[88+rsp],rbp - vmovdqu XMMWORD[240+rsp],xmm5 - mov ecx,DWORD[16+rdi] - mov r12,QWORD[rdi] - cmp ecx,edx - mov rbp,QWORD[8+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm6,XMMWORD[24+rdi] - mov DWORD[48+rsp],ecx - cmovle r12,rsp - sub rbp,r12 - mov QWORD[96+rsp],rbp - vmovdqu XMMWORD[256+rsp],xmm6 - mov ecx,DWORD[56+rdi] - mov r13,QWORD[40+rdi] - cmp ecx,edx - mov rbp,QWORD[48+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm7,XMMWORD[64+rdi] - mov DWORD[52+rsp],ecx - cmovle r13,rsp - sub rbp,r13 - mov QWORD[104+rsp],rbp - vmovdqu XMMWORD[272+rsp],xmm7 - mov ecx,DWORD[96+rdi] - mov r14,QWORD[80+rdi] - cmp ecx,edx - mov rbp,QWORD[88+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm8,XMMWORD[104+rdi] - mov DWORD[56+rsp],ecx - cmovle r14,rsp - sub rbp,r14 - mov QWORD[112+rsp],rbp - vmovdqu XMMWORD[288+rsp],xmm8 - mov ecx,DWORD[136+rdi] - mov r15,QWORD[120+rdi] - cmp ecx,edx - mov rbp,QWORD[128+rdi] - cmovg edx,ecx - test ecx,ecx - vmovdqu xmm9,XMMWORD[144+rdi] - mov DWORD[60+rsp],ecx - cmovle r15,rsp - sub rbp,r15 - mov QWORD[120+rsp],rbp - vmovdqu XMMWORD[304+rsp],xmm9 - test edx,edx - jz NEAR $L$dec8x_done - - vmovups xmm1,XMMWORD[((16-120))+rsi] - vmovups xmm0,XMMWORD[((32-120))+rsi] - mov eax,DWORD[((240-120))+rsi] - lea rbp,[((192+128))+rsp] - - vmovdqu xmm2,XMMWORD[r8] - vmovdqu xmm3,XMMWORD[r9] - vmovdqu xmm4,XMMWORD[r10] - vmovdqu xmm5,XMMWORD[r11] - vmovdqu xmm6,XMMWORD[r12] - vmovdqu xmm7,XMMWORD[r13] - vmovdqu xmm8,XMMWORD[r14] - vmovdqu xmm9,XMMWORD[r15] - vmovdqu XMMWORD[rbp],xmm2 - vpxor xmm2,xmm2,xmm15 - vmovdqu XMMWORD[16+rbp],xmm3 - vpxor xmm3,xmm3,xmm15 - vmovdqu XMMWORD[32+rbp],xmm4 - vpxor xmm4,xmm4,xmm15 - vmovdqu XMMWORD[48+rbp],xmm5 - vpxor xmm5,xmm5,xmm15 - vmovdqu XMMWORD[64+rbp],xmm6 - vpxor xmm6,xmm6,xmm15 - vmovdqu XMMWORD[80+rbp],xmm7 - vpxor xmm7,xmm7,xmm15 - vmovdqu XMMWORD[96+rbp],xmm8 - vpxor xmm8,xmm8,xmm15 - vmovdqu XMMWORD[112+rbp],xmm9 - vpxor xmm9,xmm9,xmm15 - xor rbp,0x80 - mov ecx,1 - jmp NEAR $L$oop_dec8x - -ALIGN 32 -$L$oop_dec8x: - vaesdec xmm2,xmm2,xmm1 - cmp ecx,DWORD[((32+0))+rsp] - vaesdec xmm3,xmm3,xmm1 - prefetcht0 [31+r8] - vaesdec xmm4,xmm4,xmm1 - vaesdec xmm5,xmm5,xmm1 - lea rbx,[rbx*1+r8] - cmovge r8,rsp - vaesdec xmm6,xmm6,xmm1 - cmovg rbx,rsp - vaesdec xmm7,xmm7,xmm1 - sub rbx,r8 - vaesdec xmm8,xmm8,xmm1 - vmovdqu xmm10,XMMWORD[16+r8] - mov QWORD[((64+0))+rsp],rbx - vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((-72))+rsi] - lea r8,[16+rbx*1+r8] - vmovdqu XMMWORD[128+rsp],xmm10 - vaesdec xmm2,xmm2,xmm0 - cmp ecx,DWORD[((32+4))+rsp] - mov rbx,QWORD[((64+8))+rsp] - vaesdec xmm3,xmm3,xmm0 - prefetcht0 [31+r9] - vaesdec xmm4,xmm4,xmm0 - vaesdec xmm5,xmm5,xmm0 - lea rbx,[rbx*1+r9] - cmovge r9,rsp - vaesdec xmm6,xmm6,xmm0 - cmovg rbx,rsp - vaesdec xmm7,xmm7,xmm0 - sub rbx,r9 - vaesdec xmm8,xmm8,xmm0 - vmovdqu xmm11,XMMWORD[16+r9] - mov QWORD[((64+8))+rsp],rbx - vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[((-56))+rsi] - lea r9,[16+rbx*1+r9] - vmovdqu XMMWORD[144+rsp],xmm11 - vaesdec xmm2,xmm2,xmm1 - cmp ecx,DWORD[((32+8))+rsp] - mov rbx,QWORD[((64+16))+rsp] - vaesdec xmm3,xmm3,xmm1 - prefetcht0 [31+r10] - vaesdec xmm4,xmm4,xmm1 - prefetcht0 [15+r8] - vaesdec xmm5,xmm5,xmm1 - lea rbx,[rbx*1+r10] - cmovge r10,rsp - vaesdec xmm6,xmm6,xmm1 - cmovg rbx,rsp - vaesdec xmm7,xmm7,xmm1 - sub rbx,r10 - vaesdec xmm8,xmm8,xmm1 - vmovdqu xmm12,XMMWORD[16+r10] - mov QWORD[((64+16))+rsp],rbx - vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((-40))+rsi] - lea r10,[16+rbx*1+r10] - vmovdqu XMMWORD[160+rsp],xmm12 - vaesdec xmm2,xmm2,xmm0 - cmp ecx,DWORD[((32+12))+rsp] - mov rbx,QWORD[((64+24))+rsp] - vaesdec xmm3,xmm3,xmm0 - prefetcht0 [31+r11] - vaesdec xmm4,xmm4,xmm0 - prefetcht0 [15+r9] - vaesdec xmm5,xmm5,xmm0 - lea rbx,[rbx*1+r11] - cmovge r11,rsp - vaesdec xmm6,xmm6,xmm0 - cmovg rbx,rsp - vaesdec xmm7,xmm7,xmm0 - sub rbx,r11 - vaesdec xmm8,xmm8,xmm0 - vmovdqu xmm13,XMMWORD[16+r11] - mov QWORD[((64+24))+rsp],rbx - vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[((-24))+rsi] - lea r11,[16+rbx*1+r11] - vmovdqu XMMWORD[176+rsp],xmm13 - vaesdec xmm2,xmm2,xmm1 - cmp ecx,DWORD[((32+16))+rsp] - mov rbx,QWORD[((64+32))+rsp] - vaesdec xmm3,xmm3,xmm1 - prefetcht0 [31+r12] - vaesdec xmm4,xmm4,xmm1 - prefetcht0 [15+r10] - vaesdec xmm5,xmm5,xmm1 - lea rbx,[rbx*1+r12] - cmovge r12,rsp - vaesdec xmm6,xmm6,xmm1 - cmovg rbx,rsp - vaesdec xmm7,xmm7,xmm1 - sub rbx,r12 - vaesdec xmm8,xmm8,xmm1 - vmovdqu xmm10,XMMWORD[16+r12] - mov QWORD[((64+32))+rsp],rbx - vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((-8))+rsi] - lea r12,[16+rbx*1+r12] - vaesdec xmm2,xmm2,xmm0 - cmp ecx,DWORD[((32+20))+rsp] - mov rbx,QWORD[((64+40))+rsp] - vaesdec xmm3,xmm3,xmm0 - prefetcht0 [31+r13] - vaesdec xmm4,xmm4,xmm0 - prefetcht0 [15+r11] - vaesdec xmm5,xmm5,xmm0 - lea rbx,[r13*1+rbx] - cmovge r13,rsp - vaesdec xmm6,xmm6,xmm0 - cmovg rbx,rsp - vaesdec xmm7,xmm7,xmm0 - sub rbx,r13 - vaesdec xmm8,xmm8,xmm0 - vmovdqu xmm11,XMMWORD[16+r13] - mov QWORD[((64+40))+rsp],rbx - vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[8+rsi] - lea r13,[16+rbx*1+r13] - vaesdec xmm2,xmm2,xmm1 - cmp ecx,DWORD[((32+24))+rsp] - mov rbx,QWORD[((64+48))+rsp] - vaesdec xmm3,xmm3,xmm1 - prefetcht0 [31+r14] - vaesdec xmm4,xmm4,xmm1 - prefetcht0 [15+r12] - vaesdec xmm5,xmm5,xmm1 - lea rbx,[rbx*1+r14] - cmovge r14,rsp - vaesdec xmm6,xmm6,xmm1 - cmovg rbx,rsp - vaesdec xmm7,xmm7,xmm1 - sub rbx,r14 - vaesdec xmm8,xmm8,xmm1 - vmovdqu xmm12,XMMWORD[16+r14] - mov QWORD[((64+48))+rsp],rbx - vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[24+rsi] - lea r14,[16+rbx*1+r14] - vaesdec xmm2,xmm2,xmm0 - cmp ecx,DWORD[((32+28))+rsp] - mov rbx,QWORD[((64+56))+rsp] - vaesdec xmm3,xmm3,xmm0 - prefetcht0 [31+r15] - vaesdec xmm4,xmm4,xmm0 - prefetcht0 [15+r13] - vaesdec xmm5,xmm5,xmm0 - lea rbx,[rbx*1+r15] - cmovge r15,rsp - vaesdec xmm6,xmm6,xmm0 - cmovg rbx,rsp - vaesdec xmm7,xmm7,xmm0 - sub rbx,r15 - vaesdec xmm8,xmm8,xmm0 - vmovdqu xmm13,XMMWORD[16+r15] - mov QWORD[((64+56))+rsp],rbx - vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[40+rsi] - lea r15,[16+rbx*1+r15] - vmovdqu xmm14,XMMWORD[32+rsp] - prefetcht0 [15+r14] - prefetcht0 [15+r15] - cmp eax,11 - jb NEAR $L$dec8x_tail - - vaesdec xmm2,xmm2,xmm1 - vaesdec xmm3,xmm3,xmm1 - vaesdec xmm4,xmm4,xmm1 - vaesdec xmm5,xmm5,xmm1 - vaesdec xmm6,xmm6,xmm1 - vaesdec xmm7,xmm7,xmm1 - vaesdec xmm8,xmm8,xmm1 - vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((176-120))+rsi] - - vaesdec xmm2,xmm2,xmm0 - vaesdec xmm3,xmm3,xmm0 - vaesdec xmm4,xmm4,xmm0 - vaesdec xmm5,xmm5,xmm0 - vaesdec xmm6,xmm6,xmm0 - vaesdec xmm7,xmm7,xmm0 - vaesdec xmm8,xmm8,xmm0 - vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[((192-120))+rsi] - je NEAR $L$dec8x_tail - - vaesdec xmm2,xmm2,xmm1 - vaesdec xmm3,xmm3,xmm1 - vaesdec xmm4,xmm4,xmm1 - vaesdec xmm5,xmm5,xmm1 - vaesdec xmm6,xmm6,xmm1 - vaesdec xmm7,xmm7,xmm1 - vaesdec xmm8,xmm8,xmm1 - vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((208-120))+rsi] - - vaesdec xmm2,xmm2,xmm0 - vaesdec xmm3,xmm3,xmm0 - vaesdec xmm4,xmm4,xmm0 - vaesdec xmm5,xmm5,xmm0 - vaesdec xmm6,xmm6,xmm0 - vaesdec xmm7,xmm7,xmm0 - vaesdec xmm8,xmm8,xmm0 - vaesdec xmm9,xmm9,xmm0 - vmovups xmm0,XMMWORD[((224-120))+rsi] - -$L$dec8x_tail: - vaesdec xmm2,xmm2,xmm1 - vpxor xmm15,xmm15,xmm15 - vaesdec xmm3,xmm3,xmm1 - vaesdec xmm4,xmm4,xmm1 - vpcmpgtd xmm15,xmm14,xmm15 - vaesdec xmm5,xmm5,xmm1 - vaesdec xmm6,xmm6,xmm1 - vpaddd xmm15,xmm15,xmm14 - vmovdqu xmm14,XMMWORD[48+rsp] - vaesdec xmm7,xmm7,xmm1 - mov rbx,QWORD[64+rsp] - vaesdec xmm8,xmm8,xmm1 - vaesdec xmm9,xmm9,xmm1 - vmovups xmm1,XMMWORD[((16-120))+rsi] - - vaesdeclast xmm2,xmm2,xmm0 - vmovdqa XMMWORD[32+rsp],xmm15 - vpxor xmm15,xmm15,xmm15 - vaesdeclast xmm3,xmm3,xmm0 - vpxor xmm2,xmm2,XMMWORD[rbp] - vaesdeclast xmm4,xmm4,xmm0 - vpxor xmm3,xmm3,XMMWORD[16+rbp] - vpcmpgtd xmm15,xmm14,xmm15 - vaesdeclast xmm5,xmm5,xmm0 - vpxor xmm4,xmm4,XMMWORD[32+rbp] - vaesdeclast xmm6,xmm6,xmm0 - vpxor xmm5,xmm5,XMMWORD[48+rbp] - vpaddd xmm14,xmm14,xmm15 - vmovdqu xmm15,XMMWORD[((-120))+rsi] - vaesdeclast xmm7,xmm7,xmm0 - vpxor xmm6,xmm6,XMMWORD[64+rbp] - vaesdeclast xmm8,xmm8,xmm0 - vpxor xmm7,xmm7,XMMWORD[80+rbp] - vmovdqa XMMWORD[48+rsp],xmm14 - vaesdeclast xmm9,xmm9,xmm0 - vpxor xmm8,xmm8,XMMWORD[96+rbp] - vmovups xmm0,XMMWORD[((32-120))+rsi] - - vmovups XMMWORD[(-16)+r8],xmm2 - sub r8,rbx - vmovdqu xmm2,XMMWORD[((128+0))+rsp] - vpxor xmm9,xmm9,XMMWORD[112+rbp] - vmovups XMMWORD[(-16)+r9],xmm3 - sub r9,QWORD[72+rsp] - vmovdqu XMMWORD[rbp],xmm2 - vpxor xmm2,xmm2,xmm15 - vmovdqu xmm3,XMMWORD[((128+16))+rsp] - vmovups XMMWORD[(-16)+r10],xmm4 - sub r10,QWORD[80+rsp] - vmovdqu XMMWORD[16+rbp],xmm3 - vpxor xmm3,xmm3,xmm15 - vmovdqu xmm4,XMMWORD[((128+32))+rsp] - vmovups XMMWORD[(-16)+r11],xmm5 - sub r11,QWORD[88+rsp] - vmovdqu XMMWORD[32+rbp],xmm4 - vpxor xmm4,xmm4,xmm15 - vmovdqu xmm5,XMMWORD[((128+48))+rsp] - vmovups XMMWORD[(-16)+r12],xmm6 - sub r12,QWORD[96+rsp] - vmovdqu XMMWORD[48+rbp],xmm5 - vpxor xmm5,xmm5,xmm15 - vmovdqu XMMWORD[64+rbp],xmm10 - vpxor xmm6,xmm15,xmm10 - vmovups XMMWORD[(-16)+r13],xmm7 - sub r13,QWORD[104+rsp] - vmovdqu XMMWORD[80+rbp],xmm11 - vpxor xmm7,xmm15,xmm11 - vmovups XMMWORD[(-16)+r14],xmm8 - sub r14,QWORD[112+rsp] - vmovdqu XMMWORD[96+rbp],xmm12 - vpxor xmm8,xmm15,xmm12 - vmovups XMMWORD[(-16)+r15],xmm9 - sub r15,QWORD[120+rsp] - vmovdqu XMMWORD[112+rbp],xmm13 - vpxor xmm9,xmm15,xmm13 - - xor rbp,128 - dec edx - jnz NEAR $L$oop_dec8x - - mov rax,QWORD[16+rsp] - - - - - -$L$dec8x_done: - vzeroupper - movaps xmm6,XMMWORD[((-216))+rax] - movaps xmm7,XMMWORD[((-200))+rax] - movaps xmm8,XMMWORD[((-184))+rax] - movaps xmm9,XMMWORD[((-168))+rax] - movaps xmm10,XMMWORD[((-152))+rax] - movaps xmm11,XMMWORD[((-136))+rax] - movaps xmm12,XMMWORD[((-120))+rax] - movaps xmm13,XMMWORD[((-104))+rax] - movaps xmm14,XMMWORD[((-88))+rax] - movaps xmm15,XMMWORD[((-72))+rax] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$dec8x_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_multi_cbc_decrypt_avx: -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - mov rax,QWORD[16+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - - lea rsi,[((-56-160))+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_aesni_multi_cbc_encrypt wrt ..imagebase - DD $L$SEH_end_aesni_multi_cbc_encrypt wrt ..imagebase - DD $L$SEH_info_aesni_multi_cbc_encrypt wrt ..imagebase - DD $L$SEH_begin_aesni_multi_cbc_decrypt wrt ..imagebase - DD $L$SEH_end_aesni_multi_cbc_decrypt wrt ..imagebase - DD $L$SEH_info_aesni_multi_cbc_decrypt wrt ..imagebase - DD $L$SEH_begin_aesni_multi_cbc_encrypt_avx wrt ..imagebase - DD $L$SEH_end_aesni_multi_cbc_encrypt_avx wrt ..imagebase - DD $L$SEH_info_aesni_multi_cbc_encrypt_avx wrt ..imagebase - DD $L$SEH_begin_aesni_multi_cbc_decrypt_avx wrt ..imagebase - DD $L$SEH_end_aesni_multi_cbc_decrypt_avx wrt ..imagebase - DD $L$SEH_info_aesni_multi_cbc_decrypt_avx wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_aesni_multi_cbc_encrypt: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$enc4x_body wrt ..imagebase,$L$enc4x_epilogue wrt ..imagebase -$L$SEH_info_aesni_multi_cbc_decrypt: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$dec4x_body wrt ..imagebase,$L$dec4x_epilogue wrt ..imagebase -$L$SEH_info_aesni_multi_cbc_encrypt_avx: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$enc8x_body wrt ..imagebase,$L$enc8x_epilogue wrt ..imagebase -$L$SEH_info_aesni_multi_cbc_decrypt_avx: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$dec8x_body wrt ..imagebase,$L$dec8x_epilogue wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +EXTERN OPENSSL_ia32cap_P + +global aesni_multi_cbc_encrypt + +ALIGN 32 +aesni_multi_cbc_encrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_multi_cbc_encrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + cmp edx,2 + jb NEAR $L$enc_non_avx + mov ecx,DWORD[((OPENSSL_ia32cap_P+4))] + test ecx,268435456 + jnz NEAR _avx_cbc_enc_shortcut + jmp NEAR $L$enc_non_avx +ALIGN 16 +$L$enc_non_avx: + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[64+rsp],xmm10 + movaps XMMWORD[80+rsp],xmm11 + movaps XMMWORD[96+rsp],xmm12 + movaps XMMWORD[(-104)+rax],xmm13 + movaps XMMWORD[(-88)+rax],xmm14 + movaps XMMWORD[(-72)+rax],xmm15 + + + + + + + sub rsp,48 + and rsp,-64 + mov QWORD[16+rsp],rax + +$L$enc4x_body: + movdqu xmm12,XMMWORD[rsi] + lea rsi,[120+rsi] + lea rdi,[80+rdi] + +$L$enc4x_loop_grande: + mov DWORD[24+rsp],edx + xor edx,edx + mov ecx,DWORD[((-64))+rdi] + mov r8,QWORD[((-80))+rdi] + cmp ecx,edx + mov r12,QWORD[((-72))+rdi] + cmovg edx,ecx + test ecx,ecx + movdqu xmm2,XMMWORD[((-56))+rdi] + mov DWORD[32+rsp],ecx + cmovle r8,rsp + mov ecx,DWORD[((-24))+rdi] + mov r9,QWORD[((-40))+rdi] + cmp ecx,edx + mov r13,QWORD[((-32))+rdi] + cmovg edx,ecx + test ecx,ecx + movdqu xmm3,XMMWORD[((-16))+rdi] + mov DWORD[36+rsp],ecx + cmovle r9,rsp + mov ecx,DWORD[16+rdi] + mov r10,QWORD[rdi] + cmp ecx,edx + mov r14,QWORD[8+rdi] + cmovg edx,ecx + test ecx,ecx + movdqu xmm4,XMMWORD[24+rdi] + mov DWORD[40+rsp],ecx + cmovle r10,rsp + mov ecx,DWORD[56+rdi] + mov r11,QWORD[40+rdi] + cmp ecx,edx + mov r15,QWORD[48+rdi] + cmovg edx,ecx + test ecx,ecx + movdqu xmm5,XMMWORD[64+rdi] + mov DWORD[44+rsp],ecx + cmovle r11,rsp + test edx,edx + jz NEAR $L$enc4x_done + + movups xmm1,XMMWORD[((16-120))+rsi] + pxor xmm2,xmm12 + movups xmm0,XMMWORD[((32-120))+rsi] + pxor xmm3,xmm12 + mov eax,DWORD[((240-120))+rsi] + pxor xmm4,xmm12 + movdqu xmm6,XMMWORD[r8] + pxor xmm5,xmm12 + movdqu xmm7,XMMWORD[r9] + pxor xmm2,xmm6 + movdqu xmm8,XMMWORD[r10] + pxor xmm3,xmm7 + movdqu xmm9,XMMWORD[r11] + pxor xmm4,xmm8 + pxor xmm5,xmm9 + movdqa xmm10,XMMWORD[32+rsp] + xor rbx,rbx + jmp NEAR $L$oop_enc4x + +ALIGN 32 +$L$oop_enc4x: + add rbx,16 + lea rbp,[16+rsp] + mov ecx,1 + sub rbp,rbx + +DB 102,15,56,220,209 + prefetcht0 [31+rbx*1+r8] + prefetcht0 [31+rbx*1+r9] +DB 102,15,56,220,217 + prefetcht0 [31+rbx*1+r10] + prefetcht0 [31+rbx*1+r10] +DB 102,15,56,220,225 +DB 102,15,56,220,233 + movups xmm1,XMMWORD[((48-120))+rsi] + cmp ecx,DWORD[32+rsp] +DB 102,15,56,220,208 +DB 102,15,56,220,216 +DB 102,15,56,220,224 + cmovge r8,rbp + cmovg r12,rbp +DB 102,15,56,220,232 + movups xmm0,XMMWORD[((-56))+rsi] + cmp ecx,DWORD[36+rsp] +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,220,225 + cmovge r9,rbp + cmovg r13,rbp +DB 102,15,56,220,233 + movups xmm1,XMMWORD[((-40))+rsi] + cmp ecx,DWORD[40+rsp] +DB 102,15,56,220,208 +DB 102,15,56,220,216 +DB 102,15,56,220,224 + cmovge r10,rbp + cmovg r14,rbp +DB 102,15,56,220,232 + movups xmm0,XMMWORD[((-24))+rsi] + cmp ecx,DWORD[44+rsp] +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,220,225 + cmovge r11,rbp + cmovg r15,rbp +DB 102,15,56,220,233 + movups xmm1,XMMWORD[((-8))+rsi] + movdqa xmm11,xmm10 +DB 102,15,56,220,208 + prefetcht0 [15+rbx*1+r12] + prefetcht0 [15+rbx*1+r13] +DB 102,15,56,220,216 + prefetcht0 [15+rbx*1+r14] + prefetcht0 [15+rbx*1+r15] +DB 102,15,56,220,224 +DB 102,15,56,220,232 + movups xmm0,XMMWORD[((128-120))+rsi] + pxor xmm12,xmm12 + +DB 102,15,56,220,209 + pcmpgtd xmm11,xmm12 + movdqu xmm12,XMMWORD[((-120))+rsi] +DB 102,15,56,220,217 + paddd xmm10,xmm11 + movdqa XMMWORD[32+rsp],xmm10 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + movups xmm1,XMMWORD[((144-120))+rsi] + + cmp eax,11 + +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,XMMWORD[((160-120))+rsi] + + jb NEAR $L$enc4x_tail + +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,XMMWORD[((176-120))+rsi] + +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,XMMWORD[((192-120))+rsi] + + je NEAR $L$enc4x_tail + +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,XMMWORD[((208-120))+rsi] + +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,XMMWORD[((224-120))+rsi] + jmp NEAR $L$enc4x_tail + +ALIGN 32 +$L$enc4x_tail: +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + movdqu xmm6,XMMWORD[rbx*1+r8] + movdqu xmm1,XMMWORD[((16-120))+rsi] + +DB 102,15,56,221,208 + movdqu xmm7,XMMWORD[rbx*1+r9] + pxor xmm6,xmm12 +DB 102,15,56,221,216 + movdqu xmm8,XMMWORD[rbx*1+r10] + pxor xmm7,xmm12 +DB 102,15,56,221,224 + movdqu xmm9,XMMWORD[rbx*1+r11] + pxor xmm8,xmm12 +DB 102,15,56,221,232 + movdqu xmm0,XMMWORD[((32-120))+rsi] + pxor xmm9,xmm12 + + movups XMMWORD[(-16)+rbx*1+r12],xmm2 + pxor xmm2,xmm6 + movups XMMWORD[(-16)+rbx*1+r13],xmm3 + pxor xmm3,xmm7 + movups XMMWORD[(-16)+rbx*1+r14],xmm4 + pxor xmm4,xmm8 + movups XMMWORD[(-16)+rbx*1+r15],xmm5 + pxor xmm5,xmm9 + + dec edx + jnz NEAR $L$oop_enc4x + + mov rax,QWORD[16+rsp] + mov edx,DWORD[24+rsp] + + + + + + + + + + + lea rdi,[160+rdi] + dec edx + jnz NEAR $L$enc4x_loop_grande + +$L$enc4x_done: + movaps xmm6,XMMWORD[((-216))+rax] + movaps xmm7,XMMWORD[((-200))+rax] + movaps xmm8,XMMWORD[((-184))+rax] + movaps xmm9,XMMWORD[((-168))+rax] + movaps xmm10,XMMWORD[((-152))+rax] + movaps xmm11,XMMWORD[((-136))+rax] + movaps xmm12,XMMWORD[((-120))+rax] + + + + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$enc4x_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_multi_cbc_encrypt: + +global aesni_multi_cbc_decrypt + +ALIGN 32 +aesni_multi_cbc_decrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_multi_cbc_decrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + cmp edx,2 + jb NEAR $L$dec_non_avx + mov ecx,DWORD[((OPENSSL_ia32cap_P+4))] + test ecx,268435456 + jnz NEAR _avx_cbc_dec_shortcut + jmp NEAR $L$dec_non_avx +ALIGN 16 +$L$dec_non_avx: + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[64+rsp],xmm10 + movaps XMMWORD[80+rsp],xmm11 + movaps XMMWORD[96+rsp],xmm12 + movaps XMMWORD[(-104)+rax],xmm13 + movaps XMMWORD[(-88)+rax],xmm14 + movaps XMMWORD[(-72)+rax],xmm15 + + + + + + + sub rsp,48 + and rsp,-64 + mov QWORD[16+rsp],rax + +$L$dec4x_body: + movdqu xmm12,XMMWORD[rsi] + lea rsi,[120+rsi] + lea rdi,[80+rdi] + +$L$dec4x_loop_grande: + mov DWORD[24+rsp],edx + xor edx,edx + mov ecx,DWORD[((-64))+rdi] + mov r8,QWORD[((-80))+rdi] + cmp ecx,edx + mov r12,QWORD[((-72))+rdi] + cmovg edx,ecx + test ecx,ecx + movdqu xmm6,XMMWORD[((-56))+rdi] + mov DWORD[32+rsp],ecx + cmovle r8,rsp + mov ecx,DWORD[((-24))+rdi] + mov r9,QWORD[((-40))+rdi] + cmp ecx,edx + mov r13,QWORD[((-32))+rdi] + cmovg edx,ecx + test ecx,ecx + movdqu xmm7,XMMWORD[((-16))+rdi] + mov DWORD[36+rsp],ecx + cmovle r9,rsp + mov ecx,DWORD[16+rdi] + mov r10,QWORD[rdi] + cmp ecx,edx + mov r14,QWORD[8+rdi] + cmovg edx,ecx + test ecx,ecx + movdqu xmm8,XMMWORD[24+rdi] + mov DWORD[40+rsp],ecx + cmovle r10,rsp + mov ecx,DWORD[56+rdi] + mov r11,QWORD[40+rdi] + cmp ecx,edx + mov r15,QWORD[48+rdi] + cmovg edx,ecx + test ecx,ecx + movdqu xmm9,XMMWORD[64+rdi] + mov DWORD[44+rsp],ecx + cmovle r11,rsp + test edx,edx + jz NEAR $L$dec4x_done + + movups xmm1,XMMWORD[((16-120))+rsi] + movups xmm0,XMMWORD[((32-120))+rsi] + mov eax,DWORD[((240-120))+rsi] + movdqu xmm2,XMMWORD[r8] + movdqu xmm3,XMMWORD[r9] + pxor xmm2,xmm12 + movdqu xmm4,XMMWORD[r10] + pxor xmm3,xmm12 + movdqu xmm5,XMMWORD[r11] + pxor xmm4,xmm12 + pxor xmm5,xmm12 + movdqa xmm10,XMMWORD[32+rsp] + xor rbx,rbx + jmp NEAR $L$oop_dec4x + +ALIGN 32 +$L$oop_dec4x: + add rbx,16 + lea rbp,[16+rsp] + mov ecx,1 + sub rbp,rbx + +DB 102,15,56,222,209 + prefetcht0 [31+rbx*1+r8] + prefetcht0 [31+rbx*1+r9] +DB 102,15,56,222,217 + prefetcht0 [31+rbx*1+r10] + prefetcht0 [31+rbx*1+r11] +DB 102,15,56,222,225 +DB 102,15,56,222,233 + movups xmm1,XMMWORD[((48-120))+rsi] + cmp ecx,DWORD[32+rsp] +DB 102,15,56,222,208 +DB 102,15,56,222,216 +DB 102,15,56,222,224 + cmovge r8,rbp + cmovg r12,rbp +DB 102,15,56,222,232 + movups xmm0,XMMWORD[((-56))+rsi] + cmp ecx,DWORD[36+rsp] +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,222,225 + cmovge r9,rbp + cmovg r13,rbp +DB 102,15,56,222,233 + movups xmm1,XMMWORD[((-40))+rsi] + cmp ecx,DWORD[40+rsp] +DB 102,15,56,222,208 +DB 102,15,56,222,216 +DB 102,15,56,222,224 + cmovge r10,rbp + cmovg r14,rbp +DB 102,15,56,222,232 + movups xmm0,XMMWORD[((-24))+rsi] + cmp ecx,DWORD[44+rsp] +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,222,225 + cmovge r11,rbp + cmovg r15,rbp +DB 102,15,56,222,233 + movups xmm1,XMMWORD[((-8))+rsi] + movdqa xmm11,xmm10 +DB 102,15,56,222,208 + prefetcht0 [15+rbx*1+r12] + prefetcht0 [15+rbx*1+r13] +DB 102,15,56,222,216 + prefetcht0 [15+rbx*1+r14] + prefetcht0 [15+rbx*1+r15] +DB 102,15,56,222,224 +DB 102,15,56,222,232 + movups xmm0,XMMWORD[((128-120))+rsi] + pxor xmm12,xmm12 + +DB 102,15,56,222,209 + pcmpgtd xmm11,xmm12 + movdqu xmm12,XMMWORD[((-120))+rsi] +DB 102,15,56,222,217 + paddd xmm10,xmm11 + movdqa XMMWORD[32+rsp],xmm10 +DB 102,15,56,222,225 +DB 102,15,56,222,233 + movups xmm1,XMMWORD[((144-120))+rsi] + + cmp eax,11 + +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,XMMWORD[((160-120))+rsi] + + jb NEAR $L$dec4x_tail + +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,XMMWORD[((176-120))+rsi] + +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,XMMWORD[((192-120))+rsi] + + je NEAR $L$dec4x_tail + +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,XMMWORD[((208-120))+rsi] + +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,XMMWORD[((224-120))+rsi] + jmp NEAR $L$dec4x_tail + +ALIGN 32 +$L$dec4x_tail: +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,222,225 + pxor xmm6,xmm0 + pxor xmm7,xmm0 +DB 102,15,56,222,233 + movdqu xmm1,XMMWORD[((16-120))+rsi] + pxor xmm8,xmm0 + pxor xmm9,xmm0 + movdqu xmm0,XMMWORD[((32-120))+rsi] + +DB 102,15,56,223,214 +DB 102,15,56,223,223 + movdqu xmm6,XMMWORD[((-16))+rbx*1+r8] + movdqu xmm7,XMMWORD[((-16))+rbx*1+r9] +DB 102,65,15,56,223,224 +DB 102,65,15,56,223,233 + movdqu xmm8,XMMWORD[((-16))+rbx*1+r10] + movdqu xmm9,XMMWORD[((-16))+rbx*1+r11] + + movups XMMWORD[(-16)+rbx*1+r12],xmm2 + movdqu xmm2,XMMWORD[rbx*1+r8] + movups XMMWORD[(-16)+rbx*1+r13],xmm3 + movdqu xmm3,XMMWORD[rbx*1+r9] + pxor xmm2,xmm12 + movups XMMWORD[(-16)+rbx*1+r14],xmm4 + movdqu xmm4,XMMWORD[rbx*1+r10] + pxor xmm3,xmm12 + movups XMMWORD[(-16)+rbx*1+r15],xmm5 + movdqu xmm5,XMMWORD[rbx*1+r11] + pxor xmm4,xmm12 + pxor xmm5,xmm12 + + dec edx + jnz NEAR $L$oop_dec4x + + mov rax,QWORD[16+rsp] + mov edx,DWORD[24+rsp] + + lea rdi,[160+rdi] + dec edx + jnz NEAR $L$dec4x_loop_grande + +$L$dec4x_done: + movaps xmm6,XMMWORD[((-216))+rax] + movaps xmm7,XMMWORD[((-200))+rax] + movaps xmm8,XMMWORD[((-184))+rax] + movaps xmm9,XMMWORD[((-168))+rax] + movaps xmm10,XMMWORD[((-152))+rax] + movaps xmm11,XMMWORD[((-136))+rax] + movaps xmm12,XMMWORD[((-120))+rax] + + + + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$dec4x_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_multi_cbc_decrypt: + +ALIGN 32 +aesni_multi_cbc_encrypt_avx: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_multi_cbc_encrypt_avx: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_avx_cbc_enc_shortcut: + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[64+rsp],xmm10 + movaps XMMWORD[80+rsp],xmm11 + movaps XMMWORD[(-120)+rax],xmm12 + movaps XMMWORD[(-104)+rax],xmm13 + movaps XMMWORD[(-88)+rax],xmm14 + movaps XMMWORD[(-72)+rax],xmm15 + + + + + + + + + sub rsp,192 + and rsp,-128 + mov QWORD[16+rsp],rax + +$L$enc8x_body: + vzeroupper + vmovdqu xmm15,XMMWORD[rsi] + lea rsi,[120+rsi] + lea rdi,[160+rdi] + shr edx,1 + +$L$enc8x_loop_grande: + + xor edx,edx + mov ecx,DWORD[((-144))+rdi] + mov r8,QWORD[((-160))+rdi] + cmp ecx,edx + mov rbx,QWORD[((-152))+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm2,XMMWORD[((-136))+rdi] + mov DWORD[32+rsp],ecx + cmovle r8,rsp + sub rbx,r8 + mov QWORD[64+rsp],rbx + mov ecx,DWORD[((-104))+rdi] + mov r9,QWORD[((-120))+rdi] + cmp ecx,edx + mov rbp,QWORD[((-112))+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm3,XMMWORD[((-96))+rdi] + mov DWORD[36+rsp],ecx + cmovle r9,rsp + sub rbp,r9 + mov QWORD[72+rsp],rbp + mov ecx,DWORD[((-64))+rdi] + mov r10,QWORD[((-80))+rdi] + cmp ecx,edx + mov rbp,QWORD[((-72))+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm4,XMMWORD[((-56))+rdi] + mov DWORD[40+rsp],ecx + cmovle r10,rsp + sub rbp,r10 + mov QWORD[80+rsp],rbp + mov ecx,DWORD[((-24))+rdi] + mov r11,QWORD[((-40))+rdi] + cmp ecx,edx + mov rbp,QWORD[((-32))+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm5,XMMWORD[((-16))+rdi] + mov DWORD[44+rsp],ecx + cmovle r11,rsp + sub rbp,r11 + mov QWORD[88+rsp],rbp + mov ecx,DWORD[16+rdi] + mov r12,QWORD[rdi] + cmp ecx,edx + mov rbp,QWORD[8+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm6,XMMWORD[24+rdi] + mov DWORD[48+rsp],ecx + cmovle r12,rsp + sub rbp,r12 + mov QWORD[96+rsp],rbp + mov ecx,DWORD[56+rdi] + mov r13,QWORD[40+rdi] + cmp ecx,edx + mov rbp,QWORD[48+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm7,XMMWORD[64+rdi] + mov DWORD[52+rsp],ecx + cmovle r13,rsp + sub rbp,r13 + mov QWORD[104+rsp],rbp + mov ecx,DWORD[96+rdi] + mov r14,QWORD[80+rdi] + cmp ecx,edx + mov rbp,QWORD[88+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm8,XMMWORD[104+rdi] + mov DWORD[56+rsp],ecx + cmovle r14,rsp + sub rbp,r14 + mov QWORD[112+rsp],rbp + mov ecx,DWORD[136+rdi] + mov r15,QWORD[120+rdi] + cmp ecx,edx + mov rbp,QWORD[128+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm9,XMMWORD[144+rdi] + mov DWORD[60+rsp],ecx + cmovle r15,rsp + sub rbp,r15 + mov QWORD[120+rsp],rbp + test edx,edx + jz NEAR $L$enc8x_done + + vmovups xmm1,XMMWORD[((16-120))+rsi] + vmovups xmm0,XMMWORD[((32-120))+rsi] + mov eax,DWORD[((240-120))+rsi] + + vpxor xmm10,xmm15,XMMWORD[r8] + lea rbp,[128+rsp] + vpxor xmm11,xmm15,XMMWORD[r9] + vpxor xmm12,xmm15,XMMWORD[r10] + vpxor xmm13,xmm15,XMMWORD[r11] + vpxor xmm2,xmm2,xmm10 + vpxor xmm10,xmm15,XMMWORD[r12] + vpxor xmm3,xmm3,xmm11 + vpxor xmm11,xmm15,XMMWORD[r13] + vpxor xmm4,xmm4,xmm12 + vpxor xmm12,xmm15,XMMWORD[r14] + vpxor xmm5,xmm5,xmm13 + vpxor xmm13,xmm15,XMMWORD[r15] + vpxor xmm6,xmm6,xmm10 + mov ecx,1 + vpxor xmm7,xmm7,xmm11 + vpxor xmm8,xmm8,xmm12 + vpxor xmm9,xmm9,xmm13 + jmp NEAR $L$oop_enc8x + +ALIGN 32 +$L$oop_enc8x: + vaesenc xmm2,xmm2,xmm1 + cmp ecx,DWORD[((32+0))+rsp] + vaesenc xmm3,xmm3,xmm1 + prefetcht0 [31+r8] + vaesenc xmm4,xmm4,xmm1 + vaesenc xmm5,xmm5,xmm1 + lea rbx,[rbx*1+r8] + cmovge r8,rsp + vaesenc xmm6,xmm6,xmm1 + cmovg rbx,rsp + vaesenc xmm7,xmm7,xmm1 + sub rbx,r8 + vaesenc xmm8,xmm8,xmm1 + vpxor xmm10,xmm15,XMMWORD[16+r8] + mov QWORD[((64+0))+rsp],rbx + vaesenc xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((-72))+rsi] + lea r8,[16+rbx*1+r8] + vmovdqu XMMWORD[rbp],xmm10 + vaesenc xmm2,xmm2,xmm0 + cmp ecx,DWORD[((32+4))+rsp] + mov rbx,QWORD[((64+8))+rsp] + vaesenc xmm3,xmm3,xmm0 + prefetcht0 [31+r9] + vaesenc xmm4,xmm4,xmm0 + vaesenc xmm5,xmm5,xmm0 + lea rbx,[rbx*1+r9] + cmovge r9,rsp + vaesenc xmm6,xmm6,xmm0 + cmovg rbx,rsp + vaesenc xmm7,xmm7,xmm0 + sub rbx,r9 + vaesenc xmm8,xmm8,xmm0 + vpxor xmm11,xmm15,XMMWORD[16+r9] + mov QWORD[((64+8))+rsp],rbx + vaesenc xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[((-56))+rsi] + lea r9,[16+rbx*1+r9] + vmovdqu XMMWORD[16+rbp],xmm11 + vaesenc xmm2,xmm2,xmm1 + cmp ecx,DWORD[((32+8))+rsp] + mov rbx,QWORD[((64+16))+rsp] + vaesenc xmm3,xmm3,xmm1 + prefetcht0 [31+r10] + vaesenc xmm4,xmm4,xmm1 + prefetcht0 [15+r8] + vaesenc xmm5,xmm5,xmm1 + lea rbx,[rbx*1+r10] + cmovge r10,rsp + vaesenc xmm6,xmm6,xmm1 + cmovg rbx,rsp + vaesenc xmm7,xmm7,xmm1 + sub rbx,r10 + vaesenc xmm8,xmm8,xmm1 + vpxor xmm12,xmm15,XMMWORD[16+r10] + mov QWORD[((64+16))+rsp],rbx + vaesenc xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((-40))+rsi] + lea r10,[16+rbx*1+r10] + vmovdqu XMMWORD[32+rbp],xmm12 + vaesenc xmm2,xmm2,xmm0 + cmp ecx,DWORD[((32+12))+rsp] + mov rbx,QWORD[((64+24))+rsp] + vaesenc xmm3,xmm3,xmm0 + prefetcht0 [31+r11] + vaesenc xmm4,xmm4,xmm0 + prefetcht0 [15+r9] + vaesenc xmm5,xmm5,xmm0 + lea rbx,[rbx*1+r11] + cmovge r11,rsp + vaesenc xmm6,xmm6,xmm0 + cmovg rbx,rsp + vaesenc xmm7,xmm7,xmm0 + sub rbx,r11 + vaesenc xmm8,xmm8,xmm0 + vpxor xmm13,xmm15,XMMWORD[16+r11] + mov QWORD[((64+24))+rsp],rbx + vaesenc xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[((-24))+rsi] + lea r11,[16+rbx*1+r11] + vmovdqu XMMWORD[48+rbp],xmm13 + vaesenc xmm2,xmm2,xmm1 + cmp ecx,DWORD[((32+16))+rsp] + mov rbx,QWORD[((64+32))+rsp] + vaesenc xmm3,xmm3,xmm1 + prefetcht0 [31+r12] + vaesenc xmm4,xmm4,xmm1 + prefetcht0 [15+r10] + vaesenc xmm5,xmm5,xmm1 + lea rbx,[rbx*1+r12] + cmovge r12,rsp + vaesenc xmm6,xmm6,xmm1 + cmovg rbx,rsp + vaesenc xmm7,xmm7,xmm1 + sub rbx,r12 + vaesenc xmm8,xmm8,xmm1 + vpxor xmm10,xmm15,XMMWORD[16+r12] + mov QWORD[((64+32))+rsp],rbx + vaesenc xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((-8))+rsi] + lea r12,[16+rbx*1+r12] + vaesenc xmm2,xmm2,xmm0 + cmp ecx,DWORD[((32+20))+rsp] + mov rbx,QWORD[((64+40))+rsp] + vaesenc xmm3,xmm3,xmm0 + prefetcht0 [31+r13] + vaesenc xmm4,xmm4,xmm0 + prefetcht0 [15+r11] + vaesenc xmm5,xmm5,xmm0 + lea rbx,[r13*1+rbx] + cmovge r13,rsp + vaesenc xmm6,xmm6,xmm0 + cmovg rbx,rsp + vaesenc xmm7,xmm7,xmm0 + sub rbx,r13 + vaesenc xmm8,xmm8,xmm0 + vpxor xmm11,xmm15,XMMWORD[16+r13] + mov QWORD[((64+40))+rsp],rbx + vaesenc xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[8+rsi] + lea r13,[16+rbx*1+r13] + vaesenc xmm2,xmm2,xmm1 + cmp ecx,DWORD[((32+24))+rsp] + mov rbx,QWORD[((64+48))+rsp] + vaesenc xmm3,xmm3,xmm1 + prefetcht0 [31+r14] + vaesenc xmm4,xmm4,xmm1 + prefetcht0 [15+r12] + vaesenc xmm5,xmm5,xmm1 + lea rbx,[rbx*1+r14] + cmovge r14,rsp + vaesenc xmm6,xmm6,xmm1 + cmovg rbx,rsp + vaesenc xmm7,xmm7,xmm1 + sub rbx,r14 + vaesenc xmm8,xmm8,xmm1 + vpxor xmm12,xmm15,XMMWORD[16+r14] + mov QWORD[((64+48))+rsp],rbx + vaesenc xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[24+rsi] + lea r14,[16+rbx*1+r14] + vaesenc xmm2,xmm2,xmm0 + cmp ecx,DWORD[((32+28))+rsp] + mov rbx,QWORD[((64+56))+rsp] + vaesenc xmm3,xmm3,xmm0 + prefetcht0 [31+r15] + vaesenc xmm4,xmm4,xmm0 + prefetcht0 [15+r13] + vaesenc xmm5,xmm5,xmm0 + lea rbx,[rbx*1+r15] + cmovge r15,rsp + vaesenc xmm6,xmm6,xmm0 + cmovg rbx,rsp + vaesenc xmm7,xmm7,xmm0 + sub rbx,r15 + vaesenc xmm8,xmm8,xmm0 + vpxor xmm13,xmm15,XMMWORD[16+r15] + mov QWORD[((64+56))+rsp],rbx + vaesenc xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[40+rsi] + lea r15,[16+rbx*1+r15] + vmovdqu xmm14,XMMWORD[32+rsp] + prefetcht0 [15+r14] + prefetcht0 [15+r15] + cmp eax,11 + jb NEAR $L$enc8x_tail + + vaesenc xmm2,xmm2,xmm1 + vaesenc xmm3,xmm3,xmm1 + vaesenc xmm4,xmm4,xmm1 + vaesenc xmm5,xmm5,xmm1 + vaesenc xmm6,xmm6,xmm1 + vaesenc xmm7,xmm7,xmm1 + vaesenc xmm8,xmm8,xmm1 + vaesenc xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((176-120))+rsi] + + vaesenc xmm2,xmm2,xmm0 + vaesenc xmm3,xmm3,xmm0 + vaesenc xmm4,xmm4,xmm0 + vaesenc xmm5,xmm5,xmm0 + vaesenc xmm6,xmm6,xmm0 + vaesenc xmm7,xmm7,xmm0 + vaesenc xmm8,xmm8,xmm0 + vaesenc xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[((192-120))+rsi] + je NEAR $L$enc8x_tail + + vaesenc xmm2,xmm2,xmm1 + vaesenc xmm3,xmm3,xmm1 + vaesenc xmm4,xmm4,xmm1 + vaesenc xmm5,xmm5,xmm1 + vaesenc xmm6,xmm6,xmm1 + vaesenc xmm7,xmm7,xmm1 + vaesenc xmm8,xmm8,xmm1 + vaesenc xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((208-120))+rsi] + + vaesenc xmm2,xmm2,xmm0 + vaesenc xmm3,xmm3,xmm0 + vaesenc xmm4,xmm4,xmm0 + vaesenc xmm5,xmm5,xmm0 + vaesenc xmm6,xmm6,xmm0 + vaesenc xmm7,xmm7,xmm0 + vaesenc xmm8,xmm8,xmm0 + vaesenc xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[((224-120))+rsi] + +$L$enc8x_tail: + vaesenc xmm2,xmm2,xmm1 + vpxor xmm15,xmm15,xmm15 + vaesenc xmm3,xmm3,xmm1 + vaesenc xmm4,xmm4,xmm1 + vpcmpgtd xmm15,xmm14,xmm15 + vaesenc xmm5,xmm5,xmm1 + vaesenc xmm6,xmm6,xmm1 + vpaddd xmm15,xmm15,xmm14 + vmovdqu xmm14,XMMWORD[48+rsp] + vaesenc xmm7,xmm7,xmm1 + mov rbx,QWORD[64+rsp] + vaesenc xmm8,xmm8,xmm1 + vaesenc xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((16-120))+rsi] + + vaesenclast xmm2,xmm2,xmm0 + vmovdqa XMMWORD[32+rsp],xmm15 + vpxor xmm15,xmm15,xmm15 + vaesenclast xmm3,xmm3,xmm0 + vaesenclast xmm4,xmm4,xmm0 + vpcmpgtd xmm15,xmm14,xmm15 + vaesenclast xmm5,xmm5,xmm0 + vaesenclast xmm6,xmm6,xmm0 + vpaddd xmm14,xmm14,xmm15 + vmovdqu xmm15,XMMWORD[((-120))+rsi] + vaesenclast xmm7,xmm7,xmm0 + vaesenclast xmm8,xmm8,xmm0 + vmovdqa XMMWORD[48+rsp],xmm14 + vaesenclast xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[((32-120))+rsi] + + vmovups XMMWORD[(-16)+r8],xmm2 + sub r8,rbx + vpxor xmm2,xmm2,XMMWORD[rbp] + vmovups XMMWORD[(-16)+r9],xmm3 + sub r9,QWORD[72+rsp] + vpxor xmm3,xmm3,XMMWORD[16+rbp] + vmovups XMMWORD[(-16)+r10],xmm4 + sub r10,QWORD[80+rsp] + vpxor xmm4,xmm4,XMMWORD[32+rbp] + vmovups XMMWORD[(-16)+r11],xmm5 + sub r11,QWORD[88+rsp] + vpxor xmm5,xmm5,XMMWORD[48+rbp] + vmovups XMMWORD[(-16)+r12],xmm6 + sub r12,QWORD[96+rsp] + vpxor xmm6,xmm6,xmm10 + vmovups XMMWORD[(-16)+r13],xmm7 + sub r13,QWORD[104+rsp] + vpxor xmm7,xmm7,xmm11 + vmovups XMMWORD[(-16)+r14],xmm8 + sub r14,QWORD[112+rsp] + vpxor xmm8,xmm8,xmm12 + vmovups XMMWORD[(-16)+r15],xmm9 + sub r15,QWORD[120+rsp] + vpxor xmm9,xmm9,xmm13 + + dec edx + jnz NEAR $L$oop_enc8x + + mov rax,QWORD[16+rsp] + + + + + +$L$enc8x_done: + vzeroupper + movaps xmm6,XMMWORD[((-216))+rax] + movaps xmm7,XMMWORD[((-200))+rax] + movaps xmm8,XMMWORD[((-184))+rax] + movaps xmm9,XMMWORD[((-168))+rax] + movaps xmm10,XMMWORD[((-152))+rax] + movaps xmm11,XMMWORD[((-136))+rax] + movaps xmm12,XMMWORD[((-120))+rax] + movaps xmm13,XMMWORD[((-104))+rax] + movaps xmm14,XMMWORD[((-88))+rax] + movaps xmm15,XMMWORD[((-72))+rax] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$enc8x_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_multi_cbc_encrypt_avx: + + +ALIGN 32 +aesni_multi_cbc_decrypt_avx: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_multi_cbc_decrypt_avx: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_avx_cbc_dec_shortcut: + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[64+rsp],xmm10 + movaps XMMWORD[80+rsp],xmm11 + movaps XMMWORD[(-120)+rax],xmm12 + movaps XMMWORD[(-104)+rax],xmm13 + movaps XMMWORD[(-88)+rax],xmm14 + movaps XMMWORD[(-72)+rax],xmm15 + + + + + + + + + + sub rsp,256 + and rsp,-256 + sub rsp,192 + mov QWORD[16+rsp],rax + +$L$dec8x_body: + vzeroupper + vmovdqu xmm15,XMMWORD[rsi] + lea rsi,[120+rsi] + lea rdi,[160+rdi] + shr edx,1 + +$L$dec8x_loop_grande: + + xor edx,edx + mov ecx,DWORD[((-144))+rdi] + mov r8,QWORD[((-160))+rdi] + cmp ecx,edx + mov rbx,QWORD[((-152))+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm2,XMMWORD[((-136))+rdi] + mov DWORD[32+rsp],ecx + cmovle r8,rsp + sub rbx,r8 + mov QWORD[64+rsp],rbx + vmovdqu XMMWORD[192+rsp],xmm2 + mov ecx,DWORD[((-104))+rdi] + mov r9,QWORD[((-120))+rdi] + cmp ecx,edx + mov rbp,QWORD[((-112))+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm3,XMMWORD[((-96))+rdi] + mov DWORD[36+rsp],ecx + cmovle r9,rsp + sub rbp,r9 + mov QWORD[72+rsp],rbp + vmovdqu XMMWORD[208+rsp],xmm3 + mov ecx,DWORD[((-64))+rdi] + mov r10,QWORD[((-80))+rdi] + cmp ecx,edx + mov rbp,QWORD[((-72))+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm4,XMMWORD[((-56))+rdi] + mov DWORD[40+rsp],ecx + cmovle r10,rsp + sub rbp,r10 + mov QWORD[80+rsp],rbp + vmovdqu XMMWORD[224+rsp],xmm4 + mov ecx,DWORD[((-24))+rdi] + mov r11,QWORD[((-40))+rdi] + cmp ecx,edx + mov rbp,QWORD[((-32))+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm5,XMMWORD[((-16))+rdi] + mov DWORD[44+rsp],ecx + cmovle r11,rsp + sub rbp,r11 + mov QWORD[88+rsp],rbp + vmovdqu XMMWORD[240+rsp],xmm5 + mov ecx,DWORD[16+rdi] + mov r12,QWORD[rdi] + cmp ecx,edx + mov rbp,QWORD[8+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm6,XMMWORD[24+rdi] + mov DWORD[48+rsp],ecx + cmovle r12,rsp + sub rbp,r12 + mov QWORD[96+rsp],rbp + vmovdqu XMMWORD[256+rsp],xmm6 + mov ecx,DWORD[56+rdi] + mov r13,QWORD[40+rdi] + cmp ecx,edx + mov rbp,QWORD[48+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm7,XMMWORD[64+rdi] + mov DWORD[52+rsp],ecx + cmovle r13,rsp + sub rbp,r13 + mov QWORD[104+rsp],rbp + vmovdqu XMMWORD[272+rsp],xmm7 + mov ecx,DWORD[96+rdi] + mov r14,QWORD[80+rdi] + cmp ecx,edx + mov rbp,QWORD[88+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm8,XMMWORD[104+rdi] + mov DWORD[56+rsp],ecx + cmovle r14,rsp + sub rbp,r14 + mov QWORD[112+rsp],rbp + vmovdqu XMMWORD[288+rsp],xmm8 + mov ecx,DWORD[136+rdi] + mov r15,QWORD[120+rdi] + cmp ecx,edx + mov rbp,QWORD[128+rdi] + cmovg edx,ecx + test ecx,ecx + vmovdqu xmm9,XMMWORD[144+rdi] + mov DWORD[60+rsp],ecx + cmovle r15,rsp + sub rbp,r15 + mov QWORD[120+rsp],rbp + vmovdqu XMMWORD[304+rsp],xmm9 + test edx,edx + jz NEAR $L$dec8x_done + + vmovups xmm1,XMMWORD[((16-120))+rsi] + vmovups xmm0,XMMWORD[((32-120))+rsi] + mov eax,DWORD[((240-120))+rsi] + lea rbp,[((192+128))+rsp] + + vmovdqu xmm2,XMMWORD[r8] + vmovdqu xmm3,XMMWORD[r9] + vmovdqu xmm4,XMMWORD[r10] + vmovdqu xmm5,XMMWORD[r11] + vmovdqu xmm6,XMMWORD[r12] + vmovdqu xmm7,XMMWORD[r13] + vmovdqu xmm8,XMMWORD[r14] + vmovdqu xmm9,XMMWORD[r15] + vmovdqu XMMWORD[rbp],xmm2 + vpxor xmm2,xmm2,xmm15 + vmovdqu XMMWORD[16+rbp],xmm3 + vpxor xmm3,xmm3,xmm15 + vmovdqu XMMWORD[32+rbp],xmm4 + vpxor xmm4,xmm4,xmm15 + vmovdqu XMMWORD[48+rbp],xmm5 + vpxor xmm5,xmm5,xmm15 + vmovdqu XMMWORD[64+rbp],xmm6 + vpxor xmm6,xmm6,xmm15 + vmovdqu XMMWORD[80+rbp],xmm7 + vpxor xmm7,xmm7,xmm15 + vmovdqu XMMWORD[96+rbp],xmm8 + vpxor xmm8,xmm8,xmm15 + vmovdqu XMMWORD[112+rbp],xmm9 + vpxor xmm9,xmm9,xmm15 + xor rbp,0x80 + mov ecx,1 + jmp NEAR $L$oop_dec8x + +ALIGN 32 +$L$oop_dec8x: + vaesdec xmm2,xmm2,xmm1 + cmp ecx,DWORD[((32+0))+rsp] + vaesdec xmm3,xmm3,xmm1 + prefetcht0 [31+r8] + vaesdec xmm4,xmm4,xmm1 + vaesdec xmm5,xmm5,xmm1 + lea rbx,[rbx*1+r8] + cmovge r8,rsp + vaesdec xmm6,xmm6,xmm1 + cmovg rbx,rsp + vaesdec xmm7,xmm7,xmm1 + sub rbx,r8 + vaesdec xmm8,xmm8,xmm1 + vmovdqu xmm10,XMMWORD[16+r8] + mov QWORD[((64+0))+rsp],rbx + vaesdec xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((-72))+rsi] + lea r8,[16+rbx*1+r8] + vmovdqu XMMWORD[128+rsp],xmm10 + vaesdec xmm2,xmm2,xmm0 + cmp ecx,DWORD[((32+4))+rsp] + mov rbx,QWORD[((64+8))+rsp] + vaesdec xmm3,xmm3,xmm0 + prefetcht0 [31+r9] + vaesdec xmm4,xmm4,xmm0 + vaesdec xmm5,xmm5,xmm0 + lea rbx,[rbx*1+r9] + cmovge r9,rsp + vaesdec xmm6,xmm6,xmm0 + cmovg rbx,rsp + vaesdec xmm7,xmm7,xmm0 + sub rbx,r9 + vaesdec xmm8,xmm8,xmm0 + vmovdqu xmm11,XMMWORD[16+r9] + mov QWORD[((64+8))+rsp],rbx + vaesdec xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[((-56))+rsi] + lea r9,[16+rbx*1+r9] + vmovdqu XMMWORD[144+rsp],xmm11 + vaesdec xmm2,xmm2,xmm1 + cmp ecx,DWORD[((32+8))+rsp] + mov rbx,QWORD[((64+16))+rsp] + vaesdec xmm3,xmm3,xmm1 + prefetcht0 [31+r10] + vaesdec xmm4,xmm4,xmm1 + prefetcht0 [15+r8] + vaesdec xmm5,xmm5,xmm1 + lea rbx,[rbx*1+r10] + cmovge r10,rsp + vaesdec xmm6,xmm6,xmm1 + cmovg rbx,rsp + vaesdec xmm7,xmm7,xmm1 + sub rbx,r10 + vaesdec xmm8,xmm8,xmm1 + vmovdqu xmm12,XMMWORD[16+r10] + mov QWORD[((64+16))+rsp],rbx + vaesdec xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((-40))+rsi] + lea r10,[16+rbx*1+r10] + vmovdqu XMMWORD[160+rsp],xmm12 + vaesdec xmm2,xmm2,xmm0 + cmp ecx,DWORD[((32+12))+rsp] + mov rbx,QWORD[((64+24))+rsp] + vaesdec xmm3,xmm3,xmm0 + prefetcht0 [31+r11] + vaesdec xmm4,xmm4,xmm0 + prefetcht0 [15+r9] + vaesdec xmm5,xmm5,xmm0 + lea rbx,[rbx*1+r11] + cmovge r11,rsp + vaesdec xmm6,xmm6,xmm0 + cmovg rbx,rsp + vaesdec xmm7,xmm7,xmm0 + sub rbx,r11 + vaesdec xmm8,xmm8,xmm0 + vmovdqu xmm13,XMMWORD[16+r11] + mov QWORD[((64+24))+rsp],rbx + vaesdec xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[((-24))+rsi] + lea r11,[16+rbx*1+r11] + vmovdqu XMMWORD[176+rsp],xmm13 + vaesdec xmm2,xmm2,xmm1 + cmp ecx,DWORD[((32+16))+rsp] + mov rbx,QWORD[((64+32))+rsp] + vaesdec xmm3,xmm3,xmm1 + prefetcht0 [31+r12] + vaesdec xmm4,xmm4,xmm1 + prefetcht0 [15+r10] + vaesdec xmm5,xmm5,xmm1 + lea rbx,[rbx*1+r12] + cmovge r12,rsp + vaesdec xmm6,xmm6,xmm1 + cmovg rbx,rsp + vaesdec xmm7,xmm7,xmm1 + sub rbx,r12 + vaesdec xmm8,xmm8,xmm1 + vmovdqu xmm10,XMMWORD[16+r12] + mov QWORD[((64+32))+rsp],rbx + vaesdec xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((-8))+rsi] + lea r12,[16+rbx*1+r12] + vaesdec xmm2,xmm2,xmm0 + cmp ecx,DWORD[((32+20))+rsp] + mov rbx,QWORD[((64+40))+rsp] + vaesdec xmm3,xmm3,xmm0 + prefetcht0 [31+r13] + vaesdec xmm4,xmm4,xmm0 + prefetcht0 [15+r11] + vaesdec xmm5,xmm5,xmm0 + lea rbx,[r13*1+rbx] + cmovge r13,rsp + vaesdec xmm6,xmm6,xmm0 + cmovg rbx,rsp + vaesdec xmm7,xmm7,xmm0 + sub rbx,r13 + vaesdec xmm8,xmm8,xmm0 + vmovdqu xmm11,XMMWORD[16+r13] + mov QWORD[((64+40))+rsp],rbx + vaesdec xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[8+rsi] + lea r13,[16+rbx*1+r13] + vaesdec xmm2,xmm2,xmm1 + cmp ecx,DWORD[((32+24))+rsp] + mov rbx,QWORD[((64+48))+rsp] + vaesdec xmm3,xmm3,xmm1 + prefetcht0 [31+r14] + vaesdec xmm4,xmm4,xmm1 + prefetcht0 [15+r12] + vaesdec xmm5,xmm5,xmm1 + lea rbx,[rbx*1+r14] + cmovge r14,rsp + vaesdec xmm6,xmm6,xmm1 + cmovg rbx,rsp + vaesdec xmm7,xmm7,xmm1 + sub rbx,r14 + vaesdec xmm8,xmm8,xmm1 + vmovdqu xmm12,XMMWORD[16+r14] + mov QWORD[((64+48))+rsp],rbx + vaesdec xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[24+rsi] + lea r14,[16+rbx*1+r14] + vaesdec xmm2,xmm2,xmm0 + cmp ecx,DWORD[((32+28))+rsp] + mov rbx,QWORD[((64+56))+rsp] + vaesdec xmm3,xmm3,xmm0 + prefetcht0 [31+r15] + vaesdec xmm4,xmm4,xmm0 + prefetcht0 [15+r13] + vaesdec xmm5,xmm5,xmm0 + lea rbx,[rbx*1+r15] + cmovge r15,rsp + vaesdec xmm6,xmm6,xmm0 + cmovg rbx,rsp + vaesdec xmm7,xmm7,xmm0 + sub rbx,r15 + vaesdec xmm8,xmm8,xmm0 + vmovdqu xmm13,XMMWORD[16+r15] + mov QWORD[((64+56))+rsp],rbx + vaesdec xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[40+rsi] + lea r15,[16+rbx*1+r15] + vmovdqu xmm14,XMMWORD[32+rsp] + prefetcht0 [15+r14] + prefetcht0 [15+r15] + cmp eax,11 + jb NEAR $L$dec8x_tail + + vaesdec xmm2,xmm2,xmm1 + vaesdec xmm3,xmm3,xmm1 + vaesdec xmm4,xmm4,xmm1 + vaesdec xmm5,xmm5,xmm1 + vaesdec xmm6,xmm6,xmm1 + vaesdec xmm7,xmm7,xmm1 + vaesdec xmm8,xmm8,xmm1 + vaesdec xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((176-120))+rsi] + + vaesdec xmm2,xmm2,xmm0 + vaesdec xmm3,xmm3,xmm0 + vaesdec xmm4,xmm4,xmm0 + vaesdec xmm5,xmm5,xmm0 + vaesdec xmm6,xmm6,xmm0 + vaesdec xmm7,xmm7,xmm0 + vaesdec xmm8,xmm8,xmm0 + vaesdec xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[((192-120))+rsi] + je NEAR $L$dec8x_tail + + vaesdec xmm2,xmm2,xmm1 + vaesdec xmm3,xmm3,xmm1 + vaesdec xmm4,xmm4,xmm1 + vaesdec xmm5,xmm5,xmm1 + vaesdec xmm6,xmm6,xmm1 + vaesdec xmm7,xmm7,xmm1 + vaesdec xmm8,xmm8,xmm1 + vaesdec xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((208-120))+rsi] + + vaesdec xmm2,xmm2,xmm0 + vaesdec xmm3,xmm3,xmm0 + vaesdec xmm4,xmm4,xmm0 + vaesdec xmm5,xmm5,xmm0 + vaesdec xmm6,xmm6,xmm0 + vaesdec xmm7,xmm7,xmm0 + vaesdec xmm8,xmm8,xmm0 + vaesdec xmm9,xmm9,xmm0 + vmovups xmm0,XMMWORD[((224-120))+rsi] + +$L$dec8x_tail: + vaesdec xmm2,xmm2,xmm1 + vpxor xmm15,xmm15,xmm15 + vaesdec xmm3,xmm3,xmm1 + vaesdec xmm4,xmm4,xmm1 + vpcmpgtd xmm15,xmm14,xmm15 + vaesdec xmm5,xmm5,xmm1 + vaesdec xmm6,xmm6,xmm1 + vpaddd xmm15,xmm15,xmm14 + vmovdqu xmm14,XMMWORD[48+rsp] + vaesdec xmm7,xmm7,xmm1 + mov rbx,QWORD[64+rsp] + vaesdec xmm8,xmm8,xmm1 + vaesdec xmm9,xmm9,xmm1 + vmovups xmm1,XMMWORD[((16-120))+rsi] + + vaesdeclast xmm2,xmm2,xmm0 + vmovdqa XMMWORD[32+rsp],xmm15 + vpxor xmm15,xmm15,xmm15 + vaesdeclast xmm3,xmm3,xmm0 + vpxor xmm2,xmm2,XMMWORD[rbp] + vaesdeclast xmm4,xmm4,xmm0 + vpxor xmm3,xmm3,XMMWORD[16+rbp] + vpcmpgtd xmm15,xmm14,xmm15 + vaesdeclast xmm5,xmm5,xmm0 + vpxor xmm4,xmm4,XMMWORD[32+rbp] + vaesdeclast xmm6,xmm6,xmm0 + vpxor xmm5,xmm5,XMMWORD[48+rbp] + vpaddd xmm14,xmm14,xmm15 + vmovdqu xmm15,XMMWORD[((-120))+rsi] + vaesdeclast xmm7,xmm7,xmm0 + vpxor xmm6,xmm6,XMMWORD[64+rbp] + vaesdeclast xmm8,xmm8,xmm0 + vpxor xmm7,xmm7,XMMWORD[80+rbp] + vmovdqa XMMWORD[48+rsp],xmm14 + vaesdeclast xmm9,xmm9,xmm0 + vpxor xmm8,xmm8,XMMWORD[96+rbp] + vmovups xmm0,XMMWORD[((32-120))+rsi] + + vmovups XMMWORD[(-16)+r8],xmm2 + sub r8,rbx + vmovdqu xmm2,XMMWORD[((128+0))+rsp] + vpxor xmm9,xmm9,XMMWORD[112+rbp] + vmovups XMMWORD[(-16)+r9],xmm3 + sub r9,QWORD[72+rsp] + vmovdqu XMMWORD[rbp],xmm2 + vpxor xmm2,xmm2,xmm15 + vmovdqu xmm3,XMMWORD[((128+16))+rsp] + vmovups XMMWORD[(-16)+r10],xmm4 + sub r10,QWORD[80+rsp] + vmovdqu XMMWORD[16+rbp],xmm3 + vpxor xmm3,xmm3,xmm15 + vmovdqu xmm4,XMMWORD[((128+32))+rsp] + vmovups XMMWORD[(-16)+r11],xmm5 + sub r11,QWORD[88+rsp] + vmovdqu XMMWORD[32+rbp],xmm4 + vpxor xmm4,xmm4,xmm15 + vmovdqu xmm5,XMMWORD[((128+48))+rsp] + vmovups XMMWORD[(-16)+r12],xmm6 + sub r12,QWORD[96+rsp] + vmovdqu XMMWORD[48+rbp],xmm5 + vpxor xmm5,xmm5,xmm15 + vmovdqu XMMWORD[64+rbp],xmm10 + vpxor xmm6,xmm15,xmm10 + vmovups XMMWORD[(-16)+r13],xmm7 + sub r13,QWORD[104+rsp] + vmovdqu XMMWORD[80+rbp],xmm11 + vpxor xmm7,xmm15,xmm11 + vmovups XMMWORD[(-16)+r14],xmm8 + sub r14,QWORD[112+rsp] + vmovdqu XMMWORD[96+rbp],xmm12 + vpxor xmm8,xmm15,xmm12 + vmovups XMMWORD[(-16)+r15],xmm9 + sub r15,QWORD[120+rsp] + vmovdqu XMMWORD[112+rbp],xmm13 + vpxor xmm9,xmm15,xmm13 + + xor rbp,128 + dec edx + jnz NEAR $L$oop_dec8x + + mov rax,QWORD[16+rsp] + + + + + +$L$dec8x_done: + vzeroupper + movaps xmm6,XMMWORD[((-216))+rax] + movaps xmm7,XMMWORD[((-200))+rax] + movaps xmm8,XMMWORD[((-184))+rax] + movaps xmm9,XMMWORD[((-168))+rax] + movaps xmm10,XMMWORD[((-152))+rax] + movaps xmm11,XMMWORD[((-136))+rax] + movaps xmm12,XMMWORD[((-120))+rax] + movaps xmm13,XMMWORD[((-104))+rax] + movaps xmm14,XMMWORD[((-88))+rax] + movaps xmm15,XMMWORD[((-72))+rax] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$dec8x_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_multi_cbc_decrypt_avx: +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + + mov rax,QWORD[16+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + + lea rsi,[((-56-160))+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_aesni_multi_cbc_encrypt wrt ..imagebase + DD $L$SEH_end_aesni_multi_cbc_encrypt wrt ..imagebase + DD $L$SEH_info_aesni_multi_cbc_encrypt wrt ..imagebase + DD $L$SEH_begin_aesni_multi_cbc_decrypt wrt ..imagebase + DD $L$SEH_end_aesni_multi_cbc_decrypt wrt ..imagebase + DD $L$SEH_info_aesni_multi_cbc_decrypt wrt ..imagebase + DD $L$SEH_begin_aesni_multi_cbc_encrypt_avx wrt ..imagebase + DD $L$SEH_end_aesni_multi_cbc_encrypt_avx wrt ..imagebase + DD $L$SEH_info_aesni_multi_cbc_encrypt_avx wrt ..imagebase + DD $L$SEH_begin_aesni_multi_cbc_decrypt_avx wrt ..imagebase + DD $L$SEH_end_aesni_multi_cbc_decrypt_avx wrt ..imagebase + DD $L$SEH_info_aesni_multi_cbc_decrypt_avx wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_aesni_multi_cbc_encrypt: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$enc4x_body wrt ..imagebase,$L$enc4x_epilogue wrt ..imagebase +$L$SEH_info_aesni_multi_cbc_decrypt: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$dec4x_body wrt ..imagebase,$L$dec4x_epilogue wrt ..imagebase +$L$SEH_info_aesni_multi_cbc_encrypt_avx: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$enc8x_body wrt ..imagebase,$L$enc8x_epilogue wrt ..imagebase +$L$SEH_info_aesni_multi_cbc_decrypt_avx: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$dec8x_body wrt ..imagebase,$L$dec8x_epilogue wrt ..imagebase diff --git a/tmp64/aesni-sha1-x86_64.asm b/tmp64/aesni-sha1-x86_64.asm index 45fa82e2..7e402090 100644 --- a/tmp64/aesni-sha1-x86_64.asm +++ b/tmp64/aesni-sha1-x86_64.asm @@ -1,3230 +1,3230 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - -EXTERN OPENSSL_ia32cap_P - -global aesni_cbc_sha1_enc - -ALIGN 32 -aesni_cbc_sha1_enc: - - mov r10d,DWORD[((OPENSSL_ia32cap_P+0))] - mov r11,QWORD[((OPENSSL_ia32cap_P+4))] - bt r11,61 - jc NEAR aesni_cbc_sha1_enc_shaext - and r11d,268435456 - and r10d,1073741824 - or r10d,r11d - cmp r10d,1342177280 - je NEAR aesni_cbc_sha1_enc_avx - jmp NEAR aesni_cbc_sha1_enc_ssse3 - DB 0F3h,0C3h ;repret - - -ALIGN 32 -aesni_cbc_sha1_enc_ssse3: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_cbc_sha1_enc_ssse3: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov r10,QWORD[56+rsp] - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-264))+rsp] - - - movaps XMMWORD[(96+0)+rsp],xmm6 - movaps XMMWORD[(96+16)+rsp],xmm7 - movaps XMMWORD[(96+32)+rsp],xmm8 - movaps XMMWORD[(96+48)+rsp],xmm9 - movaps XMMWORD[(96+64)+rsp],xmm10 - movaps XMMWORD[(96+80)+rsp],xmm11 - movaps XMMWORD[(96+96)+rsp],xmm12 - movaps XMMWORD[(96+112)+rsp],xmm13 - movaps XMMWORD[(96+128)+rsp],xmm14 - movaps XMMWORD[(96+144)+rsp],xmm15 -$L$prologue_ssse3: - mov r12,rdi - mov r13,rsi - mov r14,rdx - lea r15,[112+rcx] - movdqu xmm2,XMMWORD[r8] - mov QWORD[88+rsp],r8 - shl r14,6 - sub r13,r12 - mov r8d,DWORD[((240-112))+r15] - add r14,r10 - - lea r11,[K_XX_XX] - mov eax,DWORD[r9] - mov ebx,DWORD[4+r9] - mov ecx,DWORD[8+r9] - mov edx,DWORD[12+r9] - mov esi,ebx - mov ebp,DWORD[16+r9] - mov edi,ecx - xor edi,edx - and esi,edi - - movdqa xmm3,XMMWORD[64+r11] - movdqa xmm13,XMMWORD[r11] - movdqu xmm4,XMMWORD[r10] - movdqu xmm5,XMMWORD[16+r10] - movdqu xmm6,XMMWORD[32+r10] - movdqu xmm7,XMMWORD[48+r10] -DB 102,15,56,0,227 -DB 102,15,56,0,235 -DB 102,15,56,0,243 - add r10,64 - paddd xmm4,xmm13 -DB 102,15,56,0,251 - paddd xmm5,xmm13 - paddd xmm6,xmm13 - movdqa XMMWORD[rsp],xmm4 - psubd xmm4,xmm13 - movdqa XMMWORD[16+rsp],xmm5 - psubd xmm5,xmm13 - movdqa XMMWORD[32+rsp],xmm6 - psubd xmm6,xmm13 - movups xmm15,XMMWORD[((-112))+r15] - movups xmm0,XMMWORD[((16-112))+r15] - jmp NEAR $L$oop_ssse3 -ALIGN 32 -$L$oop_ssse3: - ror ebx,2 - movups xmm14,XMMWORD[r12] - xorps xmm14,xmm15 - xorps xmm2,xmm14 - movups xmm1,XMMWORD[((-80))+r15] -DB 102,15,56,220,208 - pshufd xmm8,xmm4,238 - xor esi,edx - movdqa xmm12,xmm7 - paddd xmm13,xmm7 - mov edi,eax - add ebp,DWORD[rsp] - punpcklqdq xmm8,xmm5 - xor ebx,ecx - rol eax,5 - add ebp,esi - psrldq xmm12,4 - and edi,ebx - xor ebx,ecx - pxor xmm8,xmm4 - add ebp,eax - ror eax,7 - pxor xmm12,xmm6 - xor edi,ecx - mov esi,ebp - add edx,DWORD[4+rsp] - pxor xmm8,xmm12 - xor eax,ebx - rol ebp,5 - movdqa XMMWORD[48+rsp],xmm13 - add edx,edi - movups xmm0,XMMWORD[((-64))+r15] -DB 102,15,56,220,209 - and esi,eax - movdqa xmm3,xmm8 - xor eax,ebx - add edx,ebp - ror ebp,7 - movdqa xmm12,xmm8 - xor esi,ebx - pslldq xmm3,12 - paddd xmm8,xmm8 - mov edi,edx - add ecx,DWORD[8+rsp] - psrld xmm12,31 - xor ebp,eax - rol edx,5 - add ecx,esi - movdqa xmm13,xmm3 - and edi,ebp - xor ebp,eax - psrld xmm3,30 - add ecx,edx - ror edx,7 - por xmm8,xmm12 - xor edi,eax - mov esi,ecx - add ebx,DWORD[12+rsp] - movups xmm1,XMMWORD[((-48))+r15] -DB 102,15,56,220,208 - pslld xmm13,2 - pxor xmm8,xmm3 - xor edx,ebp - movdqa xmm3,XMMWORD[r11] - rol ecx,5 - add ebx,edi - and esi,edx - pxor xmm8,xmm13 - xor edx,ebp - add ebx,ecx - ror ecx,7 - pshufd xmm9,xmm5,238 - xor esi,ebp - movdqa xmm13,xmm8 - paddd xmm3,xmm8 - mov edi,ebx - add eax,DWORD[16+rsp] - punpcklqdq xmm9,xmm6 - xor ecx,edx - rol ebx,5 - add eax,esi - psrldq xmm13,4 - and edi,ecx - xor ecx,edx - pxor xmm9,xmm5 - add eax,ebx - ror ebx,7 - movups xmm0,XMMWORD[((-32))+r15] -DB 102,15,56,220,209 - pxor xmm13,xmm7 - xor edi,edx - mov esi,eax - add ebp,DWORD[20+rsp] - pxor xmm9,xmm13 - xor ebx,ecx - rol eax,5 - movdqa XMMWORD[rsp],xmm3 - add ebp,edi - and esi,ebx - movdqa xmm12,xmm9 - xor ebx,ecx - add ebp,eax - ror eax,7 - movdqa xmm13,xmm9 - xor esi,ecx - pslldq xmm12,12 - paddd xmm9,xmm9 - mov edi,ebp - add edx,DWORD[24+rsp] - psrld xmm13,31 - xor eax,ebx - rol ebp,5 - add edx,esi - movups xmm1,XMMWORD[((-16))+r15] -DB 102,15,56,220,208 - movdqa xmm3,xmm12 - and edi,eax - xor eax,ebx - psrld xmm12,30 - add edx,ebp - ror ebp,7 - por xmm9,xmm13 - xor edi,ebx - mov esi,edx - add ecx,DWORD[28+rsp] - pslld xmm3,2 - pxor xmm9,xmm12 - xor ebp,eax - movdqa xmm12,XMMWORD[16+r11] - rol edx,5 - add ecx,edi - and esi,ebp - pxor xmm9,xmm3 - xor ebp,eax - add ecx,edx - ror edx,7 - pshufd xmm10,xmm6,238 - xor esi,eax - movdqa xmm3,xmm9 - paddd xmm12,xmm9 - mov edi,ecx - add ebx,DWORD[32+rsp] - movups xmm0,XMMWORD[r15] -DB 102,15,56,220,209 - punpcklqdq xmm10,xmm7 - xor edx,ebp - rol ecx,5 - add ebx,esi - psrldq xmm3,4 - and edi,edx - xor edx,ebp - pxor xmm10,xmm6 - add ebx,ecx - ror ecx,7 - pxor xmm3,xmm8 - xor edi,ebp - mov esi,ebx - add eax,DWORD[36+rsp] - pxor xmm10,xmm3 - xor ecx,edx - rol ebx,5 - movdqa XMMWORD[16+rsp],xmm12 - add eax,edi - and esi,ecx - movdqa xmm13,xmm10 - xor ecx,edx - add eax,ebx - ror ebx,7 - movups xmm1,XMMWORD[16+r15] -DB 102,15,56,220,208 - movdqa xmm3,xmm10 - xor esi,edx - pslldq xmm13,12 - paddd xmm10,xmm10 - mov edi,eax - add ebp,DWORD[40+rsp] - psrld xmm3,31 - xor ebx,ecx - rol eax,5 - add ebp,esi - movdqa xmm12,xmm13 - and edi,ebx - xor ebx,ecx - psrld xmm13,30 - add ebp,eax - ror eax,7 - por xmm10,xmm3 - xor edi,ecx - mov esi,ebp - add edx,DWORD[44+rsp] - pslld xmm12,2 - pxor xmm10,xmm13 - xor eax,ebx - movdqa xmm13,XMMWORD[16+r11] - rol ebp,5 - add edx,edi - movups xmm0,XMMWORD[32+r15] -DB 102,15,56,220,209 - and esi,eax - pxor xmm10,xmm12 - xor eax,ebx - add edx,ebp - ror ebp,7 - pshufd xmm11,xmm7,238 - xor esi,ebx - movdqa xmm12,xmm10 - paddd xmm13,xmm10 - mov edi,edx - add ecx,DWORD[48+rsp] - punpcklqdq xmm11,xmm8 - xor ebp,eax - rol edx,5 - add ecx,esi - psrldq xmm12,4 - and edi,ebp - xor ebp,eax - pxor xmm11,xmm7 - add ecx,edx - ror edx,7 - pxor xmm12,xmm9 - xor edi,eax - mov esi,ecx - add ebx,DWORD[52+rsp] - movups xmm1,XMMWORD[48+r15] -DB 102,15,56,220,208 - pxor xmm11,xmm12 - xor edx,ebp - rol ecx,5 - movdqa XMMWORD[32+rsp],xmm13 - add ebx,edi - and esi,edx - movdqa xmm3,xmm11 - xor edx,ebp - add ebx,ecx - ror ecx,7 - movdqa xmm12,xmm11 - xor esi,ebp - pslldq xmm3,12 - paddd xmm11,xmm11 - mov edi,ebx - add eax,DWORD[56+rsp] - psrld xmm12,31 - xor ecx,edx - rol ebx,5 - add eax,esi - movdqa xmm13,xmm3 - and edi,ecx - xor ecx,edx - psrld xmm3,30 - add eax,ebx - ror ebx,7 - cmp r8d,11 - jb NEAR $L$aesenclast1 - movups xmm0,XMMWORD[64+r15] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[80+r15] -DB 102,15,56,220,208 - je NEAR $L$aesenclast1 - movups xmm0,XMMWORD[96+r15] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+r15] -DB 102,15,56,220,208 -$L$aesenclast1: -DB 102,15,56,221,209 - movups xmm0,XMMWORD[((16-112))+r15] - por xmm11,xmm12 - xor edi,edx - mov esi,eax - add ebp,DWORD[60+rsp] - pslld xmm13,2 - pxor xmm11,xmm3 - xor ebx,ecx - movdqa xmm3,XMMWORD[16+r11] - rol eax,5 - add ebp,edi - and esi,ebx - pxor xmm11,xmm13 - pshufd xmm13,xmm10,238 - xor ebx,ecx - add ebp,eax - ror eax,7 - pxor xmm4,xmm8 - xor esi,ecx - mov edi,ebp - add edx,DWORD[rsp] - punpcklqdq xmm13,xmm11 - xor eax,ebx - rol ebp,5 - pxor xmm4,xmm5 - add edx,esi - movups xmm14,XMMWORD[16+r12] - xorps xmm14,xmm15 - movups XMMWORD[r13*1+r12],xmm2 - xorps xmm2,xmm14 - movups xmm1,XMMWORD[((-80))+r15] -DB 102,15,56,220,208 - and edi,eax - movdqa xmm12,xmm3 - xor eax,ebx - paddd xmm3,xmm11 - add edx,ebp - pxor xmm4,xmm13 - ror ebp,7 - xor edi,ebx - mov esi,edx - add ecx,DWORD[4+rsp] - movdqa xmm13,xmm4 - xor ebp,eax - rol edx,5 - movdqa XMMWORD[48+rsp],xmm3 - add ecx,edi - and esi,ebp - xor ebp,eax - pslld xmm4,2 - add ecx,edx - ror edx,7 - psrld xmm13,30 - xor esi,eax - mov edi,ecx - add ebx,DWORD[8+rsp] - movups xmm0,XMMWORD[((-64))+r15] -DB 102,15,56,220,209 - por xmm4,xmm13 - xor edx,ebp - rol ecx,5 - pshufd xmm3,xmm11,238 - add ebx,esi - and edi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[12+rsp] - xor edi,ebp - mov esi,ebx - rol ebx,5 - add eax,edi - xor esi,edx - ror ecx,7 - add eax,ebx - pxor xmm5,xmm9 - add ebp,DWORD[16+rsp] - movups xmm1,XMMWORD[((-48))+r15] -DB 102,15,56,220,208 - xor esi,ecx - punpcklqdq xmm3,xmm4 - mov edi,eax - rol eax,5 - pxor xmm5,xmm6 - add ebp,esi - xor edi,ecx - movdqa xmm13,xmm12 - ror ebx,7 - paddd xmm12,xmm4 - add ebp,eax - pxor xmm5,xmm3 - add edx,DWORD[20+rsp] - xor edi,ebx - mov esi,ebp - rol ebp,5 - movdqa xmm3,xmm5 - add edx,edi - xor esi,ebx - movdqa XMMWORD[rsp],xmm12 - ror eax,7 - add edx,ebp - add ecx,DWORD[24+rsp] - pslld xmm5,2 - xor esi,eax - mov edi,edx - psrld xmm3,30 - rol edx,5 - add ecx,esi - movups xmm0,XMMWORD[((-32))+r15] -DB 102,15,56,220,209 - xor edi,eax - ror ebp,7 - por xmm5,xmm3 - add ecx,edx - add ebx,DWORD[28+rsp] - pshufd xmm12,xmm4,238 - xor edi,ebp - mov esi,ecx - rol ecx,5 - add ebx,edi - xor esi,ebp - ror edx,7 - add ebx,ecx - pxor xmm6,xmm10 - add eax,DWORD[32+rsp] - xor esi,edx - punpcklqdq xmm12,xmm5 - mov edi,ebx - rol ebx,5 - pxor xmm6,xmm7 - add eax,esi - xor edi,edx - movdqa xmm3,XMMWORD[32+r11] - ror ecx,7 - paddd xmm13,xmm5 - add eax,ebx - pxor xmm6,xmm12 - add ebp,DWORD[36+rsp] - movups xmm1,XMMWORD[((-16))+r15] -DB 102,15,56,220,208 - xor edi,ecx - mov esi,eax - rol eax,5 - movdqa xmm12,xmm6 - add ebp,edi - xor esi,ecx - movdqa XMMWORD[16+rsp],xmm13 - ror ebx,7 - add ebp,eax - add edx,DWORD[40+rsp] - pslld xmm6,2 - xor esi,ebx - mov edi,ebp - psrld xmm12,30 - rol ebp,5 - add edx,esi - xor edi,ebx - ror eax,7 - por xmm6,xmm12 - add edx,ebp - add ecx,DWORD[44+rsp] - pshufd xmm13,xmm5,238 - xor edi,eax - mov esi,edx - rol edx,5 - add ecx,edi - movups xmm0,XMMWORD[r15] -DB 102,15,56,220,209 - xor esi,eax - ror ebp,7 - add ecx,edx - pxor xmm7,xmm11 - add ebx,DWORD[48+rsp] - xor esi,ebp - punpcklqdq xmm13,xmm6 - mov edi,ecx - rol ecx,5 - pxor xmm7,xmm8 - add ebx,esi - xor edi,ebp - movdqa xmm12,xmm3 - ror edx,7 - paddd xmm3,xmm6 - add ebx,ecx - pxor xmm7,xmm13 - add eax,DWORD[52+rsp] - xor edi,edx - mov esi,ebx - rol ebx,5 - movdqa xmm13,xmm7 - add eax,edi - xor esi,edx - movdqa XMMWORD[32+rsp],xmm3 - ror ecx,7 - add eax,ebx - add ebp,DWORD[56+rsp] - movups xmm1,XMMWORD[16+r15] -DB 102,15,56,220,208 - pslld xmm7,2 - xor esi,ecx - mov edi,eax - psrld xmm13,30 - rol eax,5 - add ebp,esi - xor edi,ecx - ror ebx,7 - por xmm7,xmm13 - add ebp,eax - add edx,DWORD[60+rsp] - pshufd xmm3,xmm6,238 - xor edi,ebx - mov esi,ebp - rol ebp,5 - add edx,edi - xor esi,ebx - ror eax,7 - add edx,ebp - pxor xmm8,xmm4 - add ecx,DWORD[rsp] - xor esi,eax - punpcklqdq xmm3,xmm7 - mov edi,edx - rol edx,5 - pxor xmm8,xmm9 - add ecx,esi - movups xmm0,XMMWORD[32+r15] -DB 102,15,56,220,209 - xor edi,eax - movdqa xmm13,xmm12 - ror ebp,7 - paddd xmm12,xmm7 - add ecx,edx - pxor xmm8,xmm3 - add ebx,DWORD[4+rsp] - xor edi,ebp - mov esi,ecx - rol ecx,5 - movdqa xmm3,xmm8 - add ebx,edi - xor esi,ebp - movdqa XMMWORD[48+rsp],xmm12 - ror edx,7 - add ebx,ecx - add eax,DWORD[8+rsp] - pslld xmm8,2 - xor esi,edx - mov edi,ebx - psrld xmm3,30 - rol ebx,5 - add eax,esi - xor edi,edx - ror ecx,7 - por xmm8,xmm3 - add eax,ebx - add ebp,DWORD[12+rsp] - movups xmm1,XMMWORD[48+r15] -DB 102,15,56,220,208 - pshufd xmm12,xmm7,238 - xor edi,ecx - mov esi,eax - rol eax,5 - add ebp,edi - xor esi,ecx - ror ebx,7 - add ebp,eax - pxor xmm9,xmm5 - add edx,DWORD[16+rsp] - xor esi,ebx - punpcklqdq xmm12,xmm8 - mov edi,ebp - rol ebp,5 - pxor xmm9,xmm10 - add edx,esi - xor edi,ebx - movdqa xmm3,xmm13 - ror eax,7 - paddd xmm13,xmm8 - add edx,ebp - pxor xmm9,xmm12 - add ecx,DWORD[20+rsp] - xor edi,eax - mov esi,edx - rol edx,5 - movdqa xmm12,xmm9 - add ecx,edi - cmp r8d,11 - jb NEAR $L$aesenclast2 - movups xmm0,XMMWORD[64+r15] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[80+r15] -DB 102,15,56,220,208 - je NEAR $L$aesenclast2 - movups xmm0,XMMWORD[96+r15] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+r15] -DB 102,15,56,220,208 -$L$aesenclast2: -DB 102,15,56,221,209 - movups xmm0,XMMWORD[((16-112))+r15] - xor esi,eax - movdqa XMMWORD[rsp],xmm13 - ror ebp,7 - add ecx,edx - add ebx,DWORD[24+rsp] - pslld xmm9,2 - xor esi,ebp - mov edi,ecx - psrld xmm12,30 - rol ecx,5 - add ebx,esi - xor edi,ebp - ror edx,7 - por xmm9,xmm12 - add ebx,ecx - add eax,DWORD[28+rsp] - pshufd xmm13,xmm8,238 - ror ecx,7 - mov esi,ebx - xor edi,edx - rol ebx,5 - add eax,edi - xor esi,ecx - xor ecx,edx - add eax,ebx - pxor xmm10,xmm6 - add ebp,DWORD[32+rsp] - movups xmm14,XMMWORD[32+r12] - xorps xmm14,xmm15 - movups XMMWORD[16+r12*1+r13],xmm2 - xorps xmm2,xmm14 - movups xmm1,XMMWORD[((-80))+r15] -DB 102,15,56,220,208 - and esi,ecx - xor ecx,edx - ror ebx,7 - punpcklqdq xmm13,xmm9 - mov edi,eax - xor esi,ecx - pxor xmm10,xmm11 - rol eax,5 - add ebp,esi - movdqa xmm12,xmm3 - xor edi,ebx - paddd xmm3,xmm9 - xor ebx,ecx - pxor xmm10,xmm13 - add ebp,eax - add edx,DWORD[36+rsp] - and edi,ebx - xor ebx,ecx - ror eax,7 - movdqa xmm13,xmm10 - mov esi,ebp - xor edi,ebx - movdqa XMMWORD[16+rsp],xmm3 - rol ebp,5 - add edx,edi - movups xmm0,XMMWORD[((-64))+r15] -DB 102,15,56,220,209 - xor esi,eax - pslld xmm10,2 - xor eax,ebx - add edx,ebp - psrld xmm13,30 - add ecx,DWORD[40+rsp] - and esi,eax - xor eax,ebx - por xmm10,xmm13 - ror ebp,7 - mov edi,edx - xor esi,eax - rol edx,5 - pshufd xmm3,xmm9,238 - add ecx,esi - xor edi,ebp - xor ebp,eax - add ecx,edx - add ebx,DWORD[44+rsp] - and edi,ebp - xor ebp,eax - ror edx,7 - movups xmm1,XMMWORD[((-48))+r15] -DB 102,15,56,220,208 - mov esi,ecx - xor edi,ebp - rol ecx,5 - add ebx,edi - xor esi,edx - xor edx,ebp - add ebx,ecx - pxor xmm11,xmm7 - add eax,DWORD[48+rsp] - and esi,edx - xor edx,ebp - ror ecx,7 - punpcklqdq xmm3,xmm10 - mov edi,ebx - xor esi,edx - pxor xmm11,xmm4 - rol ebx,5 - add eax,esi - movdqa xmm13,XMMWORD[48+r11] - xor edi,ecx - paddd xmm12,xmm10 - xor ecx,edx - pxor xmm11,xmm3 - add eax,ebx - add ebp,DWORD[52+rsp] - movups xmm0,XMMWORD[((-32))+r15] -DB 102,15,56,220,209 - and edi,ecx - xor ecx,edx - ror ebx,7 - movdqa xmm3,xmm11 - mov esi,eax - xor edi,ecx - movdqa XMMWORD[32+rsp],xmm12 - rol eax,5 - add ebp,edi - xor esi,ebx - pslld xmm11,2 - xor ebx,ecx - add ebp,eax - psrld xmm3,30 - add edx,DWORD[56+rsp] - and esi,ebx - xor ebx,ecx - por xmm11,xmm3 - ror eax,7 - mov edi,ebp - xor esi,ebx - rol ebp,5 - pshufd xmm12,xmm10,238 - add edx,esi - movups xmm1,XMMWORD[((-16))+r15] -DB 102,15,56,220,208 - xor edi,eax - xor eax,ebx - add edx,ebp - add ecx,DWORD[60+rsp] - and edi,eax - xor eax,ebx - ror ebp,7 - mov esi,edx - xor edi,eax - rol edx,5 - add ecx,edi - xor esi,ebp - xor ebp,eax - add ecx,edx - pxor xmm4,xmm8 - add ebx,DWORD[rsp] - and esi,ebp - xor ebp,eax - ror edx,7 - movups xmm0,XMMWORD[r15] -DB 102,15,56,220,209 - punpcklqdq xmm12,xmm11 - mov edi,ecx - xor esi,ebp - pxor xmm4,xmm5 - rol ecx,5 - add ebx,esi - movdqa xmm3,xmm13 - xor edi,edx - paddd xmm13,xmm11 - xor edx,ebp - pxor xmm4,xmm12 - add ebx,ecx - add eax,DWORD[4+rsp] - and edi,edx - xor edx,ebp - ror ecx,7 - movdqa xmm12,xmm4 - mov esi,ebx - xor edi,edx - movdqa XMMWORD[48+rsp],xmm13 - rol ebx,5 - add eax,edi - xor esi,ecx - pslld xmm4,2 - xor ecx,edx - add eax,ebx - psrld xmm12,30 - add ebp,DWORD[8+rsp] - movups xmm1,XMMWORD[16+r15] -DB 102,15,56,220,208 - and esi,ecx - xor ecx,edx - por xmm4,xmm12 - ror ebx,7 - mov edi,eax - xor esi,ecx - rol eax,5 - pshufd xmm13,xmm11,238 - add ebp,esi - xor edi,ebx - xor ebx,ecx - add ebp,eax - add edx,DWORD[12+rsp] - and edi,ebx - xor ebx,ecx - ror eax,7 - mov esi,ebp - xor edi,ebx - rol ebp,5 - add edx,edi - movups xmm0,XMMWORD[32+r15] -DB 102,15,56,220,209 - xor esi,eax - xor eax,ebx - add edx,ebp - pxor xmm5,xmm9 - add ecx,DWORD[16+rsp] - and esi,eax - xor eax,ebx - ror ebp,7 - punpcklqdq xmm13,xmm4 - mov edi,edx - xor esi,eax - pxor xmm5,xmm6 - rol edx,5 - add ecx,esi - movdqa xmm12,xmm3 - xor edi,ebp - paddd xmm3,xmm4 - xor ebp,eax - pxor xmm5,xmm13 - add ecx,edx - add ebx,DWORD[20+rsp] - and edi,ebp - xor ebp,eax - ror edx,7 - movups xmm1,XMMWORD[48+r15] -DB 102,15,56,220,208 - movdqa xmm13,xmm5 - mov esi,ecx - xor edi,ebp - movdqa XMMWORD[rsp],xmm3 - rol ecx,5 - add ebx,edi - xor esi,edx - pslld xmm5,2 - xor edx,ebp - add ebx,ecx - psrld xmm13,30 - add eax,DWORD[24+rsp] - and esi,edx - xor edx,ebp - por xmm5,xmm13 - ror ecx,7 - mov edi,ebx - xor esi,edx - rol ebx,5 - pshufd xmm3,xmm4,238 - add eax,esi - xor edi,ecx - xor ecx,edx - add eax,ebx - add ebp,DWORD[28+rsp] - cmp r8d,11 - jb NEAR $L$aesenclast3 - movups xmm0,XMMWORD[64+r15] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[80+r15] -DB 102,15,56,220,208 - je NEAR $L$aesenclast3 - movups xmm0,XMMWORD[96+r15] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+r15] -DB 102,15,56,220,208 -$L$aesenclast3: -DB 102,15,56,221,209 - movups xmm0,XMMWORD[((16-112))+r15] - and edi,ecx - xor ecx,edx - ror ebx,7 - mov esi,eax - xor edi,ecx - rol eax,5 - add ebp,edi - xor esi,ebx - xor ebx,ecx - add ebp,eax - pxor xmm6,xmm10 - add edx,DWORD[32+rsp] - and esi,ebx - xor ebx,ecx - ror eax,7 - punpcklqdq xmm3,xmm5 - mov edi,ebp - xor esi,ebx - pxor xmm6,xmm7 - rol ebp,5 - add edx,esi - movups xmm14,XMMWORD[48+r12] - xorps xmm14,xmm15 - movups XMMWORD[32+r12*1+r13],xmm2 - xorps xmm2,xmm14 - movups xmm1,XMMWORD[((-80))+r15] -DB 102,15,56,220,208 - movdqa xmm13,xmm12 - xor edi,eax - paddd xmm12,xmm5 - xor eax,ebx - pxor xmm6,xmm3 - add edx,ebp - add ecx,DWORD[36+rsp] - and edi,eax - xor eax,ebx - ror ebp,7 - movdqa xmm3,xmm6 - mov esi,edx - xor edi,eax - movdqa XMMWORD[16+rsp],xmm12 - rol edx,5 - add ecx,edi - xor esi,ebp - pslld xmm6,2 - xor ebp,eax - add ecx,edx - psrld xmm3,30 - add ebx,DWORD[40+rsp] - and esi,ebp - xor ebp,eax - por xmm6,xmm3 - ror edx,7 - movups xmm0,XMMWORD[((-64))+r15] -DB 102,15,56,220,209 - mov edi,ecx - xor esi,ebp - rol ecx,5 - pshufd xmm12,xmm5,238 - add ebx,esi - xor edi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[44+rsp] - and edi,edx - xor edx,ebp - ror ecx,7 - mov esi,ebx - xor edi,edx - rol ebx,5 - add eax,edi - xor esi,edx - add eax,ebx - pxor xmm7,xmm11 - add ebp,DWORD[48+rsp] - movups xmm1,XMMWORD[((-48))+r15] -DB 102,15,56,220,208 - xor esi,ecx - punpcklqdq xmm12,xmm6 - mov edi,eax - rol eax,5 - pxor xmm7,xmm8 - add ebp,esi - xor edi,ecx - movdqa xmm3,xmm13 - ror ebx,7 - paddd xmm13,xmm6 - add ebp,eax - pxor xmm7,xmm12 - add edx,DWORD[52+rsp] - xor edi,ebx - mov esi,ebp - rol ebp,5 - movdqa xmm12,xmm7 - add edx,edi - xor esi,ebx - movdqa XMMWORD[32+rsp],xmm13 - ror eax,7 - add edx,ebp - add ecx,DWORD[56+rsp] - pslld xmm7,2 - xor esi,eax - mov edi,edx - psrld xmm12,30 - rol edx,5 - add ecx,esi - movups xmm0,XMMWORD[((-32))+r15] -DB 102,15,56,220,209 - xor edi,eax - ror ebp,7 - por xmm7,xmm12 - add ecx,edx - add ebx,DWORD[60+rsp] - xor edi,ebp - mov esi,ecx - rol ecx,5 - add ebx,edi - xor esi,ebp - ror edx,7 - add ebx,ecx - add eax,DWORD[rsp] - xor esi,edx - mov edi,ebx - rol ebx,5 - paddd xmm3,xmm7 - add eax,esi - xor edi,edx - movdqa XMMWORD[48+rsp],xmm3 - ror ecx,7 - add eax,ebx - add ebp,DWORD[4+rsp] - movups xmm1,XMMWORD[((-16))+r15] -DB 102,15,56,220,208 - xor edi,ecx - mov esi,eax - rol eax,5 - add ebp,edi - xor esi,ecx - ror ebx,7 - add ebp,eax - add edx,DWORD[8+rsp] - xor esi,ebx - mov edi,ebp - rol ebp,5 - add edx,esi - xor edi,ebx - ror eax,7 - add edx,ebp - add ecx,DWORD[12+rsp] - xor edi,eax - mov esi,edx - rol edx,5 - add ecx,edi - movups xmm0,XMMWORD[r15] -DB 102,15,56,220,209 - xor esi,eax - ror ebp,7 - add ecx,edx - cmp r10,r14 - je NEAR $L$done_ssse3 - movdqa xmm3,XMMWORD[64+r11] - movdqa xmm13,XMMWORD[r11] - movdqu xmm4,XMMWORD[r10] - movdqu xmm5,XMMWORD[16+r10] - movdqu xmm6,XMMWORD[32+r10] - movdqu xmm7,XMMWORD[48+r10] -DB 102,15,56,0,227 - add r10,64 - add ebx,DWORD[16+rsp] - xor esi,ebp - mov edi,ecx -DB 102,15,56,0,235 - rol ecx,5 - add ebx,esi - xor edi,ebp - ror edx,7 - paddd xmm4,xmm13 - add ebx,ecx - add eax,DWORD[20+rsp] - xor edi,edx - mov esi,ebx - movdqa XMMWORD[rsp],xmm4 - rol ebx,5 - add eax,edi - xor esi,edx - ror ecx,7 - psubd xmm4,xmm13 - add eax,ebx - add ebp,DWORD[24+rsp] - movups xmm1,XMMWORD[16+r15] -DB 102,15,56,220,208 - xor esi,ecx - mov edi,eax - rol eax,5 - add ebp,esi - xor edi,ecx - ror ebx,7 - add ebp,eax - add edx,DWORD[28+rsp] - xor edi,ebx - mov esi,ebp - rol ebp,5 - add edx,edi - xor esi,ebx - ror eax,7 - add edx,ebp - add ecx,DWORD[32+rsp] - xor esi,eax - mov edi,edx -DB 102,15,56,0,243 - rol edx,5 - add ecx,esi - movups xmm0,XMMWORD[32+r15] -DB 102,15,56,220,209 - xor edi,eax - ror ebp,7 - paddd xmm5,xmm13 - add ecx,edx - add ebx,DWORD[36+rsp] - xor edi,ebp - mov esi,ecx - movdqa XMMWORD[16+rsp],xmm5 - rol ecx,5 - add ebx,edi - xor esi,ebp - ror edx,7 - psubd xmm5,xmm13 - add ebx,ecx - add eax,DWORD[40+rsp] - xor esi,edx - mov edi,ebx - rol ebx,5 - add eax,esi - xor edi,edx - ror ecx,7 - add eax,ebx - add ebp,DWORD[44+rsp] - movups xmm1,XMMWORD[48+r15] -DB 102,15,56,220,208 - xor edi,ecx - mov esi,eax - rol eax,5 - add ebp,edi - xor esi,ecx - ror ebx,7 - add ebp,eax - add edx,DWORD[48+rsp] - xor esi,ebx - mov edi,ebp -DB 102,15,56,0,251 - rol ebp,5 - add edx,esi - xor edi,ebx - ror eax,7 - paddd xmm6,xmm13 - add edx,ebp - add ecx,DWORD[52+rsp] - xor edi,eax - mov esi,edx - movdqa XMMWORD[32+rsp],xmm6 - rol edx,5 - add ecx,edi - cmp r8d,11 - jb NEAR $L$aesenclast4 - movups xmm0,XMMWORD[64+r15] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[80+r15] -DB 102,15,56,220,208 - je NEAR $L$aesenclast4 - movups xmm0,XMMWORD[96+r15] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+r15] -DB 102,15,56,220,208 -$L$aesenclast4: -DB 102,15,56,221,209 - movups xmm0,XMMWORD[((16-112))+r15] - xor esi,eax - ror ebp,7 - psubd xmm6,xmm13 - add ecx,edx - add ebx,DWORD[56+rsp] - xor esi,ebp - mov edi,ecx - rol ecx,5 - add ebx,esi - xor edi,ebp - ror edx,7 - add ebx,ecx - add eax,DWORD[60+rsp] - xor edi,edx - mov esi,ebx - rol ebx,5 - add eax,edi - ror ecx,7 - add eax,ebx - movups XMMWORD[48+r12*1+r13],xmm2 - lea r12,[64+r12] - - add eax,DWORD[r9] - add esi,DWORD[4+r9] - add ecx,DWORD[8+r9] - add edx,DWORD[12+r9] - mov DWORD[r9],eax - add ebp,DWORD[16+r9] - mov DWORD[4+r9],esi - mov ebx,esi - mov DWORD[8+r9],ecx - mov edi,ecx - mov DWORD[12+r9],edx - xor edi,edx - mov DWORD[16+r9],ebp - and esi,edi - jmp NEAR $L$oop_ssse3 - -$L$done_ssse3: - add ebx,DWORD[16+rsp] - xor esi,ebp - mov edi,ecx - rol ecx,5 - add ebx,esi - xor edi,ebp - ror edx,7 - add ebx,ecx - add eax,DWORD[20+rsp] - xor edi,edx - mov esi,ebx - rol ebx,5 - add eax,edi - xor esi,edx - ror ecx,7 - add eax,ebx - add ebp,DWORD[24+rsp] - movups xmm1,XMMWORD[16+r15] -DB 102,15,56,220,208 - xor esi,ecx - mov edi,eax - rol eax,5 - add ebp,esi - xor edi,ecx - ror ebx,7 - add ebp,eax - add edx,DWORD[28+rsp] - xor edi,ebx - mov esi,ebp - rol ebp,5 - add edx,edi - xor esi,ebx - ror eax,7 - add edx,ebp - add ecx,DWORD[32+rsp] - xor esi,eax - mov edi,edx - rol edx,5 - add ecx,esi - movups xmm0,XMMWORD[32+r15] -DB 102,15,56,220,209 - xor edi,eax - ror ebp,7 - add ecx,edx - add ebx,DWORD[36+rsp] - xor edi,ebp - mov esi,ecx - rol ecx,5 - add ebx,edi - xor esi,ebp - ror edx,7 - add ebx,ecx - add eax,DWORD[40+rsp] - xor esi,edx - mov edi,ebx - rol ebx,5 - add eax,esi - xor edi,edx - ror ecx,7 - add eax,ebx - add ebp,DWORD[44+rsp] - movups xmm1,XMMWORD[48+r15] -DB 102,15,56,220,208 - xor edi,ecx - mov esi,eax - rol eax,5 - add ebp,edi - xor esi,ecx - ror ebx,7 - add ebp,eax - add edx,DWORD[48+rsp] - xor esi,ebx - mov edi,ebp - rol ebp,5 - add edx,esi - xor edi,ebx - ror eax,7 - add edx,ebp - add ecx,DWORD[52+rsp] - xor edi,eax - mov esi,edx - rol edx,5 - add ecx,edi - cmp r8d,11 - jb NEAR $L$aesenclast5 - movups xmm0,XMMWORD[64+r15] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[80+r15] -DB 102,15,56,220,208 - je NEAR $L$aesenclast5 - movups xmm0,XMMWORD[96+r15] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+r15] -DB 102,15,56,220,208 -$L$aesenclast5: -DB 102,15,56,221,209 - movups xmm0,XMMWORD[((16-112))+r15] - xor esi,eax - ror ebp,7 - add ecx,edx - add ebx,DWORD[56+rsp] - xor esi,ebp - mov edi,ecx - rol ecx,5 - add ebx,esi - xor edi,ebp - ror edx,7 - add ebx,ecx - add eax,DWORD[60+rsp] - xor edi,edx - mov esi,ebx - rol ebx,5 - add eax,edi - ror ecx,7 - add eax,ebx - movups XMMWORD[48+r12*1+r13],xmm2 - mov r8,QWORD[88+rsp] - - add eax,DWORD[r9] - add esi,DWORD[4+r9] - add ecx,DWORD[8+r9] - mov DWORD[r9],eax - add edx,DWORD[12+r9] - mov DWORD[4+r9],esi - add ebp,DWORD[16+r9] - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - mov DWORD[16+r9],ebp - movups XMMWORD[r8],xmm2 - movaps xmm6,XMMWORD[((96+0))+rsp] - movaps xmm7,XMMWORD[((96+16))+rsp] - movaps xmm8,XMMWORD[((96+32))+rsp] - movaps xmm9,XMMWORD[((96+48))+rsp] - movaps xmm10,XMMWORD[((96+64))+rsp] - movaps xmm11,XMMWORD[((96+80))+rsp] - movaps xmm12,XMMWORD[((96+96))+rsp] - movaps xmm13,XMMWORD[((96+112))+rsp] - movaps xmm14,XMMWORD[((96+128))+rsp] - movaps xmm15,XMMWORD[((96+144))+rsp] - lea rsi,[264+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue_ssse3: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha1_enc_ssse3: - -ALIGN 32 -aesni_cbc_sha1_enc_avx: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_cbc_sha1_enc_avx: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov r10,QWORD[56+rsp] - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-264))+rsp] - - - movaps XMMWORD[(96+0)+rsp],xmm6 - movaps XMMWORD[(96+16)+rsp],xmm7 - movaps XMMWORD[(96+32)+rsp],xmm8 - movaps XMMWORD[(96+48)+rsp],xmm9 - movaps XMMWORD[(96+64)+rsp],xmm10 - movaps XMMWORD[(96+80)+rsp],xmm11 - movaps XMMWORD[(96+96)+rsp],xmm12 - movaps XMMWORD[(96+112)+rsp],xmm13 - movaps XMMWORD[(96+128)+rsp],xmm14 - movaps XMMWORD[(96+144)+rsp],xmm15 -$L$prologue_avx: - vzeroall - mov r12,rdi - mov r13,rsi - mov r14,rdx - lea r15,[112+rcx] - vmovdqu xmm12,XMMWORD[r8] - mov QWORD[88+rsp],r8 - shl r14,6 - sub r13,r12 - mov r8d,DWORD[((240-112))+r15] - add r14,r10 - - lea r11,[K_XX_XX] - mov eax,DWORD[r9] - mov ebx,DWORD[4+r9] - mov ecx,DWORD[8+r9] - mov edx,DWORD[12+r9] - mov esi,ebx - mov ebp,DWORD[16+r9] - mov edi,ecx - xor edi,edx - and esi,edi - - vmovdqa xmm6,XMMWORD[64+r11] - vmovdqa xmm10,XMMWORD[r11] - vmovdqu xmm0,XMMWORD[r10] - vmovdqu xmm1,XMMWORD[16+r10] - vmovdqu xmm2,XMMWORD[32+r10] - vmovdqu xmm3,XMMWORD[48+r10] - vpshufb xmm0,xmm0,xmm6 - add r10,64 - vpshufb xmm1,xmm1,xmm6 - vpshufb xmm2,xmm2,xmm6 - vpshufb xmm3,xmm3,xmm6 - vpaddd xmm4,xmm0,xmm10 - vpaddd xmm5,xmm1,xmm10 - vpaddd xmm6,xmm2,xmm10 - vmovdqa XMMWORD[rsp],xmm4 - vmovdqa XMMWORD[16+rsp],xmm5 - vmovdqa XMMWORD[32+rsp],xmm6 - vmovups xmm15,XMMWORD[((-112))+r15] - vmovups xmm14,XMMWORD[((16-112))+r15] - jmp NEAR $L$oop_avx -ALIGN 32 -$L$oop_avx: - shrd ebx,ebx,2 - vmovdqu xmm13,XMMWORD[r12] - vpxor xmm13,xmm13,xmm15 - vpxor xmm12,xmm12,xmm13 - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-80))+r15] - xor esi,edx - vpalignr xmm4,xmm1,xmm0,8 - mov edi,eax - add ebp,DWORD[rsp] - vpaddd xmm9,xmm10,xmm3 - xor ebx,ecx - shld eax,eax,5 - vpsrldq xmm8,xmm3,4 - add ebp,esi - and edi,ebx - vpxor xmm4,xmm4,xmm0 - xor ebx,ecx - add ebp,eax - vpxor xmm8,xmm8,xmm2 - shrd eax,eax,7 - xor edi,ecx - mov esi,ebp - add edx,DWORD[4+rsp] - vpxor xmm4,xmm4,xmm8 - xor eax,ebx - shld ebp,ebp,5 - vmovdqa XMMWORD[48+rsp],xmm9 - add edx,edi - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[((-64))+r15] - and esi,eax - vpsrld xmm8,xmm4,31 - xor eax,ebx - add edx,ebp - shrd ebp,ebp,7 - xor esi,ebx - vpslldq xmm9,xmm4,12 - vpaddd xmm4,xmm4,xmm4 - mov edi,edx - add ecx,DWORD[8+rsp] - xor ebp,eax - shld edx,edx,5 - vpor xmm4,xmm4,xmm8 - vpsrld xmm8,xmm9,30 - add ecx,esi - and edi,ebp - xor ebp,eax - add ecx,edx - vpslld xmm9,xmm9,2 - vpxor xmm4,xmm4,xmm8 - shrd edx,edx,7 - xor edi,eax - mov esi,ecx - add ebx,DWORD[12+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-48))+r15] - vpxor xmm4,xmm4,xmm9 - xor edx,ebp - shld ecx,ecx,5 - add ebx,edi - and esi,edx - xor edx,ebp - add ebx,ecx - shrd ecx,ecx,7 - xor esi,ebp - vpalignr xmm5,xmm2,xmm1,8 - mov edi,ebx - add eax,DWORD[16+rsp] - vpaddd xmm9,xmm10,xmm4 - xor ecx,edx - shld ebx,ebx,5 - vpsrldq xmm8,xmm4,4 - add eax,esi - and edi,ecx - vpxor xmm5,xmm5,xmm1 - xor ecx,edx - add eax,ebx - vpxor xmm8,xmm8,xmm3 - shrd ebx,ebx,7 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[((-32))+r15] - xor edi,edx - mov esi,eax - add ebp,DWORD[20+rsp] - vpxor xmm5,xmm5,xmm8 - xor ebx,ecx - shld eax,eax,5 - vmovdqa XMMWORD[rsp],xmm9 - add ebp,edi - and esi,ebx - vpsrld xmm8,xmm5,31 - xor ebx,ecx - add ebp,eax - shrd eax,eax,7 - xor esi,ecx - vpslldq xmm9,xmm5,12 - vpaddd xmm5,xmm5,xmm5 - mov edi,ebp - add edx,DWORD[24+rsp] - xor eax,ebx - shld ebp,ebp,5 - vpor xmm5,xmm5,xmm8 - vpsrld xmm8,xmm9,30 - add edx,esi - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-16))+r15] - and edi,eax - xor eax,ebx - add edx,ebp - vpslld xmm9,xmm9,2 - vpxor xmm5,xmm5,xmm8 - shrd ebp,ebp,7 - xor edi,ebx - mov esi,edx - add ecx,DWORD[28+rsp] - vpxor xmm5,xmm5,xmm9 - xor ebp,eax - shld edx,edx,5 - vmovdqa xmm10,XMMWORD[16+r11] - add ecx,edi - and esi,ebp - xor ebp,eax - add ecx,edx - shrd edx,edx,7 - xor esi,eax - vpalignr xmm6,xmm3,xmm2,8 - mov edi,ecx - add ebx,DWORD[32+rsp] - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[r15] - vpaddd xmm9,xmm10,xmm5 - xor edx,ebp - shld ecx,ecx,5 - vpsrldq xmm8,xmm5,4 - add ebx,esi - and edi,edx - vpxor xmm6,xmm6,xmm2 - xor edx,ebp - add ebx,ecx - vpxor xmm8,xmm8,xmm4 - shrd ecx,ecx,7 - xor edi,ebp - mov esi,ebx - add eax,DWORD[36+rsp] - vpxor xmm6,xmm6,xmm8 - xor ecx,edx - shld ebx,ebx,5 - vmovdqa XMMWORD[16+rsp],xmm9 - add eax,edi - and esi,ecx - vpsrld xmm8,xmm6,31 - xor ecx,edx - add eax,ebx - shrd ebx,ebx,7 - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[16+r15] - xor esi,edx - vpslldq xmm9,xmm6,12 - vpaddd xmm6,xmm6,xmm6 - mov edi,eax - add ebp,DWORD[40+rsp] - xor ebx,ecx - shld eax,eax,5 - vpor xmm6,xmm6,xmm8 - vpsrld xmm8,xmm9,30 - add ebp,esi - and edi,ebx - xor ebx,ecx - add ebp,eax - vpslld xmm9,xmm9,2 - vpxor xmm6,xmm6,xmm8 - shrd eax,eax,7 - xor edi,ecx - mov esi,ebp - add edx,DWORD[44+rsp] - vpxor xmm6,xmm6,xmm9 - xor eax,ebx - shld ebp,ebp,5 - add edx,edi - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[32+r15] - and esi,eax - xor eax,ebx - add edx,ebp - shrd ebp,ebp,7 - xor esi,ebx - vpalignr xmm7,xmm4,xmm3,8 - mov edi,edx - add ecx,DWORD[48+rsp] - vpaddd xmm9,xmm10,xmm6 - xor ebp,eax - shld edx,edx,5 - vpsrldq xmm8,xmm6,4 - add ecx,esi - and edi,ebp - vpxor xmm7,xmm7,xmm3 - xor ebp,eax - add ecx,edx - vpxor xmm8,xmm8,xmm5 - shrd edx,edx,7 - xor edi,eax - mov esi,ecx - add ebx,DWORD[52+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[48+r15] - vpxor xmm7,xmm7,xmm8 - xor edx,ebp - shld ecx,ecx,5 - vmovdqa XMMWORD[32+rsp],xmm9 - add ebx,edi - and esi,edx - vpsrld xmm8,xmm7,31 - xor edx,ebp - add ebx,ecx - shrd ecx,ecx,7 - xor esi,ebp - vpslldq xmm9,xmm7,12 - vpaddd xmm7,xmm7,xmm7 - mov edi,ebx - add eax,DWORD[56+rsp] - xor ecx,edx - shld ebx,ebx,5 - vpor xmm7,xmm7,xmm8 - vpsrld xmm8,xmm9,30 - add eax,esi - and edi,ecx - xor ecx,edx - add eax,ebx - vpslld xmm9,xmm9,2 - vpxor xmm7,xmm7,xmm8 - shrd ebx,ebx,7 - cmp r8d,11 - jb NEAR $L$vaesenclast6 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[64+r15] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[80+r15] - je NEAR $L$vaesenclast6 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[96+r15] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[112+r15] -$L$vaesenclast6: - vaesenclast xmm12,xmm12,xmm15 - vmovups xmm15,XMMWORD[((-112))+r15] - vmovups xmm14,XMMWORD[((16-112))+r15] - xor edi,edx - mov esi,eax - add ebp,DWORD[60+rsp] - vpxor xmm7,xmm7,xmm9 - xor ebx,ecx - shld eax,eax,5 - add ebp,edi - and esi,ebx - xor ebx,ecx - add ebp,eax - vpalignr xmm8,xmm7,xmm6,8 - vpxor xmm0,xmm0,xmm4 - shrd eax,eax,7 - xor esi,ecx - mov edi,ebp - add edx,DWORD[rsp] - vpxor xmm0,xmm0,xmm1 - xor eax,ebx - shld ebp,ebp,5 - vpaddd xmm9,xmm10,xmm7 - add edx,esi - vmovdqu xmm13,XMMWORD[16+r12] - vpxor xmm13,xmm13,xmm15 - vmovups XMMWORD[r13*1+r12],xmm12 - vpxor xmm12,xmm12,xmm13 - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-80))+r15] - and edi,eax - vpxor xmm0,xmm0,xmm8 - xor eax,ebx - add edx,ebp - shrd ebp,ebp,7 - xor edi,ebx - vpsrld xmm8,xmm0,30 - vmovdqa XMMWORD[48+rsp],xmm9 - mov esi,edx - add ecx,DWORD[4+rsp] - xor ebp,eax - shld edx,edx,5 - vpslld xmm0,xmm0,2 - add ecx,edi - and esi,ebp - xor ebp,eax - add ecx,edx - shrd edx,edx,7 - xor esi,eax - mov edi,ecx - add ebx,DWORD[8+rsp] - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[((-64))+r15] - vpor xmm0,xmm0,xmm8 - xor edx,ebp - shld ecx,ecx,5 - add ebx,esi - and edi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[12+rsp] - xor edi,ebp - mov esi,ebx - shld ebx,ebx,5 - add eax,edi - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - vpalignr xmm8,xmm0,xmm7,8 - vpxor xmm1,xmm1,xmm5 - add ebp,DWORD[16+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-48))+r15] - xor esi,ecx - mov edi,eax - shld eax,eax,5 - vpxor xmm1,xmm1,xmm2 - add ebp,esi - xor edi,ecx - vpaddd xmm9,xmm10,xmm0 - shrd ebx,ebx,7 - add ebp,eax - vpxor xmm1,xmm1,xmm8 - add edx,DWORD[20+rsp] - xor edi,ebx - mov esi,ebp - shld ebp,ebp,5 - vpsrld xmm8,xmm1,30 - vmovdqa XMMWORD[rsp],xmm9 - add edx,edi - xor esi,ebx - shrd eax,eax,7 - add edx,ebp - vpslld xmm1,xmm1,2 - add ecx,DWORD[24+rsp] - xor esi,eax - mov edi,edx - shld edx,edx,5 - add ecx,esi - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[((-32))+r15] - xor edi,eax - shrd ebp,ebp,7 - add ecx,edx - vpor xmm1,xmm1,xmm8 - add ebx,DWORD[28+rsp] - xor edi,ebp - mov esi,ecx - shld ecx,ecx,5 - add ebx,edi - xor esi,ebp - shrd edx,edx,7 - add ebx,ecx - vpalignr xmm8,xmm1,xmm0,8 - vpxor xmm2,xmm2,xmm6 - add eax,DWORD[32+rsp] - xor esi,edx - mov edi,ebx - shld ebx,ebx,5 - vpxor xmm2,xmm2,xmm3 - add eax,esi - xor edi,edx - vpaddd xmm9,xmm10,xmm1 - vmovdqa xmm10,XMMWORD[32+r11] - shrd ecx,ecx,7 - add eax,ebx - vpxor xmm2,xmm2,xmm8 - add ebp,DWORD[36+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-16))+r15] - xor edi,ecx - mov esi,eax - shld eax,eax,5 - vpsrld xmm8,xmm2,30 - vmovdqa XMMWORD[16+rsp],xmm9 - add ebp,edi - xor esi,ecx - shrd ebx,ebx,7 - add ebp,eax - vpslld xmm2,xmm2,2 - add edx,DWORD[40+rsp] - xor esi,ebx - mov edi,ebp - shld ebp,ebp,5 - add edx,esi - xor edi,ebx - shrd eax,eax,7 - add edx,ebp - vpor xmm2,xmm2,xmm8 - add ecx,DWORD[44+rsp] - xor edi,eax - mov esi,edx - shld edx,edx,5 - add ecx,edi - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[r15] - xor esi,eax - shrd ebp,ebp,7 - add ecx,edx - vpalignr xmm8,xmm2,xmm1,8 - vpxor xmm3,xmm3,xmm7 - add ebx,DWORD[48+rsp] - xor esi,ebp - mov edi,ecx - shld ecx,ecx,5 - vpxor xmm3,xmm3,xmm4 - add ebx,esi - xor edi,ebp - vpaddd xmm9,xmm10,xmm2 - shrd edx,edx,7 - add ebx,ecx - vpxor xmm3,xmm3,xmm8 - add eax,DWORD[52+rsp] - xor edi,edx - mov esi,ebx - shld ebx,ebx,5 - vpsrld xmm8,xmm3,30 - vmovdqa XMMWORD[32+rsp],xmm9 - add eax,edi - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - vpslld xmm3,xmm3,2 - add ebp,DWORD[56+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[16+r15] - xor esi,ecx - mov edi,eax - shld eax,eax,5 - add ebp,esi - xor edi,ecx - shrd ebx,ebx,7 - add ebp,eax - vpor xmm3,xmm3,xmm8 - add edx,DWORD[60+rsp] - xor edi,ebx - mov esi,ebp - shld ebp,ebp,5 - add edx,edi - xor esi,ebx - shrd eax,eax,7 - add edx,ebp - vpalignr xmm8,xmm3,xmm2,8 - vpxor xmm4,xmm4,xmm0 - add ecx,DWORD[rsp] - xor esi,eax - mov edi,edx - shld edx,edx,5 - vpxor xmm4,xmm4,xmm5 - add ecx,esi - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[32+r15] - xor edi,eax - vpaddd xmm9,xmm10,xmm3 - shrd ebp,ebp,7 - add ecx,edx - vpxor xmm4,xmm4,xmm8 - add ebx,DWORD[4+rsp] - xor edi,ebp - mov esi,ecx - shld ecx,ecx,5 - vpsrld xmm8,xmm4,30 - vmovdqa XMMWORD[48+rsp],xmm9 - add ebx,edi - xor esi,ebp - shrd edx,edx,7 - add ebx,ecx - vpslld xmm4,xmm4,2 - add eax,DWORD[8+rsp] - xor esi,edx - mov edi,ebx - shld ebx,ebx,5 - add eax,esi - xor edi,edx - shrd ecx,ecx,7 - add eax,ebx - vpor xmm4,xmm4,xmm8 - add ebp,DWORD[12+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[48+r15] - xor edi,ecx - mov esi,eax - shld eax,eax,5 - add ebp,edi - xor esi,ecx - shrd ebx,ebx,7 - add ebp,eax - vpalignr xmm8,xmm4,xmm3,8 - vpxor xmm5,xmm5,xmm1 - add edx,DWORD[16+rsp] - xor esi,ebx - mov edi,ebp - shld ebp,ebp,5 - vpxor xmm5,xmm5,xmm6 - add edx,esi - xor edi,ebx - vpaddd xmm9,xmm10,xmm4 - shrd eax,eax,7 - add edx,ebp - vpxor xmm5,xmm5,xmm8 - add ecx,DWORD[20+rsp] - xor edi,eax - mov esi,edx - shld edx,edx,5 - vpsrld xmm8,xmm5,30 - vmovdqa XMMWORD[rsp],xmm9 - add ecx,edi - cmp r8d,11 - jb NEAR $L$vaesenclast7 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[64+r15] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[80+r15] - je NEAR $L$vaesenclast7 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[96+r15] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[112+r15] -$L$vaesenclast7: - vaesenclast xmm12,xmm12,xmm15 - vmovups xmm15,XMMWORD[((-112))+r15] - vmovups xmm14,XMMWORD[((16-112))+r15] - xor esi,eax - shrd ebp,ebp,7 - add ecx,edx - vpslld xmm5,xmm5,2 - add ebx,DWORD[24+rsp] - xor esi,ebp - mov edi,ecx - shld ecx,ecx,5 - add ebx,esi - xor edi,ebp - shrd edx,edx,7 - add ebx,ecx - vpor xmm5,xmm5,xmm8 - add eax,DWORD[28+rsp] - shrd ecx,ecx,7 - mov esi,ebx - xor edi,edx - shld ebx,ebx,5 - add eax,edi - xor esi,ecx - xor ecx,edx - add eax,ebx - vpalignr xmm8,xmm5,xmm4,8 - vpxor xmm6,xmm6,xmm2 - add ebp,DWORD[32+rsp] - vmovdqu xmm13,XMMWORD[32+r12] - vpxor xmm13,xmm13,xmm15 - vmovups XMMWORD[16+r12*1+r13],xmm12 - vpxor xmm12,xmm12,xmm13 - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-80))+r15] - and esi,ecx - xor ecx,edx - shrd ebx,ebx,7 - vpxor xmm6,xmm6,xmm7 - mov edi,eax - xor esi,ecx - vpaddd xmm9,xmm10,xmm5 - shld eax,eax,5 - add ebp,esi - vpxor xmm6,xmm6,xmm8 - xor edi,ebx - xor ebx,ecx - add ebp,eax - add edx,DWORD[36+rsp] - vpsrld xmm8,xmm6,30 - vmovdqa XMMWORD[16+rsp],xmm9 - and edi,ebx - xor ebx,ecx - shrd eax,eax,7 - mov esi,ebp - vpslld xmm6,xmm6,2 - xor edi,ebx - shld ebp,ebp,5 - add edx,edi - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[((-64))+r15] - xor esi,eax - xor eax,ebx - add edx,ebp - add ecx,DWORD[40+rsp] - and esi,eax - vpor xmm6,xmm6,xmm8 - xor eax,ebx - shrd ebp,ebp,7 - mov edi,edx - xor esi,eax - shld edx,edx,5 - add ecx,esi - xor edi,ebp - xor ebp,eax - add ecx,edx - add ebx,DWORD[44+rsp] - and edi,ebp - xor ebp,eax - shrd edx,edx,7 - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-48))+r15] - mov esi,ecx - xor edi,ebp - shld ecx,ecx,5 - add ebx,edi - xor esi,edx - xor edx,ebp - add ebx,ecx - vpalignr xmm8,xmm6,xmm5,8 - vpxor xmm7,xmm7,xmm3 - add eax,DWORD[48+rsp] - and esi,edx - xor edx,ebp - shrd ecx,ecx,7 - vpxor xmm7,xmm7,xmm0 - mov edi,ebx - xor esi,edx - vpaddd xmm9,xmm10,xmm6 - vmovdqa xmm10,XMMWORD[48+r11] - shld ebx,ebx,5 - add eax,esi - vpxor xmm7,xmm7,xmm8 - xor edi,ecx - xor ecx,edx - add eax,ebx - add ebp,DWORD[52+rsp] - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[((-32))+r15] - vpsrld xmm8,xmm7,30 - vmovdqa XMMWORD[32+rsp],xmm9 - and edi,ecx - xor ecx,edx - shrd ebx,ebx,7 - mov esi,eax - vpslld xmm7,xmm7,2 - xor edi,ecx - shld eax,eax,5 - add ebp,edi - xor esi,ebx - xor ebx,ecx - add ebp,eax - add edx,DWORD[56+rsp] - and esi,ebx - vpor xmm7,xmm7,xmm8 - xor ebx,ecx - shrd eax,eax,7 - mov edi,ebp - xor esi,ebx - shld ebp,ebp,5 - add edx,esi - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-16))+r15] - xor edi,eax - xor eax,ebx - add edx,ebp - add ecx,DWORD[60+rsp] - and edi,eax - xor eax,ebx - shrd ebp,ebp,7 - mov esi,edx - xor edi,eax - shld edx,edx,5 - add ecx,edi - xor esi,ebp - xor ebp,eax - add ecx,edx - vpalignr xmm8,xmm7,xmm6,8 - vpxor xmm0,xmm0,xmm4 - add ebx,DWORD[rsp] - and esi,ebp - xor ebp,eax - shrd edx,edx,7 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[r15] - vpxor xmm0,xmm0,xmm1 - mov edi,ecx - xor esi,ebp - vpaddd xmm9,xmm10,xmm7 - shld ecx,ecx,5 - add ebx,esi - vpxor xmm0,xmm0,xmm8 - xor edi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[4+rsp] - vpsrld xmm8,xmm0,30 - vmovdqa XMMWORD[48+rsp],xmm9 - and edi,edx - xor edx,ebp - shrd ecx,ecx,7 - mov esi,ebx - vpslld xmm0,xmm0,2 - xor edi,edx - shld ebx,ebx,5 - add eax,edi - xor esi,ecx - xor ecx,edx - add eax,ebx - add ebp,DWORD[8+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[16+r15] - and esi,ecx - vpor xmm0,xmm0,xmm8 - xor ecx,edx - shrd ebx,ebx,7 - mov edi,eax - xor esi,ecx - shld eax,eax,5 - add ebp,esi - xor edi,ebx - xor ebx,ecx - add ebp,eax - add edx,DWORD[12+rsp] - and edi,ebx - xor ebx,ecx - shrd eax,eax,7 - mov esi,ebp - xor edi,ebx - shld ebp,ebp,5 - add edx,edi - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[32+r15] - xor esi,eax - xor eax,ebx - add edx,ebp - vpalignr xmm8,xmm0,xmm7,8 - vpxor xmm1,xmm1,xmm5 - add ecx,DWORD[16+rsp] - and esi,eax - xor eax,ebx - shrd ebp,ebp,7 - vpxor xmm1,xmm1,xmm2 - mov edi,edx - xor esi,eax - vpaddd xmm9,xmm10,xmm0 - shld edx,edx,5 - add ecx,esi - vpxor xmm1,xmm1,xmm8 - xor edi,ebp - xor ebp,eax - add ecx,edx - add ebx,DWORD[20+rsp] - vpsrld xmm8,xmm1,30 - vmovdqa XMMWORD[rsp],xmm9 - and edi,ebp - xor ebp,eax - shrd edx,edx,7 - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[48+r15] - mov esi,ecx - vpslld xmm1,xmm1,2 - xor edi,ebp - shld ecx,ecx,5 - add ebx,edi - xor esi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[24+rsp] - and esi,edx - vpor xmm1,xmm1,xmm8 - xor edx,ebp - shrd ecx,ecx,7 - mov edi,ebx - xor esi,edx - shld ebx,ebx,5 - add eax,esi - xor edi,ecx - xor ecx,edx - add eax,ebx - add ebp,DWORD[28+rsp] - cmp r8d,11 - jb NEAR $L$vaesenclast8 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[64+r15] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[80+r15] - je NEAR $L$vaesenclast8 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[96+r15] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[112+r15] -$L$vaesenclast8: - vaesenclast xmm12,xmm12,xmm15 - vmovups xmm15,XMMWORD[((-112))+r15] - vmovups xmm14,XMMWORD[((16-112))+r15] - and edi,ecx - xor ecx,edx - shrd ebx,ebx,7 - mov esi,eax - xor edi,ecx - shld eax,eax,5 - add ebp,edi - xor esi,ebx - xor ebx,ecx - add ebp,eax - vpalignr xmm8,xmm1,xmm0,8 - vpxor xmm2,xmm2,xmm6 - add edx,DWORD[32+rsp] - and esi,ebx - xor ebx,ecx - shrd eax,eax,7 - vpxor xmm2,xmm2,xmm3 - mov edi,ebp - xor esi,ebx - vpaddd xmm9,xmm10,xmm1 - shld ebp,ebp,5 - add edx,esi - vmovdqu xmm13,XMMWORD[48+r12] - vpxor xmm13,xmm13,xmm15 - vmovups XMMWORD[32+r12*1+r13],xmm12 - vpxor xmm12,xmm12,xmm13 - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-80))+r15] - vpxor xmm2,xmm2,xmm8 - xor edi,eax - xor eax,ebx - add edx,ebp - add ecx,DWORD[36+rsp] - vpsrld xmm8,xmm2,30 - vmovdqa XMMWORD[16+rsp],xmm9 - and edi,eax - xor eax,ebx - shrd ebp,ebp,7 - mov esi,edx - vpslld xmm2,xmm2,2 - xor edi,eax - shld edx,edx,5 - add ecx,edi - xor esi,ebp - xor ebp,eax - add ecx,edx - add ebx,DWORD[40+rsp] - and esi,ebp - vpor xmm2,xmm2,xmm8 - xor ebp,eax - shrd edx,edx,7 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[((-64))+r15] - mov edi,ecx - xor esi,ebp - shld ecx,ecx,5 - add ebx,esi - xor edi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[44+rsp] - and edi,edx - xor edx,ebp - shrd ecx,ecx,7 - mov esi,ebx - xor edi,edx - shld ebx,ebx,5 - add eax,edi - xor esi,edx - add eax,ebx - vpalignr xmm8,xmm2,xmm1,8 - vpxor xmm3,xmm3,xmm7 - add ebp,DWORD[48+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-48))+r15] - xor esi,ecx - mov edi,eax - shld eax,eax,5 - vpxor xmm3,xmm3,xmm4 - add ebp,esi - xor edi,ecx - vpaddd xmm9,xmm10,xmm2 - shrd ebx,ebx,7 - add ebp,eax - vpxor xmm3,xmm3,xmm8 - add edx,DWORD[52+rsp] - xor edi,ebx - mov esi,ebp - shld ebp,ebp,5 - vpsrld xmm8,xmm3,30 - vmovdqa XMMWORD[32+rsp],xmm9 - add edx,edi - xor esi,ebx - shrd eax,eax,7 - add edx,ebp - vpslld xmm3,xmm3,2 - add ecx,DWORD[56+rsp] - xor esi,eax - mov edi,edx - shld edx,edx,5 - add ecx,esi - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[((-32))+r15] - xor edi,eax - shrd ebp,ebp,7 - add ecx,edx - vpor xmm3,xmm3,xmm8 - add ebx,DWORD[60+rsp] - xor edi,ebp - mov esi,ecx - shld ecx,ecx,5 - add ebx,edi - xor esi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[rsp] - vpaddd xmm9,xmm10,xmm3 - xor esi,edx - mov edi,ebx - shld ebx,ebx,5 - add eax,esi - vmovdqa XMMWORD[48+rsp],xmm9 - xor edi,edx - shrd ecx,ecx,7 - add eax,ebx - add ebp,DWORD[4+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[((-16))+r15] - xor edi,ecx - mov esi,eax - shld eax,eax,5 - add ebp,edi - xor esi,ecx - shrd ebx,ebx,7 - add ebp,eax - add edx,DWORD[8+rsp] - xor esi,ebx - mov edi,ebp - shld ebp,ebp,5 - add edx,esi - xor edi,ebx - shrd eax,eax,7 - add edx,ebp - add ecx,DWORD[12+rsp] - xor edi,eax - mov esi,edx - shld edx,edx,5 - add ecx,edi - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[r15] - xor esi,eax - shrd ebp,ebp,7 - add ecx,edx - cmp r10,r14 - je NEAR $L$done_avx - vmovdqa xmm9,XMMWORD[64+r11] - vmovdqa xmm10,XMMWORD[r11] - vmovdqu xmm0,XMMWORD[r10] - vmovdqu xmm1,XMMWORD[16+r10] - vmovdqu xmm2,XMMWORD[32+r10] - vmovdqu xmm3,XMMWORD[48+r10] - vpshufb xmm0,xmm0,xmm9 - add r10,64 - add ebx,DWORD[16+rsp] - xor esi,ebp - vpshufb xmm1,xmm1,xmm9 - mov edi,ecx - shld ecx,ecx,5 - vpaddd xmm8,xmm0,xmm10 - add ebx,esi - xor edi,ebp - shrd edx,edx,7 - add ebx,ecx - vmovdqa XMMWORD[rsp],xmm8 - add eax,DWORD[20+rsp] - xor edi,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,edi - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - add ebp,DWORD[24+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[16+r15] - xor esi,ecx - mov edi,eax - shld eax,eax,5 - add ebp,esi - xor edi,ecx - shrd ebx,ebx,7 - add ebp,eax - add edx,DWORD[28+rsp] - xor edi,ebx - mov esi,ebp - shld ebp,ebp,5 - add edx,edi - xor esi,ebx - shrd eax,eax,7 - add edx,ebp - add ecx,DWORD[32+rsp] - xor esi,eax - vpshufb xmm2,xmm2,xmm9 - mov edi,edx - shld edx,edx,5 - vpaddd xmm8,xmm1,xmm10 - add ecx,esi - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[32+r15] - xor edi,eax - shrd ebp,ebp,7 - add ecx,edx - vmovdqa XMMWORD[16+rsp],xmm8 - add ebx,DWORD[36+rsp] - xor edi,ebp - mov esi,ecx - shld ecx,ecx,5 - add ebx,edi - xor esi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[40+rsp] - xor esi,edx - mov edi,ebx - shld ebx,ebx,5 - add eax,esi - xor edi,edx - shrd ecx,ecx,7 - add eax,ebx - add ebp,DWORD[44+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[48+r15] - xor edi,ecx - mov esi,eax - shld eax,eax,5 - add ebp,edi - xor esi,ecx - shrd ebx,ebx,7 - add ebp,eax - add edx,DWORD[48+rsp] - xor esi,ebx - vpshufb xmm3,xmm3,xmm9 - mov edi,ebp - shld ebp,ebp,5 - vpaddd xmm8,xmm2,xmm10 - add edx,esi - xor edi,ebx - shrd eax,eax,7 - add edx,ebp - vmovdqa XMMWORD[32+rsp],xmm8 - add ecx,DWORD[52+rsp] - xor edi,eax - mov esi,edx - shld edx,edx,5 - add ecx,edi - cmp r8d,11 - jb NEAR $L$vaesenclast9 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[64+r15] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[80+r15] - je NEAR $L$vaesenclast9 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[96+r15] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[112+r15] -$L$vaesenclast9: - vaesenclast xmm12,xmm12,xmm15 - vmovups xmm15,XMMWORD[((-112))+r15] - vmovups xmm14,XMMWORD[((16-112))+r15] - xor esi,eax - shrd ebp,ebp,7 - add ecx,edx - add ebx,DWORD[56+rsp] - xor esi,ebp - mov edi,ecx - shld ecx,ecx,5 - add ebx,esi - xor edi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[60+rsp] - xor edi,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,edi - shrd ecx,ecx,7 - add eax,ebx - vmovups XMMWORD[48+r12*1+r13],xmm12 - lea r12,[64+r12] - - add eax,DWORD[r9] - add esi,DWORD[4+r9] - add ecx,DWORD[8+r9] - add edx,DWORD[12+r9] - mov DWORD[r9],eax - add ebp,DWORD[16+r9] - mov DWORD[4+r9],esi - mov ebx,esi - mov DWORD[8+r9],ecx - mov edi,ecx - mov DWORD[12+r9],edx - xor edi,edx - mov DWORD[16+r9],ebp - and esi,edi - jmp NEAR $L$oop_avx - -$L$done_avx: - add ebx,DWORD[16+rsp] - xor esi,ebp - mov edi,ecx - shld ecx,ecx,5 - add ebx,esi - xor edi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[20+rsp] - xor edi,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,edi - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - add ebp,DWORD[24+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[16+r15] - xor esi,ecx - mov edi,eax - shld eax,eax,5 - add ebp,esi - xor edi,ecx - shrd ebx,ebx,7 - add ebp,eax - add edx,DWORD[28+rsp] - xor edi,ebx - mov esi,ebp - shld ebp,ebp,5 - add edx,edi - xor esi,ebx - shrd eax,eax,7 - add edx,ebp - add ecx,DWORD[32+rsp] - xor esi,eax - mov edi,edx - shld edx,edx,5 - add ecx,esi - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[32+r15] - xor edi,eax - shrd ebp,ebp,7 - add ecx,edx - add ebx,DWORD[36+rsp] - xor edi,ebp - mov esi,ecx - shld ecx,ecx,5 - add ebx,edi - xor esi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[40+rsp] - xor esi,edx - mov edi,ebx - shld ebx,ebx,5 - add eax,esi - xor edi,edx - shrd ecx,ecx,7 - add eax,ebx - add ebp,DWORD[44+rsp] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[48+r15] - xor edi,ecx - mov esi,eax - shld eax,eax,5 - add ebp,edi - xor esi,ecx - shrd ebx,ebx,7 - add ebp,eax - add edx,DWORD[48+rsp] - xor esi,ebx - mov edi,ebp - shld ebp,ebp,5 - add edx,esi - xor edi,ebx - shrd eax,eax,7 - add edx,ebp - add ecx,DWORD[52+rsp] - xor edi,eax - mov esi,edx - shld edx,edx,5 - add ecx,edi - cmp r8d,11 - jb NEAR $L$vaesenclast10 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[64+r15] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[80+r15] - je NEAR $L$vaesenclast10 - vaesenc xmm12,xmm12,xmm15 - vmovups xmm14,XMMWORD[96+r15] - vaesenc xmm12,xmm12,xmm14 - vmovups xmm15,XMMWORD[112+r15] -$L$vaesenclast10: - vaesenclast xmm12,xmm12,xmm15 - vmovups xmm15,XMMWORD[((-112))+r15] - vmovups xmm14,XMMWORD[((16-112))+r15] - xor esi,eax - shrd ebp,ebp,7 - add ecx,edx - add ebx,DWORD[56+rsp] - xor esi,ebp - mov edi,ecx - shld ecx,ecx,5 - add ebx,esi - xor edi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[60+rsp] - xor edi,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,edi - shrd ecx,ecx,7 - add eax,ebx - vmovups XMMWORD[48+r12*1+r13],xmm12 - mov r8,QWORD[88+rsp] - - add eax,DWORD[r9] - add esi,DWORD[4+r9] - add ecx,DWORD[8+r9] - mov DWORD[r9],eax - add edx,DWORD[12+r9] - mov DWORD[4+r9],esi - add ebp,DWORD[16+r9] - mov DWORD[8+r9],ecx - mov DWORD[12+r9],edx - mov DWORD[16+r9],ebp - vmovups XMMWORD[r8],xmm12 - vzeroall - movaps xmm6,XMMWORD[((96+0))+rsp] - movaps xmm7,XMMWORD[((96+16))+rsp] - movaps xmm8,XMMWORD[((96+32))+rsp] - movaps xmm9,XMMWORD[((96+48))+rsp] - movaps xmm10,XMMWORD[((96+64))+rsp] - movaps xmm11,XMMWORD[((96+80))+rsp] - movaps xmm12,XMMWORD[((96+96))+rsp] - movaps xmm13,XMMWORD[((96+112))+rsp] - movaps xmm14,XMMWORD[((96+128))+rsp] - movaps xmm15,XMMWORD[((96+144))+rsp] - lea rsi,[264+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue_avx: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha1_enc_avx: -ALIGN 64 -K_XX_XX: - DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 - DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 - DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc - DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 - DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -DB 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 - -DB 65,69,83,78,73,45,67,66,67,43,83,72,65,49,32,115 -DB 116,105,116,99,104,32,102,111,114,32,120,56,54,95,54,52 -DB 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32 -DB 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111 -DB 114,103,62,0 -ALIGN 64 - -ALIGN 32 -aesni_cbc_sha1_enc_shaext: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_cbc_sha1_enc_shaext: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov r10,QWORD[56+rsp] - lea rsp,[((-168))+rsp] - movaps XMMWORD[(-8-160)+rax],xmm6 - movaps XMMWORD[(-8-144)+rax],xmm7 - movaps XMMWORD[(-8-128)+rax],xmm8 - movaps XMMWORD[(-8-112)+rax],xmm9 - movaps XMMWORD[(-8-96)+rax],xmm10 - movaps XMMWORD[(-8-80)+rax],xmm11 - movaps XMMWORD[(-8-64)+rax],xmm12 - movaps XMMWORD[(-8-48)+rax],xmm13 - movaps XMMWORD[(-8-32)+rax],xmm14 - movaps XMMWORD[(-8-16)+rax],xmm15 -$L$prologue_shaext: - movdqu xmm8,XMMWORD[r9] - movd xmm9,DWORD[16+r9] - movdqa xmm7,XMMWORD[((K_XX_XX+80))] - - mov r11d,DWORD[240+rcx] - sub rsi,rdi - movups xmm15,XMMWORD[rcx] - movups xmm2,XMMWORD[r8] - movups xmm0,XMMWORD[16+rcx] - lea rcx,[112+rcx] - - pshufd xmm8,xmm8,27 - pshufd xmm9,xmm9,27 - jmp NEAR $L$oop_shaext - -ALIGN 16 -$L$oop_shaext: - movups xmm14,XMMWORD[rdi] - xorps xmm14,xmm15 - xorps xmm2,xmm14 - movups xmm1,XMMWORD[((-80))+rcx] -DB 102,15,56,220,208 - movdqu xmm3,XMMWORD[r10] - movdqa xmm12,xmm9 -DB 102,15,56,0,223 - movdqu xmm4,XMMWORD[16+r10] - movdqa xmm11,xmm8 - movups xmm0,XMMWORD[((-64))+rcx] -DB 102,15,56,220,209 -DB 102,15,56,0,231 - - paddd xmm9,xmm3 - movdqu xmm5,XMMWORD[32+r10] - lea r10,[64+r10] - pxor xmm3,xmm12 - movups xmm1,XMMWORD[((-48))+rcx] -DB 102,15,56,220,208 - pxor xmm3,xmm12 - movdqa xmm10,xmm8 -DB 102,15,56,0,239 -DB 69,15,58,204,193,0 -DB 68,15,56,200,212 - movups xmm0,XMMWORD[((-32))+rcx] -DB 102,15,56,220,209 -DB 15,56,201,220 - movdqu xmm6,XMMWORD[((-16))+r10] - movdqa xmm9,xmm8 -DB 102,15,56,0,247 - movups xmm1,XMMWORD[((-16))+rcx] -DB 102,15,56,220,208 -DB 69,15,58,204,194,0 -DB 68,15,56,200,205 - pxor xmm3,xmm5 -DB 15,56,201,229 - movups xmm0,XMMWORD[rcx] -DB 102,15,56,220,209 - movdqa xmm10,xmm8 -DB 69,15,58,204,193,0 -DB 68,15,56,200,214 - movups xmm1,XMMWORD[16+rcx] -DB 102,15,56,220,208 -DB 15,56,202,222 - pxor xmm4,xmm6 -DB 15,56,201,238 - movups xmm0,XMMWORD[32+rcx] -DB 102,15,56,220,209 - movdqa xmm9,xmm8 -DB 69,15,58,204,194,0 -DB 68,15,56,200,203 - movups xmm1,XMMWORD[48+rcx] -DB 102,15,56,220,208 -DB 15,56,202,227 - pxor xmm5,xmm3 -DB 15,56,201,243 - cmp r11d,11 - jb NEAR $L$aesenclast11 - movups xmm0,XMMWORD[64+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[80+rcx] -DB 102,15,56,220,208 - je NEAR $L$aesenclast11 - movups xmm0,XMMWORD[96+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+rcx] -DB 102,15,56,220,208 -$L$aesenclast11: -DB 102,15,56,221,209 - movups xmm0,XMMWORD[((16-112))+rcx] - movdqa xmm10,xmm8 -DB 69,15,58,204,193,0 -DB 68,15,56,200,212 - movups xmm14,XMMWORD[16+rdi] - xorps xmm14,xmm15 - movups XMMWORD[rdi*1+rsi],xmm2 - xorps xmm2,xmm14 - movups xmm1,XMMWORD[((-80))+rcx] -DB 102,15,56,220,208 -DB 15,56,202,236 - pxor xmm6,xmm4 -DB 15,56,201,220 - movups xmm0,XMMWORD[((-64))+rcx] -DB 102,15,56,220,209 - movdqa xmm9,xmm8 -DB 69,15,58,204,194,1 -DB 68,15,56,200,205 - movups xmm1,XMMWORD[((-48))+rcx] -DB 102,15,56,220,208 -DB 15,56,202,245 - pxor xmm3,xmm5 -DB 15,56,201,229 - movups xmm0,XMMWORD[((-32))+rcx] -DB 102,15,56,220,209 - movdqa xmm10,xmm8 -DB 69,15,58,204,193,1 -DB 68,15,56,200,214 - movups xmm1,XMMWORD[((-16))+rcx] -DB 102,15,56,220,208 -DB 15,56,202,222 - pxor xmm4,xmm6 -DB 15,56,201,238 - movups xmm0,XMMWORD[rcx] -DB 102,15,56,220,209 - movdqa xmm9,xmm8 -DB 69,15,58,204,194,1 -DB 68,15,56,200,203 - movups xmm1,XMMWORD[16+rcx] -DB 102,15,56,220,208 -DB 15,56,202,227 - pxor xmm5,xmm3 -DB 15,56,201,243 - movups xmm0,XMMWORD[32+rcx] -DB 102,15,56,220,209 - movdqa xmm10,xmm8 -DB 69,15,58,204,193,1 -DB 68,15,56,200,212 - movups xmm1,XMMWORD[48+rcx] -DB 102,15,56,220,208 -DB 15,56,202,236 - pxor xmm6,xmm4 -DB 15,56,201,220 - cmp r11d,11 - jb NEAR $L$aesenclast12 - movups xmm0,XMMWORD[64+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[80+rcx] -DB 102,15,56,220,208 - je NEAR $L$aesenclast12 - movups xmm0,XMMWORD[96+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+rcx] -DB 102,15,56,220,208 -$L$aesenclast12: -DB 102,15,56,221,209 - movups xmm0,XMMWORD[((16-112))+rcx] - movdqa xmm9,xmm8 -DB 69,15,58,204,194,1 -DB 68,15,56,200,205 - movups xmm14,XMMWORD[32+rdi] - xorps xmm14,xmm15 - movups XMMWORD[16+rdi*1+rsi],xmm2 - xorps xmm2,xmm14 - movups xmm1,XMMWORD[((-80))+rcx] -DB 102,15,56,220,208 -DB 15,56,202,245 - pxor xmm3,xmm5 -DB 15,56,201,229 - movups xmm0,XMMWORD[((-64))+rcx] -DB 102,15,56,220,209 - movdqa xmm10,xmm8 -DB 69,15,58,204,193,2 -DB 68,15,56,200,214 - movups xmm1,XMMWORD[((-48))+rcx] -DB 102,15,56,220,208 -DB 15,56,202,222 - pxor xmm4,xmm6 -DB 15,56,201,238 - movups xmm0,XMMWORD[((-32))+rcx] -DB 102,15,56,220,209 - movdqa xmm9,xmm8 -DB 69,15,58,204,194,2 -DB 68,15,56,200,203 - movups xmm1,XMMWORD[((-16))+rcx] -DB 102,15,56,220,208 -DB 15,56,202,227 - pxor xmm5,xmm3 -DB 15,56,201,243 - movups xmm0,XMMWORD[rcx] -DB 102,15,56,220,209 - movdqa xmm10,xmm8 -DB 69,15,58,204,193,2 -DB 68,15,56,200,212 - movups xmm1,XMMWORD[16+rcx] -DB 102,15,56,220,208 -DB 15,56,202,236 - pxor xmm6,xmm4 -DB 15,56,201,220 - movups xmm0,XMMWORD[32+rcx] -DB 102,15,56,220,209 - movdqa xmm9,xmm8 -DB 69,15,58,204,194,2 -DB 68,15,56,200,205 - movups xmm1,XMMWORD[48+rcx] -DB 102,15,56,220,208 -DB 15,56,202,245 - pxor xmm3,xmm5 -DB 15,56,201,229 - cmp r11d,11 - jb NEAR $L$aesenclast13 - movups xmm0,XMMWORD[64+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[80+rcx] -DB 102,15,56,220,208 - je NEAR $L$aesenclast13 - movups xmm0,XMMWORD[96+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+rcx] -DB 102,15,56,220,208 -$L$aesenclast13: -DB 102,15,56,221,209 - movups xmm0,XMMWORD[((16-112))+rcx] - movdqa xmm10,xmm8 -DB 69,15,58,204,193,2 -DB 68,15,56,200,214 - movups xmm14,XMMWORD[48+rdi] - xorps xmm14,xmm15 - movups XMMWORD[32+rdi*1+rsi],xmm2 - xorps xmm2,xmm14 - movups xmm1,XMMWORD[((-80))+rcx] -DB 102,15,56,220,208 -DB 15,56,202,222 - pxor xmm4,xmm6 -DB 15,56,201,238 - movups xmm0,XMMWORD[((-64))+rcx] -DB 102,15,56,220,209 - movdqa xmm9,xmm8 -DB 69,15,58,204,194,3 -DB 68,15,56,200,203 - movups xmm1,XMMWORD[((-48))+rcx] -DB 102,15,56,220,208 -DB 15,56,202,227 - pxor xmm5,xmm3 -DB 15,56,201,243 - movups xmm0,XMMWORD[((-32))+rcx] -DB 102,15,56,220,209 - movdqa xmm10,xmm8 -DB 69,15,58,204,193,3 -DB 68,15,56,200,212 -DB 15,56,202,236 - pxor xmm6,xmm4 - movups xmm1,XMMWORD[((-16))+rcx] -DB 102,15,56,220,208 - movdqa xmm9,xmm8 -DB 69,15,58,204,194,3 -DB 68,15,56,200,205 -DB 15,56,202,245 - movups xmm0,XMMWORD[rcx] -DB 102,15,56,220,209 - movdqa xmm5,xmm12 - movdqa xmm10,xmm8 -DB 69,15,58,204,193,3 -DB 68,15,56,200,214 - movups xmm1,XMMWORD[16+rcx] -DB 102,15,56,220,208 - movdqa xmm9,xmm8 -DB 69,15,58,204,194,3 -DB 68,15,56,200,205 - movups xmm0,XMMWORD[32+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[48+rcx] -DB 102,15,56,220,208 - cmp r11d,11 - jb NEAR $L$aesenclast14 - movups xmm0,XMMWORD[64+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[80+rcx] -DB 102,15,56,220,208 - je NEAR $L$aesenclast14 - movups xmm0,XMMWORD[96+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+rcx] -DB 102,15,56,220,208 -$L$aesenclast14: -DB 102,15,56,221,209 - movups xmm0,XMMWORD[((16-112))+rcx] - dec rdx - - paddd xmm8,xmm11 - movups XMMWORD[48+rdi*1+rsi],xmm2 - lea rdi,[64+rdi] - jnz NEAR $L$oop_shaext - - pshufd xmm8,xmm8,27 - pshufd xmm9,xmm9,27 - movups XMMWORD[r8],xmm2 - movdqu XMMWORD[r9],xmm8 - movd DWORD[16+r9],xmm9 - movaps xmm6,XMMWORD[((-8-160))+rax] - movaps xmm7,XMMWORD[((-8-144))+rax] - movaps xmm8,XMMWORD[((-8-128))+rax] - movaps xmm9,XMMWORD[((-8-112))+rax] - movaps xmm10,XMMWORD[((-8-96))+rax] - movaps xmm11,XMMWORD[((-8-80))+rax] - movaps xmm12,XMMWORD[((-8-64))+rax] - movaps xmm13,XMMWORD[((-8-48))+rax] - movaps xmm14,XMMWORD[((-8-32))+rax] - movaps xmm15,XMMWORD[((-8-16))+rax] - mov rsp,rax -$L$epilogue_shaext: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha1_enc_shaext: -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -ssse3_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - lea r10,[aesni_cbc_sha1_enc_shaext] - cmp rbx,r10 - jb NEAR $L$seh_no_shaext - - lea rsi,[rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - lea rax,[168+rax] - jmp NEAR $L$common_seh_tail -$L$seh_no_shaext: - lea rsi,[96+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - lea rax,[264+rax] - - mov r15,QWORD[rax] - mov r14,QWORD[8+rax] - mov r13,QWORD[16+rax] - mov r12,QWORD[24+rax] - mov rbp,QWORD[32+rax] - mov rbx,QWORD[40+rax] - lea rax,[48+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$common_seh_tail: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_aesni_cbc_sha1_enc_ssse3 wrt ..imagebase - DD $L$SEH_end_aesni_cbc_sha1_enc_ssse3 wrt ..imagebase - DD $L$SEH_info_aesni_cbc_sha1_enc_ssse3 wrt ..imagebase - DD $L$SEH_begin_aesni_cbc_sha1_enc_avx wrt ..imagebase - DD $L$SEH_end_aesni_cbc_sha1_enc_avx wrt ..imagebase - DD $L$SEH_info_aesni_cbc_sha1_enc_avx wrt ..imagebase - DD $L$SEH_begin_aesni_cbc_sha1_enc_shaext wrt ..imagebase - DD $L$SEH_end_aesni_cbc_sha1_enc_shaext wrt ..imagebase - DD $L$SEH_info_aesni_cbc_sha1_enc_shaext wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_aesni_cbc_sha1_enc_ssse3: -DB 9,0,0,0 - DD ssse3_handler wrt ..imagebase - DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase -$L$SEH_info_aesni_cbc_sha1_enc_avx: -DB 9,0,0,0 - DD ssse3_handler wrt ..imagebase - DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase -$L$SEH_info_aesni_cbc_sha1_enc_shaext: -DB 9,0,0,0 - DD ssse3_handler wrt ..imagebase - DD $L$prologue_shaext wrt ..imagebase,$L$epilogue_shaext wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + +EXTERN OPENSSL_ia32cap_P + +global aesni_cbc_sha1_enc + +ALIGN 32 +aesni_cbc_sha1_enc: + + mov r10d,DWORD[((OPENSSL_ia32cap_P+0))] + mov r11,QWORD[((OPENSSL_ia32cap_P+4))] + bt r11,61 + jc NEAR aesni_cbc_sha1_enc_shaext + and r11d,268435456 + and r10d,1073741824 + or r10d,r11d + cmp r10d,1342177280 + je NEAR aesni_cbc_sha1_enc_avx + jmp NEAR aesni_cbc_sha1_enc_ssse3 + DB 0F3h,0C3h ;repret + + +ALIGN 32 +aesni_cbc_sha1_enc_ssse3: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_cbc_sha1_enc_ssse3: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov r10,QWORD[56+rsp] + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-264))+rsp] + + + movaps XMMWORD[(96+0)+rsp],xmm6 + movaps XMMWORD[(96+16)+rsp],xmm7 + movaps XMMWORD[(96+32)+rsp],xmm8 + movaps XMMWORD[(96+48)+rsp],xmm9 + movaps XMMWORD[(96+64)+rsp],xmm10 + movaps XMMWORD[(96+80)+rsp],xmm11 + movaps XMMWORD[(96+96)+rsp],xmm12 + movaps XMMWORD[(96+112)+rsp],xmm13 + movaps XMMWORD[(96+128)+rsp],xmm14 + movaps XMMWORD[(96+144)+rsp],xmm15 +$L$prologue_ssse3: + mov r12,rdi + mov r13,rsi + mov r14,rdx + lea r15,[112+rcx] + movdqu xmm2,XMMWORD[r8] + mov QWORD[88+rsp],r8 + shl r14,6 + sub r13,r12 + mov r8d,DWORD[((240-112))+r15] + add r14,r10 + + lea r11,[K_XX_XX] + mov eax,DWORD[r9] + mov ebx,DWORD[4+r9] + mov ecx,DWORD[8+r9] + mov edx,DWORD[12+r9] + mov esi,ebx + mov ebp,DWORD[16+r9] + mov edi,ecx + xor edi,edx + and esi,edi + + movdqa xmm3,XMMWORD[64+r11] + movdqa xmm13,XMMWORD[r11] + movdqu xmm4,XMMWORD[r10] + movdqu xmm5,XMMWORD[16+r10] + movdqu xmm6,XMMWORD[32+r10] + movdqu xmm7,XMMWORD[48+r10] +DB 102,15,56,0,227 +DB 102,15,56,0,235 +DB 102,15,56,0,243 + add r10,64 + paddd xmm4,xmm13 +DB 102,15,56,0,251 + paddd xmm5,xmm13 + paddd xmm6,xmm13 + movdqa XMMWORD[rsp],xmm4 + psubd xmm4,xmm13 + movdqa XMMWORD[16+rsp],xmm5 + psubd xmm5,xmm13 + movdqa XMMWORD[32+rsp],xmm6 + psubd xmm6,xmm13 + movups xmm15,XMMWORD[((-112))+r15] + movups xmm0,XMMWORD[((16-112))+r15] + jmp NEAR $L$oop_ssse3 +ALIGN 32 +$L$oop_ssse3: + ror ebx,2 + movups xmm14,XMMWORD[r12] + xorps xmm14,xmm15 + xorps xmm2,xmm14 + movups xmm1,XMMWORD[((-80))+r15] +DB 102,15,56,220,208 + pshufd xmm8,xmm4,238 + xor esi,edx + movdqa xmm12,xmm7 + paddd xmm13,xmm7 + mov edi,eax + add ebp,DWORD[rsp] + punpcklqdq xmm8,xmm5 + xor ebx,ecx + rol eax,5 + add ebp,esi + psrldq xmm12,4 + and edi,ebx + xor ebx,ecx + pxor xmm8,xmm4 + add ebp,eax + ror eax,7 + pxor xmm12,xmm6 + xor edi,ecx + mov esi,ebp + add edx,DWORD[4+rsp] + pxor xmm8,xmm12 + xor eax,ebx + rol ebp,5 + movdqa XMMWORD[48+rsp],xmm13 + add edx,edi + movups xmm0,XMMWORD[((-64))+r15] +DB 102,15,56,220,209 + and esi,eax + movdqa xmm3,xmm8 + xor eax,ebx + add edx,ebp + ror ebp,7 + movdqa xmm12,xmm8 + xor esi,ebx + pslldq xmm3,12 + paddd xmm8,xmm8 + mov edi,edx + add ecx,DWORD[8+rsp] + psrld xmm12,31 + xor ebp,eax + rol edx,5 + add ecx,esi + movdqa xmm13,xmm3 + and edi,ebp + xor ebp,eax + psrld xmm3,30 + add ecx,edx + ror edx,7 + por xmm8,xmm12 + xor edi,eax + mov esi,ecx + add ebx,DWORD[12+rsp] + movups xmm1,XMMWORD[((-48))+r15] +DB 102,15,56,220,208 + pslld xmm13,2 + pxor xmm8,xmm3 + xor edx,ebp + movdqa xmm3,XMMWORD[r11] + rol ecx,5 + add ebx,edi + and esi,edx + pxor xmm8,xmm13 + xor edx,ebp + add ebx,ecx + ror ecx,7 + pshufd xmm9,xmm5,238 + xor esi,ebp + movdqa xmm13,xmm8 + paddd xmm3,xmm8 + mov edi,ebx + add eax,DWORD[16+rsp] + punpcklqdq xmm9,xmm6 + xor ecx,edx + rol ebx,5 + add eax,esi + psrldq xmm13,4 + and edi,ecx + xor ecx,edx + pxor xmm9,xmm5 + add eax,ebx + ror ebx,7 + movups xmm0,XMMWORD[((-32))+r15] +DB 102,15,56,220,209 + pxor xmm13,xmm7 + xor edi,edx + mov esi,eax + add ebp,DWORD[20+rsp] + pxor xmm9,xmm13 + xor ebx,ecx + rol eax,5 + movdqa XMMWORD[rsp],xmm3 + add ebp,edi + and esi,ebx + movdqa xmm12,xmm9 + xor ebx,ecx + add ebp,eax + ror eax,7 + movdqa xmm13,xmm9 + xor esi,ecx + pslldq xmm12,12 + paddd xmm9,xmm9 + mov edi,ebp + add edx,DWORD[24+rsp] + psrld xmm13,31 + xor eax,ebx + rol ebp,5 + add edx,esi + movups xmm1,XMMWORD[((-16))+r15] +DB 102,15,56,220,208 + movdqa xmm3,xmm12 + and edi,eax + xor eax,ebx + psrld xmm12,30 + add edx,ebp + ror ebp,7 + por xmm9,xmm13 + xor edi,ebx + mov esi,edx + add ecx,DWORD[28+rsp] + pslld xmm3,2 + pxor xmm9,xmm12 + xor ebp,eax + movdqa xmm12,XMMWORD[16+r11] + rol edx,5 + add ecx,edi + and esi,ebp + pxor xmm9,xmm3 + xor ebp,eax + add ecx,edx + ror edx,7 + pshufd xmm10,xmm6,238 + xor esi,eax + movdqa xmm3,xmm9 + paddd xmm12,xmm9 + mov edi,ecx + add ebx,DWORD[32+rsp] + movups xmm0,XMMWORD[r15] +DB 102,15,56,220,209 + punpcklqdq xmm10,xmm7 + xor edx,ebp + rol ecx,5 + add ebx,esi + psrldq xmm3,4 + and edi,edx + xor edx,ebp + pxor xmm10,xmm6 + add ebx,ecx + ror ecx,7 + pxor xmm3,xmm8 + xor edi,ebp + mov esi,ebx + add eax,DWORD[36+rsp] + pxor xmm10,xmm3 + xor ecx,edx + rol ebx,5 + movdqa XMMWORD[16+rsp],xmm12 + add eax,edi + and esi,ecx + movdqa xmm13,xmm10 + xor ecx,edx + add eax,ebx + ror ebx,7 + movups xmm1,XMMWORD[16+r15] +DB 102,15,56,220,208 + movdqa xmm3,xmm10 + xor esi,edx + pslldq xmm13,12 + paddd xmm10,xmm10 + mov edi,eax + add ebp,DWORD[40+rsp] + psrld xmm3,31 + xor ebx,ecx + rol eax,5 + add ebp,esi + movdqa xmm12,xmm13 + and edi,ebx + xor ebx,ecx + psrld xmm13,30 + add ebp,eax + ror eax,7 + por xmm10,xmm3 + xor edi,ecx + mov esi,ebp + add edx,DWORD[44+rsp] + pslld xmm12,2 + pxor xmm10,xmm13 + xor eax,ebx + movdqa xmm13,XMMWORD[16+r11] + rol ebp,5 + add edx,edi + movups xmm0,XMMWORD[32+r15] +DB 102,15,56,220,209 + and esi,eax + pxor xmm10,xmm12 + xor eax,ebx + add edx,ebp + ror ebp,7 + pshufd xmm11,xmm7,238 + xor esi,ebx + movdqa xmm12,xmm10 + paddd xmm13,xmm10 + mov edi,edx + add ecx,DWORD[48+rsp] + punpcklqdq xmm11,xmm8 + xor ebp,eax + rol edx,5 + add ecx,esi + psrldq xmm12,4 + and edi,ebp + xor ebp,eax + pxor xmm11,xmm7 + add ecx,edx + ror edx,7 + pxor xmm12,xmm9 + xor edi,eax + mov esi,ecx + add ebx,DWORD[52+rsp] + movups xmm1,XMMWORD[48+r15] +DB 102,15,56,220,208 + pxor xmm11,xmm12 + xor edx,ebp + rol ecx,5 + movdqa XMMWORD[32+rsp],xmm13 + add ebx,edi + and esi,edx + movdqa xmm3,xmm11 + xor edx,ebp + add ebx,ecx + ror ecx,7 + movdqa xmm12,xmm11 + xor esi,ebp + pslldq xmm3,12 + paddd xmm11,xmm11 + mov edi,ebx + add eax,DWORD[56+rsp] + psrld xmm12,31 + xor ecx,edx + rol ebx,5 + add eax,esi + movdqa xmm13,xmm3 + and edi,ecx + xor ecx,edx + psrld xmm3,30 + add eax,ebx + ror ebx,7 + cmp r8d,11 + jb NEAR $L$aesenclast1 + movups xmm0,XMMWORD[64+r15] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[80+r15] +DB 102,15,56,220,208 + je NEAR $L$aesenclast1 + movups xmm0,XMMWORD[96+r15] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[112+r15] +DB 102,15,56,220,208 +$L$aesenclast1: +DB 102,15,56,221,209 + movups xmm0,XMMWORD[((16-112))+r15] + por xmm11,xmm12 + xor edi,edx + mov esi,eax + add ebp,DWORD[60+rsp] + pslld xmm13,2 + pxor xmm11,xmm3 + xor ebx,ecx + movdqa xmm3,XMMWORD[16+r11] + rol eax,5 + add ebp,edi + and esi,ebx + pxor xmm11,xmm13 + pshufd xmm13,xmm10,238 + xor ebx,ecx + add ebp,eax + ror eax,7 + pxor xmm4,xmm8 + xor esi,ecx + mov edi,ebp + add edx,DWORD[rsp] + punpcklqdq xmm13,xmm11 + xor eax,ebx + rol ebp,5 + pxor xmm4,xmm5 + add edx,esi + movups xmm14,XMMWORD[16+r12] + xorps xmm14,xmm15 + movups XMMWORD[r13*1+r12],xmm2 + xorps xmm2,xmm14 + movups xmm1,XMMWORD[((-80))+r15] +DB 102,15,56,220,208 + and edi,eax + movdqa xmm12,xmm3 + xor eax,ebx + paddd xmm3,xmm11 + add edx,ebp + pxor xmm4,xmm13 + ror ebp,7 + xor edi,ebx + mov esi,edx + add ecx,DWORD[4+rsp] + movdqa xmm13,xmm4 + xor ebp,eax + rol edx,5 + movdqa XMMWORD[48+rsp],xmm3 + add ecx,edi + and esi,ebp + xor ebp,eax + pslld xmm4,2 + add ecx,edx + ror edx,7 + psrld xmm13,30 + xor esi,eax + mov edi,ecx + add ebx,DWORD[8+rsp] + movups xmm0,XMMWORD[((-64))+r15] +DB 102,15,56,220,209 + por xmm4,xmm13 + xor edx,ebp + rol ecx,5 + pshufd xmm3,xmm11,238 + add ebx,esi + and edi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[12+rsp] + xor edi,ebp + mov esi,ebx + rol ebx,5 + add eax,edi + xor esi,edx + ror ecx,7 + add eax,ebx + pxor xmm5,xmm9 + add ebp,DWORD[16+rsp] + movups xmm1,XMMWORD[((-48))+r15] +DB 102,15,56,220,208 + xor esi,ecx + punpcklqdq xmm3,xmm4 + mov edi,eax + rol eax,5 + pxor xmm5,xmm6 + add ebp,esi + xor edi,ecx + movdqa xmm13,xmm12 + ror ebx,7 + paddd xmm12,xmm4 + add ebp,eax + pxor xmm5,xmm3 + add edx,DWORD[20+rsp] + xor edi,ebx + mov esi,ebp + rol ebp,5 + movdqa xmm3,xmm5 + add edx,edi + xor esi,ebx + movdqa XMMWORD[rsp],xmm12 + ror eax,7 + add edx,ebp + add ecx,DWORD[24+rsp] + pslld xmm5,2 + xor esi,eax + mov edi,edx + psrld xmm3,30 + rol edx,5 + add ecx,esi + movups xmm0,XMMWORD[((-32))+r15] +DB 102,15,56,220,209 + xor edi,eax + ror ebp,7 + por xmm5,xmm3 + add ecx,edx + add ebx,DWORD[28+rsp] + pshufd xmm12,xmm4,238 + xor edi,ebp + mov esi,ecx + rol ecx,5 + add ebx,edi + xor esi,ebp + ror edx,7 + add ebx,ecx + pxor xmm6,xmm10 + add eax,DWORD[32+rsp] + xor esi,edx + punpcklqdq xmm12,xmm5 + mov edi,ebx + rol ebx,5 + pxor xmm6,xmm7 + add eax,esi + xor edi,edx + movdqa xmm3,XMMWORD[32+r11] + ror ecx,7 + paddd xmm13,xmm5 + add eax,ebx + pxor xmm6,xmm12 + add ebp,DWORD[36+rsp] + movups xmm1,XMMWORD[((-16))+r15] +DB 102,15,56,220,208 + xor edi,ecx + mov esi,eax + rol eax,5 + movdqa xmm12,xmm6 + add ebp,edi + xor esi,ecx + movdqa XMMWORD[16+rsp],xmm13 + ror ebx,7 + add ebp,eax + add edx,DWORD[40+rsp] + pslld xmm6,2 + xor esi,ebx + mov edi,ebp + psrld xmm12,30 + rol ebp,5 + add edx,esi + xor edi,ebx + ror eax,7 + por xmm6,xmm12 + add edx,ebp + add ecx,DWORD[44+rsp] + pshufd xmm13,xmm5,238 + xor edi,eax + mov esi,edx + rol edx,5 + add ecx,edi + movups xmm0,XMMWORD[r15] +DB 102,15,56,220,209 + xor esi,eax + ror ebp,7 + add ecx,edx + pxor xmm7,xmm11 + add ebx,DWORD[48+rsp] + xor esi,ebp + punpcklqdq xmm13,xmm6 + mov edi,ecx + rol ecx,5 + pxor xmm7,xmm8 + add ebx,esi + xor edi,ebp + movdqa xmm12,xmm3 + ror edx,7 + paddd xmm3,xmm6 + add ebx,ecx + pxor xmm7,xmm13 + add eax,DWORD[52+rsp] + xor edi,edx + mov esi,ebx + rol ebx,5 + movdqa xmm13,xmm7 + add eax,edi + xor esi,edx + movdqa XMMWORD[32+rsp],xmm3 + ror ecx,7 + add eax,ebx + add ebp,DWORD[56+rsp] + movups xmm1,XMMWORD[16+r15] +DB 102,15,56,220,208 + pslld xmm7,2 + xor esi,ecx + mov edi,eax + psrld xmm13,30 + rol eax,5 + add ebp,esi + xor edi,ecx + ror ebx,7 + por xmm7,xmm13 + add ebp,eax + add edx,DWORD[60+rsp] + pshufd xmm3,xmm6,238 + xor edi,ebx + mov esi,ebp + rol ebp,5 + add edx,edi + xor esi,ebx + ror eax,7 + add edx,ebp + pxor xmm8,xmm4 + add ecx,DWORD[rsp] + xor esi,eax + punpcklqdq xmm3,xmm7 + mov edi,edx + rol edx,5 + pxor xmm8,xmm9 + add ecx,esi + movups xmm0,XMMWORD[32+r15] +DB 102,15,56,220,209 + xor edi,eax + movdqa xmm13,xmm12 + ror ebp,7 + paddd xmm12,xmm7 + add ecx,edx + pxor xmm8,xmm3 + add ebx,DWORD[4+rsp] + xor edi,ebp + mov esi,ecx + rol ecx,5 + movdqa xmm3,xmm8 + add ebx,edi + xor esi,ebp + movdqa XMMWORD[48+rsp],xmm12 + ror edx,7 + add ebx,ecx + add eax,DWORD[8+rsp] + pslld xmm8,2 + xor esi,edx + mov edi,ebx + psrld xmm3,30 + rol ebx,5 + add eax,esi + xor edi,edx + ror ecx,7 + por xmm8,xmm3 + add eax,ebx + add ebp,DWORD[12+rsp] + movups xmm1,XMMWORD[48+r15] +DB 102,15,56,220,208 + pshufd xmm12,xmm7,238 + xor edi,ecx + mov esi,eax + rol eax,5 + add ebp,edi + xor esi,ecx + ror ebx,7 + add ebp,eax + pxor xmm9,xmm5 + add edx,DWORD[16+rsp] + xor esi,ebx + punpcklqdq xmm12,xmm8 + mov edi,ebp + rol ebp,5 + pxor xmm9,xmm10 + add edx,esi + xor edi,ebx + movdqa xmm3,xmm13 + ror eax,7 + paddd xmm13,xmm8 + add edx,ebp + pxor xmm9,xmm12 + add ecx,DWORD[20+rsp] + xor edi,eax + mov esi,edx + rol edx,5 + movdqa xmm12,xmm9 + add ecx,edi + cmp r8d,11 + jb NEAR $L$aesenclast2 + movups xmm0,XMMWORD[64+r15] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[80+r15] +DB 102,15,56,220,208 + je NEAR $L$aesenclast2 + movups xmm0,XMMWORD[96+r15] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[112+r15] +DB 102,15,56,220,208 +$L$aesenclast2: +DB 102,15,56,221,209 + movups xmm0,XMMWORD[((16-112))+r15] + xor esi,eax + movdqa XMMWORD[rsp],xmm13 + ror ebp,7 + add ecx,edx + add ebx,DWORD[24+rsp] + pslld xmm9,2 + xor esi,ebp + mov edi,ecx + psrld xmm12,30 + rol ecx,5 + add ebx,esi + xor edi,ebp + ror edx,7 + por xmm9,xmm12 + add ebx,ecx + add eax,DWORD[28+rsp] + pshufd xmm13,xmm8,238 + ror ecx,7 + mov esi,ebx + xor edi,edx + rol ebx,5 + add eax,edi + xor esi,ecx + xor ecx,edx + add eax,ebx + pxor xmm10,xmm6 + add ebp,DWORD[32+rsp] + movups xmm14,XMMWORD[32+r12] + xorps xmm14,xmm15 + movups XMMWORD[16+r12*1+r13],xmm2 + xorps xmm2,xmm14 + movups xmm1,XMMWORD[((-80))+r15] +DB 102,15,56,220,208 + and esi,ecx + xor ecx,edx + ror ebx,7 + punpcklqdq xmm13,xmm9 + mov edi,eax + xor esi,ecx + pxor xmm10,xmm11 + rol eax,5 + add ebp,esi + movdqa xmm12,xmm3 + xor edi,ebx + paddd xmm3,xmm9 + xor ebx,ecx + pxor xmm10,xmm13 + add ebp,eax + add edx,DWORD[36+rsp] + and edi,ebx + xor ebx,ecx + ror eax,7 + movdqa xmm13,xmm10 + mov esi,ebp + xor edi,ebx + movdqa XMMWORD[16+rsp],xmm3 + rol ebp,5 + add edx,edi + movups xmm0,XMMWORD[((-64))+r15] +DB 102,15,56,220,209 + xor esi,eax + pslld xmm10,2 + xor eax,ebx + add edx,ebp + psrld xmm13,30 + add ecx,DWORD[40+rsp] + and esi,eax + xor eax,ebx + por xmm10,xmm13 + ror ebp,7 + mov edi,edx + xor esi,eax + rol edx,5 + pshufd xmm3,xmm9,238 + add ecx,esi + xor edi,ebp + xor ebp,eax + add ecx,edx + add ebx,DWORD[44+rsp] + and edi,ebp + xor ebp,eax + ror edx,7 + movups xmm1,XMMWORD[((-48))+r15] +DB 102,15,56,220,208 + mov esi,ecx + xor edi,ebp + rol ecx,5 + add ebx,edi + xor esi,edx + xor edx,ebp + add ebx,ecx + pxor xmm11,xmm7 + add eax,DWORD[48+rsp] + and esi,edx + xor edx,ebp + ror ecx,7 + punpcklqdq xmm3,xmm10 + mov edi,ebx + xor esi,edx + pxor xmm11,xmm4 + rol ebx,5 + add eax,esi + movdqa xmm13,XMMWORD[48+r11] + xor edi,ecx + paddd xmm12,xmm10 + xor ecx,edx + pxor xmm11,xmm3 + add eax,ebx + add ebp,DWORD[52+rsp] + movups xmm0,XMMWORD[((-32))+r15] +DB 102,15,56,220,209 + and edi,ecx + xor ecx,edx + ror ebx,7 + movdqa xmm3,xmm11 + mov esi,eax + xor edi,ecx + movdqa XMMWORD[32+rsp],xmm12 + rol eax,5 + add ebp,edi + xor esi,ebx + pslld xmm11,2 + xor ebx,ecx + add ebp,eax + psrld xmm3,30 + add edx,DWORD[56+rsp] + and esi,ebx + xor ebx,ecx + por xmm11,xmm3 + ror eax,7 + mov edi,ebp + xor esi,ebx + rol ebp,5 + pshufd xmm12,xmm10,238 + add edx,esi + movups xmm1,XMMWORD[((-16))+r15] +DB 102,15,56,220,208 + xor edi,eax + xor eax,ebx + add edx,ebp + add ecx,DWORD[60+rsp] + and edi,eax + xor eax,ebx + ror ebp,7 + mov esi,edx + xor edi,eax + rol edx,5 + add ecx,edi + xor esi,ebp + xor ebp,eax + add ecx,edx + pxor xmm4,xmm8 + add ebx,DWORD[rsp] + and esi,ebp + xor ebp,eax + ror edx,7 + movups xmm0,XMMWORD[r15] +DB 102,15,56,220,209 + punpcklqdq xmm12,xmm11 + mov edi,ecx + xor esi,ebp + pxor xmm4,xmm5 + rol ecx,5 + add ebx,esi + movdqa xmm3,xmm13 + xor edi,edx + paddd xmm13,xmm11 + xor edx,ebp + pxor xmm4,xmm12 + add ebx,ecx + add eax,DWORD[4+rsp] + and edi,edx + xor edx,ebp + ror ecx,7 + movdqa xmm12,xmm4 + mov esi,ebx + xor edi,edx + movdqa XMMWORD[48+rsp],xmm13 + rol ebx,5 + add eax,edi + xor esi,ecx + pslld xmm4,2 + xor ecx,edx + add eax,ebx + psrld xmm12,30 + add ebp,DWORD[8+rsp] + movups xmm1,XMMWORD[16+r15] +DB 102,15,56,220,208 + and esi,ecx + xor ecx,edx + por xmm4,xmm12 + ror ebx,7 + mov edi,eax + xor esi,ecx + rol eax,5 + pshufd xmm13,xmm11,238 + add ebp,esi + xor edi,ebx + xor ebx,ecx + add ebp,eax + add edx,DWORD[12+rsp] + and edi,ebx + xor ebx,ecx + ror eax,7 + mov esi,ebp + xor edi,ebx + rol ebp,5 + add edx,edi + movups xmm0,XMMWORD[32+r15] +DB 102,15,56,220,209 + xor esi,eax + xor eax,ebx + add edx,ebp + pxor xmm5,xmm9 + add ecx,DWORD[16+rsp] + and esi,eax + xor eax,ebx + ror ebp,7 + punpcklqdq xmm13,xmm4 + mov edi,edx + xor esi,eax + pxor xmm5,xmm6 + rol edx,5 + add ecx,esi + movdqa xmm12,xmm3 + xor edi,ebp + paddd xmm3,xmm4 + xor ebp,eax + pxor xmm5,xmm13 + add ecx,edx + add ebx,DWORD[20+rsp] + and edi,ebp + xor ebp,eax + ror edx,7 + movups xmm1,XMMWORD[48+r15] +DB 102,15,56,220,208 + movdqa xmm13,xmm5 + mov esi,ecx + xor edi,ebp + movdqa XMMWORD[rsp],xmm3 + rol ecx,5 + add ebx,edi + xor esi,edx + pslld xmm5,2 + xor edx,ebp + add ebx,ecx + psrld xmm13,30 + add eax,DWORD[24+rsp] + and esi,edx + xor edx,ebp + por xmm5,xmm13 + ror ecx,7 + mov edi,ebx + xor esi,edx + rol ebx,5 + pshufd xmm3,xmm4,238 + add eax,esi + xor edi,ecx + xor ecx,edx + add eax,ebx + add ebp,DWORD[28+rsp] + cmp r8d,11 + jb NEAR $L$aesenclast3 + movups xmm0,XMMWORD[64+r15] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[80+r15] +DB 102,15,56,220,208 + je NEAR $L$aesenclast3 + movups xmm0,XMMWORD[96+r15] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[112+r15] +DB 102,15,56,220,208 +$L$aesenclast3: +DB 102,15,56,221,209 + movups xmm0,XMMWORD[((16-112))+r15] + and edi,ecx + xor ecx,edx + ror ebx,7 + mov esi,eax + xor edi,ecx + rol eax,5 + add ebp,edi + xor esi,ebx + xor ebx,ecx + add ebp,eax + pxor xmm6,xmm10 + add edx,DWORD[32+rsp] + and esi,ebx + xor ebx,ecx + ror eax,7 + punpcklqdq xmm3,xmm5 + mov edi,ebp + xor esi,ebx + pxor xmm6,xmm7 + rol ebp,5 + add edx,esi + movups xmm14,XMMWORD[48+r12] + xorps xmm14,xmm15 + movups XMMWORD[32+r12*1+r13],xmm2 + xorps xmm2,xmm14 + movups xmm1,XMMWORD[((-80))+r15] +DB 102,15,56,220,208 + movdqa xmm13,xmm12 + xor edi,eax + paddd xmm12,xmm5 + xor eax,ebx + pxor xmm6,xmm3 + add edx,ebp + add ecx,DWORD[36+rsp] + and edi,eax + xor eax,ebx + ror ebp,7 + movdqa xmm3,xmm6 + mov esi,edx + xor edi,eax + movdqa XMMWORD[16+rsp],xmm12 + rol edx,5 + add ecx,edi + xor esi,ebp + pslld xmm6,2 + xor ebp,eax + add ecx,edx + psrld xmm3,30 + add ebx,DWORD[40+rsp] + and esi,ebp + xor ebp,eax + por xmm6,xmm3 + ror edx,7 + movups xmm0,XMMWORD[((-64))+r15] +DB 102,15,56,220,209 + mov edi,ecx + xor esi,ebp + rol ecx,5 + pshufd xmm12,xmm5,238 + add ebx,esi + xor edi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[44+rsp] + and edi,edx + xor edx,ebp + ror ecx,7 + mov esi,ebx + xor edi,edx + rol ebx,5 + add eax,edi + xor esi,edx + add eax,ebx + pxor xmm7,xmm11 + add ebp,DWORD[48+rsp] + movups xmm1,XMMWORD[((-48))+r15] +DB 102,15,56,220,208 + xor esi,ecx + punpcklqdq xmm12,xmm6 + mov edi,eax + rol eax,5 + pxor xmm7,xmm8 + add ebp,esi + xor edi,ecx + movdqa xmm3,xmm13 + ror ebx,7 + paddd xmm13,xmm6 + add ebp,eax + pxor xmm7,xmm12 + add edx,DWORD[52+rsp] + xor edi,ebx + mov esi,ebp + rol ebp,5 + movdqa xmm12,xmm7 + add edx,edi + xor esi,ebx + movdqa XMMWORD[32+rsp],xmm13 + ror eax,7 + add edx,ebp + add ecx,DWORD[56+rsp] + pslld xmm7,2 + xor esi,eax + mov edi,edx + psrld xmm12,30 + rol edx,5 + add ecx,esi + movups xmm0,XMMWORD[((-32))+r15] +DB 102,15,56,220,209 + xor edi,eax + ror ebp,7 + por xmm7,xmm12 + add ecx,edx + add ebx,DWORD[60+rsp] + xor edi,ebp + mov esi,ecx + rol ecx,5 + add ebx,edi + xor esi,ebp + ror edx,7 + add ebx,ecx + add eax,DWORD[rsp] + xor esi,edx + mov edi,ebx + rol ebx,5 + paddd xmm3,xmm7 + add eax,esi + xor edi,edx + movdqa XMMWORD[48+rsp],xmm3 + ror ecx,7 + add eax,ebx + add ebp,DWORD[4+rsp] + movups xmm1,XMMWORD[((-16))+r15] +DB 102,15,56,220,208 + xor edi,ecx + mov esi,eax + rol eax,5 + add ebp,edi + xor esi,ecx + ror ebx,7 + add ebp,eax + add edx,DWORD[8+rsp] + xor esi,ebx + mov edi,ebp + rol ebp,5 + add edx,esi + xor edi,ebx + ror eax,7 + add edx,ebp + add ecx,DWORD[12+rsp] + xor edi,eax + mov esi,edx + rol edx,5 + add ecx,edi + movups xmm0,XMMWORD[r15] +DB 102,15,56,220,209 + xor esi,eax + ror ebp,7 + add ecx,edx + cmp r10,r14 + je NEAR $L$done_ssse3 + movdqa xmm3,XMMWORD[64+r11] + movdqa xmm13,XMMWORD[r11] + movdqu xmm4,XMMWORD[r10] + movdqu xmm5,XMMWORD[16+r10] + movdqu xmm6,XMMWORD[32+r10] + movdqu xmm7,XMMWORD[48+r10] +DB 102,15,56,0,227 + add r10,64 + add ebx,DWORD[16+rsp] + xor esi,ebp + mov edi,ecx +DB 102,15,56,0,235 + rol ecx,5 + add ebx,esi + xor edi,ebp + ror edx,7 + paddd xmm4,xmm13 + add ebx,ecx + add eax,DWORD[20+rsp] + xor edi,edx + mov esi,ebx + movdqa XMMWORD[rsp],xmm4 + rol ebx,5 + add eax,edi + xor esi,edx + ror ecx,7 + psubd xmm4,xmm13 + add eax,ebx + add ebp,DWORD[24+rsp] + movups xmm1,XMMWORD[16+r15] +DB 102,15,56,220,208 + xor esi,ecx + mov edi,eax + rol eax,5 + add ebp,esi + xor edi,ecx + ror ebx,7 + add ebp,eax + add edx,DWORD[28+rsp] + xor edi,ebx + mov esi,ebp + rol ebp,5 + add edx,edi + xor esi,ebx + ror eax,7 + add edx,ebp + add ecx,DWORD[32+rsp] + xor esi,eax + mov edi,edx +DB 102,15,56,0,243 + rol edx,5 + add ecx,esi + movups xmm0,XMMWORD[32+r15] +DB 102,15,56,220,209 + xor edi,eax + ror ebp,7 + paddd xmm5,xmm13 + add ecx,edx + add ebx,DWORD[36+rsp] + xor edi,ebp + mov esi,ecx + movdqa XMMWORD[16+rsp],xmm5 + rol ecx,5 + add ebx,edi + xor esi,ebp + ror edx,7 + psubd xmm5,xmm13 + add ebx,ecx + add eax,DWORD[40+rsp] + xor esi,edx + mov edi,ebx + rol ebx,5 + add eax,esi + xor edi,edx + ror ecx,7 + add eax,ebx + add ebp,DWORD[44+rsp] + movups xmm1,XMMWORD[48+r15] +DB 102,15,56,220,208 + xor edi,ecx + mov esi,eax + rol eax,5 + add ebp,edi + xor esi,ecx + ror ebx,7 + add ebp,eax + add edx,DWORD[48+rsp] + xor esi,ebx + mov edi,ebp +DB 102,15,56,0,251 + rol ebp,5 + add edx,esi + xor edi,ebx + ror eax,7 + paddd xmm6,xmm13 + add edx,ebp + add ecx,DWORD[52+rsp] + xor edi,eax + mov esi,edx + movdqa XMMWORD[32+rsp],xmm6 + rol edx,5 + add ecx,edi + cmp r8d,11 + jb NEAR $L$aesenclast4 + movups xmm0,XMMWORD[64+r15] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[80+r15] +DB 102,15,56,220,208 + je NEAR $L$aesenclast4 + movups xmm0,XMMWORD[96+r15] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[112+r15] +DB 102,15,56,220,208 +$L$aesenclast4: +DB 102,15,56,221,209 + movups xmm0,XMMWORD[((16-112))+r15] + xor esi,eax + ror ebp,7 + psubd xmm6,xmm13 + add ecx,edx + add ebx,DWORD[56+rsp] + xor esi,ebp + mov edi,ecx + rol ecx,5 + add ebx,esi + xor edi,ebp + ror edx,7 + add ebx,ecx + add eax,DWORD[60+rsp] + xor edi,edx + mov esi,ebx + rol ebx,5 + add eax,edi + ror ecx,7 + add eax,ebx + movups XMMWORD[48+r12*1+r13],xmm2 + lea r12,[64+r12] + + add eax,DWORD[r9] + add esi,DWORD[4+r9] + add ecx,DWORD[8+r9] + add edx,DWORD[12+r9] + mov DWORD[r9],eax + add ebp,DWORD[16+r9] + mov DWORD[4+r9],esi + mov ebx,esi + mov DWORD[8+r9],ecx + mov edi,ecx + mov DWORD[12+r9],edx + xor edi,edx + mov DWORD[16+r9],ebp + and esi,edi + jmp NEAR $L$oop_ssse3 + +$L$done_ssse3: + add ebx,DWORD[16+rsp] + xor esi,ebp + mov edi,ecx + rol ecx,5 + add ebx,esi + xor edi,ebp + ror edx,7 + add ebx,ecx + add eax,DWORD[20+rsp] + xor edi,edx + mov esi,ebx + rol ebx,5 + add eax,edi + xor esi,edx + ror ecx,7 + add eax,ebx + add ebp,DWORD[24+rsp] + movups xmm1,XMMWORD[16+r15] +DB 102,15,56,220,208 + xor esi,ecx + mov edi,eax + rol eax,5 + add ebp,esi + xor edi,ecx + ror ebx,7 + add ebp,eax + add edx,DWORD[28+rsp] + xor edi,ebx + mov esi,ebp + rol ebp,5 + add edx,edi + xor esi,ebx + ror eax,7 + add edx,ebp + add ecx,DWORD[32+rsp] + xor esi,eax + mov edi,edx + rol edx,5 + add ecx,esi + movups xmm0,XMMWORD[32+r15] +DB 102,15,56,220,209 + xor edi,eax + ror ebp,7 + add ecx,edx + add ebx,DWORD[36+rsp] + xor edi,ebp + mov esi,ecx + rol ecx,5 + add ebx,edi + xor esi,ebp + ror edx,7 + add ebx,ecx + add eax,DWORD[40+rsp] + xor esi,edx + mov edi,ebx + rol ebx,5 + add eax,esi + xor edi,edx + ror ecx,7 + add eax,ebx + add ebp,DWORD[44+rsp] + movups xmm1,XMMWORD[48+r15] +DB 102,15,56,220,208 + xor edi,ecx + mov esi,eax + rol eax,5 + add ebp,edi + xor esi,ecx + ror ebx,7 + add ebp,eax + add edx,DWORD[48+rsp] + xor esi,ebx + mov edi,ebp + rol ebp,5 + add edx,esi + xor edi,ebx + ror eax,7 + add edx,ebp + add ecx,DWORD[52+rsp] + xor edi,eax + mov esi,edx + rol edx,5 + add ecx,edi + cmp r8d,11 + jb NEAR $L$aesenclast5 + movups xmm0,XMMWORD[64+r15] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[80+r15] +DB 102,15,56,220,208 + je NEAR $L$aesenclast5 + movups xmm0,XMMWORD[96+r15] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[112+r15] +DB 102,15,56,220,208 +$L$aesenclast5: +DB 102,15,56,221,209 + movups xmm0,XMMWORD[((16-112))+r15] + xor esi,eax + ror ebp,7 + add ecx,edx + add ebx,DWORD[56+rsp] + xor esi,ebp + mov edi,ecx + rol ecx,5 + add ebx,esi + xor edi,ebp + ror edx,7 + add ebx,ecx + add eax,DWORD[60+rsp] + xor edi,edx + mov esi,ebx + rol ebx,5 + add eax,edi + ror ecx,7 + add eax,ebx + movups XMMWORD[48+r12*1+r13],xmm2 + mov r8,QWORD[88+rsp] + + add eax,DWORD[r9] + add esi,DWORD[4+r9] + add ecx,DWORD[8+r9] + mov DWORD[r9],eax + add edx,DWORD[12+r9] + mov DWORD[4+r9],esi + add ebp,DWORD[16+r9] + mov DWORD[8+r9],ecx + mov DWORD[12+r9],edx + mov DWORD[16+r9],ebp + movups XMMWORD[r8],xmm2 + movaps xmm6,XMMWORD[((96+0))+rsp] + movaps xmm7,XMMWORD[((96+16))+rsp] + movaps xmm8,XMMWORD[((96+32))+rsp] + movaps xmm9,XMMWORD[((96+48))+rsp] + movaps xmm10,XMMWORD[((96+64))+rsp] + movaps xmm11,XMMWORD[((96+80))+rsp] + movaps xmm12,XMMWORD[((96+96))+rsp] + movaps xmm13,XMMWORD[((96+112))+rsp] + movaps xmm14,XMMWORD[((96+128))+rsp] + movaps xmm15,XMMWORD[((96+144))+rsp] + lea rsi,[264+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_ssse3: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_cbc_sha1_enc_ssse3: + +ALIGN 32 +aesni_cbc_sha1_enc_avx: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_cbc_sha1_enc_avx: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov r10,QWORD[56+rsp] + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-264))+rsp] + + + movaps XMMWORD[(96+0)+rsp],xmm6 + movaps XMMWORD[(96+16)+rsp],xmm7 + movaps XMMWORD[(96+32)+rsp],xmm8 + movaps XMMWORD[(96+48)+rsp],xmm9 + movaps XMMWORD[(96+64)+rsp],xmm10 + movaps XMMWORD[(96+80)+rsp],xmm11 + movaps XMMWORD[(96+96)+rsp],xmm12 + movaps XMMWORD[(96+112)+rsp],xmm13 + movaps XMMWORD[(96+128)+rsp],xmm14 + movaps XMMWORD[(96+144)+rsp],xmm15 +$L$prologue_avx: + vzeroall + mov r12,rdi + mov r13,rsi + mov r14,rdx + lea r15,[112+rcx] + vmovdqu xmm12,XMMWORD[r8] + mov QWORD[88+rsp],r8 + shl r14,6 + sub r13,r12 + mov r8d,DWORD[((240-112))+r15] + add r14,r10 + + lea r11,[K_XX_XX] + mov eax,DWORD[r9] + mov ebx,DWORD[4+r9] + mov ecx,DWORD[8+r9] + mov edx,DWORD[12+r9] + mov esi,ebx + mov ebp,DWORD[16+r9] + mov edi,ecx + xor edi,edx + and esi,edi + + vmovdqa xmm6,XMMWORD[64+r11] + vmovdqa xmm10,XMMWORD[r11] + vmovdqu xmm0,XMMWORD[r10] + vmovdqu xmm1,XMMWORD[16+r10] + vmovdqu xmm2,XMMWORD[32+r10] + vmovdqu xmm3,XMMWORD[48+r10] + vpshufb xmm0,xmm0,xmm6 + add r10,64 + vpshufb xmm1,xmm1,xmm6 + vpshufb xmm2,xmm2,xmm6 + vpshufb xmm3,xmm3,xmm6 + vpaddd xmm4,xmm0,xmm10 + vpaddd xmm5,xmm1,xmm10 + vpaddd xmm6,xmm2,xmm10 + vmovdqa XMMWORD[rsp],xmm4 + vmovdqa XMMWORD[16+rsp],xmm5 + vmovdqa XMMWORD[32+rsp],xmm6 + vmovups xmm15,XMMWORD[((-112))+r15] + vmovups xmm14,XMMWORD[((16-112))+r15] + jmp NEAR $L$oop_avx +ALIGN 32 +$L$oop_avx: + shrd ebx,ebx,2 + vmovdqu xmm13,XMMWORD[r12] + vpxor xmm13,xmm13,xmm15 + vpxor xmm12,xmm12,xmm13 + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-80))+r15] + xor esi,edx + vpalignr xmm4,xmm1,xmm0,8 + mov edi,eax + add ebp,DWORD[rsp] + vpaddd xmm9,xmm10,xmm3 + xor ebx,ecx + shld eax,eax,5 + vpsrldq xmm8,xmm3,4 + add ebp,esi + and edi,ebx + vpxor xmm4,xmm4,xmm0 + xor ebx,ecx + add ebp,eax + vpxor xmm8,xmm8,xmm2 + shrd eax,eax,7 + xor edi,ecx + mov esi,ebp + add edx,DWORD[4+rsp] + vpxor xmm4,xmm4,xmm8 + xor eax,ebx + shld ebp,ebp,5 + vmovdqa XMMWORD[48+rsp],xmm9 + add edx,edi + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[((-64))+r15] + and esi,eax + vpsrld xmm8,xmm4,31 + xor eax,ebx + add edx,ebp + shrd ebp,ebp,7 + xor esi,ebx + vpslldq xmm9,xmm4,12 + vpaddd xmm4,xmm4,xmm4 + mov edi,edx + add ecx,DWORD[8+rsp] + xor ebp,eax + shld edx,edx,5 + vpor xmm4,xmm4,xmm8 + vpsrld xmm8,xmm9,30 + add ecx,esi + and edi,ebp + xor ebp,eax + add ecx,edx + vpslld xmm9,xmm9,2 + vpxor xmm4,xmm4,xmm8 + shrd edx,edx,7 + xor edi,eax + mov esi,ecx + add ebx,DWORD[12+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-48))+r15] + vpxor xmm4,xmm4,xmm9 + xor edx,ebp + shld ecx,ecx,5 + add ebx,edi + and esi,edx + xor edx,ebp + add ebx,ecx + shrd ecx,ecx,7 + xor esi,ebp + vpalignr xmm5,xmm2,xmm1,8 + mov edi,ebx + add eax,DWORD[16+rsp] + vpaddd xmm9,xmm10,xmm4 + xor ecx,edx + shld ebx,ebx,5 + vpsrldq xmm8,xmm4,4 + add eax,esi + and edi,ecx + vpxor xmm5,xmm5,xmm1 + xor ecx,edx + add eax,ebx + vpxor xmm8,xmm8,xmm3 + shrd ebx,ebx,7 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[((-32))+r15] + xor edi,edx + mov esi,eax + add ebp,DWORD[20+rsp] + vpxor xmm5,xmm5,xmm8 + xor ebx,ecx + shld eax,eax,5 + vmovdqa XMMWORD[rsp],xmm9 + add ebp,edi + and esi,ebx + vpsrld xmm8,xmm5,31 + xor ebx,ecx + add ebp,eax + shrd eax,eax,7 + xor esi,ecx + vpslldq xmm9,xmm5,12 + vpaddd xmm5,xmm5,xmm5 + mov edi,ebp + add edx,DWORD[24+rsp] + xor eax,ebx + shld ebp,ebp,5 + vpor xmm5,xmm5,xmm8 + vpsrld xmm8,xmm9,30 + add edx,esi + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-16))+r15] + and edi,eax + xor eax,ebx + add edx,ebp + vpslld xmm9,xmm9,2 + vpxor xmm5,xmm5,xmm8 + shrd ebp,ebp,7 + xor edi,ebx + mov esi,edx + add ecx,DWORD[28+rsp] + vpxor xmm5,xmm5,xmm9 + xor ebp,eax + shld edx,edx,5 + vmovdqa xmm10,XMMWORD[16+r11] + add ecx,edi + and esi,ebp + xor ebp,eax + add ecx,edx + shrd edx,edx,7 + xor esi,eax + vpalignr xmm6,xmm3,xmm2,8 + mov edi,ecx + add ebx,DWORD[32+rsp] + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[r15] + vpaddd xmm9,xmm10,xmm5 + xor edx,ebp + shld ecx,ecx,5 + vpsrldq xmm8,xmm5,4 + add ebx,esi + and edi,edx + vpxor xmm6,xmm6,xmm2 + xor edx,ebp + add ebx,ecx + vpxor xmm8,xmm8,xmm4 + shrd ecx,ecx,7 + xor edi,ebp + mov esi,ebx + add eax,DWORD[36+rsp] + vpxor xmm6,xmm6,xmm8 + xor ecx,edx + shld ebx,ebx,5 + vmovdqa XMMWORD[16+rsp],xmm9 + add eax,edi + and esi,ecx + vpsrld xmm8,xmm6,31 + xor ecx,edx + add eax,ebx + shrd ebx,ebx,7 + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[16+r15] + xor esi,edx + vpslldq xmm9,xmm6,12 + vpaddd xmm6,xmm6,xmm6 + mov edi,eax + add ebp,DWORD[40+rsp] + xor ebx,ecx + shld eax,eax,5 + vpor xmm6,xmm6,xmm8 + vpsrld xmm8,xmm9,30 + add ebp,esi + and edi,ebx + xor ebx,ecx + add ebp,eax + vpslld xmm9,xmm9,2 + vpxor xmm6,xmm6,xmm8 + shrd eax,eax,7 + xor edi,ecx + mov esi,ebp + add edx,DWORD[44+rsp] + vpxor xmm6,xmm6,xmm9 + xor eax,ebx + shld ebp,ebp,5 + add edx,edi + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[32+r15] + and esi,eax + xor eax,ebx + add edx,ebp + shrd ebp,ebp,7 + xor esi,ebx + vpalignr xmm7,xmm4,xmm3,8 + mov edi,edx + add ecx,DWORD[48+rsp] + vpaddd xmm9,xmm10,xmm6 + xor ebp,eax + shld edx,edx,5 + vpsrldq xmm8,xmm6,4 + add ecx,esi + and edi,ebp + vpxor xmm7,xmm7,xmm3 + xor ebp,eax + add ecx,edx + vpxor xmm8,xmm8,xmm5 + shrd edx,edx,7 + xor edi,eax + mov esi,ecx + add ebx,DWORD[52+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[48+r15] + vpxor xmm7,xmm7,xmm8 + xor edx,ebp + shld ecx,ecx,5 + vmovdqa XMMWORD[32+rsp],xmm9 + add ebx,edi + and esi,edx + vpsrld xmm8,xmm7,31 + xor edx,ebp + add ebx,ecx + shrd ecx,ecx,7 + xor esi,ebp + vpslldq xmm9,xmm7,12 + vpaddd xmm7,xmm7,xmm7 + mov edi,ebx + add eax,DWORD[56+rsp] + xor ecx,edx + shld ebx,ebx,5 + vpor xmm7,xmm7,xmm8 + vpsrld xmm8,xmm9,30 + add eax,esi + and edi,ecx + xor ecx,edx + add eax,ebx + vpslld xmm9,xmm9,2 + vpxor xmm7,xmm7,xmm8 + shrd ebx,ebx,7 + cmp r8d,11 + jb NEAR $L$vaesenclast6 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[64+r15] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[80+r15] + je NEAR $L$vaesenclast6 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[96+r15] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[112+r15] +$L$vaesenclast6: + vaesenclast xmm12,xmm12,xmm15 + vmovups xmm15,XMMWORD[((-112))+r15] + vmovups xmm14,XMMWORD[((16-112))+r15] + xor edi,edx + mov esi,eax + add ebp,DWORD[60+rsp] + vpxor xmm7,xmm7,xmm9 + xor ebx,ecx + shld eax,eax,5 + add ebp,edi + and esi,ebx + xor ebx,ecx + add ebp,eax + vpalignr xmm8,xmm7,xmm6,8 + vpxor xmm0,xmm0,xmm4 + shrd eax,eax,7 + xor esi,ecx + mov edi,ebp + add edx,DWORD[rsp] + vpxor xmm0,xmm0,xmm1 + xor eax,ebx + shld ebp,ebp,5 + vpaddd xmm9,xmm10,xmm7 + add edx,esi + vmovdqu xmm13,XMMWORD[16+r12] + vpxor xmm13,xmm13,xmm15 + vmovups XMMWORD[r13*1+r12],xmm12 + vpxor xmm12,xmm12,xmm13 + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-80))+r15] + and edi,eax + vpxor xmm0,xmm0,xmm8 + xor eax,ebx + add edx,ebp + shrd ebp,ebp,7 + xor edi,ebx + vpsrld xmm8,xmm0,30 + vmovdqa XMMWORD[48+rsp],xmm9 + mov esi,edx + add ecx,DWORD[4+rsp] + xor ebp,eax + shld edx,edx,5 + vpslld xmm0,xmm0,2 + add ecx,edi + and esi,ebp + xor ebp,eax + add ecx,edx + shrd edx,edx,7 + xor esi,eax + mov edi,ecx + add ebx,DWORD[8+rsp] + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[((-64))+r15] + vpor xmm0,xmm0,xmm8 + xor edx,ebp + shld ecx,ecx,5 + add ebx,esi + and edi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[12+rsp] + xor edi,ebp + mov esi,ebx + shld ebx,ebx,5 + add eax,edi + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + vpalignr xmm8,xmm0,xmm7,8 + vpxor xmm1,xmm1,xmm5 + add ebp,DWORD[16+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-48))+r15] + xor esi,ecx + mov edi,eax + shld eax,eax,5 + vpxor xmm1,xmm1,xmm2 + add ebp,esi + xor edi,ecx + vpaddd xmm9,xmm10,xmm0 + shrd ebx,ebx,7 + add ebp,eax + vpxor xmm1,xmm1,xmm8 + add edx,DWORD[20+rsp] + xor edi,ebx + mov esi,ebp + shld ebp,ebp,5 + vpsrld xmm8,xmm1,30 + vmovdqa XMMWORD[rsp],xmm9 + add edx,edi + xor esi,ebx + shrd eax,eax,7 + add edx,ebp + vpslld xmm1,xmm1,2 + add ecx,DWORD[24+rsp] + xor esi,eax + mov edi,edx + shld edx,edx,5 + add ecx,esi + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[((-32))+r15] + xor edi,eax + shrd ebp,ebp,7 + add ecx,edx + vpor xmm1,xmm1,xmm8 + add ebx,DWORD[28+rsp] + xor edi,ebp + mov esi,ecx + shld ecx,ecx,5 + add ebx,edi + xor esi,ebp + shrd edx,edx,7 + add ebx,ecx + vpalignr xmm8,xmm1,xmm0,8 + vpxor xmm2,xmm2,xmm6 + add eax,DWORD[32+rsp] + xor esi,edx + mov edi,ebx + shld ebx,ebx,5 + vpxor xmm2,xmm2,xmm3 + add eax,esi + xor edi,edx + vpaddd xmm9,xmm10,xmm1 + vmovdqa xmm10,XMMWORD[32+r11] + shrd ecx,ecx,7 + add eax,ebx + vpxor xmm2,xmm2,xmm8 + add ebp,DWORD[36+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-16))+r15] + xor edi,ecx + mov esi,eax + shld eax,eax,5 + vpsrld xmm8,xmm2,30 + vmovdqa XMMWORD[16+rsp],xmm9 + add ebp,edi + xor esi,ecx + shrd ebx,ebx,7 + add ebp,eax + vpslld xmm2,xmm2,2 + add edx,DWORD[40+rsp] + xor esi,ebx + mov edi,ebp + shld ebp,ebp,5 + add edx,esi + xor edi,ebx + shrd eax,eax,7 + add edx,ebp + vpor xmm2,xmm2,xmm8 + add ecx,DWORD[44+rsp] + xor edi,eax + mov esi,edx + shld edx,edx,5 + add ecx,edi + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[r15] + xor esi,eax + shrd ebp,ebp,7 + add ecx,edx + vpalignr xmm8,xmm2,xmm1,8 + vpxor xmm3,xmm3,xmm7 + add ebx,DWORD[48+rsp] + xor esi,ebp + mov edi,ecx + shld ecx,ecx,5 + vpxor xmm3,xmm3,xmm4 + add ebx,esi + xor edi,ebp + vpaddd xmm9,xmm10,xmm2 + shrd edx,edx,7 + add ebx,ecx + vpxor xmm3,xmm3,xmm8 + add eax,DWORD[52+rsp] + xor edi,edx + mov esi,ebx + shld ebx,ebx,5 + vpsrld xmm8,xmm3,30 + vmovdqa XMMWORD[32+rsp],xmm9 + add eax,edi + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + vpslld xmm3,xmm3,2 + add ebp,DWORD[56+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[16+r15] + xor esi,ecx + mov edi,eax + shld eax,eax,5 + add ebp,esi + xor edi,ecx + shrd ebx,ebx,7 + add ebp,eax + vpor xmm3,xmm3,xmm8 + add edx,DWORD[60+rsp] + xor edi,ebx + mov esi,ebp + shld ebp,ebp,5 + add edx,edi + xor esi,ebx + shrd eax,eax,7 + add edx,ebp + vpalignr xmm8,xmm3,xmm2,8 + vpxor xmm4,xmm4,xmm0 + add ecx,DWORD[rsp] + xor esi,eax + mov edi,edx + shld edx,edx,5 + vpxor xmm4,xmm4,xmm5 + add ecx,esi + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[32+r15] + xor edi,eax + vpaddd xmm9,xmm10,xmm3 + shrd ebp,ebp,7 + add ecx,edx + vpxor xmm4,xmm4,xmm8 + add ebx,DWORD[4+rsp] + xor edi,ebp + mov esi,ecx + shld ecx,ecx,5 + vpsrld xmm8,xmm4,30 + vmovdqa XMMWORD[48+rsp],xmm9 + add ebx,edi + xor esi,ebp + shrd edx,edx,7 + add ebx,ecx + vpslld xmm4,xmm4,2 + add eax,DWORD[8+rsp] + xor esi,edx + mov edi,ebx + shld ebx,ebx,5 + add eax,esi + xor edi,edx + shrd ecx,ecx,7 + add eax,ebx + vpor xmm4,xmm4,xmm8 + add ebp,DWORD[12+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[48+r15] + xor edi,ecx + mov esi,eax + shld eax,eax,5 + add ebp,edi + xor esi,ecx + shrd ebx,ebx,7 + add ebp,eax + vpalignr xmm8,xmm4,xmm3,8 + vpxor xmm5,xmm5,xmm1 + add edx,DWORD[16+rsp] + xor esi,ebx + mov edi,ebp + shld ebp,ebp,5 + vpxor xmm5,xmm5,xmm6 + add edx,esi + xor edi,ebx + vpaddd xmm9,xmm10,xmm4 + shrd eax,eax,7 + add edx,ebp + vpxor xmm5,xmm5,xmm8 + add ecx,DWORD[20+rsp] + xor edi,eax + mov esi,edx + shld edx,edx,5 + vpsrld xmm8,xmm5,30 + vmovdqa XMMWORD[rsp],xmm9 + add ecx,edi + cmp r8d,11 + jb NEAR $L$vaesenclast7 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[64+r15] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[80+r15] + je NEAR $L$vaesenclast7 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[96+r15] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[112+r15] +$L$vaesenclast7: + vaesenclast xmm12,xmm12,xmm15 + vmovups xmm15,XMMWORD[((-112))+r15] + vmovups xmm14,XMMWORD[((16-112))+r15] + xor esi,eax + shrd ebp,ebp,7 + add ecx,edx + vpslld xmm5,xmm5,2 + add ebx,DWORD[24+rsp] + xor esi,ebp + mov edi,ecx + shld ecx,ecx,5 + add ebx,esi + xor edi,ebp + shrd edx,edx,7 + add ebx,ecx + vpor xmm5,xmm5,xmm8 + add eax,DWORD[28+rsp] + shrd ecx,ecx,7 + mov esi,ebx + xor edi,edx + shld ebx,ebx,5 + add eax,edi + xor esi,ecx + xor ecx,edx + add eax,ebx + vpalignr xmm8,xmm5,xmm4,8 + vpxor xmm6,xmm6,xmm2 + add ebp,DWORD[32+rsp] + vmovdqu xmm13,XMMWORD[32+r12] + vpxor xmm13,xmm13,xmm15 + vmovups XMMWORD[16+r12*1+r13],xmm12 + vpxor xmm12,xmm12,xmm13 + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-80))+r15] + and esi,ecx + xor ecx,edx + shrd ebx,ebx,7 + vpxor xmm6,xmm6,xmm7 + mov edi,eax + xor esi,ecx + vpaddd xmm9,xmm10,xmm5 + shld eax,eax,5 + add ebp,esi + vpxor xmm6,xmm6,xmm8 + xor edi,ebx + xor ebx,ecx + add ebp,eax + add edx,DWORD[36+rsp] + vpsrld xmm8,xmm6,30 + vmovdqa XMMWORD[16+rsp],xmm9 + and edi,ebx + xor ebx,ecx + shrd eax,eax,7 + mov esi,ebp + vpslld xmm6,xmm6,2 + xor edi,ebx + shld ebp,ebp,5 + add edx,edi + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[((-64))+r15] + xor esi,eax + xor eax,ebx + add edx,ebp + add ecx,DWORD[40+rsp] + and esi,eax + vpor xmm6,xmm6,xmm8 + xor eax,ebx + shrd ebp,ebp,7 + mov edi,edx + xor esi,eax + shld edx,edx,5 + add ecx,esi + xor edi,ebp + xor ebp,eax + add ecx,edx + add ebx,DWORD[44+rsp] + and edi,ebp + xor ebp,eax + shrd edx,edx,7 + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-48))+r15] + mov esi,ecx + xor edi,ebp + shld ecx,ecx,5 + add ebx,edi + xor esi,edx + xor edx,ebp + add ebx,ecx + vpalignr xmm8,xmm6,xmm5,8 + vpxor xmm7,xmm7,xmm3 + add eax,DWORD[48+rsp] + and esi,edx + xor edx,ebp + shrd ecx,ecx,7 + vpxor xmm7,xmm7,xmm0 + mov edi,ebx + xor esi,edx + vpaddd xmm9,xmm10,xmm6 + vmovdqa xmm10,XMMWORD[48+r11] + shld ebx,ebx,5 + add eax,esi + vpxor xmm7,xmm7,xmm8 + xor edi,ecx + xor ecx,edx + add eax,ebx + add ebp,DWORD[52+rsp] + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[((-32))+r15] + vpsrld xmm8,xmm7,30 + vmovdqa XMMWORD[32+rsp],xmm9 + and edi,ecx + xor ecx,edx + shrd ebx,ebx,7 + mov esi,eax + vpslld xmm7,xmm7,2 + xor edi,ecx + shld eax,eax,5 + add ebp,edi + xor esi,ebx + xor ebx,ecx + add ebp,eax + add edx,DWORD[56+rsp] + and esi,ebx + vpor xmm7,xmm7,xmm8 + xor ebx,ecx + shrd eax,eax,7 + mov edi,ebp + xor esi,ebx + shld ebp,ebp,5 + add edx,esi + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-16))+r15] + xor edi,eax + xor eax,ebx + add edx,ebp + add ecx,DWORD[60+rsp] + and edi,eax + xor eax,ebx + shrd ebp,ebp,7 + mov esi,edx + xor edi,eax + shld edx,edx,5 + add ecx,edi + xor esi,ebp + xor ebp,eax + add ecx,edx + vpalignr xmm8,xmm7,xmm6,8 + vpxor xmm0,xmm0,xmm4 + add ebx,DWORD[rsp] + and esi,ebp + xor ebp,eax + shrd edx,edx,7 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[r15] + vpxor xmm0,xmm0,xmm1 + mov edi,ecx + xor esi,ebp + vpaddd xmm9,xmm10,xmm7 + shld ecx,ecx,5 + add ebx,esi + vpxor xmm0,xmm0,xmm8 + xor edi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[4+rsp] + vpsrld xmm8,xmm0,30 + vmovdqa XMMWORD[48+rsp],xmm9 + and edi,edx + xor edx,ebp + shrd ecx,ecx,7 + mov esi,ebx + vpslld xmm0,xmm0,2 + xor edi,edx + shld ebx,ebx,5 + add eax,edi + xor esi,ecx + xor ecx,edx + add eax,ebx + add ebp,DWORD[8+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[16+r15] + and esi,ecx + vpor xmm0,xmm0,xmm8 + xor ecx,edx + shrd ebx,ebx,7 + mov edi,eax + xor esi,ecx + shld eax,eax,5 + add ebp,esi + xor edi,ebx + xor ebx,ecx + add ebp,eax + add edx,DWORD[12+rsp] + and edi,ebx + xor ebx,ecx + shrd eax,eax,7 + mov esi,ebp + xor edi,ebx + shld ebp,ebp,5 + add edx,edi + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[32+r15] + xor esi,eax + xor eax,ebx + add edx,ebp + vpalignr xmm8,xmm0,xmm7,8 + vpxor xmm1,xmm1,xmm5 + add ecx,DWORD[16+rsp] + and esi,eax + xor eax,ebx + shrd ebp,ebp,7 + vpxor xmm1,xmm1,xmm2 + mov edi,edx + xor esi,eax + vpaddd xmm9,xmm10,xmm0 + shld edx,edx,5 + add ecx,esi + vpxor xmm1,xmm1,xmm8 + xor edi,ebp + xor ebp,eax + add ecx,edx + add ebx,DWORD[20+rsp] + vpsrld xmm8,xmm1,30 + vmovdqa XMMWORD[rsp],xmm9 + and edi,ebp + xor ebp,eax + shrd edx,edx,7 + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[48+r15] + mov esi,ecx + vpslld xmm1,xmm1,2 + xor edi,ebp + shld ecx,ecx,5 + add ebx,edi + xor esi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[24+rsp] + and esi,edx + vpor xmm1,xmm1,xmm8 + xor edx,ebp + shrd ecx,ecx,7 + mov edi,ebx + xor esi,edx + shld ebx,ebx,5 + add eax,esi + xor edi,ecx + xor ecx,edx + add eax,ebx + add ebp,DWORD[28+rsp] + cmp r8d,11 + jb NEAR $L$vaesenclast8 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[64+r15] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[80+r15] + je NEAR $L$vaesenclast8 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[96+r15] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[112+r15] +$L$vaesenclast8: + vaesenclast xmm12,xmm12,xmm15 + vmovups xmm15,XMMWORD[((-112))+r15] + vmovups xmm14,XMMWORD[((16-112))+r15] + and edi,ecx + xor ecx,edx + shrd ebx,ebx,7 + mov esi,eax + xor edi,ecx + shld eax,eax,5 + add ebp,edi + xor esi,ebx + xor ebx,ecx + add ebp,eax + vpalignr xmm8,xmm1,xmm0,8 + vpxor xmm2,xmm2,xmm6 + add edx,DWORD[32+rsp] + and esi,ebx + xor ebx,ecx + shrd eax,eax,7 + vpxor xmm2,xmm2,xmm3 + mov edi,ebp + xor esi,ebx + vpaddd xmm9,xmm10,xmm1 + shld ebp,ebp,5 + add edx,esi + vmovdqu xmm13,XMMWORD[48+r12] + vpxor xmm13,xmm13,xmm15 + vmovups XMMWORD[32+r12*1+r13],xmm12 + vpxor xmm12,xmm12,xmm13 + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-80))+r15] + vpxor xmm2,xmm2,xmm8 + xor edi,eax + xor eax,ebx + add edx,ebp + add ecx,DWORD[36+rsp] + vpsrld xmm8,xmm2,30 + vmovdqa XMMWORD[16+rsp],xmm9 + and edi,eax + xor eax,ebx + shrd ebp,ebp,7 + mov esi,edx + vpslld xmm2,xmm2,2 + xor edi,eax + shld edx,edx,5 + add ecx,edi + xor esi,ebp + xor ebp,eax + add ecx,edx + add ebx,DWORD[40+rsp] + and esi,ebp + vpor xmm2,xmm2,xmm8 + xor ebp,eax + shrd edx,edx,7 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[((-64))+r15] + mov edi,ecx + xor esi,ebp + shld ecx,ecx,5 + add ebx,esi + xor edi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[44+rsp] + and edi,edx + xor edx,ebp + shrd ecx,ecx,7 + mov esi,ebx + xor edi,edx + shld ebx,ebx,5 + add eax,edi + xor esi,edx + add eax,ebx + vpalignr xmm8,xmm2,xmm1,8 + vpxor xmm3,xmm3,xmm7 + add ebp,DWORD[48+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-48))+r15] + xor esi,ecx + mov edi,eax + shld eax,eax,5 + vpxor xmm3,xmm3,xmm4 + add ebp,esi + xor edi,ecx + vpaddd xmm9,xmm10,xmm2 + shrd ebx,ebx,7 + add ebp,eax + vpxor xmm3,xmm3,xmm8 + add edx,DWORD[52+rsp] + xor edi,ebx + mov esi,ebp + shld ebp,ebp,5 + vpsrld xmm8,xmm3,30 + vmovdqa XMMWORD[32+rsp],xmm9 + add edx,edi + xor esi,ebx + shrd eax,eax,7 + add edx,ebp + vpslld xmm3,xmm3,2 + add ecx,DWORD[56+rsp] + xor esi,eax + mov edi,edx + shld edx,edx,5 + add ecx,esi + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[((-32))+r15] + xor edi,eax + shrd ebp,ebp,7 + add ecx,edx + vpor xmm3,xmm3,xmm8 + add ebx,DWORD[60+rsp] + xor edi,ebp + mov esi,ecx + shld ecx,ecx,5 + add ebx,edi + xor esi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[rsp] + vpaddd xmm9,xmm10,xmm3 + xor esi,edx + mov edi,ebx + shld ebx,ebx,5 + add eax,esi + vmovdqa XMMWORD[48+rsp],xmm9 + xor edi,edx + shrd ecx,ecx,7 + add eax,ebx + add ebp,DWORD[4+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[((-16))+r15] + xor edi,ecx + mov esi,eax + shld eax,eax,5 + add ebp,edi + xor esi,ecx + shrd ebx,ebx,7 + add ebp,eax + add edx,DWORD[8+rsp] + xor esi,ebx + mov edi,ebp + shld ebp,ebp,5 + add edx,esi + xor edi,ebx + shrd eax,eax,7 + add edx,ebp + add ecx,DWORD[12+rsp] + xor edi,eax + mov esi,edx + shld edx,edx,5 + add ecx,edi + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[r15] + xor esi,eax + shrd ebp,ebp,7 + add ecx,edx + cmp r10,r14 + je NEAR $L$done_avx + vmovdqa xmm9,XMMWORD[64+r11] + vmovdqa xmm10,XMMWORD[r11] + vmovdqu xmm0,XMMWORD[r10] + vmovdqu xmm1,XMMWORD[16+r10] + vmovdqu xmm2,XMMWORD[32+r10] + vmovdqu xmm3,XMMWORD[48+r10] + vpshufb xmm0,xmm0,xmm9 + add r10,64 + add ebx,DWORD[16+rsp] + xor esi,ebp + vpshufb xmm1,xmm1,xmm9 + mov edi,ecx + shld ecx,ecx,5 + vpaddd xmm8,xmm0,xmm10 + add ebx,esi + xor edi,ebp + shrd edx,edx,7 + add ebx,ecx + vmovdqa XMMWORD[rsp],xmm8 + add eax,DWORD[20+rsp] + xor edi,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,edi + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + add ebp,DWORD[24+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[16+r15] + xor esi,ecx + mov edi,eax + shld eax,eax,5 + add ebp,esi + xor edi,ecx + shrd ebx,ebx,7 + add ebp,eax + add edx,DWORD[28+rsp] + xor edi,ebx + mov esi,ebp + shld ebp,ebp,5 + add edx,edi + xor esi,ebx + shrd eax,eax,7 + add edx,ebp + add ecx,DWORD[32+rsp] + xor esi,eax + vpshufb xmm2,xmm2,xmm9 + mov edi,edx + shld edx,edx,5 + vpaddd xmm8,xmm1,xmm10 + add ecx,esi + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[32+r15] + xor edi,eax + shrd ebp,ebp,7 + add ecx,edx + vmovdqa XMMWORD[16+rsp],xmm8 + add ebx,DWORD[36+rsp] + xor edi,ebp + mov esi,ecx + shld ecx,ecx,5 + add ebx,edi + xor esi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[40+rsp] + xor esi,edx + mov edi,ebx + shld ebx,ebx,5 + add eax,esi + xor edi,edx + shrd ecx,ecx,7 + add eax,ebx + add ebp,DWORD[44+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[48+r15] + xor edi,ecx + mov esi,eax + shld eax,eax,5 + add ebp,edi + xor esi,ecx + shrd ebx,ebx,7 + add ebp,eax + add edx,DWORD[48+rsp] + xor esi,ebx + vpshufb xmm3,xmm3,xmm9 + mov edi,ebp + shld ebp,ebp,5 + vpaddd xmm8,xmm2,xmm10 + add edx,esi + xor edi,ebx + shrd eax,eax,7 + add edx,ebp + vmovdqa XMMWORD[32+rsp],xmm8 + add ecx,DWORD[52+rsp] + xor edi,eax + mov esi,edx + shld edx,edx,5 + add ecx,edi + cmp r8d,11 + jb NEAR $L$vaesenclast9 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[64+r15] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[80+r15] + je NEAR $L$vaesenclast9 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[96+r15] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[112+r15] +$L$vaesenclast9: + vaesenclast xmm12,xmm12,xmm15 + vmovups xmm15,XMMWORD[((-112))+r15] + vmovups xmm14,XMMWORD[((16-112))+r15] + xor esi,eax + shrd ebp,ebp,7 + add ecx,edx + add ebx,DWORD[56+rsp] + xor esi,ebp + mov edi,ecx + shld ecx,ecx,5 + add ebx,esi + xor edi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[60+rsp] + xor edi,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,edi + shrd ecx,ecx,7 + add eax,ebx + vmovups XMMWORD[48+r12*1+r13],xmm12 + lea r12,[64+r12] + + add eax,DWORD[r9] + add esi,DWORD[4+r9] + add ecx,DWORD[8+r9] + add edx,DWORD[12+r9] + mov DWORD[r9],eax + add ebp,DWORD[16+r9] + mov DWORD[4+r9],esi + mov ebx,esi + mov DWORD[8+r9],ecx + mov edi,ecx + mov DWORD[12+r9],edx + xor edi,edx + mov DWORD[16+r9],ebp + and esi,edi + jmp NEAR $L$oop_avx + +$L$done_avx: + add ebx,DWORD[16+rsp] + xor esi,ebp + mov edi,ecx + shld ecx,ecx,5 + add ebx,esi + xor edi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[20+rsp] + xor edi,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,edi + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + add ebp,DWORD[24+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[16+r15] + xor esi,ecx + mov edi,eax + shld eax,eax,5 + add ebp,esi + xor edi,ecx + shrd ebx,ebx,7 + add ebp,eax + add edx,DWORD[28+rsp] + xor edi,ebx + mov esi,ebp + shld ebp,ebp,5 + add edx,edi + xor esi,ebx + shrd eax,eax,7 + add edx,ebp + add ecx,DWORD[32+rsp] + xor esi,eax + mov edi,edx + shld edx,edx,5 + add ecx,esi + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[32+r15] + xor edi,eax + shrd ebp,ebp,7 + add ecx,edx + add ebx,DWORD[36+rsp] + xor edi,ebp + mov esi,ecx + shld ecx,ecx,5 + add ebx,edi + xor esi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[40+rsp] + xor esi,edx + mov edi,ebx + shld ebx,ebx,5 + add eax,esi + xor edi,edx + shrd ecx,ecx,7 + add eax,ebx + add ebp,DWORD[44+rsp] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[48+r15] + xor edi,ecx + mov esi,eax + shld eax,eax,5 + add ebp,edi + xor esi,ecx + shrd ebx,ebx,7 + add ebp,eax + add edx,DWORD[48+rsp] + xor esi,ebx + mov edi,ebp + shld ebp,ebp,5 + add edx,esi + xor edi,ebx + shrd eax,eax,7 + add edx,ebp + add ecx,DWORD[52+rsp] + xor edi,eax + mov esi,edx + shld edx,edx,5 + add ecx,edi + cmp r8d,11 + jb NEAR $L$vaesenclast10 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[64+r15] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[80+r15] + je NEAR $L$vaesenclast10 + vaesenc xmm12,xmm12,xmm15 + vmovups xmm14,XMMWORD[96+r15] + vaesenc xmm12,xmm12,xmm14 + vmovups xmm15,XMMWORD[112+r15] +$L$vaesenclast10: + vaesenclast xmm12,xmm12,xmm15 + vmovups xmm15,XMMWORD[((-112))+r15] + vmovups xmm14,XMMWORD[((16-112))+r15] + xor esi,eax + shrd ebp,ebp,7 + add ecx,edx + add ebx,DWORD[56+rsp] + xor esi,ebp + mov edi,ecx + shld ecx,ecx,5 + add ebx,esi + xor edi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[60+rsp] + xor edi,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,edi + shrd ecx,ecx,7 + add eax,ebx + vmovups XMMWORD[48+r12*1+r13],xmm12 + mov r8,QWORD[88+rsp] + + add eax,DWORD[r9] + add esi,DWORD[4+r9] + add ecx,DWORD[8+r9] + mov DWORD[r9],eax + add edx,DWORD[12+r9] + mov DWORD[4+r9],esi + add ebp,DWORD[16+r9] + mov DWORD[8+r9],ecx + mov DWORD[12+r9],edx + mov DWORD[16+r9],ebp + vmovups XMMWORD[r8],xmm12 + vzeroall + movaps xmm6,XMMWORD[((96+0))+rsp] + movaps xmm7,XMMWORD[((96+16))+rsp] + movaps xmm8,XMMWORD[((96+32))+rsp] + movaps xmm9,XMMWORD[((96+48))+rsp] + movaps xmm10,XMMWORD[((96+64))+rsp] + movaps xmm11,XMMWORD[((96+80))+rsp] + movaps xmm12,XMMWORD[((96+96))+rsp] + movaps xmm13,XMMWORD[((96+112))+rsp] + movaps xmm14,XMMWORD[((96+128))+rsp] + movaps xmm15,XMMWORD[((96+144))+rsp] + lea rsi,[264+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_avx: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_cbc_sha1_enc_avx: +ALIGN 64 +K_XX_XX: + DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 + DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 + DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc + DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 + DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f +DB 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 + +DB 65,69,83,78,73,45,67,66,67,43,83,72,65,49,32,115 +DB 116,105,116,99,104,32,102,111,114,32,120,56,54,95,54,52 +DB 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32 +DB 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111 +DB 114,103,62,0 +ALIGN 64 + +ALIGN 32 +aesni_cbc_sha1_enc_shaext: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_cbc_sha1_enc_shaext: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov r10,QWORD[56+rsp] + lea rsp,[((-168))+rsp] + movaps XMMWORD[(-8-160)+rax],xmm6 + movaps XMMWORD[(-8-144)+rax],xmm7 + movaps XMMWORD[(-8-128)+rax],xmm8 + movaps XMMWORD[(-8-112)+rax],xmm9 + movaps XMMWORD[(-8-96)+rax],xmm10 + movaps XMMWORD[(-8-80)+rax],xmm11 + movaps XMMWORD[(-8-64)+rax],xmm12 + movaps XMMWORD[(-8-48)+rax],xmm13 + movaps XMMWORD[(-8-32)+rax],xmm14 + movaps XMMWORD[(-8-16)+rax],xmm15 +$L$prologue_shaext: + movdqu xmm8,XMMWORD[r9] + movd xmm9,DWORD[16+r9] + movdqa xmm7,XMMWORD[((K_XX_XX+80))] + + mov r11d,DWORD[240+rcx] + sub rsi,rdi + movups xmm15,XMMWORD[rcx] + movups xmm2,XMMWORD[r8] + movups xmm0,XMMWORD[16+rcx] + lea rcx,[112+rcx] + + pshufd xmm8,xmm8,27 + pshufd xmm9,xmm9,27 + jmp NEAR $L$oop_shaext + +ALIGN 16 +$L$oop_shaext: + movups xmm14,XMMWORD[rdi] + xorps xmm14,xmm15 + xorps xmm2,xmm14 + movups xmm1,XMMWORD[((-80))+rcx] +DB 102,15,56,220,208 + movdqu xmm3,XMMWORD[r10] + movdqa xmm12,xmm9 +DB 102,15,56,0,223 + movdqu xmm4,XMMWORD[16+r10] + movdqa xmm11,xmm8 + movups xmm0,XMMWORD[((-64))+rcx] +DB 102,15,56,220,209 +DB 102,15,56,0,231 + + paddd xmm9,xmm3 + movdqu xmm5,XMMWORD[32+r10] + lea r10,[64+r10] + pxor xmm3,xmm12 + movups xmm1,XMMWORD[((-48))+rcx] +DB 102,15,56,220,208 + pxor xmm3,xmm12 + movdqa xmm10,xmm8 +DB 102,15,56,0,239 +DB 69,15,58,204,193,0 +DB 68,15,56,200,212 + movups xmm0,XMMWORD[((-32))+rcx] +DB 102,15,56,220,209 +DB 15,56,201,220 + movdqu xmm6,XMMWORD[((-16))+r10] + movdqa xmm9,xmm8 +DB 102,15,56,0,247 + movups xmm1,XMMWORD[((-16))+rcx] +DB 102,15,56,220,208 +DB 69,15,58,204,194,0 +DB 68,15,56,200,205 + pxor xmm3,xmm5 +DB 15,56,201,229 + movups xmm0,XMMWORD[rcx] +DB 102,15,56,220,209 + movdqa xmm10,xmm8 +DB 69,15,58,204,193,0 +DB 68,15,56,200,214 + movups xmm1,XMMWORD[16+rcx] +DB 102,15,56,220,208 +DB 15,56,202,222 + pxor xmm4,xmm6 +DB 15,56,201,238 + movups xmm0,XMMWORD[32+rcx] +DB 102,15,56,220,209 + movdqa xmm9,xmm8 +DB 69,15,58,204,194,0 +DB 68,15,56,200,203 + movups xmm1,XMMWORD[48+rcx] +DB 102,15,56,220,208 +DB 15,56,202,227 + pxor xmm5,xmm3 +DB 15,56,201,243 + cmp r11d,11 + jb NEAR $L$aesenclast11 + movups xmm0,XMMWORD[64+rcx] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[80+rcx] +DB 102,15,56,220,208 + je NEAR $L$aesenclast11 + movups xmm0,XMMWORD[96+rcx] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[112+rcx] +DB 102,15,56,220,208 +$L$aesenclast11: +DB 102,15,56,221,209 + movups xmm0,XMMWORD[((16-112))+rcx] + movdqa xmm10,xmm8 +DB 69,15,58,204,193,0 +DB 68,15,56,200,212 + movups xmm14,XMMWORD[16+rdi] + xorps xmm14,xmm15 + movups XMMWORD[rdi*1+rsi],xmm2 + xorps xmm2,xmm14 + movups xmm1,XMMWORD[((-80))+rcx] +DB 102,15,56,220,208 +DB 15,56,202,236 + pxor xmm6,xmm4 +DB 15,56,201,220 + movups xmm0,XMMWORD[((-64))+rcx] +DB 102,15,56,220,209 + movdqa xmm9,xmm8 +DB 69,15,58,204,194,1 +DB 68,15,56,200,205 + movups xmm1,XMMWORD[((-48))+rcx] +DB 102,15,56,220,208 +DB 15,56,202,245 + pxor xmm3,xmm5 +DB 15,56,201,229 + movups xmm0,XMMWORD[((-32))+rcx] +DB 102,15,56,220,209 + movdqa xmm10,xmm8 +DB 69,15,58,204,193,1 +DB 68,15,56,200,214 + movups xmm1,XMMWORD[((-16))+rcx] +DB 102,15,56,220,208 +DB 15,56,202,222 + pxor xmm4,xmm6 +DB 15,56,201,238 + movups xmm0,XMMWORD[rcx] +DB 102,15,56,220,209 + movdqa xmm9,xmm8 +DB 69,15,58,204,194,1 +DB 68,15,56,200,203 + movups xmm1,XMMWORD[16+rcx] +DB 102,15,56,220,208 +DB 15,56,202,227 + pxor xmm5,xmm3 +DB 15,56,201,243 + movups xmm0,XMMWORD[32+rcx] +DB 102,15,56,220,209 + movdqa xmm10,xmm8 +DB 69,15,58,204,193,1 +DB 68,15,56,200,212 + movups xmm1,XMMWORD[48+rcx] +DB 102,15,56,220,208 +DB 15,56,202,236 + pxor xmm6,xmm4 +DB 15,56,201,220 + cmp r11d,11 + jb NEAR $L$aesenclast12 + movups xmm0,XMMWORD[64+rcx] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[80+rcx] +DB 102,15,56,220,208 + je NEAR $L$aesenclast12 + movups xmm0,XMMWORD[96+rcx] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[112+rcx] +DB 102,15,56,220,208 +$L$aesenclast12: +DB 102,15,56,221,209 + movups xmm0,XMMWORD[((16-112))+rcx] + movdqa xmm9,xmm8 +DB 69,15,58,204,194,1 +DB 68,15,56,200,205 + movups xmm14,XMMWORD[32+rdi] + xorps xmm14,xmm15 + movups XMMWORD[16+rdi*1+rsi],xmm2 + xorps xmm2,xmm14 + movups xmm1,XMMWORD[((-80))+rcx] +DB 102,15,56,220,208 +DB 15,56,202,245 + pxor xmm3,xmm5 +DB 15,56,201,229 + movups xmm0,XMMWORD[((-64))+rcx] +DB 102,15,56,220,209 + movdqa xmm10,xmm8 +DB 69,15,58,204,193,2 +DB 68,15,56,200,214 + movups xmm1,XMMWORD[((-48))+rcx] +DB 102,15,56,220,208 +DB 15,56,202,222 + pxor xmm4,xmm6 +DB 15,56,201,238 + movups xmm0,XMMWORD[((-32))+rcx] +DB 102,15,56,220,209 + movdqa xmm9,xmm8 +DB 69,15,58,204,194,2 +DB 68,15,56,200,203 + movups xmm1,XMMWORD[((-16))+rcx] +DB 102,15,56,220,208 +DB 15,56,202,227 + pxor xmm5,xmm3 +DB 15,56,201,243 + movups xmm0,XMMWORD[rcx] +DB 102,15,56,220,209 + movdqa xmm10,xmm8 +DB 69,15,58,204,193,2 +DB 68,15,56,200,212 + movups xmm1,XMMWORD[16+rcx] +DB 102,15,56,220,208 +DB 15,56,202,236 + pxor xmm6,xmm4 +DB 15,56,201,220 + movups xmm0,XMMWORD[32+rcx] +DB 102,15,56,220,209 + movdqa xmm9,xmm8 +DB 69,15,58,204,194,2 +DB 68,15,56,200,205 + movups xmm1,XMMWORD[48+rcx] +DB 102,15,56,220,208 +DB 15,56,202,245 + pxor xmm3,xmm5 +DB 15,56,201,229 + cmp r11d,11 + jb NEAR $L$aesenclast13 + movups xmm0,XMMWORD[64+rcx] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[80+rcx] +DB 102,15,56,220,208 + je NEAR $L$aesenclast13 + movups xmm0,XMMWORD[96+rcx] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[112+rcx] +DB 102,15,56,220,208 +$L$aesenclast13: +DB 102,15,56,221,209 + movups xmm0,XMMWORD[((16-112))+rcx] + movdqa xmm10,xmm8 +DB 69,15,58,204,193,2 +DB 68,15,56,200,214 + movups xmm14,XMMWORD[48+rdi] + xorps xmm14,xmm15 + movups XMMWORD[32+rdi*1+rsi],xmm2 + xorps xmm2,xmm14 + movups xmm1,XMMWORD[((-80))+rcx] +DB 102,15,56,220,208 +DB 15,56,202,222 + pxor xmm4,xmm6 +DB 15,56,201,238 + movups xmm0,XMMWORD[((-64))+rcx] +DB 102,15,56,220,209 + movdqa xmm9,xmm8 +DB 69,15,58,204,194,3 +DB 68,15,56,200,203 + movups xmm1,XMMWORD[((-48))+rcx] +DB 102,15,56,220,208 +DB 15,56,202,227 + pxor xmm5,xmm3 +DB 15,56,201,243 + movups xmm0,XMMWORD[((-32))+rcx] +DB 102,15,56,220,209 + movdqa xmm10,xmm8 +DB 69,15,58,204,193,3 +DB 68,15,56,200,212 +DB 15,56,202,236 + pxor xmm6,xmm4 + movups xmm1,XMMWORD[((-16))+rcx] +DB 102,15,56,220,208 + movdqa xmm9,xmm8 +DB 69,15,58,204,194,3 +DB 68,15,56,200,205 +DB 15,56,202,245 + movups xmm0,XMMWORD[rcx] +DB 102,15,56,220,209 + movdqa xmm5,xmm12 + movdqa xmm10,xmm8 +DB 69,15,58,204,193,3 +DB 68,15,56,200,214 + movups xmm1,XMMWORD[16+rcx] +DB 102,15,56,220,208 + movdqa xmm9,xmm8 +DB 69,15,58,204,194,3 +DB 68,15,56,200,205 + movups xmm0,XMMWORD[32+rcx] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[48+rcx] +DB 102,15,56,220,208 + cmp r11d,11 + jb NEAR $L$aesenclast14 + movups xmm0,XMMWORD[64+rcx] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[80+rcx] +DB 102,15,56,220,208 + je NEAR $L$aesenclast14 + movups xmm0,XMMWORD[96+rcx] +DB 102,15,56,220,209 + movups xmm1,XMMWORD[112+rcx] +DB 102,15,56,220,208 +$L$aesenclast14: +DB 102,15,56,221,209 + movups xmm0,XMMWORD[((16-112))+rcx] + dec rdx + + paddd xmm8,xmm11 + movups XMMWORD[48+rdi*1+rsi],xmm2 + lea rdi,[64+rdi] + jnz NEAR $L$oop_shaext + + pshufd xmm8,xmm8,27 + pshufd xmm9,xmm9,27 + movups XMMWORD[r8],xmm2 + movdqu XMMWORD[r9],xmm8 + movd DWORD[16+r9],xmm9 + movaps xmm6,XMMWORD[((-8-160))+rax] + movaps xmm7,XMMWORD[((-8-144))+rax] + movaps xmm8,XMMWORD[((-8-128))+rax] + movaps xmm9,XMMWORD[((-8-112))+rax] + movaps xmm10,XMMWORD[((-8-96))+rax] + movaps xmm11,XMMWORD[((-8-80))+rax] + movaps xmm12,XMMWORD[((-8-64))+rax] + movaps xmm13,XMMWORD[((-8-48))+rax] + movaps xmm14,XMMWORD[((-8-32))+rax] + movaps xmm15,XMMWORD[((-8-16))+rax] + mov rsp,rax +$L$epilogue_shaext: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_cbc_sha1_enc_shaext: +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +ssse3_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + lea r10,[aesni_cbc_sha1_enc_shaext] + cmp rbx,r10 + jb NEAR $L$seh_no_shaext + + lea rsi,[rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + lea rax,[168+rax] + jmp NEAR $L$common_seh_tail +$L$seh_no_shaext: + lea rsi,[96+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + lea rax,[264+rax] + + mov r15,QWORD[rax] + mov r14,QWORD[8+rax] + mov r13,QWORD[16+rax] + mov r12,QWORD[24+rax] + mov rbp,QWORD[32+rax] + mov rbx,QWORD[40+rax] + lea rax,[48+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$common_seh_tail: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_aesni_cbc_sha1_enc_ssse3 wrt ..imagebase + DD $L$SEH_end_aesni_cbc_sha1_enc_ssse3 wrt ..imagebase + DD $L$SEH_info_aesni_cbc_sha1_enc_ssse3 wrt ..imagebase + DD $L$SEH_begin_aesni_cbc_sha1_enc_avx wrt ..imagebase + DD $L$SEH_end_aesni_cbc_sha1_enc_avx wrt ..imagebase + DD $L$SEH_info_aesni_cbc_sha1_enc_avx wrt ..imagebase + DD $L$SEH_begin_aesni_cbc_sha1_enc_shaext wrt ..imagebase + DD $L$SEH_end_aesni_cbc_sha1_enc_shaext wrt ..imagebase + DD $L$SEH_info_aesni_cbc_sha1_enc_shaext wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_aesni_cbc_sha1_enc_ssse3: +DB 9,0,0,0 + DD ssse3_handler wrt ..imagebase + DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase +$L$SEH_info_aesni_cbc_sha1_enc_avx: +DB 9,0,0,0 + DD ssse3_handler wrt ..imagebase + DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase +$L$SEH_info_aesni_cbc_sha1_enc_shaext: +DB 9,0,0,0 + DD ssse3_handler wrt ..imagebase + DD $L$prologue_shaext wrt ..imagebase,$L$epilogue_shaext wrt ..imagebase diff --git a/tmp64/aesni-sha256-x86_64.asm b/tmp64/aesni-sha256-x86_64.asm index f148890c..646f6bc1 100644 --- a/tmp64/aesni-sha256-x86_64.asm +++ b/tmp64/aesni-sha256-x86_64.asm @@ -1,4649 +1,4649 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN OPENSSL_ia32cap_P -global aesni_cbc_sha256_enc - -ALIGN 16 -aesni_cbc_sha256_enc: - lea r11,[OPENSSL_ia32cap_P] - mov eax,1 - cmp rcx,0 - je NEAR $L$probe - mov eax,DWORD[r11] - mov r10,QWORD[4+r11] - bt r10,61 - jc NEAR aesni_cbc_sha256_enc_shaext - mov r11,r10 - shr r11,32 - - test r10d,2048 - jnz NEAR aesni_cbc_sha256_enc_xop - and r11d,296 - cmp r11d,296 - je NEAR aesni_cbc_sha256_enc_avx2 - and r10d,268435456 - jnz NEAR aesni_cbc_sha256_enc_avx - ud2 - xor eax,eax - cmp rcx,0 - je NEAR $L$probe - ud2 -$L$probe: - DB 0F3h,0C3h ;repret - - -ALIGN 64 - -K256: - DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 - DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 - DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 - DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 - DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 - DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 - DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 - DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 - DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc - DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc - DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da - DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da - DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 - DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 - DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 - DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 - DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 - DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 - DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 - DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 - DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 - DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 - DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 - DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 - DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 - DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 - DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 - DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 - DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 - DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 - DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 - DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 - - DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f - DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f - DD 0,0,0,0,0,0,0,0,-1,-1,-1,-1 - DD 0,0,0,0,0,0,0,0 -DB 65,69,83,78,73,45,67,66,67,43,83,72,65,50,53,54 -DB 32,115,116,105,116,99,104,32,102,111,114,32,120,56,54,95 -DB 54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98 -DB 121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108 -DB 46,111,114,103,62,0 -ALIGN 64 - -ALIGN 64 -aesni_cbc_sha256_enc_xop: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_cbc_sha256_enc_xop: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - -$L$xop_shortcut: - mov r10,QWORD[56+rsp] - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - mov r11,rsp - sub rsp,288 - and rsp,-64 - - shl rdx,6 - sub rsi,rdi - sub r10,rdi - add rdx,rdi - - - mov QWORD[((64+8))+rsp],rsi - mov QWORD[((64+16))+rsp],rdx - - mov QWORD[((64+32))+rsp],r8 - mov QWORD[((64+40))+rsp],r9 - mov QWORD[((64+48))+rsp],r10 - mov QWORD[((64+56))+rsp],r11 - movaps XMMWORD[128+rsp],xmm6 - movaps XMMWORD[144+rsp],xmm7 - movaps XMMWORD[160+rsp],xmm8 - movaps XMMWORD[176+rsp],xmm9 - movaps XMMWORD[192+rsp],xmm10 - movaps XMMWORD[208+rsp],xmm11 - movaps XMMWORD[224+rsp],xmm12 - movaps XMMWORD[240+rsp],xmm13 - movaps XMMWORD[256+rsp],xmm14 - movaps XMMWORD[272+rsp],xmm15 -$L$prologue_xop: - vzeroall - - mov r12,rdi - lea rdi,[128+rcx] - lea r13,[((K256+544))] - mov r14d,DWORD[((240-128))+rdi] - mov r15,r9 - mov rsi,r10 - vmovdqu xmm8,XMMWORD[r8] - sub r14,9 - - mov eax,DWORD[r15] - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - mov edx,DWORD[12+r15] - mov r8d,DWORD[16+r15] - mov r9d,DWORD[20+r15] - mov r10d,DWORD[24+r15] - mov r11d,DWORD[28+r15] - - vmovdqa xmm14,XMMWORD[r14*8+r13] - vmovdqa xmm13,XMMWORD[16+r14*8+r13] - vmovdqa xmm12,XMMWORD[32+r14*8+r13] - vmovdqu xmm10,XMMWORD[((0-128))+rdi] - jmp NEAR $L$loop_xop -ALIGN 16 -$L$loop_xop: - vmovdqa xmm7,XMMWORD[((K256+512))] - vmovdqu xmm0,XMMWORD[r12*1+rsi] - vmovdqu xmm1,XMMWORD[16+r12*1+rsi] - vmovdqu xmm2,XMMWORD[32+r12*1+rsi] - vmovdqu xmm3,XMMWORD[48+r12*1+rsi] - vpshufb xmm0,xmm0,xmm7 - lea rbp,[K256] - vpshufb xmm1,xmm1,xmm7 - vpshufb xmm2,xmm2,xmm7 - vpaddd xmm4,xmm0,XMMWORD[rbp] - vpshufb xmm3,xmm3,xmm7 - vpaddd xmm5,xmm1,XMMWORD[32+rbp] - vpaddd xmm6,xmm2,XMMWORD[64+rbp] - vpaddd xmm7,xmm3,XMMWORD[96+rbp] - vmovdqa XMMWORD[rsp],xmm4 - mov r14d,eax - vmovdqa XMMWORD[16+rsp],xmm5 - mov esi,ebx - vmovdqa XMMWORD[32+rsp],xmm6 - xor esi,ecx - vmovdqa XMMWORD[48+rsp],xmm7 - mov r13d,r8d - jmp NEAR $L$xop_00_47 - -ALIGN 16 -$L$xop_00_47: - sub rbp,-16*2*4 - vmovdqu xmm9,XMMWORD[r12] - mov QWORD[((64+0))+rsp],r12 - vpalignr xmm4,xmm1,xmm0,4 - ror r13d,14 - mov eax,r14d - vpalignr xmm7,xmm3,xmm2,4 - mov r12d,r9d - xor r13d,r8d -DB 143,232,120,194,236,14 - ror r14d,9 - xor r12d,r10d - vpsrld xmm4,xmm4,3 - ror r13d,5 - xor r14d,eax - vpaddd xmm0,xmm0,xmm7 - and r12d,r8d - vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((16-128))+rdi] - xor r13d,r8d - add r11d,DWORD[rsp] - mov r15d,eax -DB 143,232,120,194,245,11 - ror r14d,11 - xor r12d,r10d - vpxor xmm4,xmm4,xmm5 - xor r15d,ebx - ror r13d,6 - add r11d,r12d - and esi,r15d -DB 143,232,120,194,251,13 - xor r14d,eax - add r11d,r13d - vpxor xmm4,xmm4,xmm6 - xor esi,ebx - add edx,r11d - vpsrld xmm6,xmm3,10 - ror r14d,2 - add r11d,esi - vpaddd xmm0,xmm0,xmm4 - mov r13d,edx - add r14d,r11d -DB 143,232,120,194,239,2 - ror r13d,14 - mov r11d,r14d - vpxor xmm7,xmm7,xmm6 - mov r12d,r8d - xor r13d,edx - ror r14d,9 - xor r12d,r9d - vpxor xmm7,xmm7,xmm5 - ror r13d,5 - xor r14d,r11d - and r12d,edx - vpxor xmm9,xmm9,xmm8 - xor r13d,edx - vpsrldq xmm7,xmm7,8 - add r10d,DWORD[4+rsp] - mov esi,r11d - ror r14d,11 - xor r12d,r9d - vpaddd xmm0,xmm0,xmm7 - xor esi,eax - ror r13d,6 - add r10d,r12d - and r15d,esi -DB 143,232,120,194,248,13 - xor r14d,r11d - add r10d,r13d - vpsrld xmm6,xmm0,10 - xor r15d,eax - add ecx,r10d -DB 143,232,120,194,239,2 - ror r14d,2 - add r10d,r15d - vpxor xmm7,xmm7,xmm6 - mov r13d,ecx - add r14d,r10d - ror r13d,14 - mov r10d,r14d - vpxor xmm7,xmm7,xmm5 - mov r12d,edx - xor r13d,ecx - ror r14d,9 - xor r12d,r8d - vpslldq xmm7,xmm7,8 - ror r13d,5 - xor r14d,r10d - and r12d,ecx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((32-128))+rdi] - xor r13d,ecx - vpaddd xmm0,xmm0,xmm7 - add r9d,DWORD[8+rsp] - mov r15d,r10d - ror r14d,11 - xor r12d,r8d - vpaddd xmm6,xmm0,XMMWORD[rbp] - xor r15d,r11d - ror r13d,6 - add r9d,r12d - and esi,r15d - xor r14d,r10d - add r9d,r13d - xor esi,r11d - add ebx,r9d - ror r14d,2 - add r9d,esi - mov r13d,ebx - add r14d,r9d - ror r13d,14 - mov r9d,r14d - mov r12d,ecx - xor r13d,ebx - ror r14d,9 - xor r12d,edx - ror r13d,5 - xor r14d,r9d - and r12d,ebx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((48-128))+rdi] - xor r13d,ebx - add r8d,DWORD[12+rsp] - mov esi,r9d - ror r14d,11 - xor r12d,edx - xor esi,r10d - ror r13d,6 - add r8d,r12d - and r15d,esi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - add eax,r8d - ror r14d,2 - add r8d,r15d - mov r13d,eax - add r14d,r8d - vmovdqa XMMWORD[rsp],xmm6 - vpalignr xmm4,xmm2,xmm1,4 - ror r13d,14 - mov r8d,r14d - vpalignr xmm7,xmm0,xmm3,4 - mov r12d,ebx - xor r13d,eax -DB 143,232,120,194,236,14 - ror r14d,9 - xor r12d,ecx - vpsrld xmm4,xmm4,3 - ror r13d,5 - xor r14d,r8d - vpaddd xmm1,xmm1,xmm7 - and r12d,eax - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((64-128))+rdi] - xor r13d,eax - add edx,DWORD[16+rsp] - mov r15d,r8d -DB 143,232,120,194,245,11 - ror r14d,11 - xor r12d,ecx - vpxor xmm4,xmm4,xmm5 - xor r15d,r9d - ror r13d,6 - add edx,r12d - and esi,r15d -DB 143,232,120,194,248,13 - xor r14d,r8d - add edx,r13d - vpxor xmm4,xmm4,xmm6 - xor esi,r9d - add r11d,edx - vpsrld xmm6,xmm0,10 - ror r14d,2 - add edx,esi - vpaddd xmm1,xmm1,xmm4 - mov r13d,r11d - add r14d,edx -DB 143,232,120,194,239,2 - ror r13d,14 - mov edx,r14d - vpxor xmm7,xmm7,xmm6 - mov r12d,eax - xor r13d,r11d - ror r14d,9 - xor r12d,ebx - vpxor xmm7,xmm7,xmm5 - ror r13d,5 - xor r14d,edx - and r12d,r11d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((80-128))+rdi] - xor r13d,r11d - vpsrldq xmm7,xmm7,8 - add ecx,DWORD[20+rsp] - mov esi,edx - ror r14d,11 - xor r12d,ebx - vpaddd xmm1,xmm1,xmm7 - xor esi,r8d - ror r13d,6 - add ecx,r12d - and r15d,esi -DB 143,232,120,194,249,13 - xor r14d,edx - add ecx,r13d - vpsrld xmm6,xmm1,10 - xor r15d,r8d - add r10d,ecx -DB 143,232,120,194,239,2 - ror r14d,2 - add ecx,r15d - vpxor xmm7,xmm7,xmm6 - mov r13d,r10d - add r14d,ecx - ror r13d,14 - mov ecx,r14d - vpxor xmm7,xmm7,xmm5 - mov r12d,r11d - xor r13d,r10d - ror r14d,9 - xor r12d,eax - vpslldq xmm7,xmm7,8 - ror r13d,5 - xor r14d,ecx - and r12d,r10d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((96-128))+rdi] - xor r13d,r10d - vpaddd xmm1,xmm1,xmm7 - add ebx,DWORD[24+rsp] - mov r15d,ecx - ror r14d,11 - xor r12d,eax - vpaddd xmm6,xmm1,XMMWORD[32+rbp] - xor r15d,edx - ror r13d,6 - add ebx,r12d - and esi,r15d - xor r14d,ecx - add ebx,r13d - xor esi,edx - add r9d,ebx - ror r14d,2 - add ebx,esi - mov r13d,r9d - add r14d,ebx - ror r13d,14 - mov ebx,r14d - mov r12d,r10d - xor r13d,r9d - ror r14d,9 - xor r12d,r11d - ror r13d,5 - xor r14d,ebx - and r12d,r9d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((112-128))+rdi] - xor r13d,r9d - add eax,DWORD[28+rsp] - mov esi,ebx - ror r14d,11 - xor r12d,r11d - xor esi,ecx - ror r13d,6 - add eax,r12d - and r15d,esi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - add r8d,eax - ror r14d,2 - add eax,r15d - mov r13d,r8d - add r14d,eax - vmovdqa XMMWORD[16+rsp],xmm6 - vpalignr xmm4,xmm3,xmm2,4 - ror r13d,14 - mov eax,r14d - vpalignr xmm7,xmm1,xmm0,4 - mov r12d,r9d - xor r13d,r8d -DB 143,232,120,194,236,14 - ror r14d,9 - xor r12d,r10d - vpsrld xmm4,xmm4,3 - ror r13d,5 - xor r14d,eax - vpaddd xmm2,xmm2,xmm7 - and r12d,r8d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((128-128))+rdi] - xor r13d,r8d - add r11d,DWORD[32+rsp] - mov r15d,eax -DB 143,232,120,194,245,11 - ror r14d,11 - xor r12d,r10d - vpxor xmm4,xmm4,xmm5 - xor r15d,ebx - ror r13d,6 - add r11d,r12d - and esi,r15d -DB 143,232,120,194,249,13 - xor r14d,eax - add r11d,r13d - vpxor xmm4,xmm4,xmm6 - xor esi,ebx - add edx,r11d - vpsrld xmm6,xmm1,10 - ror r14d,2 - add r11d,esi - vpaddd xmm2,xmm2,xmm4 - mov r13d,edx - add r14d,r11d -DB 143,232,120,194,239,2 - ror r13d,14 - mov r11d,r14d - vpxor xmm7,xmm7,xmm6 - mov r12d,r8d - xor r13d,edx - ror r14d,9 - xor r12d,r9d - vpxor xmm7,xmm7,xmm5 - ror r13d,5 - xor r14d,r11d - and r12d,edx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((144-128))+rdi] - xor r13d,edx - vpsrldq xmm7,xmm7,8 - add r10d,DWORD[36+rsp] - mov esi,r11d - ror r14d,11 - xor r12d,r9d - vpaddd xmm2,xmm2,xmm7 - xor esi,eax - ror r13d,6 - add r10d,r12d - and r15d,esi -DB 143,232,120,194,250,13 - xor r14d,r11d - add r10d,r13d - vpsrld xmm6,xmm2,10 - xor r15d,eax - add ecx,r10d -DB 143,232,120,194,239,2 - ror r14d,2 - add r10d,r15d - vpxor xmm7,xmm7,xmm6 - mov r13d,ecx - add r14d,r10d - ror r13d,14 - mov r10d,r14d - vpxor xmm7,xmm7,xmm5 - mov r12d,edx - xor r13d,ecx - ror r14d,9 - xor r12d,r8d - vpslldq xmm7,xmm7,8 - ror r13d,5 - xor r14d,r10d - and r12d,ecx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((160-128))+rdi] - xor r13d,ecx - vpaddd xmm2,xmm2,xmm7 - add r9d,DWORD[40+rsp] - mov r15d,r10d - ror r14d,11 - xor r12d,r8d - vpaddd xmm6,xmm2,XMMWORD[64+rbp] - xor r15d,r11d - ror r13d,6 - add r9d,r12d - and esi,r15d - xor r14d,r10d - add r9d,r13d - xor esi,r11d - add ebx,r9d - ror r14d,2 - add r9d,esi - mov r13d,ebx - add r14d,r9d - ror r13d,14 - mov r9d,r14d - mov r12d,ecx - xor r13d,ebx - ror r14d,9 - xor r12d,edx - ror r13d,5 - xor r14d,r9d - and r12d,ebx - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((176-128))+rdi] - xor r13d,ebx - add r8d,DWORD[44+rsp] - mov esi,r9d - ror r14d,11 - xor r12d,edx - xor esi,r10d - ror r13d,6 - add r8d,r12d - and r15d,esi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - add eax,r8d - ror r14d,2 - add r8d,r15d - mov r13d,eax - add r14d,r8d - vmovdqa XMMWORD[32+rsp],xmm6 - vpalignr xmm4,xmm0,xmm3,4 - ror r13d,14 - mov r8d,r14d - vpalignr xmm7,xmm2,xmm1,4 - mov r12d,ebx - xor r13d,eax -DB 143,232,120,194,236,14 - ror r14d,9 - xor r12d,ecx - vpsrld xmm4,xmm4,3 - ror r13d,5 - xor r14d,r8d - vpaddd xmm3,xmm3,xmm7 - and r12d,eax - vpand xmm8,xmm11,xmm12 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((192-128))+rdi] - xor r13d,eax - add edx,DWORD[48+rsp] - mov r15d,r8d -DB 143,232,120,194,245,11 - ror r14d,11 - xor r12d,ecx - vpxor xmm4,xmm4,xmm5 - xor r15d,r9d - ror r13d,6 - add edx,r12d - and esi,r15d -DB 143,232,120,194,250,13 - xor r14d,r8d - add edx,r13d - vpxor xmm4,xmm4,xmm6 - xor esi,r9d - add r11d,edx - vpsrld xmm6,xmm2,10 - ror r14d,2 - add edx,esi - vpaddd xmm3,xmm3,xmm4 - mov r13d,r11d - add r14d,edx -DB 143,232,120,194,239,2 - ror r13d,14 - mov edx,r14d - vpxor xmm7,xmm7,xmm6 - mov r12d,eax - xor r13d,r11d - ror r14d,9 - xor r12d,ebx - vpxor xmm7,xmm7,xmm5 - ror r13d,5 - xor r14d,edx - and r12d,r11d - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((208-128))+rdi] - xor r13d,r11d - vpsrldq xmm7,xmm7,8 - add ecx,DWORD[52+rsp] - mov esi,edx - ror r14d,11 - xor r12d,ebx - vpaddd xmm3,xmm3,xmm7 - xor esi,r8d - ror r13d,6 - add ecx,r12d - and r15d,esi -DB 143,232,120,194,251,13 - xor r14d,edx - add ecx,r13d - vpsrld xmm6,xmm3,10 - xor r15d,r8d - add r10d,ecx -DB 143,232,120,194,239,2 - ror r14d,2 - add ecx,r15d - vpxor xmm7,xmm7,xmm6 - mov r13d,r10d - add r14d,ecx - ror r13d,14 - mov ecx,r14d - vpxor xmm7,xmm7,xmm5 - mov r12d,r11d - xor r13d,r10d - ror r14d,9 - xor r12d,eax - vpslldq xmm7,xmm7,8 - ror r13d,5 - xor r14d,ecx - and r12d,r10d - vpand xmm11,xmm11,xmm13 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((224-128))+rdi] - xor r13d,r10d - vpaddd xmm3,xmm3,xmm7 - add ebx,DWORD[56+rsp] - mov r15d,ecx - ror r14d,11 - xor r12d,eax - vpaddd xmm6,xmm3,XMMWORD[96+rbp] - xor r15d,edx - ror r13d,6 - add ebx,r12d - and esi,r15d - xor r14d,ecx - add ebx,r13d - xor esi,edx - add r9d,ebx - ror r14d,2 - add ebx,esi - mov r13d,r9d - add r14d,ebx - ror r13d,14 - mov ebx,r14d - mov r12d,r10d - xor r13d,r9d - ror r14d,9 - xor r12d,r11d - ror r13d,5 - xor r14d,ebx - and r12d,r9d - vpor xmm8,xmm8,xmm11 - vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((0-128))+rdi] - xor r13d,r9d - add eax,DWORD[60+rsp] - mov esi,ebx - ror r14d,11 - xor r12d,r11d - xor esi,ecx - ror r13d,6 - add eax,r12d - and r15d,esi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - add r8d,eax - ror r14d,2 - add eax,r15d - mov r13d,r8d - add r14d,eax - vmovdqa XMMWORD[48+rsp],xmm6 - mov r12,QWORD[((64+0))+rsp] - vpand xmm11,xmm11,xmm14 - mov r15,QWORD[((64+8))+rsp] - vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD[r12*1+r15],xmm8 - lea r12,[16+r12] - cmp BYTE[131+rbp],0 - jne NEAR $L$xop_00_47 - vmovdqu xmm9,XMMWORD[r12] - mov QWORD[((64+0))+rsp],r12 - ror r13d,14 - mov eax,r14d - mov r12d,r9d - xor r13d,r8d - ror r14d,9 - xor r12d,r10d - ror r13d,5 - xor r14d,eax - and r12d,r8d - vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((16-128))+rdi] - xor r13d,r8d - add r11d,DWORD[rsp] - mov r15d,eax - ror r14d,11 - xor r12d,r10d - xor r15d,ebx - ror r13d,6 - add r11d,r12d - and esi,r15d - xor r14d,eax - add r11d,r13d - xor esi,ebx - add edx,r11d - ror r14d,2 - add r11d,esi - mov r13d,edx - add r14d,r11d - ror r13d,14 - mov r11d,r14d - mov r12d,r8d - xor r13d,edx - ror r14d,9 - xor r12d,r9d - ror r13d,5 - xor r14d,r11d - and r12d,edx - vpxor xmm9,xmm9,xmm8 - xor r13d,edx - add r10d,DWORD[4+rsp] - mov esi,r11d - ror r14d,11 - xor r12d,r9d - xor esi,eax - ror r13d,6 - add r10d,r12d - and r15d,esi - xor r14d,r11d - add r10d,r13d - xor r15d,eax - add ecx,r10d - ror r14d,2 - add r10d,r15d - mov r13d,ecx - add r14d,r10d - ror r13d,14 - mov r10d,r14d - mov r12d,edx - xor r13d,ecx - ror r14d,9 - xor r12d,r8d - ror r13d,5 - xor r14d,r10d - and r12d,ecx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((32-128))+rdi] - xor r13d,ecx - add r9d,DWORD[8+rsp] - mov r15d,r10d - ror r14d,11 - xor r12d,r8d - xor r15d,r11d - ror r13d,6 - add r9d,r12d - and esi,r15d - xor r14d,r10d - add r9d,r13d - xor esi,r11d - add ebx,r9d - ror r14d,2 - add r9d,esi - mov r13d,ebx - add r14d,r9d - ror r13d,14 - mov r9d,r14d - mov r12d,ecx - xor r13d,ebx - ror r14d,9 - xor r12d,edx - ror r13d,5 - xor r14d,r9d - and r12d,ebx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((48-128))+rdi] - xor r13d,ebx - add r8d,DWORD[12+rsp] - mov esi,r9d - ror r14d,11 - xor r12d,edx - xor esi,r10d - ror r13d,6 - add r8d,r12d - and r15d,esi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - add eax,r8d - ror r14d,2 - add r8d,r15d - mov r13d,eax - add r14d,r8d - ror r13d,14 - mov r8d,r14d - mov r12d,ebx - xor r13d,eax - ror r14d,9 - xor r12d,ecx - ror r13d,5 - xor r14d,r8d - and r12d,eax - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((64-128))+rdi] - xor r13d,eax - add edx,DWORD[16+rsp] - mov r15d,r8d - ror r14d,11 - xor r12d,ecx - xor r15d,r9d - ror r13d,6 - add edx,r12d - and esi,r15d - xor r14d,r8d - add edx,r13d - xor esi,r9d - add r11d,edx - ror r14d,2 - add edx,esi - mov r13d,r11d - add r14d,edx - ror r13d,14 - mov edx,r14d - mov r12d,eax - xor r13d,r11d - ror r14d,9 - xor r12d,ebx - ror r13d,5 - xor r14d,edx - and r12d,r11d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((80-128))+rdi] - xor r13d,r11d - add ecx,DWORD[20+rsp] - mov esi,edx - ror r14d,11 - xor r12d,ebx - xor esi,r8d - ror r13d,6 - add ecx,r12d - and r15d,esi - xor r14d,edx - add ecx,r13d - xor r15d,r8d - add r10d,ecx - ror r14d,2 - add ecx,r15d - mov r13d,r10d - add r14d,ecx - ror r13d,14 - mov ecx,r14d - mov r12d,r11d - xor r13d,r10d - ror r14d,9 - xor r12d,eax - ror r13d,5 - xor r14d,ecx - and r12d,r10d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((96-128))+rdi] - xor r13d,r10d - add ebx,DWORD[24+rsp] - mov r15d,ecx - ror r14d,11 - xor r12d,eax - xor r15d,edx - ror r13d,6 - add ebx,r12d - and esi,r15d - xor r14d,ecx - add ebx,r13d - xor esi,edx - add r9d,ebx - ror r14d,2 - add ebx,esi - mov r13d,r9d - add r14d,ebx - ror r13d,14 - mov ebx,r14d - mov r12d,r10d - xor r13d,r9d - ror r14d,9 - xor r12d,r11d - ror r13d,5 - xor r14d,ebx - and r12d,r9d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((112-128))+rdi] - xor r13d,r9d - add eax,DWORD[28+rsp] - mov esi,ebx - ror r14d,11 - xor r12d,r11d - xor esi,ecx - ror r13d,6 - add eax,r12d - and r15d,esi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - add r8d,eax - ror r14d,2 - add eax,r15d - mov r13d,r8d - add r14d,eax - ror r13d,14 - mov eax,r14d - mov r12d,r9d - xor r13d,r8d - ror r14d,9 - xor r12d,r10d - ror r13d,5 - xor r14d,eax - and r12d,r8d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((128-128))+rdi] - xor r13d,r8d - add r11d,DWORD[32+rsp] - mov r15d,eax - ror r14d,11 - xor r12d,r10d - xor r15d,ebx - ror r13d,6 - add r11d,r12d - and esi,r15d - xor r14d,eax - add r11d,r13d - xor esi,ebx - add edx,r11d - ror r14d,2 - add r11d,esi - mov r13d,edx - add r14d,r11d - ror r13d,14 - mov r11d,r14d - mov r12d,r8d - xor r13d,edx - ror r14d,9 - xor r12d,r9d - ror r13d,5 - xor r14d,r11d - and r12d,edx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((144-128))+rdi] - xor r13d,edx - add r10d,DWORD[36+rsp] - mov esi,r11d - ror r14d,11 - xor r12d,r9d - xor esi,eax - ror r13d,6 - add r10d,r12d - and r15d,esi - xor r14d,r11d - add r10d,r13d - xor r15d,eax - add ecx,r10d - ror r14d,2 - add r10d,r15d - mov r13d,ecx - add r14d,r10d - ror r13d,14 - mov r10d,r14d - mov r12d,edx - xor r13d,ecx - ror r14d,9 - xor r12d,r8d - ror r13d,5 - xor r14d,r10d - and r12d,ecx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((160-128))+rdi] - xor r13d,ecx - add r9d,DWORD[40+rsp] - mov r15d,r10d - ror r14d,11 - xor r12d,r8d - xor r15d,r11d - ror r13d,6 - add r9d,r12d - and esi,r15d - xor r14d,r10d - add r9d,r13d - xor esi,r11d - add ebx,r9d - ror r14d,2 - add r9d,esi - mov r13d,ebx - add r14d,r9d - ror r13d,14 - mov r9d,r14d - mov r12d,ecx - xor r13d,ebx - ror r14d,9 - xor r12d,edx - ror r13d,5 - xor r14d,r9d - and r12d,ebx - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((176-128))+rdi] - xor r13d,ebx - add r8d,DWORD[44+rsp] - mov esi,r9d - ror r14d,11 - xor r12d,edx - xor esi,r10d - ror r13d,6 - add r8d,r12d - and r15d,esi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - add eax,r8d - ror r14d,2 - add r8d,r15d - mov r13d,eax - add r14d,r8d - ror r13d,14 - mov r8d,r14d - mov r12d,ebx - xor r13d,eax - ror r14d,9 - xor r12d,ecx - ror r13d,5 - xor r14d,r8d - and r12d,eax - vpand xmm8,xmm11,xmm12 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((192-128))+rdi] - xor r13d,eax - add edx,DWORD[48+rsp] - mov r15d,r8d - ror r14d,11 - xor r12d,ecx - xor r15d,r9d - ror r13d,6 - add edx,r12d - and esi,r15d - xor r14d,r8d - add edx,r13d - xor esi,r9d - add r11d,edx - ror r14d,2 - add edx,esi - mov r13d,r11d - add r14d,edx - ror r13d,14 - mov edx,r14d - mov r12d,eax - xor r13d,r11d - ror r14d,9 - xor r12d,ebx - ror r13d,5 - xor r14d,edx - and r12d,r11d - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((208-128))+rdi] - xor r13d,r11d - add ecx,DWORD[52+rsp] - mov esi,edx - ror r14d,11 - xor r12d,ebx - xor esi,r8d - ror r13d,6 - add ecx,r12d - and r15d,esi - xor r14d,edx - add ecx,r13d - xor r15d,r8d - add r10d,ecx - ror r14d,2 - add ecx,r15d - mov r13d,r10d - add r14d,ecx - ror r13d,14 - mov ecx,r14d - mov r12d,r11d - xor r13d,r10d - ror r14d,9 - xor r12d,eax - ror r13d,5 - xor r14d,ecx - and r12d,r10d - vpand xmm11,xmm11,xmm13 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((224-128))+rdi] - xor r13d,r10d - add ebx,DWORD[56+rsp] - mov r15d,ecx - ror r14d,11 - xor r12d,eax - xor r15d,edx - ror r13d,6 - add ebx,r12d - and esi,r15d - xor r14d,ecx - add ebx,r13d - xor esi,edx - add r9d,ebx - ror r14d,2 - add ebx,esi - mov r13d,r9d - add r14d,ebx - ror r13d,14 - mov ebx,r14d - mov r12d,r10d - xor r13d,r9d - ror r14d,9 - xor r12d,r11d - ror r13d,5 - xor r14d,ebx - and r12d,r9d - vpor xmm8,xmm8,xmm11 - vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((0-128))+rdi] - xor r13d,r9d - add eax,DWORD[60+rsp] - mov esi,ebx - ror r14d,11 - xor r12d,r11d - xor esi,ecx - ror r13d,6 - add eax,r12d - and r15d,esi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - add r8d,eax - ror r14d,2 - add eax,r15d - mov r13d,r8d - add r14d,eax - mov r12,QWORD[((64+0))+rsp] - mov r13,QWORD[((64+8))+rsp] - mov r15,QWORD[((64+40))+rsp] - mov rsi,QWORD[((64+48))+rsp] - - vpand xmm11,xmm11,xmm14 - mov eax,r14d - vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD[r13*1+r12],xmm8 - lea r12,[16+r12] - - add eax,DWORD[r15] - add ebx,DWORD[4+r15] - add ecx,DWORD[8+r15] - add edx,DWORD[12+r15] - add r8d,DWORD[16+r15] - add r9d,DWORD[20+r15] - add r10d,DWORD[24+r15] - add r11d,DWORD[28+r15] - - cmp r12,QWORD[((64+16))+rsp] - - mov DWORD[r15],eax - mov DWORD[4+r15],ebx - mov DWORD[8+r15],ecx - mov DWORD[12+r15],edx - mov DWORD[16+r15],r8d - mov DWORD[20+r15],r9d - mov DWORD[24+r15],r10d - mov DWORD[28+r15],r11d - - jb NEAR $L$loop_xop - - mov r8,QWORD[((64+32))+rsp] - mov rsi,QWORD[((64+56))+rsp] - vmovdqu XMMWORD[r8],xmm8 - vzeroall - movaps xmm6,XMMWORD[128+rsp] - movaps xmm7,XMMWORD[144+rsp] - movaps xmm8,XMMWORD[160+rsp] - movaps xmm9,XMMWORD[176+rsp] - movaps xmm10,XMMWORD[192+rsp] - movaps xmm11,XMMWORD[208+rsp] - movaps xmm12,XMMWORD[224+rsp] - movaps xmm13,XMMWORD[240+rsp] - movaps xmm14,XMMWORD[256+rsp] - movaps xmm15,XMMWORD[272+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue_xop: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha256_enc_xop: - -ALIGN 64 -aesni_cbc_sha256_enc_avx: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_cbc_sha256_enc_avx: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - -$L$avx_shortcut: - mov r10,QWORD[56+rsp] - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - mov r11,rsp - sub rsp,288 - and rsp,-64 - - shl rdx,6 - sub rsi,rdi - sub r10,rdi - add rdx,rdi - - - mov QWORD[((64+8))+rsp],rsi - mov QWORD[((64+16))+rsp],rdx - - mov QWORD[((64+32))+rsp],r8 - mov QWORD[((64+40))+rsp],r9 - mov QWORD[((64+48))+rsp],r10 - mov QWORD[((64+56))+rsp],r11 - movaps XMMWORD[128+rsp],xmm6 - movaps XMMWORD[144+rsp],xmm7 - movaps XMMWORD[160+rsp],xmm8 - movaps XMMWORD[176+rsp],xmm9 - movaps XMMWORD[192+rsp],xmm10 - movaps XMMWORD[208+rsp],xmm11 - movaps XMMWORD[224+rsp],xmm12 - movaps XMMWORD[240+rsp],xmm13 - movaps XMMWORD[256+rsp],xmm14 - movaps XMMWORD[272+rsp],xmm15 -$L$prologue_avx: - vzeroall - - mov r12,rdi - lea rdi,[128+rcx] - lea r13,[((K256+544))] - mov r14d,DWORD[((240-128))+rdi] - mov r15,r9 - mov rsi,r10 - vmovdqu xmm8,XMMWORD[r8] - sub r14,9 - - mov eax,DWORD[r15] - mov ebx,DWORD[4+r15] - mov ecx,DWORD[8+r15] - mov edx,DWORD[12+r15] - mov r8d,DWORD[16+r15] - mov r9d,DWORD[20+r15] - mov r10d,DWORD[24+r15] - mov r11d,DWORD[28+r15] - - vmovdqa xmm14,XMMWORD[r14*8+r13] - vmovdqa xmm13,XMMWORD[16+r14*8+r13] - vmovdqa xmm12,XMMWORD[32+r14*8+r13] - vmovdqu xmm10,XMMWORD[((0-128))+rdi] - jmp NEAR $L$loop_avx -ALIGN 16 -$L$loop_avx: - vmovdqa xmm7,XMMWORD[((K256+512))] - vmovdqu xmm0,XMMWORD[r12*1+rsi] - vmovdqu xmm1,XMMWORD[16+r12*1+rsi] - vmovdqu xmm2,XMMWORD[32+r12*1+rsi] - vmovdqu xmm3,XMMWORD[48+r12*1+rsi] - vpshufb xmm0,xmm0,xmm7 - lea rbp,[K256] - vpshufb xmm1,xmm1,xmm7 - vpshufb xmm2,xmm2,xmm7 - vpaddd xmm4,xmm0,XMMWORD[rbp] - vpshufb xmm3,xmm3,xmm7 - vpaddd xmm5,xmm1,XMMWORD[32+rbp] - vpaddd xmm6,xmm2,XMMWORD[64+rbp] - vpaddd xmm7,xmm3,XMMWORD[96+rbp] - vmovdqa XMMWORD[rsp],xmm4 - mov r14d,eax - vmovdqa XMMWORD[16+rsp],xmm5 - mov esi,ebx - vmovdqa XMMWORD[32+rsp],xmm6 - xor esi,ecx - vmovdqa XMMWORD[48+rsp],xmm7 - mov r13d,r8d - jmp NEAR $L$avx_00_47 - -ALIGN 16 -$L$avx_00_47: - sub rbp,-16*2*4 - vmovdqu xmm9,XMMWORD[r12] - mov QWORD[((64+0))+rsp],r12 - vpalignr xmm4,xmm1,xmm0,4 - shrd r13d,r13d,14 - mov eax,r14d - mov r12d,r9d - vpalignr xmm7,xmm3,xmm2,4 - xor r13d,r8d - shrd r14d,r14d,9 - xor r12d,r10d - vpsrld xmm6,xmm4,7 - shrd r13d,r13d,5 - xor r14d,eax - and r12d,r8d - vpaddd xmm0,xmm0,xmm7 - vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((16-128))+rdi] - xor r13d,r8d - add r11d,DWORD[rsp] - mov r15d,eax - vpsrld xmm7,xmm4,3 - shrd r14d,r14d,11 - xor r12d,r10d - xor r15d,ebx - vpslld xmm5,xmm4,14 - shrd r13d,r13d,6 - add r11d,r12d - and esi,r15d - vpxor xmm4,xmm7,xmm6 - xor r14d,eax - add r11d,r13d - xor esi,ebx - vpshufd xmm7,xmm3,250 - add edx,r11d - shrd r14d,r14d,2 - add r11d,esi - vpsrld xmm6,xmm6,11 - mov r13d,edx - add r14d,r11d - shrd r13d,r13d,14 - vpxor xmm4,xmm4,xmm5 - mov r11d,r14d - mov r12d,r8d - xor r13d,edx - vpslld xmm5,xmm5,11 - shrd r14d,r14d,9 - xor r12d,r9d - shrd r13d,r13d,5 - vpxor xmm4,xmm4,xmm6 - xor r14d,r11d - and r12d,edx - vpxor xmm9,xmm9,xmm8 - xor r13d,edx - vpsrld xmm6,xmm7,10 - add r10d,DWORD[4+rsp] - mov esi,r11d - shrd r14d,r14d,11 - vpxor xmm4,xmm4,xmm5 - xor r12d,r9d - xor esi,eax - shrd r13d,r13d,6 - vpsrlq xmm7,xmm7,17 - add r10d,r12d - and r15d,esi - xor r14d,r11d - vpaddd xmm0,xmm0,xmm4 - add r10d,r13d - xor r15d,eax - add ecx,r10d - vpxor xmm6,xmm6,xmm7 - shrd r14d,r14d,2 - add r10d,r15d - mov r13d,ecx - vpsrlq xmm7,xmm7,2 - add r14d,r10d - shrd r13d,r13d,14 - mov r10d,r14d - vpxor xmm6,xmm6,xmm7 - mov r12d,edx - xor r13d,ecx - shrd r14d,r14d,9 - vpshufd xmm6,xmm6,132 - xor r12d,r8d - shrd r13d,r13d,5 - xor r14d,r10d - vpsrldq xmm6,xmm6,8 - and r12d,ecx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((32-128))+rdi] - xor r13d,ecx - add r9d,DWORD[8+rsp] - vpaddd xmm0,xmm0,xmm6 - mov r15d,r10d - shrd r14d,r14d,11 - xor r12d,r8d - vpshufd xmm7,xmm0,80 - xor r15d,r11d - shrd r13d,r13d,6 - add r9d,r12d - vpsrld xmm6,xmm7,10 - and esi,r15d - xor r14d,r10d - add r9d,r13d - vpsrlq xmm7,xmm7,17 - xor esi,r11d - add ebx,r9d - shrd r14d,r14d,2 - vpxor xmm6,xmm6,xmm7 - add r9d,esi - mov r13d,ebx - add r14d,r9d - vpsrlq xmm7,xmm7,2 - shrd r13d,r13d,14 - mov r9d,r14d - mov r12d,ecx - vpxor xmm6,xmm6,xmm7 - xor r13d,ebx - shrd r14d,r14d,9 - xor r12d,edx - vpshufd xmm6,xmm6,232 - shrd r13d,r13d,5 - xor r14d,r9d - and r12d,ebx - vpslldq xmm6,xmm6,8 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((48-128))+rdi] - xor r13d,ebx - add r8d,DWORD[12+rsp] - mov esi,r9d - vpaddd xmm0,xmm0,xmm6 - shrd r14d,r14d,11 - xor r12d,edx - xor esi,r10d - vpaddd xmm6,xmm0,XMMWORD[rbp] - shrd r13d,r13d,6 - add r8d,r12d - and r15d,esi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - add eax,r8d - shrd r14d,r14d,2 - add r8d,r15d - mov r13d,eax - add r14d,r8d - vmovdqa XMMWORD[rsp],xmm6 - vpalignr xmm4,xmm2,xmm1,4 - shrd r13d,r13d,14 - mov r8d,r14d - mov r12d,ebx - vpalignr xmm7,xmm0,xmm3,4 - xor r13d,eax - shrd r14d,r14d,9 - xor r12d,ecx - vpsrld xmm6,xmm4,7 - shrd r13d,r13d,5 - xor r14d,r8d - and r12d,eax - vpaddd xmm1,xmm1,xmm7 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((64-128))+rdi] - xor r13d,eax - add edx,DWORD[16+rsp] - mov r15d,r8d - vpsrld xmm7,xmm4,3 - shrd r14d,r14d,11 - xor r12d,ecx - xor r15d,r9d - vpslld xmm5,xmm4,14 - shrd r13d,r13d,6 - add edx,r12d - and esi,r15d - vpxor xmm4,xmm7,xmm6 - xor r14d,r8d - add edx,r13d - xor esi,r9d - vpshufd xmm7,xmm0,250 - add r11d,edx - shrd r14d,r14d,2 - add edx,esi - vpsrld xmm6,xmm6,11 - mov r13d,r11d - add r14d,edx - shrd r13d,r13d,14 - vpxor xmm4,xmm4,xmm5 - mov edx,r14d - mov r12d,eax - xor r13d,r11d - vpslld xmm5,xmm5,11 - shrd r14d,r14d,9 - xor r12d,ebx - shrd r13d,r13d,5 - vpxor xmm4,xmm4,xmm6 - xor r14d,edx - and r12d,r11d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((80-128))+rdi] - xor r13d,r11d - vpsrld xmm6,xmm7,10 - add ecx,DWORD[20+rsp] - mov esi,edx - shrd r14d,r14d,11 - vpxor xmm4,xmm4,xmm5 - xor r12d,ebx - xor esi,r8d - shrd r13d,r13d,6 - vpsrlq xmm7,xmm7,17 - add ecx,r12d - and r15d,esi - xor r14d,edx - vpaddd xmm1,xmm1,xmm4 - add ecx,r13d - xor r15d,r8d - add r10d,ecx - vpxor xmm6,xmm6,xmm7 - shrd r14d,r14d,2 - add ecx,r15d - mov r13d,r10d - vpsrlq xmm7,xmm7,2 - add r14d,ecx - shrd r13d,r13d,14 - mov ecx,r14d - vpxor xmm6,xmm6,xmm7 - mov r12d,r11d - xor r13d,r10d - shrd r14d,r14d,9 - vpshufd xmm6,xmm6,132 - xor r12d,eax - shrd r13d,r13d,5 - xor r14d,ecx - vpsrldq xmm6,xmm6,8 - and r12d,r10d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((96-128))+rdi] - xor r13d,r10d - add ebx,DWORD[24+rsp] - vpaddd xmm1,xmm1,xmm6 - mov r15d,ecx - shrd r14d,r14d,11 - xor r12d,eax - vpshufd xmm7,xmm1,80 - xor r15d,edx - shrd r13d,r13d,6 - add ebx,r12d - vpsrld xmm6,xmm7,10 - and esi,r15d - xor r14d,ecx - add ebx,r13d - vpsrlq xmm7,xmm7,17 - xor esi,edx - add r9d,ebx - shrd r14d,r14d,2 - vpxor xmm6,xmm6,xmm7 - add ebx,esi - mov r13d,r9d - add r14d,ebx - vpsrlq xmm7,xmm7,2 - shrd r13d,r13d,14 - mov ebx,r14d - mov r12d,r10d - vpxor xmm6,xmm6,xmm7 - xor r13d,r9d - shrd r14d,r14d,9 - xor r12d,r11d - vpshufd xmm6,xmm6,232 - shrd r13d,r13d,5 - xor r14d,ebx - and r12d,r9d - vpslldq xmm6,xmm6,8 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((112-128))+rdi] - xor r13d,r9d - add eax,DWORD[28+rsp] - mov esi,ebx - vpaddd xmm1,xmm1,xmm6 - shrd r14d,r14d,11 - xor r12d,r11d - xor esi,ecx - vpaddd xmm6,xmm1,XMMWORD[32+rbp] - shrd r13d,r13d,6 - add eax,r12d - and r15d,esi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - add r8d,eax - shrd r14d,r14d,2 - add eax,r15d - mov r13d,r8d - add r14d,eax - vmovdqa XMMWORD[16+rsp],xmm6 - vpalignr xmm4,xmm3,xmm2,4 - shrd r13d,r13d,14 - mov eax,r14d - mov r12d,r9d - vpalignr xmm7,xmm1,xmm0,4 - xor r13d,r8d - shrd r14d,r14d,9 - xor r12d,r10d - vpsrld xmm6,xmm4,7 - shrd r13d,r13d,5 - xor r14d,eax - and r12d,r8d - vpaddd xmm2,xmm2,xmm7 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((128-128))+rdi] - xor r13d,r8d - add r11d,DWORD[32+rsp] - mov r15d,eax - vpsrld xmm7,xmm4,3 - shrd r14d,r14d,11 - xor r12d,r10d - xor r15d,ebx - vpslld xmm5,xmm4,14 - shrd r13d,r13d,6 - add r11d,r12d - and esi,r15d - vpxor xmm4,xmm7,xmm6 - xor r14d,eax - add r11d,r13d - xor esi,ebx - vpshufd xmm7,xmm1,250 - add edx,r11d - shrd r14d,r14d,2 - add r11d,esi - vpsrld xmm6,xmm6,11 - mov r13d,edx - add r14d,r11d - shrd r13d,r13d,14 - vpxor xmm4,xmm4,xmm5 - mov r11d,r14d - mov r12d,r8d - xor r13d,edx - vpslld xmm5,xmm5,11 - shrd r14d,r14d,9 - xor r12d,r9d - shrd r13d,r13d,5 - vpxor xmm4,xmm4,xmm6 - xor r14d,r11d - and r12d,edx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((144-128))+rdi] - xor r13d,edx - vpsrld xmm6,xmm7,10 - add r10d,DWORD[36+rsp] - mov esi,r11d - shrd r14d,r14d,11 - vpxor xmm4,xmm4,xmm5 - xor r12d,r9d - xor esi,eax - shrd r13d,r13d,6 - vpsrlq xmm7,xmm7,17 - add r10d,r12d - and r15d,esi - xor r14d,r11d - vpaddd xmm2,xmm2,xmm4 - add r10d,r13d - xor r15d,eax - add ecx,r10d - vpxor xmm6,xmm6,xmm7 - shrd r14d,r14d,2 - add r10d,r15d - mov r13d,ecx - vpsrlq xmm7,xmm7,2 - add r14d,r10d - shrd r13d,r13d,14 - mov r10d,r14d - vpxor xmm6,xmm6,xmm7 - mov r12d,edx - xor r13d,ecx - shrd r14d,r14d,9 - vpshufd xmm6,xmm6,132 - xor r12d,r8d - shrd r13d,r13d,5 - xor r14d,r10d - vpsrldq xmm6,xmm6,8 - and r12d,ecx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((160-128))+rdi] - xor r13d,ecx - add r9d,DWORD[40+rsp] - vpaddd xmm2,xmm2,xmm6 - mov r15d,r10d - shrd r14d,r14d,11 - xor r12d,r8d - vpshufd xmm7,xmm2,80 - xor r15d,r11d - shrd r13d,r13d,6 - add r9d,r12d - vpsrld xmm6,xmm7,10 - and esi,r15d - xor r14d,r10d - add r9d,r13d - vpsrlq xmm7,xmm7,17 - xor esi,r11d - add ebx,r9d - shrd r14d,r14d,2 - vpxor xmm6,xmm6,xmm7 - add r9d,esi - mov r13d,ebx - add r14d,r9d - vpsrlq xmm7,xmm7,2 - shrd r13d,r13d,14 - mov r9d,r14d - mov r12d,ecx - vpxor xmm6,xmm6,xmm7 - xor r13d,ebx - shrd r14d,r14d,9 - xor r12d,edx - vpshufd xmm6,xmm6,232 - shrd r13d,r13d,5 - xor r14d,r9d - and r12d,ebx - vpslldq xmm6,xmm6,8 - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((176-128))+rdi] - xor r13d,ebx - add r8d,DWORD[44+rsp] - mov esi,r9d - vpaddd xmm2,xmm2,xmm6 - shrd r14d,r14d,11 - xor r12d,edx - xor esi,r10d - vpaddd xmm6,xmm2,XMMWORD[64+rbp] - shrd r13d,r13d,6 - add r8d,r12d - and r15d,esi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - add eax,r8d - shrd r14d,r14d,2 - add r8d,r15d - mov r13d,eax - add r14d,r8d - vmovdqa XMMWORD[32+rsp],xmm6 - vpalignr xmm4,xmm0,xmm3,4 - shrd r13d,r13d,14 - mov r8d,r14d - mov r12d,ebx - vpalignr xmm7,xmm2,xmm1,4 - xor r13d,eax - shrd r14d,r14d,9 - xor r12d,ecx - vpsrld xmm6,xmm4,7 - shrd r13d,r13d,5 - xor r14d,r8d - and r12d,eax - vpaddd xmm3,xmm3,xmm7 - vpand xmm8,xmm11,xmm12 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((192-128))+rdi] - xor r13d,eax - add edx,DWORD[48+rsp] - mov r15d,r8d - vpsrld xmm7,xmm4,3 - shrd r14d,r14d,11 - xor r12d,ecx - xor r15d,r9d - vpslld xmm5,xmm4,14 - shrd r13d,r13d,6 - add edx,r12d - and esi,r15d - vpxor xmm4,xmm7,xmm6 - xor r14d,r8d - add edx,r13d - xor esi,r9d - vpshufd xmm7,xmm2,250 - add r11d,edx - shrd r14d,r14d,2 - add edx,esi - vpsrld xmm6,xmm6,11 - mov r13d,r11d - add r14d,edx - shrd r13d,r13d,14 - vpxor xmm4,xmm4,xmm5 - mov edx,r14d - mov r12d,eax - xor r13d,r11d - vpslld xmm5,xmm5,11 - shrd r14d,r14d,9 - xor r12d,ebx - shrd r13d,r13d,5 - vpxor xmm4,xmm4,xmm6 - xor r14d,edx - and r12d,r11d - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((208-128))+rdi] - xor r13d,r11d - vpsrld xmm6,xmm7,10 - add ecx,DWORD[52+rsp] - mov esi,edx - shrd r14d,r14d,11 - vpxor xmm4,xmm4,xmm5 - xor r12d,ebx - xor esi,r8d - shrd r13d,r13d,6 - vpsrlq xmm7,xmm7,17 - add ecx,r12d - and r15d,esi - xor r14d,edx - vpaddd xmm3,xmm3,xmm4 - add ecx,r13d - xor r15d,r8d - add r10d,ecx - vpxor xmm6,xmm6,xmm7 - shrd r14d,r14d,2 - add ecx,r15d - mov r13d,r10d - vpsrlq xmm7,xmm7,2 - add r14d,ecx - shrd r13d,r13d,14 - mov ecx,r14d - vpxor xmm6,xmm6,xmm7 - mov r12d,r11d - xor r13d,r10d - shrd r14d,r14d,9 - vpshufd xmm6,xmm6,132 - xor r12d,eax - shrd r13d,r13d,5 - xor r14d,ecx - vpsrldq xmm6,xmm6,8 - and r12d,r10d - vpand xmm11,xmm11,xmm13 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((224-128))+rdi] - xor r13d,r10d - add ebx,DWORD[56+rsp] - vpaddd xmm3,xmm3,xmm6 - mov r15d,ecx - shrd r14d,r14d,11 - xor r12d,eax - vpshufd xmm7,xmm3,80 - xor r15d,edx - shrd r13d,r13d,6 - add ebx,r12d - vpsrld xmm6,xmm7,10 - and esi,r15d - xor r14d,ecx - add ebx,r13d - vpsrlq xmm7,xmm7,17 - xor esi,edx - add r9d,ebx - shrd r14d,r14d,2 - vpxor xmm6,xmm6,xmm7 - add ebx,esi - mov r13d,r9d - add r14d,ebx - vpsrlq xmm7,xmm7,2 - shrd r13d,r13d,14 - mov ebx,r14d - mov r12d,r10d - vpxor xmm6,xmm6,xmm7 - xor r13d,r9d - shrd r14d,r14d,9 - xor r12d,r11d - vpshufd xmm6,xmm6,232 - shrd r13d,r13d,5 - xor r14d,ebx - and r12d,r9d - vpslldq xmm6,xmm6,8 - vpor xmm8,xmm8,xmm11 - vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((0-128))+rdi] - xor r13d,r9d - add eax,DWORD[60+rsp] - mov esi,ebx - vpaddd xmm3,xmm3,xmm6 - shrd r14d,r14d,11 - xor r12d,r11d - xor esi,ecx - vpaddd xmm6,xmm3,XMMWORD[96+rbp] - shrd r13d,r13d,6 - add eax,r12d - and r15d,esi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - add r8d,eax - shrd r14d,r14d,2 - add eax,r15d - mov r13d,r8d - add r14d,eax - vmovdqa XMMWORD[48+rsp],xmm6 - mov r12,QWORD[((64+0))+rsp] - vpand xmm11,xmm11,xmm14 - mov r15,QWORD[((64+8))+rsp] - vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD[r12*1+r15],xmm8 - lea r12,[16+r12] - cmp BYTE[131+rbp],0 - jne NEAR $L$avx_00_47 - vmovdqu xmm9,XMMWORD[r12] - mov QWORD[((64+0))+rsp],r12 - shrd r13d,r13d,14 - mov eax,r14d - mov r12d,r9d - xor r13d,r8d - shrd r14d,r14d,9 - xor r12d,r10d - shrd r13d,r13d,5 - xor r14d,eax - and r12d,r8d - vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((16-128))+rdi] - xor r13d,r8d - add r11d,DWORD[rsp] - mov r15d,eax - shrd r14d,r14d,11 - xor r12d,r10d - xor r15d,ebx - shrd r13d,r13d,6 - add r11d,r12d - and esi,r15d - xor r14d,eax - add r11d,r13d - xor esi,ebx - add edx,r11d - shrd r14d,r14d,2 - add r11d,esi - mov r13d,edx - add r14d,r11d - shrd r13d,r13d,14 - mov r11d,r14d - mov r12d,r8d - xor r13d,edx - shrd r14d,r14d,9 - xor r12d,r9d - shrd r13d,r13d,5 - xor r14d,r11d - and r12d,edx - vpxor xmm9,xmm9,xmm8 - xor r13d,edx - add r10d,DWORD[4+rsp] - mov esi,r11d - shrd r14d,r14d,11 - xor r12d,r9d - xor esi,eax - shrd r13d,r13d,6 - add r10d,r12d - and r15d,esi - xor r14d,r11d - add r10d,r13d - xor r15d,eax - add ecx,r10d - shrd r14d,r14d,2 - add r10d,r15d - mov r13d,ecx - add r14d,r10d - shrd r13d,r13d,14 - mov r10d,r14d - mov r12d,edx - xor r13d,ecx - shrd r14d,r14d,9 - xor r12d,r8d - shrd r13d,r13d,5 - xor r14d,r10d - and r12d,ecx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((32-128))+rdi] - xor r13d,ecx - add r9d,DWORD[8+rsp] - mov r15d,r10d - shrd r14d,r14d,11 - xor r12d,r8d - xor r15d,r11d - shrd r13d,r13d,6 - add r9d,r12d - and esi,r15d - xor r14d,r10d - add r9d,r13d - xor esi,r11d - add ebx,r9d - shrd r14d,r14d,2 - add r9d,esi - mov r13d,ebx - add r14d,r9d - shrd r13d,r13d,14 - mov r9d,r14d - mov r12d,ecx - xor r13d,ebx - shrd r14d,r14d,9 - xor r12d,edx - shrd r13d,r13d,5 - xor r14d,r9d - and r12d,ebx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((48-128))+rdi] - xor r13d,ebx - add r8d,DWORD[12+rsp] - mov esi,r9d - shrd r14d,r14d,11 - xor r12d,edx - xor esi,r10d - shrd r13d,r13d,6 - add r8d,r12d - and r15d,esi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - add eax,r8d - shrd r14d,r14d,2 - add r8d,r15d - mov r13d,eax - add r14d,r8d - shrd r13d,r13d,14 - mov r8d,r14d - mov r12d,ebx - xor r13d,eax - shrd r14d,r14d,9 - xor r12d,ecx - shrd r13d,r13d,5 - xor r14d,r8d - and r12d,eax - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((64-128))+rdi] - xor r13d,eax - add edx,DWORD[16+rsp] - mov r15d,r8d - shrd r14d,r14d,11 - xor r12d,ecx - xor r15d,r9d - shrd r13d,r13d,6 - add edx,r12d - and esi,r15d - xor r14d,r8d - add edx,r13d - xor esi,r9d - add r11d,edx - shrd r14d,r14d,2 - add edx,esi - mov r13d,r11d - add r14d,edx - shrd r13d,r13d,14 - mov edx,r14d - mov r12d,eax - xor r13d,r11d - shrd r14d,r14d,9 - xor r12d,ebx - shrd r13d,r13d,5 - xor r14d,edx - and r12d,r11d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((80-128))+rdi] - xor r13d,r11d - add ecx,DWORD[20+rsp] - mov esi,edx - shrd r14d,r14d,11 - xor r12d,ebx - xor esi,r8d - shrd r13d,r13d,6 - add ecx,r12d - and r15d,esi - xor r14d,edx - add ecx,r13d - xor r15d,r8d - add r10d,ecx - shrd r14d,r14d,2 - add ecx,r15d - mov r13d,r10d - add r14d,ecx - shrd r13d,r13d,14 - mov ecx,r14d - mov r12d,r11d - xor r13d,r10d - shrd r14d,r14d,9 - xor r12d,eax - shrd r13d,r13d,5 - xor r14d,ecx - and r12d,r10d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((96-128))+rdi] - xor r13d,r10d - add ebx,DWORD[24+rsp] - mov r15d,ecx - shrd r14d,r14d,11 - xor r12d,eax - xor r15d,edx - shrd r13d,r13d,6 - add ebx,r12d - and esi,r15d - xor r14d,ecx - add ebx,r13d - xor esi,edx - add r9d,ebx - shrd r14d,r14d,2 - add ebx,esi - mov r13d,r9d - add r14d,ebx - shrd r13d,r13d,14 - mov ebx,r14d - mov r12d,r10d - xor r13d,r9d - shrd r14d,r14d,9 - xor r12d,r11d - shrd r13d,r13d,5 - xor r14d,ebx - and r12d,r9d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((112-128))+rdi] - xor r13d,r9d - add eax,DWORD[28+rsp] - mov esi,ebx - shrd r14d,r14d,11 - xor r12d,r11d - xor esi,ecx - shrd r13d,r13d,6 - add eax,r12d - and r15d,esi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - add r8d,eax - shrd r14d,r14d,2 - add eax,r15d - mov r13d,r8d - add r14d,eax - shrd r13d,r13d,14 - mov eax,r14d - mov r12d,r9d - xor r13d,r8d - shrd r14d,r14d,9 - xor r12d,r10d - shrd r13d,r13d,5 - xor r14d,eax - and r12d,r8d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((128-128))+rdi] - xor r13d,r8d - add r11d,DWORD[32+rsp] - mov r15d,eax - shrd r14d,r14d,11 - xor r12d,r10d - xor r15d,ebx - shrd r13d,r13d,6 - add r11d,r12d - and esi,r15d - xor r14d,eax - add r11d,r13d - xor esi,ebx - add edx,r11d - shrd r14d,r14d,2 - add r11d,esi - mov r13d,edx - add r14d,r11d - shrd r13d,r13d,14 - mov r11d,r14d - mov r12d,r8d - xor r13d,edx - shrd r14d,r14d,9 - xor r12d,r9d - shrd r13d,r13d,5 - xor r14d,r11d - and r12d,edx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((144-128))+rdi] - xor r13d,edx - add r10d,DWORD[36+rsp] - mov esi,r11d - shrd r14d,r14d,11 - xor r12d,r9d - xor esi,eax - shrd r13d,r13d,6 - add r10d,r12d - and r15d,esi - xor r14d,r11d - add r10d,r13d - xor r15d,eax - add ecx,r10d - shrd r14d,r14d,2 - add r10d,r15d - mov r13d,ecx - add r14d,r10d - shrd r13d,r13d,14 - mov r10d,r14d - mov r12d,edx - xor r13d,ecx - shrd r14d,r14d,9 - xor r12d,r8d - shrd r13d,r13d,5 - xor r14d,r10d - and r12d,ecx - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((160-128))+rdi] - xor r13d,ecx - add r9d,DWORD[40+rsp] - mov r15d,r10d - shrd r14d,r14d,11 - xor r12d,r8d - xor r15d,r11d - shrd r13d,r13d,6 - add r9d,r12d - and esi,r15d - xor r14d,r10d - add r9d,r13d - xor esi,r11d - add ebx,r9d - shrd r14d,r14d,2 - add r9d,esi - mov r13d,ebx - add r14d,r9d - shrd r13d,r13d,14 - mov r9d,r14d - mov r12d,ecx - xor r13d,ebx - shrd r14d,r14d,9 - xor r12d,edx - shrd r13d,r13d,5 - xor r14d,r9d - and r12d,ebx - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((176-128))+rdi] - xor r13d,ebx - add r8d,DWORD[44+rsp] - mov esi,r9d - shrd r14d,r14d,11 - xor r12d,edx - xor esi,r10d - shrd r13d,r13d,6 - add r8d,r12d - and r15d,esi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - add eax,r8d - shrd r14d,r14d,2 - add r8d,r15d - mov r13d,eax - add r14d,r8d - shrd r13d,r13d,14 - mov r8d,r14d - mov r12d,ebx - xor r13d,eax - shrd r14d,r14d,9 - xor r12d,ecx - shrd r13d,r13d,5 - xor r14d,r8d - and r12d,eax - vpand xmm8,xmm11,xmm12 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((192-128))+rdi] - xor r13d,eax - add edx,DWORD[48+rsp] - mov r15d,r8d - shrd r14d,r14d,11 - xor r12d,ecx - xor r15d,r9d - shrd r13d,r13d,6 - add edx,r12d - and esi,r15d - xor r14d,r8d - add edx,r13d - xor esi,r9d - add r11d,edx - shrd r14d,r14d,2 - add edx,esi - mov r13d,r11d - add r14d,edx - shrd r13d,r13d,14 - mov edx,r14d - mov r12d,eax - xor r13d,r11d - shrd r14d,r14d,9 - xor r12d,ebx - shrd r13d,r13d,5 - xor r14d,edx - and r12d,r11d - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((208-128))+rdi] - xor r13d,r11d - add ecx,DWORD[52+rsp] - mov esi,edx - shrd r14d,r14d,11 - xor r12d,ebx - xor esi,r8d - shrd r13d,r13d,6 - add ecx,r12d - and r15d,esi - xor r14d,edx - add ecx,r13d - xor r15d,r8d - add r10d,ecx - shrd r14d,r14d,2 - add ecx,r15d - mov r13d,r10d - add r14d,ecx - shrd r13d,r13d,14 - mov ecx,r14d - mov r12d,r11d - xor r13d,r10d - shrd r14d,r14d,9 - xor r12d,eax - shrd r13d,r13d,5 - xor r14d,ecx - and r12d,r10d - vpand xmm11,xmm11,xmm13 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((224-128))+rdi] - xor r13d,r10d - add ebx,DWORD[56+rsp] - mov r15d,ecx - shrd r14d,r14d,11 - xor r12d,eax - xor r15d,edx - shrd r13d,r13d,6 - add ebx,r12d - and esi,r15d - xor r14d,ecx - add ebx,r13d - xor esi,edx - add r9d,ebx - shrd r14d,r14d,2 - add ebx,esi - mov r13d,r9d - add r14d,ebx - shrd r13d,r13d,14 - mov ebx,r14d - mov r12d,r10d - xor r13d,r9d - shrd r14d,r14d,9 - xor r12d,r11d - shrd r13d,r13d,5 - xor r14d,ebx - and r12d,r9d - vpor xmm8,xmm8,xmm11 - vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((0-128))+rdi] - xor r13d,r9d - add eax,DWORD[60+rsp] - mov esi,ebx - shrd r14d,r14d,11 - xor r12d,r11d - xor esi,ecx - shrd r13d,r13d,6 - add eax,r12d - and r15d,esi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - add r8d,eax - shrd r14d,r14d,2 - add eax,r15d - mov r13d,r8d - add r14d,eax - mov r12,QWORD[((64+0))+rsp] - mov r13,QWORD[((64+8))+rsp] - mov r15,QWORD[((64+40))+rsp] - mov rsi,QWORD[((64+48))+rsp] - - vpand xmm11,xmm11,xmm14 - mov eax,r14d - vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD[r13*1+r12],xmm8 - lea r12,[16+r12] - - add eax,DWORD[r15] - add ebx,DWORD[4+r15] - add ecx,DWORD[8+r15] - add edx,DWORD[12+r15] - add r8d,DWORD[16+r15] - add r9d,DWORD[20+r15] - add r10d,DWORD[24+r15] - add r11d,DWORD[28+r15] - - cmp r12,QWORD[((64+16))+rsp] - - mov DWORD[r15],eax - mov DWORD[4+r15],ebx - mov DWORD[8+r15],ecx - mov DWORD[12+r15],edx - mov DWORD[16+r15],r8d - mov DWORD[20+r15],r9d - mov DWORD[24+r15],r10d - mov DWORD[28+r15],r11d - jb NEAR $L$loop_avx - - mov r8,QWORD[((64+32))+rsp] - mov rsi,QWORD[((64+56))+rsp] - vmovdqu XMMWORD[r8],xmm8 - vzeroall - movaps xmm6,XMMWORD[128+rsp] - movaps xmm7,XMMWORD[144+rsp] - movaps xmm8,XMMWORD[160+rsp] - movaps xmm9,XMMWORD[176+rsp] - movaps xmm10,XMMWORD[192+rsp] - movaps xmm11,XMMWORD[208+rsp] - movaps xmm12,XMMWORD[224+rsp] - movaps xmm13,XMMWORD[240+rsp] - movaps xmm14,XMMWORD[256+rsp] - movaps xmm15,XMMWORD[272+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue_avx: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha256_enc_avx: - -ALIGN 64 -aesni_cbc_sha256_enc_avx2: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_cbc_sha256_enc_avx2: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - -$L$avx2_shortcut: - mov r10,QWORD[56+rsp] - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - mov r11,rsp - sub rsp,736 - and rsp,-256*4 - add rsp,448 - - shl rdx,6 - sub rsi,rdi - sub r10,rdi - add rdx,rdi - - - - mov QWORD[((64+16))+rsp],rdx - - mov QWORD[((64+32))+rsp],r8 - mov QWORD[((64+40))+rsp],r9 - mov QWORD[((64+48))+rsp],r10 - mov QWORD[((64+56))+rsp],r11 - movaps XMMWORD[128+rsp],xmm6 - movaps XMMWORD[144+rsp],xmm7 - movaps XMMWORD[160+rsp],xmm8 - movaps XMMWORD[176+rsp],xmm9 - movaps XMMWORD[192+rsp],xmm10 - movaps XMMWORD[208+rsp],xmm11 - movaps XMMWORD[224+rsp],xmm12 - movaps XMMWORD[240+rsp],xmm13 - movaps XMMWORD[256+rsp],xmm14 - movaps XMMWORD[272+rsp],xmm15 -$L$prologue_avx2: - vzeroall - - mov r13,rdi - vpinsrq xmm15,xmm15,rsi,1 - lea rdi,[128+rcx] - lea r12,[((K256+544))] - mov r14d,DWORD[((240-128))+rdi] - mov r15,r9 - mov rsi,r10 - vmovdqu xmm8,XMMWORD[r8] - lea r14,[((-9))+r14] - - vmovdqa xmm14,XMMWORD[r14*8+r12] - vmovdqa xmm13,XMMWORD[16+r14*8+r12] - vmovdqa xmm12,XMMWORD[32+r14*8+r12] - - sub r13,-16*4 - mov eax,DWORD[r15] - lea r12,[r13*1+rsi] - mov ebx,DWORD[4+r15] - cmp r13,rdx - mov ecx,DWORD[8+r15] - cmove r12,rsp - mov edx,DWORD[12+r15] - mov r8d,DWORD[16+r15] - mov r9d,DWORD[20+r15] - mov r10d,DWORD[24+r15] - mov r11d,DWORD[28+r15] - vmovdqu xmm10,XMMWORD[((0-128))+rdi] - jmp NEAR $L$oop_avx2 -ALIGN 16 -$L$oop_avx2: - vmovdqa ymm7,YMMWORD[((K256+512))] - vmovdqu xmm0,XMMWORD[((-64+0))+r13*1+rsi] - vmovdqu xmm1,XMMWORD[((-64+16))+r13*1+rsi] - vmovdqu xmm2,XMMWORD[((-64+32))+r13*1+rsi] - vmovdqu xmm3,XMMWORD[((-64+48))+r13*1+rsi] - - vinserti128 ymm0,ymm0,XMMWORD[r12],1 - vinserti128 ymm1,ymm1,XMMWORD[16+r12],1 - vpshufb ymm0,ymm0,ymm7 - vinserti128 ymm2,ymm2,XMMWORD[32+r12],1 - vpshufb ymm1,ymm1,ymm7 - vinserti128 ymm3,ymm3,XMMWORD[48+r12],1 - - lea rbp,[K256] - vpshufb ymm2,ymm2,ymm7 - lea r13,[((-64))+r13] - vpaddd ymm4,ymm0,YMMWORD[rbp] - vpshufb ymm3,ymm3,ymm7 - vpaddd ymm5,ymm1,YMMWORD[32+rbp] - vpaddd ymm6,ymm2,YMMWORD[64+rbp] - vpaddd ymm7,ymm3,YMMWORD[96+rbp] - vmovdqa YMMWORD[rsp],ymm4 - xor r14d,r14d - vmovdqa YMMWORD[32+rsp],ymm5 - lea rsp,[((-64))+rsp] - mov esi,ebx - vmovdqa YMMWORD[rsp],ymm6 - xor esi,ecx - vmovdqa YMMWORD[32+rsp],ymm7 - mov r12d,r9d - sub rbp,-16*2*4 - jmp NEAR $L$avx2_00_47 - -ALIGN 16 -$L$avx2_00_47: - vmovdqu xmm9,XMMWORD[r13] - vpinsrq xmm15,xmm15,r13,0 - lea rsp,[((-64))+rsp] - vpalignr ymm4,ymm1,ymm0,4 - add r11d,DWORD[((0+128))+rsp] - and r12d,r8d - rorx r13d,r8d,25 - vpalignr ymm7,ymm3,ymm2,4 - rorx r15d,r8d,11 - lea eax,[r14*1+rax] - lea r11d,[r12*1+r11] - vpsrld ymm6,ymm4,7 - andn r12d,r8d,r10d - xor r13d,r15d - rorx r14d,r8d,6 - vpaddd ymm0,ymm0,ymm7 - lea r11d,[r12*1+r11] - xor r13d,r14d - mov r15d,eax - vpsrld ymm7,ymm4,3 - rorx r12d,eax,22 - lea r11d,[r13*1+r11] - xor r15d,ebx - vpslld ymm5,ymm4,14 - rorx r14d,eax,13 - rorx r13d,eax,2 - lea edx,[r11*1+rdx] - vpxor ymm4,ymm7,ymm6 - and esi,r15d - vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((16-128))+rdi] - xor r14d,r12d - xor esi,ebx - vpshufd ymm7,ymm3,250 - xor r14d,r13d - lea r11d,[rsi*1+r11] - mov r12d,r8d - vpsrld ymm6,ymm6,11 - add r10d,DWORD[((4+128))+rsp] - and r12d,edx - rorx r13d,edx,25 - vpxor ymm4,ymm4,ymm5 - rorx esi,edx,11 - lea r11d,[r14*1+r11] - lea r10d,[r12*1+r10] - vpslld ymm5,ymm5,11 - andn r12d,edx,r9d - xor r13d,esi - rorx r14d,edx,6 - vpxor ymm4,ymm4,ymm6 - lea r10d,[r12*1+r10] - xor r13d,r14d - mov esi,r11d - vpsrld ymm6,ymm7,10 - rorx r12d,r11d,22 - lea r10d,[r13*1+r10] - xor esi,eax - vpxor ymm4,ymm4,ymm5 - rorx r14d,r11d,13 - rorx r13d,r11d,2 - lea ecx,[r10*1+rcx] - vpsrlq ymm7,ymm7,17 - and r15d,esi - vpxor xmm9,xmm9,xmm8 - xor r14d,r12d - xor r15d,eax - vpaddd ymm0,ymm0,ymm4 - xor r14d,r13d - lea r10d,[r15*1+r10] - mov r12d,edx - vpxor ymm6,ymm6,ymm7 - add r9d,DWORD[((8+128))+rsp] - and r12d,ecx - rorx r13d,ecx,25 - vpsrlq ymm7,ymm7,2 - rorx r15d,ecx,11 - lea r10d,[r14*1+r10] - lea r9d,[r12*1+r9] - vpxor ymm6,ymm6,ymm7 - andn r12d,ecx,r8d - xor r13d,r15d - rorx r14d,ecx,6 - vpshufd ymm6,ymm6,132 - lea r9d,[r12*1+r9] - xor r13d,r14d - mov r15d,r10d - vpsrldq ymm6,ymm6,8 - rorx r12d,r10d,22 - lea r9d,[r13*1+r9] - xor r15d,r11d - vpaddd ymm0,ymm0,ymm6 - rorx r14d,r10d,13 - rorx r13d,r10d,2 - lea ebx,[r9*1+rbx] - vpshufd ymm7,ymm0,80 - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((32-128))+rdi] - xor r14d,r12d - xor esi,r11d - vpsrld ymm6,ymm7,10 - xor r14d,r13d - lea r9d,[rsi*1+r9] - mov r12d,ecx - vpsrlq ymm7,ymm7,17 - add r8d,DWORD[((12+128))+rsp] - and r12d,ebx - rorx r13d,ebx,25 - vpxor ymm6,ymm6,ymm7 - rorx esi,ebx,11 - lea r9d,[r14*1+r9] - lea r8d,[r12*1+r8] - vpsrlq ymm7,ymm7,2 - andn r12d,ebx,edx - xor r13d,esi - rorx r14d,ebx,6 - vpxor ymm6,ymm6,ymm7 - lea r8d,[r12*1+r8] - xor r13d,r14d - mov esi,r9d - vpshufd ymm6,ymm6,232 - rorx r12d,r9d,22 - lea r8d,[r13*1+r8] - xor esi,r10d - vpslldq ymm6,ymm6,8 - rorx r14d,r9d,13 - rorx r13d,r9d,2 - lea eax,[r8*1+rax] - vpaddd ymm0,ymm0,ymm6 - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((48-128))+rdi] - xor r14d,r12d - xor r15d,r10d - vpaddd ymm6,ymm0,YMMWORD[rbp] - xor r14d,r13d - lea r8d,[r15*1+r8] - mov r12d,ebx - vmovdqa YMMWORD[rsp],ymm6 - vpalignr ymm4,ymm2,ymm1,4 - add edx,DWORD[((32+128))+rsp] - and r12d,eax - rorx r13d,eax,25 - vpalignr ymm7,ymm0,ymm3,4 - rorx r15d,eax,11 - lea r8d,[r14*1+r8] - lea edx,[r12*1+rdx] - vpsrld ymm6,ymm4,7 - andn r12d,eax,ecx - xor r13d,r15d - rorx r14d,eax,6 - vpaddd ymm1,ymm1,ymm7 - lea edx,[r12*1+rdx] - xor r13d,r14d - mov r15d,r8d - vpsrld ymm7,ymm4,3 - rorx r12d,r8d,22 - lea edx,[r13*1+rdx] - xor r15d,r9d - vpslld ymm5,ymm4,14 - rorx r14d,r8d,13 - rorx r13d,r8d,2 - lea r11d,[rdx*1+r11] - vpxor ymm4,ymm7,ymm6 - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((64-128))+rdi] - xor r14d,r12d - xor esi,r9d - vpshufd ymm7,ymm0,250 - xor r14d,r13d - lea edx,[rsi*1+rdx] - mov r12d,eax - vpsrld ymm6,ymm6,11 - add ecx,DWORD[((36+128))+rsp] - and r12d,r11d - rorx r13d,r11d,25 - vpxor ymm4,ymm4,ymm5 - rorx esi,r11d,11 - lea edx,[r14*1+rdx] - lea ecx,[r12*1+rcx] - vpslld ymm5,ymm5,11 - andn r12d,r11d,ebx - xor r13d,esi - rorx r14d,r11d,6 - vpxor ymm4,ymm4,ymm6 - lea ecx,[r12*1+rcx] - xor r13d,r14d - mov esi,edx - vpsrld ymm6,ymm7,10 - rorx r12d,edx,22 - lea ecx,[r13*1+rcx] - xor esi,r8d - vpxor ymm4,ymm4,ymm5 - rorx r14d,edx,13 - rorx r13d,edx,2 - lea r10d,[rcx*1+r10] - vpsrlq ymm7,ymm7,17 - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((80-128))+rdi] - xor r14d,r12d - xor r15d,r8d - vpaddd ymm1,ymm1,ymm4 - xor r14d,r13d - lea ecx,[r15*1+rcx] - mov r12d,r11d - vpxor ymm6,ymm6,ymm7 - add ebx,DWORD[((40+128))+rsp] - and r12d,r10d - rorx r13d,r10d,25 - vpsrlq ymm7,ymm7,2 - rorx r15d,r10d,11 - lea ecx,[r14*1+rcx] - lea ebx,[r12*1+rbx] - vpxor ymm6,ymm6,ymm7 - andn r12d,r10d,eax - xor r13d,r15d - rorx r14d,r10d,6 - vpshufd ymm6,ymm6,132 - lea ebx,[r12*1+rbx] - xor r13d,r14d - mov r15d,ecx - vpsrldq ymm6,ymm6,8 - rorx r12d,ecx,22 - lea ebx,[r13*1+rbx] - xor r15d,edx - vpaddd ymm1,ymm1,ymm6 - rorx r14d,ecx,13 - rorx r13d,ecx,2 - lea r9d,[rbx*1+r9] - vpshufd ymm7,ymm1,80 - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((96-128))+rdi] - xor r14d,r12d - xor esi,edx - vpsrld ymm6,ymm7,10 - xor r14d,r13d - lea ebx,[rsi*1+rbx] - mov r12d,r10d - vpsrlq ymm7,ymm7,17 - add eax,DWORD[((44+128))+rsp] - and r12d,r9d - rorx r13d,r9d,25 - vpxor ymm6,ymm6,ymm7 - rorx esi,r9d,11 - lea ebx,[r14*1+rbx] - lea eax,[r12*1+rax] - vpsrlq ymm7,ymm7,2 - andn r12d,r9d,r11d - xor r13d,esi - rorx r14d,r9d,6 - vpxor ymm6,ymm6,ymm7 - lea eax,[r12*1+rax] - xor r13d,r14d - mov esi,ebx - vpshufd ymm6,ymm6,232 - rorx r12d,ebx,22 - lea eax,[r13*1+rax] - xor esi,ecx - vpslldq ymm6,ymm6,8 - rorx r14d,ebx,13 - rorx r13d,ebx,2 - lea r8d,[rax*1+r8] - vpaddd ymm1,ymm1,ymm6 - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((112-128))+rdi] - xor r14d,r12d - xor r15d,ecx - vpaddd ymm6,ymm1,YMMWORD[32+rbp] - xor r14d,r13d - lea eax,[r15*1+rax] - mov r12d,r9d - vmovdqa YMMWORD[32+rsp],ymm6 - lea rsp,[((-64))+rsp] - vpalignr ymm4,ymm3,ymm2,4 - add r11d,DWORD[((0+128))+rsp] - and r12d,r8d - rorx r13d,r8d,25 - vpalignr ymm7,ymm1,ymm0,4 - rorx r15d,r8d,11 - lea eax,[r14*1+rax] - lea r11d,[r12*1+r11] - vpsrld ymm6,ymm4,7 - andn r12d,r8d,r10d - xor r13d,r15d - rorx r14d,r8d,6 - vpaddd ymm2,ymm2,ymm7 - lea r11d,[r12*1+r11] - xor r13d,r14d - mov r15d,eax - vpsrld ymm7,ymm4,3 - rorx r12d,eax,22 - lea r11d,[r13*1+r11] - xor r15d,ebx - vpslld ymm5,ymm4,14 - rorx r14d,eax,13 - rorx r13d,eax,2 - lea edx,[r11*1+rdx] - vpxor ymm4,ymm7,ymm6 - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((128-128))+rdi] - xor r14d,r12d - xor esi,ebx - vpshufd ymm7,ymm1,250 - xor r14d,r13d - lea r11d,[rsi*1+r11] - mov r12d,r8d - vpsrld ymm6,ymm6,11 - add r10d,DWORD[((4+128))+rsp] - and r12d,edx - rorx r13d,edx,25 - vpxor ymm4,ymm4,ymm5 - rorx esi,edx,11 - lea r11d,[r14*1+r11] - lea r10d,[r12*1+r10] - vpslld ymm5,ymm5,11 - andn r12d,edx,r9d - xor r13d,esi - rorx r14d,edx,6 - vpxor ymm4,ymm4,ymm6 - lea r10d,[r12*1+r10] - xor r13d,r14d - mov esi,r11d - vpsrld ymm6,ymm7,10 - rorx r12d,r11d,22 - lea r10d,[r13*1+r10] - xor esi,eax - vpxor ymm4,ymm4,ymm5 - rorx r14d,r11d,13 - rorx r13d,r11d,2 - lea ecx,[r10*1+rcx] - vpsrlq ymm7,ymm7,17 - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((144-128))+rdi] - xor r14d,r12d - xor r15d,eax - vpaddd ymm2,ymm2,ymm4 - xor r14d,r13d - lea r10d,[r15*1+r10] - mov r12d,edx - vpxor ymm6,ymm6,ymm7 - add r9d,DWORD[((8+128))+rsp] - and r12d,ecx - rorx r13d,ecx,25 - vpsrlq ymm7,ymm7,2 - rorx r15d,ecx,11 - lea r10d,[r14*1+r10] - lea r9d,[r12*1+r9] - vpxor ymm6,ymm6,ymm7 - andn r12d,ecx,r8d - xor r13d,r15d - rorx r14d,ecx,6 - vpshufd ymm6,ymm6,132 - lea r9d,[r12*1+r9] - xor r13d,r14d - mov r15d,r10d - vpsrldq ymm6,ymm6,8 - rorx r12d,r10d,22 - lea r9d,[r13*1+r9] - xor r15d,r11d - vpaddd ymm2,ymm2,ymm6 - rorx r14d,r10d,13 - rorx r13d,r10d,2 - lea ebx,[r9*1+rbx] - vpshufd ymm7,ymm2,80 - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((160-128))+rdi] - xor r14d,r12d - xor esi,r11d - vpsrld ymm6,ymm7,10 - xor r14d,r13d - lea r9d,[rsi*1+r9] - mov r12d,ecx - vpsrlq ymm7,ymm7,17 - add r8d,DWORD[((12+128))+rsp] - and r12d,ebx - rorx r13d,ebx,25 - vpxor ymm6,ymm6,ymm7 - rorx esi,ebx,11 - lea r9d,[r14*1+r9] - lea r8d,[r12*1+r8] - vpsrlq ymm7,ymm7,2 - andn r12d,ebx,edx - xor r13d,esi - rorx r14d,ebx,6 - vpxor ymm6,ymm6,ymm7 - lea r8d,[r12*1+r8] - xor r13d,r14d - mov esi,r9d - vpshufd ymm6,ymm6,232 - rorx r12d,r9d,22 - lea r8d,[r13*1+r8] - xor esi,r10d - vpslldq ymm6,ymm6,8 - rorx r14d,r9d,13 - rorx r13d,r9d,2 - lea eax,[r8*1+rax] - vpaddd ymm2,ymm2,ymm6 - and r15d,esi - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((176-128))+rdi] - xor r14d,r12d - xor r15d,r10d - vpaddd ymm6,ymm2,YMMWORD[64+rbp] - xor r14d,r13d - lea r8d,[r15*1+r8] - mov r12d,ebx - vmovdqa YMMWORD[rsp],ymm6 - vpalignr ymm4,ymm0,ymm3,4 - add edx,DWORD[((32+128))+rsp] - and r12d,eax - rorx r13d,eax,25 - vpalignr ymm7,ymm2,ymm1,4 - rorx r15d,eax,11 - lea r8d,[r14*1+r8] - lea edx,[r12*1+rdx] - vpsrld ymm6,ymm4,7 - andn r12d,eax,ecx - xor r13d,r15d - rorx r14d,eax,6 - vpaddd ymm3,ymm3,ymm7 - lea edx,[r12*1+rdx] - xor r13d,r14d - mov r15d,r8d - vpsrld ymm7,ymm4,3 - rorx r12d,r8d,22 - lea edx,[r13*1+rdx] - xor r15d,r9d - vpslld ymm5,ymm4,14 - rorx r14d,r8d,13 - rorx r13d,r8d,2 - lea r11d,[rdx*1+r11] - vpxor ymm4,ymm7,ymm6 - and esi,r15d - vpand xmm8,xmm11,xmm12 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((192-128))+rdi] - xor r14d,r12d - xor esi,r9d - vpshufd ymm7,ymm2,250 - xor r14d,r13d - lea edx,[rsi*1+rdx] - mov r12d,eax - vpsrld ymm6,ymm6,11 - add ecx,DWORD[((36+128))+rsp] - and r12d,r11d - rorx r13d,r11d,25 - vpxor ymm4,ymm4,ymm5 - rorx esi,r11d,11 - lea edx,[r14*1+rdx] - lea ecx,[r12*1+rcx] - vpslld ymm5,ymm5,11 - andn r12d,r11d,ebx - xor r13d,esi - rorx r14d,r11d,6 - vpxor ymm4,ymm4,ymm6 - lea ecx,[r12*1+rcx] - xor r13d,r14d - mov esi,edx - vpsrld ymm6,ymm7,10 - rorx r12d,edx,22 - lea ecx,[r13*1+rcx] - xor esi,r8d - vpxor ymm4,ymm4,ymm5 - rorx r14d,edx,13 - rorx r13d,edx,2 - lea r10d,[rcx*1+r10] - vpsrlq ymm7,ymm7,17 - and r15d,esi - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((208-128))+rdi] - xor r14d,r12d - xor r15d,r8d - vpaddd ymm3,ymm3,ymm4 - xor r14d,r13d - lea ecx,[r15*1+rcx] - mov r12d,r11d - vpxor ymm6,ymm6,ymm7 - add ebx,DWORD[((40+128))+rsp] - and r12d,r10d - rorx r13d,r10d,25 - vpsrlq ymm7,ymm7,2 - rorx r15d,r10d,11 - lea ecx,[r14*1+rcx] - lea ebx,[r12*1+rbx] - vpxor ymm6,ymm6,ymm7 - andn r12d,r10d,eax - xor r13d,r15d - rorx r14d,r10d,6 - vpshufd ymm6,ymm6,132 - lea ebx,[r12*1+rbx] - xor r13d,r14d - mov r15d,ecx - vpsrldq ymm6,ymm6,8 - rorx r12d,ecx,22 - lea ebx,[r13*1+rbx] - xor r15d,edx - vpaddd ymm3,ymm3,ymm6 - rorx r14d,ecx,13 - rorx r13d,ecx,2 - lea r9d,[rbx*1+r9] - vpshufd ymm7,ymm3,80 - and esi,r15d - vpand xmm11,xmm11,xmm13 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((224-128))+rdi] - xor r14d,r12d - xor esi,edx - vpsrld ymm6,ymm7,10 - xor r14d,r13d - lea ebx,[rsi*1+rbx] - mov r12d,r10d - vpsrlq ymm7,ymm7,17 - add eax,DWORD[((44+128))+rsp] - and r12d,r9d - rorx r13d,r9d,25 - vpxor ymm6,ymm6,ymm7 - rorx esi,r9d,11 - lea ebx,[r14*1+rbx] - lea eax,[r12*1+rax] - vpsrlq ymm7,ymm7,2 - andn r12d,r9d,r11d - xor r13d,esi - rorx r14d,r9d,6 - vpxor ymm6,ymm6,ymm7 - lea eax,[r12*1+rax] - xor r13d,r14d - mov esi,ebx - vpshufd ymm6,ymm6,232 - rorx r12d,ebx,22 - lea eax,[r13*1+rax] - xor esi,ecx - vpslldq ymm6,ymm6,8 - rorx r14d,ebx,13 - rorx r13d,ebx,2 - lea r8d,[rax*1+r8] - vpaddd ymm3,ymm3,ymm6 - and r15d,esi - vpor xmm8,xmm8,xmm11 - vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((0-128))+rdi] - xor r14d,r12d - xor r15d,ecx - vpaddd ymm6,ymm3,YMMWORD[96+rbp] - xor r14d,r13d - lea eax,[r15*1+rax] - mov r12d,r9d - vmovdqa YMMWORD[32+rsp],ymm6 - vmovq r13,xmm15 - vpextrq r15,xmm15,1 - vpand xmm11,xmm11,xmm14 - vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD[r13*1+r15],xmm8 - lea r13,[16+r13] - lea rbp,[128+rbp] - cmp BYTE[3+rbp],0 - jne NEAR $L$avx2_00_47 - vmovdqu xmm9,XMMWORD[r13] - vpinsrq xmm15,xmm15,r13,0 - add r11d,DWORD[((0+64))+rsp] - and r12d,r8d - rorx r13d,r8d,25 - rorx r15d,r8d,11 - lea eax,[r14*1+rax] - lea r11d,[r12*1+r11] - andn r12d,r8d,r10d - xor r13d,r15d - rorx r14d,r8d,6 - lea r11d,[r12*1+r11] - xor r13d,r14d - mov r15d,eax - rorx r12d,eax,22 - lea r11d,[r13*1+r11] - xor r15d,ebx - rorx r14d,eax,13 - rorx r13d,eax,2 - lea edx,[r11*1+rdx] - and esi,r15d - vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((16-128))+rdi] - xor r14d,r12d - xor esi,ebx - xor r14d,r13d - lea r11d,[rsi*1+r11] - mov r12d,r8d - add r10d,DWORD[((4+64))+rsp] - and r12d,edx - rorx r13d,edx,25 - rorx esi,edx,11 - lea r11d,[r14*1+r11] - lea r10d,[r12*1+r10] - andn r12d,edx,r9d - xor r13d,esi - rorx r14d,edx,6 - lea r10d,[r12*1+r10] - xor r13d,r14d - mov esi,r11d - rorx r12d,r11d,22 - lea r10d,[r13*1+r10] - xor esi,eax - rorx r14d,r11d,13 - rorx r13d,r11d,2 - lea ecx,[r10*1+rcx] - and r15d,esi - vpxor xmm9,xmm9,xmm8 - xor r14d,r12d - xor r15d,eax - xor r14d,r13d - lea r10d,[r15*1+r10] - mov r12d,edx - add r9d,DWORD[((8+64))+rsp] - and r12d,ecx - rorx r13d,ecx,25 - rorx r15d,ecx,11 - lea r10d,[r14*1+r10] - lea r9d,[r12*1+r9] - andn r12d,ecx,r8d - xor r13d,r15d - rorx r14d,ecx,6 - lea r9d,[r12*1+r9] - xor r13d,r14d - mov r15d,r10d - rorx r12d,r10d,22 - lea r9d,[r13*1+r9] - xor r15d,r11d - rorx r14d,r10d,13 - rorx r13d,r10d,2 - lea ebx,[r9*1+rbx] - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((32-128))+rdi] - xor r14d,r12d - xor esi,r11d - xor r14d,r13d - lea r9d,[rsi*1+r9] - mov r12d,ecx - add r8d,DWORD[((12+64))+rsp] - and r12d,ebx - rorx r13d,ebx,25 - rorx esi,ebx,11 - lea r9d,[r14*1+r9] - lea r8d,[r12*1+r8] - andn r12d,ebx,edx - xor r13d,esi - rorx r14d,ebx,6 - lea r8d,[r12*1+r8] - xor r13d,r14d - mov esi,r9d - rorx r12d,r9d,22 - lea r8d,[r13*1+r8] - xor esi,r10d - rorx r14d,r9d,13 - rorx r13d,r9d,2 - lea eax,[r8*1+rax] - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((48-128))+rdi] - xor r14d,r12d - xor r15d,r10d - xor r14d,r13d - lea r8d,[r15*1+r8] - mov r12d,ebx - add edx,DWORD[((32+64))+rsp] - and r12d,eax - rorx r13d,eax,25 - rorx r15d,eax,11 - lea r8d,[r14*1+r8] - lea edx,[r12*1+rdx] - andn r12d,eax,ecx - xor r13d,r15d - rorx r14d,eax,6 - lea edx,[r12*1+rdx] - xor r13d,r14d - mov r15d,r8d - rorx r12d,r8d,22 - lea edx,[r13*1+rdx] - xor r15d,r9d - rorx r14d,r8d,13 - rorx r13d,r8d,2 - lea r11d,[rdx*1+r11] - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((64-128))+rdi] - xor r14d,r12d - xor esi,r9d - xor r14d,r13d - lea edx,[rsi*1+rdx] - mov r12d,eax - add ecx,DWORD[((36+64))+rsp] - and r12d,r11d - rorx r13d,r11d,25 - rorx esi,r11d,11 - lea edx,[r14*1+rdx] - lea ecx,[r12*1+rcx] - andn r12d,r11d,ebx - xor r13d,esi - rorx r14d,r11d,6 - lea ecx,[r12*1+rcx] - xor r13d,r14d - mov esi,edx - rorx r12d,edx,22 - lea ecx,[r13*1+rcx] - xor esi,r8d - rorx r14d,edx,13 - rorx r13d,edx,2 - lea r10d,[rcx*1+r10] - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((80-128))+rdi] - xor r14d,r12d - xor r15d,r8d - xor r14d,r13d - lea ecx,[r15*1+rcx] - mov r12d,r11d - add ebx,DWORD[((40+64))+rsp] - and r12d,r10d - rorx r13d,r10d,25 - rorx r15d,r10d,11 - lea ecx,[r14*1+rcx] - lea ebx,[r12*1+rbx] - andn r12d,r10d,eax - xor r13d,r15d - rorx r14d,r10d,6 - lea ebx,[r12*1+rbx] - xor r13d,r14d - mov r15d,ecx - rorx r12d,ecx,22 - lea ebx,[r13*1+rbx] - xor r15d,edx - rorx r14d,ecx,13 - rorx r13d,ecx,2 - lea r9d,[rbx*1+r9] - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((96-128))+rdi] - xor r14d,r12d - xor esi,edx - xor r14d,r13d - lea ebx,[rsi*1+rbx] - mov r12d,r10d - add eax,DWORD[((44+64))+rsp] - and r12d,r9d - rorx r13d,r9d,25 - rorx esi,r9d,11 - lea ebx,[r14*1+rbx] - lea eax,[r12*1+rax] - andn r12d,r9d,r11d - xor r13d,esi - rorx r14d,r9d,6 - lea eax,[r12*1+rax] - xor r13d,r14d - mov esi,ebx - rorx r12d,ebx,22 - lea eax,[r13*1+rax] - xor esi,ecx - rorx r14d,ebx,13 - rorx r13d,ebx,2 - lea r8d,[rax*1+r8] - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((112-128))+rdi] - xor r14d,r12d - xor r15d,ecx - xor r14d,r13d - lea eax,[r15*1+rax] - mov r12d,r9d - add r11d,DWORD[rsp] - and r12d,r8d - rorx r13d,r8d,25 - rorx r15d,r8d,11 - lea eax,[r14*1+rax] - lea r11d,[r12*1+r11] - andn r12d,r8d,r10d - xor r13d,r15d - rorx r14d,r8d,6 - lea r11d,[r12*1+r11] - xor r13d,r14d - mov r15d,eax - rorx r12d,eax,22 - lea r11d,[r13*1+r11] - xor r15d,ebx - rorx r14d,eax,13 - rorx r13d,eax,2 - lea edx,[r11*1+rdx] - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((128-128))+rdi] - xor r14d,r12d - xor esi,ebx - xor r14d,r13d - lea r11d,[rsi*1+r11] - mov r12d,r8d - add r10d,DWORD[4+rsp] - and r12d,edx - rorx r13d,edx,25 - rorx esi,edx,11 - lea r11d,[r14*1+r11] - lea r10d,[r12*1+r10] - andn r12d,edx,r9d - xor r13d,esi - rorx r14d,edx,6 - lea r10d,[r12*1+r10] - xor r13d,r14d - mov esi,r11d - rorx r12d,r11d,22 - lea r10d,[r13*1+r10] - xor esi,eax - rorx r14d,r11d,13 - rorx r13d,r11d,2 - lea ecx,[r10*1+rcx] - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((144-128))+rdi] - xor r14d,r12d - xor r15d,eax - xor r14d,r13d - lea r10d,[r15*1+r10] - mov r12d,edx - add r9d,DWORD[8+rsp] - and r12d,ecx - rorx r13d,ecx,25 - rorx r15d,ecx,11 - lea r10d,[r14*1+r10] - lea r9d,[r12*1+r9] - andn r12d,ecx,r8d - xor r13d,r15d - rorx r14d,ecx,6 - lea r9d,[r12*1+r9] - xor r13d,r14d - mov r15d,r10d - rorx r12d,r10d,22 - lea r9d,[r13*1+r9] - xor r15d,r11d - rorx r14d,r10d,13 - rorx r13d,r10d,2 - lea ebx,[r9*1+rbx] - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((160-128))+rdi] - xor r14d,r12d - xor esi,r11d - xor r14d,r13d - lea r9d,[rsi*1+r9] - mov r12d,ecx - add r8d,DWORD[12+rsp] - and r12d,ebx - rorx r13d,ebx,25 - rorx esi,ebx,11 - lea r9d,[r14*1+r9] - lea r8d,[r12*1+r8] - andn r12d,ebx,edx - xor r13d,esi - rorx r14d,ebx,6 - lea r8d,[r12*1+r8] - xor r13d,r14d - mov esi,r9d - rorx r12d,r9d,22 - lea r8d,[r13*1+r8] - xor esi,r10d - rorx r14d,r9d,13 - rorx r13d,r9d,2 - lea eax,[r8*1+rax] - and r15d,esi - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((176-128))+rdi] - xor r14d,r12d - xor r15d,r10d - xor r14d,r13d - lea r8d,[r15*1+r8] - mov r12d,ebx - add edx,DWORD[32+rsp] - and r12d,eax - rorx r13d,eax,25 - rorx r15d,eax,11 - lea r8d,[r14*1+r8] - lea edx,[r12*1+rdx] - andn r12d,eax,ecx - xor r13d,r15d - rorx r14d,eax,6 - lea edx,[r12*1+rdx] - xor r13d,r14d - mov r15d,r8d - rorx r12d,r8d,22 - lea edx,[r13*1+rdx] - xor r15d,r9d - rorx r14d,r8d,13 - rorx r13d,r8d,2 - lea r11d,[rdx*1+r11] - and esi,r15d - vpand xmm8,xmm11,xmm12 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((192-128))+rdi] - xor r14d,r12d - xor esi,r9d - xor r14d,r13d - lea edx,[rsi*1+rdx] - mov r12d,eax - add ecx,DWORD[36+rsp] - and r12d,r11d - rorx r13d,r11d,25 - rorx esi,r11d,11 - lea edx,[r14*1+rdx] - lea ecx,[r12*1+rcx] - andn r12d,r11d,ebx - xor r13d,esi - rorx r14d,r11d,6 - lea ecx,[r12*1+rcx] - xor r13d,r14d - mov esi,edx - rorx r12d,edx,22 - lea ecx,[r13*1+rcx] - xor esi,r8d - rorx r14d,edx,13 - rorx r13d,edx,2 - lea r10d,[rcx*1+r10] - and r15d,esi - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((208-128))+rdi] - xor r14d,r12d - xor r15d,r8d - xor r14d,r13d - lea ecx,[r15*1+rcx] - mov r12d,r11d - add ebx,DWORD[40+rsp] - and r12d,r10d - rorx r13d,r10d,25 - rorx r15d,r10d,11 - lea ecx,[r14*1+rcx] - lea ebx,[r12*1+rbx] - andn r12d,r10d,eax - xor r13d,r15d - rorx r14d,r10d,6 - lea ebx,[r12*1+rbx] - xor r13d,r14d - mov r15d,ecx - rorx r12d,ecx,22 - lea ebx,[r13*1+rbx] - xor r15d,edx - rorx r14d,ecx,13 - rorx r13d,ecx,2 - lea r9d,[rbx*1+r9] - and esi,r15d - vpand xmm11,xmm11,xmm13 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((224-128))+rdi] - xor r14d,r12d - xor esi,edx - xor r14d,r13d - lea ebx,[rsi*1+rbx] - mov r12d,r10d - add eax,DWORD[44+rsp] - and r12d,r9d - rorx r13d,r9d,25 - rorx esi,r9d,11 - lea ebx,[r14*1+rbx] - lea eax,[r12*1+rax] - andn r12d,r9d,r11d - xor r13d,esi - rorx r14d,r9d,6 - lea eax,[r12*1+rax] - xor r13d,r14d - mov esi,ebx - rorx r12d,ebx,22 - lea eax,[r13*1+rax] - xor esi,ecx - rorx r14d,ebx,13 - rorx r13d,ebx,2 - lea r8d,[rax*1+r8] - and r15d,esi - vpor xmm8,xmm8,xmm11 - vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((0-128))+rdi] - xor r14d,r12d - xor r15d,ecx - xor r14d,r13d - lea eax,[r15*1+rax] - mov r12d,r9d - vpextrq r12,xmm15,1 - vmovq r13,xmm15 - mov r15,QWORD[552+rsp] - add eax,r14d - lea rbp,[448+rsp] - - vpand xmm11,xmm11,xmm14 - vpor xmm8,xmm8,xmm11 - vmovdqu XMMWORD[r13*1+r12],xmm8 - lea r13,[16+r13] - - add eax,DWORD[r15] - add ebx,DWORD[4+r15] - add ecx,DWORD[8+r15] - add edx,DWORD[12+r15] - add r8d,DWORD[16+r15] - add r9d,DWORD[20+r15] - add r10d,DWORD[24+r15] - add r11d,DWORD[28+r15] - - mov DWORD[r15],eax - mov DWORD[4+r15],ebx - mov DWORD[8+r15],ecx - mov DWORD[12+r15],edx - mov DWORD[16+r15],r8d - mov DWORD[20+r15],r9d - mov DWORD[24+r15],r10d - mov DWORD[28+r15],r11d - - cmp r13,QWORD[80+rbp] - je NEAR $L$done_avx2 - - xor r14d,r14d - mov esi,ebx - mov r12d,r9d - xor esi,ecx - jmp NEAR $L$ower_avx2 -ALIGN 16 -$L$ower_avx2: - vmovdqu xmm9,XMMWORD[r13] - vpinsrq xmm15,xmm15,r13,0 - add r11d,DWORD[((0+16))+rbp] - and r12d,r8d - rorx r13d,r8d,25 - rorx r15d,r8d,11 - lea eax,[r14*1+rax] - lea r11d,[r12*1+r11] - andn r12d,r8d,r10d - xor r13d,r15d - rorx r14d,r8d,6 - lea r11d,[r12*1+r11] - xor r13d,r14d - mov r15d,eax - rorx r12d,eax,22 - lea r11d,[r13*1+r11] - xor r15d,ebx - rorx r14d,eax,13 - rorx r13d,eax,2 - lea edx,[r11*1+rdx] - and esi,r15d - vpxor xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((16-128))+rdi] - xor r14d,r12d - xor esi,ebx - xor r14d,r13d - lea r11d,[rsi*1+r11] - mov r12d,r8d - add r10d,DWORD[((4+16))+rbp] - and r12d,edx - rorx r13d,edx,25 - rorx esi,edx,11 - lea r11d,[r14*1+r11] - lea r10d,[r12*1+r10] - andn r12d,edx,r9d - xor r13d,esi - rorx r14d,edx,6 - lea r10d,[r12*1+r10] - xor r13d,r14d - mov esi,r11d - rorx r12d,r11d,22 - lea r10d,[r13*1+r10] - xor esi,eax - rorx r14d,r11d,13 - rorx r13d,r11d,2 - lea ecx,[r10*1+rcx] - and r15d,esi - vpxor xmm9,xmm9,xmm8 - xor r14d,r12d - xor r15d,eax - xor r14d,r13d - lea r10d,[r15*1+r10] - mov r12d,edx - add r9d,DWORD[((8+16))+rbp] - and r12d,ecx - rorx r13d,ecx,25 - rorx r15d,ecx,11 - lea r10d,[r14*1+r10] - lea r9d,[r12*1+r9] - andn r12d,ecx,r8d - xor r13d,r15d - rorx r14d,ecx,6 - lea r9d,[r12*1+r9] - xor r13d,r14d - mov r15d,r10d - rorx r12d,r10d,22 - lea r9d,[r13*1+r9] - xor r15d,r11d - rorx r14d,r10d,13 - rorx r13d,r10d,2 - lea ebx,[r9*1+rbx] - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((32-128))+rdi] - xor r14d,r12d - xor esi,r11d - xor r14d,r13d - lea r9d,[rsi*1+r9] - mov r12d,ecx - add r8d,DWORD[((12+16))+rbp] - and r12d,ebx - rorx r13d,ebx,25 - rorx esi,ebx,11 - lea r9d,[r14*1+r9] - lea r8d,[r12*1+r8] - andn r12d,ebx,edx - xor r13d,esi - rorx r14d,ebx,6 - lea r8d,[r12*1+r8] - xor r13d,r14d - mov esi,r9d - rorx r12d,r9d,22 - lea r8d,[r13*1+r8] - xor esi,r10d - rorx r14d,r9d,13 - rorx r13d,r9d,2 - lea eax,[r8*1+rax] - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((48-128))+rdi] - xor r14d,r12d - xor r15d,r10d - xor r14d,r13d - lea r8d,[r15*1+r8] - mov r12d,ebx - add edx,DWORD[((32+16))+rbp] - and r12d,eax - rorx r13d,eax,25 - rorx r15d,eax,11 - lea r8d,[r14*1+r8] - lea edx,[r12*1+rdx] - andn r12d,eax,ecx - xor r13d,r15d - rorx r14d,eax,6 - lea edx,[r12*1+rdx] - xor r13d,r14d - mov r15d,r8d - rorx r12d,r8d,22 - lea edx,[r13*1+rdx] - xor r15d,r9d - rorx r14d,r8d,13 - rorx r13d,r8d,2 - lea r11d,[rdx*1+r11] - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((64-128))+rdi] - xor r14d,r12d - xor esi,r9d - xor r14d,r13d - lea edx,[rsi*1+rdx] - mov r12d,eax - add ecx,DWORD[((36+16))+rbp] - and r12d,r11d - rorx r13d,r11d,25 - rorx esi,r11d,11 - lea edx,[r14*1+rdx] - lea ecx,[r12*1+rcx] - andn r12d,r11d,ebx - xor r13d,esi - rorx r14d,r11d,6 - lea ecx,[r12*1+rcx] - xor r13d,r14d - mov esi,edx - rorx r12d,edx,22 - lea ecx,[r13*1+rcx] - xor esi,r8d - rorx r14d,edx,13 - rorx r13d,edx,2 - lea r10d,[rcx*1+r10] - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((80-128))+rdi] - xor r14d,r12d - xor r15d,r8d - xor r14d,r13d - lea ecx,[r15*1+rcx] - mov r12d,r11d - add ebx,DWORD[((40+16))+rbp] - and r12d,r10d - rorx r13d,r10d,25 - rorx r15d,r10d,11 - lea ecx,[r14*1+rcx] - lea ebx,[r12*1+rbx] - andn r12d,r10d,eax - xor r13d,r15d - rorx r14d,r10d,6 - lea ebx,[r12*1+rbx] - xor r13d,r14d - mov r15d,ecx - rorx r12d,ecx,22 - lea ebx,[r13*1+rbx] - xor r15d,edx - rorx r14d,ecx,13 - rorx r13d,ecx,2 - lea r9d,[rbx*1+r9] - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((96-128))+rdi] - xor r14d,r12d - xor esi,edx - xor r14d,r13d - lea ebx,[rsi*1+rbx] - mov r12d,r10d - add eax,DWORD[((44+16))+rbp] - and r12d,r9d - rorx r13d,r9d,25 - rorx esi,r9d,11 - lea ebx,[r14*1+rbx] - lea eax,[r12*1+rax] - andn r12d,r9d,r11d - xor r13d,esi - rorx r14d,r9d,6 - lea eax,[r12*1+rax] - xor r13d,r14d - mov esi,ebx - rorx r12d,ebx,22 - lea eax,[r13*1+rax] - xor esi,ecx - rorx r14d,ebx,13 - rorx r13d,ebx,2 - lea r8d,[rax*1+r8] - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((112-128))+rdi] - xor r14d,r12d - xor r15d,ecx - xor r14d,r13d - lea eax,[r15*1+rax] - mov r12d,r9d - lea rbp,[((-64))+rbp] - add r11d,DWORD[((0+16))+rbp] - and r12d,r8d - rorx r13d,r8d,25 - rorx r15d,r8d,11 - lea eax,[r14*1+rax] - lea r11d,[r12*1+r11] - andn r12d,r8d,r10d - xor r13d,r15d - rorx r14d,r8d,6 - lea r11d,[r12*1+r11] - xor r13d,r14d - mov r15d,eax - rorx r12d,eax,22 - lea r11d,[r13*1+r11] - xor r15d,ebx - rorx r14d,eax,13 - rorx r13d,eax,2 - lea edx,[r11*1+rdx] - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((128-128))+rdi] - xor r14d,r12d - xor esi,ebx - xor r14d,r13d - lea r11d,[rsi*1+r11] - mov r12d,r8d - add r10d,DWORD[((4+16))+rbp] - and r12d,edx - rorx r13d,edx,25 - rorx esi,edx,11 - lea r11d,[r14*1+r11] - lea r10d,[r12*1+r10] - andn r12d,edx,r9d - xor r13d,esi - rorx r14d,edx,6 - lea r10d,[r12*1+r10] - xor r13d,r14d - mov esi,r11d - rorx r12d,r11d,22 - lea r10d,[r13*1+r10] - xor esi,eax - rorx r14d,r11d,13 - rorx r13d,r11d,2 - lea ecx,[r10*1+rcx] - and r15d,esi - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((144-128))+rdi] - xor r14d,r12d - xor r15d,eax - xor r14d,r13d - lea r10d,[r15*1+r10] - mov r12d,edx - add r9d,DWORD[((8+16))+rbp] - and r12d,ecx - rorx r13d,ecx,25 - rorx r15d,ecx,11 - lea r10d,[r14*1+r10] - lea r9d,[r12*1+r9] - andn r12d,ecx,r8d - xor r13d,r15d - rorx r14d,ecx,6 - lea r9d,[r12*1+r9] - xor r13d,r14d - mov r15d,r10d - rorx r12d,r10d,22 - lea r9d,[r13*1+r9] - xor r15d,r11d - rorx r14d,r10d,13 - rorx r13d,r10d,2 - lea ebx,[r9*1+rbx] - and esi,r15d - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((160-128))+rdi] - xor r14d,r12d - xor esi,r11d - xor r14d,r13d - lea r9d,[rsi*1+r9] - mov r12d,ecx - add r8d,DWORD[((12+16))+rbp] - and r12d,ebx - rorx r13d,ebx,25 - rorx esi,ebx,11 - lea r9d,[r14*1+r9] - lea r8d,[r12*1+r8] - andn r12d,ebx,edx - xor r13d,esi - rorx r14d,ebx,6 - lea r8d,[r12*1+r8] - xor r13d,r14d - mov esi,r9d - rorx r12d,r9d,22 - lea r8d,[r13*1+r8] - xor esi,r10d - rorx r14d,r9d,13 - rorx r13d,r9d,2 - lea eax,[r8*1+rax] - and r15d,esi - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((176-128))+rdi] - xor r14d,r12d - xor r15d,r10d - xor r14d,r13d - lea r8d,[r15*1+r8] - mov r12d,ebx - add edx,DWORD[((32+16))+rbp] - and r12d,eax - rorx r13d,eax,25 - rorx r15d,eax,11 - lea r8d,[r14*1+r8] - lea edx,[r12*1+rdx] - andn r12d,eax,ecx - xor r13d,r15d - rorx r14d,eax,6 - lea edx,[r12*1+rdx] - xor r13d,r14d - mov r15d,r8d - rorx r12d,r8d,22 - lea edx,[r13*1+rdx] - xor r15d,r9d - rorx r14d,r8d,13 - rorx r13d,r8d,2 - lea r11d,[rdx*1+r11] - and esi,r15d - vpand xmm8,xmm11,xmm12 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((192-128))+rdi] - xor r14d,r12d - xor esi,r9d - xor r14d,r13d - lea edx,[rsi*1+rdx] - mov r12d,eax - add ecx,DWORD[((36+16))+rbp] - and r12d,r11d - rorx r13d,r11d,25 - rorx esi,r11d,11 - lea edx,[r14*1+rdx] - lea ecx,[r12*1+rcx] - andn r12d,r11d,ebx - xor r13d,esi - rorx r14d,r11d,6 - lea ecx,[r12*1+rcx] - xor r13d,r14d - mov esi,edx - rorx r12d,edx,22 - lea ecx,[r13*1+rcx] - xor esi,r8d - rorx r14d,edx,13 - rorx r13d,edx,2 - lea r10d,[rcx*1+r10] - and r15d,esi - vaesenclast xmm11,xmm9,xmm10 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((208-128))+rdi] - xor r14d,r12d - xor r15d,r8d - xor r14d,r13d - lea ecx,[r15*1+rcx] - mov r12d,r11d - add ebx,DWORD[((40+16))+rbp] - and r12d,r10d - rorx r13d,r10d,25 - rorx r15d,r10d,11 - lea ecx,[r14*1+rcx] - lea ebx,[r12*1+rbx] - andn r12d,r10d,eax - xor r13d,r15d - rorx r14d,r10d,6 - lea ebx,[r12*1+rbx] - xor r13d,r14d - mov r15d,ecx - rorx r12d,ecx,22 - lea ebx,[r13*1+rbx] - xor r15d,edx - rorx r14d,ecx,13 - rorx r13d,ecx,2 - lea r9d,[rbx*1+r9] - and esi,r15d - vpand xmm11,xmm11,xmm13 - vaesenc xmm9,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((224-128))+rdi] - xor r14d,r12d - xor esi,edx - xor r14d,r13d - lea ebx,[rsi*1+rbx] - mov r12d,r10d - add eax,DWORD[((44+16))+rbp] - and r12d,r9d - rorx r13d,r9d,25 - rorx esi,r9d,11 - lea ebx,[r14*1+rbx] - lea eax,[r12*1+rax] - andn r12d,r9d,r11d - xor r13d,esi - rorx r14d,r9d,6 - lea eax,[r12*1+rax] - xor r13d,r14d - mov esi,ebx - rorx r12d,ebx,22 - lea eax,[r13*1+rax] - xor esi,ecx - rorx r14d,ebx,13 - rorx r13d,ebx,2 - lea r8d,[rax*1+r8] - and r15d,esi - vpor xmm8,xmm8,xmm11 - vaesenclast xmm11,xmm9,xmm10 - vmovdqu xmm10,XMMWORD[((0-128))+rdi] - xor r14d,r12d - xor r15d,ecx - xor r14d,r13d - lea eax,[r15*1+rax] - mov r12d,r9d - vmovq r13,xmm15 - vpextrq r15,xmm15,1 - vpand xmm11,xmm11,xmm14 - vpor xmm8,xmm8,xmm11 - lea rbp,[((-64))+rbp] - vmovdqu XMMWORD[r13*1+r15],xmm8 - lea r13,[16+r13] - cmp rbp,rsp - jae NEAR $L$ower_avx2 - - mov r15,QWORD[552+rsp] - lea r13,[64+r13] - mov rsi,QWORD[560+rsp] - add eax,r14d - lea rsp,[448+rsp] - - add eax,DWORD[r15] - add ebx,DWORD[4+r15] - add ecx,DWORD[8+r15] - add edx,DWORD[12+r15] - add r8d,DWORD[16+r15] - add r9d,DWORD[20+r15] - add r10d,DWORD[24+r15] - lea r12,[r13*1+rsi] - add r11d,DWORD[28+r15] - - cmp r13,QWORD[((64+16))+rsp] - - mov DWORD[r15],eax - cmove r12,rsp - mov DWORD[4+r15],ebx - mov DWORD[8+r15],ecx - mov DWORD[12+r15],edx - mov DWORD[16+r15],r8d - mov DWORD[20+r15],r9d - mov DWORD[24+r15],r10d - mov DWORD[28+r15],r11d - - jbe NEAR $L$oop_avx2 - lea rbp,[rsp] - -$L$done_avx2: - lea rsp,[rbp] - mov r8,QWORD[((64+32))+rsp] - mov rsi,QWORD[((64+56))+rsp] - vmovdqu XMMWORD[r8],xmm8 - vzeroall - movaps xmm6,XMMWORD[128+rsp] - movaps xmm7,XMMWORD[144+rsp] - movaps xmm8,XMMWORD[160+rsp] - movaps xmm9,XMMWORD[176+rsp] - movaps xmm10,XMMWORD[192+rsp] - movaps xmm11,XMMWORD[208+rsp] - movaps xmm12,XMMWORD[224+rsp] - movaps xmm13,XMMWORD[240+rsp] - movaps xmm14,XMMWORD[256+rsp] - movaps xmm15,XMMWORD[272+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue_avx2: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha256_enc_avx2: - -ALIGN 32 -aesni_cbc_sha256_enc_shaext: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_cbc_sha256_enc_shaext: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov r10,QWORD[56+rsp] - lea rsp,[((-168))+rsp] - movaps XMMWORD[(-8-160)+rax],xmm6 - movaps XMMWORD[(-8-144)+rax],xmm7 - movaps XMMWORD[(-8-128)+rax],xmm8 - movaps XMMWORD[(-8-112)+rax],xmm9 - movaps XMMWORD[(-8-96)+rax],xmm10 - movaps XMMWORD[(-8-80)+rax],xmm11 - movaps XMMWORD[(-8-64)+rax],xmm12 - movaps XMMWORD[(-8-48)+rax],xmm13 - movaps XMMWORD[(-8-32)+rax],xmm14 - movaps XMMWORD[(-8-16)+rax],xmm15 -$L$prologue_shaext: - lea rax,[((K256+128))] - movdqu xmm1,XMMWORD[r9] - movdqu xmm2,XMMWORD[16+r9] - movdqa xmm3,XMMWORD[((512-128))+rax] - - mov r11d,DWORD[240+rcx] - sub rsi,rdi - movups xmm15,XMMWORD[rcx] - movups xmm6,XMMWORD[r8] - movups xmm4,XMMWORD[16+rcx] - lea rcx,[112+rcx] - - pshufd xmm0,xmm1,0x1b - pshufd xmm1,xmm1,0xb1 - pshufd xmm2,xmm2,0x1b - movdqa xmm7,xmm3 -DB 102,15,58,15,202,8 - punpcklqdq xmm2,xmm0 - - jmp NEAR $L$oop_shaext - -ALIGN 16 -$L$oop_shaext: - movdqu xmm10,XMMWORD[r10] - movdqu xmm11,XMMWORD[16+r10] - movdqu xmm12,XMMWORD[32+r10] -DB 102,68,15,56,0,211 - movdqu xmm13,XMMWORD[48+r10] - - movdqa xmm0,XMMWORD[((0-128))+rax] - paddd xmm0,xmm10 -DB 102,68,15,56,0,219 - movdqa xmm9,xmm2 - movdqa xmm8,xmm1 - movups xmm14,XMMWORD[rdi] - xorps xmm14,xmm15 - xorps xmm6,xmm14 - movups xmm5,XMMWORD[((-80))+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movups xmm4,XMMWORD[((-64))+rcx] - aesenc xmm6,xmm5 -DB 15,56,203,202 - - movdqa xmm0,XMMWORD[((32-128))+rax] - paddd xmm0,xmm11 -DB 102,68,15,56,0,227 - lea r10,[64+r10] - movups xmm5,XMMWORD[((-48))+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movups xmm4,XMMWORD[((-32))+rcx] - aesenc xmm6,xmm5 -DB 15,56,203,202 - - movdqa xmm0,XMMWORD[((64-128))+rax] - paddd xmm0,xmm12 -DB 102,68,15,56,0,235 -DB 69,15,56,204,211 - movups xmm5,XMMWORD[((-16))+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm3,xmm13 -DB 102,65,15,58,15,220,4 - paddd xmm10,xmm3 - movups xmm4,XMMWORD[rcx] - aesenc xmm6,xmm5 -DB 15,56,203,202 - - movdqa xmm0,XMMWORD[((96-128))+rax] - paddd xmm0,xmm13 -DB 69,15,56,205,213 -DB 69,15,56,204,220 - movups xmm5,XMMWORD[16+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movups xmm4,XMMWORD[32+rcx] - aesenc xmm6,xmm5 - movdqa xmm3,xmm10 -DB 102,65,15,58,15,221,4 - paddd xmm11,xmm3 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((128-128))+rax] - paddd xmm0,xmm10 -DB 69,15,56,205,218 -DB 69,15,56,204,229 - movups xmm5,XMMWORD[48+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm3,xmm11 -DB 102,65,15,58,15,218,4 - paddd xmm12,xmm3 - cmp r11d,11 - jb NEAR $L$aesenclast1 - movups xmm4,XMMWORD[64+rcx] - aesenc xmm6,xmm5 - movups xmm5,XMMWORD[80+rcx] - aesenc xmm6,xmm4 - je NEAR $L$aesenclast1 - movups xmm4,XMMWORD[96+rcx] - aesenc xmm6,xmm5 - movups xmm5,XMMWORD[112+rcx] - aesenc xmm6,xmm4 -$L$aesenclast1: - aesenclast xmm6,xmm5 - movups xmm4,XMMWORD[((16-112))+rcx] - nop -DB 15,56,203,202 - movups xmm14,XMMWORD[16+rdi] - xorps xmm14,xmm15 - movups XMMWORD[rdi*1+rsi],xmm6 - xorps xmm6,xmm14 - movups xmm5,XMMWORD[((-80))+rcx] - aesenc xmm6,xmm4 - movdqa xmm0,XMMWORD[((160-128))+rax] - paddd xmm0,xmm11 -DB 69,15,56,205,227 -DB 69,15,56,204,234 - movups xmm4,XMMWORD[((-64))+rcx] - aesenc xmm6,xmm5 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm3,xmm12 -DB 102,65,15,58,15,219,4 - paddd xmm13,xmm3 - movups xmm5,XMMWORD[((-48))+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((192-128))+rax] - paddd xmm0,xmm12 -DB 69,15,56,205,236 -DB 69,15,56,204,211 - movups xmm4,XMMWORD[((-32))+rcx] - aesenc xmm6,xmm5 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm3,xmm13 -DB 102,65,15,58,15,220,4 - paddd xmm10,xmm3 - movups xmm5,XMMWORD[((-16))+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((224-128))+rax] - paddd xmm0,xmm13 -DB 69,15,56,205,213 -DB 69,15,56,204,220 - movups xmm4,XMMWORD[rcx] - aesenc xmm6,xmm5 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm3,xmm10 -DB 102,65,15,58,15,221,4 - paddd xmm11,xmm3 - movups xmm5,XMMWORD[16+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((256-128))+rax] - paddd xmm0,xmm10 -DB 69,15,56,205,218 -DB 69,15,56,204,229 - movups xmm4,XMMWORD[32+rcx] - aesenc xmm6,xmm5 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm3,xmm11 -DB 102,65,15,58,15,218,4 - paddd xmm12,xmm3 - movups xmm5,XMMWORD[48+rcx] - aesenc xmm6,xmm4 - cmp r11d,11 - jb NEAR $L$aesenclast2 - movups xmm4,XMMWORD[64+rcx] - aesenc xmm6,xmm5 - movups xmm5,XMMWORD[80+rcx] - aesenc xmm6,xmm4 - je NEAR $L$aesenclast2 - movups xmm4,XMMWORD[96+rcx] - aesenc xmm6,xmm5 - movups xmm5,XMMWORD[112+rcx] - aesenc xmm6,xmm4 -$L$aesenclast2: - aesenclast xmm6,xmm5 - movups xmm4,XMMWORD[((16-112))+rcx] - nop -DB 15,56,203,202 - movups xmm14,XMMWORD[32+rdi] - xorps xmm14,xmm15 - movups XMMWORD[16+rdi*1+rsi],xmm6 - xorps xmm6,xmm14 - movups xmm5,XMMWORD[((-80))+rcx] - aesenc xmm6,xmm4 - movdqa xmm0,XMMWORD[((288-128))+rax] - paddd xmm0,xmm11 -DB 69,15,56,205,227 -DB 69,15,56,204,234 - movups xmm4,XMMWORD[((-64))+rcx] - aesenc xmm6,xmm5 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm3,xmm12 -DB 102,65,15,58,15,219,4 - paddd xmm13,xmm3 - movups xmm5,XMMWORD[((-48))+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((320-128))+rax] - paddd xmm0,xmm12 -DB 69,15,56,205,236 -DB 69,15,56,204,211 - movups xmm4,XMMWORD[((-32))+rcx] - aesenc xmm6,xmm5 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm3,xmm13 -DB 102,65,15,58,15,220,4 - paddd xmm10,xmm3 - movups xmm5,XMMWORD[((-16))+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((352-128))+rax] - paddd xmm0,xmm13 -DB 69,15,56,205,213 -DB 69,15,56,204,220 - movups xmm4,XMMWORD[rcx] - aesenc xmm6,xmm5 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm3,xmm10 -DB 102,65,15,58,15,221,4 - paddd xmm11,xmm3 - movups xmm5,XMMWORD[16+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((384-128))+rax] - paddd xmm0,xmm10 -DB 69,15,56,205,218 -DB 69,15,56,204,229 - movups xmm4,XMMWORD[32+rcx] - aesenc xmm6,xmm5 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm3,xmm11 -DB 102,65,15,58,15,218,4 - paddd xmm12,xmm3 - movups xmm5,XMMWORD[48+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((416-128))+rax] - paddd xmm0,xmm11 -DB 69,15,56,205,227 -DB 69,15,56,204,234 - cmp r11d,11 - jb NEAR $L$aesenclast3 - movups xmm4,XMMWORD[64+rcx] - aesenc xmm6,xmm5 - movups xmm5,XMMWORD[80+rcx] - aesenc xmm6,xmm4 - je NEAR $L$aesenclast3 - movups xmm4,XMMWORD[96+rcx] - aesenc xmm6,xmm5 - movups xmm5,XMMWORD[112+rcx] - aesenc xmm6,xmm4 -$L$aesenclast3: - aesenclast xmm6,xmm5 - movups xmm4,XMMWORD[((16-112))+rcx] - nop -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm3,xmm12 -DB 102,65,15,58,15,219,4 - paddd xmm13,xmm3 - movups xmm14,XMMWORD[48+rdi] - xorps xmm14,xmm15 - movups XMMWORD[32+rdi*1+rsi],xmm6 - xorps xmm6,xmm14 - movups xmm5,XMMWORD[((-80))+rcx] - aesenc xmm6,xmm4 - movups xmm4,XMMWORD[((-64))+rcx] - aesenc xmm6,xmm5 -DB 15,56,203,202 - - movdqa xmm0,XMMWORD[((448-128))+rax] - paddd xmm0,xmm12 -DB 69,15,56,205,236 - movdqa xmm3,xmm7 - movups xmm5,XMMWORD[((-48))+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movups xmm4,XMMWORD[((-32))+rcx] - aesenc xmm6,xmm5 -DB 15,56,203,202 - - movdqa xmm0,XMMWORD[((480-128))+rax] - paddd xmm0,xmm13 - movups xmm5,XMMWORD[((-16))+rcx] - aesenc xmm6,xmm4 - movups xmm4,XMMWORD[rcx] - aesenc xmm6,xmm5 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movups xmm5,XMMWORD[16+rcx] - aesenc xmm6,xmm4 -DB 15,56,203,202 - - movups xmm4,XMMWORD[32+rcx] - aesenc xmm6,xmm5 - movups xmm5,XMMWORD[48+rcx] - aesenc xmm6,xmm4 - cmp r11d,11 - jb NEAR $L$aesenclast4 - movups xmm4,XMMWORD[64+rcx] - aesenc xmm6,xmm5 - movups xmm5,XMMWORD[80+rcx] - aesenc xmm6,xmm4 - je NEAR $L$aesenclast4 - movups xmm4,XMMWORD[96+rcx] - aesenc xmm6,xmm5 - movups xmm5,XMMWORD[112+rcx] - aesenc xmm6,xmm4 -$L$aesenclast4: - aesenclast xmm6,xmm5 - movups xmm4,XMMWORD[((16-112))+rcx] - nop - - paddd xmm2,xmm9 - paddd xmm1,xmm8 - - dec rdx - movups XMMWORD[48+rdi*1+rsi],xmm6 - lea rdi,[64+rdi] - jnz NEAR $L$oop_shaext - - pshufd xmm2,xmm2,0xb1 - pshufd xmm3,xmm1,0x1b - pshufd xmm1,xmm1,0xb1 - punpckhqdq xmm1,xmm2 -DB 102,15,58,15,211,8 - - movups XMMWORD[r8],xmm6 - movdqu XMMWORD[r9],xmm1 - movdqu XMMWORD[16+r9],xmm2 - movaps xmm6,XMMWORD[rsp] - movaps xmm7,XMMWORD[16+rsp] - movaps xmm8,XMMWORD[32+rsp] - movaps xmm9,XMMWORD[48+rsp] - movaps xmm10,XMMWORD[64+rsp] - movaps xmm11,XMMWORD[80+rsp] - movaps xmm12,XMMWORD[96+rsp] - movaps xmm13,XMMWORD[112+rsp] - movaps xmm14,XMMWORD[128+rsp] - movaps xmm15,XMMWORD[144+rsp] - lea rsp,[((8+160))+rsp] -$L$epilogue_shaext: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_sha256_enc_shaext: -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - lea r10,[aesni_cbc_sha256_enc_shaext] - cmp rbx,r10 - jb NEAR $L$not_in_shaext - - lea rsi,[rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - lea rax,[168+rax] - jmp NEAR $L$in_prologue -$L$not_in_shaext: - lea r10,[$L$avx2_shortcut] - cmp rbx,r10 - jb NEAR $L$not_in_avx2 - - and rax,-256*4 - add rax,448 -$L$not_in_avx2: - mov rsi,rax - mov rax,QWORD[((64+56))+rax] - lea rax,[48+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - - lea rsi,[((64+64))+rsi] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 - DD $L$SEH_begin_aesni_cbc_sha256_enc_xop wrt ..imagebase - DD $L$SEH_end_aesni_cbc_sha256_enc_xop wrt ..imagebase - DD $L$SEH_info_aesni_cbc_sha256_enc_xop wrt ..imagebase - - DD $L$SEH_begin_aesni_cbc_sha256_enc_avx wrt ..imagebase - DD $L$SEH_end_aesni_cbc_sha256_enc_avx wrt ..imagebase - DD $L$SEH_info_aesni_cbc_sha256_enc_avx wrt ..imagebase - DD $L$SEH_begin_aesni_cbc_sha256_enc_avx2 wrt ..imagebase - DD $L$SEH_end_aesni_cbc_sha256_enc_avx2 wrt ..imagebase - DD $L$SEH_info_aesni_cbc_sha256_enc_avx2 wrt ..imagebase - DD $L$SEH_begin_aesni_cbc_sha256_enc_shaext wrt ..imagebase - DD $L$SEH_end_aesni_cbc_sha256_enc_shaext wrt ..imagebase - DD $L$SEH_info_aesni_cbc_sha256_enc_shaext wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_aesni_cbc_sha256_enc_xop: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue_xop wrt ..imagebase,$L$epilogue_xop wrt ..imagebase - -$L$SEH_info_aesni_cbc_sha256_enc_avx: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase -$L$SEH_info_aesni_cbc_sha256_enc_avx2: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase -$L$SEH_info_aesni_cbc_sha256_enc_shaext: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue_shaext wrt ..imagebase,$L$epilogue_shaext wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +EXTERN OPENSSL_ia32cap_P +global aesni_cbc_sha256_enc + +ALIGN 16 +aesni_cbc_sha256_enc: + lea r11,[OPENSSL_ia32cap_P] + mov eax,1 + cmp rcx,0 + je NEAR $L$probe + mov eax,DWORD[r11] + mov r10,QWORD[4+r11] + bt r10,61 + jc NEAR aesni_cbc_sha256_enc_shaext + mov r11,r10 + shr r11,32 + + test r10d,2048 + jnz NEAR aesni_cbc_sha256_enc_xop + and r11d,296 + cmp r11d,296 + je NEAR aesni_cbc_sha256_enc_avx2 + and r10d,268435456 + jnz NEAR aesni_cbc_sha256_enc_avx + ud2 + xor eax,eax + cmp rcx,0 + je NEAR $L$probe + ud2 +$L$probe: + DB 0F3h,0C3h ;repret + + +ALIGN 64 + +K256: + DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 + DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 + DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 + DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 + DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 + DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 + DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 + DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 + DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc + DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc + DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da + DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da + DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 + DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 + DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 + DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 + DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 + DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 + DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 + DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 + DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 + DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 + DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 + DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 + DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 + DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 + DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 + DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 + DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 + DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 + DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 + DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 + + DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f + DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f + DD 0,0,0,0,0,0,0,0,-1,-1,-1,-1 + DD 0,0,0,0,0,0,0,0 +DB 65,69,83,78,73,45,67,66,67,43,83,72,65,50,53,54 +DB 32,115,116,105,116,99,104,32,102,111,114,32,120,56,54,95 +DB 54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98 +DB 121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108 +DB 46,111,114,103,62,0 +ALIGN 64 + +ALIGN 64 +aesni_cbc_sha256_enc_xop: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_cbc_sha256_enc_xop: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + +$L$xop_shortcut: + mov r10,QWORD[56+rsp] + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov r11,rsp + sub rsp,288 + and rsp,-64 + + shl rdx,6 + sub rsi,rdi + sub r10,rdi + add rdx,rdi + + + mov QWORD[((64+8))+rsp],rsi + mov QWORD[((64+16))+rsp],rdx + + mov QWORD[((64+32))+rsp],r8 + mov QWORD[((64+40))+rsp],r9 + mov QWORD[((64+48))+rsp],r10 + mov QWORD[((64+56))+rsp],r11 + movaps XMMWORD[128+rsp],xmm6 + movaps XMMWORD[144+rsp],xmm7 + movaps XMMWORD[160+rsp],xmm8 + movaps XMMWORD[176+rsp],xmm9 + movaps XMMWORD[192+rsp],xmm10 + movaps XMMWORD[208+rsp],xmm11 + movaps XMMWORD[224+rsp],xmm12 + movaps XMMWORD[240+rsp],xmm13 + movaps XMMWORD[256+rsp],xmm14 + movaps XMMWORD[272+rsp],xmm15 +$L$prologue_xop: + vzeroall + + mov r12,rdi + lea rdi,[128+rcx] + lea r13,[((K256+544))] + mov r14d,DWORD[((240-128))+rdi] + mov r15,r9 + mov rsi,r10 + vmovdqu xmm8,XMMWORD[r8] + sub r14,9 + + mov eax,DWORD[r15] + mov ebx,DWORD[4+r15] + mov ecx,DWORD[8+r15] + mov edx,DWORD[12+r15] + mov r8d,DWORD[16+r15] + mov r9d,DWORD[20+r15] + mov r10d,DWORD[24+r15] + mov r11d,DWORD[28+r15] + + vmovdqa xmm14,XMMWORD[r14*8+r13] + vmovdqa xmm13,XMMWORD[16+r14*8+r13] + vmovdqa xmm12,XMMWORD[32+r14*8+r13] + vmovdqu xmm10,XMMWORD[((0-128))+rdi] + jmp NEAR $L$loop_xop +ALIGN 16 +$L$loop_xop: + vmovdqa xmm7,XMMWORD[((K256+512))] + vmovdqu xmm0,XMMWORD[r12*1+rsi] + vmovdqu xmm1,XMMWORD[16+r12*1+rsi] + vmovdqu xmm2,XMMWORD[32+r12*1+rsi] + vmovdqu xmm3,XMMWORD[48+r12*1+rsi] + vpshufb xmm0,xmm0,xmm7 + lea rbp,[K256] + vpshufb xmm1,xmm1,xmm7 + vpshufb xmm2,xmm2,xmm7 + vpaddd xmm4,xmm0,XMMWORD[rbp] + vpshufb xmm3,xmm3,xmm7 + vpaddd xmm5,xmm1,XMMWORD[32+rbp] + vpaddd xmm6,xmm2,XMMWORD[64+rbp] + vpaddd xmm7,xmm3,XMMWORD[96+rbp] + vmovdqa XMMWORD[rsp],xmm4 + mov r14d,eax + vmovdqa XMMWORD[16+rsp],xmm5 + mov esi,ebx + vmovdqa XMMWORD[32+rsp],xmm6 + xor esi,ecx + vmovdqa XMMWORD[48+rsp],xmm7 + mov r13d,r8d + jmp NEAR $L$xop_00_47 + +ALIGN 16 +$L$xop_00_47: + sub rbp,-16*2*4 + vmovdqu xmm9,XMMWORD[r12] + mov QWORD[((64+0))+rsp],r12 + vpalignr xmm4,xmm1,xmm0,4 + ror r13d,14 + mov eax,r14d + vpalignr xmm7,xmm3,xmm2,4 + mov r12d,r9d + xor r13d,r8d +DB 143,232,120,194,236,14 + ror r14d,9 + xor r12d,r10d + vpsrld xmm4,xmm4,3 + ror r13d,5 + xor r14d,eax + vpaddd xmm0,xmm0,xmm7 + and r12d,r8d + vpxor xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((16-128))+rdi] + xor r13d,r8d + add r11d,DWORD[rsp] + mov r15d,eax +DB 143,232,120,194,245,11 + ror r14d,11 + xor r12d,r10d + vpxor xmm4,xmm4,xmm5 + xor r15d,ebx + ror r13d,6 + add r11d,r12d + and esi,r15d +DB 143,232,120,194,251,13 + xor r14d,eax + add r11d,r13d + vpxor xmm4,xmm4,xmm6 + xor esi,ebx + add edx,r11d + vpsrld xmm6,xmm3,10 + ror r14d,2 + add r11d,esi + vpaddd xmm0,xmm0,xmm4 + mov r13d,edx + add r14d,r11d +DB 143,232,120,194,239,2 + ror r13d,14 + mov r11d,r14d + vpxor xmm7,xmm7,xmm6 + mov r12d,r8d + xor r13d,edx + ror r14d,9 + xor r12d,r9d + vpxor xmm7,xmm7,xmm5 + ror r13d,5 + xor r14d,r11d + and r12d,edx + vpxor xmm9,xmm9,xmm8 + xor r13d,edx + vpsrldq xmm7,xmm7,8 + add r10d,DWORD[4+rsp] + mov esi,r11d + ror r14d,11 + xor r12d,r9d + vpaddd xmm0,xmm0,xmm7 + xor esi,eax + ror r13d,6 + add r10d,r12d + and r15d,esi +DB 143,232,120,194,248,13 + xor r14d,r11d + add r10d,r13d + vpsrld xmm6,xmm0,10 + xor r15d,eax + add ecx,r10d +DB 143,232,120,194,239,2 + ror r14d,2 + add r10d,r15d + vpxor xmm7,xmm7,xmm6 + mov r13d,ecx + add r14d,r10d + ror r13d,14 + mov r10d,r14d + vpxor xmm7,xmm7,xmm5 + mov r12d,edx + xor r13d,ecx + ror r14d,9 + xor r12d,r8d + vpslldq xmm7,xmm7,8 + ror r13d,5 + xor r14d,r10d + and r12d,ecx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((32-128))+rdi] + xor r13d,ecx + vpaddd xmm0,xmm0,xmm7 + add r9d,DWORD[8+rsp] + mov r15d,r10d + ror r14d,11 + xor r12d,r8d + vpaddd xmm6,xmm0,XMMWORD[rbp] + xor r15d,r11d + ror r13d,6 + add r9d,r12d + and esi,r15d + xor r14d,r10d + add r9d,r13d + xor esi,r11d + add ebx,r9d + ror r14d,2 + add r9d,esi + mov r13d,ebx + add r14d,r9d + ror r13d,14 + mov r9d,r14d + mov r12d,ecx + xor r13d,ebx + ror r14d,9 + xor r12d,edx + ror r13d,5 + xor r14d,r9d + and r12d,ebx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((48-128))+rdi] + xor r13d,ebx + add r8d,DWORD[12+rsp] + mov esi,r9d + ror r14d,11 + xor r12d,edx + xor esi,r10d + ror r13d,6 + add r8d,r12d + and r15d,esi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + add eax,r8d + ror r14d,2 + add r8d,r15d + mov r13d,eax + add r14d,r8d + vmovdqa XMMWORD[rsp],xmm6 + vpalignr xmm4,xmm2,xmm1,4 + ror r13d,14 + mov r8d,r14d + vpalignr xmm7,xmm0,xmm3,4 + mov r12d,ebx + xor r13d,eax +DB 143,232,120,194,236,14 + ror r14d,9 + xor r12d,ecx + vpsrld xmm4,xmm4,3 + ror r13d,5 + xor r14d,r8d + vpaddd xmm1,xmm1,xmm7 + and r12d,eax + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((64-128))+rdi] + xor r13d,eax + add edx,DWORD[16+rsp] + mov r15d,r8d +DB 143,232,120,194,245,11 + ror r14d,11 + xor r12d,ecx + vpxor xmm4,xmm4,xmm5 + xor r15d,r9d + ror r13d,6 + add edx,r12d + and esi,r15d +DB 143,232,120,194,248,13 + xor r14d,r8d + add edx,r13d + vpxor xmm4,xmm4,xmm6 + xor esi,r9d + add r11d,edx + vpsrld xmm6,xmm0,10 + ror r14d,2 + add edx,esi + vpaddd xmm1,xmm1,xmm4 + mov r13d,r11d + add r14d,edx +DB 143,232,120,194,239,2 + ror r13d,14 + mov edx,r14d + vpxor xmm7,xmm7,xmm6 + mov r12d,eax + xor r13d,r11d + ror r14d,9 + xor r12d,ebx + vpxor xmm7,xmm7,xmm5 + ror r13d,5 + xor r14d,edx + and r12d,r11d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((80-128))+rdi] + xor r13d,r11d + vpsrldq xmm7,xmm7,8 + add ecx,DWORD[20+rsp] + mov esi,edx + ror r14d,11 + xor r12d,ebx + vpaddd xmm1,xmm1,xmm7 + xor esi,r8d + ror r13d,6 + add ecx,r12d + and r15d,esi +DB 143,232,120,194,249,13 + xor r14d,edx + add ecx,r13d + vpsrld xmm6,xmm1,10 + xor r15d,r8d + add r10d,ecx +DB 143,232,120,194,239,2 + ror r14d,2 + add ecx,r15d + vpxor xmm7,xmm7,xmm6 + mov r13d,r10d + add r14d,ecx + ror r13d,14 + mov ecx,r14d + vpxor xmm7,xmm7,xmm5 + mov r12d,r11d + xor r13d,r10d + ror r14d,9 + xor r12d,eax + vpslldq xmm7,xmm7,8 + ror r13d,5 + xor r14d,ecx + and r12d,r10d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((96-128))+rdi] + xor r13d,r10d + vpaddd xmm1,xmm1,xmm7 + add ebx,DWORD[24+rsp] + mov r15d,ecx + ror r14d,11 + xor r12d,eax + vpaddd xmm6,xmm1,XMMWORD[32+rbp] + xor r15d,edx + ror r13d,6 + add ebx,r12d + and esi,r15d + xor r14d,ecx + add ebx,r13d + xor esi,edx + add r9d,ebx + ror r14d,2 + add ebx,esi + mov r13d,r9d + add r14d,ebx + ror r13d,14 + mov ebx,r14d + mov r12d,r10d + xor r13d,r9d + ror r14d,9 + xor r12d,r11d + ror r13d,5 + xor r14d,ebx + and r12d,r9d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((112-128))+rdi] + xor r13d,r9d + add eax,DWORD[28+rsp] + mov esi,ebx + ror r14d,11 + xor r12d,r11d + xor esi,ecx + ror r13d,6 + add eax,r12d + and r15d,esi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + add r8d,eax + ror r14d,2 + add eax,r15d + mov r13d,r8d + add r14d,eax + vmovdqa XMMWORD[16+rsp],xmm6 + vpalignr xmm4,xmm3,xmm2,4 + ror r13d,14 + mov eax,r14d + vpalignr xmm7,xmm1,xmm0,4 + mov r12d,r9d + xor r13d,r8d +DB 143,232,120,194,236,14 + ror r14d,9 + xor r12d,r10d + vpsrld xmm4,xmm4,3 + ror r13d,5 + xor r14d,eax + vpaddd xmm2,xmm2,xmm7 + and r12d,r8d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((128-128))+rdi] + xor r13d,r8d + add r11d,DWORD[32+rsp] + mov r15d,eax +DB 143,232,120,194,245,11 + ror r14d,11 + xor r12d,r10d + vpxor xmm4,xmm4,xmm5 + xor r15d,ebx + ror r13d,6 + add r11d,r12d + and esi,r15d +DB 143,232,120,194,249,13 + xor r14d,eax + add r11d,r13d + vpxor xmm4,xmm4,xmm6 + xor esi,ebx + add edx,r11d + vpsrld xmm6,xmm1,10 + ror r14d,2 + add r11d,esi + vpaddd xmm2,xmm2,xmm4 + mov r13d,edx + add r14d,r11d +DB 143,232,120,194,239,2 + ror r13d,14 + mov r11d,r14d + vpxor xmm7,xmm7,xmm6 + mov r12d,r8d + xor r13d,edx + ror r14d,9 + xor r12d,r9d + vpxor xmm7,xmm7,xmm5 + ror r13d,5 + xor r14d,r11d + and r12d,edx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((144-128))+rdi] + xor r13d,edx + vpsrldq xmm7,xmm7,8 + add r10d,DWORD[36+rsp] + mov esi,r11d + ror r14d,11 + xor r12d,r9d + vpaddd xmm2,xmm2,xmm7 + xor esi,eax + ror r13d,6 + add r10d,r12d + and r15d,esi +DB 143,232,120,194,250,13 + xor r14d,r11d + add r10d,r13d + vpsrld xmm6,xmm2,10 + xor r15d,eax + add ecx,r10d +DB 143,232,120,194,239,2 + ror r14d,2 + add r10d,r15d + vpxor xmm7,xmm7,xmm6 + mov r13d,ecx + add r14d,r10d + ror r13d,14 + mov r10d,r14d + vpxor xmm7,xmm7,xmm5 + mov r12d,edx + xor r13d,ecx + ror r14d,9 + xor r12d,r8d + vpslldq xmm7,xmm7,8 + ror r13d,5 + xor r14d,r10d + and r12d,ecx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((160-128))+rdi] + xor r13d,ecx + vpaddd xmm2,xmm2,xmm7 + add r9d,DWORD[40+rsp] + mov r15d,r10d + ror r14d,11 + xor r12d,r8d + vpaddd xmm6,xmm2,XMMWORD[64+rbp] + xor r15d,r11d + ror r13d,6 + add r9d,r12d + and esi,r15d + xor r14d,r10d + add r9d,r13d + xor esi,r11d + add ebx,r9d + ror r14d,2 + add r9d,esi + mov r13d,ebx + add r14d,r9d + ror r13d,14 + mov r9d,r14d + mov r12d,ecx + xor r13d,ebx + ror r14d,9 + xor r12d,edx + ror r13d,5 + xor r14d,r9d + and r12d,ebx + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((176-128))+rdi] + xor r13d,ebx + add r8d,DWORD[44+rsp] + mov esi,r9d + ror r14d,11 + xor r12d,edx + xor esi,r10d + ror r13d,6 + add r8d,r12d + and r15d,esi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + add eax,r8d + ror r14d,2 + add r8d,r15d + mov r13d,eax + add r14d,r8d + vmovdqa XMMWORD[32+rsp],xmm6 + vpalignr xmm4,xmm0,xmm3,4 + ror r13d,14 + mov r8d,r14d + vpalignr xmm7,xmm2,xmm1,4 + mov r12d,ebx + xor r13d,eax +DB 143,232,120,194,236,14 + ror r14d,9 + xor r12d,ecx + vpsrld xmm4,xmm4,3 + ror r13d,5 + xor r14d,r8d + vpaddd xmm3,xmm3,xmm7 + and r12d,eax + vpand xmm8,xmm11,xmm12 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((192-128))+rdi] + xor r13d,eax + add edx,DWORD[48+rsp] + mov r15d,r8d +DB 143,232,120,194,245,11 + ror r14d,11 + xor r12d,ecx + vpxor xmm4,xmm4,xmm5 + xor r15d,r9d + ror r13d,6 + add edx,r12d + and esi,r15d +DB 143,232,120,194,250,13 + xor r14d,r8d + add edx,r13d + vpxor xmm4,xmm4,xmm6 + xor esi,r9d + add r11d,edx + vpsrld xmm6,xmm2,10 + ror r14d,2 + add edx,esi + vpaddd xmm3,xmm3,xmm4 + mov r13d,r11d + add r14d,edx +DB 143,232,120,194,239,2 + ror r13d,14 + mov edx,r14d + vpxor xmm7,xmm7,xmm6 + mov r12d,eax + xor r13d,r11d + ror r14d,9 + xor r12d,ebx + vpxor xmm7,xmm7,xmm5 + ror r13d,5 + xor r14d,edx + and r12d,r11d + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((208-128))+rdi] + xor r13d,r11d + vpsrldq xmm7,xmm7,8 + add ecx,DWORD[52+rsp] + mov esi,edx + ror r14d,11 + xor r12d,ebx + vpaddd xmm3,xmm3,xmm7 + xor esi,r8d + ror r13d,6 + add ecx,r12d + and r15d,esi +DB 143,232,120,194,251,13 + xor r14d,edx + add ecx,r13d + vpsrld xmm6,xmm3,10 + xor r15d,r8d + add r10d,ecx +DB 143,232,120,194,239,2 + ror r14d,2 + add ecx,r15d + vpxor xmm7,xmm7,xmm6 + mov r13d,r10d + add r14d,ecx + ror r13d,14 + mov ecx,r14d + vpxor xmm7,xmm7,xmm5 + mov r12d,r11d + xor r13d,r10d + ror r14d,9 + xor r12d,eax + vpslldq xmm7,xmm7,8 + ror r13d,5 + xor r14d,ecx + and r12d,r10d + vpand xmm11,xmm11,xmm13 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((224-128))+rdi] + xor r13d,r10d + vpaddd xmm3,xmm3,xmm7 + add ebx,DWORD[56+rsp] + mov r15d,ecx + ror r14d,11 + xor r12d,eax + vpaddd xmm6,xmm3,XMMWORD[96+rbp] + xor r15d,edx + ror r13d,6 + add ebx,r12d + and esi,r15d + xor r14d,ecx + add ebx,r13d + xor esi,edx + add r9d,ebx + ror r14d,2 + add ebx,esi + mov r13d,r9d + add r14d,ebx + ror r13d,14 + mov ebx,r14d + mov r12d,r10d + xor r13d,r9d + ror r14d,9 + xor r12d,r11d + ror r13d,5 + xor r14d,ebx + and r12d,r9d + vpor xmm8,xmm8,xmm11 + vaesenclast xmm11,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((0-128))+rdi] + xor r13d,r9d + add eax,DWORD[60+rsp] + mov esi,ebx + ror r14d,11 + xor r12d,r11d + xor esi,ecx + ror r13d,6 + add eax,r12d + and r15d,esi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + add r8d,eax + ror r14d,2 + add eax,r15d + mov r13d,r8d + add r14d,eax + vmovdqa XMMWORD[48+rsp],xmm6 + mov r12,QWORD[((64+0))+rsp] + vpand xmm11,xmm11,xmm14 + mov r15,QWORD[((64+8))+rsp] + vpor xmm8,xmm8,xmm11 + vmovdqu XMMWORD[r12*1+r15],xmm8 + lea r12,[16+r12] + cmp BYTE[131+rbp],0 + jne NEAR $L$xop_00_47 + vmovdqu xmm9,XMMWORD[r12] + mov QWORD[((64+0))+rsp],r12 + ror r13d,14 + mov eax,r14d + mov r12d,r9d + xor r13d,r8d + ror r14d,9 + xor r12d,r10d + ror r13d,5 + xor r14d,eax + and r12d,r8d + vpxor xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((16-128))+rdi] + xor r13d,r8d + add r11d,DWORD[rsp] + mov r15d,eax + ror r14d,11 + xor r12d,r10d + xor r15d,ebx + ror r13d,6 + add r11d,r12d + and esi,r15d + xor r14d,eax + add r11d,r13d + xor esi,ebx + add edx,r11d + ror r14d,2 + add r11d,esi + mov r13d,edx + add r14d,r11d + ror r13d,14 + mov r11d,r14d + mov r12d,r8d + xor r13d,edx + ror r14d,9 + xor r12d,r9d + ror r13d,5 + xor r14d,r11d + and r12d,edx + vpxor xmm9,xmm9,xmm8 + xor r13d,edx + add r10d,DWORD[4+rsp] + mov esi,r11d + ror r14d,11 + xor r12d,r9d + xor esi,eax + ror r13d,6 + add r10d,r12d + and r15d,esi + xor r14d,r11d + add r10d,r13d + xor r15d,eax + add ecx,r10d + ror r14d,2 + add r10d,r15d + mov r13d,ecx + add r14d,r10d + ror r13d,14 + mov r10d,r14d + mov r12d,edx + xor r13d,ecx + ror r14d,9 + xor r12d,r8d + ror r13d,5 + xor r14d,r10d + and r12d,ecx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((32-128))+rdi] + xor r13d,ecx + add r9d,DWORD[8+rsp] + mov r15d,r10d + ror r14d,11 + xor r12d,r8d + xor r15d,r11d + ror r13d,6 + add r9d,r12d + and esi,r15d + xor r14d,r10d + add r9d,r13d + xor esi,r11d + add ebx,r9d + ror r14d,2 + add r9d,esi + mov r13d,ebx + add r14d,r9d + ror r13d,14 + mov r9d,r14d + mov r12d,ecx + xor r13d,ebx + ror r14d,9 + xor r12d,edx + ror r13d,5 + xor r14d,r9d + and r12d,ebx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((48-128))+rdi] + xor r13d,ebx + add r8d,DWORD[12+rsp] + mov esi,r9d + ror r14d,11 + xor r12d,edx + xor esi,r10d + ror r13d,6 + add r8d,r12d + and r15d,esi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + add eax,r8d + ror r14d,2 + add r8d,r15d + mov r13d,eax + add r14d,r8d + ror r13d,14 + mov r8d,r14d + mov r12d,ebx + xor r13d,eax + ror r14d,9 + xor r12d,ecx + ror r13d,5 + xor r14d,r8d + and r12d,eax + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((64-128))+rdi] + xor r13d,eax + add edx,DWORD[16+rsp] + mov r15d,r8d + ror r14d,11 + xor r12d,ecx + xor r15d,r9d + ror r13d,6 + add edx,r12d + and esi,r15d + xor r14d,r8d + add edx,r13d + xor esi,r9d + add r11d,edx + ror r14d,2 + add edx,esi + mov r13d,r11d + add r14d,edx + ror r13d,14 + mov edx,r14d + mov r12d,eax + xor r13d,r11d + ror r14d,9 + xor r12d,ebx + ror r13d,5 + xor r14d,edx + and r12d,r11d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((80-128))+rdi] + xor r13d,r11d + add ecx,DWORD[20+rsp] + mov esi,edx + ror r14d,11 + xor r12d,ebx + xor esi,r8d + ror r13d,6 + add ecx,r12d + and r15d,esi + xor r14d,edx + add ecx,r13d + xor r15d,r8d + add r10d,ecx + ror r14d,2 + add ecx,r15d + mov r13d,r10d + add r14d,ecx + ror r13d,14 + mov ecx,r14d + mov r12d,r11d + xor r13d,r10d + ror r14d,9 + xor r12d,eax + ror r13d,5 + xor r14d,ecx + and r12d,r10d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((96-128))+rdi] + xor r13d,r10d + add ebx,DWORD[24+rsp] + mov r15d,ecx + ror r14d,11 + xor r12d,eax + xor r15d,edx + ror r13d,6 + add ebx,r12d + and esi,r15d + xor r14d,ecx + add ebx,r13d + xor esi,edx + add r9d,ebx + ror r14d,2 + add ebx,esi + mov r13d,r9d + add r14d,ebx + ror r13d,14 + mov ebx,r14d + mov r12d,r10d + xor r13d,r9d + ror r14d,9 + xor r12d,r11d + ror r13d,5 + xor r14d,ebx + and r12d,r9d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((112-128))+rdi] + xor r13d,r9d + add eax,DWORD[28+rsp] + mov esi,ebx + ror r14d,11 + xor r12d,r11d + xor esi,ecx + ror r13d,6 + add eax,r12d + and r15d,esi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + add r8d,eax + ror r14d,2 + add eax,r15d + mov r13d,r8d + add r14d,eax + ror r13d,14 + mov eax,r14d + mov r12d,r9d + xor r13d,r8d + ror r14d,9 + xor r12d,r10d + ror r13d,5 + xor r14d,eax + and r12d,r8d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((128-128))+rdi] + xor r13d,r8d + add r11d,DWORD[32+rsp] + mov r15d,eax + ror r14d,11 + xor r12d,r10d + xor r15d,ebx + ror r13d,6 + add r11d,r12d + and esi,r15d + xor r14d,eax + add r11d,r13d + xor esi,ebx + add edx,r11d + ror r14d,2 + add r11d,esi + mov r13d,edx + add r14d,r11d + ror r13d,14 + mov r11d,r14d + mov r12d,r8d + xor r13d,edx + ror r14d,9 + xor r12d,r9d + ror r13d,5 + xor r14d,r11d + and r12d,edx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((144-128))+rdi] + xor r13d,edx + add r10d,DWORD[36+rsp] + mov esi,r11d + ror r14d,11 + xor r12d,r9d + xor esi,eax + ror r13d,6 + add r10d,r12d + and r15d,esi + xor r14d,r11d + add r10d,r13d + xor r15d,eax + add ecx,r10d + ror r14d,2 + add r10d,r15d + mov r13d,ecx + add r14d,r10d + ror r13d,14 + mov r10d,r14d + mov r12d,edx + xor r13d,ecx + ror r14d,9 + xor r12d,r8d + ror r13d,5 + xor r14d,r10d + and r12d,ecx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((160-128))+rdi] + xor r13d,ecx + add r9d,DWORD[40+rsp] + mov r15d,r10d + ror r14d,11 + xor r12d,r8d + xor r15d,r11d + ror r13d,6 + add r9d,r12d + and esi,r15d + xor r14d,r10d + add r9d,r13d + xor esi,r11d + add ebx,r9d + ror r14d,2 + add r9d,esi + mov r13d,ebx + add r14d,r9d + ror r13d,14 + mov r9d,r14d + mov r12d,ecx + xor r13d,ebx + ror r14d,9 + xor r12d,edx + ror r13d,5 + xor r14d,r9d + and r12d,ebx + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((176-128))+rdi] + xor r13d,ebx + add r8d,DWORD[44+rsp] + mov esi,r9d + ror r14d,11 + xor r12d,edx + xor esi,r10d + ror r13d,6 + add r8d,r12d + and r15d,esi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + add eax,r8d + ror r14d,2 + add r8d,r15d + mov r13d,eax + add r14d,r8d + ror r13d,14 + mov r8d,r14d + mov r12d,ebx + xor r13d,eax + ror r14d,9 + xor r12d,ecx + ror r13d,5 + xor r14d,r8d + and r12d,eax + vpand xmm8,xmm11,xmm12 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((192-128))+rdi] + xor r13d,eax + add edx,DWORD[48+rsp] + mov r15d,r8d + ror r14d,11 + xor r12d,ecx + xor r15d,r9d + ror r13d,6 + add edx,r12d + and esi,r15d + xor r14d,r8d + add edx,r13d + xor esi,r9d + add r11d,edx + ror r14d,2 + add edx,esi + mov r13d,r11d + add r14d,edx + ror r13d,14 + mov edx,r14d + mov r12d,eax + xor r13d,r11d + ror r14d,9 + xor r12d,ebx + ror r13d,5 + xor r14d,edx + and r12d,r11d + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((208-128))+rdi] + xor r13d,r11d + add ecx,DWORD[52+rsp] + mov esi,edx + ror r14d,11 + xor r12d,ebx + xor esi,r8d + ror r13d,6 + add ecx,r12d + and r15d,esi + xor r14d,edx + add ecx,r13d + xor r15d,r8d + add r10d,ecx + ror r14d,2 + add ecx,r15d + mov r13d,r10d + add r14d,ecx + ror r13d,14 + mov ecx,r14d + mov r12d,r11d + xor r13d,r10d + ror r14d,9 + xor r12d,eax + ror r13d,5 + xor r14d,ecx + and r12d,r10d + vpand xmm11,xmm11,xmm13 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((224-128))+rdi] + xor r13d,r10d + add ebx,DWORD[56+rsp] + mov r15d,ecx + ror r14d,11 + xor r12d,eax + xor r15d,edx + ror r13d,6 + add ebx,r12d + and esi,r15d + xor r14d,ecx + add ebx,r13d + xor esi,edx + add r9d,ebx + ror r14d,2 + add ebx,esi + mov r13d,r9d + add r14d,ebx + ror r13d,14 + mov ebx,r14d + mov r12d,r10d + xor r13d,r9d + ror r14d,9 + xor r12d,r11d + ror r13d,5 + xor r14d,ebx + and r12d,r9d + vpor xmm8,xmm8,xmm11 + vaesenclast xmm11,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((0-128))+rdi] + xor r13d,r9d + add eax,DWORD[60+rsp] + mov esi,ebx + ror r14d,11 + xor r12d,r11d + xor esi,ecx + ror r13d,6 + add eax,r12d + and r15d,esi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + add r8d,eax + ror r14d,2 + add eax,r15d + mov r13d,r8d + add r14d,eax + mov r12,QWORD[((64+0))+rsp] + mov r13,QWORD[((64+8))+rsp] + mov r15,QWORD[((64+40))+rsp] + mov rsi,QWORD[((64+48))+rsp] + + vpand xmm11,xmm11,xmm14 + mov eax,r14d + vpor xmm8,xmm8,xmm11 + vmovdqu XMMWORD[r13*1+r12],xmm8 + lea r12,[16+r12] + + add eax,DWORD[r15] + add ebx,DWORD[4+r15] + add ecx,DWORD[8+r15] + add edx,DWORD[12+r15] + add r8d,DWORD[16+r15] + add r9d,DWORD[20+r15] + add r10d,DWORD[24+r15] + add r11d,DWORD[28+r15] + + cmp r12,QWORD[((64+16))+rsp] + + mov DWORD[r15],eax + mov DWORD[4+r15],ebx + mov DWORD[8+r15],ecx + mov DWORD[12+r15],edx + mov DWORD[16+r15],r8d + mov DWORD[20+r15],r9d + mov DWORD[24+r15],r10d + mov DWORD[28+r15],r11d + + jb NEAR $L$loop_xop + + mov r8,QWORD[((64+32))+rsp] + mov rsi,QWORD[((64+56))+rsp] + vmovdqu XMMWORD[r8],xmm8 + vzeroall + movaps xmm6,XMMWORD[128+rsp] + movaps xmm7,XMMWORD[144+rsp] + movaps xmm8,XMMWORD[160+rsp] + movaps xmm9,XMMWORD[176+rsp] + movaps xmm10,XMMWORD[192+rsp] + movaps xmm11,XMMWORD[208+rsp] + movaps xmm12,XMMWORD[224+rsp] + movaps xmm13,XMMWORD[240+rsp] + movaps xmm14,XMMWORD[256+rsp] + movaps xmm15,XMMWORD[272+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_xop: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_cbc_sha256_enc_xop: + +ALIGN 64 +aesni_cbc_sha256_enc_avx: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_cbc_sha256_enc_avx: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + +$L$avx_shortcut: + mov r10,QWORD[56+rsp] + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov r11,rsp + sub rsp,288 + and rsp,-64 + + shl rdx,6 + sub rsi,rdi + sub r10,rdi + add rdx,rdi + + + mov QWORD[((64+8))+rsp],rsi + mov QWORD[((64+16))+rsp],rdx + + mov QWORD[((64+32))+rsp],r8 + mov QWORD[((64+40))+rsp],r9 + mov QWORD[((64+48))+rsp],r10 + mov QWORD[((64+56))+rsp],r11 + movaps XMMWORD[128+rsp],xmm6 + movaps XMMWORD[144+rsp],xmm7 + movaps XMMWORD[160+rsp],xmm8 + movaps XMMWORD[176+rsp],xmm9 + movaps XMMWORD[192+rsp],xmm10 + movaps XMMWORD[208+rsp],xmm11 + movaps XMMWORD[224+rsp],xmm12 + movaps XMMWORD[240+rsp],xmm13 + movaps XMMWORD[256+rsp],xmm14 + movaps XMMWORD[272+rsp],xmm15 +$L$prologue_avx: + vzeroall + + mov r12,rdi + lea rdi,[128+rcx] + lea r13,[((K256+544))] + mov r14d,DWORD[((240-128))+rdi] + mov r15,r9 + mov rsi,r10 + vmovdqu xmm8,XMMWORD[r8] + sub r14,9 + + mov eax,DWORD[r15] + mov ebx,DWORD[4+r15] + mov ecx,DWORD[8+r15] + mov edx,DWORD[12+r15] + mov r8d,DWORD[16+r15] + mov r9d,DWORD[20+r15] + mov r10d,DWORD[24+r15] + mov r11d,DWORD[28+r15] + + vmovdqa xmm14,XMMWORD[r14*8+r13] + vmovdqa xmm13,XMMWORD[16+r14*8+r13] + vmovdqa xmm12,XMMWORD[32+r14*8+r13] + vmovdqu xmm10,XMMWORD[((0-128))+rdi] + jmp NEAR $L$loop_avx +ALIGN 16 +$L$loop_avx: + vmovdqa xmm7,XMMWORD[((K256+512))] + vmovdqu xmm0,XMMWORD[r12*1+rsi] + vmovdqu xmm1,XMMWORD[16+r12*1+rsi] + vmovdqu xmm2,XMMWORD[32+r12*1+rsi] + vmovdqu xmm3,XMMWORD[48+r12*1+rsi] + vpshufb xmm0,xmm0,xmm7 + lea rbp,[K256] + vpshufb xmm1,xmm1,xmm7 + vpshufb xmm2,xmm2,xmm7 + vpaddd xmm4,xmm0,XMMWORD[rbp] + vpshufb xmm3,xmm3,xmm7 + vpaddd xmm5,xmm1,XMMWORD[32+rbp] + vpaddd xmm6,xmm2,XMMWORD[64+rbp] + vpaddd xmm7,xmm3,XMMWORD[96+rbp] + vmovdqa XMMWORD[rsp],xmm4 + mov r14d,eax + vmovdqa XMMWORD[16+rsp],xmm5 + mov esi,ebx + vmovdqa XMMWORD[32+rsp],xmm6 + xor esi,ecx + vmovdqa XMMWORD[48+rsp],xmm7 + mov r13d,r8d + jmp NEAR $L$avx_00_47 + +ALIGN 16 +$L$avx_00_47: + sub rbp,-16*2*4 + vmovdqu xmm9,XMMWORD[r12] + mov QWORD[((64+0))+rsp],r12 + vpalignr xmm4,xmm1,xmm0,4 + shrd r13d,r13d,14 + mov eax,r14d + mov r12d,r9d + vpalignr xmm7,xmm3,xmm2,4 + xor r13d,r8d + shrd r14d,r14d,9 + xor r12d,r10d + vpsrld xmm6,xmm4,7 + shrd r13d,r13d,5 + xor r14d,eax + and r12d,r8d + vpaddd xmm0,xmm0,xmm7 + vpxor xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((16-128))+rdi] + xor r13d,r8d + add r11d,DWORD[rsp] + mov r15d,eax + vpsrld xmm7,xmm4,3 + shrd r14d,r14d,11 + xor r12d,r10d + xor r15d,ebx + vpslld xmm5,xmm4,14 + shrd r13d,r13d,6 + add r11d,r12d + and esi,r15d + vpxor xmm4,xmm7,xmm6 + xor r14d,eax + add r11d,r13d + xor esi,ebx + vpshufd xmm7,xmm3,250 + add edx,r11d + shrd r14d,r14d,2 + add r11d,esi + vpsrld xmm6,xmm6,11 + mov r13d,edx + add r14d,r11d + shrd r13d,r13d,14 + vpxor xmm4,xmm4,xmm5 + mov r11d,r14d + mov r12d,r8d + xor r13d,edx + vpslld xmm5,xmm5,11 + shrd r14d,r14d,9 + xor r12d,r9d + shrd r13d,r13d,5 + vpxor xmm4,xmm4,xmm6 + xor r14d,r11d + and r12d,edx + vpxor xmm9,xmm9,xmm8 + xor r13d,edx + vpsrld xmm6,xmm7,10 + add r10d,DWORD[4+rsp] + mov esi,r11d + shrd r14d,r14d,11 + vpxor xmm4,xmm4,xmm5 + xor r12d,r9d + xor esi,eax + shrd r13d,r13d,6 + vpsrlq xmm7,xmm7,17 + add r10d,r12d + and r15d,esi + xor r14d,r11d + vpaddd xmm0,xmm0,xmm4 + add r10d,r13d + xor r15d,eax + add ecx,r10d + vpxor xmm6,xmm6,xmm7 + shrd r14d,r14d,2 + add r10d,r15d + mov r13d,ecx + vpsrlq xmm7,xmm7,2 + add r14d,r10d + shrd r13d,r13d,14 + mov r10d,r14d + vpxor xmm6,xmm6,xmm7 + mov r12d,edx + xor r13d,ecx + shrd r14d,r14d,9 + vpshufd xmm6,xmm6,132 + xor r12d,r8d + shrd r13d,r13d,5 + xor r14d,r10d + vpsrldq xmm6,xmm6,8 + and r12d,ecx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((32-128))+rdi] + xor r13d,ecx + add r9d,DWORD[8+rsp] + vpaddd xmm0,xmm0,xmm6 + mov r15d,r10d + shrd r14d,r14d,11 + xor r12d,r8d + vpshufd xmm7,xmm0,80 + xor r15d,r11d + shrd r13d,r13d,6 + add r9d,r12d + vpsrld xmm6,xmm7,10 + and esi,r15d + xor r14d,r10d + add r9d,r13d + vpsrlq xmm7,xmm7,17 + xor esi,r11d + add ebx,r9d + shrd r14d,r14d,2 + vpxor xmm6,xmm6,xmm7 + add r9d,esi + mov r13d,ebx + add r14d,r9d + vpsrlq xmm7,xmm7,2 + shrd r13d,r13d,14 + mov r9d,r14d + mov r12d,ecx + vpxor xmm6,xmm6,xmm7 + xor r13d,ebx + shrd r14d,r14d,9 + xor r12d,edx + vpshufd xmm6,xmm6,232 + shrd r13d,r13d,5 + xor r14d,r9d + and r12d,ebx + vpslldq xmm6,xmm6,8 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((48-128))+rdi] + xor r13d,ebx + add r8d,DWORD[12+rsp] + mov esi,r9d + vpaddd xmm0,xmm0,xmm6 + shrd r14d,r14d,11 + xor r12d,edx + xor esi,r10d + vpaddd xmm6,xmm0,XMMWORD[rbp] + shrd r13d,r13d,6 + add r8d,r12d + and r15d,esi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + add eax,r8d + shrd r14d,r14d,2 + add r8d,r15d + mov r13d,eax + add r14d,r8d + vmovdqa XMMWORD[rsp],xmm6 + vpalignr xmm4,xmm2,xmm1,4 + shrd r13d,r13d,14 + mov r8d,r14d + mov r12d,ebx + vpalignr xmm7,xmm0,xmm3,4 + xor r13d,eax + shrd r14d,r14d,9 + xor r12d,ecx + vpsrld xmm6,xmm4,7 + shrd r13d,r13d,5 + xor r14d,r8d + and r12d,eax + vpaddd xmm1,xmm1,xmm7 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((64-128))+rdi] + xor r13d,eax + add edx,DWORD[16+rsp] + mov r15d,r8d + vpsrld xmm7,xmm4,3 + shrd r14d,r14d,11 + xor r12d,ecx + xor r15d,r9d + vpslld xmm5,xmm4,14 + shrd r13d,r13d,6 + add edx,r12d + and esi,r15d + vpxor xmm4,xmm7,xmm6 + xor r14d,r8d + add edx,r13d + xor esi,r9d + vpshufd xmm7,xmm0,250 + add r11d,edx + shrd r14d,r14d,2 + add edx,esi + vpsrld xmm6,xmm6,11 + mov r13d,r11d + add r14d,edx + shrd r13d,r13d,14 + vpxor xmm4,xmm4,xmm5 + mov edx,r14d + mov r12d,eax + xor r13d,r11d + vpslld xmm5,xmm5,11 + shrd r14d,r14d,9 + xor r12d,ebx + shrd r13d,r13d,5 + vpxor xmm4,xmm4,xmm6 + xor r14d,edx + and r12d,r11d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((80-128))+rdi] + xor r13d,r11d + vpsrld xmm6,xmm7,10 + add ecx,DWORD[20+rsp] + mov esi,edx + shrd r14d,r14d,11 + vpxor xmm4,xmm4,xmm5 + xor r12d,ebx + xor esi,r8d + shrd r13d,r13d,6 + vpsrlq xmm7,xmm7,17 + add ecx,r12d + and r15d,esi + xor r14d,edx + vpaddd xmm1,xmm1,xmm4 + add ecx,r13d + xor r15d,r8d + add r10d,ecx + vpxor xmm6,xmm6,xmm7 + shrd r14d,r14d,2 + add ecx,r15d + mov r13d,r10d + vpsrlq xmm7,xmm7,2 + add r14d,ecx + shrd r13d,r13d,14 + mov ecx,r14d + vpxor xmm6,xmm6,xmm7 + mov r12d,r11d + xor r13d,r10d + shrd r14d,r14d,9 + vpshufd xmm6,xmm6,132 + xor r12d,eax + shrd r13d,r13d,5 + xor r14d,ecx + vpsrldq xmm6,xmm6,8 + and r12d,r10d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((96-128))+rdi] + xor r13d,r10d + add ebx,DWORD[24+rsp] + vpaddd xmm1,xmm1,xmm6 + mov r15d,ecx + shrd r14d,r14d,11 + xor r12d,eax + vpshufd xmm7,xmm1,80 + xor r15d,edx + shrd r13d,r13d,6 + add ebx,r12d + vpsrld xmm6,xmm7,10 + and esi,r15d + xor r14d,ecx + add ebx,r13d + vpsrlq xmm7,xmm7,17 + xor esi,edx + add r9d,ebx + shrd r14d,r14d,2 + vpxor xmm6,xmm6,xmm7 + add ebx,esi + mov r13d,r9d + add r14d,ebx + vpsrlq xmm7,xmm7,2 + shrd r13d,r13d,14 + mov ebx,r14d + mov r12d,r10d + vpxor xmm6,xmm6,xmm7 + xor r13d,r9d + shrd r14d,r14d,9 + xor r12d,r11d + vpshufd xmm6,xmm6,232 + shrd r13d,r13d,5 + xor r14d,ebx + and r12d,r9d + vpslldq xmm6,xmm6,8 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((112-128))+rdi] + xor r13d,r9d + add eax,DWORD[28+rsp] + mov esi,ebx + vpaddd xmm1,xmm1,xmm6 + shrd r14d,r14d,11 + xor r12d,r11d + xor esi,ecx + vpaddd xmm6,xmm1,XMMWORD[32+rbp] + shrd r13d,r13d,6 + add eax,r12d + and r15d,esi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + add r8d,eax + shrd r14d,r14d,2 + add eax,r15d + mov r13d,r8d + add r14d,eax + vmovdqa XMMWORD[16+rsp],xmm6 + vpalignr xmm4,xmm3,xmm2,4 + shrd r13d,r13d,14 + mov eax,r14d + mov r12d,r9d + vpalignr xmm7,xmm1,xmm0,4 + xor r13d,r8d + shrd r14d,r14d,9 + xor r12d,r10d + vpsrld xmm6,xmm4,7 + shrd r13d,r13d,5 + xor r14d,eax + and r12d,r8d + vpaddd xmm2,xmm2,xmm7 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((128-128))+rdi] + xor r13d,r8d + add r11d,DWORD[32+rsp] + mov r15d,eax + vpsrld xmm7,xmm4,3 + shrd r14d,r14d,11 + xor r12d,r10d + xor r15d,ebx + vpslld xmm5,xmm4,14 + shrd r13d,r13d,6 + add r11d,r12d + and esi,r15d + vpxor xmm4,xmm7,xmm6 + xor r14d,eax + add r11d,r13d + xor esi,ebx + vpshufd xmm7,xmm1,250 + add edx,r11d + shrd r14d,r14d,2 + add r11d,esi + vpsrld xmm6,xmm6,11 + mov r13d,edx + add r14d,r11d + shrd r13d,r13d,14 + vpxor xmm4,xmm4,xmm5 + mov r11d,r14d + mov r12d,r8d + xor r13d,edx + vpslld xmm5,xmm5,11 + shrd r14d,r14d,9 + xor r12d,r9d + shrd r13d,r13d,5 + vpxor xmm4,xmm4,xmm6 + xor r14d,r11d + and r12d,edx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((144-128))+rdi] + xor r13d,edx + vpsrld xmm6,xmm7,10 + add r10d,DWORD[36+rsp] + mov esi,r11d + shrd r14d,r14d,11 + vpxor xmm4,xmm4,xmm5 + xor r12d,r9d + xor esi,eax + shrd r13d,r13d,6 + vpsrlq xmm7,xmm7,17 + add r10d,r12d + and r15d,esi + xor r14d,r11d + vpaddd xmm2,xmm2,xmm4 + add r10d,r13d + xor r15d,eax + add ecx,r10d + vpxor xmm6,xmm6,xmm7 + shrd r14d,r14d,2 + add r10d,r15d + mov r13d,ecx + vpsrlq xmm7,xmm7,2 + add r14d,r10d + shrd r13d,r13d,14 + mov r10d,r14d + vpxor xmm6,xmm6,xmm7 + mov r12d,edx + xor r13d,ecx + shrd r14d,r14d,9 + vpshufd xmm6,xmm6,132 + xor r12d,r8d + shrd r13d,r13d,5 + xor r14d,r10d + vpsrldq xmm6,xmm6,8 + and r12d,ecx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((160-128))+rdi] + xor r13d,ecx + add r9d,DWORD[40+rsp] + vpaddd xmm2,xmm2,xmm6 + mov r15d,r10d + shrd r14d,r14d,11 + xor r12d,r8d + vpshufd xmm7,xmm2,80 + xor r15d,r11d + shrd r13d,r13d,6 + add r9d,r12d + vpsrld xmm6,xmm7,10 + and esi,r15d + xor r14d,r10d + add r9d,r13d + vpsrlq xmm7,xmm7,17 + xor esi,r11d + add ebx,r9d + shrd r14d,r14d,2 + vpxor xmm6,xmm6,xmm7 + add r9d,esi + mov r13d,ebx + add r14d,r9d + vpsrlq xmm7,xmm7,2 + shrd r13d,r13d,14 + mov r9d,r14d + mov r12d,ecx + vpxor xmm6,xmm6,xmm7 + xor r13d,ebx + shrd r14d,r14d,9 + xor r12d,edx + vpshufd xmm6,xmm6,232 + shrd r13d,r13d,5 + xor r14d,r9d + and r12d,ebx + vpslldq xmm6,xmm6,8 + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((176-128))+rdi] + xor r13d,ebx + add r8d,DWORD[44+rsp] + mov esi,r9d + vpaddd xmm2,xmm2,xmm6 + shrd r14d,r14d,11 + xor r12d,edx + xor esi,r10d + vpaddd xmm6,xmm2,XMMWORD[64+rbp] + shrd r13d,r13d,6 + add r8d,r12d + and r15d,esi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + add eax,r8d + shrd r14d,r14d,2 + add r8d,r15d + mov r13d,eax + add r14d,r8d + vmovdqa XMMWORD[32+rsp],xmm6 + vpalignr xmm4,xmm0,xmm3,4 + shrd r13d,r13d,14 + mov r8d,r14d + mov r12d,ebx + vpalignr xmm7,xmm2,xmm1,4 + xor r13d,eax + shrd r14d,r14d,9 + xor r12d,ecx + vpsrld xmm6,xmm4,7 + shrd r13d,r13d,5 + xor r14d,r8d + and r12d,eax + vpaddd xmm3,xmm3,xmm7 + vpand xmm8,xmm11,xmm12 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((192-128))+rdi] + xor r13d,eax + add edx,DWORD[48+rsp] + mov r15d,r8d + vpsrld xmm7,xmm4,3 + shrd r14d,r14d,11 + xor r12d,ecx + xor r15d,r9d + vpslld xmm5,xmm4,14 + shrd r13d,r13d,6 + add edx,r12d + and esi,r15d + vpxor xmm4,xmm7,xmm6 + xor r14d,r8d + add edx,r13d + xor esi,r9d + vpshufd xmm7,xmm2,250 + add r11d,edx + shrd r14d,r14d,2 + add edx,esi + vpsrld xmm6,xmm6,11 + mov r13d,r11d + add r14d,edx + shrd r13d,r13d,14 + vpxor xmm4,xmm4,xmm5 + mov edx,r14d + mov r12d,eax + xor r13d,r11d + vpslld xmm5,xmm5,11 + shrd r14d,r14d,9 + xor r12d,ebx + shrd r13d,r13d,5 + vpxor xmm4,xmm4,xmm6 + xor r14d,edx + and r12d,r11d + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((208-128))+rdi] + xor r13d,r11d + vpsrld xmm6,xmm7,10 + add ecx,DWORD[52+rsp] + mov esi,edx + shrd r14d,r14d,11 + vpxor xmm4,xmm4,xmm5 + xor r12d,ebx + xor esi,r8d + shrd r13d,r13d,6 + vpsrlq xmm7,xmm7,17 + add ecx,r12d + and r15d,esi + xor r14d,edx + vpaddd xmm3,xmm3,xmm4 + add ecx,r13d + xor r15d,r8d + add r10d,ecx + vpxor xmm6,xmm6,xmm7 + shrd r14d,r14d,2 + add ecx,r15d + mov r13d,r10d + vpsrlq xmm7,xmm7,2 + add r14d,ecx + shrd r13d,r13d,14 + mov ecx,r14d + vpxor xmm6,xmm6,xmm7 + mov r12d,r11d + xor r13d,r10d + shrd r14d,r14d,9 + vpshufd xmm6,xmm6,132 + xor r12d,eax + shrd r13d,r13d,5 + xor r14d,ecx + vpsrldq xmm6,xmm6,8 + and r12d,r10d + vpand xmm11,xmm11,xmm13 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((224-128))+rdi] + xor r13d,r10d + add ebx,DWORD[56+rsp] + vpaddd xmm3,xmm3,xmm6 + mov r15d,ecx + shrd r14d,r14d,11 + xor r12d,eax + vpshufd xmm7,xmm3,80 + xor r15d,edx + shrd r13d,r13d,6 + add ebx,r12d + vpsrld xmm6,xmm7,10 + and esi,r15d + xor r14d,ecx + add ebx,r13d + vpsrlq xmm7,xmm7,17 + xor esi,edx + add r9d,ebx + shrd r14d,r14d,2 + vpxor xmm6,xmm6,xmm7 + add ebx,esi + mov r13d,r9d + add r14d,ebx + vpsrlq xmm7,xmm7,2 + shrd r13d,r13d,14 + mov ebx,r14d + mov r12d,r10d + vpxor xmm6,xmm6,xmm7 + xor r13d,r9d + shrd r14d,r14d,9 + xor r12d,r11d + vpshufd xmm6,xmm6,232 + shrd r13d,r13d,5 + xor r14d,ebx + and r12d,r9d + vpslldq xmm6,xmm6,8 + vpor xmm8,xmm8,xmm11 + vaesenclast xmm11,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((0-128))+rdi] + xor r13d,r9d + add eax,DWORD[60+rsp] + mov esi,ebx + vpaddd xmm3,xmm3,xmm6 + shrd r14d,r14d,11 + xor r12d,r11d + xor esi,ecx + vpaddd xmm6,xmm3,XMMWORD[96+rbp] + shrd r13d,r13d,6 + add eax,r12d + and r15d,esi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + add r8d,eax + shrd r14d,r14d,2 + add eax,r15d + mov r13d,r8d + add r14d,eax + vmovdqa XMMWORD[48+rsp],xmm6 + mov r12,QWORD[((64+0))+rsp] + vpand xmm11,xmm11,xmm14 + mov r15,QWORD[((64+8))+rsp] + vpor xmm8,xmm8,xmm11 + vmovdqu XMMWORD[r12*1+r15],xmm8 + lea r12,[16+r12] + cmp BYTE[131+rbp],0 + jne NEAR $L$avx_00_47 + vmovdqu xmm9,XMMWORD[r12] + mov QWORD[((64+0))+rsp],r12 + shrd r13d,r13d,14 + mov eax,r14d + mov r12d,r9d + xor r13d,r8d + shrd r14d,r14d,9 + xor r12d,r10d + shrd r13d,r13d,5 + xor r14d,eax + and r12d,r8d + vpxor xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((16-128))+rdi] + xor r13d,r8d + add r11d,DWORD[rsp] + mov r15d,eax + shrd r14d,r14d,11 + xor r12d,r10d + xor r15d,ebx + shrd r13d,r13d,6 + add r11d,r12d + and esi,r15d + xor r14d,eax + add r11d,r13d + xor esi,ebx + add edx,r11d + shrd r14d,r14d,2 + add r11d,esi + mov r13d,edx + add r14d,r11d + shrd r13d,r13d,14 + mov r11d,r14d + mov r12d,r8d + xor r13d,edx + shrd r14d,r14d,9 + xor r12d,r9d + shrd r13d,r13d,5 + xor r14d,r11d + and r12d,edx + vpxor xmm9,xmm9,xmm8 + xor r13d,edx + add r10d,DWORD[4+rsp] + mov esi,r11d + shrd r14d,r14d,11 + xor r12d,r9d + xor esi,eax + shrd r13d,r13d,6 + add r10d,r12d + and r15d,esi + xor r14d,r11d + add r10d,r13d + xor r15d,eax + add ecx,r10d + shrd r14d,r14d,2 + add r10d,r15d + mov r13d,ecx + add r14d,r10d + shrd r13d,r13d,14 + mov r10d,r14d + mov r12d,edx + xor r13d,ecx + shrd r14d,r14d,9 + xor r12d,r8d + shrd r13d,r13d,5 + xor r14d,r10d + and r12d,ecx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((32-128))+rdi] + xor r13d,ecx + add r9d,DWORD[8+rsp] + mov r15d,r10d + shrd r14d,r14d,11 + xor r12d,r8d + xor r15d,r11d + shrd r13d,r13d,6 + add r9d,r12d + and esi,r15d + xor r14d,r10d + add r9d,r13d + xor esi,r11d + add ebx,r9d + shrd r14d,r14d,2 + add r9d,esi + mov r13d,ebx + add r14d,r9d + shrd r13d,r13d,14 + mov r9d,r14d + mov r12d,ecx + xor r13d,ebx + shrd r14d,r14d,9 + xor r12d,edx + shrd r13d,r13d,5 + xor r14d,r9d + and r12d,ebx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((48-128))+rdi] + xor r13d,ebx + add r8d,DWORD[12+rsp] + mov esi,r9d + shrd r14d,r14d,11 + xor r12d,edx + xor esi,r10d + shrd r13d,r13d,6 + add r8d,r12d + and r15d,esi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + add eax,r8d + shrd r14d,r14d,2 + add r8d,r15d + mov r13d,eax + add r14d,r8d + shrd r13d,r13d,14 + mov r8d,r14d + mov r12d,ebx + xor r13d,eax + shrd r14d,r14d,9 + xor r12d,ecx + shrd r13d,r13d,5 + xor r14d,r8d + and r12d,eax + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((64-128))+rdi] + xor r13d,eax + add edx,DWORD[16+rsp] + mov r15d,r8d + shrd r14d,r14d,11 + xor r12d,ecx + xor r15d,r9d + shrd r13d,r13d,6 + add edx,r12d + and esi,r15d + xor r14d,r8d + add edx,r13d + xor esi,r9d + add r11d,edx + shrd r14d,r14d,2 + add edx,esi + mov r13d,r11d + add r14d,edx + shrd r13d,r13d,14 + mov edx,r14d + mov r12d,eax + xor r13d,r11d + shrd r14d,r14d,9 + xor r12d,ebx + shrd r13d,r13d,5 + xor r14d,edx + and r12d,r11d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((80-128))+rdi] + xor r13d,r11d + add ecx,DWORD[20+rsp] + mov esi,edx + shrd r14d,r14d,11 + xor r12d,ebx + xor esi,r8d + shrd r13d,r13d,6 + add ecx,r12d + and r15d,esi + xor r14d,edx + add ecx,r13d + xor r15d,r8d + add r10d,ecx + shrd r14d,r14d,2 + add ecx,r15d + mov r13d,r10d + add r14d,ecx + shrd r13d,r13d,14 + mov ecx,r14d + mov r12d,r11d + xor r13d,r10d + shrd r14d,r14d,9 + xor r12d,eax + shrd r13d,r13d,5 + xor r14d,ecx + and r12d,r10d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((96-128))+rdi] + xor r13d,r10d + add ebx,DWORD[24+rsp] + mov r15d,ecx + shrd r14d,r14d,11 + xor r12d,eax + xor r15d,edx + shrd r13d,r13d,6 + add ebx,r12d + and esi,r15d + xor r14d,ecx + add ebx,r13d + xor esi,edx + add r9d,ebx + shrd r14d,r14d,2 + add ebx,esi + mov r13d,r9d + add r14d,ebx + shrd r13d,r13d,14 + mov ebx,r14d + mov r12d,r10d + xor r13d,r9d + shrd r14d,r14d,9 + xor r12d,r11d + shrd r13d,r13d,5 + xor r14d,ebx + and r12d,r9d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((112-128))+rdi] + xor r13d,r9d + add eax,DWORD[28+rsp] + mov esi,ebx + shrd r14d,r14d,11 + xor r12d,r11d + xor esi,ecx + shrd r13d,r13d,6 + add eax,r12d + and r15d,esi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + add r8d,eax + shrd r14d,r14d,2 + add eax,r15d + mov r13d,r8d + add r14d,eax + shrd r13d,r13d,14 + mov eax,r14d + mov r12d,r9d + xor r13d,r8d + shrd r14d,r14d,9 + xor r12d,r10d + shrd r13d,r13d,5 + xor r14d,eax + and r12d,r8d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((128-128))+rdi] + xor r13d,r8d + add r11d,DWORD[32+rsp] + mov r15d,eax + shrd r14d,r14d,11 + xor r12d,r10d + xor r15d,ebx + shrd r13d,r13d,6 + add r11d,r12d + and esi,r15d + xor r14d,eax + add r11d,r13d + xor esi,ebx + add edx,r11d + shrd r14d,r14d,2 + add r11d,esi + mov r13d,edx + add r14d,r11d + shrd r13d,r13d,14 + mov r11d,r14d + mov r12d,r8d + xor r13d,edx + shrd r14d,r14d,9 + xor r12d,r9d + shrd r13d,r13d,5 + xor r14d,r11d + and r12d,edx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((144-128))+rdi] + xor r13d,edx + add r10d,DWORD[36+rsp] + mov esi,r11d + shrd r14d,r14d,11 + xor r12d,r9d + xor esi,eax + shrd r13d,r13d,6 + add r10d,r12d + and r15d,esi + xor r14d,r11d + add r10d,r13d + xor r15d,eax + add ecx,r10d + shrd r14d,r14d,2 + add r10d,r15d + mov r13d,ecx + add r14d,r10d + shrd r13d,r13d,14 + mov r10d,r14d + mov r12d,edx + xor r13d,ecx + shrd r14d,r14d,9 + xor r12d,r8d + shrd r13d,r13d,5 + xor r14d,r10d + and r12d,ecx + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((160-128))+rdi] + xor r13d,ecx + add r9d,DWORD[40+rsp] + mov r15d,r10d + shrd r14d,r14d,11 + xor r12d,r8d + xor r15d,r11d + shrd r13d,r13d,6 + add r9d,r12d + and esi,r15d + xor r14d,r10d + add r9d,r13d + xor esi,r11d + add ebx,r9d + shrd r14d,r14d,2 + add r9d,esi + mov r13d,ebx + add r14d,r9d + shrd r13d,r13d,14 + mov r9d,r14d + mov r12d,ecx + xor r13d,ebx + shrd r14d,r14d,9 + xor r12d,edx + shrd r13d,r13d,5 + xor r14d,r9d + and r12d,ebx + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((176-128))+rdi] + xor r13d,ebx + add r8d,DWORD[44+rsp] + mov esi,r9d + shrd r14d,r14d,11 + xor r12d,edx + xor esi,r10d + shrd r13d,r13d,6 + add r8d,r12d + and r15d,esi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + add eax,r8d + shrd r14d,r14d,2 + add r8d,r15d + mov r13d,eax + add r14d,r8d + shrd r13d,r13d,14 + mov r8d,r14d + mov r12d,ebx + xor r13d,eax + shrd r14d,r14d,9 + xor r12d,ecx + shrd r13d,r13d,5 + xor r14d,r8d + and r12d,eax + vpand xmm8,xmm11,xmm12 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((192-128))+rdi] + xor r13d,eax + add edx,DWORD[48+rsp] + mov r15d,r8d + shrd r14d,r14d,11 + xor r12d,ecx + xor r15d,r9d + shrd r13d,r13d,6 + add edx,r12d + and esi,r15d + xor r14d,r8d + add edx,r13d + xor esi,r9d + add r11d,edx + shrd r14d,r14d,2 + add edx,esi + mov r13d,r11d + add r14d,edx + shrd r13d,r13d,14 + mov edx,r14d + mov r12d,eax + xor r13d,r11d + shrd r14d,r14d,9 + xor r12d,ebx + shrd r13d,r13d,5 + xor r14d,edx + and r12d,r11d + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((208-128))+rdi] + xor r13d,r11d + add ecx,DWORD[52+rsp] + mov esi,edx + shrd r14d,r14d,11 + xor r12d,ebx + xor esi,r8d + shrd r13d,r13d,6 + add ecx,r12d + and r15d,esi + xor r14d,edx + add ecx,r13d + xor r15d,r8d + add r10d,ecx + shrd r14d,r14d,2 + add ecx,r15d + mov r13d,r10d + add r14d,ecx + shrd r13d,r13d,14 + mov ecx,r14d + mov r12d,r11d + xor r13d,r10d + shrd r14d,r14d,9 + xor r12d,eax + shrd r13d,r13d,5 + xor r14d,ecx + and r12d,r10d + vpand xmm11,xmm11,xmm13 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((224-128))+rdi] + xor r13d,r10d + add ebx,DWORD[56+rsp] + mov r15d,ecx + shrd r14d,r14d,11 + xor r12d,eax + xor r15d,edx + shrd r13d,r13d,6 + add ebx,r12d + and esi,r15d + xor r14d,ecx + add ebx,r13d + xor esi,edx + add r9d,ebx + shrd r14d,r14d,2 + add ebx,esi + mov r13d,r9d + add r14d,ebx + shrd r13d,r13d,14 + mov ebx,r14d + mov r12d,r10d + xor r13d,r9d + shrd r14d,r14d,9 + xor r12d,r11d + shrd r13d,r13d,5 + xor r14d,ebx + and r12d,r9d + vpor xmm8,xmm8,xmm11 + vaesenclast xmm11,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((0-128))+rdi] + xor r13d,r9d + add eax,DWORD[60+rsp] + mov esi,ebx + shrd r14d,r14d,11 + xor r12d,r11d + xor esi,ecx + shrd r13d,r13d,6 + add eax,r12d + and r15d,esi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + add r8d,eax + shrd r14d,r14d,2 + add eax,r15d + mov r13d,r8d + add r14d,eax + mov r12,QWORD[((64+0))+rsp] + mov r13,QWORD[((64+8))+rsp] + mov r15,QWORD[((64+40))+rsp] + mov rsi,QWORD[((64+48))+rsp] + + vpand xmm11,xmm11,xmm14 + mov eax,r14d + vpor xmm8,xmm8,xmm11 + vmovdqu XMMWORD[r13*1+r12],xmm8 + lea r12,[16+r12] + + add eax,DWORD[r15] + add ebx,DWORD[4+r15] + add ecx,DWORD[8+r15] + add edx,DWORD[12+r15] + add r8d,DWORD[16+r15] + add r9d,DWORD[20+r15] + add r10d,DWORD[24+r15] + add r11d,DWORD[28+r15] + + cmp r12,QWORD[((64+16))+rsp] + + mov DWORD[r15],eax + mov DWORD[4+r15],ebx + mov DWORD[8+r15],ecx + mov DWORD[12+r15],edx + mov DWORD[16+r15],r8d + mov DWORD[20+r15],r9d + mov DWORD[24+r15],r10d + mov DWORD[28+r15],r11d + jb NEAR $L$loop_avx + + mov r8,QWORD[((64+32))+rsp] + mov rsi,QWORD[((64+56))+rsp] + vmovdqu XMMWORD[r8],xmm8 + vzeroall + movaps xmm6,XMMWORD[128+rsp] + movaps xmm7,XMMWORD[144+rsp] + movaps xmm8,XMMWORD[160+rsp] + movaps xmm9,XMMWORD[176+rsp] + movaps xmm10,XMMWORD[192+rsp] + movaps xmm11,XMMWORD[208+rsp] + movaps xmm12,XMMWORD[224+rsp] + movaps xmm13,XMMWORD[240+rsp] + movaps xmm14,XMMWORD[256+rsp] + movaps xmm15,XMMWORD[272+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_avx: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_cbc_sha256_enc_avx: + +ALIGN 64 +aesni_cbc_sha256_enc_avx2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_cbc_sha256_enc_avx2: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + +$L$avx2_shortcut: + mov r10,QWORD[56+rsp] + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov r11,rsp + sub rsp,736 + and rsp,-256*4 + add rsp,448 + + shl rdx,6 + sub rsi,rdi + sub r10,rdi + add rdx,rdi + + + + mov QWORD[((64+16))+rsp],rdx + + mov QWORD[((64+32))+rsp],r8 + mov QWORD[((64+40))+rsp],r9 + mov QWORD[((64+48))+rsp],r10 + mov QWORD[((64+56))+rsp],r11 + movaps XMMWORD[128+rsp],xmm6 + movaps XMMWORD[144+rsp],xmm7 + movaps XMMWORD[160+rsp],xmm8 + movaps XMMWORD[176+rsp],xmm9 + movaps XMMWORD[192+rsp],xmm10 + movaps XMMWORD[208+rsp],xmm11 + movaps XMMWORD[224+rsp],xmm12 + movaps XMMWORD[240+rsp],xmm13 + movaps XMMWORD[256+rsp],xmm14 + movaps XMMWORD[272+rsp],xmm15 +$L$prologue_avx2: + vzeroall + + mov r13,rdi + vpinsrq xmm15,xmm15,rsi,1 + lea rdi,[128+rcx] + lea r12,[((K256+544))] + mov r14d,DWORD[((240-128))+rdi] + mov r15,r9 + mov rsi,r10 + vmovdqu xmm8,XMMWORD[r8] + lea r14,[((-9))+r14] + + vmovdqa xmm14,XMMWORD[r14*8+r12] + vmovdqa xmm13,XMMWORD[16+r14*8+r12] + vmovdqa xmm12,XMMWORD[32+r14*8+r12] + + sub r13,-16*4 + mov eax,DWORD[r15] + lea r12,[r13*1+rsi] + mov ebx,DWORD[4+r15] + cmp r13,rdx + mov ecx,DWORD[8+r15] + cmove r12,rsp + mov edx,DWORD[12+r15] + mov r8d,DWORD[16+r15] + mov r9d,DWORD[20+r15] + mov r10d,DWORD[24+r15] + mov r11d,DWORD[28+r15] + vmovdqu xmm10,XMMWORD[((0-128))+rdi] + jmp NEAR $L$oop_avx2 +ALIGN 16 +$L$oop_avx2: + vmovdqa ymm7,YMMWORD[((K256+512))] + vmovdqu xmm0,XMMWORD[((-64+0))+r13*1+rsi] + vmovdqu xmm1,XMMWORD[((-64+16))+r13*1+rsi] + vmovdqu xmm2,XMMWORD[((-64+32))+r13*1+rsi] + vmovdqu xmm3,XMMWORD[((-64+48))+r13*1+rsi] + + vinserti128 ymm0,ymm0,XMMWORD[r12],1 + vinserti128 ymm1,ymm1,XMMWORD[16+r12],1 + vpshufb ymm0,ymm0,ymm7 + vinserti128 ymm2,ymm2,XMMWORD[32+r12],1 + vpshufb ymm1,ymm1,ymm7 + vinserti128 ymm3,ymm3,XMMWORD[48+r12],1 + + lea rbp,[K256] + vpshufb ymm2,ymm2,ymm7 + lea r13,[((-64))+r13] + vpaddd ymm4,ymm0,YMMWORD[rbp] + vpshufb ymm3,ymm3,ymm7 + vpaddd ymm5,ymm1,YMMWORD[32+rbp] + vpaddd ymm6,ymm2,YMMWORD[64+rbp] + vpaddd ymm7,ymm3,YMMWORD[96+rbp] + vmovdqa YMMWORD[rsp],ymm4 + xor r14d,r14d + vmovdqa YMMWORD[32+rsp],ymm5 + lea rsp,[((-64))+rsp] + mov esi,ebx + vmovdqa YMMWORD[rsp],ymm6 + xor esi,ecx + vmovdqa YMMWORD[32+rsp],ymm7 + mov r12d,r9d + sub rbp,-16*2*4 + jmp NEAR $L$avx2_00_47 + +ALIGN 16 +$L$avx2_00_47: + vmovdqu xmm9,XMMWORD[r13] + vpinsrq xmm15,xmm15,r13,0 + lea rsp,[((-64))+rsp] + vpalignr ymm4,ymm1,ymm0,4 + add r11d,DWORD[((0+128))+rsp] + and r12d,r8d + rorx r13d,r8d,25 + vpalignr ymm7,ymm3,ymm2,4 + rorx r15d,r8d,11 + lea eax,[r14*1+rax] + lea r11d,[r12*1+r11] + vpsrld ymm6,ymm4,7 + andn r12d,r8d,r10d + xor r13d,r15d + rorx r14d,r8d,6 + vpaddd ymm0,ymm0,ymm7 + lea r11d,[r12*1+r11] + xor r13d,r14d + mov r15d,eax + vpsrld ymm7,ymm4,3 + rorx r12d,eax,22 + lea r11d,[r13*1+r11] + xor r15d,ebx + vpslld ymm5,ymm4,14 + rorx r14d,eax,13 + rorx r13d,eax,2 + lea edx,[r11*1+rdx] + vpxor ymm4,ymm7,ymm6 + and esi,r15d + vpxor xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((16-128))+rdi] + xor r14d,r12d + xor esi,ebx + vpshufd ymm7,ymm3,250 + xor r14d,r13d + lea r11d,[rsi*1+r11] + mov r12d,r8d + vpsrld ymm6,ymm6,11 + add r10d,DWORD[((4+128))+rsp] + and r12d,edx + rorx r13d,edx,25 + vpxor ymm4,ymm4,ymm5 + rorx esi,edx,11 + lea r11d,[r14*1+r11] + lea r10d,[r12*1+r10] + vpslld ymm5,ymm5,11 + andn r12d,edx,r9d + xor r13d,esi + rorx r14d,edx,6 + vpxor ymm4,ymm4,ymm6 + lea r10d,[r12*1+r10] + xor r13d,r14d + mov esi,r11d + vpsrld ymm6,ymm7,10 + rorx r12d,r11d,22 + lea r10d,[r13*1+r10] + xor esi,eax + vpxor ymm4,ymm4,ymm5 + rorx r14d,r11d,13 + rorx r13d,r11d,2 + lea ecx,[r10*1+rcx] + vpsrlq ymm7,ymm7,17 + and r15d,esi + vpxor xmm9,xmm9,xmm8 + xor r14d,r12d + xor r15d,eax + vpaddd ymm0,ymm0,ymm4 + xor r14d,r13d + lea r10d,[r15*1+r10] + mov r12d,edx + vpxor ymm6,ymm6,ymm7 + add r9d,DWORD[((8+128))+rsp] + and r12d,ecx + rorx r13d,ecx,25 + vpsrlq ymm7,ymm7,2 + rorx r15d,ecx,11 + lea r10d,[r14*1+r10] + lea r9d,[r12*1+r9] + vpxor ymm6,ymm6,ymm7 + andn r12d,ecx,r8d + xor r13d,r15d + rorx r14d,ecx,6 + vpshufd ymm6,ymm6,132 + lea r9d,[r12*1+r9] + xor r13d,r14d + mov r15d,r10d + vpsrldq ymm6,ymm6,8 + rorx r12d,r10d,22 + lea r9d,[r13*1+r9] + xor r15d,r11d + vpaddd ymm0,ymm0,ymm6 + rorx r14d,r10d,13 + rorx r13d,r10d,2 + lea ebx,[r9*1+rbx] + vpshufd ymm7,ymm0,80 + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((32-128))+rdi] + xor r14d,r12d + xor esi,r11d + vpsrld ymm6,ymm7,10 + xor r14d,r13d + lea r9d,[rsi*1+r9] + mov r12d,ecx + vpsrlq ymm7,ymm7,17 + add r8d,DWORD[((12+128))+rsp] + and r12d,ebx + rorx r13d,ebx,25 + vpxor ymm6,ymm6,ymm7 + rorx esi,ebx,11 + lea r9d,[r14*1+r9] + lea r8d,[r12*1+r8] + vpsrlq ymm7,ymm7,2 + andn r12d,ebx,edx + xor r13d,esi + rorx r14d,ebx,6 + vpxor ymm6,ymm6,ymm7 + lea r8d,[r12*1+r8] + xor r13d,r14d + mov esi,r9d + vpshufd ymm6,ymm6,232 + rorx r12d,r9d,22 + lea r8d,[r13*1+r8] + xor esi,r10d + vpslldq ymm6,ymm6,8 + rorx r14d,r9d,13 + rorx r13d,r9d,2 + lea eax,[r8*1+rax] + vpaddd ymm0,ymm0,ymm6 + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((48-128))+rdi] + xor r14d,r12d + xor r15d,r10d + vpaddd ymm6,ymm0,YMMWORD[rbp] + xor r14d,r13d + lea r8d,[r15*1+r8] + mov r12d,ebx + vmovdqa YMMWORD[rsp],ymm6 + vpalignr ymm4,ymm2,ymm1,4 + add edx,DWORD[((32+128))+rsp] + and r12d,eax + rorx r13d,eax,25 + vpalignr ymm7,ymm0,ymm3,4 + rorx r15d,eax,11 + lea r8d,[r14*1+r8] + lea edx,[r12*1+rdx] + vpsrld ymm6,ymm4,7 + andn r12d,eax,ecx + xor r13d,r15d + rorx r14d,eax,6 + vpaddd ymm1,ymm1,ymm7 + lea edx,[r12*1+rdx] + xor r13d,r14d + mov r15d,r8d + vpsrld ymm7,ymm4,3 + rorx r12d,r8d,22 + lea edx,[r13*1+rdx] + xor r15d,r9d + vpslld ymm5,ymm4,14 + rorx r14d,r8d,13 + rorx r13d,r8d,2 + lea r11d,[rdx*1+r11] + vpxor ymm4,ymm7,ymm6 + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((64-128))+rdi] + xor r14d,r12d + xor esi,r9d + vpshufd ymm7,ymm0,250 + xor r14d,r13d + lea edx,[rsi*1+rdx] + mov r12d,eax + vpsrld ymm6,ymm6,11 + add ecx,DWORD[((36+128))+rsp] + and r12d,r11d + rorx r13d,r11d,25 + vpxor ymm4,ymm4,ymm5 + rorx esi,r11d,11 + lea edx,[r14*1+rdx] + lea ecx,[r12*1+rcx] + vpslld ymm5,ymm5,11 + andn r12d,r11d,ebx + xor r13d,esi + rorx r14d,r11d,6 + vpxor ymm4,ymm4,ymm6 + lea ecx,[r12*1+rcx] + xor r13d,r14d + mov esi,edx + vpsrld ymm6,ymm7,10 + rorx r12d,edx,22 + lea ecx,[r13*1+rcx] + xor esi,r8d + vpxor ymm4,ymm4,ymm5 + rorx r14d,edx,13 + rorx r13d,edx,2 + lea r10d,[rcx*1+r10] + vpsrlq ymm7,ymm7,17 + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((80-128))+rdi] + xor r14d,r12d + xor r15d,r8d + vpaddd ymm1,ymm1,ymm4 + xor r14d,r13d + lea ecx,[r15*1+rcx] + mov r12d,r11d + vpxor ymm6,ymm6,ymm7 + add ebx,DWORD[((40+128))+rsp] + and r12d,r10d + rorx r13d,r10d,25 + vpsrlq ymm7,ymm7,2 + rorx r15d,r10d,11 + lea ecx,[r14*1+rcx] + lea ebx,[r12*1+rbx] + vpxor ymm6,ymm6,ymm7 + andn r12d,r10d,eax + xor r13d,r15d + rorx r14d,r10d,6 + vpshufd ymm6,ymm6,132 + lea ebx,[r12*1+rbx] + xor r13d,r14d + mov r15d,ecx + vpsrldq ymm6,ymm6,8 + rorx r12d,ecx,22 + lea ebx,[r13*1+rbx] + xor r15d,edx + vpaddd ymm1,ymm1,ymm6 + rorx r14d,ecx,13 + rorx r13d,ecx,2 + lea r9d,[rbx*1+r9] + vpshufd ymm7,ymm1,80 + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((96-128))+rdi] + xor r14d,r12d + xor esi,edx + vpsrld ymm6,ymm7,10 + xor r14d,r13d + lea ebx,[rsi*1+rbx] + mov r12d,r10d + vpsrlq ymm7,ymm7,17 + add eax,DWORD[((44+128))+rsp] + and r12d,r9d + rorx r13d,r9d,25 + vpxor ymm6,ymm6,ymm7 + rorx esi,r9d,11 + lea ebx,[r14*1+rbx] + lea eax,[r12*1+rax] + vpsrlq ymm7,ymm7,2 + andn r12d,r9d,r11d + xor r13d,esi + rorx r14d,r9d,6 + vpxor ymm6,ymm6,ymm7 + lea eax,[r12*1+rax] + xor r13d,r14d + mov esi,ebx + vpshufd ymm6,ymm6,232 + rorx r12d,ebx,22 + lea eax,[r13*1+rax] + xor esi,ecx + vpslldq ymm6,ymm6,8 + rorx r14d,ebx,13 + rorx r13d,ebx,2 + lea r8d,[rax*1+r8] + vpaddd ymm1,ymm1,ymm6 + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((112-128))+rdi] + xor r14d,r12d + xor r15d,ecx + vpaddd ymm6,ymm1,YMMWORD[32+rbp] + xor r14d,r13d + lea eax,[r15*1+rax] + mov r12d,r9d + vmovdqa YMMWORD[32+rsp],ymm6 + lea rsp,[((-64))+rsp] + vpalignr ymm4,ymm3,ymm2,4 + add r11d,DWORD[((0+128))+rsp] + and r12d,r8d + rorx r13d,r8d,25 + vpalignr ymm7,ymm1,ymm0,4 + rorx r15d,r8d,11 + lea eax,[r14*1+rax] + lea r11d,[r12*1+r11] + vpsrld ymm6,ymm4,7 + andn r12d,r8d,r10d + xor r13d,r15d + rorx r14d,r8d,6 + vpaddd ymm2,ymm2,ymm7 + lea r11d,[r12*1+r11] + xor r13d,r14d + mov r15d,eax + vpsrld ymm7,ymm4,3 + rorx r12d,eax,22 + lea r11d,[r13*1+r11] + xor r15d,ebx + vpslld ymm5,ymm4,14 + rorx r14d,eax,13 + rorx r13d,eax,2 + lea edx,[r11*1+rdx] + vpxor ymm4,ymm7,ymm6 + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((128-128))+rdi] + xor r14d,r12d + xor esi,ebx + vpshufd ymm7,ymm1,250 + xor r14d,r13d + lea r11d,[rsi*1+r11] + mov r12d,r8d + vpsrld ymm6,ymm6,11 + add r10d,DWORD[((4+128))+rsp] + and r12d,edx + rorx r13d,edx,25 + vpxor ymm4,ymm4,ymm5 + rorx esi,edx,11 + lea r11d,[r14*1+r11] + lea r10d,[r12*1+r10] + vpslld ymm5,ymm5,11 + andn r12d,edx,r9d + xor r13d,esi + rorx r14d,edx,6 + vpxor ymm4,ymm4,ymm6 + lea r10d,[r12*1+r10] + xor r13d,r14d + mov esi,r11d + vpsrld ymm6,ymm7,10 + rorx r12d,r11d,22 + lea r10d,[r13*1+r10] + xor esi,eax + vpxor ymm4,ymm4,ymm5 + rorx r14d,r11d,13 + rorx r13d,r11d,2 + lea ecx,[r10*1+rcx] + vpsrlq ymm7,ymm7,17 + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((144-128))+rdi] + xor r14d,r12d + xor r15d,eax + vpaddd ymm2,ymm2,ymm4 + xor r14d,r13d + lea r10d,[r15*1+r10] + mov r12d,edx + vpxor ymm6,ymm6,ymm7 + add r9d,DWORD[((8+128))+rsp] + and r12d,ecx + rorx r13d,ecx,25 + vpsrlq ymm7,ymm7,2 + rorx r15d,ecx,11 + lea r10d,[r14*1+r10] + lea r9d,[r12*1+r9] + vpxor ymm6,ymm6,ymm7 + andn r12d,ecx,r8d + xor r13d,r15d + rorx r14d,ecx,6 + vpshufd ymm6,ymm6,132 + lea r9d,[r12*1+r9] + xor r13d,r14d + mov r15d,r10d + vpsrldq ymm6,ymm6,8 + rorx r12d,r10d,22 + lea r9d,[r13*1+r9] + xor r15d,r11d + vpaddd ymm2,ymm2,ymm6 + rorx r14d,r10d,13 + rorx r13d,r10d,2 + lea ebx,[r9*1+rbx] + vpshufd ymm7,ymm2,80 + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((160-128))+rdi] + xor r14d,r12d + xor esi,r11d + vpsrld ymm6,ymm7,10 + xor r14d,r13d + lea r9d,[rsi*1+r9] + mov r12d,ecx + vpsrlq ymm7,ymm7,17 + add r8d,DWORD[((12+128))+rsp] + and r12d,ebx + rorx r13d,ebx,25 + vpxor ymm6,ymm6,ymm7 + rorx esi,ebx,11 + lea r9d,[r14*1+r9] + lea r8d,[r12*1+r8] + vpsrlq ymm7,ymm7,2 + andn r12d,ebx,edx + xor r13d,esi + rorx r14d,ebx,6 + vpxor ymm6,ymm6,ymm7 + lea r8d,[r12*1+r8] + xor r13d,r14d + mov esi,r9d + vpshufd ymm6,ymm6,232 + rorx r12d,r9d,22 + lea r8d,[r13*1+r8] + xor esi,r10d + vpslldq ymm6,ymm6,8 + rorx r14d,r9d,13 + rorx r13d,r9d,2 + lea eax,[r8*1+rax] + vpaddd ymm2,ymm2,ymm6 + and r15d,esi + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((176-128))+rdi] + xor r14d,r12d + xor r15d,r10d + vpaddd ymm6,ymm2,YMMWORD[64+rbp] + xor r14d,r13d + lea r8d,[r15*1+r8] + mov r12d,ebx + vmovdqa YMMWORD[rsp],ymm6 + vpalignr ymm4,ymm0,ymm3,4 + add edx,DWORD[((32+128))+rsp] + and r12d,eax + rorx r13d,eax,25 + vpalignr ymm7,ymm2,ymm1,4 + rorx r15d,eax,11 + lea r8d,[r14*1+r8] + lea edx,[r12*1+rdx] + vpsrld ymm6,ymm4,7 + andn r12d,eax,ecx + xor r13d,r15d + rorx r14d,eax,6 + vpaddd ymm3,ymm3,ymm7 + lea edx,[r12*1+rdx] + xor r13d,r14d + mov r15d,r8d + vpsrld ymm7,ymm4,3 + rorx r12d,r8d,22 + lea edx,[r13*1+rdx] + xor r15d,r9d + vpslld ymm5,ymm4,14 + rorx r14d,r8d,13 + rorx r13d,r8d,2 + lea r11d,[rdx*1+r11] + vpxor ymm4,ymm7,ymm6 + and esi,r15d + vpand xmm8,xmm11,xmm12 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((192-128))+rdi] + xor r14d,r12d + xor esi,r9d + vpshufd ymm7,ymm2,250 + xor r14d,r13d + lea edx,[rsi*1+rdx] + mov r12d,eax + vpsrld ymm6,ymm6,11 + add ecx,DWORD[((36+128))+rsp] + and r12d,r11d + rorx r13d,r11d,25 + vpxor ymm4,ymm4,ymm5 + rorx esi,r11d,11 + lea edx,[r14*1+rdx] + lea ecx,[r12*1+rcx] + vpslld ymm5,ymm5,11 + andn r12d,r11d,ebx + xor r13d,esi + rorx r14d,r11d,6 + vpxor ymm4,ymm4,ymm6 + lea ecx,[r12*1+rcx] + xor r13d,r14d + mov esi,edx + vpsrld ymm6,ymm7,10 + rorx r12d,edx,22 + lea ecx,[r13*1+rcx] + xor esi,r8d + vpxor ymm4,ymm4,ymm5 + rorx r14d,edx,13 + rorx r13d,edx,2 + lea r10d,[rcx*1+r10] + vpsrlq ymm7,ymm7,17 + and r15d,esi + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((208-128))+rdi] + xor r14d,r12d + xor r15d,r8d + vpaddd ymm3,ymm3,ymm4 + xor r14d,r13d + lea ecx,[r15*1+rcx] + mov r12d,r11d + vpxor ymm6,ymm6,ymm7 + add ebx,DWORD[((40+128))+rsp] + and r12d,r10d + rorx r13d,r10d,25 + vpsrlq ymm7,ymm7,2 + rorx r15d,r10d,11 + lea ecx,[r14*1+rcx] + lea ebx,[r12*1+rbx] + vpxor ymm6,ymm6,ymm7 + andn r12d,r10d,eax + xor r13d,r15d + rorx r14d,r10d,6 + vpshufd ymm6,ymm6,132 + lea ebx,[r12*1+rbx] + xor r13d,r14d + mov r15d,ecx + vpsrldq ymm6,ymm6,8 + rorx r12d,ecx,22 + lea ebx,[r13*1+rbx] + xor r15d,edx + vpaddd ymm3,ymm3,ymm6 + rorx r14d,ecx,13 + rorx r13d,ecx,2 + lea r9d,[rbx*1+r9] + vpshufd ymm7,ymm3,80 + and esi,r15d + vpand xmm11,xmm11,xmm13 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((224-128))+rdi] + xor r14d,r12d + xor esi,edx + vpsrld ymm6,ymm7,10 + xor r14d,r13d + lea ebx,[rsi*1+rbx] + mov r12d,r10d + vpsrlq ymm7,ymm7,17 + add eax,DWORD[((44+128))+rsp] + and r12d,r9d + rorx r13d,r9d,25 + vpxor ymm6,ymm6,ymm7 + rorx esi,r9d,11 + lea ebx,[r14*1+rbx] + lea eax,[r12*1+rax] + vpsrlq ymm7,ymm7,2 + andn r12d,r9d,r11d + xor r13d,esi + rorx r14d,r9d,6 + vpxor ymm6,ymm6,ymm7 + lea eax,[r12*1+rax] + xor r13d,r14d + mov esi,ebx + vpshufd ymm6,ymm6,232 + rorx r12d,ebx,22 + lea eax,[r13*1+rax] + xor esi,ecx + vpslldq ymm6,ymm6,8 + rorx r14d,ebx,13 + rorx r13d,ebx,2 + lea r8d,[rax*1+r8] + vpaddd ymm3,ymm3,ymm6 + and r15d,esi + vpor xmm8,xmm8,xmm11 + vaesenclast xmm11,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((0-128))+rdi] + xor r14d,r12d + xor r15d,ecx + vpaddd ymm6,ymm3,YMMWORD[96+rbp] + xor r14d,r13d + lea eax,[r15*1+rax] + mov r12d,r9d + vmovdqa YMMWORD[32+rsp],ymm6 + vmovq r13,xmm15 + vpextrq r15,xmm15,1 + vpand xmm11,xmm11,xmm14 + vpor xmm8,xmm8,xmm11 + vmovdqu XMMWORD[r13*1+r15],xmm8 + lea r13,[16+r13] + lea rbp,[128+rbp] + cmp BYTE[3+rbp],0 + jne NEAR $L$avx2_00_47 + vmovdqu xmm9,XMMWORD[r13] + vpinsrq xmm15,xmm15,r13,0 + add r11d,DWORD[((0+64))+rsp] + and r12d,r8d + rorx r13d,r8d,25 + rorx r15d,r8d,11 + lea eax,[r14*1+rax] + lea r11d,[r12*1+r11] + andn r12d,r8d,r10d + xor r13d,r15d + rorx r14d,r8d,6 + lea r11d,[r12*1+r11] + xor r13d,r14d + mov r15d,eax + rorx r12d,eax,22 + lea r11d,[r13*1+r11] + xor r15d,ebx + rorx r14d,eax,13 + rorx r13d,eax,2 + lea edx,[r11*1+rdx] + and esi,r15d + vpxor xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((16-128))+rdi] + xor r14d,r12d + xor esi,ebx + xor r14d,r13d + lea r11d,[rsi*1+r11] + mov r12d,r8d + add r10d,DWORD[((4+64))+rsp] + and r12d,edx + rorx r13d,edx,25 + rorx esi,edx,11 + lea r11d,[r14*1+r11] + lea r10d,[r12*1+r10] + andn r12d,edx,r9d + xor r13d,esi + rorx r14d,edx,6 + lea r10d,[r12*1+r10] + xor r13d,r14d + mov esi,r11d + rorx r12d,r11d,22 + lea r10d,[r13*1+r10] + xor esi,eax + rorx r14d,r11d,13 + rorx r13d,r11d,2 + lea ecx,[r10*1+rcx] + and r15d,esi + vpxor xmm9,xmm9,xmm8 + xor r14d,r12d + xor r15d,eax + xor r14d,r13d + lea r10d,[r15*1+r10] + mov r12d,edx + add r9d,DWORD[((8+64))+rsp] + and r12d,ecx + rorx r13d,ecx,25 + rorx r15d,ecx,11 + lea r10d,[r14*1+r10] + lea r9d,[r12*1+r9] + andn r12d,ecx,r8d + xor r13d,r15d + rorx r14d,ecx,6 + lea r9d,[r12*1+r9] + xor r13d,r14d + mov r15d,r10d + rorx r12d,r10d,22 + lea r9d,[r13*1+r9] + xor r15d,r11d + rorx r14d,r10d,13 + rorx r13d,r10d,2 + lea ebx,[r9*1+rbx] + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((32-128))+rdi] + xor r14d,r12d + xor esi,r11d + xor r14d,r13d + lea r9d,[rsi*1+r9] + mov r12d,ecx + add r8d,DWORD[((12+64))+rsp] + and r12d,ebx + rorx r13d,ebx,25 + rorx esi,ebx,11 + lea r9d,[r14*1+r9] + lea r8d,[r12*1+r8] + andn r12d,ebx,edx + xor r13d,esi + rorx r14d,ebx,6 + lea r8d,[r12*1+r8] + xor r13d,r14d + mov esi,r9d + rorx r12d,r9d,22 + lea r8d,[r13*1+r8] + xor esi,r10d + rorx r14d,r9d,13 + rorx r13d,r9d,2 + lea eax,[r8*1+rax] + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((48-128))+rdi] + xor r14d,r12d + xor r15d,r10d + xor r14d,r13d + lea r8d,[r15*1+r8] + mov r12d,ebx + add edx,DWORD[((32+64))+rsp] + and r12d,eax + rorx r13d,eax,25 + rorx r15d,eax,11 + lea r8d,[r14*1+r8] + lea edx,[r12*1+rdx] + andn r12d,eax,ecx + xor r13d,r15d + rorx r14d,eax,6 + lea edx,[r12*1+rdx] + xor r13d,r14d + mov r15d,r8d + rorx r12d,r8d,22 + lea edx,[r13*1+rdx] + xor r15d,r9d + rorx r14d,r8d,13 + rorx r13d,r8d,2 + lea r11d,[rdx*1+r11] + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((64-128))+rdi] + xor r14d,r12d + xor esi,r9d + xor r14d,r13d + lea edx,[rsi*1+rdx] + mov r12d,eax + add ecx,DWORD[((36+64))+rsp] + and r12d,r11d + rorx r13d,r11d,25 + rorx esi,r11d,11 + lea edx,[r14*1+rdx] + lea ecx,[r12*1+rcx] + andn r12d,r11d,ebx + xor r13d,esi + rorx r14d,r11d,6 + lea ecx,[r12*1+rcx] + xor r13d,r14d + mov esi,edx + rorx r12d,edx,22 + lea ecx,[r13*1+rcx] + xor esi,r8d + rorx r14d,edx,13 + rorx r13d,edx,2 + lea r10d,[rcx*1+r10] + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((80-128))+rdi] + xor r14d,r12d + xor r15d,r8d + xor r14d,r13d + lea ecx,[r15*1+rcx] + mov r12d,r11d + add ebx,DWORD[((40+64))+rsp] + and r12d,r10d + rorx r13d,r10d,25 + rorx r15d,r10d,11 + lea ecx,[r14*1+rcx] + lea ebx,[r12*1+rbx] + andn r12d,r10d,eax + xor r13d,r15d + rorx r14d,r10d,6 + lea ebx,[r12*1+rbx] + xor r13d,r14d + mov r15d,ecx + rorx r12d,ecx,22 + lea ebx,[r13*1+rbx] + xor r15d,edx + rorx r14d,ecx,13 + rorx r13d,ecx,2 + lea r9d,[rbx*1+r9] + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((96-128))+rdi] + xor r14d,r12d + xor esi,edx + xor r14d,r13d + lea ebx,[rsi*1+rbx] + mov r12d,r10d + add eax,DWORD[((44+64))+rsp] + and r12d,r9d + rorx r13d,r9d,25 + rorx esi,r9d,11 + lea ebx,[r14*1+rbx] + lea eax,[r12*1+rax] + andn r12d,r9d,r11d + xor r13d,esi + rorx r14d,r9d,6 + lea eax,[r12*1+rax] + xor r13d,r14d + mov esi,ebx + rorx r12d,ebx,22 + lea eax,[r13*1+rax] + xor esi,ecx + rorx r14d,ebx,13 + rorx r13d,ebx,2 + lea r8d,[rax*1+r8] + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((112-128))+rdi] + xor r14d,r12d + xor r15d,ecx + xor r14d,r13d + lea eax,[r15*1+rax] + mov r12d,r9d + add r11d,DWORD[rsp] + and r12d,r8d + rorx r13d,r8d,25 + rorx r15d,r8d,11 + lea eax,[r14*1+rax] + lea r11d,[r12*1+r11] + andn r12d,r8d,r10d + xor r13d,r15d + rorx r14d,r8d,6 + lea r11d,[r12*1+r11] + xor r13d,r14d + mov r15d,eax + rorx r12d,eax,22 + lea r11d,[r13*1+r11] + xor r15d,ebx + rorx r14d,eax,13 + rorx r13d,eax,2 + lea edx,[r11*1+rdx] + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((128-128))+rdi] + xor r14d,r12d + xor esi,ebx + xor r14d,r13d + lea r11d,[rsi*1+r11] + mov r12d,r8d + add r10d,DWORD[4+rsp] + and r12d,edx + rorx r13d,edx,25 + rorx esi,edx,11 + lea r11d,[r14*1+r11] + lea r10d,[r12*1+r10] + andn r12d,edx,r9d + xor r13d,esi + rorx r14d,edx,6 + lea r10d,[r12*1+r10] + xor r13d,r14d + mov esi,r11d + rorx r12d,r11d,22 + lea r10d,[r13*1+r10] + xor esi,eax + rorx r14d,r11d,13 + rorx r13d,r11d,2 + lea ecx,[r10*1+rcx] + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((144-128))+rdi] + xor r14d,r12d + xor r15d,eax + xor r14d,r13d + lea r10d,[r15*1+r10] + mov r12d,edx + add r9d,DWORD[8+rsp] + and r12d,ecx + rorx r13d,ecx,25 + rorx r15d,ecx,11 + lea r10d,[r14*1+r10] + lea r9d,[r12*1+r9] + andn r12d,ecx,r8d + xor r13d,r15d + rorx r14d,ecx,6 + lea r9d,[r12*1+r9] + xor r13d,r14d + mov r15d,r10d + rorx r12d,r10d,22 + lea r9d,[r13*1+r9] + xor r15d,r11d + rorx r14d,r10d,13 + rorx r13d,r10d,2 + lea ebx,[r9*1+rbx] + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((160-128))+rdi] + xor r14d,r12d + xor esi,r11d + xor r14d,r13d + lea r9d,[rsi*1+r9] + mov r12d,ecx + add r8d,DWORD[12+rsp] + and r12d,ebx + rorx r13d,ebx,25 + rorx esi,ebx,11 + lea r9d,[r14*1+r9] + lea r8d,[r12*1+r8] + andn r12d,ebx,edx + xor r13d,esi + rorx r14d,ebx,6 + lea r8d,[r12*1+r8] + xor r13d,r14d + mov esi,r9d + rorx r12d,r9d,22 + lea r8d,[r13*1+r8] + xor esi,r10d + rorx r14d,r9d,13 + rorx r13d,r9d,2 + lea eax,[r8*1+rax] + and r15d,esi + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((176-128))+rdi] + xor r14d,r12d + xor r15d,r10d + xor r14d,r13d + lea r8d,[r15*1+r8] + mov r12d,ebx + add edx,DWORD[32+rsp] + and r12d,eax + rorx r13d,eax,25 + rorx r15d,eax,11 + lea r8d,[r14*1+r8] + lea edx,[r12*1+rdx] + andn r12d,eax,ecx + xor r13d,r15d + rorx r14d,eax,6 + lea edx,[r12*1+rdx] + xor r13d,r14d + mov r15d,r8d + rorx r12d,r8d,22 + lea edx,[r13*1+rdx] + xor r15d,r9d + rorx r14d,r8d,13 + rorx r13d,r8d,2 + lea r11d,[rdx*1+r11] + and esi,r15d + vpand xmm8,xmm11,xmm12 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((192-128))+rdi] + xor r14d,r12d + xor esi,r9d + xor r14d,r13d + lea edx,[rsi*1+rdx] + mov r12d,eax + add ecx,DWORD[36+rsp] + and r12d,r11d + rorx r13d,r11d,25 + rorx esi,r11d,11 + lea edx,[r14*1+rdx] + lea ecx,[r12*1+rcx] + andn r12d,r11d,ebx + xor r13d,esi + rorx r14d,r11d,6 + lea ecx,[r12*1+rcx] + xor r13d,r14d + mov esi,edx + rorx r12d,edx,22 + lea ecx,[r13*1+rcx] + xor esi,r8d + rorx r14d,edx,13 + rorx r13d,edx,2 + lea r10d,[rcx*1+r10] + and r15d,esi + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((208-128))+rdi] + xor r14d,r12d + xor r15d,r8d + xor r14d,r13d + lea ecx,[r15*1+rcx] + mov r12d,r11d + add ebx,DWORD[40+rsp] + and r12d,r10d + rorx r13d,r10d,25 + rorx r15d,r10d,11 + lea ecx,[r14*1+rcx] + lea ebx,[r12*1+rbx] + andn r12d,r10d,eax + xor r13d,r15d + rorx r14d,r10d,6 + lea ebx,[r12*1+rbx] + xor r13d,r14d + mov r15d,ecx + rorx r12d,ecx,22 + lea ebx,[r13*1+rbx] + xor r15d,edx + rorx r14d,ecx,13 + rorx r13d,ecx,2 + lea r9d,[rbx*1+r9] + and esi,r15d + vpand xmm11,xmm11,xmm13 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((224-128))+rdi] + xor r14d,r12d + xor esi,edx + xor r14d,r13d + lea ebx,[rsi*1+rbx] + mov r12d,r10d + add eax,DWORD[44+rsp] + and r12d,r9d + rorx r13d,r9d,25 + rorx esi,r9d,11 + lea ebx,[r14*1+rbx] + lea eax,[r12*1+rax] + andn r12d,r9d,r11d + xor r13d,esi + rorx r14d,r9d,6 + lea eax,[r12*1+rax] + xor r13d,r14d + mov esi,ebx + rorx r12d,ebx,22 + lea eax,[r13*1+rax] + xor esi,ecx + rorx r14d,ebx,13 + rorx r13d,ebx,2 + lea r8d,[rax*1+r8] + and r15d,esi + vpor xmm8,xmm8,xmm11 + vaesenclast xmm11,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((0-128))+rdi] + xor r14d,r12d + xor r15d,ecx + xor r14d,r13d + lea eax,[r15*1+rax] + mov r12d,r9d + vpextrq r12,xmm15,1 + vmovq r13,xmm15 + mov r15,QWORD[552+rsp] + add eax,r14d + lea rbp,[448+rsp] + + vpand xmm11,xmm11,xmm14 + vpor xmm8,xmm8,xmm11 + vmovdqu XMMWORD[r13*1+r12],xmm8 + lea r13,[16+r13] + + add eax,DWORD[r15] + add ebx,DWORD[4+r15] + add ecx,DWORD[8+r15] + add edx,DWORD[12+r15] + add r8d,DWORD[16+r15] + add r9d,DWORD[20+r15] + add r10d,DWORD[24+r15] + add r11d,DWORD[28+r15] + + mov DWORD[r15],eax + mov DWORD[4+r15],ebx + mov DWORD[8+r15],ecx + mov DWORD[12+r15],edx + mov DWORD[16+r15],r8d + mov DWORD[20+r15],r9d + mov DWORD[24+r15],r10d + mov DWORD[28+r15],r11d + + cmp r13,QWORD[80+rbp] + je NEAR $L$done_avx2 + + xor r14d,r14d + mov esi,ebx + mov r12d,r9d + xor esi,ecx + jmp NEAR $L$ower_avx2 +ALIGN 16 +$L$ower_avx2: + vmovdqu xmm9,XMMWORD[r13] + vpinsrq xmm15,xmm15,r13,0 + add r11d,DWORD[((0+16))+rbp] + and r12d,r8d + rorx r13d,r8d,25 + rorx r15d,r8d,11 + lea eax,[r14*1+rax] + lea r11d,[r12*1+r11] + andn r12d,r8d,r10d + xor r13d,r15d + rorx r14d,r8d,6 + lea r11d,[r12*1+r11] + xor r13d,r14d + mov r15d,eax + rorx r12d,eax,22 + lea r11d,[r13*1+r11] + xor r15d,ebx + rorx r14d,eax,13 + rorx r13d,eax,2 + lea edx,[r11*1+rdx] + and esi,r15d + vpxor xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((16-128))+rdi] + xor r14d,r12d + xor esi,ebx + xor r14d,r13d + lea r11d,[rsi*1+r11] + mov r12d,r8d + add r10d,DWORD[((4+16))+rbp] + and r12d,edx + rorx r13d,edx,25 + rorx esi,edx,11 + lea r11d,[r14*1+r11] + lea r10d,[r12*1+r10] + andn r12d,edx,r9d + xor r13d,esi + rorx r14d,edx,6 + lea r10d,[r12*1+r10] + xor r13d,r14d + mov esi,r11d + rorx r12d,r11d,22 + lea r10d,[r13*1+r10] + xor esi,eax + rorx r14d,r11d,13 + rorx r13d,r11d,2 + lea ecx,[r10*1+rcx] + and r15d,esi + vpxor xmm9,xmm9,xmm8 + xor r14d,r12d + xor r15d,eax + xor r14d,r13d + lea r10d,[r15*1+r10] + mov r12d,edx + add r9d,DWORD[((8+16))+rbp] + and r12d,ecx + rorx r13d,ecx,25 + rorx r15d,ecx,11 + lea r10d,[r14*1+r10] + lea r9d,[r12*1+r9] + andn r12d,ecx,r8d + xor r13d,r15d + rorx r14d,ecx,6 + lea r9d,[r12*1+r9] + xor r13d,r14d + mov r15d,r10d + rorx r12d,r10d,22 + lea r9d,[r13*1+r9] + xor r15d,r11d + rorx r14d,r10d,13 + rorx r13d,r10d,2 + lea ebx,[r9*1+rbx] + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((32-128))+rdi] + xor r14d,r12d + xor esi,r11d + xor r14d,r13d + lea r9d,[rsi*1+r9] + mov r12d,ecx + add r8d,DWORD[((12+16))+rbp] + and r12d,ebx + rorx r13d,ebx,25 + rorx esi,ebx,11 + lea r9d,[r14*1+r9] + lea r8d,[r12*1+r8] + andn r12d,ebx,edx + xor r13d,esi + rorx r14d,ebx,6 + lea r8d,[r12*1+r8] + xor r13d,r14d + mov esi,r9d + rorx r12d,r9d,22 + lea r8d,[r13*1+r8] + xor esi,r10d + rorx r14d,r9d,13 + rorx r13d,r9d,2 + lea eax,[r8*1+rax] + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((48-128))+rdi] + xor r14d,r12d + xor r15d,r10d + xor r14d,r13d + lea r8d,[r15*1+r8] + mov r12d,ebx + add edx,DWORD[((32+16))+rbp] + and r12d,eax + rorx r13d,eax,25 + rorx r15d,eax,11 + lea r8d,[r14*1+r8] + lea edx,[r12*1+rdx] + andn r12d,eax,ecx + xor r13d,r15d + rorx r14d,eax,6 + lea edx,[r12*1+rdx] + xor r13d,r14d + mov r15d,r8d + rorx r12d,r8d,22 + lea edx,[r13*1+rdx] + xor r15d,r9d + rorx r14d,r8d,13 + rorx r13d,r8d,2 + lea r11d,[rdx*1+r11] + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((64-128))+rdi] + xor r14d,r12d + xor esi,r9d + xor r14d,r13d + lea edx,[rsi*1+rdx] + mov r12d,eax + add ecx,DWORD[((36+16))+rbp] + and r12d,r11d + rorx r13d,r11d,25 + rorx esi,r11d,11 + lea edx,[r14*1+rdx] + lea ecx,[r12*1+rcx] + andn r12d,r11d,ebx + xor r13d,esi + rorx r14d,r11d,6 + lea ecx,[r12*1+rcx] + xor r13d,r14d + mov esi,edx + rorx r12d,edx,22 + lea ecx,[r13*1+rcx] + xor esi,r8d + rorx r14d,edx,13 + rorx r13d,edx,2 + lea r10d,[rcx*1+r10] + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((80-128))+rdi] + xor r14d,r12d + xor r15d,r8d + xor r14d,r13d + lea ecx,[r15*1+rcx] + mov r12d,r11d + add ebx,DWORD[((40+16))+rbp] + and r12d,r10d + rorx r13d,r10d,25 + rorx r15d,r10d,11 + lea ecx,[r14*1+rcx] + lea ebx,[r12*1+rbx] + andn r12d,r10d,eax + xor r13d,r15d + rorx r14d,r10d,6 + lea ebx,[r12*1+rbx] + xor r13d,r14d + mov r15d,ecx + rorx r12d,ecx,22 + lea ebx,[r13*1+rbx] + xor r15d,edx + rorx r14d,ecx,13 + rorx r13d,ecx,2 + lea r9d,[rbx*1+r9] + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((96-128))+rdi] + xor r14d,r12d + xor esi,edx + xor r14d,r13d + lea ebx,[rsi*1+rbx] + mov r12d,r10d + add eax,DWORD[((44+16))+rbp] + and r12d,r9d + rorx r13d,r9d,25 + rorx esi,r9d,11 + lea ebx,[r14*1+rbx] + lea eax,[r12*1+rax] + andn r12d,r9d,r11d + xor r13d,esi + rorx r14d,r9d,6 + lea eax,[r12*1+rax] + xor r13d,r14d + mov esi,ebx + rorx r12d,ebx,22 + lea eax,[r13*1+rax] + xor esi,ecx + rorx r14d,ebx,13 + rorx r13d,ebx,2 + lea r8d,[rax*1+r8] + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((112-128))+rdi] + xor r14d,r12d + xor r15d,ecx + xor r14d,r13d + lea eax,[r15*1+rax] + mov r12d,r9d + lea rbp,[((-64))+rbp] + add r11d,DWORD[((0+16))+rbp] + and r12d,r8d + rorx r13d,r8d,25 + rorx r15d,r8d,11 + lea eax,[r14*1+rax] + lea r11d,[r12*1+r11] + andn r12d,r8d,r10d + xor r13d,r15d + rorx r14d,r8d,6 + lea r11d,[r12*1+r11] + xor r13d,r14d + mov r15d,eax + rorx r12d,eax,22 + lea r11d,[r13*1+r11] + xor r15d,ebx + rorx r14d,eax,13 + rorx r13d,eax,2 + lea edx,[r11*1+rdx] + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((128-128))+rdi] + xor r14d,r12d + xor esi,ebx + xor r14d,r13d + lea r11d,[rsi*1+r11] + mov r12d,r8d + add r10d,DWORD[((4+16))+rbp] + and r12d,edx + rorx r13d,edx,25 + rorx esi,edx,11 + lea r11d,[r14*1+r11] + lea r10d,[r12*1+r10] + andn r12d,edx,r9d + xor r13d,esi + rorx r14d,edx,6 + lea r10d,[r12*1+r10] + xor r13d,r14d + mov esi,r11d + rorx r12d,r11d,22 + lea r10d,[r13*1+r10] + xor esi,eax + rorx r14d,r11d,13 + rorx r13d,r11d,2 + lea ecx,[r10*1+rcx] + and r15d,esi + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((144-128))+rdi] + xor r14d,r12d + xor r15d,eax + xor r14d,r13d + lea r10d,[r15*1+r10] + mov r12d,edx + add r9d,DWORD[((8+16))+rbp] + and r12d,ecx + rorx r13d,ecx,25 + rorx r15d,ecx,11 + lea r10d,[r14*1+r10] + lea r9d,[r12*1+r9] + andn r12d,ecx,r8d + xor r13d,r15d + rorx r14d,ecx,6 + lea r9d,[r12*1+r9] + xor r13d,r14d + mov r15d,r10d + rorx r12d,r10d,22 + lea r9d,[r13*1+r9] + xor r15d,r11d + rorx r14d,r10d,13 + rorx r13d,r10d,2 + lea ebx,[r9*1+rbx] + and esi,r15d + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((160-128))+rdi] + xor r14d,r12d + xor esi,r11d + xor r14d,r13d + lea r9d,[rsi*1+r9] + mov r12d,ecx + add r8d,DWORD[((12+16))+rbp] + and r12d,ebx + rorx r13d,ebx,25 + rorx esi,ebx,11 + lea r9d,[r14*1+r9] + lea r8d,[r12*1+r8] + andn r12d,ebx,edx + xor r13d,esi + rorx r14d,ebx,6 + lea r8d,[r12*1+r8] + xor r13d,r14d + mov esi,r9d + rorx r12d,r9d,22 + lea r8d,[r13*1+r8] + xor esi,r10d + rorx r14d,r9d,13 + rorx r13d,r9d,2 + lea eax,[r8*1+rax] + and r15d,esi + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((176-128))+rdi] + xor r14d,r12d + xor r15d,r10d + xor r14d,r13d + lea r8d,[r15*1+r8] + mov r12d,ebx + add edx,DWORD[((32+16))+rbp] + and r12d,eax + rorx r13d,eax,25 + rorx r15d,eax,11 + lea r8d,[r14*1+r8] + lea edx,[r12*1+rdx] + andn r12d,eax,ecx + xor r13d,r15d + rorx r14d,eax,6 + lea edx,[r12*1+rdx] + xor r13d,r14d + mov r15d,r8d + rorx r12d,r8d,22 + lea edx,[r13*1+rdx] + xor r15d,r9d + rorx r14d,r8d,13 + rorx r13d,r8d,2 + lea r11d,[rdx*1+r11] + and esi,r15d + vpand xmm8,xmm11,xmm12 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((192-128))+rdi] + xor r14d,r12d + xor esi,r9d + xor r14d,r13d + lea edx,[rsi*1+rdx] + mov r12d,eax + add ecx,DWORD[((36+16))+rbp] + and r12d,r11d + rorx r13d,r11d,25 + rorx esi,r11d,11 + lea edx,[r14*1+rdx] + lea ecx,[r12*1+rcx] + andn r12d,r11d,ebx + xor r13d,esi + rorx r14d,r11d,6 + lea ecx,[r12*1+rcx] + xor r13d,r14d + mov esi,edx + rorx r12d,edx,22 + lea ecx,[r13*1+rcx] + xor esi,r8d + rorx r14d,edx,13 + rorx r13d,edx,2 + lea r10d,[rcx*1+r10] + and r15d,esi + vaesenclast xmm11,xmm9,xmm10 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((208-128))+rdi] + xor r14d,r12d + xor r15d,r8d + xor r14d,r13d + lea ecx,[r15*1+rcx] + mov r12d,r11d + add ebx,DWORD[((40+16))+rbp] + and r12d,r10d + rorx r13d,r10d,25 + rorx r15d,r10d,11 + lea ecx,[r14*1+rcx] + lea ebx,[r12*1+rbx] + andn r12d,r10d,eax + xor r13d,r15d + rorx r14d,r10d,6 + lea ebx,[r12*1+rbx] + xor r13d,r14d + mov r15d,ecx + rorx r12d,ecx,22 + lea ebx,[r13*1+rbx] + xor r15d,edx + rorx r14d,ecx,13 + rorx r13d,ecx,2 + lea r9d,[rbx*1+r9] + and esi,r15d + vpand xmm11,xmm11,xmm13 + vaesenc xmm9,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((224-128))+rdi] + xor r14d,r12d + xor esi,edx + xor r14d,r13d + lea ebx,[rsi*1+rbx] + mov r12d,r10d + add eax,DWORD[((44+16))+rbp] + and r12d,r9d + rorx r13d,r9d,25 + rorx esi,r9d,11 + lea ebx,[r14*1+rbx] + lea eax,[r12*1+rax] + andn r12d,r9d,r11d + xor r13d,esi + rorx r14d,r9d,6 + lea eax,[r12*1+rax] + xor r13d,r14d + mov esi,ebx + rorx r12d,ebx,22 + lea eax,[r13*1+rax] + xor esi,ecx + rorx r14d,ebx,13 + rorx r13d,ebx,2 + lea r8d,[rax*1+r8] + and r15d,esi + vpor xmm8,xmm8,xmm11 + vaesenclast xmm11,xmm9,xmm10 + vmovdqu xmm10,XMMWORD[((0-128))+rdi] + xor r14d,r12d + xor r15d,ecx + xor r14d,r13d + lea eax,[r15*1+rax] + mov r12d,r9d + vmovq r13,xmm15 + vpextrq r15,xmm15,1 + vpand xmm11,xmm11,xmm14 + vpor xmm8,xmm8,xmm11 + lea rbp,[((-64))+rbp] + vmovdqu XMMWORD[r13*1+r15],xmm8 + lea r13,[16+r13] + cmp rbp,rsp + jae NEAR $L$ower_avx2 + + mov r15,QWORD[552+rsp] + lea r13,[64+r13] + mov rsi,QWORD[560+rsp] + add eax,r14d + lea rsp,[448+rsp] + + add eax,DWORD[r15] + add ebx,DWORD[4+r15] + add ecx,DWORD[8+r15] + add edx,DWORD[12+r15] + add r8d,DWORD[16+r15] + add r9d,DWORD[20+r15] + add r10d,DWORD[24+r15] + lea r12,[r13*1+rsi] + add r11d,DWORD[28+r15] + + cmp r13,QWORD[((64+16))+rsp] + + mov DWORD[r15],eax + cmove r12,rsp + mov DWORD[4+r15],ebx + mov DWORD[8+r15],ecx + mov DWORD[12+r15],edx + mov DWORD[16+r15],r8d + mov DWORD[20+r15],r9d + mov DWORD[24+r15],r10d + mov DWORD[28+r15],r11d + + jbe NEAR $L$oop_avx2 + lea rbp,[rsp] + +$L$done_avx2: + lea rsp,[rbp] + mov r8,QWORD[((64+32))+rsp] + mov rsi,QWORD[((64+56))+rsp] + vmovdqu XMMWORD[r8],xmm8 + vzeroall + movaps xmm6,XMMWORD[128+rsp] + movaps xmm7,XMMWORD[144+rsp] + movaps xmm8,XMMWORD[160+rsp] + movaps xmm9,XMMWORD[176+rsp] + movaps xmm10,XMMWORD[192+rsp] + movaps xmm11,XMMWORD[208+rsp] + movaps xmm12,XMMWORD[224+rsp] + movaps xmm13,XMMWORD[240+rsp] + movaps xmm14,XMMWORD[256+rsp] + movaps xmm15,XMMWORD[272+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_avx2: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_cbc_sha256_enc_avx2: + +ALIGN 32 +aesni_cbc_sha256_enc_shaext: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_cbc_sha256_enc_shaext: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov r10,QWORD[56+rsp] + lea rsp,[((-168))+rsp] + movaps XMMWORD[(-8-160)+rax],xmm6 + movaps XMMWORD[(-8-144)+rax],xmm7 + movaps XMMWORD[(-8-128)+rax],xmm8 + movaps XMMWORD[(-8-112)+rax],xmm9 + movaps XMMWORD[(-8-96)+rax],xmm10 + movaps XMMWORD[(-8-80)+rax],xmm11 + movaps XMMWORD[(-8-64)+rax],xmm12 + movaps XMMWORD[(-8-48)+rax],xmm13 + movaps XMMWORD[(-8-32)+rax],xmm14 + movaps XMMWORD[(-8-16)+rax],xmm15 +$L$prologue_shaext: + lea rax,[((K256+128))] + movdqu xmm1,XMMWORD[r9] + movdqu xmm2,XMMWORD[16+r9] + movdqa xmm3,XMMWORD[((512-128))+rax] + + mov r11d,DWORD[240+rcx] + sub rsi,rdi + movups xmm15,XMMWORD[rcx] + movups xmm6,XMMWORD[r8] + movups xmm4,XMMWORD[16+rcx] + lea rcx,[112+rcx] + + pshufd xmm0,xmm1,0x1b + pshufd xmm1,xmm1,0xb1 + pshufd xmm2,xmm2,0x1b + movdqa xmm7,xmm3 +DB 102,15,58,15,202,8 + punpcklqdq xmm2,xmm0 + + jmp NEAR $L$oop_shaext + +ALIGN 16 +$L$oop_shaext: + movdqu xmm10,XMMWORD[r10] + movdqu xmm11,XMMWORD[16+r10] + movdqu xmm12,XMMWORD[32+r10] +DB 102,68,15,56,0,211 + movdqu xmm13,XMMWORD[48+r10] + + movdqa xmm0,XMMWORD[((0-128))+rax] + paddd xmm0,xmm10 +DB 102,68,15,56,0,219 + movdqa xmm9,xmm2 + movdqa xmm8,xmm1 + movups xmm14,XMMWORD[rdi] + xorps xmm14,xmm15 + xorps xmm6,xmm14 + movups xmm5,XMMWORD[((-80))+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movups xmm4,XMMWORD[((-64))+rcx] + aesenc xmm6,xmm5 +DB 15,56,203,202 + + movdqa xmm0,XMMWORD[((32-128))+rax] + paddd xmm0,xmm11 +DB 102,68,15,56,0,227 + lea r10,[64+r10] + movups xmm5,XMMWORD[((-48))+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movups xmm4,XMMWORD[((-32))+rcx] + aesenc xmm6,xmm5 +DB 15,56,203,202 + + movdqa xmm0,XMMWORD[((64-128))+rax] + paddd xmm0,xmm12 +DB 102,68,15,56,0,235 +DB 69,15,56,204,211 + movups xmm5,XMMWORD[((-16))+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm3,xmm13 +DB 102,65,15,58,15,220,4 + paddd xmm10,xmm3 + movups xmm4,XMMWORD[rcx] + aesenc xmm6,xmm5 +DB 15,56,203,202 + + movdqa xmm0,XMMWORD[((96-128))+rax] + paddd xmm0,xmm13 +DB 69,15,56,205,213 +DB 69,15,56,204,220 + movups xmm5,XMMWORD[16+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movups xmm4,XMMWORD[32+rcx] + aesenc xmm6,xmm5 + movdqa xmm3,xmm10 +DB 102,65,15,58,15,221,4 + paddd xmm11,xmm3 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((128-128))+rax] + paddd xmm0,xmm10 +DB 69,15,56,205,218 +DB 69,15,56,204,229 + movups xmm5,XMMWORD[48+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm3,xmm11 +DB 102,65,15,58,15,218,4 + paddd xmm12,xmm3 + cmp r11d,11 + jb NEAR $L$aesenclast1 + movups xmm4,XMMWORD[64+rcx] + aesenc xmm6,xmm5 + movups xmm5,XMMWORD[80+rcx] + aesenc xmm6,xmm4 + je NEAR $L$aesenclast1 + movups xmm4,XMMWORD[96+rcx] + aesenc xmm6,xmm5 + movups xmm5,XMMWORD[112+rcx] + aesenc xmm6,xmm4 +$L$aesenclast1: + aesenclast xmm6,xmm5 + movups xmm4,XMMWORD[((16-112))+rcx] + nop +DB 15,56,203,202 + movups xmm14,XMMWORD[16+rdi] + xorps xmm14,xmm15 + movups XMMWORD[rdi*1+rsi],xmm6 + xorps xmm6,xmm14 + movups xmm5,XMMWORD[((-80))+rcx] + aesenc xmm6,xmm4 + movdqa xmm0,XMMWORD[((160-128))+rax] + paddd xmm0,xmm11 +DB 69,15,56,205,227 +DB 69,15,56,204,234 + movups xmm4,XMMWORD[((-64))+rcx] + aesenc xmm6,xmm5 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm3,xmm12 +DB 102,65,15,58,15,219,4 + paddd xmm13,xmm3 + movups xmm5,XMMWORD[((-48))+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((192-128))+rax] + paddd xmm0,xmm12 +DB 69,15,56,205,236 +DB 69,15,56,204,211 + movups xmm4,XMMWORD[((-32))+rcx] + aesenc xmm6,xmm5 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm3,xmm13 +DB 102,65,15,58,15,220,4 + paddd xmm10,xmm3 + movups xmm5,XMMWORD[((-16))+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((224-128))+rax] + paddd xmm0,xmm13 +DB 69,15,56,205,213 +DB 69,15,56,204,220 + movups xmm4,XMMWORD[rcx] + aesenc xmm6,xmm5 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm3,xmm10 +DB 102,65,15,58,15,221,4 + paddd xmm11,xmm3 + movups xmm5,XMMWORD[16+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((256-128))+rax] + paddd xmm0,xmm10 +DB 69,15,56,205,218 +DB 69,15,56,204,229 + movups xmm4,XMMWORD[32+rcx] + aesenc xmm6,xmm5 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm3,xmm11 +DB 102,65,15,58,15,218,4 + paddd xmm12,xmm3 + movups xmm5,XMMWORD[48+rcx] + aesenc xmm6,xmm4 + cmp r11d,11 + jb NEAR $L$aesenclast2 + movups xmm4,XMMWORD[64+rcx] + aesenc xmm6,xmm5 + movups xmm5,XMMWORD[80+rcx] + aesenc xmm6,xmm4 + je NEAR $L$aesenclast2 + movups xmm4,XMMWORD[96+rcx] + aesenc xmm6,xmm5 + movups xmm5,XMMWORD[112+rcx] + aesenc xmm6,xmm4 +$L$aesenclast2: + aesenclast xmm6,xmm5 + movups xmm4,XMMWORD[((16-112))+rcx] + nop +DB 15,56,203,202 + movups xmm14,XMMWORD[32+rdi] + xorps xmm14,xmm15 + movups XMMWORD[16+rdi*1+rsi],xmm6 + xorps xmm6,xmm14 + movups xmm5,XMMWORD[((-80))+rcx] + aesenc xmm6,xmm4 + movdqa xmm0,XMMWORD[((288-128))+rax] + paddd xmm0,xmm11 +DB 69,15,56,205,227 +DB 69,15,56,204,234 + movups xmm4,XMMWORD[((-64))+rcx] + aesenc xmm6,xmm5 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm3,xmm12 +DB 102,65,15,58,15,219,4 + paddd xmm13,xmm3 + movups xmm5,XMMWORD[((-48))+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((320-128))+rax] + paddd xmm0,xmm12 +DB 69,15,56,205,236 +DB 69,15,56,204,211 + movups xmm4,XMMWORD[((-32))+rcx] + aesenc xmm6,xmm5 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm3,xmm13 +DB 102,65,15,58,15,220,4 + paddd xmm10,xmm3 + movups xmm5,XMMWORD[((-16))+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((352-128))+rax] + paddd xmm0,xmm13 +DB 69,15,56,205,213 +DB 69,15,56,204,220 + movups xmm4,XMMWORD[rcx] + aesenc xmm6,xmm5 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm3,xmm10 +DB 102,65,15,58,15,221,4 + paddd xmm11,xmm3 + movups xmm5,XMMWORD[16+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((384-128))+rax] + paddd xmm0,xmm10 +DB 69,15,56,205,218 +DB 69,15,56,204,229 + movups xmm4,XMMWORD[32+rcx] + aesenc xmm6,xmm5 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm3,xmm11 +DB 102,65,15,58,15,218,4 + paddd xmm12,xmm3 + movups xmm5,XMMWORD[48+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((416-128))+rax] + paddd xmm0,xmm11 +DB 69,15,56,205,227 +DB 69,15,56,204,234 + cmp r11d,11 + jb NEAR $L$aesenclast3 + movups xmm4,XMMWORD[64+rcx] + aesenc xmm6,xmm5 + movups xmm5,XMMWORD[80+rcx] + aesenc xmm6,xmm4 + je NEAR $L$aesenclast3 + movups xmm4,XMMWORD[96+rcx] + aesenc xmm6,xmm5 + movups xmm5,XMMWORD[112+rcx] + aesenc xmm6,xmm4 +$L$aesenclast3: + aesenclast xmm6,xmm5 + movups xmm4,XMMWORD[((16-112))+rcx] + nop +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm3,xmm12 +DB 102,65,15,58,15,219,4 + paddd xmm13,xmm3 + movups xmm14,XMMWORD[48+rdi] + xorps xmm14,xmm15 + movups XMMWORD[32+rdi*1+rsi],xmm6 + xorps xmm6,xmm14 + movups xmm5,XMMWORD[((-80))+rcx] + aesenc xmm6,xmm4 + movups xmm4,XMMWORD[((-64))+rcx] + aesenc xmm6,xmm5 +DB 15,56,203,202 + + movdqa xmm0,XMMWORD[((448-128))+rax] + paddd xmm0,xmm12 +DB 69,15,56,205,236 + movdqa xmm3,xmm7 + movups xmm5,XMMWORD[((-48))+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movups xmm4,XMMWORD[((-32))+rcx] + aesenc xmm6,xmm5 +DB 15,56,203,202 + + movdqa xmm0,XMMWORD[((480-128))+rax] + paddd xmm0,xmm13 + movups xmm5,XMMWORD[((-16))+rcx] + aesenc xmm6,xmm4 + movups xmm4,XMMWORD[rcx] + aesenc xmm6,xmm5 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movups xmm5,XMMWORD[16+rcx] + aesenc xmm6,xmm4 +DB 15,56,203,202 + + movups xmm4,XMMWORD[32+rcx] + aesenc xmm6,xmm5 + movups xmm5,XMMWORD[48+rcx] + aesenc xmm6,xmm4 + cmp r11d,11 + jb NEAR $L$aesenclast4 + movups xmm4,XMMWORD[64+rcx] + aesenc xmm6,xmm5 + movups xmm5,XMMWORD[80+rcx] + aesenc xmm6,xmm4 + je NEAR $L$aesenclast4 + movups xmm4,XMMWORD[96+rcx] + aesenc xmm6,xmm5 + movups xmm5,XMMWORD[112+rcx] + aesenc xmm6,xmm4 +$L$aesenclast4: + aesenclast xmm6,xmm5 + movups xmm4,XMMWORD[((16-112))+rcx] + nop + + paddd xmm2,xmm9 + paddd xmm1,xmm8 + + dec rdx + movups XMMWORD[48+rdi*1+rsi],xmm6 + lea rdi,[64+rdi] + jnz NEAR $L$oop_shaext + + pshufd xmm2,xmm2,0xb1 + pshufd xmm3,xmm1,0x1b + pshufd xmm1,xmm1,0xb1 + punpckhqdq xmm1,xmm2 +DB 102,15,58,15,211,8 + + movups XMMWORD[r8],xmm6 + movdqu XMMWORD[r9],xmm1 + movdqu XMMWORD[16+r9],xmm2 + movaps xmm6,XMMWORD[rsp] + movaps xmm7,XMMWORD[16+rsp] + movaps xmm8,XMMWORD[32+rsp] + movaps xmm9,XMMWORD[48+rsp] + movaps xmm10,XMMWORD[64+rsp] + movaps xmm11,XMMWORD[80+rsp] + movaps xmm12,XMMWORD[96+rsp] + movaps xmm13,XMMWORD[112+rsp] + movaps xmm14,XMMWORD[128+rsp] + movaps xmm15,XMMWORD[144+rsp] + lea rsp,[((8+160))+rsp] +$L$epilogue_shaext: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_cbc_sha256_enc_shaext: +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + lea r10,[aesni_cbc_sha256_enc_shaext] + cmp rbx,r10 + jb NEAR $L$not_in_shaext + + lea rsi,[rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + lea rax,[168+rax] + jmp NEAR $L$in_prologue +$L$not_in_shaext: + lea r10,[$L$avx2_shortcut] + cmp rbx,r10 + jb NEAR $L$not_in_avx2 + + and rax,-256*4 + add rax,448 +$L$not_in_avx2: + mov rsi,rax + mov rax,QWORD[((64+56))+rax] + lea rax,[48+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + + lea rsi,[((64+64))+rsi] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 + DD $L$SEH_begin_aesni_cbc_sha256_enc_xop wrt ..imagebase + DD $L$SEH_end_aesni_cbc_sha256_enc_xop wrt ..imagebase + DD $L$SEH_info_aesni_cbc_sha256_enc_xop wrt ..imagebase + + DD $L$SEH_begin_aesni_cbc_sha256_enc_avx wrt ..imagebase + DD $L$SEH_end_aesni_cbc_sha256_enc_avx wrt ..imagebase + DD $L$SEH_info_aesni_cbc_sha256_enc_avx wrt ..imagebase + DD $L$SEH_begin_aesni_cbc_sha256_enc_avx2 wrt ..imagebase + DD $L$SEH_end_aesni_cbc_sha256_enc_avx2 wrt ..imagebase + DD $L$SEH_info_aesni_cbc_sha256_enc_avx2 wrt ..imagebase + DD $L$SEH_begin_aesni_cbc_sha256_enc_shaext wrt ..imagebase + DD $L$SEH_end_aesni_cbc_sha256_enc_shaext wrt ..imagebase + DD $L$SEH_info_aesni_cbc_sha256_enc_shaext wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_aesni_cbc_sha256_enc_xop: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue_xop wrt ..imagebase,$L$epilogue_xop wrt ..imagebase + +$L$SEH_info_aesni_cbc_sha256_enc_avx: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase +$L$SEH_info_aesni_cbc_sha256_enc_avx2: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase +$L$SEH_info_aesni_cbc_sha256_enc_shaext: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue_shaext wrt ..imagebase,$L$epilogue_shaext wrt ..imagebase diff --git a/tmp64/aesni-x86_64.asm b/tmp64/aesni-x86_64.asm index cf313d1a..f941bfbd 100644 --- a/tmp64/aesni-x86_64.asm +++ b/tmp64/aesni-x86_64.asm @@ -1,4027 +1,4027 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - -EXTERN OPENSSL_ia32cap_P -global aesni_encrypt - -ALIGN 16 -aesni_encrypt: - movups xmm2,XMMWORD[rcx] - mov eax,DWORD[240+r8] - movups xmm0,XMMWORD[r8] - movups xmm1,XMMWORD[16+r8] - lea r8,[32+r8] - xorps xmm2,xmm0 -$L$oop_enc1_1: -DB 102,15,56,220,209 - dec eax - movups xmm1,XMMWORD[r8] - lea r8,[16+r8] - jnz NEAR $L$oop_enc1_1 -DB 102,15,56,221,209 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - movups XMMWORD[rdx],xmm2 - pxor xmm2,xmm2 - DB 0F3h,0C3h ;repret - - -global aesni_decrypt - -ALIGN 16 -aesni_decrypt: - movups xmm2,XMMWORD[rcx] - mov eax,DWORD[240+r8] - movups xmm0,XMMWORD[r8] - movups xmm1,XMMWORD[16+r8] - lea r8,[32+r8] - xorps xmm2,xmm0 -$L$oop_dec1_2: -DB 102,15,56,222,209 - dec eax - movups xmm1,XMMWORD[r8] - lea r8,[16+r8] - jnz NEAR $L$oop_dec1_2 -DB 102,15,56,223,209 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - movups XMMWORD[rdx],xmm2 - pxor xmm2,xmm2 - DB 0F3h,0C3h ;repret - - -ALIGN 16 -_aesni_encrypt2: - movups xmm0,XMMWORD[rcx] - shl eax,4 - movups xmm1,XMMWORD[16+rcx] - xorps xmm2,xmm0 - xorps xmm3,xmm0 - movups xmm0,XMMWORD[32+rcx] - lea rcx,[32+rax*1+rcx] - neg rax - add rax,16 - -$L$enc_loop2: -DB 102,15,56,220,209 -DB 102,15,56,220,217 - movups xmm1,XMMWORD[rax*1+rcx] - add rax,32 -DB 102,15,56,220,208 -DB 102,15,56,220,216 - movups xmm0,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$enc_loop2 - -DB 102,15,56,220,209 -DB 102,15,56,220,217 -DB 102,15,56,221,208 -DB 102,15,56,221,216 - DB 0F3h,0C3h ;repret - - -ALIGN 16 -_aesni_decrypt2: - movups xmm0,XMMWORD[rcx] - shl eax,4 - movups xmm1,XMMWORD[16+rcx] - xorps xmm2,xmm0 - xorps xmm3,xmm0 - movups xmm0,XMMWORD[32+rcx] - lea rcx,[32+rax*1+rcx] - neg rax - add rax,16 - -$L$dec_loop2: -DB 102,15,56,222,209 -DB 102,15,56,222,217 - movups xmm1,XMMWORD[rax*1+rcx] - add rax,32 -DB 102,15,56,222,208 -DB 102,15,56,222,216 - movups xmm0,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$dec_loop2 - -DB 102,15,56,222,209 -DB 102,15,56,222,217 -DB 102,15,56,223,208 -DB 102,15,56,223,216 - DB 0F3h,0C3h ;repret - - -ALIGN 16 -_aesni_encrypt3: - movups xmm0,XMMWORD[rcx] - shl eax,4 - movups xmm1,XMMWORD[16+rcx] - xorps xmm2,xmm0 - xorps xmm3,xmm0 - xorps xmm4,xmm0 - movups xmm0,XMMWORD[32+rcx] - lea rcx,[32+rax*1+rcx] - neg rax - add rax,16 - -$L$enc_loop3: -DB 102,15,56,220,209 -DB 102,15,56,220,217 -DB 102,15,56,220,225 - movups xmm1,XMMWORD[rax*1+rcx] - add rax,32 -DB 102,15,56,220,208 -DB 102,15,56,220,216 -DB 102,15,56,220,224 - movups xmm0,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$enc_loop3 - -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 - DB 0F3h,0C3h ;repret - - -ALIGN 16 -_aesni_decrypt3: - movups xmm0,XMMWORD[rcx] - shl eax,4 - movups xmm1,XMMWORD[16+rcx] - xorps xmm2,xmm0 - xorps xmm3,xmm0 - xorps xmm4,xmm0 - movups xmm0,XMMWORD[32+rcx] - lea rcx,[32+rax*1+rcx] - neg rax - add rax,16 - -$L$dec_loop3: -DB 102,15,56,222,209 -DB 102,15,56,222,217 -DB 102,15,56,222,225 - movups xmm1,XMMWORD[rax*1+rcx] - add rax,32 -DB 102,15,56,222,208 -DB 102,15,56,222,216 -DB 102,15,56,222,224 - movups xmm0,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$dec_loop3 - -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 - DB 0F3h,0C3h ;repret - - -ALIGN 16 -_aesni_encrypt4: - movups xmm0,XMMWORD[rcx] - shl eax,4 - movups xmm1,XMMWORD[16+rcx] - xorps xmm2,xmm0 - xorps xmm3,xmm0 - xorps xmm4,xmm0 - xorps xmm5,xmm0 - movups xmm0,XMMWORD[32+rcx] - lea rcx,[32+rax*1+rcx] - neg rax -DB 0x0f,0x1f,0x00 - add rax,16 - -$L$enc_loop4: -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,XMMWORD[rax*1+rcx] - add rax,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,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$enc_loop4 - -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 - DB 0F3h,0C3h ;repret - - -ALIGN 16 -_aesni_decrypt4: - movups xmm0,XMMWORD[rcx] - shl eax,4 - movups xmm1,XMMWORD[16+rcx] - xorps xmm2,xmm0 - xorps xmm3,xmm0 - xorps xmm4,xmm0 - xorps xmm5,xmm0 - movups xmm0,XMMWORD[32+rcx] - lea rcx,[32+rax*1+rcx] - neg rax -DB 0x0f,0x1f,0x00 - add rax,16 - -$L$dec_loop4: -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,XMMWORD[rax*1+rcx] - add rax,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,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$dec_loop4 - -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 - DB 0F3h,0C3h ;repret - - -ALIGN 16 -_aesni_encrypt6: - movups xmm0,XMMWORD[rcx] - shl eax,4 - movups xmm1,XMMWORD[16+rcx] - xorps xmm2,xmm0 - pxor xmm3,xmm0 - pxor xmm4,xmm0 -DB 102,15,56,220,209 - lea rcx,[32+rax*1+rcx] - neg rax -DB 102,15,56,220,217 - pxor xmm5,xmm0 - pxor xmm6,xmm0 -DB 102,15,56,220,225 - pxor xmm7,xmm0 - movups xmm0,XMMWORD[rax*1+rcx] - add rax,16 - jmp NEAR $L$enc_loop6_enter -ALIGN 16 -$L$enc_loop6: -DB 102,15,56,220,209 -DB 102,15,56,220,217 -DB 102,15,56,220,225 -$L$enc_loop6_enter: -DB 102,15,56,220,233 -DB 102,15,56,220,241 -DB 102,15,56,220,249 - movups xmm1,XMMWORD[rax*1+rcx] - add rax,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,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$enc_loop6 - -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 - DB 0F3h,0C3h ;repret - - -ALIGN 16 -_aesni_decrypt6: - movups xmm0,XMMWORD[rcx] - shl eax,4 - movups xmm1,XMMWORD[16+rcx] - xorps xmm2,xmm0 - pxor xmm3,xmm0 - pxor xmm4,xmm0 -DB 102,15,56,222,209 - lea rcx,[32+rax*1+rcx] - neg rax -DB 102,15,56,222,217 - pxor xmm5,xmm0 - pxor xmm6,xmm0 -DB 102,15,56,222,225 - pxor xmm7,xmm0 - movups xmm0,XMMWORD[rax*1+rcx] - add rax,16 - jmp NEAR $L$dec_loop6_enter -ALIGN 16 -$L$dec_loop6: -DB 102,15,56,222,209 -DB 102,15,56,222,217 -DB 102,15,56,222,225 -$L$dec_loop6_enter: -DB 102,15,56,222,233 -DB 102,15,56,222,241 -DB 102,15,56,222,249 - movups xmm1,XMMWORD[rax*1+rcx] - add rax,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,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$dec_loop6 - -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 - DB 0F3h,0C3h ;repret - - -ALIGN 16 -_aesni_encrypt8: - movups xmm0,XMMWORD[rcx] - shl eax,4 - movups xmm1,XMMWORD[16+rcx] - xorps xmm2,xmm0 - xorps xmm3,xmm0 - pxor xmm4,xmm0 - pxor xmm5,xmm0 - pxor xmm6,xmm0 - lea rcx,[32+rax*1+rcx] - neg rax -DB 102,15,56,220,209 - pxor xmm7,xmm0 - pxor xmm8,xmm0 -DB 102,15,56,220,217 - pxor xmm9,xmm0 - movups xmm0,XMMWORD[rax*1+rcx] - add rax,16 - jmp NEAR $L$enc_loop8_inner -ALIGN 16 -$L$enc_loop8: -DB 102,15,56,220,209 -DB 102,15,56,220,217 -$L$enc_loop8_inner: -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,68,15,56,220,193 -DB 102,68,15,56,220,201 -$L$enc_loop8_enter: - movups xmm1,XMMWORD[rax*1+rcx] - add rax,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 -DB 102,68,15,56,220,192 -DB 102,68,15,56,220,200 - movups xmm0,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$enc_loop8 - -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,68,15,56,220,193 -DB 102,68,15,56,220,201 -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 -DB 102,68,15,56,221,192 -DB 102,68,15,56,221,200 - DB 0F3h,0C3h ;repret - - -ALIGN 16 -_aesni_decrypt8: - movups xmm0,XMMWORD[rcx] - shl eax,4 - movups xmm1,XMMWORD[16+rcx] - xorps xmm2,xmm0 - xorps xmm3,xmm0 - pxor xmm4,xmm0 - pxor xmm5,xmm0 - pxor xmm6,xmm0 - lea rcx,[32+rax*1+rcx] - neg rax -DB 102,15,56,222,209 - pxor xmm7,xmm0 - pxor xmm8,xmm0 -DB 102,15,56,222,217 - pxor xmm9,xmm0 - movups xmm0,XMMWORD[rax*1+rcx] - add rax,16 - jmp NEAR $L$dec_loop8_inner -ALIGN 16 -$L$dec_loop8: -DB 102,15,56,222,209 -DB 102,15,56,222,217 -$L$dec_loop8_inner: -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,68,15,56,222,193 -DB 102,68,15,56,222,201 -$L$dec_loop8_enter: - movups xmm1,XMMWORD[rax*1+rcx] - add rax,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 -DB 102,68,15,56,222,192 -DB 102,68,15,56,222,200 - movups xmm0,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$dec_loop8 - -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,68,15,56,222,193 -DB 102,68,15,56,222,201 -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 -DB 102,68,15,56,223,192 -DB 102,68,15,56,223,200 - DB 0F3h,0C3h ;repret - -global aesni_ecb_encrypt - -ALIGN 16 -aesni_ecb_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_ecb_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - - - lea rsp,[((-88))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 -$L$ecb_enc_body: - and rdx,-16 - jz NEAR $L$ecb_ret - - mov eax,DWORD[240+rcx] - movups xmm0,XMMWORD[rcx] - mov r11,rcx - mov r10d,eax - test r8d,r8d - jz NEAR $L$ecb_decrypt - - cmp rdx,0x80 - jb NEAR $L$ecb_enc_tail - - movdqu xmm2,XMMWORD[rdi] - movdqu xmm3,XMMWORD[16+rdi] - movdqu xmm4,XMMWORD[32+rdi] - movdqu xmm5,XMMWORD[48+rdi] - movdqu xmm6,XMMWORD[64+rdi] - movdqu xmm7,XMMWORD[80+rdi] - movdqu xmm8,XMMWORD[96+rdi] - movdqu xmm9,XMMWORD[112+rdi] - lea rdi,[128+rdi] - sub rdx,0x80 - jmp NEAR $L$ecb_enc_loop8_enter -ALIGN 16 -$L$ecb_enc_loop8: - movups XMMWORD[rsi],xmm2 - mov rcx,r11 - movdqu xmm2,XMMWORD[rdi] - mov eax,r10d - movups XMMWORD[16+rsi],xmm3 - movdqu xmm3,XMMWORD[16+rdi] - movups XMMWORD[32+rsi],xmm4 - movdqu xmm4,XMMWORD[32+rdi] - movups XMMWORD[48+rsi],xmm5 - movdqu xmm5,XMMWORD[48+rdi] - movups XMMWORD[64+rsi],xmm6 - movdqu xmm6,XMMWORD[64+rdi] - movups XMMWORD[80+rsi],xmm7 - movdqu xmm7,XMMWORD[80+rdi] - movups XMMWORD[96+rsi],xmm8 - movdqu xmm8,XMMWORD[96+rdi] - movups XMMWORD[112+rsi],xmm9 - lea rsi,[128+rsi] - movdqu xmm9,XMMWORD[112+rdi] - lea rdi,[128+rdi] -$L$ecb_enc_loop8_enter: - - call _aesni_encrypt8 - - sub rdx,0x80 - jnc NEAR $L$ecb_enc_loop8 - - movups XMMWORD[rsi],xmm2 - mov rcx,r11 - movups XMMWORD[16+rsi],xmm3 - mov eax,r10d - movups XMMWORD[32+rsi],xmm4 - movups XMMWORD[48+rsi],xmm5 - movups XMMWORD[64+rsi],xmm6 - movups XMMWORD[80+rsi],xmm7 - movups XMMWORD[96+rsi],xmm8 - movups XMMWORD[112+rsi],xmm9 - lea rsi,[128+rsi] - add rdx,0x80 - jz NEAR $L$ecb_ret - -$L$ecb_enc_tail: - movups xmm2,XMMWORD[rdi] - cmp rdx,0x20 - jb NEAR $L$ecb_enc_one - movups xmm3,XMMWORD[16+rdi] - je NEAR $L$ecb_enc_two - movups xmm4,XMMWORD[32+rdi] - cmp rdx,0x40 - jb NEAR $L$ecb_enc_three - movups xmm5,XMMWORD[48+rdi] - je NEAR $L$ecb_enc_four - movups xmm6,XMMWORD[64+rdi] - cmp rdx,0x60 - jb NEAR $L$ecb_enc_five - movups xmm7,XMMWORD[80+rdi] - je NEAR $L$ecb_enc_six - movdqu xmm8,XMMWORD[96+rdi] - xorps xmm9,xmm9 - call _aesni_encrypt8 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - movups XMMWORD[32+rsi],xmm4 - movups XMMWORD[48+rsi],xmm5 - movups XMMWORD[64+rsi],xmm6 - movups XMMWORD[80+rsi],xmm7 - movups XMMWORD[96+rsi],xmm8 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_enc_one: - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - lea rcx,[32+rcx] - xorps xmm2,xmm0 -$L$oop_enc1_3: -DB 102,15,56,220,209 - dec eax - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_enc1_3 -DB 102,15,56,221,209 - movups XMMWORD[rsi],xmm2 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_enc_two: - call _aesni_encrypt2 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_enc_three: - call _aesni_encrypt3 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - movups XMMWORD[32+rsi],xmm4 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_enc_four: - call _aesni_encrypt4 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - movups XMMWORD[32+rsi],xmm4 - movups XMMWORD[48+rsi],xmm5 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_enc_five: - xorps xmm7,xmm7 - call _aesni_encrypt6 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - movups XMMWORD[32+rsi],xmm4 - movups XMMWORD[48+rsi],xmm5 - movups XMMWORD[64+rsi],xmm6 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_enc_six: - call _aesni_encrypt6 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - movups XMMWORD[32+rsi],xmm4 - movups XMMWORD[48+rsi],xmm5 - movups XMMWORD[64+rsi],xmm6 - movups XMMWORD[80+rsi],xmm7 - jmp NEAR $L$ecb_ret - -ALIGN 16 -$L$ecb_decrypt: - cmp rdx,0x80 - jb NEAR $L$ecb_dec_tail - - movdqu xmm2,XMMWORD[rdi] - movdqu xmm3,XMMWORD[16+rdi] - movdqu xmm4,XMMWORD[32+rdi] - movdqu xmm5,XMMWORD[48+rdi] - movdqu xmm6,XMMWORD[64+rdi] - movdqu xmm7,XMMWORD[80+rdi] - movdqu xmm8,XMMWORD[96+rdi] - movdqu xmm9,XMMWORD[112+rdi] - lea rdi,[128+rdi] - sub rdx,0x80 - jmp NEAR $L$ecb_dec_loop8_enter -ALIGN 16 -$L$ecb_dec_loop8: - movups XMMWORD[rsi],xmm2 - mov rcx,r11 - movdqu xmm2,XMMWORD[rdi] - mov eax,r10d - movups XMMWORD[16+rsi],xmm3 - movdqu xmm3,XMMWORD[16+rdi] - movups XMMWORD[32+rsi],xmm4 - movdqu xmm4,XMMWORD[32+rdi] - movups XMMWORD[48+rsi],xmm5 - movdqu xmm5,XMMWORD[48+rdi] - movups XMMWORD[64+rsi],xmm6 - movdqu xmm6,XMMWORD[64+rdi] - movups XMMWORD[80+rsi],xmm7 - movdqu xmm7,XMMWORD[80+rdi] - movups XMMWORD[96+rsi],xmm8 - movdqu xmm8,XMMWORD[96+rdi] - movups XMMWORD[112+rsi],xmm9 - lea rsi,[128+rsi] - movdqu xmm9,XMMWORD[112+rdi] - lea rdi,[128+rdi] -$L$ecb_dec_loop8_enter: - - call _aesni_decrypt8 - - movups xmm0,XMMWORD[r11] - sub rdx,0x80 - jnc NEAR $L$ecb_dec_loop8 - - movups XMMWORD[rsi],xmm2 - pxor xmm2,xmm2 - mov rcx,r11 - movups XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - mov eax,r10d - movups XMMWORD[32+rsi],xmm4 - pxor xmm4,xmm4 - movups XMMWORD[48+rsi],xmm5 - pxor xmm5,xmm5 - movups XMMWORD[64+rsi],xmm6 - pxor xmm6,xmm6 - movups XMMWORD[80+rsi],xmm7 - pxor xmm7,xmm7 - movups XMMWORD[96+rsi],xmm8 - pxor xmm8,xmm8 - movups XMMWORD[112+rsi],xmm9 - pxor xmm9,xmm9 - lea rsi,[128+rsi] - add rdx,0x80 - jz NEAR $L$ecb_ret - -$L$ecb_dec_tail: - movups xmm2,XMMWORD[rdi] - cmp rdx,0x20 - jb NEAR $L$ecb_dec_one - movups xmm3,XMMWORD[16+rdi] - je NEAR $L$ecb_dec_two - movups xmm4,XMMWORD[32+rdi] - cmp rdx,0x40 - jb NEAR $L$ecb_dec_three - movups xmm5,XMMWORD[48+rdi] - je NEAR $L$ecb_dec_four - movups xmm6,XMMWORD[64+rdi] - cmp rdx,0x60 - jb NEAR $L$ecb_dec_five - movups xmm7,XMMWORD[80+rdi] - je NEAR $L$ecb_dec_six - movups xmm8,XMMWORD[96+rdi] - movups xmm0,XMMWORD[rcx] - xorps xmm9,xmm9 - call _aesni_decrypt8 - movups XMMWORD[rsi],xmm2 - pxor xmm2,xmm2 - movups XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - movups XMMWORD[32+rsi],xmm4 - pxor xmm4,xmm4 - movups XMMWORD[48+rsi],xmm5 - pxor xmm5,xmm5 - movups XMMWORD[64+rsi],xmm6 - pxor xmm6,xmm6 - movups XMMWORD[80+rsi],xmm7 - pxor xmm7,xmm7 - movups XMMWORD[96+rsi],xmm8 - pxor xmm8,xmm8 - pxor xmm9,xmm9 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_dec_one: - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - lea rcx,[32+rcx] - xorps xmm2,xmm0 -$L$oop_dec1_4: -DB 102,15,56,222,209 - dec eax - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_dec1_4 -DB 102,15,56,223,209 - movups XMMWORD[rsi],xmm2 - pxor xmm2,xmm2 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_dec_two: - call _aesni_decrypt2 - movups XMMWORD[rsi],xmm2 - pxor xmm2,xmm2 - movups XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_dec_three: - call _aesni_decrypt3 - movups XMMWORD[rsi],xmm2 - pxor xmm2,xmm2 - movups XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - movups XMMWORD[32+rsi],xmm4 - pxor xmm4,xmm4 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_dec_four: - call _aesni_decrypt4 - movups XMMWORD[rsi],xmm2 - pxor xmm2,xmm2 - movups XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - movups XMMWORD[32+rsi],xmm4 - pxor xmm4,xmm4 - movups XMMWORD[48+rsi],xmm5 - pxor xmm5,xmm5 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_dec_five: - xorps xmm7,xmm7 - call _aesni_decrypt6 - movups XMMWORD[rsi],xmm2 - pxor xmm2,xmm2 - movups XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - movups XMMWORD[32+rsi],xmm4 - pxor xmm4,xmm4 - movups XMMWORD[48+rsi],xmm5 - pxor xmm5,xmm5 - movups XMMWORD[64+rsi],xmm6 - pxor xmm6,xmm6 - pxor xmm7,xmm7 - jmp NEAR $L$ecb_ret -ALIGN 16 -$L$ecb_dec_six: - call _aesni_decrypt6 - movups XMMWORD[rsi],xmm2 - pxor xmm2,xmm2 - movups XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - movups XMMWORD[32+rsi],xmm4 - pxor xmm4,xmm4 - movups XMMWORD[48+rsi],xmm5 - pxor xmm5,xmm5 - movups XMMWORD[64+rsi],xmm6 - pxor xmm6,xmm6 - movups XMMWORD[80+rsi],xmm7 - pxor xmm7,xmm7 - -$L$ecb_ret: - xorps xmm0,xmm0 - pxor xmm1,xmm1 - movaps xmm6,XMMWORD[rsp] - movaps XMMWORD[rsp],xmm0 - movaps xmm7,XMMWORD[16+rsp] - movaps XMMWORD[16+rsp],xmm0 - movaps xmm8,XMMWORD[32+rsp] - movaps XMMWORD[32+rsp],xmm0 - movaps xmm9,XMMWORD[48+rsp] - movaps XMMWORD[48+rsp],xmm0 - lea rsp,[88+rsp] -$L$ecb_enc_ret: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_ecb_encrypt: -global aesni_ccm64_encrypt_blocks - -ALIGN 16 -aesni_ccm64_encrypt_blocks: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_ccm64_encrypt_blocks: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - lea rsp,[((-88))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 -$L$ccm64_enc_body: - mov eax,DWORD[240+rcx] - movdqu xmm6,XMMWORD[r8] - movdqa xmm9,XMMWORD[$L$increment64] - movdqa xmm7,XMMWORD[$L$bswap_mask] - - shl eax,4 - mov r10d,16 - lea r11,[rcx] - movdqu xmm3,XMMWORD[r9] - movdqa xmm2,xmm6 - lea rcx,[32+rax*1+rcx] -DB 102,15,56,0,247 - sub r10,rax - jmp NEAR $L$ccm64_enc_outer -ALIGN 16 -$L$ccm64_enc_outer: - movups xmm0,XMMWORD[r11] - mov rax,r10 - movups xmm8,XMMWORD[rdi] - - xorps xmm2,xmm0 - movups xmm1,XMMWORD[16+r11] - xorps xmm0,xmm8 - xorps xmm3,xmm0 - movups xmm0,XMMWORD[32+r11] - -$L$ccm64_enc2_loop: -DB 102,15,56,220,209 -DB 102,15,56,220,217 - movups xmm1,XMMWORD[rax*1+rcx] - add rax,32 -DB 102,15,56,220,208 -DB 102,15,56,220,216 - movups xmm0,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$ccm64_enc2_loop -DB 102,15,56,220,209 -DB 102,15,56,220,217 - paddq xmm6,xmm9 - dec rdx -DB 102,15,56,221,208 -DB 102,15,56,221,216 - - lea rdi,[16+rdi] - xorps xmm8,xmm2 - movdqa xmm2,xmm6 - movups XMMWORD[rsi],xmm8 -DB 102,15,56,0,215 - lea rsi,[16+rsi] - jnz NEAR $L$ccm64_enc_outer - - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - movups XMMWORD[r9],xmm3 - pxor xmm3,xmm3 - pxor xmm8,xmm8 - pxor xmm6,xmm6 - movaps xmm6,XMMWORD[rsp] - movaps XMMWORD[rsp],xmm0 - movaps xmm7,XMMWORD[16+rsp] - movaps XMMWORD[16+rsp],xmm0 - movaps xmm8,XMMWORD[32+rsp] - movaps XMMWORD[32+rsp],xmm0 - movaps xmm9,XMMWORD[48+rsp] - movaps XMMWORD[48+rsp],xmm0 - lea rsp,[88+rsp] -$L$ccm64_enc_ret: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_ccm64_encrypt_blocks: -global aesni_ccm64_decrypt_blocks - -ALIGN 16 -aesni_ccm64_decrypt_blocks: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_ccm64_decrypt_blocks: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - lea rsp,[((-88))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 -$L$ccm64_dec_body: - mov eax,DWORD[240+rcx] - movups xmm6,XMMWORD[r8] - movdqu xmm3,XMMWORD[r9] - movdqa xmm9,XMMWORD[$L$increment64] - movdqa xmm7,XMMWORD[$L$bswap_mask] - - movaps xmm2,xmm6 - mov r10d,eax - mov r11,rcx -DB 102,15,56,0,247 - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - lea rcx,[32+rcx] - xorps xmm2,xmm0 -$L$oop_enc1_5: -DB 102,15,56,220,209 - dec eax - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_enc1_5 -DB 102,15,56,221,209 - shl r10d,4 - mov eax,16 - movups xmm8,XMMWORD[rdi] - paddq xmm6,xmm9 - lea rdi,[16+rdi] - sub rax,r10 - lea rcx,[32+r10*1+r11] - mov r10,rax - jmp NEAR $L$ccm64_dec_outer -ALIGN 16 -$L$ccm64_dec_outer: - xorps xmm8,xmm2 - movdqa xmm2,xmm6 - movups XMMWORD[rsi],xmm8 - lea rsi,[16+rsi] -DB 102,15,56,0,215 - - sub rdx,1 - jz NEAR $L$ccm64_dec_break - - movups xmm0,XMMWORD[r11] - mov rax,r10 - movups xmm1,XMMWORD[16+r11] - xorps xmm8,xmm0 - xorps xmm2,xmm0 - xorps xmm3,xmm8 - movups xmm0,XMMWORD[32+r11] - jmp NEAR $L$ccm64_dec2_loop -ALIGN 16 -$L$ccm64_dec2_loop: -DB 102,15,56,220,209 -DB 102,15,56,220,217 - movups xmm1,XMMWORD[rax*1+rcx] - add rax,32 -DB 102,15,56,220,208 -DB 102,15,56,220,216 - movups xmm0,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$ccm64_dec2_loop - movups xmm8,XMMWORD[rdi] - paddq xmm6,xmm9 -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 rdi,[16+rdi] - jmp NEAR $L$ccm64_dec_outer - -ALIGN 16 -$L$ccm64_dec_break: - - mov eax,DWORD[240+r11] - movups xmm0,XMMWORD[r11] - movups xmm1,XMMWORD[16+r11] - xorps xmm8,xmm0 - lea r11,[32+r11] - xorps xmm3,xmm8 -$L$oop_enc1_6: -DB 102,15,56,220,217 - dec eax - movups xmm1,XMMWORD[r11] - lea r11,[16+r11] - jnz NEAR $L$oop_enc1_6 -DB 102,15,56,221,217 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - movups XMMWORD[r9],xmm3 - pxor xmm3,xmm3 - pxor xmm8,xmm8 - pxor xmm6,xmm6 - movaps xmm6,XMMWORD[rsp] - movaps XMMWORD[rsp],xmm0 - movaps xmm7,XMMWORD[16+rsp] - movaps XMMWORD[16+rsp],xmm0 - movaps xmm8,XMMWORD[32+rsp] - movaps XMMWORD[32+rsp],xmm0 - movaps xmm9,XMMWORD[48+rsp] - movaps XMMWORD[48+rsp],xmm0 - lea rsp,[88+rsp] -$L$ccm64_dec_ret: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_ccm64_decrypt_blocks: -global aesni_ctr32_encrypt_blocks - -ALIGN 16 -aesni_ctr32_encrypt_blocks: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_ctr32_encrypt_blocks: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - - - cmp rdx,1 - jne NEAR $L$ctr32_bulk - - - - movups xmm2,XMMWORD[r8] - movups xmm3,XMMWORD[rdi] - mov edx,DWORD[240+rcx] - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - lea rcx,[32+rcx] - xorps xmm2,xmm0 -$L$oop_enc1_7: -DB 102,15,56,220,209 - dec edx - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_enc1_7 -DB 102,15,56,221,209 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - xorps xmm2,xmm3 - pxor xmm3,xmm3 - movups XMMWORD[rsi],xmm2 - xorps xmm2,xmm2 - jmp NEAR $L$ctr32_epilogue - -ALIGN 16 -$L$ctr32_bulk: - lea rax,[rsp] - push rbp - sub rsp,288 - and rsp,-16 - movaps XMMWORD[(-168)+rax],xmm6 - movaps XMMWORD[(-152)+rax],xmm7 - movaps XMMWORD[(-136)+rax],xmm8 - movaps XMMWORD[(-120)+rax],xmm9 - movaps XMMWORD[(-104)+rax],xmm10 - movaps XMMWORD[(-88)+rax],xmm11 - movaps XMMWORD[(-72)+rax],xmm12 - movaps XMMWORD[(-56)+rax],xmm13 - movaps XMMWORD[(-40)+rax],xmm14 - movaps XMMWORD[(-24)+rax],xmm15 -$L$ctr32_body: - lea rbp,[((-8))+rax] - - - - - movdqu xmm2,XMMWORD[r8] - movdqu xmm0,XMMWORD[rcx] - mov r8d,DWORD[12+r8] - pxor xmm2,xmm0 - mov r11d,DWORD[12+rcx] - movdqa XMMWORD[rsp],xmm2 - bswap r8d - movdqa xmm3,xmm2 - movdqa xmm4,xmm2 - movdqa xmm5,xmm2 - movdqa XMMWORD[64+rsp],xmm2 - movdqa XMMWORD[80+rsp],xmm2 - movdqa XMMWORD[96+rsp],xmm2 - mov r10,rdx - movdqa XMMWORD[112+rsp],xmm2 - - lea rax,[1+r8] - lea rdx,[2+r8] - bswap eax - bswap edx - xor eax,r11d - xor edx,r11d -DB 102,15,58,34,216,3 - lea rax,[3+r8] - movdqa XMMWORD[16+rsp],xmm3 -DB 102,15,58,34,226,3 - bswap eax - mov rdx,r10 - lea r10,[4+r8] - movdqa XMMWORD[32+rsp],xmm4 - xor eax,r11d - bswap r10d -DB 102,15,58,34,232,3 - xor r10d,r11d - movdqa XMMWORD[48+rsp],xmm5 - lea r9,[5+r8] - mov DWORD[((64+12))+rsp],r10d - bswap r9d - lea r10,[6+r8] - mov eax,DWORD[240+rcx] - xor r9d,r11d - bswap r10d - mov DWORD[((80+12))+rsp],r9d - xor r10d,r11d - lea r9,[7+r8] - mov DWORD[((96+12))+rsp],r10d - bswap r9d - mov r10d,DWORD[((OPENSSL_ia32cap_P+4))] - xor r9d,r11d - and r10d,71303168 - mov DWORD[((112+12))+rsp],r9d - - movups xmm1,XMMWORD[16+rcx] - - movdqa xmm6,XMMWORD[64+rsp] - movdqa xmm7,XMMWORD[80+rsp] - - cmp rdx,8 - jb NEAR $L$ctr32_tail - - sub rdx,6 - cmp r10d,4194304 - je NEAR $L$ctr32_6x - - lea rcx,[128+rcx] - sub rdx,2 - jmp NEAR $L$ctr32_loop8 - -ALIGN 16 -$L$ctr32_6x: - shl eax,4 - mov r10d,48 - bswap r11d - lea rcx,[32+rax*1+rcx] - sub r10,rax - jmp NEAR $L$ctr32_loop6 - -ALIGN 16 -$L$ctr32_loop6: - add r8d,6 - movups xmm0,XMMWORD[((-48))+r10*1+rcx] -DB 102,15,56,220,209 - mov eax,r8d - xor eax,r11d -DB 102,15,56,220,217 -DB 0x0f,0x38,0xf1,0x44,0x24,12 - lea eax,[1+r8] -DB 102,15,56,220,225 - xor eax,r11d -DB 0x0f,0x38,0xf1,0x44,0x24,28 -DB 102,15,56,220,233 - lea eax,[2+r8] - xor eax,r11d -DB 102,15,56,220,241 -DB 0x0f,0x38,0xf1,0x44,0x24,44 - lea eax,[3+r8] -DB 102,15,56,220,249 - movups xmm1,XMMWORD[((-32))+r10*1+rcx] - xor eax,r11d - -DB 102,15,56,220,208 -DB 0x0f,0x38,0xf1,0x44,0x24,60 - lea eax,[4+r8] -DB 102,15,56,220,216 - xor eax,r11d -DB 0x0f,0x38,0xf1,0x44,0x24,76 -DB 102,15,56,220,224 - lea eax,[5+r8] - xor eax,r11d -DB 102,15,56,220,232 -DB 0x0f,0x38,0xf1,0x44,0x24,92 - mov rax,r10 -DB 102,15,56,220,240 -DB 102,15,56,220,248 - movups xmm0,XMMWORD[((-16))+r10*1+rcx] - - call $L$enc_loop6 - - movdqu xmm8,XMMWORD[rdi] - movdqu xmm9,XMMWORD[16+rdi] - movdqu xmm10,XMMWORD[32+rdi] - movdqu xmm11,XMMWORD[48+rdi] - movdqu xmm12,XMMWORD[64+rdi] - movdqu xmm13,XMMWORD[80+rdi] - lea rdi,[96+rdi] - movups xmm1,XMMWORD[((-64))+r10*1+rcx] - pxor xmm8,xmm2 - movaps xmm2,XMMWORD[rsp] - pxor xmm9,xmm3 - movaps xmm3,XMMWORD[16+rsp] - pxor xmm10,xmm4 - movaps xmm4,XMMWORD[32+rsp] - pxor xmm11,xmm5 - movaps xmm5,XMMWORD[48+rsp] - pxor xmm12,xmm6 - movaps xmm6,XMMWORD[64+rsp] - pxor xmm13,xmm7 - movaps xmm7,XMMWORD[80+rsp] - movdqu XMMWORD[rsi],xmm8 - movdqu XMMWORD[16+rsi],xmm9 - movdqu XMMWORD[32+rsi],xmm10 - movdqu XMMWORD[48+rsi],xmm11 - movdqu XMMWORD[64+rsi],xmm12 - movdqu XMMWORD[80+rsi],xmm13 - lea rsi,[96+rsi] - - sub rdx,6 - jnc NEAR $L$ctr32_loop6 - - add rdx,6 - jz NEAR $L$ctr32_done - - lea eax,[((-48))+r10] - lea rcx,[((-80))+r10*1+rcx] - neg eax - shr eax,4 - jmp NEAR $L$ctr32_tail - -ALIGN 32 -$L$ctr32_loop8: - add r8d,8 - movdqa xmm8,XMMWORD[96+rsp] -DB 102,15,56,220,209 - mov r9d,r8d - movdqa xmm9,XMMWORD[112+rsp] -DB 102,15,56,220,217 - bswap r9d - movups xmm0,XMMWORD[((32-128))+rcx] -DB 102,15,56,220,225 - xor r9d,r11d - nop -DB 102,15,56,220,233 - mov DWORD[((0+12))+rsp],r9d - lea r9,[1+r8] -DB 102,15,56,220,241 -DB 102,15,56,220,249 -DB 102,68,15,56,220,193 -DB 102,68,15,56,220,201 - movups xmm1,XMMWORD[((48-128))+rcx] - bswap r9d -DB 102,15,56,220,208 -DB 102,15,56,220,216 - xor r9d,r11d -DB 0x66,0x90 -DB 102,15,56,220,224 -DB 102,15,56,220,232 - mov DWORD[((16+12))+rsp],r9d - lea r9,[2+r8] -DB 102,15,56,220,240 -DB 102,15,56,220,248 -DB 102,68,15,56,220,192 -DB 102,68,15,56,220,200 - movups xmm0,XMMWORD[((64-128))+rcx] - bswap r9d -DB 102,15,56,220,209 -DB 102,15,56,220,217 - xor r9d,r11d -DB 0x66,0x90 -DB 102,15,56,220,225 -DB 102,15,56,220,233 - mov DWORD[((32+12))+rsp],r9d - lea r9,[3+r8] -DB 102,15,56,220,241 -DB 102,15,56,220,249 -DB 102,68,15,56,220,193 -DB 102,68,15,56,220,201 - movups xmm1,XMMWORD[((80-128))+rcx] - bswap r9d -DB 102,15,56,220,208 -DB 102,15,56,220,216 - xor r9d,r11d -DB 0x66,0x90 -DB 102,15,56,220,224 -DB 102,15,56,220,232 - mov DWORD[((48+12))+rsp],r9d - lea r9,[4+r8] -DB 102,15,56,220,240 -DB 102,15,56,220,248 -DB 102,68,15,56,220,192 -DB 102,68,15,56,220,200 - movups xmm0,XMMWORD[((96-128))+rcx] - bswap r9d -DB 102,15,56,220,209 -DB 102,15,56,220,217 - xor r9d,r11d -DB 0x66,0x90 -DB 102,15,56,220,225 -DB 102,15,56,220,233 - mov DWORD[((64+12))+rsp],r9d - lea r9,[5+r8] -DB 102,15,56,220,241 -DB 102,15,56,220,249 -DB 102,68,15,56,220,193 -DB 102,68,15,56,220,201 - movups xmm1,XMMWORD[((112-128))+rcx] - bswap r9d -DB 102,15,56,220,208 -DB 102,15,56,220,216 - xor r9d,r11d -DB 0x66,0x90 -DB 102,15,56,220,224 -DB 102,15,56,220,232 - mov DWORD[((80+12))+rsp],r9d - lea r9,[6+r8] -DB 102,15,56,220,240 -DB 102,15,56,220,248 -DB 102,68,15,56,220,192 -DB 102,68,15,56,220,200 - movups xmm0,XMMWORD[((128-128))+rcx] - bswap r9d -DB 102,15,56,220,209 -DB 102,15,56,220,217 - xor r9d,r11d -DB 0x66,0x90 -DB 102,15,56,220,225 -DB 102,15,56,220,233 - mov DWORD[((96+12))+rsp],r9d - lea r9,[7+r8] -DB 102,15,56,220,241 -DB 102,15,56,220,249 -DB 102,68,15,56,220,193 -DB 102,68,15,56,220,201 - movups xmm1,XMMWORD[((144-128))+rcx] - bswap r9d -DB 102,15,56,220,208 -DB 102,15,56,220,216 -DB 102,15,56,220,224 - xor r9d,r11d - movdqu xmm10,XMMWORD[rdi] -DB 102,15,56,220,232 - mov DWORD[((112+12))+rsp],r9d - cmp eax,11 -DB 102,15,56,220,240 -DB 102,15,56,220,248 -DB 102,68,15,56,220,192 -DB 102,68,15,56,220,200 - movups xmm0,XMMWORD[((160-128))+rcx] - - jb NEAR $L$ctr32_enc_done - -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,68,15,56,220,193 -DB 102,68,15,56,220,201 - movups xmm1,XMMWORD[((176-128))+rcx] - -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 -DB 102,68,15,56,220,192 -DB 102,68,15,56,220,200 - movups xmm0,XMMWORD[((192-128))+rcx] - je NEAR $L$ctr32_enc_done - -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,68,15,56,220,193 -DB 102,68,15,56,220,201 - movups xmm1,XMMWORD[((208-128))+rcx] - -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 -DB 102,68,15,56,220,192 -DB 102,68,15,56,220,200 - movups xmm0,XMMWORD[((224-128))+rcx] - jmp NEAR $L$ctr32_enc_done - -ALIGN 16 -$L$ctr32_enc_done: - movdqu xmm11,XMMWORD[16+rdi] - pxor xmm10,xmm0 - movdqu xmm12,XMMWORD[32+rdi] - pxor xmm11,xmm0 - movdqu xmm13,XMMWORD[48+rdi] - pxor xmm12,xmm0 - movdqu xmm14,XMMWORD[64+rdi] - pxor xmm13,xmm0 - movdqu xmm15,XMMWORD[80+rdi] - pxor xmm14,xmm0 - pxor xmm15,xmm0 -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,68,15,56,220,193 -DB 102,68,15,56,220,201 - movdqu xmm1,XMMWORD[96+rdi] - lea rdi,[128+rdi] - -DB 102,65,15,56,221,210 - pxor xmm1,xmm0 - movdqu xmm10,XMMWORD[((112-128))+rdi] -DB 102,65,15,56,221,219 - pxor xmm10,xmm0 - movdqa xmm11,XMMWORD[rsp] -DB 102,65,15,56,221,228 -DB 102,65,15,56,221,237 - movdqa xmm12,XMMWORD[16+rsp] - movdqa xmm13,XMMWORD[32+rsp] -DB 102,65,15,56,221,246 -DB 102,65,15,56,221,255 - movdqa xmm14,XMMWORD[48+rsp] - movdqa xmm15,XMMWORD[64+rsp] -DB 102,68,15,56,221,193 - movdqa xmm0,XMMWORD[80+rsp] - movups xmm1,XMMWORD[((16-128))+rcx] -DB 102,69,15,56,221,202 - - movups XMMWORD[rsi],xmm2 - movdqa xmm2,xmm11 - movups XMMWORD[16+rsi],xmm3 - movdqa xmm3,xmm12 - movups XMMWORD[32+rsi],xmm4 - movdqa xmm4,xmm13 - movups XMMWORD[48+rsi],xmm5 - movdqa xmm5,xmm14 - movups XMMWORD[64+rsi],xmm6 - movdqa xmm6,xmm15 - movups XMMWORD[80+rsi],xmm7 - movdqa xmm7,xmm0 - movups XMMWORD[96+rsi],xmm8 - movups XMMWORD[112+rsi],xmm9 - lea rsi,[128+rsi] - - sub rdx,8 - jnc NEAR $L$ctr32_loop8 - - add rdx,8 - jz NEAR $L$ctr32_done - lea rcx,[((-128))+rcx] - -$L$ctr32_tail: - - - lea rcx,[16+rcx] - cmp rdx,4 - jb NEAR $L$ctr32_loop3 - je NEAR $L$ctr32_loop4 - - - shl eax,4 - movdqa xmm8,XMMWORD[96+rsp] - pxor xmm9,xmm9 - - movups xmm0,XMMWORD[16+rcx] -DB 102,15,56,220,209 -DB 102,15,56,220,217 - lea rcx,[((32-16))+rax*1+rcx] - neg rax -DB 102,15,56,220,225 - add rax,16 - movups xmm10,XMMWORD[rdi] -DB 102,15,56,220,233 -DB 102,15,56,220,241 - movups xmm11,XMMWORD[16+rdi] - movups xmm12,XMMWORD[32+rdi] -DB 102,15,56,220,249 -DB 102,68,15,56,220,193 - - call $L$enc_loop8_enter - - movdqu xmm13,XMMWORD[48+rdi] - pxor xmm2,xmm10 - movdqu xmm10,XMMWORD[64+rdi] - pxor xmm3,xmm11 - movdqu XMMWORD[rsi],xmm2 - pxor xmm4,xmm12 - movdqu XMMWORD[16+rsi],xmm3 - pxor xmm5,xmm13 - movdqu XMMWORD[32+rsi],xmm4 - pxor xmm6,xmm10 - movdqu XMMWORD[48+rsi],xmm5 - movdqu XMMWORD[64+rsi],xmm6 - cmp rdx,6 - jb NEAR $L$ctr32_done - - movups xmm11,XMMWORD[80+rdi] - xorps xmm7,xmm11 - movups XMMWORD[80+rsi],xmm7 - je NEAR $L$ctr32_done - - movups xmm12,XMMWORD[96+rdi] - xorps xmm8,xmm12 - movups XMMWORD[96+rsi],xmm8 - jmp NEAR $L$ctr32_done - -ALIGN 32 -$L$ctr32_loop4: -DB 102,15,56,220,209 - lea rcx,[16+rcx] - dec eax -DB 102,15,56,220,217 -DB 102,15,56,220,225 -DB 102,15,56,220,233 - movups xmm1,XMMWORD[rcx] - jnz NEAR $L$ctr32_loop4 -DB 102,15,56,221,209 -DB 102,15,56,221,217 - movups xmm10,XMMWORD[rdi] - movups xmm11,XMMWORD[16+rdi] -DB 102,15,56,221,225 -DB 102,15,56,221,233 - movups xmm12,XMMWORD[32+rdi] - movups xmm13,XMMWORD[48+rdi] - - xorps xmm2,xmm10 - movups XMMWORD[rsi],xmm2 - xorps xmm3,xmm11 - movups XMMWORD[16+rsi],xmm3 - pxor xmm4,xmm12 - movdqu XMMWORD[32+rsi],xmm4 - pxor xmm5,xmm13 - movdqu XMMWORD[48+rsi],xmm5 - jmp NEAR $L$ctr32_done - -ALIGN 32 -$L$ctr32_loop3: -DB 102,15,56,220,209 - lea rcx,[16+rcx] - dec eax -DB 102,15,56,220,217 -DB 102,15,56,220,225 - movups xmm1,XMMWORD[rcx] - jnz NEAR $L$ctr32_loop3 -DB 102,15,56,221,209 -DB 102,15,56,221,217 -DB 102,15,56,221,225 - - movups xmm10,XMMWORD[rdi] - xorps xmm2,xmm10 - movups XMMWORD[rsi],xmm2 - cmp rdx,2 - jb NEAR $L$ctr32_done - - movups xmm11,XMMWORD[16+rdi] - xorps xmm3,xmm11 - movups XMMWORD[16+rsi],xmm3 - je NEAR $L$ctr32_done - - movups xmm12,XMMWORD[32+rdi] - xorps xmm4,xmm12 - movups XMMWORD[32+rsi],xmm4 - -$L$ctr32_done: - xorps xmm0,xmm0 - xor r11d,r11d - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - movaps xmm6,XMMWORD[((-160))+rbp] - movaps XMMWORD[(-160)+rbp],xmm0 - movaps xmm7,XMMWORD[((-144))+rbp] - movaps XMMWORD[(-144)+rbp],xmm0 - movaps xmm8,XMMWORD[((-128))+rbp] - movaps XMMWORD[(-128)+rbp],xmm0 - movaps xmm9,XMMWORD[((-112))+rbp] - movaps XMMWORD[(-112)+rbp],xmm0 - movaps xmm10,XMMWORD[((-96))+rbp] - movaps XMMWORD[(-96)+rbp],xmm0 - movaps xmm11,XMMWORD[((-80))+rbp] - movaps XMMWORD[(-80)+rbp],xmm0 - movaps xmm12,XMMWORD[((-64))+rbp] - movaps XMMWORD[(-64)+rbp],xmm0 - movaps xmm13,XMMWORD[((-48))+rbp] - movaps XMMWORD[(-48)+rbp],xmm0 - movaps xmm14,XMMWORD[((-32))+rbp] - movaps XMMWORD[(-32)+rbp],xmm0 - movaps xmm15,XMMWORD[((-16))+rbp] - movaps XMMWORD[(-16)+rbp],xmm0 - movaps XMMWORD[rsp],xmm0 - movaps XMMWORD[16+rsp],xmm0 - movaps XMMWORD[32+rsp],xmm0 - movaps XMMWORD[48+rsp],xmm0 - movaps XMMWORD[64+rsp],xmm0 - movaps XMMWORD[80+rsp],xmm0 - movaps XMMWORD[96+rsp],xmm0 - movaps XMMWORD[112+rsp],xmm0 - lea rsp,[rbp] - pop rbp -$L$ctr32_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_ctr32_encrypt_blocks: -global aesni_xts_encrypt - -ALIGN 16 -aesni_xts_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_xts_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - lea rax,[rsp] - push rbp - sub rsp,272 - and rsp,-16 - movaps XMMWORD[(-168)+rax],xmm6 - movaps XMMWORD[(-152)+rax],xmm7 - movaps XMMWORD[(-136)+rax],xmm8 - movaps XMMWORD[(-120)+rax],xmm9 - movaps XMMWORD[(-104)+rax],xmm10 - movaps XMMWORD[(-88)+rax],xmm11 - movaps XMMWORD[(-72)+rax],xmm12 - movaps XMMWORD[(-56)+rax],xmm13 - movaps XMMWORD[(-40)+rax],xmm14 - movaps XMMWORD[(-24)+rax],xmm15 -$L$xts_enc_body: - lea rbp,[((-8))+rax] - movups xmm2,XMMWORD[r9] - mov eax,DWORD[240+r8] - mov r10d,DWORD[240+rcx] - movups xmm0,XMMWORD[r8] - movups xmm1,XMMWORD[16+r8] - lea r8,[32+r8] - xorps xmm2,xmm0 -$L$oop_enc1_8: -DB 102,15,56,220,209 - dec eax - movups xmm1,XMMWORD[r8] - lea r8,[16+r8] - jnz NEAR $L$oop_enc1_8 -DB 102,15,56,221,209 - movups xmm0,XMMWORD[rcx] - mov r11,rcx - mov eax,r10d - shl r10d,4 - mov r9,rdx - and rdx,-16 - - movups xmm1,XMMWORD[16+r10*1+rcx] - - movdqa xmm8,XMMWORD[$L$xts_magic] - movdqa xmm15,xmm2 - pshufd xmm9,xmm2,0x5f - pxor xmm1,xmm0 - movdqa xmm14,xmm9 - paddd xmm9,xmm9 - movdqa xmm10,xmm15 - psrad xmm14,31 - paddq xmm15,xmm15 - pand xmm14,xmm8 - pxor xmm10,xmm0 - pxor xmm15,xmm14 - movdqa xmm14,xmm9 - paddd xmm9,xmm9 - movdqa xmm11,xmm15 - psrad xmm14,31 - paddq xmm15,xmm15 - pand xmm14,xmm8 - pxor xmm11,xmm0 - pxor xmm15,xmm14 - movdqa xmm14,xmm9 - paddd xmm9,xmm9 - movdqa xmm12,xmm15 - psrad xmm14,31 - paddq xmm15,xmm15 - pand xmm14,xmm8 - pxor xmm12,xmm0 - pxor xmm15,xmm14 - movdqa xmm14,xmm9 - paddd xmm9,xmm9 - movdqa xmm13,xmm15 - psrad xmm14,31 - paddq xmm15,xmm15 - pand xmm14,xmm8 - pxor xmm13,xmm0 - pxor xmm15,xmm14 - movdqa xmm14,xmm15 - psrad xmm9,31 - paddq xmm15,xmm15 - pand xmm9,xmm8 - pxor xmm14,xmm0 - pxor xmm15,xmm9 - movaps XMMWORD[96+rsp],xmm1 - - sub rdx,16*6 - jc NEAR $L$xts_enc_short - - mov eax,16+96 - lea rcx,[32+r10*1+r11] - sub rax,r10 - movups xmm1,XMMWORD[16+r11] - mov r10,rax - lea r8,[$L$xts_magic] - jmp NEAR $L$xts_enc_grandloop - -ALIGN 32 -$L$xts_enc_grandloop: - movdqu xmm2,XMMWORD[rdi] - movdqa xmm8,xmm0 - movdqu xmm3,XMMWORD[16+rdi] - pxor xmm2,xmm10 - movdqu xmm4,XMMWORD[32+rdi] - pxor xmm3,xmm11 -DB 102,15,56,220,209 - movdqu xmm5,XMMWORD[48+rdi] - pxor xmm4,xmm12 -DB 102,15,56,220,217 - movdqu xmm6,XMMWORD[64+rdi] - pxor xmm5,xmm13 -DB 102,15,56,220,225 - movdqu xmm7,XMMWORD[80+rdi] - pxor xmm8,xmm15 - movdqa xmm9,XMMWORD[96+rsp] - pxor xmm6,xmm14 -DB 102,15,56,220,233 - movups xmm0,XMMWORD[32+r11] - lea rdi,[96+rdi] - pxor xmm7,xmm8 - - pxor xmm10,xmm9 -DB 102,15,56,220,241 - pxor xmm11,xmm9 - movdqa XMMWORD[rsp],xmm10 -DB 102,15,56,220,249 - movups xmm1,XMMWORD[48+r11] - pxor xmm12,xmm9 - -DB 102,15,56,220,208 - pxor xmm13,xmm9 - movdqa XMMWORD[16+rsp],xmm11 -DB 102,15,56,220,216 - pxor xmm14,xmm9 - movdqa XMMWORD[32+rsp],xmm12 -DB 102,15,56,220,224 -DB 102,15,56,220,232 - pxor xmm8,xmm9 - movdqa XMMWORD[64+rsp],xmm14 -DB 102,15,56,220,240 -DB 102,15,56,220,248 - movups xmm0,XMMWORD[64+r11] - movdqa XMMWORD[80+rsp],xmm8 - pshufd xmm9,xmm15,0x5f - jmp NEAR $L$xts_enc_loop6 -ALIGN 32 -$L$xts_enc_loop6: -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 - movups xmm1,XMMWORD[((-64))+rax*1+rcx] - add rax,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,XMMWORD[((-80))+rax*1+rcx] - jnz NEAR $L$xts_enc_loop6 - - movdqa xmm8,XMMWORD[r8] - movdqa xmm14,xmm9 - paddd xmm9,xmm9 -DB 102,15,56,220,209 - paddq xmm15,xmm15 - psrad xmm14,31 -DB 102,15,56,220,217 - pand xmm14,xmm8 - movups xmm10,XMMWORD[r11] -DB 102,15,56,220,225 -DB 102,15,56,220,233 -DB 102,15,56,220,241 - pxor xmm15,xmm14 - movaps xmm11,xmm10 -DB 102,15,56,220,249 - movups xmm1,XMMWORD[((-64))+rcx] - - movdqa xmm14,xmm9 -DB 102,15,56,220,208 - paddd xmm9,xmm9 - pxor xmm10,xmm15 -DB 102,15,56,220,216 - psrad xmm14,31 - paddq xmm15,xmm15 -DB 102,15,56,220,224 -DB 102,15,56,220,232 - pand xmm14,xmm8 - movaps xmm12,xmm11 -DB 102,15,56,220,240 - pxor xmm15,xmm14 - movdqa xmm14,xmm9 -DB 102,15,56,220,248 - movups xmm0,XMMWORD[((-48))+rcx] - - paddd xmm9,xmm9 -DB 102,15,56,220,209 - pxor xmm11,xmm15 - psrad xmm14,31 -DB 102,15,56,220,217 - paddq xmm15,xmm15 - pand xmm14,xmm8 -DB 102,15,56,220,225 -DB 102,15,56,220,233 - movdqa XMMWORD[48+rsp],xmm13 - pxor xmm15,xmm14 -DB 102,15,56,220,241 - movaps xmm13,xmm12 - movdqa xmm14,xmm9 -DB 102,15,56,220,249 - movups xmm1,XMMWORD[((-32))+rcx] - - paddd xmm9,xmm9 -DB 102,15,56,220,208 - pxor xmm12,xmm15 - psrad xmm14,31 -DB 102,15,56,220,216 - paddq xmm15,xmm15 - pand xmm14,xmm8 -DB 102,15,56,220,224 -DB 102,15,56,220,232 -DB 102,15,56,220,240 - pxor xmm15,xmm14 - movaps xmm14,xmm13 -DB 102,15,56,220,248 - - movdqa xmm0,xmm9 - paddd xmm9,xmm9 -DB 102,15,56,220,209 - pxor xmm13,xmm15 - psrad xmm0,31 -DB 102,15,56,220,217 - paddq xmm15,xmm15 - pand xmm0,xmm8 -DB 102,15,56,220,225 -DB 102,15,56,220,233 - pxor xmm15,xmm0 - movups xmm0,XMMWORD[r11] -DB 102,15,56,220,241 -DB 102,15,56,220,249 - movups xmm1,XMMWORD[16+r11] - - pxor xmm14,xmm15 -DB 102,15,56,221,84,36,0 - psrad xmm9,31 - paddq xmm15,xmm15 -DB 102,15,56,221,92,36,16 -DB 102,15,56,221,100,36,32 - pand xmm9,xmm8 - mov rax,r10 -DB 102,15,56,221,108,36,48 -DB 102,15,56,221,116,36,64 -DB 102,15,56,221,124,36,80 - pxor xmm15,xmm9 - - lea rsi,[96+rsi] - movups XMMWORD[(-96)+rsi],xmm2 - movups XMMWORD[(-80)+rsi],xmm3 - movups XMMWORD[(-64)+rsi],xmm4 - movups XMMWORD[(-48)+rsi],xmm5 - movups XMMWORD[(-32)+rsi],xmm6 - movups XMMWORD[(-16)+rsi],xmm7 - sub rdx,16*6 - jnc NEAR $L$xts_enc_grandloop - - mov eax,16+96 - sub eax,r10d - mov rcx,r11 - shr eax,4 - -$L$xts_enc_short: - - mov r10d,eax - pxor xmm10,xmm0 - add rdx,16*6 - jz NEAR $L$xts_enc_done - - pxor xmm11,xmm0 - cmp rdx,0x20 - jb NEAR $L$xts_enc_one - pxor xmm12,xmm0 - je NEAR $L$xts_enc_two - - pxor xmm13,xmm0 - cmp rdx,0x40 - jb NEAR $L$xts_enc_three - pxor xmm14,xmm0 - je NEAR $L$xts_enc_four - - movdqu xmm2,XMMWORD[rdi] - movdqu xmm3,XMMWORD[16+rdi] - movdqu xmm4,XMMWORD[32+rdi] - pxor xmm2,xmm10 - movdqu xmm5,XMMWORD[48+rdi] - pxor xmm3,xmm11 - movdqu xmm6,XMMWORD[64+rdi] - lea rdi,[80+rdi] - pxor xmm4,xmm12 - pxor xmm5,xmm13 - pxor xmm6,xmm14 - pxor xmm7,xmm7 - - call _aesni_encrypt6 - - xorps xmm2,xmm10 - movdqa xmm10,xmm15 - xorps xmm3,xmm11 - xorps xmm4,xmm12 - movdqu XMMWORD[rsi],xmm2 - xorps xmm5,xmm13 - movdqu XMMWORD[16+rsi],xmm3 - xorps xmm6,xmm14 - movdqu XMMWORD[32+rsi],xmm4 - movdqu XMMWORD[48+rsi],xmm5 - movdqu XMMWORD[64+rsi],xmm6 - lea rsi,[80+rsi] - jmp NEAR $L$xts_enc_done - -ALIGN 16 -$L$xts_enc_one: - movups xmm2,XMMWORD[rdi] - lea rdi,[16+rdi] - xorps xmm2,xmm10 - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - lea rcx,[32+rcx] - xorps xmm2,xmm0 -$L$oop_enc1_9: -DB 102,15,56,220,209 - dec eax - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_enc1_9 -DB 102,15,56,221,209 - xorps xmm2,xmm10 - movdqa xmm10,xmm11 - movups XMMWORD[rsi],xmm2 - lea rsi,[16+rsi] - jmp NEAR $L$xts_enc_done - -ALIGN 16 -$L$xts_enc_two: - movups xmm2,XMMWORD[rdi] - movups xmm3,XMMWORD[16+rdi] - lea rdi,[32+rdi] - xorps xmm2,xmm10 - xorps xmm3,xmm11 - - call _aesni_encrypt2 - - xorps xmm2,xmm10 - movdqa xmm10,xmm12 - xorps xmm3,xmm11 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - lea rsi,[32+rsi] - jmp NEAR $L$xts_enc_done - -ALIGN 16 -$L$xts_enc_three: - movups xmm2,XMMWORD[rdi] - movups xmm3,XMMWORD[16+rdi] - movups xmm4,XMMWORD[32+rdi] - lea rdi,[48+rdi] - xorps xmm2,xmm10 - xorps xmm3,xmm11 - xorps xmm4,xmm12 - - call _aesni_encrypt3 - - xorps xmm2,xmm10 - movdqa xmm10,xmm13 - xorps xmm3,xmm11 - xorps xmm4,xmm12 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - movups XMMWORD[32+rsi],xmm4 - lea rsi,[48+rsi] - jmp NEAR $L$xts_enc_done - -ALIGN 16 -$L$xts_enc_four: - movups xmm2,XMMWORD[rdi] - movups xmm3,XMMWORD[16+rdi] - movups xmm4,XMMWORD[32+rdi] - xorps xmm2,xmm10 - movups xmm5,XMMWORD[48+rdi] - lea rdi,[64+rdi] - xorps xmm3,xmm11 - xorps xmm4,xmm12 - xorps xmm5,xmm13 - - call _aesni_encrypt4 - - pxor xmm2,xmm10 - movdqa xmm10,xmm14 - pxor xmm3,xmm11 - pxor xmm4,xmm12 - movdqu XMMWORD[rsi],xmm2 - pxor xmm5,xmm13 - movdqu XMMWORD[16+rsi],xmm3 - movdqu XMMWORD[32+rsi],xmm4 - movdqu XMMWORD[48+rsi],xmm5 - lea rsi,[64+rsi] - jmp NEAR $L$xts_enc_done - -ALIGN 16 -$L$xts_enc_done: - and r9,15 - jz NEAR $L$xts_enc_ret - mov rdx,r9 - -$L$xts_enc_steal: - movzx eax,BYTE[rdi] - movzx ecx,BYTE[((-16))+rsi] - lea rdi,[1+rdi] - mov BYTE[((-16))+rsi],al - mov BYTE[rsi],cl - lea rsi,[1+rsi] - sub rdx,1 - jnz NEAR $L$xts_enc_steal - - sub rsi,r9 - mov rcx,r11 - mov eax,r10d - - movups xmm2,XMMWORD[((-16))+rsi] - xorps xmm2,xmm10 - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - lea rcx,[32+rcx] - xorps xmm2,xmm0 -$L$oop_enc1_10: -DB 102,15,56,220,209 - dec eax - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_enc1_10 -DB 102,15,56,221,209 - xorps xmm2,xmm10 - movups XMMWORD[(-16)+rsi],xmm2 - -$L$xts_enc_ret: - xorps xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - movaps xmm6,XMMWORD[((-160))+rbp] - movaps XMMWORD[(-160)+rbp],xmm0 - movaps xmm7,XMMWORD[((-144))+rbp] - movaps XMMWORD[(-144)+rbp],xmm0 - movaps xmm8,XMMWORD[((-128))+rbp] - movaps XMMWORD[(-128)+rbp],xmm0 - movaps xmm9,XMMWORD[((-112))+rbp] - movaps XMMWORD[(-112)+rbp],xmm0 - movaps xmm10,XMMWORD[((-96))+rbp] - movaps XMMWORD[(-96)+rbp],xmm0 - movaps xmm11,XMMWORD[((-80))+rbp] - movaps XMMWORD[(-80)+rbp],xmm0 - movaps xmm12,XMMWORD[((-64))+rbp] - movaps XMMWORD[(-64)+rbp],xmm0 - movaps xmm13,XMMWORD[((-48))+rbp] - movaps XMMWORD[(-48)+rbp],xmm0 - movaps xmm14,XMMWORD[((-32))+rbp] - movaps XMMWORD[(-32)+rbp],xmm0 - movaps xmm15,XMMWORD[((-16))+rbp] - movaps XMMWORD[(-16)+rbp],xmm0 - movaps XMMWORD[rsp],xmm0 - movaps XMMWORD[16+rsp],xmm0 - movaps XMMWORD[32+rsp],xmm0 - movaps XMMWORD[48+rsp],xmm0 - movaps XMMWORD[64+rsp],xmm0 - movaps XMMWORD[80+rsp],xmm0 - movaps XMMWORD[96+rsp],xmm0 - lea rsp,[rbp] - pop rbp -$L$xts_enc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_xts_encrypt: -global aesni_xts_decrypt - -ALIGN 16 -aesni_xts_decrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_xts_decrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - lea rax,[rsp] - push rbp - sub rsp,272 - and rsp,-16 - movaps XMMWORD[(-168)+rax],xmm6 - movaps XMMWORD[(-152)+rax],xmm7 - movaps XMMWORD[(-136)+rax],xmm8 - movaps XMMWORD[(-120)+rax],xmm9 - movaps XMMWORD[(-104)+rax],xmm10 - movaps XMMWORD[(-88)+rax],xmm11 - movaps XMMWORD[(-72)+rax],xmm12 - movaps XMMWORD[(-56)+rax],xmm13 - movaps XMMWORD[(-40)+rax],xmm14 - movaps XMMWORD[(-24)+rax],xmm15 -$L$xts_dec_body: - lea rbp,[((-8))+rax] - movups xmm2,XMMWORD[r9] - mov eax,DWORD[240+r8] - mov r10d,DWORD[240+rcx] - movups xmm0,XMMWORD[r8] - movups xmm1,XMMWORD[16+r8] - lea r8,[32+r8] - xorps xmm2,xmm0 -$L$oop_enc1_11: -DB 102,15,56,220,209 - dec eax - movups xmm1,XMMWORD[r8] - lea r8,[16+r8] - jnz NEAR $L$oop_enc1_11 -DB 102,15,56,221,209 - xor eax,eax - test rdx,15 - setnz al - shl rax,4 - sub rdx,rax - - movups xmm0,XMMWORD[rcx] - mov r11,rcx - mov eax,r10d - shl r10d,4 - mov r9,rdx - and rdx,-16 - - movups xmm1,XMMWORD[16+r10*1+rcx] - - movdqa xmm8,XMMWORD[$L$xts_magic] - movdqa xmm15,xmm2 - pshufd xmm9,xmm2,0x5f - pxor xmm1,xmm0 - movdqa xmm14,xmm9 - paddd xmm9,xmm9 - movdqa xmm10,xmm15 - psrad xmm14,31 - paddq xmm15,xmm15 - pand xmm14,xmm8 - pxor xmm10,xmm0 - pxor xmm15,xmm14 - movdqa xmm14,xmm9 - paddd xmm9,xmm9 - movdqa xmm11,xmm15 - psrad xmm14,31 - paddq xmm15,xmm15 - pand xmm14,xmm8 - pxor xmm11,xmm0 - pxor xmm15,xmm14 - movdqa xmm14,xmm9 - paddd xmm9,xmm9 - movdqa xmm12,xmm15 - psrad xmm14,31 - paddq xmm15,xmm15 - pand xmm14,xmm8 - pxor xmm12,xmm0 - pxor xmm15,xmm14 - movdqa xmm14,xmm9 - paddd xmm9,xmm9 - movdqa xmm13,xmm15 - psrad xmm14,31 - paddq xmm15,xmm15 - pand xmm14,xmm8 - pxor xmm13,xmm0 - pxor xmm15,xmm14 - movdqa xmm14,xmm15 - psrad xmm9,31 - paddq xmm15,xmm15 - pand xmm9,xmm8 - pxor xmm14,xmm0 - pxor xmm15,xmm9 - movaps XMMWORD[96+rsp],xmm1 - - sub rdx,16*6 - jc NEAR $L$xts_dec_short - - mov eax,16+96 - lea rcx,[32+r10*1+r11] - sub rax,r10 - movups xmm1,XMMWORD[16+r11] - mov r10,rax - lea r8,[$L$xts_magic] - jmp NEAR $L$xts_dec_grandloop - -ALIGN 32 -$L$xts_dec_grandloop: - movdqu xmm2,XMMWORD[rdi] - movdqa xmm8,xmm0 - movdqu xmm3,XMMWORD[16+rdi] - pxor xmm2,xmm10 - movdqu xmm4,XMMWORD[32+rdi] - pxor xmm3,xmm11 -DB 102,15,56,222,209 - movdqu xmm5,XMMWORD[48+rdi] - pxor xmm4,xmm12 -DB 102,15,56,222,217 - movdqu xmm6,XMMWORD[64+rdi] - pxor xmm5,xmm13 -DB 102,15,56,222,225 - movdqu xmm7,XMMWORD[80+rdi] - pxor xmm8,xmm15 - movdqa xmm9,XMMWORD[96+rsp] - pxor xmm6,xmm14 -DB 102,15,56,222,233 - movups xmm0,XMMWORD[32+r11] - lea rdi,[96+rdi] - pxor xmm7,xmm8 - - pxor xmm10,xmm9 -DB 102,15,56,222,241 - pxor xmm11,xmm9 - movdqa XMMWORD[rsp],xmm10 -DB 102,15,56,222,249 - movups xmm1,XMMWORD[48+r11] - pxor xmm12,xmm9 - -DB 102,15,56,222,208 - pxor xmm13,xmm9 - movdqa XMMWORD[16+rsp],xmm11 -DB 102,15,56,222,216 - pxor xmm14,xmm9 - movdqa XMMWORD[32+rsp],xmm12 -DB 102,15,56,222,224 -DB 102,15,56,222,232 - pxor xmm8,xmm9 - movdqa XMMWORD[64+rsp],xmm14 -DB 102,15,56,222,240 -DB 102,15,56,222,248 - movups xmm0,XMMWORD[64+r11] - movdqa XMMWORD[80+rsp],xmm8 - pshufd xmm9,xmm15,0x5f - jmp NEAR $L$xts_dec_loop6 -ALIGN 32 -$L$xts_dec_loop6: -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 - movups xmm1,XMMWORD[((-64))+rax*1+rcx] - add rax,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,XMMWORD[((-80))+rax*1+rcx] - jnz NEAR $L$xts_dec_loop6 - - movdqa xmm8,XMMWORD[r8] - movdqa xmm14,xmm9 - paddd xmm9,xmm9 -DB 102,15,56,222,209 - paddq xmm15,xmm15 - psrad xmm14,31 -DB 102,15,56,222,217 - pand xmm14,xmm8 - movups xmm10,XMMWORD[r11] -DB 102,15,56,222,225 -DB 102,15,56,222,233 -DB 102,15,56,222,241 - pxor xmm15,xmm14 - movaps xmm11,xmm10 -DB 102,15,56,222,249 - movups xmm1,XMMWORD[((-64))+rcx] - - movdqa xmm14,xmm9 -DB 102,15,56,222,208 - paddd xmm9,xmm9 - pxor xmm10,xmm15 -DB 102,15,56,222,216 - psrad xmm14,31 - paddq xmm15,xmm15 -DB 102,15,56,222,224 -DB 102,15,56,222,232 - pand xmm14,xmm8 - movaps xmm12,xmm11 -DB 102,15,56,222,240 - pxor xmm15,xmm14 - movdqa xmm14,xmm9 -DB 102,15,56,222,248 - movups xmm0,XMMWORD[((-48))+rcx] - - paddd xmm9,xmm9 -DB 102,15,56,222,209 - pxor xmm11,xmm15 - psrad xmm14,31 -DB 102,15,56,222,217 - paddq xmm15,xmm15 - pand xmm14,xmm8 -DB 102,15,56,222,225 -DB 102,15,56,222,233 - movdqa XMMWORD[48+rsp],xmm13 - pxor xmm15,xmm14 -DB 102,15,56,222,241 - movaps xmm13,xmm12 - movdqa xmm14,xmm9 -DB 102,15,56,222,249 - movups xmm1,XMMWORD[((-32))+rcx] - - paddd xmm9,xmm9 -DB 102,15,56,222,208 - pxor xmm12,xmm15 - psrad xmm14,31 -DB 102,15,56,222,216 - paddq xmm15,xmm15 - pand xmm14,xmm8 -DB 102,15,56,222,224 -DB 102,15,56,222,232 -DB 102,15,56,222,240 - pxor xmm15,xmm14 - movaps xmm14,xmm13 -DB 102,15,56,222,248 - - movdqa xmm0,xmm9 - paddd xmm9,xmm9 -DB 102,15,56,222,209 - pxor xmm13,xmm15 - psrad xmm0,31 -DB 102,15,56,222,217 - paddq xmm15,xmm15 - pand xmm0,xmm8 -DB 102,15,56,222,225 -DB 102,15,56,222,233 - pxor xmm15,xmm0 - movups xmm0,XMMWORD[r11] -DB 102,15,56,222,241 -DB 102,15,56,222,249 - movups xmm1,XMMWORD[16+r11] - - pxor xmm14,xmm15 -DB 102,15,56,223,84,36,0 - psrad xmm9,31 - paddq xmm15,xmm15 -DB 102,15,56,223,92,36,16 -DB 102,15,56,223,100,36,32 - pand xmm9,xmm8 - mov rax,r10 -DB 102,15,56,223,108,36,48 -DB 102,15,56,223,116,36,64 -DB 102,15,56,223,124,36,80 - pxor xmm15,xmm9 - - lea rsi,[96+rsi] - movups XMMWORD[(-96)+rsi],xmm2 - movups XMMWORD[(-80)+rsi],xmm3 - movups XMMWORD[(-64)+rsi],xmm4 - movups XMMWORD[(-48)+rsi],xmm5 - movups XMMWORD[(-32)+rsi],xmm6 - movups XMMWORD[(-16)+rsi],xmm7 - sub rdx,16*6 - jnc NEAR $L$xts_dec_grandloop - - mov eax,16+96 - sub eax,r10d - mov rcx,r11 - shr eax,4 - -$L$xts_dec_short: - - mov r10d,eax - pxor xmm10,xmm0 - pxor xmm11,xmm0 - add rdx,16*6 - jz NEAR $L$xts_dec_done - - pxor xmm12,xmm0 - cmp rdx,0x20 - jb NEAR $L$xts_dec_one - pxor xmm13,xmm0 - je NEAR $L$xts_dec_two - - pxor xmm14,xmm0 - cmp rdx,0x40 - jb NEAR $L$xts_dec_three - je NEAR $L$xts_dec_four - - movdqu xmm2,XMMWORD[rdi] - movdqu xmm3,XMMWORD[16+rdi] - movdqu xmm4,XMMWORD[32+rdi] - pxor xmm2,xmm10 - movdqu xmm5,XMMWORD[48+rdi] - pxor xmm3,xmm11 - movdqu xmm6,XMMWORD[64+rdi] - lea rdi,[80+rdi] - pxor xmm4,xmm12 - pxor xmm5,xmm13 - pxor xmm6,xmm14 - - call _aesni_decrypt6 - - xorps xmm2,xmm10 - xorps xmm3,xmm11 - xorps xmm4,xmm12 - movdqu XMMWORD[rsi],xmm2 - xorps xmm5,xmm13 - movdqu XMMWORD[16+rsi],xmm3 - xorps xmm6,xmm14 - movdqu XMMWORD[32+rsi],xmm4 - pxor xmm14,xmm14 - movdqu XMMWORD[48+rsi],xmm5 - pcmpgtd xmm14,xmm15 - movdqu XMMWORD[64+rsi],xmm6 - lea rsi,[80+rsi] - pshufd xmm11,xmm14,0x13 - and r9,15 - jz NEAR $L$xts_dec_ret - - movdqa xmm10,xmm15 - paddq xmm15,xmm15 - pand xmm11,xmm8 - pxor xmm11,xmm15 - jmp NEAR $L$xts_dec_done2 - -ALIGN 16 -$L$xts_dec_one: - movups xmm2,XMMWORD[rdi] - lea rdi,[16+rdi] - xorps xmm2,xmm10 - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - lea rcx,[32+rcx] - xorps xmm2,xmm0 -$L$oop_dec1_12: -DB 102,15,56,222,209 - dec eax - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_dec1_12 -DB 102,15,56,223,209 - xorps xmm2,xmm10 - movdqa xmm10,xmm11 - movups XMMWORD[rsi],xmm2 - movdqa xmm11,xmm12 - lea rsi,[16+rsi] - jmp NEAR $L$xts_dec_done - -ALIGN 16 -$L$xts_dec_two: - movups xmm2,XMMWORD[rdi] - movups xmm3,XMMWORD[16+rdi] - lea rdi,[32+rdi] - xorps xmm2,xmm10 - xorps xmm3,xmm11 - - call _aesni_decrypt2 - - xorps xmm2,xmm10 - movdqa xmm10,xmm12 - xorps xmm3,xmm11 - movdqa xmm11,xmm13 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - lea rsi,[32+rsi] - jmp NEAR $L$xts_dec_done - -ALIGN 16 -$L$xts_dec_three: - movups xmm2,XMMWORD[rdi] - movups xmm3,XMMWORD[16+rdi] - movups xmm4,XMMWORD[32+rdi] - lea rdi,[48+rdi] - xorps xmm2,xmm10 - xorps xmm3,xmm11 - xorps xmm4,xmm12 - - call _aesni_decrypt3 - - xorps xmm2,xmm10 - movdqa xmm10,xmm13 - xorps xmm3,xmm11 - movdqa xmm11,xmm14 - xorps xmm4,xmm12 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - movups XMMWORD[32+rsi],xmm4 - lea rsi,[48+rsi] - jmp NEAR $L$xts_dec_done - -ALIGN 16 -$L$xts_dec_four: - movups xmm2,XMMWORD[rdi] - movups xmm3,XMMWORD[16+rdi] - movups xmm4,XMMWORD[32+rdi] - xorps xmm2,xmm10 - movups xmm5,XMMWORD[48+rdi] - lea rdi,[64+rdi] - xorps xmm3,xmm11 - xorps xmm4,xmm12 - xorps xmm5,xmm13 - - call _aesni_decrypt4 - - pxor xmm2,xmm10 - movdqa xmm10,xmm14 - pxor xmm3,xmm11 - movdqa xmm11,xmm15 - pxor xmm4,xmm12 - movdqu XMMWORD[rsi],xmm2 - pxor xmm5,xmm13 - movdqu XMMWORD[16+rsi],xmm3 - movdqu XMMWORD[32+rsi],xmm4 - movdqu XMMWORD[48+rsi],xmm5 - lea rsi,[64+rsi] - jmp NEAR $L$xts_dec_done - -ALIGN 16 -$L$xts_dec_done: - and r9,15 - jz NEAR $L$xts_dec_ret -$L$xts_dec_done2: - mov rdx,r9 - mov rcx,r11 - mov eax,r10d - - movups xmm2,XMMWORD[rdi] - xorps xmm2,xmm11 - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - lea rcx,[32+rcx] - xorps xmm2,xmm0 -$L$oop_dec1_13: -DB 102,15,56,222,209 - dec eax - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_dec1_13 -DB 102,15,56,223,209 - xorps xmm2,xmm11 - movups XMMWORD[rsi],xmm2 - -$L$xts_dec_steal: - movzx eax,BYTE[16+rdi] - movzx ecx,BYTE[rsi] - lea rdi,[1+rdi] - mov BYTE[rsi],al - mov BYTE[16+rsi],cl - lea rsi,[1+rsi] - sub rdx,1 - jnz NEAR $L$xts_dec_steal - - sub rsi,r9 - mov rcx,r11 - mov eax,r10d - - movups xmm2,XMMWORD[rsi] - xorps xmm2,xmm10 - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - lea rcx,[32+rcx] - xorps xmm2,xmm0 -$L$oop_dec1_14: -DB 102,15,56,222,209 - dec eax - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_dec1_14 -DB 102,15,56,223,209 - xorps xmm2,xmm10 - movups XMMWORD[rsi],xmm2 - -$L$xts_dec_ret: - xorps xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - movaps xmm6,XMMWORD[((-160))+rbp] - movaps XMMWORD[(-160)+rbp],xmm0 - movaps xmm7,XMMWORD[((-144))+rbp] - movaps XMMWORD[(-144)+rbp],xmm0 - movaps xmm8,XMMWORD[((-128))+rbp] - movaps XMMWORD[(-128)+rbp],xmm0 - movaps xmm9,XMMWORD[((-112))+rbp] - movaps XMMWORD[(-112)+rbp],xmm0 - movaps xmm10,XMMWORD[((-96))+rbp] - movaps XMMWORD[(-96)+rbp],xmm0 - movaps xmm11,XMMWORD[((-80))+rbp] - movaps XMMWORD[(-80)+rbp],xmm0 - movaps xmm12,XMMWORD[((-64))+rbp] - movaps XMMWORD[(-64)+rbp],xmm0 - movaps xmm13,XMMWORD[((-48))+rbp] - movaps XMMWORD[(-48)+rbp],xmm0 - movaps xmm14,XMMWORD[((-32))+rbp] - movaps XMMWORD[(-32)+rbp],xmm0 - movaps xmm15,XMMWORD[((-16))+rbp] - movaps XMMWORD[(-16)+rbp],xmm0 - movaps XMMWORD[rsp],xmm0 - movaps XMMWORD[16+rsp],xmm0 - movaps XMMWORD[32+rsp],xmm0 - movaps XMMWORD[48+rsp],xmm0 - movaps XMMWORD[64+rsp],xmm0 - movaps XMMWORD[80+rsp],xmm0 - movaps XMMWORD[96+rsp],xmm0 - lea rsp,[rbp] - pop rbp -$L$xts_dec_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_xts_decrypt: -global aesni_cbc_encrypt - -ALIGN 16 -aesni_cbc_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_cbc_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - test rdx,rdx - jz NEAR $L$cbc_ret - - mov r10d,DWORD[240+rcx] - mov r11,rcx - test r9d,r9d - jz NEAR $L$cbc_decrypt - - movups xmm2,XMMWORD[r8] - mov eax,r10d - cmp rdx,16 - jb NEAR $L$cbc_enc_tail - sub rdx,16 - jmp NEAR $L$cbc_enc_loop -ALIGN 16 -$L$cbc_enc_loop: - movups xmm3,XMMWORD[rdi] - lea rdi,[16+rdi] - - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - xorps xmm3,xmm0 - lea rcx,[32+rcx] - xorps xmm2,xmm3 -$L$oop_enc1_15: -DB 102,15,56,220,209 - dec eax - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_enc1_15 -DB 102,15,56,221,209 - mov eax,r10d - mov rcx,r11 - movups XMMWORD[rsi],xmm2 - lea rsi,[16+rsi] - sub rdx,16 - jnc NEAR $L$cbc_enc_loop - add rdx,16 - jnz NEAR $L$cbc_enc_tail - pxor xmm0,xmm0 - pxor xmm1,xmm1 - movups XMMWORD[r8],xmm2 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - jmp NEAR $L$cbc_ret - -$L$cbc_enc_tail: - mov rcx,rdx - xchg rsi,rdi - DD 0x9066A4F3 - mov ecx,16 - sub rcx,rdx - xor eax,eax - DD 0x9066AAF3 - lea rdi,[((-16))+rdi] - mov eax,r10d - mov rsi,rdi - mov rcx,r11 - xor rdx,rdx - jmp NEAR $L$cbc_enc_loop - -ALIGN 16 -$L$cbc_decrypt: - cmp rdx,16 - jne NEAR $L$cbc_decrypt_bulk - - - - movdqu xmm2,XMMWORD[rdi] - movdqu xmm3,XMMWORD[r8] - movdqa xmm4,xmm2 - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - lea rcx,[32+rcx] - xorps xmm2,xmm0 -$L$oop_dec1_16: -DB 102,15,56,222,209 - dec r10d - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_dec1_16 -DB 102,15,56,223,209 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - movdqu XMMWORD[r8],xmm4 - xorps xmm2,xmm3 - pxor xmm3,xmm3 - movups XMMWORD[rsi],xmm2 - pxor xmm2,xmm2 - jmp NEAR $L$cbc_ret -ALIGN 16 -$L$cbc_decrypt_bulk: - lea rax,[rsp] - push rbp - sub rsp,176 - and rsp,-16 - movaps XMMWORD[16+rsp],xmm6 - movaps XMMWORD[32+rsp],xmm7 - movaps XMMWORD[48+rsp],xmm8 - movaps XMMWORD[64+rsp],xmm9 - movaps XMMWORD[80+rsp],xmm10 - movaps XMMWORD[96+rsp],xmm11 - movaps XMMWORD[112+rsp],xmm12 - movaps XMMWORD[128+rsp],xmm13 - movaps XMMWORD[144+rsp],xmm14 - movaps XMMWORD[160+rsp],xmm15 -$L$cbc_decrypt_body: - lea rbp,[((-8))+rax] - movups xmm10,XMMWORD[r8] - mov eax,r10d - cmp rdx,0x50 - jbe NEAR $L$cbc_dec_tail - - movups xmm0,XMMWORD[rcx] - movdqu xmm2,XMMWORD[rdi] - movdqu xmm3,XMMWORD[16+rdi] - movdqa xmm11,xmm2 - movdqu xmm4,XMMWORD[32+rdi] - movdqa xmm12,xmm3 - movdqu xmm5,XMMWORD[48+rdi] - movdqa xmm13,xmm4 - movdqu xmm6,XMMWORD[64+rdi] - movdqa xmm14,xmm5 - movdqu xmm7,XMMWORD[80+rdi] - movdqa xmm15,xmm6 - mov r9d,DWORD[((OPENSSL_ia32cap_P+4))] - cmp rdx,0x70 - jbe NEAR $L$cbc_dec_six_or_seven - - and r9d,71303168 - sub rdx,0x50 - cmp r9d,4194304 - je NEAR $L$cbc_dec_loop6_enter - sub rdx,0x20 - lea rcx,[112+rcx] - jmp NEAR $L$cbc_dec_loop8_enter -ALIGN 16 -$L$cbc_dec_loop8: - movups XMMWORD[rsi],xmm9 - lea rsi,[16+rsi] -$L$cbc_dec_loop8_enter: - movdqu xmm8,XMMWORD[96+rdi] - pxor xmm2,xmm0 - movdqu xmm9,XMMWORD[112+rdi] - pxor xmm3,xmm0 - movups xmm1,XMMWORD[((16-112))+rcx] - pxor xmm4,xmm0 - xor r11,r11 - cmp rdx,0x70 - pxor xmm5,xmm0 - pxor xmm6,xmm0 - pxor xmm7,xmm0 - pxor xmm8,xmm0 - -DB 102,15,56,222,209 - pxor xmm9,xmm0 - movups xmm0,XMMWORD[((32-112))+rcx] -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,68,15,56,222,193 - setnc r11b - shl r11,7 -DB 102,68,15,56,222,201 - add r11,rdi - movups xmm1,XMMWORD[((48-112))+rcx] -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 -DB 102,68,15,56,222,192 -DB 102,68,15,56,222,200 - movups xmm0,XMMWORD[((64-112))+rcx] - nop -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,68,15,56,222,193 -DB 102,68,15,56,222,201 - movups xmm1,XMMWORD[((80-112))+rcx] - nop -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 -DB 102,68,15,56,222,192 -DB 102,68,15,56,222,200 - movups xmm0,XMMWORD[((96-112))+rcx] - nop -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,68,15,56,222,193 -DB 102,68,15,56,222,201 - movups xmm1,XMMWORD[((112-112))+rcx] - nop -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 -DB 102,68,15,56,222,192 -DB 102,68,15,56,222,200 - movups xmm0,XMMWORD[((128-112))+rcx] - nop -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,68,15,56,222,193 -DB 102,68,15,56,222,201 - movups xmm1,XMMWORD[((144-112))+rcx] - cmp eax,11 -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 -DB 102,68,15,56,222,192 -DB 102,68,15,56,222,200 - movups xmm0,XMMWORD[((160-112))+rcx] - jb NEAR $L$cbc_dec_done -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,68,15,56,222,193 -DB 102,68,15,56,222,201 - movups xmm1,XMMWORD[((176-112))+rcx] - nop -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 -DB 102,68,15,56,222,192 -DB 102,68,15,56,222,200 - movups xmm0,XMMWORD[((192-112))+rcx] - je NEAR $L$cbc_dec_done -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,68,15,56,222,193 -DB 102,68,15,56,222,201 - movups xmm1,XMMWORD[((208-112))+rcx] - nop -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 -DB 102,68,15,56,222,192 -DB 102,68,15,56,222,200 - movups xmm0,XMMWORD[((224-112))+rcx] - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_done: -DB 102,15,56,222,209 -DB 102,15,56,222,217 - pxor xmm10,xmm0 - pxor xmm11,xmm0 -DB 102,15,56,222,225 -DB 102,15,56,222,233 - pxor xmm12,xmm0 - pxor xmm13,xmm0 -DB 102,15,56,222,241 -DB 102,15,56,222,249 - pxor xmm14,xmm0 - pxor xmm15,xmm0 -DB 102,68,15,56,222,193 -DB 102,68,15,56,222,201 - movdqu xmm1,XMMWORD[80+rdi] - -DB 102,65,15,56,223,210 - movdqu xmm10,XMMWORD[96+rdi] - pxor xmm1,xmm0 -DB 102,65,15,56,223,219 - pxor xmm10,xmm0 - movdqu xmm0,XMMWORD[112+rdi] -DB 102,65,15,56,223,228 - lea rdi,[128+rdi] - movdqu xmm11,XMMWORD[r11] -DB 102,65,15,56,223,237 -DB 102,65,15,56,223,246 - movdqu xmm12,XMMWORD[16+r11] - movdqu xmm13,XMMWORD[32+r11] -DB 102,65,15,56,223,255 -DB 102,68,15,56,223,193 - movdqu xmm14,XMMWORD[48+r11] - movdqu xmm15,XMMWORD[64+r11] -DB 102,69,15,56,223,202 - movdqa xmm10,xmm0 - movdqu xmm1,XMMWORD[80+r11] - movups xmm0,XMMWORD[((-112))+rcx] - - movups XMMWORD[rsi],xmm2 - movdqa xmm2,xmm11 - movups XMMWORD[16+rsi],xmm3 - movdqa xmm3,xmm12 - movups XMMWORD[32+rsi],xmm4 - movdqa xmm4,xmm13 - movups XMMWORD[48+rsi],xmm5 - movdqa xmm5,xmm14 - movups XMMWORD[64+rsi],xmm6 - movdqa xmm6,xmm15 - movups XMMWORD[80+rsi],xmm7 - movdqa xmm7,xmm1 - movups XMMWORD[96+rsi],xmm8 - lea rsi,[112+rsi] - - sub rdx,0x80 - ja NEAR $L$cbc_dec_loop8 - - movaps xmm2,xmm9 - lea rcx,[((-112))+rcx] - add rdx,0x70 - jle NEAR $L$cbc_dec_clear_tail_collected - movups XMMWORD[rsi],xmm9 - lea rsi,[16+rsi] - cmp rdx,0x50 - jbe NEAR $L$cbc_dec_tail - - movaps xmm2,xmm11 -$L$cbc_dec_six_or_seven: - cmp rdx,0x60 - ja NEAR $L$cbc_dec_seven - - movaps xmm8,xmm7 - call _aesni_decrypt6 - pxor xmm2,xmm10 - movaps xmm10,xmm8 - pxor xmm3,xmm11 - movdqu XMMWORD[rsi],xmm2 - pxor xmm4,xmm12 - movdqu XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - pxor xmm5,xmm13 - movdqu XMMWORD[32+rsi],xmm4 - pxor xmm4,xmm4 - pxor xmm6,xmm14 - movdqu XMMWORD[48+rsi],xmm5 - pxor xmm5,xmm5 - pxor xmm7,xmm15 - movdqu XMMWORD[64+rsi],xmm6 - pxor xmm6,xmm6 - lea rsi,[80+rsi] - movdqa xmm2,xmm7 - pxor xmm7,xmm7 - jmp NEAR $L$cbc_dec_tail_collected - -ALIGN 16 -$L$cbc_dec_seven: - movups xmm8,XMMWORD[96+rdi] - xorps xmm9,xmm9 - call _aesni_decrypt8 - movups xmm9,XMMWORD[80+rdi] - pxor xmm2,xmm10 - movups xmm10,XMMWORD[96+rdi] - pxor xmm3,xmm11 - movdqu XMMWORD[rsi],xmm2 - pxor xmm4,xmm12 - movdqu XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - pxor xmm5,xmm13 - movdqu XMMWORD[32+rsi],xmm4 - pxor xmm4,xmm4 - pxor xmm6,xmm14 - movdqu XMMWORD[48+rsi],xmm5 - pxor xmm5,xmm5 - pxor xmm7,xmm15 - movdqu XMMWORD[64+rsi],xmm6 - pxor xmm6,xmm6 - pxor xmm8,xmm9 - movdqu XMMWORD[80+rsi],xmm7 - pxor xmm7,xmm7 - lea rsi,[96+rsi] - movdqa xmm2,xmm8 - pxor xmm8,xmm8 - pxor xmm9,xmm9 - jmp NEAR $L$cbc_dec_tail_collected - -ALIGN 16 -$L$cbc_dec_loop6: - movups XMMWORD[rsi],xmm7 - lea rsi,[16+rsi] - movdqu xmm2,XMMWORD[rdi] - movdqu xmm3,XMMWORD[16+rdi] - movdqa xmm11,xmm2 - movdqu xmm4,XMMWORD[32+rdi] - movdqa xmm12,xmm3 - movdqu xmm5,XMMWORD[48+rdi] - movdqa xmm13,xmm4 - movdqu xmm6,XMMWORD[64+rdi] - movdqa xmm14,xmm5 - movdqu xmm7,XMMWORD[80+rdi] - movdqa xmm15,xmm6 -$L$cbc_dec_loop6_enter: - lea rdi,[96+rdi] - movdqa xmm8,xmm7 - - call _aesni_decrypt6 - - pxor xmm2,xmm10 - movdqa xmm10,xmm8 - pxor xmm3,xmm11 - movdqu XMMWORD[rsi],xmm2 - pxor xmm4,xmm12 - movdqu XMMWORD[16+rsi],xmm3 - pxor xmm5,xmm13 - movdqu XMMWORD[32+rsi],xmm4 - pxor xmm6,xmm14 - mov rcx,r11 - movdqu XMMWORD[48+rsi],xmm5 - pxor xmm7,xmm15 - mov eax,r10d - movdqu XMMWORD[64+rsi],xmm6 - lea rsi,[80+rsi] - sub rdx,0x60 - ja NEAR $L$cbc_dec_loop6 - - movdqa xmm2,xmm7 - add rdx,0x50 - jle NEAR $L$cbc_dec_clear_tail_collected - movups XMMWORD[rsi],xmm7 - lea rsi,[16+rsi] - -$L$cbc_dec_tail: - movups xmm2,XMMWORD[rdi] - sub rdx,0x10 - jbe NEAR $L$cbc_dec_one - - movups xmm3,XMMWORD[16+rdi] - movaps xmm11,xmm2 - sub rdx,0x10 - jbe NEAR $L$cbc_dec_two - - movups xmm4,XMMWORD[32+rdi] - movaps xmm12,xmm3 - sub rdx,0x10 - jbe NEAR $L$cbc_dec_three - - movups xmm5,XMMWORD[48+rdi] - movaps xmm13,xmm4 - sub rdx,0x10 - jbe NEAR $L$cbc_dec_four - - movups xmm6,XMMWORD[64+rdi] - movaps xmm14,xmm5 - movaps xmm15,xmm6 - xorps xmm7,xmm7 - call _aesni_decrypt6 - pxor xmm2,xmm10 - movaps xmm10,xmm15 - pxor xmm3,xmm11 - movdqu XMMWORD[rsi],xmm2 - pxor xmm4,xmm12 - movdqu XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - pxor xmm5,xmm13 - movdqu XMMWORD[32+rsi],xmm4 - pxor xmm4,xmm4 - pxor xmm6,xmm14 - movdqu XMMWORD[48+rsi],xmm5 - pxor xmm5,xmm5 - lea rsi,[64+rsi] - movdqa xmm2,xmm6 - pxor xmm6,xmm6 - pxor xmm7,xmm7 - sub rdx,0x10 - jmp NEAR $L$cbc_dec_tail_collected - -ALIGN 16 -$L$cbc_dec_one: - movaps xmm11,xmm2 - movups xmm0,XMMWORD[rcx] - movups xmm1,XMMWORD[16+rcx] - lea rcx,[32+rcx] - xorps xmm2,xmm0 -$L$oop_dec1_17: -DB 102,15,56,222,209 - dec eax - movups xmm1,XMMWORD[rcx] - lea rcx,[16+rcx] - jnz NEAR $L$oop_dec1_17 -DB 102,15,56,223,209 - xorps xmm2,xmm10 - movaps xmm10,xmm11 - jmp NEAR $L$cbc_dec_tail_collected -ALIGN 16 -$L$cbc_dec_two: - movaps xmm12,xmm3 - call _aesni_decrypt2 - pxor xmm2,xmm10 - movaps xmm10,xmm12 - pxor xmm3,xmm11 - movdqu XMMWORD[rsi],xmm2 - movdqa xmm2,xmm3 - pxor xmm3,xmm3 - lea rsi,[16+rsi] - jmp NEAR $L$cbc_dec_tail_collected -ALIGN 16 -$L$cbc_dec_three: - movaps xmm13,xmm4 - call _aesni_decrypt3 - pxor xmm2,xmm10 - movaps xmm10,xmm13 - pxor xmm3,xmm11 - movdqu XMMWORD[rsi],xmm2 - pxor xmm4,xmm12 - movdqu XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - movdqa xmm2,xmm4 - pxor xmm4,xmm4 - lea rsi,[32+rsi] - jmp NEAR $L$cbc_dec_tail_collected -ALIGN 16 -$L$cbc_dec_four: - movaps xmm14,xmm5 - call _aesni_decrypt4 - pxor xmm2,xmm10 - movaps xmm10,xmm14 - pxor xmm3,xmm11 - movdqu XMMWORD[rsi],xmm2 - pxor xmm4,xmm12 - movdqu XMMWORD[16+rsi],xmm3 - pxor xmm3,xmm3 - pxor xmm5,xmm13 - movdqu XMMWORD[32+rsi],xmm4 - pxor xmm4,xmm4 - movdqa xmm2,xmm5 - pxor xmm5,xmm5 - lea rsi,[48+rsi] - jmp NEAR $L$cbc_dec_tail_collected - -ALIGN 16 -$L$cbc_dec_clear_tail_collected: - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 -$L$cbc_dec_tail_collected: - movups XMMWORD[r8],xmm10 - and rdx,15 - jnz NEAR $L$cbc_dec_tail_partial - movups XMMWORD[rsi],xmm2 - pxor xmm2,xmm2 - jmp NEAR $L$cbc_dec_ret -ALIGN 16 -$L$cbc_dec_tail_partial: - movaps XMMWORD[rsp],xmm2 - pxor xmm2,xmm2 - mov rcx,16 - mov rdi,rsi - sub rcx,rdx - lea rsi,[rsp] - DD 0x9066A4F3 - movdqa XMMWORD[rsp],xmm2 - -$L$cbc_dec_ret: - xorps xmm0,xmm0 - pxor xmm1,xmm1 - movaps xmm6,XMMWORD[16+rsp] - movaps XMMWORD[16+rsp],xmm0 - movaps xmm7,XMMWORD[32+rsp] - movaps XMMWORD[32+rsp],xmm0 - movaps xmm8,XMMWORD[48+rsp] - movaps XMMWORD[48+rsp],xmm0 - movaps xmm9,XMMWORD[64+rsp] - movaps XMMWORD[64+rsp],xmm0 - movaps xmm10,XMMWORD[80+rsp] - movaps XMMWORD[80+rsp],xmm0 - movaps xmm11,XMMWORD[96+rsp] - movaps XMMWORD[96+rsp],xmm0 - movaps xmm12,XMMWORD[112+rsp] - movaps XMMWORD[112+rsp],xmm0 - movaps xmm13,XMMWORD[128+rsp] - movaps XMMWORD[128+rsp],xmm0 - movaps xmm14,XMMWORD[144+rsp] - movaps XMMWORD[144+rsp],xmm0 - movaps xmm15,XMMWORD[160+rsp] - movaps XMMWORD[160+rsp],xmm0 - lea rsp,[rbp] - pop rbp -$L$cbc_ret: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_aesni_cbc_encrypt: -global aesni_set_decrypt_key - -ALIGN 16 -aesni_set_decrypt_key: -DB 0x48,0x83,0xEC,0x08 - call __aesni_set_encrypt_key - shl edx,4 - test eax,eax - jnz NEAR $L$dec_key_ret - lea rcx,[16+rdx*1+r8] - - movups xmm0,XMMWORD[r8] - movups xmm1,XMMWORD[rcx] - movups XMMWORD[rcx],xmm0 - movups XMMWORD[r8],xmm1 - lea r8,[16+r8] - lea rcx,[((-16))+rcx] - -$L$dec_key_inverse: - movups xmm0,XMMWORD[r8] - movups xmm1,XMMWORD[rcx] -DB 102,15,56,219,192 -DB 102,15,56,219,201 - lea r8,[16+r8] - lea rcx,[((-16))+rcx] - movups XMMWORD[16+rcx],xmm0 - movups XMMWORD[(-16)+r8],xmm1 - cmp rcx,r8 - ja NEAR $L$dec_key_inverse - - movups xmm0,XMMWORD[r8] -DB 102,15,56,219,192 - pxor xmm1,xmm1 - movups XMMWORD[rcx],xmm0 - pxor xmm0,xmm0 -$L$dec_key_ret: - add rsp,8 - DB 0F3h,0C3h ;repret -$L$SEH_end_set_decrypt_key: - -global aesni_set_encrypt_key - -ALIGN 16 -aesni_set_encrypt_key: -__aesni_set_encrypt_key: -DB 0x48,0x83,0xEC,0x08 - mov rax,-1 - test rcx,rcx - jz NEAR $L$enc_key_ret - test r8,r8 - jz NEAR $L$enc_key_ret - - mov r10d,268437504 - movups xmm0,XMMWORD[rcx] - xorps xmm4,xmm4 - and r10d,DWORD[((OPENSSL_ia32cap_P+4))] - lea rax,[16+r8] - cmp edx,256 - je NEAR $L$14rounds - cmp edx,192 - je NEAR $L$12rounds - cmp edx,128 - jne NEAR $L$bad_keybits - -$L$10rounds: - mov edx,9 - cmp r10d,268435456 - je NEAR $L$10rounds_alt - - movups XMMWORD[r8],xmm0 -DB 102,15,58,223,200,1 - call $L$key_expansion_128_cold -DB 102,15,58,223,200,2 - call $L$key_expansion_128 -DB 102,15,58,223,200,4 - call $L$key_expansion_128 -DB 102,15,58,223,200,8 - call $L$key_expansion_128 -DB 102,15,58,223,200,16 - call $L$key_expansion_128 -DB 102,15,58,223,200,32 - call $L$key_expansion_128 -DB 102,15,58,223,200,64 - call $L$key_expansion_128 -DB 102,15,58,223,200,128 - call $L$key_expansion_128 -DB 102,15,58,223,200,27 - call $L$key_expansion_128 -DB 102,15,58,223,200,54 - call $L$key_expansion_128 - movups XMMWORD[rax],xmm0 - mov DWORD[80+rax],edx - xor eax,eax - jmp NEAR $L$enc_key_ret - -ALIGN 16 -$L$10rounds_alt: - movdqa xmm5,XMMWORD[$L$key_rotate] - mov r10d,8 - movdqa xmm4,XMMWORD[$L$key_rcon1] - movdqa xmm2,xmm0 - movdqu XMMWORD[r8],xmm0 - jmp NEAR $L$oop_key128 - -ALIGN 16 -$L$oop_key128: -DB 102,15,56,0,197 -DB 102,15,56,221,196 - pslld xmm4,1 - lea rax,[16+rax] - - 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 XMMWORD[(-16)+rax],xmm0 - movdqa xmm2,xmm0 - - dec r10d - jnz NEAR $L$oop_key128 - - movdqa xmm4,XMMWORD[$L$key_rcon1b] - -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 XMMWORD[rax],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 XMMWORD[16+rax],xmm0 - - mov DWORD[96+rax],edx - xor eax,eax - jmp NEAR $L$enc_key_ret - -ALIGN 16 -$L$12rounds: - movq xmm2,QWORD[16+rcx] - mov edx,11 - cmp r10d,268435456 - je NEAR $L$12rounds_alt - - movups XMMWORD[r8],xmm0 -DB 102,15,58,223,202,1 - call $L$key_expansion_192a_cold -DB 102,15,58,223,202,2 - call $L$key_expansion_192b -DB 102,15,58,223,202,4 - call $L$key_expansion_192a -DB 102,15,58,223,202,8 - call $L$key_expansion_192b -DB 102,15,58,223,202,16 - call $L$key_expansion_192a -DB 102,15,58,223,202,32 - call $L$key_expansion_192b -DB 102,15,58,223,202,64 - call $L$key_expansion_192a -DB 102,15,58,223,202,128 - call $L$key_expansion_192b - movups XMMWORD[rax],xmm0 - mov DWORD[48+rax],edx - xor rax,rax - jmp NEAR $L$enc_key_ret - -ALIGN 16 -$L$12rounds_alt: - movdqa xmm5,XMMWORD[$L$key_rotate192] - movdqa xmm4,XMMWORD[$L$key_rcon1] - mov r10d,8 - movdqu XMMWORD[r8],xmm0 - jmp NEAR $L$oop_key192 - -ALIGN 16 -$L$oop_key192: - movq QWORD[rax],xmm2 - movdqa xmm1,xmm2 -DB 102,15,56,0,213 -DB 102,15,56,221,212 - pslld xmm4,1 - lea rax,[24+rax] - - movdqa xmm3,xmm0 - pslldq xmm0,4 - pxor xmm3,xmm0 - pslldq xmm0,4 - pxor xmm3,xmm0 - pslldq xmm0,4 - pxor xmm0,xmm3 - - pshufd xmm3,xmm0,0xff - pxor xmm3,xmm1 - pslldq xmm1,4 - pxor xmm3,xmm1 - - pxor xmm0,xmm2 - pxor xmm2,xmm3 - movdqu XMMWORD[(-16)+rax],xmm0 - - dec r10d - jnz NEAR $L$oop_key192 - - mov DWORD[32+rax],edx - xor eax,eax - jmp NEAR $L$enc_key_ret - -ALIGN 16 -$L$14rounds: - movups xmm2,XMMWORD[16+rcx] - mov edx,13 - lea rax,[16+rax] - cmp r10d,268435456 - je NEAR $L$14rounds_alt - - movups XMMWORD[r8],xmm0 - movups XMMWORD[16+r8],xmm2 -DB 102,15,58,223,202,1 - call $L$key_expansion_256a_cold -DB 102,15,58,223,200,1 - call $L$key_expansion_256b -DB 102,15,58,223,202,2 - call $L$key_expansion_256a -DB 102,15,58,223,200,2 - call $L$key_expansion_256b -DB 102,15,58,223,202,4 - call $L$key_expansion_256a -DB 102,15,58,223,200,4 - call $L$key_expansion_256b -DB 102,15,58,223,202,8 - call $L$key_expansion_256a -DB 102,15,58,223,200,8 - call $L$key_expansion_256b -DB 102,15,58,223,202,16 - call $L$key_expansion_256a -DB 102,15,58,223,200,16 - call $L$key_expansion_256b -DB 102,15,58,223,202,32 - call $L$key_expansion_256a -DB 102,15,58,223,200,32 - call $L$key_expansion_256b -DB 102,15,58,223,202,64 - call $L$key_expansion_256a - movups XMMWORD[rax],xmm0 - mov DWORD[16+rax],edx - xor rax,rax - jmp NEAR $L$enc_key_ret - -ALIGN 16 -$L$14rounds_alt: - movdqa xmm5,XMMWORD[$L$key_rotate] - movdqa xmm4,XMMWORD[$L$key_rcon1] - mov r10d,7 - movdqu XMMWORD[r8],xmm0 - movdqa xmm1,xmm2 - movdqu XMMWORD[16+r8],xmm2 - jmp NEAR $L$oop_key256 - -ALIGN 16 -$L$oop_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 XMMWORD[rax],xmm0 - - dec r10d - jz NEAR $L$done_key256 - - pshufd xmm2,xmm0,0xff - 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 XMMWORD[16+rax],xmm2 - lea rax,[32+rax] - movdqa xmm1,xmm2 - - jmp NEAR $L$oop_key256 - -$L$done_key256: - mov DWORD[16+rax],edx - xor eax,eax - jmp NEAR $L$enc_key_ret - -ALIGN 16 -$L$bad_keybits: - mov rax,-2 -$L$enc_key_ret: - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - add rsp,8 - DB 0F3h,0C3h ;repret -$L$SEH_end_set_encrypt_key: - -ALIGN 16 -$L$key_expansion_128: - movups XMMWORD[rax],xmm0 - lea rax,[16+rax] -$L$key_expansion_128_cold: - shufps xmm4,xmm0,16 - xorps xmm0,xmm4 - shufps xmm4,xmm0,140 - xorps xmm0,xmm4 - shufps xmm1,xmm1,255 - xorps xmm0,xmm1 - DB 0F3h,0C3h ;repret - -ALIGN 16 -$L$key_expansion_192a: - movups XMMWORD[rax],xmm0 - lea rax,[16+rax] -$L$key_expansion_192a_cold: - movaps xmm5,xmm2 -$L$key_expansion_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 - DB 0F3h,0C3h ;repret - -ALIGN 16 -$L$key_expansion_192b: - movaps xmm3,xmm0 - shufps xmm5,xmm0,68 - movups XMMWORD[rax],xmm5 - shufps xmm3,xmm2,78 - movups XMMWORD[16+rax],xmm3 - lea rax,[32+rax] - jmp NEAR $L$key_expansion_192b_warm - -ALIGN 16 -$L$key_expansion_256a: - movups XMMWORD[rax],xmm2 - lea rax,[16+rax] -$L$key_expansion_256a_cold: - shufps xmm4,xmm0,16 - xorps xmm0,xmm4 - shufps xmm4,xmm0,140 - xorps xmm0,xmm4 - shufps xmm1,xmm1,255 - xorps xmm0,xmm1 - DB 0F3h,0C3h ;repret - -ALIGN 16 -$L$key_expansion_256b: - movups XMMWORD[rax],xmm0 - lea rax,[16+rax] - - shufps xmm4,xmm2,16 - xorps xmm2,xmm4 - shufps xmm4,xmm2,140 - xorps xmm2,xmm4 - shufps xmm1,xmm1,170 - xorps xmm2,xmm1 - DB 0F3h,0C3h ;repret - - -ALIGN 64 -$L$bswap_mask: -DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 -$L$increment32: - DD 6,6,6,0 -$L$increment64: - DD 1,0,0,0 -$L$xts_magic: - DD 0x87,0,1,0 -$L$increment1: -DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -$L$key_rotate: - DD 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d -$L$key_rotate192: - DD 0x04070605,0x04070605,0x04070605,0x04070605 -$L$key_rcon1: - DD 1,1,1,1 -$L$key_rcon1b: - DD 0x1b,0x1b,0x1b,0x1b - -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 -ALIGN 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -ecb_ccm64_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - lea rsi,[rax] - lea rdi,[512+r8] - mov ecx,8 - DD 0xa548f3fc - lea rax,[88+rax] - - jmp NEAR $L$common_seh_tail - - - -ALIGN 16 -ctr_xts_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - mov rax,QWORD[160+r8] - lea rsi,[((-160))+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - - jmp NEAR $L$common_rbp_tail - - -ALIGN 16 -cbc_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[152+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$cbc_decrypt_bulk] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - lea r10,[$L$cbc_decrypt_body] - cmp rbx,r10 - jb NEAR $L$restore_cbc_rax - - lea r10,[$L$cbc_ret] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - lea rsi,[16+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - -$L$common_rbp_tail: - mov rax,QWORD[160+r8] - mov rbp,QWORD[rax] - lea rax,[8+rax] - mov QWORD[160+r8],rbp - jmp NEAR $L$common_seh_tail - -$L$restore_cbc_rax: - mov rax,QWORD[120+r8] - -$L$common_seh_tail: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_aesni_ecb_encrypt wrt ..imagebase - DD $L$SEH_end_aesni_ecb_encrypt wrt ..imagebase - DD $L$SEH_info_ecb wrt ..imagebase - - DD $L$SEH_begin_aesni_ccm64_encrypt_blocks wrt ..imagebase - DD $L$SEH_end_aesni_ccm64_encrypt_blocks wrt ..imagebase - DD $L$SEH_info_ccm64_enc wrt ..imagebase - - DD $L$SEH_begin_aesni_ccm64_decrypt_blocks wrt ..imagebase - DD $L$SEH_end_aesni_ccm64_decrypt_blocks wrt ..imagebase - DD $L$SEH_info_ccm64_dec wrt ..imagebase - - DD $L$SEH_begin_aesni_ctr32_encrypt_blocks wrt ..imagebase - DD $L$SEH_end_aesni_ctr32_encrypt_blocks wrt ..imagebase - DD $L$SEH_info_ctr32 wrt ..imagebase - - DD $L$SEH_begin_aesni_xts_encrypt wrt ..imagebase - DD $L$SEH_end_aesni_xts_encrypt wrt ..imagebase - DD $L$SEH_info_xts_enc wrt ..imagebase - - DD $L$SEH_begin_aesni_xts_decrypt wrt ..imagebase - DD $L$SEH_end_aesni_xts_decrypt wrt ..imagebase - DD $L$SEH_info_xts_dec wrt ..imagebase - DD $L$SEH_begin_aesni_cbc_encrypt wrt ..imagebase - DD $L$SEH_end_aesni_cbc_encrypt wrt ..imagebase - DD $L$SEH_info_cbc wrt ..imagebase - - DD aesni_set_decrypt_key wrt ..imagebase - DD $L$SEH_end_set_decrypt_key wrt ..imagebase - DD $L$SEH_info_key wrt ..imagebase - - DD aesni_set_encrypt_key wrt ..imagebase - DD $L$SEH_end_set_encrypt_key wrt ..imagebase - DD $L$SEH_info_key wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_ecb: -DB 9,0,0,0 - DD ecb_ccm64_se_handler wrt ..imagebase - DD $L$ecb_enc_body wrt ..imagebase,$L$ecb_enc_ret wrt ..imagebase -$L$SEH_info_ccm64_enc: -DB 9,0,0,0 - DD ecb_ccm64_se_handler wrt ..imagebase - DD $L$ccm64_enc_body wrt ..imagebase,$L$ccm64_enc_ret wrt ..imagebase -$L$SEH_info_ccm64_dec: -DB 9,0,0,0 - DD ecb_ccm64_se_handler wrt ..imagebase - DD $L$ccm64_dec_body wrt ..imagebase,$L$ccm64_dec_ret wrt ..imagebase -$L$SEH_info_ctr32: -DB 9,0,0,0 - DD ctr_xts_se_handler wrt ..imagebase - DD $L$ctr32_body wrt ..imagebase,$L$ctr32_epilogue wrt ..imagebase -$L$SEH_info_xts_enc: -DB 9,0,0,0 - DD ctr_xts_se_handler wrt ..imagebase - DD $L$xts_enc_body wrt ..imagebase,$L$xts_enc_epilogue wrt ..imagebase -$L$SEH_info_xts_dec: -DB 9,0,0,0 - DD ctr_xts_se_handler wrt ..imagebase - DD $L$xts_dec_body wrt ..imagebase,$L$xts_dec_epilogue wrt ..imagebase -$L$SEH_info_cbc: -DB 9,0,0,0 - DD cbc_se_handler wrt ..imagebase -$L$SEH_info_key: -DB 0x01,0x04,0x01,0x00 -DB 0x04,0x02,0x00,0x00 +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + +EXTERN OPENSSL_ia32cap_P +global aesni_encrypt + +ALIGN 16 +aesni_encrypt: + movups xmm2,XMMWORD[rcx] + mov eax,DWORD[240+r8] + movups xmm0,XMMWORD[r8] + movups xmm1,XMMWORD[16+r8] + lea r8,[32+r8] + xorps xmm2,xmm0 +$L$oop_enc1_1: +DB 102,15,56,220,209 + dec eax + movups xmm1,XMMWORD[r8] + lea r8,[16+r8] + jnz NEAR $L$oop_enc1_1 +DB 102,15,56,221,209 + pxor xmm0,xmm0 + pxor xmm1,xmm1 + movups XMMWORD[rdx],xmm2 + pxor xmm2,xmm2 + DB 0F3h,0C3h ;repret + + +global aesni_decrypt + +ALIGN 16 +aesni_decrypt: + movups xmm2,XMMWORD[rcx] + mov eax,DWORD[240+r8] + movups xmm0,XMMWORD[r8] + movups xmm1,XMMWORD[16+r8] + lea r8,[32+r8] + xorps xmm2,xmm0 +$L$oop_dec1_2: +DB 102,15,56,222,209 + dec eax + movups xmm1,XMMWORD[r8] + lea r8,[16+r8] + jnz NEAR $L$oop_dec1_2 +DB 102,15,56,223,209 + pxor xmm0,xmm0 + pxor xmm1,xmm1 + movups XMMWORD[rdx],xmm2 + pxor xmm2,xmm2 + DB 0F3h,0C3h ;repret + + +ALIGN 16 +_aesni_encrypt2: + movups xmm0,XMMWORD[rcx] + shl eax,4 + movups xmm1,XMMWORD[16+rcx] + xorps xmm2,xmm0 + xorps xmm3,xmm0 + movups xmm0,XMMWORD[32+rcx] + lea rcx,[32+rax*1+rcx] + neg rax + add rax,16 + +$L$enc_loop2: +DB 102,15,56,220,209 +DB 102,15,56,220,217 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 +DB 102,15,56,220,208 +DB 102,15,56,220,216 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$enc_loop2 + +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,221,208 +DB 102,15,56,221,216 + DB 0F3h,0C3h ;repret + + +ALIGN 16 +_aesni_decrypt2: + movups xmm0,XMMWORD[rcx] + shl eax,4 + movups xmm1,XMMWORD[16+rcx] + xorps xmm2,xmm0 + xorps xmm3,xmm0 + movups xmm0,XMMWORD[32+rcx] + lea rcx,[32+rax*1+rcx] + neg rax + add rax,16 + +$L$dec_loop2: +DB 102,15,56,222,209 +DB 102,15,56,222,217 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 +DB 102,15,56,222,208 +DB 102,15,56,222,216 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$dec_loop2 + +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,223,208 +DB 102,15,56,223,216 + DB 0F3h,0C3h ;repret + + +ALIGN 16 +_aesni_encrypt3: + movups xmm0,XMMWORD[rcx] + shl eax,4 + movups xmm1,XMMWORD[16+rcx] + xorps xmm2,xmm0 + xorps xmm3,xmm0 + xorps xmm4,xmm0 + movups xmm0,XMMWORD[32+rcx] + lea rcx,[32+rax*1+rcx] + neg rax + add rax,16 + +$L$enc_loop3: +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,220,225 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 +DB 102,15,56,220,208 +DB 102,15,56,220,216 +DB 102,15,56,220,224 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$enc_loop3 + +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 + DB 0F3h,0C3h ;repret + + +ALIGN 16 +_aesni_decrypt3: + movups xmm0,XMMWORD[rcx] + shl eax,4 + movups xmm1,XMMWORD[16+rcx] + xorps xmm2,xmm0 + xorps xmm3,xmm0 + xorps xmm4,xmm0 + movups xmm0,XMMWORD[32+rcx] + lea rcx,[32+rax*1+rcx] + neg rax + add rax,16 + +$L$dec_loop3: +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,222,225 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 +DB 102,15,56,222,208 +DB 102,15,56,222,216 +DB 102,15,56,222,224 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$dec_loop3 + +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 + DB 0F3h,0C3h ;repret + + +ALIGN 16 +_aesni_encrypt4: + movups xmm0,XMMWORD[rcx] + shl eax,4 + movups xmm1,XMMWORD[16+rcx] + xorps xmm2,xmm0 + xorps xmm3,xmm0 + xorps xmm4,xmm0 + xorps xmm5,xmm0 + movups xmm0,XMMWORD[32+rcx] + lea rcx,[32+rax*1+rcx] + neg rax +DB 0x0f,0x1f,0x00 + add rax,16 + +$L$enc_loop4: +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,XMMWORD[rax*1+rcx] + add rax,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,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$enc_loop4 + +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 + DB 0F3h,0C3h ;repret + + +ALIGN 16 +_aesni_decrypt4: + movups xmm0,XMMWORD[rcx] + shl eax,4 + movups xmm1,XMMWORD[16+rcx] + xorps xmm2,xmm0 + xorps xmm3,xmm0 + xorps xmm4,xmm0 + xorps xmm5,xmm0 + movups xmm0,XMMWORD[32+rcx] + lea rcx,[32+rax*1+rcx] + neg rax +DB 0x0f,0x1f,0x00 + add rax,16 + +$L$dec_loop4: +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,XMMWORD[rax*1+rcx] + add rax,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,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$dec_loop4 + +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 + DB 0F3h,0C3h ;repret + + +ALIGN 16 +_aesni_encrypt6: + movups xmm0,XMMWORD[rcx] + shl eax,4 + movups xmm1,XMMWORD[16+rcx] + xorps xmm2,xmm0 + pxor xmm3,xmm0 + pxor xmm4,xmm0 +DB 102,15,56,220,209 + lea rcx,[32+rax*1+rcx] + neg rax +DB 102,15,56,220,217 + pxor xmm5,xmm0 + pxor xmm6,xmm0 +DB 102,15,56,220,225 + pxor xmm7,xmm0 + movups xmm0,XMMWORD[rax*1+rcx] + add rax,16 + jmp NEAR $L$enc_loop6_enter +ALIGN 16 +$L$enc_loop6: +DB 102,15,56,220,209 +DB 102,15,56,220,217 +DB 102,15,56,220,225 +$L$enc_loop6_enter: +DB 102,15,56,220,233 +DB 102,15,56,220,241 +DB 102,15,56,220,249 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,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,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$enc_loop6 + +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 + DB 0F3h,0C3h ;repret + + +ALIGN 16 +_aesni_decrypt6: + movups xmm0,XMMWORD[rcx] + shl eax,4 + movups xmm1,XMMWORD[16+rcx] + xorps xmm2,xmm0 + pxor xmm3,xmm0 + pxor xmm4,xmm0 +DB 102,15,56,222,209 + lea rcx,[32+rax*1+rcx] + neg rax +DB 102,15,56,222,217 + pxor xmm5,xmm0 + pxor xmm6,xmm0 +DB 102,15,56,222,225 + pxor xmm7,xmm0 + movups xmm0,XMMWORD[rax*1+rcx] + add rax,16 + jmp NEAR $L$dec_loop6_enter +ALIGN 16 +$L$dec_loop6: +DB 102,15,56,222,209 +DB 102,15,56,222,217 +DB 102,15,56,222,225 +$L$dec_loop6_enter: +DB 102,15,56,222,233 +DB 102,15,56,222,241 +DB 102,15,56,222,249 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,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,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$dec_loop6 + +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 + DB 0F3h,0C3h ;repret + + +ALIGN 16 +_aesni_encrypt8: + movups xmm0,XMMWORD[rcx] + shl eax,4 + movups xmm1,XMMWORD[16+rcx] + xorps xmm2,xmm0 + xorps xmm3,xmm0 + pxor xmm4,xmm0 + pxor xmm5,xmm0 + pxor xmm6,xmm0 + lea rcx,[32+rax*1+rcx] + neg rax +DB 102,15,56,220,209 + pxor xmm7,xmm0 + pxor xmm8,xmm0 +DB 102,15,56,220,217 + pxor xmm9,xmm0 + movups xmm0,XMMWORD[rax*1+rcx] + add rax,16 + jmp NEAR $L$enc_loop8_inner +ALIGN 16 +$L$enc_loop8: +DB 102,15,56,220,209 +DB 102,15,56,220,217 +$L$enc_loop8_inner: +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,68,15,56,220,193 +DB 102,68,15,56,220,201 +$L$enc_loop8_enter: + movups xmm1,XMMWORD[rax*1+rcx] + add rax,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 +DB 102,68,15,56,220,192 +DB 102,68,15,56,220,200 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$enc_loop8 + +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,68,15,56,220,193 +DB 102,68,15,56,220,201 +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 +DB 102,68,15,56,221,192 +DB 102,68,15,56,221,200 + DB 0F3h,0C3h ;repret + + +ALIGN 16 +_aesni_decrypt8: + movups xmm0,XMMWORD[rcx] + shl eax,4 + movups xmm1,XMMWORD[16+rcx] + xorps xmm2,xmm0 + xorps xmm3,xmm0 + pxor xmm4,xmm0 + pxor xmm5,xmm0 + pxor xmm6,xmm0 + lea rcx,[32+rax*1+rcx] + neg rax +DB 102,15,56,222,209 + pxor xmm7,xmm0 + pxor xmm8,xmm0 +DB 102,15,56,222,217 + pxor xmm9,xmm0 + movups xmm0,XMMWORD[rax*1+rcx] + add rax,16 + jmp NEAR $L$dec_loop8_inner +ALIGN 16 +$L$dec_loop8: +DB 102,15,56,222,209 +DB 102,15,56,222,217 +$L$dec_loop8_inner: +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,68,15,56,222,193 +DB 102,68,15,56,222,201 +$L$dec_loop8_enter: + movups xmm1,XMMWORD[rax*1+rcx] + add rax,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 +DB 102,68,15,56,222,192 +DB 102,68,15,56,222,200 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$dec_loop8 + +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,68,15,56,222,193 +DB 102,68,15,56,222,201 +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 +DB 102,68,15,56,223,192 +DB 102,68,15,56,223,200 + DB 0F3h,0C3h ;repret + +global aesni_ecb_encrypt + +ALIGN 16 +aesni_ecb_encrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_ecb_encrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + + + lea rsp,[((-88))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 +$L$ecb_enc_body: + and rdx,-16 + jz NEAR $L$ecb_ret + + mov eax,DWORD[240+rcx] + movups xmm0,XMMWORD[rcx] + mov r11,rcx + mov r10d,eax + test r8d,r8d + jz NEAR $L$ecb_decrypt + + cmp rdx,0x80 + jb NEAR $L$ecb_enc_tail + + movdqu xmm2,XMMWORD[rdi] + movdqu xmm3,XMMWORD[16+rdi] + movdqu xmm4,XMMWORD[32+rdi] + movdqu xmm5,XMMWORD[48+rdi] + movdqu xmm6,XMMWORD[64+rdi] + movdqu xmm7,XMMWORD[80+rdi] + movdqu xmm8,XMMWORD[96+rdi] + movdqu xmm9,XMMWORD[112+rdi] + lea rdi,[128+rdi] + sub rdx,0x80 + jmp NEAR $L$ecb_enc_loop8_enter +ALIGN 16 +$L$ecb_enc_loop8: + movups XMMWORD[rsi],xmm2 + mov rcx,r11 + movdqu xmm2,XMMWORD[rdi] + mov eax,r10d + movups XMMWORD[16+rsi],xmm3 + movdqu xmm3,XMMWORD[16+rdi] + movups XMMWORD[32+rsi],xmm4 + movdqu xmm4,XMMWORD[32+rdi] + movups XMMWORD[48+rsi],xmm5 + movdqu xmm5,XMMWORD[48+rdi] + movups XMMWORD[64+rsi],xmm6 + movdqu xmm6,XMMWORD[64+rdi] + movups XMMWORD[80+rsi],xmm7 + movdqu xmm7,XMMWORD[80+rdi] + movups XMMWORD[96+rsi],xmm8 + movdqu xmm8,XMMWORD[96+rdi] + movups XMMWORD[112+rsi],xmm9 + lea rsi,[128+rsi] + movdqu xmm9,XMMWORD[112+rdi] + lea rdi,[128+rdi] +$L$ecb_enc_loop8_enter: + + call _aesni_encrypt8 + + sub rdx,0x80 + jnc NEAR $L$ecb_enc_loop8 + + movups XMMWORD[rsi],xmm2 + mov rcx,r11 + movups XMMWORD[16+rsi],xmm3 + mov eax,r10d + movups XMMWORD[32+rsi],xmm4 + movups XMMWORD[48+rsi],xmm5 + movups XMMWORD[64+rsi],xmm6 + movups XMMWORD[80+rsi],xmm7 + movups XMMWORD[96+rsi],xmm8 + movups XMMWORD[112+rsi],xmm9 + lea rsi,[128+rsi] + add rdx,0x80 + jz NEAR $L$ecb_ret + +$L$ecb_enc_tail: + movups xmm2,XMMWORD[rdi] + cmp rdx,0x20 + jb NEAR $L$ecb_enc_one + movups xmm3,XMMWORD[16+rdi] + je NEAR $L$ecb_enc_two + movups xmm4,XMMWORD[32+rdi] + cmp rdx,0x40 + jb NEAR $L$ecb_enc_three + movups xmm5,XMMWORD[48+rdi] + je NEAR $L$ecb_enc_four + movups xmm6,XMMWORD[64+rdi] + cmp rdx,0x60 + jb NEAR $L$ecb_enc_five + movups xmm7,XMMWORD[80+rdi] + je NEAR $L$ecb_enc_six + movdqu xmm8,XMMWORD[96+rdi] + xorps xmm9,xmm9 + call _aesni_encrypt8 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + movups XMMWORD[32+rsi],xmm4 + movups XMMWORD[48+rsi],xmm5 + movups XMMWORD[64+rsi],xmm6 + movups XMMWORD[80+rsi],xmm7 + movups XMMWORD[96+rsi],xmm8 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_enc_one: + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + lea rcx,[32+rcx] + xorps xmm2,xmm0 +$L$oop_enc1_3: +DB 102,15,56,220,209 + dec eax + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_enc1_3 +DB 102,15,56,221,209 + movups XMMWORD[rsi],xmm2 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_enc_two: + call _aesni_encrypt2 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_enc_three: + call _aesni_encrypt3 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + movups XMMWORD[32+rsi],xmm4 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_enc_four: + call _aesni_encrypt4 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + movups XMMWORD[32+rsi],xmm4 + movups XMMWORD[48+rsi],xmm5 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_enc_five: + xorps xmm7,xmm7 + call _aesni_encrypt6 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + movups XMMWORD[32+rsi],xmm4 + movups XMMWORD[48+rsi],xmm5 + movups XMMWORD[64+rsi],xmm6 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_enc_six: + call _aesni_encrypt6 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + movups XMMWORD[32+rsi],xmm4 + movups XMMWORD[48+rsi],xmm5 + movups XMMWORD[64+rsi],xmm6 + movups XMMWORD[80+rsi],xmm7 + jmp NEAR $L$ecb_ret + +ALIGN 16 +$L$ecb_decrypt: + cmp rdx,0x80 + jb NEAR $L$ecb_dec_tail + + movdqu xmm2,XMMWORD[rdi] + movdqu xmm3,XMMWORD[16+rdi] + movdqu xmm4,XMMWORD[32+rdi] + movdqu xmm5,XMMWORD[48+rdi] + movdqu xmm6,XMMWORD[64+rdi] + movdqu xmm7,XMMWORD[80+rdi] + movdqu xmm8,XMMWORD[96+rdi] + movdqu xmm9,XMMWORD[112+rdi] + lea rdi,[128+rdi] + sub rdx,0x80 + jmp NEAR $L$ecb_dec_loop8_enter +ALIGN 16 +$L$ecb_dec_loop8: + movups XMMWORD[rsi],xmm2 + mov rcx,r11 + movdqu xmm2,XMMWORD[rdi] + mov eax,r10d + movups XMMWORD[16+rsi],xmm3 + movdqu xmm3,XMMWORD[16+rdi] + movups XMMWORD[32+rsi],xmm4 + movdqu xmm4,XMMWORD[32+rdi] + movups XMMWORD[48+rsi],xmm5 + movdqu xmm5,XMMWORD[48+rdi] + movups XMMWORD[64+rsi],xmm6 + movdqu xmm6,XMMWORD[64+rdi] + movups XMMWORD[80+rsi],xmm7 + movdqu xmm7,XMMWORD[80+rdi] + movups XMMWORD[96+rsi],xmm8 + movdqu xmm8,XMMWORD[96+rdi] + movups XMMWORD[112+rsi],xmm9 + lea rsi,[128+rsi] + movdqu xmm9,XMMWORD[112+rdi] + lea rdi,[128+rdi] +$L$ecb_dec_loop8_enter: + + call _aesni_decrypt8 + + movups xmm0,XMMWORD[r11] + sub rdx,0x80 + jnc NEAR $L$ecb_dec_loop8 + + movups XMMWORD[rsi],xmm2 + pxor xmm2,xmm2 + mov rcx,r11 + movups XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + mov eax,r10d + movups XMMWORD[32+rsi],xmm4 + pxor xmm4,xmm4 + movups XMMWORD[48+rsi],xmm5 + pxor xmm5,xmm5 + movups XMMWORD[64+rsi],xmm6 + pxor xmm6,xmm6 + movups XMMWORD[80+rsi],xmm7 + pxor xmm7,xmm7 + movups XMMWORD[96+rsi],xmm8 + pxor xmm8,xmm8 + movups XMMWORD[112+rsi],xmm9 + pxor xmm9,xmm9 + lea rsi,[128+rsi] + add rdx,0x80 + jz NEAR $L$ecb_ret + +$L$ecb_dec_tail: + movups xmm2,XMMWORD[rdi] + cmp rdx,0x20 + jb NEAR $L$ecb_dec_one + movups xmm3,XMMWORD[16+rdi] + je NEAR $L$ecb_dec_two + movups xmm4,XMMWORD[32+rdi] + cmp rdx,0x40 + jb NEAR $L$ecb_dec_three + movups xmm5,XMMWORD[48+rdi] + je NEAR $L$ecb_dec_four + movups xmm6,XMMWORD[64+rdi] + cmp rdx,0x60 + jb NEAR $L$ecb_dec_five + movups xmm7,XMMWORD[80+rdi] + je NEAR $L$ecb_dec_six + movups xmm8,XMMWORD[96+rdi] + movups xmm0,XMMWORD[rcx] + xorps xmm9,xmm9 + call _aesni_decrypt8 + movups XMMWORD[rsi],xmm2 + pxor xmm2,xmm2 + movups XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + movups XMMWORD[32+rsi],xmm4 + pxor xmm4,xmm4 + movups XMMWORD[48+rsi],xmm5 + pxor xmm5,xmm5 + movups XMMWORD[64+rsi],xmm6 + pxor xmm6,xmm6 + movups XMMWORD[80+rsi],xmm7 + pxor xmm7,xmm7 + movups XMMWORD[96+rsi],xmm8 + pxor xmm8,xmm8 + pxor xmm9,xmm9 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_dec_one: + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + lea rcx,[32+rcx] + xorps xmm2,xmm0 +$L$oop_dec1_4: +DB 102,15,56,222,209 + dec eax + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_dec1_4 +DB 102,15,56,223,209 + movups XMMWORD[rsi],xmm2 + pxor xmm2,xmm2 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_dec_two: + call _aesni_decrypt2 + movups XMMWORD[rsi],xmm2 + pxor xmm2,xmm2 + movups XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_dec_three: + call _aesni_decrypt3 + movups XMMWORD[rsi],xmm2 + pxor xmm2,xmm2 + movups XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + movups XMMWORD[32+rsi],xmm4 + pxor xmm4,xmm4 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_dec_four: + call _aesni_decrypt4 + movups XMMWORD[rsi],xmm2 + pxor xmm2,xmm2 + movups XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + movups XMMWORD[32+rsi],xmm4 + pxor xmm4,xmm4 + movups XMMWORD[48+rsi],xmm5 + pxor xmm5,xmm5 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_dec_five: + xorps xmm7,xmm7 + call _aesni_decrypt6 + movups XMMWORD[rsi],xmm2 + pxor xmm2,xmm2 + movups XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + movups XMMWORD[32+rsi],xmm4 + pxor xmm4,xmm4 + movups XMMWORD[48+rsi],xmm5 + pxor xmm5,xmm5 + movups XMMWORD[64+rsi],xmm6 + pxor xmm6,xmm6 + pxor xmm7,xmm7 + jmp NEAR $L$ecb_ret +ALIGN 16 +$L$ecb_dec_six: + call _aesni_decrypt6 + movups XMMWORD[rsi],xmm2 + pxor xmm2,xmm2 + movups XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + movups XMMWORD[32+rsi],xmm4 + pxor xmm4,xmm4 + movups XMMWORD[48+rsi],xmm5 + pxor xmm5,xmm5 + movups XMMWORD[64+rsi],xmm6 + pxor xmm6,xmm6 + movups XMMWORD[80+rsi],xmm7 + pxor xmm7,xmm7 + +$L$ecb_ret: + xorps xmm0,xmm0 + pxor xmm1,xmm1 + movaps xmm6,XMMWORD[rsp] + movaps XMMWORD[rsp],xmm0 + movaps xmm7,XMMWORD[16+rsp] + movaps XMMWORD[16+rsp],xmm0 + movaps xmm8,XMMWORD[32+rsp] + movaps XMMWORD[32+rsp],xmm0 + movaps xmm9,XMMWORD[48+rsp] + movaps XMMWORD[48+rsp],xmm0 + lea rsp,[88+rsp] +$L$ecb_enc_ret: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_ecb_encrypt: +global aesni_ccm64_encrypt_blocks + +ALIGN 16 +aesni_ccm64_encrypt_blocks: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_ccm64_encrypt_blocks: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + lea rsp,[((-88))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 +$L$ccm64_enc_body: + mov eax,DWORD[240+rcx] + movdqu xmm6,XMMWORD[r8] + movdqa xmm9,XMMWORD[$L$increment64] + movdqa xmm7,XMMWORD[$L$bswap_mask] + + shl eax,4 + mov r10d,16 + lea r11,[rcx] + movdqu xmm3,XMMWORD[r9] + movdqa xmm2,xmm6 + lea rcx,[32+rax*1+rcx] +DB 102,15,56,0,247 + sub r10,rax + jmp NEAR $L$ccm64_enc_outer +ALIGN 16 +$L$ccm64_enc_outer: + movups xmm0,XMMWORD[r11] + mov rax,r10 + movups xmm8,XMMWORD[rdi] + + xorps xmm2,xmm0 + movups xmm1,XMMWORD[16+r11] + xorps xmm0,xmm8 + xorps xmm3,xmm0 + movups xmm0,XMMWORD[32+r11] + +$L$ccm64_enc2_loop: +DB 102,15,56,220,209 +DB 102,15,56,220,217 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 +DB 102,15,56,220,208 +DB 102,15,56,220,216 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$ccm64_enc2_loop +DB 102,15,56,220,209 +DB 102,15,56,220,217 + paddq xmm6,xmm9 + dec rdx +DB 102,15,56,221,208 +DB 102,15,56,221,216 + + lea rdi,[16+rdi] + xorps xmm8,xmm2 + movdqa xmm2,xmm6 + movups XMMWORD[rsi],xmm8 +DB 102,15,56,0,215 + lea rsi,[16+rsi] + jnz NEAR $L$ccm64_enc_outer + + pxor xmm0,xmm0 + pxor xmm1,xmm1 + pxor xmm2,xmm2 + movups XMMWORD[r9],xmm3 + pxor xmm3,xmm3 + pxor xmm8,xmm8 + pxor xmm6,xmm6 + movaps xmm6,XMMWORD[rsp] + movaps XMMWORD[rsp],xmm0 + movaps xmm7,XMMWORD[16+rsp] + movaps XMMWORD[16+rsp],xmm0 + movaps xmm8,XMMWORD[32+rsp] + movaps XMMWORD[32+rsp],xmm0 + movaps xmm9,XMMWORD[48+rsp] + movaps XMMWORD[48+rsp],xmm0 + lea rsp,[88+rsp] +$L$ccm64_enc_ret: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_ccm64_encrypt_blocks: +global aesni_ccm64_decrypt_blocks + +ALIGN 16 +aesni_ccm64_decrypt_blocks: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_ccm64_decrypt_blocks: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + lea rsp,[((-88))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 +$L$ccm64_dec_body: + mov eax,DWORD[240+rcx] + movups xmm6,XMMWORD[r8] + movdqu xmm3,XMMWORD[r9] + movdqa xmm9,XMMWORD[$L$increment64] + movdqa xmm7,XMMWORD[$L$bswap_mask] + + movaps xmm2,xmm6 + mov r10d,eax + mov r11,rcx +DB 102,15,56,0,247 + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + lea rcx,[32+rcx] + xorps xmm2,xmm0 +$L$oop_enc1_5: +DB 102,15,56,220,209 + dec eax + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_enc1_5 +DB 102,15,56,221,209 + shl r10d,4 + mov eax,16 + movups xmm8,XMMWORD[rdi] + paddq xmm6,xmm9 + lea rdi,[16+rdi] + sub rax,r10 + lea rcx,[32+r10*1+r11] + mov r10,rax + jmp NEAR $L$ccm64_dec_outer +ALIGN 16 +$L$ccm64_dec_outer: + xorps xmm8,xmm2 + movdqa xmm2,xmm6 + movups XMMWORD[rsi],xmm8 + lea rsi,[16+rsi] +DB 102,15,56,0,215 + + sub rdx,1 + jz NEAR $L$ccm64_dec_break + + movups xmm0,XMMWORD[r11] + mov rax,r10 + movups xmm1,XMMWORD[16+r11] + xorps xmm8,xmm0 + xorps xmm2,xmm0 + xorps xmm3,xmm8 + movups xmm0,XMMWORD[32+r11] + jmp NEAR $L$ccm64_dec2_loop +ALIGN 16 +$L$ccm64_dec2_loop: +DB 102,15,56,220,209 +DB 102,15,56,220,217 + movups xmm1,XMMWORD[rax*1+rcx] + add rax,32 +DB 102,15,56,220,208 +DB 102,15,56,220,216 + movups xmm0,XMMWORD[((-16))+rax*1+rcx] + jnz NEAR $L$ccm64_dec2_loop + movups xmm8,XMMWORD[rdi] + paddq xmm6,xmm9 +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 rdi,[16+rdi] + jmp NEAR $L$ccm64_dec_outer + +ALIGN 16 +$L$ccm64_dec_break: + + mov eax,DWORD[240+r11] + movups xmm0,XMMWORD[r11] + movups xmm1,XMMWORD[16+r11] + xorps xmm8,xmm0 + lea r11,[32+r11] + xorps xmm3,xmm8 +$L$oop_enc1_6: +DB 102,15,56,220,217 + dec eax + movups xmm1,XMMWORD[r11] + lea r11,[16+r11] + jnz NEAR $L$oop_enc1_6 +DB 102,15,56,221,217 + pxor xmm0,xmm0 + pxor xmm1,xmm1 + pxor xmm2,xmm2 + movups XMMWORD[r9],xmm3 + pxor xmm3,xmm3 + pxor xmm8,xmm8 + pxor xmm6,xmm6 + movaps xmm6,XMMWORD[rsp] + movaps XMMWORD[rsp],xmm0 + movaps xmm7,XMMWORD[16+rsp] + movaps XMMWORD[16+rsp],xmm0 + movaps xmm8,XMMWORD[32+rsp] + movaps XMMWORD[32+rsp],xmm0 + movaps xmm9,XMMWORD[48+rsp] + movaps XMMWORD[48+rsp],xmm0 + lea rsp,[88+rsp] +$L$ccm64_dec_ret: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_ccm64_decrypt_blocks: +global aesni_ctr32_encrypt_blocks + +ALIGN 16 +aesni_ctr32_encrypt_blocks: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_ctr32_encrypt_blocks: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + + + cmp rdx,1 + jne NEAR $L$ctr32_bulk + + + + movups xmm2,XMMWORD[r8] + movups xmm3,XMMWORD[rdi] + mov edx,DWORD[240+rcx] + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + lea rcx,[32+rcx] + xorps xmm2,xmm0 +$L$oop_enc1_7: +DB 102,15,56,220,209 + dec edx + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_enc1_7 +DB 102,15,56,221,209 + pxor xmm0,xmm0 + pxor xmm1,xmm1 + xorps xmm2,xmm3 + pxor xmm3,xmm3 + movups XMMWORD[rsi],xmm2 + xorps xmm2,xmm2 + jmp NEAR $L$ctr32_epilogue + +ALIGN 16 +$L$ctr32_bulk: + lea rax,[rsp] + push rbp + sub rsp,288 + and rsp,-16 + movaps XMMWORD[(-168)+rax],xmm6 + movaps XMMWORD[(-152)+rax],xmm7 + movaps XMMWORD[(-136)+rax],xmm8 + movaps XMMWORD[(-120)+rax],xmm9 + movaps XMMWORD[(-104)+rax],xmm10 + movaps XMMWORD[(-88)+rax],xmm11 + movaps XMMWORD[(-72)+rax],xmm12 + movaps XMMWORD[(-56)+rax],xmm13 + movaps XMMWORD[(-40)+rax],xmm14 + movaps XMMWORD[(-24)+rax],xmm15 +$L$ctr32_body: + lea rbp,[((-8))+rax] + + + + + movdqu xmm2,XMMWORD[r8] + movdqu xmm0,XMMWORD[rcx] + mov r8d,DWORD[12+r8] + pxor xmm2,xmm0 + mov r11d,DWORD[12+rcx] + movdqa XMMWORD[rsp],xmm2 + bswap r8d + movdqa xmm3,xmm2 + movdqa xmm4,xmm2 + movdqa xmm5,xmm2 + movdqa XMMWORD[64+rsp],xmm2 + movdqa XMMWORD[80+rsp],xmm2 + movdqa XMMWORD[96+rsp],xmm2 + mov r10,rdx + movdqa XMMWORD[112+rsp],xmm2 + + lea rax,[1+r8] + lea rdx,[2+r8] + bswap eax + bswap edx + xor eax,r11d + xor edx,r11d +DB 102,15,58,34,216,3 + lea rax,[3+r8] + movdqa XMMWORD[16+rsp],xmm3 +DB 102,15,58,34,226,3 + bswap eax + mov rdx,r10 + lea r10,[4+r8] + movdqa XMMWORD[32+rsp],xmm4 + xor eax,r11d + bswap r10d +DB 102,15,58,34,232,3 + xor r10d,r11d + movdqa XMMWORD[48+rsp],xmm5 + lea r9,[5+r8] + mov DWORD[((64+12))+rsp],r10d + bswap r9d + lea r10,[6+r8] + mov eax,DWORD[240+rcx] + xor r9d,r11d + bswap r10d + mov DWORD[((80+12))+rsp],r9d + xor r10d,r11d + lea r9,[7+r8] + mov DWORD[((96+12))+rsp],r10d + bswap r9d + mov r10d,DWORD[((OPENSSL_ia32cap_P+4))] + xor r9d,r11d + and r10d,71303168 + mov DWORD[((112+12))+rsp],r9d + + movups xmm1,XMMWORD[16+rcx] + + movdqa xmm6,XMMWORD[64+rsp] + movdqa xmm7,XMMWORD[80+rsp] + + cmp rdx,8 + jb NEAR $L$ctr32_tail + + sub rdx,6 + cmp r10d,4194304 + je NEAR $L$ctr32_6x + + lea rcx,[128+rcx] + sub rdx,2 + jmp NEAR $L$ctr32_loop8 + +ALIGN 16 +$L$ctr32_6x: + shl eax,4 + mov r10d,48 + bswap r11d + lea rcx,[32+rax*1+rcx] + sub r10,rax + jmp NEAR $L$ctr32_loop6 + +ALIGN 16 +$L$ctr32_loop6: + add r8d,6 + movups xmm0,XMMWORD[((-48))+r10*1+rcx] +DB 102,15,56,220,209 + mov eax,r8d + xor eax,r11d +DB 102,15,56,220,217 +DB 0x0f,0x38,0xf1,0x44,0x24,12 + lea eax,[1+r8] +DB 102,15,56,220,225 + xor eax,r11d +DB 0x0f,0x38,0xf1,0x44,0x24,28 +DB 102,15,56,220,233 + lea eax,[2+r8] + xor eax,r11d +DB 102,15,56,220,241 +DB 0x0f,0x38,0xf1,0x44,0x24,44 + lea eax,[3+r8] +DB 102,15,56,220,249 + movups xmm1,XMMWORD[((-32))+r10*1+rcx] + xor eax,r11d + +DB 102,15,56,220,208 +DB 0x0f,0x38,0xf1,0x44,0x24,60 + lea eax,[4+r8] +DB 102,15,56,220,216 + xor eax,r11d +DB 0x0f,0x38,0xf1,0x44,0x24,76 +DB 102,15,56,220,224 + lea eax,[5+r8] + xor eax,r11d +DB 102,15,56,220,232 +DB 0x0f,0x38,0xf1,0x44,0x24,92 + mov rax,r10 +DB 102,15,56,220,240 +DB 102,15,56,220,248 + movups xmm0,XMMWORD[((-16))+r10*1+rcx] + + call $L$enc_loop6 + + movdqu xmm8,XMMWORD[rdi] + movdqu xmm9,XMMWORD[16+rdi] + movdqu xmm10,XMMWORD[32+rdi] + movdqu xmm11,XMMWORD[48+rdi] + movdqu xmm12,XMMWORD[64+rdi] + movdqu xmm13,XMMWORD[80+rdi] + lea rdi,[96+rdi] + movups xmm1,XMMWORD[((-64))+r10*1+rcx] + pxor xmm8,xmm2 + movaps xmm2,XMMWORD[rsp] + pxor xmm9,xmm3 + movaps xmm3,XMMWORD[16+rsp] + pxor xmm10,xmm4 + movaps xmm4,XMMWORD[32+rsp] + pxor xmm11,xmm5 + movaps xmm5,XMMWORD[48+rsp] + pxor xmm12,xmm6 + movaps xmm6,XMMWORD[64+rsp] + pxor xmm13,xmm7 + movaps xmm7,XMMWORD[80+rsp] + movdqu XMMWORD[rsi],xmm8 + movdqu XMMWORD[16+rsi],xmm9 + movdqu XMMWORD[32+rsi],xmm10 + movdqu XMMWORD[48+rsi],xmm11 + movdqu XMMWORD[64+rsi],xmm12 + movdqu XMMWORD[80+rsi],xmm13 + lea rsi,[96+rsi] + + sub rdx,6 + jnc NEAR $L$ctr32_loop6 + + add rdx,6 + jz NEAR $L$ctr32_done + + lea eax,[((-48))+r10] + lea rcx,[((-80))+r10*1+rcx] + neg eax + shr eax,4 + jmp NEAR $L$ctr32_tail + +ALIGN 32 +$L$ctr32_loop8: + add r8d,8 + movdqa xmm8,XMMWORD[96+rsp] +DB 102,15,56,220,209 + mov r9d,r8d + movdqa xmm9,XMMWORD[112+rsp] +DB 102,15,56,220,217 + bswap r9d + movups xmm0,XMMWORD[((32-128))+rcx] +DB 102,15,56,220,225 + xor r9d,r11d + nop +DB 102,15,56,220,233 + mov DWORD[((0+12))+rsp],r9d + lea r9,[1+r8] +DB 102,15,56,220,241 +DB 102,15,56,220,249 +DB 102,68,15,56,220,193 +DB 102,68,15,56,220,201 + movups xmm1,XMMWORD[((48-128))+rcx] + bswap r9d +DB 102,15,56,220,208 +DB 102,15,56,220,216 + xor r9d,r11d +DB 0x66,0x90 +DB 102,15,56,220,224 +DB 102,15,56,220,232 + mov DWORD[((16+12))+rsp],r9d + lea r9,[2+r8] +DB 102,15,56,220,240 +DB 102,15,56,220,248 +DB 102,68,15,56,220,192 +DB 102,68,15,56,220,200 + movups xmm0,XMMWORD[((64-128))+rcx] + bswap r9d +DB 102,15,56,220,209 +DB 102,15,56,220,217 + xor r9d,r11d +DB 0x66,0x90 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + mov DWORD[((32+12))+rsp],r9d + lea r9,[3+r8] +DB 102,15,56,220,241 +DB 102,15,56,220,249 +DB 102,68,15,56,220,193 +DB 102,68,15,56,220,201 + movups xmm1,XMMWORD[((80-128))+rcx] + bswap r9d +DB 102,15,56,220,208 +DB 102,15,56,220,216 + xor r9d,r11d +DB 0x66,0x90 +DB 102,15,56,220,224 +DB 102,15,56,220,232 + mov DWORD[((48+12))+rsp],r9d + lea r9,[4+r8] +DB 102,15,56,220,240 +DB 102,15,56,220,248 +DB 102,68,15,56,220,192 +DB 102,68,15,56,220,200 + movups xmm0,XMMWORD[((96-128))+rcx] + bswap r9d +DB 102,15,56,220,209 +DB 102,15,56,220,217 + xor r9d,r11d +DB 0x66,0x90 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + mov DWORD[((64+12))+rsp],r9d + lea r9,[5+r8] +DB 102,15,56,220,241 +DB 102,15,56,220,249 +DB 102,68,15,56,220,193 +DB 102,68,15,56,220,201 + movups xmm1,XMMWORD[((112-128))+rcx] + bswap r9d +DB 102,15,56,220,208 +DB 102,15,56,220,216 + xor r9d,r11d +DB 0x66,0x90 +DB 102,15,56,220,224 +DB 102,15,56,220,232 + mov DWORD[((80+12))+rsp],r9d + lea r9,[6+r8] +DB 102,15,56,220,240 +DB 102,15,56,220,248 +DB 102,68,15,56,220,192 +DB 102,68,15,56,220,200 + movups xmm0,XMMWORD[((128-128))+rcx] + bswap r9d +DB 102,15,56,220,209 +DB 102,15,56,220,217 + xor r9d,r11d +DB 0x66,0x90 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + mov DWORD[((96+12))+rsp],r9d + lea r9,[7+r8] +DB 102,15,56,220,241 +DB 102,15,56,220,249 +DB 102,68,15,56,220,193 +DB 102,68,15,56,220,201 + movups xmm1,XMMWORD[((144-128))+rcx] + bswap r9d +DB 102,15,56,220,208 +DB 102,15,56,220,216 +DB 102,15,56,220,224 + xor r9d,r11d + movdqu xmm10,XMMWORD[rdi] +DB 102,15,56,220,232 + mov DWORD[((112+12))+rsp],r9d + cmp eax,11 +DB 102,15,56,220,240 +DB 102,15,56,220,248 +DB 102,68,15,56,220,192 +DB 102,68,15,56,220,200 + movups xmm0,XMMWORD[((160-128))+rcx] + + jb NEAR $L$ctr32_enc_done + +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,68,15,56,220,193 +DB 102,68,15,56,220,201 + movups xmm1,XMMWORD[((176-128))+rcx] + +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 +DB 102,68,15,56,220,192 +DB 102,68,15,56,220,200 + movups xmm0,XMMWORD[((192-128))+rcx] + je NEAR $L$ctr32_enc_done + +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,68,15,56,220,193 +DB 102,68,15,56,220,201 + movups xmm1,XMMWORD[((208-128))+rcx] + +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 +DB 102,68,15,56,220,192 +DB 102,68,15,56,220,200 + movups xmm0,XMMWORD[((224-128))+rcx] + jmp NEAR $L$ctr32_enc_done + +ALIGN 16 +$L$ctr32_enc_done: + movdqu xmm11,XMMWORD[16+rdi] + pxor xmm10,xmm0 + movdqu xmm12,XMMWORD[32+rdi] + pxor xmm11,xmm0 + movdqu xmm13,XMMWORD[48+rdi] + pxor xmm12,xmm0 + movdqu xmm14,XMMWORD[64+rdi] + pxor xmm13,xmm0 + movdqu xmm15,XMMWORD[80+rdi] + pxor xmm14,xmm0 + pxor xmm15,xmm0 +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,68,15,56,220,193 +DB 102,68,15,56,220,201 + movdqu xmm1,XMMWORD[96+rdi] + lea rdi,[128+rdi] + +DB 102,65,15,56,221,210 + pxor xmm1,xmm0 + movdqu xmm10,XMMWORD[((112-128))+rdi] +DB 102,65,15,56,221,219 + pxor xmm10,xmm0 + movdqa xmm11,XMMWORD[rsp] +DB 102,65,15,56,221,228 +DB 102,65,15,56,221,237 + movdqa xmm12,XMMWORD[16+rsp] + movdqa xmm13,XMMWORD[32+rsp] +DB 102,65,15,56,221,246 +DB 102,65,15,56,221,255 + movdqa xmm14,XMMWORD[48+rsp] + movdqa xmm15,XMMWORD[64+rsp] +DB 102,68,15,56,221,193 + movdqa xmm0,XMMWORD[80+rsp] + movups xmm1,XMMWORD[((16-128))+rcx] +DB 102,69,15,56,221,202 + + movups XMMWORD[rsi],xmm2 + movdqa xmm2,xmm11 + movups XMMWORD[16+rsi],xmm3 + movdqa xmm3,xmm12 + movups XMMWORD[32+rsi],xmm4 + movdqa xmm4,xmm13 + movups XMMWORD[48+rsi],xmm5 + movdqa xmm5,xmm14 + movups XMMWORD[64+rsi],xmm6 + movdqa xmm6,xmm15 + movups XMMWORD[80+rsi],xmm7 + movdqa xmm7,xmm0 + movups XMMWORD[96+rsi],xmm8 + movups XMMWORD[112+rsi],xmm9 + lea rsi,[128+rsi] + + sub rdx,8 + jnc NEAR $L$ctr32_loop8 + + add rdx,8 + jz NEAR $L$ctr32_done + lea rcx,[((-128))+rcx] + +$L$ctr32_tail: + + + lea rcx,[16+rcx] + cmp rdx,4 + jb NEAR $L$ctr32_loop3 + je NEAR $L$ctr32_loop4 + + + shl eax,4 + movdqa xmm8,XMMWORD[96+rsp] + pxor xmm9,xmm9 + + movups xmm0,XMMWORD[16+rcx] +DB 102,15,56,220,209 +DB 102,15,56,220,217 + lea rcx,[((32-16))+rax*1+rcx] + neg rax +DB 102,15,56,220,225 + add rax,16 + movups xmm10,XMMWORD[rdi] +DB 102,15,56,220,233 +DB 102,15,56,220,241 + movups xmm11,XMMWORD[16+rdi] + movups xmm12,XMMWORD[32+rdi] +DB 102,15,56,220,249 +DB 102,68,15,56,220,193 + + call $L$enc_loop8_enter + + movdqu xmm13,XMMWORD[48+rdi] + pxor xmm2,xmm10 + movdqu xmm10,XMMWORD[64+rdi] + pxor xmm3,xmm11 + movdqu XMMWORD[rsi],xmm2 + pxor xmm4,xmm12 + movdqu XMMWORD[16+rsi],xmm3 + pxor xmm5,xmm13 + movdqu XMMWORD[32+rsi],xmm4 + pxor xmm6,xmm10 + movdqu XMMWORD[48+rsi],xmm5 + movdqu XMMWORD[64+rsi],xmm6 + cmp rdx,6 + jb NEAR $L$ctr32_done + + movups xmm11,XMMWORD[80+rdi] + xorps xmm7,xmm11 + movups XMMWORD[80+rsi],xmm7 + je NEAR $L$ctr32_done + + movups xmm12,XMMWORD[96+rdi] + xorps xmm8,xmm12 + movups XMMWORD[96+rsi],xmm8 + jmp NEAR $L$ctr32_done + +ALIGN 32 +$L$ctr32_loop4: +DB 102,15,56,220,209 + lea rcx,[16+rcx] + dec eax +DB 102,15,56,220,217 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + movups xmm1,XMMWORD[rcx] + jnz NEAR $L$ctr32_loop4 +DB 102,15,56,221,209 +DB 102,15,56,221,217 + movups xmm10,XMMWORD[rdi] + movups xmm11,XMMWORD[16+rdi] +DB 102,15,56,221,225 +DB 102,15,56,221,233 + movups xmm12,XMMWORD[32+rdi] + movups xmm13,XMMWORD[48+rdi] + + xorps xmm2,xmm10 + movups XMMWORD[rsi],xmm2 + xorps xmm3,xmm11 + movups XMMWORD[16+rsi],xmm3 + pxor xmm4,xmm12 + movdqu XMMWORD[32+rsi],xmm4 + pxor xmm5,xmm13 + movdqu XMMWORD[48+rsi],xmm5 + jmp NEAR $L$ctr32_done + +ALIGN 32 +$L$ctr32_loop3: +DB 102,15,56,220,209 + lea rcx,[16+rcx] + dec eax +DB 102,15,56,220,217 +DB 102,15,56,220,225 + movups xmm1,XMMWORD[rcx] + jnz NEAR $L$ctr32_loop3 +DB 102,15,56,221,209 +DB 102,15,56,221,217 +DB 102,15,56,221,225 + + movups xmm10,XMMWORD[rdi] + xorps xmm2,xmm10 + movups XMMWORD[rsi],xmm2 + cmp rdx,2 + jb NEAR $L$ctr32_done + + movups xmm11,XMMWORD[16+rdi] + xorps xmm3,xmm11 + movups XMMWORD[16+rsi],xmm3 + je NEAR $L$ctr32_done + + movups xmm12,XMMWORD[32+rdi] + xorps xmm4,xmm12 + movups XMMWORD[32+rsi],xmm4 + +$L$ctr32_done: + xorps xmm0,xmm0 + xor r11d,r11d + pxor xmm1,xmm1 + pxor xmm2,xmm2 + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + movaps xmm6,XMMWORD[((-160))+rbp] + movaps XMMWORD[(-160)+rbp],xmm0 + movaps xmm7,XMMWORD[((-144))+rbp] + movaps XMMWORD[(-144)+rbp],xmm0 + movaps xmm8,XMMWORD[((-128))+rbp] + movaps XMMWORD[(-128)+rbp],xmm0 + movaps xmm9,XMMWORD[((-112))+rbp] + movaps XMMWORD[(-112)+rbp],xmm0 + movaps xmm10,XMMWORD[((-96))+rbp] + movaps XMMWORD[(-96)+rbp],xmm0 + movaps xmm11,XMMWORD[((-80))+rbp] + movaps XMMWORD[(-80)+rbp],xmm0 + movaps xmm12,XMMWORD[((-64))+rbp] + movaps XMMWORD[(-64)+rbp],xmm0 + movaps xmm13,XMMWORD[((-48))+rbp] + movaps XMMWORD[(-48)+rbp],xmm0 + movaps xmm14,XMMWORD[((-32))+rbp] + movaps XMMWORD[(-32)+rbp],xmm0 + movaps xmm15,XMMWORD[((-16))+rbp] + movaps XMMWORD[(-16)+rbp],xmm0 + movaps XMMWORD[rsp],xmm0 + movaps XMMWORD[16+rsp],xmm0 + movaps XMMWORD[32+rsp],xmm0 + movaps XMMWORD[48+rsp],xmm0 + movaps XMMWORD[64+rsp],xmm0 + movaps XMMWORD[80+rsp],xmm0 + movaps XMMWORD[96+rsp],xmm0 + movaps XMMWORD[112+rsp],xmm0 + lea rsp,[rbp] + pop rbp +$L$ctr32_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_ctr32_encrypt_blocks: +global aesni_xts_encrypt + +ALIGN 16 +aesni_xts_encrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_xts_encrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + lea rax,[rsp] + push rbp + sub rsp,272 + and rsp,-16 + movaps XMMWORD[(-168)+rax],xmm6 + movaps XMMWORD[(-152)+rax],xmm7 + movaps XMMWORD[(-136)+rax],xmm8 + movaps XMMWORD[(-120)+rax],xmm9 + movaps XMMWORD[(-104)+rax],xmm10 + movaps XMMWORD[(-88)+rax],xmm11 + movaps XMMWORD[(-72)+rax],xmm12 + movaps XMMWORD[(-56)+rax],xmm13 + movaps XMMWORD[(-40)+rax],xmm14 + movaps XMMWORD[(-24)+rax],xmm15 +$L$xts_enc_body: + lea rbp,[((-8))+rax] + movups xmm2,XMMWORD[r9] + mov eax,DWORD[240+r8] + mov r10d,DWORD[240+rcx] + movups xmm0,XMMWORD[r8] + movups xmm1,XMMWORD[16+r8] + lea r8,[32+r8] + xorps xmm2,xmm0 +$L$oop_enc1_8: +DB 102,15,56,220,209 + dec eax + movups xmm1,XMMWORD[r8] + lea r8,[16+r8] + jnz NEAR $L$oop_enc1_8 +DB 102,15,56,221,209 + movups xmm0,XMMWORD[rcx] + mov r11,rcx + mov eax,r10d + shl r10d,4 + mov r9,rdx + and rdx,-16 + + movups xmm1,XMMWORD[16+r10*1+rcx] + + movdqa xmm8,XMMWORD[$L$xts_magic] + movdqa xmm15,xmm2 + pshufd xmm9,xmm2,0x5f + pxor xmm1,xmm0 + movdqa xmm14,xmm9 + paddd xmm9,xmm9 + movdqa xmm10,xmm15 + psrad xmm14,31 + paddq xmm15,xmm15 + pand xmm14,xmm8 + pxor xmm10,xmm0 + pxor xmm15,xmm14 + movdqa xmm14,xmm9 + paddd xmm9,xmm9 + movdqa xmm11,xmm15 + psrad xmm14,31 + paddq xmm15,xmm15 + pand xmm14,xmm8 + pxor xmm11,xmm0 + pxor xmm15,xmm14 + movdqa xmm14,xmm9 + paddd xmm9,xmm9 + movdqa xmm12,xmm15 + psrad xmm14,31 + paddq xmm15,xmm15 + pand xmm14,xmm8 + pxor xmm12,xmm0 + pxor xmm15,xmm14 + movdqa xmm14,xmm9 + paddd xmm9,xmm9 + movdqa xmm13,xmm15 + psrad xmm14,31 + paddq xmm15,xmm15 + pand xmm14,xmm8 + pxor xmm13,xmm0 + pxor xmm15,xmm14 + movdqa xmm14,xmm15 + psrad xmm9,31 + paddq xmm15,xmm15 + pand xmm9,xmm8 + pxor xmm14,xmm0 + pxor xmm15,xmm9 + movaps XMMWORD[96+rsp],xmm1 + + sub rdx,16*6 + jc NEAR $L$xts_enc_short + + mov eax,16+96 + lea rcx,[32+r10*1+r11] + sub rax,r10 + movups xmm1,XMMWORD[16+r11] + mov r10,rax + lea r8,[$L$xts_magic] + jmp NEAR $L$xts_enc_grandloop + +ALIGN 32 +$L$xts_enc_grandloop: + movdqu xmm2,XMMWORD[rdi] + movdqa xmm8,xmm0 + movdqu xmm3,XMMWORD[16+rdi] + pxor xmm2,xmm10 + movdqu xmm4,XMMWORD[32+rdi] + pxor xmm3,xmm11 +DB 102,15,56,220,209 + movdqu xmm5,XMMWORD[48+rdi] + pxor xmm4,xmm12 +DB 102,15,56,220,217 + movdqu xmm6,XMMWORD[64+rdi] + pxor xmm5,xmm13 +DB 102,15,56,220,225 + movdqu xmm7,XMMWORD[80+rdi] + pxor xmm8,xmm15 + movdqa xmm9,XMMWORD[96+rsp] + pxor xmm6,xmm14 +DB 102,15,56,220,233 + movups xmm0,XMMWORD[32+r11] + lea rdi,[96+rdi] + pxor xmm7,xmm8 + + pxor xmm10,xmm9 +DB 102,15,56,220,241 + pxor xmm11,xmm9 + movdqa XMMWORD[rsp],xmm10 +DB 102,15,56,220,249 + movups xmm1,XMMWORD[48+r11] + pxor xmm12,xmm9 + +DB 102,15,56,220,208 + pxor xmm13,xmm9 + movdqa XMMWORD[16+rsp],xmm11 +DB 102,15,56,220,216 + pxor xmm14,xmm9 + movdqa XMMWORD[32+rsp],xmm12 +DB 102,15,56,220,224 +DB 102,15,56,220,232 + pxor xmm8,xmm9 + movdqa XMMWORD[64+rsp],xmm14 +DB 102,15,56,220,240 +DB 102,15,56,220,248 + movups xmm0,XMMWORD[64+r11] + movdqa XMMWORD[80+rsp],xmm8 + pshufd xmm9,xmm15,0x5f + jmp NEAR $L$xts_enc_loop6 +ALIGN 32 +$L$xts_enc_loop6: +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 + movups xmm1,XMMWORD[((-64))+rax*1+rcx] + add rax,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,XMMWORD[((-80))+rax*1+rcx] + jnz NEAR $L$xts_enc_loop6 + + movdqa xmm8,XMMWORD[r8] + movdqa xmm14,xmm9 + paddd xmm9,xmm9 +DB 102,15,56,220,209 + paddq xmm15,xmm15 + psrad xmm14,31 +DB 102,15,56,220,217 + pand xmm14,xmm8 + movups xmm10,XMMWORD[r11] +DB 102,15,56,220,225 +DB 102,15,56,220,233 +DB 102,15,56,220,241 + pxor xmm15,xmm14 + movaps xmm11,xmm10 +DB 102,15,56,220,249 + movups xmm1,XMMWORD[((-64))+rcx] + + movdqa xmm14,xmm9 +DB 102,15,56,220,208 + paddd xmm9,xmm9 + pxor xmm10,xmm15 +DB 102,15,56,220,216 + psrad xmm14,31 + paddq xmm15,xmm15 +DB 102,15,56,220,224 +DB 102,15,56,220,232 + pand xmm14,xmm8 + movaps xmm12,xmm11 +DB 102,15,56,220,240 + pxor xmm15,xmm14 + movdqa xmm14,xmm9 +DB 102,15,56,220,248 + movups xmm0,XMMWORD[((-48))+rcx] + + paddd xmm9,xmm9 +DB 102,15,56,220,209 + pxor xmm11,xmm15 + psrad xmm14,31 +DB 102,15,56,220,217 + paddq xmm15,xmm15 + pand xmm14,xmm8 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + movdqa XMMWORD[48+rsp],xmm13 + pxor xmm15,xmm14 +DB 102,15,56,220,241 + movaps xmm13,xmm12 + movdqa xmm14,xmm9 +DB 102,15,56,220,249 + movups xmm1,XMMWORD[((-32))+rcx] + + paddd xmm9,xmm9 +DB 102,15,56,220,208 + pxor xmm12,xmm15 + psrad xmm14,31 +DB 102,15,56,220,216 + paddq xmm15,xmm15 + pand xmm14,xmm8 +DB 102,15,56,220,224 +DB 102,15,56,220,232 +DB 102,15,56,220,240 + pxor xmm15,xmm14 + movaps xmm14,xmm13 +DB 102,15,56,220,248 + + movdqa xmm0,xmm9 + paddd xmm9,xmm9 +DB 102,15,56,220,209 + pxor xmm13,xmm15 + psrad xmm0,31 +DB 102,15,56,220,217 + paddq xmm15,xmm15 + pand xmm0,xmm8 +DB 102,15,56,220,225 +DB 102,15,56,220,233 + pxor xmm15,xmm0 + movups xmm0,XMMWORD[r11] +DB 102,15,56,220,241 +DB 102,15,56,220,249 + movups xmm1,XMMWORD[16+r11] + + pxor xmm14,xmm15 +DB 102,15,56,221,84,36,0 + psrad xmm9,31 + paddq xmm15,xmm15 +DB 102,15,56,221,92,36,16 +DB 102,15,56,221,100,36,32 + pand xmm9,xmm8 + mov rax,r10 +DB 102,15,56,221,108,36,48 +DB 102,15,56,221,116,36,64 +DB 102,15,56,221,124,36,80 + pxor xmm15,xmm9 + + lea rsi,[96+rsi] + movups XMMWORD[(-96)+rsi],xmm2 + movups XMMWORD[(-80)+rsi],xmm3 + movups XMMWORD[(-64)+rsi],xmm4 + movups XMMWORD[(-48)+rsi],xmm5 + movups XMMWORD[(-32)+rsi],xmm6 + movups XMMWORD[(-16)+rsi],xmm7 + sub rdx,16*6 + jnc NEAR $L$xts_enc_grandloop + + mov eax,16+96 + sub eax,r10d + mov rcx,r11 + shr eax,4 + +$L$xts_enc_short: + + mov r10d,eax + pxor xmm10,xmm0 + add rdx,16*6 + jz NEAR $L$xts_enc_done + + pxor xmm11,xmm0 + cmp rdx,0x20 + jb NEAR $L$xts_enc_one + pxor xmm12,xmm0 + je NEAR $L$xts_enc_two + + pxor xmm13,xmm0 + cmp rdx,0x40 + jb NEAR $L$xts_enc_three + pxor xmm14,xmm0 + je NEAR $L$xts_enc_four + + movdqu xmm2,XMMWORD[rdi] + movdqu xmm3,XMMWORD[16+rdi] + movdqu xmm4,XMMWORD[32+rdi] + pxor xmm2,xmm10 + movdqu xmm5,XMMWORD[48+rdi] + pxor xmm3,xmm11 + movdqu xmm6,XMMWORD[64+rdi] + lea rdi,[80+rdi] + pxor xmm4,xmm12 + pxor xmm5,xmm13 + pxor xmm6,xmm14 + pxor xmm7,xmm7 + + call _aesni_encrypt6 + + xorps xmm2,xmm10 + movdqa xmm10,xmm15 + xorps xmm3,xmm11 + xorps xmm4,xmm12 + movdqu XMMWORD[rsi],xmm2 + xorps xmm5,xmm13 + movdqu XMMWORD[16+rsi],xmm3 + xorps xmm6,xmm14 + movdqu XMMWORD[32+rsi],xmm4 + movdqu XMMWORD[48+rsi],xmm5 + movdqu XMMWORD[64+rsi],xmm6 + lea rsi,[80+rsi] + jmp NEAR $L$xts_enc_done + +ALIGN 16 +$L$xts_enc_one: + movups xmm2,XMMWORD[rdi] + lea rdi,[16+rdi] + xorps xmm2,xmm10 + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + lea rcx,[32+rcx] + xorps xmm2,xmm0 +$L$oop_enc1_9: +DB 102,15,56,220,209 + dec eax + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_enc1_9 +DB 102,15,56,221,209 + xorps xmm2,xmm10 + movdqa xmm10,xmm11 + movups XMMWORD[rsi],xmm2 + lea rsi,[16+rsi] + jmp NEAR $L$xts_enc_done + +ALIGN 16 +$L$xts_enc_two: + movups xmm2,XMMWORD[rdi] + movups xmm3,XMMWORD[16+rdi] + lea rdi,[32+rdi] + xorps xmm2,xmm10 + xorps xmm3,xmm11 + + call _aesni_encrypt2 + + xorps xmm2,xmm10 + movdqa xmm10,xmm12 + xorps xmm3,xmm11 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + lea rsi,[32+rsi] + jmp NEAR $L$xts_enc_done + +ALIGN 16 +$L$xts_enc_three: + movups xmm2,XMMWORD[rdi] + movups xmm3,XMMWORD[16+rdi] + movups xmm4,XMMWORD[32+rdi] + lea rdi,[48+rdi] + xorps xmm2,xmm10 + xorps xmm3,xmm11 + xorps xmm4,xmm12 + + call _aesni_encrypt3 + + xorps xmm2,xmm10 + movdqa xmm10,xmm13 + xorps xmm3,xmm11 + xorps xmm4,xmm12 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + movups XMMWORD[32+rsi],xmm4 + lea rsi,[48+rsi] + jmp NEAR $L$xts_enc_done + +ALIGN 16 +$L$xts_enc_four: + movups xmm2,XMMWORD[rdi] + movups xmm3,XMMWORD[16+rdi] + movups xmm4,XMMWORD[32+rdi] + xorps xmm2,xmm10 + movups xmm5,XMMWORD[48+rdi] + lea rdi,[64+rdi] + xorps xmm3,xmm11 + xorps xmm4,xmm12 + xorps xmm5,xmm13 + + call _aesni_encrypt4 + + pxor xmm2,xmm10 + movdqa xmm10,xmm14 + pxor xmm3,xmm11 + pxor xmm4,xmm12 + movdqu XMMWORD[rsi],xmm2 + pxor xmm5,xmm13 + movdqu XMMWORD[16+rsi],xmm3 + movdqu XMMWORD[32+rsi],xmm4 + movdqu XMMWORD[48+rsi],xmm5 + lea rsi,[64+rsi] + jmp NEAR $L$xts_enc_done + +ALIGN 16 +$L$xts_enc_done: + and r9,15 + jz NEAR $L$xts_enc_ret + mov rdx,r9 + +$L$xts_enc_steal: + movzx eax,BYTE[rdi] + movzx ecx,BYTE[((-16))+rsi] + lea rdi,[1+rdi] + mov BYTE[((-16))+rsi],al + mov BYTE[rsi],cl + lea rsi,[1+rsi] + sub rdx,1 + jnz NEAR $L$xts_enc_steal + + sub rsi,r9 + mov rcx,r11 + mov eax,r10d + + movups xmm2,XMMWORD[((-16))+rsi] + xorps xmm2,xmm10 + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + lea rcx,[32+rcx] + xorps xmm2,xmm0 +$L$oop_enc1_10: +DB 102,15,56,220,209 + dec eax + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_enc1_10 +DB 102,15,56,221,209 + xorps xmm2,xmm10 + movups XMMWORD[(-16)+rsi],xmm2 + +$L$xts_enc_ret: + xorps xmm0,xmm0 + pxor xmm1,xmm1 + pxor xmm2,xmm2 + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + movaps xmm6,XMMWORD[((-160))+rbp] + movaps XMMWORD[(-160)+rbp],xmm0 + movaps xmm7,XMMWORD[((-144))+rbp] + movaps XMMWORD[(-144)+rbp],xmm0 + movaps xmm8,XMMWORD[((-128))+rbp] + movaps XMMWORD[(-128)+rbp],xmm0 + movaps xmm9,XMMWORD[((-112))+rbp] + movaps XMMWORD[(-112)+rbp],xmm0 + movaps xmm10,XMMWORD[((-96))+rbp] + movaps XMMWORD[(-96)+rbp],xmm0 + movaps xmm11,XMMWORD[((-80))+rbp] + movaps XMMWORD[(-80)+rbp],xmm0 + movaps xmm12,XMMWORD[((-64))+rbp] + movaps XMMWORD[(-64)+rbp],xmm0 + movaps xmm13,XMMWORD[((-48))+rbp] + movaps XMMWORD[(-48)+rbp],xmm0 + movaps xmm14,XMMWORD[((-32))+rbp] + movaps XMMWORD[(-32)+rbp],xmm0 + movaps xmm15,XMMWORD[((-16))+rbp] + movaps XMMWORD[(-16)+rbp],xmm0 + movaps XMMWORD[rsp],xmm0 + movaps XMMWORD[16+rsp],xmm0 + movaps XMMWORD[32+rsp],xmm0 + movaps XMMWORD[48+rsp],xmm0 + movaps XMMWORD[64+rsp],xmm0 + movaps XMMWORD[80+rsp],xmm0 + movaps XMMWORD[96+rsp],xmm0 + lea rsp,[rbp] + pop rbp +$L$xts_enc_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_xts_encrypt: +global aesni_xts_decrypt + +ALIGN 16 +aesni_xts_decrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_xts_decrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + lea rax,[rsp] + push rbp + sub rsp,272 + and rsp,-16 + movaps XMMWORD[(-168)+rax],xmm6 + movaps XMMWORD[(-152)+rax],xmm7 + movaps XMMWORD[(-136)+rax],xmm8 + movaps XMMWORD[(-120)+rax],xmm9 + movaps XMMWORD[(-104)+rax],xmm10 + movaps XMMWORD[(-88)+rax],xmm11 + movaps XMMWORD[(-72)+rax],xmm12 + movaps XMMWORD[(-56)+rax],xmm13 + movaps XMMWORD[(-40)+rax],xmm14 + movaps XMMWORD[(-24)+rax],xmm15 +$L$xts_dec_body: + lea rbp,[((-8))+rax] + movups xmm2,XMMWORD[r9] + mov eax,DWORD[240+r8] + mov r10d,DWORD[240+rcx] + movups xmm0,XMMWORD[r8] + movups xmm1,XMMWORD[16+r8] + lea r8,[32+r8] + xorps xmm2,xmm0 +$L$oop_enc1_11: +DB 102,15,56,220,209 + dec eax + movups xmm1,XMMWORD[r8] + lea r8,[16+r8] + jnz NEAR $L$oop_enc1_11 +DB 102,15,56,221,209 + xor eax,eax + test rdx,15 + setnz al + shl rax,4 + sub rdx,rax + + movups xmm0,XMMWORD[rcx] + mov r11,rcx + mov eax,r10d + shl r10d,4 + mov r9,rdx + and rdx,-16 + + movups xmm1,XMMWORD[16+r10*1+rcx] + + movdqa xmm8,XMMWORD[$L$xts_magic] + movdqa xmm15,xmm2 + pshufd xmm9,xmm2,0x5f + pxor xmm1,xmm0 + movdqa xmm14,xmm9 + paddd xmm9,xmm9 + movdqa xmm10,xmm15 + psrad xmm14,31 + paddq xmm15,xmm15 + pand xmm14,xmm8 + pxor xmm10,xmm0 + pxor xmm15,xmm14 + movdqa xmm14,xmm9 + paddd xmm9,xmm9 + movdqa xmm11,xmm15 + psrad xmm14,31 + paddq xmm15,xmm15 + pand xmm14,xmm8 + pxor xmm11,xmm0 + pxor xmm15,xmm14 + movdqa xmm14,xmm9 + paddd xmm9,xmm9 + movdqa xmm12,xmm15 + psrad xmm14,31 + paddq xmm15,xmm15 + pand xmm14,xmm8 + pxor xmm12,xmm0 + pxor xmm15,xmm14 + movdqa xmm14,xmm9 + paddd xmm9,xmm9 + movdqa xmm13,xmm15 + psrad xmm14,31 + paddq xmm15,xmm15 + pand xmm14,xmm8 + pxor xmm13,xmm0 + pxor xmm15,xmm14 + movdqa xmm14,xmm15 + psrad xmm9,31 + paddq xmm15,xmm15 + pand xmm9,xmm8 + pxor xmm14,xmm0 + pxor xmm15,xmm9 + movaps XMMWORD[96+rsp],xmm1 + + sub rdx,16*6 + jc NEAR $L$xts_dec_short + + mov eax,16+96 + lea rcx,[32+r10*1+r11] + sub rax,r10 + movups xmm1,XMMWORD[16+r11] + mov r10,rax + lea r8,[$L$xts_magic] + jmp NEAR $L$xts_dec_grandloop + +ALIGN 32 +$L$xts_dec_grandloop: + movdqu xmm2,XMMWORD[rdi] + movdqa xmm8,xmm0 + movdqu xmm3,XMMWORD[16+rdi] + pxor xmm2,xmm10 + movdqu xmm4,XMMWORD[32+rdi] + pxor xmm3,xmm11 +DB 102,15,56,222,209 + movdqu xmm5,XMMWORD[48+rdi] + pxor xmm4,xmm12 +DB 102,15,56,222,217 + movdqu xmm6,XMMWORD[64+rdi] + pxor xmm5,xmm13 +DB 102,15,56,222,225 + movdqu xmm7,XMMWORD[80+rdi] + pxor xmm8,xmm15 + movdqa xmm9,XMMWORD[96+rsp] + pxor xmm6,xmm14 +DB 102,15,56,222,233 + movups xmm0,XMMWORD[32+r11] + lea rdi,[96+rdi] + pxor xmm7,xmm8 + + pxor xmm10,xmm9 +DB 102,15,56,222,241 + pxor xmm11,xmm9 + movdqa XMMWORD[rsp],xmm10 +DB 102,15,56,222,249 + movups xmm1,XMMWORD[48+r11] + pxor xmm12,xmm9 + +DB 102,15,56,222,208 + pxor xmm13,xmm9 + movdqa XMMWORD[16+rsp],xmm11 +DB 102,15,56,222,216 + pxor xmm14,xmm9 + movdqa XMMWORD[32+rsp],xmm12 +DB 102,15,56,222,224 +DB 102,15,56,222,232 + pxor xmm8,xmm9 + movdqa XMMWORD[64+rsp],xmm14 +DB 102,15,56,222,240 +DB 102,15,56,222,248 + movups xmm0,XMMWORD[64+r11] + movdqa XMMWORD[80+rsp],xmm8 + pshufd xmm9,xmm15,0x5f + jmp NEAR $L$xts_dec_loop6 +ALIGN 32 +$L$xts_dec_loop6: +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 + movups xmm1,XMMWORD[((-64))+rax*1+rcx] + add rax,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,XMMWORD[((-80))+rax*1+rcx] + jnz NEAR $L$xts_dec_loop6 + + movdqa xmm8,XMMWORD[r8] + movdqa xmm14,xmm9 + paddd xmm9,xmm9 +DB 102,15,56,222,209 + paddq xmm15,xmm15 + psrad xmm14,31 +DB 102,15,56,222,217 + pand xmm14,xmm8 + movups xmm10,XMMWORD[r11] +DB 102,15,56,222,225 +DB 102,15,56,222,233 +DB 102,15,56,222,241 + pxor xmm15,xmm14 + movaps xmm11,xmm10 +DB 102,15,56,222,249 + movups xmm1,XMMWORD[((-64))+rcx] + + movdqa xmm14,xmm9 +DB 102,15,56,222,208 + paddd xmm9,xmm9 + pxor xmm10,xmm15 +DB 102,15,56,222,216 + psrad xmm14,31 + paddq xmm15,xmm15 +DB 102,15,56,222,224 +DB 102,15,56,222,232 + pand xmm14,xmm8 + movaps xmm12,xmm11 +DB 102,15,56,222,240 + pxor xmm15,xmm14 + movdqa xmm14,xmm9 +DB 102,15,56,222,248 + movups xmm0,XMMWORD[((-48))+rcx] + + paddd xmm9,xmm9 +DB 102,15,56,222,209 + pxor xmm11,xmm15 + psrad xmm14,31 +DB 102,15,56,222,217 + paddq xmm15,xmm15 + pand xmm14,xmm8 +DB 102,15,56,222,225 +DB 102,15,56,222,233 + movdqa XMMWORD[48+rsp],xmm13 + pxor xmm15,xmm14 +DB 102,15,56,222,241 + movaps xmm13,xmm12 + movdqa xmm14,xmm9 +DB 102,15,56,222,249 + movups xmm1,XMMWORD[((-32))+rcx] + + paddd xmm9,xmm9 +DB 102,15,56,222,208 + pxor xmm12,xmm15 + psrad xmm14,31 +DB 102,15,56,222,216 + paddq xmm15,xmm15 + pand xmm14,xmm8 +DB 102,15,56,222,224 +DB 102,15,56,222,232 +DB 102,15,56,222,240 + pxor xmm15,xmm14 + movaps xmm14,xmm13 +DB 102,15,56,222,248 + + movdqa xmm0,xmm9 + paddd xmm9,xmm9 +DB 102,15,56,222,209 + pxor xmm13,xmm15 + psrad xmm0,31 +DB 102,15,56,222,217 + paddq xmm15,xmm15 + pand xmm0,xmm8 +DB 102,15,56,222,225 +DB 102,15,56,222,233 + pxor xmm15,xmm0 + movups xmm0,XMMWORD[r11] +DB 102,15,56,222,241 +DB 102,15,56,222,249 + movups xmm1,XMMWORD[16+r11] + + pxor xmm14,xmm15 +DB 102,15,56,223,84,36,0 + psrad xmm9,31 + paddq xmm15,xmm15 +DB 102,15,56,223,92,36,16 +DB 102,15,56,223,100,36,32 + pand xmm9,xmm8 + mov rax,r10 +DB 102,15,56,223,108,36,48 +DB 102,15,56,223,116,36,64 +DB 102,15,56,223,124,36,80 + pxor xmm15,xmm9 + + lea rsi,[96+rsi] + movups XMMWORD[(-96)+rsi],xmm2 + movups XMMWORD[(-80)+rsi],xmm3 + movups XMMWORD[(-64)+rsi],xmm4 + movups XMMWORD[(-48)+rsi],xmm5 + movups XMMWORD[(-32)+rsi],xmm6 + movups XMMWORD[(-16)+rsi],xmm7 + sub rdx,16*6 + jnc NEAR $L$xts_dec_grandloop + + mov eax,16+96 + sub eax,r10d + mov rcx,r11 + shr eax,4 + +$L$xts_dec_short: + + mov r10d,eax + pxor xmm10,xmm0 + pxor xmm11,xmm0 + add rdx,16*6 + jz NEAR $L$xts_dec_done + + pxor xmm12,xmm0 + cmp rdx,0x20 + jb NEAR $L$xts_dec_one + pxor xmm13,xmm0 + je NEAR $L$xts_dec_two + + pxor xmm14,xmm0 + cmp rdx,0x40 + jb NEAR $L$xts_dec_three + je NEAR $L$xts_dec_four + + movdqu xmm2,XMMWORD[rdi] + movdqu xmm3,XMMWORD[16+rdi] + movdqu xmm4,XMMWORD[32+rdi] + pxor xmm2,xmm10 + movdqu xmm5,XMMWORD[48+rdi] + pxor xmm3,xmm11 + movdqu xmm6,XMMWORD[64+rdi] + lea rdi,[80+rdi] + pxor xmm4,xmm12 + pxor xmm5,xmm13 + pxor xmm6,xmm14 + + call _aesni_decrypt6 + + xorps xmm2,xmm10 + xorps xmm3,xmm11 + xorps xmm4,xmm12 + movdqu XMMWORD[rsi],xmm2 + xorps xmm5,xmm13 + movdqu XMMWORD[16+rsi],xmm3 + xorps xmm6,xmm14 + movdqu XMMWORD[32+rsi],xmm4 + pxor xmm14,xmm14 + movdqu XMMWORD[48+rsi],xmm5 + pcmpgtd xmm14,xmm15 + movdqu XMMWORD[64+rsi],xmm6 + lea rsi,[80+rsi] + pshufd xmm11,xmm14,0x13 + and r9,15 + jz NEAR $L$xts_dec_ret + + movdqa xmm10,xmm15 + paddq xmm15,xmm15 + pand xmm11,xmm8 + pxor xmm11,xmm15 + jmp NEAR $L$xts_dec_done2 + +ALIGN 16 +$L$xts_dec_one: + movups xmm2,XMMWORD[rdi] + lea rdi,[16+rdi] + xorps xmm2,xmm10 + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + lea rcx,[32+rcx] + xorps xmm2,xmm0 +$L$oop_dec1_12: +DB 102,15,56,222,209 + dec eax + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_dec1_12 +DB 102,15,56,223,209 + xorps xmm2,xmm10 + movdqa xmm10,xmm11 + movups XMMWORD[rsi],xmm2 + movdqa xmm11,xmm12 + lea rsi,[16+rsi] + jmp NEAR $L$xts_dec_done + +ALIGN 16 +$L$xts_dec_two: + movups xmm2,XMMWORD[rdi] + movups xmm3,XMMWORD[16+rdi] + lea rdi,[32+rdi] + xorps xmm2,xmm10 + xorps xmm3,xmm11 + + call _aesni_decrypt2 + + xorps xmm2,xmm10 + movdqa xmm10,xmm12 + xorps xmm3,xmm11 + movdqa xmm11,xmm13 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + lea rsi,[32+rsi] + jmp NEAR $L$xts_dec_done + +ALIGN 16 +$L$xts_dec_three: + movups xmm2,XMMWORD[rdi] + movups xmm3,XMMWORD[16+rdi] + movups xmm4,XMMWORD[32+rdi] + lea rdi,[48+rdi] + xorps xmm2,xmm10 + xorps xmm3,xmm11 + xorps xmm4,xmm12 + + call _aesni_decrypt3 + + xorps xmm2,xmm10 + movdqa xmm10,xmm13 + xorps xmm3,xmm11 + movdqa xmm11,xmm14 + xorps xmm4,xmm12 + movups XMMWORD[rsi],xmm2 + movups XMMWORD[16+rsi],xmm3 + movups XMMWORD[32+rsi],xmm4 + lea rsi,[48+rsi] + jmp NEAR $L$xts_dec_done + +ALIGN 16 +$L$xts_dec_four: + movups xmm2,XMMWORD[rdi] + movups xmm3,XMMWORD[16+rdi] + movups xmm4,XMMWORD[32+rdi] + xorps xmm2,xmm10 + movups xmm5,XMMWORD[48+rdi] + lea rdi,[64+rdi] + xorps xmm3,xmm11 + xorps xmm4,xmm12 + xorps xmm5,xmm13 + + call _aesni_decrypt4 + + pxor xmm2,xmm10 + movdqa xmm10,xmm14 + pxor xmm3,xmm11 + movdqa xmm11,xmm15 + pxor xmm4,xmm12 + movdqu XMMWORD[rsi],xmm2 + pxor xmm5,xmm13 + movdqu XMMWORD[16+rsi],xmm3 + movdqu XMMWORD[32+rsi],xmm4 + movdqu XMMWORD[48+rsi],xmm5 + lea rsi,[64+rsi] + jmp NEAR $L$xts_dec_done + +ALIGN 16 +$L$xts_dec_done: + and r9,15 + jz NEAR $L$xts_dec_ret +$L$xts_dec_done2: + mov rdx,r9 + mov rcx,r11 + mov eax,r10d + + movups xmm2,XMMWORD[rdi] + xorps xmm2,xmm11 + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + lea rcx,[32+rcx] + xorps xmm2,xmm0 +$L$oop_dec1_13: +DB 102,15,56,222,209 + dec eax + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_dec1_13 +DB 102,15,56,223,209 + xorps xmm2,xmm11 + movups XMMWORD[rsi],xmm2 + +$L$xts_dec_steal: + movzx eax,BYTE[16+rdi] + movzx ecx,BYTE[rsi] + lea rdi,[1+rdi] + mov BYTE[rsi],al + mov BYTE[16+rsi],cl + lea rsi,[1+rsi] + sub rdx,1 + jnz NEAR $L$xts_dec_steal + + sub rsi,r9 + mov rcx,r11 + mov eax,r10d + + movups xmm2,XMMWORD[rsi] + xorps xmm2,xmm10 + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + lea rcx,[32+rcx] + xorps xmm2,xmm0 +$L$oop_dec1_14: +DB 102,15,56,222,209 + dec eax + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_dec1_14 +DB 102,15,56,223,209 + xorps xmm2,xmm10 + movups XMMWORD[rsi],xmm2 + +$L$xts_dec_ret: + xorps xmm0,xmm0 + pxor xmm1,xmm1 + pxor xmm2,xmm2 + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + movaps xmm6,XMMWORD[((-160))+rbp] + movaps XMMWORD[(-160)+rbp],xmm0 + movaps xmm7,XMMWORD[((-144))+rbp] + movaps XMMWORD[(-144)+rbp],xmm0 + movaps xmm8,XMMWORD[((-128))+rbp] + movaps XMMWORD[(-128)+rbp],xmm0 + movaps xmm9,XMMWORD[((-112))+rbp] + movaps XMMWORD[(-112)+rbp],xmm0 + movaps xmm10,XMMWORD[((-96))+rbp] + movaps XMMWORD[(-96)+rbp],xmm0 + movaps xmm11,XMMWORD[((-80))+rbp] + movaps XMMWORD[(-80)+rbp],xmm0 + movaps xmm12,XMMWORD[((-64))+rbp] + movaps XMMWORD[(-64)+rbp],xmm0 + movaps xmm13,XMMWORD[((-48))+rbp] + movaps XMMWORD[(-48)+rbp],xmm0 + movaps xmm14,XMMWORD[((-32))+rbp] + movaps XMMWORD[(-32)+rbp],xmm0 + movaps xmm15,XMMWORD[((-16))+rbp] + movaps XMMWORD[(-16)+rbp],xmm0 + movaps XMMWORD[rsp],xmm0 + movaps XMMWORD[16+rsp],xmm0 + movaps XMMWORD[32+rsp],xmm0 + movaps XMMWORD[48+rsp],xmm0 + movaps XMMWORD[64+rsp],xmm0 + movaps XMMWORD[80+rsp],xmm0 + movaps XMMWORD[96+rsp],xmm0 + lea rsp,[rbp] + pop rbp +$L$xts_dec_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_xts_decrypt: +global aesni_cbc_encrypt + +ALIGN 16 +aesni_cbc_encrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_aesni_cbc_encrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + test rdx,rdx + jz NEAR $L$cbc_ret + + mov r10d,DWORD[240+rcx] + mov r11,rcx + test r9d,r9d + jz NEAR $L$cbc_decrypt + + movups xmm2,XMMWORD[r8] + mov eax,r10d + cmp rdx,16 + jb NEAR $L$cbc_enc_tail + sub rdx,16 + jmp NEAR $L$cbc_enc_loop +ALIGN 16 +$L$cbc_enc_loop: + movups xmm3,XMMWORD[rdi] + lea rdi,[16+rdi] + + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + xorps xmm3,xmm0 + lea rcx,[32+rcx] + xorps xmm2,xmm3 +$L$oop_enc1_15: +DB 102,15,56,220,209 + dec eax + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_enc1_15 +DB 102,15,56,221,209 + mov eax,r10d + mov rcx,r11 + movups XMMWORD[rsi],xmm2 + lea rsi,[16+rsi] + sub rdx,16 + jnc NEAR $L$cbc_enc_loop + add rdx,16 + jnz NEAR $L$cbc_enc_tail + pxor xmm0,xmm0 + pxor xmm1,xmm1 + movups XMMWORD[r8],xmm2 + pxor xmm2,xmm2 + pxor xmm3,xmm3 + jmp NEAR $L$cbc_ret + +$L$cbc_enc_tail: + mov rcx,rdx + xchg rsi,rdi + DD 0x9066A4F3 + mov ecx,16 + sub rcx,rdx + xor eax,eax + DD 0x9066AAF3 + lea rdi,[((-16))+rdi] + mov eax,r10d + mov rsi,rdi + mov rcx,r11 + xor rdx,rdx + jmp NEAR $L$cbc_enc_loop + +ALIGN 16 +$L$cbc_decrypt: + cmp rdx,16 + jne NEAR $L$cbc_decrypt_bulk + + + + movdqu xmm2,XMMWORD[rdi] + movdqu xmm3,XMMWORD[r8] + movdqa xmm4,xmm2 + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + lea rcx,[32+rcx] + xorps xmm2,xmm0 +$L$oop_dec1_16: +DB 102,15,56,222,209 + dec r10d + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_dec1_16 +DB 102,15,56,223,209 + pxor xmm0,xmm0 + pxor xmm1,xmm1 + movdqu XMMWORD[r8],xmm4 + xorps xmm2,xmm3 + pxor xmm3,xmm3 + movups XMMWORD[rsi],xmm2 + pxor xmm2,xmm2 + jmp NEAR $L$cbc_ret +ALIGN 16 +$L$cbc_decrypt_bulk: + lea rax,[rsp] + push rbp + sub rsp,176 + and rsp,-16 + movaps XMMWORD[16+rsp],xmm6 + movaps XMMWORD[32+rsp],xmm7 + movaps XMMWORD[48+rsp],xmm8 + movaps XMMWORD[64+rsp],xmm9 + movaps XMMWORD[80+rsp],xmm10 + movaps XMMWORD[96+rsp],xmm11 + movaps XMMWORD[112+rsp],xmm12 + movaps XMMWORD[128+rsp],xmm13 + movaps XMMWORD[144+rsp],xmm14 + movaps XMMWORD[160+rsp],xmm15 +$L$cbc_decrypt_body: + lea rbp,[((-8))+rax] + movups xmm10,XMMWORD[r8] + mov eax,r10d + cmp rdx,0x50 + jbe NEAR $L$cbc_dec_tail + + movups xmm0,XMMWORD[rcx] + movdqu xmm2,XMMWORD[rdi] + movdqu xmm3,XMMWORD[16+rdi] + movdqa xmm11,xmm2 + movdqu xmm4,XMMWORD[32+rdi] + movdqa xmm12,xmm3 + movdqu xmm5,XMMWORD[48+rdi] + movdqa xmm13,xmm4 + movdqu xmm6,XMMWORD[64+rdi] + movdqa xmm14,xmm5 + movdqu xmm7,XMMWORD[80+rdi] + movdqa xmm15,xmm6 + mov r9d,DWORD[((OPENSSL_ia32cap_P+4))] + cmp rdx,0x70 + jbe NEAR $L$cbc_dec_six_or_seven + + and r9d,71303168 + sub rdx,0x50 + cmp r9d,4194304 + je NEAR $L$cbc_dec_loop6_enter + sub rdx,0x20 + lea rcx,[112+rcx] + jmp NEAR $L$cbc_dec_loop8_enter +ALIGN 16 +$L$cbc_dec_loop8: + movups XMMWORD[rsi],xmm9 + lea rsi,[16+rsi] +$L$cbc_dec_loop8_enter: + movdqu xmm8,XMMWORD[96+rdi] + pxor xmm2,xmm0 + movdqu xmm9,XMMWORD[112+rdi] + pxor xmm3,xmm0 + movups xmm1,XMMWORD[((16-112))+rcx] + pxor xmm4,xmm0 + xor r11,r11 + cmp rdx,0x70 + pxor xmm5,xmm0 + pxor xmm6,xmm0 + pxor xmm7,xmm0 + pxor xmm8,xmm0 + +DB 102,15,56,222,209 + pxor xmm9,xmm0 + movups xmm0,XMMWORD[((32-112))+rcx] +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,68,15,56,222,193 + setnc r11b + shl r11,7 +DB 102,68,15,56,222,201 + add r11,rdi + movups xmm1,XMMWORD[((48-112))+rcx] +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 +DB 102,68,15,56,222,192 +DB 102,68,15,56,222,200 + movups xmm0,XMMWORD[((64-112))+rcx] + nop +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,68,15,56,222,193 +DB 102,68,15,56,222,201 + movups xmm1,XMMWORD[((80-112))+rcx] + nop +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 +DB 102,68,15,56,222,192 +DB 102,68,15,56,222,200 + movups xmm0,XMMWORD[((96-112))+rcx] + nop +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,68,15,56,222,193 +DB 102,68,15,56,222,201 + movups xmm1,XMMWORD[((112-112))+rcx] + nop +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 +DB 102,68,15,56,222,192 +DB 102,68,15,56,222,200 + movups xmm0,XMMWORD[((128-112))+rcx] + nop +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,68,15,56,222,193 +DB 102,68,15,56,222,201 + movups xmm1,XMMWORD[((144-112))+rcx] + cmp eax,11 +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 +DB 102,68,15,56,222,192 +DB 102,68,15,56,222,200 + movups xmm0,XMMWORD[((160-112))+rcx] + jb NEAR $L$cbc_dec_done +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,68,15,56,222,193 +DB 102,68,15,56,222,201 + movups xmm1,XMMWORD[((176-112))+rcx] + nop +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 +DB 102,68,15,56,222,192 +DB 102,68,15,56,222,200 + movups xmm0,XMMWORD[((192-112))+rcx] + je NEAR $L$cbc_dec_done +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,68,15,56,222,193 +DB 102,68,15,56,222,201 + movups xmm1,XMMWORD[((208-112))+rcx] + nop +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 +DB 102,68,15,56,222,192 +DB 102,68,15,56,222,200 + movups xmm0,XMMWORD[((224-112))+rcx] + jmp NEAR $L$cbc_dec_done +ALIGN 16 +$L$cbc_dec_done: +DB 102,15,56,222,209 +DB 102,15,56,222,217 + pxor xmm10,xmm0 + pxor xmm11,xmm0 +DB 102,15,56,222,225 +DB 102,15,56,222,233 + pxor xmm12,xmm0 + pxor xmm13,xmm0 +DB 102,15,56,222,241 +DB 102,15,56,222,249 + pxor xmm14,xmm0 + pxor xmm15,xmm0 +DB 102,68,15,56,222,193 +DB 102,68,15,56,222,201 + movdqu xmm1,XMMWORD[80+rdi] + +DB 102,65,15,56,223,210 + movdqu xmm10,XMMWORD[96+rdi] + pxor xmm1,xmm0 +DB 102,65,15,56,223,219 + pxor xmm10,xmm0 + movdqu xmm0,XMMWORD[112+rdi] +DB 102,65,15,56,223,228 + lea rdi,[128+rdi] + movdqu xmm11,XMMWORD[r11] +DB 102,65,15,56,223,237 +DB 102,65,15,56,223,246 + movdqu xmm12,XMMWORD[16+r11] + movdqu xmm13,XMMWORD[32+r11] +DB 102,65,15,56,223,255 +DB 102,68,15,56,223,193 + movdqu xmm14,XMMWORD[48+r11] + movdqu xmm15,XMMWORD[64+r11] +DB 102,69,15,56,223,202 + movdqa xmm10,xmm0 + movdqu xmm1,XMMWORD[80+r11] + movups xmm0,XMMWORD[((-112))+rcx] + + movups XMMWORD[rsi],xmm2 + movdqa xmm2,xmm11 + movups XMMWORD[16+rsi],xmm3 + movdqa xmm3,xmm12 + movups XMMWORD[32+rsi],xmm4 + movdqa xmm4,xmm13 + movups XMMWORD[48+rsi],xmm5 + movdqa xmm5,xmm14 + movups XMMWORD[64+rsi],xmm6 + movdqa xmm6,xmm15 + movups XMMWORD[80+rsi],xmm7 + movdqa xmm7,xmm1 + movups XMMWORD[96+rsi],xmm8 + lea rsi,[112+rsi] + + sub rdx,0x80 + ja NEAR $L$cbc_dec_loop8 + + movaps xmm2,xmm9 + lea rcx,[((-112))+rcx] + add rdx,0x70 + jle NEAR $L$cbc_dec_clear_tail_collected + movups XMMWORD[rsi],xmm9 + lea rsi,[16+rsi] + cmp rdx,0x50 + jbe NEAR $L$cbc_dec_tail + + movaps xmm2,xmm11 +$L$cbc_dec_six_or_seven: + cmp rdx,0x60 + ja NEAR $L$cbc_dec_seven + + movaps xmm8,xmm7 + call _aesni_decrypt6 + pxor xmm2,xmm10 + movaps xmm10,xmm8 + pxor xmm3,xmm11 + movdqu XMMWORD[rsi],xmm2 + pxor xmm4,xmm12 + movdqu XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + pxor xmm5,xmm13 + movdqu XMMWORD[32+rsi],xmm4 + pxor xmm4,xmm4 + pxor xmm6,xmm14 + movdqu XMMWORD[48+rsi],xmm5 + pxor xmm5,xmm5 + pxor xmm7,xmm15 + movdqu XMMWORD[64+rsi],xmm6 + pxor xmm6,xmm6 + lea rsi,[80+rsi] + movdqa xmm2,xmm7 + pxor xmm7,xmm7 + jmp NEAR $L$cbc_dec_tail_collected + +ALIGN 16 +$L$cbc_dec_seven: + movups xmm8,XMMWORD[96+rdi] + xorps xmm9,xmm9 + call _aesni_decrypt8 + movups xmm9,XMMWORD[80+rdi] + pxor xmm2,xmm10 + movups xmm10,XMMWORD[96+rdi] + pxor xmm3,xmm11 + movdqu XMMWORD[rsi],xmm2 + pxor xmm4,xmm12 + movdqu XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + pxor xmm5,xmm13 + movdqu XMMWORD[32+rsi],xmm4 + pxor xmm4,xmm4 + pxor xmm6,xmm14 + movdqu XMMWORD[48+rsi],xmm5 + pxor xmm5,xmm5 + pxor xmm7,xmm15 + movdqu XMMWORD[64+rsi],xmm6 + pxor xmm6,xmm6 + pxor xmm8,xmm9 + movdqu XMMWORD[80+rsi],xmm7 + pxor xmm7,xmm7 + lea rsi,[96+rsi] + movdqa xmm2,xmm8 + pxor xmm8,xmm8 + pxor xmm9,xmm9 + jmp NEAR $L$cbc_dec_tail_collected + +ALIGN 16 +$L$cbc_dec_loop6: + movups XMMWORD[rsi],xmm7 + lea rsi,[16+rsi] + movdqu xmm2,XMMWORD[rdi] + movdqu xmm3,XMMWORD[16+rdi] + movdqa xmm11,xmm2 + movdqu xmm4,XMMWORD[32+rdi] + movdqa xmm12,xmm3 + movdqu xmm5,XMMWORD[48+rdi] + movdqa xmm13,xmm4 + movdqu xmm6,XMMWORD[64+rdi] + movdqa xmm14,xmm5 + movdqu xmm7,XMMWORD[80+rdi] + movdqa xmm15,xmm6 +$L$cbc_dec_loop6_enter: + lea rdi,[96+rdi] + movdqa xmm8,xmm7 + + call _aesni_decrypt6 + + pxor xmm2,xmm10 + movdqa xmm10,xmm8 + pxor xmm3,xmm11 + movdqu XMMWORD[rsi],xmm2 + pxor xmm4,xmm12 + movdqu XMMWORD[16+rsi],xmm3 + pxor xmm5,xmm13 + movdqu XMMWORD[32+rsi],xmm4 + pxor xmm6,xmm14 + mov rcx,r11 + movdqu XMMWORD[48+rsi],xmm5 + pxor xmm7,xmm15 + mov eax,r10d + movdqu XMMWORD[64+rsi],xmm6 + lea rsi,[80+rsi] + sub rdx,0x60 + ja NEAR $L$cbc_dec_loop6 + + movdqa xmm2,xmm7 + add rdx,0x50 + jle NEAR $L$cbc_dec_clear_tail_collected + movups XMMWORD[rsi],xmm7 + lea rsi,[16+rsi] + +$L$cbc_dec_tail: + movups xmm2,XMMWORD[rdi] + sub rdx,0x10 + jbe NEAR $L$cbc_dec_one + + movups xmm3,XMMWORD[16+rdi] + movaps xmm11,xmm2 + sub rdx,0x10 + jbe NEAR $L$cbc_dec_two + + movups xmm4,XMMWORD[32+rdi] + movaps xmm12,xmm3 + sub rdx,0x10 + jbe NEAR $L$cbc_dec_three + + movups xmm5,XMMWORD[48+rdi] + movaps xmm13,xmm4 + sub rdx,0x10 + jbe NEAR $L$cbc_dec_four + + movups xmm6,XMMWORD[64+rdi] + movaps xmm14,xmm5 + movaps xmm15,xmm6 + xorps xmm7,xmm7 + call _aesni_decrypt6 + pxor xmm2,xmm10 + movaps xmm10,xmm15 + pxor xmm3,xmm11 + movdqu XMMWORD[rsi],xmm2 + pxor xmm4,xmm12 + movdqu XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + pxor xmm5,xmm13 + movdqu XMMWORD[32+rsi],xmm4 + pxor xmm4,xmm4 + pxor xmm6,xmm14 + movdqu XMMWORD[48+rsi],xmm5 + pxor xmm5,xmm5 + lea rsi,[64+rsi] + movdqa xmm2,xmm6 + pxor xmm6,xmm6 + pxor xmm7,xmm7 + sub rdx,0x10 + jmp NEAR $L$cbc_dec_tail_collected + +ALIGN 16 +$L$cbc_dec_one: + movaps xmm11,xmm2 + movups xmm0,XMMWORD[rcx] + movups xmm1,XMMWORD[16+rcx] + lea rcx,[32+rcx] + xorps xmm2,xmm0 +$L$oop_dec1_17: +DB 102,15,56,222,209 + dec eax + movups xmm1,XMMWORD[rcx] + lea rcx,[16+rcx] + jnz NEAR $L$oop_dec1_17 +DB 102,15,56,223,209 + xorps xmm2,xmm10 + movaps xmm10,xmm11 + jmp NEAR $L$cbc_dec_tail_collected +ALIGN 16 +$L$cbc_dec_two: + movaps xmm12,xmm3 + call _aesni_decrypt2 + pxor xmm2,xmm10 + movaps xmm10,xmm12 + pxor xmm3,xmm11 + movdqu XMMWORD[rsi],xmm2 + movdqa xmm2,xmm3 + pxor xmm3,xmm3 + lea rsi,[16+rsi] + jmp NEAR $L$cbc_dec_tail_collected +ALIGN 16 +$L$cbc_dec_three: + movaps xmm13,xmm4 + call _aesni_decrypt3 + pxor xmm2,xmm10 + movaps xmm10,xmm13 + pxor xmm3,xmm11 + movdqu XMMWORD[rsi],xmm2 + pxor xmm4,xmm12 + movdqu XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + movdqa xmm2,xmm4 + pxor xmm4,xmm4 + lea rsi,[32+rsi] + jmp NEAR $L$cbc_dec_tail_collected +ALIGN 16 +$L$cbc_dec_four: + movaps xmm14,xmm5 + call _aesni_decrypt4 + pxor xmm2,xmm10 + movaps xmm10,xmm14 + pxor xmm3,xmm11 + movdqu XMMWORD[rsi],xmm2 + pxor xmm4,xmm12 + movdqu XMMWORD[16+rsi],xmm3 + pxor xmm3,xmm3 + pxor xmm5,xmm13 + movdqu XMMWORD[32+rsi],xmm4 + pxor xmm4,xmm4 + movdqa xmm2,xmm5 + pxor xmm5,xmm5 + lea rsi,[48+rsi] + jmp NEAR $L$cbc_dec_tail_collected + +ALIGN 16 +$L$cbc_dec_clear_tail_collected: + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 +$L$cbc_dec_tail_collected: + movups XMMWORD[r8],xmm10 + and rdx,15 + jnz NEAR $L$cbc_dec_tail_partial + movups XMMWORD[rsi],xmm2 + pxor xmm2,xmm2 + jmp NEAR $L$cbc_dec_ret +ALIGN 16 +$L$cbc_dec_tail_partial: + movaps XMMWORD[rsp],xmm2 + pxor xmm2,xmm2 + mov rcx,16 + mov rdi,rsi + sub rcx,rdx + lea rsi,[rsp] + DD 0x9066A4F3 + movdqa XMMWORD[rsp],xmm2 + +$L$cbc_dec_ret: + xorps xmm0,xmm0 + pxor xmm1,xmm1 + movaps xmm6,XMMWORD[16+rsp] + movaps XMMWORD[16+rsp],xmm0 + movaps xmm7,XMMWORD[32+rsp] + movaps XMMWORD[32+rsp],xmm0 + movaps xmm8,XMMWORD[48+rsp] + movaps XMMWORD[48+rsp],xmm0 + movaps xmm9,XMMWORD[64+rsp] + movaps XMMWORD[64+rsp],xmm0 + movaps xmm10,XMMWORD[80+rsp] + movaps XMMWORD[80+rsp],xmm0 + movaps xmm11,XMMWORD[96+rsp] + movaps XMMWORD[96+rsp],xmm0 + movaps xmm12,XMMWORD[112+rsp] + movaps XMMWORD[112+rsp],xmm0 + movaps xmm13,XMMWORD[128+rsp] + movaps XMMWORD[128+rsp],xmm0 + movaps xmm14,XMMWORD[144+rsp] + movaps XMMWORD[144+rsp],xmm0 + movaps xmm15,XMMWORD[160+rsp] + movaps XMMWORD[160+rsp],xmm0 + lea rsp,[rbp] + pop rbp +$L$cbc_ret: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_aesni_cbc_encrypt: +global aesni_set_decrypt_key + +ALIGN 16 +aesni_set_decrypt_key: +DB 0x48,0x83,0xEC,0x08 + call __aesni_set_encrypt_key + shl edx,4 + test eax,eax + jnz NEAR $L$dec_key_ret + lea rcx,[16+rdx*1+r8] + + movups xmm0,XMMWORD[r8] + movups xmm1,XMMWORD[rcx] + movups XMMWORD[rcx],xmm0 + movups XMMWORD[r8],xmm1 + lea r8,[16+r8] + lea rcx,[((-16))+rcx] + +$L$dec_key_inverse: + movups xmm0,XMMWORD[r8] + movups xmm1,XMMWORD[rcx] +DB 102,15,56,219,192 +DB 102,15,56,219,201 + lea r8,[16+r8] + lea rcx,[((-16))+rcx] + movups XMMWORD[16+rcx],xmm0 + movups XMMWORD[(-16)+r8],xmm1 + cmp rcx,r8 + ja NEAR $L$dec_key_inverse + + movups xmm0,XMMWORD[r8] +DB 102,15,56,219,192 + pxor xmm1,xmm1 + movups XMMWORD[rcx],xmm0 + pxor xmm0,xmm0 +$L$dec_key_ret: + add rsp,8 + DB 0F3h,0C3h ;repret +$L$SEH_end_set_decrypt_key: + +global aesni_set_encrypt_key + +ALIGN 16 +aesni_set_encrypt_key: +__aesni_set_encrypt_key: +DB 0x48,0x83,0xEC,0x08 + mov rax,-1 + test rcx,rcx + jz NEAR $L$enc_key_ret + test r8,r8 + jz NEAR $L$enc_key_ret + + mov r10d,268437504 + movups xmm0,XMMWORD[rcx] + xorps xmm4,xmm4 + and r10d,DWORD[((OPENSSL_ia32cap_P+4))] + lea rax,[16+r8] + cmp edx,256 + je NEAR $L$14rounds + cmp edx,192 + je NEAR $L$12rounds + cmp edx,128 + jne NEAR $L$bad_keybits + +$L$10rounds: + mov edx,9 + cmp r10d,268435456 + je NEAR $L$10rounds_alt + + movups XMMWORD[r8],xmm0 +DB 102,15,58,223,200,1 + call $L$key_expansion_128_cold +DB 102,15,58,223,200,2 + call $L$key_expansion_128 +DB 102,15,58,223,200,4 + call $L$key_expansion_128 +DB 102,15,58,223,200,8 + call $L$key_expansion_128 +DB 102,15,58,223,200,16 + call $L$key_expansion_128 +DB 102,15,58,223,200,32 + call $L$key_expansion_128 +DB 102,15,58,223,200,64 + call $L$key_expansion_128 +DB 102,15,58,223,200,128 + call $L$key_expansion_128 +DB 102,15,58,223,200,27 + call $L$key_expansion_128 +DB 102,15,58,223,200,54 + call $L$key_expansion_128 + movups XMMWORD[rax],xmm0 + mov DWORD[80+rax],edx + xor eax,eax + jmp NEAR $L$enc_key_ret + +ALIGN 16 +$L$10rounds_alt: + movdqa xmm5,XMMWORD[$L$key_rotate] + mov r10d,8 + movdqa xmm4,XMMWORD[$L$key_rcon1] + movdqa xmm2,xmm0 + movdqu XMMWORD[r8],xmm0 + jmp NEAR $L$oop_key128 + +ALIGN 16 +$L$oop_key128: +DB 102,15,56,0,197 +DB 102,15,56,221,196 + pslld xmm4,1 + lea rax,[16+rax] + + 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 XMMWORD[(-16)+rax],xmm0 + movdqa xmm2,xmm0 + + dec r10d + jnz NEAR $L$oop_key128 + + movdqa xmm4,XMMWORD[$L$key_rcon1b] + +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 XMMWORD[rax],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 XMMWORD[16+rax],xmm0 + + mov DWORD[96+rax],edx + xor eax,eax + jmp NEAR $L$enc_key_ret + +ALIGN 16 +$L$12rounds: + movq xmm2,QWORD[16+rcx] + mov edx,11 + cmp r10d,268435456 + je NEAR $L$12rounds_alt + + movups XMMWORD[r8],xmm0 +DB 102,15,58,223,202,1 + call $L$key_expansion_192a_cold +DB 102,15,58,223,202,2 + call $L$key_expansion_192b +DB 102,15,58,223,202,4 + call $L$key_expansion_192a +DB 102,15,58,223,202,8 + call $L$key_expansion_192b +DB 102,15,58,223,202,16 + call $L$key_expansion_192a +DB 102,15,58,223,202,32 + call $L$key_expansion_192b +DB 102,15,58,223,202,64 + call $L$key_expansion_192a +DB 102,15,58,223,202,128 + call $L$key_expansion_192b + movups XMMWORD[rax],xmm0 + mov DWORD[48+rax],edx + xor rax,rax + jmp NEAR $L$enc_key_ret + +ALIGN 16 +$L$12rounds_alt: + movdqa xmm5,XMMWORD[$L$key_rotate192] + movdqa xmm4,XMMWORD[$L$key_rcon1] + mov r10d,8 + movdqu XMMWORD[r8],xmm0 + jmp NEAR $L$oop_key192 + +ALIGN 16 +$L$oop_key192: + movq QWORD[rax],xmm2 + movdqa xmm1,xmm2 +DB 102,15,56,0,213 +DB 102,15,56,221,212 + pslld xmm4,1 + lea rax,[24+rax] + + movdqa xmm3,xmm0 + pslldq xmm0,4 + pxor xmm3,xmm0 + pslldq xmm0,4 + pxor xmm3,xmm0 + pslldq xmm0,4 + pxor xmm0,xmm3 + + pshufd xmm3,xmm0,0xff + pxor xmm3,xmm1 + pslldq xmm1,4 + pxor xmm3,xmm1 + + pxor xmm0,xmm2 + pxor xmm2,xmm3 + movdqu XMMWORD[(-16)+rax],xmm0 + + dec r10d + jnz NEAR $L$oop_key192 + + mov DWORD[32+rax],edx + xor eax,eax + jmp NEAR $L$enc_key_ret + +ALIGN 16 +$L$14rounds: + movups xmm2,XMMWORD[16+rcx] + mov edx,13 + lea rax,[16+rax] + cmp r10d,268435456 + je NEAR $L$14rounds_alt + + movups XMMWORD[r8],xmm0 + movups XMMWORD[16+r8],xmm2 +DB 102,15,58,223,202,1 + call $L$key_expansion_256a_cold +DB 102,15,58,223,200,1 + call $L$key_expansion_256b +DB 102,15,58,223,202,2 + call $L$key_expansion_256a +DB 102,15,58,223,200,2 + call $L$key_expansion_256b +DB 102,15,58,223,202,4 + call $L$key_expansion_256a +DB 102,15,58,223,200,4 + call $L$key_expansion_256b +DB 102,15,58,223,202,8 + call $L$key_expansion_256a +DB 102,15,58,223,200,8 + call $L$key_expansion_256b +DB 102,15,58,223,202,16 + call $L$key_expansion_256a +DB 102,15,58,223,200,16 + call $L$key_expansion_256b +DB 102,15,58,223,202,32 + call $L$key_expansion_256a +DB 102,15,58,223,200,32 + call $L$key_expansion_256b +DB 102,15,58,223,202,64 + call $L$key_expansion_256a + movups XMMWORD[rax],xmm0 + mov DWORD[16+rax],edx + xor rax,rax + jmp NEAR $L$enc_key_ret + +ALIGN 16 +$L$14rounds_alt: + movdqa xmm5,XMMWORD[$L$key_rotate] + movdqa xmm4,XMMWORD[$L$key_rcon1] + mov r10d,7 + movdqu XMMWORD[r8],xmm0 + movdqa xmm1,xmm2 + movdqu XMMWORD[16+r8],xmm2 + jmp NEAR $L$oop_key256 + +ALIGN 16 +$L$oop_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 XMMWORD[rax],xmm0 + + dec r10d + jz NEAR $L$done_key256 + + pshufd xmm2,xmm0,0xff + 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 XMMWORD[16+rax],xmm2 + lea rax,[32+rax] + movdqa xmm1,xmm2 + + jmp NEAR $L$oop_key256 + +$L$done_key256: + mov DWORD[16+rax],edx + xor eax,eax + jmp NEAR $L$enc_key_ret + +ALIGN 16 +$L$bad_keybits: + mov rax,-2 +$L$enc_key_ret: + pxor xmm0,xmm0 + pxor xmm1,xmm1 + pxor xmm2,xmm2 + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + add rsp,8 + DB 0F3h,0C3h ;repret +$L$SEH_end_set_encrypt_key: + +ALIGN 16 +$L$key_expansion_128: + movups XMMWORD[rax],xmm0 + lea rax,[16+rax] +$L$key_expansion_128_cold: + shufps xmm4,xmm0,16 + xorps xmm0,xmm4 + shufps xmm4,xmm0,140 + xorps xmm0,xmm4 + shufps xmm1,xmm1,255 + xorps xmm0,xmm1 + DB 0F3h,0C3h ;repret + +ALIGN 16 +$L$key_expansion_192a: + movups XMMWORD[rax],xmm0 + lea rax,[16+rax] +$L$key_expansion_192a_cold: + movaps xmm5,xmm2 +$L$key_expansion_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 + DB 0F3h,0C3h ;repret + +ALIGN 16 +$L$key_expansion_192b: + movaps xmm3,xmm0 + shufps xmm5,xmm0,68 + movups XMMWORD[rax],xmm5 + shufps xmm3,xmm2,78 + movups XMMWORD[16+rax],xmm3 + lea rax,[32+rax] + jmp NEAR $L$key_expansion_192b_warm + +ALIGN 16 +$L$key_expansion_256a: + movups XMMWORD[rax],xmm2 + lea rax,[16+rax] +$L$key_expansion_256a_cold: + shufps xmm4,xmm0,16 + xorps xmm0,xmm4 + shufps xmm4,xmm0,140 + xorps xmm0,xmm4 + shufps xmm1,xmm1,255 + xorps xmm0,xmm1 + DB 0F3h,0C3h ;repret + +ALIGN 16 +$L$key_expansion_256b: + movups XMMWORD[rax],xmm0 + lea rax,[16+rax] + + shufps xmm4,xmm2,16 + xorps xmm2,xmm4 + shufps xmm4,xmm2,140 + xorps xmm2,xmm4 + shufps xmm1,xmm1,170 + xorps xmm2,xmm1 + DB 0F3h,0C3h ;repret + + +ALIGN 64 +$L$bswap_mask: +DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 +$L$increment32: + DD 6,6,6,0 +$L$increment64: + DD 1,0,0,0 +$L$xts_magic: + DD 0x87,0,1,0 +$L$increment1: +DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +$L$key_rotate: + DD 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d +$L$key_rotate192: + DD 0x04070605,0x04070605,0x04070605,0x04070605 +$L$key_rcon1: + DD 1,1,1,1 +$L$key_rcon1b: + DD 0x1b,0x1b,0x1b,0x1b + +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 +ALIGN 64 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +ecb_ccm64_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + lea rsi,[rax] + lea rdi,[512+r8] + mov ecx,8 + DD 0xa548f3fc + lea rax,[88+rax] + + jmp NEAR $L$common_seh_tail + + + +ALIGN 16 +ctr_xts_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + mov rax,QWORD[160+r8] + lea rsi,[((-160))+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + + jmp NEAR $L$common_rbp_tail + + +ALIGN 16 +cbc_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[152+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$cbc_decrypt_bulk] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + lea r10,[$L$cbc_decrypt_body] + cmp rbx,r10 + jb NEAR $L$restore_cbc_rax + + lea r10,[$L$cbc_ret] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + lea rsi,[16+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + +$L$common_rbp_tail: + mov rax,QWORD[160+r8] + mov rbp,QWORD[rax] + lea rax,[8+rax] + mov QWORD[160+r8],rbp + jmp NEAR $L$common_seh_tail + +$L$restore_cbc_rax: + mov rax,QWORD[120+r8] + +$L$common_seh_tail: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_aesni_ecb_encrypt wrt ..imagebase + DD $L$SEH_end_aesni_ecb_encrypt wrt ..imagebase + DD $L$SEH_info_ecb wrt ..imagebase + + DD $L$SEH_begin_aesni_ccm64_encrypt_blocks wrt ..imagebase + DD $L$SEH_end_aesni_ccm64_encrypt_blocks wrt ..imagebase + DD $L$SEH_info_ccm64_enc wrt ..imagebase + + DD $L$SEH_begin_aesni_ccm64_decrypt_blocks wrt ..imagebase + DD $L$SEH_end_aesni_ccm64_decrypt_blocks wrt ..imagebase + DD $L$SEH_info_ccm64_dec wrt ..imagebase + + DD $L$SEH_begin_aesni_ctr32_encrypt_blocks wrt ..imagebase + DD $L$SEH_end_aesni_ctr32_encrypt_blocks wrt ..imagebase + DD $L$SEH_info_ctr32 wrt ..imagebase + + DD $L$SEH_begin_aesni_xts_encrypt wrt ..imagebase + DD $L$SEH_end_aesni_xts_encrypt wrt ..imagebase + DD $L$SEH_info_xts_enc wrt ..imagebase + + DD $L$SEH_begin_aesni_xts_decrypt wrt ..imagebase + DD $L$SEH_end_aesni_xts_decrypt wrt ..imagebase + DD $L$SEH_info_xts_dec wrt ..imagebase + DD $L$SEH_begin_aesni_cbc_encrypt wrt ..imagebase + DD $L$SEH_end_aesni_cbc_encrypt wrt ..imagebase + DD $L$SEH_info_cbc wrt ..imagebase + + DD aesni_set_decrypt_key wrt ..imagebase + DD $L$SEH_end_set_decrypt_key wrt ..imagebase + DD $L$SEH_info_key wrt ..imagebase + + DD aesni_set_encrypt_key wrt ..imagebase + DD $L$SEH_end_set_encrypt_key wrt ..imagebase + DD $L$SEH_info_key wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_ecb: +DB 9,0,0,0 + DD ecb_ccm64_se_handler wrt ..imagebase + DD $L$ecb_enc_body wrt ..imagebase,$L$ecb_enc_ret wrt ..imagebase +$L$SEH_info_ccm64_enc: +DB 9,0,0,0 + DD ecb_ccm64_se_handler wrt ..imagebase + DD $L$ccm64_enc_body wrt ..imagebase,$L$ccm64_enc_ret wrt ..imagebase +$L$SEH_info_ccm64_dec: +DB 9,0,0,0 + DD ecb_ccm64_se_handler wrt ..imagebase + DD $L$ccm64_dec_body wrt ..imagebase,$L$ccm64_dec_ret wrt ..imagebase +$L$SEH_info_ctr32: +DB 9,0,0,0 + DD ctr_xts_se_handler wrt ..imagebase + DD $L$ctr32_body wrt ..imagebase,$L$ctr32_epilogue wrt ..imagebase +$L$SEH_info_xts_enc: +DB 9,0,0,0 + DD ctr_xts_se_handler wrt ..imagebase + DD $L$xts_enc_body wrt ..imagebase,$L$xts_enc_epilogue wrt ..imagebase +$L$SEH_info_xts_dec: +DB 9,0,0,0 + DD ctr_xts_se_handler wrt ..imagebase + DD $L$xts_dec_body wrt ..imagebase,$L$xts_dec_epilogue wrt ..imagebase +$L$SEH_info_cbc: +DB 9,0,0,0 + DD cbc_se_handler wrt ..imagebase +$L$SEH_info_key: +DB 0x01,0x04,0x01,0x00 +DB 0x04,0x02,0x00,0x00 diff --git a/tmp64/bsaes-x86_64.asm b/tmp64/bsaes-x86_64.asm index 6d75248d..9da96c06 100644 --- a/tmp64/bsaes-x86_64.asm +++ b/tmp64/bsaes-x86_64.asm @@ -1,2733 +1,2733 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN asm_AES_encrypt -EXTERN asm_AES_decrypt - - -ALIGN 64 -_bsaes_encrypt8: - lea r11,[$L$BS0] - - movdqa xmm8,XMMWORD[rax] - lea rax,[16+rax] - movdqa xmm7,XMMWORD[80+r11] - pxor xmm15,xmm8 - pxor xmm0,xmm8 - pxor xmm1,xmm8 - pxor xmm2,xmm8 -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,xmm8 - pxor xmm4,xmm8 -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,xmm8 - pxor xmm6,xmm8 -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 -_bsaes_encrypt8_bitslice: - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm5 - psrlq xmm5,1 - movdqa xmm10,xmm3 - psrlq xmm3,1 - pxor xmm5,xmm6 - pxor xmm3,xmm4 - pand xmm5,xmm7 - pand xmm3,xmm7 - pxor xmm6,xmm5 - psllq xmm5,1 - pxor xmm4,xmm3 - psllq xmm3,1 - pxor xmm5,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm1 - psrlq xmm1,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm1,xmm2 - pxor xmm15,xmm0 - pand xmm1,xmm7 - pand xmm15,xmm7 - pxor xmm2,xmm1 - psllq xmm1,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm1,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm4 - psrlq xmm4,2 - movdqa xmm10,xmm3 - psrlq xmm3,2 - pxor xmm4,xmm6 - pxor xmm3,xmm5 - pand xmm4,xmm8 - pand xmm3,xmm8 - pxor xmm6,xmm4 - psllq xmm4,2 - pxor xmm5,xmm3 - psllq xmm3,2 - pxor xmm4,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm2 - pxor xmm15,xmm1 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm2,xmm0 - psllq xmm0,2 - pxor xmm1,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm2 - psrlq xmm2,4 - movdqa xmm10,xmm1 - psrlq xmm1,4 - pxor xmm2,xmm6 - pxor xmm1,xmm5 - pand xmm2,xmm7 - pand xmm1,xmm7 - pxor xmm6,xmm2 - psllq xmm2,4 - pxor xmm5,xmm1 - psllq xmm1,4 - pxor xmm2,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm4 - pxor xmm15,xmm3 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm4,xmm0 - psllq xmm0,4 - pxor xmm3,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - dec r10d - jmp NEAR $L$enc_sbox -ALIGN 16 -$L$enc_loop: - pxor xmm15,XMMWORD[rax] - pxor xmm0,XMMWORD[16+rax] - pxor xmm1,XMMWORD[32+rax] - pxor xmm2,XMMWORD[48+rax] -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,XMMWORD[64+rax] - pxor xmm4,XMMWORD[80+rax] -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,XMMWORD[96+rax] - pxor xmm6,XMMWORD[112+rax] -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - lea rax,[128+rax] -$L$enc_sbox: - pxor xmm4,xmm5 - pxor xmm1,xmm0 - pxor xmm2,xmm15 - pxor xmm5,xmm1 - pxor xmm4,xmm15 - - pxor xmm5,xmm2 - pxor xmm2,xmm6 - pxor xmm6,xmm4 - pxor xmm2,xmm3 - pxor xmm3,xmm4 - pxor xmm2,xmm0 - - pxor xmm1,xmm6 - pxor xmm0,xmm4 - movdqa xmm10,xmm6 - movdqa xmm9,xmm0 - movdqa xmm8,xmm4 - movdqa xmm12,xmm1 - movdqa xmm11,xmm5 - - pxor xmm10,xmm3 - pxor xmm9,xmm1 - pxor xmm8,xmm2 - movdqa xmm13,xmm10 - pxor xmm12,xmm3 - movdqa xmm7,xmm9 - pxor xmm11,xmm15 - movdqa xmm14,xmm10 - - por xmm9,xmm8 - por xmm10,xmm11 - pxor xmm14,xmm7 - pand xmm13,xmm11 - pxor xmm11,xmm8 - pand xmm7,xmm8 - pand xmm14,xmm11 - movdqa xmm11,xmm2 - pxor xmm11,xmm15 - pand xmm12,xmm11 - pxor xmm10,xmm12 - pxor xmm9,xmm12 - movdqa xmm12,xmm6 - movdqa xmm11,xmm4 - pxor xmm12,xmm0 - pxor xmm11,xmm5 - movdqa xmm8,xmm12 - pand xmm12,xmm11 - por xmm8,xmm11 - pxor xmm7,xmm12 - pxor xmm10,xmm14 - pxor xmm9,xmm13 - pxor xmm8,xmm14 - movdqa xmm11,xmm1 - pxor xmm7,xmm13 - movdqa xmm12,xmm3 - pxor xmm8,xmm13 - movdqa xmm13,xmm0 - pand xmm11,xmm2 - movdqa xmm14,xmm6 - pand xmm12,xmm15 - pand xmm13,xmm4 - por xmm14,xmm5 - pxor xmm10,xmm11 - pxor xmm9,xmm12 - pxor xmm8,xmm13 - pxor xmm7,xmm14 - - - - - - movdqa xmm11,xmm10 - pand xmm10,xmm8 - pxor xmm11,xmm9 - - movdqa xmm13,xmm7 - movdqa xmm14,xmm11 - pxor xmm13,xmm10 - pand xmm14,xmm13 - - movdqa xmm12,xmm8 - pxor xmm14,xmm9 - pxor xmm12,xmm7 - - pxor xmm10,xmm9 - - pand xmm12,xmm10 - - movdqa xmm9,xmm13 - pxor xmm12,xmm7 - - pxor xmm9,xmm12 - pxor xmm8,xmm12 - - pand xmm9,xmm7 - - pxor xmm13,xmm9 - pxor xmm8,xmm9 - - pand xmm13,xmm14 - - pxor xmm13,xmm11 - movdqa xmm11,xmm5 - movdqa xmm7,xmm4 - movdqa xmm9,xmm14 - pxor xmm9,xmm13 - pand xmm9,xmm5 - pxor xmm5,xmm4 - pand xmm4,xmm14 - pand xmm5,xmm13 - pxor xmm5,xmm4 - pxor xmm4,xmm9 - pxor xmm11,xmm15 - pxor xmm7,xmm2 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm15 - pxor xmm11,xmm7 - pxor xmm15,xmm2 - pand xmm7,xmm14 - pand xmm2,xmm12 - pand xmm11,xmm13 - pand xmm15,xmm8 - pxor xmm7,xmm11 - pxor xmm15,xmm2 - pxor xmm11,xmm10 - pxor xmm2,xmm9 - pxor xmm5,xmm11 - pxor xmm15,xmm11 - pxor xmm4,xmm7 - pxor xmm2,xmm7 - - movdqa xmm11,xmm6 - movdqa xmm7,xmm0 - pxor xmm11,xmm3 - pxor xmm7,xmm1 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm3 - pxor xmm11,xmm7 - pxor xmm3,xmm1 - pand xmm7,xmm14 - pand xmm1,xmm12 - pand xmm11,xmm13 - pand xmm3,xmm8 - pxor xmm7,xmm11 - pxor xmm3,xmm1 - pxor xmm11,xmm10 - pxor xmm1,xmm9 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - pxor xmm10,xmm13 - pand xmm10,xmm6 - pxor xmm6,xmm0 - pand xmm0,xmm14 - pand xmm6,xmm13 - pxor xmm6,xmm0 - pxor xmm0,xmm10 - pxor xmm6,xmm11 - pxor xmm3,xmm11 - pxor xmm0,xmm7 - pxor xmm1,xmm7 - pxor xmm6,xmm15 - pxor xmm0,xmm5 - pxor xmm3,xmm6 - pxor xmm5,xmm15 - pxor xmm15,xmm0 - - pxor xmm0,xmm4 - pxor xmm4,xmm1 - pxor xmm1,xmm2 - pxor xmm2,xmm4 - pxor xmm3,xmm4 - - pxor xmm5,xmm2 - dec r10d - jl NEAR $L$enc_done - pshufd xmm7,xmm15,0x93 - pshufd xmm8,xmm0,0x93 - pxor xmm15,xmm7 - pshufd xmm9,xmm3,0x93 - pxor xmm0,xmm8 - pshufd xmm10,xmm5,0x93 - pxor xmm3,xmm9 - pshufd xmm11,xmm2,0x93 - pxor xmm5,xmm10 - pshufd xmm12,xmm6,0x93 - pxor xmm2,xmm11 - pshufd xmm13,xmm1,0x93 - pxor xmm6,xmm12 - pshufd xmm14,xmm4,0x93 - pxor xmm1,xmm13 - pxor xmm4,xmm14 - - pxor xmm8,xmm15 - pxor xmm7,xmm4 - pxor xmm8,xmm4 - pshufd xmm15,xmm15,0x4E - pxor xmm9,xmm0 - pshufd xmm0,xmm0,0x4E - pxor xmm12,xmm2 - pxor xmm15,xmm7 - pxor xmm13,xmm6 - pxor xmm0,xmm8 - pxor xmm11,xmm5 - pshufd xmm7,xmm2,0x4E - pxor xmm14,xmm1 - pshufd xmm8,xmm6,0x4E - pxor xmm10,xmm3 - pshufd xmm2,xmm5,0x4E - pxor xmm10,xmm4 - pshufd xmm6,xmm4,0x4E - pxor xmm11,xmm4 - pshufd xmm5,xmm1,0x4E - pxor xmm7,xmm11 - pshufd xmm1,xmm3,0x4E - pxor xmm8,xmm12 - pxor xmm2,xmm10 - pxor xmm6,xmm14 - pxor xmm5,xmm13 - movdqa xmm3,xmm7 - pxor xmm1,xmm9 - movdqa xmm4,xmm8 - movdqa xmm7,XMMWORD[48+r11] - jnz NEAR $L$enc_loop - movdqa xmm7,XMMWORD[64+r11] - jmp NEAR $L$enc_loop -ALIGN 16 -$L$enc_done: - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm1 - psrlq xmm1,1 - movdqa xmm10,xmm2 - psrlq xmm2,1 - pxor xmm1,xmm4 - pxor xmm2,xmm6 - pand xmm1,xmm7 - pand xmm2,xmm7 - pxor xmm4,xmm1 - psllq xmm1,1 - pxor xmm6,xmm2 - psllq xmm2,1 - pxor xmm1,xmm9 - pxor xmm2,xmm10 - movdqa xmm9,xmm3 - psrlq xmm3,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm3,xmm5 - pxor xmm15,xmm0 - pand xmm3,xmm7 - pand xmm15,xmm7 - pxor xmm5,xmm3 - psllq xmm3,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm3,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm6 - psrlq xmm6,2 - movdqa xmm10,xmm2 - psrlq xmm2,2 - pxor xmm6,xmm4 - pxor xmm2,xmm1 - pand xmm6,xmm8 - pand xmm2,xmm8 - pxor xmm4,xmm6 - psllq xmm6,2 - pxor xmm1,xmm2 - psllq xmm2,2 - pxor xmm6,xmm9 - pxor xmm2,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm5 - pxor xmm15,xmm3 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm5,xmm0 - psllq xmm0,2 - pxor xmm3,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm5 - psrlq xmm5,4 - movdqa xmm10,xmm3 - psrlq xmm3,4 - pxor xmm5,xmm4 - pxor xmm3,xmm1 - pand xmm5,xmm7 - pand xmm3,xmm7 - pxor xmm4,xmm5 - psllq xmm5,4 - pxor xmm1,xmm3 - psllq xmm3,4 - pxor xmm5,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm6 - pxor xmm15,xmm2 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm6,xmm0 - psllq xmm0,4 - pxor xmm2,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[rax] - pxor xmm3,xmm7 - pxor xmm5,xmm7 - pxor xmm2,xmm7 - pxor xmm6,xmm7 - pxor xmm1,xmm7 - pxor xmm4,xmm7 - pxor xmm15,xmm7 - pxor xmm0,xmm7 - DB 0F3h,0C3h ;repret - - - -ALIGN 64 -_bsaes_decrypt8: - lea r11,[$L$BS0] - - movdqa xmm8,XMMWORD[rax] - lea rax,[16+rax] - movdqa xmm7,XMMWORD[((-48))+r11] - pxor xmm15,xmm8 - pxor xmm0,xmm8 - pxor xmm1,xmm8 - pxor xmm2,xmm8 -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,xmm8 - pxor xmm4,xmm8 -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,xmm8 - pxor xmm6,xmm8 -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm5 - psrlq xmm5,1 - movdqa xmm10,xmm3 - psrlq xmm3,1 - pxor xmm5,xmm6 - pxor xmm3,xmm4 - pand xmm5,xmm7 - pand xmm3,xmm7 - pxor xmm6,xmm5 - psllq xmm5,1 - pxor xmm4,xmm3 - psllq xmm3,1 - pxor xmm5,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm1 - psrlq xmm1,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm1,xmm2 - pxor xmm15,xmm0 - pand xmm1,xmm7 - pand xmm15,xmm7 - pxor xmm2,xmm1 - psllq xmm1,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm1,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm4 - psrlq xmm4,2 - movdqa xmm10,xmm3 - psrlq xmm3,2 - pxor xmm4,xmm6 - pxor xmm3,xmm5 - pand xmm4,xmm8 - pand xmm3,xmm8 - pxor xmm6,xmm4 - psllq xmm4,2 - pxor xmm5,xmm3 - psllq xmm3,2 - pxor xmm4,xmm9 - pxor xmm3,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm2 - pxor xmm15,xmm1 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm2,xmm0 - psllq xmm0,2 - pxor xmm1,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm2 - psrlq xmm2,4 - movdqa xmm10,xmm1 - psrlq xmm1,4 - pxor xmm2,xmm6 - pxor xmm1,xmm5 - pand xmm2,xmm7 - pand xmm1,xmm7 - pxor xmm6,xmm2 - psllq xmm2,4 - pxor xmm5,xmm1 - psllq xmm1,4 - pxor xmm2,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm4 - pxor xmm15,xmm3 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm4,xmm0 - psllq xmm0,4 - pxor xmm3,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - dec r10d - jmp NEAR $L$dec_sbox -ALIGN 16 -$L$dec_loop: - pxor xmm15,XMMWORD[rax] - pxor xmm0,XMMWORD[16+rax] - pxor xmm1,XMMWORD[32+rax] - pxor xmm2,XMMWORD[48+rax] -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,XMMWORD[64+rax] - pxor xmm4,XMMWORD[80+rax] -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,XMMWORD[96+rax] - pxor xmm6,XMMWORD[112+rax] -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - lea rax,[128+rax] -$L$dec_sbox: - pxor xmm2,xmm3 - - pxor xmm3,xmm6 - pxor xmm1,xmm6 - pxor xmm5,xmm3 - pxor xmm6,xmm5 - pxor xmm0,xmm6 - - pxor xmm15,xmm0 - pxor xmm1,xmm4 - pxor xmm2,xmm15 - pxor xmm4,xmm15 - pxor xmm0,xmm2 - movdqa xmm10,xmm2 - movdqa xmm9,xmm6 - movdqa xmm8,xmm0 - movdqa xmm12,xmm3 - movdqa xmm11,xmm4 - - pxor xmm10,xmm15 - pxor xmm9,xmm3 - pxor xmm8,xmm5 - movdqa xmm13,xmm10 - pxor xmm12,xmm15 - movdqa xmm7,xmm9 - pxor xmm11,xmm1 - movdqa xmm14,xmm10 - - por xmm9,xmm8 - por xmm10,xmm11 - pxor xmm14,xmm7 - pand xmm13,xmm11 - pxor xmm11,xmm8 - pand xmm7,xmm8 - pand xmm14,xmm11 - movdqa xmm11,xmm5 - pxor xmm11,xmm1 - pand xmm12,xmm11 - pxor xmm10,xmm12 - pxor xmm9,xmm12 - movdqa xmm12,xmm2 - movdqa xmm11,xmm0 - pxor xmm12,xmm6 - pxor xmm11,xmm4 - movdqa xmm8,xmm12 - pand xmm12,xmm11 - por xmm8,xmm11 - pxor xmm7,xmm12 - pxor xmm10,xmm14 - pxor xmm9,xmm13 - pxor xmm8,xmm14 - movdqa xmm11,xmm3 - pxor xmm7,xmm13 - movdqa xmm12,xmm15 - pxor xmm8,xmm13 - movdqa xmm13,xmm6 - pand xmm11,xmm5 - movdqa xmm14,xmm2 - pand xmm12,xmm1 - pand xmm13,xmm0 - por xmm14,xmm4 - pxor xmm10,xmm11 - pxor xmm9,xmm12 - pxor xmm8,xmm13 - pxor xmm7,xmm14 - - - - - - movdqa xmm11,xmm10 - pand xmm10,xmm8 - pxor xmm11,xmm9 - - movdqa xmm13,xmm7 - movdqa xmm14,xmm11 - pxor xmm13,xmm10 - pand xmm14,xmm13 - - movdqa xmm12,xmm8 - pxor xmm14,xmm9 - pxor xmm12,xmm7 - - pxor xmm10,xmm9 - - pand xmm12,xmm10 - - movdqa xmm9,xmm13 - pxor xmm12,xmm7 - - pxor xmm9,xmm12 - pxor xmm8,xmm12 - - pand xmm9,xmm7 - - pxor xmm13,xmm9 - pxor xmm8,xmm9 - - pand xmm13,xmm14 - - pxor xmm13,xmm11 - movdqa xmm11,xmm4 - movdqa xmm7,xmm0 - movdqa xmm9,xmm14 - pxor xmm9,xmm13 - pand xmm9,xmm4 - pxor xmm4,xmm0 - pand xmm0,xmm14 - pand xmm4,xmm13 - pxor xmm4,xmm0 - pxor xmm0,xmm9 - pxor xmm11,xmm1 - pxor xmm7,xmm5 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm1 - pxor xmm11,xmm7 - pxor xmm1,xmm5 - pand xmm7,xmm14 - pand xmm5,xmm12 - pand xmm11,xmm13 - pand xmm1,xmm8 - pxor xmm7,xmm11 - pxor xmm1,xmm5 - pxor xmm11,xmm10 - pxor xmm5,xmm9 - pxor xmm4,xmm11 - pxor xmm1,xmm11 - pxor xmm0,xmm7 - pxor xmm5,xmm7 - - movdqa xmm11,xmm2 - movdqa xmm7,xmm6 - pxor xmm11,xmm15 - pxor xmm7,xmm3 - movdqa xmm10,xmm14 - movdqa xmm9,xmm12 - pxor xmm10,xmm13 - pxor xmm9,xmm8 - pand xmm10,xmm11 - pand xmm9,xmm15 - pxor xmm11,xmm7 - pxor xmm15,xmm3 - pand xmm7,xmm14 - pand xmm3,xmm12 - pand xmm11,xmm13 - pand xmm15,xmm8 - pxor xmm7,xmm11 - pxor xmm15,xmm3 - pxor xmm11,xmm10 - pxor xmm3,xmm9 - pxor xmm14,xmm12 - pxor xmm13,xmm8 - movdqa xmm10,xmm14 - pxor xmm10,xmm13 - pand xmm10,xmm2 - pxor xmm2,xmm6 - pand xmm6,xmm14 - pand xmm2,xmm13 - pxor xmm2,xmm6 - pxor xmm6,xmm10 - pxor xmm2,xmm11 - pxor xmm15,xmm11 - pxor xmm6,xmm7 - pxor xmm3,xmm7 - pxor xmm0,xmm6 - pxor xmm5,xmm4 - - pxor xmm3,xmm0 - pxor xmm1,xmm6 - pxor xmm4,xmm6 - pxor xmm3,xmm1 - pxor xmm6,xmm15 - pxor xmm3,xmm4 - pxor xmm2,xmm5 - pxor xmm5,xmm0 - pxor xmm2,xmm3 - - pxor xmm3,xmm15 - pxor xmm6,xmm2 - dec r10d - jl NEAR $L$dec_done - - pshufd xmm7,xmm15,0x4E - pshufd xmm13,xmm2,0x4E - pxor xmm7,xmm15 - pshufd xmm14,xmm4,0x4E - pxor xmm13,xmm2 - pshufd xmm8,xmm0,0x4E - pxor xmm14,xmm4 - pshufd xmm9,xmm5,0x4E - pxor xmm8,xmm0 - pshufd xmm10,xmm3,0x4E - pxor xmm9,xmm5 - pxor xmm15,xmm13 - pxor xmm0,xmm13 - pshufd xmm11,xmm1,0x4E - pxor xmm10,xmm3 - pxor xmm5,xmm7 - pxor xmm3,xmm8 - pshufd xmm12,xmm6,0x4E - pxor xmm11,xmm1 - pxor xmm0,xmm14 - pxor xmm1,xmm9 - pxor xmm12,xmm6 - - pxor xmm5,xmm14 - pxor xmm3,xmm13 - pxor xmm1,xmm13 - pxor xmm6,xmm10 - pxor xmm2,xmm11 - pxor xmm1,xmm14 - pxor xmm6,xmm14 - pxor xmm4,xmm12 - pshufd xmm7,xmm15,0x93 - pshufd xmm8,xmm0,0x93 - pxor xmm15,xmm7 - pshufd xmm9,xmm5,0x93 - pxor xmm0,xmm8 - pshufd xmm10,xmm3,0x93 - pxor xmm5,xmm9 - pshufd xmm11,xmm1,0x93 - pxor xmm3,xmm10 - pshufd xmm12,xmm6,0x93 - pxor xmm1,xmm11 - pshufd xmm13,xmm2,0x93 - pxor xmm6,xmm12 - pshufd xmm14,xmm4,0x93 - pxor xmm2,xmm13 - pxor xmm4,xmm14 - - pxor xmm8,xmm15 - pxor xmm7,xmm4 - pxor xmm8,xmm4 - pshufd xmm15,xmm15,0x4E - pxor xmm9,xmm0 - pshufd xmm0,xmm0,0x4E - pxor xmm12,xmm1 - pxor xmm15,xmm7 - pxor xmm13,xmm6 - pxor xmm0,xmm8 - pxor xmm11,xmm3 - pshufd xmm7,xmm1,0x4E - pxor xmm14,xmm2 - pshufd xmm8,xmm6,0x4E - pxor xmm10,xmm5 - pshufd xmm1,xmm3,0x4E - pxor xmm10,xmm4 - pshufd xmm6,xmm4,0x4E - pxor xmm11,xmm4 - pshufd xmm3,xmm2,0x4E - pxor xmm7,xmm11 - pshufd xmm2,xmm5,0x4E - pxor xmm8,xmm12 - pxor xmm10,xmm1 - pxor xmm6,xmm14 - pxor xmm13,xmm3 - movdqa xmm3,xmm7 - pxor xmm2,xmm9 - movdqa xmm5,xmm13 - movdqa xmm4,xmm8 - movdqa xmm1,xmm2 - movdqa xmm2,xmm10 - movdqa xmm7,XMMWORD[((-16))+r11] - jnz NEAR $L$dec_loop - movdqa xmm7,XMMWORD[((-32))+r11] - jmp NEAR $L$dec_loop -ALIGN 16 -$L$dec_done: - movdqa xmm7,XMMWORD[r11] - movdqa xmm8,XMMWORD[16+r11] - movdqa xmm9,xmm2 - psrlq xmm2,1 - movdqa xmm10,xmm1 - psrlq xmm1,1 - pxor xmm2,xmm4 - pxor xmm1,xmm6 - pand xmm2,xmm7 - pand xmm1,xmm7 - pxor xmm4,xmm2 - psllq xmm2,1 - pxor xmm6,xmm1 - psllq xmm1,1 - pxor xmm2,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm5 - psrlq xmm5,1 - movdqa xmm10,xmm15 - psrlq xmm15,1 - pxor xmm5,xmm3 - pxor xmm15,xmm0 - pand xmm5,xmm7 - pand xmm15,xmm7 - pxor xmm3,xmm5 - psllq xmm5,1 - pxor xmm0,xmm15 - psllq xmm15,1 - pxor xmm5,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[32+r11] - movdqa xmm9,xmm6 - psrlq xmm6,2 - movdqa xmm10,xmm1 - psrlq xmm1,2 - pxor xmm6,xmm4 - pxor xmm1,xmm2 - pand xmm6,xmm8 - pand xmm1,xmm8 - pxor xmm4,xmm6 - psllq xmm6,2 - pxor xmm2,xmm1 - psllq xmm1,2 - pxor xmm6,xmm9 - pxor xmm1,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,2 - movdqa xmm10,xmm15 - psrlq xmm15,2 - pxor xmm0,xmm3 - pxor xmm15,xmm5 - pand xmm0,xmm8 - pand xmm15,xmm8 - pxor xmm3,xmm0 - psllq xmm0,2 - pxor xmm5,xmm15 - psllq xmm15,2 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm9,xmm3 - psrlq xmm3,4 - movdqa xmm10,xmm5 - psrlq xmm5,4 - pxor xmm3,xmm4 - pxor xmm5,xmm2 - pand xmm3,xmm7 - pand xmm5,xmm7 - pxor xmm4,xmm3 - psllq xmm3,4 - pxor xmm2,xmm5 - psllq xmm5,4 - pxor xmm3,xmm9 - pxor xmm5,xmm10 - movdqa xmm9,xmm0 - psrlq xmm0,4 - movdqa xmm10,xmm15 - psrlq xmm15,4 - pxor xmm0,xmm6 - pxor xmm15,xmm1 - pand xmm0,xmm7 - pand xmm15,xmm7 - pxor xmm6,xmm0 - psllq xmm0,4 - pxor xmm1,xmm15 - psllq xmm15,4 - pxor xmm0,xmm9 - pxor xmm15,xmm10 - movdqa xmm7,XMMWORD[rax] - pxor xmm5,xmm7 - pxor xmm3,xmm7 - pxor xmm1,xmm7 - pxor xmm6,xmm7 - pxor xmm2,xmm7 - pxor xmm4,xmm7 - pxor xmm15,xmm7 - pxor xmm0,xmm7 - DB 0F3h,0C3h ;repret - - -ALIGN 16 -_bsaes_key_convert: - lea r11,[$L$masks] - movdqu xmm7,XMMWORD[rcx] - lea rcx,[16+rcx] - movdqa xmm0,XMMWORD[r11] - movdqa xmm1,XMMWORD[16+r11] - movdqa xmm2,XMMWORD[32+r11] - movdqa xmm3,XMMWORD[48+r11] - movdqa xmm4,XMMWORD[64+r11] - pcmpeqd xmm5,xmm5 - - movdqu xmm6,XMMWORD[rcx] - movdqa XMMWORD[rax],xmm7 - lea rax,[16+rax] - dec r10d - jmp NEAR $L$key_loop -ALIGN 16 -$L$key_loop: -DB 102,15,56,0,244 - - movdqa xmm8,xmm0 - movdqa xmm9,xmm1 - - pand xmm8,xmm6 - pand xmm9,xmm6 - movdqa xmm10,xmm2 - pcmpeqb xmm8,xmm0 - psllq xmm0,4 - movdqa xmm11,xmm3 - pcmpeqb xmm9,xmm1 - psllq xmm1,4 - - pand xmm10,xmm6 - pand xmm11,xmm6 - movdqa xmm12,xmm0 - pcmpeqb xmm10,xmm2 - psllq xmm2,4 - movdqa xmm13,xmm1 - pcmpeqb xmm11,xmm3 - psllq xmm3,4 - - movdqa xmm14,xmm2 - movdqa xmm15,xmm3 - pxor xmm8,xmm5 - pxor xmm9,xmm5 - - pand xmm12,xmm6 - pand xmm13,xmm6 - movdqa XMMWORD[rax],xmm8 - pcmpeqb xmm12,xmm0 - psrlq xmm0,4 - movdqa XMMWORD[16+rax],xmm9 - pcmpeqb xmm13,xmm1 - psrlq xmm1,4 - lea rcx,[16+rcx] - - pand xmm14,xmm6 - pand xmm15,xmm6 - movdqa XMMWORD[32+rax],xmm10 - pcmpeqb xmm14,xmm2 - psrlq xmm2,4 - movdqa XMMWORD[48+rax],xmm11 - pcmpeqb xmm15,xmm3 - psrlq xmm3,4 - movdqu xmm6,XMMWORD[rcx] - - pxor xmm13,xmm5 - pxor xmm14,xmm5 - movdqa XMMWORD[64+rax],xmm12 - movdqa XMMWORD[80+rax],xmm13 - movdqa XMMWORD[96+rax],xmm14 - movdqa XMMWORD[112+rax],xmm15 - lea rax,[128+rax] - dec r10d - jnz NEAR $L$key_loop - - movdqa xmm7,XMMWORD[80+r11] - - DB 0F3h,0C3h ;repret - -EXTERN asm_AES_cbc_encrypt -global bsaes_cbc_encrypt - -ALIGN 16 -bsaes_cbc_encrypt: - mov r11d,DWORD[48+rsp] - cmp r11d,0 - jne NEAR asm_AES_cbc_encrypt - cmp r8,128 - jb NEAR asm_AES_cbc_encrypt - - mov rax,rsp -$L$cbc_dec_prologue: - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-72))+rsp] - mov r10,QWORD[160+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$cbc_dec_body: - mov rbp,rsp - mov eax,DWORD[240+r9] - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - mov rbx,r10 - shr r14,4 - - mov edx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,edx - call _bsaes_key_convert - pxor xmm7,XMMWORD[rsp] - movdqa XMMWORD[rax],xmm6 - movdqa XMMWORD[rsp],xmm7 - - movdqu xmm14,XMMWORD[rbx] - sub r14,8 -$L$cbc_dec_loop: - movdqu xmm15,XMMWORD[r12] - movdqu xmm0,XMMWORD[16+r12] - movdqu xmm1,XMMWORD[32+r12] - movdqu xmm2,XMMWORD[48+r12] - movdqu xmm3,XMMWORD[64+r12] - movdqu xmm4,XMMWORD[80+r12] - mov rax,rsp - movdqu xmm5,XMMWORD[96+r12] - mov r10d,edx - movdqu xmm6,XMMWORD[112+r12] - movdqa XMMWORD[32+rbp],xmm14 - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm6,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm2,xmm12 - movdqu xmm14,XMMWORD[112+r12] - pxor xmm4,xmm13 - movdqu XMMWORD[r13],xmm15 - lea r12,[128+r12] - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm2 - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - sub r14,8 - jnc NEAR $L$cbc_dec_loop - - add r14,8 - jz NEAR $L$cbc_dec_done - - movdqu xmm15,XMMWORD[r12] - mov rax,rsp - mov r10d,edx - cmp r14,2 - jb NEAR $L$cbc_dec_one - movdqu xmm0,XMMWORD[16+r12] - je NEAR $L$cbc_dec_two - movdqu xmm1,XMMWORD[32+r12] - cmp r14,4 - jb NEAR $L$cbc_dec_three - movdqu xmm2,XMMWORD[48+r12] - je NEAR $L$cbc_dec_four - movdqu xmm3,XMMWORD[64+r12] - cmp r14,6 - jb NEAR $L$cbc_dec_five - movdqu xmm4,XMMWORD[80+r12] - je NEAR $L$cbc_dec_six - movdqu xmm5,XMMWORD[96+r12] - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm6,xmm11 - movdqu xmm14,XMMWORD[96+r12] - pxor xmm2,xmm12 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm2 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_six: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu xmm14,XMMWORD[80+r12] - pxor xmm6,xmm11 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_five: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu xmm14,XMMWORD[64+r12] - pxor xmm1,xmm10 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_four: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu xmm14,XMMWORD[48+r12] - pxor xmm3,xmm9 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_three: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu xmm14,XMMWORD[32+r12] - pxor xmm5,xmm8 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_two: - movdqa XMMWORD[32+rbp],xmm14 - call _bsaes_decrypt8 - pxor xmm15,XMMWORD[32+rbp] - movdqu xmm7,XMMWORD[r12] - movdqu xmm14,XMMWORD[16+r12] - pxor xmm0,xmm7 - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - jmp NEAR $L$cbc_dec_done -ALIGN 16 -$L$cbc_dec_one: - lea rcx,[r12] - lea rdx,[32+rbp] - lea r8,[r15] - call asm_AES_decrypt - pxor xmm14,XMMWORD[32+rbp] - movdqu XMMWORD[r13],xmm14 - movdqa xmm14,xmm15 - -$L$cbc_dec_done: - movdqu XMMWORD[rbx],xmm14 - lea rax,[rsp] - pxor xmm0,xmm0 -$L$cbc_dec_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$cbc_dec_bzero - - lea rsp,[rbp] - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rsp,[160+rbp] - mov r15,QWORD[72+rsp] - mov r14,QWORD[80+rsp] - mov r13,QWORD[88+rsp] - mov r12,QWORD[96+rsp] - mov rbx,QWORD[104+rsp] - mov rax,QWORD[112+rsp] - lea rsp,[120+rsp] - mov rbp,rax -$L$cbc_dec_epilogue: - DB 0F3h,0C3h ;repret - - -global bsaes_ctr32_encrypt_blocks - -ALIGN 16 -bsaes_ctr32_encrypt_blocks: - mov rax,rsp -$L$ctr_enc_prologue: - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-72))+rsp] - mov r10,QWORD[160+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$ctr_enc_body: - mov rbp,rsp - movdqu xmm0,XMMWORD[r10] - mov eax,DWORD[240+r9] - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - movdqa XMMWORD[32+rbp],xmm0 - cmp r8,8 - jb NEAR $L$ctr_enc_short - - mov ebx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,ebx - call _bsaes_key_convert - pxor xmm7,xmm6 - movdqa XMMWORD[rax],xmm7 - - movdqa xmm8,XMMWORD[rsp] - lea r11,[$L$ADD1] - movdqa xmm15,XMMWORD[32+rbp] - movdqa xmm7,XMMWORD[((-32))+r11] -DB 102,68,15,56,0,199 -DB 102,68,15,56,0,255 - movdqa XMMWORD[rsp],xmm8 - jmp NEAR $L$ctr_enc_loop -ALIGN 16 -$L$ctr_enc_loop: - movdqa XMMWORD[32+rbp],xmm15 - movdqa xmm0,xmm15 - movdqa xmm1,xmm15 - paddd xmm0,XMMWORD[r11] - movdqa xmm2,xmm15 - paddd xmm1,XMMWORD[16+r11] - movdqa xmm3,xmm15 - paddd xmm2,XMMWORD[32+r11] - movdqa xmm4,xmm15 - paddd xmm3,XMMWORD[48+r11] - movdqa xmm5,xmm15 - paddd xmm4,XMMWORD[64+r11] - movdqa xmm6,xmm15 - paddd xmm5,XMMWORD[80+r11] - paddd xmm6,XMMWORD[96+r11] - - - - movdqa xmm8,XMMWORD[rsp] - lea rax,[16+rsp] - movdqa xmm7,XMMWORD[((-16))+r11] - pxor xmm15,xmm8 - pxor xmm0,xmm8 - pxor xmm1,xmm8 - pxor xmm2,xmm8 -DB 102,68,15,56,0,255 -DB 102,15,56,0,199 - pxor xmm3,xmm8 - pxor xmm4,xmm8 -DB 102,15,56,0,207 -DB 102,15,56,0,215 - pxor xmm5,xmm8 - pxor xmm6,xmm8 -DB 102,15,56,0,223 -DB 102,15,56,0,231 -DB 102,15,56,0,239 -DB 102,15,56,0,247 - lea r11,[$L$BS0] - mov r10d,ebx - - call _bsaes_encrypt8_bitslice - - sub r14,8 - jc NEAR $L$ctr_enc_loop_done - - movdqu xmm7,XMMWORD[r12] - movdqu xmm8,XMMWORD[16+r12] - movdqu xmm9,XMMWORD[32+r12] - movdqu xmm10,XMMWORD[48+r12] - movdqu xmm11,XMMWORD[64+r12] - movdqu xmm12,XMMWORD[80+r12] - movdqu xmm13,XMMWORD[96+r12] - movdqu xmm14,XMMWORD[112+r12] - lea r12,[128+r12] - pxor xmm7,xmm15 - movdqa xmm15,XMMWORD[32+rbp] - pxor xmm0,xmm8 - movdqu XMMWORD[r13],xmm7 - pxor xmm3,xmm9 - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,xmm10 - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,xmm11 - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,xmm12 - movdqu XMMWORD[64+r13],xmm2 - pxor xmm1,xmm13 - movdqu XMMWORD[80+r13],xmm6 - pxor xmm4,xmm14 - movdqu XMMWORD[96+r13],xmm1 - lea r11,[$L$ADD1] - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - paddd xmm15,XMMWORD[112+r11] - jnz NEAR $L$ctr_enc_loop - - jmp NEAR $L$ctr_enc_done -ALIGN 16 -$L$ctr_enc_loop_done: - add r14,8 - movdqu xmm7,XMMWORD[r12] - pxor xmm15,xmm7 - movdqu XMMWORD[r13],xmm15 - cmp r14,2 - jb NEAR $L$ctr_enc_done - movdqu xmm8,XMMWORD[16+r12] - pxor xmm0,xmm8 - movdqu XMMWORD[16+r13],xmm0 - je NEAR $L$ctr_enc_done - movdqu xmm9,XMMWORD[32+r12] - pxor xmm3,xmm9 - movdqu XMMWORD[32+r13],xmm3 - cmp r14,4 - jb NEAR $L$ctr_enc_done - movdqu xmm10,XMMWORD[48+r12] - pxor xmm5,xmm10 - movdqu XMMWORD[48+r13],xmm5 - je NEAR $L$ctr_enc_done - movdqu xmm11,XMMWORD[64+r12] - pxor xmm2,xmm11 - movdqu XMMWORD[64+r13],xmm2 - cmp r14,6 - jb NEAR $L$ctr_enc_done - movdqu xmm12,XMMWORD[80+r12] - pxor xmm6,xmm12 - movdqu XMMWORD[80+r13],xmm6 - je NEAR $L$ctr_enc_done - movdqu xmm13,XMMWORD[96+r12] - pxor xmm1,xmm13 - movdqu XMMWORD[96+r13],xmm1 - jmp NEAR $L$ctr_enc_done - -ALIGN 16 -$L$ctr_enc_short: - lea rcx,[32+rbp] - lea rdx,[48+rbp] - lea r8,[r15] - call asm_AES_encrypt - movdqu xmm0,XMMWORD[r12] - lea r12,[16+r12] - mov eax,DWORD[44+rbp] - bswap eax - pxor xmm0,XMMWORD[48+rbp] - inc eax - movdqu XMMWORD[r13],xmm0 - bswap eax - lea r13,[16+r13] - mov DWORD[44+rsp],eax - dec r14 - jnz NEAR $L$ctr_enc_short - -$L$ctr_enc_done: - lea rax,[rsp] - pxor xmm0,xmm0 -$L$ctr_enc_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$ctr_enc_bzero - - lea rsp,[rbp] - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rsp,[160+rbp] - mov r15,QWORD[72+rsp] - mov r14,QWORD[80+rsp] - mov r13,QWORD[88+rsp] - mov r12,QWORD[96+rsp] - mov rbx,QWORD[104+rsp] - mov rax,QWORD[112+rsp] - lea rsp,[120+rsp] - mov rbp,rax -$L$ctr_enc_epilogue: - DB 0F3h,0C3h ;repret - -global bsaes_xts_encrypt - -ALIGN 16 -bsaes_xts_encrypt: - mov rax,rsp -$L$xts_enc_prologue: - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-72))+rsp] - mov r10,QWORD[160+rsp] - mov r11,QWORD[168+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$xts_enc_body: - mov rbp,rsp - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - - lea rcx,[r11] - lea rdx,[32+rbp] - lea r8,[r10] - call asm_AES_encrypt - - mov eax,DWORD[240+r15] - mov rbx,r14 - - mov edx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,edx - call _bsaes_key_convert - pxor xmm7,xmm6 - movdqa XMMWORD[rax],xmm7 - - and r14,-16 - sub rsp,0x80 - movdqa xmm6,XMMWORD[32+rbp] - - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - - sub r14,0x80 - jc NEAR $L$xts_enc_short - jmp NEAR $L$xts_enc_loop - -ALIGN 16 -$L$xts_enc_loop: - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqu xmm14,XMMWORD[112+r12] - lea r12,[128+r12] - movdqa XMMWORD[112+rsp],xmm6 - pxor xmm5,xmm13 - lea rax,[128+rsp] - pxor xmm6,xmm14 - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm2 - pxor xmm1,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - pxor xmm4,XMMWORD[112+rsp] - movdqu XMMWORD[96+r13],xmm1 - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - - movdqa xmm6,XMMWORD[112+rsp] - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - - sub r14,0x80 - jnc NEAR $L$xts_enc_loop - -$L$xts_enc_short: - add r14,0x80 - jz NEAR $L$xts_enc_done - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - cmp r14,16 - je NEAR $L$xts_enc_1 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - cmp r14,32 - je NEAR $L$xts_enc_2 - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - cmp r14,48 - je NEAR $L$xts_enc_3 - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - cmp r14,64 - je NEAR $L$xts_enc_4 - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - cmp r14,80 - je NEAR $L$xts_enc_5 - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - cmp r14,96 - je NEAR $L$xts_enc_6 - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqa XMMWORD[112+rsp],xmm6 - lea r12,[112+r12] - pxor xmm5,xmm13 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm2 - pxor xmm1,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm1 - lea r13,[112+r13] - - movdqa xmm6,XMMWORD[112+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_6: - pxor xmm3,xmm11 - lea r12,[96+r12] - pxor xmm4,xmm12 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm2 - movdqu XMMWORD[80+r13],xmm6 - lea r13,[96+r13] - - movdqa xmm6,XMMWORD[96+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_5: - pxor xmm2,xmm10 - lea r12,[80+r12] - pxor xmm3,xmm11 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - pxor xmm2,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm5 - movdqu XMMWORD[64+r13],xmm2 - lea r13,[80+r13] - - movdqa xmm6,XMMWORD[80+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_4: - pxor xmm1,xmm9 - lea r12,[64+r12] - pxor xmm2,xmm10 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm5,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm3 - movdqu XMMWORD[48+r13],xmm5 - lea r13,[64+r13] - - movdqa xmm6,XMMWORD[64+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_3: - pxor xmm0,xmm8 - lea r12,[48+r12] - pxor xmm1,xmm9 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm3,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm3 - lea r13,[48+r13] - - movdqa xmm6,XMMWORD[48+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_2: - pxor xmm15,xmm7 - lea r12,[32+r12] - pxor xmm0,xmm8 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_encrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - lea r13,[32+r13] - - movdqa xmm6,XMMWORD[32+rsp] - jmp NEAR $L$xts_enc_done -ALIGN 16 -$L$xts_enc_1: - pxor xmm7,xmm15 - lea r12,[16+r12] - movdqa XMMWORD[32+rbp],xmm7 - lea rcx,[32+rbp] - lea rdx,[32+rbp] - lea r8,[r15] - call asm_AES_encrypt - pxor xmm15,XMMWORD[32+rbp] - - - - - - movdqu XMMWORD[r13],xmm15 - lea r13,[16+r13] - - movdqa xmm6,XMMWORD[16+rsp] - -$L$xts_enc_done: - and ebx,15 - jz NEAR $L$xts_enc_ret - mov rdx,r13 - -$L$xts_enc_steal: - movzx eax,BYTE[r12] - movzx ecx,BYTE[((-16))+rdx] - lea r12,[1+r12] - mov BYTE[((-16))+rdx],al - mov BYTE[rdx],cl - lea rdx,[1+rdx] - sub ebx,1 - jnz NEAR $L$xts_enc_steal - - movdqu xmm15,XMMWORD[((-16))+r13] - lea rcx,[32+rbp] - pxor xmm15,xmm6 - lea rdx,[32+rbp] - movdqa XMMWORD[32+rbp],xmm15 - lea r8,[r15] - call asm_AES_encrypt - pxor xmm6,XMMWORD[32+rbp] - movdqu XMMWORD[(-16)+r13],xmm6 - -$L$xts_enc_ret: - lea rax,[rsp] - pxor xmm0,xmm0 -$L$xts_enc_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$xts_enc_bzero - - lea rsp,[rbp] - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rsp,[160+rbp] - mov r15,QWORD[72+rsp] - mov r14,QWORD[80+rsp] - mov r13,QWORD[88+rsp] - mov r12,QWORD[96+rsp] - mov rbx,QWORD[104+rsp] - mov rax,QWORD[112+rsp] - lea rsp,[120+rsp] - mov rbp,rax -$L$xts_enc_epilogue: - DB 0F3h,0C3h ;repret - - -global bsaes_xts_decrypt - -ALIGN 16 -bsaes_xts_decrypt: - mov rax,rsp -$L$xts_dec_prologue: - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-72))+rsp] - mov r10,QWORD[160+rsp] - mov r11,QWORD[168+rsp] - lea rsp,[((-160))+rsp] - movaps XMMWORD[64+rsp],xmm6 - movaps XMMWORD[80+rsp],xmm7 - movaps XMMWORD[96+rsp],xmm8 - movaps XMMWORD[112+rsp],xmm9 - movaps XMMWORD[128+rsp],xmm10 - movaps XMMWORD[144+rsp],xmm11 - movaps XMMWORD[160+rsp],xmm12 - movaps XMMWORD[176+rsp],xmm13 - movaps XMMWORD[192+rsp],xmm14 - movaps XMMWORD[208+rsp],xmm15 -$L$xts_dec_body: - mov rbp,rsp - mov r12,rcx - mov r13,rdx - mov r14,r8 - mov r15,r9 - - lea rcx,[r11] - lea rdx,[32+rbp] - lea r8,[r10] - call asm_AES_encrypt - - mov eax,DWORD[240+r15] - mov rbx,r14 - - mov edx,eax - shl rax,7 - sub rax,96 - sub rsp,rax - - mov rax,rsp - mov rcx,r15 - mov r10d,edx - call _bsaes_key_convert - pxor xmm7,XMMWORD[rsp] - movdqa XMMWORD[rax],xmm6 - movdqa XMMWORD[rsp],xmm7 - - xor eax,eax - and r14,-16 - test ebx,15 - setnz al - shl rax,4 - sub r14,rax - - sub rsp,0x80 - movdqa xmm6,XMMWORD[32+rbp] - - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - - sub r14,0x80 - jc NEAR $L$xts_dec_short - jmp NEAR $L$xts_dec_loop - -ALIGN 16 -$L$xts_dec_loop: - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqu xmm14,XMMWORD[112+r12] - lea r12,[128+r12] - movdqa XMMWORD[112+rsp],xmm6 - pxor xmm5,xmm13 - lea rax,[128+rsp] - pxor xmm6,xmm14 - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm1 - pxor xmm2,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - pxor xmm4,XMMWORD[112+rsp] - movdqu XMMWORD[96+r13],xmm2 - movdqu XMMWORD[112+r13],xmm4 - lea r13,[128+r13] - - movdqa xmm6,XMMWORD[112+rsp] - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - - sub r14,0x80 - jnc NEAR $L$xts_dec_loop - -$L$xts_dec_short: - add r14,0x80 - jz NEAR $L$xts_dec_done - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm15,xmm6 - movdqa XMMWORD[rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm0,xmm6 - movdqa XMMWORD[16+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm7,XMMWORD[r12] - cmp r14,16 - je NEAR $L$xts_dec_1 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm1,xmm6 - movdqa XMMWORD[32+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm8,XMMWORD[16+r12] - cmp r14,32 - je NEAR $L$xts_dec_2 - pxor xmm15,xmm7 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm2,xmm6 - movdqa XMMWORD[48+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm9,XMMWORD[32+r12] - cmp r14,48 - je NEAR $L$xts_dec_3 - pxor xmm0,xmm8 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm3,xmm6 - movdqa XMMWORD[64+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm10,XMMWORD[48+r12] - cmp r14,64 - je NEAR $L$xts_dec_4 - pxor xmm1,xmm9 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm4,xmm6 - movdqa XMMWORD[80+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm11,XMMWORD[64+r12] - cmp r14,80 - je NEAR $L$xts_dec_5 - pxor xmm2,xmm10 - pshufd xmm13,xmm14,0x13 - pxor xmm14,xmm14 - movdqa xmm5,xmm6 - movdqa XMMWORD[96+rsp],xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - pcmpgtd xmm14,xmm6 - pxor xmm6,xmm13 - movdqu xmm12,XMMWORD[80+r12] - cmp r14,96 - je NEAR $L$xts_dec_6 - pxor xmm3,xmm11 - movdqu xmm13,XMMWORD[96+r12] - pxor xmm4,xmm12 - movdqa XMMWORD[112+rsp],xmm6 - lea r12,[112+r12] - pxor xmm5,xmm13 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm1 - pxor xmm2,XMMWORD[96+rsp] - movdqu XMMWORD[80+r13],xmm6 - movdqu XMMWORD[96+r13],xmm2 - lea r13,[112+r13] - - movdqa xmm6,XMMWORD[112+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_6: - pxor xmm3,xmm11 - lea r12,[96+r12] - pxor xmm4,xmm12 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - pxor xmm6,XMMWORD[80+rsp] - movdqu XMMWORD[64+r13],xmm1 - movdqu XMMWORD[80+r13],xmm6 - lea r13,[96+r13] - - movdqa xmm6,XMMWORD[96+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_5: - pxor xmm2,xmm10 - lea r12,[80+r12] - pxor xmm3,xmm11 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - pxor xmm1,XMMWORD[64+rsp] - movdqu XMMWORD[48+r13],xmm3 - movdqu XMMWORD[64+r13],xmm1 - lea r13,[80+r13] - - movdqa xmm6,XMMWORD[80+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_4: - pxor xmm1,xmm9 - lea r12,[64+r12] - pxor xmm2,xmm10 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - pxor xmm3,XMMWORD[48+rsp] - movdqu XMMWORD[32+r13],xmm5 - movdqu XMMWORD[48+r13],xmm3 - lea r13,[64+r13] - - movdqa xmm6,XMMWORD[64+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_3: - pxor xmm0,xmm8 - lea r12,[48+r12] - pxor xmm1,xmm9 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - pxor xmm5,XMMWORD[32+rsp] - movdqu XMMWORD[16+r13],xmm0 - movdqu XMMWORD[32+r13],xmm5 - lea r13,[48+r13] - - movdqa xmm6,XMMWORD[48+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_2: - pxor xmm15,xmm7 - lea r12,[32+r12] - pxor xmm0,xmm8 - lea rax,[128+rsp] - mov r10d,edx - - call _bsaes_decrypt8 - - pxor xmm15,XMMWORD[rsp] - pxor xmm0,XMMWORD[16+rsp] - movdqu XMMWORD[r13],xmm15 - movdqu XMMWORD[16+r13],xmm0 - lea r13,[32+r13] - - movdqa xmm6,XMMWORD[32+rsp] - jmp NEAR $L$xts_dec_done -ALIGN 16 -$L$xts_dec_1: - pxor xmm7,xmm15 - lea r12,[16+r12] - movdqa XMMWORD[32+rbp],xmm7 - lea rcx,[32+rbp] - lea rdx,[32+rbp] - lea r8,[r15] - call asm_AES_decrypt - pxor xmm15,XMMWORD[32+rbp] - - - - - - movdqu XMMWORD[r13],xmm15 - lea r13,[16+r13] - - movdqa xmm6,XMMWORD[16+rsp] - -$L$xts_dec_done: - and ebx,15 - jz NEAR $L$xts_dec_ret - - pxor xmm14,xmm14 - movdqa xmm12,XMMWORD[$L$xts_magic] - pcmpgtd xmm14,xmm6 - pshufd xmm13,xmm14,0x13 - movdqa xmm5,xmm6 - paddq xmm6,xmm6 - pand xmm13,xmm12 - movdqu xmm15,XMMWORD[r12] - pxor xmm6,xmm13 - - lea rcx,[32+rbp] - pxor xmm15,xmm6 - lea rdx,[32+rbp] - movdqa XMMWORD[32+rbp],xmm15 - lea r8,[r15] - call asm_AES_decrypt - pxor xmm6,XMMWORD[32+rbp] - mov rdx,r13 - movdqu XMMWORD[r13],xmm6 - -$L$xts_dec_steal: - movzx eax,BYTE[16+r12] - movzx ecx,BYTE[rdx] - lea r12,[1+r12] - mov BYTE[rdx],al - mov BYTE[16+rdx],cl - lea rdx,[1+rdx] - sub ebx,1 - jnz NEAR $L$xts_dec_steal - - movdqu xmm15,XMMWORD[r13] - lea rcx,[32+rbp] - pxor xmm15,xmm5 - lea rdx,[32+rbp] - movdqa XMMWORD[32+rbp],xmm15 - lea r8,[r15] - call asm_AES_decrypt - pxor xmm5,XMMWORD[32+rbp] - movdqu XMMWORD[r13],xmm5 - -$L$xts_dec_ret: - lea rax,[rsp] - pxor xmm0,xmm0 -$L$xts_dec_bzero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - lea rax,[32+rax] - cmp rbp,rax - ja NEAR $L$xts_dec_bzero - - lea rsp,[rbp] - movaps xmm6,XMMWORD[64+rbp] - movaps xmm7,XMMWORD[80+rbp] - movaps xmm8,XMMWORD[96+rbp] - movaps xmm9,XMMWORD[112+rbp] - movaps xmm10,XMMWORD[128+rbp] - movaps xmm11,XMMWORD[144+rbp] - movaps xmm12,XMMWORD[160+rbp] - movaps xmm13,XMMWORD[176+rbp] - movaps xmm14,XMMWORD[192+rbp] - movaps xmm15,XMMWORD[208+rbp] - lea rsp,[160+rbp] - mov r15,QWORD[72+rsp] - mov r14,QWORD[80+rsp] - mov r13,QWORD[88+rsp] - mov r12,QWORD[96+rsp] - mov rbx,QWORD[104+rsp] - mov rax,QWORD[112+rsp] - lea rsp,[120+rsp] - mov rbp,rax -$L$xts_dec_epilogue: - DB 0F3h,0C3h ;repret - - -ALIGN 64 -_bsaes_const: -$L$M0ISR: - DQ 0x0a0e0206070b0f03,0x0004080c0d010509 -$L$ISRM0: - DQ 0x01040b0e0205080f,0x0306090c00070a0d -$L$ISR: - DQ 0x0504070602010003,0x0f0e0d0c080b0a09 -$L$BS0: - DQ 0x5555555555555555,0x5555555555555555 -$L$BS1: - DQ 0x3333333333333333,0x3333333333333333 -$L$BS2: - DQ 0x0f0f0f0f0f0f0f0f,0x0f0f0f0f0f0f0f0f -$L$SR: - DQ 0x0504070600030201,0x0f0e0d0c0a09080b -$L$SRM0: - DQ 0x0304090e00050a0f,0x01060b0c0207080d -$L$M0SR: - DQ 0x0a0e02060f03070b,0x0004080c05090d01 -$L$SWPUP: - DQ 0x0706050403020100,0x0c0d0e0f0b0a0908 -$L$SWPUPM0SR: - DQ 0x0a0d02060c03070b,0x0004080f05090e01 -$L$ADD1: - DQ 0x0000000000000000,0x0000000100000000 -$L$ADD2: - DQ 0x0000000000000000,0x0000000200000000 -$L$ADD3: - DQ 0x0000000000000000,0x0000000300000000 -$L$ADD4: - DQ 0x0000000000000000,0x0000000400000000 -$L$ADD5: - DQ 0x0000000000000000,0x0000000500000000 -$L$ADD6: - DQ 0x0000000000000000,0x0000000600000000 -$L$ADD7: - DQ 0x0000000000000000,0x0000000700000000 -$L$ADD8: - DQ 0x0000000000000000,0x0000000800000000 -$L$xts_magic: - DD 0x87,0,1,0 -$L$masks: - DQ 0x0101010101010101,0x0101010101010101 - DQ 0x0202020202020202,0x0202020202020202 - DQ 0x0404040404040404,0x0404040404040404 - DQ 0x0808080808080808,0x0808080808080808 -$L$M0: - DQ 0x02060a0e03070b0f,0x0004080c0105090d -$L$63: - DQ 0x6363636363636363,0x6363636363636363 -DB 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102 -DB 111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44 -DB 32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44 -DB 32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32 -DB 65,110,100,121,32,80,111,108,121,97,107,111,118,0 -ALIGN 64 - -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - mov rax,QWORD[160+r8] - - lea rsi,[64+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - lea rax,[160+rax] - - mov rbp,QWORD[112+rax] - mov rbx,QWORD[104+rax] - mov r12,QWORD[96+rax] - mov r13,QWORD[88+rax] - mov r14,QWORD[80+rax] - mov r15,QWORD[72+rax] - lea rax,[120+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_prologue: - mov QWORD[152+r8],rax - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$cbc_dec_prologue wrt ..imagebase - DD $L$cbc_dec_epilogue wrt ..imagebase - DD $L$cbc_dec_info wrt ..imagebase - - DD $L$ctr_enc_prologue wrt ..imagebase - DD $L$ctr_enc_epilogue wrt ..imagebase - DD $L$ctr_enc_info wrt ..imagebase - - DD $L$xts_enc_prologue wrt ..imagebase - DD $L$xts_enc_epilogue wrt ..imagebase - DD $L$xts_enc_info wrt ..imagebase - - DD $L$xts_dec_prologue wrt ..imagebase - DD $L$xts_dec_epilogue wrt ..imagebase - DD $L$xts_dec_info wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$cbc_dec_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$cbc_dec_body wrt ..imagebase,$L$cbc_dec_epilogue wrt ..imagebase -$L$ctr_enc_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$ctr_enc_body wrt ..imagebase,$L$ctr_enc_epilogue wrt ..imagebase -$L$xts_enc_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$xts_enc_body wrt ..imagebase,$L$xts_enc_epilogue wrt ..imagebase -$L$xts_dec_info: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$xts_dec_body wrt ..imagebase,$L$xts_dec_epilogue wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +EXTERN asm_AES_encrypt +EXTERN asm_AES_decrypt + + +ALIGN 64 +_bsaes_encrypt8: + lea r11,[$L$BS0] + + movdqa xmm8,XMMWORD[rax] + lea rax,[16+rax] + movdqa xmm7,XMMWORD[80+r11] + pxor xmm15,xmm8 + pxor xmm0,xmm8 + pxor xmm1,xmm8 + pxor xmm2,xmm8 +DB 102,68,15,56,0,255 +DB 102,15,56,0,199 + pxor xmm3,xmm8 + pxor xmm4,xmm8 +DB 102,15,56,0,207 +DB 102,15,56,0,215 + pxor xmm5,xmm8 + pxor xmm6,xmm8 +DB 102,15,56,0,223 +DB 102,15,56,0,231 +DB 102,15,56,0,239 +DB 102,15,56,0,247 +_bsaes_encrypt8_bitslice: + movdqa xmm7,XMMWORD[r11] + movdqa xmm8,XMMWORD[16+r11] + movdqa xmm9,xmm5 + psrlq xmm5,1 + movdqa xmm10,xmm3 + psrlq xmm3,1 + pxor xmm5,xmm6 + pxor xmm3,xmm4 + pand xmm5,xmm7 + pand xmm3,xmm7 + pxor xmm6,xmm5 + psllq xmm5,1 + pxor xmm4,xmm3 + psllq xmm3,1 + pxor xmm5,xmm9 + pxor xmm3,xmm10 + movdqa xmm9,xmm1 + psrlq xmm1,1 + movdqa xmm10,xmm15 + psrlq xmm15,1 + pxor xmm1,xmm2 + pxor xmm15,xmm0 + pand xmm1,xmm7 + pand xmm15,xmm7 + pxor xmm2,xmm1 + psllq xmm1,1 + pxor xmm0,xmm15 + psllq xmm15,1 + pxor xmm1,xmm9 + pxor xmm15,xmm10 + movdqa xmm7,XMMWORD[32+r11] + movdqa xmm9,xmm4 + psrlq xmm4,2 + movdqa xmm10,xmm3 + psrlq xmm3,2 + pxor xmm4,xmm6 + pxor xmm3,xmm5 + pand xmm4,xmm8 + pand xmm3,xmm8 + pxor xmm6,xmm4 + psllq xmm4,2 + pxor xmm5,xmm3 + psllq xmm3,2 + pxor xmm4,xmm9 + pxor xmm3,xmm10 + movdqa xmm9,xmm0 + psrlq xmm0,2 + movdqa xmm10,xmm15 + psrlq xmm15,2 + pxor xmm0,xmm2 + pxor xmm15,xmm1 + pand xmm0,xmm8 + pand xmm15,xmm8 + pxor xmm2,xmm0 + psllq xmm0,2 + pxor xmm1,xmm15 + psllq xmm15,2 + pxor xmm0,xmm9 + pxor xmm15,xmm10 + movdqa xmm9,xmm2 + psrlq xmm2,4 + movdqa xmm10,xmm1 + psrlq xmm1,4 + pxor xmm2,xmm6 + pxor xmm1,xmm5 + pand xmm2,xmm7 + pand xmm1,xmm7 + pxor xmm6,xmm2 + psllq xmm2,4 + pxor xmm5,xmm1 + psllq xmm1,4 + pxor xmm2,xmm9 + pxor xmm1,xmm10 + movdqa xmm9,xmm0 + psrlq xmm0,4 + movdqa xmm10,xmm15 + psrlq xmm15,4 + pxor xmm0,xmm4 + pxor xmm15,xmm3 + pand xmm0,xmm7 + pand xmm15,xmm7 + pxor xmm4,xmm0 + psllq xmm0,4 + pxor xmm3,xmm15 + psllq xmm15,4 + pxor xmm0,xmm9 + pxor xmm15,xmm10 + dec r10d + jmp NEAR $L$enc_sbox +ALIGN 16 +$L$enc_loop: + pxor xmm15,XMMWORD[rax] + pxor xmm0,XMMWORD[16+rax] + pxor xmm1,XMMWORD[32+rax] + pxor xmm2,XMMWORD[48+rax] +DB 102,68,15,56,0,255 +DB 102,15,56,0,199 + pxor xmm3,XMMWORD[64+rax] + pxor xmm4,XMMWORD[80+rax] +DB 102,15,56,0,207 +DB 102,15,56,0,215 + pxor xmm5,XMMWORD[96+rax] + pxor xmm6,XMMWORD[112+rax] +DB 102,15,56,0,223 +DB 102,15,56,0,231 +DB 102,15,56,0,239 +DB 102,15,56,0,247 + lea rax,[128+rax] +$L$enc_sbox: + pxor xmm4,xmm5 + pxor xmm1,xmm0 + pxor xmm2,xmm15 + pxor xmm5,xmm1 + pxor xmm4,xmm15 + + pxor xmm5,xmm2 + pxor xmm2,xmm6 + pxor xmm6,xmm4 + pxor xmm2,xmm3 + pxor xmm3,xmm4 + pxor xmm2,xmm0 + + pxor xmm1,xmm6 + pxor xmm0,xmm4 + movdqa xmm10,xmm6 + movdqa xmm9,xmm0 + movdqa xmm8,xmm4 + movdqa xmm12,xmm1 + movdqa xmm11,xmm5 + + pxor xmm10,xmm3 + pxor xmm9,xmm1 + pxor xmm8,xmm2 + movdqa xmm13,xmm10 + pxor xmm12,xmm3 + movdqa xmm7,xmm9 + pxor xmm11,xmm15 + movdqa xmm14,xmm10 + + por xmm9,xmm8 + por xmm10,xmm11 + pxor xmm14,xmm7 + pand xmm13,xmm11 + pxor xmm11,xmm8 + pand xmm7,xmm8 + pand xmm14,xmm11 + movdqa xmm11,xmm2 + pxor xmm11,xmm15 + pand xmm12,xmm11 + pxor xmm10,xmm12 + pxor xmm9,xmm12 + movdqa xmm12,xmm6 + movdqa xmm11,xmm4 + pxor xmm12,xmm0 + pxor xmm11,xmm5 + movdqa xmm8,xmm12 + pand xmm12,xmm11 + por xmm8,xmm11 + pxor xmm7,xmm12 + pxor xmm10,xmm14 + pxor xmm9,xmm13 + pxor xmm8,xmm14 + movdqa xmm11,xmm1 + pxor xmm7,xmm13 + movdqa xmm12,xmm3 + pxor xmm8,xmm13 + movdqa xmm13,xmm0 + pand xmm11,xmm2 + movdqa xmm14,xmm6 + pand xmm12,xmm15 + pand xmm13,xmm4 + por xmm14,xmm5 + pxor xmm10,xmm11 + pxor xmm9,xmm12 + pxor xmm8,xmm13 + pxor xmm7,xmm14 + + + + + + movdqa xmm11,xmm10 + pand xmm10,xmm8 + pxor xmm11,xmm9 + + movdqa xmm13,xmm7 + movdqa xmm14,xmm11 + pxor xmm13,xmm10 + pand xmm14,xmm13 + + movdqa xmm12,xmm8 + pxor xmm14,xmm9 + pxor xmm12,xmm7 + + pxor xmm10,xmm9 + + pand xmm12,xmm10 + + movdqa xmm9,xmm13 + pxor xmm12,xmm7 + + pxor xmm9,xmm12 + pxor xmm8,xmm12 + + pand xmm9,xmm7 + + pxor xmm13,xmm9 + pxor xmm8,xmm9 + + pand xmm13,xmm14 + + pxor xmm13,xmm11 + movdqa xmm11,xmm5 + movdqa xmm7,xmm4 + movdqa xmm9,xmm14 + pxor xmm9,xmm13 + pand xmm9,xmm5 + pxor xmm5,xmm4 + pand xmm4,xmm14 + pand xmm5,xmm13 + pxor xmm5,xmm4 + pxor xmm4,xmm9 + pxor xmm11,xmm15 + pxor xmm7,xmm2 + pxor xmm14,xmm12 + pxor xmm13,xmm8 + movdqa xmm10,xmm14 + movdqa xmm9,xmm12 + pxor xmm10,xmm13 + pxor xmm9,xmm8 + pand xmm10,xmm11 + pand xmm9,xmm15 + pxor xmm11,xmm7 + pxor xmm15,xmm2 + pand xmm7,xmm14 + pand xmm2,xmm12 + pand xmm11,xmm13 + pand xmm15,xmm8 + pxor xmm7,xmm11 + pxor xmm15,xmm2 + pxor xmm11,xmm10 + pxor xmm2,xmm9 + pxor xmm5,xmm11 + pxor xmm15,xmm11 + pxor xmm4,xmm7 + pxor xmm2,xmm7 + + movdqa xmm11,xmm6 + movdqa xmm7,xmm0 + pxor xmm11,xmm3 + pxor xmm7,xmm1 + movdqa xmm10,xmm14 + movdqa xmm9,xmm12 + pxor xmm10,xmm13 + pxor xmm9,xmm8 + pand xmm10,xmm11 + pand xmm9,xmm3 + pxor xmm11,xmm7 + pxor xmm3,xmm1 + pand xmm7,xmm14 + pand xmm1,xmm12 + pand xmm11,xmm13 + pand xmm3,xmm8 + pxor xmm7,xmm11 + pxor xmm3,xmm1 + pxor xmm11,xmm10 + pxor xmm1,xmm9 + pxor xmm14,xmm12 + pxor xmm13,xmm8 + movdqa xmm10,xmm14 + pxor xmm10,xmm13 + pand xmm10,xmm6 + pxor xmm6,xmm0 + pand xmm0,xmm14 + pand xmm6,xmm13 + pxor xmm6,xmm0 + pxor xmm0,xmm10 + pxor xmm6,xmm11 + pxor xmm3,xmm11 + pxor xmm0,xmm7 + pxor xmm1,xmm7 + pxor xmm6,xmm15 + pxor xmm0,xmm5 + pxor xmm3,xmm6 + pxor xmm5,xmm15 + pxor xmm15,xmm0 + + pxor xmm0,xmm4 + pxor xmm4,xmm1 + pxor xmm1,xmm2 + pxor xmm2,xmm4 + pxor xmm3,xmm4 + + pxor xmm5,xmm2 + dec r10d + jl NEAR $L$enc_done + pshufd xmm7,xmm15,0x93 + pshufd xmm8,xmm0,0x93 + pxor xmm15,xmm7 + pshufd xmm9,xmm3,0x93 + pxor xmm0,xmm8 + pshufd xmm10,xmm5,0x93 + pxor xmm3,xmm9 + pshufd xmm11,xmm2,0x93 + pxor xmm5,xmm10 + pshufd xmm12,xmm6,0x93 + pxor xmm2,xmm11 + pshufd xmm13,xmm1,0x93 + pxor xmm6,xmm12 + pshufd xmm14,xmm4,0x93 + pxor xmm1,xmm13 + pxor xmm4,xmm14 + + pxor xmm8,xmm15 + pxor xmm7,xmm4 + pxor xmm8,xmm4 + pshufd xmm15,xmm15,0x4E + pxor xmm9,xmm0 + pshufd xmm0,xmm0,0x4E + pxor xmm12,xmm2 + pxor xmm15,xmm7 + pxor xmm13,xmm6 + pxor xmm0,xmm8 + pxor xmm11,xmm5 + pshufd xmm7,xmm2,0x4E + pxor xmm14,xmm1 + pshufd xmm8,xmm6,0x4E + pxor xmm10,xmm3 + pshufd xmm2,xmm5,0x4E + pxor xmm10,xmm4 + pshufd xmm6,xmm4,0x4E + pxor xmm11,xmm4 + pshufd xmm5,xmm1,0x4E + pxor xmm7,xmm11 + pshufd xmm1,xmm3,0x4E + pxor xmm8,xmm12 + pxor xmm2,xmm10 + pxor xmm6,xmm14 + pxor xmm5,xmm13 + movdqa xmm3,xmm7 + pxor xmm1,xmm9 + movdqa xmm4,xmm8 + movdqa xmm7,XMMWORD[48+r11] + jnz NEAR $L$enc_loop + movdqa xmm7,XMMWORD[64+r11] + jmp NEAR $L$enc_loop +ALIGN 16 +$L$enc_done: + movdqa xmm7,XMMWORD[r11] + movdqa xmm8,XMMWORD[16+r11] + movdqa xmm9,xmm1 + psrlq xmm1,1 + movdqa xmm10,xmm2 + psrlq xmm2,1 + pxor xmm1,xmm4 + pxor xmm2,xmm6 + pand xmm1,xmm7 + pand xmm2,xmm7 + pxor xmm4,xmm1 + psllq xmm1,1 + pxor xmm6,xmm2 + psllq xmm2,1 + pxor xmm1,xmm9 + pxor xmm2,xmm10 + movdqa xmm9,xmm3 + psrlq xmm3,1 + movdqa xmm10,xmm15 + psrlq xmm15,1 + pxor xmm3,xmm5 + pxor xmm15,xmm0 + pand xmm3,xmm7 + pand xmm15,xmm7 + pxor xmm5,xmm3 + psllq xmm3,1 + pxor xmm0,xmm15 + psllq xmm15,1 + pxor xmm3,xmm9 + pxor xmm15,xmm10 + movdqa xmm7,XMMWORD[32+r11] + movdqa xmm9,xmm6 + psrlq xmm6,2 + movdqa xmm10,xmm2 + psrlq xmm2,2 + pxor xmm6,xmm4 + pxor xmm2,xmm1 + pand xmm6,xmm8 + pand xmm2,xmm8 + pxor xmm4,xmm6 + psllq xmm6,2 + pxor xmm1,xmm2 + psllq xmm2,2 + pxor xmm6,xmm9 + pxor xmm2,xmm10 + movdqa xmm9,xmm0 + psrlq xmm0,2 + movdqa xmm10,xmm15 + psrlq xmm15,2 + pxor xmm0,xmm5 + pxor xmm15,xmm3 + pand xmm0,xmm8 + pand xmm15,xmm8 + pxor xmm5,xmm0 + psllq xmm0,2 + pxor xmm3,xmm15 + psllq xmm15,2 + pxor xmm0,xmm9 + pxor xmm15,xmm10 + movdqa xmm9,xmm5 + psrlq xmm5,4 + movdqa xmm10,xmm3 + psrlq xmm3,4 + pxor xmm5,xmm4 + pxor xmm3,xmm1 + pand xmm5,xmm7 + pand xmm3,xmm7 + pxor xmm4,xmm5 + psllq xmm5,4 + pxor xmm1,xmm3 + psllq xmm3,4 + pxor xmm5,xmm9 + pxor xmm3,xmm10 + movdqa xmm9,xmm0 + psrlq xmm0,4 + movdqa xmm10,xmm15 + psrlq xmm15,4 + pxor xmm0,xmm6 + pxor xmm15,xmm2 + pand xmm0,xmm7 + pand xmm15,xmm7 + pxor xmm6,xmm0 + psllq xmm0,4 + pxor xmm2,xmm15 + psllq xmm15,4 + pxor xmm0,xmm9 + pxor xmm15,xmm10 + movdqa xmm7,XMMWORD[rax] + pxor xmm3,xmm7 + pxor xmm5,xmm7 + pxor xmm2,xmm7 + pxor xmm6,xmm7 + pxor xmm1,xmm7 + pxor xmm4,xmm7 + pxor xmm15,xmm7 + pxor xmm0,xmm7 + DB 0F3h,0C3h ;repret + + + +ALIGN 64 +_bsaes_decrypt8: + lea r11,[$L$BS0] + + movdqa xmm8,XMMWORD[rax] + lea rax,[16+rax] + movdqa xmm7,XMMWORD[((-48))+r11] + pxor xmm15,xmm8 + pxor xmm0,xmm8 + pxor xmm1,xmm8 + pxor xmm2,xmm8 +DB 102,68,15,56,0,255 +DB 102,15,56,0,199 + pxor xmm3,xmm8 + pxor xmm4,xmm8 +DB 102,15,56,0,207 +DB 102,15,56,0,215 + pxor xmm5,xmm8 + pxor xmm6,xmm8 +DB 102,15,56,0,223 +DB 102,15,56,0,231 +DB 102,15,56,0,239 +DB 102,15,56,0,247 + movdqa xmm7,XMMWORD[r11] + movdqa xmm8,XMMWORD[16+r11] + movdqa xmm9,xmm5 + psrlq xmm5,1 + movdqa xmm10,xmm3 + psrlq xmm3,1 + pxor xmm5,xmm6 + pxor xmm3,xmm4 + pand xmm5,xmm7 + pand xmm3,xmm7 + pxor xmm6,xmm5 + psllq xmm5,1 + pxor xmm4,xmm3 + psllq xmm3,1 + pxor xmm5,xmm9 + pxor xmm3,xmm10 + movdqa xmm9,xmm1 + psrlq xmm1,1 + movdqa xmm10,xmm15 + psrlq xmm15,1 + pxor xmm1,xmm2 + pxor xmm15,xmm0 + pand xmm1,xmm7 + pand xmm15,xmm7 + pxor xmm2,xmm1 + psllq xmm1,1 + pxor xmm0,xmm15 + psllq xmm15,1 + pxor xmm1,xmm9 + pxor xmm15,xmm10 + movdqa xmm7,XMMWORD[32+r11] + movdqa xmm9,xmm4 + psrlq xmm4,2 + movdqa xmm10,xmm3 + psrlq xmm3,2 + pxor xmm4,xmm6 + pxor xmm3,xmm5 + pand xmm4,xmm8 + pand xmm3,xmm8 + pxor xmm6,xmm4 + psllq xmm4,2 + pxor xmm5,xmm3 + psllq xmm3,2 + pxor xmm4,xmm9 + pxor xmm3,xmm10 + movdqa xmm9,xmm0 + psrlq xmm0,2 + movdqa xmm10,xmm15 + psrlq xmm15,2 + pxor xmm0,xmm2 + pxor xmm15,xmm1 + pand xmm0,xmm8 + pand xmm15,xmm8 + pxor xmm2,xmm0 + psllq xmm0,2 + pxor xmm1,xmm15 + psllq xmm15,2 + pxor xmm0,xmm9 + pxor xmm15,xmm10 + movdqa xmm9,xmm2 + psrlq xmm2,4 + movdqa xmm10,xmm1 + psrlq xmm1,4 + pxor xmm2,xmm6 + pxor xmm1,xmm5 + pand xmm2,xmm7 + pand xmm1,xmm7 + pxor xmm6,xmm2 + psllq xmm2,4 + pxor xmm5,xmm1 + psllq xmm1,4 + pxor xmm2,xmm9 + pxor xmm1,xmm10 + movdqa xmm9,xmm0 + psrlq xmm0,4 + movdqa xmm10,xmm15 + psrlq xmm15,4 + pxor xmm0,xmm4 + pxor xmm15,xmm3 + pand xmm0,xmm7 + pand xmm15,xmm7 + pxor xmm4,xmm0 + psllq xmm0,4 + pxor xmm3,xmm15 + psllq xmm15,4 + pxor xmm0,xmm9 + pxor xmm15,xmm10 + dec r10d + jmp NEAR $L$dec_sbox +ALIGN 16 +$L$dec_loop: + pxor xmm15,XMMWORD[rax] + pxor xmm0,XMMWORD[16+rax] + pxor xmm1,XMMWORD[32+rax] + pxor xmm2,XMMWORD[48+rax] +DB 102,68,15,56,0,255 +DB 102,15,56,0,199 + pxor xmm3,XMMWORD[64+rax] + pxor xmm4,XMMWORD[80+rax] +DB 102,15,56,0,207 +DB 102,15,56,0,215 + pxor xmm5,XMMWORD[96+rax] + pxor xmm6,XMMWORD[112+rax] +DB 102,15,56,0,223 +DB 102,15,56,0,231 +DB 102,15,56,0,239 +DB 102,15,56,0,247 + lea rax,[128+rax] +$L$dec_sbox: + pxor xmm2,xmm3 + + pxor xmm3,xmm6 + pxor xmm1,xmm6 + pxor xmm5,xmm3 + pxor xmm6,xmm5 + pxor xmm0,xmm6 + + pxor xmm15,xmm0 + pxor xmm1,xmm4 + pxor xmm2,xmm15 + pxor xmm4,xmm15 + pxor xmm0,xmm2 + movdqa xmm10,xmm2 + movdqa xmm9,xmm6 + movdqa xmm8,xmm0 + movdqa xmm12,xmm3 + movdqa xmm11,xmm4 + + pxor xmm10,xmm15 + pxor xmm9,xmm3 + pxor xmm8,xmm5 + movdqa xmm13,xmm10 + pxor xmm12,xmm15 + movdqa xmm7,xmm9 + pxor xmm11,xmm1 + movdqa xmm14,xmm10 + + por xmm9,xmm8 + por xmm10,xmm11 + pxor xmm14,xmm7 + pand xmm13,xmm11 + pxor xmm11,xmm8 + pand xmm7,xmm8 + pand xmm14,xmm11 + movdqa xmm11,xmm5 + pxor xmm11,xmm1 + pand xmm12,xmm11 + pxor xmm10,xmm12 + pxor xmm9,xmm12 + movdqa xmm12,xmm2 + movdqa xmm11,xmm0 + pxor xmm12,xmm6 + pxor xmm11,xmm4 + movdqa xmm8,xmm12 + pand xmm12,xmm11 + por xmm8,xmm11 + pxor xmm7,xmm12 + pxor xmm10,xmm14 + pxor xmm9,xmm13 + pxor xmm8,xmm14 + movdqa xmm11,xmm3 + pxor xmm7,xmm13 + movdqa xmm12,xmm15 + pxor xmm8,xmm13 + movdqa xmm13,xmm6 + pand xmm11,xmm5 + movdqa xmm14,xmm2 + pand xmm12,xmm1 + pand xmm13,xmm0 + por xmm14,xmm4 + pxor xmm10,xmm11 + pxor xmm9,xmm12 + pxor xmm8,xmm13 + pxor xmm7,xmm14 + + + + + + movdqa xmm11,xmm10 + pand xmm10,xmm8 + pxor xmm11,xmm9 + + movdqa xmm13,xmm7 + movdqa xmm14,xmm11 + pxor xmm13,xmm10 + pand xmm14,xmm13 + + movdqa xmm12,xmm8 + pxor xmm14,xmm9 + pxor xmm12,xmm7 + + pxor xmm10,xmm9 + + pand xmm12,xmm10 + + movdqa xmm9,xmm13 + pxor xmm12,xmm7 + + pxor xmm9,xmm12 + pxor xmm8,xmm12 + + pand xmm9,xmm7 + + pxor xmm13,xmm9 + pxor xmm8,xmm9 + + pand xmm13,xmm14 + + pxor xmm13,xmm11 + movdqa xmm11,xmm4 + movdqa xmm7,xmm0 + movdqa xmm9,xmm14 + pxor xmm9,xmm13 + pand xmm9,xmm4 + pxor xmm4,xmm0 + pand xmm0,xmm14 + pand xmm4,xmm13 + pxor xmm4,xmm0 + pxor xmm0,xmm9 + pxor xmm11,xmm1 + pxor xmm7,xmm5 + pxor xmm14,xmm12 + pxor xmm13,xmm8 + movdqa xmm10,xmm14 + movdqa xmm9,xmm12 + pxor xmm10,xmm13 + pxor xmm9,xmm8 + pand xmm10,xmm11 + pand xmm9,xmm1 + pxor xmm11,xmm7 + pxor xmm1,xmm5 + pand xmm7,xmm14 + pand xmm5,xmm12 + pand xmm11,xmm13 + pand xmm1,xmm8 + pxor xmm7,xmm11 + pxor xmm1,xmm5 + pxor xmm11,xmm10 + pxor xmm5,xmm9 + pxor xmm4,xmm11 + pxor xmm1,xmm11 + pxor xmm0,xmm7 + pxor xmm5,xmm7 + + movdqa xmm11,xmm2 + movdqa xmm7,xmm6 + pxor xmm11,xmm15 + pxor xmm7,xmm3 + movdqa xmm10,xmm14 + movdqa xmm9,xmm12 + pxor xmm10,xmm13 + pxor xmm9,xmm8 + pand xmm10,xmm11 + pand xmm9,xmm15 + pxor xmm11,xmm7 + pxor xmm15,xmm3 + pand xmm7,xmm14 + pand xmm3,xmm12 + pand xmm11,xmm13 + pand xmm15,xmm8 + pxor xmm7,xmm11 + pxor xmm15,xmm3 + pxor xmm11,xmm10 + pxor xmm3,xmm9 + pxor xmm14,xmm12 + pxor xmm13,xmm8 + movdqa xmm10,xmm14 + pxor xmm10,xmm13 + pand xmm10,xmm2 + pxor xmm2,xmm6 + pand xmm6,xmm14 + pand xmm2,xmm13 + pxor xmm2,xmm6 + pxor xmm6,xmm10 + pxor xmm2,xmm11 + pxor xmm15,xmm11 + pxor xmm6,xmm7 + pxor xmm3,xmm7 + pxor xmm0,xmm6 + pxor xmm5,xmm4 + + pxor xmm3,xmm0 + pxor xmm1,xmm6 + pxor xmm4,xmm6 + pxor xmm3,xmm1 + pxor xmm6,xmm15 + pxor xmm3,xmm4 + pxor xmm2,xmm5 + pxor xmm5,xmm0 + pxor xmm2,xmm3 + + pxor xmm3,xmm15 + pxor xmm6,xmm2 + dec r10d + jl NEAR $L$dec_done + + pshufd xmm7,xmm15,0x4E + pshufd xmm13,xmm2,0x4E + pxor xmm7,xmm15 + pshufd xmm14,xmm4,0x4E + pxor xmm13,xmm2 + pshufd xmm8,xmm0,0x4E + pxor xmm14,xmm4 + pshufd xmm9,xmm5,0x4E + pxor xmm8,xmm0 + pshufd xmm10,xmm3,0x4E + pxor xmm9,xmm5 + pxor xmm15,xmm13 + pxor xmm0,xmm13 + pshufd xmm11,xmm1,0x4E + pxor xmm10,xmm3 + pxor xmm5,xmm7 + pxor xmm3,xmm8 + pshufd xmm12,xmm6,0x4E + pxor xmm11,xmm1 + pxor xmm0,xmm14 + pxor xmm1,xmm9 + pxor xmm12,xmm6 + + pxor xmm5,xmm14 + pxor xmm3,xmm13 + pxor xmm1,xmm13 + pxor xmm6,xmm10 + pxor xmm2,xmm11 + pxor xmm1,xmm14 + pxor xmm6,xmm14 + pxor xmm4,xmm12 + pshufd xmm7,xmm15,0x93 + pshufd xmm8,xmm0,0x93 + pxor xmm15,xmm7 + pshufd xmm9,xmm5,0x93 + pxor xmm0,xmm8 + pshufd xmm10,xmm3,0x93 + pxor xmm5,xmm9 + pshufd xmm11,xmm1,0x93 + pxor xmm3,xmm10 + pshufd xmm12,xmm6,0x93 + pxor xmm1,xmm11 + pshufd xmm13,xmm2,0x93 + pxor xmm6,xmm12 + pshufd xmm14,xmm4,0x93 + pxor xmm2,xmm13 + pxor xmm4,xmm14 + + pxor xmm8,xmm15 + pxor xmm7,xmm4 + pxor xmm8,xmm4 + pshufd xmm15,xmm15,0x4E + pxor xmm9,xmm0 + pshufd xmm0,xmm0,0x4E + pxor xmm12,xmm1 + pxor xmm15,xmm7 + pxor xmm13,xmm6 + pxor xmm0,xmm8 + pxor xmm11,xmm3 + pshufd xmm7,xmm1,0x4E + pxor xmm14,xmm2 + pshufd xmm8,xmm6,0x4E + pxor xmm10,xmm5 + pshufd xmm1,xmm3,0x4E + pxor xmm10,xmm4 + pshufd xmm6,xmm4,0x4E + pxor xmm11,xmm4 + pshufd xmm3,xmm2,0x4E + pxor xmm7,xmm11 + pshufd xmm2,xmm5,0x4E + pxor xmm8,xmm12 + pxor xmm10,xmm1 + pxor xmm6,xmm14 + pxor xmm13,xmm3 + movdqa xmm3,xmm7 + pxor xmm2,xmm9 + movdqa xmm5,xmm13 + movdqa xmm4,xmm8 + movdqa xmm1,xmm2 + movdqa xmm2,xmm10 + movdqa xmm7,XMMWORD[((-16))+r11] + jnz NEAR $L$dec_loop + movdqa xmm7,XMMWORD[((-32))+r11] + jmp NEAR $L$dec_loop +ALIGN 16 +$L$dec_done: + movdqa xmm7,XMMWORD[r11] + movdqa xmm8,XMMWORD[16+r11] + movdqa xmm9,xmm2 + psrlq xmm2,1 + movdqa xmm10,xmm1 + psrlq xmm1,1 + pxor xmm2,xmm4 + pxor xmm1,xmm6 + pand xmm2,xmm7 + pand xmm1,xmm7 + pxor xmm4,xmm2 + psllq xmm2,1 + pxor xmm6,xmm1 + psllq xmm1,1 + pxor xmm2,xmm9 + pxor xmm1,xmm10 + movdqa xmm9,xmm5 + psrlq xmm5,1 + movdqa xmm10,xmm15 + psrlq xmm15,1 + pxor xmm5,xmm3 + pxor xmm15,xmm0 + pand xmm5,xmm7 + pand xmm15,xmm7 + pxor xmm3,xmm5 + psllq xmm5,1 + pxor xmm0,xmm15 + psllq xmm15,1 + pxor xmm5,xmm9 + pxor xmm15,xmm10 + movdqa xmm7,XMMWORD[32+r11] + movdqa xmm9,xmm6 + psrlq xmm6,2 + movdqa xmm10,xmm1 + psrlq xmm1,2 + pxor xmm6,xmm4 + pxor xmm1,xmm2 + pand xmm6,xmm8 + pand xmm1,xmm8 + pxor xmm4,xmm6 + psllq xmm6,2 + pxor xmm2,xmm1 + psllq xmm1,2 + pxor xmm6,xmm9 + pxor xmm1,xmm10 + movdqa xmm9,xmm0 + psrlq xmm0,2 + movdqa xmm10,xmm15 + psrlq xmm15,2 + pxor xmm0,xmm3 + pxor xmm15,xmm5 + pand xmm0,xmm8 + pand xmm15,xmm8 + pxor xmm3,xmm0 + psllq xmm0,2 + pxor xmm5,xmm15 + psllq xmm15,2 + pxor xmm0,xmm9 + pxor xmm15,xmm10 + movdqa xmm9,xmm3 + psrlq xmm3,4 + movdqa xmm10,xmm5 + psrlq xmm5,4 + pxor xmm3,xmm4 + pxor xmm5,xmm2 + pand xmm3,xmm7 + pand xmm5,xmm7 + pxor xmm4,xmm3 + psllq xmm3,4 + pxor xmm2,xmm5 + psllq xmm5,4 + pxor xmm3,xmm9 + pxor xmm5,xmm10 + movdqa xmm9,xmm0 + psrlq xmm0,4 + movdqa xmm10,xmm15 + psrlq xmm15,4 + pxor xmm0,xmm6 + pxor xmm15,xmm1 + pand xmm0,xmm7 + pand xmm15,xmm7 + pxor xmm6,xmm0 + psllq xmm0,4 + pxor xmm1,xmm15 + psllq xmm15,4 + pxor xmm0,xmm9 + pxor xmm15,xmm10 + movdqa xmm7,XMMWORD[rax] + pxor xmm5,xmm7 + pxor xmm3,xmm7 + pxor xmm1,xmm7 + pxor xmm6,xmm7 + pxor xmm2,xmm7 + pxor xmm4,xmm7 + pxor xmm15,xmm7 + pxor xmm0,xmm7 + DB 0F3h,0C3h ;repret + + +ALIGN 16 +_bsaes_key_convert: + lea r11,[$L$masks] + movdqu xmm7,XMMWORD[rcx] + lea rcx,[16+rcx] + movdqa xmm0,XMMWORD[r11] + movdqa xmm1,XMMWORD[16+r11] + movdqa xmm2,XMMWORD[32+r11] + movdqa xmm3,XMMWORD[48+r11] + movdqa xmm4,XMMWORD[64+r11] + pcmpeqd xmm5,xmm5 + + movdqu xmm6,XMMWORD[rcx] + movdqa XMMWORD[rax],xmm7 + lea rax,[16+rax] + dec r10d + jmp NEAR $L$key_loop +ALIGN 16 +$L$key_loop: +DB 102,15,56,0,244 + + movdqa xmm8,xmm0 + movdqa xmm9,xmm1 + + pand xmm8,xmm6 + pand xmm9,xmm6 + movdqa xmm10,xmm2 + pcmpeqb xmm8,xmm0 + psllq xmm0,4 + movdqa xmm11,xmm3 + pcmpeqb xmm9,xmm1 + psllq xmm1,4 + + pand xmm10,xmm6 + pand xmm11,xmm6 + movdqa xmm12,xmm0 + pcmpeqb xmm10,xmm2 + psllq xmm2,4 + movdqa xmm13,xmm1 + pcmpeqb xmm11,xmm3 + psllq xmm3,4 + + movdqa xmm14,xmm2 + movdqa xmm15,xmm3 + pxor xmm8,xmm5 + pxor xmm9,xmm5 + + pand xmm12,xmm6 + pand xmm13,xmm6 + movdqa XMMWORD[rax],xmm8 + pcmpeqb xmm12,xmm0 + psrlq xmm0,4 + movdqa XMMWORD[16+rax],xmm9 + pcmpeqb xmm13,xmm1 + psrlq xmm1,4 + lea rcx,[16+rcx] + + pand xmm14,xmm6 + pand xmm15,xmm6 + movdqa XMMWORD[32+rax],xmm10 + pcmpeqb xmm14,xmm2 + psrlq xmm2,4 + movdqa XMMWORD[48+rax],xmm11 + pcmpeqb xmm15,xmm3 + psrlq xmm3,4 + movdqu xmm6,XMMWORD[rcx] + + pxor xmm13,xmm5 + pxor xmm14,xmm5 + movdqa XMMWORD[64+rax],xmm12 + movdqa XMMWORD[80+rax],xmm13 + movdqa XMMWORD[96+rax],xmm14 + movdqa XMMWORD[112+rax],xmm15 + lea rax,[128+rax] + dec r10d + jnz NEAR $L$key_loop + + movdqa xmm7,XMMWORD[80+r11] + + DB 0F3h,0C3h ;repret + +EXTERN asm_AES_cbc_encrypt +global bsaes_cbc_encrypt + +ALIGN 16 +bsaes_cbc_encrypt: + mov r11d,DWORD[48+rsp] + cmp r11d,0 + jne NEAR asm_AES_cbc_encrypt + cmp r8,128 + jb NEAR asm_AES_cbc_encrypt + + mov rax,rsp +$L$cbc_dec_prologue: + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-72))+rsp] + mov r10,QWORD[160+rsp] + lea rsp,[((-160))+rsp] + movaps XMMWORD[64+rsp],xmm6 + movaps XMMWORD[80+rsp],xmm7 + movaps XMMWORD[96+rsp],xmm8 + movaps XMMWORD[112+rsp],xmm9 + movaps XMMWORD[128+rsp],xmm10 + movaps XMMWORD[144+rsp],xmm11 + movaps XMMWORD[160+rsp],xmm12 + movaps XMMWORD[176+rsp],xmm13 + movaps XMMWORD[192+rsp],xmm14 + movaps XMMWORD[208+rsp],xmm15 +$L$cbc_dec_body: + mov rbp,rsp + mov eax,DWORD[240+r9] + mov r12,rcx + mov r13,rdx + mov r14,r8 + mov r15,r9 + mov rbx,r10 + shr r14,4 + + mov edx,eax + shl rax,7 + sub rax,96 + sub rsp,rax + + mov rax,rsp + mov rcx,r15 + mov r10d,edx + call _bsaes_key_convert + pxor xmm7,XMMWORD[rsp] + movdqa XMMWORD[rax],xmm6 + movdqa XMMWORD[rsp],xmm7 + + movdqu xmm14,XMMWORD[rbx] + sub r14,8 +$L$cbc_dec_loop: + movdqu xmm15,XMMWORD[r12] + movdqu xmm0,XMMWORD[16+r12] + movdqu xmm1,XMMWORD[32+r12] + movdqu xmm2,XMMWORD[48+r12] + movdqu xmm3,XMMWORD[64+r12] + movdqu xmm4,XMMWORD[80+r12] + mov rax,rsp + movdqu xmm5,XMMWORD[96+r12] + mov r10d,edx + movdqu xmm6,XMMWORD[112+r12] + movdqa XMMWORD[32+rbp],xmm14 + + call _bsaes_decrypt8 + + pxor xmm15,XMMWORD[32+rbp] + movdqu xmm7,XMMWORD[r12] + movdqu xmm8,XMMWORD[16+r12] + pxor xmm0,xmm7 + movdqu xmm9,XMMWORD[32+r12] + pxor xmm5,xmm8 + movdqu xmm10,XMMWORD[48+r12] + pxor xmm3,xmm9 + movdqu xmm11,XMMWORD[64+r12] + pxor xmm1,xmm10 + movdqu xmm12,XMMWORD[80+r12] + pxor xmm6,xmm11 + movdqu xmm13,XMMWORD[96+r12] + pxor xmm2,xmm12 + movdqu xmm14,XMMWORD[112+r12] + pxor xmm4,xmm13 + movdqu XMMWORD[r13],xmm15 + lea r12,[128+r12] + movdqu XMMWORD[16+r13],xmm0 + movdqu XMMWORD[32+r13],xmm5 + movdqu XMMWORD[48+r13],xmm3 + movdqu XMMWORD[64+r13],xmm1 + movdqu XMMWORD[80+r13],xmm6 + movdqu XMMWORD[96+r13],xmm2 + movdqu XMMWORD[112+r13],xmm4 + lea r13,[128+r13] + sub r14,8 + jnc NEAR $L$cbc_dec_loop + + add r14,8 + jz NEAR $L$cbc_dec_done + + movdqu xmm15,XMMWORD[r12] + mov rax,rsp + mov r10d,edx + cmp r14,2 + jb NEAR $L$cbc_dec_one + movdqu xmm0,XMMWORD[16+r12] + je NEAR $L$cbc_dec_two + movdqu xmm1,XMMWORD[32+r12] + cmp r14,4 + jb NEAR $L$cbc_dec_three + movdqu xmm2,XMMWORD[48+r12] + je NEAR $L$cbc_dec_four + movdqu xmm3,XMMWORD[64+r12] + cmp r14,6 + jb NEAR $L$cbc_dec_five + movdqu xmm4,XMMWORD[80+r12] + je NEAR $L$cbc_dec_six + movdqu xmm5,XMMWORD[96+r12] + movdqa XMMWORD[32+rbp],xmm14 + call _bsaes_decrypt8 + pxor xmm15,XMMWORD[32+rbp] + movdqu xmm7,XMMWORD[r12] + movdqu xmm8,XMMWORD[16+r12] + pxor xmm0,xmm7 + movdqu xmm9,XMMWORD[32+r12] + pxor xmm5,xmm8 + movdqu xmm10,XMMWORD[48+r12] + pxor xmm3,xmm9 + movdqu xmm11,XMMWORD[64+r12] + pxor xmm1,xmm10 + movdqu xmm12,XMMWORD[80+r12] + pxor xmm6,xmm11 + movdqu xmm14,XMMWORD[96+r12] + pxor xmm2,xmm12 + movdqu XMMWORD[r13],xmm15 + movdqu XMMWORD[16+r13],xmm0 + movdqu XMMWORD[32+r13],xmm5 + movdqu XMMWORD[48+r13],xmm3 + movdqu XMMWORD[64+r13],xmm1 + movdqu XMMWORD[80+r13],xmm6 + movdqu XMMWORD[96+r13],xmm2 + jmp NEAR $L$cbc_dec_done +ALIGN 16 +$L$cbc_dec_six: + movdqa XMMWORD[32+rbp],xmm14 + call _bsaes_decrypt8 + pxor xmm15,XMMWORD[32+rbp] + movdqu xmm7,XMMWORD[r12] + movdqu xmm8,XMMWORD[16+r12] + pxor xmm0,xmm7 + movdqu xmm9,XMMWORD[32+r12] + pxor xmm5,xmm8 + movdqu xmm10,XMMWORD[48+r12] + pxor xmm3,xmm9 + movdqu xmm11,XMMWORD[64+r12] + pxor xmm1,xmm10 + movdqu xmm14,XMMWORD[80+r12] + pxor xmm6,xmm11 + movdqu XMMWORD[r13],xmm15 + movdqu XMMWORD[16+r13],xmm0 + movdqu XMMWORD[32+r13],xmm5 + movdqu XMMWORD[48+r13],xmm3 + movdqu XMMWORD[64+r13],xmm1 + movdqu XMMWORD[80+r13],xmm6 + jmp NEAR $L$cbc_dec_done +ALIGN 16 +$L$cbc_dec_five: + movdqa XMMWORD[32+rbp],xmm14 + call _bsaes_decrypt8 + pxor xmm15,XMMWORD[32+rbp] + movdqu xmm7,XMMWORD[r12] + movdqu xmm8,XMMWORD[16+r12] + pxor xmm0,xmm7 + movdqu xmm9,XMMWORD[32+r12] + pxor xmm5,xmm8 + movdqu xmm10,XMMWORD[48+r12] + pxor xmm3,xmm9 + movdqu xmm14,XMMWORD[64+r12] + pxor xmm1,xmm10 + movdqu XMMWORD[r13],xmm15 + movdqu XMMWORD[16+r13],xmm0 + movdqu XMMWORD[32+r13],xmm5 + movdqu XMMWORD[48+r13],xmm3 + movdqu XMMWORD[64+r13],xmm1 + jmp NEAR $L$cbc_dec_done +ALIGN 16 +$L$cbc_dec_four: + movdqa XMMWORD[32+rbp],xmm14 + call _bsaes_decrypt8 + pxor xmm15,XMMWORD[32+rbp] + movdqu xmm7,XMMWORD[r12] + movdqu xmm8,XMMWORD[16+r12] + pxor xmm0,xmm7 + movdqu xmm9,XMMWORD[32+r12] + pxor xmm5,xmm8 + movdqu xmm14,XMMWORD[48+r12] + pxor xmm3,xmm9 + movdqu XMMWORD[r13],xmm15 + movdqu XMMWORD[16+r13],xmm0 + movdqu XMMWORD[32+r13],xmm5 + movdqu XMMWORD[48+r13],xmm3 + jmp NEAR $L$cbc_dec_done +ALIGN 16 +$L$cbc_dec_three: + movdqa XMMWORD[32+rbp],xmm14 + call _bsaes_decrypt8 + pxor xmm15,XMMWORD[32+rbp] + movdqu xmm7,XMMWORD[r12] + movdqu xmm8,XMMWORD[16+r12] + pxor xmm0,xmm7 + movdqu xmm14,XMMWORD[32+r12] + pxor xmm5,xmm8 + movdqu XMMWORD[r13],xmm15 + movdqu XMMWORD[16+r13],xmm0 + movdqu XMMWORD[32+r13],xmm5 + jmp NEAR $L$cbc_dec_done +ALIGN 16 +$L$cbc_dec_two: + movdqa XMMWORD[32+rbp],xmm14 + call _bsaes_decrypt8 + pxor xmm15,XMMWORD[32+rbp] + movdqu xmm7,XMMWORD[r12] + movdqu xmm14,XMMWORD[16+r12] + pxor xmm0,xmm7 + movdqu XMMWORD[r13],xmm15 + movdqu XMMWORD[16+r13],xmm0 + jmp NEAR $L$cbc_dec_done +ALIGN 16 +$L$cbc_dec_one: + lea rcx,[r12] + lea rdx,[32+rbp] + lea r8,[r15] + call asm_AES_decrypt + pxor xmm14,XMMWORD[32+rbp] + movdqu XMMWORD[r13],xmm14 + movdqa xmm14,xmm15 + +$L$cbc_dec_done: + movdqu XMMWORD[rbx],xmm14 + lea rax,[rsp] + pxor xmm0,xmm0 +$L$cbc_dec_bzero: + movdqa XMMWORD[rax],xmm0 + movdqa XMMWORD[16+rax],xmm0 + lea rax,[32+rax] + cmp rbp,rax + ja NEAR $L$cbc_dec_bzero + + lea rsp,[rbp] + movaps xmm6,XMMWORD[64+rbp] + movaps xmm7,XMMWORD[80+rbp] + movaps xmm8,XMMWORD[96+rbp] + movaps xmm9,XMMWORD[112+rbp] + movaps xmm10,XMMWORD[128+rbp] + movaps xmm11,XMMWORD[144+rbp] + movaps xmm12,XMMWORD[160+rbp] + movaps xmm13,XMMWORD[176+rbp] + movaps xmm14,XMMWORD[192+rbp] + movaps xmm15,XMMWORD[208+rbp] + lea rsp,[160+rbp] + mov r15,QWORD[72+rsp] + mov r14,QWORD[80+rsp] + mov r13,QWORD[88+rsp] + mov r12,QWORD[96+rsp] + mov rbx,QWORD[104+rsp] + mov rax,QWORD[112+rsp] + lea rsp,[120+rsp] + mov rbp,rax +$L$cbc_dec_epilogue: + DB 0F3h,0C3h ;repret + + +global bsaes_ctr32_encrypt_blocks + +ALIGN 16 +bsaes_ctr32_encrypt_blocks: + mov rax,rsp +$L$ctr_enc_prologue: + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-72))+rsp] + mov r10,QWORD[160+rsp] + lea rsp,[((-160))+rsp] + movaps XMMWORD[64+rsp],xmm6 + movaps XMMWORD[80+rsp],xmm7 + movaps XMMWORD[96+rsp],xmm8 + movaps XMMWORD[112+rsp],xmm9 + movaps XMMWORD[128+rsp],xmm10 + movaps XMMWORD[144+rsp],xmm11 + movaps XMMWORD[160+rsp],xmm12 + movaps XMMWORD[176+rsp],xmm13 + movaps XMMWORD[192+rsp],xmm14 + movaps XMMWORD[208+rsp],xmm15 +$L$ctr_enc_body: + mov rbp,rsp + movdqu xmm0,XMMWORD[r10] + mov eax,DWORD[240+r9] + mov r12,rcx + mov r13,rdx + mov r14,r8 + mov r15,r9 + movdqa XMMWORD[32+rbp],xmm0 + cmp r8,8 + jb NEAR $L$ctr_enc_short + + mov ebx,eax + shl rax,7 + sub rax,96 + sub rsp,rax + + mov rax,rsp + mov rcx,r15 + mov r10d,ebx + call _bsaes_key_convert + pxor xmm7,xmm6 + movdqa XMMWORD[rax],xmm7 + + movdqa xmm8,XMMWORD[rsp] + lea r11,[$L$ADD1] + movdqa xmm15,XMMWORD[32+rbp] + movdqa xmm7,XMMWORD[((-32))+r11] +DB 102,68,15,56,0,199 +DB 102,68,15,56,0,255 + movdqa XMMWORD[rsp],xmm8 + jmp NEAR $L$ctr_enc_loop +ALIGN 16 +$L$ctr_enc_loop: + movdqa XMMWORD[32+rbp],xmm15 + movdqa xmm0,xmm15 + movdqa xmm1,xmm15 + paddd xmm0,XMMWORD[r11] + movdqa xmm2,xmm15 + paddd xmm1,XMMWORD[16+r11] + movdqa xmm3,xmm15 + paddd xmm2,XMMWORD[32+r11] + movdqa xmm4,xmm15 + paddd xmm3,XMMWORD[48+r11] + movdqa xmm5,xmm15 + paddd xmm4,XMMWORD[64+r11] + movdqa xmm6,xmm15 + paddd xmm5,XMMWORD[80+r11] + paddd xmm6,XMMWORD[96+r11] + + + + movdqa xmm8,XMMWORD[rsp] + lea rax,[16+rsp] + movdqa xmm7,XMMWORD[((-16))+r11] + pxor xmm15,xmm8 + pxor xmm0,xmm8 + pxor xmm1,xmm8 + pxor xmm2,xmm8 +DB 102,68,15,56,0,255 +DB 102,15,56,0,199 + pxor xmm3,xmm8 + pxor xmm4,xmm8 +DB 102,15,56,0,207 +DB 102,15,56,0,215 + pxor xmm5,xmm8 + pxor xmm6,xmm8 +DB 102,15,56,0,223 +DB 102,15,56,0,231 +DB 102,15,56,0,239 +DB 102,15,56,0,247 + lea r11,[$L$BS0] + mov r10d,ebx + + call _bsaes_encrypt8_bitslice + + sub r14,8 + jc NEAR $L$ctr_enc_loop_done + + movdqu xmm7,XMMWORD[r12] + movdqu xmm8,XMMWORD[16+r12] + movdqu xmm9,XMMWORD[32+r12] + movdqu xmm10,XMMWORD[48+r12] + movdqu xmm11,XMMWORD[64+r12] + movdqu xmm12,XMMWORD[80+r12] + movdqu xmm13,XMMWORD[96+r12] + movdqu xmm14,XMMWORD[112+r12] + lea r12,[128+r12] + pxor xmm7,xmm15 + movdqa xmm15,XMMWORD[32+rbp] + pxor xmm0,xmm8 + movdqu XMMWORD[r13],xmm7 + pxor xmm3,xmm9 + movdqu XMMWORD[16+r13],xmm0 + pxor xmm5,xmm10 + movdqu XMMWORD[32+r13],xmm3 + pxor xmm2,xmm11 + movdqu XMMWORD[48+r13],xmm5 + pxor xmm6,xmm12 + movdqu XMMWORD[64+r13],xmm2 + pxor xmm1,xmm13 + movdqu XMMWORD[80+r13],xmm6 + pxor xmm4,xmm14 + movdqu XMMWORD[96+r13],xmm1 + lea r11,[$L$ADD1] + movdqu XMMWORD[112+r13],xmm4 + lea r13,[128+r13] + paddd xmm15,XMMWORD[112+r11] + jnz NEAR $L$ctr_enc_loop + + jmp NEAR $L$ctr_enc_done +ALIGN 16 +$L$ctr_enc_loop_done: + add r14,8 + movdqu xmm7,XMMWORD[r12] + pxor xmm15,xmm7 + movdqu XMMWORD[r13],xmm15 + cmp r14,2 + jb NEAR $L$ctr_enc_done + movdqu xmm8,XMMWORD[16+r12] + pxor xmm0,xmm8 + movdqu XMMWORD[16+r13],xmm0 + je NEAR $L$ctr_enc_done + movdqu xmm9,XMMWORD[32+r12] + pxor xmm3,xmm9 + movdqu XMMWORD[32+r13],xmm3 + cmp r14,4 + jb NEAR $L$ctr_enc_done + movdqu xmm10,XMMWORD[48+r12] + pxor xmm5,xmm10 + movdqu XMMWORD[48+r13],xmm5 + je NEAR $L$ctr_enc_done + movdqu xmm11,XMMWORD[64+r12] + pxor xmm2,xmm11 + movdqu XMMWORD[64+r13],xmm2 + cmp r14,6 + jb NEAR $L$ctr_enc_done + movdqu xmm12,XMMWORD[80+r12] + pxor xmm6,xmm12 + movdqu XMMWORD[80+r13],xmm6 + je NEAR $L$ctr_enc_done + movdqu xmm13,XMMWORD[96+r12] + pxor xmm1,xmm13 + movdqu XMMWORD[96+r13],xmm1 + jmp NEAR $L$ctr_enc_done + +ALIGN 16 +$L$ctr_enc_short: + lea rcx,[32+rbp] + lea rdx,[48+rbp] + lea r8,[r15] + call asm_AES_encrypt + movdqu xmm0,XMMWORD[r12] + lea r12,[16+r12] + mov eax,DWORD[44+rbp] + bswap eax + pxor xmm0,XMMWORD[48+rbp] + inc eax + movdqu XMMWORD[r13],xmm0 + bswap eax + lea r13,[16+r13] + mov DWORD[44+rsp],eax + dec r14 + jnz NEAR $L$ctr_enc_short + +$L$ctr_enc_done: + lea rax,[rsp] + pxor xmm0,xmm0 +$L$ctr_enc_bzero: + movdqa XMMWORD[rax],xmm0 + movdqa XMMWORD[16+rax],xmm0 + lea rax,[32+rax] + cmp rbp,rax + ja NEAR $L$ctr_enc_bzero + + lea rsp,[rbp] + movaps xmm6,XMMWORD[64+rbp] + movaps xmm7,XMMWORD[80+rbp] + movaps xmm8,XMMWORD[96+rbp] + movaps xmm9,XMMWORD[112+rbp] + movaps xmm10,XMMWORD[128+rbp] + movaps xmm11,XMMWORD[144+rbp] + movaps xmm12,XMMWORD[160+rbp] + movaps xmm13,XMMWORD[176+rbp] + movaps xmm14,XMMWORD[192+rbp] + movaps xmm15,XMMWORD[208+rbp] + lea rsp,[160+rbp] + mov r15,QWORD[72+rsp] + mov r14,QWORD[80+rsp] + mov r13,QWORD[88+rsp] + mov r12,QWORD[96+rsp] + mov rbx,QWORD[104+rsp] + mov rax,QWORD[112+rsp] + lea rsp,[120+rsp] + mov rbp,rax +$L$ctr_enc_epilogue: + DB 0F3h,0C3h ;repret + +global bsaes_xts_encrypt + +ALIGN 16 +bsaes_xts_encrypt: + mov rax,rsp +$L$xts_enc_prologue: + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-72))+rsp] + mov r10,QWORD[160+rsp] + mov r11,QWORD[168+rsp] + lea rsp,[((-160))+rsp] + movaps XMMWORD[64+rsp],xmm6 + movaps XMMWORD[80+rsp],xmm7 + movaps XMMWORD[96+rsp],xmm8 + movaps XMMWORD[112+rsp],xmm9 + movaps XMMWORD[128+rsp],xmm10 + movaps XMMWORD[144+rsp],xmm11 + movaps XMMWORD[160+rsp],xmm12 + movaps XMMWORD[176+rsp],xmm13 + movaps XMMWORD[192+rsp],xmm14 + movaps XMMWORD[208+rsp],xmm15 +$L$xts_enc_body: + mov rbp,rsp + mov r12,rcx + mov r13,rdx + mov r14,r8 + mov r15,r9 + + lea rcx,[r11] + lea rdx,[32+rbp] + lea r8,[r10] + call asm_AES_encrypt + + mov eax,DWORD[240+r15] + mov rbx,r14 + + mov edx,eax + shl rax,7 + sub rax,96 + sub rsp,rax + + mov rax,rsp + mov rcx,r15 + mov r10d,edx + call _bsaes_key_convert + pxor xmm7,xmm6 + movdqa XMMWORD[rax],xmm7 + + and r14,-16 + sub rsp,0x80 + movdqa xmm6,XMMWORD[32+rbp] + + pxor xmm14,xmm14 + movdqa xmm12,XMMWORD[$L$xts_magic] + pcmpgtd xmm14,xmm6 + + sub r14,0x80 + jc NEAR $L$xts_enc_short + jmp NEAR $L$xts_enc_loop + +ALIGN 16 +$L$xts_enc_loop: + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm15,xmm6 + movdqa XMMWORD[rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm0,xmm6 + movdqa XMMWORD[16+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm7,XMMWORD[r12] + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm1,xmm6 + movdqa XMMWORD[32+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm8,XMMWORD[16+r12] + pxor xmm15,xmm7 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm2,xmm6 + movdqa XMMWORD[48+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm9,XMMWORD[32+r12] + pxor xmm0,xmm8 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm3,xmm6 + movdqa XMMWORD[64+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm10,XMMWORD[48+r12] + pxor xmm1,xmm9 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm4,xmm6 + movdqa XMMWORD[80+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm11,XMMWORD[64+r12] + pxor xmm2,xmm10 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm5,xmm6 + movdqa XMMWORD[96+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm12,XMMWORD[80+r12] + pxor xmm3,xmm11 + movdqu xmm13,XMMWORD[96+r12] + pxor xmm4,xmm12 + movdqu xmm14,XMMWORD[112+r12] + lea r12,[128+r12] + movdqa XMMWORD[112+rsp],xmm6 + pxor xmm5,xmm13 + lea rax,[128+rsp] + pxor xmm6,xmm14 + mov r10d,edx + + call _bsaes_encrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm3,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + pxor xmm5,XMMWORD[48+rsp] + movdqu XMMWORD[32+r13],xmm3 + pxor xmm2,XMMWORD[64+rsp] + movdqu XMMWORD[48+r13],xmm5 + pxor xmm6,XMMWORD[80+rsp] + movdqu XMMWORD[64+r13],xmm2 + pxor xmm1,XMMWORD[96+rsp] + movdqu XMMWORD[80+r13],xmm6 + pxor xmm4,XMMWORD[112+rsp] + movdqu XMMWORD[96+r13],xmm1 + movdqu XMMWORD[112+r13],xmm4 + lea r13,[128+r13] + + movdqa xmm6,XMMWORD[112+rsp] + pxor xmm14,xmm14 + movdqa xmm12,XMMWORD[$L$xts_magic] + pcmpgtd xmm14,xmm6 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + + sub r14,0x80 + jnc NEAR $L$xts_enc_loop + +$L$xts_enc_short: + add r14,0x80 + jz NEAR $L$xts_enc_done + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm15,xmm6 + movdqa XMMWORD[rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm0,xmm6 + movdqa XMMWORD[16+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm7,XMMWORD[r12] + cmp r14,16 + je NEAR $L$xts_enc_1 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm1,xmm6 + movdqa XMMWORD[32+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm8,XMMWORD[16+r12] + cmp r14,32 + je NEAR $L$xts_enc_2 + pxor xmm15,xmm7 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm2,xmm6 + movdqa XMMWORD[48+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm9,XMMWORD[32+r12] + cmp r14,48 + je NEAR $L$xts_enc_3 + pxor xmm0,xmm8 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm3,xmm6 + movdqa XMMWORD[64+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm10,XMMWORD[48+r12] + cmp r14,64 + je NEAR $L$xts_enc_4 + pxor xmm1,xmm9 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm4,xmm6 + movdqa XMMWORD[80+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm11,XMMWORD[64+r12] + cmp r14,80 + je NEAR $L$xts_enc_5 + pxor xmm2,xmm10 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm5,xmm6 + movdqa XMMWORD[96+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm12,XMMWORD[80+r12] + cmp r14,96 + je NEAR $L$xts_enc_6 + pxor xmm3,xmm11 + movdqu xmm13,XMMWORD[96+r12] + pxor xmm4,xmm12 + movdqa XMMWORD[112+rsp],xmm6 + lea r12,[112+r12] + pxor xmm5,xmm13 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_encrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm3,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + pxor xmm5,XMMWORD[48+rsp] + movdqu XMMWORD[32+r13],xmm3 + pxor xmm2,XMMWORD[64+rsp] + movdqu XMMWORD[48+r13],xmm5 + pxor xmm6,XMMWORD[80+rsp] + movdqu XMMWORD[64+r13],xmm2 + pxor xmm1,XMMWORD[96+rsp] + movdqu XMMWORD[80+r13],xmm6 + movdqu XMMWORD[96+r13],xmm1 + lea r13,[112+r13] + + movdqa xmm6,XMMWORD[112+rsp] + jmp NEAR $L$xts_enc_done +ALIGN 16 +$L$xts_enc_6: + pxor xmm3,xmm11 + lea r12,[96+r12] + pxor xmm4,xmm12 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_encrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm3,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + pxor xmm5,XMMWORD[48+rsp] + movdqu XMMWORD[32+r13],xmm3 + pxor xmm2,XMMWORD[64+rsp] + movdqu XMMWORD[48+r13],xmm5 + pxor xmm6,XMMWORD[80+rsp] + movdqu XMMWORD[64+r13],xmm2 + movdqu XMMWORD[80+r13],xmm6 + lea r13,[96+r13] + + movdqa xmm6,XMMWORD[96+rsp] + jmp NEAR $L$xts_enc_done +ALIGN 16 +$L$xts_enc_5: + pxor xmm2,xmm10 + lea r12,[80+r12] + pxor xmm3,xmm11 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_encrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm3,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + pxor xmm5,XMMWORD[48+rsp] + movdqu XMMWORD[32+r13],xmm3 + pxor xmm2,XMMWORD[64+rsp] + movdqu XMMWORD[48+r13],xmm5 + movdqu XMMWORD[64+r13],xmm2 + lea r13,[80+r13] + + movdqa xmm6,XMMWORD[80+rsp] + jmp NEAR $L$xts_enc_done +ALIGN 16 +$L$xts_enc_4: + pxor xmm1,xmm9 + lea r12,[64+r12] + pxor xmm2,xmm10 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_encrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm3,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + pxor xmm5,XMMWORD[48+rsp] + movdqu XMMWORD[32+r13],xmm3 + movdqu XMMWORD[48+r13],xmm5 + lea r13,[64+r13] + + movdqa xmm6,XMMWORD[64+rsp] + jmp NEAR $L$xts_enc_done +ALIGN 16 +$L$xts_enc_3: + pxor xmm0,xmm8 + lea r12,[48+r12] + pxor xmm1,xmm9 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_encrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm3,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + movdqu XMMWORD[32+r13],xmm3 + lea r13,[48+r13] + + movdqa xmm6,XMMWORD[48+rsp] + jmp NEAR $L$xts_enc_done +ALIGN 16 +$L$xts_enc_2: + pxor xmm15,xmm7 + lea r12,[32+r12] + pxor xmm0,xmm8 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_encrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + movdqu XMMWORD[16+r13],xmm0 + lea r13,[32+r13] + + movdqa xmm6,XMMWORD[32+rsp] + jmp NEAR $L$xts_enc_done +ALIGN 16 +$L$xts_enc_1: + pxor xmm7,xmm15 + lea r12,[16+r12] + movdqa XMMWORD[32+rbp],xmm7 + lea rcx,[32+rbp] + lea rdx,[32+rbp] + lea r8,[r15] + call asm_AES_encrypt + pxor xmm15,XMMWORD[32+rbp] + + + + + + movdqu XMMWORD[r13],xmm15 + lea r13,[16+r13] + + movdqa xmm6,XMMWORD[16+rsp] + +$L$xts_enc_done: + and ebx,15 + jz NEAR $L$xts_enc_ret + mov rdx,r13 + +$L$xts_enc_steal: + movzx eax,BYTE[r12] + movzx ecx,BYTE[((-16))+rdx] + lea r12,[1+r12] + mov BYTE[((-16))+rdx],al + mov BYTE[rdx],cl + lea rdx,[1+rdx] + sub ebx,1 + jnz NEAR $L$xts_enc_steal + + movdqu xmm15,XMMWORD[((-16))+r13] + lea rcx,[32+rbp] + pxor xmm15,xmm6 + lea rdx,[32+rbp] + movdqa XMMWORD[32+rbp],xmm15 + lea r8,[r15] + call asm_AES_encrypt + pxor xmm6,XMMWORD[32+rbp] + movdqu XMMWORD[(-16)+r13],xmm6 + +$L$xts_enc_ret: + lea rax,[rsp] + pxor xmm0,xmm0 +$L$xts_enc_bzero: + movdqa XMMWORD[rax],xmm0 + movdqa XMMWORD[16+rax],xmm0 + lea rax,[32+rax] + cmp rbp,rax + ja NEAR $L$xts_enc_bzero + + lea rsp,[rbp] + movaps xmm6,XMMWORD[64+rbp] + movaps xmm7,XMMWORD[80+rbp] + movaps xmm8,XMMWORD[96+rbp] + movaps xmm9,XMMWORD[112+rbp] + movaps xmm10,XMMWORD[128+rbp] + movaps xmm11,XMMWORD[144+rbp] + movaps xmm12,XMMWORD[160+rbp] + movaps xmm13,XMMWORD[176+rbp] + movaps xmm14,XMMWORD[192+rbp] + movaps xmm15,XMMWORD[208+rbp] + lea rsp,[160+rbp] + mov r15,QWORD[72+rsp] + mov r14,QWORD[80+rsp] + mov r13,QWORD[88+rsp] + mov r12,QWORD[96+rsp] + mov rbx,QWORD[104+rsp] + mov rax,QWORD[112+rsp] + lea rsp,[120+rsp] + mov rbp,rax +$L$xts_enc_epilogue: + DB 0F3h,0C3h ;repret + + +global bsaes_xts_decrypt + +ALIGN 16 +bsaes_xts_decrypt: + mov rax,rsp +$L$xts_dec_prologue: + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-72))+rsp] + mov r10,QWORD[160+rsp] + mov r11,QWORD[168+rsp] + lea rsp,[((-160))+rsp] + movaps XMMWORD[64+rsp],xmm6 + movaps XMMWORD[80+rsp],xmm7 + movaps XMMWORD[96+rsp],xmm8 + movaps XMMWORD[112+rsp],xmm9 + movaps XMMWORD[128+rsp],xmm10 + movaps XMMWORD[144+rsp],xmm11 + movaps XMMWORD[160+rsp],xmm12 + movaps XMMWORD[176+rsp],xmm13 + movaps XMMWORD[192+rsp],xmm14 + movaps XMMWORD[208+rsp],xmm15 +$L$xts_dec_body: + mov rbp,rsp + mov r12,rcx + mov r13,rdx + mov r14,r8 + mov r15,r9 + + lea rcx,[r11] + lea rdx,[32+rbp] + lea r8,[r10] + call asm_AES_encrypt + + mov eax,DWORD[240+r15] + mov rbx,r14 + + mov edx,eax + shl rax,7 + sub rax,96 + sub rsp,rax + + mov rax,rsp + mov rcx,r15 + mov r10d,edx + call _bsaes_key_convert + pxor xmm7,XMMWORD[rsp] + movdqa XMMWORD[rax],xmm6 + movdqa XMMWORD[rsp],xmm7 + + xor eax,eax + and r14,-16 + test ebx,15 + setnz al + shl rax,4 + sub r14,rax + + sub rsp,0x80 + movdqa xmm6,XMMWORD[32+rbp] + + pxor xmm14,xmm14 + movdqa xmm12,XMMWORD[$L$xts_magic] + pcmpgtd xmm14,xmm6 + + sub r14,0x80 + jc NEAR $L$xts_dec_short + jmp NEAR $L$xts_dec_loop + +ALIGN 16 +$L$xts_dec_loop: + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm15,xmm6 + movdqa XMMWORD[rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm0,xmm6 + movdqa XMMWORD[16+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm7,XMMWORD[r12] + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm1,xmm6 + movdqa XMMWORD[32+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm8,XMMWORD[16+r12] + pxor xmm15,xmm7 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm2,xmm6 + movdqa XMMWORD[48+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm9,XMMWORD[32+r12] + pxor xmm0,xmm8 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm3,xmm6 + movdqa XMMWORD[64+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm10,XMMWORD[48+r12] + pxor xmm1,xmm9 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm4,xmm6 + movdqa XMMWORD[80+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm11,XMMWORD[64+r12] + pxor xmm2,xmm10 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm5,xmm6 + movdqa XMMWORD[96+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm12,XMMWORD[80+r12] + pxor xmm3,xmm11 + movdqu xmm13,XMMWORD[96+r12] + pxor xmm4,xmm12 + movdqu xmm14,XMMWORD[112+r12] + lea r12,[128+r12] + movdqa XMMWORD[112+rsp],xmm6 + pxor xmm5,xmm13 + lea rax,[128+rsp] + pxor xmm6,xmm14 + mov r10d,edx + + call _bsaes_decrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm5,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + pxor xmm3,XMMWORD[48+rsp] + movdqu XMMWORD[32+r13],xmm5 + pxor xmm1,XMMWORD[64+rsp] + movdqu XMMWORD[48+r13],xmm3 + pxor xmm6,XMMWORD[80+rsp] + movdqu XMMWORD[64+r13],xmm1 + pxor xmm2,XMMWORD[96+rsp] + movdqu XMMWORD[80+r13],xmm6 + pxor xmm4,XMMWORD[112+rsp] + movdqu XMMWORD[96+r13],xmm2 + movdqu XMMWORD[112+r13],xmm4 + lea r13,[128+r13] + + movdqa xmm6,XMMWORD[112+rsp] + pxor xmm14,xmm14 + movdqa xmm12,XMMWORD[$L$xts_magic] + pcmpgtd xmm14,xmm6 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + + sub r14,0x80 + jnc NEAR $L$xts_dec_loop + +$L$xts_dec_short: + add r14,0x80 + jz NEAR $L$xts_dec_done + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm15,xmm6 + movdqa XMMWORD[rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm0,xmm6 + movdqa XMMWORD[16+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm7,XMMWORD[r12] + cmp r14,16 + je NEAR $L$xts_dec_1 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm1,xmm6 + movdqa XMMWORD[32+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm8,XMMWORD[16+r12] + cmp r14,32 + je NEAR $L$xts_dec_2 + pxor xmm15,xmm7 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm2,xmm6 + movdqa XMMWORD[48+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm9,XMMWORD[32+r12] + cmp r14,48 + je NEAR $L$xts_dec_3 + pxor xmm0,xmm8 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm3,xmm6 + movdqa XMMWORD[64+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm10,XMMWORD[48+r12] + cmp r14,64 + je NEAR $L$xts_dec_4 + pxor xmm1,xmm9 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm4,xmm6 + movdqa XMMWORD[80+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm11,XMMWORD[64+r12] + cmp r14,80 + je NEAR $L$xts_dec_5 + pxor xmm2,xmm10 + pshufd xmm13,xmm14,0x13 + pxor xmm14,xmm14 + movdqa xmm5,xmm6 + movdqa XMMWORD[96+rsp],xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + pcmpgtd xmm14,xmm6 + pxor xmm6,xmm13 + movdqu xmm12,XMMWORD[80+r12] + cmp r14,96 + je NEAR $L$xts_dec_6 + pxor xmm3,xmm11 + movdqu xmm13,XMMWORD[96+r12] + pxor xmm4,xmm12 + movdqa XMMWORD[112+rsp],xmm6 + lea r12,[112+r12] + pxor xmm5,xmm13 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_decrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm5,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + pxor xmm3,XMMWORD[48+rsp] + movdqu XMMWORD[32+r13],xmm5 + pxor xmm1,XMMWORD[64+rsp] + movdqu XMMWORD[48+r13],xmm3 + pxor xmm6,XMMWORD[80+rsp] + movdqu XMMWORD[64+r13],xmm1 + pxor xmm2,XMMWORD[96+rsp] + movdqu XMMWORD[80+r13],xmm6 + movdqu XMMWORD[96+r13],xmm2 + lea r13,[112+r13] + + movdqa xmm6,XMMWORD[112+rsp] + jmp NEAR $L$xts_dec_done +ALIGN 16 +$L$xts_dec_6: + pxor xmm3,xmm11 + lea r12,[96+r12] + pxor xmm4,xmm12 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_decrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm5,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + pxor xmm3,XMMWORD[48+rsp] + movdqu XMMWORD[32+r13],xmm5 + pxor xmm1,XMMWORD[64+rsp] + movdqu XMMWORD[48+r13],xmm3 + pxor xmm6,XMMWORD[80+rsp] + movdqu XMMWORD[64+r13],xmm1 + movdqu XMMWORD[80+r13],xmm6 + lea r13,[96+r13] + + movdqa xmm6,XMMWORD[96+rsp] + jmp NEAR $L$xts_dec_done +ALIGN 16 +$L$xts_dec_5: + pxor xmm2,xmm10 + lea r12,[80+r12] + pxor xmm3,xmm11 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_decrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm5,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + pxor xmm3,XMMWORD[48+rsp] + movdqu XMMWORD[32+r13],xmm5 + pxor xmm1,XMMWORD[64+rsp] + movdqu XMMWORD[48+r13],xmm3 + movdqu XMMWORD[64+r13],xmm1 + lea r13,[80+r13] + + movdqa xmm6,XMMWORD[80+rsp] + jmp NEAR $L$xts_dec_done +ALIGN 16 +$L$xts_dec_4: + pxor xmm1,xmm9 + lea r12,[64+r12] + pxor xmm2,xmm10 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_decrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm5,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + pxor xmm3,XMMWORD[48+rsp] + movdqu XMMWORD[32+r13],xmm5 + movdqu XMMWORD[48+r13],xmm3 + lea r13,[64+r13] + + movdqa xmm6,XMMWORD[64+rsp] + jmp NEAR $L$xts_dec_done +ALIGN 16 +$L$xts_dec_3: + pxor xmm0,xmm8 + lea r12,[48+r12] + pxor xmm1,xmm9 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_decrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + pxor xmm5,XMMWORD[32+rsp] + movdqu XMMWORD[16+r13],xmm0 + movdqu XMMWORD[32+r13],xmm5 + lea r13,[48+r13] + + movdqa xmm6,XMMWORD[48+rsp] + jmp NEAR $L$xts_dec_done +ALIGN 16 +$L$xts_dec_2: + pxor xmm15,xmm7 + lea r12,[32+r12] + pxor xmm0,xmm8 + lea rax,[128+rsp] + mov r10d,edx + + call _bsaes_decrypt8 + + pxor xmm15,XMMWORD[rsp] + pxor xmm0,XMMWORD[16+rsp] + movdqu XMMWORD[r13],xmm15 + movdqu XMMWORD[16+r13],xmm0 + lea r13,[32+r13] + + movdqa xmm6,XMMWORD[32+rsp] + jmp NEAR $L$xts_dec_done +ALIGN 16 +$L$xts_dec_1: + pxor xmm7,xmm15 + lea r12,[16+r12] + movdqa XMMWORD[32+rbp],xmm7 + lea rcx,[32+rbp] + lea rdx,[32+rbp] + lea r8,[r15] + call asm_AES_decrypt + pxor xmm15,XMMWORD[32+rbp] + + + + + + movdqu XMMWORD[r13],xmm15 + lea r13,[16+r13] + + movdqa xmm6,XMMWORD[16+rsp] + +$L$xts_dec_done: + and ebx,15 + jz NEAR $L$xts_dec_ret + + pxor xmm14,xmm14 + movdqa xmm12,XMMWORD[$L$xts_magic] + pcmpgtd xmm14,xmm6 + pshufd xmm13,xmm14,0x13 + movdqa xmm5,xmm6 + paddq xmm6,xmm6 + pand xmm13,xmm12 + movdqu xmm15,XMMWORD[r12] + pxor xmm6,xmm13 + + lea rcx,[32+rbp] + pxor xmm15,xmm6 + lea rdx,[32+rbp] + movdqa XMMWORD[32+rbp],xmm15 + lea r8,[r15] + call asm_AES_decrypt + pxor xmm6,XMMWORD[32+rbp] + mov rdx,r13 + movdqu XMMWORD[r13],xmm6 + +$L$xts_dec_steal: + movzx eax,BYTE[16+r12] + movzx ecx,BYTE[rdx] + lea r12,[1+r12] + mov BYTE[rdx],al + mov BYTE[16+rdx],cl + lea rdx,[1+rdx] + sub ebx,1 + jnz NEAR $L$xts_dec_steal + + movdqu xmm15,XMMWORD[r13] + lea rcx,[32+rbp] + pxor xmm15,xmm5 + lea rdx,[32+rbp] + movdqa XMMWORD[32+rbp],xmm15 + lea r8,[r15] + call asm_AES_decrypt + pxor xmm5,XMMWORD[32+rbp] + movdqu XMMWORD[r13],xmm5 + +$L$xts_dec_ret: + lea rax,[rsp] + pxor xmm0,xmm0 +$L$xts_dec_bzero: + movdqa XMMWORD[rax],xmm0 + movdqa XMMWORD[16+rax],xmm0 + lea rax,[32+rax] + cmp rbp,rax + ja NEAR $L$xts_dec_bzero + + lea rsp,[rbp] + movaps xmm6,XMMWORD[64+rbp] + movaps xmm7,XMMWORD[80+rbp] + movaps xmm8,XMMWORD[96+rbp] + movaps xmm9,XMMWORD[112+rbp] + movaps xmm10,XMMWORD[128+rbp] + movaps xmm11,XMMWORD[144+rbp] + movaps xmm12,XMMWORD[160+rbp] + movaps xmm13,XMMWORD[176+rbp] + movaps xmm14,XMMWORD[192+rbp] + movaps xmm15,XMMWORD[208+rbp] + lea rsp,[160+rbp] + mov r15,QWORD[72+rsp] + mov r14,QWORD[80+rsp] + mov r13,QWORD[88+rsp] + mov r12,QWORD[96+rsp] + mov rbx,QWORD[104+rsp] + mov rax,QWORD[112+rsp] + lea rsp,[120+rsp] + mov rbp,rax +$L$xts_dec_epilogue: + DB 0F3h,0C3h ;repret + + +ALIGN 64 +_bsaes_const: +$L$M0ISR: + DQ 0x0a0e0206070b0f03,0x0004080c0d010509 +$L$ISRM0: + DQ 0x01040b0e0205080f,0x0306090c00070a0d +$L$ISR: + DQ 0x0504070602010003,0x0f0e0d0c080b0a09 +$L$BS0: + DQ 0x5555555555555555,0x5555555555555555 +$L$BS1: + DQ 0x3333333333333333,0x3333333333333333 +$L$BS2: + DQ 0x0f0f0f0f0f0f0f0f,0x0f0f0f0f0f0f0f0f +$L$SR: + DQ 0x0504070600030201,0x0f0e0d0c0a09080b +$L$SRM0: + DQ 0x0304090e00050a0f,0x01060b0c0207080d +$L$M0SR: + DQ 0x0a0e02060f03070b,0x0004080c05090d01 +$L$SWPUP: + DQ 0x0706050403020100,0x0c0d0e0f0b0a0908 +$L$SWPUPM0SR: + DQ 0x0a0d02060c03070b,0x0004080f05090e01 +$L$ADD1: + DQ 0x0000000000000000,0x0000000100000000 +$L$ADD2: + DQ 0x0000000000000000,0x0000000200000000 +$L$ADD3: + DQ 0x0000000000000000,0x0000000300000000 +$L$ADD4: + DQ 0x0000000000000000,0x0000000400000000 +$L$ADD5: + DQ 0x0000000000000000,0x0000000500000000 +$L$ADD6: + DQ 0x0000000000000000,0x0000000600000000 +$L$ADD7: + DQ 0x0000000000000000,0x0000000700000000 +$L$ADD8: + DQ 0x0000000000000000,0x0000000800000000 +$L$xts_magic: + DD 0x87,0,1,0 +$L$masks: + DQ 0x0101010101010101,0x0101010101010101 + DQ 0x0202020202020202,0x0202020202020202 + DQ 0x0404040404040404,0x0404040404040404 + DQ 0x0808080808080808,0x0808080808080808 +$L$M0: + DQ 0x02060a0e03070b0f,0x0004080c0105090d +$L$63: + DQ 0x6363636363636363,0x6363636363636363 +DB 66,105,116,45,115,108,105,99,101,100,32,65,69,83,32,102 +DB 111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44 +DB 32,69,109,105,108,105,97,32,75,195,164,115,112,101,114,44 +DB 32,80,101,116,101,114,32,83,99,104,119,97,98,101,44,32 +DB 65,110,100,121,32,80,111,108,121,97,107,111,118,0 +ALIGN 64 + +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + + mov rax,QWORD[160+r8] + + lea rsi,[64+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + lea rax,[160+rax] + + mov rbp,QWORD[112+rax] + mov rbx,QWORD[104+rax] + mov r12,QWORD[96+rax] + mov r13,QWORD[88+rax] + mov r14,QWORD[80+rax] + mov r15,QWORD[72+rax] + lea rax,[120+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$in_prologue: + mov QWORD[152+r8],rax + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$cbc_dec_prologue wrt ..imagebase + DD $L$cbc_dec_epilogue wrt ..imagebase + DD $L$cbc_dec_info wrt ..imagebase + + DD $L$ctr_enc_prologue wrt ..imagebase + DD $L$ctr_enc_epilogue wrt ..imagebase + DD $L$ctr_enc_info wrt ..imagebase + + DD $L$xts_enc_prologue wrt ..imagebase + DD $L$xts_enc_epilogue wrt ..imagebase + DD $L$xts_enc_info wrt ..imagebase + + DD $L$xts_dec_prologue wrt ..imagebase + DD $L$xts_dec_epilogue wrt ..imagebase + DD $L$xts_dec_info wrt ..imagebase + +section .xdata rdata align=8 +ALIGN 8 +$L$cbc_dec_info: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$cbc_dec_body wrt ..imagebase,$L$cbc_dec_epilogue wrt ..imagebase +$L$ctr_enc_info: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$ctr_enc_body wrt ..imagebase,$L$ctr_enc_epilogue wrt ..imagebase +$L$xts_enc_info: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$xts_enc_body wrt ..imagebase,$L$xts_enc_epilogue wrt ..imagebase +$L$xts_dec_info: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$xts_dec_body wrt ..imagebase,$L$xts_dec_epilogue wrt ..imagebase diff --git a/tmp64/cmll-x86_64.asm b/tmp64/cmll-x86_64.asm index cb910615..28490ce0 100644 --- a/tmp64/cmll-x86_64.asm +++ b/tmp64/cmll-x86_64.asm @@ -1,2094 +1,2094 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - - -global Camellia_EncryptBlock - -ALIGN 16 -Camellia_EncryptBlock: - mov eax,128 - sub eax,ecx - mov ecx,3 - adc ecx,0 - jmp NEAR $L$enc_rounds - - -global Camellia_EncryptBlock_Rounds - -ALIGN 16 -$L$enc_rounds: -Camellia_EncryptBlock_Rounds: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_Camellia_EncryptBlock_Rounds: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - - - push rbx - push rbp - push r13 - push r14 - push r15 -$L$enc_prologue: - - - mov r13,rcx - mov r14,rdx - - shl edi,6 - lea rbp,[$L$Camellia_SBOX] - lea r15,[rdi*1+r14] - - mov r8d,DWORD[rsi] - mov r9d,DWORD[4+rsi] - mov r10d,DWORD[8+rsi] - bswap r8d - mov r11d,DWORD[12+rsi] - bswap r9d - bswap r10d - bswap r11d - - call _x86_64_Camellia_encrypt - - bswap r8d - bswap r9d - bswap r10d - mov DWORD[r13],r8d - bswap r11d - mov DWORD[4+r13],r9d - mov DWORD[8+r13],r10d - mov DWORD[12+r13],r11d - - mov r15,QWORD[rsp] - mov r14,QWORD[8+rsp] - mov r13,QWORD[16+rsp] - mov rbp,QWORD[24+rsp] - mov rbx,QWORD[32+rsp] - lea rsp,[40+rsp] -$L$enc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_Camellia_EncryptBlock_Rounds: - - -ALIGN 16 -_x86_64_Camellia_encrypt: - xor r9d,DWORD[r14] - xor r8d,DWORD[4+r14] - xor r11d,DWORD[8+r14] - xor r10d,DWORD[12+r14] -ALIGN 16 -$L$eloop: - mov ebx,DWORD[16+r14] - mov eax,DWORD[20+r14] - - xor eax,r8d - xor ebx,r9d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[24+r14] - mov eax,DWORD[28+r14] - xor ecx,edx - ror edx,8 - xor r10d,ecx - xor r11d,ecx - xor r11d,edx - xor eax,r10d - xor ebx,r11d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[32+r14] - mov eax,DWORD[36+r14] - xor ecx,edx - ror edx,8 - xor r8d,ecx - xor r9d,ecx - xor r9d,edx - xor eax,r8d - xor ebx,r9d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[40+r14] - mov eax,DWORD[44+r14] - xor ecx,edx - ror edx,8 - xor r10d,ecx - xor r11d,ecx - xor r11d,edx - xor eax,r10d - xor ebx,r11d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[48+r14] - mov eax,DWORD[52+r14] - xor ecx,edx - ror edx,8 - xor r8d,ecx - xor r9d,ecx - xor r9d,edx - xor eax,r8d - xor ebx,r9d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[56+r14] - mov eax,DWORD[60+r14] - xor ecx,edx - ror edx,8 - xor r10d,ecx - xor r11d,ecx - xor r11d,edx - xor eax,r10d - xor ebx,r11d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[64+r14] - mov eax,DWORD[68+r14] - xor ecx,edx - ror edx,8 - xor r8d,ecx - xor r9d,ecx - xor r9d,edx - lea r14,[64+r14] - cmp r14,r15 - mov edx,DWORD[8+r14] - mov ecx,DWORD[12+r14] - je NEAR $L$edone - - and eax,r8d - or edx,r11d - rol eax,1 - xor r10d,edx - xor r9d,eax - and ecx,r10d - or ebx,r9d - rol ecx,1 - xor r8d,ebx - xor r11d,ecx - jmp NEAR $L$eloop - -ALIGN 16 -$L$edone: - xor eax,r10d - xor ebx,r11d - xor ecx,r8d - xor edx,r9d - - mov r8d,eax - mov r9d,ebx - mov r10d,ecx - mov r11d,edx - -DB 0xf3,0xc3 - - - -global Camellia_DecryptBlock - -ALIGN 16 -Camellia_DecryptBlock: - mov eax,128 - sub eax,ecx - mov ecx,3 - adc ecx,0 - jmp NEAR $L$dec_rounds - - -global Camellia_DecryptBlock_Rounds - -ALIGN 16 -$L$dec_rounds: -Camellia_DecryptBlock_Rounds: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_Camellia_DecryptBlock_Rounds: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - - - push rbx - push rbp - push r13 - push r14 - push r15 -$L$dec_prologue: - - - mov r13,rcx - mov r15,rdx - - shl edi,6 - lea rbp,[$L$Camellia_SBOX] - lea r14,[rdi*1+r15] - - mov r8d,DWORD[rsi] - mov r9d,DWORD[4+rsi] - mov r10d,DWORD[8+rsi] - bswap r8d - mov r11d,DWORD[12+rsi] - bswap r9d - bswap r10d - bswap r11d - - call _x86_64_Camellia_decrypt - - bswap r8d - bswap r9d - bswap r10d - mov DWORD[r13],r8d - bswap r11d - mov DWORD[4+r13],r9d - mov DWORD[8+r13],r10d - mov DWORD[12+r13],r11d - - mov r15,QWORD[rsp] - mov r14,QWORD[8+rsp] - mov r13,QWORD[16+rsp] - mov rbp,QWORD[24+rsp] - mov rbx,QWORD[32+rsp] - lea rsp,[40+rsp] -$L$dec_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_Camellia_DecryptBlock_Rounds: - - -ALIGN 16 -_x86_64_Camellia_decrypt: - xor r9d,DWORD[r14] - xor r8d,DWORD[4+r14] - xor r11d,DWORD[8+r14] - xor r10d,DWORD[12+r14] -ALIGN 16 -$L$dloop: - mov ebx,DWORD[((-8))+r14] - mov eax,DWORD[((-4))+r14] - - xor eax,r8d - xor ebx,r9d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[((-16))+r14] - mov eax,DWORD[((-12))+r14] - xor ecx,edx - ror edx,8 - xor r10d,ecx - xor r11d,ecx - xor r11d,edx - xor eax,r10d - xor ebx,r11d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[((-24))+r14] - mov eax,DWORD[((-20))+r14] - xor ecx,edx - ror edx,8 - xor r8d,ecx - xor r9d,ecx - xor r9d,edx - xor eax,r8d - xor ebx,r9d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[((-32))+r14] - mov eax,DWORD[((-28))+r14] - xor ecx,edx - ror edx,8 - xor r10d,ecx - xor r11d,ecx - xor r11d,edx - xor eax,r10d - xor ebx,r11d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[((-40))+r14] - mov eax,DWORD[((-36))+r14] - xor ecx,edx - ror edx,8 - xor r8d,ecx - xor r9d,ecx - xor r9d,edx - xor eax,r8d - xor ebx,r9d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[((-48))+r14] - mov eax,DWORD[((-44))+r14] - xor ecx,edx - ror edx,8 - xor r10d,ecx - xor r11d,ecx - xor r11d,edx - xor eax,r10d - xor ebx,r11d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[((-56))+r14] - mov eax,DWORD[((-52))+r14] - xor ecx,edx - ror edx,8 - xor r8d,ecx - xor r9d,ecx - xor r9d,edx - lea r14,[((-64))+r14] - cmp r14,r15 - mov edx,DWORD[r14] - mov ecx,DWORD[4+r14] - je NEAR $L$ddone - - and eax,r8d - or edx,r11d - rol eax,1 - xor r10d,edx - xor r9d,eax - and ecx,r10d - or ebx,r9d - rol ecx,1 - xor r8d,ebx - xor r11d,ecx - - jmp NEAR $L$dloop - -ALIGN 16 -$L$ddone: - xor ecx,r10d - xor edx,r11d - xor eax,r8d - xor ebx,r9d - - mov r8d,ecx - mov r9d,edx - mov r10d,eax - mov r11d,ebx - -DB 0xf3,0xc3 - -global Camellia_Ekeygen - -ALIGN 16 -Camellia_Ekeygen: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_Camellia_Ekeygen: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - push rbx - push rbp - push r13 - push r14 - push r15 -$L$key_prologue: - - mov r15d,edi - mov r13,rdx - - mov r8d,DWORD[rsi] - mov r9d,DWORD[4+rsi] - mov r10d,DWORD[8+rsi] - mov r11d,DWORD[12+rsi] - - bswap r8d - bswap r9d - bswap r10d - bswap r11d - mov DWORD[r13],r9d - mov DWORD[4+r13],r8d - mov DWORD[8+r13],r11d - mov DWORD[12+r13],r10d - cmp r15,128 - je NEAR $L$1st128 - - mov r8d,DWORD[16+rsi] - mov r9d,DWORD[20+rsi] - cmp r15,192 - je NEAR $L$1st192 - mov r10d,DWORD[24+rsi] - mov r11d,DWORD[28+rsi] - jmp NEAR $L$1st256 -$L$1st192: - mov r10d,r8d - mov r11d,r9d - not r10d - not r11d -$L$1st256: - bswap r8d - bswap r9d - bswap r10d - bswap r11d - mov DWORD[32+r13],r9d - mov DWORD[36+r13],r8d - mov DWORD[40+r13],r11d - mov DWORD[44+r13],r10d - xor r9d,DWORD[r13] - xor r8d,DWORD[4+r13] - xor r11d,DWORD[8+r13] - xor r10d,DWORD[12+r13] - -$L$1st128: - lea r14,[$L$Camellia_SIGMA] - lea rbp,[$L$Camellia_SBOX] - - mov ebx,DWORD[r14] - mov eax,DWORD[4+r14] - xor eax,r8d - xor ebx,r9d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[8+r14] - mov eax,DWORD[12+r14] - xor ecx,edx - ror edx,8 - xor r10d,ecx - xor r11d,ecx - xor r11d,edx - xor eax,r10d - xor ebx,r11d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[16+r14] - mov eax,DWORD[20+r14] - xor ecx,edx - ror edx,8 - xor r8d,ecx - xor r9d,ecx - xor r9d,edx - xor r9d,DWORD[r13] - xor r8d,DWORD[4+r13] - xor r11d,DWORD[8+r13] - xor r10d,DWORD[12+r13] - xor eax,r8d - xor ebx,r9d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[24+r14] - mov eax,DWORD[28+r14] - xor ecx,edx - ror edx,8 - xor r10d,ecx - xor r11d,ecx - xor r11d,edx - xor eax,r10d - xor ebx,r11d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[32+r14] - mov eax,DWORD[36+r14] - xor ecx,edx - ror edx,8 - xor r8d,ecx - xor r9d,ecx - xor r9d,edx - cmp r15,128 - jne NEAR $L$2nd256 - - lea r13,[128+r13] - shl r8,32 - shl r10,32 - or r8,r9 - or r10,r11 - mov rax,QWORD[((-128))+r13] - mov rbx,QWORD[((-120))+r13] - mov QWORD[((-112))+r13],r8 - mov QWORD[((-104))+r13],r10 - mov r11,rax - shl rax,15 - mov r9,rbx - shr r9,49 - shr r11,49 - or rax,r9 - shl rbx,15 - or rbx,r11 - mov QWORD[((-96))+r13],rax - mov QWORD[((-88))+r13],rbx - mov r11,r8 - shl r8,15 - mov r9,r10 - shr r9,49 - shr r11,49 - or r8,r9 - shl r10,15 - or r10,r11 - mov QWORD[((-80))+r13],r8 - mov QWORD[((-72))+r13],r10 - mov r11,r8 - shl r8,15 - mov r9,r10 - shr r9,49 - shr r11,49 - or r8,r9 - shl r10,15 - or r10,r11 - mov QWORD[((-64))+r13],r8 - mov QWORD[((-56))+r13],r10 - mov r11,rax - shl rax,30 - mov r9,rbx - shr r9,34 - shr r11,34 - or rax,r9 - shl rbx,30 - or rbx,r11 - mov QWORD[((-48))+r13],rax - mov QWORD[((-40))+r13],rbx - mov r11,r8 - shl r8,15 - mov r9,r10 - shr r9,49 - shr r11,49 - or r8,r9 - shl r10,15 - or r10,r11 - mov QWORD[((-32))+r13],r8 - mov r11,rax - shl rax,15 - mov r9,rbx - shr r9,49 - shr r11,49 - or rax,r9 - shl rbx,15 - or rbx,r11 - mov QWORD[((-24))+r13],rbx - mov r11,r8 - shl r8,15 - mov r9,r10 - shr r9,49 - shr r11,49 - or r8,r9 - shl r10,15 - or r10,r11 - mov QWORD[((-16))+r13],r8 - mov QWORD[((-8))+r13],r10 - mov r11,rax - shl rax,17 - mov r9,rbx - shr r9,47 - shr r11,47 - or rax,r9 - shl rbx,17 - or rbx,r11 - mov QWORD[r13],rax - mov QWORD[8+r13],rbx - mov r11,rax - shl rax,17 - mov r9,rbx - shr r9,47 - shr r11,47 - or rax,r9 - shl rbx,17 - or rbx,r11 - mov QWORD[16+r13],rax - mov QWORD[24+r13],rbx - mov r11,r8 - shl r8,34 - mov r9,r10 - shr r9,30 - shr r11,30 - or r8,r9 - shl r10,34 - or r10,r11 - mov QWORD[32+r13],r8 - mov QWORD[40+r13],r10 - mov r11,rax - shl rax,17 - mov r9,rbx - shr r9,47 - shr r11,47 - or rax,r9 - shl rbx,17 - or rbx,r11 - mov QWORD[48+r13],rax - mov QWORD[56+r13],rbx - mov r11,r8 - shl r8,17 - mov r9,r10 - shr r9,47 - shr r11,47 - or r8,r9 - shl r10,17 - or r10,r11 - mov QWORD[64+r13],r8 - mov QWORD[72+r13],r10 - mov eax,3 - jmp NEAR $L$done -ALIGN 16 -$L$2nd256: - mov DWORD[48+r13],r9d - mov DWORD[52+r13],r8d - mov DWORD[56+r13],r11d - mov DWORD[60+r13],r10d - xor r9d,DWORD[32+r13] - xor r8d,DWORD[36+r13] - xor r11d,DWORD[40+r13] - xor r10d,DWORD[44+r13] - xor eax,r8d - xor ebx,r9d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[40+r14] - mov eax,DWORD[44+r14] - xor ecx,edx - ror edx,8 - xor r10d,ecx - xor r11d,ecx - xor r11d,edx - xor eax,r10d - xor ebx,r11d - movzx esi,ah - movzx edi,bl - mov edx,DWORD[2052+rsi*8+rbp] - mov ecx,DWORD[rdi*8+rbp] - movzx esi,al - shr eax,16 - movzx edi,bh - xor edx,DWORD[4+rsi*8+rbp] - shr ebx,16 - xor ecx,DWORD[4+rdi*8+rbp] - movzx esi,ah - movzx edi,bl - xor edx,DWORD[rsi*8+rbp] - xor ecx,DWORD[2052+rdi*8+rbp] - movzx esi,al - movzx edi,bh - xor edx,DWORD[2048+rsi*8+rbp] - xor ecx,DWORD[2048+rdi*8+rbp] - mov ebx,DWORD[48+r14] - mov eax,DWORD[52+r14] - xor ecx,edx - ror edx,8 - xor r8d,ecx - xor r9d,ecx - xor r9d,edx - mov rax,QWORD[r13] - mov rbx,QWORD[8+r13] - mov rcx,QWORD[32+r13] - mov rdx,QWORD[40+r13] - mov r14,QWORD[48+r13] - mov r15,QWORD[56+r13] - lea r13,[128+r13] - shl r8,32 - shl r10,32 - or r8,r9 - or r10,r11 - mov QWORD[((-112))+r13],r8 - mov QWORD[((-104))+r13],r10 - mov r11,rcx - shl rcx,15 - mov r9,rdx - shr r9,49 - shr r11,49 - or rcx,r9 - shl rdx,15 - or rdx,r11 - mov QWORD[((-96))+r13],rcx - mov QWORD[((-88))+r13],rdx - mov r11,r14 - shl r14,15 - mov r9,r15 - shr r9,49 - shr r11,49 - or r14,r9 - shl r15,15 - or r15,r11 - mov QWORD[((-80))+r13],r14 - mov QWORD[((-72))+r13],r15 - mov r11,rcx - shl rcx,15 - mov r9,rdx - shr r9,49 - shr r11,49 - or rcx,r9 - shl rdx,15 - or rdx,r11 - mov QWORD[((-64))+r13],rcx - mov QWORD[((-56))+r13],rdx - mov r11,r8 - shl r8,30 - mov r9,r10 - shr r9,34 - shr r11,34 - or r8,r9 - shl r10,30 - or r10,r11 - mov QWORD[((-48))+r13],r8 - mov QWORD[((-40))+r13],r10 - mov r11,rax - shl rax,45 - mov r9,rbx - shr r9,19 - shr r11,19 - or rax,r9 - shl rbx,45 - or rbx,r11 - mov QWORD[((-32))+r13],rax - mov QWORD[((-24))+r13],rbx - mov r11,r14 - shl r14,30 - mov r9,r15 - shr r9,34 - shr r11,34 - or r14,r9 - shl r15,30 - or r15,r11 - mov QWORD[((-16))+r13],r14 - mov QWORD[((-8))+r13],r15 - mov r11,rax - shl rax,15 - mov r9,rbx - shr r9,49 - shr r11,49 - or rax,r9 - shl rbx,15 - or rbx,r11 - mov QWORD[r13],rax - mov QWORD[8+r13],rbx - mov r11,rcx - shl rcx,30 - mov r9,rdx - shr r9,34 - shr r11,34 - or rcx,r9 - shl rdx,30 - or rdx,r11 - mov QWORD[16+r13],rcx - mov QWORD[24+r13],rdx - mov r11,r8 - shl r8,30 - mov r9,r10 - shr r9,34 - shr r11,34 - or r8,r9 - shl r10,30 - or r10,r11 - mov QWORD[32+r13],r8 - mov QWORD[40+r13],r10 - mov r11,rax - shl rax,17 - mov r9,rbx - shr r9,47 - shr r11,47 - or rax,r9 - shl rbx,17 - or rbx,r11 - mov QWORD[48+r13],rax - mov QWORD[56+r13],rbx - mov r11,r14 - shl r14,32 - mov r9,r15 - shr r9,32 - shr r11,32 - or r14,r9 - shl r15,32 - or r15,r11 - mov QWORD[64+r13],r14 - mov QWORD[72+r13],r15 - mov r11,rcx - shl rcx,34 - mov r9,rdx - shr r9,30 - shr r11,30 - or rcx,r9 - shl rdx,34 - or rdx,r11 - mov QWORD[80+r13],rcx - mov QWORD[88+r13],rdx - mov r11,r14 - shl r14,17 - mov r9,r15 - shr r9,47 - shr r11,47 - or r14,r9 - shl r15,17 - or r15,r11 - mov QWORD[96+r13],r14 - mov QWORD[104+r13],r15 - mov r11,rax - shl rax,34 - mov r9,rbx - shr r9,30 - shr r11,30 - or rax,r9 - shl rbx,34 - or rbx,r11 - mov QWORD[112+r13],rax - mov QWORD[120+r13],rbx - mov r11,r8 - shl r8,51 - mov r9,r10 - shr r9,13 - shr r11,13 - or r8,r9 - shl r10,51 - or r10,r11 - mov QWORD[128+r13],r8 - mov QWORD[136+r13],r10 - mov eax,4 -$L$done: - mov r15,QWORD[rsp] - mov r14,QWORD[8+rsp] - mov r13,QWORD[16+rsp] - mov rbp,QWORD[24+rsp] - mov rbx,QWORD[32+rsp] - lea rsp,[40+rsp] -$L$key_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_Camellia_Ekeygen: -ALIGN 64 -$L$Camellia_SIGMA: - DD 0x3bcc908b,0xa09e667f,0x4caa73b2,0xb67ae858 - DD 0xe94f82be,0xc6ef372f,0xf1d36f1c,0x54ff53a5 - DD 0xde682d1d,0x10e527fa,0xb3e6c1fd,0xb05688c2 - DD 0,0,0,0 -$L$Camellia_SBOX: - DD 0x70707000,0x70700070 - DD 0x82828200,0x2c2c002c - DD 0x2c2c2c00,0xb3b300b3 - DD 0xececec00,0xc0c000c0 - DD 0xb3b3b300,0xe4e400e4 - DD 0x27272700,0x57570057 - DD 0xc0c0c000,0xeaea00ea - DD 0xe5e5e500,0xaeae00ae - DD 0xe4e4e400,0x23230023 - DD 0x85858500,0x6b6b006b - DD 0x57575700,0x45450045 - DD 0x35353500,0xa5a500a5 - DD 0xeaeaea00,0xeded00ed - DD 0x0c0c0c00,0x4f4f004f - DD 0xaeaeae00,0x1d1d001d - DD 0x41414100,0x92920092 - DD 0x23232300,0x86860086 - DD 0xefefef00,0xafaf00af - DD 0x6b6b6b00,0x7c7c007c - DD 0x93939300,0x1f1f001f - DD 0x45454500,0x3e3e003e - DD 0x19191900,0xdcdc00dc - DD 0xa5a5a500,0x5e5e005e - DD 0x21212100,0x0b0b000b - DD 0xededed00,0xa6a600a6 - DD 0x0e0e0e00,0x39390039 - DD 0x4f4f4f00,0xd5d500d5 - DD 0x4e4e4e00,0x5d5d005d - DD 0x1d1d1d00,0xd9d900d9 - DD 0x65656500,0x5a5a005a - DD 0x92929200,0x51510051 - DD 0xbdbdbd00,0x6c6c006c - DD 0x86868600,0x8b8b008b - DD 0xb8b8b800,0x9a9a009a - DD 0xafafaf00,0xfbfb00fb - DD 0x8f8f8f00,0xb0b000b0 - DD 0x7c7c7c00,0x74740074 - DD 0xebebeb00,0x2b2b002b - DD 0x1f1f1f00,0xf0f000f0 - DD 0xcecece00,0x84840084 - DD 0x3e3e3e00,0xdfdf00df - DD 0x30303000,0xcbcb00cb - DD 0xdcdcdc00,0x34340034 - DD 0x5f5f5f00,0x76760076 - DD 0x5e5e5e00,0x6d6d006d - DD 0xc5c5c500,0xa9a900a9 - DD 0x0b0b0b00,0xd1d100d1 - DD 0x1a1a1a00,0x04040004 - DD 0xa6a6a600,0x14140014 - DD 0xe1e1e100,0x3a3a003a - DD 0x39393900,0xdede00de - DD 0xcacaca00,0x11110011 - DD 0xd5d5d500,0x32320032 - DD 0x47474700,0x9c9c009c - DD 0x5d5d5d00,0x53530053 - DD 0x3d3d3d00,0xf2f200f2 - DD 0xd9d9d900,0xfefe00fe - DD 0x01010100,0xcfcf00cf - DD 0x5a5a5a00,0xc3c300c3 - DD 0xd6d6d600,0x7a7a007a - DD 0x51515100,0x24240024 - DD 0x56565600,0xe8e800e8 - DD 0x6c6c6c00,0x60600060 - DD 0x4d4d4d00,0x69690069 - DD 0x8b8b8b00,0xaaaa00aa - DD 0x0d0d0d00,0xa0a000a0 - DD 0x9a9a9a00,0xa1a100a1 - DD 0x66666600,0x62620062 - DD 0xfbfbfb00,0x54540054 - DD 0xcccccc00,0x1e1e001e - DD 0xb0b0b000,0xe0e000e0 - DD 0x2d2d2d00,0x64640064 - DD 0x74747400,0x10100010 - DD 0x12121200,0x00000000 - DD 0x2b2b2b00,0xa3a300a3 - DD 0x20202000,0x75750075 - DD 0xf0f0f000,0x8a8a008a - DD 0xb1b1b100,0xe6e600e6 - DD 0x84848400,0x09090009 - DD 0x99999900,0xdddd00dd - DD 0xdfdfdf00,0x87870087 - DD 0x4c4c4c00,0x83830083 - DD 0xcbcbcb00,0xcdcd00cd - DD 0xc2c2c200,0x90900090 - DD 0x34343400,0x73730073 - DD 0x7e7e7e00,0xf6f600f6 - DD 0x76767600,0x9d9d009d - DD 0x05050500,0xbfbf00bf - DD 0x6d6d6d00,0x52520052 - DD 0xb7b7b700,0xd8d800d8 - DD 0xa9a9a900,0xc8c800c8 - DD 0x31313100,0xc6c600c6 - DD 0xd1d1d100,0x81810081 - DD 0x17171700,0x6f6f006f - DD 0x04040400,0x13130013 - DD 0xd7d7d700,0x63630063 - DD 0x14141400,0xe9e900e9 - DD 0x58585800,0xa7a700a7 - DD 0x3a3a3a00,0x9f9f009f - DD 0x61616100,0xbcbc00bc - DD 0xdedede00,0x29290029 - DD 0x1b1b1b00,0xf9f900f9 - DD 0x11111100,0x2f2f002f - DD 0x1c1c1c00,0xb4b400b4 - DD 0x32323200,0x78780078 - DD 0x0f0f0f00,0x06060006 - DD 0x9c9c9c00,0xe7e700e7 - DD 0x16161600,0x71710071 - DD 0x53535300,0xd4d400d4 - DD 0x18181800,0xabab00ab - DD 0xf2f2f200,0x88880088 - DD 0x22222200,0x8d8d008d - DD 0xfefefe00,0x72720072 - DD 0x44444400,0xb9b900b9 - DD 0xcfcfcf00,0xf8f800f8 - DD 0xb2b2b200,0xacac00ac - DD 0xc3c3c300,0x36360036 - DD 0xb5b5b500,0x2a2a002a - DD 0x7a7a7a00,0x3c3c003c - DD 0x91919100,0xf1f100f1 - DD 0x24242400,0x40400040 - DD 0x08080800,0xd3d300d3 - DD 0xe8e8e800,0xbbbb00bb - DD 0xa8a8a800,0x43430043 - DD 0x60606000,0x15150015 - DD 0xfcfcfc00,0xadad00ad - DD 0x69696900,0x77770077 - DD 0x50505000,0x80800080 - DD 0xaaaaaa00,0x82820082 - DD 0xd0d0d000,0xecec00ec - DD 0xa0a0a000,0x27270027 - DD 0x7d7d7d00,0xe5e500e5 - DD 0xa1a1a100,0x85850085 - DD 0x89898900,0x35350035 - DD 0x62626200,0x0c0c000c - DD 0x97979700,0x41410041 - DD 0x54545400,0xefef00ef - DD 0x5b5b5b00,0x93930093 - DD 0x1e1e1e00,0x19190019 - DD 0x95959500,0x21210021 - DD 0xe0e0e000,0x0e0e000e - DD 0xffffff00,0x4e4e004e - DD 0x64646400,0x65650065 - DD 0xd2d2d200,0xbdbd00bd - DD 0x10101000,0xb8b800b8 - DD 0xc4c4c400,0x8f8f008f - DD 0x00000000,0xebeb00eb - DD 0x48484800,0xcece00ce - DD 0xa3a3a300,0x30300030 - DD 0xf7f7f700,0x5f5f005f - DD 0x75757500,0xc5c500c5 - DD 0xdbdbdb00,0x1a1a001a - DD 0x8a8a8a00,0xe1e100e1 - DD 0x03030300,0xcaca00ca - DD 0xe6e6e600,0x47470047 - DD 0xdadada00,0x3d3d003d - DD 0x09090900,0x01010001 - DD 0x3f3f3f00,0xd6d600d6 - DD 0xdddddd00,0x56560056 - DD 0x94949400,0x4d4d004d - DD 0x87878700,0x0d0d000d - DD 0x5c5c5c00,0x66660066 - DD 0x83838300,0xcccc00cc - DD 0x02020200,0x2d2d002d - DD 0xcdcdcd00,0x12120012 - DD 0x4a4a4a00,0x20200020 - DD 0x90909000,0xb1b100b1 - DD 0x33333300,0x99990099 - DD 0x73737300,0x4c4c004c - DD 0x67676700,0xc2c200c2 - DD 0xf6f6f600,0x7e7e007e - DD 0xf3f3f300,0x05050005 - DD 0x9d9d9d00,0xb7b700b7 - DD 0x7f7f7f00,0x31310031 - DD 0xbfbfbf00,0x17170017 - DD 0xe2e2e200,0xd7d700d7 - DD 0x52525200,0x58580058 - DD 0x9b9b9b00,0x61610061 - DD 0xd8d8d800,0x1b1b001b - DD 0x26262600,0x1c1c001c - DD 0xc8c8c800,0x0f0f000f - DD 0x37373700,0x16160016 - DD 0xc6c6c600,0x18180018 - DD 0x3b3b3b00,0x22220022 - DD 0x81818100,0x44440044 - DD 0x96969600,0xb2b200b2 - DD 0x6f6f6f00,0xb5b500b5 - DD 0x4b4b4b00,0x91910091 - DD 0x13131300,0x08080008 - DD 0xbebebe00,0xa8a800a8 - DD 0x63636300,0xfcfc00fc - DD 0x2e2e2e00,0x50500050 - DD 0xe9e9e900,0xd0d000d0 - DD 0x79797900,0x7d7d007d - DD 0xa7a7a700,0x89890089 - DD 0x8c8c8c00,0x97970097 - DD 0x9f9f9f00,0x5b5b005b - DD 0x6e6e6e00,0x95950095 - DD 0xbcbcbc00,0xffff00ff - DD 0x8e8e8e00,0xd2d200d2 - DD 0x29292900,0xc4c400c4 - DD 0xf5f5f500,0x48480048 - DD 0xf9f9f900,0xf7f700f7 - DD 0xb6b6b600,0xdbdb00db - DD 0x2f2f2f00,0x03030003 - DD 0xfdfdfd00,0xdada00da - DD 0xb4b4b400,0x3f3f003f - DD 0x59595900,0x94940094 - DD 0x78787800,0x5c5c005c - DD 0x98989800,0x02020002 - DD 0x06060600,0x4a4a004a - DD 0x6a6a6a00,0x33330033 - DD 0xe7e7e700,0x67670067 - DD 0x46464600,0xf3f300f3 - DD 0x71717100,0x7f7f007f - DD 0xbababa00,0xe2e200e2 - DD 0xd4d4d400,0x9b9b009b - DD 0x25252500,0x26260026 - DD 0xababab00,0x37370037 - DD 0x42424200,0x3b3b003b - DD 0x88888800,0x96960096 - DD 0xa2a2a200,0x4b4b004b - DD 0x8d8d8d00,0xbebe00be - DD 0xfafafa00,0x2e2e002e - DD 0x72727200,0x79790079 - DD 0x07070700,0x8c8c008c - DD 0xb9b9b900,0x6e6e006e - DD 0x55555500,0x8e8e008e - DD 0xf8f8f800,0xf5f500f5 - DD 0xeeeeee00,0xb6b600b6 - DD 0xacacac00,0xfdfd00fd - DD 0x0a0a0a00,0x59590059 - DD 0x36363600,0x98980098 - DD 0x49494900,0x6a6a006a - DD 0x2a2a2a00,0x46460046 - DD 0x68686800,0xbaba00ba - DD 0x3c3c3c00,0x25250025 - DD 0x38383800,0x42420042 - DD 0xf1f1f100,0xa2a200a2 - DD 0xa4a4a400,0xfafa00fa - DD 0x40404000,0x07070007 - DD 0x28282800,0x55550055 - DD 0xd3d3d300,0xeeee00ee - DD 0x7b7b7b00,0x0a0a000a - DD 0xbbbbbb00,0x49490049 - DD 0xc9c9c900,0x68680068 - DD 0x43434300,0x38380038 - DD 0xc1c1c100,0xa4a400a4 - DD 0x15151500,0x28280028 - DD 0xe3e3e300,0x7b7b007b - DD 0xadadad00,0xc9c900c9 - DD 0xf4f4f400,0xc1c100c1 - DD 0x77777700,0xe3e300e3 - DD 0xc7c7c700,0xf4f400f4 - DD 0x80808000,0xc7c700c7 - DD 0x9e9e9e00,0x9e9e009e - DD 0x00e0e0e0,0x38003838 - DD 0x00050505,0x41004141 - DD 0x00585858,0x16001616 - DD 0x00d9d9d9,0x76007676 - DD 0x00676767,0xd900d9d9 - DD 0x004e4e4e,0x93009393 - DD 0x00818181,0x60006060 - DD 0x00cbcbcb,0xf200f2f2 - DD 0x00c9c9c9,0x72007272 - DD 0x000b0b0b,0xc200c2c2 - DD 0x00aeaeae,0xab00abab - DD 0x006a6a6a,0x9a009a9a - DD 0x00d5d5d5,0x75007575 - DD 0x00181818,0x06000606 - DD 0x005d5d5d,0x57005757 - DD 0x00828282,0xa000a0a0 - DD 0x00464646,0x91009191 - DD 0x00dfdfdf,0xf700f7f7 - DD 0x00d6d6d6,0xb500b5b5 - DD 0x00272727,0xc900c9c9 - DD 0x008a8a8a,0xa200a2a2 - DD 0x00323232,0x8c008c8c - DD 0x004b4b4b,0xd200d2d2 - DD 0x00424242,0x90009090 - DD 0x00dbdbdb,0xf600f6f6 - DD 0x001c1c1c,0x07000707 - DD 0x009e9e9e,0xa700a7a7 - DD 0x009c9c9c,0x27002727 - DD 0x003a3a3a,0x8e008e8e - DD 0x00cacaca,0xb200b2b2 - DD 0x00252525,0x49004949 - DD 0x007b7b7b,0xde00dede - DD 0x000d0d0d,0x43004343 - DD 0x00717171,0x5c005c5c - DD 0x005f5f5f,0xd700d7d7 - DD 0x001f1f1f,0xc700c7c7 - DD 0x00f8f8f8,0x3e003e3e - DD 0x00d7d7d7,0xf500f5f5 - DD 0x003e3e3e,0x8f008f8f - DD 0x009d9d9d,0x67006767 - DD 0x007c7c7c,0x1f001f1f - DD 0x00606060,0x18001818 - DD 0x00b9b9b9,0x6e006e6e - DD 0x00bebebe,0xaf00afaf - DD 0x00bcbcbc,0x2f002f2f - DD 0x008b8b8b,0xe200e2e2 - DD 0x00161616,0x85008585 - DD 0x00343434,0x0d000d0d - DD 0x004d4d4d,0x53005353 - DD 0x00c3c3c3,0xf000f0f0 - DD 0x00727272,0x9c009c9c - DD 0x00959595,0x65006565 - DD 0x00ababab,0xea00eaea - DD 0x008e8e8e,0xa300a3a3 - DD 0x00bababa,0xae00aeae - DD 0x007a7a7a,0x9e009e9e - DD 0x00b3b3b3,0xec00ecec - DD 0x00020202,0x80008080 - DD 0x00b4b4b4,0x2d002d2d - DD 0x00adadad,0x6b006b6b - DD 0x00a2a2a2,0xa800a8a8 - DD 0x00acacac,0x2b002b2b - DD 0x00d8d8d8,0x36003636 - DD 0x009a9a9a,0xa600a6a6 - DD 0x00171717,0xc500c5c5 - DD 0x001a1a1a,0x86008686 - DD 0x00353535,0x4d004d4d - DD 0x00cccccc,0x33003333 - DD 0x00f7f7f7,0xfd00fdfd - DD 0x00999999,0x66006666 - DD 0x00616161,0x58005858 - DD 0x005a5a5a,0x96009696 - DD 0x00e8e8e8,0x3a003a3a - DD 0x00242424,0x09000909 - DD 0x00565656,0x95009595 - DD 0x00404040,0x10001010 - DD 0x00e1e1e1,0x78007878 - DD 0x00636363,0xd800d8d8 - DD 0x00090909,0x42004242 - DD 0x00333333,0xcc00cccc - DD 0x00bfbfbf,0xef00efef - DD 0x00989898,0x26002626 - DD 0x00979797,0xe500e5e5 - DD 0x00858585,0x61006161 - DD 0x00686868,0x1a001a1a - DD 0x00fcfcfc,0x3f003f3f - DD 0x00ececec,0x3b003b3b - DD 0x000a0a0a,0x82008282 - DD 0x00dadada,0xb600b6b6 - DD 0x006f6f6f,0xdb00dbdb - DD 0x00535353,0xd400d4d4 - DD 0x00626262,0x98009898 - DD 0x00a3a3a3,0xe800e8e8 - DD 0x002e2e2e,0x8b008b8b - DD 0x00080808,0x02000202 - DD 0x00afafaf,0xeb00ebeb - DD 0x00282828,0x0a000a0a - DD 0x00b0b0b0,0x2c002c2c - DD 0x00747474,0x1d001d1d - DD 0x00c2c2c2,0xb000b0b0 - DD 0x00bdbdbd,0x6f006f6f - DD 0x00363636,0x8d008d8d - DD 0x00222222,0x88008888 - DD 0x00383838,0x0e000e0e - DD 0x00646464,0x19001919 - DD 0x001e1e1e,0x87008787 - DD 0x00393939,0x4e004e4e - DD 0x002c2c2c,0x0b000b0b - DD 0x00a6a6a6,0xa900a9a9 - DD 0x00303030,0x0c000c0c - DD 0x00e5e5e5,0x79007979 - DD 0x00444444,0x11001111 - DD 0x00fdfdfd,0x7f007f7f - DD 0x00888888,0x22002222 - DD 0x009f9f9f,0xe700e7e7 - DD 0x00656565,0x59005959 - DD 0x00878787,0xe100e1e1 - DD 0x006b6b6b,0xda00dada - DD 0x00f4f4f4,0x3d003d3d - DD 0x00232323,0xc800c8c8 - DD 0x00484848,0x12001212 - DD 0x00101010,0x04000404 - DD 0x00d1d1d1,0x74007474 - DD 0x00515151,0x54005454 - DD 0x00c0c0c0,0x30003030 - DD 0x00f9f9f9,0x7e007e7e - DD 0x00d2d2d2,0xb400b4b4 - DD 0x00a0a0a0,0x28002828 - DD 0x00555555,0x55005555 - DD 0x00a1a1a1,0x68006868 - DD 0x00414141,0x50005050 - DD 0x00fafafa,0xbe00bebe - DD 0x00434343,0xd000d0d0 - DD 0x00131313,0xc400c4c4 - DD 0x00c4c4c4,0x31003131 - DD 0x002f2f2f,0xcb00cbcb - DD 0x00a8a8a8,0x2a002a2a - DD 0x00b6b6b6,0xad00adad - DD 0x003c3c3c,0x0f000f0f - DD 0x002b2b2b,0xca00caca - DD 0x00c1c1c1,0x70007070 - DD 0x00ffffff,0xff00ffff - DD 0x00c8c8c8,0x32003232 - DD 0x00a5a5a5,0x69006969 - DD 0x00202020,0x08000808 - DD 0x00898989,0x62006262 - DD 0x00000000,0x00000000 - DD 0x00909090,0x24002424 - DD 0x00474747,0xd100d1d1 - DD 0x00efefef,0xfb00fbfb - DD 0x00eaeaea,0xba00baba - DD 0x00b7b7b7,0xed00eded - DD 0x00151515,0x45004545 - DD 0x00060606,0x81008181 - DD 0x00cdcdcd,0x73007373 - DD 0x00b5b5b5,0x6d006d6d - DD 0x00121212,0x84008484 - DD 0x007e7e7e,0x9f009f9f - DD 0x00bbbbbb,0xee00eeee - DD 0x00292929,0x4a004a4a - DD 0x000f0f0f,0xc300c3c3 - DD 0x00b8b8b8,0x2e002e2e - DD 0x00070707,0xc100c1c1 - DD 0x00040404,0x01000101 - DD 0x009b9b9b,0xe600e6e6 - DD 0x00949494,0x25002525 - DD 0x00212121,0x48004848 - DD 0x00666666,0x99009999 - DD 0x00e6e6e6,0xb900b9b9 - DD 0x00cecece,0xb300b3b3 - DD 0x00ededed,0x7b007b7b - DD 0x00e7e7e7,0xf900f9f9 - DD 0x003b3b3b,0xce00cece - DD 0x00fefefe,0xbf00bfbf - DD 0x007f7f7f,0xdf00dfdf - DD 0x00c5c5c5,0x71007171 - DD 0x00a4a4a4,0x29002929 - DD 0x00373737,0xcd00cdcd - DD 0x00b1b1b1,0x6c006c6c - DD 0x004c4c4c,0x13001313 - DD 0x00919191,0x64006464 - DD 0x006e6e6e,0x9b009b9b - DD 0x008d8d8d,0x63006363 - DD 0x00767676,0x9d009d9d - DD 0x00030303,0xc000c0c0 - DD 0x002d2d2d,0x4b004b4b - DD 0x00dedede,0xb700b7b7 - DD 0x00969696,0xa500a5a5 - DD 0x00262626,0x89008989 - DD 0x007d7d7d,0x5f005f5f - DD 0x00c6c6c6,0xb100b1b1 - DD 0x005c5c5c,0x17001717 - DD 0x00d3d3d3,0xf400f4f4 - DD 0x00f2f2f2,0xbc00bcbc - DD 0x004f4f4f,0xd300d3d3 - DD 0x00191919,0x46004646 - DD 0x003f3f3f,0xcf00cfcf - DD 0x00dcdcdc,0x37003737 - DD 0x00797979,0x5e005e5e - DD 0x001d1d1d,0x47004747 - DD 0x00525252,0x94009494 - DD 0x00ebebeb,0xfa00fafa - DD 0x00f3f3f3,0xfc00fcfc - DD 0x006d6d6d,0x5b005b5b - DD 0x005e5e5e,0x97009797 - DD 0x00fbfbfb,0xfe00fefe - DD 0x00696969,0x5a005a5a - DD 0x00b2b2b2,0xac00acac - DD 0x00f0f0f0,0x3c003c3c - DD 0x00313131,0x4c004c4c - DD 0x000c0c0c,0x03000303 - DD 0x00d4d4d4,0x35003535 - DD 0x00cfcfcf,0xf300f3f3 - DD 0x008c8c8c,0x23002323 - DD 0x00e2e2e2,0xb800b8b8 - DD 0x00757575,0x5d005d5d - DD 0x00a9a9a9,0x6a006a6a - DD 0x004a4a4a,0x92009292 - DD 0x00575757,0xd500d5d5 - DD 0x00848484,0x21002121 - DD 0x00111111,0x44004444 - DD 0x00454545,0x51005151 - DD 0x001b1b1b,0xc600c6c6 - DD 0x00f5f5f5,0x7d007d7d - DD 0x00e4e4e4,0x39003939 - DD 0x000e0e0e,0x83008383 - DD 0x00737373,0xdc00dcdc - DD 0x00aaaaaa,0xaa00aaaa - DD 0x00f1f1f1,0x7c007c7c - DD 0x00dddddd,0x77007777 - DD 0x00595959,0x56005656 - DD 0x00141414,0x05000505 - DD 0x006c6c6c,0x1b001b1b - DD 0x00929292,0xa400a4a4 - DD 0x00545454,0x15001515 - DD 0x00d0d0d0,0x34003434 - DD 0x00787878,0x1e001e1e - DD 0x00707070,0x1c001c1c - DD 0x00e3e3e3,0xf800f8f8 - DD 0x00494949,0x52005252 - DD 0x00808080,0x20002020 - DD 0x00505050,0x14001414 - DD 0x00a7a7a7,0xe900e9e9 - DD 0x00f6f6f6,0xbd00bdbd - DD 0x00777777,0xdd00dddd - DD 0x00939393,0xe400e4e4 - DD 0x00868686,0xa100a1a1 - DD 0x00838383,0xe000e0e0 - DD 0x002a2a2a,0x8a008a8a - DD 0x00c7c7c7,0xf100f1f1 - DD 0x005b5b5b,0xd600d6d6 - DD 0x00e9e9e9,0x7a007a7a - DD 0x00eeeeee,0xbb00bbbb - DD 0x008f8f8f,0xe300e3e3 - DD 0x00010101,0x40004040 - DD 0x003d3d3d,0x4f004f4f -global Camellia_cbc_encrypt - -ALIGN 16 -Camellia_cbc_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_Camellia_cbc_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - cmp rdx,0 - je NEAR $L$cbc_abort - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 -$L$cbc_prologue: - - mov rbp,rsp - sub rsp,64 - and rsp,-64 - - - - lea r10,[((-64-63))+rcx] - sub r10,rsp - neg r10 - and r10,0x3C0 - sub rsp,r10 - - - mov r12,rdi - mov r13,rsi - mov rbx,r8 - mov r14,rcx - mov r15d,DWORD[272+rcx] - - mov QWORD[40+rsp],r8 - mov QWORD[48+rsp],rbp - -$L$cbc_body: - lea rbp,[$L$Camellia_SBOX] - - mov ecx,32 -ALIGN 4 -$L$cbc_prefetch_sbox: - mov rax,QWORD[rbp] - mov rsi,QWORD[32+rbp] - mov rdi,QWORD[64+rbp] - mov r11,QWORD[96+rbp] - lea rbp,[128+rbp] - loop $L$cbc_prefetch_sbox - sub rbp,4096 - shl r15,6 - mov rcx,rdx - lea r15,[r15*1+r14] - - cmp r9d,0 - je NEAR $L$CBC_DECRYPT - - and rdx,-16 - and rcx,15 - lea rdx,[rdx*1+r12] - mov QWORD[rsp],r14 - mov QWORD[8+rsp],rdx - mov QWORD[16+rsp],rcx - - cmp rdx,r12 - mov r8d,DWORD[rbx] - mov r9d,DWORD[4+rbx] - mov r10d,DWORD[8+rbx] - mov r11d,DWORD[12+rbx] - je NEAR $L$cbc_enc_tail - jmp NEAR $L$cbc_eloop - -ALIGN 16 -$L$cbc_eloop: - xor r8d,DWORD[r12] - xor r9d,DWORD[4+r12] - xor r10d,DWORD[8+r12] - bswap r8d - xor r11d,DWORD[12+r12] - bswap r9d - bswap r10d - bswap r11d - - call _x86_64_Camellia_encrypt - - mov r14,QWORD[rsp] - bswap r8d - mov rdx,QWORD[8+rsp] - bswap r9d - mov rcx,QWORD[16+rsp] - bswap r10d - mov DWORD[r13],r8d - bswap r11d - mov DWORD[4+r13],r9d - mov DWORD[8+r13],r10d - lea r12,[16+r12] - mov DWORD[12+r13],r11d - cmp r12,rdx - lea r13,[16+r13] - jne NEAR $L$cbc_eloop - - cmp rcx,0 - jne NEAR $L$cbc_enc_tail - - mov r13,QWORD[40+rsp] - mov DWORD[r13],r8d - mov DWORD[4+r13],r9d - mov DWORD[8+r13],r10d - mov DWORD[12+r13],r11d - jmp NEAR $L$cbc_done - -ALIGN 16 -$L$cbc_enc_tail: - xor rax,rax - mov QWORD[((0+24))+rsp],rax - mov QWORD[((8+24))+rsp],rax - mov QWORD[16+rsp],rax - -$L$cbc_enc_pushf: - pushfq - cld - mov rsi,r12 - lea rdi,[((8+24))+rsp] - DD 0x9066A4F3 - popfq -$L$cbc_enc_popf: - - lea r12,[24+rsp] - lea rax,[((16+24))+rsp] - mov QWORD[8+rsp],rax - jmp NEAR $L$cbc_eloop - -ALIGN 16 -$L$CBC_DECRYPT: - xchg r15,r14 - add rdx,15 - and rcx,15 - and rdx,-16 - mov QWORD[rsp],r14 - lea rdx,[rdx*1+r12] - mov QWORD[8+rsp],rdx - mov QWORD[16+rsp],rcx - - mov rax,QWORD[rbx] - mov rbx,QWORD[8+rbx] - jmp NEAR $L$cbc_dloop -ALIGN 16 -$L$cbc_dloop: - mov r8d,DWORD[r12] - mov r9d,DWORD[4+r12] - mov r10d,DWORD[8+r12] - bswap r8d - mov r11d,DWORD[12+r12] - bswap r9d - mov QWORD[((0+24))+rsp],rax - bswap r10d - mov QWORD[((8+24))+rsp],rbx - bswap r11d - - call _x86_64_Camellia_decrypt - - mov r14,QWORD[rsp] - mov rdx,QWORD[8+rsp] - mov rcx,QWORD[16+rsp] - - bswap r8d - mov rax,QWORD[r12] - bswap r9d - mov rbx,QWORD[8+r12] - bswap r10d - xor r8d,DWORD[((0+24))+rsp] - bswap r11d - xor r9d,DWORD[((4+24))+rsp] - xor r10d,DWORD[((8+24))+rsp] - lea r12,[16+r12] - xor r11d,DWORD[((12+24))+rsp] - cmp r12,rdx - je NEAR $L$cbc_ddone - - mov DWORD[r13],r8d - mov DWORD[4+r13],r9d - mov DWORD[8+r13],r10d - mov DWORD[12+r13],r11d - - lea r13,[16+r13] - jmp NEAR $L$cbc_dloop - -ALIGN 16 -$L$cbc_ddone: - mov rdx,QWORD[40+rsp] - cmp rcx,0 - jne NEAR $L$cbc_dec_tail - - mov DWORD[r13],r8d - mov DWORD[4+r13],r9d - mov DWORD[8+r13],r10d - mov DWORD[12+r13],r11d - - mov QWORD[rdx],rax - mov QWORD[8+rdx],rbx - jmp NEAR $L$cbc_done -ALIGN 16 -$L$cbc_dec_tail: - mov DWORD[((0+24))+rsp],r8d - mov DWORD[((4+24))+rsp],r9d - mov DWORD[((8+24))+rsp],r10d - mov DWORD[((12+24))+rsp],r11d - -$L$cbc_dec_pushf: - pushfq - cld - lea rsi,[((8+24))+rsp] - lea rdi,[r13] - DD 0x9066A4F3 - popfq -$L$cbc_dec_popf: - - mov QWORD[rdx],rax - mov QWORD[8+rdx],rbx - jmp NEAR $L$cbc_done - -ALIGN 16 -$L$cbc_done: - mov rcx,QWORD[48+rsp] - mov r15,QWORD[rcx] - mov r14,QWORD[8+rcx] - mov r13,QWORD[16+rcx] - mov r12,QWORD[24+rcx] - mov rbp,QWORD[32+rcx] - mov rbx,QWORD[40+rcx] - lea rsp,[48+rcx] -$L$cbc_abort: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_Camellia_cbc_encrypt: - -DB 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54 -DB 95,54,52,32,98,121,32,60,97,112,112,114,111,64,111,112 -DB 101,110,115,115,108,46,111,114,103,62,0 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -common_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - lea rsp,[((-64))+rsp] - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - lea rax,[40+rax] - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r13,QWORD[((-24))+rax] - mov r14,QWORD[((-32))+rax] - mov r15,QWORD[((-40))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -cbc_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - lea rsp,[((-64))+rsp] - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$cbc_prologue] - cmp rbx,r10 - jb NEAR $L$in_cbc_prologue - - lea r10,[$L$cbc_body] - cmp rbx,r10 - jb NEAR $L$in_cbc_frame_setup - - mov rax,QWORD[152+r8] - - lea r10,[$L$cbc_abort] - cmp rbx,r10 - jae NEAR $L$in_cbc_prologue - - - lea r10,[$L$cbc_enc_pushf] - cmp rbx,r10 - jbe NEAR $L$in_cbc_no_flag - lea rax,[8+rax] - lea r10,[$L$cbc_enc_popf] - cmp rbx,r10 - jb NEAR $L$in_cbc_no_flag - lea rax,[((-8))+rax] - lea r10,[$L$cbc_dec_pushf] - cmp rbx,r10 - jbe NEAR $L$in_cbc_no_flag - lea rax,[8+rax] - lea r10,[$L$cbc_dec_popf] - cmp rbx,r10 - jb NEAR $L$in_cbc_no_flag - lea rax,[((-8))+rax] - -$L$in_cbc_no_flag: - mov rax,QWORD[48+rax] - lea rax,[48+rax] - -$L$in_cbc_frame_setup: - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_cbc_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - -ALIGN 4 -$L$common_seh_exit: - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - lea rsp,[64+rsp] - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_Camellia_EncryptBlock_Rounds wrt ..imagebase - DD $L$SEH_end_Camellia_EncryptBlock_Rounds wrt ..imagebase - DD $L$SEH_info_Camellia_EncryptBlock_Rounds wrt ..imagebase - - DD $L$SEH_begin_Camellia_DecryptBlock_Rounds wrt ..imagebase - DD $L$SEH_end_Camellia_DecryptBlock_Rounds wrt ..imagebase - DD $L$SEH_info_Camellia_DecryptBlock_Rounds wrt ..imagebase - - DD $L$SEH_begin_Camellia_Ekeygen wrt ..imagebase - DD $L$SEH_end_Camellia_Ekeygen wrt ..imagebase - DD $L$SEH_info_Camellia_Ekeygen wrt ..imagebase - - DD $L$SEH_begin_Camellia_cbc_encrypt wrt ..imagebase - DD $L$SEH_end_Camellia_cbc_encrypt wrt ..imagebase - DD $L$SEH_info_Camellia_cbc_encrypt wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_Camellia_EncryptBlock_Rounds: -DB 9,0,0,0 - DD common_se_handler wrt ..imagebase - DD $L$enc_prologue wrt ..imagebase,$L$enc_epilogue wrt ..imagebase -$L$SEH_info_Camellia_DecryptBlock_Rounds: -DB 9,0,0,0 - DD common_se_handler wrt ..imagebase - DD $L$dec_prologue wrt ..imagebase,$L$dec_epilogue wrt ..imagebase -$L$SEH_info_Camellia_Ekeygen: -DB 9,0,0,0 - DD common_se_handler wrt ..imagebase - DD $L$key_prologue wrt ..imagebase,$L$key_epilogue wrt ..imagebase -$L$SEH_info_Camellia_cbc_encrypt: -DB 9,0,0,0 - DD cbc_se_handler wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + + +global Camellia_EncryptBlock + +ALIGN 16 +Camellia_EncryptBlock: + mov eax,128 + sub eax,ecx + mov ecx,3 + adc ecx,0 + jmp NEAR $L$enc_rounds + + +global Camellia_EncryptBlock_Rounds + +ALIGN 16 +$L$enc_rounds: +Camellia_EncryptBlock_Rounds: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_Camellia_EncryptBlock_Rounds: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + + + push rbx + push rbp + push r13 + push r14 + push r15 +$L$enc_prologue: + + + mov r13,rcx + mov r14,rdx + + shl edi,6 + lea rbp,[$L$Camellia_SBOX] + lea r15,[rdi*1+r14] + + mov r8d,DWORD[rsi] + mov r9d,DWORD[4+rsi] + mov r10d,DWORD[8+rsi] + bswap r8d + mov r11d,DWORD[12+rsi] + bswap r9d + bswap r10d + bswap r11d + + call _x86_64_Camellia_encrypt + + bswap r8d + bswap r9d + bswap r10d + mov DWORD[r13],r8d + bswap r11d + mov DWORD[4+r13],r9d + mov DWORD[8+r13],r10d + mov DWORD[12+r13],r11d + + mov r15,QWORD[rsp] + mov r14,QWORD[8+rsp] + mov r13,QWORD[16+rsp] + mov rbp,QWORD[24+rsp] + mov rbx,QWORD[32+rsp] + lea rsp,[40+rsp] +$L$enc_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_Camellia_EncryptBlock_Rounds: + + +ALIGN 16 +_x86_64_Camellia_encrypt: + xor r9d,DWORD[r14] + xor r8d,DWORD[4+r14] + xor r11d,DWORD[8+r14] + xor r10d,DWORD[12+r14] +ALIGN 16 +$L$eloop: + mov ebx,DWORD[16+r14] + mov eax,DWORD[20+r14] + + xor eax,r8d + xor ebx,r9d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[24+r14] + mov eax,DWORD[28+r14] + xor ecx,edx + ror edx,8 + xor r10d,ecx + xor r11d,ecx + xor r11d,edx + xor eax,r10d + xor ebx,r11d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[32+r14] + mov eax,DWORD[36+r14] + xor ecx,edx + ror edx,8 + xor r8d,ecx + xor r9d,ecx + xor r9d,edx + xor eax,r8d + xor ebx,r9d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[40+r14] + mov eax,DWORD[44+r14] + xor ecx,edx + ror edx,8 + xor r10d,ecx + xor r11d,ecx + xor r11d,edx + xor eax,r10d + xor ebx,r11d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[48+r14] + mov eax,DWORD[52+r14] + xor ecx,edx + ror edx,8 + xor r8d,ecx + xor r9d,ecx + xor r9d,edx + xor eax,r8d + xor ebx,r9d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[56+r14] + mov eax,DWORD[60+r14] + xor ecx,edx + ror edx,8 + xor r10d,ecx + xor r11d,ecx + xor r11d,edx + xor eax,r10d + xor ebx,r11d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[64+r14] + mov eax,DWORD[68+r14] + xor ecx,edx + ror edx,8 + xor r8d,ecx + xor r9d,ecx + xor r9d,edx + lea r14,[64+r14] + cmp r14,r15 + mov edx,DWORD[8+r14] + mov ecx,DWORD[12+r14] + je NEAR $L$edone + + and eax,r8d + or edx,r11d + rol eax,1 + xor r10d,edx + xor r9d,eax + and ecx,r10d + or ebx,r9d + rol ecx,1 + xor r8d,ebx + xor r11d,ecx + jmp NEAR $L$eloop + +ALIGN 16 +$L$edone: + xor eax,r10d + xor ebx,r11d + xor ecx,r8d + xor edx,r9d + + mov r8d,eax + mov r9d,ebx + mov r10d,ecx + mov r11d,edx + +DB 0xf3,0xc3 + + + +global Camellia_DecryptBlock + +ALIGN 16 +Camellia_DecryptBlock: + mov eax,128 + sub eax,ecx + mov ecx,3 + adc ecx,0 + jmp NEAR $L$dec_rounds + + +global Camellia_DecryptBlock_Rounds + +ALIGN 16 +$L$dec_rounds: +Camellia_DecryptBlock_Rounds: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_Camellia_DecryptBlock_Rounds: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + + + push rbx + push rbp + push r13 + push r14 + push r15 +$L$dec_prologue: + + + mov r13,rcx + mov r15,rdx + + shl edi,6 + lea rbp,[$L$Camellia_SBOX] + lea r14,[rdi*1+r15] + + mov r8d,DWORD[rsi] + mov r9d,DWORD[4+rsi] + mov r10d,DWORD[8+rsi] + bswap r8d + mov r11d,DWORD[12+rsi] + bswap r9d + bswap r10d + bswap r11d + + call _x86_64_Camellia_decrypt + + bswap r8d + bswap r9d + bswap r10d + mov DWORD[r13],r8d + bswap r11d + mov DWORD[4+r13],r9d + mov DWORD[8+r13],r10d + mov DWORD[12+r13],r11d + + mov r15,QWORD[rsp] + mov r14,QWORD[8+rsp] + mov r13,QWORD[16+rsp] + mov rbp,QWORD[24+rsp] + mov rbx,QWORD[32+rsp] + lea rsp,[40+rsp] +$L$dec_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_Camellia_DecryptBlock_Rounds: + + +ALIGN 16 +_x86_64_Camellia_decrypt: + xor r9d,DWORD[r14] + xor r8d,DWORD[4+r14] + xor r11d,DWORD[8+r14] + xor r10d,DWORD[12+r14] +ALIGN 16 +$L$dloop: + mov ebx,DWORD[((-8))+r14] + mov eax,DWORD[((-4))+r14] + + xor eax,r8d + xor ebx,r9d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[((-16))+r14] + mov eax,DWORD[((-12))+r14] + xor ecx,edx + ror edx,8 + xor r10d,ecx + xor r11d,ecx + xor r11d,edx + xor eax,r10d + xor ebx,r11d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[((-24))+r14] + mov eax,DWORD[((-20))+r14] + xor ecx,edx + ror edx,8 + xor r8d,ecx + xor r9d,ecx + xor r9d,edx + xor eax,r8d + xor ebx,r9d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[((-32))+r14] + mov eax,DWORD[((-28))+r14] + xor ecx,edx + ror edx,8 + xor r10d,ecx + xor r11d,ecx + xor r11d,edx + xor eax,r10d + xor ebx,r11d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[((-40))+r14] + mov eax,DWORD[((-36))+r14] + xor ecx,edx + ror edx,8 + xor r8d,ecx + xor r9d,ecx + xor r9d,edx + xor eax,r8d + xor ebx,r9d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[((-48))+r14] + mov eax,DWORD[((-44))+r14] + xor ecx,edx + ror edx,8 + xor r10d,ecx + xor r11d,ecx + xor r11d,edx + xor eax,r10d + xor ebx,r11d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[((-56))+r14] + mov eax,DWORD[((-52))+r14] + xor ecx,edx + ror edx,8 + xor r8d,ecx + xor r9d,ecx + xor r9d,edx + lea r14,[((-64))+r14] + cmp r14,r15 + mov edx,DWORD[r14] + mov ecx,DWORD[4+r14] + je NEAR $L$ddone + + and eax,r8d + or edx,r11d + rol eax,1 + xor r10d,edx + xor r9d,eax + and ecx,r10d + or ebx,r9d + rol ecx,1 + xor r8d,ebx + xor r11d,ecx + + jmp NEAR $L$dloop + +ALIGN 16 +$L$ddone: + xor ecx,r10d + xor edx,r11d + xor eax,r8d + xor ebx,r9d + + mov r8d,ecx + mov r9d,edx + mov r10d,eax + mov r11d,ebx + +DB 0xf3,0xc3 + +global Camellia_Ekeygen + +ALIGN 16 +Camellia_Ekeygen: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_Camellia_Ekeygen: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + push rbx + push rbp + push r13 + push r14 + push r15 +$L$key_prologue: + + mov r15d,edi + mov r13,rdx + + mov r8d,DWORD[rsi] + mov r9d,DWORD[4+rsi] + mov r10d,DWORD[8+rsi] + mov r11d,DWORD[12+rsi] + + bswap r8d + bswap r9d + bswap r10d + bswap r11d + mov DWORD[r13],r9d + mov DWORD[4+r13],r8d + mov DWORD[8+r13],r11d + mov DWORD[12+r13],r10d + cmp r15,128 + je NEAR $L$1st128 + + mov r8d,DWORD[16+rsi] + mov r9d,DWORD[20+rsi] + cmp r15,192 + je NEAR $L$1st192 + mov r10d,DWORD[24+rsi] + mov r11d,DWORD[28+rsi] + jmp NEAR $L$1st256 +$L$1st192: + mov r10d,r8d + mov r11d,r9d + not r10d + not r11d +$L$1st256: + bswap r8d + bswap r9d + bswap r10d + bswap r11d + mov DWORD[32+r13],r9d + mov DWORD[36+r13],r8d + mov DWORD[40+r13],r11d + mov DWORD[44+r13],r10d + xor r9d,DWORD[r13] + xor r8d,DWORD[4+r13] + xor r11d,DWORD[8+r13] + xor r10d,DWORD[12+r13] + +$L$1st128: + lea r14,[$L$Camellia_SIGMA] + lea rbp,[$L$Camellia_SBOX] + + mov ebx,DWORD[r14] + mov eax,DWORD[4+r14] + xor eax,r8d + xor ebx,r9d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[8+r14] + mov eax,DWORD[12+r14] + xor ecx,edx + ror edx,8 + xor r10d,ecx + xor r11d,ecx + xor r11d,edx + xor eax,r10d + xor ebx,r11d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[16+r14] + mov eax,DWORD[20+r14] + xor ecx,edx + ror edx,8 + xor r8d,ecx + xor r9d,ecx + xor r9d,edx + xor r9d,DWORD[r13] + xor r8d,DWORD[4+r13] + xor r11d,DWORD[8+r13] + xor r10d,DWORD[12+r13] + xor eax,r8d + xor ebx,r9d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[24+r14] + mov eax,DWORD[28+r14] + xor ecx,edx + ror edx,8 + xor r10d,ecx + xor r11d,ecx + xor r11d,edx + xor eax,r10d + xor ebx,r11d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[32+r14] + mov eax,DWORD[36+r14] + xor ecx,edx + ror edx,8 + xor r8d,ecx + xor r9d,ecx + xor r9d,edx + cmp r15,128 + jne NEAR $L$2nd256 + + lea r13,[128+r13] + shl r8,32 + shl r10,32 + or r8,r9 + or r10,r11 + mov rax,QWORD[((-128))+r13] + mov rbx,QWORD[((-120))+r13] + mov QWORD[((-112))+r13],r8 + mov QWORD[((-104))+r13],r10 + mov r11,rax + shl rax,15 + mov r9,rbx + shr r9,49 + shr r11,49 + or rax,r9 + shl rbx,15 + or rbx,r11 + mov QWORD[((-96))+r13],rax + mov QWORD[((-88))+r13],rbx + mov r11,r8 + shl r8,15 + mov r9,r10 + shr r9,49 + shr r11,49 + or r8,r9 + shl r10,15 + or r10,r11 + mov QWORD[((-80))+r13],r8 + mov QWORD[((-72))+r13],r10 + mov r11,r8 + shl r8,15 + mov r9,r10 + shr r9,49 + shr r11,49 + or r8,r9 + shl r10,15 + or r10,r11 + mov QWORD[((-64))+r13],r8 + mov QWORD[((-56))+r13],r10 + mov r11,rax + shl rax,30 + mov r9,rbx + shr r9,34 + shr r11,34 + or rax,r9 + shl rbx,30 + or rbx,r11 + mov QWORD[((-48))+r13],rax + mov QWORD[((-40))+r13],rbx + mov r11,r8 + shl r8,15 + mov r9,r10 + shr r9,49 + shr r11,49 + or r8,r9 + shl r10,15 + or r10,r11 + mov QWORD[((-32))+r13],r8 + mov r11,rax + shl rax,15 + mov r9,rbx + shr r9,49 + shr r11,49 + or rax,r9 + shl rbx,15 + or rbx,r11 + mov QWORD[((-24))+r13],rbx + mov r11,r8 + shl r8,15 + mov r9,r10 + shr r9,49 + shr r11,49 + or r8,r9 + shl r10,15 + or r10,r11 + mov QWORD[((-16))+r13],r8 + mov QWORD[((-8))+r13],r10 + mov r11,rax + shl rax,17 + mov r9,rbx + shr r9,47 + shr r11,47 + or rax,r9 + shl rbx,17 + or rbx,r11 + mov QWORD[r13],rax + mov QWORD[8+r13],rbx + mov r11,rax + shl rax,17 + mov r9,rbx + shr r9,47 + shr r11,47 + or rax,r9 + shl rbx,17 + or rbx,r11 + mov QWORD[16+r13],rax + mov QWORD[24+r13],rbx + mov r11,r8 + shl r8,34 + mov r9,r10 + shr r9,30 + shr r11,30 + or r8,r9 + shl r10,34 + or r10,r11 + mov QWORD[32+r13],r8 + mov QWORD[40+r13],r10 + mov r11,rax + shl rax,17 + mov r9,rbx + shr r9,47 + shr r11,47 + or rax,r9 + shl rbx,17 + or rbx,r11 + mov QWORD[48+r13],rax + mov QWORD[56+r13],rbx + mov r11,r8 + shl r8,17 + mov r9,r10 + shr r9,47 + shr r11,47 + or r8,r9 + shl r10,17 + or r10,r11 + mov QWORD[64+r13],r8 + mov QWORD[72+r13],r10 + mov eax,3 + jmp NEAR $L$done +ALIGN 16 +$L$2nd256: + mov DWORD[48+r13],r9d + mov DWORD[52+r13],r8d + mov DWORD[56+r13],r11d + mov DWORD[60+r13],r10d + xor r9d,DWORD[32+r13] + xor r8d,DWORD[36+r13] + xor r11d,DWORD[40+r13] + xor r10d,DWORD[44+r13] + xor eax,r8d + xor ebx,r9d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[40+r14] + mov eax,DWORD[44+r14] + xor ecx,edx + ror edx,8 + xor r10d,ecx + xor r11d,ecx + xor r11d,edx + xor eax,r10d + xor ebx,r11d + movzx esi,ah + movzx edi,bl + mov edx,DWORD[2052+rsi*8+rbp] + mov ecx,DWORD[rdi*8+rbp] + movzx esi,al + shr eax,16 + movzx edi,bh + xor edx,DWORD[4+rsi*8+rbp] + shr ebx,16 + xor ecx,DWORD[4+rdi*8+rbp] + movzx esi,ah + movzx edi,bl + xor edx,DWORD[rsi*8+rbp] + xor ecx,DWORD[2052+rdi*8+rbp] + movzx esi,al + movzx edi,bh + xor edx,DWORD[2048+rsi*8+rbp] + xor ecx,DWORD[2048+rdi*8+rbp] + mov ebx,DWORD[48+r14] + mov eax,DWORD[52+r14] + xor ecx,edx + ror edx,8 + xor r8d,ecx + xor r9d,ecx + xor r9d,edx + mov rax,QWORD[r13] + mov rbx,QWORD[8+r13] + mov rcx,QWORD[32+r13] + mov rdx,QWORD[40+r13] + mov r14,QWORD[48+r13] + mov r15,QWORD[56+r13] + lea r13,[128+r13] + shl r8,32 + shl r10,32 + or r8,r9 + or r10,r11 + mov QWORD[((-112))+r13],r8 + mov QWORD[((-104))+r13],r10 + mov r11,rcx + shl rcx,15 + mov r9,rdx + shr r9,49 + shr r11,49 + or rcx,r9 + shl rdx,15 + or rdx,r11 + mov QWORD[((-96))+r13],rcx + mov QWORD[((-88))+r13],rdx + mov r11,r14 + shl r14,15 + mov r9,r15 + shr r9,49 + shr r11,49 + or r14,r9 + shl r15,15 + or r15,r11 + mov QWORD[((-80))+r13],r14 + mov QWORD[((-72))+r13],r15 + mov r11,rcx + shl rcx,15 + mov r9,rdx + shr r9,49 + shr r11,49 + or rcx,r9 + shl rdx,15 + or rdx,r11 + mov QWORD[((-64))+r13],rcx + mov QWORD[((-56))+r13],rdx + mov r11,r8 + shl r8,30 + mov r9,r10 + shr r9,34 + shr r11,34 + or r8,r9 + shl r10,30 + or r10,r11 + mov QWORD[((-48))+r13],r8 + mov QWORD[((-40))+r13],r10 + mov r11,rax + shl rax,45 + mov r9,rbx + shr r9,19 + shr r11,19 + or rax,r9 + shl rbx,45 + or rbx,r11 + mov QWORD[((-32))+r13],rax + mov QWORD[((-24))+r13],rbx + mov r11,r14 + shl r14,30 + mov r9,r15 + shr r9,34 + shr r11,34 + or r14,r9 + shl r15,30 + or r15,r11 + mov QWORD[((-16))+r13],r14 + mov QWORD[((-8))+r13],r15 + mov r11,rax + shl rax,15 + mov r9,rbx + shr r9,49 + shr r11,49 + or rax,r9 + shl rbx,15 + or rbx,r11 + mov QWORD[r13],rax + mov QWORD[8+r13],rbx + mov r11,rcx + shl rcx,30 + mov r9,rdx + shr r9,34 + shr r11,34 + or rcx,r9 + shl rdx,30 + or rdx,r11 + mov QWORD[16+r13],rcx + mov QWORD[24+r13],rdx + mov r11,r8 + shl r8,30 + mov r9,r10 + shr r9,34 + shr r11,34 + or r8,r9 + shl r10,30 + or r10,r11 + mov QWORD[32+r13],r8 + mov QWORD[40+r13],r10 + mov r11,rax + shl rax,17 + mov r9,rbx + shr r9,47 + shr r11,47 + or rax,r9 + shl rbx,17 + or rbx,r11 + mov QWORD[48+r13],rax + mov QWORD[56+r13],rbx + mov r11,r14 + shl r14,32 + mov r9,r15 + shr r9,32 + shr r11,32 + or r14,r9 + shl r15,32 + or r15,r11 + mov QWORD[64+r13],r14 + mov QWORD[72+r13],r15 + mov r11,rcx + shl rcx,34 + mov r9,rdx + shr r9,30 + shr r11,30 + or rcx,r9 + shl rdx,34 + or rdx,r11 + mov QWORD[80+r13],rcx + mov QWORD[88+r13],rdx + mov r11,r14 + shl r14,17 + mov r9,r15 + shr r9,47 + shr r11,47 + or r14,r9 + shl r15,17 + or r15,r11 + mov QWORD[96+r13],r14 + mov QWORD[104+r13],r15 + mov r11,rax + shl rax,34 + mov r9,rbx + shr r9,30 + shr r11,30 + or rax,r9 + shl rbx,34 + or rbx,r11 + mov QWORD[112+r13],rax + mov QWORD[120+r13],rbx + mov r11,r8 + shl r8,51 + mov r9,r10 + shr r9,13 + shr r11,13 + or r8,r9 + shl r10,51 + or r10,r11 + mov QWORD[128+r13],r8 + mov QWORD[136+r13],r10 + mov eax,4 +$L$done: + mov r15,QWORD[rsp] + mov r14,QWORD[8+rsp] + mov r13,QWORD[16+rsp] + mov rbp,QWORD[24+rsp] + mov rbx,QWORD[32+rsp] + lea rsp,[40+rsp] +$L$key_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_Camellia_Ekeygen: +ALIGN 64 +$L$Camellia_SIGMA: + DD 0x3bcc908b,0xa09e667f,0x4caa73b2,0xb67ae858 + DD 0xe94f82be,0xc6ef372f,0xf1d36f1c,0x54ff53a5 + DD 0xde682d1d,0x10e527fa,0xb3e6c1fd,0xb05688c2 + DD 0,0,0,0 +$L$Camellia_SBOX: + DD 0x70707000,0x70700070 + DD 0x82828200,0x2c2c002c + DD 0x2c2c2c00,0xb3b300b3 + DD 0xececec00,0xc0c000c0 + DD 0xb3b3b300,0xe4e400e4 + DD 0x27272700,0x57570057 + DD 0xc0c0c000,0xeaea00ea + DD 0xe5e5e500,0xaeae00ae + DD 0xe4e4e400,0x23230023 + DD 0x85858500,0x6b6b006b + DD 0x57575700,0x45450045 + DD 0x35353500,0xa5a500a5 + DD 0xeaeaea00,0xeded00ed + DD 0x0c0c0c00,0x4f4f004f + DD 0xaeaeae00,0x1d1d001d + DD 0x41414100,0x92920092 + DD 0x23232300,0x86860086 + DD 0xefefef00,0xafaf00af + DD 0x6b6b6b00,0x7c7c007c + DD 0x93939300,0x1f1f001f + DD 0x45454500,0x3e3e003e + DD 0x19191900,0xdcdc00dc + DD 0xa5a5a500,0x5e5e005e + DD 0x21212100,0x0b0b000b + DD 0xededed00,0xa6a600a6 + DD 0x0e0e0e00,0x39390039 + DD 0x4f4f4f00,0xd5d500d5 + DD 0x4e4e4e00,0x5d5d005d + DD 0x1d1d1d00,0xd9d900d9 + DD 0x65656500,0x5a5a005a + DD 0x92929200,0x51510051 + DD 0xbdbdbd00,0x6c6c006c + DD 0x86868600,0x8b8b008b + DD 0xb8b8b800,0x9a9a009a + DD 0xafafaf00,0xfbfb00fb + DD 0x8f8f8f00,0xb0b000b0 + DD 0x7c7c7c00,0x74740074 + DD 0xebebeb00,0x2b2b002b + DD 0x1f1f1f00,0xf0f000f0 + DD 0xcecece00,0x84840084 + DD 0x3e3e3e00,0xdfdf00df + DD 0x30303000,0xcbcb00cb + DD 0xdcdcdc00,0x34340034 + DD 0x5f5f5f00,0x76760076 + DD 0x5e5e5e00,0x6d6d006d + DD 0xc5c5c500,0xa9a900a9 + DD 0x0b0b0b00,0xd1d100d1 + DD 0x1a1a1a00,0x04040004 + DD 0xa6a6a600,0x14140014 + DD 0xe1e1e100,0x3a3a003a + DD 0x39393900,0xdede00de + DD 0xcacaca00,0x11110011 + DD 0xd5d5d500,0x32320032 + DD 0x47474700,0x9c9c009c + DD 0x5d5d5d00,0x53530053 + DD 0x3d3d3d00,0xf2f200f2 + DD 0xd9d9d900,0xfefe00fe + DD 0x01010100,0xcfcf00cf + DD 0x5a5a5a00,0xc3c300c3 + DD 0xd6d6d600,0x7a7a007a + DD 0x51515100,0x24240024 + DD 0x56565600,0xe8e800e8 + DD 0x6c6c6c00,0x60600060 + DD 0x4d4d4d00,0x69690069 + DD 0x8b8b8b00,0xaaaa00aa + DD 0x0d0d0d00,0xa0a000a0 + DD 0x9a9a9a00,0xa1a100a1 + DD 0x66666600,0x62620062 + DD 0xfbfbfb00,0x54540054 + DD 0xcccccc00,0x1e1e001e + DD 0xb0b0b000,0xe0e000e0 + DD 0x2d2d2d00,0x64640064 + DD 0x74747400,0x10100010 + DD 0x12121200,0x00000000 + DD 0x2b2b2b00,0xa3a300a3 + DD 0x20202000,0x75750075 + DD 0xf0f0f000,0x8a8a008a + DD 0xb1b1b100,0xe6e600e6 + DD 0x84848400,0x09090009 + DD 0x99999900,0xdddd00dd + DD 0xdfdfdf00,0x87870087 + DD 0x4c4c4c00,0x83830083 + DD 0xcbcbcb00,0xcdcd00cd + DD 0xc2c2c200,0x90900090 + DD 0x34343400,0x73730073 + DD 0x7e7e7e00,0xf6f600f6 + DD 0x76767600,0x9d9d009d + DD 0x05050500,0xbfbf00bf + DD 0x6d6d6d00,0x52520052 + DD 0xb7b7b700,0xd8d800d8 + DD 0xa9a9a900,0xc8c800c8 + DD 0x31313100,0xc6c600c6 + DD 0xd1d1d100,0x81810081 + DD 0x17171700,0x6f6f006f + DD 0x04040400,0x13130013 + DD 0xd7d7d700,0x63630063 + DD 0x14141400,0xe9e900e9 + DD 0x58585800,0xa7a700a7 + DD 0x3a3a3a00,0x9f9f009f + DD 0x61616100,0xbcbc00bc + DD 0xdedede00,0x29290029 + DD 0x1b1b1b00,0xf9f900f9 + DD 0x11111100,0x2f2f002f + DD 0x1c1c1c00,0xb4b400b4 + DD 0x32323200,0x78780078 + DD 0x0f0f0f00,0x06060006 + DD 0x9c9c9c00,0xe7e700e7 + DD 0x16161600,0x71710071 + DD 0x53535300,0xd4d400d4 + DD 0x18181800,0xabab00ab + DD 0xf2f2f200,0x88880088 + DD 0x22222200,0x8d8d008d + DD 0xfefefe00,0x72720072 + DD 0x44444400,0xb9b900b9 + DD 0xcfcfcf00,0xf8f800f8 + DD 0xb2b2b200,0xacac00ac + DD 0xc3c3c300,0x36360036 + DD 0xb5b5b500,0x2a2a002a + DD 0x7a7a7a00,0x3c3c003c + DD 0x91919100,0xf1f100f1 + DD 0x24242400,0x40400040 + DD 0x08080800,0xd3d300d3 + DD 0xe8e8e800,0xbbbb00bb + DD 0xa8a8a800,0x43430043 + DD 0x60606000,0x15150015 + DD 0xfcfcfc00,0xadad00ad + DD 0x69696900,0x77770077 + DD 0x50505000,0x80800080 + DD 0xaaaaaa00,0x82820082 + DD 0xd0d0d000,0xecec00ec + DD 0xa0a0a000,0x27270027 + DD 0x7d7d7d00,0xe5e500e5 + DD 0xa1a1a100,0x85850085 + DD 0x89898900,0x35350035 + DD 0x62626200,0x0c0c000c + DD 0x97979700,0x41410041 + DD 0x54545400,0xefef00ef + DD 0x5b5b5b00,0x93930093 + DD 0x1e1e1e00,0x19190019 + DD 0x95959500,0x21210021 + DD 0xe0e0e000,0x0e0e000e + DD 0xffffff00,0x4e4e004e + DD 0x64646400,0x65650065 + DD 0xd2d2d200,0xbdbd00bd + DD 0x10101000,0xb8b800b8 + DD 0xc4c4c400,0x8f8f008f + DD 0x00000000,0xebeb00eb + DD 0x48484800,0xcece00ce + DD 0xa3a3a300,0x30300030 + DD 0xf7f7f700,0x5f5f005f + DD 0x75757500,0xc5c500c5 + DD 0xdbdbdb00,0x1a1a001a + DD 0x8a8a8a00,0xe1e100e1 + DD 0x03030300,0xcaca00ca + DD 0xe6e6e600,0x47470047 + DD 0xdadada00,0x3d3d003d + DD 0x09090900,0x01010001 + DD 0x3f3f3f00,0xd6d600d6 + DD 0xdddddd00,0x56560056 + DD 0x94949400,0x4d4d004d + DD 0x87878700,0x0d0d000d + DD 0x5c5c5c00,0x66660066 + DD 0x83838300,0xcccc00cc + DD 0x02020200,0x2d2d002d + DD 0xcdcdcd00,0x12120012 + DD 0x4a4a4a00,0x20200020 + DD 0x90909000,0xb1b100b1 + DD 0x33333300,0x99990099 + DD 0x73737300,0x4c4c004c + DD 0x67676700,0xc2c200c2 + DD 0xf6f6f600,0x7e7e007e + DD 0xf3f3f300,0x05050005 + DD 0x9d9d9d00,0xb7b700b7 + DD 0x7f7f7f00,0x31310031 + DD 0xbfbfbf00,0x17170017 + DD 0xe2e2e200,0xd7d700d7 + DD 0x52525200,0x58580058 + DD 0x9b9b9b00,0x61610061 + DD 0xd8d8d800,0x1b1b001b + DD 0x26262600,0x1c1c001c + DD 0xc8c8c800,0x0f0f000f + DD 0x37373700,0x16160016 + DD 0xc6c6c600,0x18180018 + DD 0x3b3b3b00,0x22220022 + DD 0x81818100,0x44440044 + DD 0x96969600,0xb2b200b2 + DD 0x6f6f6f00,0xb5b500b5 + DD 0x4b4b4b00,0x91910091 + DD 0x13131300,0x08080008 + DD 0xbebebe00,0xa8a800a8 + DD 0x63636300,0xfcfc00fc + DD 0x2e2e2e00,0x50500050 + DD 0xe9e9e900,0xd0d000d0 + DD 0x79797900,0x7d7d007d + DD 0xa7a7a700,0x89890089 + DD 0x8c8c8c00,0x97970097 + DD 0x9f9f9f00,0x5b5b005b + DD 0x6e6e6e00,0x95950095 + DD 0xbcbcbc00,0xffff00ff + DD 0x8e8e8e00,0xd2d200d2 + DD 0x29292900,0xc4c400c4 + DD 0xf5f5f500,0x48480048 + DD 0xf9f9f900,0xf7f700f7 + DD 0xb6b6b600,0xdbdb00db + DD 0x2f2f2f00,0x03030003 + DD 0xfdfdfd00,0xdada00da + DD 0xb4b4b400,0x3f3f003f + DD 0x59595900,0x94940094 + DD 0x78787800,0x5c5c005c + DD 0x98989800,0x02020002 + DD 0x06060600,0x4a4a004a + DD 0x6a6a6a00,0x33330033 + DD 0xe7e7e700,0x67670067 + DD 0x46464600,0xf3f300f3 + DD 0x71717100,0x7f7f007f + DD 0xbababa00,0xe2e200e2 + DD 0xd4d4d400,0x9b9b009b + DD 0x25252500,0x26260026 + DD 0xababab00,0x37370037 + DD 0x42424200,0x3b3b003b + DD 0x88888800,0x96960096 + DD 0xa2a2a200,0x4b4b004b + DD 0x8d8d8d00,0xbebe00be + DD 0xfafafa00,0x2e2e002e + DD 0x72727200,0x79790079 + DD 0x07070700,0x8c8c008c + DD 0xb9b9b900,0x6e6e006e + DD 0x55555500,0x8e8e008e + DD 0xf8f8f800,0xf5f500f5 + DD 0xeeeeee00,0xb6b600b6 + DD 0xacacac00,0xfdfd00fd + DD 0x0a0a0a00,0x59590059 + DD 0x36363600,0x98980098 + DD 0x49494900,0x6a6a006a + DD 0x2a2a2a00,0x46460046 + DD 0x68686800,0xbaba00ba + DD 0x3c3c3c00,0x25250025 + DD 0x38383800,0x42420042 + DD 0xf1f1f100,0xa2a200a2 + DD 0xa4a4a400,0xfafa00fa + DD 0x40404000,0x07070007 + DD 0x28282800,0x55550055 + DD 0xd3d3d300,0xeeee00ee + DD 0x7b7b7b00,0x0a0a000a + DD 0xbbbbbb00,0x49490049 + DD 0xc9c9c900,0x68680068 + DD 0x43434300,0x38380038 + DD 0xc1c1c100,0xa4a400a4 + DD 0x15151500,0x28280028 + DD 0xe3e3e300,0x7b7b007b + DD 0xadadad00,0xc9c900c9 + DD 0xf4f4f400,0xc1c100c1 + DD 0x77777700,0xe3e300e3 + DD 0xc7c7c700,0xf4f400f4 + DD 0x80808000,0xc7c700c7 + DD 0x9e9e9e00,0x9e9e009e + DD 0x00e0e0e0,0x38003838 + DD 0x00050505,0x41004141 + DD 0x00585858,0x16001616 + DD 0x00d9d9d9,0x76007676 + DD 0x00676767,0xd900d9d9 + DD 0x004e4e4e,0x93009393 + DD 0x00818181,0x60006060 + DD 0x00cbcbcb,0xf200f2f2 + DD 0x00c9c9c9,0x72007272 + DD 0x000b0b0b,0xc200c2c2 + DD 0x00aeaeae,0xab00abab + DD 0x006a6a6a,0x9a009a9a + DD 0x00d5d5d5,0x75007575 + DD 0x00181818,0x06000606 + DD 0x005d5d5d,0x57005757 + DD 0x00828282,0xa000a0a0 + DD 0x00464646,0x91009191 + DD 0x00dfdfdf,0xf700f7f7 + DD 0x00d6d6d6,0xb500b5b5 + DD 0x00272727,0xc900c9c9 + DD 0x008a8a8a,0xa200a2a2 + DD 0x00323232,0x8c008c8c + DD 0x004b4b4b,0xd200d2d2 + DD 0x00424242,0x90009090 + DD 0x00dbdbdb,0xf600f6f6 + DD 0x001c1c1c,0x07000707 + DD 0x009e9e9e,0xa700a7a7 + DD 0x009c9c9c,0x27002727 + DD 0x003a3a3a,0x8e008e8e + DD 0x00cacaca,0xb200b2b2 + DD 0x00252525,0x49004949 + DD 0x007b7b7b,0xde00dede + DD 0x000d0d0d,0x43004343 + DD 0x00717171,0x5c005c5c + DD 0x005f5f5f,0xd700d7d7 + DD 0x001f1f1f,0xc700c7c7 + DD 0x00f8f8f8,0x3e003e3e + DD 0x00d7d7d7,0xf500f5f5 + DD 0x003e3e3e,0x8f008f8f + DD 0x009d9d9d,0x67006767 + DD 0x007c7c7c,0x1f001f1f + DD 0x00606060,0x18001818 + DD 0x00b9b9b9,0x6e006e6e + DD 0x00bebebe,0xaf00afaf + DD 0x00bcbcbc,0x2f002f2f + DD 0x008b8b8b,0xe200e2e2 + DD 0x00161616,0x85008585 + DD 0x00343434,0x0d000d0d + DD 0x004d4d4d,0x53005353 + DD 0x00c3c3c3,0xf000f0f0 + DD 0x00727272,0x9c009c9c + DD 0x00959595,0x65006565 + DD 0x00ababab,0xea00eaea + DD 0x008e8e8e,0xa300a3a3 + DD 0x00bababa,0xae00aeae + DD 0x007a7a7a,0x9e009e9e + DD 0x00b3b3b3,0xec00ecec + DD 0x00020202,0x80008080 + DD 0x00b4b4b4,0x2d002d2d + DD 0x00adadad,0x6b006b6b + DD 0x00a2a2a2,0xa800a8a8 + DD 0x00acacac,0x2b002b2b + DD 0x00d8d8d8,0x36003636 + DD 0x009a9a9a,0xa600a6a6 + DD 0x00171717,0xc500c5c5 + DD 0x001a1a1a,0x86008686 + DD 0x00353535,0x4d004d4d + DD 0x00cccccc,0x33003333 + DD 0x00f7f7f7,0xfd00fdfd + DD 0x00999999,0x66006666 + DD 0x00616161,0x58005858 + DD 0x005a5a5a,0x96009696 + DD 0x00e8e8e8,0x3a003a3a + DD 0x00242424,0x09000909 + DD 0x00565656,0x95009595 + DD 0x00404040,0x10001010 + DD 0x00e1e1e1,0x78007878 + DD 0x00636363,0xd800d8d8 + DD 0x00090909,0x42004242 + DD 0x00333333,0xcc00cccc + DD 0x00bfbfbf,0xef00efef + DD 0x00989898,0x26002626 + DD 0x00979797,0xe500e5e5 + DD 0x00858585,0x61006161 + DD 0x00686868,0x1a001a1a + DD 0x00fcfcfc,0x3f003f3f + DD 0x00ececec,0x3b003b3b + DD 0x000a0a0a,0x82008282 + DD 0x00dadada,0xb600b6b6 + DD 0x006f6f6f,0xdb00dbdb + DD 0x00535353,0xd400d4d4 + DD 0x00626262,0x98009898 + DD 0x00a3a3a3,0xe800e8e8 + DD 0x002e2e2e,0x8b008b8b + DD 0x00080808,0x02000202 + DD 0x00afafaf,0xeb00ebeb + DD 0x00282828,0x0a000a0a + DD 0x00b0b0b0,0x2c002c2c + DD 0x00747474,0x1d001d1d + DD 0x00c2c2c2,0xb000b0b0 + DD 0x00bdbdbd,0x6f006f6f + DD 0x00363636,0x8d008d8d + DD 0x00222222,0x88008888 + DD 0x00383838,0x0e000e0e + DD 0x00646464,0x19001919 + DD 0x001e1e1e,0x87008787 + DD 0x00393939,0x4e004e4e + DD 0x002c2c2c,0x0b000b0b + DD 0x00a6a6a6,0xa900a9a9 + DD 0x00303030,0x0c000c0c + DD 0x00e5e5e5,0x79007979 + DD 0x00444444,0x11001111 + DD 0x00fdfdfd,0x7f007f7f + DD 0x00888888,0x22002222 + DD 0x009f9f9f,0xe700e7e7 + DD 0x00656565,0x59005959 + DD 0x00878787,0xe100e1e1 + DD 0x006b6b6b,0xda00dada + DD 0x00f4f4f4,0x3d003d3d + DD 0x00232323,0xc800c8c8 + DD 0x00484848,0x12001212 + DD 0x00101010,0x04000404 + DD 0x00d1d1d1,0x74007474 + DD 0x00515151,0x54005454 + DD 0x00c0c0c0,0x30003030 + DD 0x00f9f9f9,0x7e007e7e + DD 0x00d2d2d2,0xb400b4b4 + DD 0x00a0a0a0,0x28002828 + DD 0x00555555,0x55005555 + DD 0x00a1a1a1,0x68006868 + DD 0x00414141,0x50005050 + DD 0x00fafafa,0xbe00bebe + DD 0x00434343,0xd000d0d0 + DD 0x00131313,0xc400c4c4 + DD 0x00c4c4c4,0x31003131 + DD 0x002f2f2f,0xcb00cbcb + DD 0x00a8a8a8,0x2a002a2a + DD 0x00b6b6b6,0xad00adad + DD 0x003c3c3c,0x0f000f0f + DD 0x002b2b2b,0xca00caca + DD 0x00c1c1c1,0x70007070 + DD 0x00ffffff,0xff00ffff + DD 0x00c8c8c8,0x32003232 + DD 0x00a5a5a5,0x69006969 + DD 0x00202020,0x08000808 + DD 0x00898989,0x62006262 + DD 0x00000000,0x00000000 + DD 0x00909090,0x24002424 + DD 0x00474747,0xd100d1d1 + DD 0x00efefef,0xfb00fbfb + DD 0x00eaeaea,0xba00baba + DD 0x00b7b7b7,0xed00eded + DD 0x00151515,0x45004545 + DD 0x00060606,0x81008181 + DD 0x00cdcdcd,0x73007373 + DD 0x00b5b5b5,0x6d006d6d + DD 0x00121212,0x84008484 + DD 0x007e7e7e,0x9f009f9f + DD 0x00bbbbbb,0xee00eeee + DD 0x00292929,0x4a004a4a + DD 0x000f0f0f,0xc300c3c3 + DD 0x00b8b8b8,0x2e002e2e + DD 0x00070707,0xc100c1c1 + DD 0x00040404,0x01000101 + DD 0x009b9b9b,0xe600e6e6 + DD 0x00949494,0x25002525 + DD 0x00212121,0x48004848 + DD 0x00666666,0x99009999 + DD 0x00e6e6e6,0xb900b9b9 + DD 0x00cecece,0xb300b3b3 + DD 0x00ededed,0x7b007b7b + DD 0x00e7e7e7,0xf900f9f9 + DD 0x003b3b3b,0xce00cece + DD 0x00fefefe,0xbf00bfbf + DD 0x007f7f7f,0xdf00dfdf + DD 0x00c5c5c5,0x71007171 + DD 0x00a4a4a4,0x29002929 + DD 0x00373737,0xcd00cdcd + DD 0x00b1b1b1,0x6c006c6c + DD 0x004c4c4c,0x13001313 + DD 0x00919191,0x64006464 + DD 0x006e6e6e,0x9b009b9b + DD 0x008d8d8d,0x63006363 + DD 0x00767676,0x9d009d9d + DD 0x00030303,0xc000c0c0 + DD 0x002d2d2d,0x4b004b4b + DD 0x00dedede,0xb700b7b7 + DD 0x00969696,0xa500a5a5 + DD 0x00262626,0x89008989 + DD 0x007d7d7d,0x5f005f5f + DD 0x00c6c6c6,0xb100b1b1 + DD 0x005c5c5c,0x17001717 + DD 0x00d3d3d3,0xf400f4f4 + DD 0x00f2f2f2,0xbc00bcbc + DD 0x004f4f4f,0xd300d3d3 + DD 0x00191919,0x46004646 + DD 0x003f3f3f,0xcf00cfcf + DD 0x00dcdcdc,0x37003737 + DD 0x00797979,0x5e005e5e + DD 0x001d1d1d,0x47004747 + DD 0x00525252,0x94009494 + DD 0x00ebebeb,0xfa00fafa + DD 0x00f3f3f3,0xfc00fcfc + DD 0x006d6d6d,0x5b005b5b + DD 0x005e5e5e,0x97009797 + DD 0x00fbfbfb,0xfe00fefe + DD 0x00696969,0x5a005a5a + DD 0x00b2b2b2,0xac00acac + DD 0x00f0f0f0,0x3c003c3c + DD 0x00313131,0x4c004c4c + DD 0x000c0c0c,0x03000303 + DD 0x00d4d4d4,0x35003535 + DD 0x00cfcfcf,0xf300f3f3 + DD 0x008c8c8c,0x23002323 + DD 0x00e2e2e2,0xb800b8b8 + DD 0x00757575,0x5d005d5d + DD 0x00a9a9a9,0x6a006a6a + DD 0x004a4a4a,0x92009292 + DD 0x00575757,0xd500d5d5 + DD 0x00848484,0x21002121 + DD 0x00111111,0x44004444 + DD 0x00454545,0x51005151 + DD 0x001b1b1b,0xc600c6c6 + DD 0x00f5f5f5,0x7d007d7d + DD 0x00e4e4e4,0x39003939 + DD 0x000e0e0e,0x83008383 + DD 0x00737373,0xdc00dcdc + DD 0x00aaaaaa,0xaa00aaaa + DD 0x00f1f1f1,0x7c007c7c + DD 0x00dddddd,0x77007777 + DD 0x00595959,0x56005656 + DD 0x00141414,0x05000505 + DD 0x006c6c6c,0x1b001b1b + DD 0x00929292,0xa400a4a4 + DD 0x00545454,0x15001515 + DD 0x00d0d0d0,0x34003434 + DD 0x00787878,0x1e001e1e + DD 0x00707070,0x1c001c1c + DD 0x00e3e3e3,0xf800f8f8 + DD 0x00494949,0x52005252 + DD 0x00808080,0x20002020 + DD 0x00505050,0x14001414 + DD 0x00a7a7a7,0xe900e9e9 + DD 0x00f6f6f6,0xbd00bdbd + DD 0x00777777,0xdd00dddd + DD 0x00939393,0xe400e4e4 + DD 0x00868686,0xa100a1a1 + DD 0x00838383,0xe000e0e0 + DD 0x002a2a2a,0x8a008a8a + DD 0x00c7c7c7,0xf100f1f1 + DD 0x005b5b5b,0xd600d6d6 + DD 0x00e9e9e9,0x7a007a7a + DD 0x00eeeeee,0xbb00bbbb + DD 0x008f8f8f,0xe300e3e3 + DD 0x00010101,0x40004040 + DD 0x003d3d3d,0x4f004f4f +global Camellia_cbc_encrypt + +ALIGN 16 +Camellia_cbc_encrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_Camellia_cbc_encrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + cmp rdx,0 + je NEAR $L$cbc_abort + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 +$L$cbc_prologue: + + mov rbp,rsp + sub rsp,64 + and rsp,-64 + + + + lea r10,[((-64-63))+rcx] + sub r10,rsp + neg r10 + and r10,0x3C0 + sub rsp,r10 + + + mov r12,rdi + mov r13,rsi + mov rbx,r8 + mov r14,rcx + mov r15d,DWORD[272+rcx] + + mov QWORD[40+rsp],r8 + mov QWORD[48+rsp],rbp + +$L$cbc_body: + lea rbp,[$L$Camellia_SBOX] + + mov ecx,32 +ALIGN 4 +$L$cbc_prefetch_sbox: + mov rax,QWORD[rbp] + mov rsi,QWORD[32+rbp] + mov rdi,QWORD[64+rbp] + mov r11,QWORD[96+rbp] + lea rbp,[128+rbp] + loop $L$cbc_prefetch_sbox + sub rbp,4096 + shl r15,6 + mov rcx,rdx + lea r15,[r15*1+r14] + + cmp r9d,0 + je NEAR $L$CBC_DECRYPT + + and rdx,-16 + and rcx,15 + lea rdx,[rdx*1+r12] + mov QWORD[rsp],r14 + mov QWORD[8+rsp],rdx + mov QWORD[16+rsp],rcx + + cmp rdx,r12 + mov r8d,DWORD[rbx] + mov r9d,DWORD[4+rbx] + mov r10d,DWORD[8+rbx] + mov r11d,DWORD[12+rbx] + je NEAR $L$cbc_enc_tail + jmp NEAR $L$cbc_eloop + +ALIGN 16 +$L$cbc_eloop: + xor r8d,DWORD[r12] + xor r9d,DWORD[4+r12] + xor r10d,DWORD[8+r12] + bswap r8d + xor r11d,DWORD[12+r12] + bswap r9d + bswap r10d + bswap r11d + + call _x86_64_Camellia_encrypt + + mov r14,QWORD[rsp] + bswap r8d + mov rdx,QWORD[8+rsp] + bswap r9d + mov rcx,QWORD[16+rsp] + bswap r10d + mov DWORD[r13],r8d + bswap r11d + mov DWORD[4+r13],r9d + mov DWORD[8+r13],r10d + lea r12,[16+r12] + mov DWORD[12+r13],r11d + cmp r12,rdx + lea r13,[16+r13] + jne NEAR $L$cbc_eloop + + cmp rcx,0 + jne NEAR $L$cbc_enc_tail + + mov r13,QWORD[40+rsp] + mov DWORD[r13],r8d + mov DWORD[4+r13],r9d + mov DWORD[8+r13],r10d + mov DWORD[12+r13],r11d + jmp NEAR $L$cbc_done + +ALIGN 16 +$L$cbc_enc_tail: + xor rax,rax + mov QWORD[((0+24))+rsp],rax + mov QWORD[((8+24))+rsp],rax + mov QWORD[16+rsp],rax + +$L$cbc_enc_pushf: + pushfq + cld + mov rsi,r12 + lea rdi,[((8+24))+rsp] + DD 0x9066A4F3 + popfq +$L$cbc_enc_popf: + + lea r12,[24+rsp] + lea rax,[((16+24))+rsp] + mov QWORD[8+rsp],rax + jmp NEAR $L$cbc_eloop + +ALIGN 16 +$L$CBC_DECRYPT: + xchg r15,r14 + add rdx,15 + and rcx,15 + and rdx,-16 + mov QWORD[rsp],r14 + lea rdx,[rdx*1+r12] + mov QWORD[8+rsp],rdx + mov QWORD[16+rsp],rcx + + mov rax,QWORD[rbx] + mov rbx,QWORD[8+rbx] + jmp NEAR $L$cbc_dloop +ALIGN 16 +$L$cbc_dloop: + mov r8d,DWORD[r12] + mov r9d,DWORD[4+r12] + mov r10d,DWORD[8+r12] + bswap r8d + mov r11d,DWORD[12+r12] + bswap r9d + mov QWORD[((0+24))+rsp],rax + bswap r10d + mov QWORD[((8+24))+rsp],rbx + bswap r11d + + call _x86_64_Camellia_decrypt + + mov r14,QWORD[rsp] + mov rdx,QWORD[8+rsp] + mov rcx,QWORD[16+rsp] + + bswap r8d + mov rax,QWORD[r12] + bswap r9d + mov rbx,QWORD[8+r12] + bswap r10d + xor r8d,DWORD[((0+24))+rsp] + bswap r11d + xor r9d,DWORD[((4+24))+rsp] + xor r10d,DWORD[((8+24))+rsp] + lea r12,[16+r12] + xor r11d,DWORD[((12+24))+rsp] + cmp r12,rdx + je NEAR $L$cbc_ddone + + mov DWORD[r13],r8d + mov DWORD[4+r13],r9d + mov DWORD[8+r13],r10d + mov DWORD[12+r13],r11d + + lea r13,[16+r13] + jmp NEAR $L$cbc_dloop + +ALIGN 16 +$L$cbc_ddone: + mov rdx,QWORD[40+rsp] + cmp rcx,0 + jne NEAR $L$cbc_dec_tail + + mov DWORD[r13],r8d + mov DWORD[4+r13],r9d + mov DWORD[8+r13],r10d + mov DWORD[12+r13],r11d + + mov QWORD[rdx],rax + mov QWORD[8+rdx],rbx + jmp NEAR $L$cbc_done +ALIGN 16 +$L$cbc_dec_tail: + mov DWORD[((0+24))+rsp],r8d + mov DWORD[((4+24))+rsp],r9d + mov DWORD[((8+24))+rsp],r10d + mov DWORD[((12+24))+rsp],r11d + +$L$cbc_dec_pushf: + pushfq + cld + lea rsi,[((8+24))+rsp] + lea rdi,[r13] + DD 0x9066A4F3 + popfq +$L$cbc_dec_popf: + + mov QWORD[rdx],rax + mov QWORD[8+rdx],rbx + jmp NEAR $L$cbc_done + +ALIGN 16 +$L$cbc_done: + mov rcx,QWORD[48+rsp] + mov r15,QWORD[rcx] + mov r14,QWORD[8+rcx] + mov r13,QWORD[16+rcx] + mov r12,QWORD[24+rcx] + mov rbp,QWORD[32+rcx] + mov rbx,QWORD[40+rcx] + lea rsp,[48+rcx] +$L$cbc_abort: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_Camellia_cbc_encrypt: + +DB 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54 +DB 95,54,52,32,98,121,32,60,97,112,112,114,111,64,111,112 +DB 101,110,115,115,108,46,111,114,103,62,0 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +common_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + lea rsp,[((-64))+rsp] + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + + lea rax,[40+rax] + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r13,QWORD[((-24))+rax] + mov r14,QWORD[((-32))+rax] + mov r15,QWORD[((-40))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + jmp NEAR $L$common_seh_exit + + + +ALIGN 16 +cbc_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + lea rsp,[((-64))+rsp] + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$cbc_prologue] + cmp rbx,r10 + jb NEAR $L$in_cbc_prologue + + lea r10,[$L$cbc_body] + cmp rbx,r10 + jb NEAR $L$in_cbc_frame_setup + + mov rax,QWORD[152+r8] + + lea r10,[$L$cbc_abort] + cmp rbx,r10 + jae NEAR $L$in_cbc_prologue + + + lea r10,[$L$cbc_enc_pushf] + cmp rbx,r10 + jbe NEAR $L$in_cbc_no_flag + lea rax,[8+rax] + lea r10,[$L$cbc_enc_popf] + cmp rbx,r10 + jb NEAR $L$in_cbc_no_flag + lea rax,[((-8))+rax] + lea r10,[$L$cbc_dec_pushf] + cmp rbx,r10 + jbe NEAR $L$in_cbc_no_flag + lea rax,[8+rax] + lea r10,[$L$cbc_dec_popf] + cmp rbx,r10 + jb NEAR $L$in_cbc_no_flag + lea rax,[((-8))+rax] + +$L$in_cbc_no_flag: + mov rax,QWORD[48+rax] + lea rax,[48+rax] + +$L$in_cbc_frame_setup: + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$in_cbc_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + +ALIGN 4 +$L$common_seh_exit: + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + lea rsp,[64+rsp] + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_Camellia_EncryptBlock_Rounds wrt ..imagebase + DD $L$SEH_end_Camellia_EncryptBlock_Rounds wrt ..imagebase + DD $L$SEH_info_Camellia_EncryptBlock_Rounds wrt ..imagebase + + DD $L$SEH_begin_Camellia_DecryptBlock_Rounds wrt ..imagebase + DD $L$SEH_end_Camellia_DecryptBlock_Rounds wrt ..imagebase + DD $L$SEH_info_Camellia_DecryptBlock_Rounds wrt ..imagebase + + DD $L$SEH_begin_Camellia_Ekeygen wrt ..imagebase + DD $L$SEH_end_Camellia_Ekeygen wrt ..imagebase + DD $L$SEH_info_Camellia_Ekeygen wrt ..imagebase + + DD $L$SEH_begin_Camellia_cbc_encrypt wrt ..imagebase + DD $L$SEH_end_Camellia_cbc_encrypt wrt ..imagebase + DD $L$SEH_info_Camellia_cbc_encrypt wrt ..imagebase + +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_Camellia_EncryptBlock_Rounds: +DB 9,0,0,0 + DD common_se_handler wrt ..imagebase + DD $L$enc_prologue wrt ..imagebase,$L$enc_epilogue wrt ..imagebase +$L$SEH_info_Camellia_DecryptBlock_Rounds: +DB 9,0,0,0 + DD common_se_handler wrt ..imagebase + DD $L$dec_prologue wrt ..imagebase,$L$dec_epilogue wrt ..imagebase +$L$SEH_info_Camellia_Ekeygen: +DB 9,0,0,0 + DD common_se_handler wrt ..imagebase + DD $L$key_prologue wrt ..imagebase,$L$key_epilogue wrt ..imagebase +$L$SEH_info_Camellia_cbc_encrypt: +DB 9,0,0,0 + DD cbc_se_handler wrt ..imagebase diff --git a/tmp64/ecp_nistz256-x86_64.asm b/tmp64/ecp_nistz256-x86_64.asm index ab1b3fd3..7e14771d 100644 --- a/tmp64/ecp_nistz256-x86_64.asm +++ b/tmp64/ecp_nistz256-x86_64.asm @@ -1,3787 +1,3787 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - -EXTERN OPENSSL_ia32cap_P - - -ALIGN 64 -$L$poly: - DQ 0xffffffffffffffff,0x00000000ffffffff,0x0000000000000000,0xffffffff00000001 - - -$L$RR: - DQ 0x0000000000000003,0xfffffffbffffffff,0xfffffffffffffffe,0x00000004fffffffd - -$L$One: - DD 1,1,1,1,1,1,1,1 -$L$Two: - DD 2,2,2,2,2,2,2,2 -$L$Three: - DD 3,3,3,3,3,3,3,3 -$L$ONE_mont: - DQ 0x0000000000000001,0xffffffff00000000,0xffffffffffffffff,0x00000000fffffffe - -global ecp_nistz256_mul_by_2 - -ALIGN 64 -ecp_nistz256_mul_by_2: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_mul_by_2: - mov rdi,rcx - mov rsi,rdx - - - push r12 - push r13 - - mov r8,QWORD[rsi] - xor r13,r13 - mov r9,QWORD[8+rsi] - add r8,r8 - mov r10,QWORD[16+rsi] - adc r9,r9 - mov r11,QWORD[24+rsi] - lea rsi,[$L$poly] - mov rax,r8 - adc r10,r10 - adc r11,r11 - mov rdx,r9 - adc r13,0 - - sub r8,QWORD[rsi] - mov rcx,r10 - sbb r9,QWORD[8+rsi] - sbb r10,QWORD[16+rsi] - mov r12,r11 - sbb r11,QWORD[24+rsi] - sbb r13,0 - - cmovc r8,rax - cmovc r9,rdx - mov QWORD[rdi],r8 - cmovc r10,rcx - mov QWORD[8+rdi],r9 - cmovc r11,r12 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - - pop r13 - pop r12 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_mul_by_2: - - - -global ecp_nistz256_div_by_2 - -ALIGN 32 -ecp_nistz256_div_by_2: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_div_by_2: - mov rdi,rcx - mov rsi,rdx - - - push r12 - push r13 - - mov r8,QWORD[rsi] - mov r9,QWORD[8+rsi] - mov r10,QWORD[16+rsi] - mov rax,r8 - mov r11,QWORD[24+rsi] - lea rsi,[$L$poly] - - mov rdx,r9 - xor r13,r13 - add r8,QWORD[rsi] - mov rcx,r10 - adc r9,QWORD[8+rsi] - adc r10,QWORD[16+rsi] - mov r12,r11 - adc r11,QWORD[24+rsi] - adc r13,0 - xor rsi,rsi - test rax,1 - - cmovz r8,rax - cmovz r9,rdx - cmovz r10,rcx - cmovz r11,r12 - cmovz r13,rsi - - mov rax,r9 - shr r8,1 - shl rax,63 - mov rdx,r10 - shr r9,1 - or r8,rax - shl rdx,63 - mov rcx,r11 - shr r10,1 - or r9,rdx - shl rcx,63 - shr r11,1 - shl r13,63 - or r10,rcx - or r11,r13 - - mov QWORD[rdi],r8 - mov QWORD[8+rdi],r9 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - - pop r13 - pop r12 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_div_by_2: - - - -global ecp_nistz256_mul_by_3 - -ALIGN 32 -ecp_nistz256_mul_by_3: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_mul_by_3: - mov rdi,rcx - mov rsi,rdx - - - push r12 - push r13 - - mov r8,QWORD[rsi] - xor r13,r13 - mov r9,QWORD[8+rsi] - add r8,r8 - mov r10,QWORD[16+rsi] - adc r9,r9 - mov r11,QWORD[24+rsi] - mov rax,r8 - adc r10,r10 - adc r11,r11 - mov rdx,r9 - adc r13,0 - - sub r8,-1 - mov rcx,r10 - sbb r9,QWORD[(($L$poly+8))] - sbb r10,0 - mov r12,r11 - sbb r11,QWORD[(($L$poly+24))] - sbb r13,0 - - cmovc r8,rax - cmovc r9,rdx - cmovc r10,rcx - cmovc r11,r12 - - xor r13,r13 - add r8,QWORD[rsi] - adc r9,QWORD[8+rsi] - mov rax,r8 - adc r10,QWORD[16+rsi] - adc r11,QWORD[24+rsi] - mov rdx,r9 - adc r13,0 - - sub r8,-1 - mov rcx,r10 - sbb r9,QWORD[(($L$poly+8))] - sbb r10,0 - mov r12,r11 - sbb r11,QWORD[(($L$poly+24))] - sbb r13,0 - - cmovc r8,rax - cmovc r9,rdx - mov QWORD[rdi],r8 - cmovc r10,rcx - mov QWORD[8+rdi],r9 - cmovc r11,r12 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - - pop r13 - pop r12 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_mul_by_3: - - - -global ecp_nistz256_add - -ALIGN 32 -ecp_nistz256_add: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_add: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - push r12 - push r13 - - mov r8,QWORD[rsi] - xor r13,r13 - mov r9,QWORD[8+rsi] - mov r10,QWORD[16+rsi] - mov r11,QWORD[24+rsi] - lea rsi,[$L$poly] - - add r8,QWORD[rdx] - adc r9,QWORD[8+rdx] - mov rax,r8 - adc r10,QWORD[16+rdx] - adc r11,QWORD[24+rdx] - mov rdx,r9 - adc r13,0 - - sub r8,QWORD[rsi] - mov rcx,r10 - sbb r9,QWORD[8+rsi] - sbb r10,QWORD[16+rsi] - mov r12,r11 - sbb r11,QWORD[24+rsi] - sbb r13,0 - - cmovc r8,rax - cmovc r9,rdx - mov QWORD[rdi],r8 - cmovc r10,rcx - mov QWORD[8+rdi],r9 - cmovc r11,r12 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - - pop r13 - pop r12 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_add: - - - -global ecp_nistz256_sub - -ALIGN 32 -ecp_nistz256_sub: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_sub: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - push r12 - push r13 - - mov r8,QWORD[rsi] - xor r13,r13 - mov r9,QWORD[8+rsi] - mov r10,QWORD[16+rsi] - mov r11,QWORD[24+rsi] - lea rsi,[$L$poly] - - sub r8,QWORD[rdx] - sbb r9,QWORD[8+rdx] - mov rax,r8 - sbb r10,QWORD[16+rdx] - sbb r11,QWORD[24+rdx] - mov rdx,r9 - sbb r13,0 - - add r8,QWORD[rsi] - mov rcx,r10 - adc r9,QWORD[8+rsi] - adc r10,QWORD[16+rsi] - mov r12,r11 - adc r11,QWORD[24+rsi] - test r13,r13 - - cmovz r8,rax - cmovz r9,rdx - mov QWORD[rdi],r8 - cmovz r10,rcx - mov QWORD[8+rdi],r9 - cmovz r11,r12 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - - pop r13 - pop r12 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_sub: - - - -global ecp_nistz256_neg - -ALIGN 32 -ecp_nistz256_neg: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_neg: - mov rdi,rcx - mov rsi,rdx - - - push r12 - push r13 - - xor r8,r8 - xor r9,r9 - xor r10,r10 - xor r11,r11 - xor r13,r13 - - sub r8,QWORD[rsi] - sbb r9,QWORD[8+rsi] - sbb r10,QWORD[16+rsi] - mov rax,r8 - sbb r11,QWORD[24+rsi] - lea rsi,[$L$poly] - mov rdx,r9 - sbb r13,0 - - add r8,QWORD[rsi] - mov rcx,r10 - adc r9,QWORD[8+rsi] - adc r10,QWORD[16+rsi] - mov r12,r11 - adc r11,QWORD[24+rsi] - test r13,r13 - - cmovz r8,rax - cmovz r9,rdx - mov QWORD[rdi],r8 - cmovz r10,rcx - mov QWORD[8+rdi],r9 - cmovz r11,r12 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - - pop r13 - pop r12 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_neg: - - - - -global ecp_nistz256_to_mont - -ALIGN 32 -ecp_nistz256_to_mont: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_to_mont: - mov rdi,rcx - mov rsi,rdx - - - mov ecx,0x80100 - and ecx,DWORD[((OPENSSL_ia32cap_P+8))] - lea rdx,[$L$RR] - jmp NEAR $L$mul_mont -$L$SEH_end_ecp_nistz256_to_mont: - - - - - - - -global ecp_nistz256_mul_mont - -ALIGN 32 -ecp_nistz256_mul_mont: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_mul_mont: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - mov ecx,0x80100 - and ecx,DWORD[((OPENSSL_ia32cap_P+8))] -$L$mul_mont: - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - cmp ecx,0x80100 - je NEAR $L$mul_montx - mov rbx,rdx - mov rax,QWORD[rdx] - mov r9,QWORD[rsi] - mov r10,QWORD[8+rsi] - mov r11,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - - call __ecp_nistz256_mul_montq - jmp NEAR $L$mul_mont_done - -ALIGN 32 -$L$mul_montx: - mov rbx,rdx - mov rdx,QWORD[rdx] - mov r9,QWORD[rsi] - mov r10,QWORD[8+rsi] - mov r11,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - lea rsi,[((-128))+rsi] - - call __ecp_nistz256_mul_montx -$L$mul_mont_done: - pop r15 - pop r14 - pop r13 - pop r12 - pop rbx - pop rbp - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_mul_mont: - - -ALIGN 32 -__ecp_nistz256_mul_montq: - - - mov rbp,rax - mul r9 - mov r14,QWORD[(($L$poly+8))] - mov r8,rax - mov rax,rbp - mov r9,rdx - - mul r10 - mov r15,QWORD[(($L$poly+24))] - add r9,rax - mov rax,rbp - adc rdx,0 - mov r10,rdx - - mul r11 - add r10,rax - mov rax,rbp - adc rdx,0 - mov r11,rdx - - mul r12 - add r11,rax - mov rax,r8 - adc rdx,0 - xor r13,r13 - mov r12,rdx - - - - - - - - - - - mov rbp,r8 - shl r8,32 - mul r15 - shr rbp,32 - add r9,r8 - adc r10,rbp - adc r11,rax - mov rax,QWORD[8+rbx] - adc r12,rdx - adc r13,0 - xor r8,r8 - - - - mov rbp,rax - mul QWORD[rsi] - add r9,rax - mov rax,rbp - adc rdx,0 - mov rcx,rdx - - mul QWORD[8+rsi] - add r10,rcx - adc rdx,0 - add r10,rax - mov rax,rbp - adc rdx,0 - mov rcx,rdx - - mul QWORD[16+rsi] - add r11,rcx - adc rdx,0 - add r11,rax - mov rax,rbp - adc rdx,0 - mov rcx,rdx - - mul QWORD[24+rsi] - add r12,rcx - adc rdx,0 - add r12,rax - mov rax,r9 - adc r13,rdx - adc r8,0 - - - - mov rbp,r9 - shl r9,32 - mul r15 - shr rbp,32 - add r10,r9 - adc r11,rbp - adc r12,rax - mov rax,QWORD[16+rbx] - adc r13,rdx - adc r8,0 - xor r9,r9 - - - - mov rbp,rax - mul QWORD[rsi] - add r10,rax - mov rax,rbp - adc rdx,0 - mov rcx,rdx - - mul QWORD[8+rsi] - add r11,rcx - adc rdx,0 - add r11,rax - mov rax,rbp - adc rdx,0 - mov rcx,rdx - - mul QWORD[16+rsi] - add r12,rcx - adc rdx,0 - add r12,rax - mov rax,rbp - adc rdx,0 - mov rcx,rdx - - mul QWORD[24+rsi] - add r13,rcx - adc rdx,0 - add r13,rax - mov rax,r10 - adc r8,rdx - adc r9,0 - - - - mov rbp,r10 - shl r10,32 - mul r15 - shr rbp,32 - add r11,r10 - adc r12,rbp - adc r13,rax - mov rax,QWORD[24+rbx] - adc r8,rdx - adc r9,0 - xor r10,r10 - - - - mov rbp,rax - mul QWORD[rsi] - add r11,rax - mov rax,rbp - adc rdx,0 - mov rcx,rdx - - mul QWORD[8+rsi] - add r12,rcx - adc rdx,0 - add r12,rax - mov rax,rbp - adc rdx,0 - mov rcx,rdx - - mul QWORD[16+rsi] - add r13,rcx - adc rdx,0 - add r13,rax - mov rax,rbp - adc rdx,0 - mov rcx,rdx - - mul QWORD[24+rsi] - add r8,rcx - adc rdx,0 - add r8,rax - mov rax,r11 - adc r9,rdx - adc r10,0 - - - - mov rbp,r11 - shl r11,32 - mul r15 - shr rbp,32 - add r12,r11 - adc r13,rbp - mov rcx,r12 - adc r8,rax - adc r9,rdx - mov rbp,r13 - adc r10,0 - - - - sub r12,-1 - mov rbx,r8 - sbb r13,r14 - sbb r8,0 - mov rdx,r9 - sbb r9,r15 - sbb r10,0 - - cmovc r12,rcx - cmovc r13,rbp - mov QWORD[rdi],r12 - cmovc r8,rbx - mov QWORD[8+rdi],r13 - cmovc r9,rdx - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - - DB 0F3h,0C3h ;repret - - - - - - - - - -global ecp_nistz256_sqr_mont - -ALIGN 32 -ecp_nistz256_sqr_mont: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_sqr_mont: - mov rdi,rcx - mov rsi,rdx - - - mov ecx,0x80100 - and ecx,DWORD[((OPENSSL_ia32cap_P+8))] - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - cmp ecx,0x80100 - je NEAR $L$sqr_montx - mov rax,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r15,QWORD[16+rsi] - mov r8,QWORD[24+rsi] - - call __ecp_nistz256_sqr_montq - jmp NEAR $L$sqr_mont_done - -ALIGN 32 -$L$sqr_montx: - mov rdx,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r15,QWORD[16+rsi] - mov r8,QWORD[24+rsi] - lea rsi,[((-128))+rsi] - - call __ecp_nistz256_sqr_montx -$L$sqr_mont_done: - pop r15 - pop r14 - pop r13 - pop r12 - pop rbx - pop rbp - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_sqr_mont: - - -ALIGN 32 -__ecp_nistz256_sqr_montq: - mov r13,rax - mul r14 - mov r9,rax - mov rax,r15 - mov r10,rdx - - mul r13 - add r10,rax - mov rax,r8 - adc rdx,0 - mov r11,rdx - - mul r13 - add r11,rax - mov rax,r15 - adc rdx,0 - mov r12,rdx - - - mul r14 - add r11,rax - mov rax,r8 - adc rdx,0 - mov rbp,rdx - - mul r14 - add r12,rax - mov rax,r8 - adc rdx,0 - add r12,rbp - mov r13,rdx - adc r13,0 - - - mul r15 - xor r15,r15 - add r13,rax - mov rax,QWORD[rsi] - mov r14,rdx - adc r14,0 - - add r9,r9 - adc r10,r10 - adc r11,r11 - adc r12,r12 - adc r13,r13 - adc r14,r14 - adc r15,0 - - mul rax - mov r8,rax - mov rax,QWORD[8+rsi] - mov rcx,rdx - - mul rax - add r9,rcx - adc r10,rax - mov rax,QWORD[16+rsi] - adc rdx,0 - mov rcx,rdx - - mul rax - add r11,rcx - adc r12,rax - mov rax,QWORD[24+rsi] - adc rdx,0 - mov rcx,rdx - - mul rax - add r13,rcx - adc r14,rax - mov rax,r8 - adc r15,rdx - - mov rsi,QWORD[(($L$poly+8))] - mov rbp,QWORD[(($L$poly+24))] - - - - - mov rcx,r8 - shl r8,32 - mul rbp - shr rcx,32 - add r9,r8 - adc r10,rcx - adc r11,rax - mov rax,r9 - adc rdx,0 - - - - mov rcx,r9 - shl r9,32 - mov r8,rdx - mul rbp - shr rcx,32 - add r10,r9 - adc r11,rcx - adc r8,rax - mov rax,r10 - adc rdx,0 - - - - mov rcx,r10 - shl r10,32 - mov r9,rdx - mul rbp - shr rcx,32 - add r11,r10 - adc r8,rcx - adc r9,rax - mov rax,r11 - adc rdx,0 - - - - mov rcx,r11 - shl r11,32 - mov r10,rdx - mul rbp - shr rcx,32 - add r8,r11 - adc r9,rcx - adc r10,rax - adc rdx,0 - xor r11,r11 - - - - add r12,r8 - adc r13,r9 - mov r8,r12 - adc r14,r10 - adc r15,rdx - mov r9,r13 - adc r11,0 - - sub r12,-1 - mov r10,r14 - sbb r13,rsi - sbb r14,0 - mov rcx,r15 - sbb r15,rbp - sbb r11,0 - - cmovc r12,r8 - cmovc r13,r9 - mov QWORD[rdi],r12 - cmovc r14,r10 - mov QWORD[8+rdi],r13 - cmovc r15,rcx - mov QWORD[16+rdi],r14 - mov QWORD[24+rdi],r15 - - DB 0F3h,0C3h ;repret - - -ALIGN 32 -__ecp_nistz256_mul_montx: - - - mulx r9,r8,r9 - mulx r10,rcx,r10 - mov r14,32 - xor r13,r13 - mulx r11,rbp,r11 - mov r15,QWORD[(($L$poly+24))] - adc r9,rcx - mulx r12,rcx,r12 - mov rdx,r8 - adc r10,rbp - shlx rbp,r8,r14 - adc r11,rcx - shrx rcx,r8,r14 - adc r12,0 - - - - add r9,rbp - adc r10,rcx - - mulx rbp,rcx,r15 - mov rdx,QWORD[8+rbx] - adc r11,rcx - adc r12,rbp - adc r13,0 - xor r8,r8 - - - - mulx rbp,rcx,QWORD[((0+128))+rsi] - adcx r9,rcx - adox r10,rbp - - mulx rbp,rcx,QWORD[((8+128))+rsi] - adcx r10,rcx - adox r11,rbp - - mulx rbp,rcx,QWORD[((16+128))+rsi] - adcx r11,rcx - adox r12,rbp - - mulx rbp,rcx,QWORD[((24+128))+rsi] - mov rdx,r9 - adcx r12,rcx - shlx rcx,r9,r14 - adox r13,rbp - shrx rbp,r9,r14 - - adcx r13,r8 - adox r8,r8 - adc r8,0 - - - - add r10,rcx - adc r11,rbp - - mulx rbp,rcx,r15 - mov rdx,QWORD[16+rbx] - adc r12,rcx - adc r13,rbp - adc r8,0 - xor r9,r9 - - - - mulx rbp,rcx,QWORD[((0+128))+rsi] - adcx r10,rcx - adox r11,rbp - - mulx rbp,rcx,QWORD[((8+128))+rsi] - adcx r11,rcx - adox r12,rbp - - mulx rbp,rcx,QWORD[((16+128))+rsi] - adcx r12,rcx - adox r13,rbp - - mulx rbp,rcx,QWORD[((24+128))+rsi] - mov rdx,r10 - adcx r13,rcx - shlx rcx,r10,r14 - adox r8,rbp - shrx rbp,r10,r14 - - adcx r8,r9 - adox r9,r9 - adc r9,0 - - - - add r11,rcx - adc r12,rbp - - mulx rbp,rcx,r15 - mov rdx,QWORD[24+rbx] - adc r13,rcx - adc r8,rbp - adc r9,0 - xor r10,r10 - - - - mulx rbp,rcx,QWORD[((0+128))+rsi] - adcx r11,rcx - adox r12,rbp - - mulx rbp,rcx,QWORD[((8+128))+rsi] - adcx r12,rcx - adox r13,rbp - - mulx rbp,rcx,QWORD[((16+128))+rsi] - adcx r13,rcx - adox r8,rbp - - mulx rbp,rcx,QWORD[((24+128))+rsi] - mov rdx,r11 - adcx r8,rcx - shlx rcx,r11,r14 - adox r9,rbp - shrx rbp,r11,r14 - - adcx r9,r10 - adox r10,r10 - adc r10,0 - - - - add r12,rcx - adc r13,rbp - - mulx rbp,rcx,r15 - mov rbx,r12 - mov r14,QWORD[(($L$poly+8))] - adc r8,rcx - mov rdx,r13 - adc r9,rbp - adc r10,0 - - - - xor eax,eax - mov rcx,r8 - sbb r12,-1 - sbb r13,r14 - sbb r8,0 - mov rbp,r9 - sbb r9,r15 - sbb r10,0 - - cmovc r12,rbx - cmovc r13,rdx - mov QWORD[rdi],r12 - cmovc r8,rcx - mov QWORD[8+rdi],r13 - cmovc r9,rbp - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - - DB 0F3h,0C3h ;repret - - - -ALIGN 32 -__ecp_nistz256_sqr_montx: - mulx r10,r9,r14 - mulx r11,rcx,r15 - xor eax,eax - adc r10,rcx - mulx r12,rbp,r8 - mov rdx,r14 - adc r11,rbp - adc r12,0 - xor r13,r13 - - - mulx rbp,rcx,r15 - adcx r11,rcx - adox r12,rbp - - mulx rbp,rcx,r8 - mov rdx,r15 - adcx r12,rcx - adox r13,rbp - adc r13,0 - - - mulx r14,rcx,r8 - mov rdx,QWORD[((0+128))+rsi] - xor r15,r15 - adcx r9,r9 - adox r13,rcx - adcx r10,r10 - adox r14,r15 - - mulx rbp,r8,rdx - mov rdx,QWORD[((8+128))+rsi] - adcx r11,r11 - adox r9,rbp - adcx r12,r12 - mulx rax,rcx,rdx - mov rdx,QWORD[((16+128))+rsi] - adcx r13,r13 - adox r10,rcx - adcx r14,r14 -DB 0x67 - mulx rbp,rcx,rdx - mov rdx,QWORD[((24+128))+rsi] - adox r11,rax - adcx r15,r15 - adox r12,rcx - mov rsi,32 - adox r13,rbp -DB 0x67,0x67 - mulx rax,rcx,rdx - mov rdx,QWORD[(($L$poly+24))] - adox r14,rcx - shlx rcx,r8,rsi - adox r15,rax - shrx rax,r8,rsi - mov rbp,rdx - - - add r9,rcx - adc r10,rax - - mulx r8,rcx,r8 - adc r11,rcx - shlx rcx,r9,rsi - adc r8,0 - shrx rax,r9,rsi - - - add r10,rcx - adc r11,rax - - mulx r9,rcx,r9 - adc r8,rcx - shlx rcx,r10,rsi - adc r9,0 - shrx rax,r10,rsi - - - add r11,rcx - adc r8,rax - - mulx r10,rcx,r10 - adc r9,rcx - shlx rcx,r11,rsi - adc r10,0 - shrx rax,r11,rsi - - - add r8,rcx - adc r9,rax - - mulx r11,rcx,r11 - adc r10,rcx - adc r11,0 - - xor rdx,rdx - add r12,r8 - mov rsi,QWORD[(($L$poly+8))] - adc r13,r9 - mov r8,r12 - adc r14,r10 - adc r15,r11 - mov r9,r13 - adc rdx,0 - - sub r12,-1 - mov r10,r14 - sbb r13,rsi - sbb r14,0 - mov r11,r15 - sbb r15,rbp - sbb rdx,0 - - cmovc r12,r8 - cmovc r13,r9 - mov QWORD[rdi],r12 - cmovc r14,r10 - mov QWORD[8+rdi],r13 - cmovc r15,r11 - mov QWORD[16+rdi],r14 - mov QWORD[24+rdi],r15 - - DB 0F3h,0C3h ;repret - - - - - - - -global ecp_nistz256_from_mont - -ALIGN 32 -ecp_nistz256_from_mont: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_from_mont: - mov rdi,rcx - mov rsi,rdx - - - push r12 - push r13 - - mov rax,QWORD[rsi] - mov r13,QWORD[(($L$poly+24))] - mov r9,QWORD[8+rsi] - mov r10,QWORD[16+rsi] - mov r11,QWORD[24+rsi] - mov r8,rax - mov r12,QWORD[(($L$poly+8))] - - - - mov rcx,rax - shl r8,32 - mul r13 - shr rcx,32 - add r9,r8 - adc r10,rcx - adc r11,rax - mov rax,r9 - adc rdx,0 - - - - mov rcx,r9 - shl r9,32 - mov r8,rdx - mul r13 - shr rcx,32 - add r10,r9 - adc r11,rcx - adc r8,rax - mov rax,r10 - adc rdx,0 - - - - mov rcx,r10 - shl r10,32 - mov r9,rdx - mul r13 - shr rcx,32 - add r11,r10 - adc r8,rcx - adc r9,rax - mov rax,r11 - adc rdx,0 - - - - mov rcx,r11 - shl r11,32 - mov r10,rdx - mul r13 - shr rcx,32 - add r8,r11 - adc r9,rcx - mov rcx,r8 - adc r10,rax - mov rsi,r9 - adc rdx,0 - - - - sub r8,-1 - mov rax,r10 - sbb r9,r12 - sbb r10,0 - mov r11,rdx - sbb rdx,r13 - sbb r13,r13 - - cmovnz r8,rcx - cmovnz r9,rsi - mov QWORD[rdi],r8 - cmovnz r10,rax - mov QWORD[8+rdi],r9 - cmovz r11,rdx - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - - pop r13 - pop r12 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_from_mont: - - -global ecp_nistz256_select_w5 - -ALIGN 32 -ecp_nistz256_select_w5: - mov eax,DWORD[((OPENSSL_ia32cap_P+8))] - test eax,32 - jnz NEAR $L$avx2_select_w5 - lea rax,[((-136))+rsp] -$L$SEH_begin_ecp_nistz256_select_w5: -DB 0x48,0x8d,0x60,0xe0 -DB 0x0f,0x29,0x70,0xe0 -DB 0x0f,0x29,0x78,0xf0 -DB 0x44,0x0f,0x29,0x00 -DB 0x44,0x0f,0x29,0x48,0x10 -DB 0x44,0x0f,0x29,0x50,0x20 -DB 0x44,0x0f,0x29,0x58,0x30 -DB 0x44,0x0f,0x29,0x60,0x40 -DB 0x44,0x0f,0x29,0x68,0x50 -DB 0x44,0x0f,0x29,0x70,0x60 -DB 0x44,0x0f,0x29,0x78,0x70 - movdqa xmm0,XMMWORD[$L$One] - movd xmm1,r8d - - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - pxor xmm6,xmm6 - pxor xmm7,xmm7 - - movdqa xmm8,xmm0 - pshufd xmm1,xmm1,0 - - mov rax,16 -$L$select_loop_sse_w5: - - movdqa xmm15,xmm8 - paddd xmm8,xmm0 - pcmpeqd xmm15,xmm1 - - movdqa xmm9,XMMWORD[rdx] - movdqa xmm10,XMMWORD[16+rdx] - movdqa xmm11,XMMWORD[32+rdx] - movdqa xmm12,XMMWORD[48+rdx] - movdqa xmm13,XMMWORD[64+rdx] - movdqa xmm14,XMMWORD[80+rdx] - lea rdx,[96+rdx] - - pand xmm9,xmm15 - pand xmm10,xmm15 - por xmm2,xmm9 - pand xmm11,xmm15 - por xmm3,xmm10 - pand xmm12,xmm15 - por xmm4,xmm11 - pand xmm13,xmm15 - por xmm5,xmm12 - pand xmm14,xmm15 - por xmm6,xmm13 - por xmm7,xmm14 - - dec rax - jnz NEAR $L$select_loop_sse_w5 - - movdqu XMMWORD[rcx],xmm2 - movdqu XMMWORD[16+rcx],xmm3 - movdqu XMMWORD[32+rcx],xmm4 - movdqu XMMWORD[48+rcx],xmm5 - movdqu XMMWORD[64+rcx],xmm6 - movdqu XMMWORD[80+rcx],xmm7 - movaps xmm6,XMMWORD[rsp] - movaps xmm7,XMMWORD[16+rsp] - movaps xmm8,XMMWORD[32+rsp] - movaps xmm9,XMMWORD[48+rsp] - movaps xmm10,XMMWORD[64+rsp] - movaps xmm11,XMMWORD[80+rsp] - movaps xmm12,XMMWORD[96+rsp] - movaps xmm13,XMMWORD[112+rsp] - movaps xmm14,XMMWORD[128+rsp] - movaps xmm15,XMMWORD[144+rsp] - lea rsp,[168+rsp] -$L$SEH_end_ecp_nistz256_select_w5: - DB 0F3h,0C3h ;repret - - - - -global ecp_nistz256_select_w7 - -ALIGN 32 -ecp_nistz256_select_w7: - mov eax,DWORD[((OPENSSL_ia32cap_P+8))] - test eax,32 - jnz NEAR $L$avx2_select_w7 - lea rax,[((-136))+rsp] -$L$SEH_begin_ecp_nistz256_select_w7: -DB 0x48,0x8d,0x60,0xe0 -DB 0x0f,0x29,0x70,0xe0 -DB 0x0f,0x29,0x78,0xf0 -DB 0x44,0x0f,0x29,0x00 -DB 0x44,0x0f,0x29,0x48,0x10 -DB 0x44,0x0f,0x29,0x50,0x20 -DB 0x44,0x0f,0x29,0x58,0x30 -DB 0x44,0x0f,0x29,0x60,0x40 -DB 0x44,0x0f,0x29,0x68,0x50 -DB 0x44,0x0f,0x29,0x70,0x60 -DB 0x44,0x0f,0x29,0x78,0x70 - movdqa xmm8,XMMWORD[$L$One] - movd xmm1,r8d - - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - - movdqa xmm0,xmm8 - pshufd xmm1,xmm1,0 - mov rax,64 - -$L$select_loop_sse_w7: - movdqa xmm15,xmm8 - paddd xmm8,xmm0 - movdqa xmm9,XMMWORD[rdx] - movdqa xmm10,XMMWORD[16+rdx] - pcmpeqd xmm15,xmm1 - movdqa xmm11,XMMWORD[32+rdx] - movdqa xmm12,XMMWORD[48+rdx] - lea rdx,[64+rdx] - - pand xmm9,xmm15 - pand xmm10,xmm15 - por xmm2,xmm9 - pand xmm11,xmm15 - por xmm3,xmm10 - pand xmm12,xmm15 - por xmm4,xmm11 - prefetcht0 [255+rdx] - por xmm5,xmm12 - - dec rax - jnz NEAR $L$select_loop_sse_w7 - - movdqu XMMWORD[rcx],xmm2 - movdqu XMMWORD[16+rcx],xmm3 - movdqu XMMWORD[32+rcx],xmm4 - movdqu XMMWORD[48+rcx],xmm5 - movaps xmm6,XMMWORD[rsp] - movaps xmm7,XMMWORD[16+rsp] - movaps xmm8,XMMWORD[32+rsp] - movaps xmm9,XMMWORD[48+rsp] - movaps xmm10,XMMWORD[64+rsp] - movaps xmm11,XMMWORD[80+rsp] - movaps xmm12,XMMWORD[96+rsp] - movaps xmm13,XMMWORD[112+rsp] - movaps xmm14,XMMWORD[128+rsp] - movaps xmm15,XMMWORD[144+rsp] - lea rsp,[168+rsp] -$L$SEH_end_ecp_nistz256_select_w7: - DB 0F3h,0C3h ;repret - - - - -ALIGN 32 -ecp_nistz256_avx2_select_w5: -$L$avx2_select_w5: - vzeroupper - lea rax,[((-136))+rsp] -$L$SEH_begin_ecp_nistz256_avx2_select_w5: -DB 0x48,0x8d,0x60,0xe0 -DB 0xc5,0xf8,0x29,0x70,0xe0 -DB 0xc5,0xf8,0x29,0x78,0xf0 -DB 0xc5,0x78,0x29,0x40,0x00 -DB 0xc5,0x78,0x29,0x48,0x10 -DB 0xc5,0x78,0x29,0x50,0x20 -DB 0xc5,0x78,0x29,0x58,0x30 -DB 0xc5,0x78,0x29,0x60,0x40 -DB 0xc5,0x78,0x29,0x68,0x50 -DB 0xc5,0x78,0x29,0x70,0x60 -DB 0xc5,0x78,0x29,0x78,0x70 - vmovdqa ymm0,YMMWORD[$L$Two] - - vpxor ymm2,ymm2,ymm2 - vpxor ymm3,ymm3,ymm3 - vpxor ymm4,ymm4,ymm4 - - vmovdqa ymm5,YMMWORD[$L$One] - vmovdqa ymm10,YMMWORD[$L$Two] - - vmovd xmm1,r8d - vpermd ymm1,ymm2,ymm1 - - mov rax,8 -$L$select_loop_avx2_w5: - - vmovdqa ymm6,YMMWORD[rdx] - vmovdqa ymm7,YMMWORD[32+rdx] - vmovdqa ymm8,YMMWORD[64+rdx] - - vmovdqa ymm11,YMMWORD[96+rdx] - vmovdqa ymm12,YMMWORD[128+rdx] - vmovdqa ymm13,YMMWORD[160+rdx] - - vpcmpeqd ymm9,ymm5,ymm1 - vpcmpeqd ymm14,ymm10,ymm1 - - vpaddd ymm5,ymm5,ymm0 - vpaddd ymm10,ymm10,ymm0 - lea rdx,[192+rdx] - - vpand ymm6,ymm6,ymm9 - vpand ymm7,ymm7,ymm9 - vpand ymm8,ymm8,ymm9 - vpand ymm11,ymm11,ymm14 - vpand ymm12,ymm12,ymm14 - vpand ymm13,ymm13,ymm14 - - vpxor ymm2,ymm2,ymm6 - vpxor ymm3,ymm3,ymm7 - vpxor ymm4,ymm4,ymm8 - vpxor ymm2,ymm2,ymm11 - vpxor ymm3,ymm3,ymm12 - vpxor ymm4,ymm4,ymm13 - - dec rax - jnz NEAR $L$select_loop_avx2_w5 - - vmovdqu YMMWORD[rcx],ymm2 - vmovdqu YMMWORD[32+rcx],ymm3 - vmovdqu YMMWORD[64+rcx],ymm4 - vzeroupper - movaps xmm6,XMMWORD[rsp] - movaps xmm7,XMMWORD[16+rsp] - movaps xmm8,XMMWORD[32+rsp] - movaps xmm9,XMMWORD[48+rsp] - movaps xmm10,XMMWORD[64+rsp] - movaps xmm11,XMMWORD[80+rsp] - movaps xmm12,XMMWORD[96+rsp] - movaps xmm13,XMMWORD[112+rsp] - movaps xmm14,XMMWORD[128+rsp] - movaps xmm15,XMMWORD[144+rsp] - lea rsp,[168+rsp] -$L$SEH_end_ecp_nistz256_avx2_select_w5: - DB 0F3h,0C3h ;repret - - - - -global ecp_nistz256_avx2_select_w7 - -ALIGN 32 -ecp_nistz256_avx2_select_w7: -$L$avx2_select_w7: - vzeroupper - lea rax,[((-136))+rsp] -$L$SEH_begin_ecp_nistz256_avx2_select_w7: -DB 0x48,0x8d,0x60,0xe0 -DB 0xc5,0xf8,0x29,0x70,0xe0 -DB 0xc5,0xf8,0x29,0x78,0xf0 -DB 0xc5,0x78,0x29,0x40,0x00 -DB 0xc5,0x78,0x29,0x48,0x10 -DB 0xc5,0x78,0x29,0x50,0x20 -DB 0xc5,0x78,0x29,0x58,0x30 -DB 0xc5,0x78,0x29,0x60,0x40 -DB 0xc5,0x78,0x29,0x68,0x50 -DB 0xc5,0x78,0x29,0x70,0x60 -DB 0xc5,0x78,0x29,0x78,0x70 - vmovdqa ymm0,YMMWORD[$L$Three] - - vpxor ymm2,ymm2,ymm2 - vpxor ymm3,ymm3,ymm3 - - vmovdqa ymm4,YMMWORD[$L$One] - vmovdqa ymm8,YMMWORD[$L$Two] - vmovdqa ymm12,YMMWORD[$L$Three] - - vmovd xmm1,r8d - vpermd ymm1,ymm2,ymm1 - - - mov rax,21 -$L$select_loop_avx2_w7: - - vmovdqa ymm5,YMMWORD[rdx] - vmovdqa ymm6,YMMWORD[32+rdx] - - vmovdqa ymm9,YMMWORD[64+rdx] - vmovdqa ymm10,YMMWORD[96+rdx] - - vmovdqa ymm13,YMMWORD[128+rdx] - vmovdqa ymm14,YMMWORD[160+rdx] - - vpcmpeqd ymm7,ymm4,ymm1 - vpcmpeqd ymm11,ymm8,ymm1 - vpcmpeqd ymm15,ymm12,ymm1 - - vpaddd ymm4,ymm4,ymm0 - vpaddd ymm8,ymm8,ymm0 - vpaddd ymm12,ymm12,ymm0 - lea rdx,[192+rdx] - - vpand ymm5,ymm5,ymm7 - vpand ymm6,ymm6,ymm7 - vpand ymm9,ymm9,ymm11 - vpand ymm10,ymm10,ymm11 - vpand ymm13,ymm13,ymm15 - vpand ymm14,ymm14,ymm15 - - vpxor ymm2,ymm2,ymm5 - vpxor ymm3,ymm3,ymm6 - vpxor ymm2,ymm2,ymm9 - vpxor ymm3,ymm3,ymm10 - vpxor ymm2,ymm2,ymm13 - vpxor ymm3,ymm3,ymm14 - - dec rax - jnz NEAR $L$select_loop_avx2_w7 - - - vmovdqa ymm5,YMMWORD[rdx] - vmovdqa ymm6,YMMWORD[32+rdx] - - vpcmpeqd ymm7,ymm4,ymm1 - - vpand ymm5,ymm5,ymm7 - vpand ymm6,ymm6,ymm7 - - vpxor ymm2,ymm2,ymm5 - vpxor ymm3,ymm3,ymm6 - - vmovdqu YMMWORD[rcx],ymm2 - vmovdqu YMMWORD[32+rcx],ymm3 - vzeroupper - movaps xmm6,XMMWORD[rsp] - movaps xmm7,XMMWORD[16+rsp] - movaps xmm8,XMMWORD[32+rsp] - movaps xmm9,XMMWORD[48+rsp] - movaps xmm10,XMMWORD[64+rsp] - movaps xmm11,XMMWORD[80+rsp] - movaps xmm12,XMMWORD[96+rsp] - movaps xmm13,XMMWORD[112+rsp] - movaps xmm14,XMMWORD[128+rsp] - movaps xmm15,XMMWORD[144+rsp] - lea rsp,[168+rsp] -$L$SEH_end_ecp_nistz256_avx2_select_w7: - DB 0F3h,0C3h ;repret - - -ALIGN 32 -__ecp_nistz256_add_toq: - xor r11,r11 - add r12,QWORD[rbx] - adc r13,QWORD[8+rbx] - mov rax,r12 - adc r8,QWORD[16+rbx] - adc r9,QWORD[24+rbx] - mov rbp,r13 - adc r11,0 - - sub r12,-1 - mov rcx,r8 - sbb r13,r14 - sbb r8,0 - mov r10,r9 - sbb r9,r15 - sbb r11,0 - - cmovc r12,rax - cmovc r13,rbp - mov QWORD[rdi],r12 - cmovc r8,rcx - mov QWORD[8+rdi],r13 - cmovc r9,r10 - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - - DB 0F3h,0C3h ;repret - - - -ALIGN 32 -__ecp_nistz256_sub_fromq: - sub r12,QWORD[rbx] - sbb r13,QWORD[8+rbx] - mov rax,r12 - sbb r8,QWORD[16+rbx] - sbb r9,QWORD[24+rbx] - mov rbp,r13 - sbb r11,r11 - - add r12,-1 - mov rcx,r8 - adc r13,r14 - adc r8,0 - mov r10,r9 - adc r9,r15 - test r11,r11 - - cmovz r12,rax - cmovz r13,rbp - mov QWORD[rdi],r12 - cmovz r8,rcx - mov QWORD[8+rdi],r13 - cmovz r9,r10 - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - - DB 0F3h,0C3h ;repret - - - -ALIGN 32 -__ecp_nistz256_subq: - sub rax,r12 - sbb rbp,r13 - mov r12,rax - sbb rcx,r8 - sbb r10,r9 - mov r13,rbp - sbb r11,r11 - - add rax,-1 - mov r8,rcx - adc rbp,r14 - adc rcx,0 - mov r9,r10 - adc r10,r15 - test r11,r11 - - cmovnz r12,rax - cmovnz r13,rbp - cmovnz r8,rcx - cmovnz r9,r10 - - DB 0F3h,0C3h ;repret - - - -ALIGN 32 -__ecp_nistz256_mul_by_2q: - xor r11,r11 - add r12,r12 - adc r13,r13 - mov rax,r12 - adc r8,r8 - adc r9,r9 - mov rbp,r13 - adc r11,0 - - sub r12,-1 - mov rcx,r8 - sbb r13,r14 - sbb r8,0 - mov r10,r9 - sbb r9,r15 - sbb r11,0 - - cmovc r12,rax - cmovc r13,rbp - mov QWORD[rdi],r12 - cmovc r8,rcx - mov QWORD[8+rdi],r13 - cmovc r9,r10 - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - - DB 0F3h,0C3h ;repret - -global ecp_nistz256_point_double - -ALIGN 32 -ecp_nistz256_point_double: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_double: - mov rdi,rcx - mov rsi,rdx - - - mov ecx,0x80100 - and ecx,DWORD[((OPENSSL_ia32cap_P+8))] - cmp ecx,0x80100 - je NEAR $L$point_doublex - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - sub rsp,32*5+8 - -$L$point_double_shortcutq: - movdqu xmm0,XMMWORD[rsi] - mov rbx,rsi - movdqu xmm1,XMMWORD[16+rsi] - mov r12,QWORD[((32+0))+rsi] - mov r13,QWORD[((32+8))+rsi] - mov r8,QWORD[((32+16))+rsi] - mov r9,QWORD[((32+24))+rsi] - mov r14,QWORD[(($L$poly+8))] - mov r15,QWORD[(($L$poly+24))] - movdqa XMMWORD[96+rsp],xmm0 - movdqa XMMWORD[(96+16)+rsp],xmm1 - lea r10,[32+rdi] - lea r11,[64+rdi] -DB 102,72,15,110,199 -DB 102,73,15,110,202 -DB 102,73,15,110,211 - - lea rdi,[rsp] - call __ecp_nistz256_mul_by_2q - - mov rax,QWORD[((64+0))+rsi] - mov r14,QWORD[((64+8))+rsi] - mov r15,QWORD[((64+16))+rsi] - mov r8,QWORD[((64+24))+rsi] - lea rsi,[((64-0))+rsi] - lea rdi,[64+rsp] - call __ecp_nistz256_sqr_montq - - mov rax,QWORD[((0+0))+rsp] - mov r14,QWORD[((8+0))+rsp] - lea rsi,[((0+0))+rsp] - mov r15,QWORD[((16+0))+rsp] - mov r8,QWORD[((24+0))+rsp] - lea rdi,[rsp] - call __ecp_nistz256_sqr_montq - - mov rax,QWORD[32+rbx] - mov r9,QWORD[((64+0))+rbx] - mov r10,QWORD[((64+8))+rbx] - mov r11,QWORD[((64+16))+rbx] - mov r12,QWORD[((64+24))+rbx] - lea rsi,[((64-0))+rbx] - lea rbx,[32+rbx] -DB 102,72,15,126,215 - call __ecp_nistz256_mul_montq - call __ecp_nistz256_mul_by_2q - - mov r12,QWORD[((96+0))+rsp] - mov r13,QWORD[((96+8))+rsp] - lea rbx,[64+rsp] - mov r8,QWORD[((96+16))+rsp] - mov r9,QWORD[((96+24))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_add_toq - - mov r12,QWORD[((96+0))+rsp] - mov r13,QWORD[((96+8))+rsp] - lea rbx,[64+rsp] - mov r8,QWORD[((96+16))+rsp] - mov r9,QWORD[((96+24))+rsp] - lea rdi,[64+rsp] - call __ecp_nistz256_sub_fromq - - mov rax,QWORD[((0+0))+rsp] - mov r14,QWORD[((8+0))+rsp] - lea rsi,[((0+0))+rsp] - mov r15,QWORD[((16+0))+rsp] - mov r8,QWORD[((24+0))+rsp] -DB 102,72,15,126,207 - call __ecp_nistz256_sqr_montq - xor r9,r9 - mov rax,r12 - add r12,-1 - mov r10,r13 - adc r13,rsi - mov rcx,r14 - adc r14,0 - mov r8,r15 - adc r15,rbp - adc r9,0 - xor rsi,rsi - test rax,1 - - cmovz r12,rax - cmovz r13,r10 - cmovz r14,rcx - cmovz r15,r8 - cmovz r9,rsi - - mov rax,r13 - shr r12,1 - shl rax,63 - mov r10,r14 - shr r13,1 - or r12,rax - shl r10,63 - mov rcx,r15 - shr r14,1 - or r13,r10 - shl rcx,63 - mov QWORD[rdi],r12 - shr r15,1 - mov QWORD[8+rdi],r13 - shl r9,63 - or r14,rcx - or r15,r9 - mov QWORD[16+rdi],r14 - mov QWORD[24+rdi],r15 - mov rax,QWORD[64+rsp] - lea rbx,[64+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((0+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_mul_montq - - lea rdi,[128+rsp] - call __ecp_nistz256_mul_by_2q - - lea rbx,[32+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_add_toq - - mov rax,QWORD[96+rsp] - lea rbx,[96+rsp] - mov r9,QWORD[((0+0))+rsp] - mov r10,QWORD[((8+0))+rsp] - lea rsi,[((0+0))+rsp] - mov r11,QWORD[((16+0))+rsp] - mov r12,QWORD[((24+0))+rsp] - lea rdi,[rsp] - call __ecp_nistz256_mul_montq - - lea rdi,[128+rsp] - call __ecp_nistz256_mul_by_2q - - mov rax,QWORD[((0+32))+rsp] - mov r14,QWORD[((8+32))+rsp] - lea rsi,[((0+32))+rsp] - mov r15,QWORD[((16+32))+rsp] - mov r8,QWORD[((24+32))+rsp] -DB 102,72,15,126,199 - call __ecp_nistz256_sqr_montq - - lea rbx,[128+rsp] - mov r8,r14 - mov r9,r15 - mov r14,rsi - mov r15,rbp - call __ecp_nistz256_sub_fromq - - mov rax,QWORD[((0+0))+rsp] - mov rbp,QWORD[((0+8))+rsp] - mov rcx,QWORD[((0+16))+rsp] - mov r10,QWORD[((0+24))+rsp] - lea rdi,[rsp] - call __ecp_nistz256_subq - - mov rax,QWORD[32+rsp] - lea rbx,[32+rsp] - mov r14,r12 - xor ecx,ecx - mov QWORD[((0+0))+rsp],r12 - mov r10,r13 - mov QWORD[((0+8))+rsp],r13 - cmovz r11,r8 - mov QWORD[((0+16))+rsp],r8 - lea rsi,[((0-0))+rsp] - cmovz r12,r9 - mov QWORD[((0+24))+rsp],r9 - mov r9,r14 - lea rdi,[rsp] - call __ecp_nistz256_mul_montq - -DB 102,72,15,126,203 -DB 102,72,15,126,207 - call __ecp_nistz256_sub_fromq - - add rsp,32*5+8 - pop r15 - pop r14 - pop r13 - pop r12 - pop rbx - pop rbp - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_double: -global ecp_nistz256_point_add - -ALIGN 32 -ecp_nistz256_point_add: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_add: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - mov ecx,0x80100 - and ecx,DWORD[((OPENSSL_ia32cap_P+8))] - cmp ecx,0x80100 - je NEAR $L$point_addx - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - sub rsp,32*18+8 - - movdqu xmm0,XMMWORD[rsi] - movdqu xmm1,XMMWORD[16+rsi] - movdqu xmm2,XMMWORD[32+rsi] - movdqu xmm3,XMMWORD[48+rsi] - movdqu xmm4,XMMWORD[64+rsi] - movdqu xmm5,XMMWORD[80+rsi] - mov rbx,rsi - mov rsi,rdx - movdqa XMMWORD[384+rsp],xmm0 - movdqa XMMWORD[(384+16)+rsp],xmm1 - movdqa XMMWORD[416+rsp],xmm2 - movdqa XMMWORD[(416+16)+rsp],xmm3 - movdqa XMMWORD[448+rsp],xmm4 - movdqa XMMWORD[(448+16)+rsp],xmm5 - por xmm5,xmm4 - - movdqu xmm0,XMMWORD[rsi] - pshufd xmm3,xmm5,0xb1 - movdqu xmm1,XMMWORD[16+rsi] - movdqu xmm2,XMMWORD[32+rsi] - por xmm5,xmm3 - movdqu xmm3,XMMWORD[48+rsi] - mov rax,QWORD[((64+0))+rsi] - mov r14,QWORD[((64+8))+rsi] - mov r15,QWORD[((64+16))+rsi] - mov r8,QWORD[((64+24))+rsi] - movdqa XMMWORD[480+rsp],xmm0 - pshufd xmm4,xmm5,0x1e - movdqa XMMWORD[(480+16)+rsp],xmm1 - movdqu xmm0,XMMWORD[64+rsi] - movdqu xmm1,XMMWORD[80+rsi] - movdqa XMMWORD[512+rsp],xmm2 - movdqa XMMWORD[(512+16)+rsp],xmm3 - por xmm5,xmm4 - pxor xmm4,xmm4 - por xmm1,xmm0 -DB 102,72,15,110,199 - - lea rsi,[((64-0))+rsi] - mov QWORD[((544+0))+rsp],rax - mov QWORD[((544+8))+rsp],r14 - mov QWORD[((544+16))+rsp],r15 - mov QWORD[((544+24))+rsp],r8 - lea rdi,[96+rsp] - call __ecp_nistz256_sqr_montq - - pcmpeqd xmm5,xmm4 - pshufd xmm4,xmm1,0xb1 - por xmm4,xmm1 - pshufd xmm5,xmm5,0 - pshufd xmm3,xmm4,0x1e - por xmm4,xmm3 - pxor xmm3,xmm3 - pcmpeqd xmm4,xmm3 - pshufd xmm4,xmm4,0 - mov rax,QWORD[((64+0))+rbx] - mov r14,QWORD[((64+8))+rbx] - mov r15,QWORD[((64+16))+rbx] - mov r8,QWORD[((64+24))+rbx] -DB 102,72,15,110,203 - - lea rsi,[((64-0))+rbx] - lea rdi,[32+rsp] - call __ecp_nistz256_sqr_montq - - mov rax,QWORD[544+rsp] - lea rbx,[544+rsp] - mov r9,QWORD[((0+96))+rsp] - mov r10,QWORD[((8+96))+rsp] - lea rsi,[((0+96))+rsp] - mov r11,QWORD[((16+96))+rsp] - mov r12,QWORD[((24+96))+rsp] - lea rdi,[224+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[448+rsp] - lea rbx,[448+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((0+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[256+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[416+rsp] - lea rbx,[416+rsp] - mov r9,QWORD[((0+224))+rsp] - mov r10,QWORD[((8+224))+rsp] - lea rsi,[((0+224))+rsp] - mov r11,QWORD[((16+224))+rsp] - mov r12,QWORD[((24+224))+rsp] - lea rdi,[224+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[512+rsp] - lea rbx,[512+rsp] - mov r9,QWORD[((0+256))+rsp] - mov r10,QWORD[((8+256))+rsp] - lea rsi,[((0+256))+rsp] - mov r11,QWORD[((16+256))+rsp] - mov r12,QWORD[((24+256))+rsp] - lea rdi,[256+rsp] - call __ecp_nistz256_mul_montq - - lea rbx,[224+rsp] - lea rdi,[64+rsp] - call __ecp_nistz256_sub_fromq - - or r12,r13 - movdqa xmm2,xmm4 - or r12,r8 - or r12,r9 - por xmm2,xmm5 -DB 102,73,15,110,220 - - mov rax,QWORD[384+rsp] - lea rbx,[384+rsp] - mov r9,QWORD[((0+96))+rsp] - mov r10,QWORD[((8+96))+rsp] - lea rsi,[((0+96))+rsp] - mov r11,QWORD[((16+96))+rsp] - mov r12,QWORD[((24+96))+rsp] - lea rdi,[160+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[480+rsp] - lea rbx,[480+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((0+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[192+rsp] - call __ecp_nistz256_mul_montq - - lea rbx,[160+rsp] - lea rdi,[rsp] - call __ecp_nistz256_sub_fromq - - or r12,r13 - or r12,r8 - or r12,r9 - -DB 0x3e - jnz NEAR $L$add_proceedq -DB 102,73,15,126,208 -DB 102,73,15,126,217 - test r8,r8 - jnz NEAR $L$add_proceedq - test r9,r9 - jz NEAR $L$add_doubleq - -DB 102,72,15,126,199 - pxor xmm0,xmm0 - movdqu XMMWORD[rdi],xmm0 - movdqu XMMWORD[16+rdi],xmm0 - movdqu XMMWORD[32+rdi],xmm0 - movdqu XMMWORD[48+rdi],xmm0 - movdqu XMMWORD[64+rdi],xmm0 - movdqu XMMWORD[80+rdi],xmm0 - jmp NEAR $L$add_doneq - -ALIGN 32 -$L$add_doubleq: -DB 102,72,15,126,206 -DB 102,72,15,126,199 - add rsp,416 - jmp NEAR $L$point_double_shortcutq - -ALIGN 32 -$L$add_proceedq: - mov rax,QWORD[((0+64))+rsp] - mov r14,QWORD[((8+64))+rsp] - lea rsi,[((0+64))+rsp] - mov r15,QWORD[((16+64))+rsp] - mov r8,QWORD[((24+64))+rsp] - lea rdi,[96+rsp] - call __ecp_nistz256_sqr_montq - - mov rax,QWORD[448+rsp] - lea rbx,[448+rsp] - mov r9,QWORD[((0+0))+rsp] - mov r10,QWORD[((8+0))+rsp] - lea rsi,[((0+0))+rsp] - mov r11,QWORD[((16+0))+rsp] - mov r12,QWORD[((24+0))+rsp] - lea rdi,[352+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[((0+0))+rsp] - mov r14,QWORD[((8+0))+rsp] - lea rsi,[((0+0))+rsp] - mov r15,QWORD[((16+0))+rsp] - mov r8,QWORD[((24+0))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_sqr_montq - - mov rax,QWORD[544+rsp] - lea rbx,[544+rsp] - mov r9,QWORD[((0+352))+rsp] - mov r10,QWORD[((8+352))+rsp] - lea rsi,[((0+352))+rsp] - mov r11,QWORD[((16+352))+rsp] - mov r12,QWORD[((24+352))+rsp] - lea rdi,[352+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[rsp] - lea rbx,[rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((0+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[128+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[160+rsp] - lea rbx,[160+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((0+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[192+rsp] - call __ecp_nistz256_mul_montq - - - - - xor r11,r11 - add r12,r12 - lea rsi,[96+rsp] - adc r13,r13 - mov rax,r12 - adc r8,r8 - adc r9,r9 - mov rbp,r13 - adc r11,0 - - sub r12,-1 - mov rcx,r8 - sbb r13,r14 - sbb r8,0 - mov r10,r9 - sbb r9,r15 - sbb r11,0 - - cmovc r12,rax - mov rax,QWORD[rsi] - cmovc r13,rbp - mov rbp,QWORD[8+rsi] - cmovc r8,rcx - mov rcx,QWORD[16+rsi] - cmovc r9,r10 - mov r10,QWORD[24+rsi] - - call __ecp_nistz256_subq - - lea rbx,[128+rsp] - lea rdi,[288+rsp] - call __ecp_nistz256_sub_fromq - - mov rax,QWORD[((192+0))+rsp] - mov rbp,QWORD[((192+8))+rsp] - mov rcx,QWORD[((192+16))+rsp] - mov r10,QWORD[((192+24))+rsp] - lea rdi,[320+rsp] - - call __ecp_nistz256_subq - - mov QWORD[rdi],r12 - mov QWORD[8+rdi],r13 - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - mov rax,QWORD[128+rsp] - lea rbx,[128+rsp] - mov r9,QWORD[((0+224))+rsp] - mov r10,QWORD[((8+224))+rsp] - lea rsi,[((0+224))+rsp] - mov r11,QWORD[((16+224))+rsp] - mov r12,QWORD[((24+224))+rsp] - lea rdi,[256+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[320+rsp] - lea rbx,[320+rsp] - mov r9,QWORD[((0+64))+rsp] - mov r10,QWORD[((8+64))+rsp] - lea rsi,[((0+64))+rsp] - mov r11,QWORD[((16+64))+rsp] - mov r12,QWORD[((24+64))+rsp] - lea rdi,[320+rsp] - call __ecp_nistz256_mul_montq - - lea rbx,[256+rsp] - lea rdi,[320+rsp] - call __ecp_nistz256_sub_fromq - -DB 102,72,15,126,199 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[352+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((352+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[544+rsp] - pand xmm3,XMMWORD[((544+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[448+rsp] - pand xmm3,XMMWORD[((448+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[64+rdi],xmm2 - movdqu XMMWORD[80+rdi],xmm3 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[288+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((288+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[480+rsp] - pand xmm3,XMMWORD[((480+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[384+rsp] - pand xmm3,XMMWORD[((384+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[rdi],xmm2 - movdqu XMMWORD[16+rdi],xmm3 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[320+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((320+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[512+rsp] - pand xmm3,XMMWORD[((512+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[416+rsp] - pand xmm3,XMMWORD[((416+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[32+rdi],xmm2 - movdqu XMMWORD[48+rdi],xmm3 - -$L$add_doneq: - add rsp,32*18+8 - pop r15 - pop r14 - pop r13 - pop r12 - pop rbx - pop rbp - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_add: -global ecp_nistz256_point_add_affine - -ALIGN 32 -ecp_nistz256_point_add_affine: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_add_affine: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - mov ecx,0x80100 - and ecx,DWORD[((OPENSSL_ia32cap_P+8))] - cmp ecx,0x80100 - je NEAR $L$point_add_affinex - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - sub rsp,32*15+8 - - movdqu xmm0,XMMWORD[rsi] - mov rbx,rdx - movdqu xmm1,XMMWORD[16+rsi] - movdqu xmm2,XMMWORD[32+rsi] - movdqu xmm3,XMMWORD[48+rsi] - movdqu xmm4,XMMWORD[64+rsi] - movdqu xmm5,XMMWORD[80+rsi] - mov rax,QWORD[((64+0))+rsi] - mov r14,QWORD[((64+8))+rsi] - mov r15,QWORD[((64+16))+rsi] - mov r8,QWORD[((64+24))+rsi] - movdqa XMMWORD[320+rsp],xmm0 - movdqa XMMWORD[(320+16)+rsp],xmm1 - movdqa XMMWORD[352+rsp],xmm2 - movdqa XMMWORD[(352+16)+rsp],xmm3 - movdqa XMMWORD[384+rsp],xmm4 - movdqa XMMWORD[(384+16)+rsp],xmm5 - por xmm5,xmm4 - - movdqu xmm0,XMMWORD[rbx] - pshufd xmm3,xmm5,0xb1 - movdqu xmm1,XMMWORD[16+rbx] - movdqu xmm2,XMMWORD[32+rbx] - por xmm5,xmm3 - movdqu xmm3,XMMWORD[48+rbx] - movdqa XMMWORD[416+rsp],xmm0 - pshufd xmm4,xmm5,0x1e - movdqa XMMWORD[(416+16)+rsp],xmm1 - por xmm1,xmm0 -DB 102,72,15,110,199 - movdqa XMMWORD[448+rsp],xmm2 - movdqa XMMWORD[(448+16)+rsp],xmm3 - por xmm3,xmm2 - por xmm5,xmm4 - pxor xmm4,xmm4 - por xmm3,xmm1 - - lea rsi,[((64-0))+rsi] - lea rdi,[32+rsp] - call __ecp_nistz256_sqr_montq - - pcmpeqd xmm5,xmm4 - pshufd xmm4,xmm3,0xb1 - mov rax,QWORD[rbx] - - mov r9,r12 - por xmm4,xmm3 - pshufd xmm5,xmm5,0 - pshufd xmm3,xmm4,0x1e - mov r10,r13 - por xmm4,xmm3 - pxor xmm3,xmm3 - mov r11,r14 - pcmpeqd xmm4,xmm3 - pshufd xmm4,xmm4,0 - - lea rsi,[((32-0))+rsp] - mov r12,r15 - lea rdi,[rsp] - call __ecp_nistz256_mul_montq - - lea rbx,[320+rsp] - lea rdi,[64+rsp] - call __ecp_nistz256_sub_fromq - - mov rax,QWORD[384+rsp] - lea rbx,[384+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((0+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[384+rsp] - lea rbx,[384+rsp] - mov r9,QWORD[((0+64))+rsp] - mov r10,QWORD[((8+64))+rsp] - lea rsi,[((0+64))+rsp] - mov r11,QWORD[((16+64))+rsp] - mov r12,QWORD[((24+64))+rsp] - lea rdi,[288+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[448+rsp] - lea rbx,[448+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((0+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_mul_montq - - lea rbx,[352+rsp] - lea rdi,[96+rsp] - call __ecp_nistz256_sub_fromq - - mov rax,QWORD[((0+64))+rsp] - mov r14,QWORD[((8+64))+rsp] - lea rsi,[((0+64))+rsp] - mov r15,QWORD[((16+64))+rsp] - mov r8,QWORD[((24+64))+rsp] - lea rdi,[128+rsp] - call __ecp_nistz256_sqr_montq - - mov rax,QWORD[((0+96))+rsp] - mov r14,QWORD[((8+96))+rsp] - lea rsi,[((0+96))+rsp] - mov r15,QWORD[((16+96))+rsp] - mov r8,QWORD[((24+96))+rsp] - lea rdi,[192+rsp] - call __ecp_nistz256_sqr_montq - - mov rax,QWORD[128+rsp] - lea rbx,[128+rsp] - mov r9,QWORD[((0+64))+rsp] - mov r10,QWORD[((8+64))+rsp] - lea rsi,[((0+64))+rsp] - mov r11,QWORD[((16+64))+rsp] - mov r12,QWORD[((24+64))+rsp] - lea rdi,[160+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[320+rsp] - lea rbx,[320+rsp] - mov r9,QWORD[((0+128))+rsp] - mov r10,QWORD[((8+128))+rsp] - lea rsi,[((0+128))+rsp] - mov r11,QWORD[((16+128))+rsp] - mov r12,QWORD[((24+128))+rsp] - lea rdi,[rsp] - call __ecp_nistz256_mul_montq - - - - - xor r11,r11 - add r12,r12 - lea rsi,[192+rsp] - adc r13,r13 - mov rax,r12 - adc r8,r8 - adc r9,r9 - mov rbp,r13 - adc r11,0 - - sub r12,-1 - mov rcx,r8 - sbb r13,r14 - sbb r8,0 - mov r10,r9 - sbb r9,r15 - sbb r11,0 - - cmovc r12,rax - mov rax,QWORD[rsi] - cmovc r13,rbp - mov rbp,QWORD[8+rsi] - cmovc r8,rcx - mov rcx,QWORD[16+rsi] - cmovc r9,r10 - mov r10,QWORD[24+rsi] - - call __ecp_nistz256_subq - - lea rbx,[160+rsp] - lea rdi,[224+rsp] - call __ecp_nistz256_sub_fromq - - mov rax,QWORD[((0+0))+rsp] - mov rbp,QWORD[((0+8))+rsp] - mov rcx,QWORD[((0+16))+rsp] - mov r10,QWORD[((0+24))+rsp] - lea rdi,[64+rsp] - - call __ecp_nistz256_subq - - mov QWORD[rdi],r12 - mov QWORD[8+rdi],r13 - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - mov rax,QWORD[352+rsp] - lea rbx,[352+rsp] - mov r9,QWORD[((0+160))+rsp] - mov r10,QWORD[((8+160))+rsp] - lea rsi,[((0+160))+rsp] - mov r11,QWORD[((16+160))+rsp] - mov r12,QWORD[((24+160))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_mul_montq - - mov rax,QWORD[96+rsp] - lea rbx,[96+rsp] - mov r9,QWORD[((0+64))+rsp] - mov r10,QWORD[((8+64))+rsp] - lea rsi,[((0+64))+rsp] - mov r11,QWORD[((16+64))+rsp] - mov r12,QWORD[((24+64))+rsp] - lea rdi,[64+rsp] - call __ecp_nistz256_mul_montq - - lea rbx,[32+rsp] - lea rdi,[256+rsp] - call __ecp_nistz256_sub_fromq - -DB 102,72,15,126,199 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[288+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((288+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[$L$ONE_mont] - pand xmm3,XMMWORD[(($L$ONE_mont+16))] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[384+rsp] - pand xmm3,XMMWORD[((384+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[64+rdi],xmm2 - movdqu XMMWORD[80+rdi],xmm3 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[224+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((224+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[416+rsp] - pand xmm3,XMMWORD[((416+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[320+rsp] - pand xmm3,XMMWORD[((320+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[rdi],xmm2 - movdqu XMMWORD[16+rdi],xmm3 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[256+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((256+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[448+rsp] - pand xmm3,XMMWORD[((448+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[352+rsp] - pand xmm3,XMMWORD[((352+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[32+rdi],xmm2 - movdqu XMMWORD[48+rdi],xmm3 - - add rsp,32*15+8 - pop r15 - pop r14 - pop r13 - pop r12 - pop rbx - pop rbp - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_add_affine: - -ALIGN 32 -__ecp_nistz256_add_tox: - xor r11,r11 - adc r12,QWORD[rbx] - adc r13,QWORD[8+rbx] - mov rax,r12 - adc r8,QWORD[16+rbx] - adc r9,QWORD[24+rbx] - mov rbp,r13 - adc r11,0 - - xor r10,r10 - sbb r12,-1 - mov rcx,r8 - sbb r13,r14 - sbb r8,0 - mov r10,r9 - sbb r9,r15 - sbb r11,0 - - cmovc r12,rax - cmovc r13,rbp - mov QWORD[rdi],r12 - cmovc r8,rcx - mov QWORD[8+rdi],r13 - cmovc r9,r10 - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - - DB 0F3h,0C3h ;repret - - - -ALIGN 32 -__ecp_nistz256_sub_fromx: - xor r11,r11 - sbb r12,QWORD[rbx] - sbb r13,QWORD[8+rbx] - mov rax,r12 - sbb r8,QWORD[16+rbx] - sbb r9,QWORD[24+rbx] - mov rbp,r13 - sbb r11,0 - - xor r10,r10 - adc r12,-1 - mov rcx,r8 - adc r13,r14 - adc r8,0 - mov r10,r9 - adc r9,r15 - - bt r11,0 - cmovnc r12,rax - cmovnc r13,rbp - mov QWORD[rdi],r12 - cmovnc r8,rcx - mov QWORD[8+rdi],r13 - cmovnc r9,r10 - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - - DB 0F3h,0C3h ;repret - - - -ALIGN 32 -__ecp_nistz256_subx: - xor r11,r11 - sbb rax,r12 - sbb rbp,r13 - mov r12,rax - sbb rcx,r8 - sbb r10,r9 - mov r13,rbp - sbb r11,0 - - xor r9,r9 - adc rax,-1 - mov r8,rcx - adc rbp,r14 - adc rcx,0 - mov r9,r10 - adc r10,r15 - - bt r11,0 - cmovc r12,rax - cmovc r13,rbp - cmovc r8,rcx - cmovc r9,r10 - - DB 0F3h,0C3h ;repret - - - -ALIGN 32 -__ecp_nistz256_mul_by_2x: - xor r11,r11 - adc r12,r12 - adc r13,r13 - mov rax,r12 - adc r8,r8 - adc r9,r9 - mov rbp,r13 - adc r11,0 - - xor r10,r10 - sbb r12,-1 - mov rcx,r8 - sbb r13,r14 - sbb r8,0 - mov r10,r9 - sbb r9,r15 - sbb r11,0 - - cmovc r12,rax - cmovc r13,rbp - mov QWORD[rdi],r12 - cmovc r8,rcx - mov QWORD[8+rdi],r13 - cmovc r9,r10 - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - - DB 0F3h,0C3h ;repret - - -ALIGN 32 -ecp_nistz256_point_doublex: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_doublex: - mov rdi,rcx - mov rsi,rdx - - -$L$point_doublex: - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - sub rsp,32*5+8 - -$L$point_double_shortcutx: - movdqu xmm0,XMMWORD[rsi] - mov rbx,rsi - movdqu xmm1,XMMWORD[16+rsi] - mov r12,QWORD[((32+0))+rsi] - mov r13,QWORD[((32+8))+rsi] - mov r8,QWORD[((32+16))+rsi] - mov r9,QWORD[((32+24))+rsi] - mov r14,QWORD[(($L$poly+8))] - mov r15,QWORD[(($L$poly+24))] - movdqa XMMWORD[96+rsp],xmm0 - movdqa XMMWORD[(96+16)+rsp],xmm1 - lea r10,[32+rdi] - lea r11,[64+rdi] -DB 102,72,15,110,199 -DB 102,73,15,110,202 -DB 102,73,15,110,211 - - lea rdi,[rsp] - call __ecp_nistz256_mul_by_2x - - mov rdx,QWORD[((64+0))+rsi] - mov r14,QWORD[((64+8))+rsi] - mov r15,QWORD[((64+16))+rsi] - mov r8,QWORD[((64+24))+rsi] - lea rsi,[((64-128))+rsi] - lea rdi,[64+rsp] - call __ecp_nistz256_sqr_montx - - mov rdx,QWORD[((0+0))+rsp] - mov r14,QWORD[((8+0))+rsp] - lea rsi,[((-128+0))+rsp] - mov r15,QWORD[((16+0))+rsp] - mov r8,QWORD[((24+0))+rsp] - lea rdi,[rsp] - call __ecp_nistz256_sqr_montx - - mov rdx,QWORD[32+rbx] - mov r9,QWORD[((64+0))+rbx] - mov r10,QWORD[((64+8))+rbx] - mov r11,QWORD[((64+16))+rbx] - mov r12,QWORD[((64+24))+rbx] - lea rsi,[((64-128))+rbx] - lea rbx,[32+rbx] -DB 102,72,15,126,215 - call __ecp_nistz256_mul_montx - call __ecp_nistz256_mul_by_2x - - mov r12,QWORD[((96+0))+rsp] - mov r13,QWORD[((96+8))+rsp] - lea rbx,[64+rsp] - mov r8,QWORD[((96+16))+rsp] - mov r9,QWORD[((96+24))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_add_tox - - mov r12,QWORD[((96+0))+rsp] - mov r13,QWORD[((96+8))+rsp] - lea rbx,[64+rsp] - mov r8,QWORD[((96+16))+rsp] - mov r9,QWORD[((96+24))+rsp] - lea rdi,[64+rsp] - call __ecp_nistz256_sub_fromx - - mov rdx,QWORD[((0+0))+rsp] - mov r14,QWORD[((8+0))+rsp] - lea rsi,[((-128+0))+rsp] - mov r15,QWORD[((16+0))+rsp] - mov r8,QWORD[((24+0))+rsp] -DB 102,72,15,126,207 - call __ecp_nistz256_sqr_montx - xor r9,r9 - mov rax,r12 - add r12,-1 - mov r10,r13 - adc r13,rsi - mov rcx,r14 - adc r14,0 - mov r8,r15 - adc r15,rbp - adc r9,0 - xor rsi,rsi - test rax,1 - - cmovz r12,rax - cmovz r13,r10 - cmovz r14,rcx - cmovz r15,r8 - cmovz r9,rsi - - mov rax,r13 - shr r12,1 - shl rax,63 - mov r10,r14 - shr r13,1 - or r12,rax - shl r10,63 - mov rcx,r15 - shr r14,1 - or r13,r10 - shl rcx,63 - mov QWORD[rdi],r12 - shr r15,1 - mov QWORD[8+rdi],r13 - shl r9,63 - or r14,rcx - or r15,r9 - mov QWORD[16+rdi],r14 - mov QWORD[24+rdi],r15 - mov rdx,QWORD[64+rsp] - lea rbx,[64+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((-128+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_mul_montx - - lea rdi,[128+rsp] - call __ecp_nistz256_mul_by_2x - - lea rbx,[32+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_add_tox - - mov rdx,QWORD[96+rsp] - lea rbx,[96+rsp] - mov r9,QWORD[((0+0))+rsp] - mov r10,QWORD[((8+0))+rsp] - lea rsi,[((-128+0))+rsp] - mov r11,QWORD[((16+0))+rsp] - mov r12,QWORD[((24+0))+rsp] - lea rdi,[rsp] - call __ecp_nistz256_mul_montx - - lea rdi,[128+rsp] - call __ecp_nistz256_mul_by_2x - - mov rdx,QWORD[((0+32))+rsp] - mov r14,QWORD[((8+32))+rsp] - lea rsi,[((-128+32))+rsp] - mov r15,QWORD[((16+32))+rsp] - mov r8,QWORD[((24+32))+rsp] -DB 102,72,15,126,199 - call __ecp_nistz256_sqr_montx - - lea rbx,[128+rsp] - mov r8,r14 - mov r9,r15 - mov r14,rsi - mov r15,rbp - call __ecp_nistz256_sub_fromx - - mov rax,QWORD[((0+0))+rsp] - mov rbp,QWORD[((0+8))+rsp] - mov rcx,QWORD[((0+16))+rsp] - mov r10,QWORD[((0+24))+rsp] - lea rdi,[rsp] - call __ecp_nistz256_subx - - mov rdx,QWORD[32+rsp] - lea rbx,[32+rsp] - mov r14,r12 - xor ecx,ecx - mov QWORD[((0+0))+rsp],r12 - mov r10,r13 - mov QWORD[((0+8))+rsp],r13 - cmovz r11,r8 - mov QWORD[((0+16))+rsp],r8 - lea rsi,[((0-128))+rsp] - cmovz r12,r9 - mov QWORD[((0+24))+rsp],r9 - mov r9,r14 - lea rdi,[rsp] - call __ecp_nistz256_mul_montx - -DB 102,72,15,126,203 -DB 102,72,15,126,207 - call __ecp_nistz256_sub_fromx - - add rsp,32*5+8 - pop r15 - pop r14 - pop r13 - pop r12 - pop rbx - pop rbp - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_doublex: - -ALIGN 32 -ecp_nistz256_point_addx: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_addx: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -$L$point_addx: - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - sub rsp,32*18+8 - - movdqu xmm0,XMMWORD[rsi] - movdqu xmm1,XMMWORD[16+rsi] - movdqu xmm2,XMMWORD[32+rsi] - movdqu xmm3,XMMWORD[48+rsi] - movdqu xmm4,XMMWORD[64+rsi] - movdqu xmm5,XMMWORD[80+rsi] - mov rbx,rsi - mov rsi,rdx - movdqa XMMWORD[384+rsp],xmm0 - movdqa XMMWORD[(384+16)+rsp],xmm1 - movdqa XMMWORD[416+rsp],xmm2 - movdqa XMMWORD[(416+16)+rsp],xmm3 - movdqa XMMWORD[448+rsp],xmm4 - movdqa XMMWORD[(448+16)+rsp],xmm5 - por xmm5,xmm4 - - movdqu xmm0,XMMWORD[rsi] - pshufd xmm3,xmm5,0xb1 - movdqu xmm1,XMMWORD[16+rsi] - movdqu xmm2,XMMWORD[32+rsi] - por xmm5,xmm3 - movdqu xmm3,XMMWORD[48+rsi] - mov rdx,QWORD[((64+0))+rsi] - mov r14,QWORD[((64+8))+rsi] - mov r15,QWORD[((64+16))+rsi] - mov r8,QWORD[((64+24))+rsi] - movdqa XMMWORD[480+rsp],xmm0 - pshufd xmm4,xmm5,0x1e - movdqa XMMWORD[(480+16)+rsp],xmm1 - movdqu xmm0,XMMWORD[64+rsi] - movdqu xmm1,XMMWORD[80+rsi] - movdqa XMMWORD[512+rsp],xmm2 - movdqa XMMWORD[(512+16)+rsp],xmm3 - por xmm5,xmm4 - pxor xmm4,xmm4 - por xmm1,xmm0 -DB 102,72,15,110,199 - - lea rsi,[((64-128))+rsi] - mov QWORD[((544+0))+rsp],rdx - mov QWORD[((544+8))+rsp],r14 - mov QWORD[((544+16))+rsp],r15 - mov QWORD[((544+24))+rsp],r8 - lea rdi,[96+rsp] - call __ecp_nistz256_sqr_montx - - pcmpeqd xmm5,xmm4 - pshufd xmm4,xmm1,0xb1 - por xmm4,xmm1 - pshufd xmm5,xmm5,0 - pshufd xmm3,xmm4,0x1e - por xmm4,xmm3 - pxor xmm3,xmm3 - pcmpeqd xmm4,xmm3 - pshufd xmm4,xmm4,0 - mov rdx,QWORD[((64+0))+rbx] - mov r14,QWORD[((64+8))+rbx] - mov r15,QWORD[((64+16))+rbx] - mov r8,QWORD[((64+24))+rbx] -DB 102,72,15,110,203 - - lea rsi,[((64-128))+rbx] - lea rdi,[32+rsp] - call __ecp_nistz256_sqr_montx - - mov rdx,QWORD[544+rsp] - lea rbx,[544+rsp] - mov r9,QWORD[((0+96))+rsp] - mov r10,QWORD[((8+96))+rsp] - lea rsi,[((-128+96))+rsp] - mov r11,QWORD[((16+96))+rsp] - mov r12,QWORD[((24+96))+rsp] - lea rdi,[224+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[448+rsp] - lea rbx,[448+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((-128+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[256+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[416+rsp] - lea rbx,[416+rsp] - mov r9,QWORD[((0+224))+rsp] - mov r10,QWORD[((8+224))+rsp] - lea rsi,[((-128+224))+rsp] - mov r11,QWORD[((16+224))+rsp] - mov r12,QWORD[((24+224))+rsp] - lea rdi,[224+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[512+rsp] - lea rbx,[512+rsp] - mov r9,QWORD[((0+256))+rsp] - mov r10,QWORD[((8+256))+rsp] - lea rsi,[((-128+256))+rsp] - mov r11,QWORD[((16+256))+rsp] - mov r12,QWORD[((24+256))+rsp] - lea rdi,[256+rsp] - call __ecp_nistz256_mul_montx - - lea rbx,[224+rsp] - lea rdi,[64+rsp] - call __ecp_nistz256_sub_fromx - - or r12,r13 - movdqa xmm2,xmm4 - or r12,r8 - or r12,r9 - por xmm2,xmm5 -DB 102,73,15,110,220 - - mov rdx,QWORD[384+rsp] - lea rbx,[384+rsp] - mov r9,QWORD[((0+96))+rsp] - mov r10,QWORD[((8+96))+rsp] - lea rsi,[((-128+96))+rsp] - mov r11,QWORD[((16+96))+rsp] - mov r12,QWORD[((24+96))+rsp] - lea rdi,[160+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[480+rsp] - lea rbx,[480+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((-128+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[192+rsp] - call __ecp_nistz256_mul_montx - - lea rbx,[160+rsp] - lea rdi,[rsp] - call __ecp_nistz256_sub_fromx - - or r12,r13 - or r12,r8 - or r12,r9 - -DB 0x3e - jnz NEAR $L$add_proceedx -DB 102,73,15,126,208 -DB 102,73,15,126,217 - test r8,r8 - jnz NEAR $L$add_proceedx - test r9,r9 - jz NEAR $L$add_doublex - -DB 102,72,15,126,199 - pxor xmm0,xmm0 - movdqu XMMWORD[rdi],xmm0 - movdqu XMMWORD[16+rdi],xmm0 - movdqu XMMWORD[32+rdi],xmm0 - movdqu XMMWORD[48+rdi],xmm0 - movdqu XMMWORD[64+rdi],xmm0 - movdqu XMMWORD[80+rdi],xmm0 - jmp NEAR $L$add_donex - -ALIGN 32 -$L$add_doublex: -DB 102,72,15,126,206 -DB 102,72,15,126,199 - add rsp,416 - jmp NEAR $L$point_double_shortcutx - -ALIGN 32 -$L$add_proceedx: - mov rdx,QWORD[((0+64))+rsp] - mov r14,QWORD[((8+64))+rsp] - lea rsi,[((-128+64))+rsp] - mov r15,QWORD[((16+64))+rsp] - mov r8,QWORD[((24+64))+rsp] - lea rdi,[96+rsp] - call __ecp_nistz256_sqr_montx - - mov rdx,QWORD[448+rsp] - lea rbx,[448+rsp] - mov r9,QWORD[((0+0))+rsp] - mov r10,QWORD[((8+0))+rsp] - lea rsi,[((-128+0))+rsp] - mov r11,QWORD[((16+0))+rsp] - mov r12,QWORD[((24+0))+rsp] - lea rdi,[352+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[((0+0))+rsp] - mov r14,QWORD[((8+0))+rsp] - lea rsi,[((-128+0))+rsp] - mov r15,QWORD[((16+0))+rsp] - mov r8,QWORD[((24+0))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_sqr_montx - - mov rdx,QWORD[544+rsp] - lea rbx,[544+rsp] - mov r9,QWORD[((0+352))+rsp] - mov r10,QWORD[((8+352))+rsp] - lea rsi,[((-128+352))+rsp] - mov r11,QWORD[((16+352))+rsp] - mov r12,QWORD[((24+352))+rsp] - lea rdi,[352+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[rsp] - lea rbx,[rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((-128+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[128+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[160+rsp] - lea rbx,[160+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((-128+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[192+rsp] - call __ecp_nistz256_mul_montx - - - - - xor r11,r11 - add r12,r12 - lea rsi,[96+rsp] - adc r13,r13 - mov rax,r12 - adc r8,r8 - adc r9,r9 - mov rbp,r13 - adc r11,0 - - sub r12,-1 - mov rcx,r8 - sbb r13,r14 - sbb r8,0 - mov r10,r9 - sbb r9,r15 - sbb r11,0 - - cmovc r12,rax - mov rax,QWORD[rsi] - cmovc r13,rbp - mov rbp,QWORD[8+rsi] - cmovc r8,rcx - mov rcx,QWORD[16+rsi] - cmovc r9,r10 - mov r10,QWORD[24+rsi] - - call __ecp_nistz256_subx - - lea rbx,[128+rsp] - lea rdi,[288+rsp] - call __ecp_nistz256_sub_fromx - - mov rax,QWORD[((192+0))+rsp] - mov rbp,QWORD[((192+8))+rsp] - mov rcx,QWORD[((192+16))+rsp] - mov r10,QWORD[((192+24))+rsp] - lea rdi,[320+rsp] - - call __ecp_nistz256_subx - - mov QWORD[rdi],r12 - mov QWORD[8+rdi],r13 - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - mov rdx,QWORD[128+rsp] - lea rbx,[128+rsp] - mov r9,QWORD[((0+224))+rsp] - mov r10,QWORD[((8+224))+rsp] - lea rsi,[((-128+224))+rsp] - mov r11,QWORD[((16+224))+rsp] - mov r12,QWORD[((24+224))+rsp] - lea rdi,[256+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[320+rsp] - lea rbx,[320+rsp] - mov r9,QWORD[((0+64))+rsp] - mov r10,QWORD[((8+64))+rsp] - lea rsi,[((-128+64))+rsp] - mov r11,QWORD[((16+64))+rsp] - mov r12,QWORD[((24+64))+rsp] - lea rdi,[320+rsp] - call __ecp_nistz256_mul_montx - - lea rbx,[256+rsp] - lea rdi,[320+rsp] - call __ecp_nistz256_sub_fromx - -DB 102,72,15,126,199 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[352+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((352+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[544+rsp] - pand xmm3,XMMWORD[((544+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[448+rsp] - pand xmm3,XMMWORD[((448+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[64+rdi],xmm2 - movdqu XMMWORD[80+rdi],xmm3 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[288+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((288+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[480+rsp] - pand xmm3,XMMWORD[((480+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[384+rsp] - pand xmm3,XMMWORD[((384+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[rdi],xmm2 - movdqu XMMWORD[16+rdi],xmm3 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[320+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((320+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[512+rsp] - pand xmm3,XMMWORD[((512+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[416+rsp] - pand xmm3,XMMWORD[((416+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[32+rdi],xmm2 - movdqu XMMWORD[48+rdi],xmm3 - -$L$add_donex: - add rsp,32*18+8 - pop r15 - pop r14 - pop r13 - pop r12 - pop rbx - pop rbp - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_addx: - -ALIGN 32 -ecp_nistz256_point_add_affinex: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_ecp_nistz256_point_add_affinex: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -$L$point_add_affinex: - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - sub rsp,32*15+8 - - movdqu xmm0,XMMWORD[rsi] - mov rbx,rdx - movdqu xmm1,XMMWORD[16+rsi] - movdqu xmm2,XMMWORD[32+rsi] - movdqu xmm3,XMMWORD[48+rsi] - movdqu xmm4,XMMWORD[64+rsi] - movdqu xmm5,XMMWORD[80+rsi] - mov rdx,QWORD[((64+0))+rsi] - mov r14,QWORD[((64+8))+rsi] - mov r15,QWORD[((64+16))+rsi] - mov r8,QWORD[((64+24))+rsi] - movdqa XMMWORD[320+rsp],xmm0 - movdqa XMMWORD[(320+16)+rsp],xmm1 - movdqa XMMWORD[352+rsp],xmm2 - movdqa XMMWORD[(352+16)+rsp],xmm3 - movdqa XMMWORD[384+rsp],xmm4 - movdqa XMMWORD[(384+16)+rsp],xmm5 - por xmm5,xmm4 - - movdqu xmm0,XMMWORD[rbx] - pshufd xmm3,xmm5,0xb1 - movdqu xmm1,XMMWORD[16+rbx] - movdqu xmm2,XMMWORD[32+rbx] - por xmm5,xmm3 - movdqu xmm3,XMMWORD[48+rbx] - movdqa XMMWORD[416+rsp],xmm0 - pshufd xmm4,xmm5,0x1e - movdqa XMMWORD[(416+16)+rsp],xmm1 - por xmm1,xmm0 -DB 102,72,15,110,199 - movdqa XMMWORD[448+rsp],xmm2 - movdqa XMMWORD[(448+16)+rsp],xmm3 - por xmm3,xmm2 - por xmm5,xmm4 - pxor xmm4,xmm4 - por xmm3,xmm1 - - lea rsi,[((64-128))+rsi] - lea rdi,[32+rsp] - call __ecp_nistz256_sqr_montx - - pcmpeqd xmm5,xmm4 - pshufd xmm4,xmm3,0xb1 - mov rdx,QWORD[rbx] - - mov r9,r12 - por xmm4,xmm3 - pshufd xmm5,xmm5,0 - pshufd xmm3,xmm4,0x1e - mov r10,r13 - por xmm4,xmm3 - pxor xmm3,xmm3 - mov r11,r14 - pcmpeqd xmm4,xmm3 - pshufd xmm4,xmm4,0 - - lea rsi,[((32-128))+rsp] - mov r12,r15 - lea rdi,[rsp] - call __ecp_nistz256_mul_montx - - lea rbx,[320+rsp] - lea rdi,[64+rsp] - call __ecp_nistz256_sub_fromx - - mov rdx,QWORD[384+rsp] - lea rbx,[384+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((-128+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[384+rsp] - lea rbx,[384+rsp] - mov r9,QWORD[((0+64))+rsp] - mov r10,QWORD[((8+64))+rsp] - lea rsi,[((-128+64))+rsp] - mov r11,QWORD[((16+64))+rsp] - mov r12,QWORD[((24+64))+rsp] - lea rdi,[288+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[448+rsp] - lea rbx,[448+rsp] - mov r9,QWORD[((0+32))+rsp] - mov r10,QWORD[((8+32))+rsp] - lea rsi,[((-128+32))+rsp] - mov r11,QWORD[((16+32))+rsp] - mov r12,QWORD[((24+32))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_mul_montx - - lea rbx,[352+rsp] - lea rdi,[96+rsp] - call __ecp_nistz256_sub_fromx - - mov rdx,QWORD[((0+64))+rsp] - mov r14,QWORD[((8+64))+rsp] - lea rsi,[((-128+64))+rsp] - mov r15,QWORD[((16+64))+rsp] - mov r8,QWORD[((24+64))+rsp] - lea rdi,[128+rsp] - call __ecp_nistz256_sqr_montx - - mov rdx,QWORD[((0+96))+rsp] - mov r14,QWORD[((8+96))+rsp] - lea rsi,[((-128+96))+rsp] - mov r15,QWORD[((16+96))+rsp] - mov r8,QWORD[((24+96))+rsp] - lea rdi,[192+rsp] - call __ecp_nistz256_sqr_montx - - mov rdx,QWORD[128+rsp] - lea rbx,[128+rsp] - mov r9,QWORD[((0+64))+rsp] - mov r10,QWORD[((8+64))+rsp] - lea rsi,[((-128+64))+rsp] - mov r11,QWORD[((16+64))+rsp] - mov r12,QWORD[((24+64))+rsp] - lea rdi,[160+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[320+rsp] - lea rbx,[320+rsp] - mov r9,QWORD[((0+128))+rsp] - mov r10,QWORD[((8+128))+rsp] - lea rsi,[((-128+128))+rsp] - mov r11,QWORD[((16+128))+rsp] - mov r12,QWORD[((24+128))+rsp] - lea rdi,[rsp] - call __ecp_nistz256_mul_montx - - - - - xor r11,r11 - add r12,r12 - lea rsi,[192+rsp] - adc r13,r13 - mov rax,r12 - adc r8,r8 - adc r9,r9 - mov rbp,r13 - adc r11,0 - - sub r12,-1 - mov rcx,r8 - sbb r13,r14 - sbb r8,0 - mov r10,r9 - sbb r9,r15 - sbb r11,0 - - cmovc r12,rax - mov rax,QWORD[rsi] - cmovc r13,rbp - mov rbp,QWORD[8+rsi] - cmovc r8,rcx - mov rcx,QWORD[16+rsi] - cmovc r9,r10 - mov r10,QWORD[24+rsi] - - call __ecp_nistz256_subx - - lea rbx,[160+rsp] - lea rdi,[224+rsp] - call __ecp_nistz256_sub_fromx - - mov rax,QWORD[((0+0))+rsp] - mov rbp,QWORD[((0+8))+rsp] - mov rcx,QWORD[((0+16))+rsp] - mov r10,QWORD[((0+24))+rsp] - lea rdi,[64+rsp] - - call __ecp_nistz256_subx - - mov QWORD[rdi],r12 - mov QWORD[8+rdi],r13 - mov QWORD[16+rdi],r8 - mov QWORD[24+rdi],r9 - mov rdx,QWORD[352+rsp] - lea rbx,[352+rsp] - mov r9,QWORD[((0+160))+rsp] - mov r10,QWORD[((8+160))+rsp] - lea rsi,[((-128+160))+rsp] - mov r11,QWORD[((16+160))+rsp] - mov r12,QWORD[((24+160))+rsp] - lea rdi,[32+rsp] - call __ecp_nistz256_mul_montx - - mov rdx,QWORD[96+rsp] - lea rbx,[96+rsp] - mov r9,QWORD[((0+64))+rsp] - mov r10,QWORD[((8+64))+rsp] - lea rsi,[((-128+64))+rsp] - mov r11,QWORD[((16+64))+rsp] - mov r12,QWORD[((24+64))+rsp] - lea rdi,[64+rsp] - call __ecp_nistz256_mul_montx - - lea rbx,[32+rsp] - lea rdi,[256+rsp] - call __ecp_nistz256_sub_fromx - -DB 102,72,15,126,199 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[288+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((288+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[$L$ONE_mont] - pand xmm3,XMMWORD[(($L$ONE_mont+16))] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[384+rsp] - pand xmm3,XMMWORD[((384+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[64+rdi],xmm2 - movdqu XMMWORD[80+rdi],xmm3 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[224+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((224+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[416+rsp] - pand xmm3,XMMWORD[((416+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[320+rsp] - pand xmm3,XMMWORD[((320+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[rdi],xmm2 - movdqu XMMWORD[16+rdi],xmm3 - - movdqa xmm0,xmm5 - movdqa xmm1,xmm5 - pandn xmm0,XMMWORD[256+rsp] - movdqa xmm2,xmm5 - pandn xmm1,XMMWORD[((256+16))+rsp] - movdqa xmm3,xmm5 - pand xmm2,XMMWORD[448+rsp] - pand xmm3,XMMWORD[((448+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - - movdqa xmm0,xmm4 - movdqa xmm1,xmm4 - pandn xmm0,xmm2 - movdqa xmm2,xmm4 - pandn xmm1,xmm3 - movdqa xmm3,xmm4 - pand xmm2,XMMWORD[352+rsp] - pand xmm3,XMMWORD[((352+16))+rsp] - por xmm2,xmm0 - por xmm3,xmm1 - movdqu XMMWORD[32+rdi],xmm2 - movdqu XMMWORD[48+rdi],xmm3 - - add rsp,32*15+8 - pop r15 - pop r14 - pop r13 - pop r12 - pop rbx - pop rbp - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_ecp_nistz256_point_add_affinex: +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + +EXTERN OPENSSL_ia32cap_P + + +ALIGN 64 +$L$poly: + DQ 0xffffffffffffffff,0x00000000ffffffff,0x0000000000000000,0xffffffff00000001 + + +$L$RR: + DQ 0x0000000000000003,0xfffffffbffffffff,0xfffffffffffffffe,0x00000004fffffffd + +$L$One: + DD 1,1,1,1,1,1,1,1 +$L$Two: + DD 2,2,2,2,2,2,2,2 +$L$Three: + DD 3,3,3,3,3,3,3,3 +$L$ONE_mont: + DQ 0x0000000000000001,0xffffffff00000000,0xffffffffffffffff,0x00000000fffffffe + +global ecp_nistz256_mul_by_2 + +ALIGN 64 +ecp_nistz256_mul_by_2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_mul_by_2: + mov rdi,rcx + mov rsi,rdx + + + push r12 + push r13 + + mov r8,QWORD[rsi] + xor r13,r13 + mov r9,QWORD[8+rsi] + add r8,r8 + mov r10,QWORD[16+rsi] + adc r9,r9 + mov r11,QWORD[24+rsi] + lea rsi,[$L$poly] + mov rax,r8 + adc r10,r10 + adc r11,r11 + mov rdx,r9 + adc r13,0 + + sub r8,QWORD[rsi] + mov rcx,r10 + sbb r9,QWORD[8+rsi] + sbb r10,QWORD[16+rsi] + mov r12,r11 + sbb r11,QWORD[24+rsi] + sbb r13,0 + + cmovc r8,rax + cmovc r9,rdx + mov QWORD[rdi],r8 + cmovc r10,rcx + mov QWORD[8+rdi],r9 + cmovc r11,r12 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + + pop r13 + pop r12 + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_mul_by_2: + + + +global ecp_nistz256_div_by_2 + +ALIGN 32 +ecp_nistz256_div_by_2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_div_by_2: + mov rdi,rcx + mov rsi,rdx + + + push r12 + push r13 + + mov r8,QWORD[rsi] + mov r9,QWORD[8+rsi] + mov r10,QWORD[16+rsi] + mov rax,r8 + mov r11,QWORD[24+rsi] + lea rsi,[$L$poly] + + mov rdx,r9 + xor r13,r13 + add r8,QWORD[rsi] + mov rcx,r10 + adc r9,QWORD[8+rsi] + adc r10,QWORD[16+rsi] + mov r12,r11 + adc r11,QWORD[24+rsi] + adc r13,0 + xor rsi,rsi + test rax,1 + + cmovz r8,rax + cmovz r9,rdx + cmovz r10,rcx + cmovz r11,r12 + cmovz r13,rsi + + mov rax,r9 + shr r8,1 + shl rax,63 + mov rdx,r10 + shr r9,1 + or r8,rax + shl rdx,63 + mov rcx,r11 + shr r10,1 + or r9,rdx + shl rcx,63 + shr r11,1 + shl r13,63 + or r10,rcx + or r11,r13 + + mov QWORD[rdi],r8 + mov QWORD[8+rdi],r9 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + + pop r13 + pop r12 + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_div_by_2: + + + +global ecp_nistz256_mul_by_3 + +ALIGN 32 +ecp_nistz256_mul_by_3: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_mul_by_3: + mov rdi,rcx + mov rsi,rdx + + + push r12 + push r13 + + mov r8,QWORD[rsi] + xor r13,r13 + mov r9,QWORD[8+rsi] + add r8,r8 + mov r10,QWORD[16+rsi] + adc r9,r9 + mov r11,QWORD[24+rsi] + mov rax,r8 + adc r10,r10 + adc r11,r11 + mov rdx,r9 + adc r13,0 + + sub r8,-1 + mov rcx,r10 + sbb r9,QWORD[(($L$poly+8))] + sbb r10,0 + mov r12,r11 + sbb r11,QWORD[(($L$poly+24))] + sbb r13,0 + + cmovc r8,rax + cmovc r9,rdx + cmovc r10,rcx + cmovc r11,r12 + + xor r13,r13 + add r8,QWORD[rsi] + adc r9,QWORD[8+rsi] + mov rax,r8 + adc r10,QWORD[16+rsi] + adc r11,QWORD[24+rsi] + mov rdx,r9 + adc r13,0 + + sub r8,-1 + mov rcx,r10 + sbb r9,QWORD[(($L$poly+8))] + sbb r10,0 + mov r12,r11 + sbb r11,QWORD[(($L$poly+24))] + sbb r13,0 + + cmovc r8,rax + cmovc r9,rdx + mov QWORD[rdi],r8 + cmovc r10,rcx + mov QWORD[8+rdi],r9 + cmovc r11,r12 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + + pop r13 + pop r12 + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_mul_by_3: + + + +global ecp_nistz256_add + +ALIGN 32 +ecp_nistz256_add: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_add: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + push r12 + push r13 + + mov r8,QWORD[rsi] + xor r13,r13 + mov r9,QWORD[8+rsi] + mov r10,QWORD[16+rsi] + mov r11,QWORD[24+rsi] + lea rsi,[$L$poly] + + add r8,QWORD[rdx] + adc r9,QWORD[8+rdx] + mov rax,r8 + adc r10,QWORD[16+rdx] + adc r11,QWORD[24+rdx] + mov rdx,r9 + adc r13,0 + + sub r8,QWORD[rsi] + mov rcx,r10 + sbb r9,QWORD[8+rsi] + sbb r10,QWORD[16+rsi] + mov r12,r11 + sbb r11,QWORD[24+rsi] + sbb r13,0 + + cmovc r8,rax + cmovc r9,rdx + mov QWORD[rdi],r8 + cmovc r10,rcx + mov QWORD[8+rdi],r9 + cmovc r11,r12 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + + pop r13 + pop r12 + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_add: + + + +global ecp_nistz256_sub + +ALIGN 32 +ecp_nistz256_sub: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_sub: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + push r12 + push r13 + + mov r8,QWORD[rsi] + xor r13,r13 + mov r9,QWORD[8+rsi] + mov r10,QWORD[16+rsi] + mov r11,QWORD[24+rsi] + lea rsi,[$L$poly] + + sub r8,QWORD[rdx] + sbb r9,QWORD[8+rdx] + mov rax,r8 + sbb r10,QWORD[16+rdx] + sbb r11,QWORD[24+rdx] + mov rdx,r9 + sbb r13,0 + + add r8,QWORD[rsi] + mov rcx,r10 + adc r9,QWORD[8+rsi] + adc r10,QWORD[16+rsi] + mov r12,r11 + adc r11,QWORD[24+rsi] + test r13,r13 + + cmovz r8,rax + cmovz r9,rdx + mov QWORD[rdi],r8 + cmovz r10,rcx + mov QWORD[8+rdi],r9 + cmovz r11,r12 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + + pop r13 + pop r12 + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_sub: + + + +global ecp_nistz256_neg + +ALIGN 32 +ecp_nistz256_neg: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_neg: + mov rdi,rcx + mov rsi,rdx + + + push r12 + push r13 + + xor r8,r8 + xor r9,r9 + xor r10,r10 + xor r11,r11 + xor r13,r13 + + sub r8,QWORD[rsi] + sbb r9,QWORD[8+rsi] + sbb r10,QWORD[16+rsi] + mov rax,r8 + sbb r11,QWORD[24+rsi] + lea rsi,[$L$poly] + mov rdx,r9 + sbb r13,0 + + add r8,QWORD[rsi] + mov rcx,r10 + adc r9,QWORD[8+rsi] + adc r10,QWORD[16+rsi] + mov r12,r11 + adc r11,QWORD[24+rsi] + test r13,r13 + + cmovz r8,rax + cmovz r9,rdx + mov QWORD[rdi],r8 + cmovz r10,rcx + mov QWORD[8+rdi],r9 + cmovz r11,r12 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + + pop r13 + pop r12 + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_neg: + + + + +global ecp_nistz256_to_mont + +ALIGN 32 +ecp_nistz256_to_mont: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_to_mont: + mov rdi,rcx + mov rsi,rdx + + + mov ecx,0x80100 + and ecx,DWORD[((OPENSSL_ia32cap_P+8))] + lea rdx,[$L$RR] + jmp NEAR $L$mul_mont +$L$SEH_end_ecp_nistz256_to_mont: + + + + + + + +global ecp_nistz256_mul_mont + +ALIGN 32 +ecp_nistz256_mul_mont: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_mul_mont: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + mov ecx,0x80100 + and ecx,DWORD[((OPENSSL_ia32cap_P+8))] +$L$mul_mont: + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + cmp ecx,0x80100 + je NEAR $L$mul_montx + mov rbx,rdx + mov rax,QWORD[rdx] + mov r9,QWORD[rsi] + mov r10,QWORD[8+rsi] + mov r11,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + + call __ecp_nistz256_mul_montq + jmp NEAR $L$mul_mont_done + +ALIGN 32 +$L$mul_montx: + mov rbx,rdx + mov rdx,QWORD[rdx] + mov r9,QWORD[rsi] + mov r10,QWORD[8+rsi] + mov r11,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + lea rsi,[((-128))+rsi] + + call __ecp_nistz256_mul_montx +$L$mul_mont_done: + pop r15 + pop r14 + pop r13 + pop r12 + pop rbx + pop rbp + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_mul_mont: + + +ALIGN 32 +__ecp_nistz256_mul_montq: + + + mov rbp,rax + mul r9 + mov r14,QWORD[(($L$poly+8))] + mov r8,rax + mov rax,rbp + mov r9,rdx + + mul r10 + mov r15,QWORD[(($L$poly+24))] + add r9,rax + mov rax,rbp + adc rdx,0 + mov r10,rdx + + mul r11 + add r10,rax + mov rax,rbp + adc rdx,0 + mov r11,rdx + + mul r12 + add r11,rax + mov rax,r8 + adc rdx,0 + xor r13,r13 + mov r12,rdx + + + + + + + + + + + mov rbp,r8 + shl r8,32 + mul r15 + shr rbp,32 + add r9,r8 + adc r10,rbp + adc r11,rax + mov rax,QWORD[8+rbx] + adc r12,rdx + adc r13,0 + xor r8,r8 + + + + mov rbp,rax + mul QWORD[rsi] + add r9,rax + mov rax,rbp + adc rdx,0 + mov rcx,rdx + + mul QWORD[8+rsi] + add r10,rcx + adc rdx,0 + add r10,rax + mov rax,rbp + adc rdx,0 + mov rcx,rdx + + mul QWORD[16+rsi] + add r11,rcx + adc rdx,0 + add r11,rax + mov rax,rbp + adc rdx,0 + mov rcx,rdx + + mul QWORD[24+rsi] + add r12,rcx + adc rdx,0 + add r12,rax + mov rax,r9 + adc r13,rdx + adc r8,0 + + + + mov rbp,r9 + shl r9,32 + mul r15 + shr rbp,32 + add r10,r9 + adc r11,rbp + adc r12,rax + mov rax,QWORD[16+rbx] + adc r13,rdx + adc r8,0 + xor r9,r9 + + + + mov rbp,rax + mul QWORD[rsi] + add r10,rax + mov rax,rbp + adc rdx,0 + mov rcx,rdx + + mul QWORD[8+rsi] + add r11,rcx + adc rdx,0 + add r11,rax + mov rax,rbp + adc rdx,0 + mov rcx,rdx + + mul QWORD[16+rsi] + add r12,rcx + adc rdx,0 + add r12,rax + mov rax,rbp + adc rdx,0 + mov rcx,rdx + + mul QWORD[24+rsi] + add r13,rcx + adc rdx,0 + add r13,rax + mov rax,r10 + adc r8,rdx + adc r9,0 + + + + mov rbp,r10 + shl r10,32 + mul r15 + shr rbp,32 + add r11,r10 + adc r12,rbp + adc r13,rax + mov rax,QWORD[24+rbx] + adc r8,rdx + adc r9,0 + xor r10,r10 + + + + mov rbp,rax + mul QWORD[rsi] + add r11,rax + mov rax,rbp + adc rdx,0 + mov rcx,rdx + + mul QWORD[8+rsi] + add r12,rcx + adc rdx,0 + add r12,rax + mov rax,rbp + adc rdx,0 + mov rcx,rdx + + mul QWORD[16+rsi] + add r13,rcx + adc rdx,0 + add r13,rax + mov rax,rbp + adc rdx,0 + mov rcx,rdx + + mul QWORD[24+rsi] + add r8,rcx + adc rdx,0 + add r8,rax + mov rax,r11 + adc r9,rdx + adc r10,0 + + + + mov rbp,r11 + shl r11,32 + mul r15 + shr rbp,32 + add r12,r11 + adc r13,rbp + mov rcx,r12 + adc r8,rax + adc r9,rdx + mov rbp,r13 + adc r10,0 + + + + sub r12,-1 + mov rbx,r8 + sbb r13,r14 + sbb r8,0 + mov rdx,r9 + sbb r9,r15 + sbb r10,0 + + cmovc r12,rcx + cmovc r13,rbp + mov QWORD[rdi],r12 + cmovc r8,rbx + mov QWORD[8+rdi],r13 + cmovc r9,rdx + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + + DB 0F3h,0C3h ;repret + + + + + + + + + +global ecp_nistz256_sqr_mont + +ALIGN 32 +ecp_nistz256_sqr_mont: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_sqr_mont: + mov rdi,rcx + mov rsi,rdx + + + mov ecx,0x80100 + and ecx,DWORD[((OPENSSL_ia32cap_P+8))] + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + cmp ecx,0x80100 + je NEAR $L$sqr_montx + mov rax,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r15,QWORD[16+rsi] + mov r8,QWORD[24+rsi] + + call __ecp_nistz256_sqr_montq + jmp NEAR $L$sqr_mont_done + +ALIGN 32 +$L$sqr_montx: + mov rdx,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r15,QWORD[16+rsi] + mov r8,QWORD[24+rsi] + lea rsi,[((-128))+rsi] + + call __ecp_nistz256_sqr_montx +$L$sqr_mont_done: + pop r15 + pop r14 + pop r13 + pop r12 + pop rbx + pop rbp + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_sqr_mont: + + +ALIGN 32 +__ecp_nistz256_sqr_montq: + mov r13,rax + mul r14 + mov r9,rax + mov rax,r15 + mov r10,rdx + + mul r13 + add r10,rax + mov rax,r8 + adc rdx,0 + mov r11,rdx + + mul r13 + add r11,rax + mov rax,r15 + adc rdx,0 + mov r12,rdx + + + mul r14 + add r11,rax + mov rax,r8 + adc rdx,0 + mov rbp,rdx + + mul r14 + add r12,rax + mov rax,r8 + adc rdx,0 + add r12,rbp + mov r13,rdx + adc r13,0 + + + mul r15 + xor r15,r15 + add r13,rax + mov rax,QWORD[rsi] + mov r14,rdx + adc r14,0 + + add r9,r9 + adc r10,r10 + adc r11,r11 + adc r12,r12 + adc r13,r13 + adc r14,r14 + adc r15,0 + + mul rax + mov r8,rax + mov rax,QWORD[8+rsi] + mov rcx,rdx + + mul rax + add r9,rcx + adc r10,rax + mov rax,QWORD[16+rsi] + adc rdx,0 + mov rcx,rdx + + mul rax + add r11,rcx + adc r12,rax + mov rax,QWORD[24+rsi] + adc rdx,0 + mov rcx,rdx + + mul rax + add r13,rcx + adc r14,rax + mov rax,r8 + adc r15,rdx + + mov rsi,QWORD[(($L$poly+8))] + mov rbp,QWORD[(($L$poly+24))] + + + + + mov rcx,r8 + shl r8,32 + mul rbp + shr rcx,32 + add r9,r8 + adc r10,rcx + adc r11,rax + mov rax,r9 + adc rdx,0 + + + + mov rcx,r9 + shl r9,32 + mov r8,rdx + mul rbp + shr rcx,32 + add r10,r9 + adc r11,rcx + adc r8,rax + mov rax,r10 + adc rdx,0 + + + + mov rcx,r10 + shl r10,32 + mov r9,rdx + mul rbp + shr rcx,32 + add r11,r10 + adc r8,rcx + adc r9,rax + mov rax,r11 + adc rdx,0 + + + + mov rcx,r11 + shl r11,32 + mov r10,rdx + mul rbp + shr rcx,32 + add r8,r11 + adc r9,rcx + adc r10,rax + adc rdx,0 + xor r11,r11 + + + + add r12,r8 + adc r13,r9 + mov r8,r12 + adc r14,r10 + adc r15,rdx + mov r9,r13 + adc r11,0 + + sub r12,-1 + mov r10,r14 + sbb r13,rsi + sbb r14,0 + mov rcx,r15 + sbb r15,rbp + sbb r11,0 + + cmovc r12,r8 + cmovc r13,r9 + mov QWORD[rdi],r12 + cmovc r14,r10 + mov QWORD[8+rdi],r13 + cmovc r15,rcx + mov QWORD[16+rdi],r14 + mov QWORD[24+rdi],r15 + + DB 0F3h,0C3h ;repret + + +ALIGN 32 +__ecp_nistz256_mul_montx: + + + mulx r9,r8,r9 + mulx r10,rcx,r10 + mov r14,32 + xor r13,r13 + mulx r11,rbp,r11 + mov r15,QWORD[(($L$poly+24))] + adc r9,rcx + mulx r12,rcx,r12 + mov rdx,r8 + adc r10,rbp + shlx rbp,r8,r14 + adc r11,rcx + shrx rcx,r8,r14 + adc r12,0 + + + + add r9,rbp + adc r10,rcx + + mulx rbp,rcx,r15 + mov rdx,QWORD[8+rbx] + adc r11,rcx + adc r12,rbp + adc r13,0 + xor r8,r8 + + + + mulx rbp,rcx,QWORD[((0+128))+rsi] + adcx r9,rcx + adox r10,rbp + + mulx rbp,rcx,QWORD[((8+128))+rsi] + adcx r10,rcx + adox r11,rbp + + mulx rbp,rcx,QWORD[((16+128))+rsi] + adcx r11,rcx + adox r12,rbp + + mulx rbp,rcx,QWORD[((24+128))+rsi] + mov rdx,r9 + adcx r12,rcx + shlx rcx,r9,r14 + adox r13,rbp + shrx rbp,r9,r14 + + adcx r13,r8 + adox r8,r8 + adc r8,0 + + + + add r10,rcx + adc r11,rbp + + mulx rbp,rcx,r15 + mov rdx,QWORD[16+rbx] + adc r12,rcx + adc r13,rbp + adc r8,0 + xor r9,r9 + + + + mulx rbp,rcx,QWORD[((0+128))+rsi] + adcx r10,rcx + adox r11,rbp + + mulx rbp,rcx,QWORD[((8+128))+rsi] + adcx r11,rcx + adox r12,rbp + + mulx rbp,rcx,QWORD[((16+128))+rsi] + adcx r12,rcx + adox r13,rbp + + mulx rbp,rcx,QWORD[((24+128))+rsi] + mov rdx,r10 + adcx r13,rcx + shlx rcx,r10,r14 + adox r8,rbp + shrx rbp,r10,r14 + + adcx r8,r9 + adox r9,r9 + adc r9,0 + + + + add r11,rcx + adc r12,rbp + + mulx rbp,rcx,r15 + mov rdx,QWORD[24+rbx] + adc r13,rcx + adc r8,rbp + adc r9,0 + xor r10,r10 + + + + mulx rbp,rcx,QWORD[((0+128))+rsi] + adcx r11,rcx + adox r12,rbp + + mulx rbp,rcx,QWORD[((8+128))+rsi] + adcx r12,rcx + adox r13,rbp + + mulx rbp,rcx,QWORD[((16+128))+rsi] + adcx r13,rcx + adox r8,rbp + + mulx rbp,rcx,QWORD[((24+128))+rsi] + mov rdx,r11 + adcx r8,rcx + shlx rcx,r11,r14 + adox r9,rbp + shrx rbp,r11,r14 + + adcx r9,r10 + adox r10,r10 + adc r10,0 + + + + add r12,rcx + adc r13,rbp + + mulx rbp,rcx,r15 + mov rbx,r12 + mov r14,QWORD[(($L$poly+8))] + adc r8,rcx + mov rdx,r13 + adc r9,rbp + adc r10,0 + + + + xor eax,eax + mov rcx,r8 + sbb r12,-1 + sbb r13,r14 + sbb r8,0 + mov rbp,r9 + sbb r9,r15 + sbb r10,0 + + cmovc r12,rbx + cmovc r13,rdx + mov QWORD[rdi],r12 + cmovc r8,rcx + mov QWORD[8+rdi],r13 + cmovc r9,rbp + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +__ecp_nistz256_sqr_montx: + mulx r10,r9,r14 + mulx r11,rcx,r15 + xor eax,eax + adc r10,rcx + mulx r12,rbp,r8 + mov rdx,r14 + adc r11,rbp + adc r12,0 + xor r13,r13 + + + mulx rbp,rcx,r15 + adcx r11,rcx + adox r12,rbp + + mulx rbp,rcx,r8 + mov rdx,r15 + adcx r12,rcx + adox r13,rbp + adc r13,0 + + + mulx r14,rcx,r8 + mov rdx,QWORD[((0+128))+rsi] + xor r15,r15 + adcx r9,r9 + adox r13,rcx + adcx r10,r10 + adox r14,r15 + + mulx rbp,r8,rdx + mov rdx,QWORD[((8+128))+rsi] + adcx r11,r11 + adox r9,rbp + adcx r12,r12 + mulx rax,rcx,rdx + mov rdx,QWORD[((16+128))+rsi] + adcx r13,r13 + adox r10,rcx + adcx r14,r14 +DB 0x67 + mulx rbp,rcx,rdx + mov rdx,QWORD[((24+128))+rsi] + adox r11,rax + adcx r15,r15 + adox r12,rcx + mov rsi,32 + adox r13,rbp +DB 0x67,0x67 + mulx rax,rcx,rdx + mov rdx,QWORD[(($L$poly+24))] + adox r14,rcx + shlx rcx,r8,rsi + adox r15,rax + shrx rax,r8,rsi + mov rbp,rdx + + + add r9,rcx + adc r10,rax + + mulx r8,rcx,r8 + adc r11,rcx + shlx rcx,r9,rsi + adc r8,0 + shrx rax,r9,rsi + + + add r10,rcx + adc r11,rax + + mulx r9,rcx,r9 + adc r8,rcx + shlx rcx,r10,rsi + adc r9,0 + shrx rax,r10,rsi + + + add r11,rcx + adc r8,rax + + mulx r10,rcx,r10 + adc r9,rcx + shlx rcx,r11,rsi + adc r10,0 + shrx rax,r11,rsi + + + add r8,rcx + adc r9,rax + + mulx r11,rcx,r11 + adc r10,rcx + adc r11,0 + + xor rdx,rdx + add r12,r8 + mov rsi,QWORD[(($L$poly+8))] + adc r13,r9 + mov r8,r12 + adc r14,r10 + adc r15,r11 + mov r9,r13 + adc rdx,0 + + sub r12,-1 + mov r10,r14 + sbb r13,rsi + sbb r14,0 + mov r11,r15 + sbb r15,rbp + sbb rdx,0 + + cmovc r12,r8 + cmovc r13,r9 + mov QWORD[rdi],r12 + cmovc r14,r10 + mov QWORD[8+rdi],r13 + cmovc r15,r11 + mov QWORD[16+rdi],r14 + mov QWORD[24+rdi],r15 + + DB 0F3h,0C3h ;repret + + + + + + + +global ecp_nistz256_from_mont + +ALIGN 32 +ecp_nistz256_from_mont: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_from_mont: + mov rdi,rcx + mov rsi,rdx + + + push r12 + push r13 + + mov rax,QWORD[rsi] + mov r13,QWORD[(($L$poly+24))] + mov r9,QWORD[8+rsi] + mov r10,QWORD[16+rsi] + mov r11,QWORD[24+rsi] + mov r8,rax + mov r12,QWORD[(($L$poly+8))] + + + + mov rcx,rax + shl r8,32 + mul r13 + shr rcx,32 + add r9,r8 + adc r10,rcx + adc r11,rax + mov rax,r9 + adc rdx,0 + + + + mov rcx,r9 + shl r9,32 + mov r8,rdx + mul r13 + shr rcx,32 + add r10,r9 + adc r11,rcx + adc r8,rax + mov rax,r10 + adc rdx,0 + + + + mov rcx,r10 + shl r10,32 + mov r9,rdx + mul r13 + shr rcx,32 + add r11,r10 + adc r8,rcx + adc r9,rax + mov rax,r11 + adc rdx,0 + + + + mov rcx,r11 + shl r11,32 + mov r10,rdx + mul r13 + shr rcx,32 + add r8,r11 + adc r9,rcx + mov rcx,r8 + adc r10,rax + mov rsi,r9 + adc rdx,0 + + + + sub r8,-1 + mov rax,r10 + sbb r9,r12 + sbb r10,0 + mov r11,rdx + sbb rdx,r13 + sbb r13,r13 + + cmovnz r8,rcx + cmovnz r9,rsi + mov QWORD[rdi],r8 + cmovnz r10,rax + mov QWORD[8+rdi],r9 + cmovz r11,rdx + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + + pop r13 + pop r12 + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_from_mont: + + +global ecp_nistz256_select_w5 + +ALIGN 32 +ecp_nistz256_select_w5: + mov eax,DWORD[((OPENSSL_ia32cap_P+8))] + test eax,32 + jnz NEAR $L$avx2_select_w5 + lea rax,[((-136))+rsp] +$L$SEH_begin_ecp_nistz256_select_w5: +DB 0x48,0x8d,0x60,0xe0 +DB 0x0f,0x29,0x70,0xe0 +DB 0x0f,0x29,0x78,0xf0 +DB 0x44,0x0f,0x29,0x00 +DB 0x44,0x0f,0x29,0x48,0x10 +DB 0x44,0x0f,0x29,0x50,0x20 +DB 0x44,0x0f,0x29,0x58,0x30 +DB 0x44,0x0f,0x29,0x60,0x40 +DB 0x44,0x0f,0x29,0x68,0x50 +DB 0x44,0x0f,0x29,0x70,0x60 +DB 0x44,0x0f,0x29,0x78,0x70 + movdqa xmm0,XMMWORD[$L$One] + movd xmm1,r8d + + pxor xmm2,xmm2 + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + pxor xmm6,xmm6 + pxor xmm7,xmm7 + + movdqa xmm8,xmm0 + pshufd xmm1,xmm1,0 + + mov rax,16 +$L$select_loop_sse_w5: + + movdqa xmm15,xmm8 + paddd xmm8,xmm0 + pcmpeqd xmm15,xmm1 + + movdqa xmm9,XMMWORD[rdx] + movdqa xmm10,XMMWORD[16+rdx] + movdqa xmm11,XMMWORD[32+rdx] + movdqa xmm12,XMMWORD[48+rdx] + movdqa xmm13,XMMWORD[64+rdx] + movdqa xmm14,XMMWORD[80+rdx] + lea rdx,[96+rdx] + + pand xmm9,xmm15 + pand xmm10,xmm15 + por xmm2,xmm9 + pand xmm11,xmm15 + por xmm3,xmm10 + pand xmm12,xmm15 + por xmm4,xmm11 + pand xmm13,xmm15 + por xmm5,xmm12 + pand xmm14,xmm15 + por xmm6,xmm13 + por xmm7,xmm14 + + dec rax + jnz NEAR $L$select_loop_sse_w5 + + movdqu XMMWORD[rcx],xmm2 + movdqu XMMWORD[16+rcx],xmm3 + movdqu XMMWORD[32+rcx],xmm4 + movdqu XMMWORD[48+rcx],xmm5 + movdqu XMMWORD[64+rcx],xmm6 + movdqu XMMWORD[80+rcx],xmm7 + movaps xmm6,XMMWORD[rsp] + movaps xmm7,XMMWORD[16+rsp] + movaps xmm8,XMMWORD[32+rsp] + movaps xmm9,XMMWORD[48+rsp] + movaps xmm10,XMMWORD[64+rsp] + movaps xmm11,XMMWORD[80+rsp] + movaps xmm12,XMMWORD[96+rsp] + movaps xmm13,XMMWORD[112+rsp] + movaps xmm14,XMMWORD[128+rsp] + movaps xmm15,XMMWORD[144+rsp] + lea rsp,[168+rsp] +$L$SEH_end_ecp_nistz256_select_w5: + DB 0F3h,0C3h ;repret + + + + +global ecp_nistz256_select_w7 + +ALIGN 32 +ecp_nistz256_select_w7: + mov eax,DWORD[((OPENSSL_ia32cap_P+8))] + test eax,32 + jnz NEAR $L$avx2_select_w7 + lea rax,[((-136))+rsp] +$L$SEH_begin_ecp_nistz256_select_w7: +DB 0x48,0x8d,0x60,0xe0 +DB 0x0f,0x29,0x70,0xe0 +DB 0x0f,0x29,0x78,0xf0 +DB 0x44,0x0f,0x29,0x00 +DB 0x44,0x0f,0x29,0x48,0x10 +DB 0x44,0x0f,0x29,0x50,0x20 +DB 0x44,0x0f,0x29,0x58,0x30 +DB 0x44,0x0f,0x29,0x60,0x40 +DB 0x44,0x0f,0x29,0x68,0x50 +DB 0x44,0x0f,0x29,0x70,0x60 +DB 0x44,0x0f,0x29,0x78,0x70 + movdqa xmm8,XMMWORD[$L$One] + movd xmm1,r8d + + pxor xmm2,xmm2 + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + + movdqa xmm0,xmm8 + pshufd xmm1,xmm1,0 + mov rax,64 + +$L$select_loop_sse_w7: + movdqa xmm15,xmm8 + paddd xmm8,xmm0 + movdqa xmm9,XMMWORD[rdx] + movdqa xmm10,XMMWORD[16+rdx] + pcmpeqd xmm15,xmm1 + movdqa xmm11,XMMWORD[32+rdx] + movdqa xmm12,XMMWORD[48+rdx] + lea rdx,[64+rdx] + + pand xmm9,xmm15 + pand xmm10,xmm15 + por xmm2,xmm9 + pand xmm11,xmm15 + por xmm3,xmm10 + pand xmm12,xmm15 + por xmm4,xmm11 + prefetcht0 [255+rdx] + por xmm5,xmm12 + + dec rax + jnz NEAR $L$select_loop_sse_w7 + + movdqu XMMWORD[rcx],xmm2 + movdqu XMMWORD[16+rcx],xmm3 + movdqu XMMWORD[32+rcx],xmm4 + movdqu XMMWORD[48+rcx],xmm5 + movaps xmm6,XMMWORD[rsp] + movaps xmm7,XMMWORD[16+rsp] + movaps xmm8,XMMWORD[32+rsp] + movaps xmm9,XMMWORD[48+rsp] + movaps xmm10,XMMWORD[64+rsp] + movaps xmm11,XMMWORD[80+rsp] + movaps xmm12,XMMWORD[96+rsp] + movaps xmm13,XMMWORD[112+rsp] + movaps xmm14,XMMWORD[128+rsp] + movaps xmm15,XMMWORD[144+rsp] + lea rsp,[168+rsp] +$L$SEH_end_ecp_nistz256_select_w7: + DB 0F3h,0C3h ;repret + + + + +ALIGN 32 +ecp_nistz256_avx2_select_w5: +$L$avx2_select_w5: + vzeroupper + lea rax,[((-136))+rsp] +$L$SEH_begin_ecp_nistz256_avx2_select_w5: +DB 0x48,0x8d,0x60,0xe0 +DB 0xc5,0xf8,0x29,0x70,0xe0 +DB 0xc5,0xf8,0x29,0x78,0xf0 +DB 0xc5,0x78,0x29,0x40,0x00 +DB 0xc5,0x78,0x29,0x48,0x10 +DB 0xc5,0x78,0x29,0x50,0x20 +DB 0xc5,0x78,0x29,0x58,0x30 +DB 0xc5,0x78,0x29,0x60,0x40 +DB 0xc5,0x78,0x29,0x68,0x50 +DB 0xc5,0x78,0x29,0x70,0x60 +DB 0xc5,0x78,0x29,0x78,0x70 + vmovdqa ymm0,YMMWORD[$L$Two] + + vpxor ymm2,ymm2,ymm2 + vpxor ymm3,ymm3,ymm3 + vpxor ymm4,ymm4,ymm4 + + vmovdqa ymm5,YMMWORD[$L$One] + vmovdqa ymm10,YMMWORD[$L$Two] + + vmovd xmm1,r8d + vpermd ymm1,ymm2,ymm1 + + mov rax,8 +$L$select_loop_avx2_w5: + + vmovdqa ymm6,YMMWORD[rdx] + vmovdqa ymm7,YMMWORD[32+rdx] + vmovdqa ymm8,YMMWORD[64+rdx] + + vmovdqa ymm11,YMMWORD[96+rdx] + vmovdqa ymm12,YMMWORD[128+rdx] + vmovdqa ymm13,YMMWORD[160+rdx] + + vpcmpeqd ymm9,ymm5,ymm1 + vpcmpeqd ymm14,ymm10,ymm1 + + vpaddd ymm5,ymm5,ymm0 + vpaddd ymm10,ymm10,ymm0 + lea rdx,[192+rdx] + + vpand ymm6,ymm6,ymm9 + vpand ymm7,ymm7,ymm9 + vpand ymm8,ymm8,ymm9 + vpand ymm11,ymm11,ymm14 + vpand ymm12,ymm12,ymm14 + vpand ymm13,ymm13,ymm14 + + vpxor ymm2,ymm2,ymm6 + vpxor ymm3,ymm3,ymm7 + vpxor ymm4,ymm4,ymm8 + vpxor ymm2,ymm2,ymm11 + vpxor ymm3,ymm3,ymm12 + vpxor ymm4,ymm4,ymm13 + + dec rax + jnz NEAR $L$select_loop_avx2_w5 + + vmovdqu YMMWORD[rcx],ymm2 + vmovdqu YMMWORD[32+rcx],ymm3 + vmovdqu YMMWORD[64+rcx],ymm4 + vzeroupper + movaps xmm6,XMMWORD[rsp] + movaps xmm7,XMMWORD[16+rsp] + movaps xmm8,XMMWORD[32+rsp] + movaps xmm9,XMMWORD[48+rsp] + movaps xmm10,XMMWORD[64+rsp] + movaps xmm11,XMMWORD[80+rsp] + movaps xmm12,XMMWORD[96+rsp] + movaps xmm13,XMMWORD[112+rsp] + movaps xmm14,XMMWORD[128+rsp] + movaps xmm15,XMMWORD[144+rsp] + lea rsp,[168+rsp] +$L$SEH_end_ecp_nistz256_avx2_select_w5: + DB 0F3h,0C3h ;repret + + + + +global ecp_nistz256_avx2_select_w7 + +ALIGN 32 +ecp_nistz256_avx2_select_w7: +$L$avx2_select_w7: + vzeroupper + lea rax,[((-136))+rsp] +$L$SEH_begin_ecp_nistz256_avx2_select_w7: +DB 0x48,0x8d,0x60,0xe0 +DB 0xc5,0xf8,0x29,0x70,0xe0 +DB 0xc5,0xf8,0x29,0x78,0xf0 +DB 0xc5,0x78,0x29,0x40,0x00 +DB 0xc5,0x78,0x29,0x48,0x10 +DB 0xc5,0x78,0x29,0x50,0x20 +DB 0xc5,0x78,0x29,0x58,0x30 +DB 0xc5,0x78,0x29,0x60,0x40 +DB 0xc5,0x78,0x29,0x68,0x50 +DB 0xc5,0x78,0x29,0x70,0x60 +DB 0xc5,0x78,0x29,0x78,0x70 + vmovdqa ymm0,YMMWORD[$L$Three] + + vpxor ymm2,ymm2,ymm2 + vpxor ymm3,ymm3,ymm3 + + vmovdqa ymm4,YMMWORD[$L$One] + vmovdqa ymm8,YMMWORD[$L$Two] + vmovdqa ymm12,YMMWORD[$L$Three] + + vmovd xmm1,r8d + vpermd ymm1,ymm2,ymm1 + + + mov rax,21 +$L$select_loop_avx2_w7: + + vmovdqa ymm5,YMMWORD[rdx] + vmovdqa ymm6,YMMWORD[32+rdx] + + vmovdqa ymm9,YMMWORD[64+rdx] + vmovdqa ymm10,YMMWORD[96+rdx] + + vmovdqa ymm13,YMMWORD[128+rdx] + vmovdqa ymm14,YMMWORD[160+rdx] + + vpcmpeqd ymm7,ymm4,ymm1 + vpcmpeqd ymm11,ymm8,ymm1 + vpcmpeqd ymm15,ymm12,ymm1 + + vpaddd ymm4,ymm4,ymm0 + vpaddd ymm8,ymm8,ymm0 + vpaddd ymm12,ymm12,ymm0 + lea rdx,[192+rdx] + + vpand ymm5,ymm5,ymm7 + vpand ymm6,ymm6,ymm7 + vpand ymm9,ymm9,ymm11 + vpand ymm10,ymm10,ymm11 + vpand ymm13,ymm13,ymm15 + vpand ymm14,ymm14,ymm15 + + vpxor ymm2,ymm2,ymm5 + vpxor ymm3,ymm3,ymm6 + vpxor ymm2,ymm2,ymm9 + vpxor ymm3,ymm3,ymm10 + vpxor ymm2,ymm2,ymm13 + vpxor ymm3,ymm3,ymm14 + + dec rax + jnz NEAR $L$select_loop_avx2_w7 + + + vmovdqa ymm5,YMMWORD[rdx] + vmovdqa ymm6,YMMWORD[32+rdx] + + vpcmpeqd ymm7,ymm4,ymm1 + + vpand ymm5,ymm5,ymm7 + vpand ymm6,ymm6,ymm7 + + vpxor ymm2,ymm2,ymm5 + vpxor ymm3,ymm3,ymm6 + + vmovdqu YMMWORD[rcx],ymm2 + vmovdqu YMMWORD[32+rcx],ymm3 + vzeroupper + movaps xmm6,XMMWORD[rsp] + movaps xmm7,XMMWORD[16+rsp] + movaps xmm8,XMMWORD[32+rsp] + movaps xmm9,XMMWORD[48+rsp] + movaps xmm10,XMMWORD[64+rsp] + movaps xmm11,XMMWORD[80+rsp] + movaps xmm12,XMMWORD[96+rsp] + movaps xmm13,XMMWORD[112+rsp] + movaps xmm14,XMMWORD[128+rsp] + movaps xmm15,XMMWORD[144+rsp] + lea rsp,[168+rsp] +$L$SEH_end_ecp_nistz256_avx2_select_w7: + DB 0F3h,0C3h ;repret + + +ALIGN 32 +__ecp_nistz256_add_toq: + xor r11,r11 + add r12,QWORD[rbx] + adc r13,QWORD[8+rbx] + mov rax,r12 + adc r8,QWORD[16+rbx] + adc r9,QWORD[24+rbx] + mov rbp,r13 + adc r11,0 + + sub r12,-1 + mov rcx,r8 + sbb r13,r14 + sbb r8,0 + mov r10,r9 + sbb r9,r15 + sbb r11,0 + + cmovc r12,rax + cmovc r13,rbp + mov QWORD[rdi],r12 + cmovc r8,rcx + mov QWORD[8+rdi],r13 + cmovc r9,r10 + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +__ecp_nistz256_sub_fromq: + sub r12,QWORD[rbx] + sbb r13,QWORD[8+rbx] + mov rax,r12 + sbb r8,QWORD[16+rbx] + sbb r9,QWORD[24+rbx] + mov rbp,r13 + sbb r11,r11 + + add r12,-1 + mov rcx,r8 + adc r13,r14 + adc r8,0 + mov r10,r9 + adc r9,r15 + test r11,r11 + + cmovz r12,rax + cmovz r13,rbp + mov QWORD[rdi],r12 + cmovz r8,rcx + mov QWORD[8+rdi],r13 + cmovz r9,r10 + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +__ecp_nistz256_subq: + sub rax,r12 + sbb rbp,r13 + mov r12,rax + sbb rcx,r8 + sbb r10,r9 + mov r13,rbp + sbb r11,r11 + + add rax,-1 + mov r8,rcx + adc rbp,r14 + adc rcx,0 + mov r9,r10 + adc r10,r15 + test r11,r11 + + cmovnz r12,rax + cmovnz r13,rbp + cmovnz r8,rcx + cmovnz r9,r10 + + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +__ecp_nistz256_mul_by_2q: + xor r11,r11 + add r12,r12 + adc r13,r13 + mov rax,r12 + adc r8,r8 + adc r9,r9 + mov rbp,r13 + adc r11,0 + + sub r12,-1 + mov rcx,r8 + sbb r13,r14 + sbb r8,0 + mov r10,r9 + sbb r9,r15 + sbb r11,0 + + cmovc r12,rax + cmovc r13,rbp + mov QWORD[rdi],r12 + cmovc r8,rcx + mov QWORD[8+rdi],r13 + cmovc r9,r10 + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + + DB 0F3h,0C3h ;repret + +global ecp_nistz256_point_double + +ALIGN 32 +ecp_nistz256_point_double: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_point_double: + mov rdi,rcx + mov rsi,rdx + + + mov ecx,0x80100 + and ecx,DWORD[((OPENSSL_ia32cap_P+8))] + cmp ecx,0x80100 + je NEAR $L$point_doublex + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + sub rsp,32*5+8 + +$L$point_double_shortcutq: + movdqu xmm0,XMMWORD[rsi] + mov rbx,rsi + movdqu xmm1,XMMWORD[16+rsi] + mov r12,QWORD[((32+0))+rsi] + mov r13,QWORD[((32+8))+rsi] + mov r8,QWORD[((32+16))+rsi] + mov r9,QWORD[((32+24))+rsi] + mov r14,QWORD[(($L$poly+8))] + mov r15,QWORD[(($L$poly+24))] + movdqa XMMWORD[96+rsp],xmm0 + movdqa XMMWORD[(96+16)+rsp],xmm1 + lea r10,[32+rdi] + lea r11,[64+rdi] +DB 102,72,15,110,199 +DB 102,73,15,110,202 +DB 102,73,15,110,211 + + lea rdi,[rsp] + call __ecp_nistz256_mul_by_2q + + mov rax,QWORD[((64+0))+rsi] + mov r14,QWORD[((64+8))+rsi] + mov r15,QWORD[((64+16))+rsi] + mov r8,QWORD[((64+24))+rsi] + lea rsi,[((64-0))+rsi] + lea rdi,[64+rsp] + call __ecp_nistz256_sqr_montq + + mov rax,QWORD[((0+0))+rsp] + mov r14,QWORD[((8+0))+rsp] + lea rsi,[((0+0))+rsp] + mov r15,QWORD[((16+0))+rsp] + mov r8,QWORD[((24+0))+rsp] + lea rdi,[rsp] + call __ecp_nistz256_sqr_montq + + mov rax,QWORD[32+rbx] + mov r9,QWORD[((64+0))+rbx] + mov r10,QWORD[((64+8))+rbx] + mov r11,QWORD[((64+16))+rbx] + mov r12,QWORD[((64+24))+rbx] + lea rsi,[((64-0))+rbx] + lea rbx,[32+rbx] +DB 102,72,15,126,215 + call __ecp_nistz256_mul_montq + call __ecp_nistz256_mul_by_2q + + mov r12,QWORD[((96+0))+rsp] + mov r13,QWORD[((96+8))+rsp] + lea rbx,[64+rsp] + mov r8,QWORD[((96+16))+rsp] + mov r9,QWORD[((96+24))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_add_toq + + mov r12,QWORD[((96+0))+rsp] + mov r13,QWORD[((96+8))+rsp] + lea rbx,[64+rsp] + mov r8,QWORD[((96+16))+rsp] + mov r9,QWORD[((96+24))+rsp] + lea rdi,[64+rsp] + call __ecp_nistz256_sub_fromq + + mov rax,QWORD[((0+0))+rsp] + mov r14,QWORD[((8+0))+rsp] + lea rsi,[((0+0))+rsp] + mov r15,QWORD[((16+0))+rsp] + mov r8,QWORD[((24+0))+rsp] +DB 102,72,15,126,207 + call __ecp_nistz256_sqr_montq + xor r9,r9 + mov rax,r12 + add r12,-1 + mov r10,r13 + adc r13,rsi + mov rcx,r14 + adc r14,0 + mov r8,r15 + adc r15,rbp + adc r9,0 + xor rsi,rsi + test rax,1 + + cmovz r12,rax + cmovz r13,r10 + cmovz r14,rcx + cmovz r15,r8 + cmovz r9,rsi + + mov rax,r13 + shr r12,1 + shl rax,63 + mov r10,r14 + shr r13,1 + or r12,rax + shl r10,63 + mov rcx,r15 + shr r14,1 + or r13,r10 + shl rcx,63 + mov QWORD[rdi],r12 + shr r15,1 + mov QWORD[8+rdi],r13 + shl r9,63 + or r14,rcx + or r15,r9 + mov QWORD[16+rdi],r14 + mov QWORD[24+rdi],r15 + mov rax,QWORD[64+rsp] + lea rbx,[64+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((0+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_mul_montq + + lea rdi,[128+rsp] + call __ecp_nistz256_mul_by_2q + + lea rbx,[32+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_add_toq + + mov rax,QWORD[96+rsp] + lea rbx,[96+rsp] + mov r9,QWORD[((0+0))+rsp] + mov r10,QWORD[((8+0))+rsp] + lea rsi,[((0+0))+rsp] + mov r11,QWORD[((16+0))+rsp] + mov r12,QWORD[((24+0))+rsp] + lea rdi,[rsp] + call __ecp_nistz256_mul_montq + + lea rdi,[128+rsp] + call __ecp_nistz256_mul_by_2q + + mov rax,QWORD[((0+32))+rsp] + mov r14,QWORD[((8+32))+rsp] + lea rsi,[((0+32))+rsp] + mov r15,QWORD[((16+32))+rsp] + mov r8,QWORD[((24+32))+rsp] +DB 102,72,15,126,199 + call __ecp_nistz256_sqr_montq + + lea rbx,[128+rsp] + mov r8,r14 + mov r9,r15 + mov r14,rsi + mov r15,rbp + call __ecp_nistz256_sub_fromq + + mov rax,QWORD[((0+0))+rsp] + mov rbp,QWORD[((0+8))+rsp] + mov rcx,QWORD[((0+16))+rsp] + mov r10,QWORD[((0+24))+rsp] + lea rdi,[rsp] + call __ecp_nistz256_subq + + mov rax,QWORD[32+rsp] + lea rbx,[32+rsp] + mov r14,r12 + xor ecx,ecx + mov QWORD[((0+0))+rsp],r12 + mov r10,r13 + mov QWORD[((0+8))+rsp],r13 + cmovz r11,r8 + mov QWORD[((0+16))+rsp],r8 + lea rsi,[((0-0))+rsp] + cmovz r12,r9 + mov QWORD[((0+24))+rsp],r9 + mov r9,r14 + lea rdi,[rsp] + call __ecp_nistz256_mul_montq + +DB 102,72,15,126,203 +DB 102,72,15,126,207 + call __ecp_nistz256_sub_fromq + + add rsp,32*5+8 + pop r15 + pop r14 + pop r13 + pop r12 + pop rbx + pop rbp + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_point_double: +global ecp_nistz256_point_add + +ALIGN 32 +ecp_nistz256_point_add: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_point_add: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + mov ecx,0x80100 + and ecx,DWORD[((OPENSSL_ia32cap_P+8))] + cmp ecx,0x80100 + je NEAR $L$point_addx + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + sub rsp,32*18+8 + + movdqu xmm0,XMMWORD[rsi] + movdqu xmm1,XMMWORD[16+rsi] + movdqu xmm2,XMMWORD[32+rsi] + movdqu xmm3,XMMWORD[48+rsi] + movdqu xmm4,XMMWORD[64+rsi] + movdqu xmm5,XMMWORD[80+rsi] + mov rbx,rsi + mov rsi,rdx + movdqa XMMWORD[384+rsp],xmm0 + movdqa XMMWORD[(384+16)+rsp],xmm1 + movdqa XMMWORD[416+rsp],xmm2 + movdqa XMMWORD[(416+16)+rsp],xmm3 + movdqa XMMWORD[448+rsp],xmm4 + movdqa XMMWORD[(448+16)+rsp],xmm5 + por xmm5,xmm4 + + movdqu xmm0,XMMWORD[rsi] + pshufd xmm3,xmm5,0xb1 + movdqu xmm1,XMMWORD[16+rsi] + movdqu xmm2,XMMWORD[32+rsi] + por xmm5,xmm3 + movdqu xmm3,XMMWORD[48+rsi] + mov rax,QWORD[((64+0))+rsi] + mov r14,QWORD[((64+8))+rsi] + mov r15,QWORD[((64+16))+rsi] + mov r8,QWORD[((64+24))+rsi] + movdqa XMMWORD[480+rsp],xmm0 + pshufd xmm4,xmm5,0x1e + movdqa XMMWORD[(480+16)+rsp],xmm1 + movdqu xmm0,XMMWORD[64+rsi] + movdqu xmm1,XMMWORD[80+rsi] + movdqa XMMWORD[512+rsp],xmm2 + movdqa XMMWORD[(512+16)+rsp],xmm3 + por xmm5,xmm4 + pxor xmm4,xmm4 + por xmm1,xmm0 +DB 102,72,15,110,199 + + lea rsi,[((64-0))+rsi] + mov QWORD[((544+0))+rsp],rax + mov QWORD[((544+8))+rsp],r14 + mov QWORD[((544+16))+rsp],r15 + mov QWORD[((544+24))+rsp],r8 + lea rdi,[96+rsp] + call __ecp_nistz256_sqr_montq + + pcmpeqd xmm5,xmm4 + pshufd xmm4,xmm1,0xb1 + por xmm4,xmm1 + pshufd xmm5,xmm5,0 + pshufd xmm3,xmm4,0x1e + por xmm4,xmm3 + pxor xmm3,xmm3 + pcmpeqd xmm4,xmm3 + pshufd xmm4,xmm4,0 + mov rax,QWORD[((64+0))+rbx] + mov r14,QWORD[((64+8))+rbx] + mov r15,QWORD[((64+16))+rbx] + mov r8,QWORD[((64+24))+rbx] +DB 102,72,15,110,203 + + lea rsi,[((64-0))+rbx] + lea rdi,[32+rsp] + call __ecp_nistz256_sqr_montq + + mov rax,QWORD[544+rsp] + lea rbx,[544+rsp] + mov r9,QWORD[((0+96))+rsp] + mov r10,QWORD[((8+96))+rsp] + lea rsi,[((0+96))+rsp] + mov r11,QWORD[((16+96))+rsp] + mov r12,QWORD[((24+96))+rsp] + lea rdi,[224+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[448+rsp] + lea rbx,[448+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((0+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[256+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[416+rsp] + lea rbx,[416+rsp] + mov r9,QWORD[((0+224))+rsp] + mov r10,QWORD[((8+224))+rsp] + lea rsi,[((0+224))+rsp] + mov r11,QWORD[((16+224))+rsp] + mov r12,QWORD[((24+224))+rsp] + lea rdi,[224+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[512+rsp] + lea rbx,[512+rsp] + mov r9,QWORD[((0+256))+rsp] + mov r10,QWORD[((8+256))+rsp] + lea rsi,[((0+256))+rsp] + mov r11,QWORD[((16+256))+rsp] + mov r12,QWORD[((24+256))+rsp] + lea rdi,[256+rsp] + call __ecp_nistz256_mul_montq + + lea rbx,[224+rsp] + lea rdi,[64+rsp] + call __ecp_nistz256_sub_fromq + + or r12,r13 + movdqa xmm2,xmm4 + or r12,r8 + or r12,r9 + por xmm2,xmm5 +DB 102,73,15,110,220 + + mov rax,QWORD[384+rsp] + lea rbx,[384+rsp] + mov r9,QWORD[((0+96))+rsp] + mov r10,QWORD[((8+96))+rsp] + lea rsi,[((0+96))+rsp] + mov r11,QWORD[((16+96))+rsp] + mov r12,QWORD[((24+96))+rsp] + lea rdi,[160+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[480+rsp] + lea rbx,[480+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((0+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[192+rsp] + call __ecp_nistz256_mul_montq + + lea rbx,[160+rsp] + lea rdi,[rsp] + call __ecp_nistz256_sub_fromq + + or r12,r13 + or r12,r8 + or r12,r9 + +DB 0x3e + jnz NEAR $L$add_proceedq +DB 102,73,15,126,208 +DB 102,73,15,126,217 + test r8,r8 + jnz NEAR $L$add_proceedq + test r9,r9 + jz NEAR $L$add_doubleq + +DB 102,72,15,126,199 + pxor xmm0,xmm0 + movdqu XMMWORD[rdi],xmm0 + movdqu XMMWORD[16+rdi],xmm0 + movdqu XMMWORD[32+rdi],xmm0 + movdqu XMMWORD[48+rdi],xmm0 + movdqu XMMWORD[64+rdi],xmm0 + movdqu XMMWORD[80+rdi],xmm0 + jmp NEAR $L$add_doneq + +ALIGN 32 +$L$add_doubleq: +DB 102,72,15,126,206 +DB 102,72,15,126,199 + add rsp,416 + jmp NEAR $L$point_double_shortcutq + +ALIGN 32 +$L$add_proceedq: + mov rax,QWORD[((0+64))+rsp] + mov r14,QWORD[((8+64))+rsp] + lea rsi,[((0+64))+rsp] + mov r15,QWORD[((16+64))+rsp] + mov r8,QWORD[((24+64))+rsp] + lea rdi,[96+rsp] + call __ecp_nistz256_sqr_montq + + mov rax,QWORD[448+rsp] + lea rbx,[448+rsp] + mov r9,QWORD[((0+0))+rsp] + mov r10,QWORD[((8+0))+rsp] + lea rsi,[((0+0))+rsp] + mov r11,QWORD[((16+0))+rsp] + mov r12,QWORD[((24+0))+rsp] + lea rdi,[352+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[((0+0))+rsp] + mov r14,QWORD[((8+0))+rsp] + lea rsi,[((0+0))+rsp] + mov r15,QWORD[((16+0))+rsp] + mov r8,QWORD[((24+0))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_sqr_montq + + mov rax,QWORD[544+rsp] + lea rbx,[544+rsp] + mov r9,QWORD[((0+352))+rsp] + mov r10,QWORD[((8+352))+rsp] + lea rsi,[((0+352))+rsp] + mov r11,QWORD[((16+352))+rsp] + mov r12,QWORD[((24+352))+rsp] + lea rdi,[352+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[rsp] + lea rbx,[rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((0+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[128+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[160+rsp] + lea rbx,[160+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((0+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[192+rsp] + call __ecp_nistz256_mul_montq + + + + + xor r11,r11 + add r12,r12 + lea rsi,[96+rsp] + adc r13,r13 + mov rax,r12 + adc r8,r8 + adc r9,r9 + mov rbp,r13 + adc r11,0 + + sub r12,-1 + mov rcx,r8 + sbb r13,r14 + sbb r8,0 + mov r10,r9 + sbb r9,r15 + sbb r11,0 + + cmovc r12,rax + mov rax,QWORD[rsi] + cmovc r13,rbp + mov rbp,QWORD[8+rsi] + cmovc r8,rcx + mov rcx,QWORD[16+rsi] + cmovc r9,r10 + mov r10,QWORD[24+rsi] + + call __ecp_nistz256_subq + + lea rbx,[128+rsp] + lea rdi,[288+rsp] + call __ecp_nistz256_sub_fromq + + mov rax,QWORD[((192+0))+rsp] + mov rbp,QWORD[((192+8))+rsp] + mov rcx,QWORD[((192+16))+rsp] + mov r10,QWORD[((192+24))+rsp] + lea rdi,[320+rsp] + + call __ecp_nistz256_subq + + mov QWORD[rdi],r12 + mov QWORD[8+rdi],r13 + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + mov rax,QWORD[128+rsp] + lea rbx,[128+rsp] + mov r9,QWORD[((0+224))+rsp] + mov r10,QWORD[((8+224))+rsp] + lea rsi,[((0+224))+rsp] + mov r11,QWORD[((16+224))+rsp] + mov r12,QWORD[((24+224))+rsp] + lea rdi,[256+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[320+rsp] + lea rbx,[320+rsp] + mov r9,QWORD[((0+64))+rsp] + mov r10,QWORD[((8+64))+rsp] + lea rsi,[((0+64))+rsp] + mov r11,QWORD[((16+64))+rsp] + mov r12,QWORD[((24+64))+rsp] + lea rdi,[320+rsp] + call __ecp_nistz256_mul_montq + + lea rbx,[256+rsp] + lea rdi,[320+rsp] + call __ecp_nistz256_sub_fromq + +DB 102,72,15,126,199 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[352+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((352+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[544+rsp] + pand xmm3,XMMWORD[((544+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[448+rsp] + pand xmm3,XMMWORD[((448+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[64+rdi],xmm2 + movdqu XMMWORD[80+rdi],xmm3 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[288+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((288+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[480+rsp] + pand xmm3,XMMWORD[((480+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[384+rsp] + pand xmm3,XMMWORD[((384+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[rdi],xmm2 + movdqu XMMWORD[16+rdi],xmm3 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[320+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((320+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[512+rsp] + pand xmm3,XMMWORD[((512+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[416+rsp] + pand xmm3,XMMWORD[((416+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[32+rdi],xmm2 + movdqu XMMWORD[48+rdi],xmm3 + +$L$add_doneq: + add rsp,32*18+8 + pop r15 + pop r14 + pop r13 + pop r12 + pop rbx + pop rbp + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_point_add: +global ecp_nistz256_point_add_affine + +ALIGN 32 +ecp_nistz256_point_add_affine: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_point_add_affine: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + mov ecx,0x80100 + and ecx,DWORD[((OPENSSL_ia32cap_P+8))] + cmp ecx,0x80100 + je NEAR $L$point_add_affinex + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + sub rsp,32*15+8 + + movdqu xmm0,XMMWORD[rsi] + mov rbx,rdx + movdqu xmm1,XMMWORD[16+rsi] + movdqu xmm2,XMMWORD[32+rsi] + movdqu xmm3,XMMWORD[48+rsi] + movdqu xmm4,XMMWORD[64+rsi] + movdqu xmm5,XMMWORD[80+rsi] + mov rax,QWORD[((64+0))+rsi] + mov r14,QWORD[((64+8))+rsi] + mov r15,QWORD[((64+16))+rsi] + mov r8,QWORD[((64+24))+rsi] + movdqa XMMWORD[320+rsp],xmm0 + movdqa XMMWORD[(320+16)+rsp],xmm1 + movdqa XMMWORD[352+rsp],xmm2 + movdqa XMMWORD[(352+16)+rsp],xmm3 + movdqa XMMWORD[384+rsp],xmm4 + movdqa XMMWORD[(384+16)+rsp],xmm5 + por xmm5,xmm4 + + movdqu xmm0,XMMWORD[rbx] + pshufd xmm3,xmm5,0xb1 + movdqu xmm1,XMMWORD[16+rbx] + movdqu xmm2,XMMWORD[32+rbx] + por xmm5,xmm3 + movdqu xmm3,XMMWORD[48+rbx] + movdqa XMMWORD[416+rsp],xmm0 + pshufd xmm4,xmm5,0x1e + movdqa XMMWORD[(416+16)+rsp],xmm1 + por xmm1,xmm0 +DB 102,72,15,110,199 + movdqa XMMWORD[448+rsp],xmm2 + movdqa XMMWORD[(448+16)+rsp],xmm3 + por xmm3,xmm2 + por xmm5,xmm4 + pxor xmm4,xmm4 + por xmm3,xmm1 + + lea rsi,[((64-0))+rsi] + lea rdi,[32+rsp] + call __ecp_nistz256_sqr_montq + + pcmpeqd xmm5,xmm4 + pshufd xmm4,xmm3,0xb1 + mov rax,QWORD[rbx] + + mov r9,r12 + por xmm4,xmm3 + pshufd xmm5,xmm5,0 + pshufd xmm3,xmm4,0x1e + mov r10,r13 + por xmm4,xmm3 + pxor xmm3,xmm3 + mov r11,r14 + pcmpeqd xmm4,xmm3 + pshufd xmm4,xmm4,0 + + lea rsi,[((32-0))+rsp] + mov r12,r15 + lea rdi,[rsp] + call __ecp_nistz256_mul_montq + + lea rbx,[320+rsp] + lea rdi,[64+rsp] + call __ecp_nistz256_sub_fromq + + mov rax,QWORD[384+rsp] + lea rbx,[384+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((0+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[384+rsp] + lea rbx,[384+rsp] + mov r9,QWORD[((0+64))+rsp] + mov r10,QWORD[((8+64))+rsp] + lea rsi,[((0+64))+rsp] + mov r11,QWORD[((16+64))+rsp] + mov r12,QWORD[((24+64))+rsp] + lea rdi,[288+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[448+rsp] + lea rbx,[448+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((0+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_mul_montq + + lea rbx,[352+rsp] + lea rdi,[96+rsp] + call __ecp_nistz256_sub_fromq + + mov rax,QWORD[((0+64))+rsp] + mov r14,QWORD[((8+64))+rsp] + lea rsi,[((0+64))+rsp] + mov r15,QWORD[((16+64))+rsp] + mov r8,QWORD[((24+64))+rsp] + lea rdi,[128+rsp] + call __ecp_nistz256_sqr_montq + + mov rax,QWORD[((0+96))+rsp] + mov r14,QWORD[((8+96))+rsp] + lea rsi,[((0+96))+rsp] + mov r15,QWORD[((16+96))+rsp] + mov r8,QWORD[((24+96))+rsp] + lea rdi,[192+rsp] + call __ecp_nistz256_sqr_montq + + mov rax,QWORD[128+rsp] + lea rbx,[128+rsp] + mov r9,QWORD[((0+64))+rsp] + mov r10,QWORD[((8+64))+rsp] + lea rsi,[((0+64))+rsp] + mov r11,QWORD[((16+64))+rsp] + mov r12,QWORD[((24+64))+rsp] + lea rdi,[160+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[320+rsp] + lea rbx,[320+rsp] + mov r9,QWORD[((0+128))+rsp] + mov r10,QWORD[((8+128))+rsp] + lea rsi,[((0+128))+rsp] + mov r11,QWORD[((16+128))+rsp] + mov r12,QWORD[((24+128))+rsp] + lea rdi,[rsp] + call __ecp_nistz256_mul_montq + + + + + xor r11,r11 + add r12,r12 + lea rsi,[192+rsp] + adc r13,r13 + mov rax,r12 + adc r8,r8 + adc r9,r9 + mov rbp,r13 + adc r11,0 + + sub r12,-1 + mov rcx,r8 + sbb r13,r14 + sbb r8,0 + mov r10,r9 + sbb r9,r15 + sbb r11,0 + + cmovc r12,rax + mov rax,QWORD[rsi] + cmovc r13,rbp + mov rbp,QWORD[8+rsi] + cmovc r8,rcx + mov rcx,QWORD[16+rsi] + cmovc r9,r10 + mov r10,QWORD[24+rsi] + + call __ecp_nistz256_subq + + lea rbx,[160+rsp] + lea rdi,[224+rsp] + call __ecp_nistz256_sub_fromq + + mov rax,QWORD[((0+0))+rsp] + mov rbp,QWORD[((0+8))+rsp] + mov rcx,QWORD[((0+16))+rsp] + mov r10,QWORD[((0+24))+rsp] + lea rdi,[64+rsp] + + call __ecp_nistz256_subq + + mov QWORD[rdi],r12 + mov QWORD[8+rdi],r13 + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + mov rax,QWORD[352+rsp] + lea rbx,[352+rsp] + mov r9,QWORD[((0+160))+rsp] + mov r10,QWORD[((8+160))+rsp] + lea rsi,[((0+160))+rsp] + mov r11,QWORD[((16+160))+rsp] + mov r12,QWORD[((24+160))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_mul_montq + + mov rax,QWORD[96+rsp] + lea rbx,[96+rsp] + mov r9,QWORD[((0+64))+rsp] + mov r10,QWORD[((8+64))+rsp] + lea rsi,[((0+64))+rsp] + mov r11,QWORD[((16+64))+rsp] + mov r12,QWORD[((24+64))+rsp] + lea rdi,[64+rsp] + call __ecp_nistz256_mul_montq + + lea rbx,[32+rsp] + lea rdi,[256+rsp] + call __ecp_nistz256_sub_fromq + +DB 102,72,15,126,199 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[288+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((288+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[$L$ONE_mont] + pand xmm3,XMMWORD[(($L$ONE_mont+16))] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[384+rsp] + pand xmm3,XMMWORD[((384+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[64+rdi],xmm2 + movdqu XMMWORD[80+rdi],xmm3 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[224+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((224+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[416+rsp] + pand xmm3,XMMWORD[((416+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[320+rsp] + pand xmm3,XMMWORD[((320+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[rdi],xmm2 + movdqu XMMWORD[16+rdi],xmm3 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[256+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((256+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[448+rsp] + pand xmm3,XMMWORD[((448+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[352+rsp] + pand xmm3,XMMWORD[((352+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[32+rdi],xmm2 + movdqu XMMWORD[48+rdi],xmm3 + + add rsp,32*15+8 + pop r15 + pop r14 + pop r13 + pop r12 + pop rbx + pop rbp + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_point_add_affine: + +ALIGN 32 +__ecp_nistz256_add_tox: + xor r11,r11 + adc r12,QWORD[rbx] + adc r13,QWORD[8+rbx] + mov rax,r12 + adc r8,QWORD[16+rbx] + adc r9,QWORD[24+rbx] + mov rbp,r13 + adc r11,0 + + xor r10,r10 + sbb r12,-1 + mov rcx,r8 + sbb r13,r14 + sbb r8,0 + mov r10,r9 + sbb r9,r15 + sbb r11,0 + + cmovc r12,rax + cmovc r13,rbp + mov QWORD[rdi],r12 + cmovc r8,rcx + mov QWORD[8+rdi],r13 + cmovc r9,r10 + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +__ecp_nistz256_sub_fromx: + xor r11,r11 + sbb r12,QWORD[rbx] + sbb r13,QWORD[8+rbx] + mov rax,r12 + sbb r8,QWORD[16+rbx] + sbb r9,QWORD[24+rbx] + mov rbp,r13 + sbb r11,0 + + xor r10,r10 + adc r12,-1 + mov rcx,r8 + adc r13,r14 + adc r8,0 + mov r10,r9 + adc r9,r15 + + bt r11,0 + cmovnc r12,rax + cmovnc r13,rbp + mov QWORD[rdi],r12 + cmovnc r8,rcx + mov QWORD[8+rdi],r13 + cmovnc r9,r10 + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +__ecp_nistz256_subx: + xor r11,r11 + sbb rax,r12 + sbb rbp,r13 + mov r12,rax + sbb rcx,r8 + sbb r10,r9 + mov r13,rbp + sbb r11,0 + + xor r9,r9 + adc rax,-1 + mov r8,rcx + adc rbp,r14 + adc rcx,0 + mov r9,r10 + adc r10,r15 + + bt r11,0 + cmovc r12,rax + cmovc r13,rbp + cmovc r8,rcx + cmovc r9,r10 + + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +__ecp_nistz256_mul_by_2x: + xor r11,r11 + adc r12,r12 + adc r13,r13 + mov rax,r12 + adc r8,r8 + adc r9,r9 + mov rbp,r13 + adc r11,0 + + xor r10,r10 + sbb r12,-1 + mov rcx,r8 + sbb r13,r14 + sbb r8,0 + mov r10,r9 + sbb r9,r15 + sbb r11,0 + + cmovc r12,rax + cmovc r13,rbp + mov QWORD[rdi],r12 + cmovc r8,rcx + mov QWORD[8+rdi],r13 + cmovc r9,r10 + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + + DB 0F3h,0C3h ;repret + + +ALIGN 32 +ecp_nistz256_point_doublex: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_point_doublex: + mov rdi,rcx + mov rsi,rdx + + +$L$point_doublex: + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + sub rsp,32*5+8 + +$L$point_double_shortcutx: + movdqu xmm0,XMMWORD[rsi] + mov rbx,rsi + movdqu xmm1,XMMWORD[16+rsi] + mov r12,QWORD[((32+0))+rsi] + mov r13,QWORD[((32+8))+rsi] + mov r8,QWORD[((32+16))+rsi] + mov r9,QWORD[((32+24))+rsi] + mov r14,QWORD[(($L$poly+8))] + mov r15,QWORD[(($L$poly+24))] + movdqa XMMWORD[96+rsp],xmm0 + movdqa XMMWORD[(96+16)+rsp],xmm1 + lea r10,[32+rdi] + lea r11,[64+rdi] +DB 102,72,15,110,199 +DB 102,73,15,110,202 +DB 102,73,15,110,211 + + lea rdi,[rsp] + call __ecp_nistz256_mul_by_2x + + mov rdx,QWORD[((64+0))+rsi] + mov r14,QWORD[((64+8))+rsi] + mov r15,QWORD[((64+16))+rsi] + mov r8,QWORD[((64+24))+rsi] + lea rsi,[((64-128))+rsi] + lea rdi,[64+rsp] + call __ecp_nistz256_sqr_montx + + mov rdx,QWORD[((0+0))+rsp] + mov r14,QWORD[((8+0))+rsp] + lea rsi,[((-128+0))+rsp] + mov r15,QWORD[((16+0))+rsp] + mov r8,QWORD[((24+0))+rsp] + lea rdi,[rsp] + call __ecp_nistz256_sqr_montx + + mov rdx,QWORD[32+rbx] + mov r9,QWORD[((64+0))+rbx] + mov r10,QWORD[((64+8))+rbx] + mov r11,QWORD[((64+16))+rbx] + mov r12,QWORD[((64+24))+rbx] + lea rsi,[((64-128))+rbx] + lea rbx,[32+rbx] +DB 102,72,15,126,215 + call __ecp_nistz256_mul_montx + call __ecp_nistz256_mul_by_2x + + mov r12,QWORD[((96+0))+rsp] + mov r13,QWORD[((96+8))+rsp] + lea rbx,[64+rsp] + mov r8,QWORD[((96+16))+rsp] + mov r9,QWORD[((96+24))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_add_tox + + mov r12,QWORD[((96+0))+rsp] + mov r13,QWORD[((96+8))+rsp] + lea rbx,[64+rsp] + mov r8,QWORD[((96+16))+rsp] + mov r9,QWORD[((96+24))+rsp] + lea rdi,[64+rsp] + call __ecp_nistz256_sub_fromx + + mov rdx,QWORD[((0+0))+rsp] + mov r14,QWORD[((8+0))+rsp] + lea rsi,[((-128+0))+rsp] + mov r15,QWORD[((16+0))+rsp] + mov r8,QWORD[((24+0))+rsp] +DB 102,72,15,126,207 + call __ecp_nistz256_sqr_montx + xor r9,r9 + mov rax,r12 + add r12,-1 + mov r10,r13 + adc r13,rsi + mov rcx,r14 + adc r14,0 + mov r8,r15 + adc r15,rbp + adc r9,0 + xor rsi,rsi + test rax,1 + + cmovz r12,rax + cmovz r13,r10 + cmovz r14,rcx + cmovz r15,r8 + cmovz r9,rsi + + mov rax,r13 + shr r12,1 + shl rax,63 + mov r10,r14 + shr r13,1 + or r12,rax + shl r10,63 + mov rcx,r15 + shr r14,1 + or r13,r10 + shl rcx,63 + mov QWORD[rdi],r12 + shr r15,1 + mov QWORD[8+rdi],r13 + shl r9,63 + or r14,rcx + or r15,r9 + mov QWORD[16+rdi],r14 + mov QWORD[24+rdi],r15 + mov rdx,QWORD[64+rsp] + lea rbx,[64+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((-128+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_mul_montx + + lea rdi,[128+rsp] + call __ecp_nistz256_mul_by_2x + + lea rbx,[32+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_add_tox + + mov rdx,QWORD[96+rsp] + lea rbx,[96+rsp] + mov r9,QWORD[((0+0))+rsp] + mov r10,QWORD[((8+0))+rsp] + lea rsi,[((-128+0))+rsp] + mov r11,QWORD[((16+0))+rsp] + mov r12,QWORD[((24+0))+rsp] + lea rdi,[rsp] + call __ecp_nistz256_mul_montx + + lea rdi,[128+rsp] + call __ecp_nistz256_mul_by_2x + + mov rdx,QWORD[((0+32))+rsp] + mov r14,QWORD[((8+32))+rsp] + lea rsi,[((-128+32))+rsp] + mov r15,QWORD[((16+32))+rsp] + mov r8,QWORD[((24+32))+rsp] +DB 102,72,15,126,199 + call __ecp_nistz256_sqr_montx + + lea rbx,[128+rsp] + mov r8,r14 + mov r9,r15 + mov r14,rsi + mov r15,rbp + call __ecp_nistz256_sub_fromx + + mov rax,QWORD[((0+0))+rsp] + mov rbp,QWORD[((0+8))+rsp] + mov rcx,QWORD[((0+16))+rsp] + mov r10,QWORD[((0+24))+rsp] + lea rdi,[rsp] + call __ecp_nistz256_subx + + mov rdx,QWORD[32+rsp] + lea rbx,[32+rsp] + mov r14,r12 + xor ecx,ecx + mov QWORD[((0+0))+rsp],r12 + mov r10,r13 + mov QWORD[((0+8))+rsp],r13 + cmovz r11,r8 + mov QWORD[((0+16))+rsp],r8 + lea rsi,[((0-128))+rsp] + cmovz r12,r9 + mov QWORD[((0+24))+rsp],r9 + mov r9,r14 + lea rdi,[rsp] + call __ecp_nistz256_mul_montx + +DB 102,72,15,126,203 +DB 102,72,15,126,207 + call __ecp_nistz256_sub_fromx + + add rsp,32*5+8 + pop r15 + pop r14 + pop r13 + pop r12 + pop rbx + pop rbp + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_point_doublex: + +ALIGN 32 +ecp_nistz256_point_addx: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_point_addx: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +$L$point_addx: + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + sub rsp,32*18+8 + + movdqu xmm0,XMMWORD[rsi] + movdqu xmm1,XMMWORD[16+rsi] + movdqu xmm2,XMMWORD[32+rsi] + movdqu xmm3,XMMWORD[48+rsi] + movdqu xmm4,XMMWORD[64+rsi] + movdqu xmm5,XMMWORD[80+rsi] + mov rbx,rsi + mov rsi,rdx + movdqa XMMWORD[384+rsp],xmm0 + movdqa XMMWORD[(384+16)+rsp],xmm1 + movdqa XMMWORD[416+rsp],xmm2 + movdqa XMMWORD[(416+16)+rsp],xmm3 + movdqa XMMWORD[448+rsp],xmm4 + movdqa XMMWORD[(448+16)+rsp],xmm5 + por xmm5,xmm4 + + movdqu xmm0,XMMWORD[rsi] + pshufd xmm3,xmm5,0xb1 + movdqu xmm1,XMMWORD[16+rsi] + movdqu xmm2,XMMWORD[32+rsi] + por xmm5,xmm3 + movdqu xmm3,XMMWORD[48+rsi] + mov rdx,QWORD[((64+0))+rsi] + mov r14,QWORD[((64+8))+rsi] + mov r15,QWORD[((64+16))+rsi] + mov r8,QWORD[((64+24))+rsi] + movdqa XMMWORD[480+rsp],xmm0 + pshufd xmm4,xmm5,0x1e + movdqa XMMWORD[(480+16)+rsp],xmm1 + movdqu xmm0,XMMWORD[64+rsi] + movdqu xmm1,XMMWORD[80+rsi] + movdqa XMMWORD[512+rsp],xmm2 + movdqa XMMWORD[(512+16)+rsp],xmm3 + por xmm5,xmm4 + pxor xmm4,xmm4 + por xmm1,xmm0 +DB 102,72,15,110,199 + + lea rsi,[((64-128))+rsi] + mov QWORD[((544+0))+rsp],rdx + mov QWORD[((544+8))+rsp],r14 + mov QWORD[((544+16))+rsp],r15 + mov QWORD[((544+24))+rsp],r8 + lea rdi,[96+rsp] + call __ecp_nistz256_sqr_montx + + pcmpeqd xmm5,xmm4 + pshufd xmm4,xmm1,0xb1 + por xmm4,xmm1 + pshufd xmm5,xmm5,0 + pshufd xmm3,xmm4,0x1e + por xmm4,xmm3 + pxor xmm3,xmm3 + pcmpeqd xmm4,xmm3 + pshufd xmm4,xmm4,0 + mov rdx,QWORD[((64+0))+rbx] + mov r14,QWORD[((64+8))+rbx] + mov r15,QWORD[((64+16))+rbx] + mov r8,QWORD[((64+24))+rbx] +DB 102,72,15,110,203 + + lea rsi,[((64-128))+rbx] + lea rdi,[32+rsp] + call __ecp_nistz256_sqr_montx + + mov rdx,QWORD[544+rsp] + lea rbx,[544+rsp] + mov r9,QWORD[((0+96))+rsp] + mov r10,QWORD[((8+96))+rsp] + lea rsi,[((-128+96))+rsp] + mov r11,QWORD[((16+96))+rsp] + mov r12,QWORD[((24+96))+rsp] + lea rdi,[224+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[448+rsp] + lea rbx,[448+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((-128+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[256+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[416+rsp] + lea rbx,[416+rsp] + mov r9,QWORD[((0+224))+rsp] + mov r10,QWORD[((8+224))+rsp] + lea rsi,[((-128+224))+rsp] + mov r11,QWORD[((16+224))+rsp] + mov r12,QWORD[((24+224))+rsp] + lea rdi,[224+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[512+rsp] + lea rbx,[512+rsp] + mov r9,QWORD[((0+256))+rsp] + mov r10,QWORD[((8+256))+rsp] + lea rsi,[((-128+256))+rsp] + mov r11,QWORD[((16+256))+rsp] + mov r12,QWORD[((24+256))+rsp] + lea rdi,[256+rsp] + call __ecp_nistz256_mul_montx + + lea rbx,[224+rsp] + lea rdi,[64+rsp] + call __ecp_nistz256_sub_fromx + + or r12,r13 + movdqa xmm2,xmm4 + or r12,r8 + or r12,r9 + por xmm2,xmm5 +DB 102,73,15,110,220 + + mov rdx,QWORD[384+rsp] + lea rbx,[384+rsp] + mov r9,QWORD[((0+96))+rsp] + mov r10,QWORD[((8+96))+rsp] + lea rsi,[((-128+96))+rsp] + mov r11,QWORD[((16+96))+rsp] + mov r12,QWORD[((24+96))+rsp] + lea rdi,[160+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[480+rsp] + lea rbx,[480+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((-128+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[192+rsp] + call __ecp_nistz256_mul_montx + + lea rbx,[160+rsp] + lea rdi,[rsp] + call __ecp_nistz256_sub_fromx + + or r12,r13 + or r12,r8 + or r12,r9 + +DB 0x3e + jnz NEAR $L$add_proceedx +DB 102,73,15,126,208 +DB 102,73,15,126,217 + test r8,r8 + jnz NEAR $L$add_proceedx + test r9,r9 + jz NEAR $L$add_doublex + +DB 102,72,15,126,199 + pxor xmm0,xmm0 + movdqu XMMWORD[rdi],xmm0 + movdqu XMMWORD[16+rdi],xmm0 + movdqu XMMWORD[32+rdi],xmm0 + movdqu XMMWORD[48+rdi],xmm0 + movdqu XMMWORD[64+rdi],xmm0 + movdqu XMMWORD[80+rdi],xmm0 + jmp NEAR $L$add_donex + +ALIGN 32 +$L$add_doublex: +DB 102,72,15,126,206 +DB 102,72,15,126,199 + add rsp,416 + jmp NEAR $L$point_double_shortcutx + +ALIGN 32 +$L$add_proceedx: + mov rdx,QWORD[((0+64))+rsp] + mov r14,QWORD[((8+64))+rsp] + lea rsi,[((-128+64))+rsp] + mov r15,QWORD[((16+64))+rsp] + mov r8,QWORD[((24+64))+rsp] + lea rdi,[96+rsp] + call __ecp_nistz256_sqr_montx + + mov rdx,QWORD[448+rsp] + lea rbx,[448+rsp] + mov r9,QWORD[((0+0))+rsp] + mov r10,QWORD[((8+0))+rsp] + lea rsi,[((-128+0))+rsp] + mov r11,QWORD[((16+0))+rsp] + mov r12,QWORD[((24+0))+rsp] + lea rdi,[352+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[((0+0))+rsp] + mov r14,QWORD[((8+0))+rsp] + lea rsi,[((-128+0))+rsp] + mov r15,QWORD[((16+0))+rsp] + mov r8,QWORD[((24+0))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_sqr_montx + + mov rdx,QWORD[544+rsp] + lea rbx,[544+rsp] + mov r9,QWORD[((0+352))+rsp] + mov r10,QWORD[((8+352))+rsp] + lea rsi,[((-128+352))+rsp] + mov r11,QWORD[((16+352))+rsp] + mov r12,QWORD[((24+352))+rsp] + lea rdi,[352+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[rsp] + lea rbx,[rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((-128+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[128+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[160+rsp] + lea rbx,[160+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((-128+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[192+rsp] + call __ecp_nistz256_mul_montx + + + + + xor r11,r11 + add r12,r12 + lea rsi,[96+rsp] + adc r13,r13 + mov rax,r12 + adc r8,r8 + adc r9,r9 + mov rbp,r13 + adc r11,0 + + sub r12,-1 + mov rcx,r8 + sbb r13,r14 + sbb r8,0 + mov r10,r9 + sbb r9,r15 + sbb r11,0 + + cmovc r12,rax + mov rax,QWORD[rsi] + cmovc r13,rbp + mov rbp,QWORD[8+rsi] + cmovc r8,rcx + mov rcx,QWORD[16+rsi] + cmovc r9,r10 + mov r10,QWORD[24+rsi] + + call __ecp_nistz256_subx + + lea rbx,[128+rsp] + lea rdi,[288+rsp] + call __ecp_nistz256_sub_fromx + + mov rax,QWORD[((192+0))+rsp] + mov rbp,QWORD[((192+8))+rsp] + mov rcx,QWORD[((192+16))+rsp] + mov r10,QWORD[((192+24))+rsp] + lea rdi,[320+rsp] + + call __ecp_nistz256_subx + + mov QWORD[rdi],r12 + mov QWORD[8+rdi],r13 + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + mov rdx,QWORD[128+rsp] + lea rbx,[128+rsp] + mov r9,QWORD[((0+224))+rsp] + mov r10,QWORD[((8+224))+rsp] + lea rsi,[((-128+224))+rsp] + mov r11,QWORD[((16+224))+rsp] + mov r12,QWORD[((24+224))+rsp] + lea rdi,[256+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[320+rsp] + lea rbx,[320+rsp] + mov r9,QWORD[((0+64))+rsp] + mov r10,QWORD[((8+64))+rsp] + lea rsi,[((-128+64))+rsp] + mov r11,QWORD[((16+64))+rsp] + mov r12,QWORD[((24+64))+rsp] + lea rdi,[320+rsp] + call __ecp_nistz256_mul_montx + + lea rbx,[256+rsp] + lea rdi,[320+rsp] + call __ecp_nistz256_sub_fromx + +DB 102,72,15,126,199 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[352+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((352+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[544+rsp] + pand xmm3,XMMWORD[((544+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[448+rsp] + pand xmm3,XMMWORD[((448+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[64+rdi],xmm2 + movdqu XMMWORD[80+rdi],xmm3 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[288+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((288+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[480+rsp] + pand xmm3,XMMWORD[((480+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[384+rsp] + pand xmm3,XMMWORD[((384+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[rdi],xmm2 + movdqu XMMWORD[16+rdi],xmm3 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[320+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((320+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[512+rsp] + pand xmm3,XMMWORD[((512+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[416+rsp] + pand xmm3,XMMWORD[((416+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[32+rdi],xmm2 + movdqu XMMWORD[48+rdi],xmm3 + +$L$add_donex: + add rsp,32*18+8 + pop r15 + pop r14 + pop r13 + pop r12 + pop rbx + pop rbp + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_point_addx: + +ALIGN 32 +ecp_nistz256_point_add_affinex: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_ecp_nistz256_point_add_affinex: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +$L$point_add_affinex: + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + sub rsp,32*15+8 + + movdqu xmm0,XMMWORD[rsi] + mov rbx,rdx + movdqu xmm1,XMMWORD[16+rsi] + movdqu xmm2,XMMWORD[32+rsi] + movdqu xmm3,XMMWORD[48+rsi] + movdqu xmm4,XMMWORD[64+rsi] + movdqu xmm5,XMMWORD[80+rsi] + mov rdx,QWORD[((64+0))+rsi] + mov r14,QWORD[((64+8))+rsi] + mov r15,QWORD[((64+16))+rsi] + mov r8,QWORD[((64+24))+rsi] + movdqa XMMWORD[320+rsp],xmm0 + movdqa XMMWORD[(320+16)+rsp],xmm1 + movdqa XMMWORD[352+rsp],xmm2 + movdqa XMMWORD[(352+16)+rsp],xmm3 + movdqa XMMWORD[384+rsp],xmm4 + movdqa XMMWORD[(384+16)+rsp],xmm5 + por xmm5,xmm4 + + movdqu xmm0,XMMWORD[rbx] + pshufd xmm3,xmm5,0xb1 + movdqu xmm1,XMMWORD[16+rbx] + movdqu xmm2,XMMWORD[32+rbx] + por xmm5,xmm3 + movdqu xmm3,XMMWORD[48+rbx] + movdqa XMMWORD[416+rsp],xmm0 + pshufd xmm4,xmm5,0x1e + movdqa XMMWORD[(416+16)+rsp],xmm1 + por xmm1,xmm0 +DB 102,72,15,110,199 + movdqa XMMWORD[448+rsp],xmm2 + movdqa XMMWORD[(448+16)+rsp],xmm3 + por xmm3,xmm2 + por xmm5,xmm4 + pxor xmm4,xmm4 + por xmm3,xmm1 + + lea rsi,[((64-128))+rsi] + lea rdi,[32+rsp] + call __ecp_nistz256_sqr_montx + + pcmpeqd xmm5,xmm4 + pshufd xmm4,xmm3,0xb1 + mov rdx,QWORD[rbx] + + mov r9,r12 + por xmm4,xmm3 + pshufd xmm5,xmm5,0 + pshufd xmm3,xmm4,0x1e + mov r10,r13 + por xmm4,xmm3 + pxor xmm3,xmm3 + mov r11,r14 + pcmpeqd xmm4,xmm3 + pshufd xmm4,xmm4,0 + + lea rsi,[((32-128))+rsp] + mov r12,r15 + lea rdi,[rsp] + call __ecp_nistz256_mul_montx + + lea rbx,[320+rsp] + lea rdi,[64+rsp] + call __ecp_nistz256_sub_fromx + + mov rdx,QWORD[384+rsp] + lea rbx,[384+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((-128+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[384+rsp] + lea rbx,[384+rsp] + mov r9,QWORD[((0+64))+rsp] + mov r10,QWORD[((8+64))+rsp] + lea rsi,[((-128+64))+rsp] + mov r11,QWORD[((16+64))+rsp] + mov r12,QWORD[((24+64))+rsp] + lea rdi,[288+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[448+rsp] + lea rbx,[448+rsp] + mov r9,QWORD[((0+32))+rsp] + mov r10,QWORD[((8+32))+rsp] + lea rsi,[((-128+32))+rsp] + mov r11,QWORD[((16+32))+rsp] + mov r12,QWORD[((24+32))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_mul_montx + + lea rbx,[352+rsp] + lea rdi,[96+rsp] + call __ecp_nistz256_sub_fromx + + mov rdx,QWORD[((0+64))+rsp] + mov r14,QWORD[((8+64))+rsp] + lea rsi,[((-128+64))+rsp] + mov r15,QWORD[((16+64))+rsp] + mov r8,QWORD[((24+64))+rsp] + lea rdi,[128+rsp] + call __ecp_nistz256_sqr_montx + + mov rdx,QWORD[((0+96))+rsp] + mov r14,QWORD[((8+96))+rsp] + lea rsi,[((-128+96))+rsp] + mov r15,QWORD[((16+96))+rsp] + mov r8,QWORD[((24+96))+rsp] + lea rdi,[192+rsp] + call __ecp_nistz256_sqr_montx + + mov rdx,QWORD[128+rsp] + lea rbx,[128+rsp] + mov r9,QWORD[((0+64))+rsp] + mov r10,QWORD[((8+64))+rsp] + lea rsi,[((-128+64))+rsp] + mov r11,QWORD[((16+64))+rsp] + mov r12,QWORD[((24+64))+rsp] + lea rdi,[160+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[320+rsp] + lea rbx,[320+rsp] + mov r9,QWORD[((0+128))+rsp] + mov r10,QWORD[((8+128))+rsp] + lea rsi,[((-128+128))+rsp] + mov r11,QWORD[((16+128))+rsp] + mov r12,QWORD[((24+128))+rsp] + lea rdi,[rsp] + call __ecp_nistz256_mul_montx + + + + + xor r11,r11 + add r12,r12 + lea rsi,[192+rsp] + adc r13,r13 + mov rax,r12 + adc r8,r8 + adc r9,r9 + mov rbp,r13 + adc r11,0 + + sub r12,-1 + mov rcx,r8 + sbb r13,r14 + sbb r8,0 + mov r10,r9 + sbb r9,r15 + sbb r11,0 + + cmovc r12,rax + mov rax,QWORD[rsi] + cmovc r13,rbp + mov rbp,QWORD[8+rsi] + cmovc r8,rcx + mov rcx,QWORD[16+rsi] + cmovc r9,r10 + mov r10,QWORD[24+rsi] + + call __ecp_nistz256_subx + + lea rbx,[160+rsp] + lea rdi,[224+rsp] + call __ecp_nistz256_sub_fromx + + mov rax,QWORD[((0+0))+rsp] + mov rbp,QWORD[((0+8))+rsp] + mov rcx,QWORD[((0+16))+rsp] + mov r10,QWORD[((0+24))+rsp] + lea rdi,[64+rsp] + + call __ecp_nistz256_subx + + mov QWORD[rdi],r12 + mov QWORD[8+rdi],r13 + mov QWORD[16+rdi],r8 + mov QWORD[24+rdi],r9 + mov rdx,QWORD[352+rsp] + lea rbx,[352+rsp] + mov r9,QWORD[((0+160))+rsp] + mov r10,QWORD[((8+160))+rsp] + lea rsi,[((-128+160))+rsp] + mov r11,QWORD[((16+160))+rsp] + mov r12,QWORD[((24+160))+rsp] + lea rdi,[32+rsp] + call __ecp_nistz256_mul_montx + + mov rdx,QWORD[96+rsp] + lea rbx,[96+rsp] + mov r9,QWORD[((0+64))+rsp] + mov r10,QWORD[((8+64))+rsp] + lea rsi,[((-128+64))+rsp] + mov r11,QWORD[((16+64))+rsp] + mov r12,QWORD[((24+64))+rsp] + lea rdi,[64+rsp] + call __ecp_nistz256_mul_montx + + lea rbx,[32+rsp] + lea rdi,[256+rsp] + call __ecp_nistz256_sub_fromx + +DB 102,72,15,126,199 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[288+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((288+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[$L$ONE_mont] + pand xmm3,XMMWORD[(($L$ONE_mont+16))] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[384+rsp] + pand xmm3,XMMWORD[((384+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[64+rdi],xmm2 + movdqu XMMWORD[80+rdi],xmm3 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[224+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((224+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[416+rsp] + pand xmm3,XMMWORD[((416+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[320+rsp] + pand xmm3,XMMWORD[((320+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[rdi],xmm2 + movdqu XMMWORD[16+rdi],xmm3 + + movdqa xmm0,xmm5 + movdqa xmm1,xmm5 + pandn xmm0,XMMWORD[256+rsp] + movdqa xmm2,xmm5 + pandn xmm1,XMMWORD[((256+16))+rsp] + movdqa xmm3,xmm5 + pand xmm2,XMMWORD[448+rsp] + pand xmm3,XMMWORD[((448+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + + movdqa xmm0,xmm4 + movdqa xmm1,xmm4 + pandn xmm0,xmm2 + movdqa xmm2,xmm4 + pandn xmm1,xmm3 + movdqa xmm3,xmm4 + pand xmm2,XMMWORD[352+rsp] + pand xmm3,XMMWORD[((352+16))+rsp] + por xmm2,xmm0 + por xmm3,xmm1 + movdqu XMMWORD[32+rdi],xmm2 + movdqu XMMWORD[48+rdi],xmm3 + + add rsp,32*15+8 + pop r15 + pop r14 + pop r13 + pop r12 + pop rbx + pop rbp + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_ecp_nistz256_point_add_affinex: diff --git a/tmp64/ghash-x86_64.asm b/tmp64/ghash-x86_64.asm index e5204bf8..448876a0 100644 --- a/tmp64/ghash-x86_64.asm +++ b/tmp64/ghash-x86_64.asm @@ -1,2018 +1,2018 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - -EXTERN OPENSSL_ia32cap_P - -global gcm_gmult_4bit - -ALIGN 16 -gcm_gmult_4bit: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_gcm_gmult_4bit: - mov rdi,rcx - mov rsi,rdx - - - push rbx - push rbp - push r12 -$L$gmult_prologue: - - movzx r8,BYTE[15+rdi] - lea r11,[$L$rem_4bit] - xor rax,rax - xor rbx,rbx - mov al,r8b - mov bl,r8b - shl al,4 - mov rcx,14 - mov r8,QWORD[8+rax*1+rsi] - mov r9,QWORD[rax*1+rsi] - and bl,0xf0 - mov rdx,r8 - jmp NEAR $L$oop1 - -ALIGN 16 -$L$oop1: - shr r8,4 - and rdx,0xf - mov r10,r9 - mov al,BYTE[rcx*1+rdi] - shr r9,4 - xor r8,QWORD[8+rbx*1+rsi] - shl r10,60 - xor r9,QWORD[rbx*1+rsi] - mov bl,al - xor r9,QWORD[rdx*8+r11] - mov rdx,r8 - shl al,4 - xor r8,r10 - dec rcx - js NEAR $L$break1 - - shr r8,4 - and rdx,0xf - mov r10,r9 - shr r9,4 - xor r8,QWORD[8+rax*1+rsi] - shl r10,60 - xor r9,QWORD[rax*1+rsi] - and bl,0xf0 - xor r9,QWORD[rdx*8+r11] - mov rdx,r8 - xor r8,r10 - jmp NEAR $L$oop1 - -ALIGN 16 -$L$break1: - shr r8,4 - and rdx,0xf - mov r10,r9 - shr r9,4 - xor r8,QWORD[8+rax*1+rsi] - shl r10,60 - xor r9,QWORD[rax*1+rsi] - and bl,0xf0 - xor r9,QWORD[rdx*8+r11] - mov rdx,r8 - xor r8,r10 - - shr r8,4 - and rdx,0xf - mov r10,r9 - shr r9,4 - xor r8,QWORD[8+rbx*1+rsi] - shl r10,60 - xor r9,QWORD[rbx*1+rsi] - xor r8,r10 - xor r9,QWORD[rdx*8+r11] - - bswap r8 - bswap r9 - mov QWORD[8+rdi],r8 - mov QWORD[rdi],r9 - - mov rbx,QWORD[16+rsp] - lea rsp,[24+rsp] -$L$gmult_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_gcm_gmult_4bit: -global gcm_ghash_4bit - -ALIGN 16 -gcm_ghash_4bit: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_gcm_ghash_4bit: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - sub rsp,280 -$L$ghash_prologue: - mov r14,rdx - mov r15,rcx - sub rsi,-128 - lea rbp,[((16+128))+rsp] - xor edx,edx - mov r8,QWORD[((0+0-128))+rsi] - mov rax,QWORD[((0+8-128))+rsi] - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov r9,QWORD[((16+0-128))+rsi] - shl dl,4 - mov rbx,QWORD[((16+8-128))+rsi] - shl r10,60 - mov BYTE[rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[rbp],r8 - mov r8,QWORD[((32+0-128))+rsi] - shl dl,4 - mov QWORD[((0-128))+rbp],rax - mov rax,QWORD[((32+8-128))+rsi] - shl r10,60 - mov BYTE[1+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[8+rbp],r9 - mov r9,QWORD[((48+0-128))+rsi] - shl dl,4 - mov QWORD[((8-128))+rbp],rbx - mov rbx,QWORD[((48+8-128))+rsi] - shl r10,60 - mov BYTE[2+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[16+rbp],r8 - mov r8,QWORD[((64+0-128))+rsi] - shl dl,4 - mov QWORD[((16-128))+rbp],rax - mov rax,QWORD[((64+8-128))+rsi] - shl r10,60 - mov BYTE[3+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[24+rbp],r9 - mov r9,QWORD[((80+0-128))+rsi] - shl dl,4 - mov QWORD[((24-128))+rbp],rbx - mov rbx,QWORD[((80+8-128))+rsi] - shl r10,60 - mov BYTE[4+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[32+rbp],r8 - mov r8,QWORD[((96+0-128))+rsi] - shl dl,4 - mov QWORD[((32-128))+rbp],rax - mov rax,QWORD[((96+8-128))+rsi] - shl r10,60 - mov BYTE[5+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[40+rbp],r9 - mov r9,QWORD[((112+0-128))+rsi] - shl dl,4 - mov QWORD[((40-128))+rbp],rbx - mov rbx,QWORD[((112+8-128))+rsi] - shl r10,60 - mov BYTE[6+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[48+rbp],r8 - mov r8,QWORD[((128+0-128))+rsi] - shl dl,4 - mov QWORD[((48-128))+rbp],rax - mov rax,QWORD[((128+8-128))+rsi] - shl r10,60 - mov BYTE[7+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[56+rbp],r9 - mov r9,QWORD[((144+0-128))+rsi] - shl dl,4 - mov QWORD[((56-128))+rbp],rbx - mov rbx,QWORD[((144+8-128))+rsi] - shl r10,60 - mov BYTE[8+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[64+rbp],r8 - mov r8,QWORD[((160+0-128))+rsi] - shl dl,4 - mov QWORD[((64-128))+rbp],rax - mov rax,QWORD[((160+8-128))+rsi] - shl r10,60 - mov BYTE[9+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[72+rbp],r9 - mov r9,QWORD[((176+0-128))+rsi] - shl dl,4 - mov QWORD[((72-128))+rbp],rbx - mov rbx,QWORD[((176+8-128))+rsi] - shl r10,60 - mov BYTE[10+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[80+rbp],r8 - mov r8,QWORD[((192+0-128))+rsi] - shl dl,4 - mov QWORD[((80-128))+rbp],rax - mov rax,QWORD[((192+8-128))+rsi] - shl r10,60 - mov BYTE[11+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[88+rbp],r9 - mov r9,QWORD[((208+0-128))+rsi] - shl dl,4 - mov QWORD[((88-128))+rbp],rbx - mov rbx,QWORD[((208+8-128))+rsi] - shl r10,60 - mov BYTE[12+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[96+rbp],r8 - mov r8,QWORD[((224+0-128))+rsi] - shl dl,4 - mov QWORD[((96-128))+rbp],rax - mov rax,QWORD[((224+8-128))+rsi] - shl r10,60 - mov BYTE[13+rsp],dl - or rbx,r10 - mov dl,al - shr rax,4 - mov r10,r8 - shr r8,4 - mov QWORD[104+rbp],r9 - mov r9,QWORD[((240+0-128))+rsi] - shl dl,4 - mov QWORD[((104-128))+rbp],rbx - mov rbx,QWORD[((240+8-128))+rsi] - shl r10,60 - mov BYTE[14+rsp],dl - or rax,r10 - mov dl,bl - shr rbx,4 - mov r10,r9 - shr r9,4 - mov QWORD[112+rbp],r8 - shl dl,4 - mov QWORD[((112-128))+rbp],rax - shl r10,60 - mov BYTE[15+rsp],dl - or rbx,r10 - mov QWORD[120+rbp],r9 - mov QWORD[((120-128))+rbp],rbx - add rsi,-128 - mov r8,QWORD[8+rdi] - mov r9,QWORD[rdi] - add r15,r14 - lea r11,[$L$rem_8bit] - jmp NEAR $L$outer_loop -ALIGN 16 -$L$outer_loop: - xor r9,QWORD[r14] - mov rdx,QWORD[8+r14] - lea r14,[16+r14] - xor rdx,r8 - mov QWORD[rdi],r9 - mov QWORD[8+rdi],rdx - shr rdx,32 - xor rax,rax - rol edx,8 - mov al,dl - movzx ebx,dl - shl al,4 - shr ebx,4 - rol edx,8 - mov r8,QWORD[8+rax*1+rsi] - mov r9,QWORD[rax*1+rsi] - mov al,dl - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - xor r12,r8 - mov r10,r9 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[8+rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[4+rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - shr ecx,4 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r12,WORD[r12*2+r11] - movzx ebx,dl - shl al,4 - movzx r13,BYTE[rcx*1+rsp] - shr ebx,4 - shl r12,48 - xor r13,r8 - mov r10,r9 - xor r9,r12 - shr r8,8 - movzx r13,r13b - shr r9,8 - xor r8,QWORD[((-128))+rcx*8+rbp] - shl r10,56 - xor r9,QWORD[rcx*8+rbp] - rol edx,8 - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - mov al,dl - xor r8,r10 - movzx r13,WORD[r13*2+r11] - movzx ecx,dl - shl al,4 - movzx r12,BYTE[rbx*1+rsp] - and ecx,240 - shl r13,48 - xor r12,r8 - mov r10,r9 - xor r9,r13 - shr r8,8 - movzx r12,r12b - mov edx,DWORD[((-4))+rdi] - shr r9,8 - xor r8,QWORD[((-128))+rbx*8+rbp] - shl r10,56 - xor r9,QWORD[rbx*8+rbp] - movzx r12,WORD[r12*2+r11] - xor r8,QWORD[8+rax*1+rsi] - xor r9,QWORD[rax*1+rsi] - shl r12,48 - xor r8,r10 - xor r9,r12 - movzx r13,r8b - shr r8,4 - mov r10,r9 - shl r13b,4 - shr r9,4 - xor r8,QWORD[8+rcx*1+rsi] - movzx r13,WORD[r13*2+r11] - shl r10,60 - xor r9,QWORD[rcx*1+rsi] - xor r8,r10 - shl r13,48 - bswap r8 - xor r9,r13 - bswap r9 - cmp r14,r15 - jb NEAR $L$outer_loop - mov QWORD[8+rdi],r8 - mov QWORD[rdi],r9 - - lea rsi,[280+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$ghash_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_gcm_ghash_4bit: -global gcm_init_clmul - -ALIGN 16 -gcm_init_clmul: -$L$_init_clmul: -$L$SEH_begin_gcm_init_clmul: - -DB 0x48,0x83,0xec,0x18 -DB 0x0f,0x29,0x34,0x24 - movdqu xmm2,XMMWORD[rdx] - pshufd xmm2,xmm2,78 - - - pshufd xmm4,xmm2,255 - movdqa xmm3,xmm2 - psllq xmm2,1 - pxor xmm5,xmm5 - psrlq xmm3,63 - pcmpgtd xmm5,xmm4 - pslldq xmm3,8 - por xmm2,xmm3 - - - pand xmm5,XMMWORD[$L$0x1c2_polynomial] - pxor xmm2,xmm5 - - - pshufd xmm6,xmm2,78 - movdqa xmm0,xmm2 - pxor xmm6,xmm2 - movdqa xmm1,xmm0 - pshufd xmm3,xmm0,78 - pxor xmm3,xmm0 -DB 102,15,58,68,194,0 -DB 102,15,58,68,202,17 -DB 102,15,58,68,222,0 - pxor xmm3,xmm0 - pxor xmm3,xmm1 - - movdqa xmm4,xmm3 - psrldq xmm3,8 - pslldq xmm4,8 - pxor xmm1,xmm3 - pxor xmm0,xmm4 - - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - - - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 - pshufd xmm3,xmm2,78 - pshufd xmm4,xmm0,78 - pxor xmm3,xmm2 - movdqu XMMWORD[rcx],xmm2 - pxor xmm4,xmm0 - movdqu XMMWORD[16+rcx],xmm0 -DB 102,15,58,15,227,8 - movdqu XMMWORD[32+rcx],xmm4 - movdqa xmm1,xmm0 - pshufd xmm3,xmm0,78 - pxor xmm3,xmm0 -DB 102,15,58,68,194,0 -DB 102,15,58,68,202,17 -DB 102,15,58,68,222,0 - pxor xmm3,xmm0 - pxor xmm3,xmm1 - - movdqa xmm4,xmm3 - psrldq xmm3,8 - pslldq xmm4,8 - pxor xmm1,xmm3 - pxor xmm0,xmm4 - - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - - - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 - movdqa xmm5,xmm0 - movdqa xmm1,xmm0 - pshufd xmm3,xmm0,78 - pxor xmm3,xmm0 -DB 102,15,58,68,194,0 -DB 102,15,58,68,202,17 -DB 102,15,58,68,222,0 - pxor xmm3,xmm0 - pxor xmm3,xmm1 - - movdqa xmm4,xmm3 - psrldq xmm3,8 - pslldq xmm4,8 - pxor xmm1,xmm3 - pxor xmm0,xmm4 - - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - - - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 - pshufd xmm3,xmm5,78 - pshufd xmm4,xmm0,78 - pxor xmm3,xmm5 - movdqu XMMWORD[48+rcx],xmm5 - pxor xmm4,xmm0 - movdqu XMMWORD[64+rcx],xmm0 -DB 102,15,58,15,227,8 - movdqu XMMWORD[80+rcx],xmm4 - movaps xmm6,XMMWORD[rsp] - lea rsp,[24+rsp] -$L$SEH_end_gcm_init_clmul: - DB 0F3h,0C3h ;repret - -global gcm_gmult_clmul - -ALIGN 16 -gcm_gmult_clmul: -$L$_gmult_clmul: - movdqu xmm0,XMMWORD[rcx] - movdqa xmm5,XMMWORD[$L$bswap_mask] - movdqu xmm2,XMMWORD[rdx] - movdqu xmm4,XMMWORD[32+rdx] -DB 102,15,56,0,197 - movdqa xmm1,xmm0 - pshufd xmm3,xmm0,78 - pxor xmm3,xmm0 -DB 102,15,58,68,194,0 -DB 102,15,58,68,202,17 -DB 102,15,58,68,220,0 - pxor xmm3,xmm0 - pxor xmm3,xmm1 - - movdqa xmm4,xmm3 - psrldq xmm3,8 - pslldq xmm4,8 - pxor xmm1,xmm3 - pxor xmm0,xmm4 - - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - - - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 -DB 102,15,56,0,197 - movdqu XMMWORD[rcx],xmm0 - DB 0F3h,0C3h ;repret - -global gcm_ghash_clmul - -ALIGN 32 -gcm_ghash_clmul: -$L$_ghash_clmul: - lea rax,[((-136))+rsp] -$L$SEH_begin_gcm_ghash_clmul: - -DB 0x48,0x8d,0x60,0xe0 -DB 0x0f,0x29,0x70,0xe0 -DB 0x0f,0x29,0x78,0xf0 -DB 0x44,0x0f,0x29,0x00 -DB 0x44,0x0f,0x29,0x48,0x10 -DB 0x44,0x0f,0x29,0x50,0x20 -DB 0x44,0x0f,0x29,0x58,0x30 -DB 0x44,0x0f,0x29,0x60,0x40 -DB 0x44,0x0f,0x29,0x68,0x50 -DB 0x44,0x0f,0x29,0x70,0x60 -DB 0x44,0x0f,0x29,0x78,0x70 - movdqa xmm10,XMMWORD[$L$bswap_mask] - - movdqu xmm0,XMMWORD[rcx] - movdqu xmm2,XMMWORD[rdx] - movdqu xmm7,XMMWORD[32+rdx] -DB 102,65,15,56,0,194 - - sub r9,0x10 - jz NEAR $L$odd_tail - - movdqu xmm6,XMMWORD[16+rdx] - mov eax,DWORD[((OPENSSL_ia32cap_P+4))] - cmp r9,0x30 - jb NEAR $L$skip4x - - and eax,71303168 - cmp eax,4194304 - je NEAR $L$skip4x - - sub r9,0x30 - mov rax,0xA040608020C0E000 - movdqu xmm14,XMMWORD[48+rdx] - movdqu xmm15,XMMWORD[64+rdx] - - - - - movdqu xmm3,XMMWORD[48+r8] - movdqu xmm11,XMMWORD[32+r8] -DB 102,65,15,56,0,218 -DB 102,69,15,56,0,218 - movdqa xmm5,xmm3 - pshufd xmm4,xmm3,78 - pxor xmm4,xmm3 -DB 102,15,58,68,218,0 -DB 102,15,58,68,234,17 -DB 102,15,58,68,231,0 - - movdqa xmm13,xmm11 - pshufd xmm12,xmm11,78 - pxor xmm12,xmm11 -DB 102,68,15,58,68,222,0 -DB 102,68,15,58,68,238,17 -DB 102,68,15,58,68,231,16 - xorps xmm3,xmm11 - xorps xmm5,xmm13 - movups xmm7,XMMWORD[80+rdx] - xorps xmm4,xmm12 - - movdqu xmm11,XMMWORD[16+r8] - movdqu xmm8,XMMWORD[r8] -DB 102,69,15,56,0,218 -DB 102,69,15,56,0,194 - movdqa xmm13,xmm11 - pshufd xmm12,xmm11,78 - pxor xmm0,xmm8 - pxor xmm12,xmm11 -DB 102,69,15,58,68,222,0 - movdqa xmm1,xmm0 - pshufd xmm8,xmm0,78 - pxor xmm8,xmm0 -DB 102,69,15,58,68,238,17 -DB 102,68,15,58,68,231,0 - xorps xmm3,xmm11 - xorps xmm5,xmm13 - - lea r8,[64+r8] - sub r9,0x40 - jc NEAR $L$tail4x - - jmp NEAR $L$mod4_loop -ALIGN 32 -$L$mod4_loop: -DB 102,65,15,58,68,199,0 - xorps xmm4,xmm12 - movdqu xmm11,XMMWORD[48+r8] -DB 102,69,15,56,0,218 -DB 102,65,15,58,68,207,17 - xorps xmm0,xmm3 - movdqu xmm3,XMMWORD[32+r8] - movdqa xmm13,xmm11 -DB 102,68,15,58,68,199,16 - pshufd xmm12,xmm11,78 - xorps xmm1,xmm5 - pxor xmm12,xmm11 -DB 102,65,15,56,0,218 - movups xmm7,XMMWORD[32+rdx] - xorps xmm8,xmm4 -DB 102,68,15,58,68,218,0 - pshufd xmm4,xmm3,78 - - pxor xmm8,xmm0 - movdqa xmm5,xmm3 - pxor xmm8,xmm1 - pxor xmm4,xmm3 - movdqa xmm9,xmm8 -DB 102,68,15,58,68,234,17 - pslldq xmm8,8 - psrldq xmm9,8 - pxor xmm0,xmm8 - movdqa xmm8,XMMWORD[$L$7_mask] - pxor xmm1,xmm9 -DB 102,76,15,110,200 - - pand xmm8,xmm0 -DB 102,69,15,56,0,200 - pxor xmm9,xmm0 -DB 102,68,15,58,68,231,0 - psllq xmm9,57 - movdqa xmm8,xmm9 - pslldq xmm9,8 -DB 102,15,58,68,222,0 - psrldq xmm8,8 - pxor xmm0,xmm9 - pxor xmm1,xmm8 - movdqu xmm8,XMMWORD[r8] - - movdqa xmm9,xmm0 - psrlq xmm0,1 -DB 102,15,58,68,238,17 - xorps xmm3,xmm11 - movdqu xmm11,XMMWORD[16+r8] -DB 102,69,15,56,0,218 -DB 102,15,58,68,231,16 - xorps xmm5,xmm13 - movups xmm7,XMMWORD[80+rdx] -DB 102,69,15,56,0,194 - pxor xmm1,xmm9 - pxor xmm9,xmm0 - psrlq xmm0,5 - - movdqa xmm13,xmm11 - pxor xmm4,xmm12 - pshufd xmm12,xmm11,78 - pxor xmm0,xmm9 - pxor xmm1,xmm8 - pxor xmm12,xmm11 -DB 102,69,15,58,68,222,0 - psrlq xmm0,1 - pxor xmm0,xmm1 - movdqa xmm1,xmm0 -DB 102,69,15,58,68,238,17 - xorps xmm3,xmm11 - pshufd xmm8,xmm0,78 - pxor xmm8,xmm0 - -DB 102,68,15,58,68,231,0 - xorps xmm5,xmm13 - - lea r8,[64+r8] - sub r9,0x40 - jnc NEAR $L$mod4_loop - -$L$tail4x: -DB 102,65,15,58,68,199,0 -DB 102,65,15,58,68,207,17 -DB 102,68,15,58,68,199,16 - xorps xmm4,xmm12 - xorps xmm0,xmm3 - xorps xmm1,xmm5 - pxor xmm1,xmm0 - pxor xmm8,xmm4 - - pxor xmm8,xmm1 - pxor xmm1,xmm0 - - movdqa xmm9,xmm8 - psrldq xmm8,8 - pslldq xmm9,8 - pxor xmm1,xmm8 - pxor xmm0,xmm9 - - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - - - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 - add r9,0x40 - jz NEAR $L$done - movdqu xmm7,XMMWORD[32+rdx] - sub r9,0x10 - jz NEAR $L$odd_tail -$L$skip4x: - - - - - - movdqu xmm8,XMMWORD[r8] - movdqu xmm3,XMMWORD[16+r8] -DB 102,69,15,56,0,194 -DB 102,65,15,56,0,218 - pxor xmm0,xmm8 - - movdqa xmm5,xmm3 - pshufd xmm4,xmm3,78 - pxor xmm4,xmm3 -DB 102,15,58,68,218,0 -DB 102,15,58,68,234,17 -DB 102,15,58,68,231,0 - - lea r8,[32+r8] - nop - sub r9,0x20 - jbe NEAR $L$even_tail - nop - jmp NEAR $L$mod_loop - -ALIGN 32 -$L$mod_loop: - movdqa xmm1,xmm0 - movdqa xmm8,xmm4 - pshufd xmm4,xmm0,78 - pxor xmm4,xmm0 - -DB 102,15,58,68,198,0 -DB 102,15,58,68,206,17 -DB 102,15,58,68,231,16 - - pxor xmm0,xmm3 - pxor xmm1,xmm5 - movdqu xmm9,XMMWORD[r8] - pxor xmm8,xmm0 -DB 102,69,15,56,0,202 - movdqu xmm3,XMMWORD[16+r8] - - pxor xmm8,xmm1 - pxor xmm1,xmm9 - pxor xmm4,xmm8 -DB 102,65,15,56,0,218 - movdqa xmm8,xmm4 - psrldq xmm8,8 - pslldq xmm4,8 - pxor xmm1,xmm8 - pxor xmm0,xmm4 - - movdqa xmm5,xmm3 - - movdqa xmm9,xmm0 - movdqa xmm8,xmm0 - psllq xmm0,5 - pxor xmm8,xmm0 -DB 102,15,58,68,218,0 - psllq xmm0,1 - pxor xmm0,xmm8 - psllq xmm0,57 - movdqa xmm8,xmm0 - pslldq xmm0,8 - psrldq xmm8,8 - pxor xmm0,xmm9 - pshufd xmm4,xmm5,78 - pxor xmm1,xmm8 - pxor xmm4,xmm5 - - movdqa xmm9,xmm0 - psrlq xmm0,1 -DB 102,15,58,68,234,17 - pxor xmm1,xmm9 - pxor xmm9,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm9 - lea r8,[32+r8] - psrlq xmm0,1 -DB 102,15,58,68,231,0 - pxor xmm0,xmm1 - - sub r9,0x20 - ja NEAR $L$mod_loop - -$L$even_tail: - movdqa xmm1,xmm0 - movdqa xmm8,xmm4 - pshufd xmm4,xmm0,78 - pxor xmm4,xmm0 - -DB 102,15,58,68,198,0 -DB 102,15,58,68,206,17 -DB 102,15,58,68,231,16 - - pxor xmm0,xmm3 - pxor xmm1,xmm5 - pxor xmm8,xmm0 - pxor xmm8,xmm1 - pxor xmm4,xmm8 - movdqa xmm8,xmm4 - psrldq xmm8,8 - pslldq xmm4,8 - pxor xmm1,xmm8 - pxor xmm0,xmm4 - - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - - - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 - test r9,r9 - jnz NEAR $L$done - -$L$odd_tail: - movdqu xmm8,XMMWORD[r8] -DB 102,69,15,56,0,194 - pxor xmm0,xmm8 - movdqa xmm1,xmm0 - pshufd xmm3,xmm0,78 - pxor xmm3,xmm0 -DB 102,15,58,68,194,0 -DB 102,15,58,68,202,17 -DB 102,15,58,68,223,0 - pxor xmm3,xmm0 - pxor xmm3,xmm1 - - movdqa xmm4,xmm3 - psrldq xmm3,8 - pslldq xmm4,8 - pxor xmm1,xmm3 - pxor xmm0,xmm4 - - movdqa xmm4,xmm0 - movdqa xmm3,xmm0 - psllq xmm0,5 - pxor xmm3,xmm0 - psllq xmm0,1 - pxor xmm0,xmm3 - psllq xmm0,57 - movdqa xmm3,xmm0 - pslldq xmm0,8 - psrldq xmm3,8 - pxor xmm0,xmm4 - pxor xmm1,xmm3 - - - movdqa xmm4,xmm0 - psrlq xmm0,1 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - psrlq xmm0,5 - pxor xmm0,xmm4 - psrlq xmm0,1 - pxor xmm0,xmm1 -$L$done: -DB 102,65,15,56,0,194 - movdqu XMMWORD[rcx],xmm0 - movaps xmm6,XMMWORD[rsp] - movaps xmm7,XMMWORD[16+rsp] - movaps xmm8,XMMWORD[32+rsp] - movaps xmm9,XMMWORD[48+rsp] - movaps xmm10,XMMWORD[64+rsp] - movaps xmm11,XMMWORD[80+rsp] - movaps xmm12,XMMWORD[96+rsp] - movaps xmm13,XMMWORD[112+rsp] - movaps xmm14,XMMWORD[128+rsp] - movaps xmm15,XMMWORD[144+rsp] - lea rsp,[168+rsp] -$L$SEH_end_gcm_ghash_clmul: - DB 0F3h,0C3h ;repret - -global gcm_init_avx - -ALIGN 32 -gcm_init_avx: -$L$SEH_begin_gcm_init_avx: - -DB 0x48,0x83,0xec,0x18 -DB 0x0f,0x29,0x34,0x24 - vzeroupper - - vmovdqu xmm2,XMMWORD[rdx] - vpshufd xmm2,xmm2,78 - - - vpshufd xmm4,xmm2,255 - vpsrlq xmm3,xmm2,63 - vpsllq xmm2,xmm2,1 - vpxor xmm5,xmm5,xmm5 - vpcmpgtd xmm5,xmm5,xmm4 - vpslldq xmm3,xmm3,8 - vpor xmm2,xmm2,xmm3 - - - vpand xmm5,xmm5,XMMWORD[$L$0x1c2_polynomial] - vpxor xmm2,xmm2,xmm5 - - vpunpckhqdq xmm6,xmm2,xmm2 - vmovdqa xmm0,xmm2 - vpxor xmm6,xmm6,xmm2 - mov r10,4 - jmp NEAR $L$init_start_avx -ALIGN 32 -$L$init_loop_avx: - vpalignr xmm5,xmm4,xmm3,8 - vmovdqu XMMWORD[(-16)+rcx],xmm5 - vpunpckhqdq xmm3,xmm0,xmm0 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm1,xmm0,xmm2,0x11 - vpclmulqdq xmm0,xmm0,xmm2,0x00 - vpclmulqdq xmm3,xmm3,xmm6,0x00 - vpxor xmm4,xmm1,xmm0 - vpxor xmm3,xmm3,xmm4 - - vpslldq xmm4,xmm3,8 - vpsrldq xmm3,xmm3,8 - vpxor xmm0,xmm0,xmm4 - vpxor xmm1,xmm1,xmm3 - vpsllq xmm3,xmm0,57 - vpsllq xmm4,xmm0,62 - vpxor xmm4,xmm4,xmm3 - vpsllq xmm3,xmm0,63 - vpxor xmm4,xmm4,xmm3 - vpslldq xmm3,xmm4,8 - vpsrldq xmm4,xmm4,8 - vpxor xmm0,xmm0,xmm3 - vpxor xmm1,xmm1,xmm4 - - vpsrlq xmm4,xmm0,1 - vpxor xmm1,xmm1,xmm0 - vpxor xmm0,xmm0,xmm4 - vpsrlq xmm4,xmm4,5 - vpxor xmm0,xmm0,xmm4 - vpsrlq xmm0,xmm0,1 - vpxor xmm0,xmm0,xmm1 -$L$init_start_avx: - vmovdqa xmm5,xmm0 - vpunpckhqdq xmm3,xmm0,xmm0 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm1,xmm0,xmm2,0x11 - vpclmulqdq xmm0,xmm0,xmm2,0x00 - vpclmulqdq xmm3,xmm3,xmm6,0x00 - vpxor xmm4,xmm1,xmm0 - vpxor xmm3,xmm3,xmm4 - - vpslldq xmm4,xmm3,8 - vpsrldq xmm3,xmm3,8 - vpxor xmm0,xmm0,xmm4 - vpxor xmm1,xmm1,xmm3 - vpsllq xmm3,xmm0,57 - vpsllq xmm4,xmm0,62 - vpxor xmm4,xmm4,xmm3 - vpsllq xmm3,xmm0,63 - vpxor xmm4,xmm4,xmm3 - vpslldq xmm3,xmm4,8 - vpsrldq xmm4,xmm4,8 - vpxor xmm0,xmm0,xmm3 - vpxor xmm1,xmm1,xmm4 - - vpsrlq xmm4,xmm0,1 - vpxor xmm1,xmm1,xmm0 - vpxor xmm0,xmm0,xmm4 - vpsrlq xmm4,xmm4,5 - vpxor xmm0,xmm0,xmm4 - vpsrlq xmm0,xmm0,1 - vpxor xmm0,xmm0,xmm1 - vpshufd xmm3,xmm5,78 - vpshufd xmm4,xmm0,78 - vpxor xmm3,xmm3,xmm5 - vmovdqu XMMWORD[rcx],xmm5 - vpxor xmm4,xmm4,xmm0 - vmovdqu XMMWORD[16+rcx],xmm0 - lea rcx,[48+rcx] - sub r10,1 - jnz NEAR $L$init_loop_avx - - vpalignr xmm5,xmm3,xmm4,8 - vmovdqu XMMWORD[(-16)+rcx],xmm5 - - vzeroupper - movaps xmm6,XMMWORD[rsp] - lea rsp,[24+rsp] -$L$SEH_end_gcm_init_avx: - DB 0F3h,0C3h ;repret - -global gcm_gmult_avx - -ALIGN 32 -gcm_gmult_avx: - jmp NEAR $L$_gmult_clmul - -global gcm_ghash_avx - -ALIGN 32 -gcm_ghash_avx: - lea rax,[((-136))+rsp] -$L$SEH_begin_gcm_ghash_avx: - -DB 0x48,0x8d,0x60,0xe0 -DB 0x0f,0x29,0x70,0xe0 -DB 0x0f,0x29,0x78,0xf0 -DB 0x44,0x0f,0x29,0x00 -DB 0x44,0x0f,0x29,0x48,0x10 -DB 0x44,0x0f,0x29,0x50,0x20 -DB 0x44,0x0f,0x29,0x58,0x30 -DB 0x44,0x0f,0x29,0x60,0x40 -DB 0x44,0x0f,0x29,0x68,0x50 -DB 0x44,0x0f,0x29,0x70,0x60 -DB 0x44,0x0f,0x29,0x78,0x70 - vzeroupper - - vmovdqu xmm10,XMMWORD[rcx] - lea r10,[$L$0x1c2_polynomial] - lea rdx,[64+rdx] - vmovdqu xmm13,XMMWORD[$L$bswap_mask] - vpshufb xmm10,xmm10,xmm13 - cmp r9,0x80 - jb NEAR $L$short_avx - sub r9,0x80 - - vmovdqu xmm14,XMMWORD[112+r8] - vmovdqu xmm6,XMMWORD[((0-64))+rdx] - vpshufb xmm14,xmm14,xmm13 - vmovdqu xmm7,XMMWORD[((32-64))+rdx] - - vpunpckhqdq xmm9,xmm14,xmm14 - vmovdqu xmm15,XMMWORD[96+r8] - vpclmulqdq xmm0,xmm14,xmm6,0x00 - vpxor xmm9,xmm9,xmm14 - vpshufb xmm15,xmm15,xmm13 - vpclmulqdq xmm1,xmm14,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((16-64))+rdx] - vpunpckhqdq xmm8,xmm15,xmm15 - vmovdqu xmm14,XMMWORD[80+r8] - vpclmulqdq xmm2,xmm9,xmm7,0x00 - vpxor xmm8,xmm8,xmm15 - - vpshufb xmm14,xmm14,xmm13 - vpclmulqdq xmm3,xmm15,xmm6,0x00 - vpunpckhqdq xmm9,xmm14,xmm14 - vpclmulqdq xmm4,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((48-64))+rdx] - vpxor xmm9,xmm9,xmm14 - vmovdqu xmm15,XMMWORD[64+r8] - vpclmulqdq xmm5,xmm8,xmm7,0x10 - vmovdqu xmm7,XMMWORD[((80-64))+rdx] - - vpshufb xmm15,xmm15,xmm13 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm14,xmm6,0x00 - vpxor xmm4,xmm4,xmm1 - vpunpckhqdq xmm8,xmm15,xmm15 - vpclmulqdq xmm1,xmm14,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((64-64))+rdx] - vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm9,xmm7,0x00 - vpxor xmm8,xmm8,xmm15 - - vmovdqu xmm14,XMMWORD[48+r8] - vpxor xmm0,xmm0,xmm3 - vpclmulqdq xmm3,xmm15,xmm6,0x00 - vpxor xmm1,xmm1,xmm4 - vpshufb xmm14,xmm14,xmm13 - vpclmulqdq xmm4,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((96-64))+rdx] - vpxor xmm2,xmm2,xmm5 - vpunpckhqdq xmm9,xmm14,xmm14 - vpclmulqdq xmm5,xmm8,xmm7,0x10 - vmovdqu xmm7,XMMWORD[((128-64))+rdx] - vpxor xmm9,xmm9,xmm14 - - vmovdqu xmm15,XMMWORD[32+r8] - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm14,xmm6,0x00 - vpxor xmm4,xmm4,xmm1 - vpshufb xmm15,xmm15,xmm13 - vpclmulqdq xmm1,xmm14,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((112-64))+rdx] - vpxor xmm5,xmm5,xmm2 - vpunpckhqdq xmm8,xmm15,xmm15 - vpclmulqdq xmm2,xmm9,xmm7,0x00 - vpxor xmm8,xmm8,xmm15 - - vmovdqu xmm14,XMMWORD[16+r8] - vpxor xmm0,xmm0,xmm3 - vpclmulqdq xmm3,xmm15,xmm6,0x00 - vpxor xmm1,xmm1,xmm4 - vpshufb xmm14,xmm14,xmm13 - vpclmulqdq xmm4,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((144-64))+rdx] - vpxor xmm2,xmm2,xmm5 - vpunpckhqdq xmm9,xmm14,xmm14 - vpclmulqdq xmm5,xmm8,xmm7,0x10 - vmovdqu xmm7,XMMWORD[((176-64))+rdx] - vpxor xmm9,xmm9,xmm14 - - vmovdqu xmm15,XMMWORD[r8] - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm14,xmm6,0x00 - vpxor xmm4,xmm4,xmm1 - vpshufb xmm15,xmm15,xmm13 - vpclmulqdq xmm1,xmm14,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((160-64))+rdx] - vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm9,xmm7,0x10 - - lea r8,[128+r8] - cmp r9,0x80 - jb NEAR $L$tail_avx - - vpxor xmm15,xmm15,xmm10 - sub r9,0x80 - jmp NEAR $L$oop8x_avx - -ALIGN 32 -$L$oop8x_avx: - vpunpckhqdq xmm8,xmm15,xmm15 - vmovdqu xmm14,XMMWORD[112+r8] - vpxor xmm3,xmm3,xmm0 - vpxor xmm8,xmm8,xmm15 - vpclmulqdq xmm10,xmm15,xmm6,0x00 - vpshufb xmm14,xmm14,xmm13 - vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm11,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((0-64))+rdx] - vpunpckhqdq xmm9,xmm14,xmm14 - vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm12,xmm8,xmm7,0x00 - vmovdqu xmm7,XMMWORD[((32-64))+rdx] - vpxor xmm9,xmm9,xmm14 - - vmovdqu xmm15,XMMWORD[96+r8] - vpclmulqdq xmm0,xmm14,xmm6,0x00 - vpxor xmm10,xmm10,xmm3 - vpshufb xmm15,xmm15,xmm13 - vpclmulqdq xmm1,xmm14,xmm6,0x11 - vxorps xmm11,xmm11,xmm4 - vmovdqu xmm6,XMMWORD[((16-64))+rdx] - vpunpckhqdq xmm8,xmm15,xmm15 - vpclmulqdq xmm2,xmm9,xmm7,0x00 - vpxor xmm12,xmm12,xmm5 - vxorps xmm8,xmm8,xmm15 - - vmovdqu xmm14,XMMWORD[80+r8] - vpxor xmm12,xmm12,xmm10 - vpclmulqdq xmm3,xmm15,xmm6,0x00 - vpxor xmm12,xmm12,xmm11 - vpslldq xmm9,xmm12,8 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm4,xmm15,xmm6,0x11 - vpsrldq xmm12,xmm12,8 - vpxor xmm10,xmm10,xmm9 - vmovdqu xmm6,XMMWORD[((48-64))+rdx] - vpshufb xmm14,xmm14,xmm13 - vxorps xmm11,xmm11,xmm12 - vpxor xmm4,xmm4,xmm1 - vpunpckhqdq xmm9,xmm14,xmm14 - vpclmulqdq xmm5,xmm8,xmm7,0x10 - vmovdqu xmm7,XMMWORD[((80-64))+rdx] - vpxor xmm9,xmm9,xmm14 - vpxor xmm5,xmm5,xmm2 - - vmovdqu xmm15,XMMWORD[64+r8] - vpalignr xmm12,xmm10,xmm10,8 - vpclmulqdq xmm0,xmm14,xmm6,0x00 - vpshufb xmm15,xmm15,xmm13 - vpxor xmm0,xmm0,xmm3 - vpclmulqdq xmm1,xmm14,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((64-64))+rdx] - vpunpckhqdq xmm8,xmm15,xmm15 - vpxor xmm1,xmm1,xmm4 - vpclmulqdq xmm2,xmm9,xmm7,0x00 - vxorps xmm8,xmm8,xmm15 - vpxor xmm2,xmm2,xmm5 - - vmovdqu xmm14,XMMWORD[48+r8] - vpclmulqdq xmm10,xmm10,XMMWORD[r10],0x10 - vpclmulqdq xmm3,xmm15,xmm6,0x00 - vpshufb xmm14,xmm14,xmm13 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm4,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((96-64))+rdx] - vpunpckhqdq xmm9,xmm14,xmm14 - vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm5,xmm8,xmm7,0x10 - vmovdqu xmm7,XMMWORD[((128-64))+rdx] - vpxor xmm9,xmm9,xmm14 - vpxor xmm5,xmm5,xmm2 - - vmovdqu xmm15,XMMWORD[32+r8] - vpclmulqdq xmm0,xmm14,xmm6,0x00 - vpshufb xmm15,xmm15,xmm13 - vpxor xmm0,xmm0,xmm3 - vpclmulqdq xmm1,xmm14,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((112-64))+rdx] - vpunpckhqdq xmm8,xmm15,xmm15 - vpxor xmm1,xmm1,xmm4 - vpclmulqdq xmm2,xmm9,xmm7,0x00 - vpxor xmm8,xmm8,xmm15 - vpxor xmm2,xmm2,xmm5 - vxorps xmm10,xmm10,xmm12 - - vmovdqu xmm14,XMMWORD[16+r8] - vpalignr xmm12,xmm10,xmm10,8 - vpclmulqdq xmm3,xmm15,xmm6,0x00 - vpshufb xmm14,xmm14,xmm13 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm4,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((144-64))+rdx] - vpclmulqdq xmm10,xmm10,XMMWORD[r10],0x10 - vxorps xmm12,xmm12,xmm11 - vpunpckhqdq xmm9,xmm14,xmm14 - vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm5,xmm8,xmm7,0x10 - vmovdqu xmm7,XMMWORD[((176-64))+rdx] - vpxor xmm9,xmm9,xmm14 - vpxor xmm5,xmm5,xmm2 - - vmovdqu xmm15,XMMWORD[r8] - vpclmulqdq xmm0,xmm14,xmm6,0x00 - vpshufb xmm15,xmm15,xmm13 - vpclmulqdq xmm1,xmm14,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((160-64))+rdx] - vpxor xmm15,xmm15,xmm12 - vpclmulqdq xmm2,xmm9,xmm7,0x10 - vpxor xmm15,xmm15,xmm10 - - lea r8,[128+r8] - sub r9,0x80 - jnc NEAR $L$oop8x_avx - - add r9,0x80 - jmp NEAR $L$tail_no_xor_avx - -ALIGN 32 -$L$short_avx: - vmovdqu xmm14,XMMWORD[((-16))+r9*1+r8] - lea r8,[r9*1+r8] - vmovdqu xmm6,XMMWORD[((0-64))+rdx] - vmovdqu xmm7,XMMWORD[((32-64))+rdx] - vpshufb xmm15,xmm14,xmm13 - - vmovdqa xmm3,xmm0 - vmovdqa xmm4,xmm1 - vmovdqa xmm5,xmm2 - sub r9,0x10 - jz NEAR $L$tail_avx - - vpunpckhqdq xmm8,xmm15,xmm15 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,0x00 - vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD[((-32))+r8] - vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((16-64))+rdx] - vpshufb xmm15,xmm14,xmm13 - vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,0x00 - vpsrldq xmm7,xmm7,8 - sub r9,0x10 - jz NEAR $L$tail_avx - - vpunpckhqdq xmm8,xmm15,xmm15 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,0x00 - vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD[((-48))+r8] - vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((48-64))+rdx] - vpshufb xmm15,xmm14,xmm13 - vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,0x00 - vmovdqu xmm7,XMMWORD[((80-64))+rdx] - sub r9,0x10 - jz NEAR $L$tail_avx - - vpunpckhqdq xmm8,xmm15,xmm15 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,0x00 - vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD[((-64))+r8] - vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((64-64))+rdx] - vpshufb xmm15,xmm14,xmm13 - vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,0x00 - vpsrldq xmm7,xmm7,8 - sub r9,0x10 - jz NEAR $L$tail_avx - - vpunpckhqdq xmm8,xmm15,xmm15 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,0x00 - vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD[((-80))+r8] - vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((96-64))+rdx] - vpshufb xmm15,xmm14,xmm13 - vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,0x00 - vmovdqu xmm7,XMMWORD[((128-64))+rdx] - sub r9,0x10 - jz NEAR $L$tail_avx - - vpunpckhqdq xmm8,xmm15,xmm15 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,0x00 - vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD[((-96))+r8] - vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((112-64))+rdx] - vpshufb xmm15,xmm14,xmm13 - vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,0x00 - vpsrldq xmm7,xmm7,8 - sub r9,0x10 - jz NEAR $L$tail_avx - - vpunpckhqdq xmm8,xmm15,xmm15 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,0x00 - vpxor xmm8,xmm8,xmm15 - vmovdqu xmm14,XMMWORD[((-112))+r8] - vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,0x11 - vmovdqu xmm6,XMMWORD[((144-64))+rdx] - vpshufb xmm15,xmm14,xmm13 - vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,0x00 - vmovq xmm7,QWORD[((184-64))+rdx] - sub r9,0x10 - jmp NEAR $L$tail_avx - -ALIGN 32 -$L$tail_avx: - vpxor xmm15,xmm15,xmm10 -$L$tail_no_xor_avx: - vpunpckhqdq xmm8,xmm15,xmm15 - vpxor xmm3,xmm3,xmm0 - vpclmulqdq xmm0,xmm15,xmm6,0x00 - vpxor xmm8,xmm8,xmm15 - vpxor xmm4,xmm4,xmm1 - vpclmulqdq xmm1,xmm15,xmm6,0x11 - vpxor xmm5,xmm5,xmm2 - vpclmulqdq xmm2,xmm8,xmm7,0x00 - - vmovdqu xmm12,XMMWORD[r10] - - vpxor xmm10,xmm3,xmm0 - vpxor xmm11,xmm4,xmm1 - vpxor xmm5,xmm5,xmm2 - - vpxor xmm5,xmm5,xmm10 - vpxor xmm5,xmm5,xmm11 - vpslldq xmm9,xmm5,8 - vpsrldq xmm5,xmm5,8 - vpxor xmm10,xmm10,xmm9 - vpxor xmm11,xmm11,xmm5 - - vpclmulqdq xmm9,xmm10,xmm12,0x10 - vpalignr xmm10,xmm10,xmm10,8 - vpxor xmm10,xmm10,xmm9 - - vpclmulqdq xmm9,xmm10,xmm12,0x10 - vpalignr xmm10,xmm10,xmm10,8 - vpxor xmm10,xmm10,xmm11 - vpxor xmm10,xmm10,xmm9 - - cmp r9,0 - jne NEAR $L$short_avx - - vpshufb xmm10,xmm10,xmm13 - vmovdqu XMMWORD[rcx],xmm10 - vzeroupper - movaps xmm6,XMMWORD[rsp] - movaps xmm7,XMMWORD[16+rsp] - movaps xmm8,XMMWORD[32+rsp] - movaps xmm9,XMMWORD[48+rsp] - movaps xmm10,XMMWORD[64+rsp] - movaps xmm11,XMMWORD[80+rsp] - movaps xmm12,XMMWORD[96+rsp] - movaps xmm13,XMMWORD[112+rsp] - movaps xmm14,XMMWORD[128+rsp] - movaps xmm15,XMMWORD[144+rsp] - lea rsp,[168+rsp] -$L$SEH_end_gcm_ghash_avx: - DB 0F3h,0C3h ;repret - -ALIGN 64 -$L$bswap_mask: -DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 -$L$0x1c2_polynomial: -DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 -$L$7_mask: - DD 7,0,7,0 -$L$7_mask_poly: - DD 7,0,450,0 -ALIGN 64 - -$L$rem_4bit: - DD 0,0,0,471859200,0,943718400,0,610271232 - DD 0,1887436800,0,1822425088,0,1220542464,0,1423966208 - DD 0,3774873600,0,4246732800,0,3644850176,0,3311403008 - DD 0,2441084928,0,2376073216,0,2847932416,0,3051356160 - -$L$rem_8bit: - DW 0x0000,0x01C2,0x0384,0x0246,0x0708,0x06CA,0x048C,0x054E - DW 0x0E10,0x0FD2,0x0D94,0x0C56,0x0918,0x08DA,0x0A9C,0x0B5E - DW 0x1C20,0x1DE2,0x1FA4,0x1E66,0x1B28,0x1AEA,0x18AC,0x196E - DW 0x1230,0x13F2,0x11B4,0x1076,0x1538,0x14FA,0x16BC,0x177E - DW 0x3840,0x3982,0x3BC4,0x3A06,0x3F48,0x3E8A,0x3CCC,0x3D0E - DW 0x3650,0x3792,0x35D4,0x3416,0x3158,0x309A,0x32DC,0x331E - DW 0x2460,0x25A2,0x27E4,0x2626,0x2368,0x22AA,0x20EC,0x212E - DW 0x2A70,0x2BB2,0x29F4,0x2836,0x2D78,0x2CBA,0x2EFC,0x2F3E - DW 0x7080,0x7142,0x7304,0x72C6,0x7788,0x764A,0x740C,0x75CE - DW 0x7E90,0x7F52,0x7D14,0x7CD6,0x7998,0x785A,0x7A1C,0x7BDE - DW 0x6CA0,0x6D62,0x6F24,0x6EE6,0x6BA8,0x6A6A,0x682C,0x69EE - DW 0x62B0,0x6372,0x6134,0x60F6,0x65B8,0x647A,0x663C,0x67FE - DW 0x48C0,0x4902,0x4B44,0x4A86,0x4FC8,0x4E0A,0x4C4C,0x4D8E - DW 0x46D0,0x4712,0x4554,0x4496,0x41D8,0x401A,0x425C,0x439E - DW 0x54E0,0x5522,0x5764,0x56A6,0x53E8,0x522A,0x506C,0x51AE - DW 0x5AF0,0x5B32,0x5974,0x58B6,0x5DF8,0x5C3A,0x5E7C,0x5FBE - DW 0xE100,0xE0C2,0xE284,0xE346,0xE608,0xE7CA,0xE58C,0xE44E - DW 0xEF10,0xEED2,0xEC94,0xED56,0xE818,0xE9DA,0xEB9C,0xEA5E - DW 0xFD20,0xFCE2,0xFEA4,0xFF66,0xFA28,0xFBEA,0xF9AC,0xF86E - DW 0xF330,0xF2F2,0xF0B4,0xF176,0xF438,0xF5FA,0xF7BC,0xF67E - DW 0xD940,0xD882,0xDAC4,0xDB06,0xDE48,0xDF8A,0xDDCC,0xDC0E - DW 0xD750,0xD692,0xD4D4,0xD516,0xD058,0xD19A,0xD3DC,0xD21E - DW 0xC560,0xC4A2,0xC6E4,0xC726,0xC268,0xC3AA,0xC1EC,0xC02E - DW 0xCB70,0xCAB2,0xC8F4,0xC936,0xCC78,0xCDBA,0xCFFC,0xCE3E - DW 0x9180,0x9042,0x9204,0x93C6,0x9688,0x974A,0x950C,0x94CE - DW 0x9F90,0x9E52,0x9C14,0x9DD6,0x9898,0x995A,0x9B1C,0x9ADE - DW 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE - DW 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE - DW 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E - DW 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E - DW 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE - DW 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE - -DB 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52 -DB 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32 -DB 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111 -DB 114,103,62,0 -ALIGN 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - lea rax,[24+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_gcm_gmult_4bit wrt ..imagebase - DD $L$SEH_end_gcm_gmult_4bit wrt ..imagebase - DD $L$SEH_info_gcm_gmult_4bit wrt ..imagebase - - DD $L$SEH_begin_gcm_ghash_4bit wrt ..imagebase - DD $L$SEH_end_gcm_ghash_4bit wrt ..imagebase - DD $L$SEH_info_gcm_ghash_4bit wrt ..imagebase - - DD $L$SEH_begin_gcm_init_clmul wrt ..imagebase - DD $L$SEH_end_gcm_init_clmul wrt ..imagebase - DD $L$SEH_info_gcm_init_clmul wrt ..imagebase - - DD $L$SEH_begin_gcm_ghash_clmul wrt ..imagebase - DD $L$SEH_end_gcm_ghash_clmul wrt ..imagebase - DD $L$SEH_info_gcm_ghash_clmul wrt ..imagebase - DD $L$SEH_begin_gcm_init_avx wrt ..imagebase - DD $L$SEH_end_gcm_init_avx wrt ..imagebase - DD $L$SEH_info_gcm_init_clmul wrt ..imagebase - - DD $L$SEH_begin_gcm_ghash_avx wrt ..imagebase - DD $L$SEH_end_gcm_ghash_avx wrt ..imagebase - DD $L$SEH_info_gcm_ghash_clmul wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_gcm_gmult_4bit: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$gmult_prologue wrt ..imagebase,$L$gmult_epilogue wrt ..imagebase -$L$SEH_info_gcm_ghash_4bit: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$ghash_prologue wrt ..imagebase,$L$ghash_epilogue wrt ..imagebase -$L$SEH_info_gcm_init_clmul: -DB 0x01,0x08,0x03,0x00 -DB 0x08,0x68,0x00,0x00 -DB 0x04,0x22,0x00,0x00 -$L$SEH_info_gcm_ghash_clmul: -DB 0x01,0x33,0x16,0x00 -DB 0x33,0xf8,0x09,0x00 -DB 0x2e,0xe8,0x08,0x00 -DB 0x29,0xd8,0x07,0x00 -DB 0x24,0xc8,0x06,0x00 -DB 0x1f,0xb8,0x05,0x00 -DB 0x1a,0xa8,0x04,0x00 -DB 0x15,0x98,0x03,0x00 -DB 0x10,0x88,0x02,0x00 -DB 0x0c,0x78,0x01,0x00 -DB 0x08,0x68,0x00,0x00 -DB 0x04,0x01,0x15,0x00 +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + +EXTERN OPENSSL_ia32cap_P + +global gcm_gmult_4bit + +ALIGN 16 +gcm_gmult_4bit: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_gcm_gmult_4bit: + mov rdi,rcx + mov rsi,rdx + + + push rbx + push rbp + push r12 +$L$gmult_prologue: + + movzx r8,BYTE[15+rdi] + lea r11,[$L$rem_4bit] + xor rax,rax + xor rbx,rbx + mov al,r8b + mov bl,r8b + shl al,4 + mov rcx,14 + mov r8,QWORD[8+rax*1+rsi] + mov r9,QWORD[rax*1+rsi] + and bl,0xf0 + mov rdx,r8 + jmp NEAR $L$oop1 + +ALIGN 16 +$L$oop1: + shr r8,4 + and rdx,0xf + mov r10,r9 + mov al,BYTE[rcx*1+rdi] + shr r9,4 + xor r8,QWORD[8+rbx*1+rsi] + shl r10,60 + xor r9,QWORD[rbx*1+rsi] + mov bl,al + xor r9,QWORD[rdx*8+r11] + mov rdx,r8 + shl al,4 + xor r8,r10 + dec rcx + js NEAR $L$break1 + + shr r8,4 + and rdx,0xf + mov r10,r9 + shr r9,4 + xor r8,QWORD[8+rax*1+rsi] + shl r10,60 + xor r9,QWORD[rax*1+rsi] + and bl,0xf0 + xor r9,QWORD[rdx*8+r11] + mov rdx,r8 + xor r8,r10 + jmp NEAR $L$oop1 + +ALIGN 16 +$L$break1: + shr r8,4 + and rdx,0xf + mov r10,r9 + shr r9,4 + xor r8,QWORD[8+rax*1+rsi] + shl r10,60 + xor r9,QWORD[rax*1+rsi] + and bl,0xf0 + xor r9,QWORD[rdx*8+r11] + mov rdx,r8 + xor r8,r10 + + shr r8,4 + and rdx,0xf + mov r10,r9 + shr r9,4 + xor r8,QWORD[8+rbx*1+rsi] + shl r10,60 + xor r9,QWORD[rbx*1+rsi] + xor r8,r10 + xor r9,QWORD[rdx*8+r11] + + bswap r8 + bswap r9 + mov QWORD[8+rdi],r8 + mov QWORD[rdi],r9 + + mov rbx,QWORD[16+rsp] + lea rsp,[24+rsp] +$L$gmult_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_gcm_gmult_4bit: +global gcm_ghash_4bit + +ALIGN 16 +gcm_ghash_4bit: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_gcm_ghash_4bit: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + sub rsp,280 +$L$ghash_prologue: + mov r14,rdx + mov r15,rcx + sub rsi,-128 + lea rbp,[((16+128))+rsp] + xor edx,edx + mov r8,QWORD[((0+0-128))+rsi] + mov rax,QWORD[((0+8-128))+rsi] + mov dl,al + shr rax,4 + mov r10,r8 + shr r8,4 + mov r9,QWORD[((16+0-128))+rsi] + shl dl,4 + mov rbx,QWORD[((16+8-128))+rsi] + shl r10,60 + mov BYTE[rsp],dl + or rax,r10 + mov dl,bl + shr rbx,4 + mov r10,r9 + shr r9,4 + mov QWORD[rbp],r8 + mov r8,QWORD[((32+0-128))+rsi] + shl dl,4 + mov QWORD[((0-128))+rbp],rax + mov rax,QWORD[((32+8-128))+rsi] + shl r10,60 + mov BYTE[1+rsp],dl + or rbx,r10 + mov dl,al + shr rax,4 + mov r10,r8 + shr r8,4 + mov QWORD[8+rbp],r9 + mov r9,QWORD[((48+0-128))+rsi] + shl dl,4 + mov QWORD[((8-128))+rbp],rbx + mov rbx,QWORD[((48+8-128))+rsi] + shl r10,60 + mov BYTE[2+rsp],dl + or rax,r10 + mov dl,bl + shr rbx,4 + mov r10,r9 + shr r9,4 + mov QWORD[16+rbp],r8 + mov r8,QWORD[((64+0-128))+rsi] + shl dl,4 + mov QWORD[((16-128))+rbp],rax + mov rax,QWORD[((64+8-128))+rsi] + shl r10,60 + mov BYTE[3+rsp],dl + or rbx,r10 + mov dl,al + shr rax,4 + mov r10,r8 + shr r8,4 + mov QWORD[24+rbp],r9 + mov r9,QWORD[((80+0-128))+rsi] + shl dl,4 + mov QWORD[((24-128))+rbp],rbx + mov rbx,QWORD[((80+8-128))+rsi] + shl r10,60 + mov BYTE[4+rsp],dl + or rax,r10 + mov dl,bl + shr rbx,4 + mov r10,r9 + shr r9,4 + mov QWORD[32+rbp],r8 + mov r8,QWORD[((96+0-128))+rsi] + shl dl,4 + mov QWORD[((32-128))+rbp],rax + mov rax,QWORD[((96+8-128))+rsi] + shl r10,60 + mov BYTE[5+rsp],dl + or rbx,r10 + mov dl,al + shr rax,4 + mov r10,r8 + shr r8,4 + mov QWORD[40+rbp],r9 + mov r9,QWORD[((112+0-128))+rsi] + shl dl,4 + mov QWORD[((40-128))+rbp],rbx + mov rbx,QWORD[((112+8-128))+rsi] + shl r10,60 + mov BYTE[6+rsp],dl + or rax,r10 + mov dl,bl + shr rbx,4 + mov r10,r9 + shr r9,4 + mov QWORD[48+rbp],r8 + mov r8,QWORD[((128+0-128))+rsi] + shl dl,4 + mov QWORD[((48-128))+rbp],rax + mov rax,QWORD[((128+8-128))+rsi] + shl r10,60 + mov BYTE[7+rsp],dl + or rbx,r10 + mov dl,al + shr rax,4 + mov r10,r8 + shr r8,4 + mov QWORD[56+rbp],r9 + mov r9,QWORD[((144+0-128))+rsi] + shl dl,4 + mov QWORD[((56-128))+rbp],rbx + mov rbx,QWORD[((144+8-128))+rsi] + shl r10,60 + mov BYTE[8+rsp],dl + or rax,r10 + mov dl,bl + shr rbx,4 + mov r10,r9 + shr r9,4 + mov QWORD[64+rbp],r8 + mov r8,QWORD[((160+0-128))+rsi] + shl dl,4 + mov QWORD[((64-128))+rbp],rax + mov rax,QWORD[((160+8-128))+rsi] + shl r10,60 + mov BYTE[9+rsp],dl + or rbx,r10 + mov dl,al + shr rax,4 + mov r10,r8 + shr r8,4 + mov QWORD[72+rbp],r9 + mov r9,QWORD[((176+0-128))+rsi] + shl dl,4 + mov QWORD[((72-128))+rbp],rbx + mov rbx,QWORD[((176+8-128))+rsi] + shl r10,60 + mov BYTE[10+rsp],dl + or rax,r10 + mov dl,bl + shr rbx,4 + mov r10,r9 + shr r9,4 + mov QWORD[80+rbp],r8 + mov r8,QWORD[((192+0-128))+rsi] + shl dl,4 + mov QWORD[((80-128))+rbp],rax + mov rax,QWORD[((192+8-128))+rsi] + shl r10,60 + mov BYTE[11+rsp],dl + or rbx,r10 + mov dl,al + shr rax,4 + mov r10,r8 + shr r8,4 + mov QWORD[88+rbp],r9 + mov r9,QWORD[((208+0-128))+rsi] + shl dl,4 + mov QWORD[((88-128))+rbp],rbx + mov rbx,QWORD[((208+8-128))+rsi] + shl r10,60 + mov BYTE[12+rsp],dl + or rax,r10 + mov dl,bl + shr rbx,4 + mov r10,r9 + shr r9,4 + mov QWORD[96+rbp],r8 + mov r8,QWORD[((224+0-128))+rsi] + shl dl,4 + mov QWORD[((96-128))+rbp],rax + mov rax,QWORD[((224+8-128))+rsi] + shl r10,60 + mov BYTE[13+rsp],dl + or rbx,r10 + mov dl,al + shr rax,4 + mov r10,r8 + shr r8,4 + mov QWORD[104+rbp],r9 + mov r9,QWORD[((240+0-128))+rsi] + shl dl,4 + mov QWORD[((104-128))+rbp],rbx + mov rbx,QWORD[((240+8-128))+rsi] + shl r10,60 + mov BYTE[14+rsp],dl + or rax,r10 + mov dl,bl + shr rbx,4 + mov r10,r9 + shr r9,4 + mov QWORD[112+rbp],r8 + shl dl,4 + mov QWORD[((112-128))+rbp],rax + shl r10,60 + mov BYTE[15+rsp],dl + or rbx,r10 + mov QWORD[120+rbp],r9 + mov QWORD[((120-128))+rbp],rbx + add rsi,-128 + mov r8,QWORD[8+rdi] + mov r9,QWORD[rdi] + add r15,r14 + lea r11,[$L$rem_8bit] + jmp NEAR $L$outer_loop +ALIGN 16 +$L$outer_loop: + xor r9,QWORD[r14] + mov rdx,QWORD[8+r14] + lea r14,[16+r14] + xor rdx,r8 + mov QWORD[rdi],r9 + mov QWORD[8+rdi],rdx + shr rdx,32 + xor rax,rax + rol edx,8 + mov al,dl + movzx ebx,dl + shl al,4 + shr ebx,4 + rol edx,8 + mov r8,QWORD[8+rax*1+rsi] + mov r9,QWORD[rax*1+rsi] + mov al,dl + movzx ecx,dl + shl al,4 + movzx r12,BYTE[rbx*1+rsp] + shr ecx,4 + xor r12,r8 + mov r10,r9 + shr r8,8 + movzx r12,r12b + shr r9,8 + xor r8,QWORD[((-128))+rbx*8+rbp] + shl r10,56 + xor r9,QWORD[rbx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r12,WORD[r12*2+r11] + movzx ebx,dl + shl al,4 + movzx r13,BYTE[rcx*1+rsp] + shr ebx,4 + shl r12,48 + xor r13,r8 + mov r10,r9 + xor r9,r12 + shr r8,8 + movzx r13,r13b + shr r9,8 + xor r8,QWORD[((-128))+rcx*8+rbp] + shl r10,56 + xor r9,QWORD[rcx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r13,WORD[r13*2+r11] + movzx ecx,dl + shl al,4 + movzx r12,BYTE[rbx*1+rsp] + shr ecx,4 + shl r13,48 + xor r12,r8 + mov r10,r9 + xor r9,r13 + shr r8,8 + movzx r12,r12b + mov edx,DWORD[8+rdi] + shr r9,8 + xor r8,QWORD[((-128))+rbx*8+rbp] + shl r10,56 + xor r9,QWORD[rbx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r12,WORD[r12*2+r11] + movzx ebx,dl + shl al,4 + movzx r13,BYTE[rcx*1+rsp] + shr ebx,4 + shl r12,48 + xor r13,r8 + mov r10,r9 + xor r9,r12 + shr r8,8 + movzx r13,r13b + shr r9,8 + xor r8,QWORD[((-128))+rcx*8+rbp] + shl r10,56 + xor r9,QWORD[rcx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r13,WORD[r13*2+r11] + movzx ecx,dl + shl al,4 + movzx r12,BYTE[rbx*1+rsp] + shr ecx,4 + shl r13,48 + xor r12,r8 + mov r10,r9 + xor r9,r13 + shr r8,8 + movzx r12,r12b + shr r9,8 + xor r8,QWORD[((-128))+rbx*8+rbp] + shl r10,56 + xor r9,QWORD[rbx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r12,WORD[r12*2+r11] + movzx ebx,dl + shl al,4 + movzx r13,BYTE[rcx*1+rsp] + shr ebx,4 + shl r12,48 + xor r13,r8 + mov r10,r9 + xor r9,r12 + shr r8,8 + movzx r13,r13b + shr r9,8 + xor r8,QWORD[((-128))+rcx*8+rbp] + shl r10,56 + xor r9,QWORD[rcx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r13,WORD[r13*2+r11] + movzx ecx,dl + shl al,4 + movzx r12,BYTE[rbx*1+rsp] + shr ecx,4 + shl r13,48 + xor r12,r8 + mov r10,r9 + xor r9,r13 + shr r8,8 + movzx r12,r12b + mov edx,DWORD[4+rdi] + shr r9,8 + xor r8,QWORD[((-128))+rbx*8+rbp] + shl r10,56 + xor r9,QWORD[rbx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r12,WORD[r12*2+r11] + movzx ebx,dl + shl al,4 + movzx r13,BYTE[rcx*1+rsp] + shr ebx,4 + shl r12,48 + xor r13,r8 + mov r10,r9 + xor r9,r12 + shr r8,8 + movzx r13,r13b + shr r9,8 + xor r8,QWORD[((-128))+rcx*8+rbp] + shl r10,56 + xor r9,QWORD[rcx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r13,WORD[r13*2+r11] + movzx ecx,dl + shl al,4 + movzx r12,BYTE[rbx*1+rsp] + shr ecx,4 + shl r13,48 + xor r12,r8 + mov r10,r9 + xor r9,r13 + shr r8,8 + movzx r12,r12b + shr r9,8 + xor r8,QWORD[((-128))+rbx*8+rbp] + shl r10,56 + xor r9,QWORD[rbx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r12,WORD[r12*2+r11] + movzx ebx,dl + shl al,4 + movzx r13,BYTE[rcx*1+rsp] + shr ebx,4 + shl r12,48 + xor r13,r8 + mov r10,r9 + xor r9,r12 + shr r8,8 + movzx r13,r13b + shr r9,8 + xor r8,QWORD[((-128))+rcx*8+rbp] + shl r10,56 + xor r9,QWORD[rcx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r13,WORD[r13*2+r11] + movzx ecx,dl + shl al,4 + movzx r12,BYTE[rbx*1+rsp] + shr ecx,4 + shl r13,48 + xor r12,r8 + mov r10,r9 + xor r9,r13 + shr r8,8 + movzx r12,r12b + mov edx,DWORD[rdi] + shr r9,8 + xor r8,QWORD[((-128))+rbx*8+rbp] + shl r10,56 + xor r9,QWORD[rbx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r12,WORD[r12*2+r11] + movzx ebx,dl + shl al,4 + movzx r13,BYTE[rcx*1+rsp] + shr ebx,4 + shl r12,48 + xor r13,r8 + mov r10,r9 + xor r9,r12 + shr r8,8 + movzx r13,r13b + shr r9,8 + xor r8,QWORD[((-128))+rcx*8+rbp] + shl r10,56 + xor r9,QWORD[rcx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r13,WORD[r13*2+r11] + movzx ecx,dl + shl al,4 + movzx r12,BYTE[rbx*1+rsp] + shr ecx,4 + shl r13,48 + xor r12,r8 + mov r10,r9 + xor r9,r13 + shr r8,8 + movzx r12,r12b + shr r9,8 + xor r8,QWORD[((-128))+rbx*8+rbp] + shl r10,56 + xor r9,QWORD[rbx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r12,WORD[r12*2+r11] + movzx ebx,dl + shl al,4 + movzx r13,BYTE[rcx*1+rsp] + shr ebx,4 + shl r12,48 + xor r13,r8 + mov r10,r9 + xor r9,r12 + shr r8,8 + movzx r13,r13b + shr r9,8 + xor r8,QWORD[((-128))+rcx*8+rbp] + shl r10,56 + xor r9,QWORD[rcx*8+rbp] + rol edx,8 + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + mov al,dl + xor r8,r10 + movzx r13,WORD[r13*2+r11] + movzx ecx,dl + shl al,4 + movzx r12,BYTE[rbx*1+rsp] + and ecx,240 + shl r13,48 + xor r12,r8 + mov r10,r9 + xor r9,r13 + shr r8,8 + movzx r12,r12b + mov edx,DWORD[((-4))+rdi] + shr r9,8 + xor r8,QWORD[((-128))+rbx*8+rbp] + shl r10,56 + xor r9,QWORD[rbx*8+rbp] + movzx r12,WORD[r12*2+r11] + xor r8,QWORD[8+rax*1+rsi] + xor r9,QWORD[rax*1+rsi] + shl r12,48 + xor r8,r10 + xor r9,r12 + movzx r13,r8b + shr r8,4 + mov r10,r9 + shl r13b,4 + shr r9,4 + xor r8,QWORD[8+rcx*1+rsi] + movzx r13,WORD[r13*2+r11] + shl r10,60 + xor r9,QWORD[rcx*1+rsi] + xor r8,r10 + shl r13,48 + bswap r8 + xor r9,r13 + bswap r9 + cmp r14,r15 + jb NEAR $L$outer_loop + mov QWORD[8+rdi],r8 + mov QWORD[rdi],r9 + + lea rsi,[280+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$ghash_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_gcm_ghash_4bit: +global gcm_init_clmul + +ALIGN 16 +gcm_init_clmul: +$L$_init_clmul: +$L$SEH_begin_gcm_init_clmul: + +DB 0x48,0x83,0xec,0x18 +DB 0x0f,0x29,0x34,0x24 + movdqu xmm2,XMMWORD[rdx] + pshufd xmm2,xmm2,78 + + + pshufd xmm4,xmm2,255 + movdqa xmm3,xmm2 + psllq xmm2,1 + pxor xmm5,xmm5 + psrlq xmm3,63 + pcmpgtd xmm5,xmm4 + pslldq xmm3,8 + por xmm2,xmm3 + + + pand xmm5,XMMWORD[$L$0x1c2_polynomial] + pxor xmm2,xmm5 + + + pshufd xmm6,xmm2,78 + movdqa xmm0,xmm2 + pxor xmm6,xmm2 + movdqa xmm1,xmm0 + pshufd xmm3,xmm0,78 + pxor xmm3,xmm0 +DB 102,15,58,68,194,0 +DB 102,15,58,68,202,17 +DB 102,15,58,68,222,0 + pxor xmm3,xmm0 + pxor xmm3,xmm1 + + movdqa xmm4,xmm3 + psrldq xmm3,8 + pslldq xmm4,8 + pxor xmm1,xmm3 + pxor xmm0,xmm4 + + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + + + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm1,xmm4 + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 + pshufd xmm3,xmm2,78 + pshufd xmm4,xmm0,78 + pxor xmm3,xmm2 + movdqu XMMWORD[rcx],xmm2 + pxor xmm4,xmm0 + movdqu XMMWORD[16+rcx],xmm0 +DB 102,15,58,15,227,8 + movdqu XMMWORD[32+rcx],xmm4 + movdqa xmm1,xmm0 + pshufd xmm3,xmm0,78 + pxor xmm3,xmm0 +DB 102,15,58,68,194,0 +DB 102,15,58,68,202,17 +DB 102,15,58,68,222,0 + pxor xmm3,xmm0 + pxor xmm3,xmm1 + + movdqa xmm4,xmm3 + psrldq xmm3,8 + pslldq xmm4,8 + pxor xmm1,xmm3 + pxor xmm0,xmm4 + + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + + + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm1,xmm4 + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 + movdqa xmm5,xmm0 + movdqa xmm1,xmm0 + pshufd xmm3,xmm0,78 + pxor xmm3,xmm0 +DB 102,15,58,68,194,0 +DB 102,15,58,68,202,17 +DB 102,15,58,68,222,0 + pxor xmm3,xmm0 + pxor xmm3,xmm1 + + movdqa xmm4,xmm3 + psrldq xmm3,8 + pslldq xmm4,8 + pxor xmm1,xmm3 + pxor xmm0,xmm4 + + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + + + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm1,xmm4 + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 + pshufd xmm3,xmm5,78 + pshufd xmm4,xmm0,78 + pxor xmm3,xmm5 + movdqu XMMWORD[48+rcx],xmm5 + pxor xmm4,xmm0 + movdqu XMMWORD[64+rcx],xmm0 +DB 102,15,58,15,227,8 + movdqu XMMWORD[80+rcx],xmm4 + movaps xmm6,XMMWORD[rsp] + lea rsp,[24+rsp] +$L$SEH_end_gcm_init_clmul: + DB 0F3h,0C3h ;repret + +global gcm_gmult_clmul + +ALIGN 16 +gcm_gmult_clmul: +$L$_gmult_clmul: + movdqu xmm0,XMMWORD[rcx] + movdqa xmm5,XMMWORD[$L$bswap_mask] + movdqu xmm2,XMMWORD[rdx] + movdqu xmm4,XMMWORD[32+rdx] +DB 102,15,56,0,197 + movdqa xmm1,xmm0 + pshufd xmm3,xmm0,78 + pxor xmm3,xmm0 +DB 102,15,58,68,194,0 +DB 102,15,58,68,202,17 +DB 102,15,58,68,220,0 + pxor xmm3,xmm0 + pxor xmm3,xmm1 + + movdqa xmm4,xmm3 + psrldq xmm3,8 + pslldq xmm4,8 + pxor xmm1,xmm3 + pxor xmm0,xmm4 + + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + + + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm1,xmm4 + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 +DB 102,15,56,0,197 + movdqu XMMWORD[rcx],xmm0 + DB 0F3h,0C3h ;repret + +global gcm_ghash_clmul + +ALIGN 32 +gcm_ghash_clmul: +$L$_ghash_clmul: + lea rax,[((-136))+rsp] +$L$SEH_begin_gcm_ghash_clmul: + +DB 0x48,0x8d,0x60,0xe0 +DB 0x0f,0x29,0x70,0xe0 +DB 0x0f,0x29,0x78,0xf0 +DB 0x44,0x0f,0x29,0x00 +DB 0x44,0x0f,0x29,0x48,0x10 +DB 0x44,0x0f,0x29,0x50,0x20 +DB 0x44,0x0f,0x29,0x58,0x30 +DB 0x44,0x0f,0x29,0x60,0x40 +DB 0x44,0x0f,0x29,0x68,0x50 +DB 0x44,0x0f,0x29,0x70,0x60 +DB 0x44,0x0f,0x29,0x78,0x70 + movdqa xmm10,XMMWORD[$L$bswap_mask] + + movdqu xmm0,XMMWORD[rcx] + movdqu xmm2,XMMWORD[rdx] + movdqu xmm7,XMMWORD[32+rdx] +DB 102,65,15,56,0,194 + + sub r9,0x10 + jz NEAR $L$odd_tail + + movdqu xmm6,XMMWORD[16+rdx] + mov eax,DWORD[((OPENSSL_ia32cap_P+4))] + cmp r9,0x30 + jb NEAR $L$skip4x + + and eax,71303168 + cmp eax,4194304 + je NEAR $L$skip4x + + sub r9,0x30 + mov rax,0xA040608020C0E000 + movdqu xmm14,XMMWORD[48+rdx] + movdqu xmm15,XMMWORD[64+rdx] + + + + + movdqu xmm3,XMMWORD[48+r8] + movdqu xmm11,XMMWORD[32+r8] +DB 102,65,15,56,0,218 +DB 102,69,15,56,0,218 + movdqa xmm5,xmm3 + pshufd xmm4,xmm3,78 + pxor xmm4,xmm3 +DB 102,15,58,68,218,0 +DB 102,15,58,68,234,17 +DB 102,15,58,68,231,0 + + movdqa xmm13,xmm11 + pshufd xmm12,xmm11,78 + pxor xmm12,xmm11 +DB 102,68,15,58,68,222,0 +DB 102,68,15,58,68,238,17 +DB 102,68,15,58,68,231,16 + xorps xmm3,xmm11 + xorps xmm5,xmm13 + movups xmm7,XMMWORD[80+rdx] + xorps xmm4,xmm12 + + movdqu xmm11,XMMWORD[16+r8] + movdqu xmm8,XMMWORD[r8] +DB 102,69,15,56,0,218 +DB 102,69,15,56,0,194 + movdqa xmm13,xmm11 + pshufd xmm12,xmm11,78 + pxor xmm0,xmm8 + pxor xmm12,xmm11 +DB 102,69,15,58,68,222,0 + movdqa xmm1,xmm0 + pshufd xmm8,xmm0,78 + pxor xmm8,xmm0 +DB 102,69,15,58,68,238,17 +DB 102,68,15,58,68,231,0 + xorps xmm3,xmm11 + xorps xmm5,xmm13 + + lea r8,[64+r8] + sub r9,0x40 + jc NEAR $L$tail4x + + jmp NEAR $L$mod4_loop +ALIGN 32 +$L$mod4_loop: +DB 102,65,15,58,68,199,0 + xorps xmm4,xmm12 + movdqu xmm11,XMMWORD[48+r8] +DB 102,69,15,56,0,218 +DB 102,65,15,58,68,207,17 + xorps xmm0,xmm3 + movdqu xmm3,XMMWORD[32+r8] + movdqa xmm13,xmm11 +DB 102,68,15,58,68,199,16 + pshufd xmm12,xmm11,78 + xorps xmm1,xmm5 + pxor xmm12,xmm11 +DB 102,65,15,56,0,218 + movups xmm7,XMMWORD[32+rdx] + xorps xmm8,xmm4 +DB 102,68,15,58,68,218,0 + pshufd xmm4,xmm3,78 + + pxor xmm8,xmm0 + movdqa xmm5,xmm3 + pxor xmm8,xmm1 + pxor xmm4,xmm3 + movdqa xmm9,xmm8 +DB 102,68,15,58,68,234,17 + pslldq xmm8,8 + psrldq xmm9,8 + pxor xmm0,xmm8 + movdqa xmm8,XMMWORD[$L$7_mask] + pxor xmm1,xmm9 +DB 102,76,15,110,200 + + pand xmm8,xmm0 +DB 102,69,15,56,0,200 + pxor xmm9,xmm0 +DB 102,68,15,58,68,231,0 + psllq xmm9,57 + movdqa xmm8,xmm9 + pslldq xmm9,8 +DB 102,15,58,68,222,0 + psrldq xmm8,8 + pxor xmm0,xmm9 + pxor xmm1,xmm8 + movdqu xmm8,XMMWORD[r8] + + movdqa xmm9,xmm0 + psrlq xmm0,1 +DB 102,15,58,68,238,17 + xorps xmm3,xmm11 + movdqu xmm11,XMMWORD[16+r8] +DB 102,69,15,56,0,218 +DB 102,15,58,68,231,16 + xorps xmm5,xmm13 + movups xmm7,XMMWORD[80+rdx] +DB 102,69,15,56,0,194 + pxor xmm1,xmm9 + pxor xmm9,xmm0 + psrlq xmm0,5 + + movdqa xmm13,xmm11 + pxor xmm4,xmm12 + pshufd xmm12,xmm11,78 + pxor xmm0,xmm9 + pxor xmm1,xmm8 + pxor xmm12,xmm11 +DB 102,69,15,58,68,222,0 + psrlq xmm0,1 + pxor xmm0,xmm1 + movdqa xmm1,xmm0 +DB 102,69,15,58,68,238,17 + xorps xmm3,xmm11 + pshufd xmm8,xmm0,78 + pxor xmm8,xmm0 + +DB 102,68,15,58,68,231,0 + xorps xmm5,xmm13 + + lea r8,[64+r8] + sub r9,0x40 + jnc NEAR $L$mod4_loop + +$L$tail4x: +DB 102,65,15,58,68,199,0 +DB 102,65,15,58,68,207,17 +DB 102,68,15,58,68,199,16 + xorps xmm4,xmm12 + xorps xmm0,xmm3 + xorps xmm1,xmm5 + pxor xmm1,xmm0 + pxor xmm8,xmm4 + + pxor xmm8,xmm1 + pxor xmm1,xmm0 + + movdqa xmm9,xmm8 + psrldq xmm8,8 + pslldq xmm9,8 + pxor xmm1,xmm8 + pxor xmm0,xmm9 + + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + + + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm1,xmm4 + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 + add r9,0x40 + jz NEAR $L$done + movdqu xmm7,XMMWORD[32+rdx] + sub r9,0x10 + jz NEAR $L$odd_tail +$L$skip4x: + + + + + + movdqu xmm8,XMMWORD[r8] + movdqu xmm3,XMMWORD[16+r8] +DB 102,69,15,56,0,194 +DB 102,65,15,56,0,218 + pxor xmm0,xmm8 + + movdqa xmm5,xmm3 + pshufd xmm4,xmm3,78 + pxor xmm4,xmm3 +DB 102,15,58,68,218,0 +DB 102,15,58,68,234,17 +DB 102,15,58,68,231,0 + + lea r8,[32+r8] + nop + sub r9,0x20 + jbe NEAR $L$even_tail + nop + jmp NEAR $L$mod_loop + +ALIGN 32 +$L$mod_loop: + movdqa xmm1,xmm0 + movdqa xmm8,xmm4 + pshufd xmm4,xmm0,78 + pxor xmm4,xmm0 + +DB 102,15,58,68,198,0 +DB 102,15,58,68,206,17 +DB 102,15,58,68,231,16 + + pxor xmm0,xmm3 + pxor xmm1,xmm5 + movdqu xmm9,XMMWORD[r8] + pxor xmm8,xmm0 +DB 102,69,15,56,0,202 + movdqu xmm3,XMMWORD[16+r8] + + pxor xmm8,xmm1 + pxor xmm1,xmm9 + pxor xmm4,xmm8 +DB 102,65,15,56,0,218 + movdqa xmm8,xmm4 + psrldq xmm8,8 + pslldq xmm4,8 + pxor xmm1,xmm8 + pxor xmm0,xmm4 + + movdqa xmm5,xmm3 + + movdqa xmm9,xmm0 + movdqa xmm8,xmm0 + psllq xmm0,5 + pxor xmm8,xmm0 +DB 102,15,58,68,218,0 + psllq xmm0,1 + pxor xmm0,xmm8 + psllq xmm0,57 + movdqa xmm8,xmm0 + pslldq xmm0,8 + psrldq xmm8,8 + pxor xmm0,xmm9 + pshufd xmm4,xmm5,78 + pxor xmm1,xmm8 + pxor xmm4,xmm5 + + movdqa xmm9,xmm0 + psrlq xmm0,1 +DB 102,15,58,68,234,17 + pxor xmm1,xmm9 + pxor xmm9,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm9 + lea r8,[32+r8] + psrlq xmm0,1 +DB 102,15,58,68,231,0 + pxor xmm0,xmm1 + + sub r9,0x20 + ja NEAR $L$mod_loop + +$L$even_tail: + movdqa xmm1,xmm0 + movdqa xmm8,xmm4 + pshufd xmm4,xmm0,78 + pxor xmm4,xmm0 + +DB 102,15,58,68,198,0 +DB 102,15,58,68,206,17 +DB 102,15,58,68,231,16 + + pxor xmm0,xmm3 + pxor xmm1,xmm5 + pxor xmm8,xmm0 + pxor xmm8,xmm1 + pxor xmm4,xmm8 + movdqa xmm8,xmm4 + psrldq xmm8,8 + pslldq xmm4,8 + pxor xmm1,xmm8 + pxor xmm0,xmm4 + + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + + + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm1,xmm4 + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 + test r9,r9 + jnz NEAR $L$done + +$L$odd_tail: + movdqu xmm8,XMMWORD[r8] +DB 102,69,15,56,0,194 + pxor xmm0,xmm8 + movdqa xmm1,xmm0 + pshufd xmm3,xmm0,78 + pxor xmm3,xmm0 +DB 102,15,58,68,194,0 +DB 102,15,58,68,202,17 +DB 102,15,58,68,223,0 + pxor xmm3,xmm0 + pxor xmm3,xmm1 + + movdqa xmm4,xmm3 + psrldq xmm3,8 + pslldq xmm4,8 + pxor xmm1,xmm3 + pxor xmm0,xmm4 + + movdqa xmm4,xmm0 + movdqa xmm3,xmm0 + psllq xmm0,5 + pxor xmm3,xmm0 + psllq xmm0,1 + pxor xmm0,xmm3 + psllq xmm0,57 + movdqa xmm3,xmm0 + pslldq xmm0,8 + psrldq xmm3,8 + pxor xmm0,xmm4 + pxor xmm1,xmm3 + + + movdqa xmm4,xmm0 + psrlq xmm0,1 + pxor xmm1,xmm4 + pxor xmm4,xmm0 + psrlq xmm0,5 + pxor xmm0,xmm4 + psrlq xmm0,1 + pxor xmm0,xmm1 +$L$done: +DB 102,65,15,56,0,194 + movdqu XMMWORD[rcx],xmm0 + movaps xmm6,XMMWORD[rsp] + movaps xmm7,XMMWORD[16+rsp] + movaps xmm8,XMMWORD[32+rsp] + movaps xmm9,XMMWORD[48+rsp] + movaps xmm10,XMMWORD[64+rsp] + movaps xmm11,XMMWORD[80+rsp] + movaps xmm12,XMMWORD[96+rsp] + movaps xmm13,XMMWORD[112+rsp] + movaps xmm14,XMMWORD[128+rsp] + movaps xmm15,XMMWORD[144+rsp] + lea rsp,[168+rsp] +$L$SEH_end_gcm_ghash_clmul: + DB 0F3h,0C3h ;repret + +global gcm_init_avx + +ALIGN 32 +gcm_init_avx: +$L$SEH_begin_gcm_init_avx: + +DB 0x48,0x83,0xec,0x18 +DB 0x0f,0x29,0x34,0x24 + vzeroupper + + vmovdqu xmm2,XMMWORD[rdx] + vpshufd xmm2,xmm2,78 + + + vpshufd xmm4,xmm2,255 + vpsrlq xmm3,xmm2,63 + vpsllq xmm2,xmm2,1 + vpxor xmm5,xmm5,xmm5 + vpcmpgtd xmm5,xmm5,xmm4 + vpslldq xmm3,xmm3,8 + vpor xmm2,xmm2,xmm3 + + + vpand xmm5,xmm5,XMMWORD[$L$0x1c2_polynomial] + vpxor xmm2,xmm2,xmm5 + + vpunpckhqdq xmm6,xmm2,xmm2 + vmovdqa xmm0,xmm2 + vpxor xmm6,xmm6,xmm2 + mov r10,4 + jmp NEAR $L$init_start_avx +ALIGN 32 +$L$init_loop_avx: + vpalignr xmm5,xmm4,xmm3,8 + vmovdqu XMMWORD[(-16)+rcx],xmm5 + vpunpckhqdq xmm3,xmm0,xmm0 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm1,xmm0,xmm2,0x11 + vpclmulqdq xmm0,xmm0,xmm2,0x00 + vpclmulqdq xmm3,xmm3,xmm6,0x00 + vpxor xmm4,xmm1,xmm0 + vpxor xmm3,xmm3,xmm4 + + vpslldq xmm4,xmm3,8 + vpsrldq xmm3,xmm3,8 + vpxor xmm0,xmm0,xmm4 + vpxor xmm1,xmm1,xmm3 + vpsllq xmm3,xmm0,57 + vpsllq xmm4,xmm0,62 + vpxor xmm4,xmm4,xmm3 + vpsllq xmm3,xmm0,63 + vpxor xmm4,xmm4,xmm3 + vpslldq xmm3,xmm4,8 + vpsrldq xmm4,xmm4,8 + vpxor xmm0,xmm0,xmm3 + vpxor xmm1,xmm1,xmm4 + + vpsrlq xmm4,xmm0,1 + vpxor xmm1,xmm1,xmm0 + vpxor xmm0,xmm0,xmm4 + vpsrlq xmm4,xmm4,5 + vpxor xmm0,xmm0,xmm4 + vpsrlq xmm0,xmm0,1 + vpxor xmm0,xmm0,xmm1 +$L$init_start_avx: + vmovdqa xmm5,xmm0 + vpunpckhqdq xmm3,xmm0,xmm0 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm1,xmm0,xmm2,0x11 + vpclmulqdq xmm0,xmm0,xmm2,0x00 + vpclmulqdq xmm3,xmm3,xmm6,0x00 + vpxor xmm4,xmm1,xmm0 + vpxor xmm3,xmm3,xmm4 + + vpslldq xmm4,xmm3,8 + vpsrldq xmm3,xmm3,8 + vpxor xmm0,xmm0,xmm4 + vpxor xmm1,xmm1,xmm3 + vpsllq xmm3,xmm0,57 + vpsllq xmm4,xmm0,62 + vpxor xmm4,xmm4,xmm3 + vpsllq xmm3,xmm0,63 + vpxor xmm4,xmm4,xmm3 + vpslldq xmm3,xmm4,8 + vpsrldq xmm4,xmm4,8 + vpxor xmm0,xmm0,xmm3 + vpxor xmm1,xmm1,xmm4 + + vpsrlq xmm4,xmm0,1 + vpxor xmm1,xmm1,xmm0 + vpxor xmm0,xmm0,xmm4 + vpsrlq xmm4,xmm4,5 + vpxor xmm0,xmm0,xmm4 + vpsrlq xmm0,xmm0,1 + vpxor xmm0,xmm0,xmm1 + vpshufd xmm3,xmm5,78 + vpshufd xmm4,xmm0,78 + vpxor xmm3,xmm3,xmm5 + vmovdqu XMMWORD[rcx],xmm5 + vpxor xmm4,xmm4,xmm0 + vmovdqu XMMWORD[16+rcx],xmm0 + lea rcx,[48+rcx] + sub r10,1 + jnz NEAR $L$init_loop_avx + + vpalignr xmm5,xmm3,xmm4,8 + vmovdqu XMMWORD[(-16)+rcx],xmm5 + + vzeroupper + movaps xmm6,XMMWORD[rsp] + lea rsp,[24+rsp] +$L$SEH_end_gcm_init_avx: + DB 0F3h,0C3h ;repret + +global gcm_gmult_avx + +ALIGN 32 +gcm_gmult_avx: + jmp NEAR $L$_gmult_clmul + +global gcm_ghash_avx + +ALIGN 32 +gcm_ghash_avx: + lea rax,[((-136))+rsp] +$L$SEH_begin_gcm_ghash_avx: + +DB 0x48,0x8d,0x60,0xe0 +DB 0x0f,0x29,0x70,0xe0 +DB 0x0f,0x29,0x78,0xf0 +DB 0x44,0x0f,0x29,0x00 +DB 0x44,0x0f,0x29,0x48,0x10 +DB 0x44,0x0f,0x29,0x50,0x20 +DB 0x44,0x0f,0x29,0x58,0x30 +DB 0x44,0x0f,0x29,0x60,0x40 +DB 0x44,0x0f,0x29,0x68,0x50 +DB 0x44,0x0f,0x29,0x70,0x60 +DB 0x44,0x0f,0x29,0x78,0x70 + vzeroupper + + vmovdqu xmm10,XMMWORD[rcx] + lea r10,[$L$0x1c2_polynomial] + lea rdx,[64+rdx] + vmovdqu xmm13,XMMWORD[$L$bswap_mask] + vpshufb xmm10,xmm10,xmm13 + cmp r9,0x80 + jb NEAR $L$short_avx + sub r9,0x80 + + vmovdqu xmm14,XMMWORD[112+r8] + vmovdqu xmm6,XMMWORD[((0-64))+rdx] + vpshufb xmm14,xmm14,xmm13 + vmovdqu xmm7,XMMWORD[((32-64))+rdx] + + vpunpckhqdq xmm9,xmm14,xmm14 + vmovdqu xmm15,XMMWORD[96+r8] + vpclmulqdq xmm0,xmm14,xmm6,0x00 + vpxor xmm9,xmm9,xmm14 + vpshufb xmm15,xmm15,xmm13 + vpclmulqdq xmm1,xmm14,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((16-64))+rdx] + vpunpckhqdq xmm8,xmm15,xmm15 + vmovdqu xmm14,XMMWORD[80+r8] + vpclmulqdq xmm2,xmm9,xmm7,0x00 + vpxor xmm8,xmm8,xmm15 + + vpshufb xmm14,xmm14,xmm13 + vpclmulqdq xmm3,xmm15,xmm6,0x00 + vpunpckhqdq xmm9,xmm14,xmm14 + vpclmulqdq xmm4,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((48-64))+rdx] + vpxor xmm9,xmm9,xmm14 + vmovdqu xmm15,XMMWORD[64+r8] + vpclmulqdq xmm5,xmm8,xmm7,0x10 + vmovdqu xmm7,XMMWORD[((80-64))+rdx] + + vpshufb xmm15,xmm15,xmm13 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm0,xmm14,xmm6,0x00 + vpxor xmm4,xmm4,xmm1 + vpunpckhqdq xmm8,xmm15,xmm15 + vpclmulqdq xmm1,xmm14,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((64-64))+rdx] + vpxor xmm5,xmm5,xmm2 + vpclmulqdq xmm2,xmm9,xmm7,0x00 + vpxor xmm8,xmm8,xmm15 + + vmovdqu xmm14,XMMWORD[48+r8] + vpxor xmm0,xmm0,xmm3 + vpclmulqdq xmm3,xmm15,xmm6,0x00 + vpxor xmm1,xmm1,xmm4 + vpshufb xmm14,xmm14,xmm13 + vpclmulqdq xmm4,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((96-64))+rdx] + vpxor xmm2,xmm2,xmm5 + vpunpckhqdq xmm9,xmm14,xmm14 + vpclmulqdq xmm5,xmm8,xmm7,0x10 + vmovdqu xmm7,XMMWORD[((128-64))+rdx] + vpxor xmm9,xmm9,xmm14 + + vmovdqu xmm15,XMMWORD[32+r8] + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm0,xmm14,xmm6,0x00 + vpxor xmm4,xmm4,xmm1 + vpshufb xmm15,xmm15,xmm13 + vpclmulqdq xmm1,xmm14,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((112-64))+rdx] + vpxor xmm5,xmm5,xmm2 + vpunpckhqdq xmm8,xmm15,xmm15 + vpclmulqdq xmm2,xmm9,xmm7,0x00 + vpxor xmm8,xmm8,xmm15 + + vmovdqu xmm14,XMMWORD[16+r8] + vpxor xmm0,xmm0,xmm3 + vpclmulqdq xmm3,xmm15,xmm6,0x00 + vpxor xmm1,xmm1,xmm4 + vpshufb xmm14,xmm14,xmm13 + vpclmulqdq xmm4,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((144-64))+rdx] + vpxor xmm2,xmm2,xmm5 + vpunpckhqdq xmm9,xmm14,xmm14 + vpclmulqdq xmm5,xmm8,xmm7,0x10 + vmovdqu xmm7,XMMWORD[((176-64))+rdx] + vpxor xmm9,xmm9,xmm14 + + vmovdqu xmm15,XMMWORD[r8] + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm0,xmm14,xmm6,0x00 + vpxor xmm4,xmm4,xmm1 + vpshufb xmm15,xmm15,xmm13 + vpclmulqdq xmm1,xmm14,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((160-64))+rdx] + vpxor xmm5,xmm5,xmm2 + vpclmulqdq xmm2,xmm9,xmm7,0x10 + + lea r8,[128+r8] + cmp r9,0x80 + jb NEAR $L$tail_avx + + vpxor xmm15,xmm15,xmm10 + sub r9,0x80 + jmp NEAR $L$oop8x_avx + +ALIGN 32 +$L$oop8x_avx: + vpunpckhqdq xmm8,xmm15,xmm15 + vmovdqu xmm14,XMMWORD[112+r8] + vpxor xmm3,xmm3,xmm0 + vpxor xmm8,xmm8,xmm15 + vpclmulqdq xmm10,xmm15,xmm6,0x00 + vpshufb xmm14,xmm14,xmm13 + vpxor xmm4,xmm4,xmm1 + vpclmulqdq xmm11,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((0-64))+rdx] + vpunpckhqdq xmm9,xmm14,xmm14 + vpxor xmm5,xmm5,xmm2 + vpclmulqdq xmm12,xmm8,xmm7,0x00 + vmovdqu xmm7,XMMWORD[((32-64))+rdx] + vpxor xmm9,xmm9,xmm14 + + vmovdqu xmm15,XMMWORD[96+r8] + vpclmulqdq xmm0,xmm14,xmm6,0x00 + vpxor xmm10,xmm10,xmm3 + vpshufb xmm15,xmm15,xmm13 + vpclmulqdq xmm1,xmm14,xmm6,0x11 + vxorps xmm11,xmm11,xmm4 + vmovdqu xmm6,XMMWORD[((16-64))+rdx] + vpunpckhqdq xmm8,xmm15,xmm15 + vpclmulqdq xmm2,xmm9,xmm7,0x00 + vpxor xmm12,xmm12,xmm5 + vxorps xmm8,xmm8,xmm15 + + vmovdqu xmm14,XMMWORD[80+r8] + vpxor xmm12,xmm12,xmm10 + vpclmulqdq xmm3,xmm15,xmm6,0x00 + vpxor xmm12,xmm12,xmm11 + vpslldq xmm9,xmm12,8 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm4,xmm15,xmm6,0x11 + vpsrldq xmm12,xmm12,8 + vpxor xmm10,xmm10,xmm9 + vmovdqu xmm6,XMMWORD[((48-64))+rdx] + vpshufb xmm14,xmm14,xmm13 + vxorps xmm11,xmm11,xmm12 + vpxor xmm4,xmm4,xmm1 + vpunpckhqdq xmm9,xmm14,xmm14 + vpclmulqdq xmm5,xmm8,xmm7,0x10 + vmovdqu xmm7,XMMWORD[((80-64))+rdx] + vpxor xmm9,xmm9,xmm14 + vpxor xmm5,xmm5,xmm2 + + vmovdqu xmm15,XMMWORD[64+r8] + vpalignr xmm12,xmm10,xmm10,8 + vpclmulqdq xmm0,xmm14,xmm6,0x00 + vpshufb xmm15,xmm15,xmm13 + vpxor xmm0,xmm0,xmm3 + vpclmulqdq xmm1,xmm14,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((64-64))+rdx] + vpunpckhqdq xmm8,xmm15,xmm15 + vpxor xmm1,xmm1,xmm4 + vpclmulqdq xmm2,xmm9,xmm7,0x00 + vxorps xmm8,xmm8,xmm15 + vpxor xmm2,xmm2,xmm5 + + vmovdqu xmm14,XMMWORD[48+r8] + vpclmulqdq xmm10,xmm10,XMMWORD[r10],0x10 + vpclmulqdq xmm3,xmm15,xmm6,0x00 + vpshufb xmm14,xmm14,xmm13 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm4,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((96-64))+rdx] + vpunpckhqdq xmm9,xmm14,xmm14 + vpxor xmm4,xmm4,xmm1 + vpclmulqdq xmm5,xmm8,xmm7,0x10 + vmovdqu xmm7,XMMWORD[((128-64))+rdx] + vpxor xmm9,xmm9,xmm14 + vpxor xmm5,xmm5,xmm2 + + vmovdqu xmm15,XMMWORD[32+r8] + vpclmulqdq xmm0,xmm14,xmm6,0x00 + vpshufb xmm15,xmm15,xmm13 + vpxor xmm0,xmm0,xmm3 + vpclmulqdq xmm1,xmm14,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((112-64))+rdx] + vpunpckhqdq xmm8,xmm15,xmm15 + vpxor xmm1,xmm1,xmm4 + vpclmulqdq xmm2,xmm9,xmm7,0x00 + vpxor xmm8,xmm8,xmm15 + vpxor xmm2,xmm2,xmm5 + vxorps xmm10,xmm10,xmm12 + + vmovdqu xmm14,XMMWORD[16+r8] + vpalignr xmm12,xmm10,xmm10,8 + vpclmulqdq xmm3,xmm15,xmm6,0x00 + vpshufb xmm14,xmm14,xmm13 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm4,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((144-64))+rdx] + vpclmulqdq xmm10,xmm10,XMMWORD[r10],0x10 + vxorps xmm12,xmm12,xmm11 + vpunpckhqdq xmm9,xmm14,xmm14 + vpxor xmm4,xmm4,xmm1 + vpclmulqdq xmm5,xmm8,xmm7,0x10 + vmovdqu xmm7,XMMWORD[((176-64))+rdx] + vpxor xmm9,xmm9,xmm14 + vpxor xmm5,xmm5,xmm2 + + vmovdqu xmm15,XMMWORD[r8] + vpclmulqdq xmm0,xmm14,xmm6,0x00 + vpshufb xmm15,xmm15,xmm13 + vpclmulqdq xmm1,xmm14,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((160-64))+rdx] + vpxor xmm15,xmm15,xmm12 + vpclmulqdq xmm2,xmm9,xmm7,0x10 + vpxor xmm15,xmm15,xmm10 + + lea r8,[128+r8] + sub r9,0x80 + jnc NEAR $L$oop8x_avx + + add r9,0x80 + jmp NEAR $L$tail_no_xor_avx + +ALIGN 32 +$L$short_avx: + vmovdqu xmm14,XMMWORD[((-16))+r9*1+r8] + lea r8,[r9*1+r8] + vmovdqu xmm6,XMMWORD[((0-64))+rdx] + vmovdqu xmm7,XMMWORD[((32-64))+rdx] + vpshufb xmm15,xmm14,xmm13 + + vmovdqa xmm3,xmm0 + vmovdqa xmm4,xmm1 + vmovdqa xmm5,xmm2 + sub r9,0x10 + jz NEAR $L$tail_avx + + vpunpckhqdq xmm8,xmm15,xmm15 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm0,xmm15,xmm6,0x00 + vpxor xmm8,xmm8,xmm15 + vmovdqu xmm14,XMMWORD[((-32))+r8] + vpxor xmm4,xmm4,xmm1 + vpclmulqdq xmm1,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((16-64))+rdx] + vpshufb xmm15,xmm14,xmm13 + vpxor xmm5,xmm5,xmm2 + vpclmulqdq xmm2,xmm8,xmm7,0x00 + vpsrldq xmm7,xmm7,8 + sub r9,0x10 + jz NEAR $L$tail_avx + + vpunpckhqdq xmm8,xmm15,xmm15 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm0,xmm15,xmm6,0x00 + vpxor xmm8,xmm8,xmm15 + vmovdqu xmm14,XMMWORD[((-48))+r8] + vpxor xmm4,xmm4,xmm1 + vpclmulqdq xmm1,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((48-64))+rdx] + vpshufb xmm15,xmm14,xmm13 + vpxor xmm5,xmm5,xmm2 + vpclmulqdq xmm2,xmm8,xmm7,0x00 + vmovdqu xmm7,XMMWORD[((80-64))+rdx] + sub r9,0x10 + jz NEAR $L$tail_avx + + vpunpckhqdq xmm8,xmm15,xmm15 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm0,xmm15,xmm6,0x00 + vpxor xmm8,xmm8,xmm15 + vmovdqu xmm14,XMMWORD[((-64))+r8] + vpxor xmm4,xmm4,xmm1 + vpclmulqdq xmm1,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((64-64))+rdx] + vpshufb xmm15,xmm14,xmm13 + vpxor xmm5,xmm5,xmm2 + vpclmulqdq xmm2,xmm8,xmm7,0x00 + vpsrldq xmm7,xmm7,8 + sub r9,0x10 + jz NEAR $L$tail_avx + + vpunpckhqdq xmm8,xmm15,xmm15 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm0,xmm15,xmm6,0x00 + vpxor xmm8,xmm8,xmm15 + vmovdqu xmm14,XMMWORD[((-80))+r8] + vpxor xmm4,xmm4,xmm1 + vpclmulqdq xmm1,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((96-64))+rdx] + vpshufb xmm15,xmm14,xmm13 + vpxor xmm5,xmm5,xmm2 + vpclmulqdq xmm2,xmm8,xmm7,0x00 + vmovdqu xmm7,XMMWORD[((128-64))+rdx] + sub r9,0x10 + jz NEAR $L$tail_avx + + vpunpckhqdq xmm8,xmm15,xmm15 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm0,xmm15,xmm6,0x00 + vpxor xmm8,xmm8,xmm15 + vmovdqu xmm14,XMMWORD[((-96))+r8] + vpxor xmm4,xmm4,xmm1 + vpclmulqdq xmm1,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((112-64))+rdx] + vpshufb xmm15,xmm14,xmm13 + vpxor xmm5,xmm5,xmm2 + vpclmulqdq xmm2,xmm8,xmm7,0x00 + vpsrldq xmm7,xmm7,8 + sub r9,0x10 + jz NEAR $L$tail_avx + + vpunpckhqdq xmm8,xmm15,xmm15 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm0,xmm15,xmm6,0x00 + vpxor xmm8,xmm8,xmm15 + vmovdqu xmm14,XMMWORD[((-112))+r8] + vpxor xmm4,xmm4,xmm1 + vpclmulqdq xmm1,xmm15,xmm6,0x11 + vmovdqu xmm6,XMMWORD[((144-64))+rdx] + vpshufb xmm15,xmm14,xmm13 + vpxor xmm5,xmm5,xmm2 + vpclmulqdq xmm2,xmm8,xmm7,0x00 + vmovq xmm7,QWORD[((184-64))+rdx] + sub r9,0x10 + jmp NEAR $L$tail_avx + +ALIGN 32 +$L$tail_avx: + vpxor xmm15,xmm15,xmm10 +$L$tail_no_xor_avx: + vpunpckhqdq xmm8,xmm15,xmm15 + vpxor xmm3,xmm3,xmm0 + vpclmulqdq xmm0,xmm15,xmm6,0x00 + vpxor xmm8,xmm8,xmm15 + vpxor xmm4,xmm4,xmm1 + vpclmulqdq xmm1,xmm15,xmm6,0x11 + vpxor xmm5,xmm5,xmm2 + vpclmulqdq xmm2,xmm8,xmm7,0x00 + + vmovdqu xmm12,XMMWORD[r10] + + vpxor xmm10,xmm3,xmm0 + vpxor xmm11,xmm4,xmm1 + vpxor xmm5,xmm5,xmm2 + + vpxor xmm5,xmm5,xmm10 + vpxor xmm5,xmm5,xmm11 + vpslldq xmm9,xmm5,8 + vpsrldq xmm5,xmm5,8 + vpxor xmm10,xmm10,xmm9 + vpxor xmm11,xmm11,xmm5 + + vpclmulqdq xmm9,xmm10,xmm12,0x10 + vpalignr xmm10,xmm10,xmm10,8 + vpxor xmm10,xmm10,xmm9 + + vpclmulqdq xmm9,xmm10,xmm12,0x10 + vpalignr xmm10,xmm10,xmm10,8 + vpxor xmm10,xmm10,xmm11 + vpxor xmm10,xmm10,xmm9 + + cmp r9,0 + jne NEAR $L$short_avx + + vpshufb xmm10,xmm10,xmm13 + vmovdqu XMMWORD[rcx],xmm10 + vzeroupper + movaps xmm6,XMMWORD[rsp] + movaps xmm7,XMMWORD[16+rsp] + movaps xmm8,XMMWORD[32+rsp] + movaps xmm9,XMMWORD[48+rsp] + movaps xmm10,XMMWORD[64+rsp] + movaps xmm11,XMMWORD[80+rsp] + movaps xmm12,XMMWORD[96+rsp] + movaps xmm13,XMMWORD[112+rsp] + movaps xmm14,XMMWORD[128+rsp] + movaps xmm15,XMMWORD[144+rsp] + lea rsp,[168+rsp] +$L$SEH_end_gcm_ghash_avx: + DB 0F3h,0C3h ;repret + +ALIGN 64 +$L$bswap_mask: +DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 +$L$0x1c2_polynomial: +DB 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 +$L$7_mask: + DD 7,0,7,0 +$L$7_mask_poly: + DD 7,0,450,0 +ALIGN 64 + +$L$rem_4bit: + DD 0,0,0,471859200,0,943718400,0,610271232 + DD 0,1887436800,0,1822425088,0,1220542464,0,1423966208 + DD 0,3774873600,0,4246732800,0,3644850176,0,3311403008 + DD 0,2441084928,0,2376073216,0,2847932416,0,3051356160 + +$L$rem_8bit: + DW 0x0000,0x01C2,0x0384,0x0246,0x0708,0x06CA,0x048C,0x054E + DW 0x0E10,0x0FD2,0x0D94,0x0C56,0x0918,0x08DA,0x0A9C,0x0B5E + DW 0x1C20,0x1DE2,0x1FA4,0x1E66,0x1B28,0x1AEA,0x18AC,0x196E + DW 0x1230,0x13F2,0x11B4,0x1076,0x1538,0x14FA,0x16BC,0x177E + DW 0x3840,0x3982,0x3BC4,0x3A06,0x3F48,0x3E8A,0x3CCC,0x3D0E + DW 0x3650,0x3792,0x35D4,0x3416,0x3158,0x309A,0x32DC,0x331E + DW 0x2460,0x25A2,0x27E4,0x2626,0x2368,0x22AA,0x20EC,0x212E + DW 0x2A70,0x2BB2,0x29F4,0x2836,0x2D78,0x2CBA,0x2EFC,0x2F3E + DW 0x7080,0x7142,0x7304,0x72C6,0x7788,0x764A,0x740C,0x75CE + DW 0x7E90,0x7F52,0x7D14,0x7CD6,0x7998,0x785A,0x7A1C,0x7BDE + DW 0x6CA0,0x6D62,0x6F24,0x6EE6,0x6BA8,0x6A6A,0x682C,0x69EE + DW 0x62B0,0x6372,0x6134,0x60F6,0x65B8,0x647A,0x663C,0x67FE + DW 0x48C0,0x4902,0x4B44,0x4A86,0x4FC8,0x4E0A,0x4C4C,0x4D8E + DW 0x46D0,0x4712,0x4554,0x4496,0x41D8,0x401A,0x425C,0x439E + DW 0x54E0,0x5522,0x5764,0x56A6,0x53E8,0x522A,0x506C,0x51AE + DW 0x5AF0,0x5B32,0x5974,0x58B6,0x5DF8,0x5C3A,0x5E7C,0x5FBE + DW 0xE100,0xE0C2,0xE284,0xE346,0xE608,0xE7CA,0xE58C,0xE44E + DW 0xEF10,0xEED2,0xEC94,0xED56,0xE818,0xE9DA,0xEB9C,0xEA5E + DW 0xFD20,0xFCE2,0xFEA4,0xFF66,0xFA28,0xFBEA,0xF9AC,0xF86E + DW 0xF330,0xF2F2,0xF0B4,0xF176,0xF438,0xF5FA,0xF7BC,0xF67E + DW 0xD940,0xD882,0xDAC4,0xDB06,0xDE48,0xDF8A,0xDDCC,0xDC0E + DW 0xD750,0xD692,0xD4D4,0xD516,0xD058,0xD19A,0xD3DC,0xD21E + DW 0xC560,0xC4A2,0xC6E4,0xC726,0xC268,0xC3AA,0xC1EC,0xC02E + DW 0xCB70,0xCAB2,0xC8F4,0xC936,0xCC78,0xCDBA,0xCFFC,0xCE3E + DW 0x9180,0x9042,0x9204,0x93C6,0x9688,0x974A,0x950C,0x94CE + DW 0x9F90,0x9E52,0x9C14,0x9DD6,0x9898,0x995A,0x9B1C,0x9ADE + DW 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE + DW 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE + DW 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E + DW 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E + DW 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE + DW 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE + +DB 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52 +DB 44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32 +DB 60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111 +DB 114,103,62,0 +ALIGN 64 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + + lea rax,[24+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_gcm_gmult_4bit wrt ..imagebase + DD $L$SEH_end_gcm_gmult_4bit wrt ..imagebase + DD $L$SEH_info_gcm_gmult_4bit wrt ..imagebase + + DD $L$SEH_begin_gcm_ghash_4bit wrt ..imagebase + DD $L$SEH_end_gcm_ghash_4bit wrt ..imagebase + DD $L$SEH_info_gcm_ghash_4bit wrt ..imagebase + + DD $L$SEH_begin_gcm_init_clmul wrt ..imagebase + DD $L$SEH_end_gcm_init_clmul wrt ..imagebase + DD $L$SEH_info_gcm_init_clmul wrt ..imagebase + + DD $L$SEH_begin_gcm_ghash_clmul wrt ..imagebase + DD $L$SEH_end_gcm_ghash_clmul wrt ..imagebase + DD $L$SEH_info_gcm_ghash_clmul wrt ..imagebase + DD $L$SEH_begin_gcm_init_avx wrt ..imagebase + DD $L$SEH_end_gcm_init_avx wrt ..imagebase + DD $L$SEH_info_gcm_init_clmul wrt ..imagebase + + DD $L$SEH_begin_gcm_ghash_avx wrt ..imagebase + DD $L$SEH_end_gcm_ghash_avx wrt ..imagebase + DD $L$SEH_info_gcm_ghash_clmul wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_gcm_gmult_4bit: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$gmult_prologue wrt ..imagebase,$L$gmult_epilogue wrt ..imagebase +$L$SEH_info_gcm_ghash_4bit: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$ghash_prologue wrt ..imagebase,$L$ghash_epilogue wrt ..imagebase +$L$SEH_info_gcm_init_clmul: +DB 0x01,0x08,0x03,0x00 +DB 0x08,0x68,0x00,0x00 +DB 0x04,0x22,0x00,0x00 +$L$SEH_info_gcm_ghash_clmul: +DB 0x01,0x33,0x16,0x00 +DB 0x33,0xf8,0x09,0x00 +DB 0x2e,0xe8,0x08,0x00 +DB 0x29,0xd8,0x07,0x00 +DB 0x24,0xc8,0x06,0x00 +DB 0x1f,0xb8,0x05,0x00 +DB 0x1a,0xa8,0x04,0x00 +DB 0x15,0x98,0x03,0x00 +DB 0x10,0x88,0x02,0x00 +DB 0x0c,0x78,0x01,0x00 +DB 0x08,0x68,0x00,0x00 +DB 0x04,0x01,0x15,0x00 diff --git a/tmp64/md5-x86_64.asm b/tmp64/md5-x86_64.asm index 0e9d2c60..fc439937 100644 --- a/tmp64/md5-x86_64.asm +++ b/tmp64/md5-x86_64.asm @@ -1,776 +1,776 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - -ALIGN 16 - -global md5_block_asm_data_order - -md5_block_asm_data_order: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_md5_block_asm_data_order: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - push rbp - push rbx - push r12 - push r14 - push r15 -$L$prologue: - - - - - mov rbp,rdi - shl rdx,6 - lea rdi,[rdx*1+rsi] - mov eax,DWORD[rbp] - mov ebx,DWORD[4+rbp] - mov ecx,DWORD[8+rbp] - mov edx,DWORD[12+rbp] - - - - - - - - cmp rsi,rdi - je NEAR $L$end - - -$L$loop: - mov r8d,eax - mov r9d,ebx - mov r14d,ecx - mov r15d,edx - mov r10d,DWORD[rsi] - mov r11d,edx - xor r11d,ecx - lea eax,[((-680876936))+r10*1+rax] - and r11d,ebx - xor r11d,edx - mov r10d,DWORD[4+rsi] - add eax,r11d - rol eax,7 - mov r11d,ecx - add eax,ebx - xor r11d,ebx - lea edx,[((-389564586))+r10*1+rdx] - and r11d,eax - xor r11d,ecx - mov r10d,DWORD[8+rsi] - add edx,r11d - rol edx,12 - mov r11d,ebx - add edx,eax - xor r11d,eax - lea ecx,[606105819+r10*1+rcx] - and r11d,edx - xor r11d,ebx - mov r10d,DWORD[12+rsi] - add ecx,r11d - rol ecx,17 - mov r11d,eax - add ecx,edx - xor r11d,edx - lea ebx,[((-1044525330))+r10*1+rbx] - and r11d,ecx - xor r11d,eax - mov r10d,DWORD[16+rsi] - add ebx,r11d - rol ebx,22 - mov r11d,edx - add ebx,ecx - xor r11d,ecx - lea eax,[((-176418897))+r10*1+rax] - and r11d,ebx - xor r11d,edx - mov r10d,DWORD[20+rsi] - add eax,r11d - rol eax,7 - mov r11d,ecx - add eax,ebx - xor r11d,ebx - lea edx,[1200080426+r10*1+rdx] - and r11d,eax - xor r11d,ecx - mov r10d,DWORD[24+rsi] - add edx,r11d - rol edx,12 - mov r11d,ebx - add edx,eax - xor r11d,eax - lea ecx,[((-1473231341))+r10*1+rcx] - and r11d,edx - xor r11d,ebx - mov r10d,DWORD[28+rsi] - add ecx,r11d - rol ecx,17 - mov r11d,eax - add ecx,edx - xor r11d,edx - lea ebx,[((-45705983))+r10*1+rbx] - and r11d,ecx - xor r11d,eax - mov r10d,DWORD[32+rsi] - add ebx,r11d - rol ebx,22 - mov r11d,edx - add ebx,ecx - xor r11d,ecx - lea eax,[1770035416+r10*1+rax] - and r11d,ebx - xor r11d,edx - mov r10d,DWORD[36+rsi] - add eax,r11d - rol eax,7 - mov r11d,ecx - add eax,ebx - xor r11d,ebx - lea edx,[((-1958414417))+r10*1+rdx] - and r11d,eax - xor r11d,ecx - mov r10d,DWORD[40+rsi] - add edx,r11d - rol edx,12 - mov r11d,ebx - add edx,eax - xor r11d,eax - lea ecx,[((-42063))+r10*1+rcx] - and r11d,edx - xor r11d,ebx - mov r10d,DWORD[44+rsi] - add ecx,r11d - rol ecx,17 - mov r11d,eax - add ecx,edx - xor r11d,edx - lea ebx,[((-1990404162))+r10*1+rbx] - and r11d,ecx - xor r11d,eax - mov r10d,DWORD[48+rsi] - add ebx,r11d - rol ebx,22 - mov r11d,edx - add ebx,ecx - xor r11d,ecx - lea eax,[1804603682+r10*1+rax] - and r11d,ebx - xor r11d,edx - mov r10d,DWORD[52+rsi] - add eax,r11d - rol eax,7 - mov r11d,ecx - add eax,ebx - xor r11d,ebx - lea edx,[((-40341101))+r10*1+rdx] - and r11d,eax - xor r11d,ecx - mov r10d,DWORD[56+rsi] - add edx,r11d - rol edx,12 - mov r11d,ebx - add edx,eax - xor r11d,eax - lea ecx,[((-1502002290))+r10*1+rcx] - and r11d,edx - xor r11d,ebx - mov r10d,DWORD[60+rsi] - add ecx,r11d - rol ecx,17 - mov r11d,eax - add ecx,edx - xor r11d,edx - lea ebx,[1236535329+r10*1+rbx] - and r11d,ecx - xor r11d,eax - mov r10d,DWORD[rsi] - add ebx,r11d - rol ebx,22 - mov r11d,edx - add ebx,ecx - mov r10d,DWORD[4+rsi] - mov r11d,edx - mov r12d,edx - not r11d - lea eax,[((-165796510))+r10*1+rax] - and r12d,ebx - and r11d,ecx - mov r10d,DWORD[24+rsi] - or r12d,r11d - mov r11d,ecx - add eax,r12d - mov r12d,ecx - rol eax,5 - add eax,ebx - not r11d - lea edx,[((-1069501632))+r10*1+rdx] - and r12d,eax - and r11d,ebx - mov r10d,DWORD[44+rsi] - or r12d,r11d - mov r11d,ebx - add edx,r12d - mov r12d,ebx - rol edx,9 - add edx,eax - not r11d - lea ecx,[643717713+r10*1+rcx] - and r12d,edx - and r11d,eax - mov r10d,DWORD[rsi] - or r12d,r11d - mov r11d,eax - add ecx,r12d - mov r12d,eax - rol ecx,14 - add ecx,edx - not r11d - lea ebx,[((-373897302))+r10*1+rbx] - and r12d,ecx - and r11d,edx - mov r10d,DWORD[20+rsi] - or r12d,r11d - mov r11d,edx - add ebx,r12d - mov r12d,edx - rol ebx,20 - add ebx,ecx - not r11d - lea eax,[((-701558691))+r10*1+rax] - and r12d,ebx - and r11d,ecx - mov r10d,DWORD[40+rsi] - or r12d,r11d - mov r11d,ecx - add eax,r12d - mov r12d,ecx - rol eax,5 - add eax,ebx - not r11d - lea edx,[38016083+r10*1+rdx] - and r12d,eax - and r11d,ebx - mov r10d,DWORD[60+rsi] - or r12d,r11d - mov r11d,ebx - add edx,r12d - mov r12d,ebx - rol edx,9 - add edx,eax - not r11d - lea ecx,[((-660478335))+r10*1+rcx] - and r12d,edx - and r11d,eax - mov r10d,DWORD[16+rsi] - or r12d,r11d - mov r11d,eax - add ecx,r12d - mov r12d,eax - rol ecx,14 - add ecx,edx - not r11d - lea ebx,[((-405537848))+r10*1+rbx] - and r12d,ecx - and r11d,edx - mov r10d,DWORD[36+rsi] - or r12d,r11d - mov r11d,edx - add ebx,r12d - mov r12d,edx - rol ebx,20 - add ebx,ecx - not r11d - lea eax,[568446438+r10*1+rax] - and r12d,ebx - and r11d,ecx - mov r10d,DWORD[56+rsi] - or r12d,r11d - mov r11d,ecx - add eax,r12d - mov r12d,ecx - rol eax,5 - add eax,ebx - not r11d - lea edx,[((-1019803690))+r10*1+rdx] - and r12d,eax - and r11d,ebx - mov r10d,DWORD[12+rsi] - or r12d,r11d - mov r11d,ebx - add edx,r12d - mov r12d,ebx - rol edx,9 - add edx,eax - not r11d - lea ecx,[((-187363961))+r10*1+rcx] - and r12d,edx - and r11d,eax - mov r10d,DWORD[32+rsi] - or r12d,r11d - mov r11d,eax - add ecx,r12d - mov r12d,eax - rol ecx,14 - add ecx,edx - not r11d - lea ebx,[1163531501+r10*1+rbx] - and r12d,ecx - and r11d,edx - mov r10d,DWORD[52+rsi] - or r12d,r11d - mov r11d,edx - add ebx,r12d - mov r12d,edx - rol ebx,20 - add ebx,ecx - not r11d - lea eax,[((-1444681467))+r10*1+rax] - and r12d,ebx - and r11d,ecx - mov r10d,DWORD[8+rsi] - or r12d,r11d - mov r11d,ecx - add eax,r12d - mov r12d,ecx - rol eax,5 - add eax,ebx - not r11d - lea edx,[((-51403784))+r10*1+rdx] - and r12d,eax - and r11d,ebx - mov r10d,DWORD[28+rsi] - or r12d,r11d - mov r11d,ebx - add edx,r12d - mov r12d,ebx - rol edx,9 - add edx,eax - not r11d - lea ecx,[1735328473+r10*1+rcx] - and r12d,edx - and r11d,eax - mov r10d,DWORD[48+rsi] - or r12d,r11d - mov r11d,eax - add ecx,r12d - mov r12d,eax - rol ecx,14 - add ecx,edx - not r11d - lea ebx,[((-1926607734))+r10*1+rbx] - and r12d,ecx - and r11d,edx - mov r10d,DWORD[rsi] - or r12d,r11d - mov r11d,edx - add ebx,r12d - mov r12d,edx - rol ebx,20 - add ebx,ecx - mov r10d,DWORD[20+rsi] - mov r11d,ecx - lea eax,[((-378558))+r10*1+rax] - mov r10d,DWORD[32+rsi] - xor r11d,edx - xor r11d,ebx - add eax,r11d - rol eax,4 - mov r11d,ebx - add eax,ebx - lea edx,[((-2022574463))+r10*1+rdx] - mov r10d,DWORD[44+rsi] - xor r11d,ecx - xor r11d,eax - add edx,r11d - rol edx,11 - mov r11d,eax - add edx,eax - lea ecx,[1839030562+r10*1+rcx] - mov r10d,DWORD[56+rsi] - xor r11d,ebx - xor r11d,edx - add ecx,r11d - rol ecx,16 - mov r11d,edx - add ecx,edx - lea ebx,[((-35309556))+r10*1+rbx] - mov r10d,DWORD[4+rsi] - xor r11d,eax - xor r11d,ecx - add ebx,r11d - rol ebx,23 - mov r11d,ecx - add ebx,ecx - lea eax,[((-1530992060))+r10*1+rax] - mov r10d,DWORD[16+rsi] - xor r11d,edx - xor r11d,ebx - add eax,r11d - rol eax,4 - mov r11d,ebx - add eax,ebx - lea edx,[1272893353+r10*1+rdx] - mov r10d,DWORD[28+rsi] - xor r11d,ecx - xor r11d,eax - add edx,r11d - rol edx,11 - mov r11d,eax - add edx,eax - lea ecx,[((-155497632))+r10*1+rcx] - mov r10d,DWORD[40+rsi] - xor r11d,ebx - xor r11d,edx - add ecx,r11d - rol ecx,16 - mov r11d,edx - add ecx,edx - lea ebx,[((-1094730640))+r10*1+rbx] - mov r10d,DWORD[52+rsi] - xor r11d,eax - xor r11d,ecx - add ebx,r11d - rol ebx,23 - mov r11d,ecx - add ebx,ecx - lea eax,[681279174+r10*1+rax] - mov r10d,DWORD[rsi] - xor r11d,edx - xor r11d,ebx - add eax,r11d - rol eax,4 - mov r11d,ebx - add eax,ebx - lea edx,[((-358537222))+r10*1+rdx] - mov r10d,DWORD[12+rsi] - xor r11d,ecx - xor r11d,eax - add edx,r11d - rol edx,11 - mov r11d,eax - add edx,eax - lea ecx,[((-722521979))+r10*1+rcx] - mov r10d,DWORD[24+rsi] - xor r11d,ebx - xor r11d,edx - add ecx,r11d - rol ecx,16 - mov r11d,edx - add ecx,edx - lea ebx,[76029189+r10*1+rbx] - mov r10d,DWORD[36+rsi] - xor r11d,eax - xor r11d,ecx - add ebx,r11d - rol ebx,23 - mov r11d,ecx - add ebx,ecx - lea eax,[((-640364487))+r10*1+rax] - mov r10d,DWORD[48+rsi] - xor r11d,edx - xor r11d,ebx - add eax,r11d - rol eax,4 - mov r11d,ebx - add eax,ebx - lea edx,[((-421815835))+r10*1+rdx] - mov r10d,DWORD[60+rsi] - xor r11d,ecx - xor r11d,eax - add edx,r11d - rol edx,11 - mov r11d,eax - add edx,eax - lea ecx,[530742520+r10*1+rcx] - mov r10d,DWORD[8+rsi] - xor r11d,ebx - xor r11d,edx - add ecx,r11d - rol ecx,16 - mov r11d,edx - add ecx,edx - lea ebx,[((-995338651))+r10*1+rbx] - mov r10d,DWORD[rsi] - xor r11d,eax - xor r11d,ecx - add ebx,r11d - rol ebx,23 - mov r11d,ecx - add ebx,ecx - mov r10d,DWORD[rsi] - mov r11d,0xffffffff - xor r11d,edx - lea eax,[((-198630844))+r10*1+rax] - or r11d,ebx - xor r11d,ecx - add eax,r11d - mov r10d,DWORD[28+rsi] - mov r11d,0xffffffff - rol eax,6 - xor r11d,ecx - add eax,ebx - lea edx,[1126891415+r10*1+rdx] - or r11d,eax - xor r11d,ebx - add edx,r11d - mov r10d,DWORD[56+rsi] - mov r11d,0xffffffff - rol edx,10 - xor r11d,ebx - add edx,eax - lea ecx,[((-1416354905))+r10*1+rcx] - or r11d,edx - xor r11d,eax - add ecx,r11d - mov r10d,DWORD[20+rsi] - mov r11d,0xffffffff - rol ecx,15 - xor r11d,eax - add ecx,edx - lea ebx,[((-57434055))+r10*1+rbx] - or r11d,ecx - xor r11d,edx - add ebx,r11d - mov r10d,DWORD[48+rsi] - mov r11d,0xffffffff - rol ebx,21 - xor r11d,edx - add ebx,ecx - lea eax,[1700485571+r10*1+rax] - or r11d,ebx - xor r11d,ecx - add eax,r11d - mov r10d,DWORD[12+rsi] - mov r11d,0xffffffff - rol eax,6 - xor r11d,ecx - add eax,ebx - lea edx,[((-1894986606))+r10*1+rdx] - or r11d,eax - xor r11d,ebx - add edx,r11d - mov r10d,DWORD[40+rsi] - mov r11d,0xffffffff - rol edx,10 - xor r11d,ebx - add edx,eax - lea ecx,[((-1051523))+r10*1+rcx] - or r11d,edx - xor r11d,eax - add ecx,r11d - mov r10d,DWORD[4+rsi] - mov r11d,0xffffffff - rol ecx,15 - xor r11d,eax - add ecx,edx - lea ebx,[((-2054922799))+r10*1+rbx] - or r11d,ecx - xor r11d,edx - add ebx,r11d - mov r10d,DWORD[32+rsi] - mov r11d,0xffffffff - rol ebx,21 - xor r11d,edx - add ebx,ecx - lea eax,[1873313359+r10*1+rax] - or r11d,ebx - xor r11d,ecx - add eax,r11d - mov r10d,DWORD[60+rsi] - mov r11d,0xffffffff - rol eax,6 - xor r11d,ecx - add eax,ebx - lea edx,[((-30611744))+r10*1+rdx] - or r11d,eax - xor r11d,ebx - add edx,r11d - mov r10d,DWORD[24+rsi] - mov r11d,0xffffffff - rol edx,10 - xor r11d,ebx - add edx,eax - lea ecx,[((-1560198380))+r10*1+rcx] - or r11d,edx - xor r11d,eax - add ecx,r11d - mov r10d,DWORD[52+rsi] - mov r11d,0xffffffff - rol ecx,15 - xor r11d,eax - add ecx,edx - lea ebx,[1309151649+r10*1+rbx] - or r11d,ecx - xor r11d,edx - add ebx,r11d - mov r10d,DWORD[16+rsi] - mov r11d,0xffffffff - rol ebx,21 - xor r11d,edx - add ebx,ecx - lea eax,[((-145523070))+r10*1+rax] - or r11d,ebx - xor r11d,ecx - add eax,r11d - mov r10d,DWORD[44+rsi] - mov r11d,0xffffffff - rol eax,6 - xor r11d,ecx - add eax,ebx - lea edx,[((-1120210379))+r10*1+rdx] - or r11d,eax - xor r11d,ebx - add edx,r11d - mov r10d,DWORD[8+rsi] - mov r11d,0xffffffff - rol edx,10 - xor r11d,ebx - add edx,eax - lea ecx,[718787259+r10*1+rcx] - or r11d,edx - xor r11d,eax - add ecx,r11d - mov r10d,DWORD[36+rsi] - mov r11d,0xffffffff - rol ecx,15 - xor r11d,eax - add ecx,edx - lea ebx,[((-343485551))+r10*1+rbx] - or r11d,ecx - xor r11d,edx - add ebx,r11d - mov r10d,DWORD[rsi] - mov r11d,0xffffffff - rol ebx,21 - xor r11d,edx - add ebx,ecx - - add eax,r8d - add ebx,r9d - add ecx,r14d - add edx,r15d - - - add rsi,64 - cmp rsi,rdi - jb NEAR $L$loop - - -$L$end: - mov DWORD[rbp],eax - mov DWORD[4+rbp],ebx - mov DWORD[8+rbp],ecx - mov DWORD[12+rbp],edx - - mov r15,QWORD[rsp] - mov r14,QWORD[8+rsp] - mov r12,QWORD[16+rsp] - mov rbx,QWORD[24+rsp] - mov rbp,QWORD[32+rsp] - add rsp,40 -$L$epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_md5_block_asm_data_order: -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$prologue] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - lea r10,[$L$epilogue] - cmp rbx,r10 - jae NEAR $L$in_prologue - - lea rax,[40+rax] - - mov rbp,QWORD[((-8))+rax] - mov rbx,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r14,QWORD[((-32))+rax] - mov r15,QWORD[((-40))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_md5_block_asm_data_order wrt ..imagebase - DD $L$SEH_end_md5_block_asm_data_order wrt ..imagebase - DD $L$SEH_info_md5_block_asm_data_order wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_md5_block_asm_data_order: -DB 9,0,0,0 - DD se_handler wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + +ALIGN 16 + +global md5_block_asm_data_order + +md5_block_asm_data_order: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_md5_block_asm_data_order: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + push rbp + push rbx + push r12 + push r14 + push r15 +$L$prologue: + + + + + mov rbp,rdi + shl rdx,6 + lea rdi,[rdx*1+rsi] + mov eax,DWORD[rbp] + mov ebx,DWORD[4+rbp] + mov ecx,DWORD[8+rbp] + mov edx,DWORD[12+rbp] + + + + + + + + cmp rsi,rdi + je NEAR $L$end + + +$L$loop: + mov r8d,eax + mov r9d,ebx + mov r14d,ecx + mov r15d,edx + mov r10d,DWORD[rsi] + mov r11d,edx + xor r11d,ecx + lea eax,[((-680876936))+r10*1+rax] + and r11d,ebx + xor r11d,edx + mov r10d,DWORD[4+rsi] + add eax,r11d + rol eax,7 + mov r11d,ecx + add eax,ebx + xor r11d,ebx + lea edx,[((-389564586))+r10*1+rdx] + and r11d,eax + xor r11d,ecx + mov r10d,DWORD[8+rsi] + add edx,r11d + rol edx,12 + mov r11d,ebx + add edx,eax + xor r11d,eax + lea ecx,[606105819+r10*1+rcx] + and r11d,edx + xor r11d,ebx + mov r10d,DWORD[12+rsi] + add ecx,r11d + rol ecx,17 + mov r11d,eax + add ecx,edx + xor r11d,edx + lea ebx,[((-1044525330))+r10*1+rbx] + and r11d,ecx + xor r11d,eax + mov r10d,DWORD[16+rsi] + add ebx,r11d + rol ebx,22 + mov r11d,edx + add ebx,ecx + xor r11d,ecx + lea eax,[((-176418897))+r10*1+rax] + and r11d,ebx + xor r11d,edx + mov r10d,DWORD[20+rsi] + add eax,r11d + rol eax,7 + mov r11d,ecx + add eax,ebx + xor r11d,ebx + lea edx,[1200080426+r10*1+rdx] + and r11d,eax + xor r11d,ecx + mov r10d,DWORD[24+rsi] + add edx,r11d + rol edx,12 + mov r11d,ebx + add edx,eax + xor r11d,eax + lea ecx,[((-1473231341))+r10*1+rcx] + and r11d,edx + xor r11d,ebx + mov r10d,DWORD[28+rsi] + add ecx,r11d + rol ecx,17 + mov r11d,eax + add ecx,edx + xor r11d,edx + lea ebx,[((-45705983))+r10*1+rbx] + and r11d,ecx + xor r11d,eax + mov r10d,DWORD[32+rsi] + add ebx,r11d + rol ebx,22 + mov r11d,edx + add ebx,ecx + xor r11d,ecx + lea eax,[1770035416+r10*1+rax] + and r11d,ebx + xor r11d,edx + mov r10d,DWORD[36+rsi] + add eax,r11d + rol eax,7 + mov r11d,ecx + add eax,ebx + xor r11d,ebx + lea edx,[((-1958414417))+r10*1+rdx] + and r11d,eax + xor r11d,ecx + mov r10d,DWORD[40+rsi] + add edx,r11d + rol edx,12 + mov r11d,ebx + add edx,eax + xor r11d,eax + lea ecx,[((-42063))+r10*1+rcx] + and r11d,edx + xor r11d,ebx + mov r10d,DWORD[44+rsi] + add ecx,r11d + rol ecx,17 + mov r11d,eax + add ecx,edx + xor r11d,edx + lea ebx,[((-1990404162))+r10*1+rbx] + and r11d,ecx + xor r11d,eax + mov r10d,DWORD[48+rsi] + add ebx,r11d + rol ebx,22 + mov r11d,edx + add ebx,ecx + xor r11d,ecx + lea eax,[1804603682+r10*1+rax] + and r11d,ebx + xor r11d,edx + mov r10d,DWORD[52+rsi] + add eax,r11d + rol eax,7 + mov r11d,ecx + add eax,ebx + xor r11d,ebx + lea edx,[((-40341101))+r10*1+rdx] + and r11d,eax + xor r11d,ecx + mov r10d,DWORD[56+rsi] + add edx,r11d + rol edx,12 + mov r11d,ebx + add edx,eax + xor r11d,eax + lea ecx,[((-1502002290))+r10*1+rcx] + and r11d,edx + xor r11d,ebx + mov r10d,DWORD[60+rsi] + add ecx,r11d + rol ecx,17 + mov r11d,eax + add ecx,edx + xor r11d,edx + lea ebx,[1236535329+r10*1+rbx] + and r11d,ecx + xor r11d,eax + mov r10d,DWORD[rsi] + add ebx,r11d + rol ebx,22 + mov r11d,edx + add ebx,ecx + mov r10d,DWORD[4+rsi] + mov r11d,edx + mov r12d,edx + not r11d + lea eax,[((-165796510))+r10*1+rax] + and r12d,ebx + and r11d,ecx + mov r10d,DWORD[24+rsi] + or r12d,r11d + mov r11d,ecx + add eax,r12d + mov r12d,ecx + rol eax,5 + add eax,ebx + not r11d + lea edx,[((-1069501632))+r10*1+rdx] + and r12d,eax + and r11d,ebx + mov r10d,DWORD[44+rsi] + or r12d,r11d + mov r11d,ebx + add edx,r12d + mov r12d,ebx + rol edx,9 + add edx,eax + not r11d + lea ecx,[643717713+r10*1+rcx] + and r12d,edx + and r11d,eax + mov r10d,DWORD[rsi] + or r12d,r11d + mov r11d,eax + add ecx,r12d + mov r12d,eax + rol ecx,14 + add ecx,edx + not r11d + lea ebx,[((-373897302))+r10*1+rbx] + and r12d,ecx + and r11d,edx + mov r10d,DWORD[20+rsi] + or r12d,r11d + mov r11d,edx + add ebx,r12d + mov r12d,edx + rol ebx,20 + add ebx,ecx + not r11d + lea eax,[((-701558691))+r10*1+rax] + and r12d,ebx + and r11d,ecx + mov r10d,DWORD[40+rsi] + or r12d,r11d + mov r11d,ecx + add eax,r12d + mov r12d,ecx + rol eax,5 + add eax,ebx + not r11d + lea edx,[38016083+r10*1+rdx] + and r12d,eax + and r11d,ebx + mov r10d,DWORD[60+rsi] + or r12d,r11d + mov r11d,ebx + add edx,r12d + mov r12d,ebx + rol edx,9 + add edx,eax + not r11d + lea ecx,[((-660478335))+r10*1+rcx] + and r12d,edx + and r11d,eax + mov r10d,DWORD[16+rsi] + or r12d,r11d + mov r11d,eax + add ecx,r12d + mov r12d,eax + rol ecx,14 + add ecx,edx + not r11d + lea ebx,[((-405537848))+r10*1+rbx] + and r12d,ecx + and r11d,edx + mov r10d,DWORD[36+rsi] + or r12d,r11d + mov r11d,edx + add ebx,r12d + mov r12d,edx + rol ebx,20 + add ebx,ecx + not r11d + lea eax,[568446438+r10*1+rax] + and r12d,ebx + and r11d,ecx + mov r10d,DWORD[56+rsi] + or r12d,r11d + mov r11d,ecx + add eax,r12d + mov r12d,ecx + rol eax,5 + add eax,ebx + not r11d + lea edx,[((-1019803690))+r10*1+rdx] + and r12d,eax + and r11d,ebx + mov r10d,DWORD[12+rsi] + or r12d,r11d + mov r11d,ebx + add edx,r12d + mov r12d,ebx + rol edx,9 + add edx,eax + not r11d + lea ecx,[((-187363961))+r10*1+rcx] + and r12d,edx + and r11d,eax + mov r10d,DWORD[32+rsi] + or r12d,r11d + mov r11d,eax + add ecx,r12d + mov r12d,eax + rol ecx,14 + add ecx,edx + not r11d + lea ebx,[1163531501+r10*1+rbx] + and r12d,ecx + and r11d,edx + mov r10d,DWORD[52+rsi] + or r12d,r11d + mov r11d,edx + add ebx,r12d + mov r12d,edx + rol ebx,20 + add ebx,ecx + not r11d + lea eax,[((-1444681467))+r10*1+rax] + and r12d,ebx + and r11d,ecx + mov r10d,DWORD[8+rsi] + or r12d,r11d + mov r11d,ecx + add eax,r12d + mov r12d,ecx + rol eax,5 + add eax,ebx + not r11d + lea edx,[((-51403784))+r10*1+rdx] + and r12d,eax + and r11d,ebx + mov r10d,DWORD[28+rsi] + or r12d,r11d + mov r11d,ebx + add edx,r12d + mov r12d,ebx + rol edx,9 + add edx,eax + not r11d + lea ecx,[1735328473+r10*1+rcx] + and r12d,edx + and r11d,eax + mov r10d,DWORD[48+rsi] + or r12d,r11d + mov r11d,eax + add ecx,r12d + mov r12d,eax + rol ecx,14 + add ecx,edx + not r11d + lea ebx,[((-1926607734))+r10*1+rbx] + and r12d,ecx + and r11d,edx + mov r10d,DWORD[rsi] + or r12d,r11d + mov r11d,edx + add ebx,r12d + mov r12d,edx + rol ebx,20 + add ebx,ecx + mov r10d,DWORD[20+rsi] + mov r11d,ecx + lea eax,[((-378558))+r10*1+rax] + mov r10d,DWORD[32+rsi] + xor r11d,edx + xor r11d,ebx + add eax,r11d + rol eax,4 + mov r11d,ebx + add eax,ebx + lea edx,[((-2022574463))+r10*1+rdx] + mov r10d,DWORD[44+rsi] + xor r11d,ecx + xor r11d,eax + add edx,r11d + rol edx,11 + mov r11d,eax + add edx,eax + lea ecx,[1839030562+r10*1+rcx] + mov r10d,DWORD[56+rsi] + xor r11d,ebx + xor r11d,edx + add ecx,r11d + rol ecx,16 + mov r11d,edx + add ecx,edx + lea ebx,[((-35309556))+r10*1+rbx] + mov r10d,DWORD[4+rsi] + xor r11d,eax + xor r11d,ecx + add ebx,r11d + rol ebx,23 + mov r11d,ecx + add ebx,ecx + lea eax,[((-1530992060))+r10*1+rax] + mov r10d,DWORD[16+rsi] + xor r11d,edx + xor r11d,ebx + add eax,r11d + rol eax,4 + mov r11d,ebx + add eax,ebx + lea edx,[1272893353+r10*1+rdx] + mov r10d,DWORD[28+rsi] + xor r11d,ecx + xor r11d,eax + add edx,r11d + rol edx,11 + mov r11d,eax + add edx,eax + lea ecx,[((-155497632))+r10*1+rcx] + mov r10d,DWORD[40+rsi] + xor r11d,ebx + xor r11d,edx + add ecx,r11d + rol ecx,16 + mov r11d,edx + add ecx,edx + lea ebx,[((-1094730640))+r10*1+rbx] + mov r10d,DWORD[52+rsi] + xor r11d,eax + xor r11d,ecx + add ebx,r11d + rol ebx,23 + mov r11d,ecx + add ebx,ecx + lea eax,[681279174+r10*1+rax] + mov r10d,DWORD[rsi] + xor r11d,edx + xor r11d,ebx + add eax,r11d + rol eax,4 + mov r11d,ebx + add eax,ebx + lea edx,[((-358537222))+r10*1+rdx] + mov r10d,DWORD[12+rsi] + xor r11d,ecx + xor r11d,eax + add edx,r11d + rol edx,11 + mov r11d,eax + add edx,eax + lea ecx,[((-722521979))+r10*1+rcx] + mov r10d,DWORD[24+rsi] + xor r11d,ebx + xor r11d,edx + add ecx,r11d + rol ecx,16 + mov r11d,edx + add ecx,edx + lea ebx,[76029189+r10*1+rbx] + mov r10d,DWORD[36+rsi] + xor r11d,eax + xor r11d,ecx + add ebx,r11d + rol ebx,23 + mov r11d,ecx + add ebx,ecx + lea eax,[((-640364487))+r10*1+rax] + mov r10d,DWORD[48+rsi] + xor r11d,edx + xor r11d,ebx + add eax,r11d + rol eax,4 + mov r11d,ebx + add eax,ebx + lea edx,[((-421815835))+r10*1+rdx] + mov r10d,DWORD[60+rsi] + xor r11d,ecx + xor r11d,eax + add edx,r11d + rol edx,11 + mov r11d,eax + add edx,eax + lea ecx,[530742520+r10*1+rcx] + mov r10d,DWORD[8+rsi] + xor r11d,ebx + xor r11d,edx + add ecx,r11d + rol ecx,16 + mov r11d,edx + add ecx,edx + lea ebx,[((-995338651))+r10*1+rbx] + mov r10d,DWORD[rsi] + xor r11d,eax + xor r11d,ecx + add ebx,r11d + rol ebx,23 + mov r11d,ecx + add ebx,ecx + mov r10d,DWORD[rsi] + mov r11d,0xffffffff + xor r11d,edx + lea eax,[((-198630844))+r10*1+rax] + or r11d,ebx + xor r11d,ecx + add eax,r11d + mov r10d,DWORD[28+rsi] + mov r11d,0xffffffff + rol eax,6 + xor r11d,ecx + add eax,ebx + lea edx,[1126891415+r10*1+rdx] + or r11d,eax + xor r11d,ebx + add edx,r11d + mov r10d,DWORD[56+rsi] + mov r11d,0xffffffff + rol edx,10 + xor r11d,ebx + add edx,eax + lea ecx,[((-1416354905))+r10*1+rcx] + or r11d,edx + xor r11d,eax + add ecx,r11d + mov r10d,DWORD[20+rsi] + mov r11d,0xffffffff + rol ecx,15 + xor r11d,eax + add ecx,edx + lea ebx,[((-57434055))+r10*1+rbx] + or r11d,ecx + xor r11d,edx + add ebx,r11d + mov r10d,DWORD[48+rsi] + mov r11d,0xffffffff + rol ebx,21 + xor r11d,edx + add ebx,ecx + lea eax,[1700485571+r10*1+rax] + or r11d,ebx + xor r11d,ecx + add eax,r11d + mov r10d,DWORD[12+rsi] + mov r11d,0xffffffff + rol eax,6 + xor r11d,ecx + add eax,ebx + lea edx,[((-1894986606))+r10*1+rdx] + or r11d,eax + xor r11d,ebx + add edx,r11d + mov r10d,DWORD[40+rsi] + mov r11d,0xffffffff + rol edx,10 + xor r11d,ebx + add edx,eax + lea ecx,[((-1051523))+r10*1+rcx] + or r11d,edx + xor r11d,eax + add ecx,r11d + mov r10d,DWORD[4+rsi] + mov r11d,0xffffffff + rol ecx,15 + xor r11d,eax + add ecx,edx + lea ebx,[((-2054922799))+r10*1+rbx] + or r11d,ecx + xor r11d,edx + add ebx,r11d + mov r10d,DWORD[32+rsi] + mov r11d,0xffffffff + rol ebx,21 + xor r11d,edx + add ebx,ecx + lea eax,[1873313359+r10*1+rax] + or r11d,ebx + xor r11d,ecx + add eax,r11d + mov r10d,DWORD[60+rsi] + mov r11d,0xffffffff + rol eax,6 + xor r11d,ecx + add eax,ebx + lea edx,[((-30611744))+r10*1+rdx] + or r11d,eax + xor r11d,ebx + add edx,r11d + mov r10d,DWORD[24+rsi] + mov r11d,0xffffffff + rol edx,10 + xor r11d,ebx + add edx,eax + lea ecx,[((-1560198380))+r10*1+rcx] + or r11d,edx + xor r11d,eax + add ecx,r11d + mov r10d,DWORD[52+rsi] + mov r11d,0xffffffff + rol ecx,15 + xor r11d,eax + add ecx,edx + lea ebx,[1309151649+r10*1+rbx] + or r11d,ecx + xor r11d,edx + add ebx,r11d + mov r10d,DWORD[16+rsi] + mov r11d,0xffffffff + rol ebx,21 + xor r11d,edx + add ebx,ecx + lea eax,[((-145523070))+r10*1+rax] + or r11d,ebx + xor r11d,ecx + add eax,r11d + mov r10d,DWORD[44+rsi] + mov r11d,0xffffffff + rol eax,6 + xor r11d,ecx + add eax,ebx + lea edx,[((-1120210379))+r10*1+rdx] + or r11d,eax + xor r11d,ebx + add edx,r11d + mov r10d,DWORD[8+rsi] + mov r11d,0xffffffff + rol edx,10 + xor r11d,ebx + add edx,eax + lea ecx,[718787259+r10*1+rcx] + or r11d,edx + xor r11d,eax + add ecx,r11d + mov r10d,DWORD[36+rsi] + mov r11d,0xffffffff + rol ecx,15 + xor r11d,eax + add ecx,edx + lea ebx,[((-343485551))+r10*1+rbx] + or r11d,ecx + xor r11d,edx + add ebx,r11d + mov r10d,DWORD[rsi] + mov r11d,0xffffffff + rol ebx,21 + xor r11d,edx + add ebx,ecx + + add eax,r8d + add ebx,r9d + add ecx,r14d + add edx,r15d + + + add rsi,64 + cmp rsi,rdi + jb NEAR $L$loop + + +$L$end: + mov DWORD[rbp],eax + mov DWORD[4+rbp],ebx + mov DWORD[8+rbp],ecx + mov DWORD[12+rbp],edx + + mov r15,QWORD[rsp] + mov r14,QWORD[8+rsp] + mov r12,QWORD[16+rsp] + mov rbx,QWORD[24+rsp] + mov rbp,QWORD[32+rsp] + add rsp,40 +$L$epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_md5_block_asm_data_order: +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$prologue] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + lea r10,[$L$epilogue] + cmp rbx,r10 + jae NEAR $L$in_prologue + + lea rax,[40+rax] + + mov rbp,QWORD[((-8))+rax] + mov rbx,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r14,QWORD[((-32))+rax] + mov r15,QWORD[((-40))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_md5_block_asm_data_order wrt ..imagebase + DD $L$SEH_end_md5_block_asm_data_order wrt ..imagebase + DD $L$SEH_info_md5_block_asm_data_order wrt ..imagebase + +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_md5_block_asm_data_order: +DB 9,0,0,0 + DD se_handler wrt ..imagebase diff --git a/tmp64/rc4-md5-x86_64.asm b/tmp64/rc4-md5-x86_64.asm index f1ea9652..2a8a70ac 100644 --- a/tmp64/rc4-md5-x86_64.asm +++ b/tmp64/rc4-md5-x86_64.asm @@ -1,1372 +1,1372 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - -ALIGN 16 - -global rc4_md5_enc - -rc4_md5_enc: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_rc4_md5_enc: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - cmp r9,0 - je NEAR $L$abort - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - sub rsp,40 -$L$body: - mov r11,rcx - mov r12,r9 - mov r13,rsi - mov r14,rdx - mov r15,r8 - xor rbp,rbp - xor rcx,rcx - - lea rdi,[8+rdi] - mov bpl,BYTE[((-8))+rdi] - mov cl,BYTE[((-4))+rdi] - - inc bpl - sub r14,r13 - mov eax,DWORD[rbp*4+rdi] - add cl,al - lea rsi,[rbp*4+rdi] - shl r12,6 - add r12,r15 - mov QWORD[16+rsp],r12 - - mov QWORD[24+rsp],r11 - mov r8d,DWORD[r11] - mov r9d,DWORD[4+r11] - mov r10d,DWORD[8+r11] - mov r11d,DWORD[12+r11] - jmp NEAR $L$oop - -ALIGN 16 -$L$oop: - mov DWORD[rsp],r8d - mov DWORD[4+rsp],r9d - mov DWORD[8+rsp],r10d - mov r12d,r11d - mov DWORD[12+rsp],r11d - pxor xmm0,xmm0 - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],eax - and r12d,r9d - add r8d,DWORD[r15] - add al,dl - mov ebx,DWORD[4+rsi] - add r8d,3614090360 - xor r12d,r11d - movzx eax,al - mov DWORD[rsi],edx - add r8d,r12d - add cl,bl - rol r8d,7 - mov r12d,r10d - movd xmm0,DWORD[rax*4+rdi] - - add r8d,r9d - pxor xmm1,xmm1 - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],ebx - and r12d,r8d - add r11d,DWORD[4+r15] - add bl,dl - mov eax,DWORD[8+rsi] - add r11d,3905402710 - xor r12d,r10d - movzx ebx,bl - mov DWORD[4+rsi],edx - add r11d,r12d - add cl,al - rol r11d,12 - mov r12d,r9d - movd xmm1,DWORD[rbx*4+rdi] - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],eax - and r12d,r11d - add r10d,DWORD[8+r15] - add al,dl - mov ebx,DWORD[12+rsi] - add r10d,606105819 - xor r12d,r9d - movzx eax,al - mov DWORD[8+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,17 - mov r12d,r8d - pinsrw xmm0,WORD[rax*4+rdi],1 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],ebx - and r12d,r10d - add r9d,DWORD[12+r15] - add bl,dl - mov eax,DWORD[16+rsi] - add r9d,3250441966 - xor r12d,r8d - movzx ebx,bl - mov DWORD[12+rsi],edx - add r9d,r12d - add cl,al - rol r9d,22 - mov r12d,r11d - pinsrw xmm1,WORD[rbx*4+rdi],1 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],eax - and r12d,r9d - add r8d,DWORD[16+r15] - add al,dl - mov ebx,DWORD[20+rsi] - add r8d,4118548399 - xor r12d,r11d - movzx eax,al - mov DWORD[16+rsi],edx - add r8d,r12d - add cl,bl - rol r8d,7 - mov r12d,r10d - pinsrw xmm0,WORD[rax*4+rdi],2 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],ebx - and r12d,r8d - add r11d,DWORD[20+r15] - add bl,dl - mov eax,DWORD[24+rsi] - add r11d,1200080426 - xor r12d,r10d - movzx ebx,bl - mov DWORD[20+rsi],edx - add r11d,r12d - add cl,al - rol r11d,12 - mov r12d,r9d - pinsrw xmm1,WORD[rbx*4+rdi],2 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],eax - and r12d,r11d - add r10d,DWORD[24+r15] - add al,dl - mov ebx,DWORD[28+rsi] - add r10d,2821735955 - xor r12d,r9d - movzx eax,al - mov DWORD[24+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,17 - mov r12d,r8d - pinsrw xmm0,WORD[rax*4+rdi],3 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],ebx - and r12d,r10d - add r9d,DWORD[28+r15] - add bl,dl - mov eax,DWORD[32+rsi] - add r9d,4249261313 - xor r12d,r8d - movzx ebx,bl - mov DWORD[28+rsi],edx - add r9d,r12d - add cl,al - rol r9d,22 - mov r12d,r11d - pinsrw xmm1,WORD[rbx*4+rdi],3 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],eax - and r12d,r9d - add r8d,DWORD[32+r15] - add al,dl - mov ebx,DWORD[36+rsi] - add r8d,1770035416 - xor r12d,r11d - movzx eax,al - mov DWORD[32+rsi],edx - add r8d,r12d - add cl,bl - rol r8d,7 - mov r12d,r10d - pinsrw xmm0,WORD[rax*4+rdi],4 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],ebx - and r12d,r8d - add r11d,DWORD[36+r15] - add bl,dl - mov eax,DWORD[40+rsi] - add r11d,2336552879 - xor r12d,r10d - movzx ebx,bl - mov DWORD[36+rsi],edx - add r11d,r12d - add cl,al - rol r11d,12 - mov r12d,r9d - pinsrw xmm1,WORD[rbx*4+rdi],4 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],eax - and r12d,r11d - add r10d,DWORD[40+r15] - add al,dl - mov ebx,DWORD[44+rsi] - add r10d,4294925233 - xor r12d,r9d - movzx eax,al - mov DWORD[40+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,17 - mov r12d,r8d - pinsrw xmm0,WORD[rax*4+rdi],5 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],ebx - and r12d,r10d - add r9d,DWORD[44+r15] - add bl,dl - mov eax,DWORD[48+rsi] - add r9d,2304563134 - xor r12d,r8d - movzx ebx,bl - mov DWORD[44+rsi],edx - add r9d,r12d - add cl,al - rol r9d,22 - mov r12d,r11d - pinsrw xmm1,WORD[rbx*4+rdi],5 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],eax - and r12d,r9d - add r8d,DWORD[48+r15] - add al,dl - mov ebx,DWORD[52+rsi] - add r8d,1804603682 - xor r12d,r11d - movzx eax,al - mov DWORD[48+rsi],edx - add r8d,r12d - add cl,bl - rol r8d,7 - mov r12d,r10d - pinsrw xmm0,WORD[rax*4+rdi],6 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],ebx - and r12d,r8d - add r11d,DWORD[52+r15] - add bl,dl - mov eax,DWORD[56+rsi] - add r11d,4254626195 - xor r12d,r10d - movzx ebx,bl - mov DWORD[52+rsi],edx - add r11d,r12d - add cl,al - rol r11d,12 - mov r12d,r9d - pinsrw xmm1,WORD[rbx*4+rdi],6 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],eax - and r12d,r11d - add r10d,DWORD[56+r15] - add al,dl - mov ebx,DWORD[60+rsi] - add r10d,2792965006 - xor r12d,r9d - movzx eax,al - mov DWORD[56+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,17 - mov r12d,r8d - pinsrw xmm0,WORD[rax*4+rdi],7 - - add r10d,r11d - movdqu xmm2,XMMWORD[r13] - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],ebx - and r12d,r10d - add r9d,DWORD[60+r15] - add bl,dl - mov eax,DWORD[64+rsi] - add r9d,1236535329 - xor r12d,r8d - movzx ebx,bl - mov DWORD[60+rsi],edx - add r9d,r12d - add cl,al - rol r9d,22 - mov r12d,r10d - pinsrw xmm1,WORD[rbx*4+rdi],7 - - add r9d,r10d - psllq xmm1,8 - pxor xmm2,xmm0 - pxor xmm2,xmm1 - pxor xmm0,xmm0 - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],eax - and r12d,r11d - add r8d,DWORD[4+r15] - add al,dl - mov ebx,DWORD[68+rsi] - add r8d,4129170786 - xor r12d,r10d - movzx eax,al - mov DWORD[64+rsi],edx - add r8d,r12d - add cl,bl - rol r8d,5 - mov r12d,r9d - movd xmm0,DWORD[rax*4+rdi] - - add r8d,r9d - pxor xmm1,xmm1 - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],ebx - and r12d,r10d - add r11d,DWORD[24+r15] - add bl,dl - mov eax,DWORD[72+rsi] - add r11d,3225465664 - xor r12d,r9d - movzx ebx,bl - mov DWORD[68+rsi],edx - add r11d,r12d - add cl,al - rol r11d,9 - mov r12d,r8d - movd xmm1,DWORD[rbx*4+rdi] - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],eax - and r12d,r9d - add r10d,DWORD[44+r15] - add al,dl - mov ebx,DWORD[76+rsi] - add r10d,643717713 - xor r12d,r8d - movzx eax,al - mov DWORD[72+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,14 - mov r12d,r11d - pinsrw xmm0,WORD[rax*4+rdi],1 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],ebx - and r12d,r8d - add r9d,DWORD[r15] - add bl,dl - mov eax,DWORD[80+rsi] - add r9d,3921069994 - xor r12d,r11d - movzx ebx,bl - mov DWORD[76+rsi],edx - add r9d,r12d - add cl,al - rol r9d,20 - mov r12d,r10d - pinsrw xmm1,WORD[rbx*4+rdi],1 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],eax - and r12d,r11d - add r8d,DWORD[20+r15] - add al,dl - mov ebx,DWORD[84+rsi] - add r8d,3593408605 - xor r12d,r10d - movzx eax,al - mov DWORD[80+rsi],edx - add r8d,r12d - add cl,bl - rol r8d,5 - mov r12d,r9d - pinsrw xmm0,WORD[rax*4+rdi],2 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],ebx - and r12d,r10d - add r11d,DWORD[40+r15] - add bl,dl - mov eax,DWORD[88+rsi] - add r11d,38016083 - xor r12d,r9d - movzx ebx,bl - mov DWORD[84+rsi],edx - add r11d,r12d - add cl,al - rol r11d,9 - mov r12d,r8d - pinsrw xmm1,WORD[rbx*4+rdi],2 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],eax - and r12d,r9d - add r10d,DWORD[60+r15] - add al,dl - mov ebx,DWORD[92+rsi] - add r10d,3634488961 - xor r12d,r8d - movzx eax,al - mov DWORD[88+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,14 - mov r12d,r11d - pinsrw xmm0,WORD[rax*4+rdi],3 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],ebx - and r12d,r8d - add r9d,DWORD[16+r15] - add bl,dl - mov eax,DWORD[96+rsi] - add r9d,3889429448 - xor r12d,r11d - movzx ebx,bl - mov DWORD[92+rsi],edx - add r9d,r12d - add cl,al - rol r9d,20 - mov r12d,r10d - pinsrw xmm1,WORD[rbx*4+rdi],3 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],eax - and r12d,r11d - add r8d,DWORD[36+r15] - add al,dl - mov ebx,DWORD[100+rsi] - add r8d,568446438 - xor r12d,r10d - movzx eax,al - mov DWORD[96+rsi],edx - add r8d,r12d - add cl,bl - rol r8d,5 - mov r12d,r9d - pinsrw xmm0,WORD[rax*4+rdi],4 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],ebx - and r12d,r10d - add r11d,DWORD[56+r15] - add bl,dl - mov eax,DWORD[104+rsi] - add r11d,3275163606 - xor r12d,r9d - movzx ebx,bl - mov DWORD[100+rsi],edx - add r11d,r12d - add cl,al - rol r11d,9 - mov r12d,r8d - pinsrw xmm1,WORD[rbx*4+rdi],4 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],eax - and r12d,r9d - add r10d,DWORD[12+r15] - add al,dl - mov ebx,DWORD[108+rsi] - add r10d,4107603335 - xor r12d,r8d - movzx eax,al - mov DWORD[104+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,14 - mov r12d,r11d - pinsrw xmm0,WORD[rax*4+rdi],5 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],ebx - and r12d,r8d - add r9d,DWORD[32+r15] - add bl,dl - mov eax,DWORD[112+rsi] - add r9d,1163531501 - xor r12d,r11d - movzx ebx,bl - mov DWORD[108+rsi],edx - add r9d,r12d - add cl,al - rol r9d,20 - mov r12d,r10d - pinsrw xmm1,WORD[rbx*4+rdi],5 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],eax - and r12d,r11d - add r8d,DWORD[52+r15] - add al,dl - mov ebx,DWORD[116+rsi] - add r8d,2850285829 - xor r12d,r10d - movzx eax,al - mov DWORD[112+rsi],edx - add r8d,r12d - add cl,bl - rol r8d,5 - mov r12d,r9d - pinsrw xmm0,WORD[rax*4+rdi],6 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],ebx - and r12d,r10d - add r11d,DWORD[8+r15] - add bl,dl - mov eax,DWORD[120+rsi] - add r11d,4243563512 - xor r12d,r9d - movzx ebx,bl - mov DWORD[116+rsi],edx - add r11d,r12d - add cl,al - rol r11d,9 - mov r12d,r8d - pinsrw xmm1,WORD[rbx*4+rdi],6 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],eax - and r12d,r9d - add r10d,DWORD[28+r15] - add al,dl - mov ebx,DWORD[124+rsi] - add r10d,1735328473 - xor r12d,r8d - movzx eax,al - mov DWORD[120+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,14 - mov r12d,r11d - pinsrw xmm0,WORD[rax*4+rdi],7 - - add r10d,r11d - movdqu xmm3,XMMWORD[16+r13] - add bpl,32 - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],ebx - and r12d,r8d - add r9d,DWORD[48+r15] - add bl,dl - mov eax,DWORD[rbp*4+rdi] - add r9d,2368359562 - xor r12d,r11d - movzx ebx,bl - mov DWORD[124+rsi],edx - add r9d,r12d - add cl,al - rol r9d,20 - mov r12d,r11d - pinsrw xmm1,WORD[rbx*4+rdi],7 - - add r9d,r10d - mov rsi,rcx - xor rcx,rcx - mov cl,sil - lea rsi,[rbp*4+rdi] - psllq xmm1,8 - pxor xmm3,xmm0 - pxor xmm3,xmm1 - pxor xmm0,xmm0 - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],eax - xor r12d,r9d - add r8d,DWORD[20+r15] - add al,dl - mov ebx,DWORD[4+rsi] - add r8d,4294588738 - movzx eax,al - add r8d,r12d - mov DWORD[rsi],edx - add cl,bl - rol r8d,4 - mov r12d,r10d - movd xmm0,DWORD[rax*4+rdi] - - add r8d,r9d - pxor xmm1,xmm1 - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],ebx - xor r12d,r8d - add r11d,DWORD[32+r15] - add bl,dl - mov eax,DWORD[8+rsi] - add r11d,2272392833 - movzx ebx,bl - add r11d,r12d - mov DWORD[4+rsi],edx - add cl,al - rol r11d,11 - mov r12d,r9d - movd xmm1,DWORD[rbx*4+rdi] - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],eax - xor r12d,r11d - add r10d,DWORD[44+r15] - add al,dl - mov ebx,DWORD[12+rsi] - add r10d,1839030562 - movzx eax,al - add r10d,r12d - mov DWORD[8+rsi],edx - add cl,bl - rol r10d,16 - mov r12d,r8d - pinsrw xmm0,WORD[rax*4+rdi],1 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],ebx - xor r12d,r10d - add r9d,DWORD[56+r15] - add bl,dl - mov eax,DWORD[16+rsi] - add r9d,4259657740 - movzx ebx,bl - add r9d,r12d - mov DWORD[12+rsi],edx - add cl,al - rol r9d,23 - mov r12d,r11d - pinsrw xmm1,WORD[rbx*4+rdi],1 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],eax - xor r12d,r9d - add r8d,DWORD[4+r15] - add al,dl - mov ebx,DWORD[20+rsi] - add r8d,2763975236 - movzx eax,al - add r8d,r12d - mov DWORD[16+rsi],edx - add cl,bl - rol r8d,4 - mov r12d,r10d - pinsrw xmm0,WORD[rax*4+rdi],2 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],ebx - xor r12d,r8d - add r11d,DWORD[16+r15] - add bl,dl - mov eax,DWORD[24+rsi] - add r11d,1272893353 - movzx ebx,bl - add r11d,r12d - mov DWORD[20+rsi],edx - add cl,al - rol r11d,11 - mov r12d,r9d - pinsrw xmm1,WORD[rbx*4+rdi],2 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],eax - xor r12d,r11d - add r10d,DWORD[28+r15] - add al,dl - mov ebx,DWORD[28+rsi] - add r10d,4139469664 - movzx eax,al - add r10d,r12d - mov DWORD[24+rsi],edx - add cl,bl - rol r10d,16 - mov r12d,r8d - pinsrw xmm0,WORD[rax*4+rdi],3 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],ebx - xor r12d,r10d - add r9d,DWORD[40+r15] - add bl,dl - mov eax,DWORD[32+rsi] - add r9d,3200236656 - movzx ebx,bl - add r9d,r12d - mov DWORD[28+rsi],edx - add cl,al - rol r9d,23 - mov r12d,r11d - pinsrw xmm1,WORD[rbx*4+rdi],3 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],eax - xor r12d,r9d - add r8d,DWORD[52+r15] - add al,dl - mov ebx,DWORD[36+rsi] - add r8d,681279174 - movzx eax,al - add r8d,r12d - mov DWORD[32+rsi],edx - add cl,bl - rol r8d,4 - mov r12d,r10d - pinsrw xmm0,WORD[rax*4+rdi],4 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],ebx - xor r12d,r8d - add r11d,DWORD[r15] - add bl,dl - mov eax,DWORD[40+rsi] - add r11d,3936430074 - movzx ebx,bl - add r11d,r12d - mov DWORD[36+rsi],edx - add cl,al - rol r11d,11 - mov r12d,r9d - pinsrw xmm1,WORD[rbx*4+rdi],4 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],eax - xor r12d,r11d - add r10d,DWORD[12+r15] - add al,dl - mov ebx,DWORD[44+rsi] - add r10d,3572445317 - movzx eax,al - add r10d,r12d - mov DWORD[40+rsi],edx - add cl,bl - rol r10d,16 - mov r12d,r8d - pinsrw xmm0,WORD[rax*4+rdi],5 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],ebx - xor r12d,r10d - add r9d,DWORD[24+r15] - add bl,dl - mov eax,DWORD[48+rsi] - add r9d,76029189 - movzx ebx,bl - add r9d,r12d - mov DWORD[44+rsi],edx - add cl,al - rol r9d,23 - mov r12d,r11d - pinsrw xmm1,WORD[rbx*4+rdi],5 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],eax - xor r12d,r9d - add r8d,DWORD[36+r15] - add al,dl - mov ebx,DWORD[52+rsi] - add r8d,3654602809 - movzx eax,al - add r8d,r12d - mov DWORD[48+rsi],edx - add cl,bl - rol r8d,4 - mov r12d,r10d - pinsrw xmm0,WORD[rax*4+rdi],6 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],ebx - xor r12d,r8d - add r11d,DWORD[48+r15] - add bl,dl - mov eax,DWORD[56+rsi] - add r11d,3873151461 - movzx ebx,bl - add r11d,r12d - mov DWORD[52+rsi],edx - add cl,al - rol r11d,11 - mov r12d,r9d - pinsrw xmm1,WORD[rbx*4+rdi],6 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],eax - xor r12d,r11d - add r10d,DWORD[60+r15] - add al,dl - mov ebx,DWORD[60+rsi] - add r10d,530742520 - movzx eax,al - add r10d,r12d - mov DWORD[56+rsi],edx - add cl,bl - rol r10d,16 - mov r12d,r8d - pinsrw xmm0,WORD[rax*4+rdi],7 - - add r10d,r11d - movdqu xmm4,XMMWORD[32+r13] - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],ebx - xor r12d,r10d - add r9d,DWORD[8+r15] - add bl,dl - mov eax,DWORD[64+rsi] - add r9d,3299628645 - movzx ebx,bl - add r9d,r12d - mov DWORD[60+rsi],edx - add cl,al - rol r9d,23 - mov r12d,-1 - pinsrw xmm1,WORD[rbx*4+rdi],7 - - add r9d,r10d - psllq xmm1,8 - pxor xmm4,xmm0 - pxor xmm4,xmm1 - pxor xmm0,xmm0 - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],eax - or r12d,r9d - add r8d,DWORD[r15] - add al,dl - mov ebx,DWORD[68+rsi] - add r8d,4096336452 - movzx eax,al - xor r12d,r10d - mov DWORD[64+rsi],edx - add r8d,r12d - add cl,bl - rol r8d,6 - mov r12d,-1 - movd xmm0,DWORD[rax*4+rdi] - - add r8d,r9d - pxor xmm1,xmm1 - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],ebx - or r12d,r8d - add r11d,DWORD[28+r15] - add bl,dl - mov eax,DWORD[72+rsi] - add r11d,1126891415 - movzx ebx,bl - xor r12d,r9d - mov DWORD[68+rsi],edx - add r11d,r12d - add cl,al - rol r11d,10 - mov r12d,-1 - movd xmm1,DWORD[rbx*4+rdi] - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],eax - or r12d,r11d - add r10d,DWORD[56+r15] - add al,dl - mov ebx,DWORD[76+rsi] - add r10d,2878612391 - movzx eax,al - xor r12d,r8d - mov DWORD[72+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,15 - mov r12d,-1 - pinsrw xmm0,WORD[rax*4+rdi],1 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],ebx - or r12d,r10d - add r9d,DWORD[20+r15] - add bl,dl - mov eax,DWORD[80+rsi] - add r9d,4237533241 - movzx ebx,bl - xor r12d,r11d - mov DWORD[76+rsi],edx - add r9d,r12d - add cl,al - rol r9d,21 - mov r12d,-1 - pinsrw xmm1,WORD[rbx*4+rdi],1 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],eax - or r12d,r9d - add r8d,DWORD[48+r15] - add al,dl - mov ebx,DWORD[84+rsi] - add r8d,1700485571 - movzx eax,al - xor r12d,r10d - mov DWORD[80+rsi],edx - add r8d,r12d - add cl,bl - rol r8d,6 - mov r12d,-1 - pinsrw xmm0,WORD[rax*4+rdi],2 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],ebx - or r12d,r8d - add r11d,DWORD[12+r15] - add bl,dl - mov eax,DWORD[88+rsi] - add r11d,2399980690 - movzx ebx,bl - xor r12d,r9d - mov DWORD[84+rsi],edx - add r11d,r12d - add cl,al - rol r11d,10 - mov r12d,-1 - pinsrw xmm1,WORD[rbx*4+rdi],2 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],eax - or r12d,r11d - add r10d,DWORD[40+r15] - add al,dl - mov ebx,DWORD[92+rsi] - add r10d,4293915773 - movzx eax,al - xor r12d,r8d - mov DWORD[88+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,15 - mov r12d,-1 - pinsrw xmm0,WORD[rax*4+rdi],3 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],ebx - or r12d,r10d - add r9d,DWORD[4+r15] - add bl,dl - mov eax,DWORD[96+rsi] - add r9d,2240044497 - movzx ebx,bl - xor r12d,r11d - mov DWORD[92+rsi],edx - add r9d,r12d - add cl,al - rol r9d,21 - mov r12d,-1 - pinsrw xmm1,WORD[rbx*4+rdi],3 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],eax - or r12d,r9d - add r8d,DWORD[32+r15] - add al,dl - mov ebx,DWORD[100+rsi] - add r8d,1873313359 - movzx eax,al - xor r12d,r10d - mov DWORD[96+rsi],edx - add r8d,r12d - add cl,bl - rol r8d,6 - mov r12d,-1 - pinsrw xmm0,WORD[rax*4+rdi],4 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],ebx - or r12d,r8d - add r11d,DWORD[60+r15] - add bl,dl - mov eax,DWORD[104+rsi] - add r11d,4264355552 - movzx ebx,bl - xor r12d,r9d - mov DWORD[100+rsi],edx - add r11d,r12d - add cl,al - rol r11d,10 - mov r12d,-1 - pinsrw xmm1,WORD[rbx*4+rdi],4 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],eax - or r12d,r11d - add r10d,DWORD[24+r15] - add al,dl - mov ebx,DWORD[108+rsi] - add r10d,2734768916 - movzx eax,al - xor r12d,r8d - mov DWORD[104+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,15 - mov r12d,-1 - pinsrw xmm0,WORD[rax*4+rdi],5 - - add r10d,r11d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],ebx - or r12d,r10d - add r9d,DWORD[52+r15] - add bl,dl - mov eax,DWORD[112+rsi] - add r9d,1309151649 - movzx ebx,bl - xor r12d,r11d - mov DWORD[108+rsi],edx - add r9d,r12d - add cl,al - rol r9d,21 - mov r12d,-1 - pinsrw xmm1,WORD[rbx*4+rdi],5 - - add r9d,r10d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r11d - mov DWORD[rcx*4+rdi],eax - or r12d,r9d - add r8d,DWORD[16+r15] - add al,dl - mov ebx,DWORD[116+rsi] - add r8d,4149444226 - movzx eax,al - xor r12d,r10d - mov DWORD[112+rsi],edx - add r8d,r12d - add cl,bl - rol r8d,6 - mov r12d,-1 - pinsrw xmm0,WORD[rax*4+rdi],6 - - add r8d,r9d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r10d - mov DWORD[rcx*4+rdi],ebx - or r12d,r8d - add r11d,DWORD[44+r15] - add bl,dl - mov eax,DWORD[120+rsi] - add r11d,3174756917 - movzx ebx,bl - xor r12d,r9d - mov DWORD[116+rsi],edx - add r11d,r12d - add cl,al - rol r11d,10 - mov r12d,-1 - pinsrw xmm1,WORD[rbx*4+rdi],6 - - add r11d,r8d - mov edx,DWORD[rcx*4+rdi] - xor r12d,r9d - mov DWORD[rcx*4+rdi],eax - or r12d,r11d - add r10d,DWORD[8+r15] - add al,dl - mov ebx,DWORD[124+rsi] - add r10d,718787259 - movzx eax,al - xor r12d,r8d - mov DWORD[120+rsi],edx - add r10d,r12d - add cl,bl - rol r10d,15 - mov r12d,-1 - pinsrw xmm0,WORD[rax*4+rdi],7 - - add r10d,r11d - movdqu xmm5,XMMWORD[48+r13] - add bpl,32 - mov edx,DWORD[rcx*4+rdi] - xor r12d,r8d - mov DWORD[rcx*4+rdi],ebx - or r12d,r10d - add r9d,DWORD[36+r15] - add bl,dl - mov eax,DWORD[rbp*4+rdi] - add r9d,3951481745 - movzx ebx,bl - xor r12d,r11d - mov DWORD[124+rsi],edx - add r9d,r12d - add cl,al - rol r9d,21 - mov r12d,-1 - pinsrw xmm1,WORD[rbx*4+rdi],7 - - add r9d,r10d - mov rsi,rbp - xor rbp,rbp - mov bpl,sil - mov rsi,rcx - xor rcx,rcx - mov cl,sil - lea rsi,[rbp*4+rdi] - psllq xmm1,8 - pxor xmm5,xmm0 - pxor xmm5,xmm1 - add r8d,DWORD[rsp] - add r9d,DWORD[4+rsp] - add r10d,DWORD[8+rsp] - add r11d,DWORD[12+rsp] - - movdqu XMMWORD[r13*1+r14],xmm2 - movdqu XMMWORD[16+r13*1+r14],xmm3 - movdqu XMMWORD[32+r13*1+r14],xmm4 - movdqu XMMWORD[48+r13*1+r14],xmm5 - lea r15,[64+r15] - lea r13,[64+r13] - cmp r15,QWORD[16+rsp] - jb NEAR $L$oop - - mov r12,QWORD[24+rsp] - sub cl,al - mov DWORD[r12],r8d - mov DWORD[4+r12],r9d - mov DWORD[8+r12],r10d - mov DWORD[12+r12],r11d - sub bpl,1 - mov DWORD[((-8))+rdi],ebp - mov DWORD[((-4))+rdi],ecx - - mov r15,QWORD[40+rsp] - mov r14,QWORD[48+rsp] - mov r13,QWORD[56+rsp] - mov r12,QWORD[64+rsp] - mov rbp,QWORD[72+rsp] - mov rbx,QWORD[80+rsp] - lea rsp,[88+rsp] -$L$epilogue: -$L$abort: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_rc4_md5_enc: -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$body] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - lea r10,[$L$epilogue] - cmp rbx,r10 - jae NEAR $L$in_prologue - - mov r15,QWORD[40+rax] - mov r14,QWORD[48+rax] - mov r13,QWORD[56+rax] - mov r12,QWORD[64+rax] - mov rbp,QWORD[72+rax] - mov rbx,QWORD[80+rax] - lea rax,[88+rax] - - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_rc4_md5_enc wrt ..imagebase - DD $L$SEH_end_rc4_md5_enc wrt ..imagebase - DD $L$SEH_info_rc4_md5_enc wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_rc4_md5_enc: -DB 9,0,0,0 - DD se_handler wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + +ALIGN 16 + +global rc4_md5_enc + +rc4_md5_enc: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_rc4_md5_enc: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + cmp r9,0 + je NEAR $L$abort + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + sub rsp,40 +$L$body: + mov r11,rcx + mov r12,r9 + mov r13,rsi + mov r14,rdx + mov r15,r8 + xor rbp,rbp + xor rcx,rcx + + lea rdi,[8+rdi] + mov bpl,BYTE[((-8))+rdi] + mov cl,BYTE[((-4))+rdi] + + inc bpl + sub r14,r13 + mov eax,DWORD[rbp*4+rdi] + add cl,al + lea rsi,[rbp*4+rdi] + shl r12,6 + add r12,r15 + mov QWORD[16+rsp],r12 + + mov QWORD[24+rsp],r11 + mov r8d,DWORD[r11] + mov r9d,DWORD[4+r11] + mov r10d,DWORD[8+r11] + mov r11d,DWORD[12+r11] + jmp NEAR $L$oop + +ALIGN 16 +$L$oop: + mov DWORD[rsp],r8d + mov DWORD[4+rsp],r9d + mov DWORD[8+rsp],r10d + mov r12d,r11d + mov DWORD[12+rsp],r11d + pxor xmm0,xmm0 + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],eax + and r12d,r9d + add r8d,DWORD[r15] + add al,dl + mov ebx,DWORD[4+rsi] + add r8d,3614090360 + xor r12d,r11d + movzx eax,al + mov DWORD[rsi],edx + add r8d,r12d + add cl,bl + rol r8d,7 + mov r12d,r10d + movd xmm0,DWORD[rax*4+rdi] + + add r8d,r9d + pxor xmm1,xmm1 + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],ebx + and r12d,r8d + add r11d,DWORD[4+r15] + add bl,dl + mov eax,DWORD[8+rsi] + add r11d,3905402710 + xor r12d,r10d + movzx ebx,bl + mov DWORD[4+rsi],edx + add r11d,r12d + add cl,al + rol r11d,12 + mov r12d,r9d + movd xmm1,DWORD[rbx*4+rdi] + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],eax + and r12d,r11d + add r10d,DWORD[8+r15] + add al,dl + mov ebx,DWORD[12+rsi] + add r10d,606105819 + xor r12d,r9d + movzx eax,al + mov DWORD[8+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,17 + mov r12d,r8d + pinsrw xmm0,WORD[rax*4+rdi],1 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],ebx + and r12d,r10d + add r9d,DWORD[12+r15] + add bl,dl + mov eax,DWORD[16+rsi] + add r9d,3250441966 + xor r12d,r8d + movzx ebx,bl + mov DWORD[12+rsi],edx + add r9d,r12d + add cl,al + rol r9d,22 + mov r12d,r11d + pinsrw xmm1,WORD[rbx*4+rdi],1 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],eax + and r12d,r9d + add r8d,DWORD[16+r15] + add al,dl + mov ebx,DWORD[20+rsi] + add r8d,4118548399 + xor r12d,r11d + movzx eax,al + mov DWORD[16+rsi],edx + add r8d,r12d + add cl,bl + rol r8d,7 + mov r12d,r10d + pinsrw xmm0,WORD[rax*4+rdi],2 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],ebx + and r12d,r8d + add r11d,DWORD[20+r15] + add bl,dl + mov eax,DWORD[24+rsi] + add r11d,1200080426 + xor r12d,r10d + movzx ebx,bl + mov DWORD[20+rsi],edx + add r11d,r12d + add cl,al + rol r11d,12 + mov r12d,r9d + pinsrw xmm1,WORD[rbx*4+rdi],2 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],eax + and r12d,r11d + add r10d,DWORD[24+r15] + add al,dl + mov ebx,DWORD[28+rsi] + add r10d,2821735955 + xor r12d,r9d + movzx eax,al + mov DWORD[24+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,17 + mov r12d,r8d + pinsrw xmm0,WORD[rax*4+rdi],3 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],ebx + and r12d,r10d + add r9d,DWORD[28+r15] + add bl,dl + mov eax,DWORD[32+rsi] + add r9d,4249261313 + xor r12d,r8d + movzx ebx,bl + mov DWORD[28+rsi],edx + add r9d,r12d + add cl,al + rol r9d,22 + mov r12d,r11d + pinsrw xmm1,WORD[rbx*4+rdi],3 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],eax + and r12d,r9d + add r8d,DWORD[32+r15] + add al,dl + mov ebx,DWORD[36+rsi] + add r8d,1770035416 + xor r12d,r11d + movzx eax,al + mov DWORD[32+rsi],edx + add r8d,r12d + add cl,bl + rol r8d,7 + mov r12d,r10d + pinsrw xmm0,WORD[rax*4+rdi],4 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],ebx + and r12d,r8d + add r11d,DWORD[36+r15] + add bl,dl + mov eax,DWORD[40+rsi] + add r11d,2336552879 + xor r12d,r10d + movzx ebx,bl + mov DWORD[36+rsi],edx + add r11d,r12d + add cl,al + rol r11d,12 + mov r12d,r9d + pinsrw xmm1,WORD[rbx*4+rdi],4 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],eax + and r12d,r11d + add r10d,DWORD[40+r15] + add al,dl + mov ebx,DWORD[44+rsi] + add r10d,4294925233 + xor r12d,r9d + movzx eax,al + mov DWORD[40+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,17 + mov r12d,r8d + pinsrw xmm0,WORD[rax*4+rdi],5 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],ebx + and r12d,r10d + add r9d,DWORD[44+r15] + add bl,dl + mov eax,DWORD[48+rsi] + add r9d,2304563134 + xor r12d,r8d + movzx ebx,bl + mov DWORD[44+rsi],edx + add r9d,r12d + add cl,al + rol r9d,22 + mov r12d,r11d + pinsrw xmm1,WORD[rbx*4+rdi],5 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],eax + and r12d,r9d + add r8d,DWORD[48+r15] + add al,dl + mov ebx,DWORD[52+rsi] + add r8d,1804603682 + xor r12d,r11d + movzx eax,al + mov DWORD[48+rsi],edx + add r8d,r12d + add cl,bl + rol r8d,7 + mov r12d,r10d + pinsrw xmm0,WORD[rax*4+rdi],6 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],ebx + and r12d,r8d + add r11d,DWORD[52+r15] + add bl,dl + mov eax,DWORD[56+rsi] + add r11d,4254626195 + xor r12d,r10d + movzx ebx,bl + mov DWORD[52+rsi],edx + add r11d,r12d + add cl,al + rol r11d,12 + mov r12d,r9d + pinsrw xmm1,WORD[rbx*4+rdi],6 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],eax + and r12d,r11d + add r10d,DWORD[56+r15] + add al,dl + mov ebx,DWORD[60+rsi] + add r10d,2792965006 + xor r12d,r9d + movzx eax,al + mov DWORD[56+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,17 + mov r12d,r8d + pinsrw xmm0,WORD[rax*4+rdi],7 + + add r10d,r11d + movdqu xmm2,XMMWORD[r13] + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],ebx + and r12d,r10d + add r9d,DWORD[60+r15] + add bl,dl + mov eax,DWORD[64+rsi] + add r9d,1236535329 + xor r12d,r8d + movzx ebx,bl + mov DWORD[60+rsi],edx + add r9d,r12d + add cl,al + rol r9d,22 + mov r12d,r10d + pinsrw xmm1,WORD[rbx*4+rdi],7 + + add r9d,r10d + psllq xmm1,8 + pxor xmm2,xmm0 + pxor xmm2,xmm1 + pxor xmm0,xmm0 + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],eax + and r12d,r11d + add r8d,DWORD[4+r15] + add al,dl + mov ebx,DWORD[68+rsi] + add r8d,4129170786 + xor r12d,r10d + movzx eax,al + mov DWORD[64+rsi],edx + add r8d,r12d + add cl,bl + rol r8d,5 + mov r12d,r9d + movd xmm0,DWORD[rax*4+rdi] + + add r8d,r9d + pxor xmm1,xmm1 + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],ebx + and r12d,r10d + add r11d,DWORD[24+r15] + add bl,dl + mov eax,DWORD[72+rsi] + add r11d,3225465664 + xor r12d,r9d + movzx ebx,bl + mov DWORD[68+rsi],edx + add r11d,r12d + add cl,al + rol r11d,9 + mov r12d,r8d + movd xmm1,DWORD[rbx*4+rdi] + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],eax + and r12d,r9d + add r10d,DWORD[44+r15] + add al,dl + mov ebx,DWORD[76+rsi] + add r10d,643717713 + xor r12d,r8d + movzx eax,al + mov DWORD[72+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,14 + mov r12d,r11d + pinsrw xmm0,WORD[rax*4+rdi],1 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],ebx + and r12d,r8d + add r9d,DWORD[r15] + add bl,dl + mov eax,DWORD[80+rsi] + add r9d,3921069994 + xor r12d,r11d + movzx ebx,bl + mov DWORD[76+rsi],edx + add r9d,r12d + add cl,al + rol r9d,20 + mov r12d,r10d + pinsrw xmm1,WORD[rbx*4+rdi],1 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],eax + and r12d,r11d + add r8d,DWORD[20+r15] + add al,dl + mov ebx,DWORD[84+rsi] + add r8d,3593408605 + xor r12d,r10d + movzx eax,al + mov DWORD[80+rsi],edx + add r8d,r12d + add cl,bl + rol r8d,5 + mov r12d,r9d + pinsrw xmm0,WORD[rax*4+rdi],2 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],ebx + and r12d,r10d + add r11d,DWORD[40+r15] + add bl,dl + mov eax,DWORD[88+rsi] + add r11d,38016083 + xor r12d,r9d + movzx ebx,bl + mov DWORD[84+rsi],edx + add r11d,r12d + add cl,al + rol r11d,9 + mov r12d,r8d + pinsrw xmm1,WORD[rbx*4+rdi],2 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],eax + and r12d,r9d + add r10d,DWORD[60+r15] + add al,dl + mov ebx,DWORD[92+rsi] + add r10d,3634488961 + xor r12d,r8d + movzx eax,al + mov DWORD[88+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,14 + mov r12d,r11d + pinsrw xmm0,WORD[rax*4+rdi],3 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],ebx + and r12d,r8d + add r9d,DWORD[16+r15] + add bl,dl + mov eax,DWORD[96+rsi] + add r9d,3889429448 + xor r12d,r11d + movzx ebx,bl + mov DWORD[92+rsi],edx + add r9d,r12d + add cl,al + rol r9d,20 + mov r12d,r10d + pinsrw xmm1,WORD[rbx*4+rdi],3 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],eax + and r12d,r11d + add r8d,DWORD[36+r15] + add al,dl + mov ebx,DWORD[100+rsi] + add r8d,568446438 + xor r12d,r10d + movzx eax,al + mov DWORD[96+rsi],edx + add r8d,r12d + add cl,bl + rol r8d,5 + mov r12d,r9d + pinsrw xmm0,WORD[rax*4+rdi],4 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],ebx + and r12d,r10d + add r11d,DWORD[56+r15] + add bl,dl + mov eax,DWORD[104+rsi] + add r11d,3275163606 + xor r12d,r9d + movzx ebx,bl + mov DWORD[100+rsi],edx + add r11d,r12d + add cl,al + rol r11d,9 + mov r12d,r8d + pinsrw xmm1,WORD[rbx*4+rdi],4 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],eax + and r12d,r9d + add r10d,DWORD[12+r15] + add al,dl + mov ebx,DWORD[108+rsi] + add r10d,4107603335 + xor r12d,r8d + movzx eax,al + mov DWORD[104+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,14 + mov r12d,r11d + pinsrw xmm0,WORD[rax*4+rdi],5 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],ebx + and r12d,r8d + add r9d,DWORD[32+r15] + add bl,dl + mov eax,DWORD[112+rsi] + add r9d,1163531501 + xor r12d,r11d + movzx ebx,bl + mov DWORD[108+rsi],edx + add r9d,r12d + add cl,al + rol r9d,20 + mov r12d,r10d + pinsrw xmm1,WORD[rbx*4+rdi],5 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],eax + and r12d,r11d + add r8d,DWORD[52+r15] + add al,dl + mov ebx,DWORD[116+rsi] + add r8d,2850285829 + xor r12d,r10d + movzx eax,al + mov DWORD[112+rsi],edx + add r8d,r12d + add cl,bl + rol r8d,5 + mov r12d,r9d + pinsrw xmm0,WORD[rax*4+rdi],6 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],ebx + and r12d,r10d + add r11d,DWORD[8+r15] + add bl,dl + mov eax,DWORD[120+rsi] + add r11d,4243563512 + xor r12d,r9d + movzx ebx,bl + mov DWORD[116+rsi],edx + add r11d,r12d + add cl,al + rol r11d,9 + mov r12d,r8d + pinsrw xmm1,WORD[rbx*4+rdi],6 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],eax + and r12d,r9d + add r10d,DWORD[28+r15] + add al,dl + mov ebx,DWORD[124+rsi] + add r10d,1735328473 + xor r12d,r8d + movzx eax,al + mov DWORD[120+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,14 + mov r12d,r11d + pinsrw xmm0,WORD[rax*4+rdi],7 + + add r10d,r11d + movdqu xmm3,XMMWORD[16+r13] + add bpl,32 + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],ebx + and r12d,r8d + add r9d,DWORD[48+r15] + add bl,dl + mov eax,DWORD[rbp*4+rdi] + add r9d,2368359562 + xor r12d,r11d + movzx ebx,bl + mov DWORD[124+rsi],edx + add r9d,r12d + add cl,al + rol r9d,20 + mov r12d,r11d + pinsrw xmm1,WORD[rbx*4+rdi],7 + + add r9d,r10d + mov rsi,rcx + xor rcx,rcx + mov cl,sil + lea rsi,[rbp*4+rdi] + psllq xmm1,8 + pxor xmm3,xmm0 + pxor xmm3,xmm1 + pxor xmm0,xmm0 + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],eax + xor r12d,r9d + add r8d,DWORD[20+r15] + add al,dl + mov ebx,DWORD[4+rsi] + add r8d,4294588738 + movzx eax,al + add r8d,r12d + mov DWORD[rsi],edx + add cl,bl + rol r8d,4 + mov r12d,r10d + movd xmm0,DWORD[rax*4+rdi] + + add r8d,r9d + pxor xmm1,xmm1 + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],ebx + xor r12d,r8d + add r11d,DWORD[32+r15] + add bl,dl + mov eax,DWORD[8+rsi] + add r11d,2272392833 + movzx ebx,bl + add r11d,r12d + mov DWORD[4+rsi],edx + add cl,al + rol r11d,11 + mov r12d,r9d + movd xmm1,DWORD[rbx*4+rdi] + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],eax + xor r12d,r11d + add r10d,DWORD[44+r15] + add al,dl + mov ebx,DWORD[12+rsi] + add r10d,1839030562 + movzx eax,al + add r10d,r12d + mov DWORD[8+rsi],edx + add cl,bl + rol r10d,16 + mov r12d,r8d + pinsrw xmm0,WORD[rax*4+rdi],1 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],ebx + xor r12d,r10d + add r9d,DWORD[56+r15] + add bl,dl + mov eax,DWORD[16+rsi] + add r9d,4259657740 + movzx ebx,bl + add r9d,r12d + mov DWORD[12+rsi],edx + add cl,al + rol r9d,23 + mov r12d,r11d + pinsrw xmm1,WORD[rbx*4+rdi],1 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],eax + xor r12d,r9d + add r8d,DWORD[4+r15] + add al,dl + mov ebx,DWORD[20+rsi] + add r8d,2763975236 + movzx eax,al + add r8d,r12d + mov DWORD[16+rsi],edx + add cl,bl + rol r8d,4 + mov r12d,r10d + pinsrw xmm0,WORD[rax*4+rdi],2 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],ebx + xor r12d,r8d + add r11d,DWORD[16+r15] + add bl,dl + mov eax,DWORD[24+rsi] + add r11d,1272893353 + movzx ebx,bl + add r11d,r12d + mov DWORD[20+rsi],edx + add cl,al + rol r11d,11 + mov r12d,r9d + pinsrw xmm1,WORD[rbx*4+rdi],2 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],eax + xor r12d,r11d + add r10d,DWORD[28+r15] + add al,dl + mov ebx,DWORD[28+rsi] + add r10d,4139469664 + movzx eax,al + add r10d,r12d + mov DWORD[24+rsi],edx + add cl,bl + rol r10d,16 + mov r12d,r8d + pinsrw xmm0,WORD[rax*4+rdi],3 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],ebx + xor r12d,r10d + add r9d,DWORD[40+r15] + add bl,dl + mov eax,DWORD[32+rsi] + add r9d,3200236656 + movzx ebx,bl + add r9d,r12d + mov DWORD[28+rsi],edx + add cl,al + rol r9d,23 + mov r12d,r11d + pinsrw xmm1,WORD[rbx*4+rdi],3 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],eax + xor r12d,r9d + add r8d,DWORD[52+r15] + add al,dl + mov ebx,DWORD[36+rsi] + add r8d,681279174 + movzx eax,al + add r8d,r12d + mov DWORD[32+rsi],edx + add cl,bl + rol r8d,4 + mov r12d,r10d + pinsrw xmm0,WORD[rax*4+rdi],4 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],ebx + xor r12d,r8d + add r11d,DWORD[r15] + add bl,dl + mov eax,DWORD[40+rsi] + add r11d,3936430074 + movzx ebx,bl + add r11d,r12d + mov DWORD[36+rsi],edx + add cl,al + rol r11d,11 + mov r12d,r9d + pinsrw xmm1,WORD[rbx*4+rdi],4 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],eax + xor r12d,r11d + add r10d,DWORD[12+r15] + add al,dl + mov ebx,DWORD[44+rsi] + add r10d,3572445317 + movzx eax,al + add r10d,r12d + mov DWORD[40+rsi],edx + add cl,bl + rol r10d,16 + mov r12d,r8d + pinsrw xmm0,WORD[rax*4+rdi],5 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],ebx + xor r12d,r10d + add r9d,DWORD[24+r15] + add bl,dl + mov eax,DWORD[48+rsi] + add r9d,76029189 + movzx ebx,bl + add r9d,r12d + mov DWORD[44+rsi],edx + add cl,al + rol r9d,23 + mov r12d,r11d + pinsrw xmm1,WORD[rbx*4+rdi],5 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],eax + xor r12d,r9d + add r8d,DWORD[36+r15] + add al,dl + mov ebx,DWORD[52+rsi] + add r8d,3654602809 + movzx eax,al + add r8d,r12d + mov DWORD[48+rsi],edx + add cl,bl + rol r8d,4 + mov r12d,r10d + pinsrw xmm0,WORD[rax*4+rdi],6 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],ebx + xor r12d,r8d + add r11d,DWORD[48+r15] + add bl,dl + mov eax,DWORD[56+rsi] + add r11d,3873151461 + movzx ebx,bl + add r11d,r12d + mov DWORD[52+rsi],edx + add cl,al + rol r11d,11 + mov r12d,r9d + pinsrw xmm1,WORD[rbx*4+rdi],6 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],eax + xor r12d,r11d + add r10d,DWORD[60+r15] + add al,dl + mov ebx,DWORD[60+rsi] + add r10d,530742520 + movzx eax,al + add r10d,r12d + mov DWORD[56+rsi],edx + add cl,bl + rol r10d,16 + mov r12d,r8d + pinsrw xmm0,WORD[rax*4+rdi],7 + + add r10d,r11d + movdqu xmm4,XMMWORD[32+r13] + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],ebx + xor r12d,r10d + add r9d,DWORD[8+r15] + add bl,dl + mov eax,DWORD[64+rsi] + add r9d,3299628645 + movzx ebx,bl + add r9d,r12d + mov DWORD[60+rsi],edx + add cl,al + rol r9d,23 + mov r12d,-1 + pinsrw xmm1,WORD[rbx*4+rdi],7 + + add r9d,r10d + psllq xmm1,8 + pxor xmm4,xmm0 + pxor xmm4,xmm1 + pxor xmm0,xmm0 + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],eax + or r12d,r9d + add r8d,DWORD[r15] + add al,dl + mov ebx,DWORD[68+rsi] + add r8d,4096336452 + movzx eax,al + xor r12d,r10d + mov DWORD[64+rsi],edx + add r8d,r12d + add cl,bl + rol r8d,6 + mov r12d,-1 + movd xmm0,DWORD[rax*4+rdi] + + add r8d,r9d + pxor xmm1,xmm1 + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],ebx + or r12d,r8d + add r11d,DWORD[28+r15] + add bl,dl + mov eax,DWORD[72+rsi] + add r11d,1126891415 + movzx ebx,bl + xor r12d,r9d + mov DWORD[68+rsi],edx + add r11d,r12d + add cl,al + rol r11d,10 + mov r12d,-1 + movd xmm1,DWORD[rbx*4+rdi] + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],eax + or r12d,r11d + add r10d,DWORD[56+r15] + add al,dl + mov ebx,DWORD[76+rsi] + add r10d,2878612391 + movzx eax,al + xor r12d,r8d + mov DWORD[72+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,15 + mov r12d,-1 + pinsrw xmm0,WORD[rax*4+rdi],1 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],ebx + or r12d,r10d + add r9d,DWORD[20+r15] + add bl,dl + mov eax,DWORD[80+rsi] + add r9d,4237533241 + movzx ebx,bl + xor r12d,r11d + mov DWORD[76+rsi],edx + add r9d,r12d + add cl,al + rol r9d,21 + mov r12d,-1 + pinsrw xmm1,WORD[rbx*4+rdi],1 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],eax + or r12d,r9d + add r8d,DWORD[48+r15] + add al,dl + mov ebx,DWORD[84+rsi] + add r8d,1700485571 + movzx eax,al + xor r12d,r10d + mov DWORD[80+rsi],edx + add r8d,r12d + add cl,bl + rol r8d,6 + mov r12d,-1 + pinsrw xmm0,WORD[rax*4+rdi],2 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],ebx + or r12d,r8d + add r11d,DWORD[12+r15] + add bl,dl + mov eax,DWORD[88+rsi] + add r11d,2399980690 + movzx ebx,bl + xor r12d,r9d + mov DWORD[84+rsi],edx + add r11d,r12d + add cl,al + rol r11d,10 + mov r12d,-1 + pinsrw xmm1,WORD[rbx*4+rdi],2 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],eax + or r12d,r11d + add r10d,DWORD[40+r15] + add al,dl + mov ebx,DWORD[92+rsi] + add r10d,4293915773 + movzx eax,al + xor r12d,r8d + mov DWORD[88+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,15 + mov r12d,-1 + pinsrw xmm0,WORD[rax*4+rdi],3 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],ebx + or r12d,r10d + add r9d,DWORD[4+r15] + add bl,dl + mov eax,DWORD[96+rsi] + add r9d,2240044497 + movzx ebx,bl + xor r12d,r11d + mov DWORD[92+rsi],edx + add r9d,r12d + add cl,al + rol r9d,21 + mov r12d,-1 + pinsrw xmm1,WORD[rbx*4+rdi],3 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],eax + or r12d,r9d + add r8d,DWORD[32+r15] + add al,dl + mov ebx,DWORD[100+rsi] + add r8d,1873313359 + movzx eax,al + xor r12d,r10d + mov DWORD[96+rsi],edx + add r8d,r12d + add cl,bl + rol r8d,6 + mov r12d,-1 + pinsrw xmm0,WORD[rax*4+rdi],4 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],ebx + or r12d,r8d + add r11d,DWORD[60+r15] + add bl,dl + mov eax,DWORD[104+rsi] + add r11d,4264355552 + movzx ebx,bl + xor r12d,r9d + mov DWORD[100+rsi],edx + add r11d,r12d + add cl,al + rol r11d,10 + mov r12d,-1 + pinsrw xmm1,WORD[rbx*4+rdi],4 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],eax + or r12d,r11d + add r10d,DWORD[24+r15] + add al,dl + mov ebx,DWORD[108+rsi] + add r10d,2734768916 + movzx eax,al + xor r12d,r8d + mov DWORD[104+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,15 + mov r12d,-1 + pinsrw xmm0,WORD[rax*4+rdi],5 + + add r10d,r11d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],ebx + or r12d,r10d + add r9d,DWORD[52+r15] + add bl,dl + mov eax,DWORD[112+rsi] + add r9d,1309151649 + movzx ebx,bl + xor r12d,r11d + mov DWORD[108+rsi],edx + add r9d,r12d + add cl,al + rol r9d,21 + mov r12d,-1 + pinsrw xmm1,WORD[rbx*4+rdi],5 + + add r9d,r10d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r11d + mov DWORD[rcx*4+rdi],eax + or r12d,r9d + add r8d,DWORD[16+r15] + add al,dl + mov ebx,DWORD[116+rsi] + add r8d,4149444226 + movzx eax,al + xor r12d,r10d + mov DWORD[112+rsi],edx + add r8d,r12d + add cl,bl + rol r8d,6 + mov r12d,-1 + pinsrw xmm0,WORD[rax*4+rdi],6 + + add r8d,r9d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r10d + mov DWORD[rcx*4+rdi],ebx + or r12d,r8d + add r11d,DWORD[44+r15] + add bl,dl + mov eax,DWORD[120+rsi] + add r11d,3174756917 + movzx ebx,bl + xor r12d,r9d + mov DWORD[116+rsi],edx + add r11d,r12d + add cl,al + rol r11d,10 + mov r12d,-1 + pinsrw xmm1,WORD[rbx*4+rdi],6 + + add r11d,r8d + mov edx,DWORD[rcx*4+rdi] + xor r12d,r9d + mov DWORD[rcx*4+rdi],eax + or r12d,r11d + add r10d,DWORD[8+r15] + add al,dl + mov ebx,DWORD[124+rsi] + add r10d,718787259 + movzx eax,al + xor r12d,r8d + mov DWORD[120+rsi],edx + add r10d,r12d + add cl,bl + rol r10d,15 + mov r12d,-1 + pinsrw xmm0,WORD[rax*4+rdi],7 + + add r10d,r11d + movdqu xmm5,XMMWORD[48+r13] + add bpl,32 + mov edx,DWORD[rcx*4+rdi] + xor r12d,r8d + mov DWORD[rcx*4+rdi],ebx + or r12d,r10d + add r9d,DWORD[36+r15] + add bl,dl + mov eax,DWORD[rbp*4+rdi] + add r9d,3951481745 + movzx ebx,bl + xor r12d,r11d + mov DWORD[124+rsi],edx + add r9d,r12d + add cl,al + rol r9d,21 + mov r12d,-1 + pinsrw xmm1,WORD[rbx*4+rdi],7 + + add r9d,r10d + mov rsi,rbp + xor rbp,rbp + mov bpl,sil + mov rsi,rcx + xor rcx,rcx + mov cl,sil + lea rsi,[rbp*4+rdi] + psllq xmm1,8 + pxor xmm5,xmm0 + pxor xmm5,xmm1 + add r8d,DWORD[rsp] + add r9d,DWORD[4+rsp] + add r10d,DWORD[8+rsp] + add r11d,DWORD[12+rsp] + + movdqu XMMWORD[r13*1+r14],xmm2 + movdqu XMMWORD[16+r13*1+r14],xmm3 + movdqu XMMWORD[32+r13*1+r14],xmm4 + movdqu XMMWORD[48+r13*1+r14],xmm5 + lea r15,[64+r15] + lea r13,[64+r13] + cmp r15,QWORD[16+rsp] + jb NEAR $L$oop + + mov r12,QWORD[24+rsp] + sub cl,al + mov DWORD[r12],r8d + mov DWORD[4+r12],r9d + mov DWORD[8+r12],r10d + mov DWORD[12+r12],r11d + sub bpl,1 + mov DWORD[((-8))+rdi],ebp + mov DWORD[((-4))+rdi],ecx + + mov r15,QWORD[40+rsp] + mov r14,QWORD[48+rsp] + mov r13,QWORD[56+rsp] + mov r12,QWORD[64+rsp] + mov rbp,QWORD[72+rsp] + mov rbx,QWORD[80+rsp] + lea rsp,[88+rsp] +$L$epilogue: +$L$abort: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_rc4_md5_enc: +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$body] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + lea r10,[$L$epilogue] + cmp rbx,r10 + jae NEAR $L$in_prologue + + mov r15,QWORD[40+rax] + mov r14,QWORD[48+rax] + mov r13,QWORD[56+rax] + mov r12,QWORD[64+rax] + mov rbp,QWORD[72+rax] + mov rbx,QWORD[80+rax] + lea rax,[88+rax] + + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_rc4_md5_enc wrt ..imagebase + DD $L$SEH_end_rc4_md5_enc wrt ..imagebase + DD $L$SEH_info_rc4_md5_enc wrt ..imagebase + +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_rc4_md5_enc: +DB 9,0,0,0 + DD se_handler wrt ..imagebase diff --git a/tmp64/rc4-x86_64.asm b/tmp64/rc4-x86_64.asm index 9e470aa0..e79ccb3a 100644 --- a/tmp64/rc4-x86_64.asm +++ b/tmp64/rc4-x86_64.asm @@ -1,768 +1,768 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - -EXTERN OPENSSL_ia32cap_P - -global RC4 - -ALIGN 16 -RC4: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_RC4: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - - or rsi,rsi - jne NEAR $L$entry - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$entry: - push rbx - push r12 - push r13 -$L$prologue: - mov r11,rsi - mov r12,rdx - mov r13,rcx - xor r10,r10 - xor rcx,rcx - - lea rdi,[8+rdi] - mov r10b,BYTE[((-8))+rdi] - mov cl,BYTE[((-4))+rdi] - cmp DWORD[256+rdi],-1 - je NEAR $L$RC4_CHAR - mov r8d,DWORD[OPENSSL_ia32cap_P] - xor rbx,rbx - inc r10b - sub rbx,r10 - sub r13,r12 - mov eax,DWORD[r10*4+rdi] - test r11,-16 - jz NEAR $L$loop1 - bt r8d,30 - jc NEAR $L$intel - and rbx,7 - lea rsi,[1+r10] - jz NEAR $L$oop8 - sub r11,rbx -$L$oop8_warmup: - add cl,al - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - mov DWORD[r10*4+rdi],edx - add al,dl - inc r10b - mov edx,DWORD[rax*4+rdi] - mov eax,DWORD[r10*4+rdi] - xor dl,BYTE[r12] - mov BYTE[r13*1+r12],dl - lea r12,[1+r12] - dec rbx - jnz NEAR $L$oop8_warmup - - lea rsi,[1+r10] - jmp NEAR $L$oop8 -ALIGN 16 -$L$oop8: - add cl,al - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - mov ebx,DWORD[rsi*4+rdi] - ror r8,8 - mov DWORD[r10*4+rdi],edx - add dl,al - mov r8b,BYTE[rdx*4+rdi] - add cl,bl - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],ebx - mov eax,DWORD[4+rsi*4+rdi] - ror r8,8 - mov DWORD[4+r10*4+rdi],edx - add dl,bl - mov r8b,BYTE[rdx*4+rdi] - add cl,al - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - mov ebx,DWORD[8+rsi*4+rdi] - ror r8,8 - mov DWORD[8+r10*4+rdi],edx - add dl,al - mov r8b,BYTE[rdx*4+rdi] - add cl,bl - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],ebx - mov eax,DWORD[12+rsi*4+rdi] - ror r8,8 - mov DWORD[12+r10*4+rdi],edx - add dl,bl - mov r8b,BYTE[rdx*4+rdi] - add cl,al - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - mov ebx,DWORD[16+rsi*4+rdi] - ror r8,8 - mov DWORD[16+r10*4+rdi],edx - add dl,al - mov r8b,BYTE[rdx*4+rdi] - add cl,bl - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],ebx - mov eax,DWORD[20+rsi*4+rdi] - ror r8,8 - mov DWORD[20+r10*4+rdi],edx - add dl,bl - mov r8b,BYTE[rdx*4+rdi] - add cl,al - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - mov ebx,DWORD[24+rsi*4+rdi] - ror r8,8 - mov DWORD[24+r10*4+rdi],edx - add dl,al - mov r8b,BYTE[rdx*4+rdi] - add sil,8 - add cl,bl - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],ebx - mov eax,DWORD[((-4))+rsi*4+rdi] - ror r8,8 - mov DWORD[28+r10*4+rdi],edx - add dl,bl - mov r8b,BYTE[rdx*4+rdi] - add r10b,8 - ror r8,8 - sub r11,8 - - xor r8,QWORD[r12] - mov QWORD[r13*1+r12],r8 - lea r12,[8+r12] - - test r11,-8 - jnz NEAR $L$oop8 - cmp r11,0 - jne NEAR $L$loop1 - jmp NEAR $L$exit - -ALIGN 16 -$L$intel: - test r11,-32 - jz NEAR $L$loop1 - and rbx,15 - jz NEAR $L$oop16_is_hot - sub r11,rbx -$L$oop16_warmup: - add cl,al - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - mov DWORD[r10*4+rdi],edx - add al,dl - inc r10b - mov edx,DWORD[rax*4+rdi] - mov eax,DWORD[r10*4+rdi] - xor dl,BYTE[r12] - mov BYTE[r13*1+r12],dl - lea r12,[1+r12] - dec rbx - jnz NEAR $L$oop16_warmup - - mov rbx,rcx - xor rcx,rcx - mov cl,bl - -$L$oop16_is_hot: - lea rsi,[r10*4+rdi] - add cl,al - mov edx,DWORD[rcx*4+rdi] - pxor xmm0,xmm0 - mov DWORD[rcx*4+rdi],eax - add al,dl - mov ebx,DWORD[4+rsi] - movzx eax,al - mov DWORD[rsi],edx - add cl,bl - pinsrw xmm0,WORD[rax*4+rdi],0 - jmp NEAR $L$oop16_enter -ALIGN 16 -$L$oop16: - add cl,al - mov edx,DWORD[rcx*4+rdi] - pxor xmm2,xmm0 - psllq xmm1,8 - pxor xmm0,xmm0 - mov DWORD[rcx*4+rdi],eax - add al,dl - mov ebx,DWORD[4+rsi] - movzx eax,al - mov DWORD[rsi],edx - pxor xmm2,xmm1 - add cl,bl - pinsrw xmm0,WORD[rax*4+rdi],0 - movdqu XMMWORD[r13*1+r12],xmm2 - lea r12,[16+r12] -$L$oop16_enter: - mov edx,DWORD[rcx*4+rdi] - pxor xmm1,xmm1 - mov DWORD[rcx*4+rdi],ebx - add bl,dl - mov eax,DWORD[8+rsi] - movzx ebx,bl - mov DWORD[4+rsi],edx - add cl,al - pinsrw xmm1,WORD[rbx*4+rdi],0 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - add al,dl - mov ebx,DWORD[12+rsi] - movzx eax,al - mov DWORD[8+rsi],edx - add cl,bl - pinsrw xmm0,WORD[rax*4+rdi],1 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],ebx - add bl,dl - mov eax,DWORD[16+rsi] - movzx ebx,bl - mov DWORD[12+rsi],edx - add cl,al - pinsrw xmm1,WORD[rbx*4+rdi],1 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - add al,dl - mov ebx,DWORD[20+rsi] - movzx eax,al - mov DWORD[16+rsi],edx - add cl,bl - pinsrw xmm0,WORD[rax*4+rdi],2 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],ebx - add bl,dl - mov eax,DWORD[24+rsi] - movzx ebx,bl - mov DWORD[20+rsi],edx - add cl,al - pinsrw xmm1,WORD[rbx*4+rdi],2 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - add al,dl - mov ebx,DWORD[28+rsi] - movzx eax,al - mov DWORD[24+rsi],edx - add cl,bl - pinsrw xmm0,WORD[rax*4+rdi],3 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],ebx - add bl,dl - mov eax,DWORD[32+rsi] - movzx ebx,bl - mov DWORD[28+rsi],edx - add cl,al - pinsrw xmm1,WORD[rbx*4+rdi],3 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - add al,dl - mov ebx,DWORD[36+rsi] - movzx eax,al - mov DWORD[32+rsi],edx - add cl,bl - pinsrw xmm0,WORD[rax*4+rdi],4 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],ebx - add bl,dl - mov eax,DWORD[40+rsi] - movzx ebx,bl - mov DWORD[36+rsi],edx - add cl,al - pinsrw xmm1,WORD[rbx*4+rdi],4 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - add al,dl - mov ebx,DWORD[44+rsi] - movzx eax,al - mov DWORD[40+rsi],edx - add cl,bl - pinsrw xmm0,WORD[rax*4+rdi],5 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],ebx - add bl,dl - mov eax,DWORD[48+rsi] - movzx ebx,bl - mov DWORD[44+rsi],edx - add cl,al - pinsrw xmm1,WORD[rbx*4+rdi],5 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - add al,dl - mov ebx,DWORD[52+rsi] - movzx eax,al - mov DWORD[48+rsi],edx - add cl,bl - pinsrw xmm0,WORD[rax*4+rdi],6 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],ebx - add bl,dl - mov eax,DWORD[56+rsi] - movzx ebx,bl - mov DWORD[52+rsi],edx - add cl,al - pinsrw xmm1,WORD[rbx*4+rdi],6 - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - add al,dl - mov ebx,DWORD[60+rsi] - movzx eax,al - mov DWORD[56+rsi],edx - add cl,bl - pinsrw xmm0,WORD[rax*4+rdi],7 - add r10b,16 - movdqu xmm2,XMMWORD[r12] - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],ebx - add bl,dl - movzx ebx,bl - mov DWORD[60+rsi],edx - lea rsi,[r10*4+rdi] - pinsrw xmm1,WORD[rbx*4+rdi],7 - mov eax,DWORD[rsi] - mov rbx,rcx - xor rcx,rcx - sub r11,16 - mov cl,bl - test r11,-16 - jnz NEAR $L$oop16 - - psllq xmm1,8 - pxor xmm2,xmm0 - pxor xmm2,xmm1 - movdqu XMMWORD[r13*1+r12],xmm2 - lea r12,[16+r12] - - cmp r11,0 - jne NEAR $L$loop1 - jmp NEAR $L$exit - -ALIGN 16 -$L$loop1: - add cl,al - mov edx,DWORD[rcx*4+rdi] - mov DWORD[rcx*4+rdi],eax - mov DWORD[r10*4+rdi],edx - add al,dl - inc r10b - mov edx,DWORD[rax*4+rdi] - mov eax,DWORD[r10*4+rdi] - xor dl,BYTE[r12] - mov BYTE[r13*1+r12],dl - lea r12,[1+r12] - dec r11 - jnz NEAR $L$loop1 - jmp NEAR $L$exit - -ALIGN 16 -$L$RC4_CHAR: - add r10b,1 - movzx eax,BYTE[r10*1+rdi] - test r11,-8 - jz NEAR $L$cloop1 - jmp NEAR $L$cloop8 -ALIGN 16 -$L$cloop8: - mov r8d,DWORD[r12] - mov r9d,DWORD[4+r12] - add cl,al - lea rsi,[1+r10] - movzx edx,BYTE[rcx*1+rdi] - movzx esi,sil - movzx ebx,BYTE[rsi*1+rdi] - mov BYTE[rcx*1+rdi],al - cmp rcx,rsi - mov BYTE[r10*1+rdi],dl - jne NEAR $L$cmov0 - mov rbx,rax -$L$cmov0: - add dl,al - xor r8b,BYTE[rdx*1+rdi] - ror r8d,8 - add cl,bl - lea r10,[1+rsi] - movzx edx,BYTE[rcx*1+rdi] - movzx r10d,r10b - movzx eax,BYTE[r10*1+rdi] - mov BYTE[rcx*1+rdi],bl - cmp rcx,r10 - mov BYTE[rsi*1+rdi],dl - jne NEAR $L$cmov1 - mov rax,rbx -$L$cmov1: - add dl,bl - xor r8b,BYTE[rdx*1+rdi] - ror r8d,8 - add cl,al - lea rsi,[1+r10] - movzx edx,BYTE[rcx*1+rdi] - movzx esi,sil - movzx ebx,BYTE[rsi*1+rdi] - mov BYTE[rcx*1+rdi],al - cmp rcx,rsi - mov BYTE[r10*1+rdi],dl - jne NEAR $L$cmov2 - mov rbx,rax -$L$cmov2: - add dl,al - xor r8b,BYTE[rdx*1+rdi] - ror r8d,8 - add cl,bl - lea r10,[1+rsi] - movzx edx,BYTE[rcx*1+rdi] - movzx r10d,r10b - movzx eax,BYTE[r10*1+rdi] - mov BYTE[rcx*1+rdi],bl - cmp rcx,r10 - mov BYTE[rsi*1+rdi],dl - jne NEAR $L$cmov3 - mov rax,rbx -$L$cmov3: - add dl,bl - xor r8b,BYTE[rdx*1+rdi] - ror r8d,8 - add cl,al - lea rsi,[1+r10] - movzx edx,BYTE[rcx*1+rdi] - movzx esi,sil - movzx ebx,BYTE[rsi*1+rdi] - mov BYTE[rcx*1+rdi],al - cmp rcx,rsi - mov BYTE[r10*1+rdi],dl - jne NEAR $L$cmov4 - mov rbx,rax -$L$cmov4: - add dl,al - xor r9b,BYTE[rdx*1+rdi] - ror r9d,8 - add cl,bl - lea r10,[1+rsi] - movzx edx,BYTE[rcx*1+rdi] - movzx r10d,r10b - movzx eax,BYTE[r10*1+rdi] - mov BYTE[rcx*1+rdi],bl - cmp rcx,r10 - mov BYTE[rsi*1+rdi],dl - jne NEAR $L$cmov5 - mov rax,rbx -$L$cmov5: - add dl,bl - xor r9b,BYTE[rdx*1+rdi] - ror r9d,8 - add cl,al - lea rsi,[1+r10] - movzx edx,BYTE[rcx*1+rdi] - movzx esi,sil - movzx ebx,BYTE[rsi*1+rdi] - mov BYTE[rcx*1+rdi],al - cmp rcx,rsi - mov BYTE[r10*1+rdi],dl - jne NEAR $L$cmov6 - mov rbx,rax -$L$cmov6: - add dl,al - xor r9b,BYTE[rdx*1+rdi] - ror r9d,8 - add cl,bl - lea r10,[1+rsi] - movzx edx,BYTE[rcx*1+rdi] - movzx r10d,r10b - movzx eax,BYTE[r10*1+rdi] - mov BYTE[rcx*1+rdi],bl - cmp rcx,r10 - mov BYTE[rsi*1+rdi],dl - jne NEAR $L$cmov7 - mov rax,rbx -$L$cmov7: - add dl,bl - xor r9b,BYTE[rdx*1+rdi] - ror r9d,8 - lea r11,[((-8))+r11] - mov DWORD[r13],r8d - lea r12,[8+r12] - mov DWORD[4+r13],r9d - lea r13,[8+r13] - - test r11,-8 - jnz NEAR $L$cloop8 - cmp r11,0 - jne NEAR $L$cloop1 - jmp NEAR $L$exit -ALIGN 16 -$L$cloop1: - add cl,al - movzx ecx,cl - movzx edx,BYTE[rcx*1+rdi] - mov BYTE[rcx*1+rdi],al - mov BYTE[r10*1+rdi],dl - add dl,al - add r10b,1 - movzx edx,dl - movzx r10d,r10b - movzx edx,BYTE[rdx*1+rdi] - movzx eax,BYTE[r10*1+rdi] - xor dl,BYTE[r12] - lea r12,[1+r12] - mov BYTE[r13],dl - lea r13,[1+r13] - sub r11,1 - jnz NEAR $L$cloop1 - jmp NEAR $L$exit - -ALIGN 16 -$L$exit: - sub r10b,1 - mov DWORD[((-8))+rdi],r10d - mov DWORD[((-4))+rdi],ecx - - mov r13,QWORD[rsp] - mov r12,QWORD[8+rsp] - mov rbx,QWORD[16+rsp] - add rsp,24 -$L$epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_RC4: -global private_RC4_set_key - -ALIGN 16 -private_RC4_set_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_private_RC4_set_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - lea rdi,[8+rdi] - lea rdx,[rsi*1+rdx] - neg rsi - mov rcx,rsi - xor eax,eax - xor r9,r9 - xor r10,r10 - xor r11,r11 - - mov r8d,DWORD[OPENSSL_ia32cap_P] - bt r8d,20 - jc NEAR $L$c1stloop - jmp NEAR $L$w1stloop - -ALIGN 16 -$L$w1stloop: - mov DWORD[rax*4+rdi],eax - add al,1 - jnc NEAR $L$w1stloop - - xor r9,r9 - xor r8,r8 -ALIGN 16 -$L$w2ndloop: - mov r10d,DWORD[r9*4+rdi] - add r8b,BYTE[rsi*1+rdx] - add r8b,r10b - add rsi,1 - mov r11d,DWORD[r8*4+rdi] - cmovz rsi,rcx - mov DWORD[r8*4+rdi],r10d - mov DWORD[r9*4+rdi],r11d - add r9b,1 - jnc NEAR $L$w2ndloop - jmp NEAR $L$exit_key - -ALIGN 16 -$L$c1stloop: - mov BYTE[rax*1+rdi],al - add al,1 - jnc NEAR $L$c1stloop - - xor r9,r9 - xor r8,r8 -ALIGN 16 -$L$c2ndloop: - mov r10b,BYTE[r9*1+rdi] - add r8b,BYTE[rsi*1+rdx] - add r8b,r10b - add rsi,1 - mov r11b,BYTE[r8*1+rdi] - jnz NEAR $L$cnowrap - mov rsi,rcx -$L$cnowrap: - mov BYTE[r8*1+rdi],r10b - mov BYTE[r9*1+rdi],r11b - add r9b,1 - jnc NEAR $L$c2ndloop - mov DWORD[256+rdi],-1 - -ALIGN 16 -$L$exit_key: - xor eax,eax - mov DWORD[((-8))+rdi],eax - mov DWORD[((-4))+rdi],eax - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_private_RC4_set_key: - -global RC4_options - -ALIGN 16 -RC4_options: - lea rax,[$L$opts] - mov edx,DWORD[OPENSSL_ia32cap_P] - bt edx,20 - jc NEAR $L$8xchar - bt edx,30 - jnc NEAR $L$done - add rax,25 - DB 0F3h,0C3h ;repret -$L$8xchar: - add rax,12 -$L$done: - DB 0F3h,0C3h ;repret -ALIGN 64 -$L$opts: -DB 114,99,52,40,56,120,44,105,110,116,41,0 -DB 114,99,52,40,56,120,44,99,104,97,114,41,0 -DB 114,99,52,40,49,54,120,44,105,110,116,41,0 -DB 82,67,52,32,102,111,114,32,120,56,54,95,54,52,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 64 - -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -stream_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$prologue] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - lea r10,[$L$epilogue] - cmp rbx,r10 - jae NEAR $L$in_prologue - - lea rax,[24+rax] - - mov rbx,QWORD[((-8))+rax] - mov r12,QWORD[((-16))+rax] - mov r13,QWORD[((-24))+rax] - mov QWORD[144+r8],rbx - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - jmp NEAR $L$common_seh_exit - - - -ALIGN 16 -key_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[152+r8] - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - -$L$common_seh_exit: - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_RC4 wrt ..imagebase - DD $L$SEH_end_RC4 wrt ..imagebase - DD $L$SEH_info_RC4 wrt ..imagebase - - DD $L$SEH_begin_private_RC4_set_key wrt ..imagebase - DD $L$SEH_end_private_RC4_set_key wrt ..imagebase - DD $L$SEH_info_private_RC4_set_key wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_RC4: -DB 9,0,0,0 - DD stream_se_handler wrt ..imagebase -$L$SEH_info_private_RC4_set_key: -DB 9,0,0,0 - DD key_se_handler wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + +EXTERN OPENSSL_ia32cap_P + +global RC4 + +ALIGN 16 +RC4: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_RC4: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + + or rsi,rsi + jne NEAR $L$entry + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$entry: + push rbx + push r12 + push r13 +$L$prologue: + mov r11,rsi + mov r12,rdx + mov r13,rcx + xor r10,r10 + xor rcx,rcx + + lea rdi,[8+rdi] + mov r10b,BYTE[((-8))+rdi] + mov cl,BYTE[((-4))+rdi] + cmp DWORD[256+rdi],-1 + je NEAR $L$RC4_CHAR + mov r8d,DWORD[OPENSSL_ia32cap_P] + xor rbx,rbx + inc r10b + sub rbx,r10 + sub r13,r12 + mov eax,DWORD[r10*4+rdi] + test r11,-16 + jz NEAR $L$loop1 + bt r8d,30 + jc NEAR $L$intel + and rbx,7 + lea rsi,[1+r10] + jz NEAR $L$oop8 + sub r11,rbx +$L$oop8_warmup: + add cl,al + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + mov DWORD[r10*4+rdi],edx + add al,dl + inc r10b + mov edx,DWORD[rax*4+rdi] + mov eax,DWORD[r10*4+rdi] + xor dl,BYTE[r12] + mov BYTE[r13*1+r12],dl + lea r12,[1+r12] + dec rbx + jnz NEAR $L$oop8_warmup + + lea rsi,[1+r10] + jmp NEAR $L$oop8 +ALIGN 16 +$L$oop8: + add cl,al + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + mov ebx,DWORD[rsi*4+rdi] + ror r8,8 + mov DWORD[r10*4+rdi],edx + add dl,al + mov r8b,BYTE[rdx*4+rdi] + add cl,bl + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],ebx + mov eax,DWORD[4+rsi*4+rdi] + ror r8,8 + mov DWORD[4+r10*4+rdi],edx + add dl,bl + mov r8b,BYTE[rdx*4+rdi] + add cl,al + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + mov ebx,DWORD[8+rsi*4+rdi] + ror r8,8 + mov DWORD[8+r10*4+rdi],edx + add dl,al + mov r8b,BYTE[rdx*4+rdi] + add cl,bl + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],ebx + mov eax,DWORD[12+rsi*4+rdi] + ror r8,8 + mov DWORD[12+r10*4+rdi],edx + add dl,bl + mov r8b,BYTE[rdx*4+rdi] + add cl,al + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + mov ebx,DWORD[16+rsi*4+rdi] + ror r8,8 + mov DWORD[16+r10*4+rdi],edx + add dl,al + mov r8b,BYTE[rdx*4+rdi] + add cl,bl + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],ebx + mov eax,DWORD[20+rsi*4+rdi] + ror r8,8 + mov DWORD[20+r10*4+rdi],edx + add dl,bl + mov r8b,BYTE[rdx*4+rdi] + add cl,al + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + mov ebx,DWORD[24+rsi*4+rdi] + ror r8,8 + mov DWORD[24+r10*4+rdi],edx + add dl,al + mov r8b,BYTE[rdx*4+rdi] + add sil,8 + add cl,bl + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],ebx + mov eax,DWORD[((-4))+rsi*4+rdi] + ror r8,8 + mov DWORD[28+r10*4+rdi],edx + add dl,bl + mov r8b,BYTE[rdx*4+rdi] + add r10b,8 + ror r8,8 + sub r11,8 + + xor r8,QWORD[r12] + mov QWORD[r13*1+r12],r8 + lea r12,[8+r12] + + test r11,-8 + jnz NEAR $L$oop8 + cmp r11,0 + jne NEAR $L$loop1 + jmp NEAR $L$exit + +ALIGN 16 +$L$intel: + test r11,-32 + jz NEAR $L$loop1 + and rbx,15 + jz NEAR $L$oop16_is_hot + sub r11,rbx +$L$oop16_warmup: + add cl,al + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + mov DWORD[r10*4+rdi],edx + add al,dl + inc r10b + mov edx,DWORD[rax*4+rdi] + mov eax,DWORD[r10*4+rdi] + xor dl,BYTE[r12] + mov BYTE[r13*1+r12],dl + lea r12,[1+r12] + dec rbx + jnz NEAR $L$oop16_warmup + + mov rbx,rcx + xor rcx,rcx + mov cl,bl + +$L$oop16_is_hot: + lea rsi,[r10*4+rdi] + add cl,al + mov edx,DWORD[rcx*4+rdi] + pxor xmm0,xmm0 + mov DWORD[rcx*4+rdi],eax + add al,dl + mov ebx,DWORD[4+rsi] + movzx eax,al + mov DWORD[rsi],edx + add cl,bl + pinsrw xmm0,WORD[rax*4+rdi],0 + jmp NEAR $L$oop16_enter +ALIGN 16 +$L$oop16: + add cl,al + mov edx,DWORD[rcx*4+rdi] + pxor xmm2,xmm0 + psllq xmm1,8 + pxor xmm0,xmm0 + mov DWORD[rcx*4+rdi],eax + add al,dl + mov ebx,DWORD[4+rsi] + movzx eax,al + mov DWORD[rsi],edx + pxor xmm2,xmm1 + add cl,bl + pinsrw xmm0,WORD[rax*4+rdi],0 + movdqu XMMWORD[r13*1+r12],xmm2 + lea r12,[16+r12] +$L$oop16_enter: + mov edx,DWORD[rcx*4+rdi] + pxor xmm1,xmm1 + mov DWORD[rcx*4+rdi],ebx + add bl,dl + mov eax,DWORD[8+rsi] + movzx ebx,bl + mov DWORD[4+rsi],edx + add cl,al + pinsrw xmm1,WORD[rbx*4+rdi],0 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + add al,dl + mov ebx,DWORD[12+rsi] + movzx eax,al + mov DWORD[8+rsi],edx + add cl,bl + pinsrw xmm0,WORD[rax*4+rdi],1 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],ebx + add bl,dl + mov eax,DWORD[16+rsi] + movzx ebx,bl + mov DWORD[12+rsi],edx + add cl,al + pinsrw xmm1,WORD[rbx*4+rdi],1 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + add al,dl + mov ebx,DWORD[20+rsi] + movzx eax,al + mov DWORD[16+rsi],edx + add cl,bl + pinsrw xmm0,WORD[rax*4+rdi],2 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],ebx + add bl,dl + mov eax,DWORD[24+rsi] + movzx ebx,bl + mov DWORD[20+rsi],edx + add cl,al + pinsrw xmm1,WORD[rbx*4+rdi],2 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + add al,dl + mov ebx,DWORD[28+rsi] + movzx eax,al + mov DWORD[24+rsi],edx + add cl,bl + pinsrw xmm0,WORD[rax*4+rdi],3 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],ebx + add bl,dl + mov eax,DWORD[32+rsi] + movzx ebx,bl + mov DWORD[28+rsi],edx + add cl,al + pinsrw xmm1,WORD[rbx*4+rdi],3 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + add al,dl + mov ebx,DWORD[36+rsi] + movzx eax,al + mov DWORD[32+rsi],edx + add cl,bl + pinsrw xmm0,WORD[rax*4+rdi],4 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],ebx + add bl,dl + mov eax,DWORD[40+rsi] + movzx ebx,bl + mov DWORD[36+rsi],edx + add cl,al + pinsrw xmm1,WORD[rbx*4+rdi],4 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + add al,dl + mov ebx,DWORD[44+rsi] + movzx eax,al + mov DWORD[40+rsi],edx + add cl,bl + pinsrw xmm0,WORD[rax*4+rdi],5 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],ebx + add bl,dl + mov eax,DWORD[48+rsi] + movzx ebx,bl + mov DWORD[44+rsi],edx + add cl,al + pinsrw xmm1,WORD[rbx*4+rdi],5 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + add al,dl + mov ebx,DWORD[52+rsi] + movzx eax,al + mov DWORD[48+rsi],edx + add cl,bl + pinsrw xmm0,WORD[rax*4+rdi],6 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],ebx + add bl,dl + mov eax,DWORD[56+rsi] + movzx ebx,bl + mov DWORD[52+rsi],edx + add cl,al + pinsrw xmm1,WORD[rbx*4+rdi],6 + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + add al,dl + mov ebx,DWORD[60+rsi] + movzx eax,al + mov DWORD[56+rsi],edx + add cl,bl + pinsrw xmm0,WORD[rax*4+rdi],7 + add r10b,16 + movdqu xmm2,XMMWORD[r12] + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],ebx + add bl,dl + movzx ebx,bl + mov DWORD[60+rsi],edx + lea rsi,[r10*4+rdi] + pinsrw xmm1,WORD[rbx*4+rdi],7 + mov eax,DWORD[rsi] + mov rbx,rcx + xor rcx,rcx + sub r11,16 + mov cl,bl + test r11,-16 + jnz NEAR $L$oop16 + + psllq xmm1,8 + pxor xmm2,xmm0 + pxor xmm2,xmm1 + movdqu XMMWORD[r13*1+r12],xmm2 + lea r12,[16+r12] + + cmp r11,0 + jne NEAR $L$loop1 + jmp NEAR $L$exit + +ALIGN 16 +$L$loop1: + add cl,al + mov edx,DWORD[rcx*4+rdi] + mov DWORD[rcx*4+rdi],eax + mov DWORD[r10*4+rdi],edx + add al,dl + inc r10b + mov edx,DWORD[rax*4+rdi] + mov eax,DWORD[r10*4+rdi] + xor dl,BYTE[r12] + mov BYTE[r13*1+r12],dl + lea r12,[1+r12] + dec r11 + jnz NEAR $L$loop1 + jmp NEAR $L$exit + +ALIGN 16 +$L$RC4_CHAR: + add r10b,1 + movzx eax,BYTE[r10*1+rdi] + test r11,-8 + jz NEAR $L$cloop1 + jmp NEAR $L$cloop8 +ALIGN 16 +$L$cloop8: + mov r8d,DWORD[r12] + mov r9d,DWORD[4+r12] + add cl,al + lea rsi,[1+r10] + movzx edx,BYTE[rcx*1+rdi] + movzx esi,sil + movzx ebx,BYTE[rsi*1+rdi] + mov BYTE[rcx*1+rdi],al + cmp rcx,rsi + mov BYTE[r10*1+rdi],dl + jne NEAR $L$cmov0 + mov rbx,rax +$L$cmov0: + add dl,al + xor r8b,BYTE[rdx*1+rdi] + ror r8d,8 + add cl,bl + lea r10,[1+rsi] + movzx edx,BYTE[rcx*1+rdi] + movzx r10d,r10b + movzx eax,BYTE[r10*1+rdi] + mov BYTE[rcx*1+rdi],bl + cmp rcx,r10 + mov BYTE[rsi*1+rdi],dl + jne NEAR $L$cmov1 + mov rax,rbx +$L$cmov1: + add dl,bl + xor r8b,BYTE[rdx*1+rdi] + ror r8d,8 + add cl,al + lea rsi,[1+r10] + movzx edx,BYTE[rcx*1+rdi] + movzx esi,sil + movzx ebx,BYTE[rsi*1+rdi] + mov BYTE[rcx*1+rdi],al + cmp rcx,rsi + mov BYTE[r10*1+rdi],dl + jne NEAR $L$cmov2 + mov rbx,rax +$L$cmov2: + add dl,al + xor r8b,BYTE[rdx*1+rdi] + ror r8d,8 + add cl,bl + lea r10,[1+rsi] + movzx edx,BYTE[rcx*1+rdi] + movzx r10d,r10b + movzx eax,BYTE[r10*1+rdi] + mov BYTE[rcx*1+rdi],bl + cmp rcx,r10 + mov BYTE[rsi*1+rdi],dl + jne NEAR $L$cmov3 + mov rax,rbx +$L$cmov3: + add dl,bl + xor r8b,BYTE[rdx*1+rdi] + ror r8d,8 + add cl,al + lea rsi,[1+r10] + movzx edx,BYTE[rcx*1+rdi] + movzx esi,sil + movzx ebx,BYTE[rsi*1+rdi] + mov BYTE[rcx*1+rdi],al + cmp rcx,rsi + mov BYTE[r10*1+rdi],dl + jne NEAR $L$cmov4 + mov rbx,rax +$L$cmov4: + add dl,al + xor r9b,BYTE[rdx*1+rdi] + ror r9d,8 + add cl,bl + lea r10,[1+rsi] + movzx edx,BYTE[rcx*1+rdi] + movzx r10d,r10b + movzx eax,BYTE[r10*1+rdi] + mov BYTE[rcx*1+rdi],bl + cmp rcx,r10 + mov BYTE[rsi*1+rdi],dl + jne NEAR $L$cmov5 + mov rax,rbx +$L$cmov5: + add dl,bl + xor r9b,BYTE[rdx*1+rdi] + ror r9d,8 + add cl,al + lea rsi,[1+r10] + movzx edx,BYTE[rcx*1+rdi] + movzx esi,sil + movzx ebx,BYTE[rsi*1+rdi] + mov BYTE[rcx*1+rdi],al + cmp rcx,rsi + mov BYTE[r10*1+rdi],dl + jne NEAR $L$cmov6 + mov rbx,rax +$L$cmov6: + add dl,al + xor r9b,BYTE[rdx*1+rdi] + ror r9d,8 + add cl,bl + lea r10,[1+rsi] + movzx edx,BYTE[rcx*1+rdi] + movzx r10d,r10b + movzx eax,BYTE[r10*1+rdi] + mov BYTE[rcx*1+rdi],bl + cmp rcx,r10 + mov BYTE[rsi*1+rdi],dl + jne NEAR $L$cmov7 + mov rax,rbx +$L$cmov7: + add dl,bl + xor r9b,BYTE[rdx*1+rdi] + ror r9d,8 + lea r11,[((-8))+r11] + mov DWORD[r13],r8d + lea r12,[8+r12] + mov DWORD[4+r13],r9d + lea r13,[8+r13] + + test r11,-8 + jnz NEAR $L$cloop8 + cmp r11,0 + jne NEAR $L$cloop1 + jmp NEAR $L$exit +ALIGN 16 +$L$cloop1: + add cl,al + movzx ecx,cl + movzx edx,BYTE[rcx*1+rdi] + mov BYTE[rcx*1+rdi],al + mov BYTE[r10*1+rdi],dl + add dl,al + add r10b,1 + movzx edx,dl + movzx r10d,r10b + movzx edx,BYTE[rdx*1+rdi] + movzx eax,BYTE[r10*1+rdi] + xor dl,BYTE[r12] + lea r12,[1+r12] + mov BYTE[r13],dl + lea r13,[1+r13] + sub r11,1 + jnz NEAR $L$cloop1 + jmp NEAR $L$exit + +ALIGN 16 +$L$exit: + sub r10b,1 + mov DWORD[((-8))+rdi],r10d + mov DWORD[((-4))+rdi],ecx + + mov r13,QWORD[rsp] + mov r12,QWORD[8+rsp] + mov rbx,QWORD[16+rsp] + add rsp,24 +$L$epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_RC4: +global private_RC4_set_key + +ALIGN 16 +private_RC4_set_key: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_private_RC4_set_key: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + lea rdi,[8+rdi] + lea rdx,[rsi*1+rdx] + neg rsi + mov rcx,rsi + xor eax,eax + xor r9,r9 + xor r10,r10 + xor r11,r11 + + mov r8d,DWORD[OPENSSL_ia32cap_P] + bt r8d,20 + jc NEAR $L$c1stloop + jmp NEAR $L$w1stloop + +ALIGN 16 +$L$w1stloop: + mov DWORD[rax*4+rdi],eax + add al,1 + jnc NEAR $L$w1stloop + + xor r9,r9 + xor r8,r8 +ALIGN 16 +$L$w2ndloop: + mov r10d,DWORD[r9*4+rdi] + add r8b,BYTE[rsi*1+rdx] + add r8b,r10b + add rsi,1 + mov r11d,DWORD[r8*4+rdi] + cmovz rsi,rcx + mov DWORD[r8*4+rdi],r10d + mov DWORD[r9*4+rdi],r11d + add r9b,1 + jnc NEAR $L$w2ndloop + jmp NEAR $L$exit_key + +ALIGN 16 +$L$c1stloop: + mov BYTE[rax*1+rdi],al + add al,1 + jnc NEAR $L$c1stloop + + xor r9,r9 + xor r8,r8 +ALIGN 16 +$L$c2ndloop: + mov r10b,BYTE[r9*1+rdi] + add r8b,BYTE[rsi*1+rdx] + add r8b,r10b + add rsi,1 + mov r11b,BYTE[r8*1+rdi] + jnz NEAR $L$cnowrap + mov rsi,rcx +$L$cnowrap: + mov BYTE[r8*1+rdi],r10b + mov BYTE[r9*1+rdi],r11b + add r9b,1 + jnc NEAR $L$c2ndloop + mov DWORD[256+rdi],-1 + +ALIGN 16 +$L$exit_key: + xor eax,eax + mov DWORD[((-8))+rdi],eax + mov DWORD[((-4))+rdi],eax + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_private_RC4_set_key: + +global RC4_options + +ALIGN 16 +RC4_options: + lea rax,[$L$opts] + mov edx,DWORD[OPENSSL_ia32cap_P] + bt edx,20 + jc NEAR $L$8xchar + bt edx,30 + jnc NEAR $L$done + add rax,25 + DB 0F3h,0C3h ;repret +$L$8xchar: + add rax,12 +$L$done: + DB 0F3h,0C3h ;repret +ALIGN 64 +$L$opts: +DB 114,99,52,40,56,120,44,105,110,116,41,0 +DB 114,99,52,40,56,120,44,99,104,97,114,41,0 +DB 114,99,52,40,49,54,120,44,105,110,116,41,0 +DB 82,67,52,32,102,111,114,32,120,56,54,95,54,52,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 64 + +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +stream_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$prologue] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + lea r10,[$L$epilogue] + cmp rbx,r10 + jae NEAR $L$in_prologue + + lea rax,[24+rax] + + mov rbx,QWORD[((-8))+rax] + mov r12,QWORD[((-16))+rax] + mov r13,QWORD[((-24))+rax] + mov QWORD[144+r8],rbx + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + jmp NEAR $L$common_seh_exit + + + +ALIGN 16 +key_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[152+r8] + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + +$L$common_seh_exit: + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_RC4 wrt ..imagebase + DD $L$SEH_end_RC4 wrt ..imagebase + DD $L$SEH_info_RC4 wrt ..imagebase + + DD $L$SEH_begin_private_RC4_set_key wrt ..imagebase + DD $L$SEH_end_private_RC4_set_key wrt ..imagebase + DD $L$SEH_info_private_RC4_set_key wrt ..imagebase + +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_RC4: +DB 9,0,0,0 + DD stream_se_handler wrt ..imagebase +$L$SEH_info_private_RC4_set_key: +DB 9,0,0,0 + DD key_se_handler wrt ..imagebase diff --git a/tmp64/rsaz-avx2.asm b/tmp64/rsaz-avx2.asm index 86d26158..53b81b3c 100644 --- a/tmp64/rsaz-avx2.asm +++ b/tmp64/rsaz-avx2.asm @@ -1,1928 +1,1928 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -global rsaz_1024_sqr_avx2 - -ALIGN 64 -rsaz_1024_sqr_avx2: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_rsaz_1024_sqr_avx2: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - - - lea rax,[rsp] - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - vzeroupper - lea rsp,[((-168))+rsp] - vmovaps XMMWORD[(-216)+rax],xmm6 - vmovaps XMMWORD[(-200)+rax],xmm7 - vmovaps XMMWORD[(-184)+rax],xmm8 - vmovaps XMMWORD[(-168)+rax],xmm9 - vmovaps XMMWORD[(-152)+rax],xmm10 - vmovaps XMMWORD[(-136)+rax],xmm11 - vmovaps XMMWORD[(-120)+rax],xmm12 - vmovaps XMMWORD[(-104)+rax],xmm13 - vmovaps XMMWORD[(-88)+rax],xmm14 - vmovaps XMMWORD[(-72)+rax],xmm15 -$L$sqr_1024_body: - mov rbp,rax - mov r13,rdx - sub rsp,832 - mov r15,r13 - sub rdi,-128 - sub rsi,-128 - sub r13,-128 - - and r15,4095 - add r15,32*10 - shr r15,12 - vpxor ymm9,ymm9,ymm9 - jz NEAR $L$sqr_1024_no_n_copy - - - - - - sub rsp,32*10 - vmovdqu ymm0,YMMWORD[((0-128))+r13] - and rsp,-2048 - vmovdqu ymm1,YMMWORD[((32-128))+r13] - vmovdqu ymm2,YMMWORD[((64-128))+r13] - vmovdqu ymm3,YMMWORD[((96-128))+r13] - vmovdqu ymm4,YMMWORD[((128-128))+r13] - vmovdqu ymm5,YMMWORD[((160-128))+r13] - vmovdqu ymm6,YMMWORD[((192-128))+r13] - vmovdqu ymm7,YMMWORD[((224-128))+r13] - vmovdqu ymm8,YMMWORD[((256-128))+r13] - lea r13,[((832+128))+rsp] - vmovdqu YMMWORD[(0-128)+r13],ymm0 - vmovdqu YMMWORD[(32-128)+r13],ymm1 - vmovdqu YMMWORD[(64-128)+r13],ymm2 - vmovdqu YMMWORD[(96-128)+r13],ymm3 - vmovdqu YMMWORD[(128-128)+r13],ymm4 - vmovdqu YMMWORD[(160-128)+r13],ymm5 - vmovdqu YMMWORD[(192-128)+r13],ymm6 - vmovdqu YMMWORD[(224-128)+r13],ymm7 - vmovdqu YMMWORD[(256-128)+r13],ymm8 - vmovdqu YMMWORD[(288-128)+r13],ymm9 - -$L$sqr_1024_no_n_copy: - and rsp,-1024 - - vmovdqu ymm1,YMMWORD[((32-128))+rsi] - vmovdqu ymm2,YMMWORD[((64-128))+rsi] - vmovdqu ymm3,YMMWORD[((96-128))+rsi] - vmovdqu ymm4,YMMWORD[((128-128))+rsi] - vmovdqu ymm5,YMMWORD[((160-128))+rsi] - vmovdqu ymm6,YMMWORD[((192-128))+rsi] - vmovdqu ymm7,YMMWORD[((224-128))+rsi] - vmovdqu ymm8,YMMWORD[((256-128))+rsi] - - lea rbx,[192+rsp] - vmovdqu ymm15,YMMWORD[$L$and_mask] - jmp NEAR $L$OOP_GRANDE_SQR_1024 - -ALIGN 32 -$L$OOP_GRANDE_SQR_1024: - lea r9,[((576+128))+rsp] - lea r12,[448+rsp] - - - - - vpaddq ymm1,ymm1,ymm1 - vpbroadcastq ymm10,QWORD[((0-128))+rsi] - vpaddq ymm2,ymm2,ymm2 - vmovdqa YMMWORD[(0-128)+r9],ymm1 - vpaddq ymm3,ymm3,ymm3 - vmovdqa YMMWORD[(32-128)+r9],ymm2 - vpaddq ymm4,ymm4,ymm4 - vmovdqa YMMWORD[(64-128)+r9],ymm3 - vpaddq ymm5,ymm5,ymm5 - vmovdqa YMMWORD[(96-128)+r9],ymm4 - vpaddq ymm6,ymm6,ymm6 - vmovdqa YMMWORD[(128-128)+r9],ymm5 - vpaddq ymm7,ymm7,ymm7 - vmovdqa YMMWORD[(160-128)+r9],ymm6 - vpaddq ymm8,ymm8,ymm8 - vmovdqa YMMWORD[(192-128)+r9],ymm7 - vpxor ymm9,ymm9,ymm9 - vmovdqa YMMWORD[(224-128)+r9],ymm8 - - vpmuludq ymm0,ymm10,YMMWORD[((0-128))+rsi] - vpbroadcastq ymm11,QWORD[((32-128))+rsi] - vmovdqu YMMWORD[(288-192)+rbx],ymm9 - vpmuludq ymm1,ymm1,ymm10 - vmovdqu YMMWORD[(320-448)+r12],ymm9 - vpmuludq ymm2,ymm2,ymm10 - vmovdqu YMMWORD[(352-448)+r12],ymm9 - vpmuludq ymm3,ymm3,ymm10 - vmovdqu YMMWORD[(384-448)+r12],ymm9 - vpmuludq ymm4,ymm4,ymm10 - vmovdqu YMMWORD[(416-448)+r12],ymm9 - vpmuludq ymm5,ymm5,ymm10 - vmovdqu YMMWORD[(448-448)+r12],ymm9 - vpmuludq ymm6,ymm6,ymm10 - vmovdqu YMMWORD[(480-448)+r12],ymm9 - vpmuludq ymm7,ymm7,ymm10 - vmovdqu YMMWORD[(512-448)+r12],ymm9 - vpmuludq ymm8,ymm8,ymm10 - vpbroadcastq ymm10,QWORD[((64-128))+rsi] - vmovdqu YMMWORD[(544-448)+r12],ymm9 - - mov r15,rsi - mov r14d,4 - jmp NEAR $L$sqr_entry_1024 -ALIGN 32 -$L$OOP_SQR_1024: - vpbroadcastq ymm11,QWORD[((32-128))+r15] - vpmuludq ymm0,ymm10,YMMWORD[((0-128))+rsi] - vpaddq ymm0,ymm0,YMMWORD[((0-192))+rbx] - vpmuludq ymm1,ymm10,YMMWORD[((0-128))+r9] - vpaddq ymm1,ymm1,YMMWORD[((32-192))+rbx] - vpmuludq ymm2,ymm10,YMMWORD[((32-128))+r9] - vpaddq ymm2,ymm2,YMMWORD[((64-192))+rbx] - vpmuludq ymm3,ymm10,YMMWORD[((64-128))+r9] - vpaddq ymm3,ymm3,YMMWORD[((96-192))+rbx] - vpmuludq ymm4,ymm10,YMMWORD[((96-128))+r9] - vpaddq ymm4,ymm4,YMMWORD[((128-192))+rbx] - vpmuludq ymm5,ymm10,YMMWORD[((128-128))+r9] - vpaddq ymm5,ymm5,YMMWORD[((160-192))+rbx] - vpmuludq ymm6,ymm10,YMMWORD[((160-128))+r9] - vpaddq ymm6,ymm6,YMMWORD[((192-192))+rbx] - vpmuludq ymm7,ymm10,YMMWORD[((192-128))+r9] - vpaddq ymm7,ymm7,YMMWORD[((224-192))+rbx] - vpmuludq ymm8,ymm10,YMMWORD[((224-128))+r9] - vpbroadcastq ymm10,QWORD[((64-128))+r15] - vpaddq ymm8,ymm8,YMMWORD[((256-192))+rbx] -$L$sqr_entry_1024: - vmovdqu YMMWORD[(0-192)+rbx],ymm0 - vmovdqu YMMWORD[(32-192)+rbx],ymm1 - - vpmuludq ymm12,ymm11,YMMWORD[((32-128))+rsi] - vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm14,ymm11,YMMWORD[((32-128))+r9] - vpaddq ymm3,ymm3,ymm14 - vpmuludq ymm13,ymm11,YMMWORD[((64-128))+r9] - vpaddq ymm4,ymm4,ymm13 - vpmuludq ymm12,ymm11,YMMWORD[((96-128))+r9] - vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm14,ymm11,YMMWORD[((128-128))+r9] - vpaddq ymm6,ymm6,ymm14 - vpmuludq ymm13,ymm11,YMMWORD[((160-128))+r9] - vpaddq ymm7,ymm7,ymm13 - vpmuludq ymm12,ymm11,YMMWORD[((192-128))+r9] - vpaddq ymm8,ymm8,ymm12 - vpmuludq ymm0,ymm11,YMMWORD[((224-128))+r9] - vpbroadcastq ymm11,QWORD[((96-128))+r15] - vpaddq ymm0,ymm0,YMMWORD[((288-192))+rbx] - - vmovdqu YMMWORD[(64-192)+rbx],ymm2 - vmovdqu YMMWORD[(96-192)+rbx],ymm3 - - vpmuludq ymm13,ymm10,YMMWORD[((64-128))+rsi] - vpaddq ymm4,ymm4,ymm13 - vpmuludq ymm12,ymm10,YMMWORD[((64-128))+r9] - vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm14,ymm10,YMMWORD[((96-128))+r9] - vpaddq ymm6,ymm6,ymm14 - vpmuludq ymm13,ymm10,YMMWORD[((128-128))+r9] - vpaddq ymm7,ymm7,ymm13 - vpmuludq ymm12,ymm10,YMMWORD[((160-128))+r9] - vpaddq ymm8,ymm8,ymm12 - vpmuludq ymm14,ymm10,YMMWORD[((192-128))+r9] - vpaddq ymm0,ymm0,ymm14 - vpmuludq ymm1,ymm10,YMMWORD[((224-128))+r9] - vpbroadcastq ymm10,QWORD[((128-128))+r15] - vpaddq ymm1,ymm1,YMMWORD[((320-448))+r12] - - vmovdqu YMMWORD[(128-192)+rbx],ymm4 - vmovdqu YMMWORD[(160-192)+rbx],ymm5 - - vpmuludq ymm12,ymm11,YMMWORD[((96-128))+rsi] - vpaddq ymm6,ymm6,ymm12 - vpmuludq ymm14,ymm11,YMMWORD[((96-128))+r9] - vpaddq ymm7,ymm7,ymm14 - vpmuludq ymm13,ymm11,YMMWORD[((128-128))+r9] - vpaddq ymm8,ymm8,ymm13 - vpmuludq ymm12,ymm11,YMMWORD[((160-128))+r9] - vpaddq ymm0,ymm0,ymm12 - vpmuludq ymm14,ymm11,YMMWORD[((192-128))+r9] - vpaddq ymm1,ymm1,ymm14 - vpmuludq ymm2,ymm11,YMMWORD[((224-128))+r9] - vpbroadcastq ymm11,QWORD[((160-128))+r15] - vpaddq ymm2,ymm2,YMMWORD[((352-448))+r12] - - vmovdqu YMMWORD[(192-192)+rbx],ymm6 - vmovdqu YMMWORD[(224-192)+rbx],ymm7 - - vpmuludq ymm12,ymm10,YMMWORD[((128-128))+rsi] - vpaddq ymm8,ymm8,ymm12 - vpmuludq ymm14,ymm10,YMMWORD[((128-128))+r9] - vpaddq ymm0,ymm0,ymm14 - vpmuludq ymm13,ymm10,YMMWORD[((160-128))+r9] - vpaddq ymm1,ymm1,ymm13 - vpmuludq ymm12,ymm10,YMMWORD[((192-128))+r9] - vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm3,ymm10,YMMWORD[((224-128))+r9] - vpbroadcastq ymm10,QWORD[((192-128))+r15] - vpaddq ymm3,ymm3,YMMWORD[((384-448))+r12] - - vmovdqu YMMWORD[(256-192)+rbx],ymm8 - vmovdqu YMMWORD[(288-192)+rbx],ymm0 - lea rbx,[8+rbx] - - vpmuludq ymm13,ymm11,YMMWORD[((160-128))+rsi] - vpaddq ymm1,ymm1,ymm13 - vpmuludq ymm12,ymm11,YMMWORD[((160-128))+r9] - vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm14,ymm11,YMMWORD[((192-128))+r9] - vpaddq ymm3,ymm3,ymm14 - vpmuludq ymm4,ymm11,YMMWORD[((224-128))+r9] - vpbroadcastq ymm11,QWORD[((224-128))+r15] - vpaddq ymm4,ymm4,YMMWORD[((416-448))+r12] - - vmovdqu YMMWORD[(320-448)+r12],ymm1 - vmovdqu YMMWORD[(352-448)+r12],ymm2 - - vpmuludq ymm12,ymm10,YMMWORD[((192-128))+rsi] - vpaddq ymm3,ymm3,ymm12 - vpmuludq ymm14,ymm10,YMMWORD[((192-128))+r9] - vpbroadcastq ymm0,QWORD[((256-128))+r15] - vpaddq ymm4,ymm4,ymm14 - vpmuludq ymm5,ymm10,YMMWORD[((224-128))+r9] - vpbroadcastq ymm10,QWORD[((0+8-128))+r15] - vpaddq ymm5,ymm5,YMMWORD[((448-448))+r12] - - vmovdqu YMMWORD[(384-448)+r12],ymm3 - vmovdqu YMMWORD[(416-448)+r12],ymm4 - lea r15,[8+r15] - - vpmuludq ymm12,ymm11,YMMWORD[((224-128))+rsi] - vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm6,ymm11,YMMWORD[((224-128))+r9] - vpaddq ymm6,ymm6,YMMWORD[((480-448))+r12] - - vpmuludq ymm7,ymm0,YMMWORD[((256-128))+rsi] - vmovdqu YMMWORD[(448-448)+r12],ymm5 - vpaddq ymm7,ymm7,YMMWORD[((512-448))+r12] - vmovdqu YMMWORD[(480-448)+r12],ymm6 - vmovdqu YMMWORD[(512-448)+r12],ymm7 - lea r12,[8+r12] - - dec r14d - jnz NEAR $L$OOP_SQR_1024 - - vmovdqu ymm8,YMMWORD[256+rsp] - vmovdqu ymm1,YMMWORD[288+rsp] - vmovdqu ymm2,YMMWORD[320+rsp] - lea rbx,[192+rsp] - - vpsrlq ymm14,ymm8,29 - vpand ymm8,ymm8,ymm15 - vpsrlq ymm11,ymm1,29 - vpand ymm1,ymm1,ymm15 - - vpermq ymm14,ymm14,0x93 - vpxor ymm9,ymm9,ymm9 - vpermq ymm11,ymm11,0x93 - - vpblendd ymm10,ymm14,ymm9,3 - vpblendd ymm14,ymm11,ymm14,3 - vpaddq ymm8,ymm8,ymm10 - vpblendd ymm11,ymm9,ymm11,3 - vpaddq ymm1,ymm1,ymm14 - vpaddq ymm2,ymm2,ymm11 - vmovdqu YMMWORD[(288-192)+rbx],ymm1 - vmovdqu YMMWORD[(320-192)+rbx],ymm2 - - mov rax,QWORD[rsp] - mov r10,QWORD[8+rsp] - mov r11,QWORD[16+rsp] - mov r12,QWORD[24+rsp] - vmovdqu ymm1,YMMWORD[32+rsp] - vmovdqu ymm2,YMMWORD[((64-192))+rbx] - vmovdqu ymm3,YMMWORD[((96-192))+rbx] - vmovdqu ymm4,YMMWORD[((128-192))+rbx] - vmovdqu ymm5,YMMWORD[((160-192))+rbx] - vmovdqu ymm6,YMMWORD[((192-192))+rbx] - vmovdqu ymm7,YMMWORD[((224-192))+rbx] - - mov r9,rax - imul eax,ecx - and eax,0x1fffffff - vmovd xmm12,eax - - mov rdx,rax - imul rax,QWORD[((-128))+r13] - vpbroadcastq ymm12,xmm12 - add r9,rax - mov rax,rdx - imul rax,QWORD[((8-128))+r13] - shr r9,29 - add r10,rax - mov rax,rdx - imul rax,QWORD[((16-128))+r13] - add r10,r9 - add r11,rax - imul rdx,QWORD[((24-128))+r13] - add r12,rdx - - mov rax,r10 - imul eax,ecx - and eax,0x1fffffff - - mov r14d,9 - jmp NEAR $L$OOP_REDUCE_1024 - -ALIGN 32 -$L$OOP_REDUCE_1024: - vmovd xmm13,eax - vpbroadcastq ymm13,xmm13 - - vpmuludq ymm10,ymm12,YMMWORD[((32-128))+r13] - mov rdx,rax - imul rax,QWORD[((-128))+r13] - vpaddq ymm1,ymm1,ymm10 - add r10,rax - vpmuludq ymm14,ymm12,YMMWORD[((64-128))+r13] - mov rax,rdx - imul rax,QWORD[((8-128))+r13] - vpaddq ymm2,ymm2,ymm14 - vpmuludq ymm11,ymm12,YMMWORD[((96-128))+r13] -DB 0x67 - add r11,rax -DB 0x67 - mov rax,rdx - imul rax,QWORD[((16-128))+r13] - shr r10,29 - vpaddq ymm3,ymm3,ymm11 - vpmuludq ymm10,ymm12,YMMWORD[((128-128))+r13] - add r12,rax - add r11,r10 - vpaddq ymm4,ymm4,ymm10 - vpmuludq ymm14,ymm12,YMMWORD[((160-128))+r13] - mov rax,r11 - imul eax,ecx - vpaddq ymm5,ymm5,ymm14 - vpmuludq ymm11,ymm12,YMMWORD[((192-128))+r13] - and eax,0x1fffffff - vpaddq ymm6,ymm6,ymm11 - vpmuludq ymm10,ymm12,YMMWORD[((224-128))+r13] - vpaddq ymm7,ymm7,ymm10 - vpmuludq ymm14,ymm12,YMMWORD[((256-128))+r13] - vmovd xmm12,eax - - vpaddq ymm8,ymm8,ymm14 - - vpbroadcastq ymm12,xmm12 - - vpmuludq ymm11,ymm13,YMMWORD[((32-8-128))+r13] - vmovdqu ymm14,YMMWORD[((96-8-128))+r13] - mov rdx,rax - imul rax,QWORD[((-128))+r13] - vpaddq ymm1,ymm1,ymm11 - vpmuludq ymm10,ymm13,YMMWORD[((64-8-128))+r13] - vmovdqu ymm11,YMMWORD[((128-8-128))+r13] - add r11,rax - mov rax,rdx - imul rax,QWORD[((8-128))+r13] - vpaddq ymm2,ymm2,ymm10 - add rax,r12 - shr r11,29 - vpmuludq ymm14,ymm14,ymm13 - vmovdqu ymm10,YMMWORD[((160-8-128))+r13] - add rax,r11 - vpaddq ymm3,ymm3,ymm14 - vpmuludq ymm11,ymm11,ymm13 - vmovdqu ymm14,YMMWORD[((192-8-128))+r13] -DB 0x67 - mov r12,rax - imul eax,ecx - vpaddq ymm4,ymm4,ymm11 - vpmuludq ymm10,ymm10,ymm13 -DB 0xc4,0x41,0x7e,0x6f,0x9d,0x58,0x00,0x00,0x00 - and eax,0x1fffffff - vpaddq ymm5,ymm5,ymm10 - vpmuludq ymm14,ymm14,ymm13 - vmovdqu ymm10,YMMWORD[((256-8-128))+r13] - vpaddq ymm6,ymm6,ymm14 - vpmuludq ymm11,ymm11,ymm13 - vmovdqu ymm9,YMMWORD[((288-8-128))+r13] - vmovd xmm0,eax - imul rax,QWORD[((-128))+r13] - vpaddq ymm7,ymm7,ymm11 - vpmuludq ymm10,ymm10,ymm13 - vmovdqu ymm14,YMMWORD[((32-16-128))+r13] - vpbroadcastq ymm0,xmm0 - vpaddq ymm8,ymm8,ymm10 - vpmuludq ymm9,ymm9,ymm13 - vmovdqu ymm11,YMMWORD[((64-16-128))+r13] - add r12,rax - - vmovdqu ymm13,YMMWORD[((32-24-128))+r13] - vpmuludq ymm14,ymm14,ymm12 - vmovdqu ymm10,YMMWORD[((96-16-128))+r13] - vpaddq ymm1,ymm1,ymm14 - vpmuludq ymm13,ymm13,ymm0 - vpmuludq ymm11,ymm11,ymm12 -DB 0xc4,0x41,0x7e,0x6f,0xb5,0xf0,0xff,0xff,0xff - vpaddq ymm13,ymm13,ymm1 - vpaddq ymm2,ymm2,ymm11 - vpmuludq ymm10,ymm10,ymm12 - vmovdqu ymm11,YMMWORD[((160-16-128))+r13] -DB 0x67 - vmovq rax,xmm13 - vmovdqu YMMWORD[rsp],ymm13 - vpaddq ymm3,ymm3,ymm10 - vpmuludq ymm14,ymm14,ymm12 - vmovdqu ymm10,YMMWORD[((192-16-128))+r13] - vpaddq ymm4,ymm4,ymm14 - vpmuludq ymm11,ymm11,ymm12 - vmovdqu ymm14,YMMWORD[((224-16-128))+r13] - vpaddq ymm5,ymm5,ymm11 - vpmuludq ymm10,ymm10,ymm12 - vmovdqu ymm11,YMMWORD[((256-16-128))+r13] - vpaddq ymm6,ymm6,ymm10 - vpmuludq ymm14,ymm14,ymm12 - shr r12,29 - vmovdqu ymm10,YMMWORD[((288-16-128))+r13] - add rax,r12 - vpaddq ymm7,ymm7,ymm14 - vpmuludq ymm11,ymm11,ymm12 - - mov r9,rax - imul eax,ecx - vpaddq ymm8,ymm8,ymm11 - vpmuludq ymm10,ymm10,ymm12 - and eax,0x1fffffff - vmovd xmm12,eax - vmovdqu ymm11,YMMWORD[((96-24-128))+r13] -DB 0x67 - vpaddq ymm9,ymm9,ymm10 - vpbroadcastq ymm12,xmm12 - - vpmuludq ymm14,ymm0,YMMWORD[((64-24-128))+r13] - vmovdqu ymm10,YMMWORD[((128-24-128))+r13] - mov rdx,rax - imul rax,QWORD[((-128))+r13] - mov r10,QWORD[8+rsp] - vpaddq ymm1,ymm2,ymm14 - vpmuludq ymm11,ymm11,ymm0 - vmovdqu ymm14,YMMWORD[((160-24-128))+r13] - add r9,rax - mov rax,rdx - imul rax,QWORD[((8-128))+r13] -DB 0x67 - shr r9,29 - mov r11,QWORD[16+rsp] - vpaddq ymm2,ymm3,ymm11 - vpmuludq ymm10,ymm10,ymm0 - vmovdqu ymm11,YMMWORD[((192-24-128))+r13] - add r10,rax - mov rax,rdx - imul rax,QWORD[((16-128))+r13] - vpaddq ymm3,ymm4,ymm10 - vpmuludq ymm14,ymm14,ymm0 - vmovdqu ymm10,YMMWORD[((224-24-128))+r13] - imul rdx,QWORD[((24-128))+r13] - add r11,rax - lea rax,[r10*1+r9] - vpaddq ymm4,ymm5,ymm14 - vpmuludq ymm11,ymm11,ymm0 - vmovdqu ymm14,YMMWORD[((256-24-128))+r13] - mov r10,rax - imul eax,ecx - vpmuludq ymm10,ymm10,ymm0 - vpaddq ymm5,ymm6,ymm11 - vmovdqu ymm11,YMMWORD[((288-24-128))+r13] - and eax,0x1fffffff - vpaddq ymm6,ymm7,ymm10 - vpmuludq ymm14,ymm14,ymm0 - add rdx,QWORD[24+rsp] - vpaddq ymm7,ymm8,ymm14 - vpmuludq ymm11,ymm11,ymm0 - vpaddq ymm8,ymm9,ymm11 - vmovq xmm9,r12 - mov r12,rdx - - dec r14d - jnz NEAR $L$OOP_REDUCE_1024 - lea r12,[448+rsp] - vpaddq ymm0,ymm13,ymm9 - vpxor ymm9,ymm9,ymm9 - - vpaddq ymm0,ymm0,YMMWORD[((288-192))+rbx] - vpaddq ymm1,ymm1,YMMWORD[((320-448))+r12] - vpaddq ymm2,ymm2,YMMWORD[((352-448))+r12] - vpaddq ymm3,ymm3,YMMWORD[((384-448))+r12] - vpaddq ymm4,ymm4,YMMWORD[((416-448))+r12] - vpaddq ymm5,ymm5,YMMWORD[((448-448))+r12] - vpaddq ymm6,ymm6,YMMWORD[((480-448))+r12] - vpaddq ymm7,ymm7,YMMWORD[((512-448))+r12] - vpaddq ymm8,ymm8,YMMWORD[((544-448))+r12] - - vpsrlq ymm14,ymm0,29 - vpand ymm0,ymm0,ymm15 - vpsrlq ymm11,ymm1,29 - vpand ymm1,ymm1,ymm15 - vpsrlq ymm12,ymm2,29 - vpermq ymm14,ymm14,0x93 - vpand ymm2,ymm2,ymm15 - vpsrlq ymm13,ymm3,29 - vpermq ymm11,ymm11,0x93 - vpand ymm3,ymm3,ymm15 - vpermq ymm12,ymm12,0x93 - - vpblendd ymm10,ymm14,ymm9,3 - vpermq ymm13,ymm13,0x93 - vpblendd ymm14,ymm11,ymm14,3 - vpaddq ymm0,ymm0,ymm10 - vpblendd ymm11,ymm12,ymm11,3 - vpaddq ymm1,ymm1,ymm14 - vpblendd ymm12,ymm13,ymm12,3 - vpaddq ymm2,ymm2,ymm11 - vpblendd ymm13,ymm9,ymm13,3 - vpaddq ymm3,ymm3,ymm12 - vpaddq ymm4,ymm4,ymm13 - - vpsrlq ymm14,ymm0,29 - vpand ymm0,ymm0,ymm15 - vpsrlq ymm11,ymm1,29 - vpand ymm1,ymm1,ymm15 - vpsrlq ymm12,ymm2,29 - vpermq ymm14,ymm14,0x93 - vpand ymm2,ymm2,ymm15 - vpsrlq ymm13,ymm3,29 - vpermq ymm11,ymm11,0x93 - vpand ymm3,ymm3,ymm15 - vpermq ymm12,ymm12,0x93 - - vpblendd ymm10,ymm14,ymm9,3 - vpermq ymm13,ymm13,0x93 - vpblendd ymm14,ymm11,ymm14,3 - vpaddq ymm0,ymm0,ymm10 - vpblendd ymm11,ymm12,ymm11,3 - vpaddq ymm1,ymm1,ymm14 - vmovdqu YMMWORD[(0-128)+rdi],ymm0 - vpblendd ymm12,ymm13,ymm12,3 - vpaddq ymm2,ymm2,ymm11 - vmovdqu YMMWORD[(32-128)+rdi],ymm1 - vpblendd ymm13,ymm9,ymm13,3 - vpaddq ymm3,ymm3,ymm12 - vmovdqu YMMWORD[(64-128)+rdi],ymm2 - vpaddq ymm4,ymm4,ymm13 - vmovdqu YMMWORD[(96-128)+rdi],ymm3 - vpsrlq ymm14,ymm4,29 - vpand ymm4,ymm4,ymm15 - vpsrlq ymm11,ymm5,29 - vpand ymm5,ymm5,ymm15 - vpsrlq ymm12,ymm6,29 - vpermq ymm14,ymm14,0x93 - vpand ymm6,ymm6,ymm15 - vpsrlq ymm13,ymm7,29 - vpermq ymm11,ymm11,0x93 - vpand ymm7,ymm7,ymm15 - vpsrlq ymm0,ymm8,29 - vpermq ymm12,ymm12,0x93 - vpand ymm8,ymm8,ymm15 - vpermq ymm13,ymm13,0x93 - - vpblendd ymm10,ymm14,ymm9,3 - vpermq ymm0,ymm0,0x93 - vpblendd ymm14,ymm11,ymm14,3 - vpaddq ymm4,ymm4,ymm10 - vpblendd ymm11,ymm12,ymm11,3 - vpaddq ymm5,ymm5,ymm14 - vpblendd ymm12,ymm13,ymm12,3 - vpaddq ymm6,ymm6,ymm11 - vpblendd ymm13,ymm0,ymm13,3 - vpaddq ymm7,ymm7,ymm12 - vpaddq ymm8,ymm8,ymm13 - - vpsrlq ymm14,ymm4,29 - vpand ymm4,ymm4,ymm15 - vpsrlq ymm11,ymm5,29 - vpand ymm5,ymm5,ymm15 - vpsrlq ymm12,ymm6,29 - vpermq ymm14,ymm14,0x93 - vpand ymm6,ymm6,ymm15 - vpsrlq ymm13,ymm7,29 - vpermq ymm11,ymm11,0x93 - vpand ymm7,ymm7,ymm15 - vpsrlq ymm0,ymm8,29 - vpermq ymm12,ymm12,0x93 - vpand ymm8,ymm8,ymm15 - vpermq ymm13,ymm13,0x93 - - vpblendd ymm10,ymm14,ymm9,3 - vpermq ymm0,ymm0,0x93 - vpblendd ymm14,ymm11,ymm14,3 - vpaddq ymm4,ymm4,ymm10 - vpblendd ymm11,ymm12,ymm11,3 - vpaddq ymm5,ymm5,ymm14 - vmovdqu YMMWORD[(128-128)+rdi],ymm4 - vpblendd ymm12,ymm13,ymm12,3 - vpaddq ymm6,ymm6,ymm11 - vmovdqu YMMWORD[(160-128)+rdi],ymm5 - vpblendd ymm13,ymm0,ymm13,3 - vpaddq ymm7,ymm7,ymm12 - vmovdqu YMMWORD[(192-128)+rdi],ymm6 - vpaddq ymm8,ymm8,ymm13 - vmovdqu YMMWORD[(224-128)+rdi],ymm7 - vmovdqu YMMWORD[(256-128)+rdi],ymm8 - - mov rsi,rdi - dec r8d - jne NEAR $L$OOP_GRANDE_SQR_1024 - - vzeroall - mov rax,rbp - movaps xmm6,XMMWORD[((-216))+rax] - movaps xmm7,XMMWORD[((-200))+rax] - movaps xmm8,XMMWORD[((-184))+rax] - movaps xmm9,XMMWORD[((-168))+rax] - movaps xmm10,XMMWORD[((-152))+rax] - movaps xmm11,XMMWORD[((-136))+rax] - movaps xmm12,XMMWORD[((-120))+rax] - movaps xmm13,XMMWORD[((-104))+rax] - movaps xmm14,XMMWORD[((-88))+rax] - movaps xmm15,XMMWORD[((-72))+rax] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$sqr_1024_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_1024_sqr_avx2: -global rsaz_1024_mul_avx2 - -ALIGN 64 -rsaz_1024_mul_avx2: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_rsaz_1024_mul_avx2: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - - - lea rax,[rsp] - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - vzeroupper - lea rsp,[((-168))+rsp] - vmovaps XMMWORD[(-216)+rax],xmm6 - vmovaps XMMWORD[(-200)+rax],xmm7 - vmovaps XMMWORD[(-184)+rax],xmm8 - vmovaps XMMWORD[(-168)+rax],xmm9 - vmovaps XMMWORD[(-152)+rax],xmm10 - vmovaps XMMWORD[(-136)+rax],xmm11 - vmovaps XMMWORD[(-120)+rax],xmm12 - vmovaps XMMWORD[(-104)+rax],xmm13 - vmovaps XMMWORD[(-88)+rax],xmm14 - vmovaps XMMWORD[(-72)+rax],xmm15 -$L$mul_1024_body: - mov rbp,rax - vzeroall - mov r13,rdx - sub rsp,64 - - - - - - -DB 0x67,0x67 - mov r15,rsi - and r15,4095 - add r15,32*10 - shr r15,12 - mov r15,rsi - cmovnz rsi,r13 - cmovnz r13,r15 - - mov r15,rcx - sub rsi,-128 - sub rcx,-128 - sub rdi,-128 - - and r15,4095 - add r15,32*10 -DB 0x67,0x67 - shr r15,12 - jz NEAR $L$mul_1024_no_n_copy - - - - - - sub rsp,32*10 - vmovdqu ymm0,YMMWORD[((0-128))+rcx] - and rsp,-512 - vmovdqu ymm1,YMMWORD[((32-128))+rcx] - vmovdqu ymm2,YMMWORD[((64-128))+rcx] - vmovdqu ymm3,YMMWORD[((96-128))+rcx] - vmovdqu ymm4,YMMWORD[((128-128))+rcx] - vmovdqu ymm5,YMMWORD[((160-128))+rcx] - vmovdqu ymm6,YMMWORD[((192-128))+rcx] - vmovdqu ymm7,YMMWORD[((224-128))+rcx] - vmovdqu ymm8,YMMWORD[((256-128))+rcx] - lea rcx,[((64+128))+rsp] - vmovdqu YMMWORD[(0-128)+rcx],ymm0 - vpxor ymm0,ymm0,ymm0 - vmovdqu YMMWORD[(32-128)+rcx],ymm1 - vpxor ymm1,ymm1,ymm1 - vmovdqu YMMWORD[(64-128)+rcx],ymm2 - vpxor ymm2,ymm2,ymm2 - vmovdqu YMMWORD[(96-128)+rcx],ymm3 - vpxor ymm3,ymm3,ymm3 - vmovdqu YMMWORD[(128-128)+rcx],ymm4 - vpxor ymm4,ymm4,ymm4 - vmovdqu YMMWORD[(160-128)+rcx],ymm5 - vpxor ymm5,ymm5,ymm5 - vmovdqu YMMWORD[(192-128)+rcx],ymm6 - vpxor ymm6,ymm6,ymm6 - vmovdqu YMMWORD[(224-128)+rcx],ymm7 - vpxor ymm7,ymm7,ymm7 - vmovdqu YMMWORD[(256-128)+rcx],ymm8 - vmovdqa ymm8,ymm0 - vmovdqu YMMWORD[(288-128)+rcx],ymm9 -$L$mul_1024_no_n_copy: - and rsp,-64 - - mov rbx,QWORD[r13] - vpbroadcastq ymm10,QWORD[r13] - vmovdqu YMMWORD[rsp],ymm0 - xor r9,r9 -DB 0x67 - xor r10,r10 - xor r11,r11 - xor r12,r12 - - vmovdqu ymm15,YMMWORD[$L$and_mask] - mov r14d,9 - vmovdqu YMMWORD[(288-128)+rdi],ymm9 - jmp NEAR $L$oop_mul_1024 - -ALIGN 32 -$L$oop_mul_1024: - vpsrlq ymm9,ymm3,29 - mov rax,rbx - imul rax,QWORD[((-128))+rsi] - add rax,r9 - mov r10,rbx - imul r10,QWORD[((8-128))+rsi] - add r10,QWORD[8+rsp] - - mov r9,rax - imul eax,r8d - and eax,0x1fffffff - - mov r11,rbx - imul r11,QWORD[((16-128))+rsi] - add r11,QWORD[16+rsp] - - mov r12,rbx - imul r12,QWORD[((24-128))+rsi] - add r12,QWORD[24+rsp] - vpmuludq ymm0,ymm10,YMMWORD[((32-128))+rsi] - vmovd xmm11,eax - vpaddq ymm1,ymm1,ymm0 - vpmuludq ymm12,ymm10,YMMWORD[((64-128))+rsi] - vpbroadcastq ymm11,xmm11 - vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm13,ymm10,YMMWORD[((96-128))+rsi] - vpand ymm3,ymm3,ymm15 - vpaddq ymm3,ymm3,ymm13 - vpmuludq ymm0,ymm10,YMMWORD[((128-128))+rsi] - vpaddq ymm4,ymm4,ymm0 - vpmuludq ymm12,ymm10,YMMWORD[((160-128))+rsi] - vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm13,ymm10,YMMWORD[((192-128))+rsi] - vpaddq ymm6,ymm6,ymm13 - vpmuludq ymm0,ymm10,YMMWORD[((224-128))+rsi] - vpermq ymm9,ymm9,0x93 - vpaddq ymm7,ymm7,ymm0 - vpmuludq ymm12,ymm10,YMMWORD[((256-128))+rsi] - vpbroadcastq ymm10,QWORD[8+r13] - vpaddq ymm8,ymm8,ymm12 - - mov rdx,rax - imul rax,QWORD[((-128))+rcx] - add r9,rax - mov rax,rdx - imul rax,QWORD[((8-128))+rcx] - add r10,rax - mov rax,rdx - imul rax,QWORD[((16-128))+rcx] - add r11,rax - shr r9,29 - imul rdx,QWORD[((24-128))+rcx] - add r12,rdx - add r10,r9 - - vpmuludq ymm13,ymm11,YMMWORD[((32-128))+rcx] - vmovq rbx,xmm10 - vpaddq ymm1,ymm1,ymm13 - vpmuludq ymm0,ymm11,YMMWORD[((64-128))+rcx] - vpaddq ymm2,ymm2,ymm0 - vpmuludq ymm12,ymm11,YMMWORD[((96-128))+rcx] - vpaddq ymm3,ymm3,ymm12 - vpmuludq ymm13,ymm11,YMMWORD[((128-128))+rcx] - vpaddq ymm4,ymm4,ymm13 - vpmuludq ymm0,ymm11,YMMWORD[((160-128))+rcx] - vpaddq ymm5,ymm5,ymm0 - vpmuludq ymm12,ymm11,YMMWORD[((192-128))+rcx] - vpaddq ymm6,ymm6,ymm12 - vpmuludq ymm13,ymm11,YMMWORD[((224-128))+rcx] - vpblendd ymm12,ymm9,ymm14,3 - vpaddq ymm7,ymm7,ymm13 - vpmuludq ymm0,ymm11,YMMWORD[((256-128))+rcx] - vpaddq ymm3,ymm3,ymm12 - vpaddq ymm8,ymm8,ymm0 - - mov rax,rbx - imul rax,QWORD[((-128))+rsi] - add r10,rax - vmovdqu ymm12,YMMWORD[((-8+32-128))+rsi] - mov rax,rbx - imul rax,QWORD[((8-128))+rsi] - add r11,rax - vmovdqu ymm13,YMMWORD[((-8+64-128))+rsi] - - mov rax,r10 - vpblendd ymm9,ymm9,ymm14,0xfc - imul eax,r8d - vpaddq ymm4,ymm4,ymm9 - and eax,0x1fffffff - - imul rbx,QWORD[((16-128))+rsi] - add r12,rbx - vpmuludq ymm12,ymm12,ymm10 - vmovd xmm11,eax - vmovdqu ymm0,YMMWORD[((-8+96-128))+rsi] - vpaddq ymm1,ymm1,ymm12 - vpmuludq ymm13,ymm13,ymm10 - vpbroadcastq ymm11,xmm11 - vmovdqu ymm12,YMMWORD[((-8+128-128))+rsi] - vpaddq ymm2,ymm2,ymm13 - vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD[((-8+160-128))+rsi] - vpaddq ymm3,ymm3,ymm0 - vpmuludq ymm12,ymm12,ymm10 - vmovdqu ymm0,YMMWORD[((-8+192-128))+rsi] - vpaddq ymm4,ymm4,ymm12 - vpmuludq ymm13,ymm13,ymm10 - vmovdqu ymm12,YMMWORD[((-8+224-128))+rsi] - vpaddq ymm5,ymm5,ymm13 - vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD[((-8+256-128))+rsi] - vpaddq ymm6,ymm6,ymm0 - vpmuludq ymm12,ymm12,ymm10 - vmovdqu ymm9,YMMWORD[((-8+288-128))+rsi] - vpaddq ymm7,ymm7,ymm12 - vpmuludq ymm13,ymm13,ymm10 - vpaddq ymm8,ymm8,ymm13 - vpmuludq ymm9,ymm9,ymm10 - vpbroadcastq ymm10,QWORD[16+r13] - - mov rdx,rax - imul rax,QWORD[((-128))+rcx] - add r10,rax - vmovdqu ymm0,YMMWORD[((-8+32-128))+rcx] - mov rax,rdx - imul rax,QWORD[((8-128))+rcx] - add r11,rax - vmovdqu ymm12,YMMWORD[((-8+64-128))+rcx] - shr r10,29 - imul rdx,QWORD[((16-128))+rcx] - add r12,rdx - add r11,r10 - - vpmuludq ymm0,ymm0,ymm11 - vmovq rbx,xmm10 - vmovdqu ymm13,YMMWORD[((-8+96-128))+rcx] - vpaddq ymm1,ymm1,ymm0 - vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD[((-8+128-128))+rcx] - vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD[((-8+160-128))+rcx] - vpaddq ymm3,ymm3,ymm13 - vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD[((-8+192-128))+rcx] - vpaddq ymm4,ymm4,ymm0 - vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD[((-8+224-128))+rcx] - vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD[((-8+256-128))+rcx] - vpaddq ymm6,ymm6,ymm13 - vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD[((-8+288-128))+rcx] - vpaddq ymm7,ymm7,ymm0 - vpmuludq ymm12,ymm12,ymm11 - vpaddq ymm8,ymm8,ymm12 - vpmuludq ymm13,ymm13,ymm11 - vpaddq ymm9,ymm9,ymm13 - - vmovdqu ymm0,YMMWORD[((-16+32-128))+rsi] - mov rax,rbx - imul rax,QWORD[((-128))+rsi] - add rax,r11 - - vmovdqu ymm12,YMMWORD[((-16+64-128))+rsi] - mov r11,rax - imul eax,r8d - and eax,0x1fffffff - - imul rbx,QWORD[((8-128))+rsi] - add r12,rbx - vpmuludq ymm0,ymm0,ymm10 - vmovd xmm11,eax - vmovdqu ymm13,YMMWORD[((-16+96-128))+rsi] - vpaddq ymm1,ymm1,ymm0 - vpmuludq ymm12,ymm12,ymm10 - vpbroadcastq ymm11,xmm11 - vmovdqu ymm0,YMMWORD[((-16+128-128))+rsi] - vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm13,ymm13,ymm10 - vmovdqu ymm12,YMMWORD[((-16+160-128))+rsi] - vpaddq ymm3,ymm3,ymm13 - vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD[((-16+192-128))+rsi] - vpaddq ymm4,ymm4,ymm0 - vpmuludq ymm12,ymm12,ymm10 - vmovdqu ymm0,YMMWORD[((-16+224-128))+rsi] - vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm13,ymm13,ymm10 - vmovdqu ymm12,YMMWORD[((-16+256-128))+rsi] - vpaddq ymm6,ymm6,ymm13 - vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD[((-16+288-128))+rsi] - vpaddq ymm7,ymm7,ymm0 - vpmuludq ymm12,ymm12,ymm10 - vpaddq ymm8,ymm8,ymm12 - vpmuludq ymm13,ymm13,ymm10 - vpbroadcastq ymm10,QWORD[24+r13] - vpaddq ymm9,ymm9,ymm13 - - vmovdqu ymm0,YMMWORD[((-16+32-128))+rcx] - mov rdx,rax - imul rax,QWORD[((-128))+rcx] - add r11,rax - vmovdqu ymm12,YMMWORD[((-16+64-128))+rcx] - imul rdx,QWORD[((8-128))+rcx] - add r12,rdx - shr r11,29 - - vpmuludq ymm0,ymm0,ymm11 - vmovq rbx,xmm10 - vmovdqu ymm13,YMMWORD[((-16+96-128))+rcx] - vpaddq ymm1,ymm1,ymm0 - vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD[((-16+128-128))+rcx] - vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD[((-16+160-128))+rcx] - vpaddq ymm3,ymm3,ymm13 - vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD[((-16+192-128))+rcx] - vpaddq ymm4,ymm4,ymm0 - vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD[((-16+224-128))+rcx] - vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD[((-16+256-128))+rcx] - vpaddq ymm6,ymm6,ymm13 - vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD[((-16+288-128))+rcx] - vpaddq ymm7,ymm7,ymm0 - vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD[((-24+32-128))+rsi] - vpaddq ymm8,ymm8,ymm12 - vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD[((-24+64-128))+rsi] - vpaddq ymm9,ymm9,ymm13 - - add r12,r11 - imul rbx,QWORD[((-128))+rsi] - add r12,rbx - - mov rax,r12 - imul eax,r8d - and eax,0x1fffffff - - vpmuludq ymm0,ymm0,ymm10 - vmovd xmm11,eax - vmovdqu ymm13,YMMWORD[((-24+96-128))+rsi] - vpaddq ymm1,ymm1,ymm0 - vpmuludq ymm12,ymm12,ymm10 - vpbroadcastq ymm11,xmm11 - vmovdqu ymm0,YMMWORD[((-24+128-128))+rsi] - vpaddq ymm2,ymm2,ymm12 - vpmuludq ymm13,ymm13,ymm10 - vmovdqu ymm12,YMMWORD[((-24+160-128))+rsi] - vpaddq ymm3,ymm3,ymm13 - vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD[((-24+192-128))+rsi] - vpaddq ymm4,ymm4,ymm0 - vpmuludq ymm12,ymm12,ymm10 - vmovdqu ymm0,YMMWORD[((-24+224-128))+rsi] - vpaddq ymm5,ymm5,ymm12 - vpmuludq ymm13,ymm13,ymm10 - vmovdqu ymm12,YMMWORD[((-24+256-128))+rsi] - vpaddq ymm6,ymm6,ymm13 - vpmuludq ymm0,ymm0,ymm10 - vmovdqu ymm13,YMMWORD[((-24+288-128))+rsi] - vpaddq ymm7,ymm7,ymm0 - vpmuludq ymm12,ymm12,ymm10 - vpaddq ymm8,ymm8,ymm12 - vpmuludq ymm13,ymm13,ymm10 - vpbroadcastq ymm10,QWORD[32+r13] - vpaddq ymm9,ymm9,ymm13 - add r13,32 - - vmovdqu ymm0,YMMWORD[((-24+32-128))+rcx] - imul rax,QWORD[((-128))+rcx] - add r12,rax - shr r12,29 - - vmovdqu ymm12,YMMWORD[((-24+64-128))+rcx] - vpmuludq ymm0,ymm0,ymm11 - vmovq rbx,xmm10 - vmovdqu ymm13,YMMWORD[((-24+96-128))+rcx] - vpaddq ymm0,ymm1,ymm0 - vpmuludq ymm12,ymm12,ymm11 - vmovdqu YMMWORD[rsp],ymm0 - vpaddq ymm1,ymm2,ymm12 - vmovdqu ymm0,YMMWORD[((-24+128-128))+rcx] - vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD[((-24+160-128))+rcx] - vpaddq ymm2,ymm3,ymm13 - vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD[((-24+192-128))+rcx] - vpaddq ymm3,ymm4,ymm0 - vpmuludq ymm12,ymm12,ymm11 - vmovdqu ymm0,YMMWORD[((-24+224-128))+rcx] - vpaddq ymm4,ymm5,ymm12 - vpmuludq ymm13,ymm13,ymm11 - vmovdqu ymm12,YMMWORD[((-24+256-128))+rcx] - vpaddq ymm5,ymm6,ymm13 - vpmuludq ymm0,ymm0,ymm11 - vmovdqu ymm13,YMMWORD[((-24+288-128))+rcx] - mov r9,r12 - vpaddq ymm6,ymm7,ymm0 - vpmuludq ymm12,ymm12,ymm11 - add r9,QWORD[rsp] - vpaddq ymm7,ymm8,ymm12 - vpmuludq ymm13,ymm13,ymm11 - vmovq xmm12,r12 - vpaddq ymm8,ymm9,ymm13 - - dec r14d - jnz NEAR $L$oop_mul_1024 - vpaddq ymm0,ymm12,YMMWORD[rsp] - - vpsrlq ymm12,ymm0,29 - vpand ymm0,ymm0,ymm15 - vpsrlq ymm13,ymm1,29 - vpand ymm1,ymm1,ymm15 - vpsrlq ymm10,ymm2,29 - vpermq ymm12,ymm12,0x93 - vpand ymm2,ymm2,ymm15 - vpsrlq ymm11,ymm3,29 - vpermq ymm13,ymm13,0x93 - vpand ymm3,ymm3,ymm15 - - vpblendd ymm9,ymm12,ymm14,3 - vpermq ymm10,ymm10,0x93 - vpblendd ymm12,ymm13,ymm12,3 - vpermq ymm11,ymm11,0x93 - vpaddq ymm0,ymm0,ymm9 - vpblendd ymm13,ymm10,ymm13,3 - vpaddq ymm1,ymm1,ymm12 - vpblendd ymm10,ymm11,ymm10,3 - vpaddq ymm2,ymm2,ymm13 - vpblendd ymm11,ymm14,ymm11,3 - vpaddq ymm3,ymm3,ymm10 - vpaddq ymm4,ymm4,ymm11 - - vpsrlq ymm12,ymm0,29 - vpand ymm0,ymm0,ymm15 - vpsrlq ymm13,ymm1,29 - vpand ymm1,ymm1,ymm15 - vpsrlq ymm10,ymm2,29 - vpermq ymm12,ymm12,0x93 - vpand ymm2,ymm2,ymm15 - vpsrlq ymm11,ymm3,29 - vpermq ymm13,ymm13,0x93 - vpand ymm3,ymm3,ymm15 - vpermq ymm10,ymm10,0x93 - - vpblendd ymm9,ymm12,ymm14,3 - vpermq ymm11,ymm11,0x93 - vpblendd ymm12,ymm13,ymm12,3 - vpaddq ymm0,ymm0,ymm9 - vpblendd ymm13,ymm10,ymm13,3 - vpaddq ymm1,ymm1,ymm12 - vpblendd ymm10,ymm11,ymm10,3 - vpaddq ymm2,ymm2,ymm13 - vpblendd ymm11,ymm14,ymm11,3 - vpaddq ymm3,ymm3,ymm10 - vpaddq ymm4,ymm4,ymm11 - - vmovdqu YMMWORD[(0-128)+rdi],ymm0 - vmovdqu YMMWORD[(32-128)+rdi],ymm1 - vmovdqu YMMWORD[(64-128)+rdi],ymm2 - vmovdqu YMMWORD[(96-128)+rdi],ymm3 - vpsrlq ymm12,ymm4,29 - vpand ymm4,ymm4,ymm15 - vpsrlq ymm13,ymm5,29 - vpand ymm5,ymm5,ymm15 - vpsrlq ymm10,ymm6,29 - vpermq ymm12,ymm12,0x93 - vpand ymm6,ymm6,ymm15 - vpsrlq ymm11,ymm7,29 - vpermq ymm13,ymm13,0x93 - vpand ymm7,ymm7,ymm15 - vpsrlq ymm0,ymm8,29 - vpermq ymm10,ymm10,0x93 - vpand ymm8,ymm8,ymm15 - vpermq ymm11,ymm11,0x93 - - vpblendd ymm9,ymm12,ymm14,3 - vpermq ymm0,ymm0,0x93 - vpblendd ymm12,ymm13,ymm12,3 - vpaddq ymm4,ymm4,ymm9 - vpblendd ymm13,ymm10,ymm13,3 - vpaddq ymm5,ymm5,ymm12 - vpblendd ymm10,ymm11,ymm10,3 - vpaddq ymm6,ymm6,ymm13 - vpblendd ymm11,ymm0,ymm11,3 - vpaddq ymm7,ymm7,ymm10 - vpaddq ymm8,ymm8,ymm11 - - vpsrlq ymm12,ymm4,29 - vpand ymm4,ymm4,ymm15 - vpsrlq ymm13,ymm5,29 - vpand ymm5,ymm5,ymm15 - vpsrlq ymm10,ymm6,29 - vpermq ymm12,ymm12,0x93 - vpand ymm6,ymm6,ymm15 - vpsrlq ymm11,ymm7,29 - vpermq ymm13,ymm13,0x93 - vpand ymm7,ymm7,ymm15 - vpsrlq ymm0,ymm8,29 - vpermq ymm10,ymm10,0x93 - vpand ymm8,ymm8,ymm15 - vpermq ymm11,ymm11,0x93 - - vpblendd ymm9,ymm12,ymm14,3 - vpermq ymm0,ymm0,0x93 - vpblendd ymm12,ymm13,ymm12,3 - vpaddq ymm4,ymm4,ymm9 - vpblendd ymm13,ymm10,ymm13,3 - vpaddq ymm5,ymm5,ymm12 - vpblendd ymm10,ymm11,ymm10,3 - vpaddq ymm6,ymm6,ymm13 - vpblendd ymm11,ymm0,ymm11,3 - vpaddq ymm7,ymm7,ymm10 - vpaddq ymm8,ymm8,ymm11 - - vmovdqu YMMWORD[(128-128)+rdi],ymm4 - vmovdqu YMMWORD[(160-128)+rdi],ymm5 - vmovdqu YMMWORD[(192-128)+rdi],ymm6 - vmovdqu YMMWORD[(224-128)+rdi],ymm7 - vmovdqu YMMWORD[(256-128)+rdi],ymm8 - vzeroupper - - mov rax,rbp - movaps xmm6,XMMWORD[((-216))+rax] - movaps xmm7,XMMWORD[((-200))+rax] - movaps xmm8,XMMWORD[((-184))+rax] - movaps xmm9,XMMWORD[((-168))+rax] - movaps xmm10,XMMWORD[((-152))+rax] - movaps xmm11,XMMWORD[((-136))+rax] - movaps xmm12,XMMWORD[((-120))+rax] - movaps xmm13,XMMWORD[((-104))+rax] - movaps xmm14,XMMWORD[((-88))+rax] - movaps xmm15,XMMWORD[((-72))+rax] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$mul_1024_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_1024_mul_avx2: -global rsaz_1024_red2norm_avx2 - -ALIGN 32 -rsaz_1024_red2norm_avx2: - sub rdx,-128 - xor rax,rax - mov r8,QWORD[((-128))+rdx] - mov r9,QWORD[((-120))+rdx] - mov r10,QWORD[((-112))+rdx] - shl r8,0 - shl r9,29 - mov r11,r10 - shl r10,58 - shr r11,6 - add rax,r8 - add rax,r9 - add rax,r10 - adc r11,0 - mov QWORD[rcx],rax - mov rax,r11 - mov r8,QWORD[((-104))+rdx] - mov r9,QWORD[((-96))+rdx] - shl r8,23 - mov r10,r9 - shl r9,52 - shr r10,12 - add rax,r8 - add rax,r9 - adc r10,0 - mov QWORD[8+rcx],rax - mov rax,r10 - mov r11,QWORD[((-88))+rdx] - mov r8,QWORD[((-80))+rdx] - shl r11,17 - mov r9,r8 - shl r8,46 - shr r9,18 - add rax,r11 - add rax,r8 - adc r9,0 - mov QWORD[16+rcx],rax - mov rax,r9 - mov r10,QWORD[((-72))+rdx] - mov r11,QWORD[((-64))+rdx] - shl r10,11 - mov r8,r11 - shl r11,40 - shr r8,24 - add rax,r10 - add rax,r11 - adc r8,0 - mov QWORD[24+rcx],rax - mov rax,r8 - mov r9,QWORD[((-56))+rdx] - mov r10,QWORD[((-48))+rdx] - mov r11,QWORD[((-40))+rdx] - shl r9,5 - shl r10,34 - mov r8,r11 - shl r11,63 - shr r8,1 - add rax,r9 - add rax,r10 - add rax,r11 - adc r8,0 - mov QWORD[32+rcx],rax - mov rax,r8 - mov r9,QWORD[((-32))+rdx] - mov r10,QWORD[((-24))+rdx] - shl r9,28 - mov r11,r10 - shl r10,57 - shr r11,7 - add rax,r9 - add rax,r10 - adc r11,0 - mov QWORD[40+rcx],rax - mov rax,r11 - mov r8,QWORD[((-16))+rdx] - mov r9,QWORD[((-8))+rdx] - shl r8,22 - mov r10,r9 - shl r9,51 - shr r10,13 - add rax,r8 - add rax,r9 - adc r10,0 - mov QWORD[48+rcx],rax - mov rax,r10 - mov r11,QWORD[rdx] - mov r8,QWORD[8+rdx] - shl r11,16 - mov r9,r8 - shl r8,45 - shr r9,19 - add rax,r11 - add rax,r8 - adc r9,0 - mov QWORD[56+rcx],rax - mov rax,r9 - mov r10,QWORD[16+rdx] - mov r11,QWORD[24+rdx] - shl r10,10 - mov r8,r11 - shl r11,39 - shr r8,25 - add rax,r10 - add rax,r11 - adc r8,0 - mov QWORD[64+rcx],rax - mov rax,r8 - mov r9,QWORD[32+rdx] - mov r10,QWORD[40+rdx] - mov r11,QWORD[48+rdx] - shl r9,4 - shl r10,33 - mov r8,r11 - shl r11,62 - shr r8,2 - add rax,r9 - add rax,r10 - add rax,r11 - adc r8,0 - mov QWORD[72+rcx],rax - mov rax,r8 - mov r9,QWORD[56+rdx] - mov r10,QWORD[64+rdx] - shl r9,27 - mov r11,r10 - shl r10,56 - shr r11,8 - add rax,r9 - add rax,r10 - adc r11,0 - mov QWORD[80+rcx],rax - mov rax,r11 - mov r8,QWORD[72+rdx] - mov r9,QWORD[80+rdx] - shl r8,21 - mov r10,r9 - shl r9,50 - shr r10,14 - add rax,r8 - add rax,r9 - adc r10,0 - mov QWORD[88+rcx],rax - mov rax,r10 - mov r11,QWORD[88+rdx] - mov r8,QWORD[96+rdx] - shl r11,15 - mov r9,r8 - shl r8,44 - shr r9,20 - add rax,r11 - add rax,r8 - adc r9,0 - mov QWORD[96+rcx],rax - mov rax,r9 - mov r10,QWORD[104+rdx] - mov r11,QWORD[112+rdx] - shl r10,9 - mov r8,r11 - shl r11,38 - shr r8,26 - add rax,r10 - add rax,r11 - adc r8,0 - mov QWORD[104+rcx],rax - mov rax,r8 - mov r9,QWORD[120+rdx] - mov r10,QWORD[128+rdx] - mov r11,QWORD[136+rdx] - shl r9,3 - shl r10,32 - mov r8,r11 - shl r11,61 - shr r8,3 - add rax,r9 - add rax,r10 - add rax,r11 - adc r8,0 - mov QWORD[112+rcx],rax - mov rax,r8 - mov r9,QWORD[144+rdx] - mov r10,QWORD[152+rdx] - shl r9,26 - mov r11,r10 - shl r10,55 - shr r11,9 - add rax,r9 - add rax,r10 - adc r11,0 - mov QWORD[120+rcx],rax - mov rax,r11 - DB 0F3h,0C3h ;repret - - -global rsaz_1024_norm2red_avx2 - -ALIGN 32 -rsaz_1024_norm2red_avx2: - sub rcx,-128 - mov r8,QWORD[rdx] - mov eax,0x1fffffff - mov r9,QWORD[8+rdx] - mov r11,r8 - shr r11,0 - and r11,rax - mov QWORD[((-128))+rcx],r11 - mov r10,r8 - shr r10,29 - and r10,rax - mov QWORD[((-120))+rcx],r10 - shrd r8,r9,58 - and r8,rax - mov QWORD[((-112))+rcx],r8 - mov r10,QWORD[16+rdx] - mov r8,r9 - shr r8,23 - and r8,rax - mov QWORD[((-104))+rcx],r8 - shrd r9,r10,52 - and r9,rax - mov QWORD[((-96))+rcx],r9 - mov r11,QWORD[24+rdx] - mov r9,r10 - shr r9,17 - and r9,rax - mov QWORD[((-88))+rcx],r9 - shrd r10,r11,46 - and r10,rax - mov QWORD[((-80))+rcx],r10 - mov r8,QWORD[32+rdx] - mov r10,r11 - shr r10,11 - and r10,rax - mov QWORD[((-72))+rcx],r10 - shrd r11,r8,40 - and r11,rax - mov QWORD[((-64))+rcx],r11 - mov r9,QWORD[40+rdx] - mov r11,r8 - shr r11,5 - and r11,rax - mov QWORD[((-56))+rcx],r11 - mov r10,r8 - shr r10,34 - and r10,rax - mov QWORD[((-48))+rcx],r10 - shrd r8,r9,63 - and r8,rax - mov QWORD[((-40))+rcx],r8 - mov r10,QWORD[48+rdx] - mov r8,r9 - shr r8,28 - and r8,rax - mov QWORD[((-32))+rcx],r8 - shrd r9,r10,57 - and r9,rax - mov QWORD[((-24))+rcx],r9 - mov r11,QWORD[56+rdx] - mov r9,r10 - shr r9,22 - and r9,rax - mov QWORD[((-16))+rcx],r9 - shrd r10,r11,51 - and r10,rax - mov QWORD[((-8))+rcx],r10 - mov r8,QWORD[64+rdx] - mov r10,r11 - shr r10,16 - and r10,rax - mov QWORD[rcx],r10 - shrd r11,r8,45 - and r11,rax - mov QWORD[8+rcx],r11 - mov r9,QWORD[72+rdx] - mov r11,r8 - shr r11,10 - and r11,rax - mov QWORD[16+rcx],r11 - shrd r8,r9,39 - and r8,rax - mov QWORD[24+rcx],r8 - mov r10,QWORD[80+rdx] - mov r8,r9 - shr r8,4 - and r8,rax - mov QWORD[32+rcx],r8 - mov r11,r9 - shr r11,33 - and r11,rax - mov QWORD[40+rcx],r11 - shrd r9,r10,62 - and r9,rax - mov QWORD[48+rcx],r9 - mov r11,QWORD[88+rdx] - mov r9,r10 - shr r9,27 - and r9,rax - mov QWORD[56+rcx],r9 - shrd r10,r11,56 - and r10,rax - mov QWORD[64+rcx],r10 - mov r8,QWORD[96+rdx] - mov r10,r11 - shr r10,21 - and r10,rax - mov QWORD[72+rcx],r10 - shrd r11,r8,50 - and r11,rax - mov QWORD[80+rcx],r11 - mov r9,QWORD[104+rdx] - mov r11,r8 - shr r11,15 - and r11,rax - mov QWORD[88+rcx],r11 - shrd r8,r9,44 - and r8,rax - mov QWORD[96+rcx],r8 - mov r10,QWORD[112+rdx] - mov r8,r9 - shr r8,9 - and r8,rax - mov QWORD[104+rcx],r8 - shrd r9,r10,38 - and r9,rax - mov QWORD[112+rcx],r9 - mov r11,QWORD[120+rdx] - mov r9,r10 - shr r9,3 - and r9,rax - mov QWORD[120+rcx],r9 - mov r8,r10 - shr r8,32 - and r8,rax - mov QWORD[128+rcx],r8 - shrd r10,r11,61 - and r10,rax - mov QWORD[136+rcx],r10 - xor r8,r8 - mov r10,r11 - shr r10,26 - and r10,rax - mov QWORD[144+rcx],r10 - shrd r11,r8,55 - and r11,rax - mov QWORD[152+rcx],r11 - mov QWORD[160+rcx],r8 - mov QWORD[168+rcx],r8 - mov QWORD[176+rcx],r8 - mov QWORD[184+rcx],r8 - DB 0F3h,0C3h ;repret - -global rsaz_1024_scatter5_avx2 - -ALIGN 32 -rsaz_1024_scatter5_avx2: - vzeroupper - vmovdqu ymm5,YMMWORD[$L$scatter_permd] - shl r8d,4 - lea rcx,[r8*1+rcx] - mov eax,9 - jmp NEAR $L$oop_scatter_1024 - -ALIGN 32 -$L$oop_scatter_1024: - vmovdqu ymm0,YMMWORD[rdx] - lea rdx,[32+rdx] - vpermd ymm0,ymm5,ymm0 - vmovdqu XMMWORD[rcx],xmm0 - lea rcx,[512+rcx] - dec eax - jnz NEAR $L$oop_scatter_1024 - - vzeroupper - DB 0F3h,0C3h ;repret - - -global rsaz_1024_gather5_avx2 - -ALIGN 32 -rsaz_1024_gather5_avx2: - vzeroupper - mov r11,rsp - lea rax,[((-136))+rsp] -$L$SEH_begin_rsaz_1024_gather5: - -DB 0x48,0x8d,0x60,0xe0 -DB 0xc5,0xf8,0x29,0x70,0xe0 -DB 0xc5,0xf8,0x29,0x78,0xf0 -DB 0xc5,0x78,0x29,0x40,0x00 -DB 0xc5,0x78,0x29,0x48,0x10 -DB 0xc5,0x78,0x29,0x50,0x20 -DB 0xc5,0x78,0x29,0x58,0x30 -DB 0xc5,0x78,0x29,0x60,0x40 -DB 0xc5,0x78,0x29,0x68,0x50 -DB 0xc5,0x78,0x29,0x70,0x60 -DB 0xc5,0x78,0x29,0x78,0x70 - lea rsp,[((-256))+rsp] - and rsp,-32 - lea r10,[$L$inc] - lea rax,[((-128))+rsp] - - vmovd xmm4,r8d - vmovdqa ymm0,YMMWORD[r10] - vmovdqa ymm1,YMMWORD[32+r10] - vmovdqa ymm5,YMMWORD[64+r10] - vpbroadcastd ymm4,xmm4 - - vpaddd ymm2,ymm0,ymm5 - vpcmpeqd ymm0,ymm0,ymm4 - vpaddd ymm3,ymm1,ymm5 - vpcmpeqd ymm1,ymm1,ymm4 - vmovdqa YMMWORD[(0+128)+rax],ymm0 - vpaddd ymm0,ymm2,ymm5 - vpcmpeqd ymm2,ymm2,ymm4 - vmovdqa YMMWORD[(32+128)+rax],ymm1 - vpaddd ymm1,ymm3,ymm5 - vpcmpeqd ymm3,ymm3,ymm4 - vmovdqa YMMWORD[(64+128)+rax],ymm2 - vpaddd ymm2,ymm0,ymm5 - vpcmpeqd ymm0,ymm0,ymm4 - vmovdqa YMMWORD[(96+128)+rax],ymm3 - vpaddd ymm3,ymm1,ymm5 - vpcmpeqd ymm1,ymm1,ymm4 - vmovdqa YMMWORD[(128+128)+rax],ymm0 - vpaddd ymm8,ymm2,ymm5 - vpcmpeqd ymm2,ymm2,ymm4 - vmovdqa YMMWORD[(160+128)+rax],ymm1 - vpaddd ymm9,ymm3,ymm5 - vpcmpeqd ymm3,ymm3,ymm4 - vmovdqa YMMWORD[(192+128)+rax],ymm2 - vpaddd ymm10,ymm8,ymm5 - vpcmpeqd ymm8,ymm8,ymm4 - vmovdqa YMMWORD[(224+128)+rax],ymm3 - vpaddd ymm11,ymm9,ymm5 - vpcmpeqd ymm9,ymm9,ymm4 - vpaddd ymm12,ymm10,ymm5 - vpcmpeqd ymm10,ymm10,ymm4 - vpaddd ymm13,ymm11,ymm5 - vpcmpeqd ymm11,ymm11,ymm4 - vpaddd ymm14,ymm12,ymm5 - vpcmpeqd ymm12,ymm12,ymm4 - vpaddd ymm15,ymm13,ymm5 - vpcmpeqd ymm13,ymm13,ymm4 - vpcmpeqd ymm14,ymm14,ymm4 - vpcmpeqd ymm15,ymm15,ymm4 - - vmovdqa ymm7,YMMWORD[((-32))+r10] - lea rdx,[128+rdx] - mov r8d,9 - -$L$oop_gather_1024: - vmovdqa ymm0,YMMWORD[((0-128))+rdx] - vmovdqa ymm1,YMMWORD[((32-128))+rdx] - vmovdqa ymm2,YMMWORD[((64-128))+rdx] - vmovdqa ymm3,YMMWORD[((96-128))+rdx] - vpand ymm0,ymm0,YMMWORD[((0+128))+rax] - vpand ymm1,ymm1,YMMWORD[((32+128))+rax] - vpand ymm2,ymm2,YMMWORD[((64+128))+rax] - vpor ymm4,ymm1,ymm0 - vpand ymm3,ymm3,YMMWORD[((96+128))+rax] - vmovdqa ymm0,YMMWORD[((128-128))+rdx] - vmovdqa ymm1,YMMWORD[((160-128))+rdx] - vpor ymm5,ymm3,ymm2 - vmovdqa ymm2,YMMWORD[((192-128))+rdx] - vmovdqa ymm3,YMMWORD[((224-128))+rdx] - vpand ymm0,ymm0,YMMWORD[((128+128))+rax] - vpand ymm1,ymm1,YMMWORD[((160+128))+rax] - vpand ymm2,ymm2,YMMWORD[((192+128))+rax] - vpor ymm4,ymm4,ymm0 - vpand ymm3,ymm3,YMMWORD[((224+128))+rax] - vpand ymm0,ymm8,YMMWORD[((256-128))+rdx] - vpor ymm5,ymm5,ymm1 - vpand ymm1,ymm9,YMMWORD[((288-128))+rdx] - vpor ymm4,ymm4,ymm2 - vpand ymm2,ymm10,YMMWORD[((320-128))+rdx] - vpor ymm5,ymm5,ymm3 - vpand ymm3,ymm11,YMMWORD[((352-128))+rdx] - vpor ymm4,ymm4,ymm0 - vpand ymm0,ymm12,YMMWORD[((384-128))+rdx] - vpor ymm5,ymm5,ymm1 - vpand ymm1,ymm13,YMMWORD[((416-128))+rdx] - vpor ymm4,ymm4,ymm2 - vpand ymm2,ymm14,YMMWORD[((448-128))+rdx] - vpor ymm5,ymm5,ymm3 - vpand ymm3,ymm15,YMMWORD[((480-128))+rdx] - lea rdx,[512+rdx] - vpor ymm4,ymm4,ymm0 - vpor ymm5,ymm5,ymm1 - vpor ymm4,ymm4,ymm2 - vpor ymm5,ymm5,ymm3 - - vpor ymm4,ymm4,ymm5 - vextracti128 xmm5,ymm4,1 - vpor xmm5,xmm5,xmm4 - vpermd ymm5,ymm7,ymm5 - vmovdqu YMMWORD[rcx],ymm5 - lea rcx,[32+rcx] - dec r8d - jnz NEAR $L$oop_gather_1024 - - vpxor ymm0,ymm0,ymm0 - vmovdqu YMMWORD[rcx],ymm0 - vzeroupper - movaps xmm6,XMMWORD[((-168))+r11] - movaps xmm7,XMMWORD[((-152))+r11] - movaps xmm8,XMMWORD[((-136))+r11] - movaps xmm9,XMMWORD[((-120))+r11] - movaps xmm10,XMMWORD[((-104))+r11] - movaps xmm11,XMMWORD[((-88))+r11] - movaps xmm12,XMMWORD[((-72))+r11] - movaps xmm13,XMMWORD[((-56))+r11] - movaps xmm14,XMMWORD[((-40))+r11] - movaps xmm15,XMMWORD[((-24))+r11] -$L$SEH_end_rsaz_1024_gather5: - lea rsp,[r11] - DB 0F3h,0C3h ;repret - -EXTERN OPENSSL_ia32cap_P -global rsaz_avx2_eligible - -ALIGN 32 -rsaz_avx2_eligible: - mov eax,DWORD[((OPENSSL_ia32cap_P+8))] - mov ecx,524544 - mov edx,0 - and ecx,eax - cmp ecx,524544 - cmove eax,edx - and eax,32 - shr eax,5 - DB 0F3h,0C3h ;repret - - -ALIGN 64 -$L$and_mask: - DQ 0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff -$L$scatter_permd: - DD 0,2,4,6,7,7,7,7 -$L$gather_permd: - DD 0,7,1,7,2,7,3,7 -$L$inc: - DD 0,0,0,0,1,1,1,1 - DD 2,2,2,2,3,3,3,3 - DD 4,4,4,4,4,4,4,4 -ALIGN 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -rsaz_se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - mov rax,QWORD[160+r8] - - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - mov QWORD[240+r8],r15 - mov QWORD[232+r8],r14 - mov QWORD[224+r8],r13 - mov QWORD[216+r8],r12 - mov QWORD[160+r8],rbp - mov QWORD[144+r8],rbx - - lea rsi,[((-216))+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - -$L$common_seh_tail: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_rsaz_1024_sqr_avx2 wrt ..imagebase - DD $L$SEH_end_rsaz_1024_sqr_avx2 wrt ..imagebase - DD $L$SEH_info_rsaz_1024_sqr_avx2 wrt ..imagebase - - DD $L$SEH_begin_rsaz_1024_mul_avx2 wrt ..imagebase - DD $L$SEH_end_rsaz_1024_mul_avx2 wrt ..imagebase - DD $L$SEH_info_rsaz_1024_mul_avx2 wrt ..imagebase - - DD $L$SEH_begin_rsaz_1024_gather5 wrt ..imagebase - DD $L$SEH_end_rsaz_1024_gather5 wrt ..imagebase - DD $L$SEH_info_rsaz_1024_gather5 wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_rsaz_1024_sqr_avx2: -DB 9,0,0,0 - DD rsaz_se_handler wrt ..imagebase - DD $L$sqr_1024_body wrt ..imagebase,$L$sqr_1024_epilogue wrt ..imagebase -$L$SEH_info_rsaz_1024_mul_avx2: -DB 9,0,0,0 - DD rsaz_se_handler wrt ..imagebase - DD $L$mul_1024_body wrt ..imagebase,$L$mul_1024_epilogue wrt ..imagebase -$L$SEH_info_rsaz_1024_gather5: -DB 0x01,0x36,0x17,0x0b -DB 0x36,0xf8,0x09,0x00 -DB 0x31,0xe8,0x08,0x00 -DB 0x2c,0xd8,0x07,0x00 -DB 0x27,0xc8,0x06,0x00 -DB 0x22,0xb8,0x05,0x00 -DB 0x1d,0xa8,0x04,0x00 -DB 0x18,0x98,0x03,0x00 -DB 0x13,0x88,0x02,0x00 -DB 0x0e,0x78,0x01,0x00 -DB 0x09,0x68,0x00,0x00 -DB 0x04,0x01,0x15,0x00 -DB 0x00,0xb3,0x00,0x00 +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +global rsaz_1024_sqr_avx2 + +ALIGN 64 +rsaz_1024_sqr_avx2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_rsaz_1024_sqr_avx2: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + + + lea rax,[rsp] + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + vzeroupper + lea rsp,[((-168))+rsp] + vmovaps XMMWORD[(-216)+rax],xmm6 + vmovaps XMMWORD[(-200)+rax],xmm7 + vmovaps XMMWORD[(-184)+rax],xmm8 + vmovaps XMMWORD[(-168)+rax],xmm9 + vmovaps XMMWORD[(-152)+rax],xmm10 + vmovaps XMMWORD[(-136)+rax],xmm11 + vmovaps XMMWORD[(-120)+rax],xmm12 + vmovaps XMMWORD[(-104)+rax],xmm13 + vmovaps XMMWORD[(-88)+rax],xmm14 + vmovaps XMMWORD[(-72)+rax],xmm15 +$L$sqr_1024_body: + mov rbp,rax + mov r13,rdx + sub rsp,832 + mov r15,r13 + sub rdi,-128 + sub rsi,-128 + sub r13,-128 + + and r15,4095 + add r15,32*10 + shr r15,12 + vpxor ymm9,ymm9,ymm9 + jz NEAR $L$sqr_1024_no_n_copy + + + + + + sub rsp,32*10 + vmovdqu ymm0,YMMWORD[((0-128))+r13] + and rsp,-2048 + vmovdqu ymm1,YMMWORD[((32-128))+r13] + vmovdqu ymm2,YMMWORD[((64-128))+r13] + vmovdqu ymm3,YMMWORD[((96-128))+r13] + vmovdqu ymm4,YMMWORD[((128-128))+r13] + vmovdqu ymm5,YMMWORD[((160-128))+r13] + vmovdqu ymm6,YMMWORD[((192-128))+r13] + vmovdqu ymm7,YMMWORD[((224-128))+r13] + vmovdqu ymm8,YMMWORD[((256-128))+r13] + lea r13,[((832+128))+rsp] + vmovdqu YMMWORD[(0-128)+r13],ymm0 + vmovdqu YMMWORD[(32-128)+r13],ymm1 + vmovdqu YMMWORD[(64-128)+r13],ymm2 + vmovdqu YMMWORD[(96-128)+r13],ymm3 + vmovdqu YMMWORD[(128-128)+r13],ymm4 + vmovdqu YMMWORD[(160-128)+r13],ymm5 + vmovdqu YMMWORD[(192-128)+r13],ymm6 + vmovdqu YMMWORD[(224-128)+r13],ymm7 + vmovdqu YMMWORD[(256-128)+r13],ymm8 + vmovdqu YMMWORD[(288-128)+r13],ymm9 + +$L$sqr_1024_no_n_copy: + and rsp,-1024 + + vmovdqu ymm1,YMMWORD[((32-128))+rsi] + vmovdqu ymm2,YMMWORD[((64-128))+rsi] + vmovdqu ymm3,YMMWORD[((96-128))+rsi] + vmovdqu ymm4,YMMWORD[((128-128))+rsi] + vmovdqu ymm5,YMMWORD[((160-128))+rsi] + vmovdqu ymm6,YMMWORD[((192-128))+rsi] + vmovdqu ymm7,YMMWORD[((224-128))+rsi] + vmovdqu ymm8,YMMWORD[((256-128))+rsi] + + lea rbx,[192+rsp] + vmovdqu ymm15,YMMWORD[$L$and_mask] + jmp NEAR $L$OOP_GRANDE_SQR_1024 + +ALIGN 32 +$L$OOP_GRANDE_SQR_1024: + lea r9,[((576+128))+rsp] + lea r12,[448+rsp] + + + + + vpaddq ymm1,ymm1,ymm1 + vpbroadcastq ymm10,QWORD[((0-128))+rsi] + vpaddq ymm2,ymm2,ymm2 + vmovdqa YMMWORD[(0-128)+r9],ymm1 + vpaddq ymm3,ymm3,ymm3 + vmovdqa YMMWORD[(32-128)+r9],ymm2 + vpaddq ymm4,ymm4,ymm4 + vmovdqa YMMWORD[(64-128)+r9],ymm3 + vpaddq ymm5,ymm5,ymm5 + vmovdqa YMMWORD[(96-128)+r9],ymm4 + vpaddq ymm6,ymm6,ymm6 + vmovdqa YMMWORD[(128-128)+r9],ymm5 + vpaddq ymm7,ymm7,ymm7 + vmovdqa YMMWORD[(160-128)+r9],ymm6 + vpaddq ymm8,ymm8,ymm8 + vmovdqa YMMWORD[(192-128)+r9],ymm7 + vpxor ymm9,ymm9,ymm9 + vmovdqa YMMWORD[(224-128)+r9],ymm8 + + vpmuludq ymm0,ymm10,YMMWORD[((0-128))+rsi] + vpbroadcastq ymm11,QWORD[((32-128))+rsi] + vmovdqu YMMWORD[(288-192)+rbx],ymm9 + vpmuludq ymm1,ymm1,ymm10 + vmovdqu YMMWORD[(320-448)+r12],ymm9 + vpmuludq ymm2,ymm2,ymm10 + vmovdqu YMMWORD[(352-448)+r12],ymm9 + vpmuludq ymm3,ymm3,ymm10 + vmovdqu YMMWORD[(384-448)+r12],ymm9 + vpmuludq ymm4,ymm4,ymm10 + vmovdqu YMMWORD[(416-448)+r12],ymm9 + vpmuludq ymm5,ymm5,ymm10 + vmovdqu YMMWORD[(448-448)+r12],ymm9 + vpmuludq ymm6,ymm6,ymm10 + vmovdqu YMMWORD[(480-448)+r12],ymm9 + vpmuludq ymm7,ymm7,ymm10 + vmovdqu YMMWORD[(512-448)+r12],ymm9 + vpmuludq ymm8,ymm8,ymm10 + vpbroadcastq ymm10,QWORD[((64-128))+rsi] + vmovdqu YMMWORD[(544-448)+r12],ymm9 + + mov r15,rsi + mov r14d,4 + jmp NEAR $L$sqr_entry_1024 +ALIGN 32 +$L$OOP_SQR_1024: + vpbroadcastq ymm11,QWORD[((32-128))+r15] + vpmuludq ymm0,ymm10,YMMWORD[((0-128))+rsi] + vpaddq ymm0,ymm0,YMMWORD[((0-192))+rbx] + vpmuludq ymm1,ymm10,YMMWORD[((0-128))+r9] + vpaddq ymm1,ymm1,YMMWORD[((32-192))+rbx] + vpmuludq ymm2,ymm10,YMMWORD[((32-128))+r9] + vpaddq ymm2,ymm2,YMMWORD[((64-192))+rbx] + vpmuludq ymm3,ymm10,YMMWORD[((64-128))+r9] + vpaddq ymm3,ymm3,YMMWORD[((96-192))+rbx] + vpmuludq ymm4,ymm10,YMMWORD[((96-128))+r9] + vpaddq ymm4,ymm4,YMMWORD[((128-192))+rbx] + vpmuludq ymm5,ymm10,YMMWORD[((128-128))+r9] + vpaddq ymm5,ymm5,YMMWORD[((160-192))+rbx] + vpmuludq ymm6,ymm10,YMMWORD[((160-128))+r9] + vpaddq ymm6,ymm6,YMMWORD[((192-192))+rbx] + vpmuludq ymm7,ymm10,YMMWORD[((192-128))+r9] + vpaddq ymm7,ymm7,YMMWORD[((224-192))+rbx] + vpmuludq ymm8,ymm10,YMMWORD[((224-128))+r9] + vpbroadcastq ymm10,QWORD[((64-128))+r15] + vpaddq ymm8,ymm8,YMMWORD[((256-192))+rbx] +$L$sqr_entry_1024: + vmovdqu YMMWORD[(0-192)+rbx],ymm0 + vmovdqu YMMWORD[(32-192)+rbx],ymm1 + + vpmuludq ymm12,ymm11,YMMWORD[((32-128))+rsi] + vpaddq ymm2,ymm2,ymm12 + vpmuludq ymm14,ymm11,YMMWORD[((32-128))+r9] + vpaddq ymm3,ymm3,ymm14 + vpmuludq ymm13,ymm11,YMMWORD[((64-128))+r9] + vpaddq ymm4,ymm4,ymm13 + vpmuludq ymm12,ymm11,YMMWORD[((96-128))+r9] + vpaddq ymm5,ymm5,ymm12 + vpmuludq ymm14,ymm11,YMMWORD[((128-128))+r9] + vpaddq ymm6,ymm6,ymm14 + vpmuludq ymm13,ymm11,YMMWORD[((160-128))+r9] + vpaddq ymm7,ymm7,ymm13 + vpmuludq ymm12,ymm11,YMMWORD[((192-128))+r9] + vpaddq ymm8,ymm8,ymm12 + vpmuludq ymm0,ymm11,YMMWORD[((224-128))+r9] + vpbroadcastq ymm11,QWORD[((96-128))+r15] + vpaddq ymm0,ymm0,YMMWORD[((288-192))+rbx] + + vmovdqu YMMWORD[(64-192)+rbx],ymm2 + vmovdqu YMMWORD[(96-192)+rbx],ymm3 + + vpmuludq ymm13,ymm10,YMMWORD[((64-128))+rsi] + vpaddq ymm4,ymm4,ymm13 + vpmuludq ymm12,ymm10,YMMWORD[((64-128))+r9] + vpaddq ymm5,ymm5,ymm12 + vpmuludq ymm14,ymm10,YMMWORD[((96-128))+r9] + vpaddq ymm6,ymm6,ymm14 + vpmuludq ymm13,ymm10,YMMWORD[((128-128))+r9] + vpaddq ymm7,ymm7,ymm13 + vpmuludq ymm12,ymm10,YMMWORD[((160-128))+r9] + vpaddq ymm8,ymm8,ymm12 + vpmuludq ymm14,ymm10,YMMWORD[((192-128))+r9] + vpaddq ymm0,ymm0,ymm14 + vpmuludq ymm1,ymm10,YMMWORD[((224-128))+r9] + vpbroadcastq ymm10,QWORD[((128-128))+r15] + vpaddq ymm1,ymm1,YMMWORD[((320-448))+r12] + + vmovdqu YMMWORD[(128-192)+rbx],ymm4 + vmovdqu YMMWORD[(160-192)+rbx],ymm5 + + vpmuludq ymm12,ymm11,YMMWORD[((96-128))+rsi] + vpaddq ymm6,ymm6,ymm12 + vpmuludq ymm14,ymm11,YMMWORD[((96-128))+r9] + vpaddq ymm7,ymm7,ymm14 + vpmuludq ymm13,ymm11,YMMWORD[((128-128))+r9] + vpaddq ymm8,ymm8,ymm13 + vpmuludq ymm12,ymm11,YMMWORD[((160-128))+r9] + vpaddq ymm0,ymm0,ymm12 + vpmuludq ymm14,ymm11,YMMWORD[((192-128))+r9] + vpaddq ymm1,ymm1,ymm14 + vpmuludq ymm2,ymm11,YMMWORD[((224-128))+r9] + vpbroadcastq ymm11,QWORD[((160-128))+r15] + vpaddq ymm2,ymm2,YMMWORD[((352-448))+r12] + + vmovdqu YMMWORD[(192-192)+rbx],ymm6 + vmovdqu YMMWORD[(224-192)+rbx],ymm7 + + vpmuludq ymm12,ymm10,YMMWORD[((128-128))+rsi] + vpaddq ymm8,ymm8,ymm12 + vpmuludq ymm14,ymm10,YMMWORD[((128-128))+r9] + vpaddq ymm0,ymm0,ymm14 + vpmuludq ymm13,ymm10,YMMWORD[((160-128))+r9] + vpaddq ymm1,ymm1,ymm13 + vpmuludq ymm12,ymm10,YMMWORD[((192-128))+r9] + vpaddq ymm2,ymm2,ymm12 + vpmuludq ymm3,ymm10,YMMWORD[((224-128))+r9] + vpbroadcastq ymm10,QWORD[((192-128))+r15] + vpaddq ymm3,ymm3,YMMWORD[((384-448))+r12] + + vmovdqu YMMWORD[(256-192)+rbx],ymm8 + vmovdqu YMMWORD[(288-192)+rbx],ymm0 + lea rbx,[8+rbx] + + vpmuludq ymm13,ymm11,YMMWORD[((160-128))+rsi] + vpaddq ymm1,ymm1,ymm13 + vpmuludq ymm12,ymm11,YMMWORD[((160-128))+r9] + vpaddq ymm2,ymm2,ymm12 + vpmuludq ymm14,ymm11,YMMWORD[((192-128))+r9] + vpaddq ymm3,ymm3,ymm14 + vpmuludq ymm4,ymm11,YMMWORD[((224-128))+r9] + vpbroadcastq ymm11,QWORD[((224-128))+r15] + vpaddq ymm4,ymm4,YMMWORD[((416-448))+r12] + + vmovdqu YMMWORD[(320-448)+r12],ymm1 + vmovdqu YMMWORD[(352-448)+r12],ymm2 + + vpmuludq ymm12,ymm10,YMMWORD[((192-128))+rsi] + vpaddq ymm3,ymm3,ymm12 + vpmuludq ymm14,ymm10,YMMWORD[((192-128))+r9] + vpbroadcastq ymm0,QWORD[((256-128))+r15] + vpaddq ymm4,ymm4,ymm14 + vpmuludq ymm5,ymm10,YMMWORD[((224-128))+r9] + vpbroadcastq ymm10,QWORD[((0+8-128))+r15] + vpaddq ymm5,ymm5,YMMWORD[((448-448))+r12] + + vmovdqu YMMWORD[(384-448)+r12],ymm3 + vmovdqu YMMWORD[(416-448)+r12],ymm4 + lea r15,[8+r15] + + vpmuludq ymm12,ymm11,YMMWORD[((224-128))+rsi] + vpaddq ymm5,ymm5,ymm12 + vpmuludq ymm6,ymm11,YMMWORD[((224-128))+r9] + vpaddq ymm6,ymm6,YMMWORD[((480-448))+r12] + + vpmuludq ymm7,ymm0,YMMWORD[((256-128))+rsi] + vmovdqu YMMWORD[(448-448)+r12],ymm5 + vpaddq ymm7,ymm7,YMMWORD[((512-448))+r12] + vmovdqu YMMWORD[(480-448)+r12],ymm6 + vmovdqu YMMWORD[(512-448)+r12],ymm7 + lea r12,[8+r12] + + dec r14d + jnz NEAR $L$OOP_SQR_1024 + + vmovdqu ymm8,YMMWORD[256+rsp] + vmovdqu ymm1,YMMWORD[288+rsp] + vmovdqu ymm2,YMMWORD[320+rsp] + lea rbx,[192+rsp] + + vpsrlq ymm14,ymm8,29 + vpand ymm8,ymm8,ymm15 + vpsrlq ymm11,ymm1,29 + vpand ymm1,ymm1,ymm15 + + vpermq ymm14,ymm14,0x93 + vpxor ymm9,ymm9,ymm9 + vpermq ymm11,ymm11,0x93 + + vpblendd ymm10,ymm14,ymm9,3 + vpblendd ymm14,ymm11,ymm14,3 + vpaddq ymm8,ymm8,ymm10 + vpblendd ymm11,ymm9,ymm11,3 + vpaddq ymm1,ymm1,ymm14 + vpaddq ymm2,ymm2,ymm11 + vmovdqu YMMWORD[(288-192)+rbx],ymm1 + vmovdqu YMMWORD[(320-192)+rbx],ymm2 + + mov rax,QWORD[rsp] + mov r10,QWORD[8+rsp] + mov r11,QWORD[16+rsp] + mov r12,QWORD[24+rsp] + vmovdqu ymm1,YMMWORD[32+rsp] + vmovdqu ymm2,YMMWORD[((64-192))+rbx] + vmovdqu ymm3,YMMWORD[((96-192))+rbx] + vmovdqu ymm4,YMMWORD[((128-192))+rbx] + vmovdqu ymm5,YMMWORD[((160-192))+rbx] + vmovdqu ymm6,YMMWORD[((192-192))+rbx] + vmovdqu ymm7,YMMWORD[((224-192))+rbx] + + mov r9,rax + imul eax,ecx + and eax,0x1fffffff + vmovd xmm12,eax + + mov rdx,rax + imul rax,QWORD[((-128))+r13] + vpbroadcastq ymm12,xmm12 + add r9,rax + mov rax,rdx + imul rax,QWORD[((8-128))+r13] + shr r9,29 + add r10,rax + mov rax,rdx + imul rax,QWORD[((16-128))+r13] + add r10,r9 + add r11,rax + imul rdx,QWORD[((24-128))+r13] + add r12,rdx + + mov rax,r10 + imul eax,ecx + and eax,0x1fffffff + + mov r14d,9 + jmp NEAR $L$OOP_REDUCE_1024 + +ALIGN 32 +$L$OOP_REDUCE_1024: + vmovd xmm13,eax + vpbroadcastq ymm13,xmm13 + + vpmuludq ymm10,ymm12,YMMWORD[((32-128))+r13] + mov rdx,rax + imul rax,QWORD[((-128))+r13] + vpaddq ymm1,ymm1,ymm10 + add r10,rax + vpmuludq ymm14,ymm12,YMMWORD[((64-128))+r13] + mov rax,rdx + imul rax,QWORD[((8-128))+r13] + vpaddq ymm2,ymm2,ymm14 + vpmuludq ymm11,ymm12,YMMWORD[((96-128))+r13] +DB 0x67 + add r11,rax +DB 0x67 + mov rax,rdx + imul rax,QWORD[((16-128))+r13] + shr r10,29 + vpaddq ymm3,ymm3,ymm11 + vpmuludq ymm10,ymm12,YMMWORD[((128-128))+r13] + add r12,rax + add r11,r10 + vpaddq ymm4,ymm4,ymm10 + vpmuludq ymm14,ymm12,YMMWORD[((160-128))+r13] + mov rax,r11 + imul eax,ecx + vpaddq ymm5,ymm5,ymm14 + vpmuludq ymm11,ymm12,YMMWORD[((192-128))+r13] + and eax,0x1fffffff + vpaddq ymm6,ymm6,ymm11 + vpmuludq ymm10,ymm12,YMMWORD[((224-128))+r13] + vpaddq ymm7,ymm7,ymm10 + vpmuludq ymm14,ymm12,YMMWORD[((256-128))+r13] + vmovd xmm12,eax + + vpaddq ymm8,ymm8,ymm14 + + vpbroadcastq ymm12,xmm12 + + vpmuludq ymm11,ymm13,YMMWORD[((32-8-128))+r13] + vmovdqu ymm14,YMMWORD[((96-8-128))+r13] + mov rdx,rax + imul rax,QWORD[((-128))+r13] + vpaddq ymm1,ymm1,ymm11 + vpmuludq ymm10,ymm13,YMMWORD[((64-8-128))+r13] + vmovdqu ymm11,YMMWORD[((128-8-128))+r13] + add r11,rax + mov rax,rdx + imul rax,QWORD[((8-128))+r13] + vpaddq ymm2,ymm2,ymm10 + add rax,r12 + shr r11,29 + vpmuludq ymm14,ymm14,ymm13 + vmovdqu ymm10,YMMWORD[((160-8-128))+r13] + add rax,r11 + vpaddq ymm3,ymm3,ymm14 + vpmuludq ymm11,ymm11,ymm13 + vmovdqu ymm14,YMMWORD[((192-8-128))+r13] +DB 0x67 + mov r12,rax + imul eax,ecx + vpaddq ymm4,ymm4,ymm11 + vpmuludq ymm10,ymm10,ymm13 +DB 0xc4,0x41,0x7e,0x6f,0x9d,0x58,0x00,0x00,0x00 + and eax,0x1fffffff + vpaddq ymm5,ymm5,ymm10 + vpmuludq ymm14,ymm14,ymm13 + vmovdqu ymm10,YMMWORD[((256-8-128))+r13] + vpaddq ymm6,ymm6,ymm14 + vpmuludq ymm11,ymm11,ymm13 + vmovdqu ymm9,YMMWORD[((288-8-128))+r13] + vmovd xmm0,eax + imul rax,QWORD[((-128))+r13] + vpaddq ymm7,ymm7,ymm11 + vpmuludq ymm10,ymm10,ymm13 + vmovdqu ymm14,YMMWORD[((32-16-128))+r13] + vpbroadcastq ymm0,xmm0 + vpaddq ymm8,ymm8,ymm10 + vpmuludq ymm9,ymm9,ymm13 + vmovdqu ymm11,YMMWORD[((64-16-128))+r13] + add r12,rax + + vmovdqu ymm13,YMMWORD[((32-24-128))+r13] + vpmuludq ymm14,ymm14,ymm12 + vmovdqu ymm10,YMMWORD[((96-16-128))+r13] + vpaddq ymm1,ymm1,ymm14 + vpmuludq ymm13,ymm13,ymm0 + vpmuludq ymm11,ymm11,ymm12 +DB 0xc4,0x41,0x7e,0x6f,0xb5,0xf0,0xff,0xff,0xff + vpaddq ymm13,ymm13,ymm1 + vpaddq ymm2,ymm2,ymm11 + vpmuludq ymm10,ymm10,ymm12 + vmovdqu ymm11,YMMWORD[((160-16-128))+r13] +DB 0x67 + vmovq rax,xmm13 + vmovdqu YMMWORD[rsp],ymm13 + vpaddq ymm3,ymm3,ymm10 + vpmuludq ymm14,ymm14,ymm12 + vmovdqu ymm10,YMMWORD[((192-16-128))+r13] + vpaddq ymm4,ymm4,ymm14 + vpmuludq ymm11,ymm11,ymm12 + vmovdqu ymm14,YMMWORD[((224-16-128))+r13] + vpaddq ymm5,ymm5,ymm11 + vpmuludq ymm10,ymm10,ymm12 + vmovdqu ymm11,YMMWORD[((256-16-128))+r13] + vpaddq ymm6,ymm6,ymm10 + vpmuludq ymm14,ymm14,ymm12 + shr r12,29 + vmovdqu ymm10,YMMWORD[((288-16-128))+r13] + add rax,r12 + vpaddq ymm7,ymm7,ymm14 + vpmuludq ymm11,ymm11,ymm12 + + mov r9,rax + imul eax,ecx + vpaddq ymm8,ymm8,ymm11 + vpmuludq ymm10,ymm10,ymm12 + and eax,0x1fffffff + vmovd xmm12,eax + vmovdqu ymm11,YMMWORD[((96-24-128))+r13] +DB 0x67 + vpaddq ymm9,ymm9,ymm10 + vpbroadcastq ymm12,xmm12 + + vpmuludq ymm14,ymm0,YMMWORD[((64-24-128))+r13] + vmovdqu ymm10,YMMWORD[((128-24-128))+r13] + mov rdx,rax + imul rax,QWORD[((-128))+r13] + mov r10,QWORD[8+rsp] + vpaddq ymm1,ymm2,ymm14 + vpmuludq ymm11,ymm11,ymm0 + vmovdqu ymm14,YMMWORD[((160-24-128))+r13] + add r9,rax + mov rax,rdx + imul rax,QWORD[((8-128))+r13] +DB 0x67 + shr r9,29 + mov r11,QWORD[16+rsp] + vpaddq ymm2,ymm3,ymm11 + vpmuludq ymm10,ymm10,ymm0 + vmovdqu ymm11,YMMWORD[((192-24-128))+r13] + add r10,rax + mov rax,rdx + imul rax,QWORD[((16-128))+r13] + vpaddq ymm3,ymm4,ymm10 + vpmuludq ymm14,ymm14,ymm0 + vmovdqu ymm10,YMMWORD[((224-24-128))+r13] + imul rdx,QWORD[((24-128))+r13] + add r11,rax + lea rax,[r10*1+r9] + vpaddq ymm4,ymm5,ymm14 + vpmuludq ymm11,ymm11,ymm0 + vmovdqu ymm14,YMMWORD[((256-24-128))+r13] + mov r10,rax + imul eax,ecx + vpmuludq ymm10,ymm10,ymm0 + vpaddq ymm5,ymm6,ymm11 + vmovdqu ymm11,YMMWORD[((288-24-128))+r13] + and eax,0x1fffffff + vpaddq ymm6,ymm7,ymm10 + vpmuludq ymm14,ymm14,ymm0 + add rdx,QWORD[24+rsp] + vpaddq ymm7,ymm8,ymm14 + vpmuludq ymm11,ymm11,ymm0 + vpaddq ymm8,ymm9,ymm11 + vmovq xmm9,r12 + mov r12,rdx + + dec r14d + jnz NEAR $L$OOP_REDUCE_1024 + lea r12,[448+rsp] + vpaddq ymm0,ymm13,ymm9 + vpxor ymm9,ymm9,ymm9 + + vpaddq ymm0,ymm0,YMMWORD[((288-192))+rbx] + vpaddq ymm1,ymm1,YMMWORD[((320-448))+r12] + vpaddq ymm2,ymm2,YMMWORD[((352-448))+r12] + vpaddq ymm3,ymm3,YMMWORD[((384-448))+r12] + vpaddq ymm4,ymm4,YMMWORD[((416-448))+r12] + vpaddq ymm5,ymm5,YMMWORD[((448-448))+r12] + vpaddq ymm6,ymm6,YMMWORD[((480-448))+r12] + vpaddq ymm7,ymm7,YMMWORD[((512-448))+r12] + vpaddq ymm8,ymm8,YMMWORD[((544-448))+r12] + + vpsrlq ymm14,ymm0,29 + vpand ymm0,ymm0,ymm15 + vpsrlq ymm11,ymm1,29 + vpand ymm1,ymm1,ymm15 + vpsrlq ymm12,ymm2,29 + vpermq ymm14,ymm14,0x93 + vpand ymm2,ymm2,ymm15 + vpsrlq ymm13,ymm3,29 + vpermq ymm11,ymm11,0x93 + vpand ymm3,ymm3,ymm15 + vpermq ymm12,ymm12,0x93 + + vpblendd ymm10,ymm14,ymm9,3 + vpermq ymm13,ymm13,0x93 + vpblendd ymm14,ymm11,ymm14,3 + vpaddq ymm0,ymm0,ymm10 + vpblendd ymm11,ymm12,ymm11,3 + vpaddq ymm1,ymm1,ymm14 + vpblendd ymm12,ymm13,ymm12,3 + vpaddq ymm2,ymm2,ymm11 + vpblendd ymm13,ymm9,ymm13,3 + vpaddq ymm3,ymm3,ymm12 + vpaddq ymm4,ymm4,ymm13 + + vpsrlq ymm14,ymm0,29 + vpand ymm0,ymm0,ymm15 + vpsrlq ymm11,ymm1,29 + vpand ymm1,ymm1,ymm15 + vpsrlq ymm12,ymm2,29 + vpermq ymm14,ymm14,0x93 + vpand ymm2,ymm2,ymm15 + vpsrlq ymm13,ymm3,29 + vpermq ymm11,ymm11,0x93 + vpand ymm3,ymm3,ymm15 + vpermq ymm12,ymm12,0x93 + + vpblendd ymm10,ymm14,ymm9,3 + vpermq ymm13,ymm13,0x93 + vpblendd ymm14,ymm11,ymm14,3 + vpaddq ymm0,ymm0,ymm10 + vpblendd ymm11,ymm12,ymm11,3 + vpaddq ymm1,ymm1,ymm14 + vmovdqu YMMWORD[(0-128)+rdi],ymm0 + vpblendd ymm12,ymm13,ymm12,3 + vpaddq ymm2,ymm2,ymm11 + vmovdqu YMMWORD[(32-128)+rdi],ymm1 + vpblendd ymm13,ymm9,ymm13,3 + vpaddq ymm3,ymm3,ymm12 + vmovdqu YMMWORD[(64-128)+rdi],ymm2 + vpaddq ymm4,ymm4,ymm13 + vmovdqu YMMWORD[(96-128)+rdi],ymm3 + vpsrlq ymm14,ymm4,29 + vpand ymm4,ymm4,ymm15 + vpsrlq ymm11,ymm5,29 + vpand ymm5,ymm5,ymm15 + vpsrlq ymm12,ymm6,29 + vpermq ymm14,ymm14,0x93 + vpand ymm6,ymm6,ymm15 + vpsrlq ymm13,ymm7,29 + vpermq ymm11,ymm11,0x93 + vpand ymm7,ymm7,ymm15 + vpsrlq ymm0,ymm8,29 + vpermq ymm12,ymm12,0x93 + vpand ymm8,ymm8,ymm15 + vpermq ymm13,ymm13,0x93 + + vpblendd ymm10,ymm14,ymm9,3 + vpermq ymm0,ymm0,0x93 + vpblendd ymm14,ymm11,ymm14,3 + vpaddq ymm4,ymm4,ymm10 + vpblendd ymm11,ymm12,ymm11,3 + vpaddq ymm5,ymm5,ymm14 + vpblendd ymm12,ymm13,ymm12,3 + vpaddq ymm6,ymm6,ymm11 + vpblendd ymm13,ymm0,ymm13,3 + vpaddq ymm7,ymm7,ymm12 + vpaddq ymm8,ymm8,ymm13 + + vpsrlq ymm14,ymm4,29 + vpand ymm4,ymm4,ymm15 + vpsrlq ymm11,ymm5,29 + vpand ymm5,ymm5,ymm15 + vpsrlq ymm12,ymm6,29 + vpermq ymm14,ymm14,0x93 + vpand ymm6,ymm6,ymm15 + vpsrlq ymm13,ymm7,29 + vpermq ymm11,ymm11,0x93 + vpand ymm7,ymm7,ymm15 + vpsrlq ymm0,ymm8,29 + vpermq ymm12,ymm12,0x93 + vpand ymm8,ymm8,ymm15 + vpermq ymm13,ymm13,0x93 + + vpblendd ymm10,ymm14,ymm9,3 + vpermq ymm0,ymm0,0x93 + vpblendd ymm14,ymm11,ymm14,3 + vpaddq ymm4,ymm4,ymm10 + vpblendd ymm11,ymm12,ymm11,3 + vpaddq ymm5,ymm5,ymm14 + vmovdqu YMMWORD[(128-128)+rdi],ymm4 + vpblendd ymm12,ymm13,ymm12,3 + vpaddq ymm6,ymm6,ymm11 + vmovdqu YMMWORD[(160-128)+rdi],ymm5 + vpblendd ymm13,ymm0,ymm13,3 + vpaddq ymm7,ymm7,ymm12 + vmovdqu YMMWORD[(192-128)+rdi],ymm6 + vpaddq ymm8,ymm8,ymm13 + vmovdqu YMMWORD[(224-128)+rdi],ymm7 + vmovdqu YMMWORD[(256-128)+rdi],ymm8 + + mov rsi,rdi + dec r8d + jne NEAR $L$OOP_GRANDE_SQR_1024 + + vzeroall + mov rax,rbp + movaps xmm6,XMMWORD[((-216))+rax] + movaps xmm7,XMMWORD[((-200))+rax] + movaps xmm8,XMMWORD[((-184))+rax] + movaps xmm9,XMMWORD[((-168))+rax] + movaps xmm10,XMMWORD[((-152))+rax] + movaps xmm11,XMMWORD[((-136))+rax] + movaps xmm12,XMMWORD[((-120))+rax] + movaps xmm13,XMMWORD[((-104))+rax] + movaps xmm14,XMMWORD[((-88))+rax] + movaps xmm15,XMMWORD[((-72))+rax] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$sqr_1024_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_rsaz_1024_sqr_avx2: +global rsaz_1024_mul_avx2 + +ALIGN 64 +rsaz_1024_mul_avx2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_rsaz_1024_mul_avx2: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + + + lea rax,[rsp] + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + vzeroupper + lea rsp,[((-168))+rsp] + vmovaps XMMWORD[(-216)+rax],xmm6 + vmovaps XMMWORD[(-200)+rax],xmm7 + vmovaps XMMWORD[(-184)+rax],xmm8 + vmovaps XMMWORD[(-168)+rax],xmm9 + vmovaps XMMWORD[(-152)+rax],xmm10 + vmovaps XMMWORD[(-136)+rax],xmm11 + vmovaps XMMWORD[(-120)+rax],xmm12 + vmovaps XMMWORD[(-104)+rax],xmm13 + vmovaps XMMWORD[(-88)+rax],xmm14 + vmovaps XMMWORD[(-72)+rax],xmm15 +$L$mul_1024_body: + mov rbp,rax + vzeroall + mov r13,rdx + sub rsp,64 + + + + + + +DB 0x67,0x67 + mov r15,rsi + and r15,4095 + add r15,32*10 + shr r15,12 + mov r15,rsi + cmovnz rsi,r13 + cmovnz r13,r15 + + mov r15,rcx + sub rsi,-128 + sub rcx,-128 + sub rdi,-128 + + and r15,4095 + add r15,32*10 +DB 0x67,0x67 + shr r15,12 + jz NEAR $L$mul_1024_no_n_copy + + + + + + sub rsp,32*10 + vmovdqu ymm0,YMMWORD[((0-128))+rcx] + and rsp,-512 + vmovdqu ymm1,YMMWORD[((32-128))+rcx] + vmovdqu ymm2,YMMWORD[((64-128))+rcx] + vmovdqu ymm3,YMMWORD[((96-128))+rcx] + vmovdqu ymm4,YMMWORD[((128-128))+rcx] + vmovdqu ymm5,YMMWORD[((160-128))+rcx] + vmovdqu ymm6,YMMWORD[((192-128))+rcx] + vmovdqu ymm7,YMMWORD[((224-128))+rcx] + vmovdqu ymm8,YMMWORD[((256-128))+rcx] + lea rcx,[((64+128))+rsp] + vmovdqu YMMWORD[(0-128)+rcx],ymm0 + vpxor ymm0,ymm0,ymm0 + vmovdqu YMMWORD[(32-128)+rcx],ymm1 + vpxor ymm1,ymm1,ymm1 + vmovdqu YMMWORD[(64-128)+rcx],ymm2 + vpxor ymm2,ymm2,ymm2 + vmovdqu YMMWORD[(96-128)+rcx],ymm3 + vpxor ymm3,ymm3,ymm3 + vmovdqu YMMWORD[(128-128)+rcx],ymm4 + vpxor ymm4,ymm4,ymm4 + vmovdqu YMMWORD[(160-128)+rcx],ymm5 + vpxor ymm5,ymm5,ymm5 + vmovdqu YMMWORD[(192-128)+rcx],ymm6 + vpxor ymm6,ymm6,ymm6 + vmovdqu YMMWORD[(224-128)+rcx],ymm7 + vpxor ymm7,ymm7,ymm7 + vmovdqu YMMWORD[(256-128)+rcx],ymm8 + vmovdqa ymm8,ymm0 + vmovdqu YMMWORD[(288-128)+rcx],ymm9 +$L$mul_1024_no_n_copy: + and rsp,-64 + + mov rbx,QWORD[r13] + vpbroadcastq ymm10,QWORD[r13] + vmovdqu YMMWORD[rsp],ymm0 + xor r9,r9 +DB 0x67 + xor r10,r10 + xor r11,r11 + xor r12,r12 + + vmovdqu ymm15,YMMWORD[$L$and_mask] + mov r14d,9 + vmovdqu YMMWORD[(288-128)+rdi],ymm9 + jmp NEAR $L$oop_mul_1024 + +ALIGN 32 +$L$oop_mul_1024: + vpsrlq ymm9,ymm3,29 + mov rax,rbx + imul rax,QWORD[((-128))+rsi] + add rax,r9 + mov r10,rbx + imul r10,QWORD[((8-128))+rsi] + add r10,QWORD[8+rsp] + + mov r9,rax + imul eax,r8d + and eax,0x1fffffff + + mov r11,rbx + imul r11,QWORD[((16-128))+rsi] + add r11,QWORD[16+rsp] + + mov r12,rbx + imul r12,QWORD[((24-128))+rsi] + add r12,QWORD[24+rsp] + vpmuludq ymm0,ymm10,YMMWORD[((32-128))+rsi] + vmovd xmm11,eax + vpaddq ymm1,ymm1,ymm0 + vpmuludq ymm12,ymm10,YMMWORD[((64-128))+rsi] + vpbroadcastq ymm11,xmm11 + vpaddq ymm2,ymm2,ymm12 + vpmuludq ymm13,ymm10,YMMWORD[((96-128))+rsi] + vpand ymm3,ymm3,ymm15 + vpaddq ymm3,ymm3,ymm13 + vpmuludq ymm0,ymm10,YMMWORD[((128-128))+rsi] + vpaddq ymm4,ymm4,ymm0 + vpmuludq ymm12,ymm10,YMMWORD[((160-128))+rsi] + vpaddq ymm5,ymm5,ymm12 + vpmuludq ymm13,ymm10,YMMWORD[((192-128))+rsi] + vpaddq ymm6,ymm6,ymm13 + vpmuludq ymm0,ymm10,YMMWORD[((224-128))+rsi] + vpermq ymm9,ymm9,0x93 + vpaddq ymm7,ymm7,ymm0 + vpmuludq ymm12,ymm10,YMMWORD[((256-128))+rsi] + vpbroadcastq ymm10,QWORD[8+r13] + vpaddq ymm8,ymm8,ymm12 + + mov rdx,rax + imul rax,QWORD[((-128))+rcx] + add r9,rax + mov rax,rdx + imul rax,QWORD[((8-128))+rcx] + add r10,rax + mov rax,rdx + imul rax,QWORD[((16-128))+rcx] + add r11,rax + shr r9,29 + imul rdx,QWORD[((24-128))+rcx] + add r12,rdx + add r10,r9 + + vpmuludq ymm13,ymm11,YMMWORD[((32-128))+rcx] + vmovq rbx,xmm10 + vpaddq ymm1,ymm1,ymm13 + vpmuludq ymm0,ymm11,YMMWORD[((64-128))+rcx] + vpaddq ymm2,ymm2,ymm0 + vpmuludq ymm12,ymm11,YMMWORD[((96-128))+rcx] + vpaddq ymm3,ymm3,ymm12 + vpmuludq ymm13,ymm11,YMMWORD[((128-128))+rcx] + vpaddq ymm4,ymm4,ymm13 + vpmuludq ymm0,ymm11,YMMWORD[((160-128))+rcx] + vpaddq ymm5,ymm5,ymm0 + vpmuludq ymm12,ymm11,YMMWORD[((192-128))+rcx] + vpaddq ymm6,ymm6,ymm12 + vpmuludq ymm13,ymm11,YMMWORD[((224-128))+rcx] + vpblendd ymm12,ymm9,ymm14,3 + vpaddq ymm7,ymm7,ymm13 + vpmuludq ymm0,ymm11,YMMWORD[((256-128))+rcx] + vpaddq ymm3,ymm3,ymm12 + vpaddq ymm8,ymm8,ymm0 + + mov rax,rbx + imul rax,QWORD[((-128))+rsi] + add r10,rax + vmovdqu ymm12,YMMWORD[((-8+32-128))+rsi] + mov rax,rbx + imul rax,QWORD[((8-128))+rsi] + add r11,rax + vmovdqu ymm13,YMMWORD[((-8+64-128))+rsi] + + mov rax,r10 + vpblendd ymm9,ymm9,ymm14,0xfc + imul eax,r8d + vpaddq ymm4,ymm4,ymm9 + and eax,0x1fffffff + + imul rbx,QWORD[((16-128))+rsi] + add r12,rbx + vpmuludq ymm12,ymm12,ymm10 + vmovd xmm11,eax + vmovdqu ymm0,YMMWORD[((-8+96-128))+rsi] + vpaddq ymm1,ymm1,ymm12 + vpmuludq ymm13,ymm13,ymm10 + vpbroadcastq ymm11,xmm11 + vmovdqu ymm12,YMMWORD[((-8+128-128))+rsi] + vpaddq ymm2,ymm2,ymm13 + vpmuludq ymm0,ymm0,ymm10 + vmovdqu ymm13,YMMWORD[((-8+160-128))+rsi] + vpaddq ymm3,ymm3,ymm0 + vpmuludq ymm12,ymm12,ymm10 + vmovdqu ymm0,YMMWORD[((-8+192-128))+rsi] + vpaddq ymm4,ymm4,ymm12 + vpmuludq ymm13,ymm13,ymm10 + vmovdqu ymm12,YMMWORD[((-8+224-128))+rsi] + vpaddq ymm5,ymm5,ymm13 + vpmuludq ymm0,ymm0,ymm10 + vmovdqu ymm13,YMMWORD[((-8+256-128))+rsi] + vpaddq ymm6,ymm6,ymm0 + vpmuludq ymm12,ymm12,ymm10 + vmovdqu ymm9,YMMWORD[((-8+288-128))+rsi] + vpaddq ymm7,ymm7,ymm12 + vpmuludq ymm13,ymm13,ymm10 + vpaddq ymm8,ymm8,ymm13 + vpmuludq ymm9,ymm9,ymm10 + vpbroadcastq ymm10,QWORD[16+r13] + + mov rdx,rax + imul rax,QWORD[((-128))+rcx] + add r10,rax + vmovdqu ymm0,YMMWORD[((-8+32-128))+rcx] + mov rax,rdx + imul rax,QWORD[((8-128))+rcx] + add r11,rax + vmovdqu ymm12,YMMWORD[((-8+64-128))+rcx] + shr r10,29 + imul rdx,QWORD[((16-128))+rcx] + add r12,rdx + add r11,r10 + + vpmuludq ymm0,ymm0,ymm11 + vmovq rbx,xmm10 + vmovdqu ymm13,YMMWORD[((-8+96-128))+rcx] + vpaddq ymm1,ymm1,ymm0 + vpmuludq ymm12,ymm12,ymm11 + vmovdqu ymm0,YMMWORD[((-8+128-128))+rcx] + vpaddq ymm2,ymm2,ymm12 + vpmuludq ymm13,ymm13,ymm11 + vmovdqu ymm12,YMMWORD[((-8+160-128))+rcx] + vpaddq ymm3,ymm3,ymm13 + vpmuludq ymm0,ymm0,ymm11 + vmovdqu ymm13,YMMWORD[((-8+192-128))+rcx] + vpaddq ymm4,ymm4,ymm0 + vpmuludq ymm12,ymm12,ymm11 + vmovdqu ymm0,YMMWORD[((-8+224-128))+rcx] + vpaddq ymm5,ymm5,ymm12 + vpmuludq ymm13,ymm13,ymm11 + vmovdqu ymm12,YMMWORD[((-8+256-128))+rcx] + vpaddq ymm6,ymm6,ymm13 + vpmuludq ymm0,ymm0,ymm11 + vmovdqu ymm13,YMMWORD[((-8+288-128))+rcx] + vpaddq ymm7,ymm7,ymm0 + vpmuludq ymm12,ymm12,ymm11 + vpaddq ymm8,ymm8,ymm12 + vpmuludq ymm13,ymm13,ymm11 + vpaddq ymm9,ymm9,ymm13 + + vmovdqu ymm0,YMMWORD[((-16+32-128))+rsi] + mov rax,rbx + imul rax,QWORD[((-128))+rsi] + add rax,r11 + + vmovdqu ymm12,YMMWORD[((-16+64-128))+rsi] + mov r11,rax + imul eax,r8d + and eax,0x1fffffff + + imul rbx,QWORD[((8-128))+rsi] + add r12,rbx + vpmuludq ymm0,ymm0,ymm10 + vmovd xmm11,eax + vmovdqu ymm13,YMMWORD[((-16+96-128))+rsi] + vpaddq ymm1,ymm1,ymm0 + vpmuludq ymm12,ymm12,ymm10 + vpbroadcastq ymm11,xmm11 + vmovdqu ymm0,YMMWORD[((-16+128-128))+rsi] + vpaddq ymm2,ymm2,ymm12 + vpmuludq ymm13,ymm13,ymm10 + vmovdqu ymm12,YMMWORD[((-16+160-128))+rsi] + vpaddq ymm3,ymm3,ymm13 + vpmuludq ymm0,ymm0,ymm10 + vmovdqu ymm13,YMMWORD[((-16+192-128))+rsi] + vpaddq ymm4,ymm4,ymm0 + vpmuludq ymm12,ymm12,ymm10 + vmovdqu ymm0,YMMWORD[((-16+224-128))+rsi] + vpaddq ymm5,ymm5,ymm12 + vpmuludq ymm13,ymm13,ymm10 + vmovdqu ymm12,YMMWORD[((-16+256-128))+rsi] + vpaddq ymm6,ymm6,ymm13 + vpmuludq ymm0,ymm0,ymm10 + vmovdqu ymm13,YMMWORD[((-16+288-128))+rsi] + vpaddq ymm7,ymm7,ymm0 + vpmuludq ymm12,ymm12,ymm10 + vpaddq ymm8,ymm8,ymm12 + vpmuludq ymm13,ymm13,ymm10 + vpbroadcastq ymm10,QWORD[24+r13] + vpaddq ymm9,ymm9,ymm13 + + vmovdqu ymm0,YMMWORD[((-16+32-128))+rcx] + mov rdx,rax + imul rax,QWORD[((-128))+rcx] + add r11,rax + vmovdqu ymm12,YMMWORD[((-16+64-128))+rcx] + imul rdx,QWORD[((8-128))+rcx] + add r12,rdx + shr r11,29 + + vpmuludq ymm0,ymm0,ymm11 + vmovq rbx,xmm10 + vmovdqu ymm13,YMMWORD[((-16+96-128))+rcx] + vpaddq ymm1,ymm1,ymm0 + vpmuludq ymm12,ymm12,ymm11 + vmovdqu ymm0,YMMWORD[((-16+128-128))+rcx] + vpaddq ymm2,ymm2,ymm12 + vpmuludq ymm13,ymm13,ymm11 + vmovdqu ymm12,YMMWORD[((-16+160-128))+rcx] + vpaddq ymm3,ymm3,ymm13 + vpmuludq ymm0,ymm0,ymm11 + vmovdqu ymm13,YMMWORD[((-16+192-128))+rcx] + vpaddq ymm4,ymm4,ymm0 + vpmuludq ymm12,ymm12,ymm11 + vmovdqu ymm0,YMMWORD[((-16+224-128))+rcx] + vpaddq ymm5,ymm5,ymm12 + vpmuludq ymm13,ymm13,ymm11 + vmovdqu ymm12,YMMWORD[((-16+256-128))+rcx] + vpaddq ymm6,ymm6,ymm13 + vpmuludq ymm0,ymm0,ymm11 + vmovdqu ymm13,YMMWORD[((-16+288-128))+rcx] + vpaddq ymm7,ymm7,ymm0 + vpmuludq ymm12,ymm12,ymm11 + vmovdqu ymm0,YMMWORD[((-24+32-128))+rsi] + vpaddq ymm8,ymm8,ymm12 + vpmuludq ymm13,ymm13,ymm11 + vmovdqu ymm12,YMMWORD[((-24+64-128))+rsi] + vpaddq ymm9,ymm9,ymm13 + + add r12,r11 + imul rbx,QWORD[((-128))+rsi] + add r12,rbx + + mov rax,r12 + imul eax,r8d + and eax,0x1fffffff + + vpmuludq ymm0,ymm0,ymm10 + vmovd xmm11,eax + vmovdqu ymm13,YMMWORD[((-24+96-128))+rsi] + vpaddq ymm1,ymm1,ymm0 + vpmuludq ymm12,ymm12,ymm10 + vpbroadcastq ymm11,xmm11 + vmovdqu ymm0,YMMWORD[((-24+128-128))+rsi] + vpaddq ymm2,ymm2,ymm12 + vpmuludq ymm13,ymm13,ymm10 + vmovdqu ymm12,YMMWORD[((-24+160-128))+rsi] + vpaddq ymm3,ymm3,ymm13 + vpmuludq ymm0,ymm0,ymm10 + vmovdqu ymm13,YMMWORD[((-24+192-128))+rsi] + vpaddq ymm4,ymm4,ymm0 + vpmuludq ymm12,ymm12,ymm10 + vmovdqu ymm0,YMMWORD[((-24+224-128))+rsi] + vpaddq ymm5,ymm5,ymm12 + vpmuludq ymm13,ymm13,ymm10 + vmovdqu ymm12,YMMWORD[((-24+256-128))+rsi] + vpaddq ymm6,ymm6,ymm13 + vpmuludq ymm0,ymm0,ymm10 + vmovdqu ymm13,YMMWORD[((-24+288-128))+rsi] + vpaddq ymm7,ymm7,ymm0 + vpmuludq ymm12,ymm12,ymm10 + vpaddq ymm8,ymm8,ymm12 + vpmuludq ymm13,ymm13,ymm10 + vpbroadcastq ymm10,QWORD[32+r13] + vpaddq ymm9,ymm9,ymm13 + add r13,32 + + vmovdqu ymm0,YMMWORD[((-24+32-128))+rcx] + imul rax,QWORD[((-128))+rcx] + add r12,rax + shr r12,29 + + vmovdqu ymm12,YMMWORD[((-24+64-128))+rcx] + vpmuludq ymm0,ymm0,ymm11 + vmovq rbx,xmm10 + vmovdqu ymm13,YMMWORD[((-24+96-128))+rcx] + vpaddq ymm0,ymm1,ymm0 + vpmuludq ymm12,ymm12,ymm11 + vmovdqu YMMWORD[rsp],ymm0 + vpaddq ymm1,ymm2,ymm12 + vmovdqu ymm0,YMMWORD[((-24+128-128))+rcx] + vpmuludq ymm13,ymm13,ymm11 + vmovdqu ymm12,YMMWORD[((-24+160-128))+rcx] + vpaddq ymm2,ymm3,ymm13 + vpmuludq ymm0,ymm0,ymm11 + vmovdqu ymm13,YMMWORD[((-24+192-128))+rcx] + vpaddq ymm3,ymm4,ymm0 + vpmuludq ymm12,ymm12,ymm11 + vmovdqu ymm0,YMMWORD[((-24+224-128))+rcx] + vpaddq ymm4,ymm5,ymm12 + vpmuludq ymm13,ymm13,ymm11 + vmovdqu ymm12,YMMWORD[((-24+256-128))+rcx] + vpaddq ymm5,ymm6,ymm13 + vpmuludq ymm0,ymm0,ymm11 + vmovdqu ymm13,YMMWORD[((-24+288-128))+rcx] + mov r9,r12 + vpaddq ymm6,ymm7,ymm0 + vpmuludq ymm12,ymm12,ymm11 + add r9,QWORD[rsp] + vpaddq ymm7,ymm8,ymm12 + vpmuludq ymm13,ymm13,ymm11 + vmovq xmm12,r12 + vpaddq ymm8,ymm9,ymm13 + + dec r14d + jnz NEAR $L$oop_mul_1024 + vpaddq ymm0,ymm12,YMMWORD[rsp] + + vpsrlq ymm12,ymm0,29 + vpand ymm0,ymm0,ymm15 + vpsrlq ymm13,ymm1,29 + vpand ymm1,ymm1,ymm15 + vpsrlq ymm10,ymm2,29 + vpermq ymm12,ymm12,0x93 + vpand ymm2,ymm2,ymm15 + vpsrlq ymm11,ymm3,29 + vpermq ymm13,ymm13,0x93 + vpand ymm3,ymm3,ymm15 + + vpblendd ymm9,ymm12,ymm14,3 + vpermq ymm10,ymm10,0x93 + vpblendd ymm12,ymm13,ymm12,3 + vpermq ymm11,ymm11,0x93 + vpaddq ymm0,ymm0,ymm9 + vpblendd ymm13,ymm10,ymm13,3 + vpaddq ymm1,ymm1,ymm12 + vpblendd ymm10,ymm11,ymm10,3 + vpaddq ymm2,ymm2,ymm13 + vpblendd ymm11,ymm14,ymm11,3 + vpaddq ymm3,ymm3,ymm10 + vpaddq ymm4,ymm4,ymm11 + + vpsrlq ymm12,ymm0,29 + vpand ymm0,ymm0,ymm15 + vpsrlq ymm13,ymm1,29 + vpand ymm1,ymm1,ymm15 + vpsrlq ymm10,ymm2,29 + vpermq ymm12,ymm12,0x93 + vpand ymm2,ymm2,ymm15 + vpsrlq ymm11,ymm3,29 + vpermq ymm13,ymm13,0x93 + vpand ymm3,ymm3,ymm15 + vpermq ymm10,ymm10,0x93 + + vpblendd ymm9,ymm12,ymm14,3 + vpermq ymm11,ymm11,0x93 + vpblendd ymm12,ymm13,ymm12,3 + vpaddq ymm0,ymm0,ymm9 + vpblendd ymm13,ymm10,ymm13,3 + vpaddq ymm1,ymm1,ymm12 + vpblendd ymm10,ymm11,ymm10,3 + vpaddq ymm2,ymm2,ymm13 + vpblendd ymm11,ymm14,ymm11,3 + vpaddq ymm3,ymm3,ymm10 + vpaddq ymm4,ymm4,ymm11 + + vmovdqu YMMWORD[(0-128)+rdi],ymm0 + vmovdqu YMMWORD[(32-128)+rdi],ymm1 + vmovdqu YMMWORD[(64-128)+rdi],ymm2 + vmovdqu YMMWORD[(96-128)+rdi],ymm3 + vpsrlq ymm12,ymm4,29 + vpand ymm4,ymm4,ymm15 + vpsrlq ymm13,ymm5,29 + vpand ymm5,ymm5,ymm15 + vpsrlq ymm10,ymm6,29 + vpermq ymm12,ymm12,0x93 + vpand ymm6,ymm6,ymm15 + vpsrlq ymm11,ymm7,29 + vpermq ymm13,ymm13,0x93 + vpand ymm7,ymm7,ymm15 + vpsrlq ymm0,ymm8,29 + vpermq ymm10,ymm10,0x93 + vpand ymm8,ymm8,ymm15 + vpermq ymm11,ymm11,0x93 + + vpblendd ymm9,ymm12,ymm14,3 + vpermq ymm0,ymm0,0x93 + vpblendd ymm12,ymm13,ymm12,3 + vpaddq ymm4,ymm4,ymm9 + vpblendd ymm13,ymm10,ymm13,3 + vpaddq ymm5,ymm5,ymm12 + vpblendd ymm10,ymm11,ymm10,3 + vpaddq ymm6,ymm6,ymm13 + vpblendd ymm11,ymm0,ymm11,3 + vpaddq ymm7,ymm7,ymm10 + vpaddq ymm8,ymm8,ymm11 + + vpsrlq ymm12,ymm4,29 + vpand ymm4,ymm4,ymm15 + vpsrlq ymm13,ymm5,29 + vpand ymm5,ymm5,ymm15 + vpsrlq ymm10,ymm6,29 + vpermq ymm12,ymm12,0x93 + vpand ymm6,ymm6,ymm15 + vpsrlq ymm11,ymm7,29 + vpermq ymm13,ymm13,0x93 + vpand ymm7,ymm7,ymm15 + vpsrlq ymm0,ymm8,29 + vpermq ymm10,ymm10,0x93 + vpand ymm8,ymm8,ymm15 + vpermq ymm11,ymm11,0x93 + + vpblendd ymm9,ymm12,ymm14,3 + vpermq ymm0,ymm0,0x93 + vpblendd ymm12,ymm13,ymm12,3 + vpaddq ymm4,ymm4,ymm9 + vpblendd ymm13,ymm10,ymm13,3 + vpaddq ymm5,ymm5,ymm12 + vpblendd ymm10,ymm11,ymm10,3 + vpaddq ymm6,ymm6,ymm13 + vpblendd ymm11,ymm0,ymm11,3 + vpaddq ymm7,ymm7,ymm10 + vpaddq ymm8,ymm8,ymm11 + + vmovdqu YMMWORD[(128-128)+rdi],ymm4 + vmovdqu YMMWORD[(160-128)+rdi],ymm5 + vmovdqu YMMWORD[(192-128)+rdi],ymm6 + vmovdqu YMMWORD[(224-128)+rdi],ymm7 + vmovdqu YMMWORD[(256-128)+rdi],ymm8 + vzeroupper + + mov rax,rbp + movaps xmm6,XMMWORD[((-216))+rax] + movaps xmm7,XMMWORD[((-200))+rax] + movaps xmm8,XMMWORD[((-184))+rax] + movaps xmm9,XMMWORD[((-168))+rax] + movaps xmm10,XMMWORD[((-152))+rax] + movaps xmm11,XMMWORD[((-136))+rax] + movaps xmm12,XMMWORD[((-120))+rax] + movaps xmm13,XMMWORD[((-104))+rax] + movaps xmm14,XMMWORD[((-88))+rax] + movaps xmm15,XMMWORD[((-72))+rax] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$mul_1024_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_rsaz_1024_mul_avx2: +global rsaz_1024_red2norm_avx2 + +ALIGN 32 +rsaz_1024_red2norm_avx2: + sub rdx,-128 + xor rax,rax + mov r8,QWORD[((-128))+rdx] + mov r9,QWORD[((-120))+rdx] + mov r10,QWORD[((-112))+rdx] + shl r8,0 + shl r9,29 + mov r11,r10 + shl r10,58 + shr r11,6 + add rax,r8 + add rax,r9 + add rax,r10 + adc r11,0 + mov QWORD[rcx],rax + mov rax,r11 + mov r8,QWORD[((-104))+rdx] + mov r9,QWORD[((-96))+rdx] + shl r8,23 + mov r10,r9 + shl r9,52 + shr r10,12 + add rax,r8 + add rax,r9 + adc r10,0 + mov QWORD[8+rcx],rax + mov rax,r10 + mov r11,QWORD[((-88))+rdx] + mov r8,QWORD[((-80))+rdx] + shl r11,17 + mov r9,r8 + shl r8,46 + shr r9,18 + add rax,r11 + add rax,r8 + adc r9,0 + mov QWORD[16+rcx],rax + mov rax,r9 + mov r10,QWORD[((-72))+rdx] + mov r11,QWORD[((-64))+rdx] + shl r10,11 + mov r8,r11 + shl r11,40 + shr r8,24 + add rax,r10 + add rax,r11 + adc r8,0 + mov QWORD[24+rcx],rax + mov rax,r8 + mov r9,QWORD[((-56))+rdx] + mov r10,QWORD[((-48))+rdx] + mov r11,QWORD[((-40))+rdx] + shl r9,5 + shl r10,34 + mov r8,r11 + shl r11,63 + shr r8,1 + add rax,r9 + add rax,r10 + add rax,r11 + adc r8,0 + mov QWORD[32+rcx],rax + mov rax,r8 + mov r9,QWORD[((-32))+rdx] + mov r10,QWORD[((-24))+rdx] + shl r9,28 + mov r11,r10 + shl r10,57 + shr r11,7 + add rax,r9 + add rax,r10 + adc r11,0 + mov QWORD[40+rcx],rax + mov rax,r11 + mov r8,QWORD[((-16))+rdx] + mov r9,QWORD[((-8))+rdx] + shl r8,22 + mov r10,r9 + shl r9,51 + shr r10,13 + add rax,r8 + add rax,r9 + adc r10,0 + mov QWORD[48+rcx],rax + mov rax,r10 + mov r11,QWORD[rdx] + mov r8,QWORD[8+rdx] + shl r11,16 + mov r9,r8 + shl r8,45 + shr r9,19 + add rax,r11 + add rax,r8 + adc r9,0 + mov QWORD[56+rcx],rax + mov rax,r9 + mov r10,QWORD[16+rdx] + mov r11,QWORD[24+rdx] + shl r10,10 + mov r8,r11 + shl r11,39 + shr r8,25 + add rax,r10 + add rax,r11 + adc r8,0 + mov QWORD[64+rcx],rax + mov rax,r8 + mov r9,QWORD[32+rdx] + mov r10,QWORD[40+rdx] + mov r11,QWORD[48+rdx] + shl r9,4 + shl r10,33 + mov r8,r11 + shl r11,62 + shr r8,2 + add rax,r9 + add rax,r10 + add rax,r11 + adc r8,0 + mov QWORD[72+rcx],rax + mov rax,r8 + mov r9,QWORD[56+rdx] + mov r10,QWORD[64+rdx] + shl r9,27 + mov r11,r10 + shl r10,56 + shr r11,8 + add rax,r9 + add rax,r10 + adc r11,0 + mov QWORD[80+rcx],rax + mov rax,r11 + mov r8,QWORD[72+rdx] + mov r9,QWORD[80+rdx] + shl r8,21 + mov r10,r9 + shl r9,50 + shr r10,14 + add rax,r8 + add rax,r9 + adc r10,0 + mov QWORD[88+rcx],rax + mov rax,r10 + mov r11,QWORD[88+rdx] + mov r8,QWORD[96+rdx] + shl r11,15 + mov r9,r8 + shl r8,44 + shr r9,20 + add rax,r11 + add rax,r8 + adc r9,0 + mov QWORD[96+rcx],rax + mov rax,r9 + mov r10,QWORD[104+rdx] + mov r11,QWORD[112+rdx] + shl r10,9 + mov r8,r11 + shl r11,38 + shr r8,26 + add rax,r10 + add rax,r11 + adc r8,0 + mov QWORD[104+rcx],rax + mov rax,r8 + mov r9,QWORD[120+rdx] + mov r10,QWORD[128+rdx] + mov r11,QWORD[136+rdx] + shl r9,3 + shl r10,32 + mov r8,r11 + shl r11,61 + shr r8,3 + add rax,r9 + add rax,r10 + add rax,r11 + adc r8,0 + mov QWORD[112+rcx],rax + mov rax,r8 + mov r9,QWORD[144+rdx] + mov r10,QWORD[152+rdx] + shl r9,26 + mov r11,r10 + shl r10,55 + shr r11,9 + add rax,r9 + add rax,r10 + adc r11,0 + mov QWORD[120+rcx],rax + mov rax,r11 + DB 0F3h,0C3h ;repret + + +global rsaz_1024_norm2red_avx2 + +ALIGN 32 +rsaz_1024_norm2red_avx2: + sub rcx,-128 + mov r8,QWORD[rdx] + mov eax,0x1fffffff + mov r9,QWORD[8+rdx] + mov r11,r8 + shr r11,0 + and r11,rax + mov QWORD[((-128))+rcx],r11 + mov r10,r8 + shr r10,29 + and r10,rax + mov QWORD[((-120))+rcx],r10 + shrd r8,r9,58 + and r8,rax + mov QWORD[((-112))+rcx],r8 + mov r10,QWORD[16+rdx] + mov r8,r9 + shr r8,23 + and r8,rax + mov QWORD[((-104))+rcx],r8 + shrd r9,r10,52 + and r9,rax + mov QWORD[((-96))+rcx],r9 + mov r11,QWORD[24+rdx] + mov r9,r10 + shr r9,17 + and r9,rax + mov QWORD[((-88))+rcx],r9 + shrd r10,r11,46 + and r10,rax + mov QWORD[((-80))+rcx],r10 + mov r8,QWORD[32+rdx] + mov r10,r11 + shr r10,11 + and r10,rax + mov QWORD[((-72))+rcx],r10 + shrd r11,r8,40 + and r11,rax + mov QWORD[((-64))+rcx],r11 + mov r9,QWORD[40+rdx] + mov r11,r8 + shr r11,5 + and r11,rax + mov QWORD[((-56))+rcx],r11 + mov r10,r8 + shr r10,34 + and r10,rax + mov QWORD[((-48))+rcx],r10 + shrd r8,r9,63 + and r8,rax + mov QWORD[((-40))+rcx],r8 + mov r10,QWORD[48+rdx] + mov r8,r9 + shr r8,28 + and r8,rax + mov QWORD[((-32))+rcx],r8 + shrd r9,r10,57 + and r9,rax + mov QWORD[((-24))+rcx],r9 + mov r11,QWORD[56+rdx] + mov r9,r10 + shr r9,22 + and r9,rax + mov QWORD[((-16))+rcx],r9 + shrd r10,r11,51 + and r10,rax + mov QWORD[((-8))+rcx],r10 + mov r8,QWORD[64+rdx] + mov r10,r11 + shr r10,16 + and r10,rax + mov QWORD[rcx],r10 + shrd r11,r8,45 + and r11,rax + mov QWORD[8+rcx],r11 + mov r9,QWORD[72+rdx] + mov r11,r8 + shr r11,10 + and r11,rax + mov QWORD[16+rcx],r11 + shrd r8,r9,39 + and r8,rax + mov QWORD[24+rcx],r8 + mov r10,QWORD[80+rdx] + mov r8,r9 + shr r8,4 + and r8,rax + mov QWORD[32+rcx],r8 + mov r11,r9 + shr r11,33 + and r11,rax + mov QWORD[40+rcx],r11 + shrd r9,r10,62 + and r9,rax + mov QWORD[48+rcx],r9 + mov r11,QWORD[88+rdx] + mov r9,r10 + shr r9,27 + and r9,rax + mov QWORD[56+rcx],r9 + shrd r10,r11,56 + and r10,rax + mov QWORD[64+rcx],r10 + mov r8,QWORD[96+rdx] + mov r10,r11 + shr r10,21 + and r10,rax + mov QWORD[72+rcx],r10 + shrd r11,r8,50 + and r11,rax + mov QWORD[80+rcx],r11 + mov r9,QWORD[104+rdx] + mov r11,r8 + shr r11,15 + and r11,rax + mov QWORD[88+rcx],r11 + shrd r8,r9,44 + and r8,rax + mov QWORD[96+rcx],r8 + mov r10,QWORD[112+rdx] + mov r8,r9 + shr r8,9 + and r8,rax + mov QWORD[104+rcx],r8 + shrd r9,r10,38 + and r9,rax + mov QWORD[112+rcx],r9 + mov r11,QWORD[120+rdx] + mov r9,r10 + shr r9,3 + and r9,rax + mov QWORD[120+rcx],r9 + mov r8,r10 + shr r8,32 + and r8,rax + mov QWORD[128+rcx],r8 + shrd r10,r11,61 + and r10,rax + mov QWORD[136+rcx],r10 + xor r8,r8 + mov r10,r11 + shr r10,26 + and r10,rax + mov QWORD[144+rcx],r10 + shrd r11,r8,55 + and r11,rax + mov QWORD[152+rcx],r11 + mov QWORD[160+rcx],r8 + mov QWORD[168+rcx],r8 + mov QWORD[176+rcx],r8 + mov QWORD[184+rcx],r8 + DB 0F3h,0C3h ;repret + +global rsaz_1024_scatter5_avx2 + +ALIGN 32 +rsaz_1024_scatter5_avx2: + vzeroupper + vmovdqu ymm5,YMMWORD[$L$scatter_permd] + shl r8d,4 + lea rcx,[r8*1+rcx] + mov eax,9 + jmp NEAR $L$oop_scatter_1024 + +ALIGN 32 +$L$oop_scatter_1024: + vmovdqu ymm0,YMMWORD[rdx] + lea rdx,[32+rdx] + vpermd ymm0,ymm5,ymm0 + vmovdqu XMMWORD[rcx],xmm0 + lea rcx,[512+rcx] + dec eax + jnz NEAR $L$oop_scatter_1024 + + vzeroupper + DB 0F3h,0C3h ;repret + + +global rsaz_1024_gather5_avx2 + +ALIGN 32 +rsaz_1024_gather5_avx2: + vzeroupper + mov r11,rsp + lea rax,[((-136))+rsp] +$L$SEH_begin_rsaz_1024_gather5: + +DB 0x48,0x8d,0x60,0xe0 +DB 0xc5,0xf8,0x29,0x70,0xe0 +DB 0xc5,0xf8,0x29,0x78,0xf0 +DB 0xc5,0x78,0x29,0x40,0x00 +DB 0xc5,0x78,0x29,0x48,0x10 +DB 0xc5,0x78,0x29,0x50,0x20 +DB 0xc5,0x78,0x29,0x58,0x30 +DB 0xc5,0x78,0x29,0x60,0x40 +DB 0xc5,0x78,0x29,0x68,0x50 +DB 0xc5,0x78,0x29,0x70,0x60 +DB 0xc5,0x78,0x29,0x78,0x70 + lea rsp,[((-256))+rsp] + and rsp,-32 + lea r10,[$L$inc] + lea rax,[((-128))+rsp] + + vmovd xmm4,r8d + vmovdqa ymm0,YMMWORD[r10] + vmovdqa ymm1,YMMWORD[32+r10] + vmovdqa ymm5,YMMWORD[64+r10] + vpbroadcastd ymm4,xmm4 + + vpaddd ymm2,ymm0,ymm5 + vpcmpeqd ymm0,ymm0,ymm4 + vpaddd ymm3,ymm1,ymm5 + vpcmpeqd ymm1,ymm1,ymm4 + vmovdqa YMMWORD[(0+128)+rax],ymm0 + vpaddd ymm0,ymm2,ymm5 + vpcmpeqd ymm2,ymm2,ymm4 + vmovdqa YMMWORD[(32+128)+rax],ymm1 + vpaddd ymm1,ymm3,ymm5 + vpcmpeqd ymm3,ymm3,ymm4 + vmovdqa YMMWORD[(64+128)+rax],ymm2 + vpaddd ymm2,ymm0,ymm5 + vpcmpeqd ymm0,ymm0,ymm4 + vmovdqa YMMWORD[(96+128)+rax],ymm3 + vpaddd ymm3,ymm1,ymm5 + vpcmpeqd ymm1,ymm1,ymm4 + vmovdqa YMMWORD[(128+128)+rax],ymm0 + vpaddd ymm8,ymm2,ymm5 + vpcmpeqd ymm2,ymm2,ymm4 + vmovdqa YMMWORD[(160+128)+rax],ymm1 + vpaddd ymm9,ymm3,ymm5 + vpcmpeqd ymm3,ymm3,ymm4 + vmovdqa YMMWORD[(192+128)+rax],ymm2 + vpaddd ymm10,ymm8,ymm5 + vpcmpeqd ymm8,ymm8,ymm4 + vmovdqa YMMWORD[(224+128)+rax],ymm3 + vpaddd ymm11,ymm9,ymm5 + vpcmpeqd ymm9,ymm9,ymm4 + vpaddd ymm12,ymm10,ymm5 + vpcmpeqd ymm10,ymm10,ymm4 + vpaddd ymm13,ymm11,ymm5 + vpcmpeqd ymm11,ymm11,ymm4 + vpaddd ymm14,ymm12,ymm5 + vpcmpeqd ymm12,ymm12,ymm4 + vpaddd ymm15,ymm13,ymm5 + vpcmpeqd ymm13,ymm13,ymm4 + vpcmpeqd ymm14,ymm14,ymm4 + vpcmpeqd ymm15,ymm15,ymm4 + + vmovdqa ymm7,YMMWORD[((-32))+r10] + lea rdx,[128+rdx] + mov r8d,9 + +$L$oop_gather_1024: + vmovdqa ymm0,YMMWORD[((0-128))+rdx] + vmovdqa ymm1,YMMWORD[((32-128))+rdx] + vmovdqa ymm2,YMMWORD[((64-128))+rdx] + vmovdqa ymm3,YMMWORD[((96-128))+rdx] + vpand ymm0,ymm0,YMMWORD[((0+128))+rax] + vpand ymm1,ymm1,YMMWORD[((32+128))+rax] + vpand ymm2,ymm2,YMMWORD[((64+128))+rax] + vpor ymm4,ymm1,ymm0 + vpand ymm3,ymm3,YMMWORD[((96+128))+rax] + vmovdqa ymm0,YMMWORD[((128-128))+rdx] + vmovdqa ymm1,YMMWORD[((160-128))+rdx] + vpor ymm5,ymm3,ymm2 + vmovdqa ymm2,YMMWORD[((192-128))+rdx] + vmovdqa ymm3,YMMWORD[((224-128))+rdx] + vpand ymm0,ymm0,YMMWORD[((128+128))+rax] + vpand ymm1,ymm1,YMMWORD[((160+128))+rax] + vpand ymm2,ymm2,YMMWORD[((192+128))+rax] + vpor ymm4,ymm4,ymm0 + vpand ymm3,ymm3,YMMWORD[((224+128))+rax] + vpand ymm0,ymm8,YMMWORD[((256-128))+rdx] + vpor ymm5,ymm5,ymm1 + vpand ymm1,ymm9,YMMWORD[((288-128))+rdx] + vpor ymm4,ymm4,ymm2 + vpand ymm2,ymm10,YMMWORD[((320-128))+rdx] + vpor ymm5,ymm5,ymm3 + vpand ymm3,ymm11,YMMWORD[((352-128))+rdx] + vpor ymm4,ymm4,ymm0 + vpand ymm0,ymm12,YMMWORD[((384-128))+rdx] + vpor ymm5,ymm5,ymm1 + vpand ymm1,ymm13,YMMWORD[((416-128))+rdx] + vpor ymm4,ymm4,ymm2 + vpand ymm2,ymm14,YMMWORD[((448-128))+rdx] + vpor ymm5,ymm5,ymm3 + vpand ymm3,ymm15,YMMWORD[((480-128))+rdx] + lea rdx,[512+rdx] + vpor ymm4,ymm4,ymm0 + vpor ymm5,ymm5,ymm1 + vpor ymm4,ymm4,ymm2 + vpor ymm5,ymm5,ymm3 + + vpor ymm4,ymm4,ymm5 + vextracti128 xmm5,ymm4,1 + vpor xmm5,xmm5,xmm4 + vpermd ymm5,ymm7,ymm5 + vmovdqu YMMWORD[rcx],ymm5 + lea rcx,[32+rcx] + dec r8d + jnz NEAR $L$oop_gather_1024 + + vpxor ymm0,ymm0,ymm0 + vmovdqu YMMWORD[rcx],ymm0 + vzeroupper + movaps xmm6,XMMWORD[((-168))+r11] + movaps xmm7,XMMWORD[((-152))+r11] + movaps xmm8,XMMWORD[((-136))+r11] + movaps xmm9,XMMWORD[((-120))+r11] + movaps xmm10,XMMWORD[((-104))+r11] + movaps xmm11,XMMWORD[((-88))+r11] + movaps xmm12,XMMWORD[((-72))+r11] + movaps xmm13,XMMWORD[((-56))+r11] + movaps xmm14,XMMWORD[((-40))+r11] + movaps xmm15,XMMWORD[((-24))+r11] +$L$SEH_end_rsaz_1024_gather5: + lea rsp,[r11] + DB 0F3h,0C3h ;repret + +EXTERN OPENSSL_ia32cap_P +global rsaz_avx2_eligible + +ALIGN 32 +rsaz_avx2_eligible: + mov eax,DWORD[((OPENSSL_ia32cap_P+8))] + mov ecx,524544 + mov edx,0 + and ecx,eax + cmp ecx,524544 + cmove eax,edx + and eax,32 + shr eax,5 + DB 0F3h,0C3h ;repret + + +ALIGN 64 +$L$and_mask: + DQ 0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff +$L$scatter_permd: + DD 0,2,4,6,7,7,7,7 +$L$gather_permd: + DD 0,7,1,7,2,7,3,7 +$L$inc: + DD 0,0,0,0,1,1,1,1 + DD 2,2,2,2,3,3,3,3 + DD 4,4,4,4,4,4,4,4 +ALIGN 64 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +rsaz_se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + mov rax,QWORD[160+r8] + + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + mov QWORD[240+r8],r15 + mov QWORD[232+r8],r14 + mov QWORD[224+r8],r13 + mov QWORD[216+r8],r12 + mov QWORD[160+r8],rbp + mov QWORD[144+r8],rbx + + lea rsi,[((-216))+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + +$L$common_seh_tail: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_rsaz_1024_sqr_avx2 wrt ..imagebase + DD $L$SEH_end_rsaz_1024_sqr_avx2 wrt ..imagebase + DD $L$SEH_info_rsaz_1024_sqr_avx2 wrt ..imagebase + + DD $L$SEH_begin_rsaz_1024_mul_avx2 wrt ..imagebase + DD $L$SEH_end_rsaz_1024_mul_avx2 wrt ..imagebase + DD $L$SEH_info_rsaz_1024_mul_avx2 wrt ..imagebase + + DD $L$SEH_begin_rsaz_1024_gather5 wrt ..imagebase + DD $L$SEH_end_rsaz_1024_gather5 wrt ..imagebase + DD $L$SEH_info_rsaz_1024_gather5 wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_rsaz_1024_sqr_avx2: +DB 9,0,0,0 + DD rsaz_se_handler wrt ..imagebase + DD $L$sqr_1024_body wrt ..imagebase,$L$sqr_1024_epilogue wrt ..imagebase +$L$SEH_info_rsaz_1024_mul_avx2: +DB 9,0,0,0 + DD rsaz_se_handler wrt ..imagebase + DD $L$mul_1024_body wrt ..imagebase,$L$mul_1024_epilogue wrt ..imagebase +$L$SEH_info_rsaz_1024_gather5: +DB 0x01,0x36,0x17,0x0b +DB 0x36,0xf8,0x09,0x00 +DB 0x31,0xe8,0x08,0x00 +DB 0x2c,0xd8,0x07,0x00 +DB 0x27,0xc8,0x06,0x00 +DB 0x22,0xb8,0x05,0x00 +DB 0x1d,0xa8,0x04,0x00 +DB 0x18,0x98,0x03,0x00 +DB 0x13,0x88,0x02,0x00 +DB 0x0e,0x78,0x01,0x00 +DB 0x09,0x68,0x00,0x00 +DB 0x04,0x01,0x15,0x00 +DB 0x00,0xb3,0x00,0x00 diff --git a/tmp64/rsaz-x86_64.asm b/tmp64/rsaz-x86_64.asm index b6384fc4..060de6b7 100644 --- a/tmp64/rsaz-x86_64.asm +++ b/tmp64/rsaz-x86_64.asm @@ -1,2149 +1,2149 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN OPENSSL_ia32cap_P - -global rsaz_512_sqr - -ALIGN 32 -rsaz_512_sqr: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_rsaz_512_sqr: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - sub rsp,128+24 -$L$sqr_body: - mov rbp,rdx - mov rdx,QWORD[rsi] - mov rax,QWORD[8+rsi] - mov QWORD[128+rsp],rcx - mov r11d,0x80100 - and r11d,DWORD[((OPENSSL_ia32cap_P+8))] - cmp r11d,0x80100 - je NEAR $L$oop_sqrx - jmp NEAR $L$oop_sqr - -ALIGN 32 -$L$oop_sqr: - mov DWORD[((128+8))+rsp],r8d - - mov rbx,rdx - mul rdx - mov r8,rax - mov rax,QWORD[16+rsi] - mov r9,rdx - - mul rbx - add r9,rax - mov rax,QWORD[24+rsi] - mov r10,rdx - adc r10,0 - - mul rbx - add r10,rax - mov rax,QWORD[32+rsi] - mov r11,rdx - adc r11,0 - - mul rbx - add r11,rax - mov rax,QWORD[40+rsi] - mov r12,rdx - adc r12,0 - - mul rbx - add r12,rax - mov rax,QWORD[48+rsi] - mov r13,rdx - adc r13,0 - - mul rbx - add r13,rax - mov rax,QWORD[56+rsi] - mov r14,rdx - adc r14,0 - - mul rbx - add r14,rax - mov rax,rbx - mov r15,rdx - adc r15,0 - - add r8,r8 - mov rcx,r9 - adc r9,r9 - - mul rax - mov QWORD[rsp],rax - add r8,rdx - adc r9,0 - - mov QWORD[8+rsp],r8 - shr rcx,63 - - - mov r8,QWORD[8+rsi] - mov rax,QWORD[16+rsi] - mul r8 - add r10,rax - mov rax,QWORD[24+rsi] - mov rbx,rdx - adc rbx,0 - - mul r8 - add r11,rax - mov rax,QWORD[32+rsi] - adc rdx,0 - add r11,rbx - mov rbx,rdx - adc rbx,0 - - mul r8 - add r12,rax - mov rax,QWORD[40+rsi] - adc rdx,0 - add r12,rbx - mov rbx,rdx - adc rbx,0 - - mul r8 - add r13,rax - mov rax,QWORD[48+rsi] - adc rdx,0 - add r13,rbx - mov rbx,rdx - adc rbx,0 - - mul r8 - add r14,rax - mov rax,QWORD[56+rsi] - adc rdx,0 - add r14,rbx - mov rbx,rdx - adc rbx,0 - - mul r8 - add r15,rax - mov rax,r8 - adc rdx,0 - add r15,rbx - mov r8,rdx - mov rdx,r10 - adc r8,0 - - add rdx,rdx - lea r10,[r10*2+rcx] - mov rbx,r11 - adc r11,r11 - - mul rax - add r9,rax - adc r10,rdx - adc r11,0 - - mov QWORD[16+rsp],r9 - mov QWORD[24+rsp],r10 - shr rbx,63 - - - mov r9,QWORD[16+rsi] - mov rax,QWORD[24+rsi] - mul r9 - add r12,rax - mov rax,QWORD[32+rsi] - mov rcx,rdx - adc rcx,0 - - mul r9 - add r13,rax - mov rax,QWORD[40+rsi] - adc rdx,0 - add r13,rcx - mov rcx,rdx - adc rcx,0 - - mul r9 - add r14,rax - mov rax,QWORD[48+rsi] - adc rdx,0 - add r14,rcx - mov rcx,rdx - adc rcx,0 - - mul r9 - mov r10,r12 - lea r12,[r12*2+rbx] - add r15,rax - mov rax,QWORD[56+rsi] - adc rdx,0 - add r15,rcx - mov rcx,rdx - adc rcx,0 - - mul r9 - shr r10,63 - add r8,rax - mov rax,r9 - adc rdx,0 - add r8,rcx - mov r9,rdx - adc r9,0 - - mov rcx,r13 - lea r13,[r13*2+r10] - - mul rax - add r11,rax - adc r12,rdx - adc r13,0 - - mov QWORD[32+rsp],r11 - mov QWORD[40+rsp],r12 - shr rcx,63 - - - mov r10,QWORD[24+rsi] - mov rax,QWORD[32+rsi] - mul r10 - add r14,rax - mov rax,QWORD[40+rsi] - mov rbx,rdx - adc rbx,0 - - mul r10 - add r15,rax - mov rax,QWORD[48+rsi] - adc rdx,0 - add r15,rbx - mov rbx,rdx - adc rbx,0 - - mul r10 - mov r12,r14 - lea r14,[r14*2+rcx] - add r8,rax - mov rax,QWORD[56+rsi] - adc rdx,0 - add r8,rbx - mov rbx,rdx - adc rbx,0 - - mul r10 - shr r12,63 - add r9,rax - mov rax,r10 - adc rdx,0 - add r9,rbx - mov r10,rdx - adc r10,0 - - mov rbx,r15 - lea r15,[r15*2+r12] - - mul rax - add r13,rax - adc r14,rdx - adc r15,0 - - mov QWORD[48+rsp],r13 - mov QWORD[56+rsp],r14 - shr rbx,63 - - - mov r11,QWORD[32+rsi] - mov rax,QWORD[40+rsi] - mul r11 - add r8,rax - mov rax,QWORD[48+rsi] - mov rcx,rdx - adc rcx,0 - - mul r11 - add r9,rax - mov rax,QWORD[56+rsi] - adc rdx,0 - mov r12,r8 - lea r8,[r8*2+rbx] - add r9,rcx - mov rcx,rdx - adc rcx,0 - - mul r11 - shr r12,63 - add r10,rax - mov rax,r11 - adc rdx,0 - add r10,rcx - mov r11,rdx - adc r11,0 - - mov rcx,r9 - lea r9,[r9*2+r12] - - mul rax - add r15,rax - adc r8,rdx - adc r9,0 - - mov QWORD[64+rsp],r15 - mov QWORD[72+rsp],r8 - shr rcx,63 - - - mov r12,QWORD[40+rsi] - mov rax,QWORD[48+rsi] - mul r12 - add r10,rax - mov rax,QWORD[56+rsi] - mov rbx,rdx - adc rbx,0 - - mul r12 - add r11,rax - mov rax,r12 - mov r15,r10 - lea r10,[r10*2+rcx] - adc rdx,0 - shr r15,63 - add r11,rbx - mov r12,rdx - adc r12,0 - - mov rbx,r11 - lea r11,[r11*2+r15] - - mul rax - add r9,rax - adc r10,rdx - adc r11,0 - - mov QWORD[80+rsp],r9 - mov QWORD[88+rsp],r10 - - - mov r13,QWORD[48+rsi] - mov rax,QWORD[56+rsi] - mul r13 - add r12,rax - mov rax,r13 - mov r13,rdx - adc r13,0 - - xor r14,r14 - shl rbx,1 - adc r12,r12 - adc r13,r13 - adc r14,r14 - - mul rax - add r11,rax - adc r12,rdx - adc r13,0 - - mov QWORD[96+rsp],r11 - mov QWORD[104+rsp],r12 - - - mov rax,QWORD[56+rsi] - mul rax - add r13,rax - adc rdx,0 - - add r14,rdx - - mov QWORD[112+rsp],r13 - mov QWORD[120+rsp],r14 - - mov r8,QWORD[rsp] - mov r9,QWORD[8+rsp] - mov r10,QWORD[16+rsp] - mov r11,QWORD[24+rsp] - mov r12,QWORD[32+rsp] - mov r13,QWORD[40+rsp] - mov r14,QWORD[48+rsp] - mov r15,QWORD[56+rsp] - - call __rsaz_512_reduce - - add r8,QWORD[64+rsp] - adc r9,QWORD[72+rsp] - adc r10,QWORD[80+rsp] - adc r11,QWORD[88+rsp] - adc r12,QWORD[96+rsp] - adc r13,QWORD[104+rsp] - adc r14,QWORD[112+rsp] - adc r15,QWORD[120+rsp] - sbb rcx,rcx - - call __rsaz_512_subtract - - mov rdx,r8 - mov rax,r9 - mov r8d,DWORD[((128+8))+rsp] - mov rsi,rdi - - dec r8d - jnz NEAR $L$oop_sqr - jmp NEAR $L$sqr_tail - -ALIGN 32 -$L$oop_sqrx: - mov DWORD[((128+8))+rsp],r8d -DB 102,72,15,110,199 -DB 102,72,15,110,205 - - mulx r9,r8,rax - - mulx r10,rcx,QWORD[16+rsi] - xor rbp,rbp - - mulx r11,rax,QWORD[24+rsi] - adcx r9,rcx - - mulx r12,rcx,QWORD[32+rsi] - adcx r10,rax - - mulx r13,rax,QWORD[40+rsi] - adcx r11,rcx - -DB 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 - adcx r12,rax - adcx r13,rcx - -DB 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 - adcx r14,rax - adcx r15,rbp - - mov rcx,r9 - shld r9,r8,1 - shl r8,1 - - xor ebp,ebp - mulx rdx,rax,rdx - adcx r8,rdx - mov rdx,QWORD[8+rsi] - adcx r9,rbp - - mov QWORD[rsp],rax - mov QWORD[8+rsp],r8 - - - mulx rbx,rax,QWORD[16+rsi] - adox r10,rax - adcx r11,rbx - -DB 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 - adox r11,rdi - adcx r12,r8 - - mulx rbx,rax,QWORD[32+rsi] - adox r12,rax - adcx r13,rbx - - mulx r8,rdi,QWORD[40+rsi] - adox r13,rdi - adcx r14,r8 - -DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x30,0x00,0x00,0x00 - adox r14,rax - adcx r15,rbx - -DB 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 - adox r15,rdi - adcx r8,rbp - adox r8,rbp - - mov rbx,r11 - shld r11,r10,1 - shld r10,rcx,1 - - xor ebp,ebp - mulx rcx,rax,rdx - mov rdx,QWORD[16+rsi] - adcx r9,rax - adcx r10,rcx - adcx r11,rbp - - mov QWORD[16+rsp],r9 -DB 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 - - -DB 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 - adox r12,rdi - adcx r13,r9 - - mulx rcx,rax,QWORD[32+rsi] - adox r13,rax - adcx r14,rcx - - mulx r9,rdi,QWORD[40+rsi] - adox r14,rdi - adcx r15,r9 - -DB 0xc4,0xe2,0xfb,0xf6,0x8e,0x30,0x00,0x00,0x00 - adox r15,rax - adcx r8,rcx - -DB 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 - adox r8,rdi - adcx r9,rbp - adox r9,rbp - - mov rcx,r13 - shld r13,r12,1 - shld r12,rbx,1 - - xor ebp,ebp - mulx rdx,rax,rdx - adcx r11,rax - adcx r12,rdx - mov rdx,QWORD[24+rsi] - adcx r13,rbp - - mov QWORD[32+rsp],r11 -DB 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 - - -DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 - adox r14,rax - adcx r15,rbx - - mulx r10,rdi,QWORD[40+rsi] - adox r15,rdi - adcx r8,r10 - - mulx rbx,rax,QWORD[48+rsi] - adox r8,rax - adcx r9,rbx - - mulx r10,rdi,QWORD[56+rsi] - adox r9,rdi - adcx r10,rbp - adox r10,rbp - -DB 0x66 - mov rbx,r15 - shld r15,r14,1 - shld r14,rcx,1 - - xor ebp,ebp - mulx rdx,rax,rdx - adcx r13,rax - adcx r14,rdx - mov rdx,QWORD[32+rsi] - adcx r15,rbp - - mov QWORD[48+rsp],r13 - mov QWORD[56+rsp],r14 - - -DB 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 - adox r8,rdi - adcx r9,r11 - - mulx rcx,rax,QWORD[48+rsi] - adox r9,rax - adcx r10,rcx - - mulx r11,rdi,QWORD[56+rsi] - adox r10,rdi - adcx r11,rbp - adox r11,rbp - - mov rcx,r9 - shld r9,r8,1 - shld r8,rbx,1 - - xor ebp,ebp - mulx rdx,rax,rdx - adcx r15,rax - adcx r8,rdx - mov rdx,QWORD[40+rsi] - adcx r9,rbp - - mov QWORD[64+rsp],r15 - mov QWORD[72+rsp],r8 - - -DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x30,0x00,0x00,0x00 - adox r10,rax - adcx r11,rbx - -DB 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 - adox r11,rdi - adcx r12,rbp - adox r12,rbp - - mov rbx,r11 - shld r11,r10,1 - shld r10,rcx,1 - - xor ebp,ebp - mulx rdx,rax,rdx - adcx r9,rax - adcx r10,rdx - mov rdx,QWORD[48+rsi] - adcx r11,rbp - - mov QWORD[80+rsp],r9 - mov QWORD[88+rsp],r10 - - -DB 0xc4,0x62,0xfb,0xf6,0xae,0x38,0x00,0x00,0x00 - adox r12,rax - adox r13,rbp - - xor r14,r14 - shld r14,r13,1 - shld r13,r12,1 - shld r12,rbx,1 - - xor ebp,ebp - mulx rdx,rax,rdx - adcx r11,rax - adcx r12,rdx - mov rdx,QWORD[56+rsi] - adcx r13,rbp - -DB 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 -DB 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 - - - mulx rdx,rax,rdx - adox r13,rax - adox rdx,rbp - -DB 0x66 - add r14,rdx - - mov QWORD[112+rsp],r13 - mov QWORD[120+rsp],r14 -DB 102,72,15,126,199 -DB 102,72,15,126,205 - - mov rdx,QWORD[128+rsp] - mov r8,QWORD[rsp] - mov r9,QWORD[8+rsp] - mov r10,QWORD[16+rsp] - mov r11,QWORD[24+rsp] - mov r12,QWORD[32+rsp] - mov r13,QWORD[40+rsp] - mov r14,QWORD[48+rsp] - mov r15,QWORD[56+rsp] - - call __rsaz_512_reducex - - add r8,QWORD[64+rsp] - adc r9,QWORD[72+rsp] - adc r10,QWORD[80+rsp] - adc r11,QWORD[88+rsp] - adc r12,QWORD[96+rsp] - adc r13,QWORD[104+rsp] - adc r14,QWORD[112+rsp] - adc r15,QWORD[120+rsp] - sbb rcx,rcx - - call __rsaz_512_subtract - - mov rdx,r8 - mov rax,r9 - mov r8d,DWORD[((128+8))+rsp] - mov rsi,rdi - - dec r8d - jnz NEAR $L$oop_sqrx - -$L$sqr_tail: - - lea rax,[((128+24+48))+rsp] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$sqr_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_sqr: -global rsaz_512_mul - -ALIGN 32 -rsaz_512_mul: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_rsaz_512_mul: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - sub rsp,128+24 -$L$mul_body: -DB 102,72,15,110,199 -DB 102,72,15,110,201 - mov QWORD[128+rsp],r8 - mov r11d,0x80100 - and r11d,DWORD[((OPENSSL_ia32cap_P+8))] - cmp r11d,0x80100 - je NEAR $L$mulx - mov rbx,QWORD[rdx] - mov rbp,rdx - call __rsaz_512_mul - -DB 102,72,15,126,199 -DB 102,72,15,126,205 - - mov r8,QWORD[rsp] - mov r9,QWORD[8+rsp] - mov r10,QWORD[16+rsp] - mov r11,QWORD[24+rsp] - mov r12,QWORD[32+rsp] - mov r13,QWORD[40+rsp] - mov r14,QWORD[48+rsp] - mov r15,QWORD[56+rsp] - - call __rsaz_512_reduce - jmp NEAR $L$mul_tail - -ALIGN 32 -$L$mulx: - mov rbp,rdx - mov rdx,QWORD[rdx] - call __rsaz_512_mulx - -DB 102,72,15,126,199 -DB 102,72,15,126,205 - - mov rdx,QWORD[128+rsp] - mov r8,QWORD[rsp] - mov r9,QWORD[8+rsp] - mov r10,QWORD[16+rsp] - mov r11,QWORD[24+rsp] - mov r12,QWORD[32+rsp] - mov r13,QWORD[40+rsp] - mov r14,QWORD[48+rsp] - mov r15,QWORD[56+rsp] - - call __rsaz_512_reducex -$L$mul_tail: - add r8,QWORD[64+rsp] - adc r9,QWORD[72+rsp] - adc r10,QWORD[80+rsp] - adc r11,QWORD[88+rsp] - adc r12,QWORD[96+rsp] - adc r13,QWORD[104+rsp] - adc r14,QWORD[112+rsp] - adc r15,QWORD[120+rsp] - sbb rcx,rcx - - call __rsaz_512_subtract - - lea rax,[((128+24+48))+rsp] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$mul_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_mul: -global rsaz_512_mul_gather4 - -ALIGN 32 -rsaz_512_mul_gather4: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_rsaz_512_mul_gather4: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - sub rsp,328 - movaps XMMWORD[160+rsp],xmm6 - movaps XMMWORD[176+rsp],xmm7 - movaps XMMWORD[192+rsp],xmm8 - movaps XMMWORD[208+rsp],xmm9 - movaps XMMWORD[224+rsp],xmm10 - movaps XMMWORD[240+rsp],xmm11 - movaps XMMWORD[256+rsp],xmm12 - movaps XMMWORD[272+rsp],xmm13 - movaps XMMWORD[288+rsp],xmm14 - movaps XMMWORD[304+rsp],xmm15 -$L$mul_gather4_body: - movd xmm8,r9d - movdqa xmm1,XMMWORD[(($L$inc+16))] - movdqa xmm0,XMMWORD[$L$inc] - - pshufd xmm8,xmm8,0 - movdqa xmm7,xmm1 - movdqa xmm2,xmm1 - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm8 - movdqa xmm3,xmm7 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm8 - movdqa xmm4,xmm7 - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm8 - movdqa xmm5,xmm7 - paddd xmm4,xmm3 - pcmpeqd xmm3,xmm8 - movdqa xmm6,xmm7 - paddd xmm5,xmm4 - pcmpeqd xmm4,xmm8 - paddd xmm6,xmm5 - pcmpeqd xmm5,xmm8 - paddd xmm7,xmm6 - pcmpeqd xmm6,xmm8 - pcmpeqd xmm7,xmm8 - - movdqa xmm8,XMMWORD[rdx] - movdqa xmm9,XMMWORD[16+rdx] - movdqa xmm10,XMMWORD[32+rdx] - movdqa xmm11,XMMWORD[48+rdx] - pand xmm8,xmm0 - movdqa xmm12,XMMWORD[64+rdx] - pand xmm9,xmm1 - movdqa xmm13,XMMWORD[80+rdx] - pand xmm10,xmm2 - movdqa xmm14,XMMWORD[96+rdx] - pand xmm11,xmm3 - movdqa xmm15,XMMWORD[112+rdx] - lea rbp,[128+rdx] - pand xmm12,xmm4 - pand xmm13,xmm5 - pand xmm14,xmm6 - pand xmm15,xmm7 - por xmm8,xmm10 - por xmm9,xmm11 - por xmm8,xmm12 - por xmm9,xmm13 - por xmm8,xmm14 - por xmm9,xmm15 - - por xmm8,xmm9 - pshufd xmm9,xmm8,0x4e - por xmm8,xmm9 - mov r11d,0x80100 - and r11d,DWORD[((OPENSSL_ia32cap_P+8))] - cmp r11d,0x80100 - je NEAR $L$mulx_gather -DB 102,76,15,126,195 - - mov QWORD[128+rsp],r8 - mov QWORD[((128+8))+rsp],rdi - mov QWORD[((128+16))+rsp],rcx - - mov rax,QWORD[rsi] - mov rcx,QWORD[8+rsi] - mul rbx - mov QWORD[rsp],rax - mov rax,rcx - mov r8,rdx - - mul rbx - add r8,rax - mov rax,QWORD[16+rsi] - mov r9,rdx - adc r9,0 - - mul rbx - add r9,rax - mov rax,QWORD[24+rsi] - mov r10,rdx - adc r10,0 - - mul rbx - add r10,rax - mov rax,QWORD[32+rsi] - mov r11,rdx - adc r11,0 - - mul rbx - add r11,rax - mov rax,QWORD[40+rsi] - mov r12,rdx - adc r12,0 - - mul rbx - add r12,rax - mov rax,QWORD[48+rsi] - mov r13,rdx - adc r13,0 - - mul rbx - add r13,rax - mov rax,QWORD[56+rsi] - mov r14,rdx - adc r14,0 - - mul rbx - add r14,rax - mov rax,QWORD[rsi] - mov r15,rdx - adc r15,0 - - lea rdi,[8+rsp] - mov ecx,7 - jmp NEAR $L$oop_mul_gather - -ALIGN 32 -$L$oop_mul_gather: - movdqa xmm8,XMMWORD[rbp] - movdqa xmm9,XMMWORD[16+rbp] - movdqa xmm10,XMMWORD[32+rbp] - movdqa xmm11,XMMWORD[48+rbp] - pand xmm8,xmm0 - movdqa xmm12,XMMWORD[64+rbp] - pand xmm9,xmm1 - movdqa xmm13,XMMWORD[80+rbp] - pand xmm10,xmm2 - movdqa xmm14,XMMWORD[96+rbp] - pand xmm11,xmm3 - movdqa xmm15,XMMWORD[112+rbp] - lea rbp,[128+rbp] - pand xmm12,xmm4 - pand xmm13,xmm5 - pand xmm14,xmm6 - pand xmm15,xmm7 - por xmm8,xmm10 - por xmm9,xmm11 - por xmm8,xmm12 - por xmm9,xmm13 - por xmm8,xmm14 - por xmm9,xmm15 - - por xmm8,xmm9 - pshufd xmm9,xmm8,0x4e - por xmm8,xmm9 -DB 102,76,15,126,195 - - mul rbx - add r8,rax - mov rax,QWORD[8+rsi] - mov QWORD[rdi],r8 - mov r8,rdx - adc r8,0 - - mul rbx - add r9,rax - mov rax,QWORD[16+rsi] - adc rdx,0 - add r8,r9 - mov r9,rdx - adc r9,0 - - mul rbx - add r10,rax - mov rax,QWORD[24+rsi] - adc rdx,0 - add r9,r10 - mov r10,rdx - adc r10,0 - - mul rbx - add r11,rax - mov rax,QWORD[32+rsi] - adc rdx,0 - add r10,r11 - mov r11,rdx - adc r11,0 - - mul rbx - add r12,rax - mov rax,QWORD[40+rsi] - adc rdx,0 - add r11,r12 - mov r12,rdx - adc r12,0 - - mul rbx - add r13,rax - mov rax,QWORD[48+rsi] - adc rdx,0 - add r12,r13 - mov r13,rdx - adc r13,0 - - mul rbx - add r14,rax - mov rax,QWORD[56+rsi] - adc rdx,0 - add r13,r14 - mov r14,rdx - adc r14,0 - - mul rbx - add r15,rax - mov rax,QWORD[rsi] - adc rdx,0 - add r14,r15 - mov r15,rdx - adc r15,0 - - lea rdi,[8+rdi] - - dec ecx - jnz NEAR $L$oop_mul_gather - - mov QWORD[rdi],r8 - mov QWORD[8+rdi],r9 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - mov QWORD[32+rdi],r12 - mov QWORD[40+rdi],r13 - mov QWORD[48+rdi],r14 - mov QWORD[56+rdi],r15 - - mov rdi,QWORD[((128+8))+rsp] - mov rbp,QWORD[((128+16))+rsp] - - mov r8,QWORD[rsp] - mov r9,QWORD[8+rsp] - mov r10,QWORD[16+rsp] - mov r11,QWORD[24+rsp] - mov r12,QWORD[32+rsp] - mov r13,QWORD[40+rsp] - mov r14,QWORD[48+rsp] - mov r15,QWORD[56+rsp] - - call __rsaz_512_reduce - jmp NEAR $L$mul_gather_tail - -ALIGN 32 -$L$mulx_gather: -DB 102,76,15,126,194 - - mov QWORD[128+rsp],r8 - mov QWORD[((128+8))+rsp],rdi - mov QWORD[((128+16))+rsp],rcx - - mulx r8,rbx,QWORD[rsi] - mov QWORD[rsp],rbx - xor edi,edi - - mulx r9,rax,QWORD[8+rsi] - - mulx r10,rbx,QWORD[16+rsi] - adcx r8,rax - - mulx r11,rax,QWORD[24+rsi] - adcx r9,rbx - - mulx r12,rbx,QWORD[32+rsi] - adcx r10,rax - - mulx r13,rax,QWORD[40+rsi] - adcx r11,rbx - - mulx r14,rbx,QWORD[48+rsi] - adcx r12,rax - - mulx r15,rax,QWORD[56+rsi] - adcx r13,rbx - adcx r14,rax -DB 0x67 - mov rbx,r8 - adcx r15,rdi - - mov rcx,-7 - jmp NEAR $L$oop_mulx_gather - -ALIGN 32 -$L$oop_mulx_gather: - movdqa xmm8,XMMWORD[rbp] - movdqa xmm9,XMMWORD[16+rbp] - movdqa xmm10,XMMWORD[32+rbp] - movdqa xmm11,XMMWORD[48+rbp] - pand xmm8,xmm0 - movdqa xmm12,XMMWORD[64+rbp] - pand xmm9,xmm1 - movdqa xmm13,XMMWORD[80+rbp] - pand xmm10,xmm2 - movdqa xmm14,XMMWORD[96+rbp] - pand xmm11,xmm3 - movdqa xmm15,XMMWORD[112+rbp] - lea rbp,[128+rbp] - pand xmm12,xmm4 - pand xmm13,xmm5 - pand xmm14,xmm6 - pand xmm15,xmm7 - por xmm8,xmm10 - por xmm9,xmm11 - por xmm8,xmm12 - por xmm9,xmm13 - por xmm8,xmm14 - por xmm9,xmm15 - - por xmm8,xmm9 - pshufd xmm9,xmm8,0x4e - por xmm8,xmm9 -DB 102,76,15,126,194 - -DB 0xc4,0x62,0xfb,0xf6,0x86,0x00,0x00,0x00,0x00 - adcx rbx,rax - adox r8,r9 - - mulx r9,rax,QWORD[8+rsi] - adcx r8,rax - adox r9,r10 - - mulx r10,rax,QWORD[16+rsi] - adcx r9,rax - adox r10,r11 - -DB 0xc4,0x62,0xfb,0xf6,0x9e,0x18,0x00,0x00,0x00 - adcx r10,rax - adox r11,r12 - - mulx r12,rax,QWORD[32+rsi] - adcx r11,rax - adox r12,r13 - - mulx r13,rax,QWORD[40+rsi] - adcx r12,rax - adox r13,r14 - -DB 0xc4,0x62,0xfb,0xf6,0xb6,0x30,0x00,0x00,0x00 - adcx r13,rax -DB 0x67 - adox r14,r15 - - mulx r15,rax,QWORD[56+rsi] - mov QWORD[64+rcx*8+rsp],rbx - adcx r14,rax - adox r15,rdi - mov rbx,r8 - adcx r15,rdi - - inc rcx - jnz NEAR $L$oop_mulx_gather - - mov QWORD[64+rsp],r8 - mov QWORD[((64+8))+rsp],r9 - mov QWORD[((64+16))+rsp],r10 - mov QWORD[((64+24))+rsp],r11 - mov QWORD[((64+32))+rsp],r12 - mov QWORD[((64+40))+rsp],r13 - mov QWORD[((64+48))+rsp],r14 - mov QWORD[((64+56))+rsp],r15 - - mov rdx,QWORD[128+rsp] - mov rdi,QWORD[((128+8))+rsp] - mov rbp,QWORD[((128+16))+rsp] - - mov r8,QWORD[rsp] - mov r9,QWORD[8+rsp] - mov r10,QWORD[16+rsp] - mov r11,QWORD[24+rsp] - mov r12,QWORD[32+rsp] - mov r13,QWORD[40+rsp] - mov r14,QWORD[48+rsp] - mov r15,QWORD[56+rsp] - - call __rsaz_512_reducex - -$L$mul_gather_tail: - add r8,QWORD[64+rsp] - adc r9,QWORD[72+rsp] - adc r10,QWORD[80+rsp] - adc r11,QWORD[88+rsp] - adc r12,QWORD[96+rsp] - adc r13,QWORD[104+rsp] - adc r14,QWORD[112+rsp] - adc r15,QWORD[120+rsp] - sbb rcx,rcx - - call __rsaz_512_subtract - - lea rax,[((128+24+48))+rsp] - movaps xmm6,XMMWORD[((160-200))+rax] - movaps xmm7,XMMWORD[((176-200))+rax] - movaps xmm8,XMMWORD[((192-200))+rax] - movaps xmm9,XMMWORD[((208-200))+rax] - movaps xmm10,XMMWORD[((224-200))+rax] - movaps xmm11,XMMWORD[((240-200))+rax] - movaps xmm12,XMMWORD[((256-200))+rax] - movaps xmm13,XMMWORD[((272-200))+rax] - movaps xmm14,XMMWORD[((288-200))+rax] - movaps xmm15,XMMWORD[((304-200))+rax] - lea rax,[176+rax] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$mul_gather4_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_mul_gather4: -global rsaz_512_mul_scatter4 - -ALIGN 32 -rsaz_512_mul_scatter4: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_rsaz_512_mul_scatter4: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - mov r9d,r9d - sub rsp,128+24 -$L$mul_scatter4_body: - lea r8,[r9*8+r8] -DB 102,72,15,110,199 -DB 102,72,15,110,202 -DB 102,73,15,110,208 - mov QWORD[128+rsp],rcx - - mov rbp,rdi - mov r11d,0x80100 - and r11d,DWORD[((OPENSSL_ia32cap_P+8))] - cmp r11d,0x80100 - je NEAR $L$mulx_scatter - mov rbx,QWORD[rdi] - call __rsaz_512_mul - -DB 102,72,15,126,199 -DB 102,72,15,126,205 - - mov r8,QWORD[rsp] - mov r9,QWORD[8+rsp] - mov r10,QWORD[16+rsp] - mov r11,QWORD[24+rsp] - mov r12,QWORD[32+rsp] - mov r13,QWORD[40+rsp] - mov r14,QWORD[48+rsp] - mov r15,QWORD[56+rsp] - - call __rsaz_512_reduce - jmp NEAR $L$mul_scatter_tail - -ALIGN 32 -$L$mulx_scatter: - mov rdx,QWORD[rdi] - call __rsaz_512_mulx - -DB 102,72,15,126,199 -DB 102,72,15,126,205 - - mov rdx,QWORD[128+rsp] - mov r8,QWORD[rsp] - mov r9,QWORD[8+rsp] - mov r10,QWORD[16+rsp] - mov r11,QWORD[24+rsp] - mov r12,QWORD[32+rsp] - mov r13,QWORD[40+rsp] - mov r14,QWORD[48+rsp] - mov r15,QWORD[56+rsp] - - call __rsaz_512_reducex - -$L$mul_scatter_tail: - add r8,QWORD[64+rsp] - adc r9,QWORD[72+rsp] - adc r10,QWORD[80+rsp] - adc r11,QWORD[88+rsp] - adc r12,QWORD[96+rsp] - adc r13,QWORD[104+rsp] - adc r14,QWORD[112+rsp] - adc r15,QWORD[120+rsp] -DB 102,72,15,126,214 - sbb rcx,rcx - - call __rsaz_512_subtract - - mov QWORD[rsi],r8 - mov QWORD[128+rsi],r9 - mov QWORD[256+rsi],r10 - mov QWORD[384+rsi],r11 - mov QWORD[512+rsi],r12 - mov QWORD[640+rsi],r13 - mov QWORD[768+rsi],r14 - mov QWORD[896+rsi],r15 - - lea rax,[((128+24+48))+rsp] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$mul_scatter4_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_mul_scatter4: -global rsaz_512_mul_by_one - -ALIGN 32 -rsaz_512_mul_by_one: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_rsaz_512_mul_by_one: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - sub rsp,128+24 -$L$mul_by_one_body: - mov eax,DWORD[((OPENSSL_ia32cap_P+8))] - mov rbp,rdx - mov QWORD[128+rsp],rcx - - mov r8,QWORD[rsi] - pxor xmm0,xmm0 - mov r9,QWORD[8+rsi] - mov r10,QWORD[16+rsi] - mov r11,QWORD[24+rsi] - mov r12,QWORD[32+rsi] - mov r13,QWORD[40+rsi] - mov r14,QWORD[48+rsi] - mov r15,QWORD[56+rsi] - - movdqa XMMWORD[rsp],xmm0 - movdqa XMMWORD[16+rsp],xmm0 - movdqa XMMWORD[32+rsp],xmm0 - movdqa XMMWORD[48+rsp],xmm0 - movdqa XMMWORD[64+rsp],xmm0 - movdqa XMMWORD[80+rsp],xmm0 - movdqa XMMWORD[96+rsp],xmm0 - and eax,0x80100 - cmp eax,0x80100 - je NEAR $L$by_one_callx - call __rsaz_512_reduce - jmp NEAR $L$by_one_tail -ALIGN 32 -$L$by_one_callx: - mov rdx,QWORD[128+rsp] - call __rsaz_512_reducex -$L$by_one_tail: - mov QWORD[rdi],r8 - mov QWORD[8+rdi],r9 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - mov QWORD[32+rdi],r12 - mov QWORD[40+rdi],r13 - mov QWORD[48+rdi],r14 - mov QWORD[56+rdi],r15 - - lea rax,[((128+24+48))+rsp] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$mul_by_one_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_mul_by_one: - -ALIGN 32 -__rsaz_512_reduce: - mov rbx,r8 - imul rbx,QWORD[((128+8))+rsp] - mov rax,QWORD[rbp] - mov ecx,8 - jmp NEAR $L$reduction_loop - -ALIGN 32 -$L$reduction_loop: - mul rbx - mov rax,QWORD[8+rbp] - neg r8 - mov r8,rdx - adc r8,0 - - mul rbx - add r9,rax - mov rax,QWORD[16+rbp] - adc rdx,0 - add r8,r9 - mov r9,rdx - adc r9,0 - - mul rbx - add r10,rax - mov rax,QWORD[24+rbp] - adc rdx,0 - add r9,r10 - mov r10,rdx - adc r10,0 - - mul rbx - add r11,rax - mov rax,QWORD[32+rbp] - adc rdx,0 - add r10,r11 - mov rsi,QWORD[((128+8))+rsp] - - - adc rdx,0 - mov r11,rdx - - mul rbx - add r12,rax - mov rax,QWORD[40+rbp] - adc rdx,0 - imul rsi,r8 - add r11,r12 - mov r12,rdx - adc r12,0 - - mul rbx - add r13,rax - mov rax,QWORD[48+rbp] - adc rdx,0 - add r12,r13 - mov r13,rdx - adc r13,0 - - mul rbx - add r14,rax - mov rax,QWORD[56+rbp] - adc rdx,0 - add r13,r14 - mov r14,rdx - adc r14,0 - - mul rbx - mov rbx,rsi - add r15,rax - mov rax,QWORD[rbp] - adc rdx,0 - add r14,r15 - mov r15,rdx - adc r15,0 - - dec ecx - jne NEAR $L$reduction_loop - - DB 0F3h,0C3h ;repret - - -ALIGN 32 -__rsaz_512_reducex: - - imul rdx,r8 - xor rsi,rsi - mov ecx,8 - jmp NEAR $L$reduction_loopx - -ALIGN 32 -$L$reduction_loopx: - mov rbx,r8 - mulx r8,rax,QWORD[rbp] - adcx rax,rbx - adox r8,r9 - - mulx r9,rax,QWORD[8+rbp] - adcx r8,rax - adox r9,r10 - - mulx r10,rbx,QWORD[16+rbp] - adcx r9,rbx - adox r10,r11 - - mulx r11,rbx,QWORD[24+rbp] - adcx r10,rbx - adox r11,r12 - -DB 0xc4,0x62,0xe3,0xf6,0xa5,0x20,0x00,0x00,0x00 - mov rax,rdx - mov rdx,r8 - adcx r11,rbx - adox r12,r13 - - mulx rdx,rbx,QWORD[((128+8))+rsp] - mov rdx,rax - - mulx r13,rax,QWORD[40+rbp] - adcx r12,rax - adox r13,r14 - -DB 0xc4,0x62,0xfb,0xf6,0xb5,0x30,0x00,0x00,0x00 - adcx r13,rax - adox r14,r15 - - mulx r15,rax,QWORD[56+rbp] - mov rdx,rbx - adcx r14,rax - adox r15,rsi - adcx r15,rsi - - dec ecx - jne NEAR $L$reduction_loopx - - DB 0F3h,0C3h ;repret - - -ALIGN 32 -__rsaz_512_subtract: - mov QWORD[rdi],r8 - mov QWORD[8+rdi],r9 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - mov QWORD[32+rdi],r12 - mov QWORD[40+rdi],r13 - mov QWORD[48+rdi],r14 - mov QWORD[56+rdi],r15 - - mov r8,QWORD[rbp] - mov r9,QWORD[8+rbp] - neg r8 - not r9 - and r8,rcx - mov r10,QWORD[16+rbp] - and r9,rcx - not r10 - mov r11,QWORD[24+rbp] - and r10,rcx - not r11 - mov r12,QWORD[32+rbp] - and r11,rcx - not r12 - mov r13,QWORD[40+rbp] - and r12,rcx - not r13 - mov r14,QWORD[48+rbp] - and r13,rcx - not r14 - mov r15,QWORD[56+rbp] - and r14,rcx - not r15 - and r15,rcx - - add r8,QWORD[rdi] - adc r9,QWORD[8+rdi] - adc r10,QWORD[16+rdi] - adc r11,QWORD[24+rdi] - adc r12,QWORD[32+rdi] - adc r13,QWORD[40+rdi] - adc r14,QWORD[48+rdi] - adc r15,QWORD[56+rdi] - - mov QWORD[rdi],r8 - mov QWORD[8+rdi],r9 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - mov QWORD[32+rdi],r12 - mov QWORD[40+rdi],r13 - mov QWORD[48+rdi],r14 - mov QWORD[56+rdi],r15 - - DB 0F3h,0C3h ;repret - - -ALIGN 32 -__rsaz_512_mul: - lea rdi,[8+rsp] - - mov rax,QWORD[rsi] - mul rbx - mov QWORD[rdi],rax - mov rax,QWORD[8+rsi] - mov r8,rdx - - mul rbx - add r8,rax - mov rax,QWORD[16+rsi] - mov r9,rdx - adc r9,0 - - mul rbx - add r9,rax - mov rax,QWORD[24+rsi] - mov r10,rdx - adc r10,0 - - mul rbx - add r10,rax - mov rax,QWORD[32+rsi] - mov r11,rdx - adc r11,0 - - mul rbx - add r11,rax - mov rax,QWORD[40+rsi] - mov r12,rdx - adc r12,0 - - mul rbx - add r12,rax - mov rax,QWORD[48+rsi] - mov r13,rdx - adc r13,0 - - mul rbx - add r13,rax - mov rax,QWORD[56+rsi] - mov r14,rdx - adc r14,0 - - mul rbx - add r14,rax - mov rax,QWORD[rsi] - mov r15,rdx - adc r15,0 - - lea rbp,[8+rbp] - lea rdi,[8+rdi] - - mov ecx,7 - jmp NEAR $L$oop_mul - -ALIGN 32 -$L$oop_mul: - mov rbx,QWORD[rbp] - mul rbx - add r8,rax - mov rax,QWORD[8+rsi] - mov QWORD[rdi],r8 - mov r8,rdx - adc r8,0 - - mul rbx - add r9,rax - mov rax,QWORD[16+rsi] - adc rdx,0 - add r8,r9 - mov r9,rdx - adc r9,0 - - mul rbx - add r10,rax - mov rax,QWORD[24+rsi] - adc rdx,0 - add r9,r10 - mov r10,rdx - adc r10,0 - - mul rbx - add r11,rax - mov rax,QWORD[32+rsi] - adc rdx,0 - add r10,r11 - mov r11,rdx - adc r11,0 - - mul rbx - add r12,rax - mov rax,QWORD[40+rsi] - adc rdx,0 - add r11,r12 - mov r12,rdx - adc r12,0 - - mul rbx - add r13,rax - mov rax,QWORD[48+rsi] - adc rdx,0 - add r12,r13 - mov r13,rdx - adc r13,0 - - mul rbx - add r14,rax - mov rax,QWORD[56+rsi] - adc rdx,0 - add r13,r14 - mov r14,rdx - lea rbp,[8+rbp] - adc r14,0 - - mul rbx - add r15,rax - mov rax,QWORD[rsi] - adc rdx,0 - add r14,r15 - mov r15,rdx - adc r15,0 - - lea rdi,[8+rdi] - - dec ecx - jnz NEAR $L$oop_mul - - mov QWORD[rdi],r8 - mov QWORD[8+rdi],r9 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - mov QWORD[32+rdi],r12 - mov QWORD[40+rdi],r13 - mov QWORD[48+rdi],r14 - mov QWORD[56+rdi],r15 - - DB 0F3h,0C3h ;repret - - -ALIGN 32 -__rsaz_512_mulx: - mulx r8,rbx,QWORD[rsi] - mov rcx,-6 - - mulx r9,rax,QWORD[8+rsi] - mov QWORD[8+rsp],rbx - - mulx r10,rbx,QWORD[16+rsi] - adc r8,rax - - mulx r11,rax,QWORD[24+rsi] - adc r9,rbx - - mulx r12,rbx,QWORD[32+rsi] - adc r10,rax - - mulx r13,rax,QWORD[40+rsi] - adc r11,rbx - - mulx r14,rbx,QWORD[48+rsi] - adc r12,rax - - mulx r15,rax,QWORD[56+rsi] - mov rdx,QWORD[8+rbp] - adc r13,rbx - adc r14,rax - adc r15,0 - - xor rdi,rdi - jmp NEAR $L$oop_mulx - -ALIGN 32 -$L$oop_mulx: - mov rbx,r8 - mulx r8,rax,QWORD[rsi] - adcx rbx,rax - adox r8,r9 - - mulx r9,rax,QWORD[8+rsi] - adcx r8,rax - adox r9,r10 - - mulx r10,rax,QWORD[16+rsi] - adcx r9,rax - adox r10,r11 - - mulx r11,rax,QWORD[24+rsi] - adcx r10,rax - adox r11,r12 - -DB 0x3e,0xc4,0x62,0xfb,0xf6,0xa6,0x20,0x00,0x00,0x00 - adcx r11,rax - adox r12,r13 - - mulx r13,rax,QWORD[40+rsi] - adcx r12,rax - adox r13,r14 - - mulx r14,rax,QWORD[48+rsi] - adcx r13,rax - adox r14,r15 - - mulx r15,rax,QWORD[56+rsi] - mov rdx,QWORD[64+rcx*8+rbp] - mov QWORD[((8+64-8))+rcx*8+rsp],rbx - adcx r14,rax - adox r15,rdi - adcx r15,rdi - - inc rcx - jnz NEAR $L$oop_mulx - - mov rbx,r8 - mulx r8,rax,QWORD[rsi] - adcx rbx,rax - adox r8,r9 - -DB 0xc4,0x62,0xfb,0xf6,0x8e,0x08,0x00,0x00,0x00 - adcx r8,rax - adox r9,r10 - -DB 0xc4,0x62,0xfb,0xf6,0x96,0x10,0x00,0x00,0x00 - adcx r9,rax - adox r10,r11 - - mulx r11,rax,QWORD[24+rsi] - adcx r10,rax - adox r11,r12 - - mulx r12,rax,QWORD[32+rsi] - adcx r11,rax - adox r12,r13 - - mulx r13,rax,QWORD[40+rsi] - adcx r12,rax - adox r13,r14 - -DB 0xc4,0x62,0xfb,0xf6,0xb6,0x30,0x00,0x00,0x00 - adcx r13,rax - adox r14,r15 - -DB 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 - adcx r14,rax - adox r15,rdi - adcx r15,rdi - - mov QWORD[((8+64-8))+rsp],rbx - mov QWORD[((8+64))+rsp],r8 - mov QWORD[((8+64+8))+rsp],r9 - mov QWORD[((8+64+16))+rsp],r10 - mov QWORD[((8+64+24))+rsp],r11 - mov QWORD[((8+64+32))+rsp],r12 - mov QWORD[((8+64+40))+rsp],r13 - mov QWORD[((8+64+48))+rsp],r14 - mov QWORD[((8+64+56))+rsp],r15 - - DB 0F3h,0C3h ;repret - -global rsaz_512_scatter4 - -ALIGN 16 -rsaz_512_scatter4: - lea rcx,[r8*8+rcx] - mov r9d,8 - jmp NEAR $L$oop_scatter -ALIGN 16 -$L$oop_scatter: - mov rax,QWORD[rdx] - lea rdx,[8+rdx] - mov QWORD[rcx],rax - lea rcx,[128+rcx] - dec r9d - jnz NEAR $L$oop_scatter - DB 0F3h,0C3h ;repret - - -global rsaz_512_gather4 - -ALIGN 16 -rsaz_512_gather4: -$L$SEH_begin_rsaz_512_gather4: -DB 0x48,0x81,0xec,0xa8,0x00,0x00,0x00 -DB 0x0f,0x29,0x34,0x24 -DB 0x0f,0x29,0x7c,0x24,0x10 -DB 0x44,0x0f,0x29,0x44,0x24,0x20 -DB 0x44,0x0f,0x29,0x4c,0x24,0x30 -DB 0x44,0x0f,0x29,0x54,0x24,0x40 -DB 0x44,0x0f,0x29,0x5c,0x24,0x50 -DB 0x44,0x0f,0x29,0x64,0x24,0x60 -DB 0x44,0x0f,0x29,0x6c,0x24,0x70 -DB 0x44,0x0f,0x29,0xb4,0x24,0x80,0,0,0 -DB 0x44,0x0f,0x29,0xbc,0x24,0x90,0,0,0 - movd xmm8,r8d - movdqa xmm1,XMMWORD[(($L$inc+16))] - movdqa xmm0,XMMWORD[$L$inc] - - pshufd xmm8,xmm8,0 - movdqa xmm7,xmm1 - movdqa xmm2,xmm1 - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm8 - movdqa xmm3,xmm7 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm8 - movdqa xmm4,xmm7 - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm8 - movdqa xmm5,xmm7 - paddd xmm4,xmm3 - pcmpeqd xmm3,xmm8 - movdqa xmm6,xmm7 - paddd xmm5,xmm4 - pcmpeqd xmm4,xmm8 - paddd xmm6,xmm5 - pcmpeqd xmm5,xmm8 - paddd xmm7,xmm6 - pcmpeqd xmm6,xmm8 - pcmpeqd xmm7,xmm8 - mov r9d,8 - jmp NEAR $L$oop_gather -ALIGN 16 -$L$oop_gather: - movdqa xmm8,XMMWORD[rdx] - movdqa xmm9,XMMWORD[16+rdx] - movdqa xmm10,XMMWORD[32+rdx] - movdqa xmm11,XMMWORD[48+rdx] - pand xmm8,xmm0 - movdqa xmm12,XMMWORD[64+rdx] - pand xmm9,xmm1 - movdqa xmm13,XMMWORD[80+rdx] - pand xmm10,xmm2 - movdqa xmm14,XMMWORD[96+rdx] - pand xmm11,xmm3 - movdqa xmm15,XMMWORD[112+rdx] - lea rdx,[128+rdx] - pand xmm12,xmm4 - pand xmm13,xmm5 - pand xmm14,xmm6 - pand xmm15,xmm7 - por xmm8,xmm10 - por xmm9,xmm11 - por xmm8,xmm12 - por xmm9,xmm13 - por xmm8,xmm14 - por xmm9,xmm15 - - por xmm8,xmm9 - pshufd xmm9,xmm8,0x4e - por xmm8,xmm9 - movq QWORD[rcx],xmm8 - lea rcx,[8+rcx] - dec r9d - jnz NEAR $L$oop_gather - movaps xmm6,XMMWORD[rsp] - movaps xmm7,XMMWORD[16+rsp] - movaps xmm8,XMMWORD[32+rsp] - movaps xmm9,XMMWORD[48+rsp] - movaps xmm10,XMMWORD[64+rsp] - movaps xmm11,XMMWORD[80+rsp] - movaps xmm12,XMMWORD[96+rsp] - movaps xmm13,XMMWORD[112+rsp] - movaps xmm14,XMMWORD[128+rsp] - movaps xmm15,XMMWORD[144+rsp] - add rsp,0xa8 - DB 0F3h,0C3h ;repret -$L$SEH_end_rsaz_512_gather4: - - -ALIGN 64 -$L$inc: - DD 0,0,1,1 - DD 2,2,2,2 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - lea rax,[((128+24+48))+rax] - - lea rbx,[$L$mul_gather4_epilogue] - cmp rbx,r10 - jne NEAR $L$se_not_in_mul_gather4 - - lea rax,[176+rax] - - lea rsi,[((-48-168))+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - -$L$se_not_in_mul_gather4: - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$common_seh_tail: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_rsaz_512_sqr wrt ..imagebase - DD $L$SEH_end_rsaz_512_sqr wrt ..imagebase - DD $L$SEH_info_rsaz_512_sqr wrt ..imagebase - - DD $L$SEH_begin_rsaz_512_mul wrt ..imagebase - DD $L$SEH_end_rsaz_512_mul wrt ..imagebase - DD $L$SEH_info_rsaz_512_mul wrt ..imagebase - - DD $L$SEH_begin_rsaz_512_mul_gather4 wrt ..imagebase - DD $L$SEH_end_rsaz_512_mul_gather4 wrt ..imagebase - DD $L$SEH_info_rsaz_512_mul_gather4 wrt ..imagebase - - DD $L$SEH_begin_rsaz_512_mul_scatter4 wrt ..imagebase - DD $L$SEH_end_rsaz_512_mul_scatter4 wrt ..imagebase - DD $L$SEH_info_rsaz_512_mul_scatter4 wrt ..imagebase - - DD $L$SEH_begin_rsaz_512_mul_by_one wrt ..imagebase - DD $L$SEH_end_rsaz_512_mul_by_one wrt ..imagebase - DD $L$SEH_info_rsaz_512_mul_by_one wrt ..imagebase - - DD $L$SEH_begin_rsaz_512_gather4 wrt ..imagebase - DD $L$SEH_end_rsaz_512_gather4 wrt ..imagebase - DD $L$SEH_info_rsaz_512_gather4 wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_rsaz_512_sqr: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$sqr_body wrt ..imagebase,$L$sqr_epilogue wrt ..imagebase -$L$SEH_info_rsaz_512_mul: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase -$L$SEH_info_rsaz_512_mul_gather4: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$mul_gather4_body wrt ..imagebase,$L$mul_gather4_epilogue wrt ..imagebase -$L$SEH_info_rsaz_512_mul_scatter4: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$mul_scatter4_body wrt ..imagebase,$L$mul_scatter4_epilogue wrt ..imagebase -$L$SEH_info_rsaz_512_mul_by_one: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$mul_by_one_body wrt ..imagebase,$L$mul_by_one_epilogue wrt ..imagebase -$L$SEH_info_rsaz_512_gather4: -DB 0x01,0x46,0x16,0x00 -DB 0x46,0xf8,0x09,0x00 -DB 0x3d,0xe8,0x08,0x00 -DB 0x34,0xd8,0x07,0x00 -DB 0x2e,0xc8,0x06,0x00 -DB 0x28,0xb8,0x05,0x00 -DB 0x22,0xa8,0x04,0x00 -DB 0x1c,0x98,0x03,0x00 -DB 0x16,0x88,0x02,0x00 -DB 0x10,0x78,0x01,0x00 -DB 0x0b,0x68,0x00,0x00 -DB 0x07,0x01,0x15,0x00 +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +EXTERN OPENSSL_ia32cap_P + +global rsaz_512_sqr + +ALIGN 32 +rsaz_512_sqr: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_rsaz_512_sqr: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + + sub rsp,128+24 +$L$sqr_body: + mov rbp,rdx + mov rdx,QWORD[rsi] + mov rax,QWORD[8+rsi] + mov QWORD[128+rsp],rcx + mov r11d,0x80100 + and r11d,DWORD[((OPENSSL_ia32cap_P+8))] + cmp r11d,0x80100 + je NEAR $L$oop_sqrx + jmp NEAR $L$oop_sqr + +ALIGN 32 +$L$oop_sqr: + mov DWORD[((128+8))+rsp],r8d + + mov rbx,rdx + mul rdx + mov r8,rax + mov rax,QWORD[16+rsi] + mov r9,rdx + + mul rbx + add r9,rax + mov rax,QWORD[24+rsi] + mov r10,rdx + adc r10,0 + + mul rbx + add r10,rax + mov rax,QWORD[32+rsi] + mov r11,rdx + adc r11,0 + + mul rbx + add r11,rax + mov rax,QWORD[40+rsi] + mov r12,rdx + adc r12,0 + + mul rbx + add r12,rax + mov rax,QWORD[48+rsi] + mov r13,rdx + adc r13,0 + + mul rbx + add r13,rax + mov rax,QWORD[56+rsi] + mov r14,rdx + adc r14,0 + + mul rbx + add r14,rax + mov rax,rbx + mov r15,rdx + adc r15,0 + + add r8,r8 + mov rcx,r9 + adc r9,r9 + + mul rax + mov QWORD[rsp],rax + add r8,rdx + adc r9,0 + + mov QWORD[8+rsp],r8 + shr rcx,63 + + + mov r8,QWORD[8+rsi] + mov rax,QWORD[16+rsi] + mul r8 + add r10,rax + mov rax,QWORD[24+rsi] + mov rbx,rdx + adc rbx,0 + + mul r8 + add r11,rax + mov rax,QWORD[32+rsi] + adc rdx,0 + add r11,rbx + mov rbx,rdx + adc rbx,0 + + mul r8 + add r12,rax + mov rax,QWORD[40+rsi] + adc rdx,0 + add r12,rbx + mov rbx,rdx + adc rbx,0 + + mul r8 + add r13,rax + mov rax,QWORD[48+rsi] + adc rdx,0 + add r13,rbx + mov rbx,rdx + adc rbx,0 + + mul r8 + add r14,rax + mov rax,QWORD[56+rsi] + adc rdx,0 + add r14,rbx + mov rbx,rdx + adc rbx,0 + + mul r8 + add r15,rax + mov rax,r8 + adc rdx,0 + add r15,rbx + mov r8,rdx + mov rdx,r10 + adc r8,0 + + add rdx,rdx + lea r10,[r10*2+rcx] + mov rbx,r11 + adc r11,r11 + + mul rax + add r9,rax + adc r10,rdx + adc r11,0 + + mov QWORD[16+rsp],r9 + mov QWORD[24+rsp],r10 + shr rbx,63 + + + mov r9,QWORD[16+rsi] + mov rax,QWORD[24+rsi] + mul r9 + add r12,rax + mov rax,QWORD[32+rsi] + mov rcx,rdx + adc rcx,0 + + mul r9 + add r13,rax + mov rax,QWORD[40+rsi] + adc rdx,0 + add r13,rcx + mov rcx,rdx + adc rcx,0 + + mul r9 + add r14,rax + mov rax,QWORD[48+rsi] + adc rdx,0 + add r14,rcx + mov rcx,rdx + adc rcx,0 + + mul r9 + mov r10,r12 + lea r12,[r12*2+rbx] + add r15,rax + mov rax,QWORD[56+rsi] + adc rdx,0 + add r15,rcx + mov rcx,rdx + adc rcx,0 + + mul r9 + shr r10,63 + add r8,rax + mov rax,r9 + adc rdx,0 + add r8,rcx + mov r9,rdx + adc r9,0 + + mov rcx,r13 + lea r13,[r13*2+r10] + + mul rax + add r11,rax + adc r12,rdx + adc r13,0 + + mov QWORD[32+rsp],r11 + mov QWORD[40+rsp],r12 + shr rcx,63 + + + mov r10,QWORD[24+rsi] + mov rax,QWORD[32+rsi] + mul r10 + add r14,rax + mov rax,QWORD[40+rsi] + mov rbx,rdx + adc rbx,0 + + mul r10 + add r15,rax + mov rax,QWORD[48+rsi] + adc rdx,0 + add r15,rbx + mov rbx,rdx + adc rbx,0 + + mul r10 + mov r12,r14 + lea r14,[r14*2+rcx] + add r8,rax + mov rax,QWORD[56+rsi] + adc rdx,0 + add r8,rbx + mov rbx,rdx + adc rbx,0 + + mul r10 + shr r12,63 + add r9,rax + mov rax,r10 + adc rdx,0 + add r9,rbx + mov r10,rdx + adc r10,0 + + mov rbx,r15 + lea r15,[r15*2+r12] + + mul rax + add r13,rax + adc r14,rdx + adc r15,0 + + mov QWORD[48+rsp],r13 + mov QWORD[56+rsp],r14 + shr rbx,63 + + + mov r11,QWORD[32+rsi] + mov rax,QWORD[40+rsi] + mul r11 + add r8,rax + mov rax,QWORD[48+rsi] + mov rcx,rdx + adc rcx,0 + + mul r11 + add r9,rax + mov rax,QWORD[56+rsi] + adc rdx,0 + mov r12,r8 + lea r8,[r8*2+rbx] + add r9,rcx + mov rcx,rdx + adc rcx,0 + + mul r11 + shr r12,63 + add r10,rax + mov rax,r11 + adc rdx,0 + add r10,rcx + mov r11,rdx + adc r11,0 + + mov rcx,r9 + lea r9,[r9*2+r12] + + mul rax + add r15,rax + adc r8,rdx + adc r9,0 + + mov QWORD[64+rsp],r15 + mov QWORD[72+rsp],r8 + shr rcx,63 + + + mov r12,QWORD[40+rsi] + mov rax,QWORD[48+rsi] + mul r12 + add r10,rax + mov rax,QWORD[56+rsi] + mov rbx,rdx + adc rbx,0 + + mul r12 + add r11,rax + mov rax,r12 + mov r15,r10 + lea r10,[r10*2+rcx] + adc rdx,0 + shr r15,63 + add r11,rbx + mov r12,rdx + adc r12,0 + + mov rbx,r11 + lea r11,[r11*2+r15] + + mul rax + add r9,rax + adc r10,rdx + adc r11,0 + + mov QWORD[80+rsp],r9 + mov QWORD[88+rsp],r10 + + + mov r13,QWORD[48+rsi] + mov rax,QWORD[56+rsi] + mul r13 + add r12,rax + mov rax,r13 + mov r13,rdx + adc r13,0 + + xor r14,r14 + shl rbx,1 + adc r12,r12 + adc r13,r13 + adc r14,r14 + + mul rax + add r11,rax + adc r12,rdx + adc r13,0 + + mov QWORD[96+rsp],r11 + mov QWORD[104+rsp],r12 + + + mov rax,QWORD[56+rsi] + mul rax + add r13,rax + adc rdx,0 + + add r14,rdx + + mov QWORD[112+rsp],r13 + mov QWORD[120+rsp],r14 + + mov r8,QWORD[rsp] + mov r9,QWORD[8+rsp] + mov r10,QWORD[16+rsp] + mov r11,QWORD[24+rsp] + mov r12,QWORD[32+rsp] + mov r13,QWORD[40+rsp] + mov r14,QWORD[48+rsp] + mov r15,QWORD[56+rsp] + + call __rsaz_512_reduce + + add r8,QWORD[64+rsp] + adc r9,QWORD[72+rsp] + adc r10,QWORD[80+rsp] + adc r11,QWORD[88+rsp] + adc r12,QWORD[96+rsp] + adc r13,QWORD[104+rsp] + adc r14,QWORD[112+rsp] + adc r15,QWORD[120+rsp] + sbb rcx,rcx + + call __rsaz_512_subtract + + mov rdx,r8 + mov rax,r9 + mov r8d,DWORD[((128+8))+rsp] + mov rsi,rdi + + dec r8d + jnz NEAR $L$oop_sqr + jmp NEAR $L$sqr_tail + +ALIGN 32 +$L$oop_sqrx: + mov DWORD[((128+8))+rsp],r8d +DB 102,72,15,110,199 +DB 102,72,15,110,205 + + mulx r9,r8,rax + + mulx r10,rcx,QWORD[16+rsi] + xor rbp,rbp + + mulx r11,rax,QWORD[24+rsi] + adcx r9,rcx + + mulx r12,rcx,QWORD[32+rsi] + adcx r10,rax + + mulx r13,rax,QWORD[40+rsi] + adcx r11,rcx + +DB 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00 + adcx r12,rax + adcx r13,rcx + +DB 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + adcx r14,rax + adcx r15,rbp + + mov rcx,r9 + shld r9,r8,1 + shl r8,1 + + xor ebp,ebp + mulx rdx,rax,rdx + adcx r8,rdx + mov rdx,QWORD[8+rsi] + adcx r9,rbp + + mov QWORD[rsp],rax + mov QWORD[8+rsp],r8 + + + mulx rbx,rax,QWORD[16+rsi] + adox r10,rax + adcx r11,rbx + +DB 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00 + adox r11,rdi + adcx r12,r8 + + mulx rbx,rax,QWORD[32+rsi] + adox r12,rax + adcx r13,rbx + + mulx r8,rdi,QWORD[40+rsi] + adox r13,rdi + adcx r14,r8 + +DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x30,0x00,0x00,0x00 + adox r14,rax + adcx r15,rbx + +DB 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00 + adox r15,rdi + adcx r8,rbp + adox r8,rbp + + mov rbx,r11 + shld r11,r10,1 + shld r10,rcx,1 + + xor ebp,ebp + mulx rcx,rax,rdx + mov rdx,QWORD[16+rsi] + adcx r9,rax + adcx r10,rcx + adcx r11,rbp + + mov QWORD[16+rsp],r9 +DB 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00 + + +DB 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00 + adox r12,rdi + adcx r13,r9 + + mulx rcx,rax,QWORD[32+rsi] + adox r13,rax + adcx r14,rcx + + mulx r9,rdi,QWORD[40+rsi] + adox r14,rdi + adcx r15,r9 + +DB 0xc4,0xe2,0xfb,0xf6,0x8e,0x30,0x00,0x00,0x00 + adox r15,rax + adcx r8,rcx + +DB 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00 + adox r8,rdi + adcx r9,rbp + adox r9,rbp + + mov rcx,r13 + shld r13,r12,1 + shld r12,rbx,1 + + xor ebp,ebp + mulx rdx,rax,rdx + adcx r11,rax + adcx r12,rdx + mov rdx,QWORD[24+rsi] + adcx r13,rbp + + mov QWORD[32+rsp],r11 +DB 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00 + + +DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00 + adox r14,rax + adcx r15,rbx + + mulx r10,rdi,QWORD[40+rsi] + adox r15,rdi + adcx r8,r10 + + mulx rbx,rax,QWORD[48+rsi] + adox r8,rax + adcx r9,rbx + + mulx r10,rdi,QWORD[56+rsi] + adox r9,rdi + adcx r10,rbp + adox r10,rbp + +DB 0x66 + mov rbx,r15 + shld r15,r14,1 + shld r14,rcx,1 + + xor ebp,ebp + mulx rdx,rax,rdx + adcx r13,rax + adcx r14,rdx + mov rdx,QWORD[32+rsi] + adcx r15,rbp + + mov QWORD[48+rsp],r13 + mov QWORD[56+rsp],r14 + + +DB 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00 + adox r8,rdi + adcx r9,r11 + + mulx rcx,rax,QWORD[48+rsi] + adox r9,rax + adcx r10,rcx + + mulx r11,rdi,QWORD[56+rsi] + adox r10,rdi + adcx r11,rbp + adox r11,rbp + + mov rcx,r9 + shld r9,r8,1 + shld r8,rbx,1 + + xor ebp,ebp + mulx rdx,rax,rdx + adcx r15,rax + adcx r8,rdx + mov rdx,QWORD[40+rsi] + adcx r9,rbp + + mov QWORD[64+rsp],r15 + mov QWORD[72+rsp],r8 + + +DB 0xc4,0xe2,0xfb,0xf6,0x9e,0x30,0x00,0x00,0x00 + adox r10,rax + adcx r11,rbx + +DB 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00 + adox r11,rdi + adcx r12,rbp + adox r12,rbp + + mov rbx,r11 + shld r11,r10,1 + shld r10,rcx,1 + + xor ebp,ebp + mulx rdx,rax,rdx + adcx r9,rax + adcx r10,rdx + mov rdx,QWORD[48+rsi] + adcx r11,rbp + + mov QWORD[80+rsp],r9 + mov QWORD[88+rsp],r10 + + +DB 0xc4,0x62,0xfb,0xf6,0xae,0x38,0x00,0x00,0x00 + adox r12,rax + adox r13,rbp + + xor r14,r14 + shld r14,r13,1 + shld r13,r12,1 + shld r12,rbx,1 + + xor ebp,ebp + mulx rdx,rax,rdx + adcx r11,rax + adcx r12,rdx + mov rdx,QWORD[56+rsi] + adcx r13,rbp + +DB 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00 +DB 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00 + + + mulx rdx,rax,rdx + adox r13,rax + adox rdx,rbp + +DB 0x66 + add r14,rdx + + mov QWORD[112+rsp],r13 + mov QWORD[120+rsp],r14 +DB 102,72,15,126,199 +DB 102,72,15,126,205 + + mov rdx,QWORD[128+rsp] + mov r8,QWORD[rsp] + mov r9,QWORD[8+rsp] + mov r10,QWORD[16+rsp] + mov r11,QWORD[24+rsp] + mov r12,QWORD[32+rsp] + mov r13,QWORD[40+rsp] + mov r14,QWORD[48+rsp] + mov r15,QWORD[56+rsp] + + call __rsaz_512_reducex + + add r8,QWORD[64+rsp] + adc r9,QWORD[72+rsp] + adc r10,QWORD[80+rsp] + adc r11,QWORD[88+rsp] + adc r12,QWORD[96+rsp] + adc r13,QWORD[104+rsp] + adc r14,QWORD[112+rsp] + adc r15,QWORD[120+rsp] + sbb rcx,rcx + + call __rsaz_512_subtract + + mov rdx,r8 + mov rax,r9 + mov r8d,DWORD[((128+8))+rsp] + mov rsi,rdi + + dec r8d + jnz NEAR $L$oop_sqrx + +$L$sqr_tail: + + lea rax,[((128+24+48))+rsp] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$sqr_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_rsaz_512_sqr: +global rsaz_512_mul + +ALIGN 32 +rsaz_512_mul: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_rsaz_512_mul: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + + sub rsp,128+24 +$L$mul_body: +DB 102,72,15,110,199 +DB 102,72,15,110,201 + mov QWORD[128+rsp],r8 + mov r11d,0x80100 + and r11d,DWORD[((OPENSSL_ia32cap_P+8))] + cmp r11d,0x80100 + je NEAR $L$mulx + mov rbx,QWORD[rdx] + mov rbp,rdx + call __rsaz_512_mul + +DB 102,72,15,126,199 +DB 102,72,15,126,205 + + mov r8,QWORD[rsp] + mov r9,QWORD[8+rsp] + mov r10,QWORD[16+rsp] + mov r11,QWORD[24+rsp] + mov r12,QWORD[32+rsp] + mov r13,QWORD[40+rsp] + mov r14,QWORD[48+rsp] + mov r15,QWORD[56+rsp] + + call __rsaz_512_reduce + jmp NEAR $L$mul_tail + +ALIGN 32 +$L$mulx: + mov rbp,rdx + mov rdx,QWORD[rdx] + call __rsaz_512_mulx + +DB 102,72,15,126,199 +DB 102,72,15,126,205 + + mov rdx,QWORD[128+rsp] + mov r8,QWORD[rsp] + mov r9,QWORD[8+rsp] + mov r10,QWORD[16+rsp] + mov r11,QWORD[24+rsp] + mov r12,QWORD[32+rsp] + mov r13,QWORD[40+rsp] + mov r14,QWORD[48+rsp] + mov r15,QWORD[56+rsp] + + call __rsaz_512_reducex +$L$mul_tail: + add r8,QWORD[64+rsp] + adc r9,QWORD[72+rsp] + adc r10,QWORD[80+rsp] + adc r11,QWORD[88+rsp] + adc r12,QWORD[96+rsp] + adc r13,QWORD[104+rsp] + adc r14,QWORD[112+rsp] + adc r15,QWORD[120+rsp] + sbb rcx,rcx + + call __rsaz_512_subtract + + lea rax,[((128+24+48))+rsp] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$mul_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_rsaz_512_mul: +global rsaz_512_mul_gather4 + +ALIGN 32 +rsaz_512_mul_gather4: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_rsaz_512_mul_gather4: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + + sub rsp,328 + movaps XMMWORD[160+rsp],xmm6 + movaps XMMWORD[176+rsp],xmm7 + movaps XMMWORD[192+rsp],xmm8 + movaps XMMWORD[208+rsp],xmm9 + movaps XMMWORD[224+rsp],xmm10 + movaps XMMWORD[240+rsp],xmm11 + movaps XMMWORD[256+rsp],xmm12 + movaps XMMWORD[272+rsp],xmm13 + movaps XMMWORD[288+rsp],xmm14 + movaps XMMWORD[304+rsp],xmm15 +$L$mul_gather4_body: + movd xmm8,r9d + movdqa xmm1,XMMWORD[(($L$inc+16))] + movdqa xmm0,XMMWORD[$L$inc] + + pshufd xmm8,xmm8,0 + movdqa xmm7,xmm1 + movdqa xmm2,xmm1 + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm8 + movdqa xmm3,xmm7 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm8 + movdqa xmm4,xmm7 + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm8 + movdqa xmm5,xmm7 + paddd xmm4,xmm3 + pcmpeqd xmm3,xmm8 + movdqa xmm6,xmm7 + paddd xmm5,xmm4 + pcmpeqd xmm4,xmm8 + paddd xmm6,xmm5 + pcmpeqd xmm5,xmm8 + paddd xmm7,xmm6 + pcmpeqd xmm6,xmm8 + pcmpeqd xmm7,xmm8 + + movdqa xmm8,XMMWORD[rdx] + movdqa xmm9,XMMWORD[16+rdx] + movdqa xmm10,XMMWORD[32+rdx] + movdqa xmm11,XMMWORD[48+rdx] + pand xmm8,xmm0 + movdqa xmm12,XMMWORD[64+rdx] + pand xmm9,xmm1 + movdqa xmm13,XMMWORD[80+rdx] + pand xmm10,xmm2 + movdqa xmm14,XMMWORD[96+rdx] + pand xmm11,xmm3 + movdqa xmm15,XMMWORD[112+rdx] + lea rbp,[128+rdx] + pand xmm12,xmm4 + pand xmm13,xmm5 + pand xmm14,xmm6 + pand xmm15,xmm7 + por xmm8,xmm10 + por xmm9,xmm11 + por xmm8,xmm12 + por xmm9,xmm13 + por xmm8,xmm14 + por xmm9,xmm15 + + por xmm8,xmm9 + pshufd xmm9,xmm8,0x4e + por xmm8,xmm9 + mov r11d,0x80100 + and r11d,DWORD[((OPENSSL_ia32cap_P+8))] + cmp r11d,0x80100 + je NEAR $L$mulx_gather +DB 102,76,15,126,195 + + mov QWORD[128+rsp],r8 + mov QWORD[((128+8))+rsp],rdi + mov QWORD[((128+16))+rsp],rcx + + mov rax,QWORD[rsi] + mov rcx,QWORD[8+rsi] + mul rbx + mov QWORD[rsp],rax + mov rax,rcx + mov r8,rdx + + mul rbx + add r8,rax + mov rax,QWORD[16+rsi] + mov r9,rdx + adc r9,0 + + mul rbx + add r9,rax + mov rax,QWORD[24+rsi] + mov r10,rdx + adc r10,0 + + mul rbx + add r10,rax + mov rax,QWORD[32+rsi] + mov r11,rdx + adc r11,0 + + mul rbx + add r11,rax + mov rax,QWORD[40+rsi] + mov r12,rdx + adc r12,0 + + mul rbx + add r12,rax + mov rax,QWORD[48+rsi] + mov r13,rdx + adc r13,0 + + mul rbx + add r13,rax + mov rax,QWORD[56+rsi] + mov r14,rdx + adc r14,0 + + mul rbx + add r14,rax + mov rax,QWORD[rsi] + mov r15,rdx + adc r15,0 + + lea rdi,[8+rsp] + mov ecx,7 + jmp NEAR $L$oop_mul_gather + +ALIGN 32 +$L$oop_mul_gather: + movdqa xmm8,XMMWORD[rbp] + movdqa xmm9,XMMWORD[16+rbp] + movdqa xmm10,XMMWORD[32+rbp] + movdqa xmm11,XMMWORD[48+rbp] + pand xmm8,xmm0 + movdqa xmm12,XMMWORD[64+rbp] + pand xmm9,xmm1 + movdqa xmm13,XMMWORD[80+rbp] + pand xmm10,xmm2 + movdqa xmm14,XMMWORD[96+rbp] + pand xmm11,xmm3 + movdqa xmm15,XMMWORD[112+rbp] + lea rbp,[128+rbp] + pand xmm12,xmm4 + pand xmm13,xmm5 + pand xmm14,xmm6 + pand xmm15,xmm7 + por xmm8,xmm10 + por xmm9,xmm11 + por xmm8,xmm12 + por xmm9,xmm13 + por xmm8,xmm14 + por xmm9,xmm15 + + por xmm8,xmm9 + pshufd xmm9,xmm8,0x4e + por xmm8,xmm9 +DB 102,76,15,126,195 + + mul rbx + add r8,rax + mov rax,QWORD[8+rsi] + mov QWORD[rdi],r8 + mov r8,rdx + adc r8,0 + + mul rbx + add r9,rax + mov rax,QWORD[16+rsi] + adc rdx,0 + add r8,r9 + mov r9,rdx + adc r9,0 + + mul rbx + add r10,rax + mov rax,QWORD[24+rsi] + adc rdx,0 + add r9,r10 + mov r10,rdx + adc r10,0 + + mul rbx + add r11,rax + mov rax,QWORD[32+rsi] + adc rdx,0 + add r10,r11 + mov r11,rdx + adc r11,0 + + mul rbx + add r12,rax + mov rax,QWORD[40+rsi] + adc rdx,0 + add r11,r12 + mov r12,rdx + adc r12,0 + + mul rbx + add r13,rax + mov rax,QWORD[48+rsi] + adc rdx,0 + add r12,r13 + mov r13,rdx + adc r13,0 + + mul rbx + add r14,rax + mov rax,QWORD[56+rsi] + adc rdx,0 + add r13,r14 + mov r14,rdx + adc r14,0 + + mul rbx + add r15,rax + mov rax,QWORD[rsi] + adc rdx,0 + add r14,r15 + mov r15,rdx + adc r15,0 + + lea rdi,[8+rdi] + + dec ecx + jnz NEAR $L$oop_mul_gather + + mov QWORD[rdi],r8 + mov QWORD[8+rdi],r9 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + mov QWORD[32+rdi],r12 + mov QWORD[40+rdi],r13 + mov QWORD[48+rdi],r14 + mov QWORD[56+rdi],r15 + + mov rdi,QWORD[((128+8))+rsp] + mov rbp,QWORD[((128+16))+rsp] + + mov r8,QWORD[rsp] + mov r9,QWORD[8+rsp] + mov r10,QWORD[16+rsp] + mov r11,QWORD[24+rsp] + mov r12,QWORD[32+rsp] + mov r13,QWORD[40+rsp] + mov r14,QWORD[48+rsp] + mov r15,QWORD[56+rsp] + + call __rsaz_512_reduce + jmp NEAR $L$mul_gather_tail + +ALIGN 32 +$L$mulx_gather: +DB 102,76,15,126,194 + + mov QWORD[128+rsp],r8 + mov QWORD[((128+8))+rsp],rdi + mov QWORD[((128+16))+rsp],rcx + + mulx r8,rbx,QWORD[rsi] + mov QWORD[rsp],rbx + xor edi,edi + + mulx r9,rax,QWORD[8+rsi] + + mulx r10,rbx,QWORD[16+rsi] + adcx r8,rax + + mulx r11,rax,QWORD[24+rsi] + adcx r9,rbx + + mulx r12,rbx,QWORD[32+rsi] + adcx r10,rax + + mulx r13,rax,QWORD[40+rsi] + adcx r11,rbx + + mulx r14,rbx,QWORD[48+rsi] + adcx r12,rax + + mulx r15,rax,QWORD[56+rsi] + adcx r13,rbx + adcx r14,rax +DB 0x67 + mov rbx,r8 + adcx r15,rdi + + mov rcx,-7 + jmp NEAR $L$oop_mulx_gather + +ALIGN 32 +$L$oop_mulx_gather: + movdqa xmm8,XMMWORD[rbp] + movdqa xmm9,XMMWORD[16+rbp] + movdqa xmm10,XMMWORD[32+rbp] + movdqa xmm11,XMMWORD[48+rbp] + pand xmm8,xmm0 + movdqa xmm12,XMMWORD[64+rbp] + pand xmm9,xmm1 + movdqa xmm13,XMMWORD[80+rbp] + pand xmm10,xmm2 + movdqa xmm14,XMMWORD[96+rbp] + pand xmm11,xmm3 + movdqa xmm15,XMMWORD[112+rbp] + lea rbp,[128+rbp] + pand xmm12,xmm4 + pand xmm13,xmm5 + pand xmm14,xmm6 + pand xmm15,xmm7 + por xmm8,xmm10 + por xmm9,xmm11 + por xmm8,xmm12 + por xmm9,xmm13 + por xmm8,xmm14 + por xmm9,xmm15 + + por xmm8,xmm9 + pshufd xmm9,xmm8,0x4e + por xmm8,xmm9 +DB 102,76,15,126,194 + +DB 0xc4,0x62,0xfb,0xf6,0x86,0x00,0x00,0x00,0x00 + adcx rbx,rax + adox r8,r9 + + mulx r9,rax,QWORD[8+rsi] + adcx r8,rax + adox r9,r10 + + mulx r10,rax,QWORD[16+rsi] + adcx r9,rax + adox r10,r11 + +DB 0xc4,0x62,0xfb,0xf6,0x9e,0x18,0x00,0x00,0x00 + adcx r10,rax + adox r11,r12 + + mulx r12,rax,QWORD[32+rsi] + adcx r11,rax + adox r12,r13 + + mulx r13,rax,QWORD[40+rsi] + adcx r12,rax + adox r13,r14 + +DB 0xc4,0x62,0xfb,0xf6,0xb6,0x30,0x00,0x00,0x00 + adcx r13,rax +DB 0x67 + adox r14,r15 + + mulx r15,rax,QWORD[56+rsi] + mov QWORD[64+rcx*8+rsp],rbx + adcx r14,rax + adox r15,rdi + mov rbx,r8 + adcx r15,rdi + + inc rcx + jnz NEAR $L$oop_mulx_gather + + mov QWORD[64+rsp],r8 + mov QWORD[((64+8))+rsp],r9 + mov QWORD[((64+16))+rsp],r10 + mov QWORD[((64+24))+rsp],r11 + mov QWORD[((64+32))+rsp],r12 + mov QWORD[((64+40))+rsp],r13 + mov QWORD[((64+48))+rsp],r14 + mov QWORD[((64+56))+rsp],r15 + + mov rdx,QWORD[128+rsp] + mov rdi,QWORD[((128+8))+rsp] + mov rbp,QWORD[((128+16))+rsp] + + mov r8,QWORD[rsp] + mov r9,QWORD[8+rsp] + mov r10,QWORD[16+rsp] + mov r11,QWORD[24+rsp] + mov r12,QWORD[32+rsp] + mov r13,QWORD[40+rsp] + mov r14,QWORD[48+rsp] + mov r15,QWORD[56+rsp] + + call __rsaz_512_reducex + +$L$mul_gather_tail: + add r8,QWORD[64+rsp] + adc r9,QWORD[72+rsp] + adc r10,QWORD[80+rsp] + adc r11,QWORD[88+rsp] + adc r12,QWORD[96+rsp] + adc r13,QWORD[104+rsp] + adc r14,QWORD[112+rsp] + adc r15,QWORD[120+rsp] + sbb rcx,rcx + + call __rsaz_512_subtract + + lea rax,[((128+24+48))+rsp] + movaps xmm6,XMMWORD[((160-200))+rax] + movaps xmm7,XMMWORD[((176-200))+rax] + movaps xmm8,XMMWORD[((192-200))+rax] + movaps xmm9,XMMWORD[((208-200))+rax] + movaps xmm10,XMMWORD[((224-200))+rax] + movaps xmm11,XMMWORD[((240-200))+rax] + movaps xmm12,XMMWORD[((256-200))+rax] + movaps xmm13,XMMWORD[((272-200))+rax] + movaps xmm14,XMMWORD[((288-200))+rax] + movaps xmm15,XMMWORD[((304-200))+rax] + lea rax,[176+rax] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$mul_gather4_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_rsaz_512_mul_gather4: +global rsaz_512_mul_scatter4 + +ALIGN 32 +rsaz_512_mul_scatter4: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_rsaz_512_mul_scatter4: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + + mov r9d,r9d + sub rsp,128+24 +$L$mul_scatter4_body: + lea r8,[r9*8+r8] +DB 102,72,15,110,199 +DB 102,72,15,110,202 +DB 102,73,15,110,208 + mov QWORD[128+rsp],rcx + + mov rbp,rdi + mov r11d,0x80100 + and r11d,DWORD[((OPENSSL_ia32cap_P+8))] + cmp r11d,0x80100 + je NEAR $L$mulx_scatter + mov rbx,QWORD[rdi] + call __rsaz_512_mul + +DB 102,72,15,126,199 +DB 102,72,15,126,205 + + mov r8,QWORD[rsp] + mov r9,QWORD[8+rsp] + mov r10,QWORD[16+rsp] + mov r11,QWORD[24+rsp] + mov r12,QWORD[32+rsp] + mov r13,QWORD[40+rsp] + mov r14,QWORD[48+rsp] + mov r15,QWORD[56+rsp] + + call __rsaz_512_reduce + jmp NEAR $L$mul_scatter_tail + +ALIGN 32 +$L$mulx_scatter: + mov rdx,QWORD[rdi] + call __rsaz_512_mulx + +DB 102,72,15,126,199 +DB 102,72,15,126,205 + + mov rdx,QWORD[128+rsp] + mov r8,QWORD[rsp] + mov r9,QWORD[8+rsp] + mov r10,QWORD[16+rsp] + mov r11,QWORD[24+rsp] + mov r12,QWORD[32+rsp] + mov r13,QWORD[40+rsp] + mov r14,QWORD[48+rsp] + mov r15,QWORD[56+rsp] + + call __rsaz_512_reducex + +$L$mul_scatter_tail: + add r8,QWORD[64+rsp] + adc r9,QWORD[72+rsp] + adc r10,QWORD[80+rsp] + adc r11,QWORD[88+rsp] + adc r12,QWORD[96+rsp] + adc r13,QWORD[104+rsp] + adc r14,QWORD[112+rsp] + adc r15,QWORD[120+rsp] +DB 102,72,15,126,214 + sbb rcx,rcx + + call __rsaz_512_subtract + + mov QWORD[rsi],r8 + mov QWORD[128+rsi],r9 + mov QWORD[256+rsi],r10 + mov QWORD[384+rsi],r11 + mov QWORD[512+rsi],r12 + mov QWORD[640+rsi],r13 + mov QWORD[768+rsi],r14 + mov QWORD[896+rsi],r15 + + lea rax,[((128+24+48))+rsp] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$mul_scatter4_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_rsaz_512_mul_scatter4: +global rsaz_512_mul_by_one + +ALIGN 32 +rsaz_512_mul_by_one: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_rsaz_512_mul_by_one: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + + sub rsp,128+24 +$L$mul_by_one_body: + mov eax,DWORD[((OPENSSL_ia32cap_P+8))] + mov rbp,rdx + mov QWORD[128+rsp],rcx + + mov r8,QWORD[rsi] + pxor xmm0,xmm0 + mov r9,QWORD[8+rsi] + mov r10,QWORD[16+rsi] + mov r11,QWORD[24+rsi] + mov r12,QWORD[32+rsi] + mov r13,QWORD[40+rsi] + mov r14,QWORD[48+rsi] + mov r15,QWORD[56+rsi] + + movdqa XMMWORD[rsp],xmm0 + movdqa XMMWORD[16+rsp],xmm0 + movdqa XMMWORD[32+rsp],xmm0 + movdqa XMMWORD[48+rsp],xmm0 + movdqa XMMWORD[64+rsp],xmm0 + movdqa XMMWORD[80+rsp],xmm0 + movdqa XMMWORD[96+rsp],xmm0 + and eax,0x80100 + cmp eax,0x80100 + je NEAR $L$by_one_callx + call __rsaz_512_reduce + jmp NEAR $L$by_one_tail +ALIGN 32 +$L$by_one_callx: + mov rdx,QWORD[128+rsp] + call __rsaz_512_reducex +$L$by_one_tail: + mov QWORD[rdi],r8 + mov QWORD[8+rdi],r9 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + mov QWORD[32+rdi],r12 + mov QWORD[40+rdi],r13 + mov QWORD[48+rdi],r14 + mov QWORD[56+rdi],r15 + + lea rax,[((128+24+48))+rsp] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$mul_by_one_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_rsaz_512_mul_by_one: + +ALIGN 32 +__rsaz_512_reduce: + mov rbx,r8 + imul rbx,QWORD[((128+8))+rsp] + mov rax,QWORD[rbp] + mov ecx,8 + jmp NEAR $L$reduction_loop + +ALIGN 32 +$L$reduction_loop: + mul rbx + mov rax,QWORD[8+rbp] + neg r8 + mov r8,rdx + adc r8,0 + + mul rbx + add r9,rax + mov rax,QWORD[16+rbp] + adc rdx,0 + add r8,r9 + mov r9,rdx + adc r9,0 + + mul rbx + add r10,rax + mov rax,QWORD[24+rbp] + adc rdx,0 + add r9,r10 + mov r10,rdx + adc r10,0 + + mul rbx + add r11,rax + mov rax,QWORD[32+rbp] + adc rdx,0 + add r10,r11 + mov rsi,QWORD[((128+8))+rsp] + + + adc rdx,0 + mov r11,rdx + + mul rbx + add r12,rax + mov rax,QWORD[40+rbp] + adc rdx,0 + imul rsi,r8 + add r11,r12 + mov r12,rdx + adc r12,0 + + mul rbx + add r13,rax + mov rax,QWORD[48+rbp] + adc rdx,0 + add r12,r13 + mov r13,rdx + adc r13,0 + + mul rbx + add r14,rax + mov rax,QWORD[56+rbp] + adc rdx,0 + add r13,r14 + mov r14,rdx + adc r14,0 + + mul rbx + mov rbx,rsi + add r15,rax + mov rax,QWORD[rbp] + adc rdx,0 + add r14,r15 + mov r15,rdx + adc r15,0 + + dec ecx + jne NEAR $L$reduction_loop + + DB 0F3h,0C3h ;repret + + +ALIGN 32 +__rsaz_512_reducex: + + imul rdx,r8 + xor rsi,rsi + mov ecx,8 + jmp NEAR $L$reduction_loopx + +ALIGN 32 +$L$reduction_loopx: + mov rbx,r8 + mulx r8,rax,QWORD[rbp] + adcx rax,rbx + adox r8,r9 + + mulx r9,rax,QWORD[8+rbp] + adcx r8,rax + adox r9,r10 + + mulx r10,rbx,QWORD[16+rbp] + adcx r9,rbx + adox r10,r11 + + mulx r11,rbx,QWORD[24+rbp] + adcx r10,rbx + adox r11,r12 + +DB 0xc4,0x62,0xe3,0xf6,0xa5,0x20,0x00,0x00,0x00 + mov rax,rdx + mov rdx,r8 + adcx r11,rbx + adox r12,r13 + + mulx rdx,rbx,QWORD[((128+8))+rsp] + mov rdx,rax + + mulx r13,rax,QWORD[40+rbp] + adcx r12,rax + adox r13,r14 + +DB 0xc4,0x62,0xfb,0xf6,0xb5,0x30,0x00,0x00,0x00 + adcx r13,rax + adox r14,r15 + + mulx r15,rax,QWORD[56+rbp] + mov rdx,rbx + adcx r14,rax + adox r15,rsi + adcx r15,rsi + + dec ecx + jne NEAR $L$reduction_loopx + + DB 0F3h,0C3h ;repret + + +ALIGN 32 +__rsaz_512_subtract: + mov QWORD[rdi],r8 + mov QWORD[8+rdi],r9 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + mov QWORD[32+rdi],r12 + mov QWORD[40+rdi],r13 + mov QWORD[48+rdi],r14 + mov QWORD[56+rdi],r15 + + mov r8,QWORD[rbp] + mov r9,QWORD[8+rbp] + neg r8 + not r9 + and r8,rcx + mov r10,QWORD[16+rbp] + and r9,rcx + not r10 + mov r11,QWORD[24+rbp] + and r10,rcx + not r11 + mov r12,QWORD[32+rbp] + and r11,rcx + not r12 + mov r13,QWORD[40+rbp] + and r12,rcx + not r13 + mov r14,QWORD[48+rbp] + and r13,rcx + not r14 + mov r15,QWORD[56+rbp] + and r14,rcx + not r15 + and r15,rcx + + add r8,QWORD[rdi] + adc r9,QWORD[8+rdi] + adc r10,QWORD[16+rdi] + adc r11,QWORD[24+rdi] + adc r12,QWORD[32+rdi] + adc r13,QWORD[40+rdi] + adc r14,QWORD[48+rdi] + adc r15,QWORD[56+rdi] + + mov QWORD[rdi],r8 + mov QWORD[8+rdi],r9 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + mov QWORD[32+rdi],r12 + mov QWORD[40+rdi],r13 + mov QWORD[48+rdi],r14 + mov QWORD[56+rdi],r15 + + DB 0F3h,0C3h ;repret + + +ALIGN 32 +__rsaz_512_mul: + lea rdi,[8+rsp] + + mov rax,QWORD[rsi] + mul rbx + mov QWORD[rdi],rax + mov rax,QWORD[8+rsi] + mov r8,rdx + + mul rbx + add r8,rax + mov rax,QWORD[16+rsi] + mov r9,rdx + adc r9,0 + + mul rbx + add r9,rax + mov rax,QWORD[24+rsi] + mov r10,rdx + adc r10,0 + + mul rbx + add r10,rax + mov rax,QWORD[32+rsi] + mov r11,rdx + adc r11,0 + + mul rbx + add r11,rax + mov rax,QWORD[40+rsi] + mov r12,rdx + adc r12,0 + + mul rbx + add r12,rax + mov rax,QWORD[48+rsi] + mov r13,rdx + adc r13,0 + + mul rbx + add r13,rax + mov rax,QWORD[56+rsi] + mov r14,rdx + adc r14,0 + + mul rbx + add r14,rax + mov rax,QWORD[rsi] + mov r15,rdx + adc r15,0 + + lea rbp,[8+rbp] + lea rdi,[8+rdi] + + mov ecx,7 + jmp NEAR $L$oop_mul + +ALIGN 32 +$L$oop_mul: + mov rbx,QWORD[rbp] + mul rbx + add r8,rax + mov rax,QWORD[8+rsi] + mov QWORD[rdi],r8 + mov r8,rdx + adc r8,0 + + mul rbx + add r9,rax + mov rax,QWORD[16+rsi] + adc rdx,0 + add r8,r9 + mov r9,rdx + adc r9,0 + + mul rbx + add r10,rax + mov rax,QWORD[24+rsi] + adc rdx,0 + add r9,r10 + mov r10,rdx + adc r10,0 + + mul rbx + add r11,rax + mov rax,QWORD[32+rsi] + adc rdx,0 + add r10,r11 + mov r11,rdx + adc r11,0 + + mul rbx + add r12,rax + mov rax,QWORD[40+rsi] + adc rdx,0 + add r11,r12 + mov r12,rdx + adc r12,0 + + mul rbx + add r13,rax + mov rax,QWORD[48+rsi] + adc rdx,0 + add r12,r13 + mov r13,rdx + adc r13,0 + + mul rbx + add r14,rax + mov rax,QWORD[56+rsi] + adc rdx,0 + add r13,r14 + mov r14,rdx + lea rbp,[8+rbp] + adc r14,0 + + mul rbx + add r15,rax + mov rax,QWORD[rsi] + adc rdx,0 + add r14,r15 + mov r15,rdx + adc r15,0 + + lea rdi,[8+rdi] + + dec ecx + jnz NEAR $L$oop_mul + + mov QWORD[rdi],r8 + mov QWORD[8+rdi],r9 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + mov QWORD[32+rdi],r12 + mov QWORD[40+rdi],r13 + mov QWORD[48+rdi],r14 + mov QWORD[56+rdi],r15 + + DB 0F3h,0C3h ;repret + + +ALIGN 32 +__rsaz_512_mulx: + mulx r8,rbx,QWORD[rsi] + mov rcx,-6 + + mulx r9,rax,QWORD[8+rsi] + mov QWORD[8+rsp],rbx + + mulx r10,rbx,QWORD[16+rsi] + adc r8,rax + + mulx r11,rax,QWORD[24+rsi] + adc r9,rbx + + mulx r12,rbx,QWORD[32+rsi] + adc r10,rax + + mulx r13,rax,QWORD[40+rsi] + adc r11,rbx + + mulx r14,rbx,QWORD[48+rsi] + adc r12,rax + + mulx r15,rax,QWORD[56+rsi] + mov rdx,QWORD[8+rbp] + adc r13,rbx + adc r14,rax + adc r15,0 + + xor rdi,rdi + jmp NEAR $L$oop_mulx + +ALIGN 32 +$L$oop_mulx: + mov rbx,r8 + mulx r8,rax,QWORD[rsi] + adcx rbx,rax + adox r8,r9 + + mulx r9,rax,QWORD[8+rsi] + adcx r8,rax + adox r9,r10 + + mulx r10,rax,QWORD[16+rsi] + adcx r9,rax + adox r10,r11 + + mulx r11,rax,QWORD[24+rsi] + adcx r10,rax + adox r11,r12 + +DB 0x3e,0xc4,0x62,0xfb,0xf6,0xa6,0x20,0x00,0x00,0x00 + adcx r11,rax + adox r12,r13 + + mulx r13,rax,QWORD[40+rsi] + adcx r12,rax + adox r13,r14 + + mulx r14,rax,QWORD[48+rsi] + adcx r13,rax + adox r14,r15 + + mulx r15,rax,QWORD[56+rsi] + mov rdx,QWORD[64+rcx*8+rbp] + mov QWORD[((8+64-8))+rcx*8+rsp],rbx + adcx r14,rax + adox r15,rdi + adcx r15,rdi + + inc rcx + jnz NEAR $L$oop_mulx + + mov rbx,r8 + mulx r8,rax,QWORD[rsi] + adcx rbx,rax + adox r8,r9 + +DB 0xc4,0x62,0xfb,0xf6,0x8e,0x08,0x00,0x00,0x00 + adcx r8,rax + adox r9,r10 + +DB 0xc4,0x62,0xfb,0xf6,0x96,0x10,0x00,0x00,0x00 + adcx r9,rax + adox r10,r11 + + mulx r11,rax,QWORD[24+rsi] + adcx r10,rax + adox r11,r12 + + mulx r12,rax,QWORD[32+rsi] + adcx r11,rax + adox r12,r13 + + mulx r13,rax,QWORD[40+rsi] + adcx r12,rax + adox r13,r14 + +DB 0xc4,0x62,0xfb,0xf6,0xb6,0x30,0x00,0x00,0x00 + adcx r13,rax + adox r14,r15 + +DB 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00 + adcx r14,rax + adox r15,rdi + adcx r15,rdi + + mov QWORD[((8+64-8))+rsp],rbx + mov QWORD[((8+64))+rsp],r8 + mov QWORD[((8+64+8))+rsp],r9 + mov QWORD[((8+64+16))+rsp],r10 + mov QWORD[((8+64+24))+rsp],r11 + mov QWORD[((8+64+32))+rsp],r12 + mov QWORD[((8+64+40))+rsp],r13 + mov QWORD[((8+64+48))+rsp],r14 + mov QWORD[((8+64+56))+rsp],r15 + + DB 0F3h,0C3h ;repret + +global rsaz_512_scatter4 + +ALIGN 16 +rsaz_512_scatter4: + lea rcx,[r8*8+rcx] + mov r9d,8 + jmp NEAR $L$oop_scatter +ALIGN 16 +$L$oop_scatter: + mov rax,QWORD[rdx] + lea rdx,[8+rdx] + mov QWORD[rcx],rax + lea rcx,[128+rcx] + dec r9d + jnz NEAR $L$oop_scatter + DB 0F3h,0C3h ;repret + + +global rsaz_512_gather4 + +ALIGN 16 +rsaz_512_gather4: +$L$SEH_begin_rsaz_512_gather4: +DB 0x48,0x81,0xec,0xa8,0x00,0x00,0x00 +DB 0x0f,0x29,0x34,0x24 +DB 0x0f,0x29,0x7c,0x24,0x10 +DB 0x44,0x0f,0x29,0x44,0x24,0x20 +DB 0x44,0x0f,0x29,0x4c,0x24,0x30 +DB 0x44,0x0f,0x29,0x54,0x24,0x40 +DB 0x44,0x0f,0x29,0x5c,0x24,0x50 +DB 0x44,0x0f,0x29,0x64,0x24,0x60 +DB 0x44,0x0f,0x29,0x6c,0x24,0x70 +DB 0x44,0x0f,0x29,0xb4,0x24,0x80,0,0,0 +DB 0x44,0x0f,0x29,0xbc,0x24,0x90,0,0,0 + movd xmm8,r8d + movdqa xmm1,XMMWORD[(($L$inc+16))] + movdqa xmm0,XMMWORD[$L$inc] + + pshufd xmm8,xmm8,0 + movdqa xmm7,xmm1 + movdqa xmm2,xmm1 + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm8 + movdqa xmm3,xmm7 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm8 + movdqa xmm4,xmm7 + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm8 + movdqa xmm5,xmm7 + paddd xmm4,xmm3 + pcmpeqd xmm3,xmm8 + movdqa xmm6,xmm7 + paddd xmm5,xmm4 + pcmpeqd xmm4,xmm8 + paddd xmm6,xmm5 + pcmpeqd xmm5,xmm8 + paddd xmm7,xmm6 + pcmpeqd xmm6,xmm8 + pcmpeqd xmm7,xmm8 + mov r9d,8 + jmp NEAR $L$oop_gather +ALIGN 16 +$L$oop_gather: + movdqa xmm8,XMMWORD[rdx] + movdqa xmm9,XMMWORD[16+rdx] + movdqa xmm10,XMMWORD[32+rdx] + movdqa xmm11,XMMWORD[48+rdx] + pand xmm8,xmm0 + movdqa xmm12,XMMWORD[64+rdx] + pand xmm9,xmm1 + movdqa xmm13,XMMWORD[80+rdx] + pand xmm10,xmm2 + movdqa xmm14,XMMWORD[96+rdx] + pand xmm11,xmm3 + movdqa xmm15,XMMWORD[112+rdx] + lea rdx,[128+rdx] + pand xmm12,xmm4 + pand xmm13,xmm5 + pand xmm14,xmm6 + pand xmm15,xmm7 + por xmm8,xmm10 + por xmm9,xmm11 + por xmm8,xmm12 + por xmm9,xmm13 + por xmm8,xmm14 + por xmm9,xmm15 + + por xmm8,xmm9 + pshufd xmm9,xmm8,0x4e + por xmm8,xmm9 + movq QWORD[rcx],xmm8 + lea rcx,[8+rcx] + dec r9d + jnz NEAR $L$oop_gather + movaps xmm6,XMMWORD[rsp] + movaps xmm7,XMMWORD[16+rsp] + movaps xmm8,XMMWORD[32+rsp] + movaps xmm9,XMMWORD[48+rsp] + movaps xmm10,XMMWORD[64+rsp] + movaps xmm11,XMMWORD[80+rsp] + movaps xmm12,XMMWORD[96+rsp] + movaps xmm13,XMMWORD[112+rsp] + movaps xmm14,XMMWORD[128+rsp] + movaps xmm15,XMMWORD[144+rsp] + add rsp,0xa8 + DB 0F3h,0C3h ;repret +$L$SEH_end_rsaz_512_gather4: + + +ALIGN 64 +$L$inc: + DD 0,0,1,1 + DD 2,2,2,2 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + lea rax,[((128+24+48))+rax] + + lea rbx,[$L$mul_gather4_epilogue] + cmp rbx,r10 + jne NEAR $L$se_not_in_mul_gather4 + + lea rax,[176+rax] + + lea rsi,[((-48-168))+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + +$L$se_not_in_mul_gather4: + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$common_seh_tail: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_rsaz_512_sqr wrt ..imagebase + DD $L$SEH_end_rsaz_512_sqr wrt ..imagebase + DD $L$SEH_info_rsaz_512_sqr wrt ..imagebase + + DD $L$SEH_begin_rsaz_512_mul wrt ..imagebase + DD $L$SEH_end_rsaz_512_mul wrt ..imagebase + DD $L$SEH_info_rsaz_512_mul wrt ..imagebase + + DD $L$SEH_begin_rsaz_512_mul_gather4 wrt ..imagebase + DD $L$SEH_end_rsaz_512_mul_gather4 wrt ..imagebase + DD $L$SEH_info_rsaz_512_mul_gather4 wrt ..imagebase + + DD $L$SEH_begin_rsaz_512_mul_scatter4 wrt ..imagebase + DD $L$SEH_end_rsaz_512_mul_scatter4 wrt ..imagebase + DD $L$SEH_info_rsaz_512_mul_scatter4 wrt ..imagebase + + DD $L$SEH_begin_rsaz_512_mul_by_one wrt ..imagebase + DD $L$SEH_end_rsaz_512_mul_by_one wrt ..imagebase + DD $L$SEH_info_rsaz_512_mul_by_one wrt ..imagebase + + DD $L$SEH_begin_rsaz_512_gather4 wrt ..imagebase + DD $L$SEH_end_rsaz_512_gather4 wrt ..imagebase + DD $L$SEH_info_rsaz_512_gather4 wrt ..imagebase + +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_rsaz_512_sqr: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$sqr_body wrt ..imagebase,$L$sqr_epilogue wrt ..imagebase +$L$SEH_info_rsaz_512_mul: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase +$L$SEH_info_rsaz_512_mul_gather4: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$mul_gather4_body wrt ..imagebase,$L$mul_gather4_epilogue wrt ..imagebase +$L$SEH_info_rsaz_512_mul_scatter4: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$mul_scatter4_body wrt ..imagebase,$L$mul_scatter4_epilogue wrt ..imagebase +$L$SEH_info_rsaz_512_mul_by_one: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$mul_by_one_body wrt ..imagebase,$L$mul_by_one_epilogue wrt ..imagebase +$L$SEH_info_rsaz_512_gather4: +DB 0x01,0x46,0x16,0x00 +DB 0x46,0xf8,0x09,0x00 +DB 0x3d,0xe8,0x08,0x00 +DB 0x34,0xd8,0x07,0x00 +DB 0x2e,0xc8,0x06,0x00 +DB 0x28,0xb8,0x05,0x00 +DB 0x22,0xa8,0x04,0x00 +DB 0x1c,0x98,0x03,0x00 +DB 0x16,0x88,0x02,0x00 +DB 0x10,0x78,0x01,0x00 +DB 0x0b,0x68,0x00,0x00 +DB 0x07,0x01,0x15,0x00 diff --git a/tmp64/sha1-mb-x86_64.asm b/tmp64/sha1-mb-x86_64.asm index cfc4874e..4e903432 100644 --- a/tmp64/sha1-mb-x86_64.asm +++ b/tmp64/sha1-mb-x86_64.asm @@ -1,7528 +1,7528 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN OPENSSL_ia32cap_P - -global sha1_multi_block - -ALIGN 32 -sha1_multi_block: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha1_multi_block: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - mov rcx,QWORD[((OPENSSL_ia32cap_P+4))] - bt rcx,61 - jc NEAR _shaext_shortcut - test ecx,268435456 - jnz NEAR _avx_shortcut - mov rax,rsp - push rbx - push rbp - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[(-120)+rax],xmm10 - movaps XMMWORD[(-104)+rax],xmm11 - movaps XMMWORD[(-88)+rax],xmm12 - movaps XMMWORD[(-72)+rax],xmm13 - movaps XMMWORD[(-56)+rax],xmm14 - movaps XMMWORD[(-40)+rax],xmm15 - sub rsp,288 - and rsp,-256 - mov QWORD[272+rsp],rax -$L$body: - lea rbp,[K_XX_XX] - lea rbx,[256+rsp] - -$L$oop_grande: - mov DWORD[280+rsp],edx - xor edx,edx - mov r8,QWORD[rsi] - mov ecx,DWORD[8+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[rbx],ecx - cmovle r8,rbp - mov r9,QWORD[16+rsi] - mov ecx,DWORD[24+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[4+rbx],ecx - cmovle r9,rbp - mov r10,QWORD[32+rsi] - mov ecx,DWORD[40+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[8+rbx],ecx - cmovle r10,rbp - mov r11,QWORD[48+rsi] - mov ecx,DWORD[56+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[12+rbx],ecx - cmovle r11,rbp - test edx,edx - jz NEAR $L$done - - movdqu xmm10,XMMWORD[rdi] - lea rax,[128+rsp] - movdqu xmm11,XMMWORD[32+rdi] - movdqu xmm12,XMMWORD[64+rdi] - movdqu xmm13,XMMWORD[96+rdi] - movdqu xmm14,XMMWORD[128+rdi] - movdqa xmm5,XMMWORD[96+rbp] - movdqa xmm15,XMMWORD[((-32))+rbp] - jmp NEAR $L$oop - -ALIGN 32 -$L$oop: - movd xmm0,DWORD[r8] - lea r8,[64+r8] - movd xmm2,DWORD[r9] - lea r9,[64+r9] - movd xmm3,DWORD[r10] - lea r10,[64+r10] - movd xmm4,DWORD[r11] - lea r11,[64+r11] - punpckldq xmm0,xmm3 - movd xmm1,DWORD[((-60))+r8] - punpckldq xmm2,xmm4 - movd xmm9,DWORD[((-60))+r9] - punpckldq xmm0,xmm2 - movd xmm8,DWORD[((-60))+r10] -DB 102,15,56,0,197 - movd xmm7,DWORD[((-60))+r11] - punpckldq xmm1,xmm8 - movdqa xmm8,xmm10 - paddd xmm14,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm11 - movdqa xmm6,xmm11 - pslld xmm8,5 - pandn xmm7,xmm13 - pand xmm6,xmm12 - punpckldq xmm1,xmm9 - movdqa xmm9,xmm10 - - movdqa XMMWORD[(0-128)+rax],xmm0 - paddd xmm14,xmm0 - movd xmm2,DWORD[((-56))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm11 - - por xmm8,xmm9 - movd xmm9,DWORD[((-56))+r9] - pslld xmm7,30 - paddd xmm14,xmm6 - - psrld xmm11,2 - paddd xmm14,xmm8 -DB 102,15,56,0,205 - movd xmm8,DWORD[((-56))+r10] - por xmm11,xmm7 - movd xmm7,DWORD[((-56))+r11] - punpckldq xmm2,xmm8 - movdqa xmm8,xmm14 - paddd xmm13,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm10 - movdqa xmm6,xmm10 - pslld xmm8,5 - pandn xmm7,xmm12 - pand xmm6,xmm11 - punpckldq xmm2,xmm9 - movdqa xmm9,xmm14 - - movdqa XMMWORD[(16-128)+rax],xmm1 - paddd xmm13,xmm1 - movd xmm3,DWORD[((-52))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm10 - - por xmm8,xmm9 - movd xmm9,DWORD[((-52))+r9] - pslld xmm7,30 - paddd xmm13,xmm6 - - psrld xmm10,2 - paddd xmm13,xmm8 -DB 102,15,56,0,213 - movd xmm8,DWORD[((-52))+r10] - por xmm10,xmm7 - movd xmm7,DWORD[((-52))+r11] - punpckldq xmm3,xmm8 - movdqa xmm8,xmm13 - paddd xmm12,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm14 - movdqa xmm6,xmm14 - pslld xmm8,5 - pandn xmm7,xmm11 - pand xmm6,xmm10 - punpckldq xmm3,xmm9 - movdqa xmm9,xmm13 - - movdqa XMMWORD[(32-128)+rax],xmm2 - paddd xmm12,xmm2 - movd xmm4,DWORD[((-48))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm14 - - por xmm8,xmm9 - movd xmm9,DWORD[((-48))+r9] - pslld xmm7,30 - paddd xmm12,xmm6 - - psrld xmm14,2 - paddd xmm12,xmm8 -DB 102,15,56,0,221 - movd xmm8,DWORD[((-48))+r10] - por xmm14,xmm7 - movd xmm7,DWORD[((-48))+r11] - punpckldq xmm4,xmm8 - movdqa xmm8,xmm12 - paddd xmm11,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm13 - movdqa xmm6,xmm13 - pslld xmm8,5 - pandn xmm7,xmm10 - pand xmm6,xmm14 - punpckldq xmm4,xmm9 - movdqa xmm9,xmm12 - - movdqa XMMWORD[(48-128)+rax],xmm3 - paddd xmm11,xmm3 - movd xmm0,DWORD[((-44))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm13 - - por xmm8,xmm9 - movd xmm9,DWORD[((-44))+r9] - pslld xmm7,30 - paddd xmm11,xmm6 - - psrld xmm13,2 - paddd xmm11,xmm8 -DB 102,15,56,0,229 - movd xmm8,DWORD[((-44))+r10] - por xmm13,xmm7 - movd xmm7,DWORD[((-44))+r11] - punpckldq xmm0,xmm8 - movdqa xmm8,xmm11 - paddd xmm10,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm12 - movdqa xmm6,xmm12 - pslld xmm8,5 - pandn xmm7,xmm14 - pand xmm6,xmm13 - punpckldq xmm0,xmm9 - movdqa xmm9,xmm11 - - movdqa XMMWORD[(64-128)+rax],xmm4 - paddd xmm10,xmm4 - movd xmm1,DWORD[((-40))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm12 - - por xmm8,xmm9 - movd xmm9,DWORD[((-40))+r9] - pslld xmm7,30 - paddd xmm10,xmm6 - - psrld xmm12,2 - paddd xmm10,xmm8 -DB 102,15,56,0,197 - movd xmm8,DWORD[((-40))+r10] - por xmm12,xmm7 - movd xmm7,DWORD[((-40))+r11] - punpckldq xmm1,xmm8 - movdqa xmm8,xmm10 - paddd xmm14,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm11 - movdqa xmm6,xmm11 - pslld xmm8,5 - pandn xmm7,xmm13 - pand xmm6,xmm12 - punpckldq xmm1,xmm9 - movdqa xmm9,xmm10 - - movdqa XMMWORD[(80-128)+rax],xmm0 - paddd xmm14,xmm0 - movd xmm2,DWORD[((-36))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm11 - - por xmm8,xmm9 - movd xmm9,DWORD[((-36))+r9] - pslld xmm7,30 - paddd xmm14,xmm6 - - psrld xmm11,2 - paddd xmm14,xmm8 -DB 102,15,56,0,205 - movd xmm8,DWORD[((-36))+r10] - por xmm11,xmm7 - movd xmm7,DWORD[((-36))+r11] - punpckldq xmm2,xmm8 - movdqa xmm8,xmm14 - paddd xmm13,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm10 - movdqa xmm6,xmm10 - pslld xmm8,5 - pandn xmm7,xmm12 - pand xmm6,xmm11 - punpckldq xmm2,xmm9 - movdqa xmm9,xmm14 - - movdqa XMMWORD[(96-128)+rax],xmm1 - paddd xmm13,xmm1 - movd xmm3,DWORD[((-32))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm10 - - por xmm8,xmm9 - movd xmm9,DWORD[((-32))+r9] - pslld xmm7,30 - paddd xmm13,xmm6 - - psrld xmm10,2 - paddd xmm13,xmm8 -DB 102,15,56,0,213 - movd xmm8,DWORD[((-32))+r10] - por xmm10,xmm7 - movd xmm7,DWORD[((-32))+r11] - punpckldq xmm3,xmm8 - movdqa xmm8,xmm13 - paddd xmm12,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm14 - movdqa xmm6,xmm14 - pslld xmm8,5 - pandn xmm7,xmm11 - pand xmm6,xmm10 - punpckldq xmm3,xmm9 - movdqa xmm9,xmm13 - - movdqa XMMWORD[(112-128)+rax],xmm2 - paddd xmm12,xmm2 - movd xmm4,DWORD[((-28))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm14 - - por xmm8,xmm9 - movd xmm9,DWORD[((-28))+r9] - pslld xmm7,30 - paddd xmm12,xmm6 - - psrld xmm14,2 - paddd xmm12,xmm8 -DB 102,15,56,0,221 - movd xmm8,DWORD[((-28))+r10] - por xmm14,xmm7 - movd xmm7,DWORD[((-28))+r11] - punpckldq xmm4,xmm8 - movdqa xmm8,xmm12 - paddd xmm11,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm13 - movdqa xmm6,xmm13 - pslld xmm8,5 - pandn xmm7,xmm10 - pand xmm6,xmm14 - punpckldq xmm4,xmm9 - movdqa xmm9,xmm12 - - movdqa XMMWORD[(128-128)+rax],xmm3 - paddd xmm11,xmm3 - movd xmm0,DWORD[((-24))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm13 - - por xmm8,xmm9 - movd xmm9,DWORD[((-24))+r9] - pslld xmm7,30 - paddd xmm11,xmm6 - - psrld xmm13,2 - paddd xmm11,xmm8 -DB 102,15,56,0,229 - movd xmm8,DWORD[((-24))+r10] - por xmm13,xmm7 - movd xmm7,DWORD[((-24))+r11] - punpckldq xmm0,xmm8 - movdqa xmm8,xmm11 - paddd xmm10,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm12 - movdqa xmm6,xmm12 - pslld xmm8,5 - pandn xmm7,xmm14 - pand xmm6,xmm13 - punpckldq xmm0,xmm9 - movdqa xmm9,xmm11 - - movdqa XMMWORD[(144-128)+rax],xmm4 - paddd xmm10,xmm4 - movd xmm1,DWORD[((-20))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm12 - - por xmm8,xmm9 - movd xmm9,DWORD[((-20))+r9] - pslld xmm7,30 - paddd xmm10,xmm6 - - psrld xmm12,2 - paddd xmm10,xmm8 -DB 102,15,56,0,197 - movd xmm8,DWORD[((-20))+r10] - por xmm12,xmm7 - movd xmm7,DWORD[((-20))+r11] - punpckldq xmm1,xmm8 - movdqa xmm8,xmm10 - paddd xmm14,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm11 - movdqa xmm6,xmm11 - pslld xmm8,5 - pandn xmm7,xmm13 - pand xmm6,xmm12 - punpckldq xmm1,xmm9 - movdqa xmm9,xmm10 - - movdqa XMMWORD[(160-128)+rax],xmm0 - paddd xmm14,xmm0 - movd xmm2,DWORD[((-16))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm11 - - por xmm8,xmm9 - movd xmm9,DWORD[((-16))+r9] - pslld xmm7,30 - paddd xmm14,xmm6 - - psrld xmm11,2 - paddd xmm14,xmm8 -DB 102,15,56,0,205 - movd xmm8,DWORD[((-16))+r10] - por xmm11,xmm7 - movd xmm7,DWORD[((-16))+r11] - punpckldq xmm2,xmm8 - movdqa xmm8,xmm14 - paddd xmm13,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm10 - movdqa xmm6,xmm10 - pslld xmm8,5 - pandn xmm7,xmm12 - pand xmm6,xmm11 - punpckldq xmm2,xmm9 - movdqa xmm9,xmm14 - - movdqa XMMWORD[(176-128)+rax],xmm1 - paddd xmm13,xmm1 - movd xmm3,DWORD[((-12))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm10 - - por xmm8,xmm9 - movd xmm9,DWORD[((-12))+r9] - pslld xmm7,30 - paddd xmm13,xmm6 - - psrld xmm10,2 - paddd xmm13,xmm8 -DB 102,15,56,0,213 - movd xmm8,DWORD[((-12))+r10] - por xmm10,xmm7 - movd xmm7,DWORD[((-12))+r11] - punpckldq xmm3,xmm8 - movdqa xmm8,xmm13 - paddd xmm12,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm14 - movdqa xmm6,xmm14 - pslld xmm8,5 - pandn xmm7,xmm11 - pand xmm6,xmm10 - punpckldq xmm3,xmm9 - movdqa xmm9,xmm13 - - movdqa XMMWORD[(192-128)+rax],xmm2 - paddd xmm12,xmm2 - movd xmm4,DWORD[((-8))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm14 - - por xmm8,xmm9 - movd xmm9,DWORD[((-8))+r9] - pslld xmm7,30 - paddd xmm12,xmm6 - - psrld xmm14,2 - paddd xmm12,xmm8 -DB 102,15,56,0,221 - movd xmm8,DWORD[((-8))+r10] - por xmm14,xmm7 - movd xmm7,DWORD[((-8))+r11] - punpckldq xmm4,xmm8 - movdqa xmm8,xmm12 - paddd xmm11,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm13 - movdqa xmm6,xmm13 - pslld xmm8,5 - pandn xmm7,xmm10 - pand xmm6,xmm14 - punpckldq xmm4,xmm9 - movdqa xmm9,xmm12 - - movdqa XMMWORD[(208-128)+rax],xmm3 - paddd xmm11,xmm3 - movd xmm0,DWORD[((-4))+r8] - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm13 - - por xmm8,xmm9 - movd xmm9,DWORD[((-4))+r9] - pslld xmm7,30 - paddd xmm11,xmm6 - - psrld xmm13,2 - paddd xmm11,xmm8 -DB 102,15,56,0,229 - movd xmm8,DWORD[((-4))+r10] - por xmm13,xmm7 - movdqa xmm1,XMMWORD[((0-128))+rax] - movd xmm7,DWORD[((-4))+r11] - punpckldq xmm0,xmm8 - movdqa xmm8,xmm11 - paddd xmm10,xmm15 - punpckldq xmm9,xmm7 - movdqa xmm7,xmm12 - movdqa xmm6,xmm12 - pslld xmm8,5 - prefetcht0 [63+r8] - pandn xmm7,xmm14 - pand xmm6,xmm13 - punpckldq xmm0,xmm9 - movdqa xmm9,xmm11 - - movdqa XMMWORD[(224-128)+rax],xmm4 - paddd xmm10,xmm4 - psrld xmm9,27 - pxor xmm6,xmm7 - movdqa xmm7,xmm12 - prefetcht0 [63+r9] - - por xmm8,xmm9 - pslld xmm7,30 - paddd xmm10,xmm6 - prefetcht0 [63+r10] - - psrld xmm12,2 - paddd xmm10,xmm8 -DB 102,15,56,0,197 - prefetcht0 [63+r11] - por xmm12,xmm7 - movdqa xmm2,XMMWORD[((16-128))+rax] - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((32-128))+rax] - - movdqa xmm8,xmm10 - pxor xmm1,XMMWORD[((128-128))+rax] - paddd xmm14,xmm15 - movdqa xmm7,xmm11 - pslld xmm8,5 - pxor xmm1,xmm3 - movdqa xmm6,xmm11 - pandn xmm7,xmm13 - movdqa xmm5,xmm1 - pand xmm6,xmm12 - movdqa xmm9,xmm10 - psrld xmm5,31 - paddd xmm1,xmm1 - - movdqa XMMWORD[(240-128)+rax],xmm0 - paddd xmm14,xmm0 - psrld xmm9,27 - pxor xmm6,xmm7 - - movdqa xmm7,xmm11 - por xmm8,xmm9 - pslld xmm7,30 - paddd xmm14,xmm6 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((48-128))+rax] - - movdqa xmm8,xmm14 - pxor xmm2,XMMWORD[((144-128))+rax] - paddd xmm13,xmm15 - movdqa xmm7,xmm10 - pslld xmm8,5 - pxor xmm2,xmm4 - movdqa xmm6,xmm10 - pandn xmm7,xmm12 - movdqa xmm5,xmm2 - pand xmm6,xmm11 - movdqa xmm9,xmm14 - psrld xmm5,31 - paddd xmm2,xmm2 - - movdqa XMMWORD[(0-128)+rax],xmm1 - paddd xmm13,xmm1 - psrld xmm9,27 - pxor xmm6,xmm7 - - movdqa xmm7,xmm10 - por xmm8,xmm9 - pslld xmm7,30 - paddd xmm13,xmm6 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((64-128))+rax] - - movdqa xmm8,xmm13 - pxor xmm3,XMMWORD[((160-128))+rax] - paddd xmm12,xmm15 - movdqa xmm7,xmm14 - pslld xmm8,5 - pxor xmm3,xmm0 - movdqa xmm6,xmm14 - pandn xmm7,xmm11 - movdqa xmm5,xmm3 - pand xmm6,xmm10 - movdqa xmm9,xmm13 - psrld xmm5,31 - paddd xmm3,xmm3 - - movdqa XMMWORD[(16-128)+rax],xmm2 - paddd xmm12,xmm2 - psrld xmm9,27 - pxor xmm6,xmm7 - - movdqa xmm7,xmm14 - por xmm8,xmm9 - pslld xmm7,30 - paddd xmm12,xmm6 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((80-128))+rax] - - movdqa xmm8,xmm12 - pxor xmm4,XMMWORD[((176-128))+rax] - paddd xmm11,xmm15 - movdqa xmm7,xmm13 - pslld xmm8,5 - pxor xmm4,xmm1 - movdqa xmm6,xmm13 - pandn xmm7,xmm10 - movdqa xmm5,xmm4 - pand xmm6,xmm14 - movdqa xmm9,xmm12 - psrld xmm5,31 - paddd xmm4,xmm4 - - movdqa XMMWORD[(32-128)+rax],xmm3 - paddd xmm11,xmm3 - psrld xmm9,27 - pxor xmm6,xmm7 - - movdqa xmm7,xmm13 - por xmm8,xmm9 - pslld xmm7,30 - paddd xmm11,xmm6 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((96-128))+rax] - - movdqa xmm8,xmm11 - pxor xmm0,XMMWORD[((192-128))+rax] - paddd xmm10,xmm15 - movdqa xmm7,xmm12 - pslld xmm8,5 - pxor xmm0,xmm2 - movdqa xmm6,xmm12 - pandn xmm7,xmm14 - movdqa xmm5,xmm0 - pand xmm6,xmm13 - movdqa xmm9,xmm11 - psrld xmm5,31 - paddd xmm0,xmm0 - - movdqa XMMWORD[(48-128)+rax],xmm4 - paddd xmm10,xmm4 - psrld xmm9,27 - pxor xmm6,xmm7 - - movdqa xmm7,xmm12 - por xmm8,xmm9 - pslld xmm7,30 - paddd xmm10,xmm6 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - movdqa xmm15,XMMWORD[rbp] - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((112-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm6,xmm13 - pxor xmm1,XMMWORD[((208-128))+rax] - paddd xmm14,xmm15 - pslld xmm8,5 - pxor xmm6,xmm11 - - movdqa xmm9,xmm10 - movdqa XMMWORD[(64-128)+rax],xmm0 - paddd xmm14,xmm0 - pxor xmm1,xmm3 - psrld xmm9,27 - pxor xmm6,xmm12 - movdqa xmm7,xmm11 - - pslld xmm7,30 - movdqa xmm5,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm14,xmm6 - paddd xmm1,xmm1 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((128-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm6,xmm12 - pxor xmm2,XMMWORD[((224-128))+rax] - paddd xmm13,xmm15 - pslld xmm8,5 - pxor xmm6,xmm10 - - movdqa xmm9,xmm14 - movdqa XMMWORD[(80-128)+rax],xmm1 - paddd xmm13,xmm1 - pxor xmm2,xmm4 - psrld xmm9,27 - pxor xmm6,xmm11 - movdqa xmm7,xmm10 - - pslld xmm7,30 - movdqa xmm5,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm13,xmm6 - paddd xmm2,xmm2 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((144-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm6,xmm11 - pxor xmm3,XMMWORD[((240-128))+rax] - paddd xmm12,xmm15 - pslld xmm8,5 - pxor xmm6,xmm14 - - movdqa xmm9,xmm13 - movdqa XMMWORD[(96-128)+rax],xmm2 - paddd xmm12,xmm2 - pxor xmm3,xmm0 - psrld xmm9,27 - pxor xmm6,xmm10 - movdqa xmm7,xmm14 - - pslld xmm7,30 - movdqa xmm5,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm12,xmm6 - paddd xmm3,xmm3 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((160-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm6,xmm10 - pxor xmm4,XMMWORD[((0-128))+rax] - paddd xmm11,xmm15 - pslld xmm8,5 - pxor xmm6,xmm13 - - movdqa xmm9,xmm12 - movdqa XMMWORD[(112-128)+rax],xmm3 - paddd xmm11,xmm3 - pxor xmm4,xmm1 - psrld xmm9,27 - pxor xmm6,xmm14 - movdqa xmm7,xmm13 - - pslld xmm7,30 - movdqa xmm5,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm11,xmm6 - paddd xmm4,xmm4 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((176-128))+rax] - - movdqa xmm8,xmm11 - movdqa xmm6,xmm14 - pxor xmm0,XMMWORD[((16-128))+rax] - paddd xmm10,xmm15 - pslld xmm8,5 - pxor xmm6,xmm12 - - movdqa xmm9,xmm11 - movdqa XMMWORD[(128-128)+rax],xmm4 - paddd xmm10,xmm4 - pxor xmm0,xmm2 - psrld xmm9,27 - pxor xmm6,xmm13 - movdqa xmm7,xmm12 - - pslld xmm7,30 - movdqa xmm5,xmm0 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm10,xmm6 - paddd xmm0,xmm0 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((192-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm6,xmm13 - pxor xmm1,XMMWORD[((32-128))+rax] - paddd xmm14,xmm15 - pslld xmm8,5 - pxor xmm6,xmm11 - - movdqa xmm9,xmm10 - movdqa XMMWORD[(144-128)+rax],xmm0 - paddd xmm14,xmm0 - pxor xmm1,xmm3 - psrld xmm9,27 - pxor xmm6,xmm12 - movdqa xmm7,xmm11 - - pslld xmm7,30 - movdqa xmm5,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm14,xmm6 - paddd xmm1,xmm1 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((208-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm6,xmm12 - pxor xmm2,XMMWORD[((48-128))+rax] - paddd xmm13,xmm15 - pslld xmm8,5 - pxor xmm6,xmm10 - - movdqa xmm9,xmm14 - movdqa XMMWORD[(160-128)+rax],xmm1 - paddd xmm13,xmm1 - pxor xmm2,xmm4 - psrld xmm9,27 - pxor xmm6,xmm11 - movdqa xmm7,xmm10 - - pslld xmm7,30 - movdqa xmm5,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm13,xmm6 - paddd xmm2,xmm2 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((224-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm6,xmm11 - pxor xmm3,XMMWORD[((64-128))+rax] - paddd xmm12,xmm15 - pslld xmm8,5 - pxor xmm6,xmm14 - - movdqa xmm9,xmm13 - movdqa XMMWORD[(176-128)+rax],xmm2 - paddd xmm12,xmm2 - pxor xmm3,xmm0 - psrld xmm9,27 - pxor xmm6,xmm10 - movdqa xmm7,xmm14 - - pslld xmm7,30 - movdqa xmm5,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm12,xmm6 - paddd xmm3,xmm3 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((240-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm6,xmm10 - pxor xmm4,XMMWORD[((80-128))+rax] - paddd xmm11,xmm15 - pslld xmm8,5 - pxor xmm6,xmm13 - - movdqa xmm9,xmm12 - movdqa XMMWORD[(192-128)+rax],xmm3 - paddd xmm11,xmm3 - pxor xmm4,xmm1 - psrld xmm9,27 - pxor xmm6,xmm14 - movdqa xmm7,xmm13 - - pslld xmm7,30 - movdqa xmm5,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm11,xmm6 - paddd xmm4,xmm4 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((0-128))+rax] - - movdqa xmm8,xmm11 - movdqa xmm6,xmm14 - pxor xmm0,XMMWORD[((96-128))+rax] - paddd xmm10,xmm15 - pslld xmm8,5 - pxor xmm6,xmm12 - - movdqa xmm9,xmm11 - movdqa XMMWORD[(208-128)+rax],xmm4 - paddd xmm10,xmm4 - pxor xmm0,xmm2 - psrld xmm9,27 - pxor xmm6,xmm13 - movdqa xmm7,xmm12 - - pslld xmm7,30 - movdqa xmm5,xmm0 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm10,xmm6 - paddd xmm0,xmm0 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((16-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm6,xmm13 - pxor xmm1,XMMWORD[((112-128))+rax] - paddd xmm14,xmm15 - pslld xmm8,5 - pxor xmm6,xmm11 - - movdqa xmm9,xmm10 - movdqa XMMWORD[(224-128)+rax],xmm0 - paddd xmm14,xmm0 - pxor xmm1,xmm3 - psrld xmm9,27 - pxor xmm6,xmm12 - movdqa xmm7,xmm11 - - pslld xmm7,30 - movdqa xmm5,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm14,xmm6 - paddd xmm1,xmm1 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((32-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm6,xmm12 - pxor xmm2,XMMWORD[((128-128))+rax] - paddd xmm13,xmm15 - pslld xmm8,5 - pxor xmm6,xmm10 - - movdqa xmm9,xmm14 - movdqa XMMWORD[(240-128)+rax],xmm1 - paddd xmm13,xmm1 - pxor xmm2,xmm4 - psrld xmm9,27 - pxor xmm6,xmm11 - movdqa xmm7,xmm10 - - pslld xmm7,30 - movdqa xmm5,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm13,xmm6 - paddd xmm2,xmm2 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((48-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm6,xmm11 - pxor xmm3,XMMWORD[((144-128))+rax] - paddd xmm12,xmm15 - pslld xmm8,5 - pxor xmm6,xmm14 - - movdqa xmm9,xmm13 - movdqa XMMWORD[(0-128)+rax],xmm2 - paddd xmm12,xmm2 - pxor xmm3,xmm0 - psrld xmm9,27 - pxor xmm6,xmm10 - movdqa xmm7,xmm14 - - pslld xmm7,30 - movdqa xmm5,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm12,xmm6 - paddd xmm3,xmm3 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((64-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm6,xmm10 - pxor xmm4,XMMWORD[((160-128))+rax] - paddd xmm11,xmm15 - pslld xmm8,5 - pxor xmm6,xmm13 - - movdqa xmm9,xmm12 - movdqa XMMWORD[(16-128)+rax],xmm3 - paddd xmm11,xmm3 - pxor xmm4,xmm1 - psrld xmm9,27 - pxor xmm6,xmm14 - movdqa xmm7,xmm13 - - pslld xmm7,30 - movdqa xmm5,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm11,xmm6 - paddd xmm4,xmm4 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((80-128))+rax] - - movdqa xmm8,xmm11 - movdqa xmm6,xmm14 - pxor xmm0,XMMWORD[((176-128))+rax] - paddd xmm10,xmm15 - pslld xmm8,5 - pxor xmm6,xmm12 - - movdqa xmm9,xmm11 - movdqa XMMWORD[(32-128)+rax],xmm4 - paddd xmm10,xmm4 - pxor xmm0,xmm2 - psrld xmm9,27 - pxor xmm6,xmm13 - movdqa xmm7,xmm12 - - pslld xmm7,30 - movdqa xmm5,xmm0 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm10,xmm6 - paddd xmm0,xmm0 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((96-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm6,xmm13 - pxor xmm1,XMMWORD[((192-128))+rax] - paddd xmm14,xmm15 - pslld xmm8,5 - pxor xmm6,xmm11 - - movdqa xmm9,xmm10 - movdqa XMMWORD[(48-128)+rax],xmm0 - paddd xmm14,xmm0 - pxor xmm1,xmm3 - psrld xmm9,27 - pxor xmm6,xmm12 - movdqa xmm7,xmm11 - - pslld xmm7,30 - movdqa xmm5,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm14,xmm6 - paddd xmm1,xmm1 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((112-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm6,xmm12 - pxor xmm2,XMMWORD[((208-128))+rax] - paddd xmm13,xmm15 - pslld xmm8,5 - pxor xmm6,xmm10 - - movdqa xmm9,xmm14 - movdqa XMMWORD[(64-128)+rax],xmm1 - paddd xmm13,xmm1 - pxor xmm2,xmm4 - psrld xmm9,27 - pxor xmm6,xmm11 - movdqa xmm7,xmm10 - - pslld xmm7,30 - movdqa xmm5,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm13,xmm6 - paddd xmm2,xmm2 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((128-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm6,xmm11 - pxor xmm3,XMMWORD[((224-128))+rax] - paddd xmm12,xmm15 - pslld xmm8,5 - pxor xmm6,xmm14 - - movdqa xmm9,xmm13 - movdqa XMMWORD[(80-128)+rax],xmm2 - paddd xmm12,xmm2 - pxor xmm3,xmm0 - psrld xmm9,27 - pxor xmm6,xmm10 - movdqa xmm7,xmm14 - - pslld xmm7,30 - movdqa xmm5,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm12,xmm6 - paddd xmm3,xmm3 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((144-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm6,xmm10 - pxor xmm4,XMMWORD[((240-128))+rax] - paddd xmm11,xmm15 - pslld xmm8,5 - pxor xmm6,xmm13 - - movdqa xmm9,xmm12 - movdqa XMMWORD[(96-128)+rax],xmm3 - paddd xmm11,xmm3 - pxor xmm4,xmm1 - psrld xmm9,27 - pxor xmm6,xmm14 - movdqa xmm7,xmm13 - - pslld xmm7,30 - movdqa xmm5,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm11,xmm6 - paddd xmm4,xmm4 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((160-128))+rax] - - movdqa xmm8,xmm11 - movdqa xmm6,xmm14 - pxor xmm0,XMMWORD[((0-128))+rax] - paddd xmm10,xmm15 - pslld xmm8,5 - pxor xmm6,xmm12 - - movdqa xmm9,xmm11 - movdqa XMMWORD[(112-128)+rax],xmm4 - paddd xmm10,xmm4 - pxor xmm0,xmm2 - psrld xmm9,27 - pxor xmm6,xmm13 - movdqa xmm7,xmm12 - - pslld xmm7,30 - movdqa xmm5,xmm0 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm10,xmm6 - paddd xmm0,xmm0 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - movdqa xmm15,XMMWORD[32+rbp] - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((176-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm7,xmm13 - pxor xmm1,XMMWORD[((16-128))+rax] - pxor xmm1,xmm3 - paddd xmm14,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm10 - pand xmm7,xmm12 - - movdqa xmm6,xmm13 - movdqa xmm5,xmm1 - psrld xmm9,27 - paddd xmm14,xmm7 - pxor xmm6,xmm12 - - movdqa XMMWORD[(128-128)+rax],xmm0 - paddd xmm14,xmm0 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm11 - movdqa xmm7,xmm11 - - pslld xmm7,30 - paddd xmm1,xmm1 - paddd xmm14,xmm6 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((192-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm7,xmm12 - pxor xmm2,XMMWORD[((32-128))+rax] - pxor xmm2,xmm4 - paddd xmm13,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm14 - pand xmm7,xmm11 - - movdqa xmm6,xmm12 - movdqa xmm5,xmm2 - psrld xmm9,27 - paddd xmm13,xmm7 - pxor xmm6,xmm11 - - movdqa XMMWORD[(144-128)+rax],xmm1 - paddd xmm13,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm10 - movdqa xmm7,xmm10 - - pslld xmm7,30 - paddd xmm2,xmm2 - paddd xmm13,xmm6 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((208-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm7,xmm11 - pxor xmm3,XMMWORD[((48-128))+rax] - pxor xmm3,xmm0 - paddd xmm12,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm13 - pand xmm7,xmm10 - - movdqa xmm6,xmm11 - movdqa xmm5,xmm3 - psrld xmm9,27 - paddd xmm12,xmm7 - pxor xmm6,xmm10 - - movdqa XMMWORD[(160-128)+rax],xmm2 - paddd xmm12,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm14 - movdqa xmm7,xmm14 - - pslld xmm7,30 - paddd xmm3,xmm3 - paddd xmm12,xmm6 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((224-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm7,xmm10 - pxor xmm4,XMMWORD[((64-128))+rax] - pxor xmm4,xmm1 - paddd xmm11,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm12 - pand xmm7,xmm14 - - movdqa xmm6,xmm10 - movdqa xmm5,xmm4 - psrld xmm9,27 - paddd xmm11,xmm7 - pxor xmm6,xmm14 - - movdqa XMMWORD[(176-128)+rax],xmm3 - paddd xmm11,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm13 - movdqa xmm7,xmm13 - - pslld xmm7,30 - paddd xmm4,xmm4 - paddd xmm11,xmm6 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((240-128))+rax] - - movdqa xmm8,xmm11 - movdqa xmm7,xmm14 - pxor xmm0,XMMWORD[((80-128))+rax] - pxor xmm0,xmm2 - paddd xmm10,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm11 - pand xmm7,xmm13 - - movdqa xmm6,xmm14 - movdqa xmm5,xmm0 - psrld xmm9,27 - paddd xmm10,xmm7 - pxor xmm6,xmm13 - - movdqa XMMWORD[(192-128)+rax],xmm4 - paddd xmm10,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm12 - movdqa xmm7,xmm12 - - pslld xmm7,30 - paddd xmm0,xmm0 - paddd xmm10,xmm6 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((0-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm7,xmm13 - pxor xmm1,XMMWORD[((96-128))+rax] - pxor xmm1,xmm3 - paddd xmm14,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm10 - pand xmm7,xmm12 - - movdqa xmm6,xmm13 - movdqa xmm5,xmm1 - psrld xmm9,27 - paddd xmm14,xmm7 - pxor xmm6,xmm12 - - movdqa XMMWORD[(208-128)+rax],xmm0 - paddd xmm14,xmm0 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm11 - movdqa xmm7,xmm11 - - pslld xmm7,30 - paddd xmm1,xmm1 - paddd xmm14,xmm6 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((16-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm7,xmm12 - pxor xmm2,XMMWORD[((112-128))+rax] - pxor xmm2,xmm4 - paddd xmm13,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm14 - pand xmm7,xmm11 - - movdqa xmm6,xmm12 - movdqa xmm5,xmm2 - psrld xmm9,27 - paddd xmm13,xmm7 - pxor xmm6,xmm11 - - movdqa XMMWORD[(224-128)+rax],xmm1 - paddd xmm13,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm10 - movdqa xmm7,xmm10 - - pslld xmm7,30 - paddd xmm2,xmm2 - paddd xmm13,xmm6 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((32-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm7,xmm11 - pxor xmm3,XMMWORD[((128-128))+rax] - pxor xmm3,xmm0 - paddd xmm12,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm13 - pand xmm7,xmm10 - - movdqa xmm6,xmm11 - movdqa xmm5,xmm3 - psrld xmm9,27 - paddd xmm12,xmm7 - pxor xmm6,xmm10 - - movdqa XMMWORD[(240-128)+rax],xmm2 - paddd xmm12,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm14 - movdqa xmm7,xmm14 - - pslld xmm7,30 - paddd xmm3,xmm3 - paddd xmm12,xmm6 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((48-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm7,xmm10 - pxor xmm4,XMMWORD[((144-128))+rax] - pxor xmm4,xmm1 - paddd xmm11,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm12 - pand xmm7,xmm14 - - movdqa xmm6,xmm10 - movdqa xmm5,xmm4 - psrld xmm9,27 - paddd xmm11,xmm7 - pxor xmm6,xmm14 - - movdqa XMMWORD[(0-128)+rax],xmm3 - paddd xmm11,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm13 - movdqa xmm7,xmm13 - - pslld xmm7,30 - paddd xmm4,xmm4 - paddd xmm11,xmm6 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((64-128))+rax] - - movdqa xmm8,xmm11 - movdqa xmm7,xmm14 - pxor xmm0,XMMWORD[((160-128))+rax] - pxor xmm0,xmm2 - paddd xmm10,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm11 - pand xmm7,xmm13 - - movdqa xmm6,xmm14 - movdqa xmm5,xmm0 - psrld xmm9,27 - paddd xmm10,xmm7 - pxor xmm6,xmm13 - - movdqa XMMWORD[(16-128)+rax],xmm4 - paddd xmm10,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm12 - movdqa xmm7,xmm12 - - pslld xmm7,30 - paddd xmm0,xmm0 - paddd xmm10,xmm6 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((80-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm7,xmm13 - pxor xmm1,XMMWORD[((176-128))+rax] - pxor xmm1,xmm3 - paddd xmm14,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm10 - pand xmm7,xmm12 - - movdqa xmm6,xmm13 - movdqa xmm5,xmm1 - psrld xmm9,27 - paddd xmm14,xmm7 - pxor xmm6,xmm12 - - movdqa XMMWORD[(32-128)+rax],xmm0 - paddd xmm14,xmm0 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm11 - movdqa xmm7,xmm11 - - pslld xmm7,30 - paddd xmm1,xmm1 - paddd xmm14,xmm6 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((96-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm7,xmm12 - pxor xmm2,XMMWORD[((192-128))+rax] - pxor xmm2,xmm4 - paddd xmm13,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm14 - pand xmm7,xmm11 - - movdqa xmm6,xmm12 - movdqa xmm5,xmm2 - psrld xmm9,27 - paddd xmm13,xmm7 - pxor xmm6,xmm11 - - movdqa XMMWORD[(48-128)+rax],xmm1 - paddd xmm13,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm10 - movdqa xmm7,xmm10 - - pslld xmm7,30 - paddd xmm2,xmm2 - paddd xmm13,xmm6 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((112-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm7,xmm11 - pxor xmm3,XMMWORD[((208-128))+rax] - pxor xmm3,xmm0 - paddd xmm12,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm13 - pand xmm7,xmm10 - - movdqa xmm6,xmm11 - movdqa xmm5,xmm3 - psrld xmm9,27 - paddd xmm12,xmm7 - pxor xmm6,xmm10 - - movdqa XMMWORD[(64-128)+rax],xmm2 - paddd xmm12,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm14 - movdqa xmm7,xmm14 - - pslld xmm7,30 - paddd xmm3,xmm3 - paddd xmm12,xmm6 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((128-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm7,xmm10 - pxor xmm4,XMMWORD[((224-128))+rax] - pxor xmm4,xmm1 - paddd xmm11,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm12 - pand xmm7,xmm14 - - movdqa xmm6,xmm10 - movdqa xmm5,xmm4 - psrld xmm9,27 - paddd xmm11,xmm7 - pxor xmm6,xmm14 - - movdqa XMMWORD[(80-128)+rax],xmm3 - paddd xmm11,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm13 - movdqa xmm7,xmm13 - - pslld xmm7,30 - paddd xmm4,xmm4 - paddd xmm11,xmm6 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((144-128))+rax] - - movdqa xmm8,xmm11 - movdqa xmm7,xmm14 - pxor xmm0,XMMWORD[((240-128))+rax] - pxor xmm0,xmm2 - paddd xmm10,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm11 - pand xmm7,xmm13 - - movdqa xmm6,xmm14 - movdqa xmm5,xmm0 - psrld xmm9,27 - paddd xmm10,xmm7 - pxor xmm6,xmm13 - - movdqa XMMWORD[(96-128)+rax],xmm4 - paddd xmm10,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm12 - movdqa xmm7,xmm12 - - pslld xmm7,30 - paddd xmm0,xmm0 - paddd xmm10,xmm6 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((160-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm7,xmm13 - pxor xmm1,XMMWORD[((0-128))+rax] - pxor xmm1,xmm3 - paddd xmm14,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm10 - pand xmm7,xmm12 - - movdqa xmm6,xmm13 - movdqa xmm5,xmm1 - psrld xmm9,27 - paddd xmm14,xmm7 - pxor xmm6,xmm12 - - movdqa XMMWORD[(112-128)+rax],xmm0 - paddd xmm14,xmm0 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm11 - movdqa xmm7,xmm11 - - pslld xmm7,30 - paddd xmm1,xmm1 - paddd xmm14,xmm6 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((176-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm7,xmm12 - pxor xmm2,XMMWORD[((16-128))+rax] - pxor xmm2,xmm4 - paddd xmm13,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm14 - pand xmm7,xmm11 - - movdqa xmm6,xmm12 - movdqa xmm5,xmm2 - psrld xmm9,27 - paddd xmm13,xmm7 - pxor xmm6,xmm11 - - movdqa XMMWORD[(128-128)+rax],xmm1 - paddd xmm13,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm10 - movdqa xmm7,xmm10 - - pslld xmm7,30 - paddd xmm2,xmm2 - paddd xmm13,xmm6 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((192-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm7,xmm11 - pxor xmm3,XMMWORD[((32-128))+rax] - pxor xmm3,xmm0 - paddd xmm12,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm13 - pand xmm7,xmm10 - - movdqa xmm6,xmm11 - movdqa xmm5,xmm3 - psrld xmm9,27 - paddd xmm12,xmm7 - pxor xmm6,xmm10 - - movdqa XMMWORD[(144-128)+rax],xmm2 - paddd xmm12,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm14 - movdqa xmm7,xmm14 - - pslld xmm7,30 - paddd xmm3,xmm3 - paddd xmm12,xmm6 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((208-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm7,xmm10 - pxor xmm4,XMMWORD[((48-128))+rax] - pxor xmm4,xmm1 - paddd xmm11,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm12 - pand xmm7,xmm14 - - movdqa xmm6,xmm10 - movdqa xmm5,xmm4 - psrld xmm9,27 - paddd xmm11,xmm7 - pxor xmm6,xmm14 - - movdqa XMMWORD[(160-128)+rax],xmm3 - paddd xmm11,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm13 - movdqa xmm7,xmm13 - - pslld xmm7,30 - paddd xmm4,xmm4 - paddd xmm11,xmm6 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((224-128))+rax] - - movdqa xmm8,xmm11 - movdqa xmm7,xmm14 - pxor xmm0,XMMWORD[((64-128))+rax] - pxor xmm0,xmm2 - paddd xmm10,xmm15 - pslld xmm8,5 - movdqa xmm9,xmm11 - pand xmm7,xmm13 - - movdqa xmm6,xmm14 - movdqa xmm5,xmm0 - psrld xmm9,27 - paddd xmm10,xmm7 - pxor xmm6,xmm13 - - movdqa XMMWORD[(176-128)+rax],xmm4 - paddd xmm10,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - pand xmm6,xmm12 - movdqa xmm7,xmm12 - - pslld xmm7,30 - paddd xmm0,xmm0 - paddd xmm10,xmm6 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - movdqa xmm15,XMMWORD[64+rbp] - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((240-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm6,xmm13 - pxor xmm1,XMMWORD[((80-128))+rax] - paddd xmm14,xmm15 - pslld xmm8,5 - pxor xmm6,xmm11 - - movdqa xmm9,xmm10 - movdqa XMMWORD[(192-128)+rax],xmm0 - paddd xmm14,xmm0 - pxor xmm1,xmm3 - psrld xmm9,27 - pxor xmm6,xmm12 - movdqa xmm7,xmm11 - - pslld xmm7,30 - movdqa xmm5,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm14,xmm6 - paddd xmm1,xmm1 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((0-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm6,xmm12 - pxor xmm2,XMMWORD[((96-128))+rax] - paddd xmm13,xmm15 - pslld xmm8,5 - pxor xmm6,xmm10 - - movdqa xmm9,xmm14 - movdqa XMMWORD[(208-128)+rax],xmm1 - paddd xmm13,xmm1 - pxor xmm2,xmm4 - psrld xmm9,27 - pxor xmm6,xmm11 - movdqa xmm7,xmm10 - - pslld xmm7,30 - movdqa xmm5,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm13,xmm6 - paddd xmm2,xmm2 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((16-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm6,xmm11 - pxor xmm3,XMMWORD[((112-128))+rax] - paddd xmm12,xmm15 - pslld xmm8,5 - pxor xmm6,xmm14 - - movdqa xmm9,xmm13 - movdqa XMMWORD[(224-128)+rax],xmm2 - paddd xmm12,xmm2 - pxor xmm3,xmm0 - psrld xmm9,27 - pxor xmm6,xmm10 - movdqa xmm7,xmm14 - - pslld xmm7,30 - movdqa xmm5,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm12,xmm6 - paddd xmm3,xmm3 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((32-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm6,xmm10 - pxor xmm4,XMMWORD[((128-128))+rax] - paddd xmm11,xmm15 - pslld xmm8,5 - pxor xmm6,xmm13 - - movdqa xmm9,xmm12 - movdqa XMMWORD[(240-128)+rax],xmm3 - paddd xmm11,xmm3 - pxor xmm4,xmm1 - psrld xmm9,27 - pxor xmm6,xmm14 - movdqa xmm7,xmm13 - - pslld xmm7,30 - movdqa xmm5,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm11,xmm6 - paddd xmm4,xmm4 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((48-128))+rax] - - movdqa xmm8,xmm11 - movdqa xmm6,xmm14 - pxor xmm0,XMMWORD[((144-128))+rax] - paddd xmm10,xmm15 - pslld xmm8,5 - pxor xmm6,xmm12 - - movdqa xmm9,xmm11 - movdqa XMMWORD[(0-128)+rax],xmm4 - paddd xmm10,xmm4 - pxor xmm0,xmm2 - psrld xmm9,27 - pxor xmm6,xmm13 - movdqa xmm7,xmm12 - - pslld xmm7,30 - movdqa xmm5,xmm0 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm10,xmm6 - paddd xmm0,xmm0 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((64-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm6,xmm13 - pxor xmm1,XMMWORD[((160-128))+rax] - paddd xmm14,xmm15 - pslld xmm8,5 - pxor xmm6,xmm11 - - movdqa xmm9,xmm10 - movdqa XMMWORD[(16-128)+rax],xmm0 - paddd xmm14,xmm0 - pxor xmm1,xmm3 - psrld xmm9,27 - pxor xmm6,xmm12 - movdqa xmm7,xmm11 - - pslld xmm7,30 - movdqa xmm5,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm14,xmm6 - paddd xmm1,xmm1 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((80-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm6,xmm12 - pxor xmm2,XMMWORD[((176-128))+rax] - paddd xmm13,xmm15 - pslld xmm8,5 - pxor xmm6,xmm10 - - movdqa xmm9,xmm14 - movdqa XMMWORD[(32-128)+rax],xmm1 - paddd xmm13,xmm1 - pxor xmm2,xmm4 - psrld xmm9,27 - pxor xmm6,xmm11 - movdqa xmm7,xmm10 - - pslld xmm7,30 - movdqa xmm5,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm13,xmm6 - paddd xmm2,xmm2 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((96-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm6,xmm11 - pxor xmm3,XMMWORD[((192-128))+rax] - paddd xmm12,xmm15 - pslld xmm8,5 - pxor xmm6,xmm14 - - movdqa xmm9,xmm13 - movdqa XMMWORD[(48-128)+rax],xmm2 - paddd xmm12,xmm2 - pxor xmm3,xmm0 - psrld xmm9,27 - pxor xmm6,xmm10 - movdqa xmm7,xmm14 - - pslld xmm7,30 - movdqa xmm5,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm12,xmm6 - paddd xmm3,xmm3 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((112-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm6,xmm10 - pxor xmm4,XMMWORD[((208-128))+rax] - paddd xmm11,xmm15 - pslld xmm8,5 - pxor xmm6,xmm13 - - movdqa xmm9,xmm12 - movdqa XMMWORD[(64-128)+rax],xmm3 - paddd xmm11,xmm3 - pxor xmm4,xmm1 - psrld xmm9,27 - pxor xmm6,xmm14 - movdqa xmm7,xmm13 - - pslld xmm7,30 - movdqa xmm5,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm11,xmm6 - paddd xmm4,xmm4 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((128-128))+rax] - - movdqa xmm8,xmm11 - movdqa xmm6,xmm14 - pxor xmm0,XMMWORD[((224-128))+rax] - paddd xmm10,xmm15 - pslld xmm8,5 - pxor xmm6,xmm12 - - movdqa xmm9,xmm11 - movdqa XMMWORD[(80-128)+rax],xmm4 - paddd xmm10,xmm4 - pxor xmm0,xmm2 - psrld xmm9,27 - pxor xmm6,xmm13 - movdqa xmm7,xmm12 - - pslld xmm7,30 - movdqa xmm5,xmm0 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm10,xmm6 - paddd xmm0,xmm0 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((144-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm6,xmm13 - pxor xmm1,XMMWORD[((240-128))+rax] - paddd xmm14,xmm15 - pslld xmm8,5 - pxor xmm6,xmm11 - - movdqa xmm9,xmm10 - movdqa XMMWORD[(96-128)+rax],xmm0 - paddd xmm14,xmm0 - pxor xmm1,xmm3 - psrld xmm9,27 - pxor xmm6,xmm12 - movdqa xmm7,xmm11 - - pslld xmm7,30 - movdqa xmm5,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm14,xmm6 - paddd xmm1,xmm1 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((160-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm6,xmm12 - pxor xmm2,XMMWORD[((0-128))+rax] - paddd xmm13,xmm15 - pslld xmm8,5 - pxor xmm6,xmm10 - - movdqa xmm9,xmm14 - movdqa XMMWORD[(112-128)+rax],xmm1 - paddd xmm13,xmm1 - pxor xmm2,xmm4 - psrld xmm9,27 - pxor xmm6,xmm11 - movdqa xmm7,xmm10 - - pslld xmm7,30 - movdqa xmm5,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm13,xmm6 - paddd xmm2,xmm2 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((176-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm6,xmm11 - pxor xmm3,XMMWORD[((16-128))+rax] - paddd xmm12,xmm15 - pslld xmm8,5 - pxor xmm6,xmm14 - - movdqa xmm9,xmm13 - paddd xmm12,xmm2 - pxor xmm3,xmm0 - psrld xmm9,27 - pxor xmm6,xmm10 - movdqa xmm7,xmm14 - - pslld xmm7,30 - movdqa xmm5,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm12,xmm6 - paddd xmm3,xmm3 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((192-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm6,xmm10 - pxor xmm4,XMMWORD[((32-128))+rax] - paddd xmm11,xmm15 - pslld xmm8,5 - pxor xmm6,xmm13 - - movdqa xmm9,xmm12 - paddd xmm11,xmm3 - pxor xmm4,xmm1 - psrld xmm9,27 - pxor xmm6,xmm14 - movdqa xmm7,xmm13 - - pslld xmm7,30 - movdqa xmm5,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm11,xmm6 - paddd xmm4,xmm4 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - pxor xmm0,xmm2 - movdqa xmm2,XMMWORD[((208-128))+rax] - - movdqa xmm8,xmm11 - movdqa xmm6,xmm14 - pxor xmm0,XMMWORD[((48-128))+rax] - paddd xmm10,xmm15 - pslld xmm8,5 - pxor xmm6,xmm12 - - movdqa xmm9,xmm11 - paddd xmm10,xmm4 - pxor xmm0,xmm2 - psrld xmm9,27 - pxor xmm6,xmm13 - movdqa xmm7,xmm12 - - pslld xmm7,30 - movdqa xmm5,xmm0 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm10,xmm6 - paddd xmm0,xmm0 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm0,xmm5 - por xmm12,xmm7 - pxor xmm1,xmm3 - movdqa xmm3,XMMWORD[((224-128))+rax] - - movdqa xmm8,xmm10 - movdqa xmm6,xmm13 - pxor xmm1,XMMWORD[((64-128))+rax] - paddd xmm14,xmm15 - pslld xmm8,5 - pxor xmm6,xmm11 - - movdqa xmm9,xmm10 - paddd xmm14,xmm0 - pxor xmm1,xmm3 - psrld xmm9,27 - pxor xmm6,xmm12 - movdqa xmm7,xmm11 - - pslld xmm7,30 - movdqa xmm5,xmm1 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm14,xmm6 - paddd xmm1,xmm1 - - psrld xmm11,2 - paddd xmm14,xmm8 - por xmm1,xmm5 - por xmm11,xmm7 - pxor xmm2,xmm4 - movdqa xmm4,XMMWORD[((240-128))+rax] - - movdqa xmm8,xmm14 - movdqa xmm6,xmm12 - pxor xmm2,XMMWORD[((80-128))+rax] - paddd xmm13,xmm15 - pslld xmm8,5 - pxor xmm6,xmm10 - - movdqa xmm9,xmm14 - paddd xmm13,xmm1 - pxor xmm2,xmm4 - psrld xmm9,27 - pxor xmm6,xmm11 - movdqa xmm7,xmm10 - - pslld xmm7,30 - movdqa xmm5,xmm2 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm13,xmm6 - paddd xmm2,xmm2 - - psrld xmm10,2 - paddd xmm13,xmm8 - por xmm2,xmm5 - por xmm10,xmm7 - pxor xmm3,xmm0 - movdqa xmm0,XMMWORD[((0-128))+rax] - - movdqa xmm8,xmm13 - movdqa xmm6,xmm11 - pxor xmm3,XMMWORD[((96-128))+rax] - paddd xmm12,xmm15 - pslld xmm8,5 - pxor xmm6,xmm14 - - movdqa xmm9,xmm13 - paddd xmm12,xmm2 - pxor xmm3,xmm0 - psrld xmm9,27 - pxor xmm6,xmm10 - movdqa xmm7,xmm14 - - pslld xmm7,30 - movdqa xmm5,xmm3 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm12,xmm6 - paddd xmm3,xmm3 - - psrld xmm14,2 - paddd xmm12,xmm8 - por xmm3,xmm5 - por xmm14,xmm7 - pxor xmm4,xmm1 - movdqa xmm1,XMMWORD[((16-128))+rax] - - movdqa xmm8,xmm12 - movdqa xmm6,xmm10 - pxor xmm4,XMMWORD[((112-128))+rax] - paddd xmm11,xmm15 - pslld xmm8,5 - pxor xmm6,xmm13 - - movdqa xmm9,xmm12 - paddd xmm11,xmm3 - pxor xmm4,xmm1 - psrld xmm9,27 - pxor xmm6,xmm14 - movdqa xmm7,xmm13 - - pslld xmm7,30 - movdqa xmm5,xmm4 - por xmm8,xmm9 - psrld xmm5,31 - paddd xmm11,xmm6 - paddd xmm4,xmm4 - - psrld xmm13,2 - paddd xmm11,xmm8 - por xmm4,xmm5 - por xmm13,xmm7 - movdqa xmm8,xmm11 - paddd xmm10,xmm15 - movdqa xmm6,xmm14 - pslld xmm8,5 - pxor xmm6,xmm12 - - movdqa xmm9,xmm11 - paddd xmm10,xmm4 - psrld xmm9,27 - movdqa xmm7,xmm12 - pxor xmm6,xmm13 - - pslld xmm7,30 - por xmm8,xmm9 - paddd xmm10,xmm6 - - psrld xmm12,2 - paddd xmm10,xmm8 - por xmm12,xmm7 - movdqa xmm0,XMMWORD[rbx] - mov ecx,1 - cmp ecx,DWORD[rbx] - pxor xmm8,xmm8 - cmovge r8,rbp - cmp ecx,DWORD[4+rbx] - movdqa xmm1,xmm0 - cmovge r9,rbp - cmp ecx,DWORD[8+rbx] - pcmpgtd xmm1,xmm8 - cmovge r10,rbp - cmp ecx,DWORD[12+rbx] - paddd xmm0,xmm1 - cmovge r11,rbp - - movdqu xmm6,XMMWORD[rdi] - pand xmm10,xmm1 - movdqu xmm7,XMMWORD[32+rdi] - pand xmm11,xmm1 - paddd xmm10,xmm6 - movdqu xmm8,XMMWORD[64+rdi] - pand xmm12,xmm1 - paddd xmm11,xmm7 - movdqu xmm9,XMMWORD[96+rdi] - pand xmm13,xmm1 - paddd xmm12,xmm8 - movdqu xmm5,XMMWORD[128+rdi] - pand xmm14,xmm1 - movdqu XMMWORD[rdi],xmm10 - paddd xmm13,xmm9 - movdqu XMMWORD[32+rdi],xmm11 - paddd xmm14,xmm5 - movdqu XMMWORD[64+rdi],xmm12 - movdqu XMMWORD[96+rdi],xmm13 - movdqu XMMWORD[128+rdi],xmm14 - - movdqa XMMWORD[rbx],xmm0 - movdqa xmm5,XMMWORD[96+rbp] - movdqa xmm15,XMMWORD[((-32))+rbp] - dec edx - jnz NEAR $L$oop - - mov edx,DWORD[280+rsp] - lea rdi,[16+rdi] - lea rsi,[64+rsi] - dec edx - jnz NEAR $L$oop_grande - -$L$done: - mov rax,QWORD[272+rsp] - movaps xmm6,XMMWORD[((-184))+rax] - movaps xmm7,XMMWORD[((-168))+rax] - movaps xmm8,XMMWORD[((-152))+rax] - movaps xmm9,XMMWORD[((-136))+rax] - movaps xmm10,XMMWORD[((-120))+rax] - movaps xmm11,XMMWORD[((-104))+rax] - movaps xmm12,XMMWORD[((-88))+rax] - movaps xmm13,XMMWORD[((-72))+rax] - movaps xmm14,XMMWORD[((-56))+rax] - movaps xmm15,XMMWORD[((-40))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_multi_block: - -ALIGN 32 -sha1_multi_block_shaext: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha1_multi_block_shaext: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_shaext_shortcut: - mov rax,rsp - push rbx - push rbp - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[(-120)+rax],xmm10 - movaps XMMWORD[(-104)+rax],xmm11 - movaps XMMWORD[(-88)+rax],xmm12 - movaps XMMWORD[(-72)+rax],xmm13 - movaps XMMWORD[(-56)+rax],xmm14 - movaps XMMWORD[(-40)+rax],xmm15 - sub rsp,288 - shl edx,1 - and rsp,-256 - lea rdi,[64+rdi] - mov QWORD[272+rsp],rax -$L$body_shaext: - lea rbx,[256+rsp] - movdqa xmm3,XMMWORD[((K_XX_XX+128))] - -$L$oop_grande_shaext: - mov DWORD[280+rsp],edx - xor edx,edx - mov r8,QWORD[rsi] - mov ecx,DWORD[8+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[rbx],ecx - cmovle r8,rsp - mov r9,QWORD[16+rsi] - mov ecx,DWORD[24+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[4+rbx],ecx - cmovle r9,rsp - test edx,edx - jz NEAR $L$done_shaext - - movq xmm0,QWORD[((0-64))+rdi] - movq xmm4,QWORD[((32-64))+rdi] - movq xmm5,QWORD[((64-64))+rdi] - movq xmm6,QWORD[((96-64))+rdi] - movq xmm7,QWORD[((128-64))+rdi] - - punpckldq xmm0,xmm4 - punpckldq xmm5,xmm6 - - movdqa xmm8,xmm0 - punpcklqdq xmm0,xmm5 - punpckhqdq xmm8,xmm5 - - pshufd xmm1,xmm7,63 - pshufd xmm9,xmm7,127 - pshufd xmm0,xmm0,27 - pshufd xmm8,xmm8,27 - jmp NEAR $L$oop_shaext - -ALIGN 32 -$L$oop_shaext: - movdqu xmm4,XMMWORD[r8] - movdqu xmm11,XMMWORD[r9] - movdqu xmm5,XMMWORD[16+r8] - movdqu xmm12,XMMWORD[16+r9] - movdqu xmm6,XMMWORD[32+r8] -DB 102,15,56,0,227 - movdqu xmm13,XMMWORD[32+r9] -DB 102,68,15,56,0,219 - movdqu xmm7,XMMWORD[48+r8] - lea r8,[64+r8] -DB 102,15,56,0,235 - movdqu xmm14,XMMWORD[48+r9] - lea r9,[64+r9] -DB 102,68,15,56,0,227 - - movdqa XMMWORD[80+rsp],xmm1 - paddd xmm1,xmm4 - movdqa XMMWORD[112+rsp],xmm9 - paddd xmm9,xmm11 - movdqa XMMWORD[64+rsp],xmm0 - movdqa xmm2,xmm0 - movdqa XMMWORD[96+rsp],xmm8 - movdqa xmm10,xmm8 -DB 15,58,204,193,0 -DB 15,56,200,213 -DB 69,15,58,204,193,0 -DB 69,15,56,200,212 -DB 102,15,56,0,243 - prefetcht0 [127+r8] -DB 15,56,201,229 -DB 102,68,15,56,0,235 - prefetcht0 [127+r9] -DB 69,15,56,201,220 - -DB 102,15,56,0,251 - movdqa xmm1,xmm0 -DB 102,68,15,56,0,243 - movdqa xmm9,xmm8 -DB 15,58,204,194,0 -DB 15,56,200,206 -DB 69,15,58,204,194,0 -DB 69,15,56,200,205 - pxor xmm4,xmm6 -DB 15,56,201,238 - pxor xmm11,xmm13 -DB 69,15,56,201,229 - movdqa xmm2,xmm0 - movdqa xmm10,xmm8 -DB 15,58,204,193,0 -DB 15,56,200,215 -DB 69,15,58,204,193,0 -DB 69,15,56,200,214 -DB 15,56,202,231 -DB 69,15,56,202,222 - pxor xmm5,xmm7 -DB 15,56,201,247 - pxor xmm12,xmm14 -DB 69,15,56,201,238 - movdqa xmm1,xmm0 - movdqa xmm9,xmm8 -DB 15,58,204,194,0 -DB 15,56,200,204 -DB 69,15,58,204,194,0 -DB 69,15,56,200,203 -DB 15,56,202,236 -DB 69,15,56,202,227 - pxor xmm6,xmm4 -DB 15,56,201,252 - pxor xmm13,xmm11 -DB 69,15,56,201,243 - movdqa xmm2,xmm0 - movdqa xmm10,xmm8 -DB 15,58,204,193,0 -DB 15,56,200,213 -DB 69,15,58,204,193,0 -DB 69,15,56,200,212 -DB 15,56,202,245 -DB 69,15,56,202,236 - pxor xmm7,xmm5 -DB 15,56,201,229 - pxor xmm14,xmm12 -DB 69,15,56,201,220 - movdqa xmm1,xmm0 - movdqa xmm9,xmm8 -DB 15,58,204,194,1 -DB 15,56,200,206 -DB 69,15,58,204,194,1 -DB 69,15,56,200,205 -DB 15,56,202,254 -DB 69,15,56,202,245 - pxor xmm4,xmm6 -DB 15,56,201,238 - pxor xmm11,xmm13 -DB 69,15,56,201,229 - movdqa xmm2,xmm0 - movdqa xmm10,xmm8 -DB 15,58,204,193,1 -DB 15,56,200,215 -DB 69,15,58,204,193,1 -DB 69,15,56,200,214 -DB 15,56,202,231 -DB 69,15,56,202,222 - pxor xmm5,xmm7 -DB 15,56,201,247 - pxor xmm12,xmm14 -DB 69,15,56,201,238 - movdqa xmm1,xmm0 - movdqa xmm9,xmm8 -DB 15,58,204,194,1 -DB 15,56,200,204 -DB 69,15,58,204,194,1 -DB 69,15,56,200,203 -DB 15,56,202,236 -DB 69,15,56,202,227 - pxor xmm6,xmm4 -DB 15,56,201,252 - pxor xmm13,xmm11 -DB 69,15,56,201,243 - movdqa xmm2,xmm0 - movdqa xmm10,xmm8 -DB 15,58,204,193,1 -DB 15,56,200,213 -DB 69,15,58,204,193,1 -DB 69,15,56,200,212 -DB 15,56,202,245 -DB 69,15,56,202,236 - pxor xmm7,xmm5 -DB 15,56,201,229 - pxor xmm14,xmm12 -DB 69,15,56,201,220 - movdqa xmm1,xmm0 - movdqa xmm9,xmm8 -DB 15,58,204,194,1 -DB 15,56,200,206 -DB 69,15,58,204,194,1 -DB 69,15,56,200,205 -DB 15,56,202,254 -DB 69,15,56,202,245 - pxor xmm4,xmm6 -DB 15,56,201,238 - pxor xmm11,xmm13 -DB 69,15,56,201,229 - movdqa xmm2,xmm0 - movdqa xmm10,xmm8 -DB 15,58,204,193,2 -DB 15,56,200,215 -DB 69,15,58,204,193,2 -DB 69,15,56,200,214 -DB 15,56,202,231 -DB 69,15,56,202,222 - pxor xmm5,xmm7 -DB 15,56,201,247 - pxor xmm12,xmm14 -DB 69,15,56,201,238 - movdqa xmm1,xmm0 - movdqa xmm9,xmm8 -DB 15,58,204,194,2 -DB 15,56,200,204 -DB 69,15,58,204,194,2 -DB 69,15,56,200,203 -DB 15,56,202,236 -DB 69,15,56,202,227 - pxor xmm6,xmm4 -DB 15,56,201,252 - pxor xmm13,xmm11 -DB 69,15,56,201,243 - movdqa xmm2,xmm0 - movdqa xmm10,xmm8 -DB 15,58,204,193,2 -DB 15,56,200,213 -DB 69,15,58,204,193,2 -DB 69,15,56,200,212 -DB 15,56,202,245 -DB 69,15,56,202,236 - pxor xmm7,xmm5 -DB 15,56,201,229 - pxor xmm14,xmm12 -DB 69,15,56,201,220 - movdqa xmm1,xmm0 - movdqa xmm9,xmm8 -DB 15,58,204,194,2 -DB 15,56,200,206 -DB 69,15,58,204,194,2 -DB 69,15,56,200,205 -DB 15,56,202,254 -DB 69,15,56,202,245 - pxor xmm4,xmm6 -DB 15,56,201,238 - pxor xmm11,xmm13 -DB 69,15,56,201,229 - movdqa xmm2,xmm0 - movdqa xmm10,xmm8 -DB 15,58,204,193,2 -DB 15,56,200,215 -DB 69,15,58,204,193,2 -DB 69,15,56,200,214 -DB 15,56,202,231 -DB 69,15,56,202,222 - pxor xmm5,xmm7 -DB 15,56,201,247 - pxor xmm12,xmm14 -DB 69,15,56,201,238 - movdqa xmm1,xmm0 - movdqa xmm9,xmm8 -DB 15,58,204,194,3 -DB 15,56,200,204 -DB 69,15,58,204,194,3 -DB 69,15,56,200,203 -DB 15,56,202,236 -DB 69,15,56,202,227 - pxor xmm6,xmm4 -DB 15,56,201,252 - pxor xmm13,xmm11 -DB 69,15,56,201,243 - movdqa xmm2,xmm0 - movdqa xmm10,xmm8 -DB 15,58,204,193,3 -DB 15,56,200,213 -DB 69,15,58,204,193,3 -DB 69,15,56,200,212 -DB 15,56,202,245 -DB 69,15,56,202,236 - pxor xmm7,xmm5 - pxor xmm14,xmm12 - - mov ecx,1 - pxor xmm4,xmm4 - cmp ecx,DWORD[rbx] - cmovge r8,rsp - - movdqa xmm1,xmm0 - movdqa xmm9,xmm8 -DB 15,58,204,194,3 -DB 15,56,200,206 -DB 69,15,58,204,194,3 -DB 69,15,56,200,205 -DB 15,56,202,254 -DB 69,15,56,202,245 - - cmp ecx,DWORD[4+rbx] - cmovge r9,rsp - movq xmm6,QWORD[rbx] - - movdqa xmm2,xmm0 - movdqa xmm10,xmm8 -DB 15,58,204,193,3 -DB 15,56,200,215 -DB 69,15,58,204,193,3 -DB 69,15,56,200,214 - - pshufd xmm11,xmm6,0x00 - pshufd xmm12,xmm6,0x55 - movdqa xmm7,xmm6 - pcmpgtd xmm11,xmm4 - pcmpgtd xmm12,xmm4 - - movdqa xmm1,xmm0 - movdqa xmm9,xmm8 -DB 15,58,204,194,3 -DB 15,56,200,204 -DB 69,15,58,204,194,3 -DB 68,15,56,200,204 - - pcmpgtd xmm7,xmm4 - pand xmm0,xmm11 - pand xmm1,xmm11 - pand xmm8,xmm12 - pand xmm9,xmm12 - paddd xmm6,xmm7 - - paddd xmm0,XMMWORD[64+rsp] - paddd xmm1,XMMWORD[80+rsp] - paddd xmm8,XMMWORD[96+rsp] - paddd xmm9,XMMWORD[112+rsp] - - movq QWORD[rbx],xmm6 - dec edx - jnz NEAR $L$oop_shaext - - mov edx,DWORD[280+rsp] - - pshufd xmm0,xmm0,27 - pshufd xmm8,xmm8,27 - - movdqa xmm6,xmm0 - punpckldq xmm0,xmm8 - punpckhdq xmm6,xmm8 - punpckhdq xmm1,xmm9 - movq QWORD[(0-64)+rdi],xmm0 - psrldq xmm0,8 - movq QWORD[(64-64)+rdi],xmm6 - psrldq xmm6,8 - movq QWORD[(32-64)+rdi],xmm0 - psrldq xmm1,8 - movq QWORD[(96-64)+rdi],xmm6 - movq QWORD[(128-64)+rdi],xmm1 - - lea rdi,[8+rdi] - lea rsi,[32+rsi] - dec edx - jnz NEAR $L$oop_grande_shaext - -$L$done_shaext: - - movaps xmm6,XMMWORD[((-184))+rax] - movaps xmm7,XMMWORD[((-168))+rax] - movaps xmm8,XMMWORD[((-152))+rax] - movaps xmm9,XMMWORD[((-136))+rax] - movaps xmm10,XMMWORD[((-120))+rax] - movaps xmm11,XMMWORD[((-104))+rax] - movaps xmm12,XMMWORD[((-88))+rax] - movaps xmm13,XMMWORD[((-72))+rax] - movaps xmm14,XMMWORD[((-56))+rax] - movaps xmm15,XMMWORD[((-40))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$epilogue_shaext: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_multi_block_shaext: - -ALIGN 32 -sha1_multi_block_avx: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha1_multi_block_avx: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_avx_shortcut: - shr rcx,32 - cmp edx,2 - jb NEAR $L$avx - test ecx,32 - jnz NEAR _avx2_shortcut - jmp NEAR $L$avx -ALIGN 32 -$L$avx: - mov rax,rsp - push rbx - push rbp - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[(-120)+rax],xmm10 - movaps XMMWORD[(-104)+rax],xmm11 - movaps XMMWORD[(-88)+rax],xmm12 - movaps XMMWORD[(-72)+rax],xmm13 - movaps XMMWORD[(-56)+rax],xmm14 - movaps XMMWORD[(-40)+rax],xmm15 - sub rsp,288 - and rsp,-256 - mov QWORD[272+rsp],rax -$L$body_avx: - lea rbp,[K_XX_XX] - lea rbx,[256+rsp] - - vzeroupper -$L$oop_grande_avx: - mov DWORD[280+rsp],edx - xor edx,edx - mov r8,QWORD[rsi] - mov ecx,DWORD[8+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[rbx],ecx - cmovle r8,rbp - mov r9,QWORD[16+rsi] - mov ecx,DWORD[24+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[4+rbx],ecx - cmovle r9,rbp - mov r10,QWORD[32+rsi] - mov ecx,DWORD[40+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[8+rbx],ecx - cmovle r10,rbp - mov r11,QWORD[48+rsi] - mov ecx,DWORD[56+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[12+rbx],ecx - cmovle r11,rbp - test edx,edx - jz NEAR $L$done_avx - - vmovdqu xmm10,XMMWORD[rdi] - lea rax,[128+rsp] - vmovdqu xmm11,XMMWORD[32+rdi] - vmovdqu xmm12,XMMWORD[64+rdi] - vmovdqu xmm13,XMMWORD[96+rdi] - vmovdqu xmm14,XMMWORD[128+rdi] - vmovdqu xmm5,XMMWORD[96+rbp] - jmp NEAR $L$oop_avx - -ALIGN 32 -$L$oop_avx: - vmovdqa xmm15,XMMWORD[((-32))+rbp] - vmovd xmm0,DWORD[r8] - lea r8,[64+r8] - vmovd xmm2,DWORD[r9] - lea r9,[64+r9] - vpinsrd xmm0,xmm0,DWORD[r10],1 - lea r10,[64+r10] - vpinsrd xmm2,xmm2,DWORD[r11],1 - lea r11,[64+r11] - vmovd xmm1,DWORD[((-60))+r8] - vpunpckldq xmm0,xmm0,xmm2 - vmovd xmm9,DWORD[((-60))+r9] - vpshufb xmm0,xmm0,xmm5 - vpinsrd xmm1,xmm1,DWORD[((-60))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-60))+r11],1 - vpaddd xmm14,xmm14,xmm15 - vpslld xmm8,xmm10,5 - vpandn xmm7,xmm11,xmm13 - vpand xmm6,xmm11,xmm12 - - vmovdqa XMMWORD[(0-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpunpckldq xmm1,xmm1,xmm9 - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm2,DWORD[((-56))+r8] - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-56))+r9] - vpaddd xmm14,xmm14,xmm6 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpshufb xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpinsrd xmm2,xmm2,DWORD[((-56))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-56))+r11],1 - vpaddd xmm13,xmm13,xmm15 - vpslld xmm8,xmm14,5 - vpandn xmm7,xmm10,xmm12 - vpand xmm6,xmm10,xmm11 - - vmovdqa XMMWORD[(16-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpunpckldq xmm2,xmm2,xmm9 - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm3,DWORD[((-52))+r8] - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-52))+r9] - vpaddd xmm13,xmm13,xmm6 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpshufb xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpinsrd xmm3,xmm3,DWORD[((-52))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-52))+r11],1 - vpaddd xmm12,xmm12,xmm15 - vpslld xmm8,xmm13,5 - vpandn xmm7,xmm14,xmm11 - vpand xmm6,xmm14,xmm10 - - vmovdqa XMMWORD[(32-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpunpckldq xmm3,xmm3,xmm9 - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm4,DWORD[((-48))+r8] - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-48))+r9] - vpaddd xmm12,xmm12,xmm6 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpshufb xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpinsrd xmm4,xmm4,DWORD[((-48))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-48))+r11],1 - vpaddd xmm11,xmm11,xmm15 - vpslld xmm8,xmm12,5 - vpandn xmm7,xmm13,xmm10 - vpand xmm6,xmm13,xmm14 - - vmovdqa XMMWORD[(48-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpunpckldq xmm4,xmm4,xmm9 - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm0,DWORD[((-44))+r8] - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-44))+r9] - vpaddd xmm11,xmm11,xmm6 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpshufb xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpinsrd xmm0,xmm0,DWORD[((-44))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-44))+r11],1 - vpaddd xmm10,xmm10,xmm15 - vpslld xmm8,xmm11,5 - vpandn xmm7,xmm12,xmm14 - vpand xmm6,xmm12,xmm13 - - vmovdqa XMMWORD[(64-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpunpckldq xmm0,xmm0,xmm9 - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm1,DWORD[((-40))+r8] - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-40))+r9] - vpaddd xmm10,xmm10,xmm6 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpshufb xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vpinsrd xmm1,xmm1,DWORD[((-40))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-40))+r11],1 - vpaddd xmm14,xmm14,xmm15 - vpslld xmm8,xmm10,5 - vpandn xmm7,xmm11,xmm13 - vpand xmm6,xmm11,xmm12 - - vmovdqa XMMWORD[(80-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpunpckldq xmm1,xmm1,xmm9 - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm2,DWORD[((-36))+r8] - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-36))+r9] - vpaddd xmm14,xmm14,xmm6 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpshufb xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpinsrd xmm2,xmm2,DWORD[((-36))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-36))+r11],1 - vpaddd xmm13,xmm13,xmm15 - vpslld xmm8,xmm14,5 - vpandn xmm7,xmm10,xmm12 - vpand xmm6,xmm10,xmm11 - - vmovdqa XMMWORD[(96-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpunpckldq xmm2,xmm2,xmm9 - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm3,DWORD[((-32))+r8] - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-32))+r9] - vpaddd xmm13,xmm13,xmm6 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpshufb xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpinsrd xmm3,xmm3,DWORD[((-32))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-32))+r11],1 - vpaddd xmm12,xmm12,xmm15 - vpslld xmm8,xmm13,5 - vpandn xmm7,xmm14,xmm11 - vpand xmm6,xmm14,xmm10 - - vmovdqa XMMWORD[(112-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpunpckldq xmm3,xmm3,xmm9 - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm4,DWORD[((-28))+r8] - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-28))+r9] - vpaddd xmm12,xmm12,xmm6 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpshufb xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpinsrd xmm4,xmm4,DWORD[((-28))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-28))+r11],1 - vpaddd xmm11,xmm11,xmm15 - vpslld xmm8,xmm12,5 - vpandn xmm7,xmm13,xmm10 - vpand xmm6,xmm13,xmm14 - - vmovdqa XMMWORD[(128-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpunpckldq xmm4,xmm4,xmm9 - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm0,DWORD[((-24))+r8] - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-24))+r9] - vpaddd xmm11,xmm11,xmm6 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpshufb xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpinsrd xmm0,xmm0,DWORD[((-24))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-24))+r11],1 - vpaddd xmm10,xmm10,xmm15 - vpslld xmm8,xmm11,5 - vpandn xmm7,xmm12,xmm14 - vpand xmm6,xmm12,xmm13 - - vmovdqa XMMWORD[(144-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpunpckldq xmm0,xmm0,xmm9 - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm1,DWORD[((-20))+r8] - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-20))+r9] - vpaddd xmm10,xmm10,xmm6 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpshufb xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vpinsrd xmm1,xmm1,DWORD[((-20))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-20))+r11],1 - vpaddd xmm14,xmm14,xmm15 - vpslld xmm8,xmm10,5 - vpandn xmm7,xmm11,xmm13 - vpand xmm6,xmm11,xmm12 - - vmovdqa XMMWORD[(160-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpunpckldq xmm1,xmm1,xmm9 - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm2,DWORD[((-16))+r8] - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-16))+r9] - vpaddd xmm14,xmm14,xmm6 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpshufb xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpinsrd xmm2,xmm2,DWORD[((-16))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-16))+r11],1 - vpaddd xmm13,xmm13,xmm15 - vpslld xmm8,xmm14,5 - vpandn xmm7,xmm10,xmm12 - vpand xmm6,xmm10,xmm11 - - vmovdqa XMMWORD[(176-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpunpckldq xmm2,xmm2,xmm9 - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm3,DWORD[((-12))+r8] - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-12))+r9] - vpaddd xmm13,xmm13,xmm6 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpshufb xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpinsrd xmm3,xmm3,DWORD[((-12))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-12))+r11],1 - vpaddd xmm12,xmm12,xmm15 - vpslld xmm8,xmm13,5 - vpandn xmm7,xmm14,xmm11 - vpand xmm6,xmm14,xmm10 - - vmovdqa XMMWORD[(192-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpunpckldq xmm3,xmm3,xmm9 - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm4,DWORD[((-8))+r8] - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-8))+r9] - vpaddd xmm12,xmm12,xmm6 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpshufb xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpinsrd xmm4,xmm4,DWORD[((-8))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-8))+r11],1 - vpaddd xmm11,xmm11,xmm15 - vpslld xmm8,xmm12,5 - vpandn xmm7,xmm13,xmm10 - vpand xmm6,xmm13,xmm14 - - vmovdqa XMMWORD[(208-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpunpckldq xmm4,xmm4,xmm9 - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm7 - vmovd xmm0,DWORD[((-4))+r8] - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vmovd xmm9,DWORD[((-4))+r9] - vpaddd xmm11,xmm11,xmm6 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpshufb xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vmovdqa xmm1,XMMWORD[((0-128))+rax] - vpinsrd xmm0,xmm0,DWORD[((-4))+r10],1 - vpinsrd xmm9,xmm9,DWORD[((-4))+r11],1 - vpaddd xmm10,xmm10,xmm15 - prefetcht0 [63+r8] - vpslld xmm8,xmm11,5 - vpandn xmm7,xmm12,xmm14 - vpand xmm6,xmm12,xmm13 - - vmovdqa XMMWORD[(224-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpunpckldq xmm0,xmm0,xmm9 - vpsrld xmm9,xmm11,27 - prefetcht0 [63+r9] - vpxor xmm6,xmm6,xmm7 - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - prefetcht0 [63+r10] - vpaddd xmm10,xmm10,xmm6 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - prefetcht0 [63+r11] - vpshufb xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vmovdqa xmm2,XMMWORD[((16-128))+rax] - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((32-128))+rax] - - vpaddd xmm14,xmm14,xmm15 - vpslld xmm8,xmm10,5 - vpandn xmm7,xmm11,xmm13 - - vpand xmm6,xmm11,xmm12 - - vmovdqa XMMWORD[(240-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD[((128-128))+rax] - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm7 - vpxor xmm1,xmm1,xmm3 - - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm14,xmm14,xmm6 - - vpsrld xmm5,xmm1,31 - vpaddd xmm1,xmm1,xmm1 - - vpsrld xmm11,xmm11,2 - - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((48-128))+rax] - - vpaddd xmm13,xmm13,xmm15 - vpslld xmm8,xmm14,5 - vpandn xmm7,xmm10,xmm12 - - vpand xmm6,xmm10,xmm11 - - vmovdqa XMMWORD[(0-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD[((144-128))+rax] - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm7 - vpxor xmm2,xmm2,xmm4 - - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm13,xmm13,xmm6 - - vpsrld xmm5,xmm2,31 - vpaddd xmm2,xmm2,xmm2 - - vpsrld xmm10,xmm10,2 - - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((64-128))+rax] - - vpaddd xmm12,xmm12,xmm15 - vpslld xmm8,xmm13,5 - vpandn xmm7,xmm14,xmm11 - - vpand xmm6,xmm14,xmm10 - - vmovdqa XMMWORD[(16-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD[((160-128))+rax] - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm7 - vpxor xmm3,xmm3,xmm0 - - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm12,xmm12,xmm6 - - vpsrld xmm5,xmm3,31 - vpaddd xmm3,xmm3,xmm3 - - vpsrld xmm14,xmm14,2 - - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((80-128))+rax] - - vpaddd xmm11,xmm11,xmm15 - vpslld xmm8,xmm12,5 - vpandn xmm7,xmm13,xmm10 - - vpand xmm6,xmm13,xmm14 - - vmovdqa XMMWORD[(32-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD[((176-128))+rax] - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm7 - vpxor xmm4,xmm4,xmm1 - - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm11,xmm11,xmm6 - - vpsrld xmm5,xmm4,31 - vpaddd xmm4,xmm4,xmm4 - - vpsrld xmm13,xmm13,2 - - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((96-128))+rax] - - vpaddd xmm10,xmm10,xmm15 - vpslld xmm8,xmm11,5 - vpandn xmm7,xmm12,xmm14 - - vpand xmm6,xmm12,xmm13 - - vmovdqa XMMWORD[(48-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD[((192-128))+rax] - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm6,xmm7 - vpxor xmm0,xmm0,xmm2 - - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm10,xmm10,xmm6 - - vpsrld xmm5,xmm0,31 - vpaddd xmm0,xmm0,xmm0 - - vpsrld xmm12,xmm12,2 - - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vmovdqa xmm15,XMMWORD[rbp] - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((112-128))+rax] - - vpslld xmm8,xmm10,5 - vpaddd xmm14,xmm14,xmm15 - vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD[(64-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD[((208-128))+rax] - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm12 - vpxor xmm1,xmm1,xmm3 - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm14,xmm14,xmm6 - vpsrld xmm5,xmm1,31 - vpaddd xmm1,xmm1,xmm1 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((128-128))+rax] - - vpslld xmm8,xmm14,5 - vpaddd xmm13,xmm13,xmm15 - vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD[(80-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD[((224-128))+rax] - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm11 - vpxor xmm2,xmm2,xmm4 - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm13,xmm13,xmm6 - vpsrld xmm5,xmm2,31 - vpaddd xmm2,xmm2,xmm2 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((144-128))+rax] - - vpslld xmm8,xmm13,5 - vpaddd xmm12,xmm12,xmm15 - vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD[(96-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD[((240-128))+rax] - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm10 - vpxor xmm3,xmm3,xmm0 - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm12,xmm12,xmm6 - vpsrld xmm5,xmm3,31 - vpaddd xmm3,xmm3,xmm3 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((160-128))+rax] - - vpslld xmm8,xmm12,5 - vpaddd xmm11,xmm11,xmm15 - vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD[(112-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD[((0-128))+rax] - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm14 - vpxor xmm4,xmm4,xmm1 - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm11,xmm11,xmm6 - vpsrld xmm5,xmm4,31 - vpaddd xmm4,xmm4,xmm4 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((176-128))+rax] - - vpslld xmm8,xmm11,5 - vpaddd xmm10,xmm10,xmm15 - vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD[(128-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD[((16-128))+rax] - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm6,xmm13 - vpxor xmm0,xmm0,xmm2 - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm10,xmm10,xmm6 - vpsrld xmm5,xmm0,31 - vpaddd xmm0,xmm0,xmm0 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((192-128))+rax] - - vpslld xmm8,xmm10,5 - vpaddd xmm14,xmm14,xmm15 - vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD[(144-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD[((32-128))+rax] - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm12 - vpxor xmm1,xmm1,xmm3 - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm14,xmm14,xmm6 - vpsrld xmm5,xmm1,31 - vpaddd xmm1,xmm1,xmm1 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((208-128))+rax] - - vpslld xmm8,xmm14,5 - vpaddd xmm13,xmm13,xmm15 - vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD[(160-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD[((48-128))+rax] - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm11 - vpxor xmm2,xmm2,xmm4 - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm13,xmm13,xmm6 - vpsrld xmm5,xmm2,31 - vpaddd xmm2,xmm2,xmm2 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((224-128))+rax] - - vpslld xmm8,xmm13,5 - vpaddd xmm12,xmm12,xmm15 - vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD[(176-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD[((64-128))+rax] - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm10 - vpxor xmm3,xmm3,xmm0 - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm12,xmm12,xmm6 - vpsrld xmm5,xmm3,31 - vpaddd xmm3,xmm3,xmm3 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((240-128))+rax] - - vpslld xmm8,xmm12,5 - vpaddd xmm11,xmm11,xmm15 - vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD[(192-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD[((80-128))+rax] - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm14 - vpxor xmm4,xmm4,xmm1 - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm11,xmm11,xmm6 - vpsrld xmm5,xmm4,31 - vpaddd xmm4,xmm4,xmm4 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((0-128))+rax] - - vpslld xmm8,xmm11,5 - vpaddd xmm10,xmm10,xmm15 - vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD[(208-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD[((96-128))+rax] - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm6,xmm13 - vpxor xmm0,xmm0,xmm2 - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm10,xmm10,xmm6 - vpsrld xmm5,xmm0,31 - vpaddd xmm0,xmm0,xmm0 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((16-128))+rax] - - vpslld xmm8,xmm10,5 - vpaddd xmm14,xmm14,xmm15 - vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD[(224-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD[((112-128))+rax] - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm12 - vpxor xmm1,xmm1,xmm3 - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm14,xmm14,xmm6 - vpsrld xmm5,xmm1,31 - vpaddd xmm1,xmm1,xmm1 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((32-128))+rax] - - vpslld xmm8,xmm14,5 - vpaddd xmm13,xmm13,xmm15 - vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD[(240-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD[((128-128))+rax] - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm11 - vpxor xmm2,xmm2,xmm4 - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm13,xmm13,xmm6 - vpsrld xmm5,xmm2,31 - vpaddd xmm2,xmm2,xmm2 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((48-128))+rax] - - vpslld xmm8,xmm13,5 - vpaddd xmm12,xmm12,xmm15 - vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD[(0-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD[((144-128))+rax] - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm10 - vpxor xmm3,xmm3,xmm0 - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm12,xmm12,xmm6 - vpsrld xmm5,xmm3,31 - vpaddd xmm3,xmm3,xmm3 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((64-128))+rax] - - vpslld xmm8,xmm12,5 - vpaddd xmm11,xmm11,xmm15 - vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD[(16-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD[((160-128))+rax] - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm14 - vpxor xmm4,xmm4,xmm1 - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm11,xmm11,xmm6 - vpsrld xmm5,xmm4,31 - vpaddd xmm4,xmm4,xmm4 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((80-128))+rax] - - vpslld xmm8,xmm11,5 - vpaddd xmm10,xmm10,xmm15 - vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD[(32-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD[((176-128))+rax] - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm6,xmm13 - vpxor xmm0,xmm0,xmm2 - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm10,xmm10,xmm6 - vpsrld xmm5,xmm0,31 - vpaddd xmm0,xmm0,xmm0 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((96-128))+rax] - - vpslld xmm8,xmm10,5 - vpaddd xmm14,xmm14,xmm15 - vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD[(48-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD[((192-128))+rax] - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm12 - vpxor xmm1,xmm1,xmm3 - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm14,xmm14,xmm6 - vpsrld xmm5,xmm1,31 - vpaddd xmm1,xmm1,xmm1 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((112-128))+rax] - - vpslld xmm8,xmm14,5 - vpaddd xmm13,xmm13,xmm15 - vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD[(64-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD[((208-128))+rax] - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm11 - vpxor xmm2,xmm2,xmm4 - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm13,xmm13,xmm6 - vpsrld xmm5,xmm2,31 - vpaddd xmm2,xmm2,xmm2 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((128-128))+rax] - - vpslld xmm8,xmm13,5 - vpaddd xmm12,xmm12,xmm15 - vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD[(80-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD[((224-128))+rax] - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm10 - vpxor xmm3,xmm3,xmm0 - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm12,xmm12,xmm6 - vpsrld xmm5,xmm3,31 - vpaddd xmm3,xmm3,xmm3 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((144-128))+rax] - - vpslld xmm8,xmm12,5 - vpaddd xmm11,xmm11,xmm15 - vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD[(96-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD[((240-128))+rax] - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm14 - vpxor xmm4,xmm4,xmm1 - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm11,xmm11,xmm6 - vpsrld xmm5,xmm4,31 - vpaddd xmm4,xmm4,xmm4 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((160-128))+rax] - - vpslld xmm8,xmm11,5 - vpaddd xmm10,xmm10,xmm15 - vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD[(112-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD[((0-128))+rax] - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm6,xmm13 - vpxor xmm0,xmm0,xmm2 - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm10,xmm10,xmm6 - vpsrld xmm5,xmm0,31 - vpaddd xmm0,xmm0,xmm0 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vmovdqa xmm15,XMMWORD[32+rbp] - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((176-128))+rax] - - vpaddd xmm14,xmm14,xmm15 - vpslld xmm8,xmm10,5 - vpand xmm7,xmm13,xmm12 - vpxor xmm1,xmm1,XMMWORD[((16-128))+rax] - - vpaddd xmm14,xmm14,xmm7 - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm13,xmm12 - vpxor xmm1,xmm1,xmm3 - - vmovdqu XMMWORD[(128-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm1,31 - vpand xmm6,xmm6,xmm11 - vpaddd xmm1,xmm1,xmm1 - - vpslld xmm7,xmm11,30 - vpaddd xmm14,xmm14,xmm6 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((192-128))+rax] - - vpaddd xmm13,xmm13,xmm15 - vpslld xmm8,xmm14,5 - vpand xmm7,xmm12,xmm11 - vpxor xmm2,xmm2,XMMWORD[((32-128))+rax] - - vpaddd xmm13,xmm13,xmm7 - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm12,xmm11 - vpxor xmm2,xmm2,xmm4 - - vmovdqu XMMWORD[(144-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm2,31 - vpand xmm6,xmm6,xmm10 - vpaddd xmm2,xmm2,xmm2 - - vpslld xmm7,xmm10,30 - vpaddd xmm13,xmm13,xmm6 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((208-128))+rax] - - vpaddd xmm12,xmm12,xmm15 - vpslld xmm8,xmm13,5 - vpand xmm7,xmm11,xmm10 - vpxor xmm3,xmm3,XMMWORD[((48-128))+rax] - - vpaddd xmm12,xmm12,xmm7 - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm11,xmm10 - vpxor xmm3,xmm3,xmm0 - - vmovdqu XMMWORD[(160-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm3,31 - vpand xmm6,xmm6,xmm14 - vpaddd xmm3,xmm3,xmm3 - - vpslld xmm7,xmm14,30 - vpaddd xmm12,xmm12,xmm6 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((224-128))+rax] - - vpaddd xmm11,xmm11,xmm15 - vpslld xmm8,xmm12,5 - vpand xmm7,xmm10,xmm14 - vpxor xmm4,xmm4,XMMWORD[((64-128))+rax] - - vpaddd xmm11,xmm11,xmm7 - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm10,xmm14 - vpxor xmm4,xmm4,xmm1 - - vmovdqu XMMWORD[(176-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm4,31 - vpand xmm6,xmm6,xmm13 - vpaddd xmm4,xmm4,xmm4 - - vpslld xmm7,xmm13,30 - vpaddd xmm11,xmm11,xmm6 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((240-128))+rax] - - vpaddd xmm10,xmm10,xmm15 - vpslld xmm8,xmm11,5 - vpand xmm7,xmm14,xmm13 - vpxor xmm0,xmm0,XMMWORD[((80-128))+rax] - - vpaddd xmm10,xmm10,xmm7 - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm14,xmm13 - vpxor xmm0,xmm0,xmm2 - - vmovdqu XMMWORD[(192-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm0,31 - vpand xmm6,xmm6,xmm12 - vpaddd xmm0,xmm0,xmm0 - - vpslld xmm7,xmm12,30 - vpaddd xmm10,xmm10,xmm6 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((0-128))+rax] - - vpaddd xmm14,xmm14,xmm15 - vpslld xmm8,xmm10,5 - vpand xmm7,xmm13,xmm12 - vpxor xmm1,xmm1,XMMWORD[((96-128))+rax] - - vpaddd xmm14,xmm14,xmm7 - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm13,xmm12 - vpxor xmm1,xmm1,xmm3 - - vmovdqu XMMWORD[(208-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm1,31 - vpand xmm6,xmm6,xmm11 - vpaddd xmm1,xmm1,xmm1 - - vpslld xmm7,xmm11,30 - vpaddd xmm14,xmm14,xmm6 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((16-128))+rax] - - vpaddd xmm13,xmm13,xmm15 - vpslld xmm8,xmm14,5 - vpand xmm7,xmm12,xmm11 - vpxor xmm2,xmm2,XMMWORD[((112-128))+rax] - - vpaddd xmm13,xmm13,xmm7 - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm12,xmm11 - vpxor xmm2,xmm2,xmm4 - - vmovdqu XMMWORD[(224-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm2,31 - vpand xmm6,xmm6,xmm10 - vpaddd xmm2,xmm2,xmm2 - - vpslld xmm7,xmm10,30 - vpaddd xmm13,xmm13,xmm6 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((32-128))+rax] - - vpaddd xmm12,xmm12,xmm15 - vpslld xmm8,xmm13,5 - vpand xmm7,xmm11,xmm10 - vpxor xmm3,xmm3,XMMWORD[((128-128))+rax] - - vpaddd xmm12,xmm12,xmm7 - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm11,xmm10 - vpxor xmm3,xmm3,xmm0 - - vmovdqu XMMWORD[(240-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm3,31 - vpand xmm6,xmm6,xmm14 - vpaddd xmm3,xmm3,xmm3 - - vpslld xmm7,xmm14,30 - vpaddd xmm12,xmm12,xmm6 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((48-128))+rax] - - vpaddd xmm11,xmm11,xmm15 - vpslld xmm8,xmm12,5 - vpand xmm7,xmm10,xmm14 - vpxor xmm4,xmm4,XMMWORD[((144-128))+rax] - - vpaddd xmm11,xmm11,xmm7 - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm10,xmm14 - vpxor xmm4,xmm4,xmm1 - - vmovdqu XMMWORD[(0-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm4,31 - vpand xmm6,xmm6,xmm13 - vpaddd xmm4,xmm4,xmm4 - - vpslld xmm7,xmm13,30 - vpaddd xmm11,xmm11,xmm6 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((64-128))+rax] - - vpaddd xmm10,xmm10,xmm15 - vpslld xmm8,xmm11,5 - vpand xmm7,xmm14,xmm13 - vpxor xmm0,xmm0,XMMWORD[((160-128))+rax] - - vpaddd xmm10,xmm10,xmm7 - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm14,xmm13 - vpxor xmm0,xmm0,xmm2 - - vmovdqu XMMWORD[(16-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm0,31 - vpand xmm6,xmm6,xmm12 - vpaddd xmm0,xmm0,xmm0 - - vpslld xmm7,xmm12,30 - vpaddd xmm10,xmm10,xmm6 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((80-128))+rax] - - vpaddd xmm14,xmm14,xmm15 - vpslld xmm8,xmm10,5 - vpand xmm7,xmm13,xmm12 - vpxor xmm1,xmm1,XMMWORD[((176-128))+rax] - - vpaddd xmm14,xmm14,xmm7 - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm13,xmm12 - vpxor xmm1,xmm1,xmm3 - - vmovdqu XMMWORD[(32-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm1,31 - vpand xmm6,xmm6,xmm11 - vpaddd xmm1,xmm1,xmm1 - - vpslld xmm7,xmm11,30 - vpaddd xmm14,xmm14,xmm6 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((96-128))+rax] - - vpaddd xmm13,xmm13,xmm15 - vpslld xmm8,xmm14,5 - vpand xmm7,xmm12,xmm11 - vpxor xmm2,xmm2,XMMWORD[((192-128))+rax] - - vpaddd xmm13,xmm13,xmm7 - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm12,xmm11 - vpxor xmm2,xmm2,xmm4 - - vmovdqu XMMWORD[(48-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm2,31 - vpand xmm6,xmm6,xmm10 - vpaddd xmm2,xmm2,xmm2 - - vpslld xmm7,xmm10,30 - vpaddd xmm13,xmm13,xmm6 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((112-128))+rax] - - vpaddd xmm12,xmm12,xmm15 - vpslld xmm8,xmm13,5 - vpand xmm7,xmm11,xmm10 - vpxor xmm3,xmm3,XMMWORD[((208-128))+rax] - - vpaddd xmm12,xmm12,xmm7 - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm11,xmm10 - vpxor xmm3,xmm3,xmm0 - - vmovdqu XMMWORD[(64-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm3,31 - vpand xmm6,xmm6,xmm14 - vpaddd xmm3,xmm3,xmm3 - - vpslld xmm7,xmm14,30 - vpaddd xmm12,xmm12,xmm6 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((128-128))+rax] - - vpaddd xmm11,xmm11,xmm15 - vpslld xmm8,xmm12,5 - vpand xmm7,xmm10,xmm14 - vpxor xmm4,xmm4,XMMWORD[((224-128))+rax] - - vpaddd xmm11,xmm11,xmm7 - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm10,xmm14 - vpxor xmm4,xmm4,xmm1 - - vmovdqu XMMWORD[(80-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm4,31 - vpand xmm6,xmm6,xmm13 - vpaddd xmm4,xmm4,xmm4 - - vpslld xmm7,xmm13,30 - vpaddd xmm11,xmm11,xmm6 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((144-128))+rax] - - vpaddd xmm10,xmm10,xmm15 - vpslld xmm8,xmm11,5 - vpand xmm7,xmm14,xmm13 - vpxor xmm0,xmm0,XMMWORD[((240-128))+rax] - - vpaddd xmm10,xmm10,xmm7 - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm14,xmm13 - vpxor xmm0,xmm0,xmm2 - - vmovdqu XMMWORD[(96-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm0,31 - vpand xmm6,xmm6,xmm12 - vpaddd xmm0,xmm0,xmm0 - - vpslld xmm7,xmm12,30 - vpaddd xmm10,xmm10,xmm6 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((160-128))+rax] - - vpaddd xmm14,xmm14,xmm15 - vpslld xmm8,xmm10,5 - vpand xmm7,xmm13,xmm12 - vpxor xmm1,xmm1,XMMWORD[((0-128))+rax] - - vpaddd xmm14,xmm14,xmm7 - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm13,xmm12 - vpxor xmm1,xmm1,xmm3 - - vmovdqu XMMWORD[(112-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm1,31 - vpand xmm6,xmm6,xmm11 - vpaddd xmm1,xmm1,xmm1 - - vpslld xmm7,xmm11,30 - vpaddd xmm14,xmm14,xmm6 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((176-128))+rax] - - vpaddd xmm13,xmm13,xmm15 - vpslld xmm8,xmm14,5 - vpand xmm7,xmm12,xmm11 - vpxor xmm2,xmm2,XMMWORD[((16-128))+rax] - - vpaddd xmm13,xmm13,xmm7 - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm12,xmm11 - vpxor xmm2,xmm2,xmm4 - - vmovdqu XMMWORD[(128-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm2,31 - vpand xmm6,xmm6,xmm10 - vpaddd xmm2,xmm2,xmm2 - - vpslld xmm7,xmm10,30 - vpaddd xmm13,xmm13,xmm6 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((192-128))+rax] - - vpaddd xmm12,xmm12,xmm15 - vpslld xmm8,xmm13,5 - vpand xmm7,xmm11,xmm10 - vpxor xmm3,xmm3,XMMWORD[((32-128))+rax] - - vpaddd xmm12,xmm12,xmm7 - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm11,xmm10 - vpxor xmm3,xmm3,xmm0 - - vmovdqu XMMWORD[(144-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm3,31 - vpand xmm6,xmm6,xmm14 - vpaddd xmm3,xmm3,xmm3 - - vpslld xmm7,xmm14,30 - vpaddd xmm12,xmm12,xmm6 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((208-128))+rax] - - vpaddd xmm11,xmm11,xmm15 - vpslld xmm8,xmm12,5 - vpand xmm7,xmm10,xmm14 - vpxor xmm4,xmm4,XMMWORD[((48-128))+rax] - - vpaddd xmm11,xmm11,xmm7 - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm10,xmm14 - vpxor xmm4,xmm4,xmm1 - - vmovdqu XMMWORD[(160-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm4,31 - vpand xmm6,xmm6,xmm13 - vpaddd xmm4,xmm4,xmm4 - - vpslld xmm7,xmm13,30 - vpaddd xmm11,xmm11,xmm6 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((224-128))+rax] - - vpaddd xmm10,xmm10,xmm15 - vpslld xmm8,xmm11,5 - vpand xmm7,xmm14,xmm13 - vpxor xmm0,xmm0,XMMWORD[((64-128))+rax] - - vpaddd xmm10,xmm10,xmm7 - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm14,xmm13 - vpxor xmm0,xmm0,xmm2 - - vmovdqu XMMWORD[(176-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpor xmm8,xmm8,xmm9 - vpsrld xmm5,xmm0,31 - vpand xmm6,xmm6,xmm12 - vpaddd xmm0,xmm0,xmm0 - - vpslld xmm7,xmm12,30 - vpaddd xmm10,xmm10,xmm6 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vmovdqa xmm15,XMMWORD[64+rbp] - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((240-128))+rax] - - vpslld xmm8,xmm10,5 - vpaddd xmm14,xmm14,xmm15 - vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD[(192-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD[((80-128))+rax] - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm12 - vpxor xmm1,xmm1,xmm3 - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm14,xmm14,xmm6 - vpsrld xmm5,xmm1,31 - vpaddd xmm1,xmm1,xmm1 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((0-128))+rax] - - vpslld xmm8,xmm14,5 - vpaddd xmm13,xmm13,xmm15 - vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD[(208-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD[((96-128))+rax] - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm11 - vpxor xmm2,xmm2,xmm4 - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm13,xmm13,xmm6 - vpsrld xmm5,xmm2,31 - vpaddd xmm2,xmm2,xmm2 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((16-128))+rax] - - vpslld xmm8,xmm13,5 - vpaddd xmm12,xmm12,xmm15 - vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD[(224-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD[((112-128))+rax] - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm10 - vpxor xmm3,xmm3,xmm0 - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm12,xmm12,xmm6 - vpsrld xmm5,xmm3,31 - vpaddd xmm3,xmm3,xmm3 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((32-128))+rax] - - vpslld xmm8,xmm12,5 - vpaddd xmm11,xmm11,xmm15 - vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD[(240-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD[((128-128))+rax] - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm14 - vpxor xmm4,xmm4,xmm1 - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm11,xmm11,xmm6 - vpsrld xmm5,xmm4,31 - vpaddd xmm4,xmm4,xmm4 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((48-128))+rax] - - vpslld xmm8,xmm11,5 - vpaddd xmm10,xmm10,xmm15 - vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD[(0-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD[((144-128))+rax] - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm6,xmm13 - vpxor xmm0,xmm0,xmm2 - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm10,xmm10,xmm6 - vpsrld xmm5,xmm0,31 - vpaddd xmm0,xmm0,xmm0 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((64-128))+rax] - - vpslld xmm8,xmm10,5 - vpaddd xmm14,xmm14,xmm15 - vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD[(16-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD[((160-128))+rax] - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm12 - vpxor xmm1,xmm1,xmm3 - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm14,xmm14,xmm6 - vpsrld xmm5,xmm1,31 - vpaddd xmm1,xmm1,xmm1 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((80-128))+rax] - - vpslld xmm8,xmm14,5 - vpaddd xmm13,xmm13,xmm15 - vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD[(32-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD[((176-128))+rax] - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm11 - vpxor xmm2,xmm2,xmm4 - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm13,xmm13,xmm6 - vpsrld xmm5,xmm2,31 - vpaddd xmm2,xmm2,xmm2 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((96-128))+rax] - - vpslld xmm8,xmm13,5 - vpaddd xmm12,xmm12,xmm15 - vpxor xmm6,xmm11,xmm14 - vmovdqa XMMWORD[(48-128)+rax],xmm2 - vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD[((192-128))+rax] - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm10 - vpxor xmm3,xmm3,xmm0 - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm12,xmm12,xmm6 - vpsrld xmm5,xmm3,31 - vpaddd xmm3,xmm3,xmm3 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((112-128))+rax] - - vpslld xmm8,xmm12,5 - vpaddd xmm11,xmm11,xmm15 - vpxor xmm6,xmm10,xmm13 - vmovdqa XMMWORD[(64-128)+rax],xmm3 - vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD[((208-128))+rax] - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm14 - vpxor xmm4,xmm4,xmm1 - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm11,xmm11,xmm6 - vpsrld xmm5,xmm4,31 - vpaddd xmm4,xmm4,xmm4 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((128-128))+rax] - - vpslld xmm8,xmm11,5 - vpaddd xmm10,xmm10,xmm15 - vpxor xmm6,xmm14,xmm12 - vmovdqa XMMWORD[(80-128)+rax],xmm4 - vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD[((224-128))+rax] - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm6,xmm13 - vpxor xmm0,xmm0,xmm2 - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm10,xmm10,xmm6 - vpsrld xmm5,xmm0,31 - vpaddd xmm0,xmm0,xmm0 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((144-128))+rax] - - vpslld xmm8,xmm10,5 - vpaddd xmm14,xmm14,xmm15 - vpxor xmm6,xmm13,xmm11 - vmovdqa XMMWORD[(96-128)+rax],xmm0 - vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD[((240-128))+rax] - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm12 - vpxor xmm1,xmm1,xmm3 - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm14,xmm14,xmm6 - vpsrld xmm5,xmm1,31 - vpaddd xmm1,xmm1,xmm1 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((160-128))+rax] - - vpslld xmm8,xmm14,5 - vpaddd xmm13,xmm13,xmm15 - vpxor xmm6,xmm12,xmm10 - vmovdqa XMMWORD[(112-128)+rax],xmm1 - vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD[((0-128))+rax] - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm11 - vpxor xmm2,xmm2,xmm4 - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm13,xmm13,xmm6 - vpsrld xmm5,xmm2,31 - vpaddd xmm2,xmm2,xmm2 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((176-128))+rax] - - vpslld xmm8,xmm13,5 - vpaddd xmm12,xmm12,xmm15 - vpxor xmm6,xmm11,xmm14 - vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD[((16-128))+rax] - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm10 - vpxor xmm3,xmm3,xmm0 - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm12,xmm12,xmm6 - vpsrld xmm5,xmm3,31 - vpaddd xmm3,xmm3,xmm3 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((192-128))+rax] - - vpslld xmm8,xmm12,5 - vpaddd xmm11,xmm11,xmm15 - vpxor xmm6,xmm10,xmm13 - vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD[((32-128))+rax] - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm14 - vpxor xmm4,xmm4,xmm1 - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm11,xmm11,xmm6 - vpsrld xmm5,xmm4,31 - vpaddd xmm4,xmm4,xmm4 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpxor xmm0,xmm0,xmm2 - vmovdqa xmm2,XMMWORD[((208-128))+rax] - - vpslld xmm8,xmm11,5 - vpaddd xmm10,xmm10,xmm15 - vpxor xmm6,xmm14,xmm12 - vpaddd xmm10,xmm10,xmm4 - vpxor xmm0,xmm0,XMMWORD[((48-128))+rax] - vpsrld xmm9,xmm11,27 - vpxor xmm6,xmm6,xmm13 - vpxor xmm0,xmm0,xmm2 - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm10,xmm10,xmm6 - vpsrld xmm5,xmm0,31 - vpaddd xmm0,xmm0,xmm0 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm0,xmm0,xmm5 - vpor xmm12,xmm12,xmm7 - vpxor xmm1,xmm1,xmm3 - vmovdqa xmm3,XMMWORD[((224-128))+rax] - - vpslld xmm8,xmm10,5 - vpaddd xmm14,xmm14,xmm15 - vpxor xmm6,xmm13,xmm11 - vpaddd xmm14,xmm14,xmm0 - vpxor xmm1,xmm1,XMMWORD[((64-128))+rax] - vpsrld xmm9,xmm10,27 - vpxor xmm6,xmm6,xmm12 - vpxor xmm1,xmm1,xmm3 - - vpslld xmm7,xmm11,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm14,xmm14,xmm6 - vpsrld xmm5,xmm1,31 - vpaddd xmm1,xmm1,xmm1 - - vpsrld xmm11,xmm11,2 - vpaddd xmm14,xmm14,xmm8 - vpor xmm1,xmm1,xmm5 - vpor xmm11,xmm11,xmm7 - vpxor xmm2,xmm2,xmm4 - vmovdqa xmm4,XMMWORD[((240-128))+rax] - - vpslld xmm8,xmm14,5 - vpaddd xmm13,xmm13,xmm15 - vpxor xmm6,xmm12,xmm10 - vpaddd xmm13,xmm13,xmm1 - vpxor xmm2,xmm2,XMMWORD[((80-128))+rax] - vpsrld xmm9,xmm14,27 - vpxor xmm6,xmm6,xmm11 - vpxor xmm2,xmm2,xmm4 - - vpslld xmm7,xmm10,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm13,xmm13,xmm6 - vpsrld xmm5,xmm2,31 - vpaddd xmm2,xmm2,xmm2 - - vpsrld xmm10,xmm10,2 - vpaddd xmm13,xmm13,xmm8 - vpor xmm2,xmm2,xmm5 - vpor xmm10,xmm10,xmm7 - vpxor xmm3,xmm3,xmm0 - vmovdqa xmm0,XMMWORD[((0-128))+rax] - - vpslld xmm8,xmm13,5 - vpaddd xmm12,xmm12,xmm15 - vpxor xmm6,xmm11,xmm14 - vpaddd xmm12,xmm12,xmm2 - vpxor xmm3,xmm3,XMMWORD[((96-128))+rax] - vpsrld xmm9,xmm13,27 - vpxor xmm6,xmm6,xmm10 - vpxor xmm3,xmm3,xmm0 - - vpslld xmm7,xmm14,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm12,xmm12,xmm6 - vpsrld xmm5,xmm3,31 - vpaddd xmm3,xmm3,xmm3 - - vpsrld xmm14,xmm14,2 - vpaddd xmm12,xmm12,xmm8 - vpor xmm3,xmm3,xmm5 - vpor xmm14,xmm14,xmm7 - vpxor xmm4,xmm4,xmm1 - vmovdqa xmm1,XMMWORD[((16-128))+rax] - - vpslld xmm8,xmm12,5 - vpaddd xmm11,xmm11,xmm15 - vpxor xmm6,xmm10,xmm13 - vpaddd xmm11,xmm11,xmm3 - vpxor xmm4,xmm4,XMMWORD[((112-128))+rax] - vpsrld xmm9,xmm12,27 - vpxor xmm6,xmm6,xmm14 - vpxor xmm4,xmm4,xmm1 - - vpslld xmm7,xmm13,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm11,xmm11,xmm6 - vpsrld xmm5,xmm4,31 - vpaddd xmm4,xmm4,xmm4 - - vpsrld xmm13,xmm13,2 - vpaddd xmm11,xmm11,xmm8 - vpor xmm4,xmm4,xmm5 - vpor xmm13,xmm13,xmm7 - vpslld xmm8,xmm11,5 - vpaddd xmm10,xmm10,xmm15 - vpxor xmm6,xmm14,xmm12 - - vpsrld xmm9,xmm11,27 - vpaddd xmm10,xmm10,xmm4 - vpxor xmm6,xmm6,xmm13 - - vpslld xmm7,xmm12,30 - vpor xmm8,xmm8,xmm9 - vpaddd xmm10,xmm10,xmm6 - - vpsrld xmm12,xmm12,2 - vpaddd xmm10,xmm10,xmm8 - vpor xmm12,xmm12,xmm7 - mov ecx,1 - cmp ecx,DWORD[rbx] - cmovge r8,rbp - cmp ecx,DWORD[4+rbx] - cmovge r9,rbp - cmp ecx,DWORD[8+rbx] - cmovge r10,rbp - cmp ecx,DWORD[12+rbx] - cmovge r11,rbp - vmovdqu xmm6,XMMWORD[rbx] - vpxor xmm8,xmm8,xmm8 - vmovdqa xmm7,xmm6 - vpcmpgtd xmm7,xmm7,xmm8 - vpaddd xmm6,xmm6,xmm7 - - vpand xmm10,xmm10,xmm7 - vpand xmm11,xmm11,xmm7 - vpaddd xmm10,xmm10,XMMWORD[rdi] - vpand xmm12,xmm12,xmm7 - vpaddd xmm11,xmm11,XMMWORD[32+rdi] - vpand xmm13,xmm13,xmm7 - vpaddd xmm12,xmm12,XMMWORD[64+rdi] - vpand xmm14,xmm14,xmm7 - vpaddd xmm13,xmm13,XMMWORD[96+rdi] - vpaddd xmm14,xmm14,XMMWORD[128+rdi] - vmovdqu XMMWORD[rdi],xmm10 - vmovdqu XMMWORD[32+rdi],xmm11 - vmovdqu XMMWORD[64+rdi],xmm12 - vmovdqu XMMWORD[96+rdi],xmm13 - vmovdqu XMMWORD[128+rdi],xmm14 - - vmovdqu XMMWORD[rbx],xmm6 - vmovdqu xmm5,XMMWORD[96+rbp] - dec edx - jnz NEAR $L$oop_avx - - mov edx,DWORD[280+rsp] - lea rdi,[16+rdi] - lea rsi,[64+rsi] - dec edx - jnz NEAR $L$oop_grande_avx - -$L$done_avx: - mov rax,QWORD[272+rsp] - vzeroupper - movaps xmm6,XMMWORD[((-184))+rax] - movaps xmm7,XMMWORD[((-168))+rax] - movaps xmm8,XMMWORD[((-152))+rax] - movaps xmm9,XMMWORD[((-136))+rax] - movaps xmm10,XMMWORD[((-120))+rax] - movaps xmm11,XMMWORD[((-104))+rax] - movaps xmm12,XMMWORD[((-88))+rax] - movaps xmm13,XMMWORD[((-72))+rax] - movaps xmm14,XMMWORD[((-56))+rax] - movaps xmm15,XMMWORD[((-40))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$epilogue_avx: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_multi_block_avx: - -ALIGN 32 -sha1_multi_block_avx2: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha1_multi_block_avx2: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_avx2_shortcut: - mov rax,rsp - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[64+rsp],xmm10 - movaps XMMWORD[80+rsp],xmm11 - movaps XMMWORD[(-120)+rax],xmm12 - movaps XMMWORD[(-104)+rax],xmm13 - movaps XMMWORD[(-88)+rax],xmm14 - movaps XMMWORD[(-72)+rax],xmm15 - sub rsp,576 - and rsp,-256 - mov QWORD[544+rsp],rax -$L$body_avx2: - lea rbp,[K_XX_XX] - shr edx,1 - - vzeroupper -$L$oop_grande_avx2: - mov DWORD[552+rsp],edx - xor edx,edx - lea rbx,[512+rsp] - mov r12,QWORD[rsi] - mov ecx,DWORD[8+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[rbx],ecx - cmovle r12,rbp - mov r13,QWORD[16+rsi] - mov ecx,DWORD[24+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[4+rbx],ecx - cmovle r13,rbp - mov r14,QWORD[32+rsi] - mov ecx,DWORD[40+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[8+rbx],ecx - cmovle r14,rbp - mov r15,QWORD[48+rsi] - mov ecx,DWORD[56+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[12+rbx],ecx - cmovle r15,rbp - mov r8,QWORD[64+rsi] - mov ecx,DWORD[72+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[16+rbx],ecx - cmovle r8,rbp - mov r9,QWORD[80+rsi] - mov ecx,DWORD[88+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[20+rbx],ecx - cmovle r9,rbp - mov r10,QWORD[96+rsi] - mov ecx,DWORD[104+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[24+rbx],ecx - cmovle r10,rbp - mov r11,QWORD[112+rsi] - mov ecx,DWORD[120+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[28+rbx],ecx - cmovle r11,rbp - vmovdqu ymm0,YMMWORD[rdi] - lea rax,[128+rsp] - vmovdqu ymm1,YMMWORD[32+rdi] - lea rbx,[((256+128))+rsp] - vmovdqu ymm2,YMMWORD[64+rdi] - vmovdqu ymm3,YMMWORD[96+rdi] - vmovdqu ymm4,YMMWORD[128+rdi] - vmovdqu ymm9,YMMWORD[96+rbp] - jmp NEAR $L$oop_avx2 - -ALIGN 32 -$L$oop_avx2: - vmovdqa ymm15,YMMWORD[((-32))+rbp] - vmovd xmm10,DWORD[r12] - lea r12,[64+r12] - vmovd xmm12,DWORD[r8] - lea r8,[64+r8] - vmovd xmm7,DWORD[r13] - lea r13,[64+r13] - vmovd xmm6,DWORD[r9] - lea r9,[64+r9] - vpinsrd xmm10,xmm10,DWORD[r14],1 - lea r14,[64+r14] - vpinsrd xmm12,xmm12,DWORD[r10],1 - lea r10,[64+r10] - vpinsrd xmm7,xmm7,DWORD[r15],1 - lea r15,[64+r15] - vpunpckldq ymm10,ymm10,ymm7 - vpinsrd xmm6,xmm6,DWORD[r11],1 - lea r11,[64+r11] - vpunpckldq ymm12,ymm12,ymm6 - vmovd xmm11,DWORD[((-60))+r12] - vinserti128 ymm10,ymm10,xmm12,1 - vmovd xmm8,DWORD[((-60))+r8] - vpshufb ymm10,ymm10,ymm9 - vmovd xmm7,DWORD[((-60))+r13] - vmovd xmm6,DWORD[((-60))+r9] - vpinsrd xmm11,xmm11,DWORD[((-60))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-60))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-60))+r15],1 - vpunpckldq ymm11,ymm11,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-60))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm4,ymm4,ymm15 - vpslld ymm7,ymm0,5 - vpandn ymm6,ymm1,ymm3 - vpand ymm5,ymm1,ymm2 - - vmovdqa YMMWORD[(0-128)+rax],ymm10 - vpaddd ymm4,ymm4,ymm10 - vinserti128 ymm11,ymm11,xmm8,1 - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm12,DWORD[((-56))+r12] - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-56))+r8] - vpaddd ymm4,ymm4,ymm5 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpshufb ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vmovd xmm7,DWORD[((-56))+r13] - vmovd xmm6,DWORD[((-56))+r9] - vpinsrd xmm12,xmm12,DWORD[((-56))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-56))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-56))+r15],1 - vpunpckldq ymm12,ymm12,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-56))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm3,ymm3,ymm15 - vpslld ymm7,ymm4,5 - vpandn ymm6,ymm0,ymm2 - vpand ymm5,ymm0,ymm1 - - vmovdqa YMMWORD[(32-128)+rax],ymm11 - vpaddd ymm3,ymm3,ymm11 - vinserti128 ymm12,ymm12,xmm8,1 - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm13,DWORD[((-52))+r12] - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-52))+r8] - vpaddd ymm3,ymm3,ymm5 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpshufb ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vmovd xmm7,DWORD[((-52))+r13] - vmovd xmm6,DWORD[((-52))+r9] - vpinsrd xmm13,xmm13,DWORD[((-52))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-52))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-52))+r15],1 - vpunpckldq ymm13,ymm13,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-52))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm2,ymm2,ymm15 - vpslld ymm7,ymm3,5 - vpandn ymm6,ymm4,ymm1 - vpand ymm5,ymm4,ymm0 - - vmovdqa YMMWORD[(64-128)+rax],ymm12 - vpaddd ymm2,ymm2,ymm12 - vinserti128 ymm13,ymm13,xmm8,1 - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm14,DWORD[((-48))+r12] - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-48))+r8] - vpaddd ymm2,ymm2,ymm5 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpshufb ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vmovd xmm7,DWORD[((-48))+r13] - vmovd xmm6,DWORD[((-48))+r9] - vpinsrd xmm14,xmm14,DWORD[((-48))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-48))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-48))+r15],1 - vpunpckldq ymm14,ymm14,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-48))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm1,ymm1,ymm15 - vpslld ymm7,ymm2,5 - vpandn ymm6,ymm3,ymm0 - vpand ymm5,ymm3,ymm4 - - vmovdqa YMMWORD[(96-128)+rax],ymm13 - vpaddd ymm1,ymm1,ymm13 - vinserti128 ymm14,ymm14,xmm8,1 - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm10,DWORD[((-44))+r12] - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-44))+r8] - vpaddd ymm1,ymm1,ymm5 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpshufb ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vmovd xmm7,DWORD[((-44))+r13] - vmovd xmm6,DWORD[((-44))+r9] - vpinsrd xmm10,xmm10,DWORD[((-44))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-44))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-44))+r15],1 - vpunpckldq ymm10,ymm10,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-44))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm0,ymm0,ymm15 - vpslld ymm7,ymm1,5 - vpandn ymm6,ymm2,ymm4 - vpand ymm5,ymm2,ymm3 - - vmovdqa YMMWORD[(128-128)+rax],ymm14 - vpaddd ymm0,ymm0,ymm14 - vinserti128 ymm10,ymm10,xmm8,1 - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm11,DWORD[((-40))+r12] - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-40))+r8] - vpaddd ymm0,ymm0,ymm5 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpshufb ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vmovd xmm7,DWORD[((-40))+r13] - vmovd xmm6,DWORD[((-40))+r9] - vpinsrd xmm11,xmm11,DWORD[((-40))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-40))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-40))+r15],1 - vpunpckldq ymm11,ymm11,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-40))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm4,ymm4,ymm15 - vpslld ymm7,ymm0,5 - vpandn ymm6,ymm1,ymm3 - vpand ymm5,ymm1,ymm2 - - vmovdqa YMMWORD[(160-128)+rax],ymm10 - vpaddd ymm4,ymm4,ymm10 - vinserti128 ymm11,ymm11,xmm8,1 - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm12,DWORD[((-36))+r12] - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-36))+r8] - vpaddd ymm4,ymm4,ymm5 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpshufb ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vmovd xmm7,DWORD[((-36))+r13] - vmovd xmm6,DWORD[((-36))+r9] - vpinsrd xmm12,xmm12,DWORD[((-36))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-36))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-36))+r15],1 - vpunpckldq ymm12,ymm12,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-36))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm3,ymm3,ymm15 - vpslld ymm7,ymm4,5 - vpandn ymm6,ymm0,ymm2 - vpand ymm5,ymm0,ymm1 - - vmovdqa YMMWORD[(192-128)+rax],ymm11 - vpaddd ymm3,ymm3,ymm11 - vinserti128 ymm12,ymm12,xmm8,1 - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm13,DWORD[((-32))+r12] - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-32))+r8] - vpaddd ymm3,ymm3,ymm5 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpshufb ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vmovd xmm7,DWORD[((-32))+r13] - vmovd xmm6,DWORD[((-32))+r9] - vpinsrd xmm13,xmm13,DWORD[((-32))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-32))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-32))+r15],1 - vpunpckldq ymm13,ymm13,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-32))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm2,ymm2,ymm15 - vpslld ymm7,ymm3,5 - vpandn ymm6,ymm4,ymm1 - vpand ymm5,ymm4,ymm0 - - vmovdqa YMMWORD[(224-128)+rax],ymm12 - vpaddd ymm2,ymm2,ymm12 - vinserti128 ymm13,ymm13,xmm8,1 - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm14,DWORD[((-28))+r12] - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-28))+r8] - vpaddd ymm2,ymm2,ymm5 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpshufb ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vmovd xmm7,DWORD[((-28))+r13] - vmovd xmm6,DWORD[((-28))+r9] - vpinsrd xmm14,xmm14,DWORD[((-28))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-28))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-28))+r15],1 - vpunpckldq ymm14,ymm14,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-28))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm1,ymm1,ymm15 - vpslld ymm7,ymm2,5 - vpandn ymm6,ymm3,ymm0 - vpand ymm5,ymm3,ymm4 - - vmovdqa YMMWORD[(256-256-128)+rbx],ymm13 - vpaddd ymm1,ymm1,ymm13 - vinserti128 ymm14,ymm14,xmm8,1 - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm10,DWORD[((-24))+r12] - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-24))+r8] - vpaddd ymm1,ymm1,ymm5 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpshufb ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vmovd xmm7,DWORD[((-24))+r13] - vmovd xmm6,DWORD[((-24))+r9] - vpinsrd xmm10,xmm10,DWORD[((-24))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-24))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-24))+r15],1 - vpunpckldq ymm10,ymm10,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-24))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm0,ymm0,ymm15 - vpslld ymm7,ymm1,5 - vpandn ymm6,ymm2,ymm4 - vpand ymm5,ymm2,ymm3 - - vmovdqa YMMWORD[(288-256-128)+rbx],ymm14 - vpaddd ymm0,ymm0,ymm14 - vinserti128 ymm10,ymm10,xmm8,1 - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm11,DWORD[((-20))+r12] - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-20))+r8] - vpaddd ymm0,ymm0,ymm5 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpshufb ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vmovd xmm7,DWORD[((-20))+r13] - vmovd xmm6,DWORD[((-20))+r9] - vpinsrd xmm11,xmm11,DWORD[((-20))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-20))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-20))+r15],1 - vpunpckldq ymm11,ymm11,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-20))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm4,ymm4,ymm15 - vpslld ymm7,ymm0,5 - vpandn ymm6,ymm1,ymm3 - vpand ymm5,ymm1,ymm2 - - vmovdqa YMMWORD[(320-256-128)+rbx],ymm10 - vpaddd ymm4,ymm4,ymm10 - vinserti128 ymm11,ymm11,xmm8,1 - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm12,DWORD[((-16))+r12] - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-16))+r8] - vpaddd ymm4,ymm4,ymm5 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpshufb ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vmovd xmm7,DWORD[((-16))+r13] - vmovd xmm6,DWORD[((-16))+r9] - vpinsrd xmm12,xmm12,DWORD[((-16))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-16))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-16))+r15],1 - vpunpckldq ymm12,ymm12,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-16))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm3,ymm3,ymm15 - vpslld ymm7,ymm4,5 - vpandn ymm6,ymm0,ymm2 - vpand ymm5,ymm0,ymm1 - - vmovdqa YMMWORD[(352-256-128)+rbx],ymm11 - vpaddd ymm3,ymm3,ymm11 - vinserti128 ymm12,ymm12,xmm8,1 - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm13,DWORD[((-12))+r12] - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-12))+r8] - vpaddd ymm3,ymm3,ymm5 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpshufb ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vmovd xmm7,DWORD[((-12))+r13] - vmovd xmm6,DWORD[((-12))+r9] - vpinsrd xmm13,xmm13,DWORD[((-12))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-12))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-12))+r15],1 - vpunpckldq ymm13,ymm13,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-12))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm2,ymm2,ymm15 - vpslld ymm7,ymm3,5 - vpandn ymm6,ymm4,ymm1 - vpand ymm5,ymm4,ymm0 - - vmovdqa YMMWORD[(384-256-128)+rbx],ymm12 - vpaddd ymm2,ymm2,ymm12 - vinserti128 ymm13,ymm13,xmm8,1 - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm14,DWORD[((-8))+r12] - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-8))+r8] - vpaddd ymm2,ymm2,ymm5 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpshufb ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vmovd xmm7,DWORD[((-8))+r13] - vmovd xmm6,DWORD[((-8))+r9] - vpinsrd xmm14,xmm14,DWORD[((-8))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-8))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-8))+r15],1 - vpunpckldq ymm14,ymm14,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-8))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm1,ymm1,ymm15 - vpslld ymm7,ymm2,5 - vpandn ymm6,ymm3,ymm0 - vpand ymm5,ymm3,ymm4 - - vmovdqa YMMWORD[(416-256-128)+rbx],ymm13 - vpaddd ymm1,ymm1,ymm13 - vinserti128 ymm14,ymm14,xmm8,1 - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm6 - vmovd xmm10,DWORD[((-4))+r12] - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vmovd xmm8,DWORD[((-4))+r8] - vpaddd ymm1,ymm1,ymm5 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpshufb ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vmovdqa ymm11,YMMWORD[((0-128))+rax] - vmovd xmm7,DWORD[((-4))+r13] - vmovd xmm6,DWORD[((-4))+r9] - vpinsrd xmm10,xmm10,DWORD[((-4))+r14],1 - vpinsrd xmm8,xmm8,DWORD[((-4))+r10],1 - vpinsrd xmm7,xmm7,DWORD[((-4))+r15],1 - vpunpckldq ymm10,ymm10,ymm7 - vpinsrd xmm6,xmm6,DWORD[((-4))+r11],1 - vpunpckldq ymm8,ymm8,ymm6 - vpaddd ymm0,ymm0,ymm15 - prefetcht0 [63+r12] - vpslld ymm7,ymm1,5 - vpandn ymm6,ymm2,ymm4 - vpand ymm5,ymm2,ymm3 - - vmovdqa YMMWORD[(448-256-128)+rbx],ymm14 - vpaddd ymm0,ymm0,ymm14 - vinserti128 ymm10,ymm10,xmm8,1 - vpsrld ymm8,ymm1,27 - prefetcht0 [63+r13] - vpxor ymm5,ymm5,ymm6 - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - prefetcht0 [63+r14] - vpaddd ymm0,ymm0,ymm5 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - prefetcht0 [63+r15] - vpshufb ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vmovdqa ymm12,YMMWORD[((32-128))+rax] - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((64-128))+rax] - - vpaddd ymm4,ymm4,ymm15 - vpslld ymm7,ymm0,5 - vpandn ymm6,ymm1,ymm3 - prefetcht0 [63+r8] - vpand ymm5,ymm1,ymm2 - - vmovdqa YMMWORD[(480-256-128)+rbx],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD[((256-256-128))+rbx] - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm6 - vpxor ymm11,ymm11,ymm13 - prefetcht0 [63+r9] - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm4,ymm4,ymm5 - prefetcht0 [63+r10] - vpsrld ymm9,ymm11,31 - vpaddd ymm11,ymm11,ymm11 - - vpsrld ymm1,ymm1,2 - prefetcht0 [63+r11] - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((96-128))+rax] - - vpaddd ymm3,ymm3,ymm15 - vpslld ymm7,ymm4,5 - vpandn ymm6,ymm0,ymm2 - - vpand ymm5,ymm0,ymm1 - - vmovdqa YMMWORD[(0-128)+rax],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD[((288-256-128))+rbx] - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm6 - vpxor ymm12,ymm12,ymm14 - - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm3,ymm3,ymm5 - - vpsrld ymm9,ymm12,31 - vpaddd ymm12,ymm12,ymm12 - - vpsrld ymm0,ymm0,2 - - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((128-128))+rax] - - vpaddd ymm2,ymm2,ymm15 - vpslld ymm7,ymm3,5 - vpandn ymm6,ymm4,ymm1 - - vpand ymm5,ymm4,ymm0 - - vmovdqa YMMWORD[(32-128)+rax],ymm12 - vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD[((320-256-128))+rbx] - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm6 - vpxor ymm13,ymm13,ymm10 - - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm2,ymm2,ymm5 - - vpsrld ymm9,ymm13,31 - vpaddd ymm13,ymm13,ymm13 - - vpsrld ymm4,ymm4,2 - - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((160-128))+rax] - - vpaddd ymm1,ymm1,ymm15 - vpslld ymm7,ymm2,5 - vpandn ymm6,ymm3,ymm0 - - vpand ymm5,ymm3,ymm4 - - vmovdqa YMMWORD[(64-128)+rax],ymm13 - vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD[((352-256-128))+rbx] - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm6 - vpxor ymm14,ymm14,ymm11 - - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm1,ymm1,ymm5 - - vpsrld ymm9,ymm14,31 - vpaddd ymm14,ymm14,ymm14 - - vpsrld ymm3,ymm3,2 - - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((192-128))+rax] - - vpaddd ymm0,ymm0,ymm15 - vpslld ymm7,ymm1,5 - vpandn ymm6,ymm2,ymm4 - - vpand ymm5,ymm2,ymm3 - - vmovdqa YMMWORD[(96-128)+rax],ymm14 - vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD[((384-256-128))+rbx] - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm5,ymm6 - vpxor ymm10,ymm10,ymm12 - - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm0,ymm0,ymm5 - - vpsrld ymm9,ymm10,31 - vpaddd ymm10,ymm10,ymm10 - - vpsrld ymm2,ymm2,2 - - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vmovdqa ymm15,YMMWORD[rbp] - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((224-128))+rax] - - vpslld ymm7,ymm0,5 - vpaddd ymm4,ymm4,ymm15 - vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD[(128-128)+rax],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD[((416-256-128))+rbx] - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm2 - vpxor ymm11,ymm11,ymm13 - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm4,ymm4,ymm5 - vpsrld ymm9,ymm11,31 - vpaddd ymm11,ymm11,ymm11 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((256-256-128))+rbx] - - vpslld ymm7,ymm4,5 - vpaddd ymm3,ymm3,ymm15 - vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD[(160-128)+rax],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD[((448-256-128))+rbx] - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm1 - vpxor ymm12,ymm12,ymm14 - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm3,ymm3,ymm5 - vpsrld ymm9,ymm12,31 - vpaddd ymm12,ymm12,ymm12 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((288-256-128))+rbx] - - vpslld ymm7,ymm3,5 - vpaddd ymm2,ymm2,ymm15 - vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD[(192-128)+rax],ymm12 - vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD[((480-256-128))+rbx] - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm0 - vpxor ymm13,ymm13,ymm10 - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm2,ymm2,ymm5 - vpsrld ymm9,ymm13,31 - vpaddd ymm13,ymm13,ymm13 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((320-256-128))+rbx] - - vpslld ymm7,ymm2,5 - vpaddd ymm1,ymm1,ymm15 - vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD[(224-128)+rax],ymm13 - vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD[((0-128))+rax] - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm4 - vpxor ymm14,ymm14,ymm11 - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm1,ymm1,ymm5 - vpsrld ymm9,ymm14,31 - vpaddd ymm14,ymm14,ymm14 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((352-256-128))+rbx] - - vpslld ymm7,ymm1,5 - vpaddd ymm0,ymm0,ymm15 - vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD[(256-256-128)+rbx],ymm14 - vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD[((32-128))+rax] - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm5,ymm3 - vpxor ymm10,ymm10,ymm12 - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm0,ymm0,ymm5 - vpsrld ymm9,ymm10,31 - vpaddd ymm10,ymm10,ymm10 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((384-256-128))+rbx] - - vpslld ymm7,ymm0,5 - vpaddd ymm4,ymm4,ymm15 - vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD[(288-256-128)+rbx],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD[((64-128))+rax] - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm2 - vpxor ymm11,ymm11,ymm13 - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm4,ymm4,ymm5 - vpsrld ymm9,ymm11,31 - vpaddd ymm11,ymm11,ymm11 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((416-256-128))+rbx] - - vpslld ymm7,ymm4,5 - vpaddd ymm3,ymm3,ymm15 - vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD[(320-256-128)+rbx],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD[((96-128))+rax] - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm1 - vpxor ymm12,ymm12,ymm14 - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm3,ymm3,ymm5 - vpsrld ymm9,ymm12,31 - vpaddd ymm12,ymm12,ymm12 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((448-256-128))+rbx] - - vpslld ymm7,ymm3,5 - vpaddd ymm2,ymm2,ymm15 - vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD[(352-256-128)+rbx],ymm12 - vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD[((128-128))+rax] - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm0 - vpxor ymm13,ymm13,ymm10 - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm2,ymm2,ymm5 - vpsrld ymm9,ymm13,31 - vpaddd ymm13,ymm13,ymm13 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((480-256-128))+rbx] - - vpslld ymm7,ymm2,5 - vpaddd ymm1,ymm1,ymm15 - vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD[(384-256-128)+rbx],ymm13 - vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD[((160-128))+rax] - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm4 - vpxor ymm14,ymm14,ymm11 - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm1,ymm1,ymm5 - vpsrld ymm9,ymm14,31 - vpaddd ymm14,ymm14,ymm14 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((0-128))+rax] - - vpslld ymm7,ymm1,5 - vpaddd ymm0,ymm0,ymm15 - vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD[(416-256-128)+rbx],ymm14 - vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD[((192-128))+rax] - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm5,ymm3 - vpxor ymm10,ymm10,ymm12 - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm0,ymm0,ymm5 - vpsrld ymm9,ymm10,31 - vpaddd ymm10,ymm10,ymm10 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((32-128))+rax] - - vpslld ymm7,ymm0,5 - vpaddd ymm4,ymm4,ymm15 - vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD[(448-256-128)+rbx],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD[((224-128))+rax] - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm2 - vpxor ymm11,ymm11,ymm13 - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm4,ymm4,ymm5 - vpsrld ymm9,ymm11,31 - vpaddd ymm11,ymm11,ymm11 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((64-128))+rax] - - vpslld ymm7,ymm4,5 - vpaddd ymm3,ymm3,ymm15 - vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD[(480-256-128)+rbx],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD[((256-256-128))+rbx] - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm1 - vpxor ymm12,ymm12,ymm14 - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm3,ymm3,ymm5 - vpsrld ymm9,ymm12,31 - vpaddd ymm12,ymm12,ymm12 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((96-128))+rax] - - vpslld ymm7,ymm3,5 - vpaddd ymm2,ymm2,ymm15 - vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD[(0-128)+rax],ymm12 - vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD[((288-256-128))+rbx] - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm0 - vpxor ymm13,ymm13,ymm10 - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm2,ymm2,ymm5 - vpsrld ymm9,ymm13,31 - vpaddd ymm13,ymm13,ymm13 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((128-128))+rax] - - vpslld ymm7,ymm2,5 - vpaddd ymm1,ymm1,ymm15 - vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD[(32-128)+rax],ymm13 - vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD[((320-256-128))+rbx] - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm4 - vpxor ymm14,ymm14,ymm11 - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm1,ymm1,ymm5 - vpsrld ymm9,ymm14,31 - vpaddd ymm14,ymm14,ymm14 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((160-128))+rax] - - vpslld ymm7,ymm1,5 - vpaddd ymm0,ymm0,ymm15 - vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD[(64-128)+rax],ymm14 - vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD[((352-256-128))+rbx] - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm5,ymm3 - vpxor ymm10,ymm10,ymm12 - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm0,ymm0,ymm5 - vpsrld ymm9,ymm10,31 - vpaddd ymm10,ymm10,ymm10 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((192-128))+rax] - - vpslld ymm7,ymm0,5 - vpaddd ymm4,ymm4,ymm15 - vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD[(96-128)+rax],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD[((384-256-128))+rbx] - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm2 - vpxor ymm11,ymm11,ymm13 - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm4,ymm4,ymm5 - vpsrld ymm9,ymm11,31 - vpaddd ymm11,ymm11,ymm11 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((224-128))+rax] - - vpslld ymm7,ymm4,5 - vpaddd ymm3,ymm3,ymm15 - vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD[(128-128)+rax],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD[((416-256-128))+rbx] - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm1 - vpxor ymm12,ymm12,ymm14 - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm3,ymm3,ymm5 - vpsrld ymm9,ymm12,31 - vpaddd ymm12,ymm12,ymm12 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((256-256-128))+rbx] - - vpslld ymm7,ymm3,5 - vpaddd ymm2,ymm2,ymm15 - vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD[(160-128)+rax],ymm12 - vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD[((448-256-128))+rbx] - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm0 - vpxor ymm13,ymm13,ymm10 - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm2,ymm2,ymm5 - vpsrld ymm9,ymm13,31 - vpaddd ymm13,ymm13,ymm13 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((288-256-128))+rbx] - - vpslld ymm7,ymm2,5 - vpaddd ymm1,ymm1,ymm15 - vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD[(192-128)+rax],ymm13 - vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD[((480-256-128))+rbx] - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm4 - vpxor ymm14,ymm14,ymm11 - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm1,ymm1,ymm5 - vpsrld ymm9,ymm14,31 - vpaddd ymm14,ymm14,ymm14 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((320-256-128))+rbx] - - vpslld ymm7,ymm1,5 - vpaddd ymm0,ymm0,ymm15 - vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD[(224-128)+rax],ymm14 - vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD[((0-128))+rax] - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm5,ymm3 - vpxor ymm10,ymm10,ymm12 - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm0,ymm0,ymm5 - vpsrld ymm9,ymm10,31 - vpaddd ymm10,ymm10,ymm10 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vmovdqa ymm15,YMMWORD[32+rbp] - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((352-256-128))+rbx] - - vpaddd ymm4,ymm4,ymm15 - vpslld ymm7,ymm0,5 - vpand ymm6,ymm3,ymm2 - vpxor ymm11,ymm11,YMMWORD[((32-128))+rax] - - vpaddd ymm4,ymm4,ymm6 - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm3,ymm2 - vpxor ymm11,ymm11,ymm13 - - vmovdqu YMMWORD[(256-256-128)+rbx],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm11,31 - vpand ymm5,ymm5,ymm1 - vpaddd ymm11,ymm11,ymm11 - - vpslld ymm6,ymm1,30 - vpaddd ymm4,ymm4,ymm5 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((384-256-128))+rbx] - - vpaddd ymm3,ymm3,ymm15 - vpslld ymm7,ymm4,5 - vpand ymm6,ymm2,ymm1 - vpxor ymm12,ymm12,YMMWORD[((64-128))+rax] - - vpaddd ymm3,ymm3,ymm6 - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm2,ymm1 - vpxor ymm12,ymm12,ymm14 - - vmovdqu YMMWORD[(288-256-128)+rbx],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm12,31 - vpand ymm5,ymm5,ymm0 - vpaddd ymm12,ymm12,ymm12 - - vpslld ymm6,ymm0,30 - vpaddd ymm3,ymm3,ymm5 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((416-256-128))+rbx] - - vpaddd ymm2,ymm2,ymm15 - vpslld ymm7,ymm3,5 - vpand ymm6,ymm1,ymm0 - vpxor ymm13,ymm13,YMMWORD[((96-128))+rax] - - vpaddd ymm2,ymm2,ymm6 - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm1,ymm0 - vpxor ymm13,ymm13,ymm10 - - vmovdqu YMMWORD[(320-256-128)+rbx],ymm12 - vpaddd ymm2,ymm2,ymm12 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm13,31 - vpand ymm5,ymm5,ymm4 - vpaddd ymm13,ymm13,ymm13 - - vpslld ymm6,ymm4,30 - vpaddd ymm2,ymm2,ymm5 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((448-256-128))+rbx] - - vpaddd ymm1,ymm1,ymm15 - vpslld ymm7,ymm2,5 - vpand ymm6,ymm0,ymm4 - vpxor ymm14,ymm14,YMMWORD[((128-128))+rax] - - vpaddd ymm1,ymm1,ymm6 - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm0,ymm4 - vpxor ymm14,ymm14,ymm11 - - vmovdqu YMMWORD[(352-256-128)+rbx],ymm13 - vpaddd ymm1,ymm1,ymm13 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm14,31 - vpand ymm5,ymm5,ymm3 - vpaddd ymm14,ymm14,ymm14 - - vpslld ymm6,ymm3,30 - vpaddd ymm1,ymm1,ymm5 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((480-256-128))+rbx] - - vpaddd ymm0,ymm0,ymm15 - vpslld ymm7,ymm1,5 - vpand ymm6,ymm4,ymm3 - vpxor ymm10,ymm10,YMMWORD[((160-128))+rax] - - vpaddd ymm0,ymm0,ymm6 - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm4,ymm3 - vpxor ymm10,ymm10,ymm12 - - vmovdqu YMMWORD[(384-256-128)+rbx],ymm14 - vpaddd ymm0,ymm0,ymm14 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm10,31 - vpand ymm5,ymm5,ymm2 - vpaddd ymm10,ymm10,ymm10 - - vpslld ymm6,ymm2,30 - vpaddd ymm0,ymm0,ymm5 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((0-128))+rax] - - vpaddd ymm4,ymm4,ymm15 - vpslld ymm7,ymm0,5 - vpand ymm6,ymm3,ymm2 - vpxor ymm11,ymm11,YMMWORD[((192-128))+rax] - - vpaddd ymm4,ymm4,ymm6 - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm3,ymm2 - vpxor ymm11,ymm11,ymm13 - - vmovdqu YMMWORD[(416-256-128)+rbx],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm11,31 - vpand ymm5,ymm5,ymm1 - vpaddd ymm11,ymm11,ymm11 - - vpslld ymm6,ymm1,30 - vpaddd ymm4,ymm4,ymm5 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((32-128))+rax] - - vpaddd ymm3,ymm3,ymm15 - vpslld ymm7,ymm4,5 - vpand ymm6,ymm2,ymm1 - vpxor ymm12,ymm12,YMMWORD[((224-128))+rax] - - vpaddd ymm3,ymm3,ymm6 - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm2,ymm1 - vpxor ymm12,ymm12,ymm14 - - vmovdqu YMMWORD[(448-256-128)+rbx],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm12,31 - vpand ymm5,ymm5,ymm0 - vpaddd ymm12,ymm12,ymm12 - - vpslld ymm6,ymm0,30 - vpaddd ymm3,ymm3,ymm5 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((64-128))+rax] - - vpaddd ymm2,ymm2,ymm15 - vpslld ymm7,ymm3,5 - vpand ymm6,ymm1,ymm0 - vpxor ymm13,ymm13,YMMWORD[((256-256-128))+rbx] - - vpaddd ymm2,ymm2,ymm6 - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm1,ymm0 - vpxor ymm13,ymm13,ymm10 - - vmovdqu YMMWORD[(480-256-128)+rbx],ymm12 - vpaddd ymm2,ymm2,ymm12 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm13,31 - vpand ymm5,ymm5,ymm4 - vpaddd ymm13,ymm13,ymm13 - - vpslld ymm6,ymm4,30 - vpaddd ymm2,ymm2,ymm5 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((96-128))+rax] - - vpaddd ymm1,ymm1,ymm15 - vpslld ymm7,ymm2,5 - vpand ymm6,ymm0,ymm4 - vpxor ymm14,ymm14,YMMWORD[((288-256-128))+rbx] - - vpaddd ymm1,ymm1,ymm6 - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm0,ymm4 - vpxor ymm14,ymm14,ymm11 - - vmovdqu YMMWORD[(0-128)+rax],ymm13 - vpaddd ymm1,ymm1,ymm13 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm14,31 - vpand ymm5,ymm5,ymm3 - vpaddd ymm14,ymm14,ymm14 - - vpslld ymm6,ymm3,30 - vpaddd ymm1,ymm1,ymm5 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((128-128))+rax] - - vpaddd ymm0,ymm0,ymm15 - vpslld ymm7,ymm1,5 - vpand ymm6,ymm4,ymm3 - vpxor ymm10,ymm10,YMMWORD[((320-256-128))+rbx] - - vpaddd ymm0,ymm0,ymm6 - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm4,ymm3 - vpxor ymm10,ymm10,ymm12 - - vmovdqu YMMWORD[(32-128)+rax],ymm14 - vpaddd ymm0,ymm0,ymm14 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm10,31 - vpand ymm5,ymm5,ymm2 - vpaddd ymm10,ymm10,ymm10 - - vpslld ymm6,ymm2,30 - vpaddd ymm0,ymm0,ymm5 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((160-128))+rax] - - vpaddd ymm4,ymm4,ymm15 - vpslld ymm7,ymm0,5 - vpand ymm6,ymm3,ymm2 - vpxor ymm11,ymm11,YMMWORD[((352-256-128))+rbx] - - vpaddd ymm4,ymm4,ymm6 - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm3,ymm2 - vpxor ymm11,ymm11,ymm13 - - vmovdqu YMMWORD[(64-128)+rax],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm11,31 - vpand ymm5,ymm5,ymm1 - vpaddd ymm11,ymm11,ymm11 - - vpslld ymm6,ymm1,30 - vpaddd ymm4,ymm4,ymm5 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((192-128))+rax] - - vpaddd ymm3,ymm3,ymm15 - vpslld ymm7,ymm4,5 - vpand ymm6,ymm2,ymm1 - vpxor ymm12,ymm12,YMMWORD[((384-256-128))+rbx] - - vpaddd ymm3,ymm3,ymm6 - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm2,ymm1 - vpxor ymm12,ymm12,ymm14 - - vmovdqu YMMWORD[(96-128)+rax],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm12,31 - vpand ymm5,ymm5,ymm0 - vpaddd ymm12,ymm12,ymm12 - - vpslld ymm6,ymm0,30 - vpaddd ymm3,ymm3,ymm5 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((224-128))+rax] - - vpaddd ymm2,ymm2,ymm15 - vpslld ymm7,ymm3,5 - vpand ymm6,ymm1,ymm0 - vpxor ymm13,ymm13,YMMWORD[((416-256-128))+rbx] - - vpaddd ymm2,ymm2,ymm6 - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm1,ymm0 - vpxor ymm13,ymm13,ymm10 - - vmovdqu YMMWORD[(128-128)+rax],ymm12 - vpaddd ymm2,ymm2,ymm12 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm13,31 - vpand ymm5,ymm5,ymm4 - vpaddd ymm13,ymm13,ymm13 - - vpslld ymm6,ymm4,30 - vpaddd ymm2,ymm2,ymm5 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((256-256-128))+rbx] - - vpaddd ymm1,ymm1,ymm15 - vpslld ymm7,ymm2,5 - vpand ymm6,ymm0,ymm4 - vpxor ymm14,ymm14,YMMWORD[((448-256-128))+rbx] - - vpaddd ymm1,ymm1,ymm6 - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm0,ymm4 - vpxor ymm14,ymm14,ymm11 - - vmovdqu YMMWORD[(160-128)+rax],ymm13 - vpaddd ymm1,ymm1,ymm13 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm14,31 - vpand ymm5,ymm5,ymm3 - vpaddd ymm14,ymm14,ymm14 - - vpslld ymm6,ymm3,30 - vpaddd ymm1,ymm1,ymm5 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((288-256-128))+rbx] - - vpaddd ymm0,ymm0,ymm15 - vpslld ymm7,ymm1,5 - vpand ymm6,ymm4,ymm3 - vpxor ymm10,ymm10,YMMWORD[((480-256-128))+rbx] - - vpaddd ymm0,ymm0,ymm6 - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm4,ymm3 - vpxor ymm10,ymm10,ymm12 - - vmovdqu YMMWORD[(192-128)+rax],ymm14 - vpaddd ymm0,ymm0,ymm14 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm10,31 - vpand ymm5,ymm5,ymm2 - vpaddd ymm10,ymm10,ymm10 - - vpslld ymm6,ymm2,30 - vpaddd ymm0,ymm0,ymm5 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((320-256-128))+rbx] - - vpaddd ymm4,ymm4,ymm15 - vpslld ymm7,ymm0,5 - vpand ymm6,ymm3,ymm2 - vpxor ymm11,ymm11,YMMWORD[((0-128))+rax] - - vpaddd ymm4,ymm4,ymm6 - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm3,ymm2 - vpxor ymm11,ymm11,ymm13 - - vmovdqu YMMWORD[(224-128)+rax],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm11,31 - vpand ymm5,ymm5,ymm1 - vpaddd ymm11,ymm11,ymm11 - - vpslld ymm6,ymm1,30 - vpaddd ymm4,ymm4,ymm5 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((352-256-128))+rbx] - - vpaddd ymm3,ymm3,ymm15 - vpslld ymm7,ymm4,5 - vpand ymm6,ymm2,ymm1 - vpxor ymm12,ymm12,YMMWORD[((32-128))+rax] - - vpaddd ymm3,ymm3,ymm6 - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm2,ymm1 - vpxor ymm12,ymm12,ymm14 - - vmovdqu YMMWORD[(256-256-128)+rbx],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm12,31 - vpand ymm5,ymm5,ymm0 - vpaddd ymm12,ymm12,ymm12 - - vpslld ymm6,ymm0,30 - vpaddd ymm3,ymm3,ymm5 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((384-256-128))+rbx] - - vpaddd ymm2,ymm2,ymm15 - vpslld ymm7,ymm3,5 - vpand ymm6,ymm1,ymm0 - vpxor ymm13,ymm13,YMMWORD[((64-128))+rax] - - vpaddd ymm2,ymm2,ymm6 - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm1,ymm0 - vpxor ymm13,ymm13,ymm10 - - vmovdqu YMMWORD[(288-256-128)+rbx],ymm12 - vpaddd ymm2,ymm2,ymm12 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm13,31 - vpand ymm5,ymm5,ymm4 - vpaddd ymm13,ymm13,ymm13 - - vpslld ymm6,ymm4,30 - vpaddd ymm2,ymm2,ymm5 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((416-256-128))+rbx] - - vpaddd ymm1,ymm1,ymm15 - vpslld ymm7,ymm2,5 - vpand ymm6,ymm0,ymm4 - vpxor ymm14,ymm14,YMMWORD[((96-128))+rax] - - vpaddd ymm1,ymm1,ymm6 - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm0,ymm4 - vpxor ymm14,ymm14,ymm11 - - vmovdqu YMMWORD[(320-256-128)+rbx],ymm13 - vpaddd ymm1,ymm1,ymm13 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm14,31 - vpand ymm5,ymm5,ymm3 - vpaddd ymm14,ymm14,ymm14 - - vpslld ymm6,ymm3,30 - vpaddd ymm1,ymm1,ymm5 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((448-256-128))+rbx] - - vpaddd ymm0,ymm0,ymm15 - vpslld ymm7,ymm1,5 - vpand ymm6,ymm4,ymm3 - vpxor ymm10,ymm10,YMMWORD[((128-128))+rax] - - vpaddd ymm0,ymm0,ymm6 - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm4,ymm3 - vpxor ymm10,ymm10,ymm12 - - vmovdqu YMMWORD[(352-256-128)+rbx],ymm14 - vpaddd ymm0,ymm0,ymm14 - vpor ymm7,ymm7,ymm8 - vpsrld ymm9,ymm10,31 - vpand ymm5,ymm5,ymm2 - vpaddd ymm10,ymm10,ymm10 - - vpslld ymm6,ymm2,30 - vpaddd ymm0,ymm0,ymm5 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vmovdqa ymm15,YMMWORD[64+rbp] - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((480-256-128))+rbx] - - vpslld ymm7,ymm0,5 - vpaddd ymm4,ymm4,ymm15 - vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD[(384-256-128)+rbx],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD[((160-128))+rax] - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm2 - vpxor ymm11,ymm11,ymm13 - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm4,ymm4,ymm5 - vpsrld ymm9,ymm11,31 - vpaddd ymm11,ymm11,ymm11 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((0-128))+rax] - - vpslld ymm7,ymm4,5 - vpaddd ymm3,ymm3,ymm15 - vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD[(416-256-128)+rbx],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD[((192-128))+rax] - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm1 - vpxor ymm12,ymm12,ymm14 - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm3,ymm3,ymm5 - vpsrld ymm9,ymm12,31 - vpaddd ymm12,ymm12,ymm12 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((32-128))+rax] - - vpslld ymm7,ymm3,5 - vpaddd ymm2,ymm2,ymm15 - vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD[(448-256-128)+rbx],ymm12 - vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD[((224-128))+rax] - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm0 - vpxor ymm13,ymm13,ymm10 - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm2,ymm2,ymm5 - vpsrld ymm9,ymm13,31 - vpaddd ymm13,ymm13,ymm13 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((64-128))+rax] - - vpslld ymm7,ymm2,5 - vpaddd ymm1,ymm1,ymm15 - vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD[(480-256-128)+rbx],ymm13 - vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD[((256-256-128))+rbx] - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm4 - vpxor ymm14,ymm14,ymm11 - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm1,ymm1,ymm5 - vpsrld ymm9,ymm14,31 - vpaddd ymm14,ymm14,ymm14 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((96-128))+rax] - - vpslld ymm7,ymm1,5 - vpaddd ymm0,ymm0,ymm15 - vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD[(0-128)+rax],ymm14 - vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD[((288-256-128))+rbx] - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm5,ymm3 - vpxor ymm10,ymm10,ymm12 - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm0,ymm0,ymm5 - vpsrld ymm9,ymm10,31 - vpaddd ymm10,ymm10,ymm10 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((128-128))+rax] - - vpslld ymm7,ymm0,5 - vpaddd ymm4,ymm4,ymm15 - vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD[(32-128)+rax],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD[((320-256-128))+rbx] - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm2 - vpxor ymm11,ymm11,ymm13 - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm4,ymm4,ymm5 - vpsrld ymm9,ymm11,31 - vpaddd ymm11,ymm11,ymm11 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((160-128))+rax] - - vpslld ymm7,ymm4,5 - vpaddd ymm3,ymm3,ymm15 - vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD[(64-128)+rax],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD[((352-256-128))+rbx] - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm1 - vpxor ymm12,ymm12,ymm14 - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm3,ymm3,ymm5 - vpsrld ymm9,ymm12,31 - vpaddd ymm12,ymm12,ymm12 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((192-128))+rax] - - vpslld ymm7,ymm3,5 - vpaddd ymm2,ymm2,ymm15 - vpxor ymm5,ymm1,ymm4 - vmovdqa YMMWORD[(96-128)+rax],ymm12 - vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD[((384-256-128))+rbx] - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm0 - vpxor ymm13,ymm13,ymm10 - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm2,ymm2,ymm5 - vpsrld ymm9,ymm13,31 - vpaddd ymm13,ymm13,ymm13 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((224-128))+rax] - - vpslld ymm7,ymm2,5 - vpaddd ymm1,ymm1,ymm15 - vpxor ymm5,ymm0,ymm3 - vmovdqa YMMWORD[(128-128)+rax],ymm13 - vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD[((416-256-128))+rbx] - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm4 - vpxor ymm14,ymm14,ymm11 - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm1,ymm1,ymm5 - vpsrld ymm9,ymm14,31 - vpaddd ymm14,ymm14,ymm14 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((256-256-128))+rbx] - - vpslld ymm7,ymm1,5 - vpaddd ymm0,ymm0,ymm15 - vpxor ymm5,ymm4,ymm2 - vmovdqa YMMWORD[(160-128)+rax],ymm14 - vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD[((448-256-128))+rbx] - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm5,ymm3 - vpxor ymm10,ymm10,ymm12 - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm0,ymm0,ymm5 - vpsrld ymm9,ymm10,31 - vpaddd ymm10,ymm10,ymm10 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((288-256-128))+rbx] - - vpslld ymm7,ymm0,5 - vpaddd ymm4,ymm4,ymm15 - vpxor ymm5,ymm3,ymm1 - vmovdqa YMMWORD[(192-128)+rax],ymm10 - vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD[((480-256-128))+rbx] - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm2 - vpxor ymm11,ymm11,ymm13 - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm4,ymm4,ymm5 - vpsrld ymm9,ymm11,31 - vpaddd ymm11,ymm11,ymm11 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((320-256-128))+rbx] - - vpslld ymm7,ymm4,5 - vpaddd ymm3,ymm3,ymm15 - vpxor ymm5,ymm2,ymm0 - vmovdqa YMMWORD[(224-128)+rax],ymm11 - vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD[((0-128))+rax] - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm1 - vpxor ymm12,ymm12,ymm14 - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm3,ymm3,ymm5 - vpsrld ymm9,ymm12,31 - vpaddd ymm12,ymm12,ymm12 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((352-256-128))+rbx] - - vpslld ymm7,ymm3,5 - vpaddd ymm2,ymm2,ymm15 - vpxor ymm5,ymm1,ymm4 - vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD[((32-128))+rax] - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm0 - vpxor ymm13,ymm13,ymm10 - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm2,ymm2,ymm5 - vpsrld ymm9,ymm13,31 - vpaddd ymm13,ymm13,ymm13 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((384-256-128))+rbx] - - vpslld ymm7,ymm2,5 - vpaddd ymm1,ymm1,ymm15 - vpxor ymm5,ymm0,ymm3 - vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD[((64-128))+rax] - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm4 - vpxor ymm14,ymm14,ymm11 - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm1,ymm1,ymm5 - vpsrld ymm9,ymm14,31 - vpaddd ymm14,ymm14,ymm14 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpxor ymm10,ymm10,ymm12 - vmovdqa ymm12,YMMWORD[((416-256-128))+rbx] - - vpslld ymm7,ymm1,5 - vpaddd ymm0,ymm0,ymm15 - vpxor ymm5,ymm4,ymm2 - vpaddd ymm0,ymm0,ymm14 - vpxor ymm10,ymm10,YMMWORD[((96-128))+rax] - vpsrld ymm8,ymm1,27 - vpxor ymm5,ymm5,ymm3 - vpxor ymm10,ymm10,ymm12 - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm0,ymm0,ymm5 - vpsrld ymm9,ymm10,31 - vpaddd ymm10,ymm10,ymm10 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm10,ymm10,ymm9 - vpor ymm2,ymm2,ymm6 - vpxor ymm11,ymm11,ymm13 - vmovdqa ymm13,YMMWORD[((448-256-128))+rbx] - - vpslld ymm7,ymm0,5 - vpaddd ymm4,ymm4,ymm15 - vpxor ymm5,ymm3,ymm1 - vpaddd ymm4,ymm4,ymm10 - vpxor ymm11,ymm11,YMMWORD[((128-128))+rax] - vpsrld ymm8,ymm0,27 - vpxor ymm5,ymm5,ymm2 - vpxor ymm11,ymm11,ymm13 - - vpslld ymm6,ymm1,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm4,ymm4,ymm5 - vpsrld ymm9,ymm11,31 - vpaddd ymm11,ymm11,ymm11 - - vpsrld ymm1,ymm1,2 - vpaddd ymm4,ymm4,ymm7 - vpor ymm11,ymm11,ymm9 - vpor ymm1,ymm1,ymm6 - vpxor ymm12,ymm12,ymm14 - vmovdqa ymm14,YMMWORD[((480-256-128))+rbx] - - vpslld ymm7,ymm4,5 - vpaddd ymm3,ymm3,ymm15 - vpxor ymm5,ymm2,ymm0 - vpaddd ymm3,ymm3,ymm11 - vpxor ymm12,ymm12,YMMWORD[((160-128))+rax] - vpsrld ymm8,ymm4,27 - vpxor ymm5,ymm5,ymm1 - vpxor ymm12,ymm12,ymm14 - - vpslld ymm6,ymm0,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm3,ymm3,ymm5 - vpsrld ymm9,ymm12,31 - vpaddd ymm12,ymm12,ymm12 - - vpsrld ymm0,ymm0,2 - vpaddd ymm3,ymm3,ymm7 - vpor ymm12,ymm12,ymm9 - vpor ymm0,ymm0,ymm6 - vpxor ymm13,ymm13,ymm10 - vmovdqa ymm10,YMMWORD[((0-128))+rax] - - vpslld ymm7,ymm3,5 - vpaddd ymm2,ymm2,ymm15 - vpxor ymm5,ymm1,ymm4 - vpaddd ymm2,ymm2,ymm12 - vpxor ymm13,ymm13,YMMWORD[((192-128))+rax] - vpsrld ymm8,ymm3,27 - vpxor ymm5,ymm5,ymm0 - vpxor ymm13,ymm13,ymm10 - - vpslld ymm6,ymm4,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm2,ymm2,ymm5 - vpsrld ymm9,ymm13,31 - vpaddd ymm13,ymm13,ymm13 - - vpsrld ymm4,ymm4,2 - vpaddd ymm2,ymm2,ymm7 - vpor ymm13,ymm13,ymm9 - vpor ymm4,ymm4,ymm6 - vpxor ymm14,ymm14,ymm11 - vmovdqa ymm11,YMMWORD[((32-128))+rax] - - vpslld ymm7,ymm2,5 - vpaddd ymm1,ymm1,ymm15 - vpxor ymm5,ymm0,ymm3 - vpaddd ymm1,ymm1,ymm13 - vpxor ymm14,ymm14,YMMWORD[((224-128))+rax] - vpsrld ymm8,ymm2,27 - vpxor ymm5,ymm5,ymm4 - vpxor ymm14,ymm14,ymm11 - - vpslld ymm6,ymm3,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm1,ymm1,ymm5 - vpsrld ymm9,ymm14,31 - vpaddd ymm14,ymm14,ymm14 - - vpsrld ymm3,ymm3,2 - vpaddd ymm1,ymm1,ymm7 - vpor ymm14,ymm14,ymm9 - vpor ymm3,ymm3,ymm6 - vpslld ymm7,ymm1,5 - vpaddd ymm0,ymm0,ymm15 - vpxor ymm5,ymm4,ymm2 - - vpsrld ymm8,ymm1,27 - vpaddd ymm0,ymm0,ymm14 - vpxor ymm5,ymm5,ymm3 - - vpslld ymm6,ymm2,30 - vpor ymm7,ymm7,ymm8 - vpaddd ymm0,ymm0,ymm5 - - vpsrld ymm2,ymm2,2 - vpaddd ymm0,ymm0,ymm7 - vpor ymm2,ymm2,ymm6 - mov ecx,1 - lea rbx,[512+rsp] - cmp ecx,DWORD[rbx] - cmovge r12,rbp - cmp ecx,DWORD[4+rbx] - cmovge r13,rbp - cmp ecx,DWORD[8+rbx] - cmovge r14,rbp - cmp ecx,DWORD[12+rbx] - cmovge r15,rbp - cmp ecx,DWORD[16+rbx] - cmovge r8,rbp - cmp ecx,DWORD[20+rbx] - cmovge r9,rbp - cmp ecx,DWORD[24+rbx] - cmovge r10,rbp - cmp ecx,DWORD[28+rbx] - cmovge r11,rbp - vmovdqu ymm5,YMMWORD[rbx] - vpxor ymm7,ymm7,ymm7 - vmovdqa ymm6,ymm5 - vpcmpgtd ymm6,ymm6,ymm7 - vpaddd ymm5,ymm5,ymm6 - - vpand ymm0,ymm0,ymm6 - vpand ymm1,ymm1,ymm6 - vpaddd ymm0,ymm0,YMMWORD[rdi] - vpand ymm2,ymm2,ymm6 - vpaddd ymm1,ymm1,YMMWORD[32+rdi] - vpand ymm3,ymm3,ymm6 - vpaddd ymm2,ymm2,YMMWORD[64+rdi] - vpand ymm4,ymm4,ymm6 - vpaddd ymm3,ymm3,YMMWORD[96+rdi] - vpaddd ymm4,ymm4,YMMWORD[128+rdi] - vmovdqu YMMWORD[rdi],ymm0 - vmovdqu YMMWORD[32+rdi],ymm1 - vmovdqu YMMWORD[64+rdi],ymm2 - vmovdqu YMMWORD[96+rdi],ymm3 - vmovdqu YMMWORD[128+rdi],ymm4 - - vmovdqu YMMWORD[rbx],ymm5 - lea rbx,[((256+128))+rsp] - vmovdqu ymm9,YMMWORD[96+rbp] - dec edx - jnz NEAR $L$oop_avx2 - - - - - - - -$L$done_avx2: - mov rax,QWORD[544+rsp] - vzeroupper - movaps xmm6,XMMWORD[((-216))+rax] - movaps xmm7,XMMWORD[((-200))+rax] - movaps xmm8,XMMWORD[((-184))+rax] - movaps xmm9,XMMWORD[((-168))+rax] - movaps xmm10,XMMWORD[((-152))+rax] - movaps xmm11,XMMWORD[((-136))+rax] - movaps xmm12,XMMWORD[((-120))+rax] - movaps xmm13,XMMWORD[((-104))+rax] - movaps xmm14,XMMWORD[((-88))+rax] - movaps xmm15,XMMWORD[((-72))+rax] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$epilogue_avx2: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_multi_block_avx2: - -ALIGN 256 - DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 - DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 -K_XX_XX: - DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 - DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 - DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc - DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc - DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 - DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 - DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f - DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -DB 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 -DB 83,72,65,49,32,109,117,108,116,105,45,98,108,111,99,107 -DB 32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120 -DB 56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77 -DB 83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110 -DB 115,115,108,46,111,114,103,62,0 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - mov rax,QWORD[272+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - - lea rsi,[((-24-160))+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -ALIGN 16 -avx2_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - mov rax,QWORD[544+r8] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - - lea rsi,[((-56-160))+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - - jmp NEAR $L$in_prologue - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_sha1_multi_block wrt ..imagebase - DD $L$SEH_end_sha1_multi_block wrt ..imagebase - DD $L$SEH_info_sha1_multi_block wrt ..imagebase - DD $L$SEH_begin_sha1_multi_block_shaext wrt ..imagebase - DD $L$SEH_end_sha1_multi_block_shaext wrt ..imagebase - DD $L$SEH_info_sha1_multi_block_shaext wrt ..imagebase - DD $L$SEH_begin_sha1_multi_block_avx wrt ..imagebase - DD $L$SEH_end_sha1_multi_block_avx wrt ..imagebase - DD $L$SEH_info_sha1_multi_block_avx wrt ..imagebase - DD $L$SEH_begin_sha1_multi_block_avx2 wrt ..imagebase - DD $L$SEH_end_sha1_multi_block_avx2 wrt ..imagebase - DD $L$SEH_info_sha1_multi_block_avx2 wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_sha1_multi_block: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$body wrt ..imagebase,$L$epilogue wrt ..imagebase -$L$SEH_info_sha1_multi_block_shaext: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$body_shaext wrt ..imagebase,$L$epilogue_shaext wrt ..imagebase -$L$SEH_info_sha1_multi_block_avx: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$body_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase -$L$SEH_info_sha1_multi_block_avx2: -DB 9,0,0,0 - DD avx2_handler wrt ..imagebase - DD $L$body_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +EXTERN OPENSSL_ia32cap_P + +global sha1_multi_block + +ALIGN 32 +sha1_multi_block: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_multi_block: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + mov rcx,QWORD[((OPENSSL_ia32cap_P+4))] + bt rcx,61 + jc NEAR _shaext_shortcut + test ecx,268435456 + jnz NEAR _avx_shortcut + mov rax,rsp + push rbx + push rbp + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[(-120)+rax],xmm10 + movaps XMMWORD[(-104)+rax],xmm11 + movaps XMMWORD[(-88)+rax],xmm12 + movaps XMMWORD[(-72)+rax],xmm13 + movaps XMMWORD[(-56)+rax],xmm14 + movaps XMMWORD[(-40)+rax],xmm15 + sub rsp,288 + and rsp,-256 + mov QWORD[272+rsp],rax +$L$body: + lea rbp,[K_XX_XX] + lea rbx,[256+rsp] + +$L$oop_grande: + mov DWORD[280+rsp],edx + xor edx,edx + mov r8,QWORD[rsi] + mov ecx,DWORD[8+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[rbx],ecx + cmovle r8,rbp + mov r9,QWORD[16+rsi] + mov ecx,DWORD[24+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[4+rbx],ecx + cmovle r9,rbp + mov r10,QWORD[32+rsi] + mov ecx,DWORD[40+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[8+rbx],ecx + cmovle r10,rbp + mov r11,QWORD[48+rsi] + mov ecx,DWORD[56+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[12+rbx],ecx + cmovle r11,rbp + test edx,edx + jz NEAR $L$done + + movdqu xmm10,XMMWORD[rdi] + lea rax,[128+rsp] + movdqu xmm11,XMMWORD[32+rdi] + movdqu xmm12,XMMWORD[64+rdi] + movdqu xmm13,XMMWORD[96+rdi] + movdqu xmm14,XMMWORD[128+rdi] + movdqa xmm5,XMMWORD[96+rbp] + movdqa xmm15,XMMWORD[((-32))+rbp] + jmp NEAR $L$oop + +ALIGN 32 +$L$oop: + movd xmm0,DWORD[r8] + lea r8,[64+r8] + movd xmm2,DWORD[r9] + lea r9,[64+r9] + movd xmm3,DWORD[r10] + lea r10,[64+r10] + movd xmm4,DWORD[r11] + lea r11,[64+r11] + punpckldq xmm0,xmm3 + movd xmm1,DWORD[((-60))+r8] + punpckldq xmm2,xmm4 + movd xmm9,DWORD[((-60))+r9] + punpckldq xmm0,xmm2 + movd xmm8,DWORD[((-60))+r10] +DB 102,15,56,0,197 + movd xmm7,DWORD[((-60))+r11] + punpckldq xmm1,xmm8 + movdqa xmm8,xmm10 + paddd xmm14,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm11 + movdqa xmm6,xmm11 + pslld xmm8,5 + pandn xmm7,xmm13 + pand xmm6,xmm12 + punpckldq xmm1,xmm9 + movdqa xmm9,xmm10 + + movdqa XMMWORD[(0-128)+rax],xmm0 + paddd xmm14,xmm0 + movd xmm2,DWORD[((-56))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm11 + + por xmm8,xmm9 + movd xmm9,DWORD[((-56))+r9] + pslld xmm7,30 + paddd xmm14,xmm6 + + psrld xmm11,2 + paddd xmm14,xmm8 +DB 102,15,56,0,205 + movd xmm8,DWORD[((-56))+r10] + por xmm11,xmm7 + movd xmm7,DWORD[((-56))+r11] + punpckldq xmm2,xmm8 + movdqa xmm8,xmm14 + paddd xmm13,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm10 + movdqa xmm6,xmm10 + pslld xmm8,5 + pandn xmm7,xmm12 + pand xmm6,xmm11 + punpckldq xmm2,xmm9 + movdqa xmm9,xmm14 + + movdqa XMMWORD[(16-128)+rax],xmm1 + paddd xmm13,xmm1 + movd xmm3,DWORD[((-52))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm10 + + por xmm8,xmm9 + movd xmm9,DWORD[((-52))+r9] + pslld xmm7,30 + paddd xmm13,xmm6 + + psrld xmm10,2 + paddd xmm13,xmm8 +DB 102,15,56,0,213 + movd xmm8,DWORD[((-52))+r10] + por xmm10,xmm7 + movd xmm7,DWORD[((-52))+r11] + punpckldq xmm3,xmm8 + movdqa xmm8,xmm13 + paddd xmm12,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm14 + movdqa xmm6,xmm14 + pslld xmm8,5 + pandn xmm7,xmm11 + pand xmm6,xmm10 + punpckldq xmm3,xmm9 + movdqa xmm9,xmm13 + + movdqa XMMWORD[(32-128)+rax],xmm2 + paddd xmm12,xmm2 + movd xmm4,DWORD[((-48))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm14 + + por xmm8,xmm9 + movd xmm9,DWORD[((-48))+r9] + pslld xmm7,30 + paddd xmm12,xmm6 + + psrld xmm14,2 + paddd xmm12,xmm8 +DB 102,15,56,0,221 + movd xmm8,DWORD[((-48))+r10] + por xmm14,xmm7 + movd xmm7,DWORD[((-48))+r11] + punpckldq xmm4,xmm8 + movdqa xmm8,xmm12 + paddd xmm11,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm13 + movdqa xmm6,xmm13 + pslld xmm8,5 + pandn xmm7,xmm10 + pand xmm6,xmm14 + punpckldq xmm4,xmm9 + movdqa xmm9,xmm12 + + movdqa XMMWORD[(48-128)+rax],xmm3 + paddd xmm11,xmm3 + movd xmm0,DWORD[((-44))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm13 + + por xmm8,xmm9 + movd xmm9,DWORD[((-44))+r9] + pslld xmm7,30 + paddd xmm11,xmm6 + + psrld xmm13,2 + paddd xmm11,xmm8 +DB 102,15,56,0,229 + movd xmm8,DWORD[((-44))+r10] + por xmm13,xmm7 + movd xmm7,DWORD[((-44))+r11] + punpckldq xmm0,xmm8 + movdqa xmm8,xmm11 + paddd xmm10,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm12 + movdqa xmm6,xmm12 + pslld xmm8,5 + pandn xmm7,xmm14 + pand xmm6,xmm13 + punpckldq xmm0,xmm9 + movdqa xmm9,xmm11 + + movdqa XMMWORD[(64-128)+rax],xmm4 + paddd xmm10,xmm4 + movd xmm1,DWORD[((-40))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm12 + + por xmm8,xmm9 + movd xmm9,DWORD[((-40))+r9] + pslld xmm7,30 + paddd xmm10,xmm6 + + psrld xmm12,2 + paddd xmm10,xmm8 +DB 102,15,56,0,197 + movd xmm8,DWORD[((-40))+r10] + por xmm12,xmm7 + movd xmm7,DWORD[((-40))+r11] + punpckldq xmm1,xmm8 + movdqa xmm8,xmm10 + paddd xmm14,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm11 + movdqa xmm6,xmm11 + pslld xmm8,5 + pandn xmm7,xmm13 + pand xmm6,xmm12 + punpckldq xmm1,xmm9 + movdqa xmm9,xmm10 + + movdqa XMMWORD[(80-128)+rax],xmm0 + paddd xmm14,xmm0 + movd xmm2,DWORD[((-36))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm11 + + por xmm8,xmm9 + movd xmm9,DWORD[((-36))+r9] + pslld xmm7,30 + paddd xmm14,xmm6 + + psrld xmm11,2 + paddd xmm14,xmm8 +DB 102,15,56,0,205 + movd xmm8,DWORD[((-36))+r10] + por xmm11,xmm7 + movd xmm7,DWORD[((-36))+r11] + punpckldq xmm2,xmm8 + movdqa xmm8,xmm14 + paddd xmm13,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm10 + movdqa xmm6,xmm10 + pslld xmm8,5 + pandn xmm7,xmm12 + pand xmm6,xmm11 + punpckldq xmm2,xmm9 + movdqa xmm9,xmm14 + + movdqa XMMWORD[(96-128)+rax],xmm1 + paddd xmm13,xmm1 + movd xmm3,DWORD[((-32))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm10 + + por xmm8,xmm9 + movd xmm9,DWORD[((-32))+r9] + pslld xmm7,30 + paddd xmm13,xmm6 + + psrld xmm10,2 + paddd xmm13,xmm8 +DB 102,15,56,0,213 + movd xmm8,DWORD[((-32))+r10] + por xmm10,xmm7 + movd xmm7,DWORD[((-32))+r11] + punpckldq xmm3,xmm8 + movdqa xmm8,xmm13 + paddd xmm12,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm14 + movdqa xmm6,xmm14 + pslld xmm8,5 + pandn xmm7,xmm11 + pand xmm6,xmm10 + punpckldq xmm3,xmm9 + movdqa xmm9,xmm13 + + movdqa XMMWORD[(112-128)+rax],xmm2 + paddd xmm12,xmm2 + movd xmm4,DWORD[((-28))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm14 + + por xmm8,xmm9 + movd xmm9,DWORD[((-28))+r9] + pslld xmm7,30 + paddd xmm12,xmm6 + + psrld xmm14,2 + paddd xmm12,xmm8 +DB 102,15,56,0,221 + movd xmm8,DWORD[((-28))+r10] + por xmm14,xmm7 + movd xmm7,DWORD[((-28))+r11] + punpckldq xmm4,xmm8 + movdqa xmm8,xmm12 + paddd xmm11,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm13 + movdqa xmm6,xmm13 + pslld xmm8,5 + pandn xmm7,xmm10 + pand xmm6,xmm14 + punpckldq xmm4,xmm9 + movdqa xmm9,xmm12 + + movdqa XMMWORD[(128-128)+rax],xmm3 + paddd xmm11,xmm3 + movd xmm0,DWORD[((-24))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm13 + + por xmm8,xmm9 + movd xmm9,DWORD[((-24))+r9] + pslld xmm7,30 + paddd xmm11,xmm6 + + psrld xmm13,2 + paddd xmm11,xmm8 +DB 102,15,56,0,229 + movd xmm8,DWORD[((-24))+r10] + por xmm13,xmm7 + movd xmm7,DWORD[((-24))+r11] + punpckldq xmm0,xmm8 + movdqa xmm8,xmm11 + paddd xmm10,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm12 + movdqa xmm6,xmm12 + pslld xmm8,5 + pandn xmm7,xmm14 + pand xmm6,xmm13 + punpckldq xmm0,xmm9 + movdqa xmm9,xmm11 + + movdqa XMMWORD[(144-128)+rax],xmm4 + paddd xmm10,xmm4 + movd xmm1,DWORD[((-20))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm12 + + por xmm8,xmm9 + movd xmm9,DWORD[((-20))+r9] + pslld xmm7,30 + paddd xmm10,xmm6 + + psrld xmm12,2 + paddd xmm10,xmm8 +DB 102,15,56,0,197 + movd xmm8,DWORD[((-20))+r10] + por xmm12,xmm7 + movd xmm7,DWORD[((-20))+r11] + punpckldq xmm1,xmm8 + movdqa xmm8,xmm10 + paddd xmm14,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm11 + movdqa xmm6,xmm11 + pslld xmm8,5 + pandn xmm7,xmm13 + pand xmm6,xmm12 + punpckldq xmm1,xmm9 + movdqa xmm9,xmm10 + + movdqa XMMWORD[(160-128)+rax],xmm0 + paddd xmm14,xmm0 + movd xmm2,DWORD[((-16))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm11 + + por xmm8,xmm9 + movd xmm9,DWORD[((-16))+r9] + pslld xmm7,30 + paddd xmm14,xmm6 + + psrld xmm11,2 + paddd xmm14,xmm8 +DB 102,15,56,0,205 + movd xmm8,DWORD[((-16))+r10] + por xmm11,xmm7 + movd xmm7,DWORD[((-16))+r11] + punpckldq xmm2,xmm8 + movdqa xmm8,xmm14 + paddd xmm13,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm10 + movdqa xmm6,xmm10 + pslld xmm8,5 + pandn xmm7,xmm12 + pand xmm6,xmm11 + punpckldq xmm2,xmm9 + movdqa xmm9,xmm14 + + movdqa XMMWORD[(176-128)+rax],xmm1 + paddd xmm13,xmm1 + movd xmm3,DWORD[((-12))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm10 + + por xmm8,xmm9 + movd xmm9,DWORD[((-12))+r9] + pslld xmm7,30 + paddd xmm13,xmm6 + + psrld xmm10,2 + paddd xmm13,xmm8 +DB 102,15,56,0,213 + movd xmm8,DWORD[((-12))+r10] + por xmm10,xmm7 + movd xmm7,DWORD[((-12))+r11] + punpckldq xmm3,xmm8 + movdqa xmm8,xmm13 + paddd xmm12,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm14 + movdqa xmm6,xmm14 + pslld xmm8,5 + pandn xmm7,xmm11 + pand xmm6,xmm10 + punpckldq xmm3,xmm9 + movdqa xmm9,xmm13 + + movdqa XMMWORD[(192-128)+rax],xmm2 + paddd xmm12,xmm2 + movd xmm4,DWORD[((-8))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm14 + + por xmm8,xmm9 + movd xmm9,DWORD[((-8))+r9] + pslld xmm7,30 + paddd xmm12,xmm6 + + psrld xmm14,2 + paddd xmm12,xmm8 +DB 102,15,56,0,221 + movd xmm8,DWORD[((-8))+r10] + por xmm14,xmm7 + movd xmm7,DWORD[((-8))+r11] + punpckldq xmm4,xmm8 + movdqa xmm8,xmm12 + paddd xmm11,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm13 + movdqa xmm6,xmm13 + pslld xmm8,5 + pandn xmm7,xmm10 + pand xmm6,xmm14 + punpckldq xmm4,xmm9 + movdqa xmm9,xmm12 + + movdqa XMMWORD[(208-128)+rax],xmm3 + paddd xmm11,xmm3 + movd xmm0,DWORD[((-4))+r8] + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm13 + + por xmm8,xmm9 + movd xmm9,DWORD[((-4))+r9] + pslld xmm7,30 + paddd xmm11,xmm6 + + psrld xmm13,2 + paddd xmm11,xmm8 +DB 102,15,56,0,229 + movd xmm8,DWORD[((-4))+r10] + por xmm13,xmm7 + movdqa xmm1,XMMWORD[((0-128))+rax] + movd xmm7,DWORD[((-4))+r11] + punpckldq xmm0,xmm8 + movdqa xmm8,xmm11 + paddd xmm10,xmm15 + punpckldq xmm9,xmm7 + movdqa xmm7,xmm12 + movdqa xmm6,xmm12 + pslld xmm8,5 + prefetcht0 [63+r8] + pandn xmm7,xmm14 + pand xmm6,xmm13 + punpckldq xmm0,xmm9 + movdqa xmm9,xmm11 + + movdqa XMMWORD[(224-128)+rax],xmm4 + paddd xmm10,xmm4 + psrld xmm9,27 + pxor xmm6,xmm7 + movdqa xmm7,xmm12 + prefetcht0 [63+r9] + + por xmm8,xmm9 + pslld xmm7,30 + paddd xmm10,xmm6 + prefetcht0 [63+r10] + + psrld xmm12,2 + paddd xmm10,xmm8 +DB 102,15,56,0,197 + prefetcht0 [63+r11] + por xmm12,xmm7 + movdqa xmm2,XMMWORD[((16-128))+rax] + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((32-128))+rax] + + movdqa xmm8,xmm10 + pxor xmm1,XMMWORD[((128-128))+rax] + paddd xmm14,xmm15 + movdqa xmm7,xmm11 + pslld xmm8,5 + pxor xmm1,xmm3 + movdqa xmm6,xmm11 + pandn xmm7,xmm13 + movdqa xmm5,xmm1 + pand xmm6,xmm12 + movdqa xmm9,xmm10 + psrld xmm5,31 + paddd xmm1,xmm1 + + movdqa XMMWORD[(240-128)+rax],xmm0 + paddd xmm14,xmm0 + psrld xmm9,27 + pxor xmm6,xmm7 + + movdqa xmm7,xmm11 + por xmm8,xmm9 + pslld xmm7,30 + paddd xmm14,xmm6 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((48-128))+rax] + + movdqa xmm8,xmm14 + pxor xmm2,XMMWORD[((144-128))+rax] + paddd xmm13,xmm15 + movdqa xmm7,xmm10 + pslld xmm8,5 + pxor xmm2,xmm4 + movdqa xmm6,xmm10 + pandn xmm7,xmm12 + movdqa xmm5,xmm2 + pand xmm6,xmm11 + movdqa xmm9,xmm14 + psrld xmm5,31 + paddd xmm2,xmm2 + + movdqa XMMWORD[(0-128)+rax],xmm1 + paddd xmm13,xmm1 + psrld xmm9,27 + pxor xmm6,xmm7 + + movdqa xmm7,xmm10 + por xmm8,xmm9 + pslld xmm7,30 + paddd xmm13,xmm6 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((64-128))+rax] + + movdqa xmm8,xmm13 + pxor xmm3,XMMWORD[((160-128))+rax] + paddd xmm12,xmm15 + movdqa xmm7,xmm14 + pslld xmm8,5 + pxor xmm3,xmm0 + movdqa xmm6,xmm14 + pandn xmm7,xmm11 + movdqa xmm5,xmm3 + pand xmm6,xmm10 + movdqa xmm9,xmm13 + psrld xmm5,31 + paddd xmm3,xmm3 + + movdqa XMMWORD[(16-128)+rax],xmm2 + paddd xmm12,xmm2 + psrld xmm9,27 + pxor xmm6,xmm7 + + movdqa xmm7,xmm14 + por xmm8,xmm9 + pslld xmm7,30 + paddd xmm12,xmm6 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((80-128))+rax] + + movdqa xmm8,xmm12 + pxor xmm4,XMMWORD[((176-128))+rax] + paddd xmm11,xmm15 + movdqa xmm7,xmm13 + pslld xmm8,5 + pxor xmm4,xmm1 + movdqa xmm6,xmm13 + pandn xmm7,xmm10 + movdqa xmm5,xmm4 + pand xmm6,xmm14 + movdqa xmm9,xmm12 + psrld xmm5,31 + paddd xmm4,xmm4 + + movdqa XMMWORD[(32-128)+rax],xmm3 + paddd xmm11,xmm3 + psrld xmm9,27 + pxor xmm6,xmm7 + + movdqa xmm7,xmm13 + por xmm8,xmm9 + pslld xmm7,30 + paddd xmm11,xmm6 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((96-128))+rax] + + movdqa xmm8,xmm11 + pxor xmm0,XMMWORD[((192-128))+rax] + paddd xmm10,xmm15 + movdqa xmm7,xmm12 + pslld xmm8,5 + pxor xmm0,xmm2 + movdqa xmm6,xmm12 + pandn xmm7,xmm14 + movdqa xmm5,xmm0 + pand xmm6,xmm13 + movdqa xmm9,xmm11 + psrld xmm5,31 + paddd xmm0,xmm0 + + movdqa XMMWORD[(48-128)+rax],xmm4 + paddd xmm10,xmm4 + psrld xmm9,27 + pxor xmm6,xmm7 + + movdqa xmm7,xmm12 + por xmm8,xmm9 + pslld xmm7,30 + paddd xmm10,xmm6 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + movdqa xmm15,XMMWORD[rbp] + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((112-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm6,xmm13 + pxor xmm1,XMMWORD[((208-128))+rax] + paddd xmm14,xmm15 + pslld xmm8,5 + pxor xmm6,xmm11 + + movdqa xmm9,xmm10 + movdqa XMMWORD[(64-128)+rax],xmm0 + paddd xmm14,xmm0 + pxor xmm1,xmm3 + psrld xmm9,27 + pxor xmm6,xmm12 + movdqa xmm7,xmm11 + + pslld xmm7,30 + movdqa xmm5,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm14,xmm6 + paddd xmm1,xmm1 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((128-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm6,xmm12 + pxor xmm2,XMMWORD[((224-128))+rax] + paddd xmm13,xmm15 + pslld xmm8,5 + pxor xmm6,xmm10 + + movdqa xmm9,xmm14 + movdqa XMMWORD[(80-128)+rax],xmm1 + paddd xmm13,xmm1 + pxor xmm2,xmm4 + psrld xmm9,27 + pxor xmm6,xmm11 + movdqa xmm7,xmm10 + + pslld xmm7,30 + movdqa xmm5,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm13,xmm6 + paddd xmm2,xmm2 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((144-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm6,xmm11 + pxor xmm3,XMMWORD[((240-128))+rax] + paddd xmm12,xmm15 + pslld xmm8,5 + pxor xmm6,xmm14 + + movdqa xmm9,xmm13 + movdqa XMMWORD[(96-128)+rax],xmm2 + paddd xmm12,xmm2 + pxor xmm3,xmm0 + psrld xmm9,27 + pxor xmm6,xmm10 + movdqa xmm7,xmm14 + + pslld xmm7,30 + movdqa xmm5,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm12,xmm6 + paddd xmm3,xmm3 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((160-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm6,xmm10 + pxor xmm4,XMMWORD[((0-128))+rax] + paddd xmm11,xmm15 + pslld xmm8,5 + pxor xmm6,xmm13 + + movdqa xmm9,xmm12 + movdqa XMMWORD[(112-128)+rax],xmm3 + paddd xmm11,xmm3 + pxor xmm4,xmm1 + psrld xmm9,27 + pxor xmm6,xmm14 + movdqa xmm7,xmm13 + + pslld xmm7,30 + movdqa xmm5,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm11,xmm6 + paddd xmm4,xmm4 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((176-128))+rax] + + movdqa xmm8,xmm11 + movdqa xmm6,xmm14 + pxor xmm0,XMMWORD[((16-128))+rax] + paddd xmm10,xmm15 + pslld xmm8,5 + pxor xmm6,xmm12 + + movdqa xmm9,xmm11 + movdqa XMMWORD[(128-128)+rax],xmm4 + paddd xmm10,xmm4 + pxor xmm0,xmm2 + psrld xmm9,27 + pxor xmm6,xmm13 + movdqa xmm7,xmm12 + + pslld xmm7,30 + movdqa xmm5,xmm0 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm10,xmm6 + paddd xmm0,xmm0 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((192-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm6,xmm13 + pxor xmm1,XMMWORD[((32-128))+rax] + paddd xmm14,xmm15 + pslld xmm8,5 + pxor xmm6,xmm11 + + movdqa xmm9,xmm10 + movdqa XMMWORD[(144-128)+rax],xmm0 + paddd xmm14,xmm0 + pxor xmm1,xmm3 + psrld xmm9,27 + pxor xmm6,xmm12 + movdqa xmm7,xmm11 + + pslld xmm7,30 + movdqa xmm5,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm14,xmm6 + paddd xmm1,xmm1 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((208-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm6,xmm12 + pxor xmm2,XMMWORD[((48-128))+rax] + paddd xmm13,xmm15 + pslld xmm8,5 + pxor xmm6,xmm10 + + movdqa xmm9,xmm14 + movdqa XMMWORD[(160-128)+rax],xmm1 + paddd xmm13,xmm1 + pxor xmm2,xmm4 + psrld xmm9,27 + pxor xmm6,xmm11 + movdqa xmm7,xmm10 + + pslld xmm7,30 + movdqa xmm5,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm13,xmm6 + paddd xmm2,xmm2 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((224-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm6,xmm11 + pxor xmm3,XMMWORD[((64-128))+rax] + paddd xmm12,xmm15 + pslld xmm8,5 + pxor xmm6,xmm14 + + movdqa xmm9,xmm13 + movdqa XMMWORD[(176-128)+rax],xmm2 + paddd xmm12,xmm2 + pxor xmm3,xmm0 + psrld xmm9,27 + pxor xmm6,xmm10 + movdqa xmm7,xmm14 + + pslld xmm7,30 + movdqa xmm5,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm12,xmm6 + paddd xmm3,xmm3 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((240-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm6,xmm10 + pxor xmm4,XMMWORD[((80-128))+rax] + paddd xmm11,xmm15 + pslld xmm8,5 + pxor xmm6,xmm13 + + movdqa xmm9,xmm12 + movdqa XMMWORD[(192-128)+rax],xmm3 + paddd xmm11,xmm3 + pxor xmm4,xmm1 + psrld xmm9,27 + pxor xmm6,xmm14 + movdqa xmm7,xmm13 + + pslld xmm7,30 + movdqa xmm5,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm11,xmm6 + paddd xmm4,xmm4 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((0-128))+rax] + + movdqa xmm8,xmm11 + movdqa xmm6,xmm14 + pxor xmm0,XMMWORD[((96-128))+rax] + paddd xmm10,xmm15 + pslld xmm8,5 + pxor xmm6,xmm12 + + movdqa xmm9,xmm11 + movdqa XMMWORD[(208-128)+rax],xmm4 + paddd xmm10,xmm4 + pxor xmm0,xmm2 + psrld xmm9,27 + pxor xmm6,xmm13 + movdqa xmm7,xmm12 + + pslld xmm7,30 + movdqa xmm5,xmm0 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm10,xmm6 + paddd xmm0,xmm0 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((16-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm6,xmm13 + pxor xmm1,XMMWORD[((112-128))+rax] + paddd xmm14,xmm15 + pslld xmm8,5 + pxor xmm6,xmm11 + + movdqa xmm9,xmm10 + movdqa XMMWORD[(224-128)+rax],xmm0 + paddd xmm14,xmm0 + pxor xmm1,xmm3 + psrld xmm9,27 + pxor xmm6,xmm12 + movdqa xmm7,xmm11 + + pslld xmm7,30 + movdqa xmm5,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm14,xmm6 + paddd xmm1,xmm1 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((32-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm6,xmm12 + pxor xmm2,XMMWORD[((128-128))+rax] + paddd xmm13,xmm15 + pslld xmm8,5 + pxor xmm6,xmm10 + + movdqa xmm9,xmm14 + movdqa XMMWORD[(240-128)+rax],xmm1 + paddd xmm13,xmm1 + pxor xmm2,xmm4 + psrld xmm9,27 + pxor xmm6,xmm11 + movdqa xmm7,xmm10 + + pslld xmm7,30 + movdqa xmm5,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm13,xmm6 + paddd xmm2,xmm2 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((48-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm6,xmm11 + pxor xmm3,XMMWORD[((144-128))+rax] + paddd xmm12,xmm15 + pslld xmm8,5 + pxor xmm6,xmm14 + + movdqa xmm9,xmm13 + movdqa XMMWORD[(0-128)+rax],xmm2 + paddd xmm12,xmm2 + pxor xmm3,xmm0 + psrld xmm9,27 + pxor xmm6,xmm10 + movdqa xmm7,xmm14 + + pslld xmm7,30 + movdqa xmm5,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm12,xmm6 + paddd xmm3,xmm3 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((64-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm6,xmm10 + pxor xmm4,XMMWORD[((160-128))+rax] + paddd xmm11,xmm15 + pslld xmm8,5 + pxor xmm6,xmm13 + + movdqa xmm9,xmm12 + movdqa XMMWORD[(16-128)+rax],xmm3 + paddd xmm11,xmm3 + pxor xmm4,xmm1 + psrld xmm9,27 + pxor xmm6,xmm14 + movdqa xmm7,xmm13 + + pslld xmm7,30 + movdqa xmm5,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm11,xmm6 + paddd xmm4,xmm4 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((80-128))+rax] + + movdqa xmm8,xmm11 + movdqa xmm6,xmm14 + pxor xmm0,XMMWORD[((176-128))+rax] + paddd xmm10,xmm15 + pslld xmm8,5 + pxor xmm6,xmm12 + + movdqa xmm9,xmm11 + movdqa XMMWORD[(32-128)+rax],xmm4 + paddd xmm10,xmm4 + pxor xmm0,xmm2 + psrld xmm9,27 + pxor xmm6,xmm13 + movdqa xmm7,xmm12 + + pslld xmm7,30 + movdqa xmm5,xmm0 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm10,xmm6 + paddd xmm0,xmm0 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((96-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm6,xmm13 + pxor xmm1,XMMWORD[((192-128))+rax] + paddd xmm14,xmm15 + pslld xmm8,5 + pxor xmm6,xmm11 + + movdqa xmm9,xmm10 + movdqa XMMWORD[(48-128)+rax],xmm0 + paddd xmm14,xmm0 + pxor xmm1,xmm3 + psrld xmm9,27 + pxor xmm6,xmm12 + movdqa xmm7,xmm11 + + pslld xmm7,30 + movdqa xmm5,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm14,xmm6 + paddd xmm1,xmm1 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((112-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm6,xmm12 + pxor xmm2,XMMWORD[((208-128))+rax] + paddd xmm13,xmm15 + pslld xmm8,5 + pxor xmm6,xmm10 + + movdqa xmm9,xmm14 + movdqa XMMWORD[(64-128)+rax],xmm1 + paddd xmm13,xmm1 + pxor xmm2,xmm4 + psrld xmm9,27 + pxor xmm6,xmm11 + movdqa xmm7,xmm10 + + pslld xmm7,30 + movdqa xmm5,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm13,xmm6 + paddd xmm2,xmm2 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((128-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm6,xmm11 + pxor xmm3,XMMWORD[((224-128))+rax] + paddd xmm12,xmm15 + pslld xmm8,5 + pxor xmm6,xmm14 + + movdqa xmm9,xmm13 + movdqa XMMWORD[(80-128)+rax],xmm2 + paddd xmm12,xmm2 + pxor xmm3,xmm0 + psrld xmm9,27 + pxor xmm6,xmm10 + movdqa xmm7,xmm14 + + pslld xmm7,30 + movdqa xmm5,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm12,xmm6 + paddd xmm3,xmm3 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((144-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm6,xmm10 + pxor xmm4,XMMWORD[((240-128))+rax] + paddd xmm11,xmm15 + pslld xmm8,5 + pxor xmm6,xmm13 + + movdqa xmm9,xmm12 + movdqa XMMWORD[(96-128)+rax],xmm3 + paddd xmm11,xmm3 + pxor xmm4,xmm1 + psrld xmm9,27 + pxor xmm6,xmm14 + movdqa xmm7,xmm13 + + pslld xmm7,30 + movdqa xmm5,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm11,xmm6 + paddd xmm4,xmm4 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((160-128))+rax] + + movdqa xmm8,xmm11 + movdqa xmm6,xmm14 + pxor xmm0,XMMWORD[((0-128))+rax] + paddd xmm10,xmm15 + pslld xmm8,5 + pxor xmm6,xmm12 + + movdqa xmm9,xmm11 + movdqa XMMWORD[(112-128)+rax],xmm4 + paddd xmm10,xmm4 + pxor xmm0,xmm2 + psrld xmm9,27 + pxor xmm6,xmm13 + movdqa xmm7,xmm12 + + pslld xmm7,30 + movdqa xmm5,xmm0 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm10,xmm6 + paddd xmm0,xmm0 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + movdqa xmm15,XMMWORD[32+rbp] + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((176-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm7,xmm13 + pxor xmm1,XMMWORD[((16-128))+rax] + pxor xmm1,xmm3 + paddd xmm14,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm10 + pand xmm7,xmm12 + + movdqa xmm6,xmm13 + movdqa xmm5,xmm1 + psrld xmm9,27 + paddd xmm14,xmm7 + pxor xmm6,xmm12 + + movdqa XMMWORD[(128-128)+rax],xmm0 + paddd xmm14,xmm0 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm11 + movdqa xmm7,xmm11 + + pslld xmm7,30 + paddd xmm1,xmm1 + paddd xmm14,xmm6 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((192-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm7,xmm12 + pxor xmm2,XMMWORD[((32-128))+rax] + pxor xmm2,xmm4 + paddd xmm13,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm14 + pand xmm7,xmm11 + + movdqa xmm6,xmm12 + movdqa xmm5,xmm2 + psrld xmm9,27 + paddd xmm13,xmm7 + pxor xmm6,xmm11 + + movdqa XMMWORD[(144-128)+rax],xmm1 + paddd xmm13,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm10 + movdqa xmm7,xmm10 + + pslld xmm7,30 + paddd xmm2,xmm2 + paddd xmm13,xmm6 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((208-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm7,xmm11 + pxor xmm3,XMMWORD[((48-128))+rax] + pxor xmm3,xmm0 + paddd xmm12,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm13 + pand xmm7,xmm10 + + movdqa xmm6,xmm11 + movdqa xmm5,xmm3 + psrld xmm9,27 + paddd xmm12,xmm7 + pxor xmm6,xmm10 + + movdqa XMMWORD[(160-128)+rax],xmm2 + paddd xmm12,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm14 + movdqa xmm7,xmm14 + + pslld xmm7,30 + paddd xmm3,xmm3 + paddd xmm12,xmm6 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((224-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm7,xmm10 + pxor xmm4,XMMWORD[((64-128))+rax] + pxor xmm4,xmm1 + paddd xmm11,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm12 + pand xmm7,xmm14 + + movdqa xmm6,xmm10 + movdqa xmm5,xmm4 + psrld xmm9,27 + paddd xmm11,xmm7 + pxor xmm6,xmm14 + + movdqa XMMWORD[(176-128)+rax],xmm3 + paddd xmm11,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm13 + movdqa xmm7,xmm13 + + pslld xmm7,30 + paddd xmm4,xmm4 + paddd xmm11,xmm6 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((240-128))+rax] + + movdqa xmm8,xmm11 + movdqa xmm7,xmm14 + pxor xmm0,XMMWORD[((80-128))+rax] + pxor xmm0,xmm2 + paddd xmm10,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm11 + pand xmm7,xmm13 + + movdqa xmm6,xmm14 + movdqa xmm5,xmm0 + psrld xmm9,27 + paddd xmm10,xmm7 + pxor xmm6,xmm13 + + movdqa XMMWORD[(192-128)+rax],xmm4 + paddd xmm10,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm12 + movdqa xmm7,xmm12 + + pslld xmm7,30 + paddd xmm0,xmm0 + paddd xmm10,xmm6 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((0-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm7,xmm13 + pxor xmm1,XMMWORD[((96-128))+rax] + pxor xmm1,xmm3 + paddd xmm14,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm10 + pand xmm7,xmm12 + + movdqa xmm6,xmm13 + movdqa xmm5,xmm1 + psrld xmm9,27 + paddd xmm14,xmm7 + pxor xmm6,xmm12 + + movdqa XMMWORD[(208-128)+rax],xmm0 + paddd xmm14,xmm0 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm11 + movdqa xmm7,xmm11 + + pslld xmm7,30 + paddd xmm1,xmm1 + paddd xmm14,xmm6 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((16-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm7,xmm12 + pxor xmm2,XMMWORD[((112-128))+rax] + pxor xmm2,xmm4 + paddd xmm13,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm14 + pand xmm7,xmm11 + + movdqa xmm6,xmm12 + movdqa xmm5,xmm2 + psrld xmm9,27 + paddd xmm13,xmm7 + pxor xmm6,xmm11 + + movdqa XMMWORD[(224-128)+rax],xmm1 + paddd xmm13,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm10 + movdqa xmm7,xmm10 + + pslld xmm7,30 + paddd xmm2,xmm2 + paddd xmm13,xmm6 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((32-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm7,xmm11 + pxor xmm3,XMMWORD[((128-128))+rax] + pxor xmm3,xmm0 + paddd xmm12,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm13 + pand xmm7,xmm10 + + movdqa xmm6,xmm11 + movdqa xmm5,xmm3 + psrld xmm9,27 + paddd xmm12,xmm7 + pxor xmm6,xmm10 + + movdqa XMMWORD[(240-128)+rax],xmm2 + paddd xmm12,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm14 + movdqa xmm7,xmm14 + + pslld xmm7,30 + paddd xmm3,xmm3 + paddd xmm12,xmm6 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((48-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm7,xmm10 + pxor xmm4,XMMWORD[((144-128))+rax] + pxor xmm4,xmm1 + paddd xmm11,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm12 + pand xmm7,xmm14 + + movdqa xmm6,xmm10 + movdqa xmm5,xmm4 + psrld xmm9,27 + paddd xmm11,xmm7 + pxor xmm6,xmm14 + + movdqa XMMWORD[(0-128)+rax],xmm3 + paddd xmm11,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm13 + movdqa xmm7,xmm13 + + pslld xmm7,30 + paddd xmm4,xmm4 + paddd xmm11,xmm6 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((64-128))+rax] + + movdqa xmm8,xmm11 + movdqa xmm7,xmm14 + pxor xmm0,XMMWORD[((160-128))+rax] + pxor xmm0,xmm2 + paddd xmm10,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm11 + pand xmm7,xmm13 + + movdqa xmm6,xmm14 + movdqa xmm5,xmm0 + psrld xmm9,27 + paddd xmm10,xmm7 + pxor xmm6,xmm13 + + movdqa XMMWORD[(16-128)+rax],xmm4 + paddd xmm10,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm12 + movdqa xmm7,xmm12 + + pslld xmm7,30 + paddd xmm0,xmm0 + paddd xmm10,xmm6 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((80-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm7,xmm13 + pxor xmm1,XMMWORD[((176-128))+rax] + pxor xmm1,xmm3 + paddd xmm14,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm10 + pand xmm7,xmm12 + + movdqa xmm6,xmm13 + movdqa xmm5,xmm1 + psrld xmm9,27 + paddd xmm14,xmm7 + pxor xmm6,xmm12 + + movdqa XMMWORD[(32-128)+rax],xmm0 + paddd xmm14,xmm0 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm11 + movdqa xmm7,xmm11 + + pslld xmm7,30 + paddd xmm1,xmm1 + paddd xmm14,xmm6 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((96-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm7,xmm12 + pxor xmm2,XMMWORD[((192-128))+rax] + pxor xmm2,xmm4 + paddd xmm13,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm14 + pand xmm7,xmm11 + + movdqa xmm6,xmm12 + movdqa xmm5,xmm2 + psrld xmm9,27 + paddd xmm13,xmm7 + pxor xmm6,xmm11 + + movdqa XMMWORD[(48-128)+rax],xmm1 + paddd xmm13,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm10 + movdqa xmm7,xmm10 + + pslld xmm7,30 + paddd xmm2,xmm2 + paddd xmm13,xmm6 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((112-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm7,xmm11 + pxor xmm3,XMMWORD[((208-128))+rax] + pxor xmm3,xmm0 + paddd xmm12,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm13 + pand xmm7,xmm10 + + movdqa xmm6,xmm11 + movdqa xmm5,xmm3 + psrld xmm9,27 + paddd xmm12,xmm7 + pxor xmm6,xmm10 + + movdqa XMMWORD[(64-128)+rax],xmm2 + paddd xmm12,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm14 + movdqa xmm7,xmm14 + + pslld xmm7,30 + paddd xmm3,xmm3 + paddd xmm12,xmm6 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((128-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm7,xmm10 + pxor xmm4,XMMWORD[((224-128))+rax] + pxor xmm4,xmm1 + paddd xmm11,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm12 + pand xmm7,xmm14 + + movdqa xmm6,xmm10 + movdqa xmm5,xmm4 + psrld xmm9,27 + paddd xmm11,xmm7 + pxor xmm6,xmm14 + + movdqa XMMWORD[(80-128)+rax],xmm3 + paddd xmm11,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm13 + movdqa xmm7,xmm13 + + pslld xmm7,30 + paddd xmm4,xmm4 + paddd xmm11,xmm6 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((144-128))+rax] + + movdqa xmm8,xmm11 + movdqa xmm7,xmm14 + pxor xmm0,XMMWORD[((240-128))+rax] + pxor xmm0,xmm2 + paddd xmm10,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm11 + pand xmm7,xmm13 + + movdqa xmm6,xmm14 + movdqa xmm5,xmm0 + psrld xmm9,27 + paddd xmm10,xmm7 + pxor xmm6,xmm13 + + movdqa XMMWORD[(96-128)+rax],xmm4 + paddd xmm10,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm12 + movdqa xmm7,xmm12 + + pslld xmm7,30 + paddd xmm0,xmm0 + paddd xmm10,xmm6 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((160-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm7,xmm13 + pxor xmm1,XMMWORD[((0-128))+rax] + pxor xmm1,xmm3 + paddd xmm14,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm10 + pand xmm7,xmm12 + + movdqa xmm6,xmm13 + movdqa xmm5,xmm1 + psrld xmm9,27 + paddd xmm14,xmm7 + pxor xmm6,xmm12 + + movdqa XMMWORD[(112-128)+rax],xmm0 + paddd xmm14,xmm0 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm11 + movdqa xmm7,xmm11 + + pslld xmm7,30 + paddd xmm1,xmm1 + paddd xmm14,xmm6 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((176-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm7,xmm12 + pxor xmm2,XMMWORD[((16-128))+rax] + pxor xmm2,xmm4 + paddd xmm13,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm14 + pand xmm7,xmm11 + + movdqa xmm6,xmm12 + movdqa xmm5,xmm2 + psrld xmm9,27 + paddd xmm13,xmm7 + pxor xmm6,xmm11 + + movdqa XMMWORD[(128-128)+rax],xmm1 + paddd xmm13,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm10 + movdqa xmm7,xmm10 + + pslld xmm7,30 + paddd xmm2,xmm2 + paddd xmm13,xmm6 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((192-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm7,xmm11 + pxor xmm3,XMMWORD[((32-128))+rax] + pxor xmm3,xmm0 + paddd xmm12,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm13 + pand xmm7,xmm10 + + movdqa xmm6,xmm11 + movdqa xmm5,xmm3 + psrld xmm9,27 + paddd xmm12,xmm7 + pxor xmm6,xmm10 + + movdqa XMMWORD[(144-128)+rax],xmm2 + paddd xmm12,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm14 + movdqa xmm7,xmm14 + + pslld xmm7,30 + paddd xmm3,xmm3 + paddd xmm12,xmm6 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((208-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm7,xmm10 + pxor xmm4,XMMWORD[((48-128))+rax] + pxor xmm4,xmm1 + paddd xmm11,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm12 + pand xmm7,xmm14 + + movdqa xmm6,xmm10 + movdqa xmm5,xmm4 + psrld xmm9,27 + paddd xmm11,xmm7 + pxor xmm6,xmm14 + + movdqa XMMWORD[(160-128)+rax],xmm3 + paddd xmm11,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm13 + movdqa xmm7,xmm13 + + pslld xmm7,30 + paddd xmm4,xmm4 + paddd xmm11,xmm6 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((224-128))+rax] + + movdqa xmm8,xmm11 + movdqa xmm7,xmm14 + pxor xmm0,XMMWORD[((64-128))+rax] + pxor xmm0,xmm2 + paddd xmm10,xmm15 + pslld xmm8,5 + movdqa xmm9,xmm11 + pand xmm7,xmm13 + + movdqa xmm6,xmm14 + movdqa xmm5,xmm0 + psrld xmm9,27 + paddd xmm10,xmm7 + pxor xmm6,xmm13 + + movdqa XMMWORD[(176-128)+rax],xmm4 + paddd xmm10,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + pand xmm6,xmm12 + movdqa xmm7,xmm12 + + pslld xmm7,30 + paddd xmm0,xmm0 + paddd xmm10,xmm6 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + movdqa xmm15,XMMWORD[64+rbp] + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((240-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm6,xmm13 + pxor xmm1,XMMWORD[((80-128))+rax] + paddd xmm14,xmm15 + pslld xmm8,5 + pxor xmm6,xmm11 + + movdqa xmm9,xmm10 + movdqa XMMWORD[(192-128)+rax],xmm0 + paddd xmm14,xmm0 + pxor xmm1,xmm3 + psrld xmm9,27 + pxor xmm6,xmm12 + movdqa xmm7,xmm11 + + pslld xmm7,30 + movdqa xmm5,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm14,xmm6 + paddd xmm1,xmm1 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((0-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm6,xmm12 + pxor xmm2,XMMWORD[((96-128))+rax] + paddd xmm13,xmm15 + pslld xmm8,5 + pxor xmm6,xmm10 + + movdqa xmm9,xmm14 + movdqa XMMWORD[(208-128)+rax],xmm1 + paddd xmm13,xmm1 + pxor xmm2,xmm4 + psrld xmm9,27 + pxor xmm6,xmm11 + movdqa xmm7,xmm10 + + pslld xmm7,30 + movdqa xmm5,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm13,xmm6 + paddd xmm2,xmm2 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((16-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm6,xmm11 + pxor xmm3,XMMWORD[((112-128))+rax] + paddd xmm12,xmm15 + pslld xmm8,5 + pxor xmm6,xmm14 + + movdqa xmm9,xmm13 + movdqa XMMWORD[(224-128)+rax],xmm2 + paddd xmm12,xmm2 + pxor xmm3,xmm0 + psrld xmm9,27 + pxor xmm6,xmm10 + movdqa xmm7,xmm14 + + pslld xmm7,30 + movdqa xmm5,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm12,xmm6 + paddd xmm3,xmm3 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((32-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm6,xmm10 + pxor xmm4,XMMWORD[((128-128))+rax] + paddd xmm11,xmm15 + pslld xmm8,5 + pxor xmm6,xmm13 + + movdqa xmm9,xmm12 + movdqa XMMWORD[(240-128)+rax],xmm3 + paddd xmm11,xmm3 + pxor xmm4,xmm1 + psrld xmm9,27 + pxor xmm6,xmm14 + movdqa xmm7,xmm13 + + pslld xmm7,30 + movdqa xmm5,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm11,xmm6 + paddd xmm4,xmm4 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((48-128))+rax] + + movdqa xmm8,xmm11 + movdqa xmm6,xmm14 + pxor xmm0,XMMWORD[((144-128))+rax] + paddd xmm10,xmm15 + pslld xmm8,5 + pxor xmm6,xmm12 + + movdqa xmm9,xmm11 + movdqa XMMWORD[(0-128)+rax],xmm4 + paddd xmm10,xmm4 + pxor xmm0,xmm2 + psrld xmm9,27 + pxor xmm6,xmm13 + movdqa xmm7,xmm12 + + pslld xmm7,30 + movdqa xmm5,xmm0 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm10,xmm6 + paddd xmm0,xmm0 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((64-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm6,xmm13 + pxor xmm1,XMMWORD[((160-128))+rax] + paddd xmm14,xmm15 + pslld xmm8,5 + pxor xmm6,xmm11 + + movdqa xmm9,xmm10 + movdqa XMMWORD[(16-128)+rax],xmm0 + paddd xmm14,xmm0 + pxor xmm1,xmm3 + psrld xmm9,27 + pxor xmm6,xmm12 + movdqa xmm7,xmm11 + + pslld xmm7,30 + movdqa xmm5,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm14,xmm6 + paddd xmm1,xmm1 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((80-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm6,xmm12 + pxor xmm2,XMMWORD[((176-128))+rax] + paddd xmm13,xmm15 + pslld xmm8,5 + pxor xmm6,xmm10 + + movdqa xmm9,xmm14 + movdqa XMMWORD[(32-128)+rax],xmm1 + paddd xmm13,xmm1 + pxor xmm2,xmm4 + psrld xmm9,27 + pxor xmm6,xmm11 + movdqa xmm7,xmm10 + + pslld xmm7,30 + movdqa xmm5,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm13,xmm6 + paddd xmm2,xmm2 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((96-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm6,xmm11 + pxor xmm3,XMMWORD[((192-128))+rax] + paddd xmm12,xmm15 + pslld xmm8,5 + pxor xmm6,xmm14 + + movdqa xmm9,xmm13 + movdqa XMMWORD[(48-128)+rax],xmm2 + paddd xmm12,xmm2 + pxor xmm3,xmm0 + psrld xmm9,27 + pxor xmm6,xmm10 + movdqa xmm7,xmm14 + + pslld xmm7,30 + movdqa xmm5,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm12,xmm6 + paddd xmm3,xmm3 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((112-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm6,xmm10 + pxor xmm4,XMMWORD[((208-128))+rax] + paddd xmm11,xmm15 + pslld xmm8,5 + pxor xmm6,xmm13 + + movdqa xmm9,xmm12 + movdqa XMMWORD[(64-128)+rax],xmm3 + paddd xmm11,xmm3 + pxor xmm4,xmm1 + psrld xmm9,27 + pxor xmm6,xmm14 + movdqa xmm7,xmm13 + + pslld xmm7,30 + movdqa xmm5,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm11,xmm6 + paddd xmm4,xmm4 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((128-128))+rax] + + movdqa xmm8,xmm11 + movdqa xmm6,xmm14 + pxor xmm0,XMMWORD[((224-128))+rax] + paddd xmm10,xmm15 + pslld xmm8,5 + pxor xmm6,xmm12 + + movdqa xmm9,xmm11 + movdqa XMMWORD[(80-128)+rax],xmm4 + paddd xmm10,xmm4 + pxor xmm0,xmm2 + psrld xmm9,27 + pxor xmm6,xmm13 + movdqa xmm7,xmm12 + + pslld xmm7,30 + movdqa xmm5,xmm0 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm10,xmm6 + paddd xmm0,xmm0 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((144-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm6,xmm13 + pxor xmm1,XMMWORD[((240-128))+rax] + paddd xmm14,xmm15 + pslld xmm8,5 + pxor xmm6,xmm11 + + movdqa xmm9,xmm10 + movdqa XMMWORD[(96-128)+rax],xmm0 + paddd xmm14,xmm0 + pxor xmm1,xmm3 + psrld xmm9,27 + pxor xmm6,xmm12 + movdqa xmm7,xmm11 + + pslld xmm7,30 + movdqa xmm5,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm14,xmm6 + paddd xmm1,xmm1 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((160-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm6,xmm12 + pxor xmm2,XMMWORD[((0-128))+rax] + paddd xmm13,xmm15 + pslld xmm8,5 + pxor xmm6,xmm10 + + movdqa xmm9,xmm14 + movdqa XMMWORD[(112-128)+rax],xmm1 + paddd xmm13,xmm1 + pxor xmm2,xmm4 + psrld xmm9,27 + pxor xmm6,xmm11 + movdqa xmm7,xmm10 + + pslld xmm7,30 + movdqa xmm5,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm13,xmm6 + paddd xmm2,xmm2 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((176-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm6,xmm11 + pxor xmm3,XMMWORD[((16-128))+rax] + paddd xmm12,xmm15 + pslld xmm8,5 + pxor xmm6,xmm14 + + movdqa xmm9,xmm13 + paddd xmm12,xmm2 + pxor xmm3,xmm0 + psrld xmm9,27 + pxor xmm6,xmm10 + movdqa xmm7,xmm14 + + pslld xmm7,30 + movdqa xmm5,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm12,xmm6 + paddd xmm3,xmm3 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((192-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm6,xmm10 + pxor xmm4,XMMWORD[((32-128))+rax] + paddd xmm11,xmm15 + pslld xmm8,5 + pxor xmm6,xmm13 + + movdqa xmm9,xmm12 + paddd xmm11,xmm3 + pxor xmm4,xmm1 + psrld xmm9,27 + pxor xmm6,xmm14 + movdqa xmm7,xmm13 + + pslld xmm7,30 + movdqa xmm5,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm11,xmm6 + paddd xmm4,xmm4 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + pxor xmm0,xmm2 + movdqa xmm2,XMMWORD[((208-128))+rax] + + movdqa xmm8,xmm11 + movdqa xmm6,xmm14 + pxor xmm0,XMMWORD[((48-128))+rax] + paddd xmm10,xmm15 + pslld xmm8,5 + pxor xmm6,xmm12 + + movdqa xmm9,xmm11 + paddd xmm10,xmm4 + pxor xmm0,xmm2 + psrld xmm9,27 + pxor xmm6,xmm13 + movdqa xmm7,xmm12 + + pslld xmm7,30 + movdqa xmm5,xmm0 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm10,xmm6 + paddd xmm0,xmm0 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm0,xmm5 + por xmm12,xmm7 + pxor xmm1,xmm3 + movdqa xmm3,XMMWORD[((224-128))+rax] + + movdqa xmm8,xmm10 + movdqa xmm6,xmm13 + pxor xmm1,XMMWORD[((64-128))+rax] + paddd xmm14,xmm15 + pslld xmm8,5 + pxor xmm6,xmm11 + + movdqa xmm9,xmm10 + paddd xmm14,xmm0 + pxor xmm1,xmm3 + psrld xmm9,27 + pxor xmm6,xmm12 + movdqa xmm7,xmm11 + + pslld xmm7,30 + movdqa xmm5,xmm1 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm14,xmm6 + paddd xmm1,xmm1 + + psrld xmm11,2 + paddd xmm14,xmm8 + por xmm1,xmm5 + por xmm11,xmm7 + pxor xmm2,xmm4 + movdqa xmm4,XMMWORD[((240-128))+rax] + + movdqa xmm8,xmm14 + movdqa xmm6,xmm12 + pxor xmm2,XMMWORD[((80-128))+rax] + paddd xmm13,xmm15 + pslld xmm8,5 + pxor xmm6,xmm10 + + movdqa xmm9,xmm14 + paddd xmm13,xmm1 + pxor xmm2,xmm4 + psrld xmm9,27 + pxor xmm6,xmm11 + movdqa xmm7,xmm10 + + pslld xmm7,30 + movdqa xmm5,xmm2 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm13,xmm6 + paddd xmm2,xmm2 + + psrld xmm10,2 + paddd xmm13,xmm8 + por xmm2,xmm5 + por xmm10,xmm7 + pxor xmm3,xmm0 + movdqa xmm0,XMMWORD[((0-128))+rax] + + movdqa xmm8,xmm13 + movdqa xmm6,xmm11 + pxor xmm3,XMMWORD[((96-128))+rax] + paddd xmm12,xmm15 + pslld xmm8,5 + pxor xmm6,xmm14 + + movdqa xmm9,xmm13 + paddd xmm12,xmm2 + pxor xmm3,xmm0 + psrld xmm9,27 + pxor xmm6,xmm10 + movdqa xmm7,xmm14 + + pslld xmm7,30 + movdqa xmm5,xmm3 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm12,xmm6 + paddd xmm3,xmm3 + + psrld xmm14,2 + paddd xmm12,xmm8 + por xmm3,xmm5 + por xmm14,xmm7 + pxor xmm4,xmm1 + movdqa xmm1,XMMWORD[((16-128))+rax] + + movdqa xmm8,xmm12 + movdqa xmm6,xmm10 + pxor xmm4,XMMWORD[((112-128))+rax] + paddd xmm11,xmm15 + pslld xmm8,5 + pxor xmm6,xmm13 + + movdqa xmm9,xmm12 + paddd xmm11,xmm3 + pxor xmm4,xmm1 + psrld xmm9,27 + pxor xmm6,xmm14 + movdqa xmm7,xmm13 + + pslld xmm7,30 + movdqa xmm5,xmm4 + por xmm8,xmm9 + psrld xmm5,31 + paddd xmm11,xmm6 + paddd xmm4,xmm4 + + psrld xmm13,2 + paddd xmm11,xmm8 + por xmm4,xmm5 + por xmm13,xmm7 + movdqa xmm8,xmm11 + paddd xmm10,xmm15 + movdqa xmm6,xmm14 + pslld xmm8,5 + pxor xmm6,xmm12 + + movdqa xmm9,xmm11 + paddd xmm10,xmm4 + psrld xmm9,27 + movdqa xmm7,xmm12 + pxor xmm6,xmm13 + + pslld xmm7,30 + por xmm8,xmm9 + paddd xmm10,xmm6 + + psrld xmm12,2 + paddd xmm10,xmm8 + por xmm12,xmm7 + movdqa xmm0,XMMWORD[rbx] + mov ecx,1 + cmp ecx,DWORD[rbx] + pxor xmm8,xmm8 + cmovge r8,rbp + cmp ecx,DWORD[4+rbx] + movdqa xmm1,xmm0 + cmovge r9,rbp + cmp ecx,DWORD[8+rbx] + pcmpgtd xmm1,xmm8 + cmovge r10,rbp + cmp ecx,DWORD[12+rbx] + paddd xmm0,xmm1 + cmovge r11,rbp + + movdqu xmm6,XMMWORD[rdi] + pand xmm10,xmm1 + movdqu xmm7,XMMWORD[32+rdi] + pand xmm11,xmm1 + paddd xmm10,xmm6 + movdqu xmm8,XMMWORD[64+rdi] + pand xmm12,xmm1 + paddd xmm11,xmm7 + movdqu xmm9,XMMWORD[96+rdi] + pand xmm13,xmm1 + paddd xmm12,xmm8 + movdqu xmm5,XMMWORD[128+rdi] + pand xmm14,xmm1 + movdqu XMMWORD[rdi],xmm10 + paddd xmm13,xmm9 + movdqu XMMWORD[32+rdi],xmm11 + paddd xmm14,xmm5 + movdqu XMMWORD[64+rdi],xmm12 + movdqu XMMWORD[96+rdi],xmm13 + movdqu XMMWORD[128+rdi],xmm14 + + movdqa XMMWORD[rbx],xmm0 + movdqa xmm5,XMMWORD[96+rbp] + movdqa xmm15,XMMWORD[((-32))+rbp] + dec edx + jnz NEAR $L$oop + + mov edx,DWORD[280+rsp] + lea rdi,[16+rdi] + lea rsi,[64+rsi] + dec edx + jnz NEAR $L$oop_grande + +$L$done: + mov rax,QWORD[272+rsp] + movaps xmm6,XMMWORD[((-184))+rax] + movaps xmm7,XMMWORD[((-168))+rax] + movaps xmm8,XMMWORD[((-152))+rax] + movaps xmm9,XMMWORD[((-136))+rax] + movaps xmm10,XMMWORD[((-120))+rax] + movaps xmm11,XMMWORD[((-104))+rax] + movaps xmm12,XMMWORD[((-88))+rax] + movaps xmm13,XMMWORD[((-72))+rax] + movaps xmm14,XMMWORD[((-56))+rax] + movaps xmm15,XMMWORD[((-40))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha1_multi_block: + +ALIGN 32 +sha1_multi_block_shaext: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_multi_block_shaext: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_shaext_shortcut: + mov rax,rsp + push rbx + push rbp + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[(-120)+rax],xmm10 + movaps XMMWORD[(-104)+rax],xmm11 + movaps XMMWORD[(-88)+rax],xmm12 + movaps XMMWORD[(-72)+rax],xmm13 + movaps XMMWORD[(-56)+rax],xmm14 + movaps XMMWORD[(-40)+rax],xmm15 + sub rsp,288 + shl edx,1 + and rsp,-256 + lea rdi,[64+rdi] + mov QWORD[272+rsp],rax +$L$body_shaext: + lea rbx,[256+rsp] + movdqa xmm3,XMMWORD[((K_XX_XX+128))] + +$L$oop_grande_shaext: + mov DWORD[280+rsp],edx + xor edx,edx + mov r8,QWORD[rsi] + mov ecx,DWORD[8+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[rbx],ecx + cmovle r8,rsp + mov r9,QWORD[16+rsi] + mov ecx,DWORD[24+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[4+rbx],ecx + cmovle r9,rsp + test edx,edx + jz NEAR $L$done_shaext + + movq xmm0,QWORD[((0-64))+rdi] + movq xmm4,QWORD[((32-64))+rdi] + movq xmm5,QWORD[((64-64))+rdi] + movq xmm6,QWORD[((96-64))+rdi] + movq xmm7,QWORD[((128-64))+rdi] + + punpckldq xmm0,xmm4 + punpckldq xmm5,xmm6 + + movdqa xmm8,xmm0 + punpcklqdq xmm0,xmm5 + punpckhqdq xmm8,xmm5 + + pshufd xmm1,xmm7,63 + pshufd xmm9,xmm7,127 + pshufd xmm0,xmm0,27 + pshufd xmm8,xmm8,27 + jmp NEAR $L$oop_shaext + +ALIGN 32 +$L$oop_shaext: + movdqu xmm4,XMMWORD[r8] + movdqu xmm11,XMMWORD[r9] + movdqu xmm5,XMMWORD[16+r8] + movdqu xmm12,XMMWORD[16+r9] + movdqu xmm6,XMMWORD[32+r8] +DB 102,15,56,0,227 + movdqu xmm13,XMMWORD[32+r9] +DB 102,68,15,56,0,219 + movdqu xmm7,XMMWORD[48+r8] + lea r8,[64+r8] +DB 102,15,56,0,235 + movdqu xmm14,XMMWORD[48+r9] + lea r9,[64+r9] +DB 102,68,15,56,0,227 + + movdqa XMMWORD[80+rsp],xmm1 + paddd xmm1,xmm4 + movdqa XMMWORD[112+rsp],xmm9 + paddd xmm9,xmm11 + movdqa XMMWORD[64+rsp],xmm0 + movdqa xmm2,xmm0 + movdqa XMMWORD[96+rsp],xmm8 + movdqa xmm10,xmm8 +DB 15,58,204,193,0 +DB 15,56,200,213 +DB 69,15,58,204,193,0 +DB 69,15,56,200,212 +DB 102,15,56,0,243 + prefetcht0 [127+r8] +DB 15,56,201,229 +DB 102,68,15,56,0,235 + prefetcht0 [127+r9] +DB 69,15,56,201,220 + +DB 102,15,56,0,251 + movdqa xmm1,xmm0 +DB 102,68,15,56,0,243 + movdqa xmm9,xmm8 +DB 15,58,204,194,0 +DB 15,56,200,206 +DB 69,15,58,204,194,0 +DB 69,15,56,200,205 + pxor xmm4,xmm6 +DB 15,56,201,238 + pxor xmm11,xmm13 +DB 69,15,56,201,229 + movdqa xmm2,xmm0 + movdqa xmm10,xmm8 +DB 15,58,204,193,0 +DB 15,56,200,215 +DB 69,15,58,204,193,0 +DB 69,15,56,200,214 +DB 15,56,202,231 +DB 69,15,56,202,222 + pxor xmm5,xmm7 +DB 15,56,201,247 + pxor xmm12,xmm14 +DB 69,15,56,201,238 + movdqa xmm1,xmm0 + movdqa xmm9,xmm8 +DB 15,58,204,194,0 +DB 15,56,200,204 +DB 69,15,58,204,194,0 +DB 69,15,56,200,203 +DB 15,56,202,236 +DB 69,15,56,202,227 + pxor xmm6,xmm4 +DB 15,56,201,252 + pxor xmm13,xmm11 +DB 69,15,56,201,243 + movdqa xmm2,xmm0 + movdqa xmm10,xmm8 +DB 15,58,204,193,0 +DB 15,56,200,213 +DB 69,15,58,204,193,0 +DB 69,15,56,200,212 +DB 15,56,202,245 +DB 69,15,56,202,236 + pxor xmm7,xmm5 +DB 15,56,201,229 + pxor xmm14,xmm12 +DB 69,15,56,201,220 + movdqa xmm1,xmm0 + movdqa xmm9,xmm8 +DB 15,58,204,194,1 +DB 15,56,200,206 +DB 69,15,58,204,194,1 +DB 69,15,56,200,205 +DB 15,56,202,254 +DB 69,15,56,202,245 + pxor xmm4,xmm6 +DB 15,56,201,238 + pxor xmm11,xmm13 +DB 69,15,56,201,229 + movdqa xmm2,xmm0 + movdqa xmm10,xmm8 +DB 15,58,204,193,1 +DB 15,56,200,215 +DB 69,15,58,204,193,1 +DB 69,15,56,200,214 +DB 15,56,202,231 +DB 69,15,56,202,222 + pxor xmm5,xmm7 +DB 15,56,201,247 + pxor xmm12,xmm14 +DB 69,15,56,201,238 + movdqa xmm1,xmm0 + movdqa xmm9,xmm8 +DB 15,58,204,194,1 +DB 15,56,200,204 +DB 69,15,58,204,194,1 +DB 69,15,56,200,203 +DB 15,56,202,236 +DB 69,15,56,202,227 + pxor xmm6,xmm4 +DB 15,56,201,252 + pxor xmm13,xmm11 +DB 69,15,56,201,243 + movdqa xmm2,xmm0 + movdqa xmm10,xmm8 +DB 15,58,204,193,1 +DB 15,56,200,213 +DB 69,15,58,204,193,1 +DB 69,15,56,200,212 +DB 15,56,202,245 +DB 69,15,56,202,236 + pxor xmm7,xmm5 +DB 15,56,201,229 + pxor xmm14,xmm12 +DB 69,15,56,201,220 + movdqa xmm1,xmm0 + movdqa xmm9,xmm8 +DB 15,58,204,194,1 +DB 15,56,200,206 +DB 69,15,58,204,194,1 +DB 69,15,56,200,205 +DB 15,56,202,254 +DB 69,15,56,202,245 + pxor xmm4,xmm6 +DB 15,56,201,238 + pxor xmm11,xmm13 +DB 69,15,56,201,229 + movdqa xmm2,xmm0 + movdqa xmm10,xmm8 +DB 15,58,204,193,2 +DB 15,56,200,215 +DB 69,15,58,204,193,2 +DB 69,15,56,200,214 +DB 15,56,202,231 +DB 69,15,56,202,222 + pxor xmm5,xmm7 +DB 15,56,201,247 + pxor xmm12,xmm14 +DB 69,15,56,201,238 + movdqa xmm1,xmm0 + movdqa xmm9,xmm8 +DB 15,58,204,194,2 +DB 15,56,200,204 +DB 69,15,58,204,194,2 +DB 69,15,56,200,203 +DB 15,56,202,236 +DB 69,15,56,202,227 + pxor xmm6,xmm4 +DB 15,56,201,252 + pxor xmm13,xmm11 +DB 69,15,56,201,243 + movdqa xmm2,xmm0 + movdqa xmm10,xmm8 +DB 15,58,204,193,2 +DB 15,56,200,213 +DB 69,15,58,204,193,2 +DB 69,15,56,200,212 +DB 15,56,202,245 +DB 69,15,56,202,236 + pxor xmm7,xmm5 +DB 15,56,201,229 + pxor xmm14,xmm12 +DB 69,15,56,201,220 + movdqa xmm1,xmm0 + movdqa xmm9,xmm8 +DB 15,58,204,194,2 +DB 15,56,200,206 +DB 69,15,58,204,194,2 +DB 69,15,56,200,205 +DB 15,56,202,254 +DB 69,15,56,202,245 + pxor xmm4,xmm6 +DB 15,56,201,238 + pxor xmm11,xmm13 +DB 69,15,56,201,229 + movdqa xmm2,xmm0 + movdqa xmm10,xmm8 +DB 15,58,204,193,2 +DB 15,56,200,215 +DB 69,15,58,204,193,2 +DB 69,15,56,200,214 +DB 15,56,202,231 +DB 69,15,56,202,222 + pxor xmm5,xmm7 +DB 15,56,201,247 + pxor xmm12,xmm14 +DB 69,15,56,201,238 + movdqa xmm1,xmm0 + movdqa xmm9,xmm8 +DB 15,58,204,194,3 +DB 15,56,200,204 +DB 69,15,58,204,194,3 +DB 69,15,56,200,203 +DB 15,56,202,236 +DB 69,15,56,202,227 + pxor xmm6,xmm4 +DB 15,56,201,252 + pxor xmm13,xmm11 +DB 69,15,56,201,243 + movdqa xmm2,xmm0 + movdqa xmm10,xmm8 +DB 15,58,204,193,3 +DB 15,56,200,213 +DB 69,15,58,204,193,3 +DB 69,15,56,200,212 +DB 15,56,202,245 +DB 69,15,56,202,236 + pxor xmm7,xmm5 + pxor xmm14,xmm12 + + mov ecx,1 + pxor xmm4,xmm4 + cmp ecx,DWORD[rbx] + cmovge r8,rsp + + movdqa xmm1,xmm0 + movdqa xmm9,xmm8 +DB 15,58,204,194,3 +DB 15,56,200,206 +DB 69,15,58,204,194,3 +DB 69,15,56,200,205 +DB 15,56,202,254 +DB 69,15,56,202,245 + + cmp ecx,DWORD[4+rbx] + cmovge r9,rsp + movq xmm6,QWORD[rbx] + + movdqa xmm2,xmm0 + movdqa xmm10,xmm8 +DB 15,58,204,193,3 +DB 15,56,200,215 +DB 69,15,58,204,193,3 +DB 69,15,56,200,214 + + pshufd xmm11,xmm6,0x00 + pshufd xmm12,xmm6,0x55 + movdqa xmm7,xmm6 + pcmpgtd xmm11,xmm4 + pcmpgtd xmm12,xmm4 + + movdqa xmm1,xmm0 + movdqa xmm9,xmm8 +DB 15,58,204,194,3 +DB 15,56,200,204 +DB 69,15,58,204,194,3 +DB 68,15,56,200,204 + + pcmpgtd xmm7,xmm4 + pand xmm0,xmm11 + pand xmm1,xmm11 + pand xmm8,xmm12 + pand xmm9,xmm12 + paddd xmm6,xmm7 + + paddd xmm0,XMMWORD[64+rsp] + paddd xmm1,XMMWORD[80+rsp] + paddd xmm8,XMMWORD[96+rsp] + paddd xmm9,XMMWORD[112+rsp] + + movq QWORD[rbx],xmm6 + dec edx + jnz NEAR $L$oop_shaext + + mov edx,DWORD[280+rsp] + + pshufd xmm0,xmm0,27 + pshufd xmm8,xmm8,27 + + movdqa xmm6,xmm0 + punpckldq xmm0,xmm8 + punpckhdq xmm6,xmm8 + punpckhdq xmm1,xmm9 + movq QWORD[(0-64)+rdi],xmm0 + psrldq xmm0,8 + movq QWORD[(64-64)+rdi],xmm6 + psrldq xmm6,8 + movq QWORD[(32-64)+rdi],xmm0 + psrldq xmm1,8 + movq QWORD[(96-64)+rdi],xmm6 + movq QWORD[(128-64)+rdi],xmm1 + + lea rdi,[8+rdi] + lea rsi,[32+rsi] + dec edx + jnz NEAR $L$oop_grande_shaext + +$L$done_shaext: + + movaps xmm6,XMMWORD[((-184))+rax] + movaps xmm7,XMMWORD[((-168))+rax] + movaps xmm8,XMMWORD[((-152))+rax] + movaps xmm9,XMMWORD[((-136))+rax] + movaps xmm10,XMMWORD[((-120))+rax] + movaps xmm11,XMMWORD[((-104))+rax] + movaps xmm12,XMMWORD[((-88))+rax] + movaps xmm13,XMMWORD[((-72))+rax] + movaps xmm14,XMMWORD[((-56))+rax] + movaps xmm15,XMMWORD[((-40))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$epilogue_shaext: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha1_multi_block_shaext: + +ALIGN 32 +sha1_multi_block_avx: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_multi_block_avx: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_avx_shortcut: + shr rcx,32 + cmp edx,2 + jb NEAR $L$avx + test ecx,32 + jnz NEAR _avx2_shortcut + jmp NEAR $L$avx +ALIGN 32 +$L$avx: + mov rax,rsp + push rbx + push rbp + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[(-120)+rax],xmm10 + movaps XMMWORD[(-104)+rax],xmm11 + movaps XMMWORD[(-88)+rax],xmm12 + movaps XMMWORD[(-72)+rax],xmm13 + movaps XMMWORD[(-56)+rax],xmm14 + movaps XMMWORD[(-40)+rax],xmm15 + sub rsp,288 + and rsp,-256 + mov QWORD[272+rsp],rax +$L$body_avx: + lea rbp,[K_XX_XX] + lea rbx,[256+rsp] + + vzeroupper +$L$oop_grande_avx: + mov DWORD[280+rsp],edx + xor edx,edx + mov r8,QWORD[rsi] + mov ecx,DWORD[8+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[rbx],ecx + cmovle r8,rbp + mov r9,QWORD[16+rsi] + mov ecx,DWORD[24+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[4+rbx],ecx + cmovle r9,rbp + mov r10,QWORD[32+rsi] + mov ecx,DWORD[40+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[8+rbx],ecx + cmovle r10,rbp + mov r11,QWORD[48+rsi] + mov ecx,DWORD[56+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[12+rbx],ecx + cmovle r11,rbp + test edx,edx + jz NEAR $L$done_avx + + vmovdqu xmm10,XMMWORD[rdi] + lea rax,[128+rsp] + vmovdqu xmm11,XMMWORD[32+rdi] + vmovdqu xmm12,XMMWORD[64+rdi] + vmovdqu xmm13,XMMWORD[96+rdi] + vmovdqu xmm14,XMMWORD[128+rdi] + vmovdqu xmm5,XMMWORD[96+rbp] + jmp NEAR $L$oop_avx + +ALIGN 32 +$L$oop_avx: + vmovdqa xmm15,XMMWORD[((-32))+rbp] + vmovd xmm0,DWORD[r8] + lea r8,[64+r8] + vmovd xmm2,DWORD[r9] + lea r9,[64+r9] + vpinsrd xmm0,xmm0,DWORD[r10],1 + lea r10,[64+r10] + vpinsrd xmm2,xmm2,DWORD[r11],1 + lea r11,[64+r11] + vmovd xmm1,DWORD[((-60))+r8] + vpunpckldq xmm0,xmm0,xmm2 + vmovd xmm9,DWORD[((-60))+r9] + vpshufb xmm0,xmm0,xmm5 + vpinsrd xmm1,xmm1,DWORD[((-60))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-60))+r11],1 + vpaddd xmm14,xmm14,xmm15 + vpslld xmm8,xmm10,5 + vpandn xmm7,xmm11,xmm13 + vpand xmm6,xmm11,xmm12 + + vmovdqa XMMWORD[(0-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpunpckldq xmm1,xmm1,xmm9 + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm2,DWORD[((-56))+r8] + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-56))+r9] + vpaddd xmm14,xmm14,xmm6 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpshufb xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpinsrd xmm2,xmm2,DWORD[((-56))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-56))+r11],1 + vpaddd xmm13,xmm13,xmm15 + vpslld xmm8,xmm14,5 + vpandn xmm7,xmm10,xmm12 + vpand xmm6,xmm10,xmm11 + + vmovdqa XMMWORD[(16-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpunpckldq xmm2,xmm2,xmm9 + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm3,DWORD[((-52))+r8] + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-52))+r9] + vpaddd xmm13,xmm13,xmm6 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpshufb xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpinsrd xmm3,xmm3,DWORD[((-52))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-52))+r11],1 + vpaddd xmm12,xmm12,xmm15 + vpslld xmm8,xmm13,5 + vpandn xmm7,xmm14,xmm11 + vpand xmm6,xmm14,xmm10 + + vmovdqa XMMWORD[(32-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpunpckldq xmm3,xmm3,xmm9 + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm4,DWORD[((-48))+r8] + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-48))+r9] + vpaddd xmm12,xmm12,xmm6 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpshufb xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpinsrd xmm4,xmm4,DWORD[((-48))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-48))+r11],1 + vpaddd xmm11,xmm11,xmm15 + vpslld xmm8,xmm12,5 + vpandn xmm7,xmm13,xmm10 + vpand xmm6,xmm13,xmm14 + + vmovdqa XMMWORD[(48-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpunpckldq xmm4,xmm4,xmm9 + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm0,DWORD[((-44))+r8] + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-44))+r9] + vpaddd xmm11,xmm11,xmm6 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpshufb xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpinsrd xmm0,xmm0,DWORD[((-44))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-44))+r11],1 + vpaddd xmm10,xmm10,xmm15 + vpslld xmm8,xmm11,5 + vpandn xmm7,xmm12,xmm14 + vpand xmm6,xmm12,xmm13 + + vmovdqa XMMWORD[(64-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpunpckldq xmm0,xmm0,xmm9 + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm1,DWORD[((-40))+r8] + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-40))+r9] + vpaddd xmm10,xmm10,xmm6 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpshufb xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vpinsrd xmm1,xmm1,DWORD[((-40))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-40))+r11],1 + vpaddd xmm14,xmm14,xmm15 + vpslld xmm8,xmm10,5 + vpandn xmm7,xmm11,xmm13 + vpand xmm6,xmm11,xmm12 + + vmovdqa XMMWORD[(80-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpunpckldq xmm1,xmm1,xmm9 + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm2,DWORD[((-36))+r8] + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-36))+r9] + vpaddd xmm14,xmm14,xmm6 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpshufb xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpinsrd xmm2,xmm2,DWORD[((-36))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-36))+r11],1 + vpaddd xmm13,xmm13,xmm15 + vpslld xmm8,xmm14,5 + vpandn xmm7,xmm10,xmm12 + vpand xmm6,xmm10,xmm11 + + vmovdqa XMMWORD[(96-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpunpckldq xmm2,xmm2,xmm9 + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm3,DWORD[((-32))+r8] + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-32))+r9] + vpaddd xmm13,xmm13,xmm6 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpshufb xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpinsrd xmm3,xmm3,DWORD[((-32))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-32))+r11],1 + vpaddd xmm12,xmm12,xmm15 + vpslld xmm8,xmm13,5 + vpandn xmm7,xmm14,xmm11 + vpand xmm6,xmm14,xmm10 + + vmovdqa XMMWORD[(112-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpunpckldq xmm3,xmm3,xmm9 + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm4,DWORD[((-28))+r8] + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-28))+r9] + vpaddd xmm12,xmm12,xmm6 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpshufb xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpinsrd xmm4,xmm4,DWORD[((-28))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-28))+r11],1 + vpaddd xmm11,xmm11,xmm15 + vpslld xmm8,xmm12,5 + vpandn xmm7,xmm13,xmm10 + vpand xmm6,xmm13,xmm14 + + vmovdqa XMMWORD[(128-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpunpckldq xmm4,xmm4,xmm9 + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm0,DWORD[((-24))+r8] + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-24))+r9] + vpaddd xmm11,xmm11,xmm6 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpshufb xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpinsrd xmm0,xmm0,DWORD[((-24))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-24))+r11],1 + vpaddd xmm10,xmm10,xmm15 + vpslld xmm8,xmm11,5 + vpandn xmm7,xmm12,xmm14 + vpand xmm6,xmm12,xmm13 + + vmovdqa XMMWORD[(144-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpunpckldq xmm0,xmm0,xmm9 + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm1,DWORD[((-20))+r8] + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-20))+r9] + vpaddd xmm10,xmm10,xmm6 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpshufb xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vpinsrd xmm1,xmm1,DWORD[((-20))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-20))+r11],1 + vpaddd xmm14,xmm14,xmm15 + vpslld xmm8,xmm10,5 + vpandn xmm7,xmm11,xmm13 + vpand xmm6,xmm11,xmm12 + + vmovdqa XMMWORD[(160-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpunpckldq xmm1,xmm1,xmm9 + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm2,DWORD[((-16))+r8] + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-16))+r9] + vpaddd xmm14,xmm14,xmm6 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpshufb xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpinsrd xmm2,xmm2,DWORD[((-16))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-16))+r11],1 + vpaddd xmm13,xmm13,xmm15 + vpslld xmm8,xmm14,5 + vpandn xmm7,xmm10,xmm12 + vpand xmm6,xmm10,xmm11 + + vmovdqa XMMWORD[(176-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpunpckldq xmm2,xmm2,xmm9 + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm3,DWORD[((-12))+r8] + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-12))+r9] + vpaddd xmm13,xmm13,xmm6 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpshufb xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpinsrd xmm3,xmm3,DWORD[((-12))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-12))+r11],1 + vpaddd xmm12,xmm12,xmm15 + vpslld xmm8,xmm13,5 + vpandn xmm7,xmm14,xmm11 + vpand xmm6,xmm14,xmm10 + + vmovdqa XMMWORD[(192-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpunpckldq xmm3,xmm3,xmm9 + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm4,DWORD[((-8))+r8] + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-8))+r9] + vpaddd xmm12,xmm12,xmm6 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpshufb xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpinsrd xmm4,xmm4,DWORD[((-8))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-8))+r11],1 + vpaddd xmm11,xmm11,xmm15 + vpslld xmm8,xmm12,5 + vpandn xmm7,xmm13,xmm10 + vpand xmm6,xmm13,xmm14 + + vmovdqa XMMWORD[(208-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpunpckldq xmm4,xmm4,xmm9 + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm7 + vmovd xmm0,DWORD[((-4))+r8] + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vmovd xmm9,DWORD[((-4))+r9] + vpaddd xmm11,xmm11,xmm6 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpshufb xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vmovdqa xmm1,XMMWORD[((0-128))+rax] + vpinsrd xmm0,xmm0,DWORD[((-4))+r10],1 + vpinsrd xmm9,xmm9,DWORD[((-4))+r11],1 + vpaddd xmm10,xmm10,xmm15 + prefetcht0 [63+r8] + vpslld xmm8,xmm11,5 + vpandn xmm7,xmm12,xmm14 + vpand xmm6,xmm12,xmm13 + + vmovdqa XMMWORD[(224-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpunpckldq xmm0,xmm0,xmm9 + vpsrld xmm9,xmm11,27 + prefetcht0 [63+r9] + vpxor xmm6,xmm6,xmm7 + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + prefetcht0 [63+r10] + vpaddd xmm10,xmm10,xmm6 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + prefetcht0 [63+r11] + vpshufb xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vmovdqa xmm2,XMMWORD[((16-128))+rax] + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((32-128))+rax] + + vpaddd xmm14,xmm14,xmm15 + vpslld xmm8,xmm10,5 + vpandn xmm7,xmm11,xmm13 + + vpand xmm6,xmm11,xmm12 + + vmovdqa XMMWORD[(240-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpxor xmm1,xmm1,XMMWORD[((128-128))+rax] + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm7 + vpxor xmm1,xmm1,xmm3 + + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm14,xmm14,xmm6 + + vpsrld xmm5,xmm1,31 + vpaddd xmm1,xmm1,xmm1 + + vpsrld xmm11,xmm11,2 + + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((48-128))+rax] + + vpaddd xmm13,xmm13,xmm15 + vpslld xmm8,xmm14,5 + vpandn xmm7,xmm10,xmm12 + + vpand xmm6,xmm10,xmm11 + + vmovdqa XMMWORD[(0-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpxor xmm2,xmm2,XMMWORD[((144-128))+rax] + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm7 + vpxor xmm2,xmm2,xmm4 + + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm13,xmm13,xmm6 + + vpsrld xmm5,xmm2,31 + vpaddd xmm2,xmm2,xmm2 + + vpsrld xmm10,xmm10,2 + + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((64-128))+rax] + + vpaddd xmm12,xmm12,xmm15 + vpslld xmm8,xmm13,5 + vpandn xmm7,xmm14,xmm11 + + vpand xmm6,xmm14,xmm10 + + vmovdqa XMMWORD[(16-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpxor xmm3,xmm3,XMMWORD[((160-128))+rax] + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm7 + vpxor xmm3,xmm3,xmm0 + + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm12,xmm12,xmm6 + + vpsrld xmm5,xmm3,31 + vpaddd xmm3,xmm3,xmm3 + + vpsrld xmm14,xmm14,2 + + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((80-128))+rax] + + vpaddd xmm11,xmm11,xmm15 + vpslld xmm8,xmm12,5 + vpandn xmm7,xmm13,xmm10 + + vpand xmm6,xmm13,xmm14 + + vmovdqa XMMWORD[(32-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpxor xmm4,xmm4,XMMWORD[((176-128))+rax] + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm7 + vpxor xmm4,xmm4,xmm1 + + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm11,xmm11,xmm6 + + vpsrld xmm5,xmm4,31 + vpaddd xmm4,xmm4,xmm4 + + vpsrld xmm13,xmm13,2 + + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((96-128))+rax] + + vpaddd xmm10,xmm10,xmm15 + vpslld xmm8,xmm11,5 + vpandn xmm7,xmm12,xmm14 + + vpand xmm6,xmm12,xmm13 + + vmovdqa XMMWORD[(48-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpxor xmm0,xmm0,XMMWORD[((192-128))+rax] + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm6,xmm7 + vpxor xmm0,xmm0,xmm2 + + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm10,xmm10,xmm6 + + vpsrld xmm5,xmm0,31 + vpaddd xmm0,xmm0,xmm0 + + vpsrld xmm12,xmm12,2 + + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vmovdqa xmm15,XMMWORD[rbp] + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((112-128))+rax] + + vpslld xmm8,xmm10,5 + vpaddd xmm14,xmm14,xmm15 + vpxor xmm6,xmm13,xmm11 + vmovdqa XMMWORD[(64-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpxor xmm1,xmm1,XMMWORD[((208-128))+rax] + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm12 + vpxor xmm1,xmm1,xmm3 + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm14,xmm14,xmm6 + vpsrld xmm5,xmm1,31 + vpaddd xmm1,xmm1,xmm1 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((128-128))+rax] + + vpslld xmm8,xmm14,5 + vpaddd xmm13,xmm13,xmm15 + vpxor xmm6,xmm12,xmm10 + vmovdqa XMMWORD[(80-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpxor xmm2,xmm2,XMMWORD[((224-128))+rax] + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm11 + vpxor xmm2,xmm2,xmm4 + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm13,xmm13,xmm6 + vpsrld xmm5,xmm2,31 + vpaddd xmm2,xmm2,xmm2 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((144-128))+rax] + + vpslld xmm8,xmm13,5 + vpaddd xmm12,xmm12,xmm15 + vpxor xmm6,xmm11,xmm14 + vmovdqa XMMWORD[(96-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpxor xmm3,xmm3,XMMWORD[((240-128))+rax] + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm10 + vpxor xmm3,xmm3,xmm0 + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm12,xmm12,xmm6 + vpsrld xmm5,xmm3,31 + vpaddd xmm3,xmm3,xmm3 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((160-128))+rax] + + vpslld xmm8,xmm12,5 + vpaddd xmm11,xmm11,xmm15 + vpxor xmm6,xmm10,xmm13 + vmovdqa XMMWORD[(112-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpxor xmm4,xmm4,XMMWORD[((0-128))+rax] + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm14 + vpxor xmm4,xmm4,xmm1 + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm11,xmm11,xmm6 + vpsrld xmm5,xmm4,31 + vpaddd xmm4,xmm4,xmm4 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((176-128))+rax] + + vpslld xmm8,xmm11,5 + vpaddd xmm10,xmm10,xmm15 + vpxor xmm6,xmm14,xmm12 + vmovdqa XMMWORD[(128-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpxor xmm0,xmm0,XMMWORD[((16-128))+rax] + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm6,xmm13 + vpxor xmm0,xmm0,xmm2 + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm10,xmm10,xmm6 + vpsrld xmm5,xmm0,31 + vpaddd xmm0,xmm0,xmm0 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((192-128))+rax] + + vpslld xmm8,xmm10,5 + vpaddd xmm14,xmm14,xmm15 + vpxor xmm6,xmm13,xmm11 + vmovdqa XMMWORD[(144-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpxor xmm1,xmm1,XMMWORD[((32-128))+rax] + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm12 + vpxor xmm1,xmm1,xmm3 + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm14,xmm14,xmm6 + vpsrld xmm5,xmm1,31 + vpaddd xmm1,xmm1,xmm1 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((208-128))+rax] + + vpslld xmm8,xmm14,5 + vpaddd xmm13,xmm13,xmm15 + vpxor xmm6,xmm12,xmm10 + vmovdqa XMMWORD[(160-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpxor xmm2,xmm2,XMMWORD[((48-128))+rax] + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm11 + vpxor xmm2,xmm2,xmm4 + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm13,xmm13,xmm6 + vpsrld xmm5,xmm2,31 + vpaddd xmm2,xmm2,xmm2 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((224-128))+rax] + + vpslld xmm8,xmm13,5 + vpaddd xmm12,xmm12,xmm15 + vpxor xmm6,xmm11,xmm14 + vmovdqa XMMWORD[(176-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpxor xmm3,xmm3,XMMWORD[((64-128))+rax] + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm10 + vpxor xmm3,xmm3,xmm0 + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm12,xmm12,xmm6 + vpsrld xmm5,xmm3,31 + vpaddd xmm3,xmm3,xmm3 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((240-128))+rax] + + vpslld xmm8,xmm12,5 + vpaddd xmm11,xmm11,xmm15 + vpxor xmm6,xmm10,xmm13 + vmovdqa XMMWORD[(192-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpxor xmm4,xmm4,XMMWORD[((80-128))+rax] + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm14 + vpxor xmm4,xmm4,xmm1 + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm11,xmm11,xmm6 + vpsrld xmm5,xmm4,31 + vpaddd xmm4,xmm4,xmm4 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((0-128))+rax] + + vpslld xmm8,xmm11,5 + vpaddd xmm10,xmm10,xmm15 + vpxor xmm6,xmm14,xmm12 + vmovdqa XMMWORD[(208-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpxor xmm0,xmm0,XMMWORD[((96-128))+rax] + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm6,xmm13 + vpxor xmm0,xmm0,xmm2 + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm10,xmm10,xmm6 + vpsrld xmm5,xmm0,31 + vpaddd xmm0,xmm0,xmm0 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((16-128))+rax] + + vpslld xmm8,xmm10,5 + vpaddd xmm14,xmm14,xmm15 + vpxor xmm6,xmm13,xmm11 + vmovdqa XMMWORD[(224-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpxor xmm1,xmm1,XMMWORD[((112-128))+rax] + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm12 + vpxor xmm1,xmm1,xmm3 + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm14,xmm14,xmm6 + vpsrld xmm5,xmm1,31 + vpaddd xmm1,xmm1,xmm1 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((32-128))+rax] + + vpslld xmm8,xmm14,5 + vpaddd xmm13,xmm13,xmm15 + vpxor xmm6,xmm12,xmm10 + vmovdqa XMMWORD[(240-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpxor xmm2,xmm2,XMMWORD[((128-128))+rax] + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm11 + vpxor xmm2,xmm2,xmm4 + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm13,xmm13,xmm6 + vpsrld xmm5,xmm2,31 + vpaddd xmm2,xmm2,xmm2 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((48-128))+rax] + + vpslld xmm8,xmm13,5 + vpaddd xmm12,xmm12,xmm15 + vpxor xmm6,xmm11,xmm14 + vmovdqa XMMWORD[(0-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpxor xmm3,xmm3,XMMWORD[((144-128))+rax] + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm10 + vpxor xmm3,xmm3,xmm0 + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm12,xmm12,xmm6 + vpsrld xmm5,xmm3,31 + vpaddd xmm3,xmm3,xmm3 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((64-128))+rax] + + vpslld xmm8,xmm12,5 + vpaddd xmm11,xmm11,xmm15 + vpxor xmm6,xmm10,xmm13 + vmovdqa XMMWORD[(16-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpxor xmm4,xmm4,XMMWORD[((160-128))+rax] + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm14 + vpxor xmm4,xmm4,xmm1 + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm11,xmm11,xmm6 + vpsrld xmm5,xmm4,31 + vpaddd xmm4,xmm4,xmm4 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((80-128))+rax] + + vpslld xmm8,xmm11,5 + vpaddd xmm10,xmm10,xmm15 + vpxor xmm6,xmm14,xmm12 + vmovdqa XMMWORD[(32-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpxor xmm0,xmm0,XMMWORD[((176-128))+rax] + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm6,xmm13 + vpxor xmm0,xmm0,xmm2 + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm10,xmm10,xmm6 + vpsrld xmm5,xmm0,31 + vpaddd xmm0,xmm0,xmm0 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((96-128))+rax] + + vpslld xmm8,xmm10,5 + vpaddd xmm14,xmm14,xmm15 + vpxor xmm6,xmm13,xmm11 + vmovdqa XMMWORD[(48-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpxor xmm1,xmm1,XMMWORD[((192-128))+rax] + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm12 + vpxor xmm1,xmm1,xmm3 + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm14,xmm14,xmm6 + vpsrld xmm5,xmm1,31 + vpaddd xmm1,xmm1,xmm1 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((112-128))+rax] + + vpslld xmm8,xmm14,5 + vpaddd xmm13,xmm13,xmm15 + vpxor xmm6,xmm12,xmm10 + vmovdqa XMMWORD[(64-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpxor xmm2,xmm2,XMMWORD[((208-128))+rax] + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm11 + vpxor xmm2,xmm2,xmm4 + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm13,xmm13,xmm6 + vpsrld xmm5,xmm2,31 + vpaddd xmm2,xmm2,xmm2 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((128-128))+rax] + + vpslld xmm8,xmm13,5 + vpaddd xmm12,xmm12,xmm15 + vpxor xmm6,xmm11,xmm14 + vmovdqa XMMWORD[(80-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpxor xmm3,xmm3,XMMWORD[((224-128))+rax] + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm10 + vpxor xmm3,xmm3,xmm0 + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm12,xmm12,xmm6 + vpsrld xmm5,xmm3,31 + vpaddd xmm3,xmm3,xmm3 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((144-128))+rax] + + vpslld xmm8,xmm12,5 + vpaddd xmm11,xmm11,xmm15 + vpxor xmm6,xmm10,xmm13 + vmovdqa XMMWORD[(96-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpxor xmm4,xmm4,XMMWORD[((240-128))+rax] + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm14 + vpxor xmm4,xmm4,xmm1 + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm11,xmm11,xmm6 + vpsrld xmm5,xmm4,31 + vpaddd xmm4,xmm4,xmm4 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((160-128))+rax] + + vpslld xmm8,xmm11,5 + vpaddd xmm10,xmm10,xmm15 + vpxor xmm6,xmm14,xmm12 + vmovdqa XMMWORD[(112-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpxor xmm0,xmm0,XMMWORD[((0-128))+rax] + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm6,xmm13 + vpxor xmm0,xmm0,xmm2 + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm10,xmm10,xmm6 + vpsrld xmm5,xmm0,31 + vpaddd xmm0,xmm0,xmm0 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vmovdqa xmm15,XMMWORD[32+rbp] + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((176-128))+rax] + + vpaddd xmm14,xmm14,xmm15 + vpslld xmm8,xmm10,5 + vpand xmm7,xmm13,xmm12 + vpxor xmm1,xmm1,XMMWORD[((16-128))+rax] + + vpaddd xmm14,xmm14,xmm7 + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm13,xmm12 + vpxor xmm1,xmm1,xmm3 + + vmovdqu XMMWORD[(128-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm1,31 + vpand xmm6,xmm6,xmm11 + vpaddd xmm1,xmm1,xmm1 + + vpslld xmm7,xmm11,30 + vpaddd xmm14,xmm14,xmm6 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((192-128))+rax] + + vpaddd xmm13,xmm13,xmm15 + vpslld xmm8,xmm14,5 + vpand xmm7,xmm12,xmm11 + vpxor xmm2,xmm2,XMMWORD[((32-128))+rax] + + vpaddd xmm13,xmm13,xmm7 + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm12,xmm11 + vpxor xmm2,xmm2,xmm4 + + vmovdqu XMMWORD[(144-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm2,31 + vpand xmm6,xmm6,xmm10 + vpaddd xmm2,xmm2,xmm2 + + vpslld xmm7,xmm10,30 + vpaddd xmm13,xmm13,xmm6 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((208-128))+rax] + + vpaddd xmm12,xmm12,xmm15 + vpslld xmm8,xmm13,5 + vpand xmm7,xmm11,xmm10 + vpxor xmm3,xmm3,XMMWORD[((48-128))+rax] + + vpaddd xmm12,xmm12,xmm7 + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm11,xmm10 + vpxor xmm3,xmm3,xmm0 + + vmovdqu XMMWORD[(160-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm3,31 + vpand xmm6,xmm6,xmm14 + vpaddd xmm3,xmm3,xmm3 + + vpslld xmm7,xmm14,30 + vpaddd xmm12,xmm12,xmm6 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((224-128))+rax] + + vpaddd xmm11,xmm11,xmm15 + vpslld xmm8,xmm12,5 + vpand xmm7,xmm10,xmm14 + vpxor xmm4,xmm4,XMMWORD[((64-128))+rax] + + vpaddd xmm11,xmm11,xmm7 + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm10,xmm14 + vpxor xmm4,xmm4,xmm1 + + vmovdqu XMMWORD[(176-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm4,31 + vpand xmm6,xmm6,xmm13 + vpaddd xmm4,xmm4,xmm4 + + vpslld xmm7,xmm13,30 + vpaddd xmm11,xmm11,xmm6 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((240-128))+rax] + + vpaddd xmm10,xmm10,xmm15 + vpslld xmm8,xmm11,5 + vpand xmm7,xmm14,xmm13 + vpxor xmm0,xmm0,XMMWORD[((80-128))+rax] + + vpaddd xmm10,xmm10,xmm7 + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm14,xmm13 + vpxor xmm0,xmm0,xmm2 + + vmovdqu XMMWORD[(192-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm0,31 + vpand xmm6,xmm6,xmm12 + vpaddd xmm0,xmm0,xmm0 + + vpslld xmm7,xmm12,30 + vpaddd xmm10,xmm10,xmm6 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((0-128))+rax] + + vpaddd xmm14,xmm14,xmm15 + vpslld xmm8,xmm10,5 + vpand xmm7,xmm13,xmm12 + vpxor xmm1,xmm1,XMMWORD[((96-128))+rax] + + vpaddd xmm14,xmm14,xmm7 + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm13,xmm12 + vpxor xmm1,xmm1,xmm3 + + vmovdqu XMMWORD[(208-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm1,31 + vpand xmm6,xmm6,xmm11 + vpaddd xmm1,xmm1,xmm1 + + vpslld xmm7,xmm11,30 + vpaddd xmm14,xmm14,xmm6 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((16-128))+rax] + + vpaddd xmm13,xmm13,xmm15 + vpslld xmm8,xmm14,5 + vpand xmm7,xmm12,xmm11 + vpxor xmm2,xmm2,XMMWORD[((112-128))+rax] + + vpaddd xmm13,xmm13,xmm7 + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm12,xmm11 + vpxor xmm2,xmm2,xmm4 + + vmovdqu XMMWORD[(224-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm2,31 + vpand xmm6,xmm6,xmm10 + vpaddd xmm2,xmm2,xmm2 + + vpslld xmm7,xmm10,30 + vpaddd xmm13,xmm13,xmm6 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((32-128))+rax] + + vpaddd xmm12,xmm12,xmm15 + vpslld xmm8,xmm13,5 + vpand xmm7,xmm11,xmm10 + vpxor xmm3,xmm3,XMMWORD[((128-128))+rax] + + vpaddd xmm12,xmm12,xmm7 + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm11,xmm10 + vpxor xmm3,xmm3,xmm0 + + vmovdqu XMMWORD[(240-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm3,31 + vpand xmm6,xmm6,xmm14 + vpaddd xmm3,xmm3,xmm3 + + vpslld xmm7,xmm14,30 + vpaddd xmm12,xmm12,xmm6 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((48-128))+rax] + + vpaddd xmm11,xmm11,xmm15 + vpslld xmm8,xmm12,5 + vpand xmm7,xmm10,xmm14 + vpxor xmm4,xmm4,XMMWORD[((144-128))+rax] + + vpaddd xmm11,xmm11,xmm7 + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm10,xmm14 + vpxor xmm4,xmm4,xmm1 + + vmovdqu XMMWORD[(0-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm4,31 + vpand xmm6,xmm6,xmm13 + vpaddd xmm4,xmm4,xmm4 + + vpslld xmm7,xmm13,30 + vpaddd xmm11,xmm11,xmm6 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((64-128))+rax] + + vpaddd xmm10,xmm10,xmm15 + vpslld xmm8,xmm11,5 + vpand xmm7,xmm14,xmm13 + vpxor xmm0,xmm0,XMMWORD[((160-128))+rax] + + vpaddd xmm10,xmm10,xmm7 + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm14,xmm13 + vpxor xmm0,xmm0,xmm2 + + vmovdqu XMMWORD[(16-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm0,31 + vpand xmm6,xmm6,xmm12 + vpaddd xmm0,xmm0,xmm0 + + vpslld xmm7,xmm12,30 + vpaddd xmm10,xmm10,xmm6 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((80-128))+rax] + + vpaddd xmm14,xmm14,xmm15 + vpslld xmm8,xmm10,5 + vpand xmm7,xmm13,xmm12 + vpxor xmm1,xmm1,XMMWORD[((176-128))+rax] + + vpaddd xmm14,xmm14,xmm7 + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm13,xmm12 + vpxor xmm1,xmm1,xmm3 + + vmovdqu XMMWORD[(32-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm1,31 + vpand xmm6,xmm6,xmm11 + vpaddd xmm1,xmm1,xmm1 + + vpslld xmm7,xmm11,30 + vpaddd xmm14,xmm14,xmm6 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((96-128))+rax] + + vpaddd xmm13,xmm13,xmm15 + vpslld xmm8,xmm14,5 + vpand xmm7,xmm12,xmm11 + vpxor xmm2,xmm2,XMMWORD[((192-128))+rax] + + vpaddd xmm13,xmm13,xmm7 + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm12,xmm11 + vpxor xmm2,xmm2,xmm4 + + vmovdqu XMMWORD[(48-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm2,31 + vpand xmm6,xmm6,xmm10 + vpaddd xmm2,xmm2,xmm2 + + vpslld xmm7,xmm10,30 + vpaddd xmm13,xmm13,xmm6 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((112-128))+rax] + + vpaddd xmm12,xmm12,xmm15 + vpslld xmm8,xmm13,5 + vpand xmm7,xmm11,xmm10 + vpxor xmm3,xmm3,XMMWORD[((208-128))+rax] + + vpaddd xmm12,xmm12,xmm7 + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm11,xmm10 + vpxor xmm3,xmm3,xmm0 + + vmovdqu XMMWORD[(64-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm3,31 + vpand xmm6,xmm6,xmm14 + vpaddd xmm3,xmm3,xmm3 + + vpslld xmm7,xmm14,30 + vpaddd xmm12,xmm12,xmm6 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((128-128))+rax] + + vpaddd xmm11,xmm11,xmm15 + vpslld xmm8,xmm12,5 + vpand xmm7,xmm10,xmm14 + vpxor xmm4,xmm4,XMMWORD[((224-128))+rax] + + vpaddd xmm11,xmm11,xmm7 + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm10,xmm14 + vpxor xmm4,xmm4,xmm1 + + vmovdqu XMMWORD[(80-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm4,31 + vpand xmm6,xmm6,xmm13 + vpaddd xmm4,xmm4,xmm4 + + vpslld xmm7,xmm13,30 + vpaddd xmm11,xmm11,xmm6 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((144-128))+rax] + + vpaddd xmm10,xmm10,xmm15 + vpslld xmm8,xmm11,5 + vpand xmm7,xmm14,xmm13 + vpxor xmm0,xmm0,XMMWORD[((240-128))+rax] + + vpaddd xmm10,xmm10,xmm7 + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm14,xmm13 + vpxor xmm0,xmm0,xmm2 + + vmovdqu XMMWORD[(96-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm0,31 + vpand xmm6,xmm6,xmm12 + vpaddd xmm0,xmm0,xmm0 + + vpslld xmm7,xmm12,30 + vpaddd xmm10,xmm10,xmm6 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((160-128))+rax] + + vpaddd xmm14,xmm14,xmm15 + vpslld xmm8,xmm10,5 + vpand xmm7,xmm13,xmm12 + vpxor xmm1,xmm1,XMMWORD[((0-128))+rax] + + vpaddd xmm14,xmm14,xmm7 + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm13,xmm12 + vpxor xmm1,xmm1,xmm3 + + vmovdqu XMMWORD[(112-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm1,31 + vpand xmm6,xmm6,xmm11 + vpaddd xmm1,xmm1,xmm1 + + vpslld xmm7,xmm11,30 + vpaddd xmm14,xmm14,xmm6 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((176-128))+rax] + + vpaddd xmm13,xmm13,xmm15 + vpslld xmm8,xmm14,5 + vpand xmm7,xmm12,xmm11 + vpxor xmm2,xmm2,XMMWORD[((16-128))+rax] + + vpaddd xmm13,xmm13,xmm7 + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm12,xmm11 + vpxor xmm2,xmm2,xmm4 + + vmovdqu XMMWORD[(128-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm2,31 + vpand xmm6,xmm6,xmm10 + vpaddd xmm2,xmm2,xmm2 + + vpslld xmm7,xmm10,30 + vpaddd xmm13,xmm13,xmm6 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((192-128))+rax] + + vpaddd xmm12,xmm12,xmm15 + vpslld xmm8,xmm13,5 + vpand xmm7,xmm11,xmm10 + vpxor xmm3,xmm3,XMMWORD[((32-128))+rax] + + vpaddd xmm12,xmm12,xmm7 + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm11,xmm10 + vpxor xmm3,xmm3,xmm0 + + vmovdqu XMMWORD[(144-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm3,31 + vpand xmm6,xmm6,xmm14 + vpaddd xmm3,xmm3,xmm3 + + vpslld xmm7,xmm14,30 + vpaddd xmm12,xmm12,xmm6 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((208-128))+rax] + + vpaddd xmm11,xmm11,xmm15 + vpslld xmm8,xmm12,5 + vpand xmm7,xmm10,xmm14 + vpxor xmm4,xmm4,XMMWORD[((48-128))+rax] + + vpaddd xmm11,xmm11,xmm7 + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm10,xmm14 + vpxor xmm4,xmm4,xmm1 + + vmovdqu XMMWORD[(160-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm4,31 + vpand xmm6,xmm6,xmm13 + vpaddd xmm4,xmm4,xmm4 + + vpslld xmm7,xmm13,30 + vpaddd xmm11,xmm11,xmm6 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((224-128))+rax] + + vpaddd xmm10,xmm10,xmm15 + vpslld xmm8,xmm11,5 + vpand xmm7,xmm14,xmm13 + vpxor xmm0,xmm0,XMMWORD[((64-128))+rax] + + vpaddd xmm10,xmm10,xmm7 + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm14,xmm13 + vpxor xmm0,xmm0,xmm2 + + vmovdqu XMMWORD[(176-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpor xmm8,xmm8,xmm9 + vpsrld xmm5,xmm0,31 + vpand xmm6,xmm6,xmm12 + vpaddd xmm0,xmm0,xmm0 + + vpslld xmm7,xmm12,30 + vpaddd xmm10,xmm10,xmm6 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vmovdqa xmm15,XMMWORD[64+rbp] + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((240-128))+rax] + + vpslld xmm8,xmm10,5 + vpaddd xmm14,xmm14,xmm15 + vpxor xmm6,xmm13,xmm11 + vmovdqa XMMWORD[(192-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpxor xmm1,xmm1,XMMWORD[((80-128))+rax] + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm12 + vpxor xmm1,xmm1,xmm3 + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm14,xmm14,xmm6 + vpsrld xmm5,xmm1,31 + vpaddd xmm1,xmm1,xmm1 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((0-128))+rax] + + vpslld xmm8,xmm14,5 + vpaddd xmm13,xmm13,xmm15 + vpxor xmm6,xmm12,xmm10 + vmovdqa XMMWORD[(208-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpxor xmm2,xmm2,XMMWORD[((96-128))+rax] + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm11 + vpxor xmm2,xmm2,xmm4 + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm13,xmm13,xmm6 + vpsrld xmm5,xmm2,31 + vpaddd xmm2,xmm2,xmm2 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((16-128))+rax] + + vpslld xmm8,xmm13,5 + vpaddd xmm12,xmm12,xmm15 + vpxor xmm6,xmm11,xmm14 + vmovdqa XMMWORD[(224-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpxor xmm3,xmm3,XMMWORD[((112-128))+rax] + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm10 + vpxor xmm3,xmm3,xmm0 + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm12,xmm12,xmm6 + vpsrld xmm5,xmm3,31 + vpaddd xmm3,xmm3,xmm3 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((32-128))+rax] + + vpslld xmm8,xmm12,5 + vpaddd xmm11,xmm11,xmm15 + vpxor xmm6,xmm10,xmm13 + vmovdqa XMMWORD[(240-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpxor xmm4,xmm4,XMMWORD[((128-128))+rax] + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm14 + vpxor xmm4,xmm4,xmm1 + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm11,xmm11,xmm6 + vpsrld xmm5,xmm4,31 + vpaddd xmm4,xmm4,xmm4 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((48-128))+rax] + + vpslld xmm8,xmm11,5 + vpaddd xmm10,xmm10,xmm15 + vpxor xmm6,xmm14,xmm12 + vmovdqa XMMWORD[(0-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpxor xmm0,xmm0,XMMWORD[((144-128))+rax] + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm6,xmm13 + vpxor xmm0,xmm0,xmm2 + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm10,xmm10,xmm6 + vpsrld xmm5,xmm0,31 + vpaddd xmm0,xmm0,xmm0 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((64-128))+rax] + + vpslld xmm8,xmm10,5 + vpaddd xmm14,xmm14,xmm15 + vpxor xmm6,xmm13,xmm11 + vmovdqa XMMWORD[(16-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpxor xmm1,xmm1,XMMWORD[((160-128))+rax] + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm12 + vpxor xmm1,xmm1,xmm3 + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm14,xmm14,xmm6 + vpsrld xmm5,xmm1,31 + vpaddd xmm1,xmm1,xmm1 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((80-128))+rax] + + vpslld xmm8,xmm14,5 + vpaddd xmm13,xmm13,xmm15 + vpxor xmm6,xmm12,xmm10 + vmovdqa XMMWORD[(32-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpxor xmm2,xmm2,XMMWORD[((176-128))+rax] + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm11 + vpxor xmm2,xmm2,xmm4 + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm13,xmm13,xmm6 + vpsrld xmm5,xmm2,31 + vpaddd xmm2,xmm2,xmm2 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((96-128))+rax] + + vpslld xmm8,xmm13,5 + vpaddd xmm12,xmm12,xmm15 + vpxor xmm6,xmm11,xmm14 + vmovdqa XMMWORD[(48-128)+rax],xmm2 + vpaddd xmm12,xmm12,xmm2 + vpxor xmm3,xmm3,XMMWORD[((192-128))+rax] + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm10 + vpxor xmm3,xmm3,xmm0 + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm12,xmm12,xmm6 + vpsrld xmm5,xmm3,31 + vpaddd xmm3,xmm3,xmm3 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((112-128))+rax] + + vpslld xmm8,xmm12,5 + vpaddd xmm11,xmm11,xmm15 + vpxor xmm6,xmm10,xmm13 + vmovdqa XMMWORD[(64-128)+rax],xmm3 + vpaddd xmm11,xmm11,xmm3 + vpxor xmm4,xmm4,XMMWORD[((208-128))+rax] + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm14 + vpxor xmm4,xmm4,xmm1 + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm11,xmm11,xmm6 + vpsrld xmm5,xmm4,31 + vpaddd xmm4,xmm4,xmm4 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((128-128))+rax] + + vpslld xmm8,xmm11,5 + vpaddd xmm10,xmm10,xmm15 + vpxor xmm6,xmm14,xmm12 + vmovdqa XMMWORD[(80-128)+rax],xmm4 + vpaddd xmm10,xmm10,xmm4 + vpxor xmm0,xmm0,XMMWORD[((224-128))+rax] + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm6,xmm13 + vpxor xmm0,xmm0,xmm2 + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm10,xmm10,xmm6 + vpsrld xmm5,xmm0,31 + vpaddd xmm0,xmm0,xmm0 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((144-128))+rax] + + vpslld xmm8,xmm10,5 + vpaddd xmm14,xmm14,xmm15 + vpxor xmm6,xmm13,xmm11 + vmovdqa XMMWORD[(96-128)+rax],xmm0 + vpaddd xmm14,xmm14,xmm0 + vpxor xmm1,xmm1,XMMWORD[((240-128))+rax] + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm12 + vpxor xmm1,xmm1,xmm3 + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm14,xmm14,xmm6 + vpsrld xmm5,xmm1,31 + vpaddd xmm1,xmm1,xmm1 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((160-128))+rax] + + vpslld xmm8,xmm14,5 + vpaddd xmm13,xmm13,xmm15 + vpxor xmm6,xmm12,xmm10 + vmovdqa XMMWORD[(112-128)+rax],xmm1 + vpaddd xmm13,xmm13,xmm1 + vpxor xmm2,xmm2,XMMWORD[((0-128))+rax] + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm11 + vpxor xmm2,xmm2,xmm4 + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm13,xmm13,xmm6 + vpsrld xmm5,xmm2,31 + vpaddd xmm2,xmm2,xmm2 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((176-128))+rax] + + vpslld xmm8,xmm13,5 + vpaddd xmm12,xmm12,xmm15 + vpxor xmm6,xmm11,xmm14 + vpaddd xmm12,xmm12,xmm2 + vpxor xmm3,xmm3,XMMWORD[((16-128))+rax] + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm10 + vpxor xmm3,xmm3,xmm0 + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm12,xmm12,xmm6 + vpsrld xmm5,xmm3,31 + vpaddd xmm3,xmm3,xmm3 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((192-128))+rax] + + vpslld xmm8,xmm12,5 + vpaddd xmm11,xmm11,xmm15 + vpxor xmm6,xmm10,xmm13 + vpaddd xmm11,xmm11,xmm3 + vpxor xmm4,xmm4,XMMWORD[((32-128))+rax] + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm14 + vpxor xmm4,xmm4,xmm1 + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm11,xmm11,xmm6 + vpsrld xmm5,xmm4,31 + vpaddd xmm4,xmm4,xmm4 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpxor xmm0,xmm0,xmm2 + vmovdqa xmm2,XMMWORD[((208-128))+rax] + + vpslld xmm8,xmm11,5 + vpaddd xmm10,xmm10,xmm15 + vpxor xmm6,xmm14,xmm12 + vpaddd xmm10,xmm10,xmm4 + vpxor xmm0,xmm0,XMMWORD[((48-128))+rax] + vpsrld xmm9,xmm11,27 + vpxor xmm6,xmm6,xmm13 + vpxor xmm0,xmm0,xmm2 + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm10,xmm10,xmm6 + vpsrld xmm5,xmm0,31 + vpaddd xmm0,xmm0,xmm0 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm0,xmm0,xmm5 + vpor xmm12,xmm12,xmm7 + vpxor xmm1,xmm1,xmm3 + vmovdqa xmm3,XMMWORD[((224-128))+rax] + + vpslld xmm8,xmm10,5 + vpaddd xmm14,xmm14,xmm15 + vpxor xmm6,xmm13,xmm11 + vpaddd xmm14,xmm14,xmm0 + vpxor xmm1,xmm1,XMMWORD[((64-128))+rax] + vpsrld xmm9,xmm10,27 + vpxor xmm6,xmm6,xmm12 + vpxor xmm1,xmm1,xmm3 + + vpslld xmm7,xmm11,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm14,xmm14,xmm6 + vpsrld xmm5,xmm1,31 + vpaddd xmm1,xmm1,xmm1 + + vpsrld xmm11,xmm11,2 + vpaddd xmm14,xmm14,xmm8 + vpor xmm1,xmm1,xmm5 + vpor xmm11,xmm11,xmm7 + vpxor xmm2,xmm2,xmm4 + vmovdqa xmm4,XMMWORD[((240-128))+rax] + + vpslld xmm8,xmm14,5 + vpaddd xmm13,xmm13,xmm15 + vpxor xmm6,xmm12,xmm10 + vpaddd xmm13,xmm13,xmm1 + vpxor xmm2,xmm2,XMMWORD[((80-128))+rax] + vpsrld xmm9,xmm14,27 + vpxor xmm6,xmm6,xmm11 + vpxor xmm2,xmm2,xmm4 + + vpslld xmm7,xmm10,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm13,xmm13,xmm6 + vpsrld xmm5,xmm2,31 + vpaddd xmm2,xmm2,xmm2 + + vpsrld xmm10,xmm10,2 + vpaddd xmm13,xmm13,xmm8 + vpor xmm2,xmm2,xmm5 + vpor xmm10,xmm10,xmm7 + vpxor xmm3,xmm3,xmm0 + vmovdqa xmm0,XMMWORD[((0-128))+rax] + + vpslld xmm8,xmm13,5 + vpaddd xmm12,xmm12,xmm15 + vpxor xmm6,xmm11,xmm14 + vpaddd xmm12,xmm12,xmm2 + vpxor xmm3,xmm3,XMMWORD[((96-128))+rax] + vpsrld xmm9,xmm13,27 + vpxor xmm6,xmm6,xmm10 + vpxor xmm3,xmm3,xmm0 + + vpslld xmm7,xmm14,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm12,xmm12,xmm6 + vpsrld xmm5,xmm3,31 + vpaddd xmm3,xmm3,xmm3 + + vpsrld xmm14,xmm14,2 + vpaddd xmm12,xmm12,xmm8 + vpor xmm3,xmm3,xmm5 + vpor xmm14,xmm14,xmm7 + vpxor xmm4,xmm4,xmm1 + vmovdqa xmm1,XMMWORD[((16-128))+rax] + + vpslld xmm8,xmm12,5 + vpaddd xmm11,xmm11,xmm15 + vpxor xmm6,xmm10,xmm13 + vpaddd xmm11,xmm11,xmm3 + vpxor xmm4,xmm4,XMMWORD[((112-128))+rax] + vpsrld xmm9,xmm12,27 + vpxor xmm6,xmm6,xmm14 + vpxor xmm4,xmm4,xmm1 + + vpslld xmm7,xmm13,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm11,xmm11,xmm6 + vpsrld xmm5,xmm4,31 + vpaddd xmm4,xmm4,xmm4 + + vpsrld xmm13,xmm13,2 + vpaddd xmm11,xmm11,xmm8 + vpor xmm4,xmm4,xmm5 + vpor xmm13,xmm13,xmm7 + vpslld xmm8,xmm11,5 + vpaddd xmm10,xmm10,xmm15 + vpxor xmm6,xmm14,xmm12 + + vpsrld xmm9,xmm11,27 + vpaddd xmm10,xmm10,xmm4 + vpxor xmm6,xmm6,xmm13 + + vpslld xmm7,xmm12,30 + vpor xmm8,xmm8,xmm9 + vpaddd xmm10,xmm10,xmm6 + + vpsrld xmm12,xmm12,2 + vpaddd xmm10,xmm10,xmm8 + vpor xmm12,xmm12,xmm7 + mov ecx,1 + cmp ecx,DWORD[rbx] + cmovge r8,rbp + cmp ecx,DWORD[4+rbx] + cmovge r9,rbp + cmp ecx,DWORD[8+rbx] + cmovge r10,rbp + cmp ecx,DWORD[12+rbx] + cmovge r11,rbp + vmovdqu xmm6,XMMWORD[rbx] + vpxor xmm8,xmm8,xmm8 + vmovdqa xmm7,xmm6 + vpcmpgtd xmm7,xmm7,xmm8 + vpaddd xmm6,xmm6,xmm7 + + vpand xmm10,xmm10,xmm7 + vpand xmm11,xmm11,xmm7 + vpaddd xmm10,xmm10,XMMWORD[rdi] + vpand xmm12,xmm12,xmm7 + vpaddd xmm11,xmm11,XMMWORD[32+rdi] + vpand xmm13,xmm13,xmm7 + vpaddd xmm12,xmm12,XMMWORD[64+rdi] + vpand xmm14,xmm14,xmm7 + vpaddd xmm13,xmm13,XMMWORD[96+rdi] + vpaddd xmm14,xmm14,XMMWORD[128+rdi] + vmovdqu XMMWORD[rdi],xmm10 + vmovdqu XMMWORD[32+rdi],xmm11 + vmovdqu XMMWORD[64+rdi],xmm12 + vmovdqu XMMWORD[96+rdi],xmm13 + vmovdqu XMMWORD[128+rdi],xmm14 + + vmovdqu XMMWORD[rbx],xmm6 + vmovdqu xmm5,XMMWORD[96+rbp] + dec edx + jnz NEAR $L$oop_avx + + mov edx,DWORD[280+rsp] + lea rdi,[16+rdi] + lea rsi,[64+rsi] + dec edx + jnz NEAR $L$oop_grande_avx + +$L$done_avx: + mov rax,QWORD[272+rsp] + vzeroupper + movaps xmm6,XMMWORD[((-184))+rax] + movaps xmm7,XMMWORD[((-168))+rax] + movaps xmm8,XMMWORD[((-152))+rax] + movaps xmm9,XMMWORD[((-136))+rax] + movaps xmm10,XMMWORD[((-120))+rax] + movaps xmm11,XMMWORD[((-104))+rax] + movaps xmm12,XMMWORD[((-88))+rax] + movaps xmm13,XMMWORD[((-72))+rax] + movaps xmm14,XMMWORD[((-56))+rax] + movaps xmm15,XMMWORD[((-40))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$epilogue_avx: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha1_multi_block_avx: + +ALIGN 32 +sha1_multi_block_avx2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_multi_block_avx2: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_avx2_shortcut: + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[64+rsp],xmm10 + movaps XMMWORD[80+rsp],xmm11 + movaps XMMWORD[(-120)+rax],xmm12 + movaps XMMWORD[(-104)+rax],xmm13 + movaps XMMWORD[(-88)+rax],xmm14 + movaps XMMWORD[(-72)+rax],xmm15 + sub rsp,576 + and rsp,-256 + mov QWORD[544+rsp],rax +$L$body_avx2: + lea rbp,[K_XX_XX] + shr edx,1 + + vzeroupper +$L$oop_grande_avx2: + mov DWORD[552+rsp],edx + xor edx,edx + lea rbx,[512+rsp] + mov r12,QWORD[rsi] + mov ecx,DWORD[8+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[rbx],ecx + cmovle r12,rbp + mov r13,QWORD[16+rsi] + mov ecx,DWORD[24+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[4+rbx],ecx + cmovle r13,rbp + mov r14,QWORD[32+rsi] + mov ecx,DWORD[40+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[8+rbx],ecx + cmovle r14,rbp + mov r15,QWORD[48+rsi] + mov ecx,DWORD[56+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[12+rbx],ecx + cmovle r15,rbp + mov r8,QWORD[64+rsi] + mov ecx,DWORD[72+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[16+rbx],ecx + cmovle r8,rbp + mov r9,QWORD[80+rsi] + mov ecx,DWORD[88+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[20+rbx],ecx + cmovle r9,rbp + mov r10,QWORD[96+rsi] + mov ecx,DWORD[104+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[24+rbx],ecx + cmovle r10,rbp + mov r11,QWORD[112+rsi] + mov ecx,DWORD[120+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[28+rbx],ecx + cmovle r11,rbp + vmovdqu ymm0,YMMWORD[rdi] + lea rax,[128+rsp] + vmovdqu ymm1,YMMWORD[32+rdi] + lea rbx,[((256+128))+rsp] + vmovdqu ymm2,YMMWORD[64+rdi] + vmovdqu ymm3,YMMWORD[96+rdi] + vmovdqu ymm4,YMMWORD[128+rdi] + vmovdqu ymm9,YMMWORD[96+rbp] + jmp NEAR $L$oop_avx2 + +ALIGN 32 +$L$oop_avx2: + vmovdqa ymm15,YMMWORD[((-32))+rbp] + vmovd xmm10,DWORD[r12] + lea r12,[64+r12] + vmovd xmm12,DWORD[r8] + lea r8,[64+r8] + vmovd xmm7,DWORD[r13] + lea r13,[64+r13] + vmovd xmm6,DWORD[r9] + lea r9,[64+r9] + vpinsrd xmm10,xmm10,DWORD[r14],1 + lea r14,[64+r14] + vpinsrd xmm12,xmm12,DWORD[r10],1 + lea r10,[64+r10] + vpinsrd xmm7,xmm7,DWORD[r15],1 + lea r15,[64+r15] + vpunpckldq ymm10,ymm10,ymm7 + vpinsrd xmm6,xmm6,DWORD[r11],1 + lea r11,[64+r11] + vpunpckldq ymm12,ymm12,ymm6 + vmovd xmm11,DWORD[((-60))+r12] + vinserti128 ymm10,ymm10,xmm12,1 + vmovd xmm8,DWORD[((-60))+r8] + vpshufb ymm10,ymm10,ymm9 + vmovd xmm7,DWORD[((-60))+r13] + vmovd xmm6,DWORD[((-60))+r9] + vpinsrd xmm11,xmm11,DWORD[((-60))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-60))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-60))+r15],1 + vpunpckldq ymm11,ymm11,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-60))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm4,ymm4,ymm15 + vpslld ymm7,ymm0,5 + vpandn ymm6,ymm1,ymm3 + vpand ymm5,ymm1,ymm2 + + vmovdqa YMMWORD[(0-128)+rax],ymm10 + vpaddd ymm4,ymm4,ymm10 + vinserti128 ymm11,ymm11,xmm8,1 + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm12,DWORD[((-56))+r12] + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-56))+r8] + vpaddd ymm4,ymm4,ymm5 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpshufb ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vmovd xmm7,DWORD[((-56))+r13] + vmovd xmm6,DWORD[((-56))+r9] + vpinsrd xmm12,xmm12,DWORD[((-56))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-56))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-56))+r15],1 + vpunpckldq ymm12,ymm12,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-56))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm3,ymm3,ymm15 + vpslld ymm7,ymm4,5 + vpandn ymm6,ymm0,ymm2 + vpand ymm5,ymm0,ymm1 + + vmovdqa YMMWORD[(32-128)+rax],ymm11 + vpaddd ymm3,ymm3,ymm11 + vinserti128 ymm12,ymm12,xmm8,1 + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm13,DWORD[((-52))+r12] + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-52))+r8] + vpaddd ymm3,ymm3,ymm5 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpshufb ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vmovd xmm7,DWORD[((-52))+r13] + vmovd xmm6,DWORD[((-52))+r9] + vpinsrd xmm13,xmm13,DWORD[((-52))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-52))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-52))+r15],1 + vpunpckldq ymm13,ymm13,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-52))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm2,ymm2,ymm15 + vpslld ymm7,ymm3,5 + vpandn ymm6,ymm4,ymm1 + vpand ymm5,ymm4,ymm0 + + vmovdqa YMMWORD[(64-128)+rax],ymm12 + vpaddd ymm2,ymm2,ymm12 + vinserti128 ymm13,ymm13,xmm8,1 + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm14,DWORD[((-48))+r12] + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-48))+r8] + vpaddd ymm2,ymm2,ymm5 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpshufb ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vmovd xmm7,DWORD[((-48))+r13] + vmovd xmm6,DWORD[((-48))+r9] + vpinsrd xmm14,xmm14,DWORD[((-48))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-48))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-48))+r15],1 + vpunpckldq ymm14,ymm14,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-48))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm1,ymm1,ymm15 + vpslld ymm7,ymm2,5 + vpandn ymm6,ymm3,ymm0 + vpand ymm5,ymm3,ymm4 + + vmovdqa YMMWORD[(96-128)+rax],ymm13 + vpaddd ymm1,ymm1,ymm13 + vinserti128 ymm14,ymm14,xmm8,1 + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm10,DWORD[((-44))+r12] + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-44))+r8] + vpaddd ymm1,ymm1,ymm5 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpshufb ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vmovd xmm7,DWORD[((-44))+r13] + vmovd xmm6,DWORD[((-44))+r9] + vpinsrd xmm10,xmm10,DWORD[((-44))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-44))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-44))+r15],1 + vpunpckldq ymm10,ymm10,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-44))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm0,ymm0,ymm15 + vpslld ymm7,ymm1,5 + vpandn ymm6,ymm2,ymm4 + vpand ymm5,ymm2,ymm3 + + vmovdqa YMMWORD[(128-128)+rax],ymm14 + vpaddd ymm0,ymm0,ymm14 + vinserti128 ymm10,ymm10,xmm8,1 + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm11,DWORD[((-40))+r12] + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-40))+r8] + vpaddd ymm0,ymm0,ymm5 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpshufb ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vmovd xmm7,DWORD[((-40))+r13] + vmovd xmm6,DWORD[((-40))+r9] + vpinsrd xmm11,xmm11,DWORD[((-40))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-40))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-40))+r15],1 + vpunpckldq ymm11,ymm11,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-40))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm4,ymm4,ymm15 + vpslld ymm7,ymm0,5 + vpandn ymm6,ymm1,ymm3 + vpand ymm5,ymm1,ymm2 + + vmovdqa YMMWORD[(160-128)+rax],ymm10 + vpaddd ymm4,ymm4,ymm10 + vinserti128 ymm11,ymm11,xmm8,1 + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm12,DWORD[((-36))+r12] + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-36))+r8] + vpaddd ymm4,ymm4,ymm5 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpshufb ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vmovd xmm7,DWORD[((-36))+r13] + vmovd xmm6,DWORD[((-36))+r9] + vpinsrd xmm12,xmm12,DWORD[((-36))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-36))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-36))+r15],1 + vpunpckldq ymm12,ymm12,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-36))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm3,ymm3,ymm15 + vpslld ymm7,ymm4,5 + vpandn ymm6,ymm0,ymm2 + vpand ymm5,ymm0,ymm1 + + vmovdqa YMMWORD[(192-128)+rax],ymm11 + vpaddd ymm3,ymm3,ymm11 + vinserti128 ymm12,ymm12,xmm8,1 + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm13,DWORD[((-32))+r12] + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-32))+r8] + vpaddd ymm3,ymm3,ymm5 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpshufb ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vmovd xmm7,DWORD[((-32))+r13] + vmovd xmm6,DWORD[((-32))+r9] + vpinsrd xmm13,xmm13,DWORD[((-32))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-32))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-32))+r15],1 + vpunpckldq ymm13,ymm13,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-32))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm2,ymm2,ymm15 + vpslld ymm7,ymm3,5 + vpandn ymm6,ymm4,ymm1 + vpand ymm5,ymm4,ymm0 + + vmovdqa YMMWORD[(224-128)+rax],ymm12 + vpaddd ymm2,ymm2,ymm12 + vinserti128 ymm13,ymm13,xmm8,1 + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm14,DWORD[((-28))+r12] + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-28))+r8] + vpaddd ymm2,ymm2,ymm5 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpshufb ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vmovd xmm7,DWORD[((-28))+r13] + vmovd xmm6,DWORD[((-28))+r9] + vpinsrd xmm14,xmm14,DWORD[((-28))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-28))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-28))+r15],1 + vpunpckldq ymm14,ymm14,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-28))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm1,ymm1,ymm15 + vpslld ymm7,ymm2,5 + vpandn ymm6,ymm3,ymm0 + vpand ymm5,ymm3,ymm4 + + vmovdqa YMMWORD[(256-256-128)+rbx],ymm13 + vpaddd ymm1,ymm1,ymm13 + vinserti128 ymm14,ymm14,xmm8,1 + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm10,DWORD[((-24))+r12] + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-24))+r8] + vpaddd ymm1,ymm1,ymm5 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpshufb ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vmovd xmm7,DWORD[((-24))+r13] + vmovd xmm6,DWORD[((-24))+r9] + vpinsrd xmm10,xmm10,DWORD[((-24))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-24))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-24))+r15],1 + vpunpckldq ymm10,ymm10,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-24))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm0,ymm0,ymm15 + vpslld ymm7,ymm1,5 + vpandn ymm6,ymm2,ymm4 + vpand ymm5,ymm2,ymm3 + + vmovdqa YMMWORD[(288-256-128)+rbx],ymm14 + vpaddd ymm0,ymm0,ymm14 + vinserti128 ymm10,ymm10,xmm8,1 + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm11,DWORD[((-20))+r12] + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-20))+r8] + vpaddd ymm0,ymm0,ymm5 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpshufb ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vmovd xmm7,DWORD[((-20))+r13] + vmovd xmm6,DWORD[((-20))+r9] + vpinsrd xmm11,xmm11,DWORD[((-20))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-20))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-20))+r15],1 + vpunpckldq ymm11,ymm11,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-20))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm4,ymm4,ymm15 + vpslld ymm7,ymm0,5 + vpandn ymm6,ymm1,ymm3 + vpand ymm5,ymm1,ymm2 + + vmovdqa YMMWORD[(320-256-128)+rbx],ymm10 + vpaddd ymm4,ymm4,ymm10 + vinserti128 ymm11,ymm11,xmm8,1 + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm12,DWORD[((-16))+r12] + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-16))+r8] + vpaddd ymm4,ymm4,ymm5 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpshufb ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vmovd xmm7,DWORD[((-16))+r13] + vmovd xmm6,DWORD[((-16))+r9] + vpinsrd xmm12,xmm12,DWORD[((-16))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-16))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-16))+r15],1 + vpunpckldq ymm12,ymm12,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-16))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm3,ymm3,ymm15 + vpslld ymm7,ymm4,5 + vpandn ymm6,ymm0,ymm2 + vpand ymm5,ymm0,ymm1 + + vmovdqa YMMWORD[(352-256-128)+rbx],ymm11 + vpaddd ymm3,ymm3,ymm11 + vinserti128 ymm12,ymm12,xmm8,1 + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm13,DWORD[((-12))+r12] + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-12))+r8] + vpaddd ymm3,ymm3,ymm5 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpshufb ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vmovd xmm7,DWORD[((-12))+r13] + vmovd xmm6,DWORD[((-12))+r9] + vpinsrd xmm13,xmm13,DWORD[((-12))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-12))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-12))+r15],1 + vpunpckldq ymm13,ymm13,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-12))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm2,ymm2,ymm15 + vpslld ymm7,ymm3,5 + vpandn ymm6,ymm4,ymm1 + vpand ymm5,ymm4,ymm0 + + vmovdqa YMMWORD[(384-256-128)+rbx],ymm12 + vpaddd ymm2,ymm2,ymm12 + vinserti128 ymm13,ymm13,xmm8,1 + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm14,DWORD[((-8))+r12] + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-8))+r8] + vpaddd ymm2,ymm2,ymm5 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpshufb ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vmovd xmm7,DWORD[((-8))+r13] + vmovd xmm6,DWORD[((-8))+r9] + vpinsrd xmm14,xmm14,DWORD[((-8))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-8))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-8))+r15],1 + vpunpckldq ymm14,ymm14,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-8))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm1,ymm1,ymm15 + vpslld ymm7,ymm2,5 + vpandn ymm6,ymm3,ymm0 + vpand ymm5,ymm3,ymm4 + + vmovdqa YMMWORD[(416-256-128)+rbx],ymm13 + vpaddd ymm1,ymm1,ymm13 + vinserti128 ymm14,ymm14,xmm8,1 + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm6 + vmovd xmm10,DWORD[((-4))+r12] + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vmovd xmm8,DWORD[((-4))+r8] + vpaddd ymm1,ymm1,ymm5 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpshufb ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vmovdqa ymm11,YMMWORD[((0-128))+rax] + vmovd xmm7,DWORD[((-4))+r13] + vmovd xmm6,DWORD[((-4))+r9] + vpinsrd xmm10,xmm10,DWORD[((-4))+r14],1 + vpinsrd xmm8,xmm8,DWORD[((-4))+r10],1 + vpinsrd xmm7,xmm7,DWORD[((-4))+r15],1 + vpunpckldq ymm10,ymm10,ymm7 + vpinsrd xmm6,xmm6,DWORD[((-4))+r11],1 + vpunpckldq ymm8,ymm8,ymm6 + vpaddd ymm0,ymm0,ymm15 + prefetcht0 [63+r12] + vpslld ymm7,ymm1,5 + vpandn ymm6,ymm2,ymm4 + vpand ymm5,ymm2,ymm3 + + vmovdqa YMMWORD[(448-256-128)+rbx],ymm14 + vpaddd ymm0,ymm0,ymm14 + vinserti128 ymm10,ymm10,xmm8,1 + vpsrld ymm8,ymm1,27 + prefetcht0 [63+r13] + vpxor ymm5,ymm5,ymm6 + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + prefetcht0 [63+r14] + vpaddd ymm0,ymm0,ymm5 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + prefetcht0 [63+r15] + vpshufb ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vmovdqa ymm12,YMMWORD[((32-128))+rax] + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((64-128))+rax] + + vpaddd ymm4,ymm4,ymm15 + vpslld ymm7,ymm0,5 + vpandn ymm6,ymm1,ymm3 + prefetcht0 [63+r8] + vpand ymm5,ymm1,ymm2 + + vmovdqa YMMWORD[(480-256-128)+rbx],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpxor ymm11,ymm11,YMMWORD[((256-256-128))+rbx] + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm6 + vpxor ymm11,ymm11,ymm13 + prefetcht0 [63+r9] + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm4,ymm4,ymm5 + prefetcht0 [63+r10] + vpsrld ymm9,ymm11,31 + vpaddd ymm11,ymm11,ymm11 + + vpsrld ymm1,ymm1,2 + prefetcht0 [63+r11] + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((96-128))+rax] + + vpaddd ymm3,ymm3,ymm15 + vpslld ymm7,ymm4,5 + vpandn ymm6,ymm0,ymm2 + + vpand ymm5,ymm0,ymm1 + + vmovdqa YMMWORD[(0-128)+rax],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpxor ymm12,ymm12,YMMWORD[((288-256-128))+rbx] + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm6 + vpxor ymm12,ymm12,ymm14 + + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm3,ymm3,ymm5 + + vpsrld ymm9,ymm12,31 + vpaddd ymm12,ymm12,ymm12 + + vpsrld ymm0,ymm0,2 + + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((128-128))+rax] + + vpaddd ymm2,ymm2,ymm15 + vpslld ymm7,ymm3,5 + vpandn ymm6,ymm4,ymm1 + + vpand ymm5,ymm4,ymm0 + + vmovdqa YMMWORD[(32-128)+rax],ymm12 + vpaddd ymm2,ymm2,ymm12 + vpxor ymm13,ymm13,YMMWORD[((320-256-128))+rbx] + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm6 + vpxor ymm13,ymm13,ymm10 + + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm2,ymm2,ymm5 + + vpsrld ymm9,ymm13,31 + vpaddd ymm13,ymm13,ymm13 + + vpsrld ymm4,ymm4,2 + + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((160-128))+rax] + + vpaddd ymm1,ymm1,ymm15 + vpslld ymm7,ymm2,5 + vpandn ymm6,ymm3,ymm0 + + vpand ymm5,ymm3,ymm4 + + vmovdqa YMMWORD[(64-128)+rax],ymm13 + vpaddd ymm1,ymm1,ymm13 + vpxor ymm14,ymm14,YMMWORD[((352-256-128))+rbx] + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm6 + vpxor ymm14,ymm14,ymm11 + + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm1,ymm1,ymm5 + + vpsrld ymm9,ymm14,31 + vpaddd ymm14,ymm14,ymm14 + + vpsrld ymm3,ymm3,2 + + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((192-128))+rax] + + vpaddd ymm0,ymm0,ymm15 + vpslld ymm7,ymm1,5 + vpandn ymm6,ymm2,ymm4 + + vpand ymm5,ymm2,ymm3 + + vmovdqa YMMWORD[(96-128)+rax],ymm14 + vpaddd ymm0,ymm0,ymm14 + vpxor ymm10,ymm10,YMMWORD[((384-256-128))+rbx] + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm5,ymm6 + vpxor ymm10,ymm10,ymm12 + + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm0,ymm0,ymm5 + + vpsrld ymm9,ymm10,31 + vpaddd ymm10,ymm10,ymm10 + + vpsrld ymm2,ymm2,2 + + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vmovdqa ymm15,YMMWORD[rbp] + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((224-128))+rax] + + vpslld ymm7,ymm0,5 + vpaddd ymm4,ymm4,ymm15 + vpxor ymm5,ymm3,ymm1 + vmovdqa YMMWORD[(128-128)+rax],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpxor ymm11,ymm11,YMMWORD[((416-256-128))+rbx] + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm2 + vpxor ymm11,ymm11,ymm13 + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm4,ymm4,ymm5 + vpsrld ymm9,ymm11,31 + vpaddd ymm11,ymm11,ymm11 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((256-256-128))+rbx] + + vpslld ymm7,ymm4,5 + vpaddd ymm3,ymm3,ymm15 + vpxor ymm5,ymm2,ymm0 + vmovdqa YMMWORD[(160-128)+rax],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpxor ymm12,ymm12,YMMWORD[((448-256-128))+rbx] + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm1 + vpxor ymm12,ymm12,ymm14 + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm3,ymm3,ymm5 + vpsrld ymm9,ymm12,31 + vpaddd ymm12,ymm12,ymm12 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((288-256-128))+rbx] + + vpslld ymm7,ymm3,5 + vpaddd ymm2,ymm2,ymm15 + vpxor ymm5,ymm1,ymm4 + vmovdqa YMMWORD[(192-128)+rax],ymm12 + vpaddd ymm2,ymm2,ymm12 + vpxor ymm13,ymm13,YMMWORD[((480-256-128))+rbx] + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm0 + vpxor ymm13,ymm13,ymm10 + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm2,ymm2,ymm5 + vpsrld ymm9,ymm13,31 + vpaddd ymm13,ymm13,ymm13 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((320-256-128))+rbx] + + vpslld ymm7,ymm2,5 + vpaddd ymm1,ymm1,ymm15 + vpxor ymm5,ymm0,ymm3 + vmovdqa YMMWORD[(224-128)+rax],ymm13 + vpaddd ymm1,ymm1,ymm13 + vpxor ymm14,ymm14,YMMWORD[((0-128))+rax] + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm4 + vpxor ymm14,ymm14,ymm11 + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm1,ymm1,ymm5 + vpsrld ymm9,ymm14,31 + vpaddd ymm14,ymm14,ymm14 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((352-256-128))+rbx] + + vpslld ymm7,ymm1,5 + vpaddd ymm0,ymm0,ymm15 + vpxor ymm5,ymm4,ymm2 + vmovdqa YMMWORD[(256-256-128)+rbx],ymm14 + vpaddd ymm0,ymm0,ymm14 + vpxor ymm10,ymm10,YMMWORD[((32-128))+rax] + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm5,ymm3 + vpxor ymm10,ymm10,ymm12 + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm0,ymm0,ymm5 + vpsrld ymm9,ymm10,31 + vpaddd ymm10,ymm10,ymm10 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((384-256-128))+rbx] + + vpslld ymm7,ymm0,5 + vpaddd ymm4,ymm4,ymm15 + vpxor ymm5,ymm3,ymm1 + vmovdqa YMMWORD[(288-256-128)+rbx],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpxor ymm11,ymm11,YMMWORD[((64-128))+rax] + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm2 + vpxor ymm11,ymm11,ymm13 + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm4,ymm4,ymm5 + vpsrld ymm9,ymm11,31 + vpaddd ymm11,ymm11,ymm11 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((416-256-128))+rbx] + + vpslld ymm7,ymm4,5 + vpaddd ymm3,ymm3,ymm15 + vpxor ymm5,ymm2,ymm0 + vmovdqa YMMWORD[(320-256-128)+rbx],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpxor ymm12,ymm12,YMMWORD[((96-128))+rax] + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm1 + vpxor ymm12,ymm12,ymm14 + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm3,ymm3,ymm5 + vpsrld ymm9,ymm12,31 + vpaddd ymm12,ymm12,ymm12 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((448-256-128))+rbx] + + vpslld ymm7,ymm3,5 + vpaddd ymm2,ymm2,ymm15 + vpxor ymm5,ymm1,ymm4 + vmovdqa YMMWORD[(352-256-128)+rbx],ymm12 + vpaddd ymm2,ymm2,ymm12 + vpxor ymm13,ymm13,YMMWORD[((128-128))+rax] + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm0 + vpxor ymm13,ymm13,ymm10 + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm2,ymm2,ymm5 + vpsrld ymm9,ymm13,31 + vpaddd ymm13,ymm13,ymm13 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((480-256-128))+rbx] + + vpslld ymm7,ymm2,5 + vpaddd ymm1,ymm1,ymm15 + vpxor ymm5,ymm0,ymm3 + vmovdqa YMMWORD[(384-256-128)+rbx],ymm13 + vpaddd ymm1,ymm1,ymm13 + vpxor ymm14,ymm14,YMMWORD[((160-128))+rax] + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm4 + vpxor ymm14,ymm14,ymm11 + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm1,ymm1,ymm5 + vpsrld ymm9,ymm14,31 + vpaddd ymm14,ymm14,ymm14 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((0-128))+rax] + + vpslld ymm7,ymm1,5 + vpaddd ymm0,ymm0,ymm15 + vpxor ymm5,ymm4,ymm2 + vmovdqa YMMWORD[(416-256-128)+rbx],ymm14 + vpaddd ymm0,ymm0,ymm14 + vpxor ymm10,ymm10,YMMWORD[((192-128))+rax] + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm5,ymm3 + vpxor ymm10,ymm10,ymm12 + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm0,ymm0,ymm5 + vpsrld ymm9,ymm10,31 + vpaddd ymm10,ymm10,ymm10 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((32-128))+rax] + + vpslld ymm7,ymm0,5 + vpaddd ymm4,ymm4,ymm15 + vpxor ymm5,ymm3,ymm1 + vmovdqa YMMWORD[(448-256-128)+rbx],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpxor ymm11,ymm11,YMMWORD[((224-128))+rax] + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm2 + vpxor ymm11,ymm11,ymm13 + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm4,ymm4,ymm5 + vpsrld ymm9,ymm11,31 + vpaddd ymm11,ymm11,ymm11 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((64-128))+rax] + + vpslld ymm7,ymm4,5 + vpaddd ymm3,ymm3,ymm15 + vpxor ymm5,ymm2,ymm0 + vmovdqa YMMWORD[(480-256-128)+rbx],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpxor ymm12,ymm12,YMMWORD[((256-256-128))+rbx] + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm1 + vpxor ymm12,ymm12,ymm14 + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm3,ymm3,ymm5 + vpsrld ymm9,ymm12,31 + vpaddd ymm12,ymm12,ymm12 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((96-128))+rax] + + vpslld ymm7,ymm3,5 + vpaddd ymm2,ymm2,ymm15 + vpxor ymm5,ymm1,ymm4 + vmovdqa YMMWORD[(0-128)+rax],ymm12 + vpaddd ymm2,ymm2,ymm12 + vpxor ymm13,ymm13,YMMWORD[((288-256-128))+rbx] + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm0 + vpxor ymm13,ymm13,ymm10 + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm2,ymm2,ymm5 + vpsrld ymm9,ymm13,31 + vpaddd ymm13,ymm13,ymm13 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((128-128))+rax] + + vpslld ymm7,ymm2,5 + vpaddd ymm1,ymm1,ymm15 + vpxor ymm5,ymm0,ymm3 + vmovdqa YMMWORD[(32-128)+rax],ymm13 + vpaddd ymm1,ymm1,ymm13 + vpxor ymm14,ymm14,YMMWORD[((320-256-128))+rbx] + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm4 + vpxor ymm14,ymm14,ymm11 + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm1,ymm1,ymm5 + vpsrld ymm9,ymm14,31 + vpaddd ymm14,ymm14,ymm14 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((160-128))+rax] + + vpslld ymm7,ymm1,5 + vpaddd ymm0,ymm0,ymm15 + vpxor ymm5,ymm4,ymm2 + vmovdqa YMMWORD[(64-128)+rax],ymm14 + vpaddd ymm0,ymm0,ymm14 + vpxor ymm10,ymm10,YMMWORD[((352-256-128))+rbx] + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm5,ymm3 + vpxor ymm10,ymm10,ymm12 + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm0,ymm0,ymm5 + vpsrld ymm9,ymm10,31 + vpaddd ymm10,ymm10,ymm10 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((192-128))+rax] + + vpslld ymm7,ymm0,5 + vpaddd ymm4,ymm4,ymm15 + vpxor ymm5,ymm3,ymm1 + vmovdqa YMMWORD[(96-128)+rax],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpxor ymm11,ymm11,YMMWORD[((384-256-128))+rbx] + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm2 + vpxor ymm11,ymm11,ymm13 + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm4,ymm4,ymm5 + vpsrld ymm9,ymm11,31 + vpaddd ymm11,ymm11,ymm11 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((224-128))+rax] + + vpslld ymm7,ymm4,5 + vpaddd ymm3,ymm3,ymm15 + vpxor ymm5,ymm2,ymm0 + vmovdqa YMMWORD[(128-128)+rax],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpxor ymm12,ymm12,YMMWORD[((416-256-128))+rbx] + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm1 + vpxor ymm12,ymm12,ymm14 + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm3,ymm3,ymm5 + vpsrld ymm9,ymm12,31 + vpaddd ymm12,ymm12,ymm12 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((256-256-128))+rbx] + + vpslld ymm7,ymm3,5 + vpaddd ymm2,ymm2,ymm15 + vpxor ymm5,ymm1,ymm4 + vmovdqa YMMWORD[(160-128)+rax],ymm12 + vpaddd ymm2,ymm2,ymm12 + vpxor ymm13,ymm13,YMMWORD[((448-256-128))+rbx] + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm0 + vpxor ymm13,ymm13,ymm10 + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm2,ymm2,ymm5 + vpsrld ymm9,ymm13,31 + vpaddd ymm13,ymm13,ymm13 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((288-256-128))+rbx] + + vpslld ymm7,ymm2,5 + vpaddd ymm1,ymm1,ymm15 + vpxor ymm5,ymm0,ymm3 + vmovdqa YMMWORD[(192-128)+rax],ymm13 + vpaddd ymm1,ymm1,ymm13 + vpxor ymm14,ymm14,YMMWORD[((480-256-128))+rbx] + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm4 + vpxor ymm14,ymm14,ymm11 + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm1,ymm1,ymm5 + vpsrld ymm9,ymm14,31 + vpaddd ymm14,ymm14,ymm14 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((320-256-128))+rbx] + + vpslld ymm7,ymm1,5 + vpaddd ymm0,ymm0,ymm15 + vpxor ymm5,ymm4,ymm2 + vmovdqa YMMWORD[(224-128)+rax],ymm14 + vpaddd ymm0,ymm0,ymm14 + vpxor ymm10,ymm10,YMMWORD[((0-128))+rax] + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm5,ymm3 + vpxor ymm10,ymm10,ymm12 + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm0,ymm0,ymm5 + vpsrld ymm9,ymm10,31 + vpaddd ymm10,ymm10,ymm10 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vmovdqa ymm15,YMMWORD[32+rbp] + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((352-256-128))+rbx] + + vpaddd ymm4,ymm4,ymm15 + vpslld ymm7,ymm0,5 + vpand ymm6,ymm3,ymm2 + vpxor ymm11,ymm11,YMMWORD[((32-128))+rax] + + vpaddd ymm4,ymm4,ymm6 + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm3,ymm2 + vpxor ymm11,ymm11,ymm13 + + vmovdqu YMMWORD[(256-256-128)+rbx],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm11,31 + vpand ymm5,ymm5,ymm1 + vpaddd ymm11,ymm11,ymm11 + + vpslld ymm6,ymm1,30 + vpaddd ymm4,ymm4,ymm5 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((384-256-128))+rbx] + + vpaddd ymm3,ymm3,ymm15 + vpslld ymm7,ymm4,5 + vpand ymm6,ymm2,ymm1 + vpxor ymm12,ymm12,YMMWORD[((64-128))+rax] + + vpaddd ymm3,ymm3,ymm6 + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm2,ymm1 + vpxor ymm12,ymm12,ymm14 + + vmovdqu YMMWORD[(288-256-128)+rbx],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm12,31 + vpand ymm5,ymm5,ymm0 + vpaddd ymm12,ymm12,ymm12 + + vpslld ymm6,ymm0,30 + vpaddd ymm3,ymm3,ymm5 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((416-256-128))+rbx] + + vpaddd ymm2,ymm2,ymm15 + vpslld ymm7,ymm3,5 + vpand ymm6,ymm1,ymm0 + vpxor ymm13,ymm13,YMMWORD[((96-128))+rax] + + vpaddd ymm2,ymm2,ymm6 + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm1,ymm0 + vpxor ymm13,ymm13,ymm10 + + vmovdqu YMMWORD[(320-256-128)+rbx],ymm12 + vpaddd ymm2,ymm2,ymm12 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm13,31 + vpand ymm5,ymm5,ymm4 + vpaddd ymm13,ymm13,ymm13 + + vpslld ymm6,ymm4,30 + vpaddd ymm2,ymm2,ymm5 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((448-256-128))+rbx] + + vpaddd ymm1,ymm1,ymm15 + vpslld ymm7,ymm2,5 + vpand ymm6,ymm0,ymm4 + vpxor ymm14,ymm14,YMMWORD[((128-128))+rax] + + vpaddd ymm1,ymm1,ymm6 + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm0,ymm4 + vpxor ymm14,ymm14,ymm11 + + vmovdqu YMMWORD[(352-256-128)+rbx],ymm13 + vpaddd ymm1,ymm1,ymm13 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm14,31 + vpand ymm5,ymm5,ymm3 + vpaddd ymm14,ymm14,ymm14 + + vpslld ymm6,ymm3,30 + vpaddd ymm1,ymm1,ymm5 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((480-256-128))+rbx] + + vpaddd ymm0,ymm0,ymm15 + vpslld ymm7,ymm1,5 + vpand ymm6,ymm4,ymm3 + vpxor ymm10,ymm10,YMMWORD[((160-128))+rax] + + vpaddd ymm0,ymm0,ymm6 + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm4,ymm3 + vpxor ymm10,ymm10,ymm12 + + vmovdqu YMMWORD[(384-256-128)+rbx],ymm14 + vpaddd ymm0,ymm0,ymm14 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm10,31 + vpand ymm5,ymm5,ymm2 + vpaddd ymm10,ymm10,ymm10 + + vpslld ymm6,ymm2,30 + vpaddd ymm0,ymm0,ymm5 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((0-128))+rax] + + vpaddd ymm4,ymm4,ymm15 + vpslld ymm7,ymm0,5 + vpand ymm6,ymm3,ymm2 + vpxor ymm11,ymm11,YMMWORD[((192-128))+rax] + + vpaddd ymm4,ymm4,ymm6 + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm3,ymm2 + vpxor ymm11,ymm11,ymm13 + + vmovdqu YMMWORD[(416-256-128)+rbx],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm11,31 + vpand ymm5,ymm5,ymm1 + vpaddd ymm11,ymm11,ymm11 + + vpslld ymm6,ymm1,30 + vpaddd ymm4,ymm4,ymm5 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((32-128))+rax] + + vpaddd ymm3,ymm3,ymm15 + vpslld ymm7,ymm4,5 + vpand ymm6,ymm2,ymm1 + vpxor ymm12,ymm12,YMMWORD[((224-128))+rax] + + vpaddd ymm3,ymm3,ymm6 + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm2,ymm1 + vpxor ymm12,ymm12,ymm14 + + vmovdqu YMMWORD[(448-256-128)+rbx],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm12,31 + vpand ymm5,ymm5,ymm0 + vpaddd ymm12,ymm12,ymm12 + + vpslld ymm6,ymm0,30 + vpaddd ymm3,ymm3,ymm5 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((64-128))+rax] + + vpaddd ymm2,ymm2,ymm15 + vpslld ymm7,ymm3,5 + vpand ymm6,ymm1,ymm0 + vpxor ymm13,ymm13,YMMWORD[((256-256-128))+rbx] + + vpaddd ymm2,ymm2,ymm6 + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm1,ymm0 + vpxor ymm13,ymm13,ymm10 + + vmovdqu YMMWORD[(480-256-128)+rbx],ymm12 + vpaddd ymm2,ymm2,ymm12 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm13,31 + vpand ymm5,ymm5,ymm4 + vpaddd ymm13,ymm13,ymm13 + + vpslld ymm6,ymm4,30 + vpaddd ymm2,ymm2,ymm5 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((96-128))+rax] + + vpaddd ymm1,ymm1,ymm15 + vpslld ymm7,ymm2,5 + vpand ymm6,ymm0,ymm4 + vpxor ymm14,ymm14,YMMWORD[((288-256-128))+rbx] + + vpaddd ymm1,ymm1,ymm6 + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm0,ymm4 + vpxor ymm14,ymm14,ymm11 + + vmovdqu YMMWORD[(0-128)+rax],ymm13 + vpaddd ymm1,ymm1,ymm13 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm14,31 + vpand ymm5,ymm5,ymm3 + vpaddd ymm14,ymm14,ymm14 + + vpslld ymm6,ymm3,30 + vpaddd ymm1,ymm1,ymm5 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((128-128))+rax] + + vpaddd ymm0,ymm0,ymm15 + vpslld ymm7,ymm1,5 + vpand ymm6,ymm4,ymm3 + vpxor ymm10,ymm10,YMMWORD[((320-256-128))+rbx] + + vpaddd ymm0,ymm0,ymm6 + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm4,ymm3 + vpxor ymm10,ymm10,ymm12 + + vmovdqu YMMWORD[(32-128)+rax],ymm14 + vpaddd ymm0,ymm0,ymm14 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm10,31 + vpand ymm5,ymm5,ymm2 + vpaddd ymm10,ymm10,ymm10 + + vpslld ymm6,ymm2,30 + vpaddd ymm0,ymm0,ymm5 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((160-128))+rax] + + vpaddd ymm4,ymm4,ymm15 + vpslld ymm7,ymm0,5 + vpand ymm6,ymm3,ymm2 + vpxor ymm11,ymm11,YMMWORD[((352-256-128))+rbx] + + vpaddd ymm4,ymm4,ymm6 + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm3,ymm2 + vpxor ymm11,ymm11,ymm13 + + vmovdqu YMMWORD[(64-128)+rax],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm11,31 + vpand ymm5,ymm5,ymm1 + vpaddd ymm11,ymm11,ymm11 + + vpslld ymm6,ymm1,30 + vpaddd ymm4,ymm4,ymm5 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((192-128))+rax] + + vpaddd ymm3,ymm3,ymm15 + vpslld ymm7,ymm4,5 + vpand ymm6,ymm2,ymm1 + vpxor ymm12,ymm12,YMMWORD[((384-256-128))+rbx] + + vpaddd ymm3,ymm3,ymm6 + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm2,ymm1 + vpxor ymm12,ymm12,ymm14 + + vmovdqu YMMWORD[(96-128)+rax],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm12,31 + vpand ymm5,ymm5,ymm0 + vpaddd ymm12,ymm12,ymm12 + + vpslld ymm6,ymm0,30 + vpaddd ymm3,ymm3,ymm5 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((224-128))+rax] + + vpaddd ymm2,ymm2,ymm15 + vpslld ymm7,ymm3,5 + vpand ymm6,ymm1,ymm0 + vpxor ymm13,ymm13,YMMWORD[((416-256-128))+rbx] + + vpaddd ymm2,ymm2,ymm6 + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm1,ymm0 + vpxor ymm13,ymm13,ymm10 + + vmovdqu YMMWORD[(128-128)+rax],ymm12 + vpaddd ymm2,ymm2,ymm12 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm13,31 + vpand ymm5,ymm5,ymm4 + vpaddd ymm13,ymm13,ymm13 + + vpslld ymm6,ymm4,30 + vpaddd ymm2,ymm2,ymm5 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((256-256-128))+rbx] + + vpaddd ymm1,ymm1,ymm15 + vpslld ymm7,ymm2,5 + vpand ymm6,ymm0,ymm4 + vpxor ymm14,ymm14,YMMWORD[((448-256-128))+rbx] + + vpaddd ymm1,ymm1,ymm6 + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm0,ymm4 + vpxor ymm14,ymm14,ymm11 + + vmovdqu YMMWORD[(160-128)+rax],ymm13 + vpaddd ymm1,ymm1,ymm13 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm14,31 + vpand ymm5,ymm5,ymm3 + vpaddd ymm14,ymm14,ymm14 + + vpslld ymm6,ymm3,30 + vpaddd ymm1,ymm1,ymm5 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((288-256-128))+rbx] + + vpaddd ymm0,ymm0,ymm15 + vpslld ymm7,ymm1,5 + vpand ymm6,ymm4,ymm3 + vpxor ymm10,ymm10,YMMWORD[((480-256-128))+rbx] + + vpaddd ymm0,ymm0,ymm6 + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm4,ymm3 + vpxor ymm10,ymm10,ymm12 + + vmovdqu YMMWORD[(192-128)+rax],ymm14 + vpaddd ymm0,ymm0,ymm14 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm10,31 + vpand ymm5,ymm5,ymm2 + vpaddd ymm10,ymm10,ymm10 + + vpslld ymm6,ymm2,30 + vpaddd ymm0,ymm0,ymm5 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((320-256-128))+rbx] + + vpaddd ymm4,ymm4,ymm15 + vpslld ymm7,ymm0,5 + vpand ymm6,ymm3,ymm2 + vpxor ymm11,ymm11,YMMWORD[((0-128))+rax] + + vpaddd ymm4,ymm4,ymm6 + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm3,ymm2 + vpxor ymm11,ymm11,ymm13 + + vmovdqu YMMWORD[(224-128)+rax],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm11,31 + vpand ymm5,ymm5,ymm1 + vpaddd ymm11,ymm11,ymm11 + + vpslld ymm6,ymm1,30 + vpaddd ymm4,ymm4,ymm5 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((352-256-128))+rbx] + + vpaddd ymm3,ymm3,ymm15 + vpslld ymm7,ymm4,5 + vpand ymm6,ymm2,ymm1 + vpxor ymm12,ymm12,YMMWORD[((32-128))+rax] + + vpaddd ymm3,ymm3,ymm6 + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm2,ymm1 + vpxor ymm12,ymm12,ymm14 + + vmovdqu YMMWORD[(256-256-128)+rbx],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm12,31 + vpand ymm5,ymm5,ymm0 + vpaddd ymm12,ymm12,ymm12 + + vpslld ymm6,ymm0,30 + vpaddd ymm3,ymm3,ymm5 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((384-256-128))+rbx] + + vpaddd ymm2,ymm2,ymm15 + vpslld ymm7,ymm3,5 + vpand ymm6,ymm1,ymm0 + vpxor ymm13,ymm13,YMMWORD[((64-128))+rax] + + vpaddd ymm2,ymm2,ymm6 + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm1,ymm0 + vpxor ymm13,ymm13,ymm10 + + vmovdqu YMMWORD[(288-256-128)+rbx],ymm12 + vpaddd ymm2,ymm2,ymm12 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm13,31 + vpand ymm5,ymm5,ymm4 + vpaddd ymm13,ymm13,ymm13 + + vpslld ymm6,ymm4,30 + vpaddd ymm2,ymm2,ymm5 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((416-256-128))+rbx] + + vpaddd ymm1,ymm1,ymm15 + vpslld ymm7,ymm2,5 + vpand ymm6,ymm0,ymm4 + vpxor ymm14,ymm14,YMMWORD[((96-128))+rax] + + vpaddd ymm1,ymm1,ymm6 + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm0,ymm4 + vpxor ymm14,ymm14,ymm11 + + vmovdqu YMMWORD[(320-256-128)+rbx],ymm13 + vpaddd ymm1,ymm1,ymm13 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm14,31 + vpand ymm5,ymm5,ymm3 + vpaddd ymm14,ymm14,ymm14 + + vpslld ymm6,ymm3,30 + vpaddd ymm1,ymm1,ymm5 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((448-256-128))+rbx] + + vpaddd ymm0,ymm0,ymm15 + vpslld ymm7,ymm1,5 + vpand ymm6,ymm4,ymm3 + vpxor ymm10,ymm10,YMMWORD[((128-128))+rax] + + vpaddd ymm0,ymm0,ymm6 + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm4,ymm3 + vpxor ymm10,ymm10,ymm12 + + vmovdqu YMMWORD[(352-256-128)+rbx],ymm14 + vpaddd ymm0,ymm0,ymm14 + vpor ymm7,ymm7,ymm8 + vpsrld ymm9,ymm10,31 + vpand ymm5,ymm5,ymm2 + vpaddd ymm10,ymm10,ymm10 + + vpslld ymm6,ymm2,30 + vpaddd ymm0,ymm0,ymm5 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vmovdqa ymm15,YMMWORD[64+rbp] + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((480-256-128))+rbx] + + vpslld ymm7,ymm0,5 + vpaddd ymm4,ymm4,ymm15 + vpxor ymm5,ymm3,ymm1 + vmovdqa YMMWORD[(384-256-128)+rbx],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpxor ymm11,ymm11,YMMWORD[((160-128))+rax] + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm2 + vpxor ymm11,ymm11,ymm13 + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm4,ymm4,ymm5 + vpsrld ymm9,ymm11,31 + vpaddd ymm11,ymm11,ymm11 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((0-128))+rax] + + vpslld ymm7,ymm4,5 + vpaddd ymm3,ymm3,ymm15 + vpxor ymm5,ymm2,ymm0 + vmovdqa YMMWORD[(416-256-128)+rbx],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpxor ymm12,ymm12,YMMWORD[((192-128))+rax] + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm1 + vpxor ymm12,ymm12,ymm14 + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm3,ymm3,ymm5 + vpsrld ymm9,ymm12,31 + vpaddd ymm12,ymm12,ymm12 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((32-128))+rax] + + vpslld ymm7,ymm3,5 + vpaddd ymm2,ymm2,ymm15 + vpxor ymm5,ymm1,ymm4 + vmovdqa YMMWORD[(448-256-128)+rbx],ymm12 + vpaddd ymm2,ymm2,ymm12 + vpxor ymm13,ymm13,YMMWORD[((224-128))+rax] + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm0 + vpxor ymm13,ymm13,ymm10 + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm2,ymm2,ymm5 + vpsrld ymm9,ymm13,31 + vpaddd ymm13,ymm13,ymm13 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((64-128))+rax] + + vpslld ymm7,ymm2,5 + vpaddd ymm1,ymm1,ymm15 + vpxor ymm5,ymm0,ymm3 + vmovdqa YMMWORD[(480-256-128)+rbx],ymm13 + vpaddd ymm1,ymm1,ymm13 + vpxor ymm14,ymm14,YMMWORD[((256-256-128))+rbx] + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm4 + vpxor ymm14,ymm14,ymm11 + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm1,ymm1,ymm5 + vpsrld ymm9,ymm14,31 + vpaddd ymm14,ymm14,ymm14 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((96-128))+rax] + + vpslld ymm7,ymm1,5 + vpaddd ymm0,ymm0,ymm15 + vpxor ymm5,ymm4,ymm2 + vmovdqa YMMWORD[(0-128)+rax],ymm14 + vpaddd ymm0,ymm0,ymm14 + vpxor ymm10,ymm10,YMMWORD[((288-256-128))+rbx] + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm5,ymm3 + vpxor ymm10,ymm10,ymm12 + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm0,ymm0,ymm5 + vpsrld ymm9,ymm10,31 + vpaddd ymm10,ymm10,ymm10 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((128-128))+rax] + + vpslld ymm7,ymm0,5 + vpaddd ymm4,ymm4,ymm15 + vpxor ymm5,ymm3,ymm1 + vmovdqa YMMWORD[(32-128)+rax],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpxor ymm11,ymm11,YMMWORD[((320-256-128))+rbx] + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm2 + vpxor ymm11,ymm11,ymm13 + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm4,ymm4,ymm5 + vpsrld ymm9,ymm11,31 + vpaddd ymm11,ymm11,ymm11 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((160-128))+rax] + + vpslld ymm7,ymm4,5 + vpaddd ymm3,ymm3,ymm15 + vpxor ymm5,ymm2,ymm0 + vmovdqa YMMWORD[(64-128)+rax],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpxor ymm12,ymm12,YMMWORD[((352-256-128))+rbx] + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm1 + vpxor ymm12,ymm12,ymm14 + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm3,ymm3,ymm5 + vpsrld ymm9,ymm12,31 + vpaddd ymm12,ymm12,ymm12 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((192-128))+rax] + + vpslld ymm7,ymm3,5 + vpaddd ymm2,ymm2,ymm15 + vpxor ymm5,ymm1,ymm4 + vmovdqa YMMWORD[(96-128)+rax],ymm12 + vpaddd ymm2,ymm2,ymm12 + vpxor ymm13,ymm13,YMMWORD[((384-256-128))+rbx] + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm0 + vpxor ymm13,ymm13,ymm10 + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm2,ymm2,ymm5 + vpsrld ymm9,ymm13,31 + vpaddd ymm13,ymm13,ymm13 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((224-128))+rax] + + vpslld ymm7,ymm2,5 + vpaddd ymm1,ymm1,ymm15 + vpxor ymm5,ymm0,ymm3 + vmovdqa YMMWORD[(128-128)+rax],ymm13 + vpaddd ymm1,ymm1,ymm13 + vpxor ymm14,ymm14,YMMWORD[((416-256-128))+rbx] + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm4 + vpxor ymm14,ymm14,ymm11 + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm1,ymm1,ymm5 + vpsrld ymm9,ymm14,31 + vpaddd ymm14,ymm14,ymm14 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((256-256-128))+rbx] + + vpslld ymm7,ymm1,5 + vpaddd ymm0,ymm0,ymm15 + vpxor ymm5,ymm4,ymm2 + vmovdqa YMMWORD[(160-128)+rax],ymm14 + vpaddd ymm0,ymm0,ymm14 + vpxor ymm10,ymm10,YMMWORD[((448-256-128))+rbx] + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm5,ymm3 + vpxor ymm10,ymm10,ymm12 + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm0,ymm0,ymm5 + vpsrld ymm9,ymm10,31 + vpaddd ymm10,ymm10,ymm10 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((288-256-128))+rbx] + + vpslld ymm7,ymm0,5 + vpaddd ymm4,ymm4,ymm15 + vpxor ymm5,ymm3,ymm1 + vmovdqa YMMWORD[(192-128)+rax],ymm10 + vpaddd ymm4,ymm4,ymm10 + vpxor ymm11,ymm11,YMMWORD[((480-256-128))+rbx] + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm2 + vpxor ymm11,ymm11,ymm13 + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm4,ymm4,ymm5 + vpsrld ymm9,ymm11,31 + vpaddd ymm11,ymm11,ymm11 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((320-256-128))+rbx] + + vpslld ymm7,ymm4,5 + vpaddd ymm3,ymm3,ymm15 + vpxor ymm5,ymm2,ymm0 + vmovdqa YMMWORD[(224-128)+rax],ymm11 + vpaddd ymm3,ymm3,ymm11 + vpxor ymm12,ymm12,YMMWORD[((0-128))+rax] + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm1 + vpxor ymm12,ymm12,ymm14 + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm3,ymm3,ymm5 + vpsrld ymm9,ymm12,31 + vpaddd ymm12,ymm12,ymm12 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((352-256-128))+rbx] + + vpslld ymm7,ymm3,5 + vpaddd ymm2,ymm2,ymm15 + vpxor ymm5,ymm1,ymm4 + vpaddd ymm2,ymm2,ymm12 + vpxor ymm13,ymm13,YMMWORD[((32-128))+rax] + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm0 + vpxor ymm13,ymm13,ymm10 + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm2,ymm2,ymm5 + vpsrld ymm9,ymm13,31 + vpaddd ymm13,ymm13,ymm13 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((384-256-128))+rbx] + + vpslld ymm7,ymm2,5 + vpaddd ymm1,ymm1,ymm15 + vpxor ymm5,ymm0,ymm3 + vpaddd ymm1,ymm1,ymm13 + vpxor ymm14,ymm14,YMMWORD[((64-128))+rax] + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm4 + vpxor ymm14,ymm14,ymm11 + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm1,ymm1,ymm5 + vpsrld ymm9,ymm14,31 + vpaddd ymm14,ymm14,ymm14 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpxor ymm10,ymm10,ymm12 + vmovdqa ymm12,YMMWORD[((416-256-128))+rbx] + + vpslld ymm7,ymm1,5 + vpaddd ymm0,ymm0,ymm15 + vpxor ymm5,ymm4,ymm2 + vpaddd ymm0,ymm0,ymm14 + vpxor ymm10,ymm10,YMMWORD[((96-128))+rax] + vpsrld ymm8,ymm1,27 + vpxor ymm5,ymm5,ymm3 + vpxor ymm10,ymm10,ymm12 + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm0,ymm0,ymm5 + vpsrld ymm9,ymm10,31 + vpaddd ymm10,ymm10,ymm10 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm10,ymm10,ymm9 + vpor ymm2,ymm2,ymm6 + vpxor ymm11,ymm11,ymm13 + vmovdqa ymm13,YMMWORD[((448-256-128))+rbx] + + vpslld ymm7,ymm0,5 + vpaddd ymm4,ymm4,ymm15 + vpxor ymm5,ymm3,ymm1 + vpaddd ymm4,ymm4,ymm10 + vpxor ymm11,ymm11,YMMWORD[((128-128))+rax] + vpsrld ymm8,ymm0,27 + vpxor ymm5,ymm5,ymm2 + vpxor ymm11,ymm11,ymm13 + + vpslld ymm6,ymm1,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm4,ymm4,ymm5 + vpsrld ymm9,ymm11,31 + vpaddd ymm11,ymm11,ymm11 + + vpsrld ymm1,ymm1,2 + vpaddd ymm4,ymm4,ymm7 + vpor ymm11,ymm11,ymm9 + vpor ymm1,ymm1,ymm6 + vpxor ymm12,ymm12,ymm14 + vmovdqa ymm14,YMMWORD[((480-256-128))+rbx] + + vpslld ymm7,ymm4,5 + vpaddd ymm3,ymm3,ymm15 + vpxor ymm5,ymm2,ymm0 + vpaddd ymm3,ymm3,ymm11 + vpxor ymm12,ymm12,YMMWORD[((160-128))+rax] + vpsrld ymm8,ymm4,27 + vpxor ymm5,ymm5,ymm1 + vpxor ymm12,ymm12,ymm14 + + vpslld ymm6,ymm0,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm3,ymm3,ymm5 + vpsrld ymm9,ymm12,31 + vpaddd ymm12,ymm12,ymm12 + + vpsrld ymm0,ymm0,2 + vpaddd ymm3,ymm3,ymm7 + vpor ymm12,ymm12,ymm9 + vpor ymm0,ymm0,ymm6 + vpxor ymm13,ymm13,ymm10 + vmovdqa ymm10,YMMWORD[((0-128))+rax] + + vpslld ymm7,ymm3,5 + vpaddd ymm2,ymm2,ymm15 + vpxor ymm5,ymm1,ymm4 + vpaddd ymm2,ymm2,ymm12 + vpxor ymm13,ymm13,YMMWORD[((192-128))+rax] + vpsrld ymm8,ymm3,27 + vpxor ymm5,ymm5,ymm0 + vpxor ymm13,ymm13,ymm10 + + vpslld ymm6,ymm4,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm2,ymm2,ymm5 + vpsrld ymm9,ymm13,31 + vpaddd ymm13,ymm13,ymm13 + + vpsrld ymm4,ymm4,2 + vpaddd ymm2,ymm2,ymm7 + vpor ymm13,ymm13,ymm9 + vpor ymm4,ymm4,ymm6 + vpxor ymm14,ymm14,ymm11 + vmovdqa ymm11,YMMWORD[((32-128))+rax] + + vpslld ymm7,ymm2,5 + vpaddd ymm1,ymm1,ymm15 + vpxor ymm5,ymm0,ymm3 + vpaddd ymm1,ymm1,ymm13 + vpxor ymm14,ymm14,YMMWORD[((224-128))+rax] + vpsrld ymm8,ymm2,27 + vpxor ymm5,ymm5,ymm4 + vpxor ymm14,ymm14,ymm11 + + vpslld ymm6,ymm3,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm1,ymm1,ymm5 + vpsrld ymm9,ymm14,31 + vpaddd ymm14,ymm14,ymm14 + + vpsrld ymm3,ymm3,2 + vpaddd ymm1,ymm1,ymm7 + vpor ymm14,ymm14,ymm9 + vpor ymm3,ymm3,ymm6 + vpslld ymm7,ymm1,5 + vpaddd ymm0,ymm0,ymm15 + vpxor ymm5,ymm4,ymm2 + + vpsrld ymm8,ymm1,27 + vpaddd ymm0,ymm0,ymm14 + vpxor ymm5,ymm5,ymm3 + + vpslld ymm6,ymm2,30 + vpor ymm7,ymm7,ymm8 + vpaddd ymm0,ymm0,ymm5 + + vpsrld ymm2,ymm2,2 + vpaddd ymm0,ymm0,ymm7 + vpor ymm2,ymm2,ymm6 + mov ecx,1 + lea rbx,[512+rsp] + cmp ecx,DWORD[rbx] + cmovge r12,rbp + cmp ecx,DWORD[4+rbx] + cmovge r13,rbp + cmp ecx,DWORD[8+rbx] + cmovge r14,rbp + cmp ecx,DWORD[12+rbx] + cmovge r15,rbp + cmp ecx,DWORD[16+rbx] + cmovge r8,rbp + cmp ecx,DWORD[20+rbx] + cmovge r9,rbp + cmp ecx,DWORD[24+rbx] + cmovge r10,rbp + cmp ecx,DWORD[28+rbx] + cmovge r11,rbp + vmovdqu ymm5,YMMWORD[rbx] + vpxor ymm7,ymm7,ymm7 + vmovdqa ymm6,ymm5 + vpcmpgtd ymm6,ymm6,ymm7 + vpaddd ymm5,ymm5,ymm6 + + vpand ymm0,ymm0,ymm6 + vpand ymm1,ymm1,ymm6 + vpaddd ymm0,ymm0,YMMWORD[rdi] + vpand ymm2,ymm2,ymm6 + vpaddd ymm1,ymm1,YMMWORD[32+rdi] + vpand ymm3,ymm3,ymm6 + vpaddd ymm2,ymm2,YMMWORD[64+rdi] + vpand ymm4,ymm4,ymm6 + vpaddd ymm3,ymm3,YMMWORD[96+rdi] + vpaddd ymm4,ymm4,YMMWORD[128+rdi] + vmovdqu YMMWORD[rdi],ymm0 + vmovdqu YMMWORD[32+rdi],ymm1 + vmovdqu YMMWORD[64+rdi],ymm2 + vmovdqu YMMWORD[96+rdi],ymm3 + vmovdqu YMMWORD[128+rdi],ymm4 + + vmovdqu YMMWORD[rbx],ymm5 + lea rbx,[((256+128))+rsp] + vmovdqu ymm9,YMMWORD[96+rbp] + dec edx + jnz NEAR $L$oop_avx2 + + + + + + + +$L$done_avx2: + mov rax,QWORD[544+rsp] + vzeroupper + movaps xmm6,XMMWORD[((-216))+rax] + movaps xmm7,XMMWORD[((-200))+rax] + movaps xmm8,XMMWORD[((-184))+rax] + movaps xmm9,XMMWORD[((-168))+rax] + movaps xmm10,XMMWORD[((-152))+rax] + movaps xmm11,XMMWORD[((-136))+rax] + movaps xmm12,XMMWORD[((-120))+rax] + movaps xmm13,XMMWORD[((-104))+rax] + movaps xmm14,XMMWORD[((-88))+rax] + movaps xmm15,XMMWORD[((-72))+rax] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$epilogue_avx2: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha1_multi_block_avx2: + +ALIGN 256 + DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 + DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 +K_XX_XX: + DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 + DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 + DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc + DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc + DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 + DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 + DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f + DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f +DB 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 +DB 83,72,65,49,32,109,117,108,116,105,45,98,108,111,99,107 +DB 32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120 +DB 56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77 +DB 83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110 +DB 115,115,108,46,111,114,103,62,0 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + + mov rax,QWORD[272+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + + lea rsi,[((-24-160))+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +ALIGN 16 +avx2_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + + mov rax,QWORD[544+r8] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + + lea rsi,[((-56-160))+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + + jmp NEAR $L$in_prologue + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_sha1_multi_block wrt ..imagebase + DD $L$SEH_end_sha1_multi_block wrt ..imagebase + DD $L$SEH_info_sha1_multi_block wrt ..imagebase + DD $L$SEH_begin_sha1_multi_block_shaext wrt ..imagebase + DD $L$SEH_end_sha1_multi_block_shaext wrt ..imagebase + DD $L$SEH_info_sha1_multi_block_shaext wrt ..imagebase + DD $L$SEH_begin_sha1_multi_block_avx wrt ..imagebase + DD $L$SEH_end_sha1_multi_block_avx wrt ..imagebase + DD $L$SEH_info_sha1_multi_block_avx wrt ..imagebase + DD $L$SEH_begin_sha1_multi_block_avx2 wrt ..imagebase + DD $L$SEH_end_sha1_multi_block_avx2 wrt ..imagebase + DD $L$SEH_info_sha1_multi_block_avx2 wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_sha1_multi_block: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$body wrt ..imagebase,$L$epilogue wrt ..imagebase +$L$SEH_info_sha1_multi_block_shaext: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$body_shaext wrt ..imagebase,$L$epilogue_shaext wrt ..imagebase +$L$SEH_info_sha1_multi_block_avx: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$body_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase +$L$SEH_info_sha1_multi_block_avx2: +DB 9,0,0,0 + DD avx2_handler wrt ..imagebase + DD $L$body_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase diff --git a/tmp64/sha1-x86_64.asm b/tmp64/sha1-x86_64.asm index 6282079e..26b604ed 100644 --- a/tmp64/sha1-x86_64.asm +++ b/tmp64/sha1-x86_64.asm @@ -1,5714 +1,5714 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - -EXTERN OPENSSL_ia32cap_P - -global sha1_block_data_order - -ALIGN 16 -sha1_block_data_order: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha1_block_data_order: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - mov r9d,DWORD[((OPENSSL_ia32cap_P+0))] - mov r8d,DWORD[((OPENSSL_ia32cap_P+4))] - mov r10d,DWORD[((OPENSSL_ia32cap_P+8))] - test r8d,512 - jz NEAR $L$ialu - test r10d,536870912 - jnz NEAR _shaext_shortcut - and r10d,296 - cmp r10d,296 - je NEAR _avx2_shortcut - and r8d,268435456 - and r9d,1073741824 - or r8d,r9d - cmp r8d,1342177280 - je NEAR _avx_shortcut - jmp NEAR _ssse3_shortcut - -ALIGN 16 -$L$ialu: - mov rax,rsp - push rbx - push rbp - push r12 - push r13 - push r14 - mov r8,rdi - sub rsp,72 - mov r9,rsi - and rsp,-64 - mov r10,rdx - mov QWORD[64+rsp],rax -$L$prologue: - - mov esi,DWORD[r8] - mov edi,DWORD[4+r8] - mov r11d,DWORD[8+r8] - mov r12d,DWORD[12+r8] - mov r13d,DWORD[16+r8] - jmp NEAR $L$loop - -ALIGN 16 -$L$loop: - mov edx,DWORD[r9] - bswap edx - mov ebp,DWORD[4+r9] - mov eax,r12d - mov DWORD[rsp],edx - mov ecx,esi - bswap ebp - xor eax,r11d - rol ecx,5 - and eax,edi - lea r13d,[1518500249+r13*1+rdx] - add r13d,ecx - xor eax,r12d - rol edi,30 - add r13d,eax - mov r14d,DWORD[8+r9] - mov eax,r11d - mov DWORD[4+rsp],ebp - mov ecx,r13d - bswap r14d - xor eax,edi - rol ecx,5 - and eax,esi - lea r12d,[1518500249+r12*1+rbp] - add r12d,ecx - xor eax,r11d - rol esi,30 - add r12d,eax - mov edx,DWORD[12+r9] - mov eax,edi - mov DWORD[8+rsp],r14d - mov ecx,r12d - bswap edx - xor eax,esi - rol ecx,5 - and eax,r13d - lea r11d,[1518500249+r11*1+r14] - add r11d,ecx - xor eax,edi - rol r13d,30 - add r11d,eax - mov ebp,DWORD[16+r9] - mov eax,esi - mov DWORD[12+rsp],edx - mov ecx,r11d - bswap ebp - xor eax,r13d - rol ecx,5 - and eax,r12d - lea edi,[1518500249+rdi*1+rdx] - add edi,ecx - xor eax,esi - rol r12d,30 - add edi,eax - mov r14d,DWORD[20+r9] - mov eax,r13d - mov DWORD[16+rsp],ebp - mov ecx,edi - bswap r14d - xor eax,r12d - rol ecx,5 - and eax,r11d - lea esi,[1518500249+rsi*1+rbp] - add esi,ecx - xor eax,r13d - rol r11d,30 - add esi,eax - mov edx,DWORD[24+r9] - mov eax,r12d - mov DWORD[20+rsp],r14d - mov ecx,esi - bswap edx - xor eax,r11d - rol ecx,5 - and eax,edi - lea r13d,[1518500249+r13*1+r14] - add r13d,ecx - xor eax,r12d - rol edi,30 - add r13d,eax - mov ebp,DWORD[28+r9] - mov eax,r11d - mov DWORD[24+rsp],edx - mov ecx,r13d - bswap ebp - xor eax,edi - rol ecx,5 - and eax,esi - lea r12d,[1518500249+r12*1+rdx] - add r12d,ecx - xor eax,r11d - rol esi,30 - add r12d,eax - mov r14d,DWORD[32+r9] - mov eax,edi - mov DWORD[28+rsp],ebp - mov ecx,r12d - bswap r14d - xor eax,esi - rol ecx,5 - and eax,r13d - lea r11d,[1518500249+r11*1+rbp] - add r11d,ecx - xor eax,edi - rol r13d,30 - add r11d,eax - mov edx,DWORD[36+r9] - mov eax,esi - mov DWORD[32+rsp],r14d - mov ecx,r11d - bswap edx - xor eax,r13d - rol ecx,5 - and eax,r12d - lea edi,[1518500249+rdi*1+r14] - add edi,ecx - xor eax,esi - rol r12d,30 - add edi,eax - mov ebp,DWORD[40+r9] - mov eax,r13d - mov DWORD[36+rsp],edx - mov ecx,edi - bswap ebp - xor eax,r12d - rol ecx,5 - and eax,r11d - lea esi,[1518500249+rsi*1+rdx] - add esi,ecx - xor eax,r13d - rol r11d,30 - add esi,eax - mov r14d,DWORD[44+r9] - mov eax,r12d - mov DWORD[40+rsp],ebp - mov ecx,esi - bswap r14d - xor eax,r11d - rol ecx,5 - and eax,edi - lea r13d,[1518500249+r13*1+rbp] - add r13d,ecx - xor eax,r12d - rol edi,30 - add r13d,eax - mov edx,DWORD[48+r9] - mov eax,r11d - mov DWORD[44+rsp],r14d - mov ecx,r13d - bswap edx - xor eax,edi - rol ecx,5 - and eax,esi - lea r12d,[1518500249+r12*1+r14] - add r12d,ecx - xor eax,r11d - rol esi,30 - add r12d,eax - mov ebp,DWORD[52+r9] - mov eax,edi - mov DWORD[48+rsp],edx - mov ecx,r12d - bswap ebp - xor eax,esi - rol ecx,5 - and eax,r13d - lea r11d,[1518500249+r11*1+rdx] - add r11d,ecx - xor eax,edi - rol r13d,30 - add r11d,eax - mov r14d,DWORD[56+r9] - mov eax,esi - mov DWORD[52+rsp],ebp - mov ecx,r11d - bswap r14d - xor eax,r13d - rol ecx,5 - and eax,r12d - lea edi,[1518500249+rdi*1+rbp] - add edi,ecx - xor eax,esi - rol r12d,30 - add edi,eax - mov edx,DWORD[60+r9] - mov eax,r13d - mov DWORD[56+rsp],r14d - mov ecx,edi - bswap edx - xor eax,r12d - rol ecx,5 - and eax,r11d - lea esi,[1518500249+rsi*1+r14] - add esi,ecx - xor eax,r13d - rol r11d,30 - add esi,eax - xor ebp,DWORD[rsp] - mov eax,r12d - mov DWORD[60+rsp],edx - mov ecx,esi - xor ebp,DWORD[8+rsp] - xor eax,r11d - rol ecx,5 - xor ebp,DWORD[32+rsp] - and eax,edi - lea r13d,[1518500249+r13*1+rdx] - rol edi,30 - xor eax,r12d - add r13d,ecx - rol ebp,1 - add r13d,eax - xor r14d,DWORD[4+rsp] - mov eax,r11d - mov DWORD[rsp],ebp - mov ecx,r13d - xor r14d,DWORD[12+rsp] - xor eax,edi - rol ecx,5 - xor r14d,DWORD[36+rsp] - and eax,esi - lea r12d,[1518500249+r12*1+rbp] - rol esi,30 - xor eax,r11d - add r12d,ecx - rol r14d,1 - add r12d,eax - xor edx,DWORD[8+rsp] - mov eax,edi - mov DWORD[4+rsp],r14d - mov ecx,r12d - xor edx,DWORD[16+rsp] - xor eax,esi - rol ecx,5 - xor edx,DWORD[40+rsp] - and eax,r13d - lea r11d,[1518500249+r11*1+r14] - rol r13d,30 - xor eax,edi - add r11d,ecx - rol edx,1 - add r11d,eax - xor ebp,DWORD[12+rsp] - mov eax,esi - mov DWORD[8+rsp],edx - mov ecx,r11d - xor ebp,DWORD[20+rsp] - xor eax,r13d - rol ecx,5 - xor ebp,DWORD[44+rsp] - and eax,r12d - lea edi,[1518500249+rdi*1+rdx] - rol r12d,30 - xor eax,esi - add edi,ecx - rol ebp,1 - add edi,eax - xor r14d,DWORD[16+rsp] - mov eax,r13d - mov DWORD[12+rsp],ebp - mov ecx,edi - xor r14d,DWORD[24+rsp] - xor eax,r12d - rol ecx,5 - xor r14d,DWORD[48+rsp] - and eax,r11d - lea esi,[1518500249+rsi*1+rbp] - rol r11d,30 - xor eax,r13d - add esi,ecx - rol r14d,1 - add esi,eax - xor edx,DWORD[20+rsp] - mov eax,edi - mov DWORD[16+rsp],r14d - mov ecx,esi - xor edx,DWORD[28+rsp] - xor eax,r12d - rol ecx,5 - xor edx,DWORD[52+rsp] - lea r13d,[1859775393+r13*1+r14] - xor eax,r11d - add r13d,ecx - rol edi,30 - add r13d,eax - rol edx,1 - xor ebp,DWORD[24+rsp] - mov eax,esi - mov DWORD[20+rsp],edx - mov ecx,r13d - xor ebp,DWORD[32+rsp] - xor eax,r11d - rol ecx,5 - xor ebp,DWORD[56+rsp] - lea r12d,[1859775393+r12*1+rdx] - xor eax,edi - add r12d,ecx - rol esi,30 - add r12d,eax - rol ebp,1 - xor r14d,DWORD[28+rsp] - mov eax,r13d - mov DWORD[24+rsp],ebp - mov ecx,r12d - xor r14d,DWORD[36+rsp] - xor eax,edi - rol ecx,5 - xor r14d,DWORD[60+rsp] - lea r11d,[1859775393+r11*1+rbp] - xor eax,esi - add r11d,ecx - rol r13d,30 - add r11d,eax - rol r14d,1 - xor edx,DWORD[32+rsp] - mov eax,r12d - mov DWORD[28+rsp],r14d - mov ecx,r11d - xor edx,DWORD[40+rsp] - xor eax,esi - rol ecx,5 - xor edx,DWORD[rsp] - lea edi,[1859775393+rdi*1+r14] - xor eax,r13d - add edi,ecx - rol r12d,30 - add edi,eax - rol edx,1 - xor ebp,DWORD[36+rsp] - mov eax,r11d - mov DWORD[32+rsp],edx - mov ecx,edi - xor ebp,DWORD[44+rsp] - xor eax,r13d - rol ecx,5 - xor ebp,DWORD[4+rsp] - lea esi,[1859775393+rsi*1+rdx] - xor eax,r12d - add esi,ecx - rol r11d,30 - add esi,eax - rol ebp,1 - xor r14d,DWORD[40+rsp] - mov eax,edi - mov DWORD[36+rsp],ebp - mov ecx,esi - xor r14d,DWORD[48+rsp] - xor eax,r12d - rol ecx,5 - xor r14d,DWORD[8+rsp] - lea r13d,[1859775393+r13*1+rbp] - xor eax,r11d - add r13d,ecx - rol edi,30 - add r13d,eax - rol r14d,1 - xor edx,DWORD[44+rsp] - mov eax,esi - mov DWORD[40+rsp],r14d - mov ecx,r13d - xor edx,DWORD[52+rsp] - xor eax,r11d - rol ecx,5 - xor edx,DWORD[12+rsp] - lea r12d,[1859775393+r12*1+r14] - xor eax,edi - add r12d,ecx - rol esi,30 - add r12d,eax - rol edx,1 - xor ebp,DWORD[48+rsp] - mov eax,r13d - mov DWORD[44+rsp],edx - mov ecx,r12d - xor ebp,DWORD[56+rsp] - xor eax,edi - rol ecx,5 - xor ebp,DWORD[16+rsp] - lea r11d,[1859775393+r11*1+rdx] - xor eax,esi - add r11d,ecx - rol r13d,30 - add r11d,eax - rol ebp,1 - xor r14d,DWORD[52+rsp] - mov eax,r12d - mov DWORD[48+rsp],ebp - mov ecx,r11d - xor r14d,DWORD[60+rsp] - xor eax,esi - rol ecx,5 - xor r14d,DWORD[20+rsp] - lea edi,[1859775393+rdi*1+rbp] - xor eax,r13d - add edi,ecx - rol r12d,30 - add edi,eax - rol r14d,1 - xor edx,DWORD[56+rsp] - mov eax,r11d - mov DWORD[52+rsp],r14d - mov ecx,edi - xor edx,DWORD[rsp] - xor eax,r13d - rol ecx,5 - xor edx,DWORD[24+rsp] - lea esi,[1859775393+rsi*1+r14] - xor eax,r12d - add esi,ecx - rol r11d,30 - add esi,eax - rol edx,1 - xor ebp,DWORD[60+rsp] - mov eax,edi - mov DWORD[56+rsp],edx - mov ecx,esi - xor ebp,DWORD[4+rsp] - xor eax,r12d - rol ecx,5 - xor ebp,DWORD[28+rsp] - lea r13d,[1859775393+r13*1+rdx] - xor eax,r11d - add r13d,ecx - rol edi,30 - add r13d,eax - rol ebp,1 - xor r14d,DWORD[rsp] - mov eax,esi - mov DWORD[60+rsp],ebp - mov ecx,r13d - xor r14d,DWORD[8+rsp] - xor eax,r11d - rol ecx,5 - xor r14d,DWORD[32+rsp] - lea r12d,[1859775393+r12*1+rbp] - xor eax,edi - add r12d,ecx - rol esi,30 - add r12d,eax - rol r14d,1 - xor edx,DWORD[4+rsp] - mov eax,r13d - mov DWORD[rsp],r14d - mov ecx,r12d - xor edx,DWORD[12+rsp] - xor eax,edi - rol ecx,5 - xor edx,DWORD[36+rsp] - lea r11d,[1859775393+r11*1+r14] - xor eax,esi - add r11d,ecx - rol r13d,30 - add r11d,eax - rol edx,1 - xor ebp,DWORD[8+rsp] - mov eax,r12d - mov DWORD[4+rsp],edx - mov ecx,r11d - xor ebp,DWORD[16+rsp] - xor eax,esi - rol ecx,5 - xor ebp,DWORD[40+rsp] - lea edi,[1859775393+rdi*1+rdx] - xor eax,r13d - add edi,ecx - rol r12d,30 - add edi,eax - rol ebp,1 - xor r14d,DWORD[12+rsp] - mov eax,r11d - mov DWORD[8+rsp],ebp - mov ecx,edi - xor r14d,DWORD[20+rsp] - xor eax,r13d - rol ecx,5 - xor r14d,DWORD[44+rsp] - lea esi,[1859775393+rsi*1+rbp] - xor eax,r12d - add esi,ecx - rol r11d,30 - add esi,eax - rol r14d,1 - xor edx,DWORD[16+rsp] - mov eax,edi - mov DWORD[12+rsp],r14d - mov ecx,esi - xor edx,DWORD[24+rsp] - xor eax,r12d - rol ecx,5 - xor edx,DWORD[48+rsp] - lea r13d,[1859775393+r13*1+r14] - xor eax,r11d - add r13d,ecx - rol edi,30 - add r13d,eax - rol edx,1 - xor ebp,DWORD[20+rsp] - mov eax,esi - mov DWORD[16+rsp],edx - mov ecx,r13d - xor ebp,DWORD[28+rsp] - xor eax,r11d - rol ecx,5 - xor ebp,DWORD[52+rsp] - lea r12d,[1859775393+r12*1+rdx] - xor eax,edi - add r12d,ecx - rol esi,30 - add r12d,eax - rol ebp,1 - xor r14d,DWORD[24+rsp] - mov eax,r13d - mov DWORD[20+rsp],ebp - mov ecx,r12d - xor r14d,DWORD[32+rsp] - xor eax,edi - rol ecx,5 - xor r14d,DWORD[56+rsp] - lea r11d,[1859775393+r11*1+rbp] - xor eax,esi - add r11d,ecx - rol r13d,30 - add r11d,eax - rol r14d,1 - xor edx,DWORD[28+rsp] - mov eax,r12d - mov DWORD[24+rsp],r14d - mov ecx,r11d - xor edx,DWORD[36+rsp] - xor eax,esi - rol ecx,5 - xor edx,DWORD[60+rsp] - lea edi,[1859775393+rdi*1+r14] - xor eax,r13d - add edi,ecx - rol r12d,30 - add edi,eax - rol edx,1 - xor ebp,DWORD[32+rsp] - mov eax,r11d - mov DWORD[28+rsp],edx - mov ecx,edi - xor ebp,DWORD[40+rsp] - xor eax,r13d - rol ecx,5 - xor ebp,DWORD[rsp] - lea esi,[1859775393+rsi*1+rdx] - xor eax,r12d - add esi,ecx - rol r11d,30 - add esi,eax - rol ebp,1 - xor r14d,DWORD[36+rsp] - mov eax,r12d - mov DWORD[32+rsp],ebp - mov ebx,r12d - xor r14d,DWORD[44+rsp] - and eax,r11d - mov ecx,esi - xor r14d,DWORD[4+rsp] - lea r13d,[((-1894007588))+r13*1+rbp] - xor ebx,r11d - rol ecx,5 - add r13d,eax - rol r14d,1 - and ebx,edi - add r13d,ecx - rol edi,30 - add r13d,ebx - xor edx,DWORD[40+rsp] - mov eax,r11d - mov DWORD[36+rsp],r14d - mov ebx,r11d - xor edx,DWORD[48+rsp] - and eax,edi - mov ecx,r13d - xor edx,DWORD[8+rsp] - lea r12d,[((-1894007588))+r12*1+r14] - xor ebx,edi - rol ecx,5 - add r12d,eax - rol edx,1 - and ebx,esi - add r12d,ecx - rol esi,30 - add r12d,ebx - xor ebp,DWORD[44+rsp] - mov eax,edi - mov DWORD[40+rsp],edx - mov ebx,edi - xor ebp,DWORD[52+rsp] - and eax,esi - mov ecx,r12d - xor ebp,DWORD[12+rsp] - lea r11d,[((-1894007588))+r11*1+rdx] - xor ebx,esi - rol ecx,5 - add r11d,eax - rol ebp,1 - and ebx,r13d - add r11d,ecx - rol r13d,30 - add r11d,ebx - xor r14d,DWORD[48+rsp] - mov eax,esi - mov DWORD[44+rsp],ebp - mov ebx,esi - xor r14d,DWORD[56+rsp] - and eax,r13d - mov ecx,r11d - xor r14d,DWORD[16+rsp] - lea edi,[((-1894007588))+rdi*1+rbp] - xor ebx,r13d - rol ecx,5 - add edi,eax - rol r14d,1 - and ebx,r12d - add edi,ecx - rol r12d,30 - add edi,ebx - xor edx,DWORD[52+rsp] - mov eax,r13d - mov DWORD[48+rsp],r14d - mov ebx,r13d - xor edx,DWORD[60+rsp] - and eax,r12d - mov ecx,edi - xor edx,DWORD[20+rsp] - lea esi,[((-1894007588))+rsi*1+r14] - xor ebx,r12d - rol ecx,5 - add esi,eax - rol edx,1 - and ebx,r11d - add esi,ecx - rol r11d,30 - add esi,ebx - xor ebp,DWORD[56+rsp] - mov eax,r12d - mov DWORD[52+rsp],edx - mov ebx,r12d - xor ebp,DWORD[rsp] - and eax,r11d - mov ecx,esi - xor ebp,DWORD[24+rsp] - lea r13d,[((-1894007588))+r13*1+rdx] - xor ebx,r11d - rol ecx,5 - add r13d,eax - rol ebp,1 - and ebx,edi - add r13d,ecx - rol edi,30 - add r13d,ebx - xor r14d,DWORD[60+rsp] - mov eax,r11d - mov DWORD[56+rsp],ebp - mov ebx,r11d - xor r14d,DWORD[4+rsp] - and eax,edi - mov ecx,r13d - xor r14d,DWORD[28+rsp] - lea r12d,[((-1894007588))+r12*1+rbp] - xor ebx,edi - rol ecx,5 - add r12d,eax - rol r14d,1 - and ebx,esi - add r12d,ecx - rol esi,30 - add r12d,ebx - xor edx,DWORD[rsp] - mov eax,edi - mov DWORD[60+rsp],r14d - mov ebx,edi - xor edx,DWORD[8+rsp] - and eax,esi - mov ecx,r12d - xor edx,DWORD[32+rsp] - lea r11d,[((-1894007588))+r11*1+r14] - xor ebx,esi - rol ecx,5 - add r11d,eax - rol edx,1 - and ebx,r13d - add r11d,ecx - rol r13d,30 - add r11d,ebx - xor ebp,DWORD[4+rsp] - mov eax,esi - mov DWORD[rsp],edx - mov ebx,esi - xor ebp,DWORD[12+rsp] - and eax,r13d - mov ecx,r11d - xor ebp,DWORD[36+rsp] - lea edi,[((-1894007588))+rdi*1+rdx] - xor ebx,r13d - rol ecx,5 - add edi,eax - rol ebp,1 - and ebx,r12d - add edi,ecx - rol r12d,30 - add edi,ebx - xor r14d,DWORD[8+rsp] - mov eax,r13d - mov DWORD[4+rsp],ebp - mov ebx,r13d - xor r14d,DWORD[16+rsp] - and eax,r12d - mov ecx,edi - xor r14d,DWORD[40+rsp] - lea esi,[((-1894007588))+rsi*1+rbp] - xor ebx,r12d - rol ecx,5 - add esi,eax - rol r14d,1 - and ebx,r11d - add esi,ecx - rol r11d,30 - add esi,ebx - xor edx,DWORD[12+rsp] - mov eax,r12d - mov DWORD[8+rsp],r14d - mov ebx,r12d - xor edx,DWORD[20+rsp] - and eax,r11d - mov ecx,esi - xor edx,DWORD[44+rsp] - lea r13d,[((-1894007588))+r13*1+r14] - xor ebx,r11d - rol ecx,5 - add r13d,eax - rol edx,1 - and ebx,edi - add r13d,ecx - rol edi,30 - add r13d,ebx - xor ebp,DWORD[16+rsp] - mov eax,r11d - mov DWORD[12+rsp],edx - mov ebx,r11d - xor ebp,DWORD[24+rsp] - and eax,edi - mov ecx,r13d - xor ebp,DWORD[48+rsp] - lea r12d,[((-1894007588))+r12*1+rdx] - xor ebx,edi - rol ecx,5 - add r12d,eax - rol ebp,1 - and ebx,esi - add r12d,ecx - rol esi,30 - add r12d,ebx - xor r14d,DWORD[20+rsp] - mov eax,edi - mov DWORD[16+rsp],ebp - mov ebx,edi - xor r14d,DWORD[28+rsp] - and eax,esi - mov ecx,r12d - xor r14d,DWORD[52+rsp] - lea r11d,[((-1894007588))+r11*1+rbp] - xor ebx,esi - rol ecx,5 - add r11d,eax - rol r14d,1 - and ebx,r13d - add r11d,ecx - rol r13d,30 - add r11d,ebx - xor edx,DWORD[24+rsp] - mov eax,esi - mov DWORD[20+rsp],r14d - mov ebx,esi - xor edx,DWORD[32+rsp] - and eax,r13d - mov ecx,r11d - xor edx,DWORD[56+rsp] - lea edi,[((-1894007588))+rdi*1+r14] - xor ebx,r13d - rol ecx,5 - add edi,eax - rol edx,1 - and ebx,r12d - add edi,ecx - rol r12d,30 - add edi,ebx - xor ebp,DWORD[28+rsp] - mov eax,r13d - mov DWORD[24+rsp],edx - mov ebx,r13d - xor ebp,DWORD[36+rsp] - and eax,r12d - mov ecx,edi - xor ebp,DWORD[60+rsp] - lea esi,[((-1894007588))+rsi*1+rdx] - xor ebx,r12d - rol ecx,5 - add esi,eax - rol ebp,1 - and ebx,r11d - add esi,ecx - rol r11d,30 - add esi,ebx - xor r14d,DWORD[32+rsp] - mov eax,r12d - mov DWORD[28+rsp],ebp - mov ebx,r12d - xor r14d,DWORD[40+rsp] - and eax,r11d - mov ecx,esi - xor r14d,DWORD[rsp] - lea r13d,[((-1894007588))+r13*1+rbp] - xor ebx,r11d - rol ecx,5 - add r13d,eax - rol r14d,1 - and ebx,edi - add r13d,ecx - rol edi,30 - add r13d,ebx - xor edx,DWORD[36+rsp] - mov eax,r11d - mov DWORD[32+rsp],r14d - mov ebx,r11d - xor edx,DWORD[44+rsp] - and eax,edi - mov ecx,r13d - xor edx,DWORD[4+rsp] - lea r12d,[((-1894007588))+r12*1+r14] - xor ebx,edi - rol ecx,5 - add r12d,eax - rol edx,1 - and ebx,esi - add r12d,ecx - rol esi,30 - add r12d,ebx - xor ebp,DWORD[40+rsp] - mov eax,edi - mov DWORD[36+rsp],edx - mov ebx,edi - xor ebp,DWORD[48+rsp] - and eax,esi - mov ecx,r12d - xor ebp,DWORD[8+rsp] - lea r11d,[((-1894007588))+r11*1+rdx] - xor ebx,esi - rol ecx,5 - add r11d,eax - rol ebp,1 - and ebx,r13d - add r11d,ecx - rol r13d,30 - add r11d,ebx - xor r14d,DWORD[44+rsp] - mov eax,esi - mov DWORD[40+rsp],ebp - mov ebx,esi - xor r14d,DWORD[52+rsp] - and eax,r13d - mov ecx,r11d - xor r14d,DWORD[12+rsp] - lea edi,[((-1894007588))+rdi*1+rbp] - xor ebx,r13d - rol ecx,5 - add edi,eax - rol r14d,1 - and ebx,r12d - add edi,ecx - rol r12d,30 - add edi,ebx - xor edx,DWORD[48+rsp] - mov eax,r13d - mov DWORD[44+rsp],r14d - mov ebx,r13d - xor edx,DWORD[56+rsp] - and eax,r12d - mov ecx,edi - xor edx,DWORD[16+rsp] - lea esi,[((-1894007588))+rsi*1+r14] - xor ebx,r12d - rol ecx,5 - add esi,eax - rol edx,1 - and ebx,r11d - add esi,ecx - rol r11d,30 - add esi,ebx - xor ebp,DWORD[52+rsp] - mov eax,edi - mov DWORD[48+rsp],edx - mov ecx,esi - xor ebp,DWORD[60+rsp] - xor eax,r12d - rol ecx,5 - xor ebp,DWORD[20+rsp] - lea r13d,[((-899497514))+r13*1+rdx] - xor eax,r11d - add r13d,ecx - rol edi,30 - add r13d,eax - rol ebp,1 - xor r14d,DWORD[56+rsp] - mov eax,esi - mov DWORD[52+rsp],ebp - mov ecx,r13d - xor r14d,DWORD[rsp] - xor eax,r11d - rol ecx,5 - xor r14d,DWORD[24+rsp] - lea r12d,[((-899497514))+r12*1+rbp] - xor eax,edi - add r12d,ecx - rol esi,30 - add r12d,eax - rol r14d,1 - xor edx,DWORD[60+rsp] - mov eax,r13d - mov DWORD[56+rsp],r14d - mov ecx,r12d - xor edx,DWORD[4+rsp] - xor eax,edi - rol ecx,5 - xor edx,DWORD[28+rsp] - lea r11d,[((-899497514))+r11*1+r14] - xor eax,esi - add r11d,ecx - rol r13d,30 - add r11d,eax - rol edx,1 - xor ebp,DWORD[rsp] - mov eax,r12d - mov DWORD[60+rsp],edx - mov ecx,r11d - xor ebp,DWORD[8+rsp] - xor eax,esi - rol ecx,5 - xor ebp,DWORD[32+rsp] - lea edi,[((-899497514))+rdi*1+rdx] - xor eax,r13d - add edi,ecx - rol r12d,30 - add edi,eax - rol ebp,1 - xor r14d,DWORD[4+rsp] - mov eax,r11d - mov DWORD[rsp],ebp - mov ecx,edi - xor r14d,DWORD[12+rsp] - xor eax,r13d - rol ecx,5 - xor r14d,DWORD[36+rsp] - lea esi,[((-899497514))+rsi*1+rbp] - xor eax,r12d - add esi,ecx - rol r11d,30 - add esi,eax - rol r14d,1 - xor edx,DWORD[8+rsp] - mov eax,edi - mov DWORD[4+rsp],r14d - mov ecx,esi - xor edx,DWORD[16+rsp] - xor eax,r12d - rol ecx,5 - xor edx,DWORD[40+rsp] - lea r13d,[((-899497514))+r13*1+r14] - xor eax,r11d - add r13d,ecx - rol edi,30 - add r13d,eax - rol edx,1 - xor ebp,DWORD[12+rsp] - mov eax,esi - mov DWORD[8+rsp],edx - mov ecx,r13d - xor ebp,DWORD[20+rsp] - xor eax,r11d - rol ecx,5 - xor ebp,DWORD[44+rsp] - lea r12d,[((-899497514))+r12*1+rdx] - xor eax,edi - add r12d,ecx - rol esi,30 - add r12d,eax - rol ebp,1 - xor r14d,DWORD[16+rsp] - mov eax,r13d - mov DWORD[12+rsp],ebp - mov ecx,r12d - xor r14d,DWORD[24+rsp] - xor eax,edi - rol ecx,5 - xor r14d,DWORD[48+rsp] - lea r11d,[((-899497514))+r11*1+rbp] - xor eax,esi - add r11d,ecx - rol r13d,30 - add r11d,eax - rol r14d,1 - xor edx,DWORD[20+rsp] - mov eax,r12d - mov DWORD[16+rsp],r14d - mov ecx,r11d - xor edx,DWORD[28+rsp] - xor eax,esi - rol ecx,5 - xor edx,DWORD[52+rsp] - lea edi,[((-899497514))+rdi*1+r14] - xor eax,r13d - add edi,ecx - rol r12d,30 - add edi,eax - rol edx,1 - xor ebp,DWORD[24+rsp] - mov eax,r11d - mov DWORD[20+rsp],edx - mov ecx,edi - xor ebp,DWORD[32+rsp] - xor eax,r13d - rol ecx,5 - xor ebp,DWORD[56+rsp] - lea esi,[((-899497514))+rsi*1+rdx] - xor eax,r12d - add esi,ecx - rol r11d,30 - add esi,eax - rol ebp,1 - xor r14d,DWORD[28+rsp] - mov eax,edi - mov DWORD[24+rsp],ebp - mov ecx,esi - xor r14d,DWORD[36+rsp] - xor eax,r12d - rol ecx,5 - xor r14d,DWORD[60+rsp] - lea r13d,[((-899497514))+r13*1+rbp] - xor eax,r11d - add r13d,ecx - rol edi,30 - add r13d,eax - rol r14d,1 - xor edx,DWORD[32+rsp] - mov eax,esi - mov DWORD[28+rsp],r14d - mov ecx,r13d - xor edx,DWORD[40+rsp] - xor eax,r11d - rol ecx,5 - xor edx,DWORD[rsp] - lea r12d,[((-899497514))+r12*1+r14] - xor eax,edi - add r12d,ecx - rol esi,30 - add r12d,eax - rol edx,1 - xor ebp,DWORD[36+rsp] - mov eax,r13d - - mov ecx,r12d - xor ebp,DWORD[44+rsp] - xor eax,edi - rol ecx,5 - xor ebp,DWORD[4+rsp] - lea r11d,[((-899497514))+r11*1+rdx] - xor eax,esi - add r11d,ecx - rol r13d,30 - add r11d,eax - rol ebp,1 - xor r14d,DWORD[40+rsp] - mov eax,r12d - - mov ecx,r11d - xor r14d,DWORD[48+rsp] - xor eax,esi - rol ecx,5 - xor r14d,DWORD[8+rsp] - lea edi,[((-899497514))+rdi*1+rbp] - xor eax,r13d - add edi,ecx - rol r12d,30 - add edi,eax - rol r14d,1 - xor edx,DWORD[44+rsp] - mov eax,r11d - - mov ecx,edi - xor edx,DWORD[52+rsp] - xor eax,r13d - rol ecx,5 - xor edx,DWORD[12+rsp] - lea esi,[((-899497514))+rsi*1+r14] - xor eax,r12d - add esi,ecx - rol r11d,30 - add esi,eax - rol edx,1 - xor ebp,DWORD[48+rsp] - mov eax,edi - - mov ecx,esi - xor ebp,DWORD[56+rsp] - xor eax,r12d - rol ecx,5 - xor ebp,DWORD[16+rsp] - lea r13d,[((-899497514))+r13*1+rdx] - xor eax,r11d - add r13d,ecx - rol edi,30 - add r13d,eax - rol ebp,1 - xor r14d,DWORD[52+rsp] - mov eax,esi - - mov ecx,r13d - xor r14d,DWORD[60+rsp] - xor eax,r11d - rol ecx,5 - xor r14d,DWORD[20+rsp] - lea r12d,[((-899497514))+r12*1+rbp] - xor eax,edi - add r12d,ecx - rol esi,30 - add r12d,eax - rol r14d,1 - xor edx,DWORD[56+rsp] - mov eax,r13d - - mov ecx,r12d - xor edx,DWORD[rsp] - xor eax,edi - rol ecx,5 - xor edx,DWORD[24+rsp] - lea r11d,[((-899497514))+r11*1+r14] - xor eax,esi - add r11d,ecx - rol r13d,30 - add r11d,eax - rol edx,1 - xor ebp,DWORD[60+rsp] - mov eax,r12d - - mov ecx,r11d - xor ebp,DWORD[4+rsp] - xor eax,esi - rol ecx,5 - xor ebp,DWORD[28+rsp] - lea edi,[((-899497514))+rdi*1+rdx] - xor eax,r13d - add edi,ecx - rol r12d,30 - add edi,eax - rol ebp,1 - mov eax,r11d - mov ecx,edi - xor eax,r13d - lea esi,[((-899497514))+rsi*1+rbp] - rol ecx,5 - xor eax,r12d - add esi,ecx - rol r11d,30 - add esi,eax - add esi,DWORD[r8] - add edi,DWORD[4+r8] - add r11d,DWORD[8+r8] - add r12d,DWORD[12+r8] - add r13d,DWORD[16+r8] - mov DWORD[r8],esi - mov DWORD[4+r8],edi - mov DWORD[8+r8],r11d - mov DWORD[12+r8],r12d - mov DWORD[16+r8],r13d - - sub r10,1 - lea r9,[64+r9] - jnz NEAR $L$loop - - mov rsi,QWORD[64+rsp] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_block_data_order: - -ALIGN 32 -sha1_block_data_order_shaext: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha1_block_data_order_shaext: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_shaext_shortcut: - lea rsp,[((-72))+rsp] - movaps XMMWORD[(-8-64)+rax],xmm6 - movaps XMMWORD[(-8-48)+rax],xmm7 - movaps XMMWORD[(-8-32)+rax],xmm8 - movaps XMMWORD[(-8-16)+rax],xmm9 -$L$prologue_shaext: - movdqu xmm0,XMMWORD[rdi] - movd xmm1,DWORD[16+rdi] - movdqa xmm3,XMMWORD[((K_XX_XX+160))] - - movdqu xmm4,XMMWORD[rsi] - pshufd xmm0,xmm0,27 - movdqu xmm5,XMMWORD[16+rsi] - pshufd xmm1,xmm1,27 - movdqu xmm6,XMMWORD[32+rsi] -DB 102,15,56,0,227 - movdqu xmm7,XMMWORD[48+rsi] -DB 102,15,56,0,235 -DB 102,15,56,0,243 - movdqa xmm9,xmm1 -DB 102,15,56,0,251 - jmp NEAR $L$oop_shaext - -ALIGN 16 -$L$oop_shaext: - dec rdx - lea r8,[64+rsi] - paddd xmm1,xmm4 - cmovne rsi,r8 - movdqa xmm8,xmm0 -DB 15,56,201,229 - movdqa xmm2,xmm0 -DB 15,58,204,193,0 -DB 15,56,200,213 - pxor xmm4,xmm6 -DB 15,56,201,238 -DB 15,56,202,231 - - movdqa xmm1,xmm0 -DB 15,58,204,194,0 -DB 15,56,200,206 - pxor xmm5,xmm7 -DB 15,56,202,236 -DB 15,56,201,247 - movdqa xmm2,xmm0 -DB 15,58,204,193,0 -DB 15,56,200,215 - pxor xmm6,xmm4 -DB 15,56,201,252 -DB 15,56,202,245 - - movdqa xmm1,xmm0 -DB 15,58,204,194,0 -DB 15,56,200,204 - pxor xmm7,xmm5 -DB 15,56,202,254 -DB 15,56,201,229 - movdqa xmm2,xmm0 -DB 15,58,204,193,0 -DB 15,56,200,213 - pxor xmm4,xmm6 -DB 15,56,201,238 -DB 15,56,202,231 - - movdqa xmm1,xmm0 -DB 15,58,204,194,1 -DB 15,56,200,206 - pxor xmm5,xmm7 -DB 15,56,202,236 -DB 15,56,201,247 - movdqa xmm2,xmm0 -DB 15,58,204,193,1 -DB 15,56,200,215 - pxor xmm6,xmm4 -DB 15,56,201,252 -DB 15,56,202,245 - - movdqa xmm1,xmm0 -DB 15,58,204,194,1 -DB 15,56,200,204 - pxor xmm7,xmm5 -DB 15,56,202,254 -DB 15,56,201,229 - movdqa xmm2,xmm0 -DB 15,58,204,193,1 -DB 15,56,200,213 - pxor xmm4,xmm6 -DB 15,56,201,238 -DB 15,56,202,231 - - movdqa xmm1,xmm0 -DB 15,58,204,194,1 -DB 15,56,200,206 - pxor xmm5,xmm7 -DB 15,56,202,236 -DB 15,56,201,247 - movdqa xmm2,xmm0 -DB 15,58,204,193,2 -DB 15,56,200,215 - pxor xmm6,xmm4 -DB 15,56,201,252 -DB 15,56,202,245 - - movdqa xmm1,xmm0 -DB 15,58,204,194,2 -DB 15,56,200,204 - pxor xmm7,xmm5 -DB 15,56,202,254 -DB 15,56,201,229 - movdqa xmm2,xmm0 -DB 15,58,204,193,2 -DB 15,56,200,213 - pxor xmm4,xmm6 -DB 15,56,201,238 -DB 15,56,202,231 - - movdqa xmm1,xmm0 -DB 15,58,204,194,2 -DB 15,56,200,206 - pxor xmm5,xmm7 -DB 15,56,202,236 -DB 15,56,201,247 - movdqa xmm2,xmm0 -DB 15,58,204,193,2 -DB 15,56,200,215 - pxor xmm6,xmm4 -DB 15,56,201,252 -DB 15,56,202,245 - - movdqa xmm1,xmm0 -DB 15,58,204,194,3 -DB 15,56,200,204 - pxor xmm7,xmm5 -DB 15,56,202,254 - movdqu xmm4,XMMWORD[rsi] - movdqa xmm2,xmm0 -DB 15,58,204,193,3 -DB 15,56,200,213 - movdqu xmm5,XMMWORD[16+rsi] -DB 102,15,56,0,227 - - movdqa xmm1,xmm0 -DB 15,58,204,194,3 -DB 15,56,200,206 - movdqu xmm6,XMMWORD[32+rsi] -DB 102,15,56,0,235 - - movdqa xmm2,xmm0 -DB 15,58,204,193,3 -DB 15,56,200,215 - movdqu xmm7,XMMWORD[48+rsi] -DB 102,15,56,0,243 - - movdqa xmm1,xmm0 -DB 15,58,204,194,3 -DB 65,15,56,200,201 -DB 102,15,56,0,251 - - paddd xmm0,xmm8 - movdqa xmm9,xmm1 - - jnz NEAR $L$oop_shaext - - pshufd xmm0,xmm0,27 - pshufd xmm1,xmm1,27 - movdqu XMMWORD[rdi],xmm0 - movd DWORD[16+rdi],xmm1 - movaps xmm6,XMMWORD[((-8-64))+rax] - movaps xmm7,XMMWORD[((-8-48))+rax] - movaps xmm8,XMMWORD[((-8-32))+rax] - movaps xmm9,XMMWORD[((-8-16))+rax] - mov rsp,rax -$L$epilogue_shaext: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_block_data_order_shaext: - -ALIGN 16 -sha1_block_data_order_ssse3: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha1_block_data_order_ssse3: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_ssse3_shortcut: - mov rax,rsp - push rbx - push rbp - push r12 - push r13 - push r14 - lea rsp,[((-160))+rsp] - movaps XMMWORD[(-40-96)+rax],xmm6 - movaps XMMWORD[(-40-80)+rax],xmm7 - movaps XMMWORD[(-40-64)+rax],xmm8 - movaps XMMWORD[(-40-48)+rax],xmm9 - movaps XMMWORD[(-40-32)+rax],xmm10 - movaps XMMWORD[(-40-16)+rax],xmm11 -$L$prologue_ssse3: - mov r14,rax - and rsp,-64 - mov r8,rdi - mov r9,rsi - mov r10,rdx - - shl r10,6 - add r10,r9 - lea r11,[((K_XX_XX+64))] - - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov esi,ebx - mov ebp,DWORD[16+r8] - mov edi,ecx - xor edi,edx - and esi,edi - - movdqa xmm6,XMMWORD[64+r11] - movdqa xmm9,XMMWORD[((-64))+r11] - movdqu xmm0,XMMWORD[r9] - movdqu xmm1,XMMWORD[16+r9] - movdqu xmm2,XMMWORD[32+r9] - movdqu xmm3,XMMWORD[48+r9] -DB 102,15,56,0,198 -DB 102,15,56,0,206 -DB 102,15,56,0,214 - add r9,64 - paddd xmm0,xmm9 -DB 102,15,56,0,222 - paddd xmm1,xmm9 - paddd xmm2,xmm9 - movdqa XMMWORD[rsp],xmm0 - psubd xmm0,xmm9 - movdqa XMMWORD[16+rsp],xmm1 - psubd xmm1,xmm9 - movdqa XMMWORD[32+rsp],xmm2 - psubd xmm2,xmm9 - jmp NEAR $L$oop_ssse3 -ALIGN 16 -$L$oop_ssse3: - ror ebx,2 - pshufd xmm4,xmm0,238 - xor esi,edx - movdqa xmm8,xmm3 - paddd xmm9,xmm3 - mov edi,eax - add ebp,DWORD[rsp] - punpcklqdq xmm4,xmm1 - xor ebx,ecx - rol eax,5 - add ebp,esi - psrldq xmm8,4 - and edi,ebx - xor ebx,ecx - pxor xmm4,xmm0 - add ebp,eax - ror eax,7 - pxor xmm8,xmm2 - xor edi,ecx - mov esi,ebp - add edx,DWORD[4+rsp] - pxor xmm4,xmm8 - xor eax,ebx - rol ebp,5 - movdqa XMMWORD[48+rsp],xmm9 - add edx,edi - and esi,eax - movdqa xmm10,xmm4 - xor eax,ebx - add edx,ebp - ror ebp,7 - movdqa xmm8,xmm4 - xor esi,ebx - pslldq xmm10,12 - paddd xmm4,xmm4 - mov edi,edx - add ecx,DWORD[8+rsp] - psrld xmm8,31 - xor ebp,eax - rol edx,5 - add ecx,esi - movdqa xmm9,xmm10 - and edi,ebp - xor ebp,eax - psrld xmm10,30 - add ecx,edx - ror edx,7 - por xmm4,xmm8 - xor edi,eax - mov esi,ecx - add ebx,DWORD[12+rsp] - pslld xmm9,2 - pxor xmm4,xmm10 - xor edx,ebp - movdqa xmm10,XMMWORD[((-64))+r11] - rol ecx,5 - add ebx,edi - and esi,edx - pxor xmm4,xmm9 - xor edx,ebp - add ebx,ecx - ror ecx,7 - pshufd xmm5,xmm1,238 - xor esi,ebp - movdqa xmm9,xmm4 - paddd xmm10,xmm4 - mov edi,ebx - add eax,DWORD[16+rsp] - punpcklqdq xmm5,xmm2 - xor ecx,edx - rol ebx,5 - add eax,esi - psrldq xmm9,4 - and edi,ecx - xor ecx,edx - pxor xmm5,xmm1 - add eax,ebx - ror ebx,7 - pxor xmm9,xmm3 - xor edi,edx - mov esi,eax - add ebp,DWORD[20+rsp] - pxor xmm5,xmm9 - xor ebx,ecx - rol eax,5 - movdqa XMMWORD[rsp],xmm10 - add ebp,edi - and esi,ebx - movdqa xmm8,xmm5 - xor ebx,ecx - add ebp,eax - ror eax,7 - movdqa xmm9,xmm5 - xor esi,ecx - pslldq xmm8,12 - paddd xmm5,xmm5 - mov edi,ebp - add edx,DWORD[24+rsp] - psrld xmm9,31 - xor eax,ebx - rol ebp,5 - add edx,esi - movdqa xmm10,xmm8 - and edi,eax - xor eax,ebx - psrld xmm8,30 - add edx,ebp - ror ebp,7 - por xmm5,xmm9 - xor edi,ebx - mov esi,edx - add ecx,DWORD[28+rsp] - pslld xmm10,2 - pxor xmm5,xmm8 - xor ebp,eax - movdqa xmm8,XMMWORD[((-32))+r11] - rol edx,5 - add ecx,edi - and esi,ebp - pxor xmm5,xmm10 - xor ebp,eax - add ecx,edx - ror edx,7 - pshufd xmm6,xmm2,238 - xor esi,eax - movdqa xmm10,xmm5 - paddd xmm8,xmm5 - mov edi,ecx - add ebx,DWORD[32+rsp] - punpcklqdq xmm6,xmm3 - xor edx,ebp - rol ecx,5 - add ebx,esi - psrldq xmm10,4 - and edi,edx - xor edx,ebp - pxor xmm6,xmm2 - add ebx,ecx - ror ecx,7 - pxor xmm10,xmm4 - xor edi,ebp - mov esi,ebx - add eax,DWORD[36+rsp] - pxor xmm6,xmm10 - xor ecx,edx - rol ebx,5 - movdqa XMMWORD[16+rsp],xmm8 - add eax,edi - and esi,ecx - movdqa xmm9,xmm6 - xor ecx,edx - add eax,ebx - ror ebx,7 - movdqa xmm10,xmm6 - xor esi,edx - pslldq xmm9,12 - paddd xmm6,xmm6 - mov edi,eax - add ebp,DWORD[40+rsp] - psrld xmm10,31 - xor ebx,ecx - rol eax,5 - add ebp,esi - movdqa xmm8,xmm9 - and edi,ebx - xor ebx,ecx - psrld xmm9,30 - add ebp,eax - ror eax,7 - por xmm6,xmm10 - xor edi,ecx - mov esi,ebp - add edx,DWORD[44+rsp] - pslld xmm8,2 - pxor xmm6,xmm9 - xor eax,ebx - movdqa xmm9,XMMWORD[((-32))+r11] - rol ebp,5 - add edx,edi - and esi,eax - pxor xmm6,xmm8 - xor eax,ebx - add edx,ebp - ror ebp,7 - pshufd xmm7,xmm3,238 - xor esi,ebx - movdqa xmm8,xmm6 - paddd xmm9,xmm6 - mov edi,edx - add ecx,DWORD[48+rsp] - punpcklqdq xmm7,xmm4 - xor ebp,eax - rol edx,5 - add ecx,esi - psrldq xmm8,4 - and edi,ebp - xor ebp,eax - pxor xmm7,xmm3 - add ecx,edx - ror edx,7 - pxor xmm8,xmm5 - xor edi,eax - mov esi,ecx - add ebx,DWORD[52+rsp] - pxor xmm7,xmm8 - xor edx,ebp - rol ecx,5 - movdqa XMMWORD[32+rsp],xmm9 - add ebx,edi - and esi,edx - movdqa xmm10,xmm7 - xor edx,ebp - add ebx,ecx - ror ecx,7 - movdqa xmm8,xmm7 - xor esi,ebp - pslldq xmm10,12 - paddd xmm7,xmm7 - mov edi,ebx - add eax,DWORD[56+rsp] - psrld xmm8,31 - xor ecx,edx - rol ebx,5 - add eax,esi - movdqa xmm9,xmm10 - and edi,ecx - xor ecx,edx - psrld xmm10,30 - add eax,ebx - ror ebx,7 - por xmm7,xmm8 - xor edi,edx - mov esi,eax - add ebp,DWORD[60+rsp] - pslld xmm9,2 - pxor xmm7,xmm10 - xor ebx,ecx - movdqa xmm10,XMMWORD[((-32))+r11] - rol eax,5 - add ebp,edi - and esi,ebx - pxor xmm7,xmm9 - pshufd xmm9,xmm6,238 - xor ebx,ecx - add ebp,eax - ror eax,7 - pxor xmm0,xmm4 - xor esi,ecx - mov edi,ebp - add edx,DWORD[rsp] - punpcklqdq xmm9,xmm7 - xor eax,ebx - rol ebp,5 - pxor xmm0,xmm1 - add edx,esi - and edi,eax - movdqa xmm8,xmm10 - xor eax,ebx - paddd xmm10,xmm7 - add edx,ebp - pxor xmm0,xmm9 - ror ebp,7 - xor edi,ebx - mov esi,edx - add ecx,DWORD[4+rsp] - movdqa xmm9,xmm0 - xor ebp,eax - rol edx,5 - movdqa XMMWORD[48+rsp],xmm10 - add ecx,edi - and esi,ebp - xor ebp,eax - pslld xmm0,2 - add ecx,edx - ror edx,7 - psrld xmm9,30 - xor esi,eax - mov edi,ecx - add ebx,DWORD[8+rsp] - por xmm0,xmm9 - xor edx,ebp - rol ecx,5 - pshufd xmm10,xmm7,238 - add ebx,esi - and edi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[12+rsp] - xor edi,ebp - mov esi,ebx - rol ebx,5 - add eax,edi - xor esi,edx - ror ecx,7 - add eax,ebx - pxor xmm1,xmm5 - add ebp,DWORD[16+rsp] - xor esi,ecx - punpcklqdq xmm10,xmm0 - mov edi,eax - rol eax,5 - pxor xmm1,xmm2 - add ebp,esi - xor edi,ecx - movdqa xmm9,xmm8 - ror ebx,7 - paddd xmm8,xmm0 - add ebp,eax - pxor xmm1,xmm10 - add edx,DWORD[20+rsp] - xor edi,ebx - mov esi,ebp - rol ebp,5 - movdqa xmm10,xmm1 - add edx,edi - xor esi,ebx - movdqa XMMWORD[rsp],xmm8 - ror eax,7 - add edx,ebp - add ecx,DWORD[24+rsp] - pslld xmm1,2 - xor esi,eax - mov edi,edx - psrld xmm10,30 - rol edx,5 - add ecx,esi - xor edi,eax - ror ebp,7 - por xmm1,xmm10 - add ecx,edx - add ebx,DWORD[28+rsp] - pshufd xmm8,xmm0,238 - xor edi,ebp - mov esi,ecx - rol ecx,5 - add ebx,edi - xor esi,ebp - ror edx,7 - add ebx,ecx - pxor xmm2,xmm6 - add eax,DWORD[32+rsp] - xor esi,edx - punpcklqdq xmm8,xmm1 - mov edi,ebx - rol ebx,5 - pxor xmm2,xmm3 - add eax,esi - xor edi,edx - movdqa xmm10,XMMWORD[r11] - ror ecx,7 - paddd xmm9,xmm1 - add eax,ebx - pxor xmm2,xmm8 - add ebp,DWORD[36+rsp] - xor edi,ecx - mov esi,eax - rol eax,5 - movdqa xmm8,xmm2 - add ebp,edi - xor esi,ecx - movdqa XMMWORD[16+rsp],xmm9 - ror ebx,7 - add ebp,eax - add edx,DWORD[40+rsp] - pslld xmm2,2 - xor esi,ebx - mov edi,ebp - psrld xmm8,30 - rol ebp,5 - add edx,esi - xor edi,ebx - ror eax,7 - por xmm2,xmm8 - add edx,ebp - add ecx,DWORD[44+rsp] - pshufd xmm9,xmm1,238 - xor edi,eax - mov esi,edx - rol edx,5 - add ecx,edi - xor esi,eax - ror ebp,7 - add ecx,edx - pxor xmm3,xmm7 - add ebx,DWORD[48+rsp] - xor esi,ebp - punpcklqdq xmm9,xmm2 - mov edi,ecx - rol ecx,5 - pxor xmm3,xmm4 - add ebx,esi - xor edi,ebp - movdqa xmm8,xmm10 - ror edx,7 - paddd xmm10,xmm2 - add ebx,ecx - pxor xmm3,xmm9 - add eax,DWORD[52+rsp] - xor edi,edx - mov esi,ebx - rol ebx,5 - movdqa xmm9,xmm3 - add eax,edi - xor esi,edx - movdqa XMMWORD[32+rsp],xmm10 - ror ecx,7 - add eax,ebx - add ebp,DWORD[56+rsp] - pslld xmm3,2 - xor esi,ecx - mov edi,eax - psrld xmm9,30 - rol eax,5 - add ebp,esi - xor edi,ecx - ror ebx,7 - por xmm3,xmm9 - add ebp,eax - add edx,DWORD[60+rsp] - pshufd xmm10,xmm2,238 - xor edi,ebx - mov esi,ebp - rol ebp,5 - add edx,edi - xor esi,ebx - ror eax,7 - add edx,ebp - pxor xmm4,xmm0 - add ecx,DWORD[rsp] - xor esi,eax - punpcklqdq xmm10,xmm3 - mov edi,edx - rol edx,5 - pxor xmm4,xmm5 - add ecx,esi - xor edi,eax - movdqa xmm9,xmm8 - ror ebp,7 - paddd xmm8,xmm3 - add ecx,edx - pxor xmm4,xmm10 - add ebx,DWORD[4+rsp] - xor edi,ebp - mov esi,ecx - rol ecx,5 - movdqa xmm10,xmm4 - add ebx,edi - xor esi,ebp - movdqa XMMWORD[48+rsp],xmm8 - ror edx,7 - add ebx,ecx - add eax,DWORD[8+rsp] - pslld xmm4,2 - xor esi,edx - mov edi,ebx - psrld xmm10,30 - rol ebx,5 - add eax,esi - xor edi,edx - ror ecx,7 - por xmm4,xmm10 - add eax,ebx - add ebp,DWORD[12+rsp] - pshufd xmm8,xmm3,238 - xor edi,ecx - mov esi,eax - rol eax,5 - add ebp,edi - xor esi,ecx - ror ebx,7 - add ebp,eax - pxor xmm5,xmm1 - add edx,DWORD[16+rsp] - xor esi,ebx - punpcklqdq xmm8,xmm4 - mov edi,ebp - rol ebp,5 - pxor xmm5,xmm6 - add edx,esi - xor edi,ebx - movdqa xmm10,xmm9 - ror eax,7 - paddd xmm9,xmm4 - add edx,ebp - pxor xmm5,xmm8 - add ecx,DWORD[20+rsp] - xor edi,eax - mov esi,edx - rol edx,5 - movdqa xmm8,xmm5 - add ecx,edi - xor esi,eax - movdqa XMMWORD[rsp],xmm9 - ror ebp,7 - add ecx,edx - add ebx,DWORD[24+rsp] - pslld xmm5,2 - xor esi,ebp - mov edi,ecx - psrld xmm8,30 - rol ecx,5 - add ebx,esi - xor edi,ebp - ror edx,7 - por xmm5,xmm8 - add ebx,ecx - add eax,DWORD[28+rsp] - pshufd xmm9,xmm4,238 - ror ecx,7 - mov esi,ebx - xor edi,edx - rol ebx,5 - add eax,edi - xor esi,ecx - xor ecx,edx - add eax,ebx - pxor xmm6,xmm2 - add ebp,DWORD[32+rsp] - and esi,ecx - xor ecx,edx - ror ebx,7 - punpcklqdq xmm9,xmm5 - mov edi,eax - xor esi,ecx - pxor xmm6,xmm7 - rol eax,5 - add ebp,esi - movdqa xmm8,xmm10 - xor edi,ebx - paddd xmm10,xmm5 - xor ebx,ecx - pxor xmm6,xmm9 - add ebp,eax - add edx,DWORD[36+rsp] - and edi,ebx - xor ebx,ecx - ror eax,7 - movdqa xmm9,xmm6 - mov esi,ebp - xor edi,ebx - movdqa XMMWORD[16+rsp],xmm10 - rol ebp,5 - add edx,edi - xor esi,eax - pslld xmm6,2 - xor eax,ebx - add edx,ebp - psrld xmm9,30 - add ecx,DWORD[40+rsp] - and esi,eax - xor eax,ebx - por xmm6,xmm9 - ror ebp,7 - mov edi,edx - xor esi,eax - rol edx,5 - pshufd xmm10,xmm5,238 - add ecx,esi - xor edi,ebp - xor ebp,eax - add ecx,edx - add ebx,DWORD[44+rsp] - and edi,ebp - xor ebp,eax - ror edx,7 - mov esi,ecx - xor edi,ebp - rol ecx,5 - add ebx,edi - xor esi,edx - xor edx,ebp - add ebx,ecx - pxor xmm7,xmm3 - add eax,DWORD[48+rsp] - and esi,edx - xor edx,ebp - ror ecx,7 - punpcklqdq xmm10,xmm6 - mov edi,ebx - xor esi,edx - pxor xmm7,xmm0 - rol ebx,5 - add eax,esi - movdqa xmm9,XMMWORD[32+r11] - xor edi,ecx - paddd xmm8,xmm6 - xor ecx,edx - pxor xmm7,xmm10 - add eax,ebx - add ebp,DWORD[52+rsp] - and edi,ecx - xor ecx,edx - ror ebx,7 - movdqa xmm10,xmm7 - mov esi,eax - xor edi,ecx - movdqa XMMWORD[32+rsp],xmm8 - rol eax,5 - add ebp,edi - xor esi,ebx - pslld xmm7,2 - xor ebx,ecx - add ebp,eax - psrld xmm10,30 - add edx,DWORD[56+rsp] - and esi,ebx - xor ebx,ecx - por xmm7,xmm10 - ror eax,7 - mov edi,ebp - xor esi,ebx - rol ebp,5 - pshufd xmm8,xmm6,238 - add edx,esi - xor edi,eax - xor eax,ebx - add edx,ebp - add ecx,DWORD[60+rsp] - and edi,eax - xor eax,ebx - ror ebp,7 - mov esi,edx - xor edi,eax - rol edx,5 - add ecx,edi - xor esi,ebp - xor ebp,eax - add ecx,edx - pxor xmm0,xmm4 - add ebx,DWORD[rsp] - and esi,ebp - xor ebp,eax - ror edx,7 - punpcklqdq xmm8,xmm7 - mov edi,ecx - xor esi,ebp - pxor xmm0,xmm1 - rol ecx,5 - add ebx,esi - movdqa xmm10,xmm9 - xor edi,edx - paddd xmm9,xmm7 - xor edx,ebp - pxor xmm0,xmm8 - add ebx,ecx - add eax,DWORD[4+rsp] - and edi,edx - xor edx,ebp - ror ecx,7 - movdqa xmm8,xmm0 - mov esi,ebx - xor edi,edx - movdqa XMMWORD[48+rsp],xmm9 - rol ebx,5 - add eax,edi - xor esi,ecx - pslld xmm0,2 - xor ecx,edx - add eax,ebx - psrld xmm8,30 - add ebp,DWORD[8+rsp] - and esi,ecx - xor ecx,edx - por xmm0,xmm8 - ror ebx,7 - mov edi,eax - xor esi,ecx - rol eax,5 - pshufd xmm9,xmm7,238 - add ebp,esi - xor edi,ebx - xor ebx,ecx - add ebp,eax - add edx,DWORD[12+rsp] - and edi,ebx - xor ebx,ecx - ror eax,7 - mov esi,ebp - xor edi,ebx - rol ebp,5 - add edx,edi - xor esi,eax - xor eax,ebx - add edx,ebp - pxor xmm1,xmm5 - add ecx,DWORD[16+rsp] - and esi,eax - xor eax,ebx - ror ebp,7 - punpcklqdq xmm9,xmm0 - mov edi,edx - xor esi,eax - pxor xmm1,xmm2 - rol edx,5 - add ecx,esi - movdqa xmm8,xmm10 - xor edi,ebp - paddd xmm10,xmm0 - xor ebp,eax - pxor xmm1,xmm9 - add ecx,edx - add ebx,DWORD[20+rsp] - and edi,ebp - xor ebp,eax - ror edx,7 - movdqa xmm9,xmm1 - mov esi,ecx - xor edi,ebp - movdqa XMMWORD[rsp],xmm10 - rol ecx,5 - add ebx,edi - xor esi,edx - pslld xmm1,2 - xor edx,ebp - add ebx,ecx - psrld xmm9,30 - add eax,DWORD[24+rsp] - and esi,edx - xor edx,ebp - por xmm1,xmm9 - ror ecx,7 - mov edi,ebx - xor esi,edx - rol ebx,5 - pshufd xmm10,xmm0,238 - add eax,esi - xor edi,ecx - xor ecx,edx - add eax,ebx - add ebp,DWORD[28+rsp] - and edi,ecx - xor ecx,edx - ror ebx,7 - mov esi,eax - xor edi,ecx - rol eax,5 - add ebp,edi - xor esi,ebx - xor ebx,ecx - add ebp,eax - pxor xmm2,xmm6 - add edx,DWORD[32+rsp] - and esi,ebx - xor ebx,ecx - ror eax,7 - punpcklqdq xmm10,xmm1 - mov edi,ebp - xor esi,ebx - pxor xmm2,xmm3 - rol ebp,5 - add edx,esi - movdqa xmm9,xmm8 - xor edi,eax - paddd xmm8,xmm1 - xor eax,ebx - pxor xmm2,xmm10 - add edx,ebp - add ecx,DWORD[36+rsp] - and edi,eax - xor eax,ebx - ror ebp,7 - movdqa xmm10,xmm2 - mov esi,edx - xor edi,eax - movdqa XMMWORD[16+rsp],xmm8 - rol edx,5 - add ecx,edi - xor esi,ebp - pslld xmm2,2 - xor ebp,eax - add ecx,edx - psrld xmm10,30 - add ebx,DWORD[40+rsp] - and esi,ebp - xor ebp,eax - por xmm2,xmm10 - ror edx,7 - mov edi,ecx - xor esi,ebp - rol ecx,5 - pshufd xmm8,xmm1,238 - add ebx,esi - xor edi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[44+rsp] - and edi,edx - xor edx,ebp - ror ecx,7 - mov esi,ebx - xor edi,edx - rol ebx,5 - add eax,edi - xor esi,edx - add eax,ebx - pxor xmm3,xmm7 - add ebp,DWORD[48+rsp] - xor esi,ecx - punpcklqdq xmm8,xmm2 - mov edi,eax - rol eax,5 - pxor xmm3,xmm4 - add ebp,esi - xor edi,ecx - movdqa xmm10,xmm9 - ror ebx,7 - paddd xmm9,xmm2 - add ebp,eax - pxor xmm3,xmm8 - add edx,DWORD[52+rsp] - xor edi,ebx - mov esi,ebp - rol ebp,5 - movdqa xmm8,xmm3 - add edx,edi - xor esi,ebx - movdqa XMMWORD[32+rsp],xmm9 - ror eax,7 - add edx,ebp - add ecx,DWORD[56+rsp] - pslld xmm3,2 - xor esi,eax - mov edi,edx - psrld xmm8,30 - rol edx,5 - add ecx,esi - xor edi,eax - ror ebp,7 - por xmm3,xmm8 - add ecx,edx - add ebx,DWORD[60+rsp] - xor edi,ebp - mov esi,ecx - rol ecx,5 - add ebx,edi - xor esi,ebp - ror edx,7 - add ebx,ecx - add eax,DWORD[rsp] - xor esi,edx - mov edi,ebx - rol ebx,5 - paddd xmm10,xmm3 - add eax,esi - xor edi,edx - movdqa XMMWORD[48+rsp],xmm10 - ror ecx,7 - add eax,ebx - add ebp,DWORD[4+rsp] - xor edi,ecx - mov esi,eax - rol eax,5 - add ebp,edi - xor esi,ecx - ror ebx,7 - add ebp,eax - add edx,DWORD[8+rsp] - xor esi,ebx - mov edi,ebp - rol ebp,5 - add edx,esi - xor edi,ebx - ror eax,7 - add edx,ebp - add ecx,DWORD[12+rsp] - xor edi,eax - mov esi,edx - rol edx,5 - add ecx,edi - xor esi,eax - ror ebp,7 - add ecx,edx - cmp r9,r10 - je NEAR $L$done_ssse3 - movdqa xmm6,XMMWORD[64+r11] - movdqa xmm9,XMMWORD[((-64))+r11] - movdqu xmm0,XMMWORD[r9] - movdqu xmm1,XMMWORD[16+r9] - movdqu xmm2,XMMWORD[32+r9] - movdqu xmm3,XMMWORD[48+r9] -DB 102,15,56,0,198 - add r9,64 - add ebx,DWORD[16+rsp] - xor esi,ebp - mov edi,ecx -DB 102,15,56,0,206 - rol ecx,5 - add ebx,esi - xor edi,ebp - ror edx,7 - paddd xmm0,xmm9 - add ebx,ecx - add eax,DWORD[20+rsp] - xor edi,edx - mov esi,ebx - movdqa XMMWORD[rsp],xmm0 - rol ebx,5 - add eax,edi - xor esi,edx - ror ecx,7 - psubd xmm0,xmm9 - add eax,ebx - add ebp,DWORD[24+rsp] - xor esi,ecx - mov edi,eax - rol eax,5 - add ebp,esi - xor edi,ecx - ror ebx,7 - add ebp,eax - add edx,DWORD[28+rsp] - xor edi,ebx - mov esi,ebp - rol ebp,5 - add edx,edi - xor esi,ebx - ror eax,7 - add edx,ebp - add ecx,DWORD[32+rsp] - xor esi,eax - mov edi,edx -DB 102,15,56,0,214 - rol edx,5 - add ecx,esi - xor edi,eax - ror ebp,7 - paddd xmm1,xmm9 - add ecx,edx - add ebx,DWORD[36+rsp] - xor edi,ebp - mov esi,ecx - movdqa XMMWORD[16+rsp],xmm1 - rol ecx,5 - add ebx,edi - xor esi,ebp - ror edx,7 - psubd xmm1,xmm9 - add ebx,ecx - add eax,DWORD[40+rsp] - xor esi,edx - mov edi,ebx - rol ebx,5 - add eax,esi - xor edi,edx - ror ecx,7 - add eax,ebx - add ebp,DWORD[44+rsp] - xor edi,ecx - mov esi,eax - rol eax,5 - add ebp,edi - xor esi,ecx - ror ebx,7 - add ebp,eax - add edx,DWORD[48+rsp] - xor esi,ebx - mov edi,ebp -DB 102,15,56,0,222 - rol ebp,5 - add edx,esi - xor edi,ebx - ror eax,7 - paddd xmm2,xmm9 - add edx,ebp - add ecx,DWORD[52+rsp] - xor edi,eax - mov esi,edx - movdqa XMMWORD[32+rsp],xmm2 - rol edx,5 - add ecx,edi - xor esi,eax - ror ebp,7 - psubd xmm2,xmm9 - add ecx,edx - add ebx,DWORD[56+rsp] - xor esi,ebp - mov edi,ecx - rol ecx,5 - add ebx,esi - xor edi,ebp - ror edx,7 - add ebx,ecx - add eax,DWORD[60+rsp] - xor edi,edx - mov esi,ebx - rol ebx,5 - add eax,edi - ror ecx,7 - add eax,ebx - add eax,DWORD[r8] - add esi,DWORD[4+r8] - add ecx,DWORD[8+r8] - add edx,DWORD[12+r8] - mov DWORD[r8],eax - add ebp,DWORD[16+r8] - mov DWORD[4+r8],esi - mov ebx,esi - mov DWORD[8+r8],ecx - mov edi,ecx - mov DWORD[12+r8],edx - xor edi,edx - mov DWORD[16+r8],ebp - and esi,edi - jmp NEAR $L$oop_ssse3 - -ALIGN 16 -$L$done_ssse3: - add ebx,DWORD[16+rsp] - xor esi,ebp - mov edi,ecx - rol ecx,5 - add ebx,esi - xor edi,ebp - ror edx,7 - add ebx,ecx - add eax,DWORD[20+rsp] - xor edi,edx - mov esi,ebx - rol ebx,5 - add eax,edi - xor esi,edx - ror ecx,7 - add eax,ebx - add ebp,DWORD[24+rsp] - xor esi,ecx - mov edi,eax - rol eax,5 - add ebp,esi - xor edi,ecx - ror ebx,7 - add ebp,eax - add edx,DWORD[28+rsp] - xor edi,ebx - mov esi,ebp - rol ebp,5 - add edx,edi - xor esi,ebx - ror eax,7 - add edx,ebp - add ecx,DWORD[32+rsp] - xor esi,eax - mov edi,edx - rol edx,5 - add ecx,esi - xor edi,eax - ror ebp,7 - add ecx,edx - add ebx,DWORD[36+rsp] - xor edi,ebp - mov esi,ecx - rol ecx,5 - add ebx,edi - xor esi,ebp - ror edx,7 - add ebx,ecx - add eax,DWORD[40+rsp] - xor esi,edx - mov edi,ebx - rol ebx,5 - add eax,esi - xor edi,edx - ror ecx,7 - add eax,ebx - add ebp,DWORD[44+rsp] - xor edi,ecx - mov esi,eax - rol eax,5 - add ebp,edi - xor esi,ecx - ror ebx,7 - add ebp,eax - add edx,DWORD[48+rsp] - xor esi,ebx - mov edi,ebp - rol ebp,5 - add edx,esi - xor edi,ebx - ror eax,7 - add edx,ebp - add ecx,DWORD[52+rsp] - xor edi,eax - mov esi,edx - rol edx,5 - add ecx,edi - xor esi,eax - ror ebp,7 - add ecx,edx - add ebx,DWORD[56+rsp] - xor esi,ebp - mov edi,ecx - rol ecx,5 - add ebx,esi - xor edi,ebp - ror edx,7 - add ebx,ecx - add eax,DWORD[60+rsp] - xor edi,edx - mov esi,ebx - rol ebx,5 - add eax,edi - ror ecx,7 - add eax,ebx - add eax,DWORD[r8] - add esi,DWORD[4+r8] - add ecx,DWORD[8+r8] - mov DWORD[r8],eax - add edx,DWORD[12+r8] - mov DWORD[4+r8],esi - add ebp,DWORD[16+r8] - mov DWORD[8+r8],ecx - mov DWORD[12+r8],edx - mov DWORD[16+r8],ebp - movaps xmm6,XMMWORD[((-40-96))+r14] - movaps xmm7,XMMWORD[((-40-80))+r14] - movaps xmm8,XMMWORD[((-40-64))+r14] - movaps xmm9,XMMWORD[((-40-48))+r14] - movaps xmm10,XMMWORD[((-40-32))+r14] - movaps xmm11,XMMWORD[((-40-16))+r14] - lea rsi,[r14] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$epilogue_ssse3: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_block_data_order_ssse3: - -ALIGN 16 -sha1_block_data_order_avx: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha1_block_data_order_avx: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_avx_shortcut: - mov rax,rsp - push rbx - push rbp - push r12 - push r13 - push r14 - lea rsp,[((-160))+rsp] - vzeroupper - vmovaps XMMWORD[(-40-96)+rax],xmm6 - vmovaps XMMWORD[(-40-80)+rax],xmm7 - vmovaps XMMWORD[(-40-64)+rax],xmm8 - vmovaps XMMWORD[(-40-48)+rax],xmm9 - vmovaps XMMWORD[(-40-32)+rax],xmm10 - vmovaps XMMWORD[(-40-16)+rax],xmm11 -$L$prologue_avx: - mov r14,rax - and rsp,-64 - mov r8,rdi - mov r9,rsi - mov r10,rdx - - shl r10,6 - add r10,r9 - lea r11,[((K_XX_XX+64))] - - mov eax,DWORD[r8] - mov ebx,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov esi,ebx - mov ebp,DWORD[16+r8] - mov edi,ecx - xor edi,edx - and esi,edi - - vmovdqa xmm6,XMMWORD[64+r11] - vmovdqa xmm11,XMMWORD[((-64))+r11] - vmovdqu xmm0,XMMWORD[r9] - vmovdqu xmm1,XMMWORD[16+r9] - vmovdqu xmm2,XMMWORD[32+r9] - vmovdqu xmm3,XMMWORD[48+r9] - vpshufb xmm0,xmm0,xmm6 - add r9,64 - vpshufb xmm1,xmm1,xmm6 - vpshufb xmm2,xmm2,xmm6 - vpshufb xmm3,xmm3,xmm6 - vpaddd xmm4,xmm0,xmm11 - vpaddd xmm5,xmm1,xmm11 - vpaddd xmm6,xmm2,xmm11 - vmovdqa XMMWORD[rsp],xmm4 - vmovdqa XMMWORD[16+rsp],xmm5 - vmovdqa XMMWORD[32+rsp],xmm6 - jmp NEAR $L$oop_avx -ALIGN 16 -$L$oop_avx: - shrd ebx,ebx,2 - xor esi,edx - vpalignr xmm4,xmm1,xmm0,8 - mov edi,eax - add ebp,DWORD[rsp] - vpaddd xmm9,xmm11,xmm3 - xor ebx,ecx - shld eax,eax,5 - vpsrldq xmm8,xmm3,4 - add ebp,esi - and edi,ebx - vpxor xmm4,xmm4,xmm0 - xor ebx,ecx - add ebp,eax - vpxor xmm8,xmm8,xmm2 - shrd eax,eax,7 - xor edi,ecx - mov esi,ebp - add edx,DWORD[4+rsp] - vpxor xmm4,xmm4,xmm8 - xor eax,ebx - shld ebp,ebp,5 - vmovdqa XMMWORD[48+rsp],xmm9 - add edx,edi - and esi,eax - vpsrld xmm8,xmm4,31 - xor eax,ebx - add edx,ebp - shrd ebp,ebp,7 - xor esi,ebx - vpslldq xmm10,xmm4,12 - vpaddd xmm4,xmm4,xmm4 - mov edi,edx - add ecx,DWORD[8+rsp] - xor ebp,eax - shld edx,edx,5 - vpsrld xmm9,xmm10,30 - vpor xmm4,xmm4,xmm8 - add ecx,esi - and edi,ebp - xor ebp,eax - add ecx,edx - vpslld xmm10,xmm10,2 - vpxor xmm4,xmm4,xmm9 - shrd edx,edx,7 - xor edi,eax - mov esi,ecx - add ebx,DWORD[12+rsp] - vpxor xmm4,xmm4,xmm10 - xor edx,ebp - shld ecx,ecx,5 - add ebx,edi - and esi,edx - xor edx,ebp - add ebx,ecx - shrd ecx,ecx,7 - xor esi,ebp - vpalignr xmm5,xmm2,xmm1,8 - mov edi,ebx - add eax,DWORD[16+rsp] - vpaddd xmm9,xmm11,xmm4 - xor ecx,edx - shld ebx,ebx,5 - vpsrldq xmm8,xmm4,4 - add eax,esi - and edi,ecx - vpxor xmm5,xmm5,xmm1 - xor ecx,edx - add eax,ebx - vpxor xmm8,xmm8,xmm3 - shrd ebx,ebx,7 - xor edi,edx - mov esi,eax - add ebp,DWORD[20+rsp] - vpxor xmm5,xmm5,xmm8 - xor ebx,ecx - shld eax,eax,5 - vmovdqa XMMWORD[rsp],xmm9 - add ebp,edi - and esi,ebx - vpsrld xmm8,xmm5,31 - xor ebx,ecx - add ebp,eax - shrd eax,eax,7 - xor esi,ecx - vpslldq xmm10,xmm5,12 - vpaddd xmm5,xmm5,xmm5 - mov edi,ebp - add edx,DWORD[24+rsp] - xor eax,ebx - shld ebp,ebp,5 - vpsrld xmm9,xmm10,30 - vpor xmm5,xmm5,xmm8 - add edx,esi - and edi,eax - xor eax,ebx - add edx,ebp - vpslld xmm10,xmm10,2 - vpxor xmm5,xmm5,xmm9 - shrd ebp,ebp,7 - xor edi,ebx - mov esi,edx - add ecx,DWORD[28+rsp] - vpxor xmm5,xmm5,xmm10 - xor ebp,eax - shld edx,edx,5 - vmovdqa xmm11,XMMWORD[((-32))+r11] - add ecx,edi - and esi,ebp - xor ebp,eax - add ecx,edx - shrd edx,edx,7 - xor esi,eax - vpalignr xmm6,xmm3,xmm2,8 - mov edi,ecx - add ebx,DWORD[32+rsp] - vpaddd xmm9,xmm11,xmm5 - xor edx,ebp - shld ecx,ecx,5 - vpsrldq xmm8,xmm5,4 - add ebx,esi - and edi,edx - vpxor xmm6,xmm6,xmm2 - xor edx,ebp - add ebx,ecx - vpxor xmm8,xmm8,xmm4 - shrd ecx,ecx,7 - xor edi,ebp - mov esi,ebx - add eax,DWORD[36+rsp] - vpxor xmm6,xmm6,xmm8 - xor ecx,edx - shld ebx,ebx,5 - vmovdqa XMMWORD[16+rsp],xmm9 - add eax,edi - and esi,ecx - vpsrld xmm8,xmm6,31 - xor ecx,edx - add eax,ebx - shrd ebx,ebx,7 - xor esi,edx - vpslldq xmm10,xmm6,12 - vpaddd xmm6,xmm6,xmm6 - mov edi,eax - add ebp,DWORD[40+rsp] - xor ebx,ecx - shld eax,eax,5 - vpsrld xmm9,xmm10,30 - vpor xmm6,xmm6,xmm8 - add ebp,esi - and edi,ebx - xor ebx,ecx - add ebp,eax - vpslld xmm10,xmm10,2 - vpxor xmm6,xmm6,xmm9 - shrd eax,eax,7 - xor edi,ecx - mov esi,ebp - add edx,DWORD[44+rsp] - vpxor xmm6,xmm6,xmm10 - xor eax,ebx - shld ebp,ebp,5 - add edx,edi - and esi,eax - xor eax,ebx - add edx,ebp - shrd ebp,ebp,7 - xor esi,ebx - vpalignr xmm7,xmm4,xmm3,8 - mov edi,edx - add ecx,DWORD[48+rsp] - vpaddd xmm9,xmm11,xmm6 - xor ebp,eax - shld edx,edx,5 - vpsrldq xmm8,xmm6,4 - add ecx,esi - and edi,ebp - vpxor xmm7,xmm7,xmm3 - xor ebp,eax - add ecx,edx - vpxor xmm8,xmm8,xmm5 - shrd edx,edx,7 - xor edi,eax - mov esi,ecx - add ebx,DWORD[52+rsp] - vpxor xmm7,xmm7,xmm8 - xor edx,ebp - shld ecx,ecx,5 - vmovdqa XMMWORD[32+rsp],xmm9 - add ebx,edi - and esi,edx - vpsrld xmm8,xmm7,31 - xor edx,ebp - add ebx,ecx - shrd ecx,ecx,7 - xor esi,ebp - vpslldq xmm10,xmm7,12 - vpaddd xmm7,xmm7,xmm7 - mov edi,ebx - add eax,DWORD[56+rsp] - xor ecx,edx - shld ebx,ebx,5 - vpsrld xmm9,xmm10,30 - vpor xmm7,xmm7,xmm8 - add eax,esi - and edi,ecx - xor ecx,edx - add eax,ebx - vpslld xmm10,xmm10,2 - vpxor xmm7,xmm7,xmm9 - shrd ebx,ebx,7 - xor edi,edx - mov esi,eax - add ebp,DWORD[60+rsp] - vpxor xmm7,xmm7,xmm10 - xor ebx,ecx - shld eax,eax,5 - add ebp,edi - and esi,ebx - xor ebx,ecx - add ebp,eax - vpalignr xmm8,xmm7,xmm6,8 - vpxor xmm0,xmm0,xmm4 - shrd eax,eax,7 - xor esi,ecx - mov edi,ebp - add edx,DWORD[rsp] - vpxor xmm0,xmm0,xmm1 - xor eax,ebx - shld ebp,ebp,5 - vpaddd xmm9,xmm11,xmm7 - add edx,esi - and edi,eax - vpxor xmm0,xmm0,xmm8 - xor eax,ebx - add edx,ebp - shrd ebp,ebp,7 - xor edi,ebx - vpsrld xmm8,xmm0,30 - vmovdqa XMMWORD[48+rsp],xmm9 - mov esi,edx - add ecx,DWORD[4+rsp] - xor ebp,eax - shld edx,edx,5 - vpslld xmm0,xmm0,2 - add ecx,edi - and esi,ebp - xor ebp,eax - add ecx,edx - shrd edx,edx,7 - xor esi,eax - mov edi,ecx - add ebx,DWORD[8+rsp] - vpor xmm0,xmm0,xmm8 - xor edx,ebp - shld ecx,ecx,5 - add ebx,esi - and edi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[12+rsp] - xor edi,ebp - mov esi,ebx - shld ebx,ebx,5 - add eax,edi - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - vpalignr xmm8,xmm0,xmm7,8 - vpxor xmm1,xmm1,xmm5 - add ebp,DWORD[16+rsp] - xor esi,ecx - mov edi,eax - shld eax,eax,5 - vpxor xmm1,xmm1,xmm2 - add ebp,esi - xor edi,ecx - vpaddd xmm9,xmm11,xmm0 - shrd ebx,ebx,7 - add ebp,eax - vpxor xmm1,xmm1,xmm8 - add edx,DWORD[20+rsp] - xor edi,ebx - mov esi,ebp - shld ebp,ebp,5 - vpsrld xmm8,xmm1,30 - vmovdqa XMMWORD[rsp],xmm9 - add edx,edi - xor esi,ebx - shrd eax,eax,7 - add edx,ebp - vpslld xmm1,xmm1,2 - add ecx,DWORD[24+rsp] - xor esi,eax - mov edi,edx - shld edx,edx,5 - add ecx,esi - xor edi,eax - shrd ebp,ebp,7 - add ecx,edx - vpor xmm1,xmm1,xmm8 - add ebx,DWORD[28+rsp] - xor edi,ebp - mov esi,ecx - shld ecx,ecx,5 - add ebx,edi - xor esi,ebp - shrd edx,edx,7 - add ebx,ecx - vpalignr xmm8,xmm1,xmm0,8 - vpxor xmm2,xmm2,xmm6 - add eax,DWORD[32+rsp] - xor esi,edx - mov edi,ebx - shld ebx,ebx,5 - vpxor xmm2,xmm2,xmm3 - add eax,esi - xor edi,edx - vpaddd xmm9,xmm11,xmm1 - vmovdqa xmm11,XMMWORD[r11] - shrd ecx,ecx,7 - add eax,ebx - vpxor xmm2,xmm2,xmm8 - add ebp,DWORD[36+rsp] - xor edi,ecx - mov esi,eax - shld eax,eax,5 - vpsrld xmm8,xmm2,30 - vmovdqa XMMWORD[16+rsp],xmm9 - add ebp,edi - xor esi,ecx - shrd ebx,ebx,7 - add ebp,eax - vpslld xmm2,xmm2,2 - add edx,DWORD[40+rsp] - xor esi,ebx - mov edi,ebp - shld ebp,ebp,5 - add edx,esi - xor edi,ebx - shrd eax,eax,7 - add edx,ebp - vpor xmm2,xmm2,xmm8 - add ecx,DWORD[44+rsp] - xor edi,eax - mov esi,edx - shld edx,edx,5 - add ecx,edi - xor esi,eax - shrd ebp,ebp,7 - add ecx,edx - vpalignr xmm8,xmm2,xmm1,8 - vpxor xmm3,xmm3,xmm7 - add ebx,DWORD[48+rsp] - xor esi,ebp - mov edi,ecx - shld ecx,ecx,5 - vpxor xmm3,xmm3,xmm4 - add ebx,esi - xor edi,ebp - vpaddd xmm9,xmm11,xmm2 - shrd edx,edx,7 - add ebx,ecx - vpxor xmm3,xmm3,xmm8 - add eax,DWORD[52+rsp] - xor edi,edx - mov esi,ebx - shld ebx,ebx,5 - vpsrld xmm8,xmm3,30 - vmovdqa XMMWORD[32+rsp],xmm9 - add eax,edi - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - vpslld xmm3,xmm3,2 - add ebp,DWORD[56+rsp] - xor esi,ecx - mov edi,eax - shld eax,eax,5 - add ebp,esi - xor edi,ecx - shrd ebx,ebx,7 - add ebp,eax - vpor xmm3,xmm3,xmm8 - add edx,DWORD[60+rsp] - xor edi,ebx - mov esi,ebp - shld ebp,ebp,5 - add edx,edi - xor esi,ebx - shrd eax,eax,7 - add edx,ebp - vpalignr xmm8,xmm3,xmm2,8 - vpxor xmm4,xmm4,xmm0 - add ecx,DWORD[rsp] - xor esi,eax - mov edi,edx - shld edx,edx,5 - vpxor xmm4,xmm4,xmm5 - add ecx,esi - xor edi,eax - vpaddd xmm9,xmm11,xmm3 - shrd ebp,ebp,7 - add ecx,edx - vpxor xmm4,xmm4,xmm8 - add ebx,DWORD[4+rsp] - xor edi,ebp - mov esi,ecx - shld ecx,ecx,5 - vpsrld xmm8,xmm4,30 - vmovdqa XMMWORD[48+rsp],xmm9 - add ebx,edi - xor esi,ebp - shrd edx,edx,7 - add ebx,ecx - vpslld xmm4,xmm4,2 - add eax,DWORD[8+rsp] - xor esi,edx - mov edi,ebx - shld ebx,ebx,5 - add eax,esi - xor edi,edx - shrd ecx,ecx,7 - add eax,ebx - vpor xmm4,xmm4,xmm8 - add ebp,DWORD[12+rsp] - xor edi,ecx - mov esi,eax - shld eax,eax,5 - add ebp,edi - xor esi,ecx - shrd ebx,ebx,7 - add ebp,eax - vpalignr xmm8,xmm4,xmm3,8 - vpxor xmm5,xmm5,xmm1 - add edx,DWORD[16+rsp] - xor esi,ebx - mov edi,ebp - shld ebp,ebp,5 - vpxor xmm5,xmm5,xmm6 - add edx,esi - xor edi,ebx - vpaddd xmm9,xmm11,xmm4 - shrd eax,eax,7 - add edx,ebp - vpxor xmm5,xmm5,xmm8 - add ecx,DWORD[20+rsp] - xor edi,eax - mov esi,edx - shld edx,edx,5 - vpsrld xmm8,xmm5,30 - vmovdqa XMMWORD[rsp],xmm9 - add ecx,edi - xor esi,eax - shrd ebp,ebp,7 - add ecx,edx - vpslld xmm5,xmm5,2 - add ebx,DWORD[24+rsp] - xor esi,ebp - mov edi,ecx - shld ecx,ecx,5 - add ebx,esi - xor edi,ebp - shrd edx,edx,7 - add ebx,ecx - vpor xmm5,xmm5,xmm8 - add eax,DWORD[28+rsp] - shrd ecx,ecx,7 - mov esi,ebx - xor edi,edx - shld ebx,ebx,5 - add eax,edi - xor esi,ecx - xor ecx,edx - add eax,ebx - vpalignr xmm8,xmm5,xmm4,8 - vpxor xmm6,xmm6,xmm2 - add ebp,DWORD[32+rsp] - and esi,ecx - xor ecx,edx - shrd ebx,ebx,7 - vpxor xmm6,xmm6,xmm7 - mov edi,eax - xor esi,ecx - vpaddd xmm9,xmm11,xmm5 - shld eax,eax,5 - add ebp,esi - vpxor xmm6,xmm6,xmm8 - xor edi,ebx - xor ebx,ecx - add ebp,eax - add edx,DWORD[36+rsp] - vpsrld xmm8,xmm6,30 - vmovdqa XMMWORD[16+rsp],xmm9 - and edi,ebx - xor ebx,ecx - shrd eax,eax,7 - mov esi,ebp - vpslld xmm6,xmm6,2 - xor edi,ebx - shld ebp,ebp,5 - add edx,edi - xor esi,eax - xor eax,ebx - add edx,ebp - add ecx,DWORD[40+rsp] - and esi,eax - vpor xmm6,xmm6,xmm8 - xor eax,ebx - shrd ebp,ebp,7 - mov edi,edx - xor esi,eax - shld edx,edx,5 - add ecx,esi - xor edi,ebp - xor ebp,eax - add ecx,edx - add ebx,DWORD[44+rsp] - and edi,ebp - xor ebp,eax - shrd edx,edx,7 - mov esi,ecx - xor edi,ebp - shld ecx,ecx,5 - add ebx,edi - xor esi,edx - xor edx,ebp - add ebx,ecx - vpalignr xmm8,xmm6,xmm5,8 - vpxor xmm7,xmm7,xmm3 - add eax,DWORD[48+rsp] - and esi,edx - xor edx,ebp - shrd ecx,ecx,7 - vpxor xmm7,xmm7,xmm0 - mov edi,ebx - xor esi,edx - vpaddd xmm9,xmm11,xmm6 - vmovdqa xmm11,XMMWORD[32+r11] - shld ebx,ebx,5 - add eax,esi - vpxor xmm7,xmm7,xmm8 - xor edi,ecx - xor ecx,edx - add eax,ebx - add ebp,DWORD[52+rsp] - vpsrld xmm8,xmm7,30 - vmovdqa XMMWORD[32+rsp],xmm9 - and edi,ecx - xor ecx,edx - shrd ebx,ebx,7 - mov esi,eax - vpslld xmm7,xmm7,2 - xor edi,ecx - shld eax,eax,5 - add ebp,edi - xor esi,ebx - xor ebx,ecx - add ebp,eax - add edx,DWORD[56+rsp] - and esi,ebx - vpor xmm7,xmm7,xmm8 - xor ebx,ecx - shrd eax,eax,7 - mov edi,ebp - xor esi,ebx - shld ebp,ebp,5 - add edx,esi - xor edi,eax - xor eax,ebx - add edx,ebp - add ecx,DWORD[60+rsp] - and edi,eax - xor eax,ebx - shrd ebp,ebp,7 - mov esi,edx - xor edi,eax - shld edx,edx,5 - add ecx,edi - xor esi,ebp - xor ebp,eax - add ecx,edx - vpalignr xmm8,xmm7,xmm6,8 - vpxor xmm0,xmm0,xmm4 - add ebx,DWORD[rsp] - and esi,ebp - xor ebp,eax - shrd edx,edx,7 - vpxor xmm0,xmm0,xmm1 - mov edi,ecx - xor esi,ebp - vpaddd xmm9,xmm11,xmm7 - shld ecx,ecx,5 - add ebx,esi - vpxor xmm0,xmm0,xmm8 - xor edi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[4+rsp] - vpsrld xmm8,xmm0,30 - vmovdqa XMMWORD[48+rsp],xmm9 - and edi,edx - xor edx,ebp - shrd ecx,ecx,7 - mov esi,ebx - vpslld xmm0,xmm0,2 - xor edi,edx - shld ebx,ebx,5 - add eax,edi - xor esi,ecx - xor ecx,edx - add eax,ebx - add ebp,DWORD[8+rsp] - and esi,ecx - vpor xmm0,xmm0,xmm8 - xor ecx,edx - shrd ebx,ebx,7 - mov edi,eax - xor esi,ecx - shld eax,eax,5 - add ebp,esi - xor edi,ebx - xor ebx,ecx - add ebp,eax - add edx,DWORD[12+rsp] - and edi,ebx - xor ebx,ecx - shrd eax,eax,7 - mov esi,ebp - xor edi,ebx - shld ebp,ebp,5 - add edx,edi - xor esi,eax - xor eax,ebx - add edx,ebp - vpalignr xmm8,xmm0,xmm7,8 - vpxor xmm1,xmm1,xmm5 - add ecx,DWORD[16+rsp] - and esi,eax - xor eax,ebx - shrd ebp,ebp,7 - vpxor xmm1,xmm1,xmm2 - mov edi,edx - xor esi,eax - vpaddd xmm9,xmm11,xmm0 - shld edx,edx,5 - add ecx,esi - vpxor xmm1,xmm1,xmm8 - xor edi,ebp - xor ebp,eax - add ecx,edx - add ebx,DWORD[20+rsp] - vpsrld xmm8,xmm1,30 - vmovdqa XMMWORD[rsp],xmm9 - and edi,ebp - xor ebp,eax - shrd edx,edx,7 - mov esi,ecx - vpslld xmm1,xmm1,2 - xor edi,ebp - shld ecx,ecx,5 - add ebx,edi - xor esi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[24+rsp] - and esi,edx - vpor xmm1,xmm1,xmm8 - xor edx,ebp - shrd ecx,ecx,7 - mov edi,ebx - xor esi,edx - shld ebx,ebx,5 - add eax,esi - xor edi,ecx - xor ecx,edx - add eax,ebx - add ebp,DWORD[28+rsp] - and edi,ecx - xor ecx,edx - shrd ebx,ebx,7 - mov esi,eax - xor edi,ecx - shld eax,eax,5 - add ebp,edi - xor esi,ebx - xor ebx,ecx - add ebp,eax - vpalignr xmm8,xmm1,xmm0,8 - vpxor xmm2,xmm2,xmm6 - add edx,DWORD[32+rsp] - and esi,ebx - xor ebx,ecx - shrd eax,eax,7 - vpxor xmm2,xmm2,xmm3 - mov edi,ebp - xor esi,ebx - vpaddd xmm9,xmm11,xmm1 - shld ebp,ebp,5 - add edx,esi - vpxor xmm2,xmm2,xmm8 - xor edi,eax - xor eax,ebx - add edx,ebp - add ecx,DWORD[36+rsp] - vpsrld xmm8,xmm2,30 - vmovdqa XMMWORD[16+rsp],xmm9 - and edi,eax - xor eax,ebx - shrd ebp,ebp,7 - mov esi,edx - vpslld xmm2,xmm2,2 - xor edi,eax - shld edx,edx,5 - add ecx,edi - xor esi,ebp - xor ebp,eax - add ecx,edx - add ebx,DWORD[40+rsp] - and esi,ebp - vpor xmm2,xmm2,xmm8 - xor ebp,eax - shrd edx,edx,7 - mov edi,ecx - xor esi,ebp - shld ecx,ecx,5 - add ebx,esi - xor edi,edx - xor edx,ebp - add ebx,ecx - add eax,DWORD[44+rsp] - and edi,edx - xor edx,ebp - shrd ecx,ecx,7 - mov esi,ebx - xor edi,edx - shld ebx,ebx,5 - add eax,edi - xor esi,edx - add eax,ebx - vpalignr xmm8,xmm2,xmm1,8 - vpxor xmm3,xmm3,xmm7 - add ebp,DWORD[48+rsp] - xor esi,ecx - mov edi,eax - shld eax,eax,5 - vpxor xmm3,xmm3,xmm4 - add ebp,esi - xor edi,ecx - vpaddd xmm9,xmm11,xmm2 - shrd ebx,ebx,7 - add ebp,eax - vpxor xmm3,xmm3,xmm8 - add edx,DWORD[52+rsp] - xor edi,ebx - mov esi,ebp - shld ebp,ebp,5 - vpsrld xmm8,xmm3,30 - vmovdqa XMMWORD[32+rsp],xmm9 - add edx,edi - xor esi,ebx - shrd eax,eax,7 - add edx,ebp - vpslld xmm3,xmm3,2 - add ecx,DWORD[56+rsp] - xor esi,eax - mov edi,edx - shld edx,edx,5 - add ecx,esi - xor edi,eax - shrd ebp,ebp,7 - add ecx,edx - vpor xmm3,xmm3,xmm8 - add ebx,DWORD[60+rsp] - xor edi,ebp - mov esi,ecx - shld ecx,ecx,5 - add ebx,edi - xor esi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[rsp] - vpaddd xmm9,xmm11,xmm3 - xor esi,edx - mov edi,ebx - shld ebx,ebx,5 - add eax,esi - vmovdqa XMMWORD[48+rsp],xmm9 - xor edi,edx - shrd ecx,ecx,7 - add eax,ebx - add ebp,DWORD[4+rsp] - xor edi,ecx - mov esi,eax - shld eax,eax,5 - add ebp,edi - xor esi,ecx - shrd ebx,ebx,7 - add ebp,eax - add edx,DWORD[8+rsp] - xor esi,ebx - mov edi,ebp - shld ebp,ebp,5 - add edx,esi - xor edi,ebx - shrd eax,eax,7 - add edx,ebp - add ecx,DWORD[12+rsp] - xor edi,eax - mov esi,edx - shld edx,edx,5 - add ecx,edi - xor esi,eax - shrd ebp,ebp,7 - add ecx,edx - cmp r9,r10 - je NEAR $L$done_avx - vmovdqa xmm6,XMMWORD[64+r11] - vmovdqa xmm11,XMMWORD[((-64))+r11] - vmovdqu xmm0,XMMWORD[r9] - vmovdqu xmm1,XMMWORD[16+r9] - vmovdqu xmm2,XMMWORD[32+r9] - vmovdqu xmm3,XMMWORD[48+r9] - vpshufb xmm0,xmm0,xmm6 - add r9,64 - add ebx,DWORD[16+rsp] - xor esi,ebp - vpshufb xmm1,xmm1,xmm6 - mov edi,ecx - shld ecx,ecx,5 - vpaddd xmm4,xmm0,xmm11 - add ebx,esi - xor edi,ebp - shrd edx,edx,7 - add ebx,ecx - vmovdqa XMMWORD[rsp],xmm4 - add eax,DWORD[20+rsp] - xor edi,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,edi - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - add ebp,DWORD[24+rsp] - xor esi,ecx - mov edi,eax - shld eax,eax,5 - add ebp,esi - xor edi,ecx - shrd ebx,ebx,7 - add ebp,eax - add edx,DWORD[28+rsp] - xor edi,ebx - mov esi,ebp - shld ebp,ebp,5 - add edx,edi - xor esi,ebx - shrd eax,eax,7 - add edx,ebp - add ecx,DWORD[32+rsp] - xor esi,eax - vpshufb xmm2,xmm2,xmm6 - mov edi,edx - shld edx,edx,5 - vpaddd xmm5,xmm1,xmm11 - add ecx,esi - xor edi,eax - shrd ebp,ebp,7 - add ecx,edx - vmovdqa XMMWORD[16+rsp],xmm5 - add ebx,DWORD[36+rsp] - xor edi,ebp - mov esi,ecx - shld ecx,ecx,5 - add ebx,edi - xor esi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[40+rsp] - xor esi,edx - mov edi,ebx - shld ebx,ebx,5 - add eax,esi - xor edi,edx - shrd ecx,ecx,7 - add eax,ebx - add ebp,DWORD[44+rsp] - xor edi,ecx - mov esi,eax - shld eax,eax,5 - add ebp,edi - xor esi,ecx - shrd ebx,ebx,7 - add ebp,eax - add edx,DWORD[48+rsp] - xor esi,ebx - vpshufb xmm3,xmm3,xmm6 - mov edi,ebp - shld ebp,ebp,5 - vpaddd xmm6,xmm2,xmm11 - add edx,esi - xor edi,ebx - shrd eax,eax,7 - add edx,ebp - vmovdqa XMMWORD[32+rsp],xmm6 - add ecx,DWORD[52+rsp] - xor edi,eax - mov esi,edx - shld edx,edx,5 - add ecx,edi - xor esi,eax - shrd ebp,ebp,7 - add ecx,edx - add ebx,DWORD[56+rsp] - xor esi,ebp - mov edi,ecx - shld ecx,ecx,5 - add ebx,esi - xor edi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[60+rsp] - xor edi,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,edi - shrd ecx,ecx,7 - add eax,ebx - add eax,DWORD[r8] - add esi,DWORD[4+r8] - add ecx,DWORD[8+r8] - add edx,DWORD[12+r8] - mov DWORD[r8],eax - add ebp,DWORD[16+r8] - mov DWORD[4+r8],esi - mov ebx,esi - mov DWORD[8+r8],ecx - mov edi,ecx - mov DWORD[12+r8],edx - xor edi,edx - mov DWORD[16+r8],ebp - and esi,edi - jmp NEAR $L$oop_avx - -ALIGN 16 -$L$done_avx: - add ebx,DWORD[16+rsp] - xor esi,ebp - mov edi,ecx - shld ecx,ecx,5 - add ebx,esi - xor edi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[20+rsp] - xor edi,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,edi - xor esi,edx - shrd ecx,ecx,7 - add eax,ebx - add ebp,DWORD[24+rsp] - xor esi,ecx - mov edi,eax - shld eax,eax,5 - add ebp,esi - xor edi,ecx - shrd ebx,ebx,7 - add ebp,eax - add edx,DWORD[28+rsp] - xor edi,ebx - mov esi,ebp - shld ebp,ebp,5 - add edx,edi - xor esi,ebx - shrd eax,eax,7 - add edx,ebp - add ecx,DWORD[32+rsp] - xor esi,eax - mov edi,edx - shld edx,edx,5 - add ecx,esi - xor edi,eax - shrd ebp,ebp,7 - add ecx,edx - add ebx,DWORD[36+rsp] - xor edi,ebp - mov esi,ecx - shld ecx,ecx,5 - add ebx,edi - xor esi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[40+rsp] - xor esi,edx - mov edi,ebx - shld ebx,ebx,5 - add eax,esi - xor edi,edx - shrd ecx,ecx,7 - add eax,ebx - add ebp,DWORD[44+rsp] - xor edi,ecx - mov esi,eax - shld eax,eax,5 - add ebp,edi - xor esi,ecx - shrd ebx,ebx,7 - add ebp,eax - add edx,DWORD[48+rsp] - xor esi,ebx - mov edi,ebp - shld ebp,ebp,5 - add edx,esi - xor edi,ebx - shrd eax,eax,7 - add edx,ebp - add ecx,DWORD[52+rsp] - xor edi,eax - mov esi,edx - shld edx,edx,5 - add ecx,edi - xor esi,eax - shrd ebp,ebp,7 - add ecx,edx - add ebx,DWORD[56+rsp] - xor esi,ebp - mov edi,ecx - shld ecx,ecx,5 - add ebx,esi - xor edi,ebp - shrd edx,edx,7 - add ebx,ecx - add eax,DWORD[60+rsp] - xor edi,edx - mov esi,ebx - shld ebx,ebx,5 - add eax,edi - shrd ecx,ecx,7 - add eax,ebx - vzeroupper - - add eax,DWORD[r8] - add esi,DWORD[4+r8] - add ecx,DWORD[8+r8] - mov DWORD[r8],eax - add edx,DWORD[12+r8] - mov DWORD[4+r8],esi - add ebp,DWORD[16+r8] - mov DWORD[8+r8],ecx - mov DWORD[12+r8],edx - mov DWORD[16+r8],ebp - movaps xmm6,XMMWORD[((-40-96))+r14] - movaps xmm7,XMMWORD[((-40-80))+r14] - movaps xmm8,XMMWORD[((-40-64))+r14] - movaps xmm9,XMMWORD[((-40-48))+r14] - movaps xmm10,XMMWORD[((-40-32))+r14] - movaps xmm11,XMMWORD[((-40-16))+r14] - lea rsi,[r14] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$epilogue_avx: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_block_data_order_avx: - -ALIGN 16 -sha1_block_data_order_avx2: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha1_block_data_order_avx2: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_avx2_shortcut: - mov rax,rsp - push rbx - push rbp - push r12 - push r13 - push r14 - vzeroupper - lea rsp,[((-96))+rsp] - vmovaps XMMWORD[(-40-96)+rax],xmm6 - vmovaps XMMWORD[(-40-80)+rax],xmm7 - vmovaps XMMWORD[(-40-64)+rax],xmm8 - vmovaps XMMWORD[(-40-48)+rax],xmm9 - vmovaps XMMWORD[(-40-32)+rax],xmm10 - vmovaps XMMWORD[(-40-16)+rax],xmm11 -$L$prologue_avx2: - mov r14,rax - mov r8,rdi - mov r9,rsi - mov r10,rdx - - lea rsp,[((-640))+rsp] - shl r10,6 - lea r13,[64+r9] - and rsp,-128 - add r10,r9 - lea r11,[((K_XX_XX+64))] - - mov eax,DWORD[r8] - cmp r13,r10 - cmovae r13,r9 - mov ebp,DWORD[4+r8] - mov ecx,DWORD[8+r8] - mov edx,DWORD[12+r8] - mov esi,DWORD[16+r8] - vmovdqu ymm6,YMMWORD[64+r11] - - vmovdqu xmm0,XMMWORD[r9] - vmovdqu xmm1,XMMWORD[16+r9] - vmovdqu xmm2,XMMWORD[32+r9] - vmovdqu xmm3,XMMWORD[48+r9] - lea r9,[64+r9] - vinserti128 ymm0,ymm0,XMMWORD[r13],1 - vinserti128 ymm1,ymm1,XMMWORD[16+r13],1 - vpshufb ymm0,ymm0,ymm6 - vinserti128 ymm2,ymm2,XMMWORD[32+r13],1 - vpshufb ymm1,ymm1,ymm6 - vinserti128 ymm3,ymm3,XMMWORD[48+r13],1 - vpshufb ymm2,ymm2,ymm6 - vmovdqu ymm11,YMMWORD[((-64))+r11] - vpshufb ymm3,ymm3,ymm6 - - vpaddd ymm4,ymm0,ymm11 - vpaddd ymm5,ymm1,ymm11 - vmovdqu YMMWORD[rsp],ymm4 - vpaddd ymm6,ymm2,ymm11 - vmovdqu YMMWORD[32+rsp],ymm5 - vpaddd ymm7,ymm3,ymm11 - vmovdqu YMMWORD[64+rsp],ymm6 - vmovdqu YMMWORD[96+rsp],ymm7 - vpalignr ymm4,ymm1,ymm0,8 - vpsrldq ymm8,ymm3,4 - vpxor ymm4,ymm4,ymm0 - vpxor ymm8,ymm8,ymm2 - vpxor ymm4,ymm4,ymm8 - vpsrld ymm8,ymm4,31 - vpslldq ymm10,ymm4,12 - vpaddd ymm4,ymm4,ymm4 - vpsrld ymm9,ymm10,30 - vpor ymm4,ymm4,ymm8 - vpslld ymm10,ymm10,2 - vpxor ymm4,ymm4,ymm9 - vpxor ymm4,ymm4,ymm10 - vpaddd ymm9,ymm4,ymm11 - vmovdqu YMMWORD[128+rsp],ymm9 - vpalignr ymm5,ymm2,ymm1,8 - vpsrldq ymm8,ymm4,4 - vpxor ymm5,ymm5,ymm1 - vpxor ymm8,ymm8,ymm3 - vpxor ymm5,ymm5,ymm8 - vpsrld ymm8,ymm5,31 - vmovdqu ymm11,YMMWORD[((-32))+r11] - vpslldq ymm10,ymm5,12 - vpaddd ymm5,ymm5,ymm5 - vpsrld ymm9,ymm10,30 - vpor ymm5,ymm5,ymm8 - vpslld ymm10,ymm10,2 - vpxor ymm5,ymm5,ymm9 - vpxor ymm5,ymm5,ymm10 - vpaddd ymm9,ymm5,ymm11 - vmovdqu YMMWORD[160+rsp],ymm9 - vpalignr ymm6,ymm3,ymm2,8 - vpsrldq ymm8,ymm5,4 - vpxor ymm6,ymm6,ymm2 - vpxor ymm8,ymm8,ymm4 - vpxor ymm6,ymm6,ymm8 - vpsrld ymm8,ymm6,31 - vpslldq ymm10,ymm6,12 - vpaddd ymm6,ymm6,ymm6 - vpsrld ymm9,ymm10,30 - vpor ymm6,ymm6,ymm8 - vpslld ymm10,ymm10,2 - vpxor ymm6,ymm6,ymm9 - vpxor ymm6,ymm6,ymm10 - vpaddd ymm9,ymm6,ymm11 - vmovdqu YMMWORD[192+rsp],ymm9 - vpalignr ymm7,ymm4,ymm3,8 - vpsrldq ymm8,ymm6,4 - vpxor ymm7,ymm7,ymm3 - vpxor ymm8,ymm8,ymm5 - vpxor ymm7,ymm7,ymm8 - vpsrld ymm8,ymm7,31 - vpslldq ymm10,ymm7,12 - vpaddd ymm7,ymm7,ymm7 - vpsrld ymm9,ymm10,30 - vpor ymm7,ymm7,ymm8 - vpslld ymm10,ymm10,2 - vpxor ymm7,ymm7,ymm9 - vpxor ymm7,ymm7,ymm10 - vpaddd ymm9,ymm7,ymm11 - vmovdqu YMMWORD[224+rsp],ymm9 - lea r13,[128+rsp] - jmp NEAR $L$oop_avx2 -ALIGN 32 -$L$oop_avx2: - rorx ebx,ebp,2 - andn edi,ebp,edx - and ebp,ecx - xor ebp,edi - jmp NEAR $L$align32_1 -ALIGN 32 -$L$align32_1: - vpalignr ymm8,ymm7,ymm6,8 - vpxor ymm0,ymm0,ymm4 - add esi,DWORD[((-128))+r13] - andn edi,eax,ecx - vpxor ymm0,ymm0,ymm1 - add esi,ebp - rorx r12d,eax,27 - rorx ebp,eax,2 - vpxor ymm0,ymm0,ymm8 - and eax,ebx - add esi,r12d - xor eax,edi - vpsrld ymm8,ymm0,30 - vpslld ymm0,ymm0,2 - add edx,DWORD[((-124))+r13] - andn edi,esi,ebx - add edx,eax - rorx r12d,esi,27 - rorx eax,esi,2 - and esi,ebp - vpor ymm0,ymm0,ymm8 - add edx,r12d - xor esi,edi - add ecx,DWORD[((-120))+r13] - andn edi,edx,ebp - vpaddd ymm9,ymm0,ymm11 - add ecx,esi - rorx r12d,edx,27 - rorx esi,edx,2 - and edx,eax - vmovdqu YMMWORD[256+rsp],ymm9 - add ecx,r12d - xor edx,edi - add ebx,DWORD[((-116))+r13] - andn edi,ecx,eax - add ebx,edx - rorx r12d,ecx,27 - rorx edx,ecx,2 - and ecx,esi - add ebx,r12d - xor ecx,edi - add ebp,DWORD[((-96))+r13] - andn edi,ebx,esi - add ebp,ecx - rorx r12d,ebx,27 - rorx ecx,ebx,2 - and ebx,edx - add ebp,r12d - xor ebx,edi - vpalignr ymm8,ymm0,ymm7,8 - vpxor ymm1,ymm1,ymm5 - add eax,DWORD[((-92))+r13] - andn edi,ebp,edx - vpxor ymm1,ymm1,ymm2 - add eax,ebx - rorx r12d,ebp,27 - rorx ebx,ebp,2 - vpxor ymm1,ymm1,ymm8 - and ebp,ecx - add eax,r12d - xor ebp,edi - vpsrld ymm8,ymm1,30 - vpslld ymm1,ymm1,2 - add esi,DWORD[((-88))+r13] - andn edi,eax,ecx - add esi,ebp - rorx r12d,eax,27 - rorx ebp,eax,2 - and eax,ebx - vpor ymm1,ymm1,ymm8 - add esi,r12d - xor eax,edi - add edx,DWORD[((-84))+r13] - andn edi,esi,ebx - vpaddd ymm9,ymm1,ymm11 - add edx,eax - rorx r12d,esi,27 - rorx eax,esi,2 - and esi,ebp - vmovdqu YMMWORD[288+rsp],ymm9 - add edx,r12d - xor esi,edi - add ecx,DWORD[((-64))+r13] - andn edi,edx,ebp - add ecx,esi - rorx r12d,edx,27 - rorx esi,edx,2 - and edx,eax - add ecx,r12d - xor edx,edi - add ebx,DWORD[((-60))+r13] - andn edi,ecx,eax - add ebx,edx - rorx r12d,ecx,27 - rorx edx,ecx,2 - and ecx,esi - add ebx,r12d - xor ecx,edi - vpalignr ymm8,ymm1,ymm0,8 - vpxor ymm2,ymm2,ymm6 - add ebp,DWORD[((-56))+r13] - andn edi,ebx,esi - vpxor ymm2,ymm2,ymm3 - vmovdqu ymm11,YMMWORD[r11] - add ebp,ecx - rorx r12d,ebx,27 - rorx ecx,ebx,2 - vpxor ymm2,ymm2,ymm8 - and ebx,edx - add ebp,r12d - xor ebx,edi - vpsrld ymm8,ymm2,30 - vpslld ymm2,ymm2,2 - add eax,DWORD[((-52))+r13] - andn edi,ebp,edx - add eax,ebx - rorx r12d,ebp,27 - rorx ebx,ebp,2 - and ebp,ecx - vpor ymm2,ymm2,ymm8 - add eax,r12d - xor ebp,edi - add esi,DWORD[((-32))+r13] - andn edi,eax,ecx - vpaddd ymm9,ymm2,ymm11 - add esi,ebp - rorx r12d,eax,27 - rorx ebp,eax,2 - and eax,ebx - vmovdqu YMMWORD[320+rsp],ymm9 - add esi,r12d - xor eax,edi - add edx,DWORD[((-28))+r13] - andn edi,esi,ebx - add edx,eax - rorx r12d,esi,27 - rorx eax,esi,2 - and esi,ebp - add edx,r12d - xor esi,edi - add ecx,DWORD[((-24))+r13] - andn edi,edx,ebp - add ecx,esi - rorx r12d,edx,27 - rorx esi,edx,2 - and edx,eax - add ecx,r12d - xor edx,edi - vpalignr ymm8,ymm2,ymm1,8 - vpxor ymm3,ymm3,ymm7 - add ebx,DWORD[((-20))+r13] - andn edi,ecx,eax - vpxor ymm3,ymm3,ymm4 - add ebx,edx - rorx r12d,ecx,27 - rorx edx,ecx,2 - vpxor ymm3,ymm3,ymm8 - and ecx,esi - add ebx,r12d - xor ecx,edi - vpsrld ymm8,ymm3,30 - vpslld ymm3,ymm3,2 - add ebp,DWORD[r13] - andn edi,ebx,esi - add ebp,ecx - rorx r12d,ebx,27 - rorx ecx,ebx,2 - and ebx,edx - vpor ymm3,ymm3,ymm8 - add ebp,r12d - xor ebx,edi - add eax,DWORD[4+r13] - andn edi,ebp,edx - vpaddd ymm9,ymm3,ymm11 - add eax,ebx - rorx r12d,ebp,27 - rorx ebx,ebp,2 - and ebp,ecx - vmovdqu YMMWORD[352+rsp],ymm9 - add eax,r12d - xor ebp,edi - add esi,DWORD[8+r13] - andn edi,eax,ecx - add esi,ebp - rorx r12d,eax,27 - rorx ebp,eax,2 - and eax,ebx - add esi,r12d - xor eax,edi - add edx,DWORD[12+r13] - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - xor esi,ebx - vpalignr ymm8,ymm3,ymm2,8 - vpxor ymm4,ymm4,ymm0 - add ecx,DWORD[32+r13] - lea ecx,[rsi*1+rcx] - vpxor ymm4,ymm4,ymm5 - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - vpxor ymm4,ymm4,ymm8 - add ecx,r12d - xor edx,ebp - add ebx,DWORD[36+r13] - vpsrld ymm8,ymm4,30 - vpslld ymm4,ymm4,2 - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - xor ecx,eax - vpor ymm4,ymm4,ymm8 - add ebp,DWORD[40+r13] - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - vpaddd ymm9,ymm4,ymm11 - xor ebx,edx - add ebp,r12d - xor ebx,esi - add eax,DWORD[44+r13] - vmovdqu YMMWORD[384+rsp],ymm9 - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - xor ebp,edx - add esi,DWORD[64+r13] - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - xor eax,ecx - vpalignr ymm8,ymm4,ymm3,8 - vpxor ymm5,ymm5,ymm1 - add edx,DWORD[68+r13] - lea edx,[rax*1+rdx] - vpxor ymm5,ymm5,ymm6 - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - vpxor ymm5,ymm5,ymm8 - add edx,r12d - xor esi,ebx - add ecx,DWORD[72+r13] - vpsrld ymm8,ymm5,30 - vpslld ymm5,ymm5,2 - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - xor edx,ebp - vpor ymm5,ymm5,ymm8 - add ebx,DWORD[76+r13] - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - vpaddd ymm9,ymm5,ymm11 - xor ecx,esi - add ebx,r12d - xor ecx,eax - add ebp,DWORD[96+r13] - vmovdqu YMMWORD[416+rsp],ymm9 - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - xor ebx,esi - add eax,DWORD[100+r13] - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - xor ebp,edx - vpalignr ymm8,ymm5,ymm4,8 - vpxor ymm6,ymm6,ymm2 - add esi,DWORD[104+r13] - lea esi,[rbp*1+rsi] - vpxor ymm6,ymm6,ymm7 - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - vpxor ymm6,ymm6,ymm8 - add esi,r12d - xor eax,ecx - add edx,DWORD[108+r13] - lea r13,[256+r13] - vpsrld ymm8,ymm6,30 - vpslld ymm6,ymm6,2 - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - xor esi,ebx - vpor ymm6,ymm6,ymm8 - add ecx,DWORD[((-128))+r13] - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - vpaddd ymm9,ymm6,ymm11 - xor edx,eax - add ecx,r12d - xor edx,ebp - add ebx,DWORD[((-124))+r13] - vmovdqu YMMWORD[448+rsp],ymm9 - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - xor ecx,eax - add ebp,DWORD[((-120))+r13] - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - xor ebx,esi - vpalignr ymm8,ymm6,ymm5,8 - vpxor ymm7,ymm7,ymm3 - add eax,DWORD[((-116))+r13] - lea eax,[rbx*1+rax] - vpxor ymm7,ymm7,ymm0 - vmovdqu ymm11,YMMWORD[32+r11] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - vpxor ymm7,ymm7,ymm8 - add eax,r12d - xor ebp,edx - add esi,DWORD[((-96))+r13] - vpsrld ymm8,ymm7,30 - vpslld ymm7,ymm7,2 - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - xor eax,ecx - vpor ymm7,ymm7,ymm8 - add edx,DWORD[((-92))+r13] - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - vpaddd ymm9,ymm7,ymm11 - xor esi,ebp - add edx,r12d - xor esi,ebx - add ecx,DWORD[((-88))+r13] - vmovdqu YMMWORD[480+rsp],ymm9 - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - xor edx,ebp - add ebx,DWORD[((-84))+r13] - mov edi,esi - xor edi,eax - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - and ecx,edi - jmp NEAR $L$align32_2 -ALIGN 32 -$L$align32_2: - vpalignr ymm8,ymm7,ymm6,8 - vpxor ymm0,ymm0,ymm4 - add ebp,DWORD[((-64))+r13] - xor ecx,esi - vpxor ymm0,ymm0,ymm1 - mov edi,edx - xor edi,esi - lea ebp,[rbp*1+rcx] - vpxor ymm0,ymm0,ymm8 - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - vpsrld ymm8,ymm0,30 - vpslld ymm0,ymm0,2 - add ebp,r12d - and ebx,edi - add eax,DWORD[((-60))+r13] - xor ebx,edx - mov edi,ecx - xor edi,edx - vpor ymm0,ymm0,ymm8 - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - vpaddd ymm9,ymm0,ymm11 - add eax,r12d - and ebp,edi - add esi,DWORD[((-56))+r13] - xor ebp,ecx - vmovdqu YMMWORD[512+rsp],ymm9 - mov edi,ebx - xor edi,ecx - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - and eax,edi - add edx,DWORD[((-52))+r13] - xor eax,ebx - mov edi,ebp - xor edi,ebx - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - and esi,edi - add ecx,DWORD[((-32))+r13] - xor esi,ebp - mov edi,eax - xor edi,ebp - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - and edx,edi - vpalignr ymm8,ymm0,ymm7,8 - vpxor ymm1,ymm1,ymm5 - add ebx,DWORD[((-28))+r13] - xor edx,eax - vpxor ymm1,ymm1,ymm2 - mov edi,esi - xor edi,eax - lea ebx,[rdx*1+rbx] - vpxor ymm1,ymm1,ymm8 - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - vpsrld ymm8,ymm1,30 - vpslld ymm1,ymm1,2 - add ebx,r12d - and ecx,edi - add ebp,DWORD[((-24))+r13] - xor ecx,esi - mov edi,edx - xor edi,esi - vpor ymm1,ymm1,ymm8 - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - vpaddd ymm9,ymm1,ymm11 - add ebp,r12d - and ebx,edi - add eax,DWORD[((-20))+r13] - xor ebx,edx - vmovdqu YMMWORD[544+rsp],ymm9 - mov edi,ecx - xor edi,edx - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - and ebp,edi - add esi,DWORD[r13] - xor ebp,ecx - mov edi,ebx - xor edi,ecx - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - and eax,edi - add edx,DWORD[4+r13] - xor eax,ebx - mov edi,ebp - xor edi,ebx - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - and esi,edi - vpalignr ymm8,ymm1,ymm0,8 - vpxor ymm2,ymm2,ymm6 - add ecx,DWORD[8+r13] - xor esi,ebp - vpxor ymm2,ymm2,ymm3 - mov edi,eax - xor edi,ebp - lea ecx,[rsi*1+rcx] - vpxor ymm2,ymm2,ymm8 - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - vpsrld ymm8,ymm2,30 - vpslld ymm2,ymm2,2 - add ecx,r12d - and edx,edi - add ebx,DWORD[12+r13] - xor edx,eax - mov edi,esi - xor edi,eax - vpor ymm2,ymm2,ymm8 - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - vpaddd ymm9,ymm2,ymm11 - add ebx,r12d - and ecx,edi - add ebp,DWORD[32+r13] - xor ecx,esi - vmovdqu YMMWORD[576+rsp],ymm9 - mov edi,edx - xor edi,esi - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - and ebx,edi - add eax,DWORD[36+r13] - xor ebx,edx - mov edi,ecx - xor edi,edx - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - and ebp,edi - add esi,DWORD[40+r13] - xor ebp,ecx - mov edi,ebx - xor edi,ecx - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - and eax,edi - vpalignr ymm8,ymm2,ymm1,8 - vpxor ymm3,ymm3,ymm7 - add edx,DWORD[44+r13] - xor eax,ebx - vpxor ymm3,ymm3,ymm4 - mov edi,ebp - xor edi,ebx - lea edx,[rax*1+rdx] - vpxor ymm3,ymm3,ymm8 - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - vpsrld ymm8,ymm3,30 - vpslld ymm3,ymm3,2 - add edx,r12d - and esi,edi - add ecx,DWORD[64+r13] - xor esi,ebp - mov edi,eax - xor edi,ebp - vpor ymm3,ymm3,ymm8 - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - vpaddd ymm9,ymm3,ymm11 - add ecx,r12d - and edx,edi - add ebx,DWORD[68+r13] - xor edx,eax - vmovdqu YMMWORD[608+rsp],ymm9 - mov edi,esi - xor edi,eax - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - and ecx,edi - add ebp,DWORD[72+r13] - xor ecx,esi - mov edi,edx - xor edi,esi - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - and ebx,edi - add eax,DWORD[76+r13] - xor ebx,edx - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - xor ebp,edx - add esi,DWORD[96+r13] - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - xor eax,ecx - add edx,DWORD[100+r13] - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - xor esi,ebx - add ecx,DWORD[104+r13] - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - xor edx,ebp - add ebx,DWORD[108+r13] - lea r13,[256+r13] - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - xor ecx,eax - add ebp,DWORD[((-128))+r13] - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - xor ebx,esi - add eax,DWORD[((-124))+r13] - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - xor ebp,edx - add esi,DWORD[((-120))+r13] - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - xor eax,ecx - add edx,DWORD[((-116))+r13] - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - xor esi,ebx - add ecx,DWORD[((-96))+r13] - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - xor edx,ebp - add ebx,DWORD[((-92))+r13] - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - xor ecx,eax - add ebp,DWORD[((-88))+r13] - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - xor ebx,esi - add eax,DWORD[((-84))+r13] - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - xor ebp,edx - add esi,DWORD[((-64))+r13] - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - xor eax,ecx - add edx,DWORD[((-60))+r13] - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - xor esi,ebx - add ecx,DWORD[((-56))+r13] - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - xor edx,ebp - add ebx,DWORD[((-52))+r13] - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - xor ecx,eax - add ebp,DWORD[((-32))+r13] - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - xor ebx,esi - add eax,DWORD[((-28))+r13] - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - xor ebp,edx - add esi,DWORD[((-24))+r13] - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - xor eax,ecx - add edx,DWORD[((-20))+r13] - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - add edx,r12d - lea r13,[128+r9] - lea rdi,[128+r9] - cmp r13,r10 - cmovae r13,r9 - - - add edx,DWORD[r8] - add esi,DWORD[4+r8] - add ebp,DWORD[8+r8] - mov DWORD[r8],edx - add ebx,DWORD[12+r8] - mov DWORD[4+r8],esi - mov eax,edx - add ecx,DWORD[16+r8] - mov r12d,ebp - mov DWORD[8+r8],ebp - mov edx,ebx - - mov DWORD[12+r8],ebx - mov ebp,esi - mov DWORD[16+r8],ecx - - mov esi,ecx - mov ecx,r12d - - - cmp r9,r10 - je NEAR $L$done_avx2 - vmovdqu ymm6,YMMWORD[64+r11] - cmp rdi,r10 - ja NEAR $L$ast_avx2 - - vmovdqu xmm0,XMMWORD[((-64))+rdi] - vmovdqu xmm1,XMMWORD[((-48))+rdi] - vmovdqu xmm2,XMMWORD[((-32))+rdi] - vmovdqu xmm3,XMMWORD[((-16))+rdi] - vinserti128 ymm0,ymm0,XMMWORD[r13],1 - vinserti128 ymm1,ymm1,XMMWORD[16+r13],1 - vinserti128 ymm2,ymm2,XMMWORD[32+r13],1 - vinserti128 ymm3,ymm3,XMMWORD[48+r13],1 - jmp NEAR $L$ast_avx2 - -ALIGN 32 -$L$ast_avx2: - lea r13,[((128+16))+rsp] - rorx ebx,ebp,2 - andn edi,ebp,edx - and ebp,ecx - xor ebp,edi - sub r9,-128 - add esi,DWORD[((-128))+r13] - andn edi,eax,ecx - add esi,ebp - rorx r12d,eax,27 - rorx ebp,eax,2 - and eax,ebx - add esi,r12d - xor eax,edi - add edx,DWORD[((-124))+r13] - andn edi,esi,ebx - add edx,eax - rorx r12d,esi,27 - rorx eax,esi,2 - and esi,ebp - add edx,r12d - xor esi,edi - add ecx,DWORD[((-120))+r13] - andn edi,edx,ebp - add ecx,esi - rorx r12d,edx,27 - rorx esi,edx,2 - and edx,eax - add ecx,r12d - xor edx,edi - add ebx,DWORD[((-116))+r13] - andn edi,ecx,eax - add ebx,edx - rorx r12d,ecx,27 - rorx edx,ecx,2 - and ecx,esi - add ebx,r12d - xor ecx,edi - add ebp,DWORD[((-96))+r13] - andn edi,ebx,esi - add ebp,ecx - rorx r12d,ebx,27 - rorx ecx,ebx,2 - and ebx,edx - add ebp,r12d - xor ebx,edi - add eax,DWORD[((-92))+r13] - andn edi,ebp,edx - add eax,ebx - rorx r12d,ebp,27 - rorx ebx,ebp,2 - and ebp,ecx - add eax,r12d - xor ebp,edi - add esi,DWORD[((-88))+r13] - andn edi,eax,ecx - add esi,ebp - rorx r12d,eax,27 - rorx ebp,eax,2 - and eax,ebx - add esi,r12d - xor eax,edi - add edx,DWORD[((-84))+r13] - andn edi,esi,ebx - add edx,eax - rorx r12d,esi,27 - rorx eax,esi,2 - and esi,ebp - add edx,r12d - xor esi,edi - add ecx,DWORD[((-64))+r13] - andn edi,edx,ebp - add ecx,esi - rorx r12d,edx,27 - rorx esi,edx,2 - and edx,eax - add ecx,r12d - xor edx,edi - add ebx,DWORD[((-60))+r13] - andn edi,ecx,eax - add ebx,edx - rorx r12d,ecx,27 - rorx edx,ecx,2 - and ecx,esi - add ebx,r12d - xor ecx,edi - add ebp,DWORD[((-56))+r13] - andn edi,ebx,esi - add ebp,ecx - rorx r12d,ebx,27 - rorx ecx,ebx,2 - and ebx,edx - add ebp,r12d - xor ebx,edi - add eax,DWORD[((-52))+r13] - andn edi,ebp,edx - add eax,ebx - rorx r12d,ebp,27 - rorx ebx,ebp,2 - and ebp,ecx - add eax,r12d - xor ebp,edi - add esi,DWORD[((-32))+r13] - andn edi,eax,ecx - add esi,ebp - rorx r12d,eax,27 - rorx ebp,eax,2 - and eax,ebx - add esi,r12d - xor eax,edi - add edx,DWORD[((-28))+r13] - andn edi,esi,ebx - add edx,eax - rorx r12d,esi,27 - rorx eax,esi,2 - and esi,ebp - add edx,r12d - xor esi,edi - add ecx,DWORD[((-24))+r13] - andn edi,edx,ebp - add ecx,esi - rorx r12d,edx,27 - rorx esi,edx,2 - and edx,eax - add ecx,r12d - xor edx,edi - add ebx,DWORD[((-20))+r13] - andn edi,ecx,eax - add ebx,edx - rorx r12d,ecx,27 - rorx edx,ecx,2 - and ecx,esi - add ebx,r12d - xor ecx,edi - add ebp,DWORD[r13] - andn edi,ebx,esi - add ebp,ecx - rorx r12d,ebx,27 - rorx ecx,ebx,2 - and ebx,edx - add ebp,r12d - xor ebx,edi - add eax,DWORD[4+r13] - andn edi,ebp,edx - add eax,ebx - rorx r12d,ebp,27 - rorx ebx,ebp,2 - and ebp,ecx - add eax,r12d - xor ebp,edi - add esi,DWORD[8+r13] - andn edi,eax,ecx - add esi,ebp - rorx r12d,eax,27 - rorx ebp,eax,2 - and eax,ebx - add esi,r12d - xor eax,edi - add edx,DWORD[12+r13] - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - xor esi,ebx - add ecx,DWORD[32+r13] - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - xor edx,ebp - add ebx,DWORD[36+r13] - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - xor ecx,eax - add ebp,DWORD[40+r13] - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - xor ebx,esi - add eax,DWORD[44+r13] - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - xor ebp,edx - add esi,DWORD[64+r13] - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - xor eax,ecx - vmovdqu ymm11,YMMWORD[((-64))+r11] - vpshufb ymm0,ymm0,ymm6 - add edx,DWORD[68+r13] - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - xor esi,ebx - add ecx,DWORD[72+r13] - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - xor edx,ebp - add ebx,DWORD[76+r13] - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - xor ecx,eax - add ebp,DWORD[96+r13] - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - xor ebx,esi - add eax,DWORD[100+r13] - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - xor ebp,edx - vpshufb ymm1,ymm1,ymm6 - vpaddd ymm8,ymm0,ymm11 - add esi,DWORD[104+r13] - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - xor eax,ecx - add edx,DWORD[108+r13] - lea r13,[256+r13] - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - xor esi,ebx - add ecx,DWORD[((-128))+r13] - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - xor edx,ebp - add ebx,DWORD[((-124))+r13] - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - xor ecx,eax - add ebp,DWORD[((-120))+r13] - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - xor ebx,esi - vmovdqu YMMWORD[rsp],ymm8 - vpshufb ymm2,ymm2,ymm6 - vpaddd ymm9,ymm1,ymm11 - add eax,DWORD[((-116))+r13] - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - xor ebp,edx - add esi,DWORD[((-96))+r13] - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - xor eax,ecx - add edx,DWORD[((-92))+r13] - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - xor esi,ebx - add ecx,DWORD[((-88))+r13] - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - xor edx,ebp - add ebx,DWORD[((-84))+r13] - mov edi,esi - xor edi,eax - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - and ecx,edi - vmovdqu YMMWORD[32+rsp],ymm9 - vpshufb ymm3,ymm3,ymm6 - vpaddd ymm6,ymm2,ymm11 - add ebp,DWORD[((-64))+r13] - xor ecx,esi - mov edi,edx - xor edi,esi - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - and ebx,edi - add eax,DWORD[((-60))+r13] - xor ebx,edx - mov edi,ecx - xor edi,edx - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - and ebp,edi - add esi,DWORD[((-56))+r13] - xor ebp,ecx - mov edi,ebx - xor edi,ecx - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - and eax,edi - add edx,DWORD[((-52))+r13] - xor eax,ebx - mov edi,ebp - xor edi,ebx - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - and esi,edi - add ecx,DWORD[((-32))+r13] - xor esi,ebp - mov edi,eax - xor edi,ebp - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - and edx,edi - jmp NEAR $L$align32_3 -ALIGN 32 -$L$align32_3: - vmovdqu YMMWORD[64+rsp],ymm6 - vpaddd ymm7,ymm3,ymm11 - add ebx,DWORD[((-28))+r13] - xor edx,eax - mov edi,esi - xor edi,eax - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - and ecx,edi - add ebp,DWORD[((-24))+r13] - xor ecx,esi - mov edi,edx - xor edi,esi - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - and ebx,edi - add eax,DWORD[((-20))+r13] - xor ebx,edx - mov edi,ecx - xor edi,edx - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - and ebp,edi - add esi,DWORD[r13] - xor ebp,ecx - mov edi,ebx - xor edi,ecx - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - and eax,edi - add edx,DWORD[4+r13] - xor eax,ebx - mov edi,ebp - xor edi,ebx - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - and esi,edi - vmovdqu YMMWORD[96+rsp],ymm7 - add ecx,DWORD[8+r13] - xor esi,ebp - mov edi,eax - xor edi,ebp - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - and edx,edi - add ebx,DWORD[12+r13] - xor edx,eax - mov edi,esi - xor edi,eax - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - and ecx,edi - add ebp,DWORD[32+r13] - xor ecx,esi - mov edi,edx - xor edi,esi - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - and ebx,edi - add eax,DWORD[36+r13] - xor ebx,edx - mov edi,ecx - xor edi,edx - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - and ebp,edi - add esi,DWORD[40+r13] - xor ebp,ecx - mov edi,ebx - xor edi,ecx - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - and eax,edi - vpalignr ymm4,ymm1,ymm0,8 - add edx,DWORD[44+r13] - xor eax,ebx - mov edi,ebp - xor edi,ebx - vpsrldq ymm8,ymm3,4 - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - vpxor ymm4,ymm4,ymm0 - vpxor ymm8,ymm8,ymm2 - xor esi,ebp - add edx,r12d - vpxor ymm4,ymm4,ymm8 - and esi,edi - add ecx,DWORD[64+r13] - xor esi,ebp - mov edi,eax - vpsrld ymm8,ymm4,31 - xor edi,ebp - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - vpslldq ymm10,ymm4,12 - vpaddd ymm4,ymm4,ymm4 - rorx esi,edx,2 - xor edx,eax - vpsrld ymm9,ymm10,30 - vpor ymm4,ymm4,ymm8 - add ecx,r12d - and edx,edi - vpslld ymm10,ymm10,2 - vpxor ymm4,ymm4,ymm9 - add ebx,DWORD[68+r13] - xor edx,eax - vpxor ymm4,ymm4,ymm10 - mov edi,esi - xor edi,eax - lea ebx,[rdx*1+rbx] - vpaddd ymm9,ymm4,ymm11 - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - vmovdqu YMMWORD[128+rsp],ymm9 - add ebx,r12d - and ecx,edi - add ebp,DWORD[72+r13] - xor ecx,esi - mov edi,edx - xor edi,esi - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - and ebx,edi - add eax,DWORD[76+r13] - xor ebx,edx - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - xor ebp,edx - vpalignr ymm5,ymm2,ymm1,8 - add esi,DWORD[96+r13] - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - vpsrldq ymm8,ymm4,4 - xor eax,ebx - add esi,r12d - xor eax,ecx - vpxor ymm5,ymm5,ymm1 - vpxor ymm8,ymm8,ymm3 - add edx,DWORD[100+r13] - lea edx,[rax*1+rdx] - vpxor ymm5,ymm5,ymm8 - rorx r12d,esi,27 - rorx eax,esi,2 - xor esi,ebp - add edx,r12d - vpsrld ymm8,ymm5,31 - vmovdqu ymm11,YMMWORD[((-32))+r11] - xor esi,ebx - add ecx,DWORD[104+r13] - lea ecx,[rsi*1+rcx] - vpslldq ymm10,ymm5,12 - vpaddd ymm5,ymm5,ymm5 - rorx r12d,edx,27 - rorx esi,edx,2 - vpsrld ymm9,ymm10,30 - vpor ymm5,ymm5,ymm8 - xor edx,eax - add ecx,r12d - vpslld ymm10,ymm10,2 - vpxor ymm5,ymm5,ymm9 - xor edx,ebp - add ebx,DWORD[108+r13] - lea r13,[256+r13] - vpxor ymm5,ymm5,ymm10 - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - vpaddd ymm9,ymm5,ymm11 - xor ecx,esi - add ebx,r12d - xor ecx,eax - vmovdqu YMMWORD[160+rsp],ymm9 - add ebp,DWORD[((-128))+r13] - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - xor ebx,esi - vpalignr ymm6,ymm3,ymm2,8 - add eax,DWORD[((-124))+r13] - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - vpsrldq ymm8,ymm5,4 - xor ebp,ecx - add eax,r12d - xor ebp,edx - vpxor ymm6,ymm6,ymm2 - vpxor ymm8,ymm8,ymm4 - add esi,DWORD[((-120))+r13] - lea esi,[rbp*1+rsi] - vpxor ymm6,ymm6,ymm8 - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - vpsrld ymm8,ymm6,31 - xor eax,ecx - add edx,DWORD[((-116))+r13] - lea edx,[rax*1+rdx] - vpslldq ymm10,ymm6,12 - vpaddd ymm6,ymm6,ymm6 - rorx r12d,esi,27 - rorx eax,esi,2 - vpsrld ymm9,ymm10,30 - vpor ymm6,ymm6,ymm8 - xor esi,ebp - add edx,r12d - vpslld ymm10,ymm10,2 - vpxor ymm6,ymm6,ymm9 - xor esi,ebx - add ecx,DWORD[((-96))+r13] - vpxor ymm6,ymm6,ymm10 - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - vpaddd ymm9,ymm6,ymm11 - xor edx,eax - add ecx,r12d - xor edx,ebp - vmovdqu YMMWORD[192+rsp],ymm9 - add ebx,DWORD[((-92))+r13] - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - xor ecx,eax - vpalignr ymm7,ymm4,ymm3,8 - add ebp,DWORD[((-88))+r13] - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - vpsrldq ymm8,ymm6,4 - xor ebx,edx - add ebp,r12d - xor ebx,esi - vpxor ymm7,ymm7,ymm3 - vpxor ymm8,ymm8,ymm5 - add eax,DWORD[((-84))+r13] - lea eax,[rbx*1+rax] - vpxor ymm7,ymm7,ymm8 - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - vpsrld ymm8,ymm7,31 - xor ebp,edx - add esi,DWORD[((-64))+r13] - lea esi,[rbp*1+rsi] - vpslldq ymm10,ymm7,12 - vpaddd ymm7,ymm7,ymm7 - rorx r12d,eax,27 - rorx ebp,eax,2 - vpsrld ymm9,ymm10,30 - vpor ymm7,ymm7,ymm8 - xor eax,ebx - add esi,r12d - vpslld ymm10,ymm10,2 - vpxor ymm7,ymm7,ymm9 - xor eax,ecx - add edx,DWORD[((-60))+r13] - vpxor ymm7,ymm7,ymm10 - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - rorx eax,esi,2 - vpaddd ymm9,ymm7,ymm11 - xor esi,ebp - add edx,r12d - xor esi,ebx - vmovdqu YMMWORD[224+rsp],ymm9 - add ecx,DWORD[((-56))+r13] - lea ecx,[rsi*1+rcx] - rorx r12d,edx,27 - rorx esi,edx,2 - xor edx,eax - add ecx,r12d - xor edx,ebp - add ebx,DWORD[((-52))+r13] - lea ebx,[rdx*1+rbx] - rorx r12d,ecx,27 - rorx edx,ecx,2 - xor ecx,esi - add ebx,r12d - xor ecx,eax - add ebp,DWORD[((-32))+r13] - lea ebp,[rbp*1+rcx] - rorx r12d,ebx,27 - rorx ecx,ebx,2 - xor ebx,edx - add ebp,r12d - xor ebx,esi - add eax,DWORD[((-28))+r13] - lea eax,[rbx*1+rax] - rorx r12d,ebp,27 - rorx ebx,ebp,2 - xor ebp,ecx - add eax,r12d - xor ebp,edx - add esi,DWORD[((-24))+r13] - lea esi,[rbp*1+rsi] - rorx r12d,eax,27 - rorx ebp,eax,2 - xor eax,ebx - add esi,r12d - xor eax,ecx - add edx,DWORD[((-20))+r13] - lea edx,[rax*1+rdx] - rorx r12d,esi,27 - add edx,r12d - lea r13,[128+rsp] - - - add edx,DWORD[r8] - add esi,DWORD[4+r8] - add ebp,DWORD[8+r8] - mov DWORD[r8],edx - add ebx,DWORD[12+r8] - mov DWORD[4+r8],esi - mov eax,edx - add ecx,DWORD[16+r8] - mov r12d,ebp - mov DWORD[8+r8],ebp - mov edx,ebx - - mov DWORD[12+r8],ebx - mov ebp,esi - mov DWORD[16+r8],ecx - - mov esi,ecx - mov ecx,r12d - - - cmp r9,r10 - jbe NEAR $L$oop_avx2 - -$L$done_avx2: - vzeroupper - movaps xmm6,XMMWORD[((-40-96))+r14] - movaps xmm7,XMMWORD[((-40-80))+r14] - movaps xmm8,XMMWORD[((-40-64))+r14] - movaps xmm9,XMMWORD[((-40-48))+r14] - movaps xmm10,XMMWORD[((-40-32))+r14] - movaps xmm11,XMMWORD[((-40-16))+r14] - lea rsi,[r14] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$epilogue_avx2: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_block_data_order_avx2: -ALIGN 64 -K_XX_XX: - DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 - DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 - DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 - DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 - DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc - DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc - DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 - DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 - DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f - DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -DB 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 -DB 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115 -DB 102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44 -DB 32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60 -DB 97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114 -DB 103,62,0 -ALIGN 64 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$prologue] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov rax,QWORD[152+r8] - - lea r10,[$L$epilogue] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - mov rax,QWORD[64+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - - jmp NEAR $L$common_seh_tail - - -ALIGN 16 -shaext_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$prologue_shaext] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - lea r10,[$L$epilogue_shaext] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - lea rsi,[((-8-64))+rax] - lea rdi,[512+r8] - mov ecx,8 - DD 0xa548f3fc - - jmp NEAR $L$common_seh_tail - - -ALIGN 16 -ssse3_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - mov rax,QWORD[232+r8] - - lea rsi,[((-40-96))+rax] - lea rdi,[512+r8] - mov ecx,12 - DD 0xa548f3fc - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - -$L$common_seh_tail: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_sha1_block_data_order wrt ..imagebase - DD $L$SEH_end_sha1_block_data_order wrt ..imagebase - DD $L$SEH_info_sha1_block_data_order wrt ..imagebase - DD $L$SEH_begin_sha1_block_data_order_shaext wrt ..imagebase - DD $L$SEH_end_sha1_block_data_order_shaext wrt ..imagebase - DD $L$SEH_info_sha1_block_data_order_shaext wrt ..imagebase - DD $L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase - DD $L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase - DD $L$SEH_info_sha1_block_data_order_ssse3 wrt ..imagebase - DD $L$SEH_begin_sha1_block_data_order_avx wrt ..imagebase - DD $L$SEH_end_sha1_block_data_order_avx wrt ..imagebase - DD $L$SEH_info_sha1_block_data_order_avx wrt ..imagebase - DD $L$SEH_begin_sha1_block_data_order_avx2 wrt ..imagebase - DD $L$SEH_end_sha1_block_data_order_avx2 wrt ..imagebase - DD $L$SEH_info_sha1_block_data_order_avx2 wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_sha1_block_data_order: -DB 9,0,0,0 - DD se_handler wrt ..imagebase -$L$SEH_info_sha1_block_data_order_shaext: -DB 9,0,0,0 - DD shaext_handler wrt ..imagebase -$L$SEH_info_sha1_block_data_order_ssse3: -DB 9,0,0,0 - DD ssse3_handler wrt ..imagebase - DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase -$L$SEH_info_sha1_block_data_order_avx: -DB 9,0,0,0 - DD ssse3_handler wrt ..imagebase - DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase -$L$SEH_info_sha1_block_data_order_avx2: -DB 9,0,0,0 - DD ssse3_handler wrt ..imagebase - DD $L$prologue_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + +EXTERN OPENSSL_ia32cap_P + +global sha1_block_data_order + +ALIGN 16 +sha1_block_data_order: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_block_data_order: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + mov r9d,DWORD[((OPENSSL_ia32cap_P+0))] + mov r8d,DWORD[((OPENSSL_ia32cap_P+4))] + mov r10d,DWORD[((OPENSSL_ia32cap_P+8))] + test r8d,512 + jz NEAR $L$ialu + test r10d,536870912 + jnz NEAR _shaext_shortcut + and r10d,296 + cmp r10d,296 + je NEAR _avx2_shortcut + and r8d,268435456 + and r9d,1073741824 + or r8d,r9d + cmp r8d,1342177280 + je NEAR _avx_shortcut + jmp NEAR _ssse3_shortcut + +ALIGN 16 +$L$ialu: + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + mov r8,rdi + sub rsp,72 + mov r9,rsi + and rsp,-64 + mov r10,rdx + mov QWORD[64+rsp],rax +$L$prologue: + + mov esi,DWORD[r8] + mov edi,DWORD[4+r8] + mov r11d,DWORD[8+r8] + mov r12d,DWORD[12+r8] + mov r13d,DWORD[16+r8] + jmp NEAR $L$loop + +ALIGN 16 +$L$loop: + mov edx,DWORD[r9] + bswap edx + mov ebp,DWORD[4+r9] + mov eax,r12d + mov DWORD[rsp],edx + mov ecx,esi + bswap ebp + xor eax,r11d + rol ecx,5 + and eax,edi + lea r13d,[1518500249+r13*1+rdx] + add r13d,ecx + xor eax,r12d + rol edi,30 + add r13d,eax + mov r14d,DWORD[8+r9] + mov eax,r11d + mov DWORD[4+rsp],ebp + mov ecx,r13d + bswap r14d + xor eax,edi + rol ecx,5 + and eax,esi + lea r12d,[1518500249+r12*1+rbp] + add r12d,ecx + xor eax,r11d + rol esi,30 + add r12d,eax + mov edx,DWORD[12+r9] + mov eax,edi + mov DWORD[8+rsp],r14d + mov ecx,r12d + bswap edx + xor eax,esi + rol ecx,5 + and eax,r13d + lea r11d,[1518500249+r11*1+r14] + add r11d,ecx + xor eax,edi + rol r13d,30 + add r11d,eax + mov ebp,DWORD[16+r9] + mov eax,esi + mov DWORD[12+rsp],edx + mov ecx,r11d + bswap ebp + xor eax,r13d + rol ecx,5 + and eax,r12d + lea edi,[1518500249+rdi*1+rdx] + add edi,ecx + xor eax,esi + rol r12d,30 + add edi,eax + mov r14d,DWORD[20+r9] + mov eax,r13d + mov DWORD[16+rsp],ebp + mov ecx,edi + bswap r14d + xor eax,r12d + rol ecx,5 + and eax,r11d + lea esi,[1518500249+rsi*1+rbp] + add esi,ecx + xor eax,r13d + rol r11d,30 + add esi,eax + mov edx,DWORD[24+r9] + mov eax,r12d + mov DWORD[20+rsp],r14d + mov ecx,esi + bswap edx + xor eax,r11d + rol ecx,5 + and eax,edi + lea r13d,[1518500249+r13*1+r14] + add r13d,ecx + xor eax,r12d + rol edi,30 + add r13d,eax + mov ebp,DWORD[28+r9] + mov eax,r11d + mov DWORD[24+rsp],edx + mov ecx,r13d + bswap ebp + xor eax,edi + rol ecx,5 + and eax,esi + lea r12d,[1518500249+r12*1+rdx] + add r12d,ecx + xor eax,r11d + rol esi,30 + add r12d,eax + mov r14d,DWORD[32+r9] + mov eax,edi + mov DWORD[28+rsp],ebp + mov ecx,r12d + bswap r14d + xor eax,esi + rol ecx,5 + and eax,r13d + lea r11d,[1518500249+r11*1+rbp] + add r11d,ecx + xor eax,edi + rol r13d,30 + add r11d,eax + mov edx,DWORD[36+r9] + mov eax,esi + mov DWORD[32+rsp],r14d + mov ecx,r11d + bswap edx + xor eax,r13d + rol ecx,5 + and eax,r12d + lea edi,[1518500249+rdi*1+r14] + add edi,ecx + xor eax,esi + rol r12d,30 + add edi,eax + mov ebp,DWORD[40+r9] + mov eax,r13d + mov DWORD[36+rsp],edx + mov ecx,edi + bswap ebp + xor eax,r12d + rol ecx,5 + and eax,r11d + lea esi,[1518500249+rsi*1+rdx] + add esi,ecx + xor eax,r13d + rol r11d,30 + add esi,eax + mov r14d,DWORD[44+r9] + mov eax,r12d + mov DWORD[40+rsp],ebp + mov ecx,esi + bswap r14d + xor eax,r11d + rol ecx,5 + and eax,edi + lea r13d,[1518500249+r13*1+rbp] + add r13d,ecx + xor eax,r12d + rol edi,30 + add r13d,eax + mov edx,DWORD[48+r9] + mov eax,r11d + mov DWORD[44+rsp],r14d + mov ecx,r13d + bswap edx + xor eax,edi + rol ecx,5 + and eax,esi + lea r12d,[1518500249+r12*1+r14] + add r12d,ecx + xor eax,r11d + rol esi,30 + add r12d,eax + mov ebp,DWORD[52+r9] + mov eax,edi + mov DWORD[48+rsp],edx + mov ecx,r12d + bswap ebp + xor eax,esi + rol ecx,5 + and eax,r13d + lea r11d,[1518500249+r11*1+rdx] + add r11d,ecx + xor eax,edi + rol r13d,30 + add r11d,eax + mov r14d,DWORD[56+r9] + mov eax,esi + mov DWORD[52+rsp],ebp + mov ecx,r11d + bswap r14d + xor eax,r13d + rol ecx,5 + and eax,r12d + lea edi,[1518500249+rdi*1+rbp] + add edi,ecx + xor eax,esi + rol r12d,30 + add edi,eax + mov edx,DWORD[60+r9] + mov eax,r13d + mov DWORD[56+rsp],r14d + mov ecx,edi + bswap edx + xor eax,r12d + rol ecx,5 + and eax,r11d + lea esi,[1518500249+rsi*1+r14] + add esi,ecx + xor eax,r13d + rol r11d,30 + add esi,eax + xor ebp,DWORD[rsp] + mov eax,r12d + mov DWORD[60+rsp],edx + mov ecx,esi + xor ebp,DWORD[8+rsp] + xor eax,r11d + rol ecx,5 + xor ebp,DWORD[32+rsp] + and eax,edi + lea r13d,[1518500249+r13*1+rdx] + rol edi,30 + xor eax,r12d + add r13d,ecx + rol ebp,1 + add r13d,eax + xor r14d,DWORD[4+rsp] + mov eax,r11d + mov DWORD[rsp],ebp + mov ecx,r13d + xor r14d,DWORD[12+rsp] + xor eax,edi + rol ecx,5 + xor r14d,DWORD[36+rsp] + and eax,esi + lea r12d,[1518500249+r12*1+rbp] + rol esi,30 + xor eax,r11d + add r12d,ecx + rol r14d,1 + add r12d,eax + xor edx,DWORD[8+rsp] + mov eax,edi + mov DWORD[4+rsp],r14d + mov ecx,r12d + xor edx,DWORD[16+rsp] + xor eax,esi + rol ecx,5 + xor edx,DWORD[40+rsp] + and eax,r13d + lea r11d,[1518500249+r11*1+r14] + rol r13d,30 + xor eax,edi + add r11d,ecx + rol edx,1 + add r11d,eax + xor ebp,DWORD[12+rsp] + mov eax,esi + mov DWORD[8+rsp],edx + mov ecx,r11d + xor ebp,DWORD[20+rsp] + xor eax,r13d + rol ecx,5 + xor ebp,DWORD[44+rsp] + and eax,r12d + lea edi,[1518500249+rdi*1+rdx] + rol r12d,30 + xor eax,esi + add edi,ecx + rol ebp,1 + add edi,eax + xor r14d,DWORD[16+rsp] + mov eax,r13d + mov DWORD[12+rsp],ebp + mov ecx,edi + xor r14d,DWORD[24+rsp] + xor eax,r12d + rol ecx,5 + xor r14d,DWORD[48+rsp] + and eax,r11d + lea esi,[1518500249+rsi*1+rbp] + rol r11d,30 + xor eax,r13d + add esi,ecx + rol r14d,1 + add esi,eax + xor edx,DWORD[20+rsp] + mov eax,edi + mov DWORD[16+rsp],r14d + mov ecx,esi + xor edx,DWORD[28+rsp] + xor eax,r12d + rol ecx,5 + xor edx,DWORD[52+rsp] + lea r13d,[1859775393+r13*1+r14] + xor eax,r11d + add r13d,ecx + rol edi,30 + add r13d,eax + rol edx,1 + xor ebp,DWORD[24+rsp] + mov eax,esi + mov DWORD[20+rsp],edx + mov ecx,r13d + xor ebp,DWORD[32+rsp] + xor eax,r11d + rol ecx,5 + xor ebp,DWORD[56+rsp] + lea r12d,[1859775393+r12*1+rdx] + xor eax,edi + add r12d,ecx + rol esi,30 + add r12d,eax + rol ebp,1 + xor r14d,DWORD[28+rsp] + mov eax,r13d + mov DWORD[24+rsp],ebp + mov ecx,r12d + xor r14d,DWORD[36+rsp] + xor eax,edi + rol ecx,5 + xor r14d,DWORD[60+rsp] + lea r11d,[1859775393+r11*1+rbp] + xor eax,esi + add r11d,ecx + rol r13d,30 + add r11d,eax + rol r14d,1 + xor edx,DWORD[32+rsp] + mov eax,r12d + mov DWORD[28+rsp],r14d + mov ecx,r11d + xor edx,DWORD[40+rsp] + xor eax,esi + rol ecx,5 + xor edx,DWORD[rsp] + lea edi,[1859775393+rdi*1+r14] + xor eax,r13d + add edi,ecx + rol r12d,30 + add edi,eax + rol edx,1 + xor ebp,DWORD[36+rsp] + mov eax,r11d + mov DWORD[32+rsp],edx + mov ecx,edi + xor ebp,DWORD[44+rsp] + xor eax,r13d + rol ecx,5 + xor ebp,DWORD[4+rsp] + lea esi,[1859775393+rsi*1+rdx] + xor eax,r12d + add esi,ecx + rol r11d,30 + add esi,eax + rol ebp,1 + xor r14d,DWORD[40+rsp] + mov eax,edi + mov DWORD[36+rsp],ebp + mov ecx,esi + xor r14d,DWORD[48+rsp] + xor eax,r12d + rol ecx,5 + xor r14d,DWORD[8+rsp] + lea r13d,[1859775393+r13*1+rbp] + xor eax,r11d + add r13d,ecx + rol edi,30 + add r13d,eax + rol r14d,1 + xor edx,DWORD[44+rsp] + mov eax,esi + mov DWORD[40+rsp],r14d + mov ecx,r13d + xor edx,DWORD[52+rsp] + xor eax,r11d + rol ecx,5 + xor edx,DWORD[12+rsp] + lea r12d,[1859775393+r12*1+r14] + xor eax,edi + add r12d,ecx + rol esi,30 + add r12d,eax + rol edx,1 + xor ebp,DWORD[48+rsp] + mov eax,r13d + mov DWORD[44+rsp],edx + mov ecx,r12d + xor ebp,DWORD[56+rsp] + xor eax,edi + rol ecx,5 + xor ebp,DWORD[16+rsp] + lea r11d,[1859775393+r11*1+rdx] + xor eax,esi + add r11d,ecx + rol r13d,30 + add r11d,eax + rol ebp,1 + xor r14d,DWORD[52+rsp] + mov eax,r12d + mov DWORD[48+rsp],ebp + mov ecx,r11d + xor r14d,DWORD[60+rsp] + xor eax,esi + rol ecx,5 + xor r14d,DWORD[20+rsp] + lea edi,[1859775393+rdi*1+rbp] + xor eax,r13d + add edi,ecx + rol r12d,30 + add edi,eax + rol r14d,1 + xor edx,DWORD[56+rsp] + mov eax,r11d + mov DWORD[52+rsp],r14d + mov ecx,edi + xor edx,DWORD[rsp] + xor eax,r13d + rol ecx,5 + xor edx,DWORD[24+rsp] + lea esi,[1859775393+rsi*1+r14] + xor eax,r12d + add esi,ecx + rol r11d,30 + add esi,eax + rol edx,1 + xor ebp,DWORD[60+rsp] + mov eax,edi + mov DWORD[56+rsp],edx + mov ecx,esi + xor ebp,DWORD[4+rsp] + xor eax,r12d + rol ecx,5 + xor ebp,DWORD[28+rsp] + lea r13d,[1859775393+r13*1+rdx] + xor eax,r11d + add r13d,ecx + rol edi,30 + add r13d,eax + rol ebp,1 + xor r14d,DWORD[rsp] + mov eax,esi + mov DWORD[60+rsp],ebp + mov ecx,r13d + xor r14d,DWORD[8+rsp] + xor eax,r11d + rol ecx,5 + xor r14d,DWORD[32+rsp] + lea r12d,[1859775393+r12*1+rbp] + xor eax,edi + add r12d,ecx + rol esi,30 + add r12d,eax + rol r14d,1 + xor edx,DWORD[4+rsp] + mov eax,r13d + mov DWORD[rsp],r14d + mov ecx,r12d + xor edx,DWORD[12+rsp] + xor eax,edi + rol ecx,5 + xor edx,DWORD[36+rsp] + lea r11d,[1859775393+r11*1+r14] + xor eax,esi + add r11d,ecx + rol r13d,30 + add r11d,eax + rol edx,1 + xor ebp,DWORD[8+rsp] + mov eax,r12d + mov DWORD[4+rsp],edx + mov ecx,r11d + xor ebp,DWORD[16+rsp] + xor eax,esi + rol ecx,5 + xor ebp,DWORD[40+rsp] + lea edi,[1859775393+rdi*1+rdx] + xor eax,r13d + add edi,ecx + rol r12d,30 + add edi,eax + rol ebp,1 + xor r14d,DWORD[12+rsp] + mov eax,r11d + mov DWORD[8+rsp],ebp + mov ecx,edi + xor r14d,DWORD[20+rsp] + xor eax,r13d + rol ecx,5 + xor r14d,DWORD[44+rsp] + lea esi,[1859775393+rsi*1+rbp] + xor eax,r12d + add esi,ecx + rol r11d,30 + add esi,eax + rol r14d,1 + xor edx,DWORD[16+rsp] + mov eax,edi + mov DWORD[12+rsp],r14d + mov ecx,esi + xor edx,DWORD[24+rsp] + xor eax,r12d + rol ecx,5 + xor edx,DWORD[48+rsp] + lea r13d,[1859775393+r13*1+r14] + xor eax,r11d + add r13d,ecx + rol edi,30 + add r13d,eax + rol edx,1 + xor ebp,DWORD[20+rsp] + mov eax,esi + mov DWORD[16+rsp],edx + mov ecx,r13d + xor ebp,DWORD[28+rsp] + xor eax,r11d + rol ecx,5 + xor ebp,DWORD[52+rsp] + lea r12d,[1859775393+r12*1+rdx] + xor eax,edi + add r12d,ecx + rol esi,30 + add r12d,eax + rol ebp,1 + xor r14d,DWORD[24+rsp] + mov eax,r13d + mov DWORD[20+rsp],ebp + mov ecx,r12d + xor r14d,DWORD[32+rsp] + xor eax,edi + rol ecx,5 + xor r14d,DWORD[56+rsp] + lea r11d,[1859775393+r11*1+rbp] + xor eax,esi + add r11d,ecx + rol r13d,30 + add r11d,eax + rol r14d,1 + xor edx,DWORD[28+rsp] + mov eax,r12d + mov DWORD[24+rsp],r14d + mov ecx,r11d + xor edx,DWORD[36+rsp] + xor eax,esi + rol ecx,5 + xor edx,DWORD[60+rsp] + lea edi,[1859775393+rdi*1+r14] + xor eax,r13d + add edi,ecx + rol r12d,30 + add edi,eax + rol edx,1 + xor ebp,DWORD[32+rsp] + mov eax,r11d + mov DWORD[28+rsp],edx + mov ecx,edi + xor ebp,DWORD[40+rsp] + xor eax,r13d + rol ecx,5 + xor ebp,DWORD[rsp] + lea esi,[1859775393+rsi*1+rdx] + xor eax,r12d + add esi,ecx + rol r11d,30 + add esi,eax + rol ebp,1 + xor r14d,DWORD[36+rsp] + mov eax,r12d + mov DWORD[32+rsp],ebp + mov ebx,r12d + xor r14d,DWORD[44+rsp] + and eax,r11d + mov ecx,esi + xor r14d,DWORD[4+rsp] + lea r13d,[((-1894007588))+r13*1+rbp] + xor ebx,r11d + rol ecx,5 + add r13d,eax + rol r14d,1 + and ebx,edi + add r13d,ecx + rol edi,30 + add r13d,ebx + xor edx,DWORD[40+rsp] + mov eax,r11d + mov DWORD[36+rsp],r14d + mov ebx,r11d + xor edx,DWORD[48+rsp] + and eax,edi + mov ecx,r13d + xor edx,DWORD[8+rsp] + lea r12d,[((-1894007588))+r12*1+r14] + xor ebx,edi + rol ecx,5 + add r12d,eax + rol edx,1 + and ebx,esi + add r12d,ecx + rol esi,30 + add r12d,ebx + xor ebp,DWORD[44+rsp] + mov eax,edi + mov DWORD[40+rsp],edx + mov ebx,edi + xor ebp,DWORD[52+rsp] + and eax,esi + mov ecx,r12d + xor ebp,DWORD[12+rsp] + lea r11d,[((-1894007588))+r11*1+rdx] + xor ebx,esi + rol ecx,5 + add r11d,eax + rol ebp,1 + and ebx,r13d + add r11d,ecx + rol r13d,30 + add r11d,ebx + xor r14d,DWORD[48+rsp] + mov eax,esi + mov DWORD[44+rsp],ebp + mov ebx,esi + xor r14d,DWORD[56+rsp] + and eax,r13d + mov ecx,r11d + xor r14d,DWORD[16+rsp] + lea edi,[((-1894007588))+rdi*1+rbp] + xor ebx,r13d + rol ecx,5 + add edi,eax + rol r14d,1 + and ebx,r12d + add edi,ecx + rol r12d,30 + add edi,ebx + xor edx,DWORD[52+rsp] + mov eax,r13d + mov DWORD[48+rsp],r14d + mov ebx,r13d + xor edx,DWORD[60+rsp] + and eax,r12d + mov ecx,edi + xor edx,DWORD[20+rsp] + lea esi,[((-1894007588))+rsi*1+r14] + xor ebx,r12d + rol ecx,5 + add esi,eax + rol edx,1 + and ebx,r11d + add esi,ecx + rol r11d,30 + add esi,ebx + xor ebp,DWORD[56+rsp] + mov eax,r12d + mov DWORD[52+rsp],edx + mov ebx,r12d + xor ebp,DWORD[rsp] + and eax,r11d + mov ecx,esi + xor ebp,DWORD[24+rsp] + lea r13d,[((-1894007588))+r13*1+rdx] + xor ebx,r11d + rol ecx,5 + add r13d,eax + rol ebp,1 + and ebx,edi + add r13d,ecx + rol edi,30 + add r13d,ebx + xor r14d,DWORD[60+rsp] + mov eax,r11d + mov DWORD[56+rsp],ebp + mov ebx,r11d + xor r14d,DWORD[4+rsp] + and eax,edi + mov ecx,r13d + xor r14d,DWORD[28+rsp] + lea r12d,[((-1894007588))+r12*1+rbp] + xor ebx,edi + rol ecx,5 + add r12d,eax + rol r14d,1 + and ebx,esi + add r12d,ecx + rol esi,30 + add r12d,ebx + xor edx,DWORD[rsp] + mov eax,edi + mov DWORD[60+rsp],r14d + mov ebx,edi + xor edx,DWORD[8+rsp] + and eax,esi + mov ecx,r12d + xor edx,DWORD[32+rsp] + lea r11d,[((-1894007588))+r11*1+r14] + xor ebx,esi + rol ecx,5 + add r11d,eax + rol edx,1 + and ebx,r13d + add r11d,ecx + rol r13d,30 + add r11d,ebx + xor ebp,DWORD[4+rsp] + mov eax,esi + mov DWORD[rsp],edx + mov ebx,esi + xor ebp,DWORD[12+rsp] + and eax,r13d + mov ecx,r11d + xor ebp,DWORD[36+rsp] + lea edi,[((-1894007588))+rdi*1+rdx] + xor ebx,r13d + rol ecx,5 + add edi,eax + rol ebp,1 + and ebx,r12d + add edi,ecx + rol r12d,30 + add edi,ebx + xor r14d,DWORD[8+rsp] + mov eax,r13d + mov DWORD[4+rsp],ebp + mov ebx,r13d + xor r14d,DWORD[16+rsp] + and eax,r12d + mov ecx,edi + xor r14d,DWORD[40+rsp] + lea esi,[((-1894007588))+rsi*1+rbp] + xor ebx,r12d + rol ecx,5 + add esi,eax + rol r14d,1 + and ebx,r11d + add esi,ecx + rol r11d,30 + add esi,ebx + xor edx,DWORD[12+rsp] + mov eax,r12d + mov DWORD[8+rsp],r14d + mov ebx,r12d + xor edx,DWORD[20+rsp] + and eax,r11d + mov ecx,esi + xor edx,DWORD[44+rsp] + lea r13d,[((-1894007588))+r13*1+r14] + xor ebx,r11d + rol ecx,5 + add r13d,eax + rol edx,1 + and ebx,edi + add r13d,ecx + rol edi,30 + add r13d,ebx + xor ebp,DWORD[16+rsp] + mov eax,r11d + mov DWORD[12+rsp],edx + mov ebx,r11d + xor ebp,DWORD[24+rsp] + and eax,edi + mov ecx,r13d + xor ebp,DWORD[48+rsp] + lea r12d,[((-1894007588))+r12*1+rdx] + xor ebx,edi + rol ecx,5 + add r12d,eax + rol ebp,1 + and ebx,esi + add r12d,ecx + rol esi,30 + add r12d,ebx + xor r14d,DWORD[20+rsp] + mov eax,edi + mov DWORD[16+rsp],ebp + mov ebx,edi + xor r14d,DWORD[28+rsp] + and eax,esi + mov ecx,r12d + xor r14d,DWORD[52+rsp] + lea r11d,[((-1894007588))+r11*1+rbp] + xor ebx,esi + rol ecx,5 + add r11d,eax + rol r14d,1 + and ebx,r13d + add r11d,ecx + rol r13d,30 + add r11d,ebx + xor edx,DWORD[24+rsp] + mov eax,esi + mov DWORD[20+rsp],r14d + mov ebx,esi + xor edx,DWORD[32+rsp] + and eax,r13d + mov ecx,r11d + xor edx,DWORD[56+rsp] + lea edi,[((-1894007588))+rdi*1+r14] + xor ebx,r13d + rol ecx,5 + add edi,eax + rol edx,1 + and ebx,r12d + add edi,ecx + rol r12d,30 + add edi,ebx + xor ebp,DWORD[28+rsp] + mov eax,r13d + mov DWORD[24+rsp],edx + mov ebx,r13d + xor ebp,DWORD[36+rsp] + and eax,r12d + mov ecx,edi + xor ebp,DWORD[60+rsp] + lea esi,[((-1894007588))+rsi*1+rdx] + xor ebx,r12d + rol ecx,5 + add esi,eax + rol ebp,1 + and ebx,r11d + add esi,ecx + rol r11d,30 + add esi,ebx + xor r14d,DWORD[32+rsp] + mov eax,r12d + mov DWORD[28+rsp],ebp + mov ebx,r12d + xor r14d,DWORD[40+rsp] + and eax,r11d + mov ecx,esi + xor r14d,DWORD[rsp] + lea r13d,[((-1894007588))+r13*1+rbp] + xor ebx,r11d + rol ecx,5 + add r13d,eax + rol r14d,1 + and ebx,edi + add r13d,ecx + rol edi,30 + add r13d,ebx + xor edx,DWORD[36+rsp] + mov eax,r11d + mov DWORD[32+rsp],r14d + mov ebx,r11d + xor edx,DWORD[44+rsp] + and eax,edi + mov ecx,r13d + xor edx,DWORD[4+rsp] + lea r12d,[((-1894007588))+r12*1+r14] + xor ebx,edi + rol ecx,5 + add r12d,eax + rol edx,1 + and ebx,esi + add r12d,ecx + rol esi,30 + add r12d,ebx + xor ebp,DWORD[40+rsp] + mov eax,edi + mov DWORD[36+rsp],edx + mov ebx,edi + xor ebp,DWORD[48+rsp] + and eax,esi + mov ecx,r12d + xor ebp,DWORD[8+rsp] + lea r11d,[((-1894007588))+r11*1+rdx] + xor ebx,esi + rol ecx,5 + add r11d,eax + rol ebp,1 + and ebx,r13d + add r11d,ecx + rol r13d,30 + add r11d,ebx + xor r14d,DWORD[44+rsp] + mov eax,esi + mov DWORD[40+rsp],ebp + mov ebx,esi + xor r14d,DWORD[52+rsp] + and eax,r13d + mov ecx,r11d + xor r14d,DWORD[12+rsp] + lea edi,[((-1894007588))+rdi*1+rbp] + xor ebx,r13d + rol ecx,5 + add edi,eax + rol r14d,1 + and ebx,r12d + add edi,ecx + rol r12d,30 + add edi,ebx + xor edx,DWORD[48+rsp] + mov eax,r13d + mov DWORD[44+rsp],r14d + mov ebx,r13d + xor edx,DWORD[56+rsp] + and eax,r12d + mov ecx,edi + xor edx,DWORD[16+rsp] + lea esi,[((-1894007588))+rsi*1+r14] + xor ebx,r12d + rol ecx,5 + add esi,eax + rol edx,1 + and ebx,r11d + add esi,ecx + rol r11d,30 + add esi,ebx + xor ebp,DWORD[52+rsp] + mov eax,edi + mov DWORD[48+rsp],edx + mov ecx,esi + xor ebp,DWORD[60+rsp] + xor eax,r12d + rol ecx,5 + xor ebp,DWORD[20+rsp] + lea r13d,[((-899497514))+r13*1+rdx] + xor eax,r11d + add r13d,ecx + rol edi,30 + add r13d,eax + rol ebp,1 + xor r14d,DWORD[56+rsp] + mov eax,esi + mov DWORD[52+rsp],ebp + mov ecx,r13d + xor r14d,DWORD[rsp] + xor eax,r11d + rol ecx,5 + xor r14d,DWORD[24+rsp] + lea r12d,[((-899497514))+r12*1+rbp] + xor eax,edi + add r12d,ecx + rol esi,30 + add r12d,eax + rol r14d,1 + xor edx,DWORD[60+rsp] + mov eax,r13d + mov DWORD[56+rsp],r14d + mov ecx,r12d + xor edx,DWORD[4+rsp] + xor eax,edi + rol ecx,5 + xor edx,DWORD[28+rsp] + lea r11d,[((-899497514))+r11*1+r14] + xor eax,esi + add r11d,ecx + rol r13d,30 + add r11d,eax + rol edx,1 + xor ebp,DWORD[rsp] + mov eax,r12d + mov DWORD[60+rsp],edx + mov ecx,r11d + xor ebp,DWORD[8+rsp] + xor eax,esi + rol ecx,5 + xor ebp,DWORD[32+rsp] + lea edi,[((-899497514))+rdi*1+rdx] + xor eax,r13d + add edi,ecx + rol r12d,30 + add edi,eax + rol ebp,1 + xor r14d,DWORD[4+rsp] + mov eax,r11d + mov DWORD[rsp],ebp + mov ecx,edi + xor r14d,DWORD[12+rsp] + xor eax,r13d + rol ecx,5 + xor r14d,DWORD[36+rsp] + lea esi,[((-899497514))+rsi*1+rbp] + xor eax,r12d + add esi,ecx + rol r11d,30 + add esi,eax + rol r14d,1 + xor edx,DWORD[8+rsp] + mov eax,edi + mov DWORD[4+rsp],r14d + mov ecx,esi + xor edx,DWORD[16+rsp] + xor eax,r12d + rol ecx,5 + xor edx,DWORD[40+rsp] + lea r13d,[((-899497514))+r13*1+r14] + xor eax,r11d + add r13d,ecx + rol edi,30 + add r13d,eax + rol edx,1 + xor ebp,DWORD[12+rsp] + mov eax,esi + mov DWORD[8+rsp],edx + mov ecx,r13d + xor ebp,DWORD[20+rsp] + xor eax,r11d + rol ecx,5 + xor ebp,DWORD[44+rsp] + lea r12d,[((-899497514))+r12*1+rdx] + xor eax,edi + add r12d,ecx + rol esi,30 + add r12d,eax + rol ebp,1 + xor r14d,DWORD[16+rsp] + mov eax,r13d + mov DWORD[12+rsp],ebp + mov ecx,r12d + xor r14d,DWORD[24+rsp] + xor eax,edi + rol ecx,5 + xor r14d,DWORD[48+rsp] + lea r11d,[((-899497514))+r11*1+rbp] + xor eax,esi + add r11d,ecx + rol r13d,30 + add r11d,eax + rol r14d,1 + xor edx,DWORD[20+rsp] + mov eax,r12d + mov DWORD[16+rsp],r14d + mov ecx,r11d + xor edx,DWORD[28+rsp] + xor eax,esi + rol ecx,5 + xor edx,DWORD[52+rsp] + lea edi,[((-899497514))+rdi*1+r14] + xor eax,r13d + add edi,ecx + rol r12d,30 + add edi,eax + rol edx,1 + xor ebp,DWORD[24+rsp] + mov eax,r11d + mov DWORD[20+rsp],edx + mov ecx,edi + xor ebp,DWORD[32+rsp] + xor eax,r13d + rol ecx,5 + xor ebp,DWORD[56+rsp] + lea esi,[((-899497514))+rsi*1+rdx] + xor eax,r12d + add esi,ecx + rol r11d,30 + add esi,eax + rol ebp,1 + xor r14d,DWORD[28+rsp] + mov eax,edi + mov DWORD[24+rsp],ebp + mov ecx,esi + xor r14d,DWORD[36+rsp] + xor eax,r12d + rol ecx,5 + xor r14d,DWORD[60+rsp] + lea r13d,[((-899497514))+r13*1+rbp] + xor eax,r11d + add r13d,ecx + rol edi,30 + add r13d,eax + rol r14d,1 + xor edx,DWORD[32+rsp] + mov eax,esi + mov DWORD[28+rsp],r14d + mov ecx,r13d + xor edx,DWORD[40+rsp] + xor eax,r11d + rol ecx,5 + xor edx,DWORD[rsp] + lea r12d,[((-899497514))+r12*1+r14] + xor eax,edi + add r12d,ecx + rol esi,30 + add r12d,eax + rol edx,1 + xor ebp,DWORD[36+rsp] + mov eax,r13d + + mov ecx,r12d + xor ebp,DWORD[44+rsp] + xor eax,edi + rol ecx,5 + xor ebp,DWORD[4+rsp] + lea r11d,[((-899497514))+r11*1+rdx] + xor eax,esi + add r11d,ecx + rol r13d,30 + add r11d,eax + rol ebp,1 + xor r14d,DWORD[40+rsp] + mov eax,r12d + + mov ecx,r11d + xor r14d,DWORD[48+rsp] + xor eax,esi + rol ecx,5 + xor r14d,DWORD[8+rsp] + lea edi,[((-899497514))+rdi*1+rbp] + xor eax,r13d + add edi,ecx + rol r12d,30 + add edi,eax + rol r14d,1 + xor edx,DWORD[44+rsp] + mov eax,r11d + + mov ecx,edi + xor edx,DWORD[52+rsp] + xor eax,r13d + rol ecx,5 + xor edx,DWORD[12+rsp] + lea esi,[((-899497514))+rsi*1+r14] + xor eax,r12d + add esi,ecx + rol r11d,30 + add esi,eax + rol edx,1 + xor ebp,DWORD[48+rsp] + mov eax,edi + + mov ecx,esi + xor ebp,DWORD[56+rsp] + xor eax,r12d + rol ecx,5 + xor ebp,DWORD[16+rsp] + lea r13d,[((-899497514))+r13*1+rdx] + xor eax,r11d + add r13d,ecx + rol edi,30 + add r13d,eax + rol ebp,1 + xor r14d,DWORD[52+rsp] + mov eax,esi + + mov ecx,r13d + xor r14d,DWORD[60+rsp] + xor eax,r11d + rol ecx,5 + xor r14d,DWORD[20+rsp] + lea r12d,[((-899497514))+r12*1+rbp] + xor eax,edi + add r12d,ecx + rol esi,30 + add r12d,eax + rol r14d,1 + xor edx,DWORD[56+rsp] + mov eax,r13d + + mov ecx,r12d + xor edx,DWORD[rsp] + xor eax,edi + rol ecx,5 + xor edx,DWORD[24+rsp] + lea r11d,[((-899497514))+r11*1+r14] + xor eax,esi + add r11d,ecx + rol r13d,30 + add r11d,eax + rol edx,1 + xor ebp,DWORD[60+rsp] + mov eax,r12d + + mov ecx,r11d + xor ebp,DWORD[4+rsp] + xor eax,esi + rol ecx,5 + xor ebp,DWORD[28+rsp] + lea edi,[((-899497514))+rdi*1+rdx] + xor eax,r13d + add edi,ecx + rol r12d,30 + add edi,eax + rol ebp,1 + mov eax,r11d + mov ecx,edi + xor eax,r13d + lea esi,[((-899497514))+rsi*1+rbp] + rol ecx,5 + xor eax,r12d + add esi,ecx + rol r11d,30 + add esi,eax + add esi,DWORD[r8] + add edi,DWORD[4+r8] + add r11d,DWORD[8+r8] + add r12d,DWORD[12+r8] + add r13d,DWORD[16+r8] + mov DWORD[r8],esi + mov DWORD[4+r8],edi + mov DWORD[8+r8],r11d + mov DWORD[12+r8],r12d + mov DWORD[16+r8],r13d + + sub r10,1 + lea r9,[64+r9] + jnz NEAR $L$loop + + mov rsi,QWORD[64+rsp] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha1_block_data_order: + +ALIGN 32 +sha1_block_data_order_shaext: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_block_data_order_shaext: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_shaext_shortcut: + lea rsp,[((-72))+rsp] + movaps XMMWORD[(-8-64)+rax],xmm6 + movaps XMMWORD[(-8-48)+rax],xmm7 + movaps XMMWORD[(-8-32)+rax],xmm8 + movaps XMMWORD[(-8-16)+rax],xmm9 +$L$prologue_shaext: + movdqu xmm0,XMMWORD[rdi] + movd xmm1,DWORD[16+rdi] + movdqa xmm3,XMMWORD[((K_XX_XX+160))] + + movdqu xmm4,XMMWORD[rsi] + pshufd xmm0,xmm0,27 + movdqu xmm5,XMMWORD[16+rsi] + pshufd xmm1,xmm1,27 + movdqu xmm6,XMMWORD[32+rsi] +DB 102,15,56,0,227 + movdqu xmm7,XMMWORD[48+rsi] +DB 102,15,56,0,235 +DB 102,15,56,0,243 + movdqa xmm9,xmm1 +DB 102,15,56,0,251 + jmp NEAR $L$oop_shaext + +ALIGN 16 +$L$oop_shaext: + dec rdx + lea r8,[64+rsi] + paddd xmm1,xmm4 + cmovne rsi,r8 + movdqa xmm8,xmm0 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,0 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,0 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,0 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,0 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,0 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,1 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,1 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,1 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,1 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,1 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,2 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,2 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 +DB 15,56,201,229 + movdqa xmm2,xmm0 +DB 15,58,204,193,2 +DB 15,56,200,213 + pxor xmm4,xmm6 +DB 15,56,201,238 +DB 15,56,202,231 + + movdqa xmm1,xmm0 +DB 15,58,204,194,2 +DB 15,56,200,206 + pxor xmm5,xmm7 +DB 15,56,202,236 +DB 15,56,201,247 + movdqa xmm2,xmm0 +DB 15,58,204,193,2 +DB 15,56,200,215 + pxor xmm6,xmm4 +DB 15,56,201,252 +DB 15,56,202,245 + + movdqa xmm1,xmm0 +DB 15,58,204,194,3 +DB 15,56,200,204 + pxor xmm7,xmm5 +DB 15,56,202,254 + movdqu xmm4,XMMWORD[rsi] + movdqa xmm2,xmm0 +DB 15,58,204,193,3 +DB 15,56,200,213 + movdqu xmm5,XMMWORD[16+rsi] +DB 102,15,56,0,227 + + movdqa xmm1,xmm0 +DB 15,58,204,194,3 +DB 15,56,200,206 + movdqu xmm6,XMMWORD[32+rsi] +DB 102,15,56,0,235 + + movdqa xmm2,xmm0 +DB 15,58,204,193,3 +DB 15,56,200,215 + movdqu xmm7,XMMWORD[48+rsi] +DB 102,15,56,0,243 + + movdqa xmm1,xmm0 +DB 15,58,204,194,3 +DB 65,15,56,200,201 +DB 102,15,56,0,251 + + paddd xmm0,xmm8 + movdqa xmm9,xmm1 + + jnz NEAR $L$oop_shaext + + pshufd xmm0,xmm0,27 + pshufd xmm1,xmm1,27 + movdqu XMMWORD[rdi],xmm0 + movd DWORD[16+rdi],xmm1 + movaps xmm6,XMMWORD[((-8-64))+rax] + movaps xmm7,XMMWORD[((-8-48))+rax] + movaps xmm8,XMMWORD[((-8-32))+rax] + movaps xmm9,XMMWORD[((-8-16))+rax] + mov rsp,rax +$L$epilogue_shaext: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha1_block_data_order_shaext: + +ALIGN 16 +sha1_block_data_order_ssse3: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_block_data_order_ssse3: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_ssse3_shortcut: + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + lea rsp,[((-160))+rsp] + movaps XMMWORD[(-40-96)+rax],xmm6 + movaps XMMWORD[(-40-80)+rax],xmm7 + movaps XMMWORD[(-40-64)+rax],xmm8 + movaps XMMWORD[(-40-48)+rax],xmm9 + movaps XMMWORD[(-40-32)+rax],xmm10 + movaps XMMWORD[(-40-16)+rax],xmm11 +$L$prologue_ssse3: + mov r14,rax + and rsp,-64 + mov r8,rdi + mov r9,rsi + mov r10,rdx + + shl r10,6 + add r10,r9 + lea r11,[((K_XX_XX+64))] + + mov eax,DWORD[r8] + mov ebx,DWORD[4+r8] + mov ecx,DWORD[8+r8] + mov edx,DWORD[12+r8] + mov esi,ebx + mov ebp,DWORD[16+r8] + mov edi,ecx + xor edi,edx + and esi,edi + + movdqa xmm6,XMMWORD[64+r11] + movdqa xmm9,XMMWORD[((-64))+r11] + movdqu xmm0,XMMWORD[r9] + movdqu xmm1,XMMWORD[16+r9] + movdqu xmm2,XMMWORD[32+r9] + movdqu xmm3,XMMWORD[48+r9] +DB 102,15,56,0,198 +DB 102,15,56,0,206 +DB 102,15,56,0,214 + add r9,64 + paddd xmm0,xmm9 +DB 102,15,56,0,222 + paddd xmm1,xmm9 + paddd xmm2,xmm9 + movdqa XMMWORD[rsp],xmm0 + psubd xmm0,xmm9 + movdqa XMMWORD[16+rsp],xmm1 + psubd xmm1,xmm9 + movdqa XMMWORD[32+rsp],xmm2 + psubd xmm2,xmm9 + jmp NEAR $L$oop_ssse3 +ALIGN 16 +$L$oop_ssse3: + ror ebx,2 + pshufd xmm4,xmm0,238 + xor esi,edx + movdqa xmm8,xmm3 + paddd xmm9,xmm3 + mov edi,eax + add ebp,DWORD[rsp] + punpcklqdq xmm4,xmm1 + xor ebx,ecx + rol eax,5 + add ebp,esi + psrldq xmm8,4 + and edi,ebx + xor ebx,ecx + pxor xmm4,xmm0 + add ebp,eax + ror eax,7 + pxor xmm8,xmm2 + xor edi,ecx + mov esi,ebp + add edx,DWORD[4+rsp] + pxor xmm4,xmm8 + xor eax,ebx + rol ebp,5 + movdqa XMMWORD[48+rsp],xmm9 + add edx,edi + and esi,eax + movdqa xmm10,xmm4 + xor eax,ebx + add edx,ebp + ror ebp,7 + movdqa xmm8,xmm4 + xor esi,ebx + pslldq xmm10,12 + paddd xmm4,xmm4 + mov edi,edx + add ecx,DWORD[8+rsp] + psrld xmm8,31 + xor ebp,eax + rol edx,5 + add ecx,esi + movdqa xmm9,xmm10 + and edi,ebp + xor ebp,eax + psrld xmm10,30 + add ecx,edx + ror edx,7 + por xmm4,xmm8 + xor edi,eax + mov esi,ecx + add ebx,DWORD[12+rsp] + pslld xmm9,2 + pxor xmm4,xmm10 + xor edx,ebp + movdqa xmm10,XMMWORD[((-64))+r11] + rol ecx,5 + add ebx,edi + and esi,edx + pxor xmm4,xmm9 + xor edx,ebp + add ebx,ecx + ror ecx,7 + pshufd xmm5,xmm1,238 + xor esi,ebp + movdqa xmm9,xmm4 + paddd xmm10,xmm4 + mov edi,ebx + add eax,DWORD[16+rsp] + punpcklqdq xmm5,xmm2 + xor ecx,edx + rol ebx,5 + add eax,esi + psrldq xmm9,4 + and edi,ecx + xor ecx,edx + pxor xmm5,xmm1 + add eax,ebx + ror ebx,7 + pxor xmm9,xmm3 + xor edi,edx + mov esi,eax + add ebp,DWORD[20+rsp] + pxor xmm5,xmm9 + xor ebx,ecx + rol eax,5 + movdqa XMMWORD[rsp],xmm10 + add ebp,edi + and esi,ebx + movdqa xmm8,xmm5 + xor ebx,ecx + add ebp,eax + ror eax,7 + movdqa xmm9,xmm5 + xor esi,ecx + pslldq xmm8,12 + paddd xmm5,xmm5 + mov edi,ebp + add edx,DWORD[24+rsp] + psrld xmm9,31 + xor eax,ebx + rol ebp,5 + add edx,esi + movdqa xmm10,xmm8 + and edi,eax + xor eax,ebx + psrld xmm8,30 + add edx,ebp + ror ebp,7 + por xmm5,xmm9 + xor edi,ebx + mov esi,edx + add ecx,DWORD[28+rsp] + pslld xmm10,2 + pxor xmm5,xmm8 + xor ebp,eax + movdqa xmm8,XMMWORD[((-32))+r11] + rol edx,5 + add ecx,edi + and esi,ebp + pxor xmm5,xmm10 + xor ebp,eax + add ecx,edx + ror edx,7 + pshufd xmm6,xmm2,238 + xor esi,eax + movdqa xmm10,xmm5 + paddd xmm8,xmm5 + mov edi,ecx + add ebx,DWORD[32+rsp] + punpcklqdq xmm6,xmm3 + xor edx,ebp + rol ecx,5 + add ebx,esi + psrldq xmm10,4 + and edi,edx + xor edx,ebp + pxor xmm6,xmm2 + add ebx,ecx + ror ecx,7 + pxor xmm10,xmm4 + xor edi,ebp + mov esi,ebx + add eax,DWORD[36+rsp] + pxor xmm6,xmm10 + xor ecx,edx + rol ebx,5 + movdqa XMMWORD[16+rsp],xmm8 + add eax,edi + and esi,ecx + movdqa xmm9,xmm6 + xor ecx,edx + add eax,ebx + ror ebx,7 + movdqa xmm10,xmm6 + xor esi,edx + pslldq xmm9,12 + paddd xmm6,xmm6 + mov edi,eax + add ebp,DWORD[40+rsp] + psrld xmm10,31 + xor ebx,ecx + rol eax,5 + add ebp,esi + movdqa xmm8,xmm9 + and edi,ebx + xor ebx,ecx + psrld xmm9,30 + add ebp,eax + ror eax,7 + por xmm6,xmm10 + xor edi,ecx + mov esi,ebp + add edx,DWORD[44+rsp] + pslld xmm8,2 + pxor xmm6,xmm9 + xor eax,ebx + movdqa xmm9,XMMWORD[((-32))+r11] + rol ebp,5 + add edx,edi + and esi,eax + pxor xmm6,xmm8 + xor eax,ebx + add edx,ebp + ror ebp,7 + pshufd xmm7,xmm3,238 + xor esi,ebx + movdqa xmm8,xmm6 + paddd xmm9,xmm6 + mov edi,edx + add ecx,DWORD[48+rsp] + punpcklqdq xmm7,xmm4 + xor ebp,eax + rol edx,5 + add ecx,esi + psrldq xmm8,4 + and edi,ebp + xor ebp,eax + pxor xmm7,xmm3 + add ecx,edx + ror edx,7 + pxor xmm8,xmm5 + xor edi,eax + mov esi,ecx + add ebx,DWORD[52+rsp] + pxor xmm7,xmm8 + xor edx,ebp + rol ecx,5 + movdqa XMMWORD[32+rsp],xmm9 + add ebx,edi + and esi,edx + movdqa xmm10,xmm7 + xor edx,ebp + add ebx,ecx + ror ecx,7 + movdqa xmm8,xmm7 + xor esi,ebp + pslldq xmm10,12 + paddd xmm7,xmm7 + mov edi,ebx + add eax,DWORD[56+rsp] + psrld xmm8,31 + xor ecx,edx + rol ebx,5 + add eax,esi + movdqa xmm9,xmm10 + and edi,ecx + xor ecx,edx + psrld xmm10,30 + add eax,ebx + ror ebx,7 + por xmm7,xmm8 + xor edi,edx + mov esi,eax + add ebp,DWORD[60+rsp] + pslld xmm9,2 + pxor xmm7,xmm10 + xor ebx,ecx + movdqa xmm10,XMMWORD[((-32))+r11] + rol eax,5 + add ebp,edi + and esi,ebx + pxor xmm7,xmm9 + pshufd xmm9,xmm6,238 + xor ebx,ecx + add ebp,eax + ror eax,7 + pxor xmm0,xmm4 + xor esi,ecx + mov edi,ebp + add edx,DWORD[rsp] + punpcklqdq xmm9,xmm7 + xor eax,ebx + rol ebp,5 + pxor xmm0,xmm1 + add edx,esi + and edi,eax + movdqa xmm8,xmm10 + xor eax,ebx + paddd xmm10,xmm7 + add edx,ebp + pxor xmm0,xmm9 + ror ebp,7 + xor edi,ebx + mov esi,edx + add ecx,DWORD[4+rsp] + movdqa xmm9,xmm0 + xor ebp,eax + rol edx,5 + movdqa XMMWORD[48+rsp],xmm10 + add ecx,edi + and esi,ebp + xor ebp,eax + pslld xmm0,2 + add ecx,edx + ror edx,7 + psrld xmm9,30 + xor esi,eax + mov edi,ecx + add ebx,DWORD[8+rsp] + por xmm0,xmm9 + xor edx,ebp + rol ecx,5 + pshufd xmm10,xmm7,238 + add ebx,esi + and edi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[12+rsp] + xor edi,ebp + mov esi,ebx + rol ebx,5 + add eax,edi + xor esi,edx + ror ecx,7 + add eax,ebx + pxor xmm1,xmm5 + add ebp,DWORD[16+rsp] + xor esi,ecx + punpcklqdq xmm10,xmm0 + mov edi,eax + rol eax,5 + pxor xmm1,xmm2 + add ebp,esi + xor edi,ecx + movdqa xmm9,xmm8 + ror ebx,7 + paddd xmm8,xmm0 + add ebp,eax + pxor xmm1,xmm10 + add edx,DWORD[20+rsp] + xor edi,ebx + mov esi,ebp + rol ebp,5 + movdqa xmm10,xmm1 + add edx,edi + xor esi,ebx + movdqa XMMWORD[rsp],xmm8 + ror eax,7 + add edx,ebp + add ecx,DWORD[24+rsp] + pslld xmm1,2 + xor esi,eax + mov edi,edx + psrld xmm10,30 + rol edx,5 + add ecx,esi + xor edi,eax + ror ebp,7 + por xmm1,xmm10 + add ecx,edx + add ebx,DWORD[28+rsp] + pshufd xmm8,xmm0,238 + xor edi,ebp + mov esi,ecx + rol ecx,5 + add ebx,edi + xor esi,ebp + ror edx,7 + add ebx,ecx + pxor xmm2,xmm6 + add eax,DWORD[32+rsp] + xor esi,edx + punpcklqdq xmm8,xmm1 + mov edi,ebx + rol ebx,5 + pxor xmm2,xmm3 + add eax,esi + xor edi,edx + movdqa xmm10,XMMWORD[r11] + ror ecx,7 + paddd xmm9,xmm1 + add eax,ebx + pxor xmm2,xmm8 + add ebp,DWORD[36+rsp] + xor edi,ecx + mov esi,eax + rol eax,5 + movdqa xmm8,xmm2 + add ebp,edi + xor esi,ecx + movdqa XMMWORD[16+rsp],xmm9 + ror ebx,7 + add ebp,eax + add edx,DWORD[40+rsp] + pslld xmm2,2 + xor esi,ebx + mov edi,ebp + psrld xmm8,30 + rol ebp,5 + add edx,esi + xor edi,ebx + ror eax,7 + por xmm2,xmm8 + add edx,ebp + add ecx,DWORD[44+rsp] + pshufd xmm9,xmm1,238 + xor edi,eax + mov esi,edx + rol edx,5 + add ecx,edi + xor esi,eax + ror ebp,7 + add ecx,edx + pxor xmm3,xmm7 + add ebx,DWORD[48+rsp] + xor esi,ebp + punpcklqdq xmm9,xmm2 + mov edi,ecx + rol ecx,5 + pxor xmm3,xmm4 + add ebx,esi + xor edi,ebp + movdqa xmm8,xmm10 + ror edx,7 + paddd xmm10,xmm2 + add ebx,ecx + pxor xmm3,xmm9 + add eax,DWORD[52+rsp] + xor edi,edx + mov esi,ebx + rol ebx,5 + movdqa xmm9,xmm3 + add eax,edi + xor esi,edx + movdqa XMMWORD[32+rsp],xmm10 + ror ecx,7 + add eax,ebx + add ebp,DWORD[56+rsp] + pslld xmm3,2 + xor esi,ecx + mov edi,eax + psrld xmm9,30 + rol eax,5 + add ebp,esi + xor edi,ecx + ror ebx,7 + por xmm3,xmm9 + add ebp,eax + add edx,DWORD[60+rsp] + pshufd xmm10,xmm2,238 + xor edi,ebx + mov esi,ebp + rol ebp,5 + add edx,edi + xor esi,ebx + ror eax,7 + add edx,ebp + pxor xmm4,xmm0 + add ecx,DWORD[rsp] + xor esi,eax + punpcklqdq xmm10,xmm3 + mov edi,edx + rol edx,5 + pxor xmm4,xmm5 + add ecx,esi + xor edi,eax + movdqa xmm9,xmm8 + ror ebp,7 + paddd xmm8,xmm3 + add ecx,edx + pxor xmm4,xmm10 + add ebx,DWORD[4+rsp] + xor edi,ebp + mov esi,ecx + rol ecx,5 + movdqa xmm10,xmm4 + add ebx,edi + xor esi,ebp + movdqa XMMWORD[48+rsp],xmm8 + ror edx,7 + add ebx,ecx + add eax,DWORD[8+rsp] + pslld xmm4,2 + xor esi,edx + mov edi,ebx + psrld xmm10,30 + rol ebx,5 + add eax,esi + xor edi,edx + ror ecx,7 + por xmm4,xmm10 + add eax,ebx + add ebp,DWORD[12+rsp] + pshufd xmm8,xmm3,238 + xor edi,ecx + mov esi,eax + rol eax,5 + add ebp,edi + xor esi,ecx + ror ebx,7 + add ebp,eax + pxor xmm5,xmm1 + add edx,DWORD[16+rsp] + xor esi,ebx + punpcklqdq xmm8,xmm4 + mov edi,ebp + rol ebp,5 + pxor xmm5,xmm6 + add edx,esi + xor edi,ebx + movdqa xmm10,xmm9 + ror eax,7 + paddd xmm9,xmm4 + add edx,ebp + pxor xmm5,xmm8 + add ecx,DWORD[20+rsp] + xor edi,eax + mov esi,edx + rol edx,5 + movdqa xmm8,xmm5 + add ecx,edi + xor esi,eax + movdqa XMMWORD[rsp],xmm9 + ror ebp,7 + add ecx,edx + add ebx,DWORD[24+rsp] + pslld xmm5,2 + xor esi,ebp + mov edi,ecx + psrld xmm8,30 + rol ecx,5 + add ebx,esi + xor edi,ebp + ror edx,7 + por xmm5,xmm8 + add ebx,ecx + add eax,DWORD[28+rsp] + pshufd xmm9,xmm4,238 + ror ecx,7 + mov esi,ebx + xor edi,edx + rol ebx,5 + add eax,edi + xor esi,ecx + xor ecx,edx + add eax,ebx + pxor xmm6,xmm2 + add ebp,DWORD[32+rsp] + and esi,ecx + xor ecx,edx + ror ebx,7 + punpcklqdq xmm9,xmm5 + mov edi,eax + xor esi,ecx + pxor xmm6,xmm7 + rol eax,5 + add ebp,esi + movdqa xmm8,xmm10 + xor edi,ebx + paddd xmm10,xmm5 + xor ebx,ecx + pxor xmm6,xmm9 + add ebp,eax + add edx,DWORD[36+rsp] + and edi,ebx + xor ebx,ecx + ror eax,7 + movdqa xmm9,xmm6 + mov esi,ebp + xor edi,ebx + movdqa XMMWORD[16+rsp],xmm10 + rol ebp,5 + add edx,edi + xor esi,eax + pslld xmm6,2 + xor eax,ebx + add edx,ebp + psrld xmm9,30 + add ecx,DWORD[40+rsp] + and esi,eax + xor eax,ebx + por xmm6,xmm9 + ror ebp,7 + mov edi,edx + xor esi,eax + rol edx,5 + pshufd xmm10,xmm5,238 + add ecx,esi + xor edi,ebp + xor ebp,eax + add ecx,edx + add ebx,DWORD[44+rsp] + and edi,ebp + xor ebp,eax + ror edx,7 + mov esi,ecx + xor edi,ebp + rol ecx,5 + add ebx,edi + xor esi,edx + xor edx,ebp + add ebx,ecx + pxor xmm7,xmm3 + add eax,DWORD[48+rsp] + and esi,edx + xor edx,ebp + ror ecx,7 + punpcklqdq xmm10,xmm6 + mov edi,ebx + xor esi,edx + pxor xmm7,xmm0 + rol ebx,5 + add eax,esi + movdqa xmm9,XMMWORD[32+r11] + xor edi,ecx + paddd xmm8,xmm6 + xor ecx,edx + pxor xmm7,xmm10 + add eax,ebx + add ebp,DWORD[52+rsp] + and edi,ecx + xor ecx,edx + ror ebx,7 + movdqa xmm10,xmm7 + mov esi,eax + xor edi,ecx + movdqa XMMWORD[32+rsp],xmm8 + rol eax,5 + add ebp,edi + xor esi,ebx + pslld xmm7,2 + xor ebx,ecx + add ebp,eax + psrld xmm10,30 + add edx,DWORD[56+rsp] + and esi,ebx + xor ebx,ecx + por xmm7,xmm10 + ror eax,7 + mov edi,ebp + xor esi,ebx + rol ebp,5 + pshufd xmm8,xmm6,238 + add edx,esi + xor edi,eax + xor eax,ebx + add edx,ebp + add ecx,DWORD[60+rsp] + and edi,eax + xor eax,ebx + ror ebp,7 + mov esi,edx + xor edi,eax + rol edx,5 + add ecx,edi + xor esi,ebp + xor ebp,eax + add ecx,edx + pxor xmm0,xmm4 + add ebx,DWORD[rsp] + and esi,ebp + xor ebp,eax + ror edx,7 + punpcklqdq xmm8,xmm7 + mov edi,ecx + xor esi,ebp + pxor xmm0,xmm1 + rol ecx,5 + add ebx,esi + movdqa xmm10,xmm9 + xor edi,edx + paddd xmm9,xmm7 + xor edx,ebp + pxor xmm0,xmm8 + add ebx,ecx + add eax,DWORD[4+rsp] + and edi,edx + xor edx,ebp + ror ecx,7 + movdqa xmm8,xmm0 + mov esi,ebx + xor edi,edx + movdqa XMMWORD[48+rsp],xmm9 + rol ebx,5 + add eax,edi + xor esi,ecx + pslld xmm0,2 + xor ecx,edx + add eax,ebx + psrld xmm8,30 + add ebp,DWORD[8+rsp] + and esi,ecx + xor ecx,edx + por xmm0,xmm8 + ror ebx,7 + mov edi,eax + xor esi,ecx + rol eax,5 + pshufd xmm9,xmm7,238 + add ebp,esi + xor edi,ebx + xor ebx,ecx + add ebp,eax + add edx,DWORD[12+rsp] + and edi,ebx + xor ebx,ecx + ror eax,7 + mov esi,ebp + xor edi,ebx + rol ebp,5 + add edx,edi + xor esi,eax + xor eax,ebx + add edx,ebp + pxor xmm1,xmm5 + add ecx,DWORD[16+rsp] + and esi,eax + xor eax,ebx + ror ebp,7 + punpcklqdq xmm9,xmm0 + mov edi,edx + xor esi,eax + pxor xmm1,xmm2 + rol edx,5 + add ecx,esi + movdqa xmm8,xmm10 + xor edi,ebp + paddd xmm10,xmm0 + xor ebp,eax + pxor xmm1,xmm9 + add ecx,edx + add ebx,DWORD[20+rsp] + and edi,ebp + xor ebp,eax + ror edx,7 + movdqa xmm9,xmm1 + mov esi,ecx + xor edi,ebp + movdqa XMMWORD[rsp],xmm10 + rol ecx,5 + add ebx,edi + xor esi,edx + pslld xmm1,2 + xor edx,ebp + add ebx,ecx + psrld xmm9,30 + add eax,DWORD[24+rsp] + and esi,edx + xor edx,ebp + por xmm1,xmm9 + ror ecx,7 + mov edi,ebx + xor esi,edx + rol ebx,5 + pshufd xmm10,xmm0,238 + add eax,esi + xor edi,ecx + xor ecx,edx + add eax,ebx + add ebp,DWORD[28+rsp] + and edi,ecx + xor ecx,edx + ror ebx,7 + mov esi,eax + xor edi,ecx + rol eax,5 + add ebp,edi + xor esi,ebx + xor ebx,ecx + add ebp,eax + pxor xmm2,xmm6 + add edx,DWORD[32+rsp] + and esi,ebx + xor ebx,ecx + ror eax,7 + punpcklqdq xmm10,xmm1 + mov edi,ebp + xor esi,ebx + pxor xmm2,xmm3 + rol ebp,5 + add edx,esi + movdqa xmm9,xmm8 + xor edi,eax + paddd xmm8,xmm1 + xor eax,ebx + pxor xmm2,xmm10 + add edx,ebp + add ecx,DWORD[36+rsp] + and edi,eax + xor eax,ebx + ror ebp,7 + movdqa xmm10,xmm2 + mov esi,edx + xor edi,eax + movdqa XMMWORD[16+rsp],xmm8 + rol edx,5 + add ecx,edi + xor esi,ebp + pslld xmm2,2 + xor ebp,eax + add ecx,edx + psrld xmm10,30 + add ebx,DWORD[40+rsp] + and esi,ebp + xor ebp,eax + por xmm2,xmm10 + ror edx,7 + mov edi,ecx + xor esi,ebp + rol ecx,5 + pshufd xmm8,xmm1,238 + add ebx,esi + xor edi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[44+rsp] + and edi,edx + xor edx,ebp + ror ecx,7 + mov esi,ebx + xor edi,edx + rol ebx,5 + add eax,edi + xor esi,edx + add eax,ebx + pxor xmm3,xmm7 + add ebp,DWORD[48+rsp] + xor esi,ecx + punpcklqdq xmm8,xmm2 + mov edi,eax + rol eax,5 + pxor xmm3,xmm4 + add ebp,esi + xor edi,ecx + movdqa xmm10,xmm9 + ror ebx,7 + paddd xmm9,xmm2 + add ebp,eax + pxor xmm3,xmm8 + add edx,DWORD[52+rsp] + xor edi,ebx + mov esi,ebp + rol ebp,5 + movdqa xmm8,xmm3 + add edx,edi + xor esi,ebx + movdqa XMMWORD[32+rsp],xmm9 + ror eax,7 + add edx,ebp + add ecx,DWORD[56+rsp] + pslld xmm3,2 + xor esi,eax + mov edi,edx + psrld xmm8,30 + rol edx,5 + add ecx,esi + xor edi,eax + ror ebp,7 + por xmm3,xmm8 + add ecx,edx + add ebx,DWORD[60+rsp] + xor edi,ebp + mov esi,ecx + rol ecx,5 + add ebx,edi + xor esi,ebp + ror edx,7 + add ebx,ecx + add eax,DWORD[rsp] + xor esi,edx + mov edi,ebx + rol ebx,5 + paddd xmm10,xmm3 + add eax,esi + xor edi,edx + movdqa XMMWORD[48+rsp],xmm10 + ror ecx,7 + add eax,ebx + add ebp,DWORD[4+rsp] + xor edi,ecx + mov esi,eax + rol eax,5 + add ebp,edi + xor esi,ecx + ror ebx,7 + add ebp,eax + add edx,DWORD[8+rsp] + xor esi,ebx + mov edi,ebp + rol ebp,5 + add edx,esi + xor edi,ebx + ror eax,7 + add edx,ebp + add ecx,DWORD[12+rsp] + xor edi,eax + mov esi,edx + rol edx,5 + add ecx,edi + xor esi,eax + ror ebp,7 + add ecx,edx + cmp r9,r10 + je NEAR $L$done_ssse3 + movdqa xmm6,XMMWORD[64+r11] + movdqa xmm9,XMMWORD[((-64))+r11] + movdqu xmm0,XMMWORD[r9] + movdqu xmm1,XMMWORD[16+r9] + movdqu xmm2,XMMWORD[32+r9] + movdqu xmm3,XMMWORD[48+r9] +DB 102,15,56,0,198 + add r9,64 + add ebx,DWORD[16+rsp] + xor esi,ebp + mov edi,ecx +DB 102,15,56,0,206 + rol ecx,5 + add ebx,esi + xor edi,ebp + ror edx,7 + paddd xmm0,xmm9 + add ebx,ecx + add eax,DWORD[20+rsp] + xor edi,edx + mov esi,ebx + movdqa XMMWORD[rsp],xmm0 + rol ebx,5 + add eax,edi + xor esi,edx + ror ecx,7 + psubd xmm0,xmm9 + add eax,ebx + add ebp,DWORD[24+rsp] + xor esi,ecx + mov edi,eax + rol eax,5 + add ebp,esi + xor edi,ecx + ror ebx,7 + add ebp,eax + add edx,DWORD[28+rsp] + xor edi,ebx + mov esi,ebp + rol ebp,5 + add edx,edi + xor esi,ebx + ror eax,7 + add edx,ebp + add ecx,DWORD[32+rsp] + xor esi,eax + mov edi,edx +DB 102,15,56,0,214 + rol edx,5 + add ecx,esi + xor edi,eax + ror ebp,7 + paddd xmm1,xmm9 + add ecx,edx + add ebx,DWORD[36+rsp] + xor edi,ebp + mov esi,ecx + movdqa XMMWORD[16+rsp],xmm1 + rol ecx,5 + add ebx,edi + xor esi,ebp + ror edx,7 + psubd xmm1,xmm9 + add ebx,ecx + add eax,DWORD[40+rsp] + xor esi,edx + mov edi,ebx + rol ebx,5 + add eax,esi + xor edi,edx + ror ecx,7 + add eax,ebx + add ebp,DWORD[44+rsp] + xor edi,ecx + mov esi,eax + rol eax,5 + add ebp,edi + xor esi,ecx + ror ebx,7 + add ebp,eax + add edx,DWORD[48+rsp] + xor esi,ebx + mov edi,ebp +DB 102,15,56,0,222 + rol ebp,5 + add edx,esi + xor edi,ebx + ror eax,7 + paddd xmm2,xmm9 + add edx,ebp + add ecx,DWORD[52+rsp] + xor edi,eax + mov esi,edx + movdqa XMMWORD[32+rsp],xmm2 + rol edx,5 + add ecx,edi + xor esi,eax + ror ebp,7 + psubd xmm2,xmm9 + add ecx,edx + add ebx,DWORD[56+rsp] + xor esi,ebp + mov edi,ecx + rol ecx,5 + add ebx,esi + xor edi,ebp + ror edx,7 + add ebx,ecx + add eax,DWORD[60+rsp] + xor edi,edx + mov esi,ebx + rol ebx,5 + add eax,edi + ror ecx,7 + add eax,ebx + add eax,DWORD[r8] + add esi,DWORD[4+r8] + add ecx,DWORD[8+r8] + add edx,DWORD[12+r8] + mov DWORD[r8],eax + add ebp,DWORD[16+r8] + mov DWORD[4+r8],esi + mov ebx,esi + mov DWORD[8+r8],ecx + mov edi,ecx + mov DWORD[12+r8],edx + xor edi,edx + mov DWORD[16+r8],ebp + and esi,edi + jmp NEAR $L$oop_ssse3 + +ALIGN 16 +$L$done_ssse3: + add ebx,DWORD[16+rsp] + xor esi,ebp + mov edi,ecx + rol ecx,5 + add ebx,esi + xor edi,ebp + ror edx,7 + add ebx,ecx + add eax,DWORD[20+rsp] + xor edi,edx + mov esi,ebx + rol ebx,5 + add eax,edi + xor esi,edx + ror ecx,7 + add eax,ebx + add ebp,DWORD[24+rsp] + xor esi,ecx + mov edi,eax + rol eax,5 + add ebp,esi + xor edi,ecx + ror ebx,7 + add ebp,eax + add edx,DWORD[28+rsp] + xor edi,ebx + mov esi,ebp + rol ebp,5 + add edx,edi + xor esi,ebx + ror eax,7 + add edx,ebp + add ecx,DWORD[32+rsp] + xor esi,eax + mov edi,edx + rol edx,5 + add ecx,esi + xor edi,eax + ror ebp,7 + add ecx,edx + add ebx,DWORD[36+rsp] + xor edi,ebp + mov esi,ecx + rol ecx,5 + add ebx,edi + xor esi,ebp + ror edx,7 + add ebx,ecx + add eax,DWORD[40+rsp] + xor esi,edx + mov edi,ebx + rol ebx,5 + add eax,esi + xor edi,edx + ror ecx,7 + add eax,ebx + add ebp,DWORD[44+rsp] + xor edi,ecx + mov esi,eax + rol eax,5 + add ebp,edi + xor esi,ecx + ror ebx,7 + add ebp,eax + add edx,DWORD[48+rsp] + xor esi,ebx + mov edi,ebp + rol ebp,5 + add edx,esi + xor edi,ebx + ror eax,7 + add edx,ebp + add ecx,DWORD[52+rsp] + xor edi,eax + mov esi,edx + rol edx,5 + add ecx,edi + xor esi,eax + ror ebp,7 + add ecx,edx + add ebx,DWORD[56+rsp] + xor esi,ebp + mov edi,ecx + rol ecx,5 + add ebx,esi + xor edi,ebp + ror edx,7 + add ebx,ecx + add eax,DWORD[60+rsp] + xor edi,edx + mov esi,ebx + rol ebx,5 + add eax,edi + ror ecx,7 + add eax,ebx + add eax,DWORD[r8] + add esi,DWORD[4+r8] + add ecx,DWORD[8+r8] + mov DWORD[r8],eax + add edx,DWORD[12+r8] + mov DWORD[4+r8],esi + add ebp,DWORD[16+r8] + mov DWORD[8+r8],ecx + mov DWORD[12+r8],edx + mov DWORD[16+r8],ebp + movaps xmm6,XMMWORD[((-40-96))+r14] + movaps xmm7,XMMWORD[((-40-80))+r14] + movaps xmm8,XMMWORD[((-40-64))+r14] + movaps xmm9,XMMWORD[((-40-48))+r14] + movaps xmm10,XMMWORD[((-40-32))+r14] + movaps xmm11,XMMWORD[((-40-16))+r14] + lea rsi,[r14] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$epilogue_ssse3: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha1_block_data_order_ssse3: + +ALIGN 16 +sha1_block_data_order_avx: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_block_data_order_avx: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_avx_shortcut: + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + lea rsp,[((-160))+rsp] + vzeroupper + vmovaps XMMWORD[(-40-96)+rax],xmm6 + vmovaps XMMWORD[(-40-80)+rax],xmm7 + vmovaps XMMWORD[(-40-64)+rax],xmm8 + vmovaps XMMWORD[(-40-48)+rax],xmm9 + vmovaps XMMWORD[(-40-32)+rax],xmm10 + vmovaps XMMWORD[(-40-16)+rax],xmm11 +$L$prologue_avx: + mov r14,rax + and rsp,-64 + mov r8,rdi + mov r9,rsi + mov r10,rdx + + shl r10,6 + add r10,r9 + lea r11,[((K_XX_XX+64))] + + mov eax,DWORD[r8] + mov ebx,DWORD[4+r8] + mov ecx,DWORD[8+r8] + mov edx,DWORD[12+r8] + mov esi,ebx + mov ebp,DWORD[16+r8] + mov edi,ecx + xor edi,edx + and esi,edi + + vmovdqa xmm6,XMMWORD[64+r11] + vmovdqa xmm11,XMMWORD[((-64))+r11] + vmovdqu xmm0,XMMWORD[r9] + vmovdqu xmm1,XMMWORD[16+r9] + vmovdqu xmm2,XMMWORD[32+r9] + vmovdqu xmm3,XMMWORD[48+r9] + vpshufb xmm0,xmm0,xmm6 + add r9,64 + vpshufb xmm1,xmm1,xmm6 + vpshufb xmm2,xmm2,xmm6 + vpshufb xmm3,xmm3,xmm6 + vpaddd xmm4,xmm0,xmm11 + vpaddd xmm5,xmm1,xmm11 + vpaddd xmm6,xmm2,xmm11 + vmovdqa XMMWORD[rsp],xmm4 + vmovdqa XMMWORD[16+rsp],xmm5 + vmovdqa XMMWORD[32+rsp],xmm6 + jmp NEAR $L$oop_avx +ALIGN 16 +$L$oop_avx: + shrd ebx,ebx,2 + xor esi,edx + vpalignr xmm4,xmm1,xmm0,8 + mov edi,eax + add ebp,DWORD[rsp] + vpaddd xmm9,xmm11,xmm3 + xor ebx,ecx + shld eax,eax,5 + vpsrldq xmm8,xmm3,4 + add ebp,esi + and edi,ebx + vpxor xmm4,xmm4,xmm0 + xor ebx,ecx + add ebp,eax + vpxor xmm8,xmm8,xmm2 + shrd eax,eax,7 + xor edi,ecx + mov esi,ebp + add edx,DWORD[4+rsp] + vpxor xmm4,xmm4,xmm8 + xor eax,ebx + shld ebp,ebp,5 + vmovdqa XMMWORD[48+rsp],xmm9 + add edx,edi + and esi,eax + vpsrld xmm8,xmm4,31 + xor eax,ebx + add edx,ebp + shrd ebp,ebp,7 + xor esi,ebx + vpslldq xmm10,xmm4,12 + vpaddd xmm4,xmm4,xmm4 + mov edi,edx + add ecx,DWORD[8+rsp] + xor ebp,eax + shld edx,edx,5 + vpsrld xmm9,xmm10,30 + vpor xmm4,xmm4,xmm8 + add ecx,esi + and edi,ebp + xor ebp,eax + add ecx,edx + vpslld xmm10,xmm10,2 + vpxor xmm4,xmm4,xmm9 + shrd edx,edx,7 + xor edi,eax + mov esi,ecx + add ebx,DWORD[12+rsp] + vpxor xmm4,xmm4,xmm10 + xor edx,ebp + shld ecx,ecx,5 + add ebx,edi + and esi,edx + xor edx,ebp + add ebx,ecx + shrd ecx,ecx,7 + xor esi,ebp + vpalignr xmm5,xmm2,xmm1,8 + mov edi,ebx + add eax,DWORD[16+rsp] + vpaddd xmm9,xmm11,xmm4 + xor ecx,edx + shld ebx,ebx,5 + vpsrldq xmm8,xmm4,4 + add eax,esi + and edi,ecx + vpxor xmm5,xmm5,xmm1 + xor ecx,edx + add eax,ebx + vpxor xmm8,xmm8,xmm3 + shrd ebx,ebx,7 + xor edi,edx + mov esi,eax + add ebp,DWORD[20+rsp] + vpxor xmm5,xmm5,xmm8 + xor ebx,ecx + shld eax,eax,5 + vmovdqa XMMWORD[rsp],xmm9 + add ebp,edi + and esi,ebx + vpsrld xmm8,xmm5,31 + xor ebx,ecx + add ebp,eax + shrd eax,eax,7 + xor esi,ecx + vpslldq xmm10,xmm5,12 + vpaddd xmm5,xmm5,xmm5 + mov edi,ebp + add edx,DWORD[24+rsp] + xor eax,ebx + shld ebp,ebp,5 + vpsrld xmm9,xmm10,30 + vpor xmm5,xmm5,xmm8 + add edx,esi + and edi,eax + xor eax,ebx + add edx,ebp + vpslld xmm10,xmm10,2 + vpxor xmm5,xmm5,xmm9 + shrd ebp,ebp,7 + xor edi,ebx + mov esi,edx + add ecx,DWORD[28+rsp] + vpxor xmm5,xmm5,xmm10 + xor ebp,eax + shld edx,edx,5 + vmovdqa xmm11,XMMWORD[((-32))+r11] + add ecx,edi + and esi,ebp + xor ebp,eax + add ecx,edx + shrd edx,edx,7 + xor esi,eax + vpalignr xmm6,xmm3,xmm2,8 + mov edi,ecx + add ebx,DWORD[32+rsp] + vpaddd xmm9,xmm11,xmm5 + xor edx,ebp + shld ecx,ecx,5 + vpsrldq xmm8,xmm5,4 + add ebx,esi + and edi,edx + vpxor xmm6,xmm6,xmm2 + xor edx,ebp + add ebx,ecx + vpxor xmm8,xmm8,xmm4 + shrd ecx,ecx,7 + xor edi,ebp + mov esi,ebx + add eax,DWORD[36+rsp] + vpxor xmm6,xmm6,xmm8 + xor ecx,edx + shld ebx,ebx,5 + vmovdqa XMMWORD[16+rsp],xmm9 + add eax,edi + and esi,ecx + vpsrld xmm8,xmm6,31 + xor ecx,edx + add eax,ebx + shrd ebx,ebx,7 + xor esi,edx + vpslldq xmm10,xmm6,12 + vpaddd xmm6,xmm6,xmm6 + mov edi,eax + add ebp,DWORD[40+rsp] + xor ebx,ecx + shld eax,eax,5 + vpsrld xmm9,xmm10,30 + vpor xmm6,xmm6,xmm8 + add ebp,esi + and edi,ebx + xor ebx,ecx + add ebp,eax + vpslld xmm10,xmm10,2 + vpxor xmm6,xmm6,xmm9 + shrd eax,eax,7 + xor edi,ecx + mov esi,ebp + add edx,DWORD[44+rsp] + vpxor xmm6,xmm6,xmm10 + xor eax,ebx + shld ebp,ebp,5 + add edx,edi + and esi,eax + xor eax,ebx + add edx,ebp + shrd ebp,ebp,7 + xor esi,ebx + vpalignr xmm7,xmm4,xmm3,8 + mov edi,edx + add ecx,DWORD[48+rsp] + vpaddd xmm9,xmm11,xmm6 + xor ebp,eax + shld edx,edx,5 + vpsrldq xmm8,xmm6,4 + add ecx,esi + and edi,ebp + vpxor xmm7,xmm7,xmm3 + xor ebp,eax + add ecx,edx + vpxor xmm8,xmm8,xmm5 + shrd edx,edx,7 + xor edi,eax + mov esi,ecx + add ebx,DWORD[52+rsp] + vpxor xmm7,xmm7,xmm8 + xor edx,ebp + shld ecx,ecx,5 + vmovdqa XMMWORD[32+rsp],xmm9 + add ebx,edi + and esi,edx + vpsrld xmm8,xmm7,31 + xor edx,ebp + add ebx,ecx + shrd ecx,ecx,7 + xor esi,ebp + vpslldq xmm10,xmm7,12 + vpaddd xmm7,xmm7,xmm7 + mov edi,ebx + add eax,DWORD[56+rsp] + xor ecx,edx + shld ebx,ebx,5 + vpsrld xmm9,xmm10,30 + vpor xmm7,xmm7,xmm8 + add eax,esi + and edi,ecx + xor ecx,edx + add eax,ebx + vpslld xmm10,xmm10,2 + vpxor xmm7,xmm7,xmm9 + shrd ebx,ebx,7 + xor edi,edx + mov esi,eax + add ebp,DWORD[60+rsp] + vpxor xmm7,xmm7,xmm10 + xor ebx,ecx + shld eax,eax,5 + add ebp,edi + and esi,ebx + xor ebx,ecx + add ebp,eax + vpalignr xmm8,xmm7,xmm6,8 + vpxor xmm0,xmm0,xmm4 + shrd eax,eax,7 + xor esi,ecx + mov edi,ebp + add edx,DWORD[rsp] + vpxor xmm0,xmm0,xmm1 + xor eax,ebx + shld ebp,ebp,5 + vpaddd xmm9,xmm11,xmm7 + add edx,esi + and edi,eax + vpxor xmm0,xmm0,xmm8 + xor eax,ebx + add edx,ebp + shrd ebp,ebp,7 + xor edi,ebx + vpsrld xmm8,xmm0,30 + vmovdqa XMMWORD[48+rsp],xmm9 + mov esi,edx + add ecx,DWORD[4+rsp] + xor ebp,eax + shld edx,edx,5 + vpslld xmm0,xmm0,2 + add ecx,edi + and esi,ebp + xor ebp,eax + add ecx,edx + shrd edx,edx,7 + xor esi,eax + mov edi,ecx + add ebx,DWORD[8+rsp] + vpor xmm0,xmm0,xmm8 + xor edx,ebp + shld ecx,ecx,5 + add ebx,esi + and edi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[12+rsp] + xor edi,ebp + mov esi,ebx + shld ebx,ebx,5 + add eax,edi + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + vpalignr xmm8,xmm0,xmm7,8 + vpxor xmm1,xmm1,xmm5 + add ebp,DWORD[16+rsp] + xor esi,ecx + mov edi,eax + shld eax,eax,5 + vpxor xmm1,xmm1,xmm2 + add ebp,esi + xor edi,ecx + vpaddd xmm9,xmm11,xmm0 + shrd ebx,ebx,7 + add ebp,eax + vpxor xmm1,xmm1,xmm8 + add edx,DWORD[20+rsp] + xor edi,ebx + mov esi,ebp + shld ebp,ebp,5 + vpsrld xmm8,xmm1,30 + vmovdqa XMMWORD[rsp],xmm9 + add edx,edi + xor esi,ebx + shrd eax,eax,7 + add edx,ebp + vpslld xmm1,xmm1,2 + add ecx,DWORD[24+rsp] + xor esi,eax + mov edi,edx + shld edx,edx,5 + add ecx,esi + xor edi,eax + shrd ebp,ebp,7 + add ecx,edx + vpor xmm1,xmm1,xmm8 + add ebx,DWORD[28+rsp] + xor edi,ebp + mov esi,ecx + shld ecx,ecx,5 + add ebx,edi + xor esi,ebp + shrd edx,edx,7 + add ebx,ecx + vpalignr xmm8,xmm1,xmm0,8 + vpxor xmm2,xmm2,xmm6 + add eax,DWORD[32+rsp] + xor esi,edx + mov edi,ebx + shld ebx,ebx,5 + vpxor xmm2,xmm2,xmm3 + add eax,esi + xor edi,edx + vpaddd xmm9,xmm11,xmm1 + vmovdqa xmm11,XMMWORD[r11] + shrd ecx,ecx,7 + add eax,ebx + vpxor xmm2,xmm2,xmm8 + add ebp,DWORD[36+rsp] + xor edi,ecx + mov esi,eax + shld eax,eax,5 + vpsrld xmm8,xmm2,30 + vmovdqa XMMWORD[16+rsp],xmm9 + add ebp,edi + xor esi,ecx + shrd ebx,ebx,7 + add ebp,eax + vpslld xmm2,xmm2,2 + add edx,DWORD[40+rsp] + xor esi,ebx + mov edi,ebp + shld ebp,ebp,5 + add edx,esi + xor edi,ebx + shrd eax,eax,7 + add edx,ebp + vpor xmm2,xmm2,xmm8 + add ecx,DWORD[44+rsp] + xor edi,eax + mov esi,edx + shld edx,edx,5 + add ecx,edi + xor esi,eax + shrd ebp,ebp,7 + add ecx,edx + vpalignr xmm8,xmm2,xmm1,8 + vpxor xmm3,xmm3,xmm7 + add ebx,DWORD[48+rsp] + xor esi,ebp + mov edi,ecx + shld ecx,ecx,5 + vpxor xmm3,xmm3,xmm4 + add ebx,esi + xor edi,ebp + vpaddd xmm9,xmm11,xmm2 + shrd edx,edx,7 + add ebx,ecx + vpxor xmm3,xmm3,xmm8 + add eax,DWORD[52+rsp] + xor edi,edx + mov esi,ebx + shld ebx,ebx,5 + vpsrld xmm8,xmm3,30 + vmovdqa XMMWORD[32+rsp],xmm9 + add eax,edi + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + vpslld xmm3,xmm3,2 + add ebp,DWORD[56+rsp] + xor esi,ecx + mov edi,eax + shld eax,eax,5 + add ebp,esi + xor edi,ecx + shrd ebx,ebx,7 + add ebp,eax + vpor xmm3,xmm3,xmm8 + add edx,DWORD[60+rsp] + xor edi,ebx + mov esi,ebp + shld ebp,ebp,5 + add edx,edi + xor esi,ebx + shrd eax,eax,7 + add edx,ebp + vpalignr xmm8,xmm3,xmm2,8 + vpxor xmm4,xmm4,xmm0 + add ecx,DWORD[rsp] + xor esi,eax + mov edi,edx + shld edx,edx,5 + vpxor xmm4,xmm4,xmm5 + add ecx,esi + xor edi,eax + vpaddd xmm9,xmm11,xmm3 + shrd ebp,ebp,7 + add ecx,edx + vpxor xmm4,xmm4,xmm8 + add ebx,DWORD[4+rsp] + xor edi,ebp + mov esi,ecx + shld ecx,ecx,5 + vpsrld xmm8,xmm4,30 + vmovdqa XMMWORD[48+rsp],xmm9 + add ebx,edi + xor esi,ebp + shrd edx,edx,7 + add ebx,ecx + vpslld xmm4,xmm4,2 + add eax,DWORD[8+rsp] + xor esi,edx + mov edi,ebx + shld ebx,ebx,5 + add eax,esi + xor edi,edx + shrd ecx,ecx,7 + add eax,ebx + vpor xmm4,xmm4,xmm8 + add ebp,DWORD[12+rsp] + xor edi,ecx + mov esi,eax + shld eax,eax,5 + add ebp,edi + xor esi,ecx + shrd ebx,ebx,7 + add ebp,eax + vpalignr xmm8,xmm4,xmm3,8 + vpxor xmm5,xmm5,xmm1 + add edx,DWORD[16+rsp] + xor esi,ebx + mov edi,ebp + shld ebp,ebp,5 + vpxor xmm5,xmm5,xmm6 + add edx,esi + xor edi,ebx + vpaddd xmm9,xmm11,xmm4 + shrd eax,eax,7 + add edx,ebp + vpxor xmm5,xmm5,xmm8 + add ecx,DWORD[20+rsp] + xor edi,eax + mov esi,edx + shld edx,edx,5 + vpsrld xmm8,xmm5,30 + vmovdqa XMMWORD[rsp],xmm9 + add ecx,edi + xor esi,eax + shrd ebp,ebp,7 + add ecx,edx + vpslld xmm5,xmm5,2 + add ebx,DWORD[24+rsp] + xor esi,ebp + mov edi,ecx + shld ecx,ecx,5 + add ebx,esi + xor edi,ebp + shrd edx,edx,7 + add ebx,ecx + vpor xmm5,xmm5,xmm8 + add eax,DWORD[28+rsp] + shrd ecx,ecx,7 + mov esi,ebx + xor edi,edx + shld ebx,ebx,5 + add eax,edi + xor esi,ecx + xor ecx,edx + add eax,ebx + vpalignr xmm8,xmm5,xmm4,8 + vpxor xmm6,xmm6,xmm2 + add ebp,DWORD[32+rsp] + and esi,ecx + xor ecx,edx + shrd ebx,ebx,7 + vpxor xmm6,xmm6,xmm7 + mov edi,eax + xor esi,ecx + vpaddd xmm9,xmm11,xmm5 + shld eax,eax,5 + add ebp,esi + vpxor xmm6,xmm6,xmm8 + xor edi,ebx + xor ebx,ecx + add ebp,eax + add edx,DWORD[36+rsp] + vpsrld xmm8,xmm6,30 + vmovdqa XMMWORD[16+rsp],xmm9 + and edi,ebx + xor ebx,ecx + shrd eax,eax,7 + mov esi,ebp + vpslld xmm6,xmm6,2 + xor edi,ebx + shld ebp,ebp,5 + add edx,edi + xor esi,eax + xor eax,ebx + add edx,ebp + add ecx,DWORD[40+rsp] + and esi,eax + vpor xmm6,xmm6,xmm8 + xor eax,ebx + shrd ebp,ebp,7 + mov edi,edx + xor esi,eax + shld edx,edx,5 + add ecx,esi + xor edi,ebp + xor ebp,eax + add ecx,edx + add ebx,DWORD[44+rsp] + and edi,ebp + xor ebp,eax + shrd edx,edx,7 + mov esi,ecx + xor edi,ebp + shld ecx,ecx,5 + add ebx,edi + xor esi,edx + xor edx,ebp + add ebx,ecx + vpalignr xmm8,xmm6,xmm5,8 + vpxor xmm7,xmm7,xmm3 + add eax,DWORD[48+rsp] + and esi,edx + xor edx,ebp + shrd ecx,ecx,7 + vpxor xmm7,xmm7,xmm0 + mov edi,ebx + xor esi,edx + vpaddd xmm9,xmm11,xmm6 + vmovdqa xmm11,XMMWORD[32+r11] + shld ebx,ebx,5 + add eax,esi + vpxor xmm7,xmm7,xmm8 + xor edi,ecx + xor ecx,edx + add eax,ebx + add ebp,DWORD[52+rsp] + vpsrld xmm8,xmm7,30 + vmovdqa XMMWORD[32+rsp],xmm9 + and edi,ecx + xor ecx,edx + shrd ebx,ebx,7 + mov esi,eax + vpslld xmm7,xmm7,2 + xor edi,ecx + shld eax,eax,5 + add ebp,edi + xor esi,ebx + xor ebx,ecx + add ebp,eax + add edx,DWORD[56+rsp] + and esi,ebx + vpor xmm7,xmm7,xmm8 + xor ebx,ecx + shrd eax,eax,7 + mov edi,ebp + xor esi,ebx + shld ebp,ebp,5 + add edx,esi + xor edi,eax + xor eax,ebx + add edx,ebp + add ecx,DWORD[60+rsp] + and edi,eax + xor eax,ebx + shrd ebp,ebp,7 + mov esi,edx + xor edi,eax + shld edx,edx,5 + add ecx,edi + xor esi,ebp + xor ebp,eax + add ecx,edx + vpalignr xmm8,xmm7,xmm6,8 + vpxor xmm0,xmm0,xmm4 + add ebx,DWORD[rsp] + and esi,ebp + xor ebp,eax + shrd edx,edx,7 + vpxor xmm0,xmm0,xmm1 + mov edi,ecx + xor esi,ebp + vpaddd xmm9,xmm11,xmm7 + shld ecx,ecx,5 + add ebx,esi + vpxor xmm0,xmm0,xmm8 + xor edi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[4+rsp] + vpsrld xmm8,xmm0,30 + vmovdqa XMMWORD[48+rsp],xmm9 + and edi,edx + xor edx,ebp + shrd ecx,ecx,7 + mov esi,ebx + vpslld xmm0,xmm0,2 + xor edi,edx + shld ebx,ebx,5 + add eax,edi + xor esi,ecx + xor ecx,edx + add eax,ebx + add ebp,DWORD[8+rsp] + and esi,ecx + vpor xmm0,xmm0,xmm8 + xor ecx,edx + shrd ebx,ebx,7 + mov edi,eax + xor esi,ecx + shld eax,eax,5 + add ebp,esi + xor edi,ebx + xor ebx,ecx + add ebp,eax + add edx,DWORD[12+rsp] + and edi,ebx + xor ebx,ecx + shrd eax,eax,7 + mov esi,ebp + xor edi,ebx + shld ebp,ebp,5 + add edx,edi + xor esi,eax + xor eax,ebx + add edx,ebp + vpalignr xmm8,xmm0,xmm7,8 + vpxor xmm1,xmm1,xmm5 + add ecx,DWORD[16+rsp] + and esi,eax + xor eax,ebx + shrd ebp,ebp,7 + vpxor xmm1,xmm1,xmm2 + mov edi,edx + xor esi,eax + vpaddd xmm9,xmm11,xmm0 + shld edx,edx,5 + add ecx,esi + vpxor xmm1,xmm1,xmm8 + xor edi,ebp + xor ebp,eax + add ecx,edx + add ebx,DWORD[20+rsp] + vpsrld xmm8,xmm1,30 + vmovdqa XMMWORD[rsp],xmm9 + and edi,ebp + xor ebp,eax + shrd edx,edx,7 + mov esi,ecx + vpslld xmm1,xmm1,2 + xor edi,ebp + shld ecx,ecx,5 + add ebx,edi + xor esi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[24+rsp] + and esi,edx + vpor xmm1,xmm1,xmm8 + xor edx,ebp + shrd ecx,ecx,7 + mov edi,ebx + xor esi,edx + shld ebx,ebx,5 + add eax,esi + xor edi,ecx + xor ecx,edx + add eax,ebx + add ebp,DWORD[28+rsp] + and edi,ecx + xor ecx,edx + shrd ebx,ebx,7 + mov esi,eax + xor edi,ecx + shld eax,eax,5 + add ebp,edi + xor esi,ebx + xor ebx,ecx + add ebp,eax + vpalignr xmm8,xmm1,xmm0,8 + vpxor xmm2,xmm2,xmm6 + add edx,DWORD[32+rsp] + and esi,ebx + xor ebx,ecx + shrd eax,eax,7 + vpxor xmm2,xmm2,xmm3 + mov edi,ebp + xor esi,ebx + vpaddd xmm9,xmm11,xmm1 + shld ebp,ebp,5 + add edx,esi + vpxor xmm2,xmm2,xmm8 + xor edi,eax + xor eax,ebx + add edx,ebp + add ecx,DWORD[36+rsp] + vpsrld xmm8,xmm2,30 + vmovdqa XMMWORD[16+rsp],xmm9 + and edi,eax + xor eax,ebx + shrd ebp,ebp,7 + mov esi,edx + vpslld xmm2,xmm2,2 + xor edi,eax + shld edx,edx,5 + add ecx,edi + xor esi,ebp + xor ebp,eax + add ecx,edx + add ebx,DWORD[40+rsp] + and esi,ebp + vpor xmm2,xmm2,xmm8 + xor ebp,eax + shrd edx,edx,7 + mov edi,ecx + xor esi,ebp + shld ecx,ecx,5 + add ebx,esi + xor edi,edx + xor edx,ebp + add ebx,ecx + add eax,DWORD[44+rsp] + and edi,edx + xor edx,ebp + shrd ecx,ecx,7 + mov esi,ebx + xor edi,edx + shld ebx,ebx,5 + add eax,edi + xor esi,edx + add eax,ebx + vpalignr xmm8,xmm2,xmm1,8 + vpxor xmm3,xmm3,xmm7 + add ebp,DWORD[48+rsp] + xor esi,ecx + mov edi,eax + shld eax,eax,5 + vpxor xmm3,xmm3,xmm4 + add ebp,esi + xor edi,ecx + vpaddd xmm9,xmm11,xmm2 + shrd ebx,ebx,7 + add ebp,eax + vpxor xmm3,xmm3,xmm8 + add edx,DWORD[52+rsp] + xor edi,ebx + mov esi,ebp + shld ebp,ebp,5 + vpsrld xmm8,xmm3,30 + vmovdqa XMMWORD[32+rsp],xmm9 + add edx,edi + xor esi,ebx + shrd eax,eax,7 + add edx,ebp + vpslld xmm3,xmm3,2 + add ecx,DWORD[56+rsp] + xor esi,eax + mov edi,edx + shld edx,edx,5 + add ecx,esi + xor edi,eax + shrd ebp,ebp,7 + add ecx,edx + vpor xmm3,xmm3,xmm8 + add ebx,DWORD[60+rsp] + xor edi,ebp + mov esi,ecx + shld ecx,ecx,5 + add ebx,edi + xor esi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[rsp] + vpaddd xmm9,xmm11,xmm3 + xor esi,edx + mov edi,ebx + shld ebx,ebx,5 + add eax,esi + vmovdqa XMMWORD[48+rsp],xmm9 + xor edi,edx + shrd ecx,ecx,7 + add eax,ebx + add ebp,DWORD[4+rsp] + xor edi,ecx + mov esi,eax + shld eax,eax,5 + add ebp,edi + xor esi,ecx + shrd ebx,ebx,7 + add ebp,eax + add edx,DWORD[8+rsp] + xor esi,ebx + mov edi,ebp + shld ebp,ebp,5 + add edx,esi + xor edi,ebx + shrd eax,eax,7 + add edx,ebp + add ecx,DWORD[12+rsp] + xor edi,eax + mov esi,edx + shld edx,edx,5 + add ecx,edi + xor esi,eax + shrd ebp,ebp,7 + add ecx,edx + cmp r9,r10 + je NEAR $L$done_avx + vmovdqa xmm6,XMMWORD[64+r11] + vmovdqa xmm11,XMMWORD[((-64))+r11] + vmovdqu xmm0,XMMWORD[r9] + vmovdqu xmm1,XMMWORD[16+r9] + vmovdqu xmm2,XMMWORD[32+r9] + vmovdqu xmm3,XMMWORD[48+r9] + vpshufb xmm0,xmm0,xmm6 + add r9,64 + add ebx,DWORD[16+rsp] + xor esi,ebp + vpshufb xmm1,xmm1,xmm6 + mov edi,ecx + shld ecx,ecx,5 + vpaddd xmm4,xmm0,xmm11 + add ebx,esi + xor edi,ebp + shrd edx,edx,7 + add ebx,ecx + vmovdqa XMMWORD[rsp],xmm4 + add eax,DWORD[20+rsp] + xor edi,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,edi + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + add ebp,DWORD[24+rsp] + xor esi,ecx + mov edi,eax + shld eax,eax,5 + add ebp,esi + xor edi,ecx + shrd ebx,ebx,7 + add ebp,eax + add edx,DWORD[28+rsp] + xor edi,ebx + mov esi,ebp + shld ebp,ebp,5 + add edx,edi + xor esi,ebx + shrd eax,eax,7 + add edx,ebp + add ecx,DWORD[32+rsp] + xor esi,eax + vpshufb xmm2,xmm2,xmm6 + mov edi,edx + shld edx,edx,5 + vpaddd xmm5,xmm1,xmm11 + add ecx,esi + xor edi,eax + shrd ebp,ebp,7 + add ecx,edx + vmovdqa XMMWORD[16+rsp],xmm5 + add ebx,DWORD[36+rsp] + xor edi,ebp + mov esi,ecx + shld ecx,ecx,5 + add ebx,edi + xor esi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[40+rsp] + xor esi,edx + mov edi,ebx + shld ebx,ebx,5 + add eax,esi + xor edi,edx + shrd ecx,ecx,7 + add eax,ebx + add ebp,DWORD[44+rsp] + xor edi,ecx + mov esi,eax + shld eax,eax,5 + add ebp,edi + xor esi,ecx + shrd ebx,ebx,7 + add ebp,eax + add edx,DWORD[48+rsp] + xor esi,ebx + vpshufb xmm3,xmm3,xmm6 + mov edi,ebp + shld ebp,ebp,5 + vpaddd xmm6,xmm2,xmm11 + add edx,esi + xor edi,ebx + shrd eax,eax,7 + add edx,ebp + vmovdqa XMMWORD[32+rsp],xmm6 + add ecx,DWORD[52+rsp] + xor edi,eax + mov esi,edx + shld edx,edx,5 + add ecx,edi + xor esi,eax + shrd ebp,ebp,7 + add ecx,edx + add ebx,DWORD[56+rsp] + xor esi,ebp + mov edi,ecx + shld ecx,ecx,5 + add ebx,esi + xor edi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[60+rsp] + xor edi,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,edi + shrd ecx,ecx,7 + add eax,ebx + add eax,DWORD[r8] + add esi,DWORD[4+r8] + add ecx,DWORD[8+r8] + add edx,DWORD[12+r8] + mov DWORD[r8],eax + add ebp,DWORD[16+r8] + mov DWORD[4+r8],esi + mov ebx,esi + mov DWORD[8+r8],ecx + mov edi,ecx + mov DWORD[12+r8],edx + xor edi,edx + mov DWORD[16+r8],ebp + and esi,edi + jmp NEAR $L$oop_avx + +ALIGN 16 +$L$done_avx: + add ebx,DWORD[16+rsp] + xor esi,ebp + mov edi,ecx + shld ecx,ecx,5 + add ebx,esi + xor edi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[20+rsp] + xor edi,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,edi + xor esi,edx + shrd ecx,ecx,7 + add eax,ebx + add ebp,DWORD[24+rsp] + xor esi,ecx + mov edi,eax + shld eax,eax,5 + add ebp,esi + xor edi,ecx + shrd ebx,ebx,7 + add ebp,eax + add edx,DWORD[28+rsp] + xor edi,ebx + mov esi,ebp + shld ebp,ebp,5 + add edx,edi + xor esi,ebx + shrd eax,eax,7 + add edx,ebp + add ecx,DWORD[32+rsp] + xor esi,eax + mov edi,edx + shld edx,edx,5 + add ecx,esi + xor edi,eax + shrd ebp,ebp,7 + add ecx,edx + add ebx,DWORD[36+rsp] + xor edi,ebp + mov esi,ecx + shld ecx,ecx,5 + add ebx,edi + xor esi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[40+rsp] + xor esi,edx + mov edi,ebx + shld ebx,ebx,5 + add eax,esi + xor edi,edx + shrd ecx,ecx,7 + add eax,ebx + add ebp,DWORD[44+rsp] + xor edi,ecx + mov esi,eax + shld eax,eax,5 + add ebp,edi + xor esi,ecx + shrd ebx,ebx,7 + add ebp,eax + add edx,DWORD[48+rsp] + xor esi,ebx + mov edi,ebp + shld ebp,ebp,5 + add edx,esi + xor edi,ebx + shrd eax,eax,7 + add edx,ebp + add ecx,DWORD[52+rsp] + xor edi,eax + mov esi,edx + shld edx,edx,5 + add ecx,edi + xor esi,eax + shrd ebp,ebp,7 + add ecx,edx + add ebx,DWORD[56+rsp] + xor esi,ebp + mov edi,ecx + shld ecx,ecx,5 + add ebx,esi + xor edi,ebp + shrd edx,edx,7 + add ebx,ecx + add eax,DWORD[60+rsp] + xor edi,edx + mov esi,ebx + shld ebx,ebx,5 + add eax,edi + shrd ecx,ecx,7 + add eax,ebx + vzeroupper + + add eax,DWORD[r8] + add esi,DWORD[4+r8] + add ecx,DWORD[8+r8] + mov DWORD[r8],eax + add edx,DWORD[12+r8] + mov DWORD[4+r8],esi + add ebp,DWORD[16+r8] + mov DWORD[8+r8],ecx + mov DWORD[12+r8],edx + mov DWORD[16+r8],ebp + movaps xmm6,XMMWORD[((-40-96))+r14] + movaps xmm7,XMMWORD[((-40-80))+r14] + movaps xmm8,XMMWORD[((-40-64))+r14] + movaps xmm9,XMMWORD[((-40-48))+r14] + movaps xmm10,XMMWORD[((-40-32))+r14] + movaps xmm11,XMMWORD[((-40-16))+r14] + lea rsi,[r14] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$epilogue_avx: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha1_block_data_order_avx: + +ALIGN 16 +sha1_block_data_order_avx2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha1_block_data_order_avx2: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_avx2_shortcut: + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + vzeroupper + lea rsp,[((-96))+rsp] + vmovaps XMMWORD[(-40-96)+rax],xmm6 + vmovaps XMMWORD[(-40-80)+rax],xmm7 + vmovaps XMMWORD[(-40-64)+rax],xmm8 + vmovaps XMMWORD[(-40-48)+rax],xmm9 + vmovaps XMMWORD[(-40-32)+rax],xmm10 + vmovaps XMMWORD[(-40-16)+rax],xmm11 +$L$prologue_avx2: + mov r14,rax + mov r8,rdi + mov r9,rsi + mov r10,rdx + + lea rsp,[((-640))+rsp] + shl r10,6 + lea r13,[64+r9] + and rsp,-128 + add r10,r9 + lea r11,[((K_XX_XX+64))] + + mov eax,DWORD[r8] + cmp r13,r10 + cmovae r13,r9 + mov ebp,DWORD[4+r8] + mov ecx,DWORD[8+r8] + mov edx,DWORD[12+r8] + mov esi,DWORD[16+r8] + vmovdqu ymm6,YMMWORD[64+r11] + + vmovdqu xmm0,XMMWORD[r9] + vmovdqu xmm1,XMMWORD[16+r9] + vmovdqu xmm2,XMMWORD[32+r9] + vmovdqu xmm3,XMMWORD[48+r9] + lea r9,[64+r9] + vinserti128 ymm0,ymm0,XMMWORD[r13],1 + vinserti128 ymm1,ymm1,XMMWORD[16+r13],1 + vpshufb ymm0,ymm0,ymm6 + vinserti128 ymm2,ymm2,XMMWORD[32+r13],1 + vpshufb ymm1,ymm1,ymm6 + vinserti128 ymm3,ymm3,XMMWORD[48+r13],1 + vpshufb ymm2,ymm2,ymm6 + vmovdqu ymm11,YMMWORD[((-64))+r11] + vpshufb ymm3,ymm3,ymm6 + + vpaddd ymm4,ymm0,ymm11 + vpaddd ymm5,ymm1,ymm11 + vmovdqu YMMWORD[rsp],ymm4 + vpaddd ymm6,ymm2,ymm11 + vmovdqu YMMWORD[32+rsp],ymm5 + vpaddd ymm7,ymm3,ymm11 + vmovdqu YMMWORD[64+rsp],ymm6 + vmovdqu YMMWORD[96+rsp],ymm7 + vpalignr ymm4,ymm1,ymm0,8 + vpsrldq ymm8,ymm3,4 + vpxor ymm4,ymm4,ymm0 + vpxor ymm8,ymm8,ymm2 + vpxor ymm4,ymm4,ymm8 + vpsrld ymm8,ymm4,31 + vpslldq ymm10,ymm4,12 + vpaddd ymm4,ymm4,ymm4 + vpsrld ymm9,ymm10,30 + vpor ymm4,ymm4,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm4,ymm4,ymm9 + vpxor ymm4,ymm4,ymm10 + vpaddd ymm9,ymm4,ymm11 + vmovdqu YMMWORD[128+rsp],ymm9 + vpalignr ymm5,ymm2,ymm1,8 + vpsrldq ymm8,ymm4,4 + vpxor ymm5,ymm5,ymm1 + vpxor ymm8,ymm8,ymm3 + vpxor ymm5,ymm5,ymm8 + vpsrld ymm8,ymm5,31 + vmovdqu ymm11,YMMWORD[((-32))+r11] + vpslldq ymm10,ymm5,12 + vpaddd ymm5,ymm5,ymm5 + vpsrld ymm9,ymm10,30 + vpor ymm5,ymm5,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm5,ymm5,ymm9 + vpxor ymm5,ymm5,ymm10 + vpaddd ymm9,ymm5,ymm11 + vmovdqu YMMWORD[160+rsp],ymm9 + vpalignr ymm6,ymm3,ymm2,8 + vpsrldq ymm8,ymm5,4 + vpxor ymm6,ymm6,ymm2 + vpxor ymm8,ymm8,ymm4 + vpxor ymm6,ymm6,ymm8 + vpsrld ymm8,ymm6,31 + vpslldq ymm10,ymm6,12 + vpaddd ymm6,ymm6,ymm6 + vpsrld ymm9,ymm10,30 + vpor ymm6,ymm6,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm6,ymm6,ymm9 + vpxor ymm6,ymm6,ymm10 + vpaddd ymm9,ymm6,ymm11 + vmovdqu YMMWORD[192+rsp],ymm9 + vpalignr ymm7,ymm4,ymm3,8 + vpsrldq ymm8,ymm6,4 + vpxor ymm7,ymm7,ymm3 + vpxor ymm8,ymm8,ymm5 + vpxor ymm7,ymm7,ymm8 + vpsrld ymm8,ymm7,31 + vpslldq ymm10,ymm7,12 + vpaddd ymm7,ymm7,ymm7 + vpsrld ymm9,ymm10,30 + vpor ymm7,ymm7,ymm8 + vpslld ymm10,ymm10,2 + vpxor ymm7,ymm7,ymm9 + vpxor ymm7,ymm7,ymm10 + vpaddd ymm9,ymm7,ymm11 + vmovdqu YMMWORD[224+rsp],ymm9 + lea r13,[128+rsp] + jmp NEAR $L$oop_avx2 +ALIGN 32 +$L$oop_avx2: + rorx ebx,ebp,2 + andn edi,ebp,edx + and ebp,ecx + xor ebp,edi + jmp NEAR $L$align32_1 +ALIGN 32 +$L$align32_1: + vpalignr ymm8,ymm7,ymm6,8 + vpxor ymm0,ymm0,ymm4 + add esi,DWORD[((-128))+r13] + andn edi,eax,ecx + vpxor ymm0,ymm0,ymm1 + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + vpxor ymm0,ymm0,ymm8 + and eax,ebx + add esi,r12d + xor eax,edi + vpsrld ymm8,ymm0,30 + vpslld ymm0,ymm0,2 + add edx,DWORD[((-124))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + vpor ymm0,ymm0,ymm8 + add edx,r12d + xor esi,edi + add ecx,DWORD[((-120))+r13] + andn edi,edx,ebp + vpaddd ymm9,ymm0,ymm11 + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + vmovdqu YMMWORD[256+rsp],ymm9 + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-116))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[((-96))+r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + vpalignr ymm8,ymm0,ymm7,8 + vpxor ymm1,ymm1,ymm5 + add eax,DWORD[((-92))+r13] + andn edi,ebp,edx + vpxor ymm1,ymm1,ymm2 + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + vpxor ymm1,ymm1,ymm8 + and ebp,ecx + add eax,r12d + xor ebp,edi + vpsrld ymm8,ymm1,30 + vpslld ymm1,ymm1,2 + add esi,DWORD[((-88))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + vpor ymm1,ymm1,ymm8 + add esi,r12d + xor eax,edi + add edx,DWORD[((-84))+r13] + andn edi,esi,ebx + vpaddd ymm9,ymm1,ymm11 + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + vmovdqu YMMWORD[288+rsp],ymm9 + add edx,r12d + xor esi,edi + add ecx,DWORD[((-64))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-60))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + vpalignr ymm8,ymm1,ymm0,8 + vpxor ymm2,ymm2,ymm6 + add ebp,DWORD[((-56))+r13] + andn edi,ebx,esi + vpxor ymm2,ymm2,ymm3 + vmovdqu ymm11,YMMWORD[r11] + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + vpxor ymm2,ymm2,ymm8 + and ebx,edx + add ebp,r12d + xor ebx,edi + vpsrld ymm8,ymm2,30 + vpslld ymm2,ymm2,2 + add eax,DWORD[((-52))+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + vpor ymm2,ymm2,ymm8 + add eax,r12d + xor ebp,edi + add esi,DWORD[((-32))+r13] + andn edi,eax,ecx + vpaddd ymm9,ymm2,ymm11 + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + vmovdqu YMMWORD[320+rsp],ymm9 + add esi,r12d + xor eax,edi + add edx,DWORD[((-28))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-24))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + vpalignr ymm8,ymm2,ymm1,8 + vpxor ymm3,ymm3,ymm7 + add ebx,DWORD[((-20))+r13] + andn edi,ecx,eax + vpxor ymm3,ymm3,ymm4 + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + vpxor ymm3,ymm3,ymm8 + and ecx,esi + add ebx,r12d + xor ecx,edi + vpsrld ymm8,ymm3,30 + vpslld ymm3,ymm3,2 + add ebp,DWORD[r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + vpor ymm3,ymm3,ymm8 + add ebp,r12d + xor ebx,edi + add eax,DWORD[4+r13] + andn edi,ebp,edx + vpaddd ymm9,ymm3,ymm11 + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + vmovdqu YMMWORD[352+rsp],ymm9 + add eax,r12d + xor ebp,edi + add esi,DWORD[8+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[12+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + vpalignr ymm8,ymm3,ymm2,8 + vpxor ymm4,ymm4,ymm0 + add ecx,DWORD[32+r13] + lea ecx,[rsi*1+rcx] + vpxor ymm4,ymm4,ymm5 + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + vpxor ymm4,ymm4,ymm8 + add ecx,r12d + xor edx,ebp + add ebx,DWORD[36+r13] + vpsrld ymm8,ymm4,30 + vpslld ymm4,ymm4,2 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + vpor ymm4,ymm4,ymm8 + add ebp,DWORD[40+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + vpaddd ymm9,ymm4,ymm11 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[44+r13] + vmovdqu YMMWORD[384+rsp],ymm9 + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[64+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + vpalignr ymm8,ymm4,ymm3,8 + vpxor ymm5,ymm5,ymm1 + add edx,DWORD[68+r13] + lea edx,[rax*1+rdx] + vpxor ymm5,ymm5,ymm6 + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + vpxor ymm5,ymm5,ymm8 + add edx,r12d + xor esi,ebx + add ecx,DWORD[72+r13] + vpsrld ymm8,ymm5,30 + vpslld ymm5,ymm5,2 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + vpor ymm5,ymm5,ymm8 + add ebx,DWORD[76+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + vpaddd ymm9,ymm5,ymm11 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[96+r13] + vmovdqu YMMWORD[416+rsp],ymm9 + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[100+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpalignr ymm8,ymm5,ymm4,8 + vpxor ymm6,ymm6,ymm2 + add esi,DWORD[104+r13] + lea esi,[rbp*1+rsi] + vpxor ymm6,ymm6,ymm7 + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + vpxor ymm6,ymm6,ymm8 + add esi,r12d + xor eax,ecx + add edx,DWORD[108+r13] + lea r13,[256+r13] + vpsrld ymm8,ymm6,30 + vpslld ymm6,ymm6,2 + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + vpor ymm6,ymm6,ymm8 + add ecx,DWORD[((-128))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + vpaddd ymm9,ymm6,ymm11 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-124))+r13] + vmovdqu YMMWORD[448+rsp],ymm9 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-120))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vpalignr ymm8,ymm6,ymm5,8 + vpxor ymm7,ymm7,ymm3 + add eax,DWORD[((-116))+r13] + lea eax,[rbx*1+rax] + vpxor ymm7,ymm7,ymm0 + vmovdqu ymm11,YMMWORD[32+r11] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + vpxor ymm7,ymm7,ymm8 + add eax,r12d + xor ebp,edx + add esi,DWORD[((-96))+r13] + vpsrld ymm8,ymm7,30 + vpslld ymm7,ymm7,2 + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + vpor ymm7,ymm7,ymm8 + add edx,DWORD[((-92))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + vpaddd ymm9,ymm7,ymm11 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-88))+r13] + vmovdqu YMMWORD[480+rsp],ymm9 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-84))+r13] + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + jmp NEAR $L$align32_2 +ALIGN 32 +$L$align32_2: + vpalignr ymm8,ymm7,ymm6,8 + vpxor ymm0,ymm0,ymm4 + add ebp,DWORD[((-64))+r13] + xor ecx,esi + vpxor ymm0,ymm0,ymm1 + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + vpxor ymm0,ymm0,ymm8 + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + vpsrld ymm8,ymm0,30 + vpslld ymm0,ymm0,2 + add ebp,r12d + and ebx,edi + add eax,DWORD[((-60))+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + vpor ymm0,ymm0,ymm8 + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + vpaddd ymm9,ymm0,ymm11 + add eax,r12d + and ebp,edi + add esi,DWORD[((-56))+r13] + xor ebp,ecx + vmovdqu YMMWORD[512+rsp],ymm9 + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[((-52))+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + add ecx,DWORD[((-32))+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + and edx,edi + vpalignr ymm8,ymm0,ymm7,8 + vpxor ymm1,ymm1,ymm5 + add ebx,DWORD[((-28))+r13] + xor edx,eax + vpxor ymm1,ymm1,ymm2 + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + vpxor ymm1,ymm1,ymm8 + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + vpsrld ymm8,ymm1,30 + vpslld ymm1,ymm1,2 + add ebx,r12d + and ecx,edi + add ebp,DWORD[((-24))+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + vpor ymm1,ymm1,ymm8 + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + vpaddd ymm9,ymm1,ymm11 + add ebp,r12d + and ebx,edi + add eax,DWORD[((-20))+r13] + xor ebx,edx + vmovdqu YMMWORD[544+rsp],ymm9 + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[4+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + vpalignr ymm8,ymm1,ymm0,8 + vpxor ymm2,ymm2,ymm6 + add ecx,DWORD[8+r13] + xor esi,ebp + vpxor ymm2,ymm2,ymm3 + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + vpxor ymm2,ymm2,ymm8 + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + vpsrld ymm8,ymm2,30 + vpslld ymm2,ymm2,2 + add ecx,r12d + and edx,edi + add ebx,DWORD[12+r13] + xor edx,eax + mov edi,esi + xor edi,eax + vpor ymm2,ymm2,ymm8 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + vpaddd ymm9,ymm2,ymm11 + add ebx,r12d + and ecx,edi + add ebp,DWORD[32+r13] + xor ecx,esi + vmovdqu YMMWORD[576+rsp],ymm9 + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[36+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[40+r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + vpalignr ymm8,ymm2,ymm1,8 + vpxor ymm3,ymm3,ymm7 + add edx,DWORD[44+r13] + xor eax,ebx + vpxor ymm3,ymm3,ymm4 + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + vpxor ymm3,ymm3,ymm8 + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + vpsrld ymm8,ymm3,30 + vpslld ymm3,ymm3,2 + add edx,r12d + and esi,edi + add ecx,DWORD[64+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + vpor ymm3,ymm3,ymm8 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + vpaddd ymm9,ymm3,ymm11 + add ecx,r12d + and edx,edi + add ebx,DWORD[68+r13] + xor edx,eax + vmovdqu YMMWORD[608+rsp],ymm9 + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + add ebp,DWORD[72+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[76+r13] + xor ebx,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[96+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[100+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[104+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[108+r13] + lea r13,[256+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-128))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-124))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-120))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-116))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-96))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-92))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-88))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-84))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-64))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-60))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-56))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-52))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-32))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-28))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-24))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-20))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + add edx,r12d + lea r13,[128+r9] + lea rdi,[128+r9] + cmp r13,r10 + cmovae r13,r9 + + + add edx,DWORD[r8] + add esi,DWORD[4+r8] + add ebp,DWORD[8+r8] + mov DWORD[r8],edx + add ebx,DWORD[12+r8] + mov DWORD[4+r8],esi + mov eax,edx + add ecx,DWORD[16+r8] + mov r12d,ebp + mov DWORD[8+r8],ebp + mov edx,ebx + + mov DWORD[12+r8],ebx + mov ebp,esi + mov DWORD[16+r8],ecx + + mov esi,ecx + mov ecx,r12d + + + cmp r9,r10 + je NEAR $L$done_avx2 + vmovdqu ymm6,YMMWORD[64+r11] + cmp rdi,r10 + ja NEAR $L$ast_avx2 + + vmovdqu xmm0,XMMWORD[((-64))+rdi] + vmovdqu xmm1,XMMWORD[((-48))+rdi] + vmovdqu xmm2,XMMWORD[((-32))+rdi] + vmovdqu xmm3,XMMWORD[((-16))+rdi] + vinserti128 ymm0,ymm0,XMMWORD[r13],1 + vinserti128 ymm1,ymm1,XMMWORD[16+r13],1 + vinserti128 ymm2,ymm2,XMMWORD[32+r13],1 + vinserti128 ymm3,ymm3,XMMWORD[48+r13],1 + jmp NEAR $L$ast_avx2 + +ALIGN 32 +$L$ast_avx2: + lea r13,[((128+16))+rsp] + rorx ebx,ebp,2 + andn edi,ebp,edx + and ebp,ecx + xor ebp,edi + sub r9,-128 + add esi,DWORD[((-128))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[((-124))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-120))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-116))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[((-96))+r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + add eax,DWORD[((-92))+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + add eax,r12d + xor ebp,edi + add esi,DWORD[((-88))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[((-84))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-64))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-60))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[((-56))+r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + add eax,DWORD[((-52))+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + add eax,r12d + xor ebp,edi + add esi,DWORD[((-32))+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[((-28))+r13] + andn edi,esi,ebx + add edx,eax + rorx r12d,esi,27 + rorx eax,esi,2 + and esi,ebp + add edx,r12d + xor esi,edi + add ecx,DWORD[((-24))+r13] + andn edi,edx,ebp + add ecx,esi + rorx r12d,edx,27 + rorx esi,edx,2 + and edx,eax + add ecx,r12d + xor edx,edi + add ebx,DWORD[((-20))+r13] + andn edi,ecx,eax + add ebx,edx + rorx r12d,ecx,27 + rorx edx,ecx,2 + and ecx,esi + add ebx,r12d + xor ecx,edi + add ebp,DWORD[r13] + andn edi,ebx,esi + add ebp,ecx + rorx r12d,ebx,27 + rorx ecx,ebx,2 + and ebx,edx + add ebp,r12d + xor ebx,edi + add eax,DWORD[4+r13] + andn edi,ebp,edx + add eax,ebx + rorx r12d,ebp,27 + rorx ebx,ebp,2 + and ebp,ecx + add eax,r12d + xor ebp,edi + add esi,DWORD[8+r13] + andn edi,eax,ecx + add esi,ebp + rorx r12d,eax,27 + rorx ebp,eax,2 + and eax,ebx + add esi,r12d + xor eax,edi + add edx,DWORD[12+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[32+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[36+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[40+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[44+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[64+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + vmovdqu ymm11,YMMWORD[((-64))+r11] + vpshufb ymm0,ymm0,ymm6 + add edx,DWORD[68+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[72+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[76+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[96+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[100+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpshufb ymm1,ymm1,ymm6 + vpaddd ymm8,ymm0,ymm11 + add esi,DWORD[104+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[108+r13] + lea r13,[256+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-128))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-124))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-120))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vmovdqu YMMWORD[rsp],ymm8 + vpshufb ymm2,ymm2,ymm6 + vpaddd ymm9,ymm1,ymm11 + add eax,DWORD[((-116))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-96))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-92))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + xor esi,ebx + add ecx,DWORD[((-88))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-84))+r13] + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + vmovdqu YMMWORD[32+rsp],ymm9 + vpshufb ymm3,ymm3,ymm6 + vpaddd ymm6,ymm2,ymm11 + add ebp,DWORD[((-64))+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[((-60))+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[((-56))+r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[((-52))+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + add ecx,DWORD[((-32))+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + and edx,edi + jmp NEAR $L$align32_3 +ALIGN 32 +$L$align32_3: + vmovdqu YMMWORD[64+rsp],ymm6 + vpaddd ymm7,ymm3,ymm11 + add ebx,DWORD[((-28))+r13] + xor edx,eax + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + add ebp,DWORD[((-24))+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[((-20))+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + add edx,DWORD[4+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + and esi,edi + vmovdqu YMMWORD[96+rsp],ymm7 + add ecx,DWORD[8+r13] + xor esi,ebp + mov edi,eax + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + and edx,edi + add ebx,DWORD[12+r13] + xor edx,eax + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + and ecx,edi + add ebp,DWORD[32+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[36+r13] + xor ebx,edx + mov edi,ecx + xor edi,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + and ebp,edi + add esi,DWORD[40+r13] + xor ebp,ecx + mov edi,ebx + xor edi,ecx + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + and eax,edi + vpalignr ymm4,ymm1,ymm0,8 + add edx,DWORD[44+r13] + xor eax,ebx + mov edi,ebp + xor edi,ebx + vpsrldq ymm8,ymm3,4 + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + vpxor ymm4,ymm4,ymm0 + vpxor ymm8,ymm8,ymm2 + xor esi,ebp + add edx,r12d + vpxor ymm4,ymm4,ymm8 + and esi,edi + add ecx,DWORD[64+r13] + xor esi,ebp + mov edi,eax + vpsrld ymm8,ymm4,31 + xor edi,ebp + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + vpslldq ymm10,ymm4,12 + vpaddd ymm4,ymm4,ymm4 + rorx esi,edx,2 + xor edx,eax + vpsrld ymm9,ymm10,30 + vpor ymm4,ymm4,ymm8 + add ecx,r12d + and edx,edi + vpslld ymm10,ymm10,2 + vpxor ymm4,ymm4,ymm9 + add ebx,DWORD[68+r13] + xor edx,eax + vpxor ymm4,ymm4,ymm10 + mov edi,esi + xor edi,eax + lea ebx,[rdx*1+rbx] + vpaddd ymm9,ymm4,ymm11 + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + vmovdqu YMMWORD[128+rsp],ymm9 + add ebx,r12d + and ecx,edi + add ebp,DWORD[72+r13] + xor ecx,esi + mov edi,edx + xor edi,esi + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + and ebx,edi + add eax,DWORD[76+r13] + xor ebx,edx + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpalignr ymm5,ymm2,ymm1,8 + add esi,DWORD[96+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + vpsrldq ymm8,ymm4,4 + xor eax,ebx + add esi,r12d + xor eax,ecx + vpxor ymm5,ymm5,ymm1 + vpxor ymm8,ymm8,ymm3 + add edx,DWORD[100+r13] + lea edx,[rax*1+rdx] + vpxor ymm5,ymm5,ymm8 + rorx r12d,esi,27 + rorx eax,esi,2 + xor esi,ebp + add edx,r12d + vpsrld ymm8,ymm5,31 + vmovdqu ymm11,YMMWORD[((-32))+r11] + xor esi,ebx + add ecx,DWORD[104+r13] + lea ecx,[rsi*1+rcx] + vpslldq ymm10,ymm5,12 + vpaddd ymm5,ymm5,ymm5 + rorx r12d,edx,27 + rorx esi,edx,2 + vpsrld ymm9,ymm10,30 + vpor ymm5,ymm5,ymm8 + xor edx,eax + add ecx,r12d + vpslld ymm10,ymm10,2 + vpxor ymm5,ymm5,ymm9 + xor edx,ebp + add ebx,DWORD[108+r13] + lea r13,[256+r13] + vpxor ymm5,ymm5,ymm10 + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + vpaddd ymm9,ymm5,ymm11 + xor ecx,esi + add ebx,r12d + xor ecx,eax + vmovdqu YMMWORD[160+rsp],ymm9 + add ebp,DWORD[((-128))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vpalignr ymm6,ymm3,ymm2,8 + add eax,DWORD[((-124))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + vpsrldq ymm8,ymm5,4 + xor ebp,ecx + add eax,r12d + xor ebp,edx + vpxor ymm6,ymm6,ymm2 + vpxor ymm8,ymm8,ymm4 + add esi,DWORD[((-120))+r13] + lea esi,[rbp*1+rsi] + vpxor ymm6,ymm6,ymm8 + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + vpsrld ymm8,ymm6,31 + xor eax,ecx + add edx,DWORD[((-116))+r13] + lea edx,[rax*1+rdx] + vpslldq ymm10,ymm6,12 + vpaddd ymm6,ymm6,ymm6 + rorx r12d,esi,27 + rorx eax,esi,2 + vpsrld ymm9,ymm10,30 + vpor ymm6,ymm6,ymm8 + xor esi,ebp + add edx,r12d + vpslld ymm10,ymm10,2 + vpxor ymm6,ymm6,ymm9 + xor esi,ebx + add ecx,DWORD[((-96))+r13] + vpxor ymm6,ymm6,ymm10 + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + vpaddd ymm9,ymm6,ymm11 + xor edx,eax + add ecx,r12d + xor edx,ebp + vmovdqu YMMWORD[192+rsp],ymm9 + add ebx,DWORD[((-92))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + vpalignr ymm7,ymm4,ymm3,8 + add ebp,DWORD[((-88))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + vpsrldq ymm8,ymm6,4 + xor ebx,edx + add ebp,r12d + xor ebx,esi + vpxor ymm7,ymm7,ymm3 + vpxor ymm8,ymm8,ymm5 + add eax,DWORD[((-84))+r13] + lea eax,[rbx*1+rax] + vpxor ymm7,ymm7,ymm8 + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + vpsrld ymm8,ymm7,31 + xor ebp,edx + add esi,DWORD[((-64))+r13] + lea esi,[rbp*1+rsi] + vpslldq ymm10,ymm7,12 + vpaddd ymm7,ymm7,ymm7 + rorx r12d,eax,27 + rorx ebp,eax,2 + vpsrld ymm9,ymm10,30 + vpor ymm7,ymm7,ymm8 + xor eax,ebx + add esi,r12d + vpslld ymm10,ymm10,2 + vpxor ymm7,ymm7,ymm9 + xor eax,ecx + add edx,DWORD[((-60))+r13] + vpxor ymm7,ymm7,ymm10 + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + rorx eax,esi,2 + vpaddd ymm9,ymm7,ymm11 + xor esi,ebp + add edx,r12d + xor esi,ebx + vmovdqu YMMWORD[224+rsp],ymm9 + add ecx,DWORD[((-56))+r13] + lea ecx,[rsi*1+rcx] + rorx r12d,edx,27 + rorx esi,edx,2 + xor edx,eax + add ecx,r12d + xor edx,ebp + add ebx,DWORD[((-52))+r13] + lea ebx,[rdx*1+rbx] + rorx r12d,ecx,27 + rorx edx,ecx,2 + xor ecx,esi + add ebx,r12d + xor ecx,eax + add ebp,DWORD[((-32))+r13] + lea ebp,[rbp*1+rcx] + rorx r12d,ebx,27 + rorx ecx,ebx,2 + xor ebx,edx + add ebp,r12d + xor ebx,esi + add eax,DWORD[((-28))+r13] + lea eax,[rbx*1+rax] + rorx r12d,ebp,27 + rorx ebx,ebp,2 + xor ebp,ecx + add eax,r12d + xor ebp,edx + add esi,DWORD[((-24))+r13] + lea esi,[rbp*1+rsi] + rorx r12d,eax,27 + rorx ebp,eax,2 + xor eax,ebx + add esi,r12d + xor eax,ecx + add edx,DWORD[((-20))+r13] + lea edx,[rax*1+rdx] + rorx r12d,esi,27 + add edx,r12d + lea r13,[128+rsp] + + + add edx,DWORD[r8] + add esi,DWORD[4+r8] + add ebp,DWORD[8+r8] + mov DWORD[r8],edx + add ebx,DWORD[12+r8] + mov DWORD[4+r8],esi + mov eax,edx + add ecx,DWORD[16+r8] + mov r12d,ebp + mov DWORD[8+r8],ebp + mov edx,ebx + + mov DWORD[12+r8],ebx + mov ebp,esi + mov DWORD[16+r8],ecx + + mov esi,ecx + mov ecx,r12d + + + cmp r9,r10 + jbe NEAR $L$oop_avx2 + +$L$done_avx2: + vzeroupper + movaps xmm6,XMMWORD[((-40-96))+r14] + movaps xmm7,XMMWORD[((-40-80))+r14] + movaps xmm8,XMMWORD[((-40-64))+r14] + movaps xmm9,XMMWORD[((-40-48))+r14] + movaps xmm10,XMMWORD[((-40-32))+r14] + movaps xmm11,XMMWORD[((-40-16))+r14] + lea rsi,[r14] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$epilogue_avx2: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha1_block_data_order_avx2: +ALIGN 64 +K_XX_XX: + DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 + DD 0x5a827999,0x5a827999,0x5a827999,0x5a827999 + DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 + DD 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 + DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc + DD 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc + DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 + DD 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 + DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f + DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f +DB 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 +DB 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115 +DB 102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44 +DB 32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60 +DB 97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114 +DB 103,62,0 +ALIGN 64 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$prologue] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[152+r8] + + lea r10,[$L$epilogue] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + mov rax,QWORD[64+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + + jmp NEAR $L$common_seh_tail + + +ALIGN 16 +shaext_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$prologue_shaext] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + lea r10,[$L$epilogue_shaext] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + lea rsi,[((-8-64))+rax] + lea rdi,[512+r8] + mov ecx,8 + DD 0xa548f3fc + + jmp NEAR $L$common_seh_tail + + +ALIGN 16 +ssse3_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + mov rax,QWORD[232+r8] + + lea rsi,[((-40-96))+rax] + lea rdi,[512+r8] + mov ecx,12 + DD 0xa548f3fc + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + +$L$common_seh_tail: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_sha1_block_data_order wrt ..imagebase + DD $L$SEH_end_sha1_block_data_order wrt ..imagebase + DD $L$SEH_info_sha1_block_data_order wrt ..imagebase + DD $L$SEH_begin_sha1_block_data_order_shaext wrt ..imagebase + DD $L$SEH_end_sha1_block_data_order_shaext wrt ..imagebase + DD $L$SEH_info_sha1_block_data_order_shaext wrt ..imagebase + DD $L$SEH_begin_sha1_block_data_order_ssse3 wrt ..imagebase + DD $L$SEH_end_sha1_block_data_order_ssse3 wrt ..imagebase + DD $L$SEH_info_sha1_block_data_order_ssse3 wrt ..imagebase + DD $L$SEH_begin_sha1_block_data_order_avx wrt ..imagebase + DD $L$SEH_end_sha1_block_data_order_avx wrt ..imagebase + DD $L$SEH_info_sha1_block_data_order_avx wrt ..imagebase + DD $L$SEH_begin_sha1_block_data_order_avx2 wrt ..imagebase + DD $L$SEH_end_sha1_block_data_order_avx2 wrt ..imagebase + DD $L$SEH_info_sha1_block_data_order_avx2 wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_sha1_block_data_order: +DB 9,0,0,0 + DD se_handler wrt ..imagebase +$L$SEH_info_sha1_block_data_order_shaext: +DB 9,0,0,0 + DD shaext_handler wrt ..imagebase +$L$SEH_info_sha1_block_data_order_ssse3: +DB 9,0,0,0 + DD ssse3_handler wrt ..imagebase + DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase +$L$SEH_info_sha1_block_data_order_avx: +DB 9,0,0,0 + DD ssse3_handler wrt ..imagebase + DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase +$L$SEH_info_sha1_block_data_order_avx2: +DB 9,0,0,0 + DD ssse3_handler wrt ..imagebase + DD $L$prologue_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase diff --git a/tmp64/sha256-mb-x86_64.asm b/tmp64/sha256-mb-x86_64.asm index 9efc2ad7..bed75989 100644 --- a/tmp64/sha256-mb-x86_64.asm +++ b/tmp64/sha256-mb-x86_64.asm @@ -1,8209 +1,8209 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN OPENSSL_ia32cap_P - -global sha256_multi_block - -ALIGN 32 -sha256_multi_block: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha256_multi_block: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - mov rcx,QWORD[((OPENSSL_ia32cap_P+4))] - bt rcx,61 - jc NEAR _shaext_shortcut - test ecx,268435456 - jnz NEAR _avx_shortcut - mov rax,rsp - push rbx - push rbp - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[(-120)+rax],xmm10 - movaps XMMWORD[(-104)+rax],xmm11 - movaps XMMWORD[(-88)+rax],xmm12 - movaps XMMWORD[(-72)+rax],xmm13 - movaps XMMWORD[(-56)+rax],xmm14 - movaps XMMWORD[(-40)+rax],xmm15 - sub rsp,288 - and rsp,-256 - mov QWORD[272+rsp],rax -$L$body: - lea rbp,[((K256+128))] - lea rbx,[256+rsp] - lea rdi,[128+rdi] - -$L$oop_grande: - mov DWORD[280+rsp],edx - xor edx,edx - mov r8,QWORD[rsi] - mov ecx,DWORD[8+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[rbx],ecx - cmovle r8,rbp - mov r9,QWORD[16+rsi] - mov ecx,DWORD[24+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[4+rbx],ecx - cmovle r9,rbp - mov r10,QWORD[32+rsi] - mov ecx,DWORD[40+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[8+rbx],ecx - cmovle r10,rbp - mov r11,QWORD[48+rsi] - mov ecx,DWORD[56+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[12+rbx],ecx - cmovle r11,rbp - test edx,edx - jz NEAR $L$done - - movdqu xmm8,XMMWORD[((0-128))+rdi] - lea rax,[128+rsp] - movdqu xmm9,XMMWORD[((32-128))+rdi] - movdqu xmm10,XMMWORD[((64-128))+rdi] - movdqu xmm11,XMMWORD[((96-128))+rdi] - movdqu xmm12,XMMWORD[((128-128))+rdi] - movdqu xmm13,XMMWORD[((160-128))+rdi] - movdqu xmm14,XMMWORD[((192-128))+rdi] - movdqu xmm15,XMMWORD[((224-128))+rdi] - movdqu xmm6,XMMWORD[$L$pbswap] - jmp NEAR $L$oop - -ALIGN 32 -$L$oop: - movdqa xmm4,xmm10 - pxor xmm4,xmm9 - movd xmm5,DWORD[r8] - movd xmm0,DWORD[r9] - movd xmm1,DWORD[r10] - movd xmm2,DWORD[r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm12 -DB 102,15,56,0,238 - movdqa xmm2,xmm12 - - psrld xmm7,6 - movdqa xmm1,xmm12 - pslld xmm2,7 - movdqa XMMWORD[(0-128)+rax],xmm5 - paddd xmm5,xmm15 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-128))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm12 - - pxor xmm7,xmm2 - movdqa xmm3,xmm12 - pslld xmm2,26-21 - pandn xmm0,xmm14 - pand xmm3,xmm13 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm8 - pxor xmm7,xmm2 - movdqa xmm2,xmm8 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm9 - movdqa xmm7,xmm8 - pslld xmm2,10 - pxor xmm3,xmm8 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm15,xmm9 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm15,xmm4 - paddd xmm11,xmm5 - pxor xmm7,xmm2 - - paddd xmm15,xmm5 - paddd xmm15,xmm7 - movd xmm5,DWORD[4+r8] - movd xmm0,DWORD[4+r9] - movd xmm1,DWORD[4+r10] - movd xmm2,DWORD[4+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm11 - - movdqa xmm2,xmm11 -DB 102,15,56,0,238 - psrld xmm7,6 - movdqa xmm1,xmm11 - pslld xmm2,7 - movdqa XMMWORD[(16-128)+rax],xmm5 - paddd xmm5,xmm14 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-96))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm11 - - pxor xmm7,xmm2 - movdqa xmm4,xmm11 - pslld xmm2,26-21 - pandn xmm0,xmm13 - pand xmm4,xmm12 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm15 - pxor xmm7,xmm2 - movdqa xmm2,xmm15 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm8 - movdqa xmm7,xmm15 - pslld xmm2,10 - pxor xmm4,xmm15 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm14,xmm8 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm14,xmm3 - paddd xmm10,xmm5 - pxor xmm7,xmm2 - - paddd xmm14,xmm5 - paddd xmm14,xmm7 - movd xmm5,DWORD[8+r8] - movd xmm0,DWORD[8+r9] - movd xmm1,DWORD[8+r10] - movd xmm2,DWORD[8+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm10 -DB 102,15,56,0,238 - movdqa xmm2,xmm10 - - psrld xmm7,6 - movdqa xmm1,xmm10 - pslld xmm2,7 - movdqa XMMWORD[(32-128)+rax],xmm5 - paddd xmm5,xmm13 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-64))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm10 - - pxor xmm7,xmm2 - movdqa xmm3,xmm10 - pslld xmm2,26-21 - pandn xmm0,xmm12 - pand xmm3,xmm11 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm14 - pxor xmm7,xmm2 - movdqa xmm2,xmm14 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm15 - movdqa xmm7,xmm14 - pslld xmm2,10 - pxor xmm3,xmm14 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm13,xmm15 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm13,xmm4 - paddd xmm9,xmm5 - pxor xmm7,xmm2 - - paddd xmm13,xmm5 - paddd xmm13,xmm7 - movd xmm5,DWORD[12+r8] - movd xmm0,DWORD[12+r9] - movd xmm1,DWORD[12+r10] - movd xmm2,DWORD[12+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm9 - - movdqa xmm2,xmm9 -DB 102,15,56,0,238 - psrld xmm7,6 - movdqa xmm1,xmm9 - pslld xmm2,7 - movdqa XMMWORD[(48-128)+rax],xmm5 - paddd xmm5,xmm12 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-32))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm9 - - pxor xmm7,xmm2 - movdqa xmm4,xmm9 - pslld xmm2,26-21 - pandn xmm0,xmm11 - pand xmm4,xmm10 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm13 - pxor xmm7,xmm2 - movdqa xmm2,xmm13 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm14 - movdqa xmm7,xmm13 - pslld xmm2,10 - pxor xmm4,xmm13 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm12,xmm14 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm12,xmm3 - paddd xmm8,xmm5 - pxor xmm7,xmm2 - - paddd xmm12,xmm5 - paddd xmm12,xmm7 - movd xmm5,DWORD[16+r8] - movd xmm0,DWORD[16+r9] - movd xmm1,DWORD[16+r10] - movd xmm2,DWORD[16+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm8 -DB 102,15,56,0,238 - movdqa xmm2,xmm8 - - psrld xmm7,6 - movdqa xmm1,xmm8 - pslld xmm2,7 - movdqa XMMWORD[(64-128)+rax],xmm5 - paddd xmm5,xmm11 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm8 - - pxor xmm7,xmm2 - movdqa xmm3,xmm8 - pslld xmm2,26-21 - pandn xmm0,xmm10 - pand xmm3,xmm9 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm12 - pxor xmm7,xmm2 - movdqa xmm2,xmm12 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm13 - movdqa xmm7,xmm12 - pslld xmm2,10 - pxor xmm3,xmm12 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm11,xmm13 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm11,xmm4 - paddd xmm15,xmm5 - pxor xmm7,xmm2 - - paddd xmm11,xmm5 - paddd xmm11,xmm7 - movd xmm5,DWORD[20+r8] - movd xmm0,DWORD[20+r9] - movd xmm1,DWORD[20+r10] - movd xmm2,DWORD[20+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm15 - - movdqa xmm2,xmm15 -DB 102,15,56,0,238 - psrld xmm7,6 - movdqa xmm1,xmm15 - pslld xmm2,7 - movdqa XMMWORD[(80-128)+rax],xmm5 - paddd xmm5,xmm10 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[32+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm15 - - pxor xmm7,xmm2 - movdqa xmm4,xmm15 - pslld xmm2,26-21 - pandn xmm0,xmm9 - pand xmm4,xmm8 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm11 - pxor xmm7,xmm2 - movdqa xmm2,xmm11 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm12 - movdqa xmm7,xmm11 - pslld xmm2,10 - pxor xmm4,xmm11 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm10,xmm12 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm10,xmm3 - paddd xmm14,xmm5 - pxor xmm7,xmm2 - - paddd xmm10,xmm5 - paddd xmm10,xmm7 - movd xmm5,DWORD[24+r8] - movd xmm0,DWORD[24+r9] - movd xmm1,DWORD[24+r10] - movd xmm2,DWORD[24+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm14 -DB 102,15,56,0,238 - movdqa xmm2,xmm14 - - psrld xmm7,6 - movdqa xmm1,xmm14 - pslld xmm2,7 - movdqa XMMWORD[(96-128)+rax],xmm5 - paddd xmm5,xmm9 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[64+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm14 - - pxor xmm7,xmm2 - movdqa xmm3,xmm14 - pslld xmm2,26-21 - pandn xmm0,xmm8 - pand xmm3,xmm15 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm10 - pxor xmm7,xmm2 - movdqa xmm2,xmm10 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm11 - movdqa xmm7,xmm10 - pslld xmm2,10 - pxor xmm3,xmm10 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm9,xmm11 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm9,xmm4 - paddd xmm13,xmm5 - pxor xmm7,xmm2 - - paddd xmm9,xmm5 - paddd xmm9,xmm7 - movd xmm5,DWORD[28+r8] - movd xmm0,DWORD[28+r9] - movd xmm1,DWORD[28+r10] - movd xmm2,DWORD[28+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm13 - - movdqa xmm2,xmm13 -DB 102,15,56,0,238 - psrld xmm7,6 - movdqa xmm1,xmm13 - pslld xmm2,7 - movdqa XMMWORD[(112-128)+rax],xmm5 - paddd xmm5,xmm8 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[96+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm13 - - pxor xmm7,xmm2 - movdqa xmm4,xmm13 - pslld xmm2,26-21 - pandn xmm0,xmm15 - pand xmm4,xmm14 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm9 - pxor xmm7,xmm2 - movdqa xmm2,xmm9 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm10 - movdqa xmm7,xmm9 - pslld xmm2,10 - pxor xmm4,xmm9 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm8,xmm10 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm8,xmm3 - paddd xmm12,xmm5 - pxor xmm7,xmm2 - - paddd xmm8,xmm5 - paddd xmm8,xmm7 - lea rbp,[256+rbp] - movd xmm5,DWORD[32+r8] - movd xmm0,DWORD[32+r9] - movd xmm1,DWORD[32+r10] - movd xmm2,DWORD[32+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm12 -DB 102,15,56,0,238 - movdqa xmm2,xmm12 - - psrld xmm7,6 - movdqa xmm1,xmm12 - pslld xmm2,7 - movdqa XMMWORD[(128-128)+rax],xmm5 - paddd xmm5,xmm15 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-128))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm12 - - pxor xmm7,xmm2 - movdqa xmm3,xmm12 - pslld xmm2,26-21 - pandn xmm0,xmm14 - pand xmm3,xmm13 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm8 - pxor xmm7,xmm2 - movdqa xmm2,xmm8 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm9 - movdqa xmm7,xmm8 - pslld xmm2,10 - pxor xmm3,xmm8 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm15,xmm9 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm15,xmm4 - paddd xmm11,xmm5 - pxor xmm7,xmm2 - - paddd xmm15,xmm5 - paddd xmm15,xmm7 - movd xmm5,DWORD[36+r8] - movd xmm0,DWORD[36+r9] - movd xmm1,DWORD[36+r10] - movd xmm2,DWORD[36+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm11 - - movdqa xmm2,xmm11 -DB 102,15,56,0,238 - psrld xmm7,6 - movdqa xmm1,xmm11 - pslld xmm2,7 - movdqa XMMWORD[(144-128)+rax],xmm5 - paddd xmm5,xmm14 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-96))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm11 - - pxor xmm7,xmm2 - movdqa xmm4,xmm11 - pslld xmm2,26-21 - pandn xmm0,xmm13 - pand xmm4,xmm12 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm15 - pxor xmm7,xmm2 - movdqa xmm2,xmm15 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm8 - movdqa xmm7,xmm15 - pslld xmm2,10 - pxor xmm4,xmm15 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm14,xmm8 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm14,xmm3 - paddd xmm10,xmm5 - pxor xmm7,xmm2 - - paddd xmm14,xmm5 - paddd xmm14,xmm7 - movd xmm5,DWORD[40+r8] - movd xmm0,DWORD[40+r9] - movd xmm1,DWORD[40+r10] - movd xmm2,DWORD[40+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm10 -DB 102,15,56,0,238 - movdqa xmm2,xmm10 - - psrld xmm7,6 - movdqa xmm1,xmm10 - pslld xmm2,7 - movdqa XMMWORD[(160-128)+rax],xmm5 - paddd xmm5,xmm13 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-64))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm10 - - pxor xmm7,xmm2 - movdqa xmm3,xmm10 - pslld xmm2,26-21 - pandn xmm0,xmm12 - pand xmm3,xmm11 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm14 - pxor xmm7,xmm2 - movdqa xmm2,xmm14 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm15 - movdqa xmm7,xmm14 - pslld xmm2,10 - pxor xmm3,xmm14 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm13,xmm15 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm13,xmm4 - paddd xmm9,xmm5 - pxor xmm7,xmm2 - - paddd xmm13,xmm5 - paddd xmm13,xmm7 - movd xmm5,DWORD[44+r8] - movd xmm0,DWORD[44+r9] - movd xmm1,DWORD[44+r10] - movd xmm2,DWORD[44+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm9 - - movdqa xmm2,xmm9 -DB 102,15,56,0,238 - psrld xmm7,6 - movdqa xmm1,xmm9 - pslld xmm2,7 - movdqa XMMWORD[(176-128)+rax],xmm5 - paddd xmm5,xmm12 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-32))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm9 - - pxor xmm7,xmm2 - movdqa xmm4,xmm9 - pslld xmm2,26-21 - pandn xmm0,xmm11 - pand xmm4,xmm10 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm13 - pxor xmm7,xmm2 - movdqa xmm2,xmm13 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm14 - movdqa xmm7,xmm13 - pslld xmm2,10 - pxor xmm4,xmm13 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm12,xmm14 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm12,xmm3 - paddd xmm8,xmm5 - pxor xmm7,xmm2 - - paddd xmm12,xmm5 - paddd xmm12,xmm7 - movd xmm5,DWORD[48+r8] - movd xmm0,DWORD[48+r9] - movd xmm1,DWORD[48+r10] - movd xmm2,DWORD[48+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm8 -DB 102,15,56,0,238 - movdqa xmm2,xmm8 - - psrld xmm7,6 - movdqa xmm1,xmm8 - pslld xmm2,7 - movdqa XMMWORD[(192-128)+rax],xmm5 - paddd xmm5,xmm11 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm8 - - pxor xmm7,xmm2 - movdqa xmm3,xmm8 - pslld xmm2,26-21 - pandn xmm0,xmm10 - pand xmm3,xmm9 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm12 - pxor xmm7,xmm2 - movdqa xmm2,xmm12 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm13 - movdqa xmm7,xmm12 - pslld xmm2,10 - pxor xmm3,xmm12 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm11,xmm13 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm11,xmm4 - paddd xmm15,xmm5 - pxor xmm7,xmm2 - - paddd xmm11,xmm5 - paddd xmm11,xmm7 - movd xmm5,DWORD[52+r8] - movd xmm0,DWORD[52+r9] - movd xmm1,DWORD[52+r10] - movd xmm2,DWORD[52+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm15 - - movdqa xmm2,xmm15 -DB 102,15,56,0,238 - psrld xmm7,6 - movdqa xmm1,xmm15 - pslld xmm2,7 - movdqa XMMWORD[(208-128)+rax],xmm5 - paddd xmm5,xmm10 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[32+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm15 - - pxor xmm7,xmm2 - movdqa xmm4,xmm15 - pslld xmm2,26-21 - pandn xmm0,xmm9 - pand xmm4,xmm8 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm11 - pxor xmm7,xmm2 - movdqa xmm2,xmm11 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm12 - movdqa xmm7,xmm11 - pslld xmm2,10 - pxor xmm4,xmm11 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm10,xmm12 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm10,xmm3 - paddd xmm14,xmm5 - pxor xmm7,xmm2 - - paddd xmm10,xmm5 - paddd xmm10,xmm7 - movd xmm5,DWORD[56+r8] - movd xmm0,DWORD[56+r9] - movd xmm1,DWORD[56+r10] - movd xmm2,DWORD[56+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm14 -DB 102,15,56,0,238 - movdqa xmm2,xmm14 - - psrld xmm7,6 - movdqa xmm1,xmm14 - pslld xmm2,7 - movdqa XMMWORD[(224-128)+rax],xmm5 - paddd xmm5,xmm9 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[64+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm14 - - pxor xmm7,xmm2 - movdqa xmm3,xmm14 - pslld xmm2,26-21 - pandn xmm0,xmm8 - pand xmm3,xmm15 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm10 - pxor xmm7,xmm2 - movdqa xmm2,xmm10 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm11 - movdqa xmm7,xmm10 - pslld xmm2,10 - pxor xmm3,xmm10 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm9,xmm11 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm9,xmm4 - paddd xmm13,xmm5 - pxor xmm7,xmm2 - - paddd xmm9,xmm5 - paddd xmm9,xmm7 - movd xmm5,DWORD[60+r8] - lea r8,[64+r8] - movd xmm0,DWORD[60+r9] - lea r9,[64+r9] - movd xmm1,DWORD[60+r10] - lea r10,[64+r10] - movd xmm2,DWORD[60+r11] - lea r11,[64+r11] - punpckldq xmm5,xmm1 - punpckldq xmm0,xmm2 - punpckldq xmm5,xmm0 - movdqa xmm7,xmm13 - - movdqa xmm2,xmm13 -DB 102,15,56,0,238 - psrld xmm7,6 - movdqa xmm1,xmm13 - pslld xmm2,7 - movdqa XMMWORD[(240-128)+rax],xmm5 - paddd xmm5,xmm8 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[96+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm13 - prefetcht0 [63+r8] - pxor xmm7,xmm2 - movdqa xmm4,xmm13 - pslld xmm2,26-21 - pandn xmm0,xmm15 - pand xmm4,xmm14 - pxor xmm7,xmm1 - - prefetcht0 [63+r9] - movdqa xmm1,xmm9 - pxor xmm7,xmm2 - movdqa xmm2,xmm9 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm10 - movdqa xmm7,xmm9 - pslld xmm2,10 - pxor xmm4,xmm9 - - prefetcht0 [63+r10] - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - prefetcht0 [63+r11] - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm8,xmm10 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm8,xmm3 - paddd xmm12,xmm5 - pxor xmm7,xmm2 - - paddd xmm8,xmm5 - paddd xmm8,xmm7 - lea rbp,[256+rbp] - movdqu xmm5,XMMWORD[((0-128))+rax] - mov ecx,3 - jmp NEAR $L$oop_16_xx -ALIGN 32 -$L$oop_16_xx: - movdqa xmm6,XMMWORD[((16-128))+rax] - paddd xmm5,XMMWORD[((144-128))+rax] - - movdqa xmm7,xmm6 - movdqa xmm1,xmm6 - psrld xmm7,3 - movdqa xmm2,xmm6 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((224-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm3,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm3 - - psrld xmm3,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - psrld xmm3,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm3 - pxor xmm0,xmm1 - paddd xmm5,xmm0 - movdqa xmm7,xmm12 - - movdqa xmm2,xmm12 - - psrld xmm7,6 - movdqa xmm1,xmm12 - pslld xmm2,7 - movdqa XMMWORD[(0-128)+rax],xmm5 - paddd xmm5,xmm15 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-128))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm12 - - pxor xmm7,xmm2 - movdqa xmm3,xmm12 - pslld xmm2,26-21 - pandn xmm0,xmm14 - pand xmm3,xmm13 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm8 - pxor xmm7,xmm2 - movdqa xmm2,xmm8 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm9 - movdqa xmm7,xmm8 - pslld xmm2,10 - pxor xmm3,xmm8 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm15,xmm9 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm15,xmm4 - paddd xmm11,xmm5 - pxor xmm7,xmm2 - - paddd xmm15,xmm5 - paddd xmm15,xmm7 - movdqa xmm5,XMMWORD[((32-128))+rax] - paddd xmm6,XMMWORD[((160-128))+rax] - - movdqa xmm7,xmm5 - movdqa xmm1,xmm5 - psrld xmm7,3 - movdqa xmm2,xmm5 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((240-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm4,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm4 - - psrld xmm4,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - psrld xmm4,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm4 - pxor xmm0,xmm1 - paddd xmm6,xmm0 - movdqa xmm7,xmm11 - - movdqa xmm2,xmm11 - - psrld xmm7,6 - movdqa xmm1,xmm11 - pslld xmm2,7 - movdqa XMMWORD[(16-128)+rax],xmm6 - paddd xmm6,xmm14 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm6,XMMWORD[((-96))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm11 - - pxor xmm7,xmm2 - movdqa xmm4,xmm11 - pslld xmm2,26-21 - pandn xmm0,xmm13 - pand xmm4,xmm12 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm15 - pxor xmm7,xmm2 - movdqa xmm2,xmm15 - psrld xmm1,2 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm8 - movdqa xmm7,xmm15 - pslld xmm2,10 - pxor xmm4,xmm15 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm6,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm14,xmm8 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm14,xmm3 - paddd xmm10,xmm6 - pxor xmm7,xmm2 - - paddd xmm14,xmm6 - paddd xmm14,xmm7 - movdqa xmm6,XMMWORD[((48-128))+rax] - paddd xmm5,XMMWORD[((176-128))+rax] - - movdqa xmm7,xmm6 - movdqa xmm1,xmm6 - psrld xmm7,3 - movdqa xmm2,xmm6 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((0-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm3,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm3 - - psrld xmm3,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - psrld xmm3,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm3 - pxor xmm0,xmm1 - paddd xmm5,xmm0 - movdqa xmm7,xmm10 - - movdqa xmm2,xmm10 - - psrld xmm7,6 - movdqa xmm1,xmm10 - pslld xmm2,7 - movdqa XMMWORD[(32-128)+rax],xmm5 - paddd xmm5,xmm13 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-64))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm10 - - pxor xmm7,xmm2 - movdqa xmm3,xmm10 - pslld xmm2,26-21 - pandn xmm0,xmm12 - pand xmm3,xmm11 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm14 - pxor xmm7,xmm2 - movdqa xmm2,xmm14 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm15 - movdqa xmm7,xmm14 - pslld xmm2,10 - pxor xmm3,xmm14 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm13,xmm15 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm13,xmm4 - paddd xmm9,xmm5 - pxor xmm7,xmm2 - - paddd xmm13,xmm5 - paddd xmm13,xmm7 - movdqa xmm5,XMMWORD[((64-128))+rax] - paddd xmm6,XMMWORD[((192-128))+rax] - - movdqa xmm7,xmm5 - movdqa xmm1,xmm5 - psrld xmm7,3 - movdqa xmm2,xmm5 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((16-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm4,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm4 - - psrld xmm4,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - psrld xmm4,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm4 - pxor xmm0,xmm1 - paddd xmm6,xmm0 - movdqa xmm7,xmm9 - - movdqa xmm2,xmm9 - - psrld xmm7,6 - movdqa xmm1,xmm9 - pslld xmm2,7 - movdqa XMMWORD[(48-128)+rax],xmm6 - paddd xmm6,xmm12 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm6,XMMWORD[((-32))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm9 - - pxor xmm7,xmm2 - movdqa xmm4,xmm9 - pslld xmm2,26-21 - pandn xmm0,xmm11 - pand xmm4,xmm10 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm13 - pxor xmm7,xmm2 - movdqa xmm2,xmm13 - psrld xmm1,2 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm14 - movdqa xmm7,xmm13 - pslld xmm2,10 - pxor xmm4,xmm13 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm6,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm12,xmm14 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm12,xmm3 - paddd xmm8,xmm6 - pxor xmm7,xmm2 - - paddd xmm12,xmm6 - paddd xmm12,xmm7 - movdqa xmm6,XMMWORD[((80-128))+rax] - paddd xmm5,XMMWORD[((208-128))+rax] - - movdqa xmm7,xmm6 - movdqa xmm1,xmm6 - psrld xmm7,3 - movdqa xmm2,xmm6 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((32-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm3,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm3 - - psrld xmm3,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - psrld xmm3,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm3 - pxor xmm0,xmm1 - paddd xmm5,xmm0 - movdqa xmm7,xmm8 - - movdqa xmm2,xmm8 - - psrld xmm7,6 - movdqa xmm1,xmm8 - pslld xmm2,7 - movdqa XMMWORD[(64-128)+rax],xmm5 - paddd xmm5,xmm11 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm8 - - pxor xmm7,xmm2 - movdqa xmm3,xmm8 - pslld xmm2,26-21 - pandn xmm0,xmm10 - pand xmm3,xmm9 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm12 - pxor xmm7,xmm2 - movdqa xmm2,xmm12 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm13 - movdqa xmm7,xmm12 - pslld xmm2,10 - pxor xmm3,xmm12 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm11,xmm13 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm11,xmm4 - paddd xmm15,xmm5 - pxor xmm7,xmm2 - - paddd xmm11,xmm5 - paddd xmm11,xmm7 - movdqa xmm5,XMMWORD[((96-128))+rax] - paddd xmm6,XMMWORD[((224-128))+rax] - - movdqa xmm7,xmm5 - movdqa xmm1,xmm5 - psrld xmm7,3 - movdqa xmm2,xmm5 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((48-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm4,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm4 - - psrld xmm4,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - psrld xmm4,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm4 - pxor xmm0,xmm1 - paddd xmm6,xmm0 - movdqa xmm7,xmm15 - - movdqa xmm2,xmm15 - - psrld xmm7,6 - movdqa xmm1,xmm15 - pslld xmm2,7 - movdqa XMMWORD[(80-128)+rax],xmm6 - paddd xmm6,xmm10 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm6,XMMWORD[32+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm15 - - pxor xmm7,xmm2 - movdqa xmm4,xmm15 - pslld xmm2,26-21 - pandn xmm0,xmm9 - pand xmm4,xmm8 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm11 - pxor xmm7,xmm2 - movdqa xmm2,xmm11 - psrld xmm1,2 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm12 - movdqa xmm7,xmm11 - pslld xmm2,10 - pxor xmm4,xmm11 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm6,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm10,xmm12 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm10,xmm3 - paddd xmm14,xmm6 - pxor xmm7,xmm2 - - paddd xmm10,xmm6 - paddd xmm10,xmm7 - movdqa xmm6,XMMWORD[((112-128))+rax] - paddd xmm5,XMMWORD[((240-128))+rax] - - movdqa xmm7,xmm6 - movdqa xmm1,xmm6 - psrld xmm7,3 - movdqa xmm2,xmm6 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((64-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm3,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm3 - - psrld xmm3,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - psrld xmm3,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm3 - pxor xmm0,xmm1 - paddd xmm5,xmm0 - movdqa xmm7,xmm14 - - movdqa xmm2,xmm14 - - psrld xmm7,6 - movdqa xmm1,xmm14 - pslld xmm2,7 - movdqa XMMWORD[(96-128)+rax],xmm5 - paddd xmm5,xmm9 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[64+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm14 - - pxor xmm7,xmm2 - movdqa xmm3,xmm14 - pslld xmm2,26-21 - pandn xmm0,xmm8 - pand xmm3,xmm15 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm10 - pxor xmm7,xmm2 - movdqa xmm2,xmm10 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm11 - movdqa xmm7,xmm10 - pslld xmm2,10 - pxor xmm3,xmm10 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm9,xmm11 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm9,xmm4 - paddd xmm13,xmm5 - pxor xmm7,xmm2 - - paddd xmm9,xmm5 - paddd xmm9,xmm7 - movdqa xmm5,XMMWORD[((128-128))+rax] - paddd xmm6,XMMWORD[((0-128))+rax] - - movdqa xmm7,xmm5 - movdqa xmm1,xmm5 - psrld xmm7,3 - movdqa xmm2,xmm5 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((80-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm4,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm4 - - psrld xmm4,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - psrld xmm4,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm4 - pxor xmm0,xmm1 - paddd xmm6,xmm0 - movdqa xmm7,xmm13 - - movdqa xmm2,xmm13 - - psrld xmm7,6 - movdqa xmm1,xmm13 - pslld xmm2,7 - movdqa XMMWORD[(112-128)+rax],xmm6 - paddd xmm6,xmm8 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm6,XMMWORD[96+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm13 - - pxor xmm7,xmm2 - movdqa xmm4,xmm13 - pslld xmm2,26-21 - pandn xmm0,xmm15 - pand xmm4,xmm14 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm9 - pxor xmm7,xmm2 - movdqa xmm2,xmm9 - psrld xmm1,2 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm10 - movdqa xmm7,xmm9 - pslld xmm2,10 - pxor xmm4,xmm9 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm6,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm8,xmm10 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm8,xmm3 - paddd xmm12,xmm6 - pxor xmm7,xmm2 - - paddd xmm8,xmm6 - paddd xmm8,xmm7 - lea rbp,[256+rbp] - movdqa xmm6,XMMWORD[((144-128))+rax] - paddd xmm5,XMMWORD[((16-128))+rax] - - movdqa xmm7,xmm6 - movdqa xmm1,xmm6 - psrld xmm7,3 - movdqa xmm2,xmm6 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((96-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm3,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm3 - - psrld xmm3,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - psrld xmm3,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm3 - pxor xmm0,xmm1 - paddd xmm5,xmm0 - movdqa xmm7,xmm12 - - movdqa xmm2,xmm12 - - psrld xmm7,6 - movdqa xmm1,xmm12 - pslld xmm2,7 - movdqa XMMWORD[(128-128)+rax],xmm5 - paddd xmm5,xmm15 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-128))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm12 - - pxor xmm7,xmm2 - movdqa xmm3,xmm12 - pslld xmm2,26-21 - pandn xmm0,xmm14 - pand xmm3,xmm13 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm8 - pxor xmm7,xmm2 - movdqa xmm2,xmm8 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm9 - movdqa xmm7,xmm8 - pslld xmm2,10 - pxor xmm3,xmm8 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm15,xmm9 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm15,xmm4 - paddd xmm11,xmm5 - pxor xmm7,xmm2 - - paddd xmm15,xmm5 - paddd xmm15,xmm7 - movdqa xmm5,XMMWORD[((160-128))+rax] - paddd xmm6,XMMWORD[((32-128))+rax] - - movdqa xmm7,xmm5 - movdqa xmm1,xmm5 - psrld xmm7,3 - movdqa xmm2,xmm5 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((112-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm4,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm4 - - psrld xmm4,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - psrld xmm4,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm4 - pxor xmm0,xmm1 - paddd xmm6,xmm0 - movdqa xmm7,xmm11 - - movdqa xmm2,xmm11 - - psrld xmm7,6 - movdqa xmm1,xmm11 - pslld xmm2,7 - movdqa XMMWORD[(144-128)+rax],xmm6 - paddd xmm6,xmm14 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm6,XMMWORD[((-96))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm11 - - pxor xmm7,xmm2 - movdqa xmm4,xmm11 - pslld xmm2,26-21 - pandn xmm0,xmm13 - pand xmm4,xmm12 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm15 - pxor xmm7,xmm2 - movdqa xmm2,xmm15 - psrld xmm1,2 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm8 - movdqa xmm7,xmm15 - pslld xmm2,10 - pxor xmm4,xmm15 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm6,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm14,xmm8 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm14,xmm3 - paddd xmm10,xmm6 - pxor xmm7,xmm2 - - paddd xmm14,xmm6 - paddd xmm14,xmm7 - movdqa xmm6,XMMWORD[((176-128))+rax] - paddd xmm5,XMMWORD[((48-128))+rax] - - movdqa xmm7,xmm6 - movdqa xmm1,xmm6 - psrld xmm7,3 - movdqa xmm2,xmm6 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((128-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm3,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm3 - - psrld xmm3,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - psrld xmm3,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm3 - pxor xmm0,xmm1 - paddd xmm5,xmm0 - movdqa xmm7,xmm10 - - movdqa xmm2,xmm10 - - psrld xmm7,6 - movdqa xmm1,xmm10 - pslld xmm2,7 - movdqa XMMWORD[(160-128)+rax],xmm5 - paddd xmm5,xmm13 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[((-64))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm10 - - pxor xmm7,xmm2 - movdqa xmm3,xmm10 - pslld xmm2,26-21 - pandn xmm0,xmm12 - pand xmm3,xmm11 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm14 - pxor xmm7,xmm2 - movdqa xmm2,xmm14 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm15 - movdqa xmm7,xmm14 - pslld xmm2,10 - pxor xmm3,xmm14 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm13,xmm15 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm13,xmm4 - paddd xmm9,xmm5 - pxor xmm7,xmm2 - - paddd xmm13,xmm5 - paddd xmm13,xmm7 - movdqa xmm5,XMMWORD[((192-128))+rax] - paddd xmm6,XMMWORD[((64-128))+rax] - - movdqa xmm7,xmm5 - movdqa xmm1,xmm5 - psrld xmm7,3 - movdqa xmm2,xmm5 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((144-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm4,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm4 - - psrld xmm4,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - psrld xmm4,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm4 - pxor xmm0,xmm1 - paddd xmm6,xmm0 - movdqa xmm7,xmm9 - - movdqa xmm2,xmm9 - - psrld xmm7,6 - movdqa xmm1,xmm9 - pslld xmm2,7 - movdqa XMMWORD[(176-128)+rax],xmm6 - paddd xmm6,xmm12 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm6,XMMWORD[((-32))+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm9 - - pxor xmm7,xmm2 - movdqa xmm4,xmm9 - pslld xmm2,26-21 - pandn xmm0,xmm11 - pand xmm4,xmm10 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm13 - pxor xmm7,xmm2 - movdqa xmm2,xmm13 - psrld xmm1,2 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm14 - movdqa xmm7,xmm13 - pslld xmm2,10 - pxor xmm4,xmm13 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm6,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm12,xmm14 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm12,xmm3 - paddd xmm8,xmm6 - pxor xmm7,xmm2 - - paddd xmm12,xmm6 - paddd xmm12,xmm7 - movdqa xmm6,XMMWORD[((208-128))+rax] - paddd xmm5,XMMWORD[((80-128))+rax] - - movdqa xmm7,xmm6 - movdqa xmm1,xmm6 - psrld xmm7,3 - movdqa xmm2,xmm6 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((160-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm3,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm3 - - psrld xmm3,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - psrld xmm3,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm3 - pxor xmm0,xmm1 - paddd xmm5,xmm0 - movdqa xmm7,xmm8 - - movdqa xmm2,xmm8 - - psrld xmm7,6 - movdqa xmm1,xmm8 - pslld xmm2,7 - movdqa XMMWORD[(192-128)+rax],xmm5 - paddd xmm5,xmm11 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm8 - - pxor xmm7,xmm2 - movdqa xmm3,xmm8 - pslld xmm2,26-21 - pandn xmm0,xmm10 - pand xmm3,xmm9 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm12 - pxor xmm7,xmm2 - movdqa xmm2,xmm12 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm13 - movdqa xmm7,xmm12 - pslld xmm2,10 - pxor xmm3,xmm12 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm11,xmm13 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm11,xmm4 - paddd xmm15,xmm5 - pxor xmm7,xmm2 - - paddd xmm11,xmm5 - paddd xmm11,xmm7 - movdqa xmm5,XMMWORD[((224-128))+rax] - paddd xmm6,XMMWORD[((96-128))+rax] - - movdqa xmm7,xmm5 - movdqa xmm1,xmm5 - psrld xmm7,3 - movdqa xmm2,xmm5 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((176-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm4,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm4 - - psrld xmm4,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - psrld xmm4,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm4 - pxor xmm0,xmm1 - paddd xmm6,xmm0 - movdqa xmm7,xmm15 - - movdqa xmm2,xmm15 - - psrld xmm7,6 - movdqa xmm1,xmm15 - pslld xmm2,7 - movdqa XMMWORD[(208-128)+rax],xmm6 - paddd xmm6,xmm10 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm6,XMMWORD[32+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm15 - - pxor xmm7,xmm2 - movdqa xmm4,xmm15 - pslld xmm2,26-21 - pandn xmm0,xmm9 - pand xmm4,xmm8 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm11 - pxor xmm7,xmm2 - movdqa xmm2,xmm11 - psrld xmm1,2 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm12 - movdqa xmm7,xmm11 - pslld xmm2,10 - pxor xmm4,xmm11 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm6,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm10,xmm12 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm10,xmm3 - paddd xmm14,xmm6 - pxor xmm7,xmm2 - - paddd xmm10,xmm6 - paddd xmm10,xmm7 - movdqa xmm6,XMMWORD[((240-128))+rax] - paddd xmm5,XMMWORD[((112-128))+rax] - - movdqa xmm7,xmm6 - movdqa xmm1,xmm6 - psrld xmm7,3 - movdqa xmm2,xmm6 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((192-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm3,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm3 - - psrld xmm3,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - psrld xmm3,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm3 - pxor xmm0,xmm1 - paddd xmm5,xmm0 - movdqa xmm7,xmm14 - - movdqa xmm2,xmm14 - - psrld xmm7,6 - movdqa xmm1,xmm14 - pslld xmm2,7 - movdqa XMMWORD[(224-128)+rax],xmm5 - paddd xmm5,xmm9 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm5,XMMWORD[64+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm14 - - pxor xmm7,xmm2 - movdqa xmm3,xmm14 - pslld xmm2,26-21 - pandn xmm0,xmm8 - pand xmm3,xmm15 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm10 - pxor xmm7,xmm2 - movdqa xmm2,xmm10 - psrld xmm1,2 - paddd xmm5,xmm7 - pxor xmm0,xmm3 - movdqa xmm3,xmm11 - movdqa xmm7,xmm10 - pslld xmm2,10 - pxor xmm3,xmm10 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm5,xmm0 - pslld xmm2,19-10 - pand xmm4,xmm3 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm9,xmm11 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm9,xmm4 - paddd xmm13,xmm5 - pxor xmm7,xmm2 - - paddd xmm9,xmm5 - paddd xmm9,xmm7 - movdqa xmm5,XMMWORD[((0-128))+rax] - paddd xmm6,XMMWORD[((128-128))+rax] - - movdqa xmm7,xmm5 - movdqa xmm1,xmm5 - psrld xmm7,3 - movdqa xmm2,xmm5 - - psrld xmm1,7 - movdqa xmm0,XMMWORD[((208-128))+rax] - pslld xmm2,14 - pxor xmm7,xmm1 - psrld xmm1,18-7 - movdqa xmm4,xmm0 - pxor xmm7,xmm2 - pslld xmm2,25-14 - pxor xmm7,xmm1 - psrld xmm0,10 - movdqa xmm1,xmm4 - - psrld xmm4,17 - pxor xmm7,xmm2 - pslld xmm1,13 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - psrld xmm4,19-17 - pxor xmm0,xmm1 - pslld xmm1,15-13 - pxor xmm0,xmm4 - pxor xmm0,xmm1 - paddd xmm6,xmm0 - movdqa xmm7,xmm13 - - movdqa xmm2,xmm13 - - psrld xmm7,6 - movdqa xmm1,xmm13 - pslld xmm2,7 - movdqa XMMWORD[(240-128)+rax],xmm6 - paddd xmm6,xmm8 - - psrld xmm1,11 - pxor xmm7,xmm2 - pslld xmm2,21-7 - paddd xmm6,XMMWORD[96+rbp] - pxor xmm7,xmm1 - - psrld xmm1,25-11 - movdqa xmm0,xmm13 - - pxor xmm7,xmm2 - movdqa xmm4,xmm13 - pslld xmm2,26-21 - pandn xmm0,xmm15 - pand xmm4,xmm14 - pxor xmm7,xmm1 - - - movdqa xmm1,xmm9 - pxor xmm7,xmm2 - movdqa xmm2,xmm9 - psrld xmm1,2 - paddd xmm6,xmm7 - pxor xmm0,xmm4 - movdqa xmm4,xmm10 - movdqa xmm7,xmm9 - pslld xmm2,10 - pxor xmm4,xmm9 - - - psrld xmm7,13 - pxor xmm1,xmm2 - paddd xmm6,xmm0 - pslld xmm2,19-10 - pand xmm3,xmm4 - pxor xmm1,xmm7 - - - psrld xmm7,22-13 - pxor xmm1,xmm2 - movdqa xmm8,xmm10 - pslld xmm2,30-19 - pxor xmm7,xmm1 - pxor xmm8,xmm3 - paddd xmm12,xmm6 - pxor xmm7,xmm2 - - paddd xmm8,xmm6 - paddd xmm8,xmm7 - lea rbp,[256+rbp] - dec ecx - jnz NEAR $L$oop_16_xx - - mov ecx,1 - lea rbp,[((K256+128))] - - movdqa xmm7,XMMWORD[rbx] - cmp ecx,DWORD[rbx] - pxor xmm0,xmm0 - cmovge r8,rbp - cmp ecx,DWORD[4+rbx] - movdqa xmm6,xmm7 - cmovge r9,rbp - cmp ecx,DWORD[8+rbx] - pcmpgtd xmm6,xmm0 - cmovge r10,rbp - cmp ecx,DWORD[12+rbx] - paddd xmm7,xmm6 - cmovge r11,rbp - - movdqu xmm0,XMMWORD[((0-128))+rdi] - pand xmm8,xmm6 - movdqu xmm1,XMMWORD[((32-128))+rdi] - pand xmm9,xmm6 - movdqu xmm2,XMMWORD[((64-128))+rdi] - pand xmm10,xmm6 - movdqu xmm5,XMMWORD[((96-128))+rdi] - pand xmm11,xmm6 - paddd xmm8,xmm0 - movdqu xmm0,XMMWORD[((128-128))+rdi] - pand xmm12,xmm6 - paddd xmm9,xmm1 - movdqu xmm1,XMMWORD[((160-128))+rdi] - pand xmm13,xmm6 - paddd xmm10,xmm2 - movdqu xmm2,XMMWORD[((192-128))+rdi] - pand xmm14,xmm6 - paddd xmm11,xmm5 - movdqu xmm5,XMMWORD[((224-128))+rdi] - pand xmm15,xmm6 - paddd xmm12,xmm0 - paddd xmm13,xmm1 - movdqu XMMWORD[(0-128)+rdi],xmm8 - paddd xmm14,xmm2 - movdqu XMMWORD[(32-128)+rdi],xmm9 - paddd xmm15,xmm5 - movdqu XMMWORD[(64-128)+rdi],xmm10 - movdqu XMMWORD[(96-128)+rdi],xmm11 - movdqu XMMWORD[(128-128)+rdi],xmm12 - movdqu XMMWORD[(160-128)+rdi],xmm13 - movdqu XMMWORD[(192-128)+rdi],xmm14 - movdqu XMMWORD[(224-128)+rdi],xmm15 - - movdqa XMMWORD[rbx],xmm7 - movdqa xmm6,XMMWORD[$L$pbswap] - dec edx - jnz NEAR $L$oop - - mov edx,DWORD[280+rsp] - lea rdi,[16+rdi] - lea rsi,[64+rsi] - dec edx - jnz NEAR $L$oop_grande - -$L$done: - mov rax,QWORD[272+rsp] - movaps xmm6,XMMWORD[((-184))+rax] - movaps xmm7,XMMWORD[((-168))+rax] - movaps xmm8,XMMWORD[((-152))+rax] - movaps xmm9,XMMWORD[((-136))+rax] - movaps xmm10,XMMWORD[((-120))+rax] - movaps xmm11,XMMWORD[((-104))+rax] - movaps xmm12,XMMWORD[((-88))+rax] - movaps xmm13,XMMWORD[((-72))+rax] - movaps xmm14,XMMWORD[((-56))+rax] - movaps xmm15,XMMWORD[((-40))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_multi_block: - -ALIGN 32 -sha256_multi_block_shaext: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha256_multi_block_shaext: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_shaext_shortcut: - mov rax,rsp - push rbx - push rbp - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[(-120)+rax],xmm10 - movaps XMMWORD[(-104)+rax],xmm11 - movaps XMMWORD[(-88)+rax],xmm12 - movaps XMMWORD[(-72)+rax],xmm13 - movaps XMMWORD[(-56)+rax],xmm14 - movaps XMMWORD[(-40)+rax],xmm15 - sub rsp,288 - shl edx,1 - and rsp,-256 - lea rdi,[128+rdi] - mov QWORD[272+rsp],rax -$L$body_shaext: - lea rbx,[256+rsp] - lea rbp,[((K256_shaext+128))] - -$L$oop_grande_shaext: - mov DWORD[280+rsp],edx - xor edx,edx - mov r8,QWORD[rsi] - mov ecx,DWORD[8+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[rbx],ecx - cmovle r8,rsp - mov r9,QWORD[16+rsi] - mov ecx,DWORD[24+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[4+rbx],ecx - cmovle r9,rsp - test edx,edx - jz NEAR $L$done_shaext - - movq xmm12,QWORD[((0-128))+rdi] - movq xmm4,QWORD[((32-128))+rdi] - movq xmm13,QWORD[((64-128))+rdi] - movq xmm5,QWORD[((96-128))+rdi] - movq xmm8,QWORD[((128-128))+rdi] - movq xmm9,QWORD[((160-128))+rdi] - movq xmm10,QWORD[((192-128))+rdi] - movq xmm11,QWORD[((224-128))+rdi] - - punpckldq xmm12,xmm4 - punpckldq xmm13,xmm5 - punpckldq xmm8,xmm9 - punpckldq xmm10,xmm11 - movdqa xmm3,XMMWORD[((K256_shaext-16))] - - movdqa xmm14,xmm12 - movdqa xmm15,xmm13 - punpcklqdq xmm12,xmm8 - punpcklqdq xmm13,xmm10 - punpckhqdq xmm14,xmm8 - punpckhqdq xmm15,xmm10 - - pshufd xmm12,xmm12,27 - pshufd xmm13,xmm13,27 - pshufd xmm14,xmm14,27 - pshufd xmm15,xmm15,27 - jmp NEAR $L$oop_shaext - -ALIGN 32 -$L$oop_shaext: - movdqu xmm4,XMMWORD[r8] - movdqu xmm8,XMMWORD[r9] - movdqu xmm5,XMMWORD[16+r8] - movdqu xmm9,XMMWORD[16+r9] - movdqu xmm6,XMMWORD[32+r8] -DB 102,15,56,0,227 - movdqu xmm10,XMMWORD[32+r9] -DB 102,68,15,56,0,195 - movdqu xmm7,XMMWORD[48+r8] - lea r8,[64+r8] - movdqu xmm11,XMMWORD[48+r9] - lea r9,[64+r9] - - movdqa xmm0,XMMWORD[((0-128))+rbp] -DB 102,15,56,0,235 - paddd xmm0,xmm4 - pxor xmm4,xmm12 - movdqa xmm1,xmm0 - movdqa xmm2,XMMWORD[((0-128))+rbp] -DB 102,68,15,56,0,203 - paddd xmm2,xmm8 - movdqa XMMWORD[80+rsp],xmm13 -DB 69,15,56,203,236 - pxor xmm8,xmm14 - movdqa xmm0,xmm2 - movdqa XMMWORD[112+rsp],xmm15 -DB 69,15,56,203,254 - pshufd xmm0,xmm1,0x0e - pxor xmm4,xmm12 - movdqa XMMWORD[64+rsp],xmm12 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - pxor xmm8,xmm14 - movdqa XMMWORD[96+rsp],xmm14 - movdqa xmm1,XMMWORD[((16-128))+rbp] - paddd xmm1,xmm5 -DB 102,15,56,0,243 -DB 69,15,56,203,247 - - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((16-128))+rbp] - paddd xmm2,xmm9 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - prefetcht0 [127+r8] -DB 102,15,56,0,251 -DB 102,68,15,56,0,211 - prefetcht0 [127+r9] -DB 69,15,56,203,254 - pshufd xmm0,xmm1,0x0e -DB 102,68,15,56,0,219 -DB 15,56,204,229 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((32-128))+rbp] - paddd xmm1,xmm6 -DB 69,15,56,203,247 - - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((32-128))+rbp] - paddd xmm2,xmm10 -DB 69,15,56,203,236 -DB 69,15,56,204,193 - movdqa xmm0,xmm2 - movdqa xmm3,xmm7 -DB 69,15,56,203,254 - pshufd xmm0,xmm1,0x0e -DB 102,15,58,15,222,4 - paddd xmm4,xmm3 - movdqa xmm3,xmm11 -DB 102,65,15,58,15,218,4 -DB 15,56,204,238 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((48-128))+rbp] - paddd xmm1,xmm7 -DB 69,15,56,203,247 -DB 69,15,56,204,202 - - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((48-128))+rbp] - paddd xmm8,xmm3 - paddd xmm2,xmm11 -DB 15,56,205,231 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - movdqa xmm3,xmm4 -DB 102,15,58,15,223,4 -DB 69,15,56,203,254 -DB 69,15,56,205,195 - pshufd xmm0,xmm1,0x0e - paddd xmm5,xmm3 - movdqa xmm3,xmm8 -DB 102,65,15,58,15,219,4 -DB 15,56,204,247 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((64-128))+rbp] - paddd xmm1,xmm4 -DB 69,15,56,203,247 -DB 69,15,56,204,211 - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((64-128))+rbp] - paddd xmm9,xmm3 - paddd xmm2,xmm8 -DB 15,56,205,236 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - movdqa xmm3,xmm5 -DB 102,15,58,15,220,4 -DB 69,15,56,203,254 -DB 69,15,56,205,200 - pshufd xmm0,xmm1,0x0e - paddd xmm6,xmm3 - movdqa xmm3,xmm9 -DB 102,65,15,58,15,216,4 -DB 15,56,204,252 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((80-128))+rbp] - paddd xmm1,xmm5 -DB 69,15,56,203,247 -DB 69,15,56,204,216 - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((80-128))+rbp] - paddd xmm10,xmm3 - paddd xmm2,xmm9 -DB 15,56,205,245 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - movdqa xmm3,xmm6 -DB 102,15,58,15,221,4 -DB 69,15,56,203,254 -DB 69,15,56,205,209 - pshufd xmm0,xmm1,0x0e - paddd xmm7,xmm3 - movdqa xmm3,xmm10 -DB 102,65,15,58,15,217,4 -DB 15,56,204,229 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((96-128))+rbp] - paddd xmm1,xmm6 -DB 69,15,56,203,247 -DB 69,15,56,204,193 - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((96-128))+rbp] - paddd xmm11,xmm3 - paddd xmm2,xmm10 -DB 15,56,205,254 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - movdqa xmm3,xmm7 -DB 102,15,58,15,222,4 -DB 69,15,56,203,254 -DB 69,15,56,205,218 - pshufd xmm0,xmm1,0x0e - paddd xmm4,xmm3 - movdqa xmm3,xmm11 -DB 102,65,15,58,15,218,4 -DB 15,56,204,238 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((112-128))+rbp] - paddd xmm1,xmm7 -DB 69,15,56,203,247 -DB 69,15,56,204,202 - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((112-128))+rbp] - paddd xmm8,xmm3 - paddd xmm2,xmm11 -DB 15,56,205,231 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - movdqa xmm3,xmm4 -DB 102,15,58,15,223,4 -DB 69,15,56,203,254 -DB 69,15,56,205,195 - pshufd xmm0,xmm1,0x0e - paddd xmm5,xmm3 - movdqa xmm3,xmm8 -DB 102,65,15,58,15,219,4 -DB 15,56,204,247 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((128-128))+rbp] - paddd xmm1,xmm4 -DB 69,15,56,203,247 -DB 69,15,56,204,211 - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((128-128))+rbp] - paddd xmm9,xmm3 - paddd xmm2,xmm8 -DB 15,56,205,236 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - movdqa xmm3,xmm5 -DB 102,15,58,15,220,4 -DB 69,15,56,203,254 -DB 69,15,56,205,200 - pshufd xmm0,xmm1,0x0e - paddd xmm6,xmm3 - movdqa xmm3,xmm9 -DB 102,65,15,58,15,216,4 -DB 15,56,204,252 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((144-128))+rbp] - paddd xmm1,xmm5 -DB 69,15,56,203,247 -DB 69,15,56,204,216 - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((144-128))+rbp] - paddd xmm10,xmm3 - paddd xmm2,xmm9 -DB 15,56,205,245 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - movdqa xmm3,xmm6 -DB 102,15,58,15,221,4 -DB 69,15,56,203,254 -DB 69,15,56,205,209 - pshufd xmm0,xmm1,0x0e - paddd xmm7,xmm3 - movdqa xmm3,xmm10 -DB 102,65,15,58,15,217,4 -DB 15,56,204,229 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((160-128))+rbp] - paddd xmm1,xmm6 -DB 69,15,56,203,247 -DB 69,15,56,204,193 - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((160-128))+rbp] - paddd xmm11,xmm3 - paddd xmm2,xmm10 -DB 15,56,205,254 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - movdqa xmm3,xmm7 -DB 102,15,58,15,222,4 -DB 69,15,56,203,254 -DB 69,15,56,205,218 - pshufd xmm0,xmm1,0x0e - paddd xmm4,xmm3 - movdqa xmm3,xmm11 -DB 102,65,15,58,15,218,4 -DB 15,56,204,238 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((176-128))+rbp] - paddd xmm1,xmm7 -DB 69,15,56,203,247 -DB 69,15,56,204,202 - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((176-128))+rbp] - paddd xmm8,xmm3 - paddd xmm2,xmm11 -DB 15,56,205,231 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - movdqa xmm3,xmm4 -DB 102,15,58,15,223,4 -DB 69,15,56,203,254 -DB 69,15,56,205,195 - pshufd xmm0,xmm1,0x0e - paddd xmm5,xmm3 - movdqa xmm3,xmm8 -DB 102,65,15,58,15,219,4 -DB 15,56,204,247 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((192-128))+rbp] - paddd xmm1,xmm4 -DB 69,15,56,203,247 -DB 69,15,56,204,211 - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((192-128))+rbp] - paddd xmm9,xmm3 - paddd xmm2,xmm8 -DB 15,56,205,236 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - movdqa xmm3,xmm5 -DB 102,15,58,15,220,4 -DB 69,15,56,203,254 -DB 69,15,56,205,200 - pshufd xmm0,xmm1,0x0e - paddd xmm6,xmm3 - movdqa xmm3,xmm9 -DB 102,65,15,58,15,216,4 -DB 15,56,204,252 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((208-128))+rbp] - paddd xmm1,xmm5 -DB 69,15,56,203,247 -DB 69,15,56,204,216 - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((208-128))+rbp] - paddd xmm10,xmm3 - paddd xmm2,xmm9 -DB 15,56,205,245 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - movdqa xmm3,xmm6 -DB 102,15,58,15,221,4 -DB 69,15,56,203,254 -DB 69,15,56,205,209 - pshufd xmm0,xmm1,0x0e - paddd xmm7,xmm3 - movdqa xmm3,xmm10 -DB 102,65,15,58,15,217,4 - nop -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm1,XMMWORD[((224-128))+rbp] - paddd xmm1,xmm6 -DB 69,15,56,203,247 - - movdqa xmm0,xmm1 - movdqa xmm2,XMMWORD[((224-128))+rbp] - paddd xmm11,xmm3 - paddd xmm2,xmm10 -DB 15,56,205,254 - nop -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - mov ecx,1 - pxor xmm6,xmm6 -DB 69,15,56,203,254 -DB 69,15,56,205,218 - pshufd xmm0,xmm1,0x0e - movdqa xmm1,XMMWORD[((240-128))+rbp] - paddd xmm1,xmm7 - movq xmm7,QWORD[rbx] - nop -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - movdqa xmm2,XMMWORD[((240-128))+rbp] - paddd xmm2,xmm11 -DB 69,15,56,203,247 - - movdqa xmm0,xmm1 - cmp ecx,DWORD[rbx] - cmovge r8,rsp - cmp ecx,DWORD[4+rbx] - cmovge r9,rsp - pshufd xmm9,xmm7,0x00 -DB 69,15,56,203,236 - movdqa xmm0,xmm2 - pshufd xmm10,xmm7,0x55 - movdqa xmm11,xmm7 -DB 69,15,56,203,254 - pshufd xmm0,xmm1,0x0e - pcmpgtd xmm9,xmm6 - pcmpgtd xmm10,xmm6 -DB 69,15,56,203,229 - pshufd xmm0,xmm2,0x0e - pcmpgtd xmm11,xmm6 - movdqa xmm3,XMMWORD[((K256_shaext-16))] -DB 69,15,56,203,247 - - pand xmm13,xmm9 - pand xmm15,xmm10 - pand xmm12,xmm9 - pand xmm14,xmm10 - paddd xmm11,xmm7 - - paddd xmm13,XMMWORD[80+rsp] - paddd xmm15,XMMWORD[112+rsp] - paddd xmm12,XMMWORD[64+rsp] - paddd xmm14,XMMWORD[96+rsp] - - movq QWORD[rbx],xmm11 - dec edx - jnz NEAR $L$oop_shaext - - mov edx,DWORD[280+rsp] - - pshufd xmm12,xmm12,27 - pshufd xmm13,xmm13,27 - pshufd xmm14,xmm14,27 - pshufd xmm15,xmm15,27 - - movdqa xmm5,xmm12 - movdqa xmm6,xmm13 - punpckldq xmm12,xmm14 - punpckhdq xmm5,xmm14 - punpckldq xmm13,xmm15 - punpckhdq xmm6,xmm15 - - movq QWORD[(0-128)+rdi],xmm12 - psrldq xmm12,8 - movq QWORD[(128-128)+rdi],xmm5 - psrldq xmm5,8 - movq QWORD[(32-128)+rdi],xmm12 - movq QWORD[(160-128)+rdi],xmm5 - - movq QWORD[(64-128)+rdi],xmm13 - psrldq xmm13,8 - movq QWORD[(192-128)+rdi],xmm6 - psrldq xmm6,8 - movq QWORD[(96-128)+rdi],xmm13 - movq QWORD[(224-128)+rdi],xmm6 - - lea rdi,[8+rdi] - lea rsi,[32+rsi] - dec edx - jnz NEAR $L$oop_grande_shaext - -$L$done_shaext: - - movaps xmm6,XMMWORD[((-184))+rax] - movaps xmm7,XMMWORD[((-168))+rax] - movaps xmm8,XMMWORD[((-152))+rax] - movaps xmm9,XMMWORD[((-136))+rax] - movaps xmm10,XMMWORD[((-120))+rax] - movaps xmm11,XMMWORD[((-104))+rax] - movaps xmm12,XMMWORD[((-88))+rax] - movaps xmm13,XMMWORD[((-72))+rax] - movaps xmm14,XMMWORD[((-56))+rax] - movaps xmm15,XMMWORD[((-40))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$epilogue_shaext: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_multi_block_shaext: - -ALIGN 32 -sha256_multi_block_avx: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha256_multi_block_avx: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_avx_shortcut: - shr rcx,32 - cmp edx,2 - jb NEAR $L$avx - test ecx,32 - jnz NEAR _avx2_shortcut - jmp NEAR $L$avx -ALIGN 32 -$L$avx: - mov rax,rsp - push rbx - push rbp - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[(-120)+rax],xmm10 - movaps XMMWORD[(-104)+rax],xmm11 - movaps XMMWORD[(-88)+rax],xmm12 - movaps XMMWORD[(-72)+rax],xmm13 - movaps XMMWORD[(-56)+rax],xmm14 - movaps XMMWORD[(-40)+rax],xmm15 - sub rsp,288 - and rsp,-256 - mov QWORD[272+rsp],rax -$L$body_avx: - lea rbp,[((K256+128))] - lea rbx,[256+rsp] - lea rdi,[128+rdi] - -$L$oop_grande_avx: - mov DWORD[280+rsp],edx - xor edx,edx - mov r8,QWORD[rsi] - mov ecx,DWORD[8+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[rbx],ecx - cmovle r8,rbp - mov r9,QWORD[16+rsi] - mov ecx,DWORD[24+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[4+rbx],ecx - cmovle r9,rbp - mov r10,QWORD[32+rsi] - mov ecx,DWORD[40+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[8+rbx],ecx - cmovle r10,rbp - mov r11,QWORD[48+rsi] - mov ecx,DWORD[56+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[12+rbx],ecx - cmovle r11,rbp - test edx,edx - jz NEAR $L$done_avx - - vmovdqu xmm8,XMMWORD[((0-128))+rdi] - lea rax,[128+rsp] - vmovdqu xmm9,XMMWORD[((32-128))+rdi] - vmovdqu xmm10,XMMWORD[((64-128))+rdi] - vmovdqu xmm11,XMMWORD[((96-128))+rdi] - vmovdqu xmm12,XMMWORD[((128-128))+rdi] - vmovdqu xmm13,XMMWORD[((160-128))+rdi] - vmovdqu xmm14,XMMWORD[((192-128))+rdi] - vmovdqu xmm15,XMMWORD[((224-128))+rdi] - vmovdqu xmm6,XMMWORD[$L$pbswap] - jmp NEAR $L$oop_avx - -ALIGN 32 -$L$oop_avx: - vpxor xmm4,xmm10,xmm9 - vmovd xmm5,DWORD[r8] - vmovd xmm0,DWORD[r9] - vpinsrd xmm5,xmm5,DWORD[r10],1 - vpinsrd xmm0,xmm0,DWORD[r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm12,6 - vpslld xmm2,xmm12,26 - vmovdqu XMMWORD[(0-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm15 - - vpsrld xmm1,xmm12,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm12,21 - vpaddd xmm5,xmm5,XMMWORD[((-128))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm12,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm12,7 - vpandn xmm0,xmm12,xmm14 - vpand xmm3,xmm12,xmm13 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm15,xmm8,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm8,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm9,xmm8 - - vpxor xmm15,xmm15,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm8,13 - - vpslld xmm2,xmm8,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm15,xmm1 - - vpsrld xmm1,xmm8,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm8,10 - vpxor xmm15,xmm9,xmm4 - vpaddd xmm11,xmm11,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm15,xmm15,xmm5 - vpaddd xmm15,xmm15,xmm7 - vmovd xmm5,DWORD[4+r8] - vmovd xmm0,DWORD[4+r9] - vpinsrd xmm5,xmm5,DWORD[4+r10],1 - vpinsrd xmm0,xmm0,DWORD[4+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm11,6 - vpslld xmm2,xmm11,26 - vmovdqu XMMWORD[(16-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm14 - - vpsrld xmm1,xmm11,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm11,21 - vpaddd xmm5,xmm5,XMMWORD[((-96))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm11,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm11,7 - vpandn xmm0,xmm11,xmm13 - vpand xmm4,xmm11,xmm12 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm14,xmm15,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm15,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm8,xmm15 - - vpxor xmm14,xmm14,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm15,13 - - vpslld xmm2,xmm15,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm14,xmm1 - - vpsrld xmm1,xmm15,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm15,10 - vpxor xmm14,xmm8,xmm3 - vpaddd xmm10,xmm10,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm14,xmm14,xmm5 - vpaddd xmm14,xmm14,xmm7 - vmovd xmm5,DWORD[8+r8] - vmovd xmm0,DWORD[8+r9] - vpinsrd xmm5,xmm5,DWORD[8+r10],1 - vpinsrd xmm0,xmm0,DWORD[8+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm10,6 - vpslld xmm2,xmm10,26 - vmovdqu XMMWORD[(32-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm13 - - vpsrld xmm1,xmm10,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm10,21 - vpaddd xmm5,xmm5,XMMWORD[((-64))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm10,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm10,7 - vpandn xmm0,xmm10,xmm12 - vpand xmm3,xmm10,xmm11 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm13,xmm14,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm14,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm15,xmm14 - - vpxor xmm13,xmm13,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm14,13 - - vpslld xmm2,xmm14,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm13,xmm1 - - vpsrld xmm1,xmm14,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm14,10 - vpxor xmm13,xmm15,xmm4 - vpaddd xmm9,xmm9,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm13,xmm13,xmm5 - vpaddd xmm13,xmm13,xmm7 - vmovd xmm5,DWORD[12+r8] - vmovd xmm0,DWORD[12+r9] - vpinsrd xmm5,xmm5,DWORD[12+r10],1 - vpinsrd xmm0,xmm0,DWORD[12+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm9,6 - vpslld xmm2,xmm9,26 - vmovdqu XMMWORD[(48-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm12 - - vpsrld xmm1,xmm9,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm9,21 - vpaddd xmm5,xmm5,XMMWORD[((-32))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm9,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm9,7 - vpandn xmm0,xmm9,xmm11 - vpand xmm4,xmm9,xmm10 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm12,xmm13,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm13,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm14,xmm13 - - vpxor xmm12,xmm12,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm13,13 - - vpslld xmm2,xmm13,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm12,xmm1 - - vpsrld xmm1,xmm13,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm13,10 - vpxor xmm12,xmm14,xmm3 - vpaddd xmm8,xmm8,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm12,xmm12,xmm5 - vpaddd xmm12,xmm12,xmm7 - vmovd xmm5,DWORD[16+r8] - vmovd xmm0,DWORD[16+r9] - vpinsrd xmm5,xmm5,DWORD[16+r10],1 - vpinsrd xmm0,xmm0,DWORD[16+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm8,6 - vpslld xmm2,xmm8,26 - vmovdqu XMMWORD[(64-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm11 - - vpsrld xmm1,xmm8,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm8,21 - vpaddd xmm5,xmm5,XMMWORD[rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm8,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm8,7 - vpandn xmm0,xmm8,xmm10 - vpand xmm3,xmm8,xmm9 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm11,xmm12,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm12,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm13,xmm12 - - vpxor xmm11,xmm11,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm12,13 - - vpslld xmm2,xmm12,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm11,xmm1 - - vpsrld xmm1,xmm12,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm12,10 - vpxor xmm11,xmm13,xmm4 - vpaddd xmm15,xmm15,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm11,xmm11,xmm5 - vpaddd xmm11,xmm11,xmm7 - vmovd xmm5,DWORD[20+r8] - vmovd xmm0,DWORD[20+r9] - vpinsrd xmm5,xmm5,DWORD[20+r10],1 - vpinsrd xmm0,xmm0,DWORD[20+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm15,6 - vpslld xmm2,xmm15,26 - vmovdqu XMMWORD[(80-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm10 - - vpsrld xmm1,xmm15,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm15,21 - vpaddd xmm5,xmm5,XMMWORD[32+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm15,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm15,7 - vpandn xmm0,xmm15,xmm9 - vpand xmm4,xmm15,xmm8 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm10,xmm11,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm11,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm12,xmm11 - - vpxor xmm10,xmm10,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm11,13 - - vpslld xmm2,xmm11,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm10,xmm1 - - vpsrld xmm1,xmm11,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm11,10 - vpxor xmm10,xmm12,xmm3 - vpaddd xmm14,xmm14,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm10,xmm10,xmm5 - vpaddd xmm10,xmm10,xmm7 - vmovd xmm5,DWORD[24+r8] - vmovd xmm0,DWORD[24+r9] - vpinsrd xmm5,xmm5,DWORD[24+r10],1 - vpinsrd xmm0,xmm0,DWORD[24+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm14,6 - vpslld xmm2,xmm14,26 - vmovdqu XMMWORD[(96-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm9 - - vpsrld xmm1,xmm14,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm14,21 - vpaddd xmm5,xmm5,XMMWORD[64+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm14,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm14,7 - vpandn xmm0,xmm14,xmm8 - vpand xmm3,xmm14,xmm15 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm9,xmm10,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm10,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm11,xmm10 - - vpxor xmm9,xmm9,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm10,13 - - vpslld xmm2,xmm10,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm9,xmm1 - - vpsrld xmm1,xmm10,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm10,10 - vpxor xmm9,xmm11,xmm4 - vpaddd xmm13,xmm13,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm9,xmm9,xmm5 - vpaddd xmm9,xmm9,xmm7 - vmovd xmm5,DWORD[28+r8] - vmovd xmm0,DWORD[28+r9] - vpinsrd xmm5,xmm5,DWORD[28+r10],1 - vpinsrd xmm0,xmm0,DWORD[28+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm13,6 - vpslld xmm2,xmm13,26 - vmovdqu XMMWORD[(112-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm8 - - vpsrld xmm1,xmm13,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm13,21 - vpaddd xmm5,xmm5,XMMWORD[96+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm13,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm13,7 - vpandn xmm0,xmm13,xmm15 - vpand xmm4,xmm13,xmm14 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm8,xmm9,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm9,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm10,xmm9 - - vpxor xmm8,xmm8,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm9,13 - - vpslld xmm2,xmm9,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm8,xmm1 - - vpsrld xmm1,xmm9,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm9,10 - vpxor xmm8,xmm10,xmm3 - vpaddd xmm12,xmm12,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm8,xmm8,xmm5 - vpaddd xmm8,xmm8,xmm7 - add rbp,256 - vmovd xmm5,DWORD[32+r8] - vmovd xmm0,DWORD[32+r9] - vpinsrd xmm5,xmm5,DWORD[32+r10],1 - vpinsrd xmm0,xmm0,DWORD[32+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm12,6 - vpslld xmm2,xmm12,26 - vmovdqu XMMWORD[(128-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm15 - - vpsrld xmm1,xmm12,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm12,21 - vpaddd xmm5,xmm5,XMMWORD[((-128))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm12,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm12,7 - vpandn xmm0,xmm12,xmm14 - vpand xmm3,xmm12,xmm13 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm15,xmm8,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm8,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm9,xmm8 - - vpxor xmm15,xmm15,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm8,13 - - vpslld xmm2,xmm8,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm15,xmm1 - - vpsrld xmm1,xmm8,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm8,10 - vpxor xmm15,xmm9,xmm4 - vpaddd xmm11,xmm11,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm15,xmm15,xmm5 - vpaddd xmm15,xmm15,xmm7 - vmovd xmm5,DWORD[36+r8] - vmovd xmm0,DWORD[36+r9] - vpinsrd xmm5,xmm5,DWORD[36+r10],1 - vpinsrd xmm0,xmm0,DWORD[36+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm11,6 - vpslld xmm2,xmm11,26 - vmovdqu XMMWORD[(144-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm14 - - vpsrld xmm1,xmm11,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm11,21 - vpaddd xmm5,xmm5,XMMWORD[((-96))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm11,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm11,7 - vpandn xmm0,xmm11,xmm13 - vpand xmm4,xmm11,xmm12 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm14,xmm15,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm15,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm8,xmm15 - - vpxor xmm14,xmm14,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm15,13 - - vpslld xmm2,xmm15,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm14,xmm1 - - vpsrld xmm1,xmm15,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm15,10 - vpxor xmm14,xmm8,xmm3 - vpaddd xmm10,xmm10,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm14,xmm14,xmm5 - vpaddd xmm14,xmm14,xmm7 - vmovd xmm5,DWORD[40+r8] - vmovd xmm0,DWORD[40+r9] - vpinsrd xmm5,xmm5,DWORD[40+r10],1 - vpinsrd xmm0,xmm0,DWORD[40+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm10,6 - vpslld xmm2,xmm10,26 - vmovdqu XMMWORD[(160-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm13 - - vpsrld xmm1,xmm10,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm10,21 - vpaddd xmm5,xmm5,XMMWORD[((-64))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm10,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm10,7 - vpandn xmm0,xmm10,xmm12 - vpand xmm3,xmm10,xmm11 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm13,xmm14,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm14,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm15,xmm14 - - vpxor xmm13,xmm13,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm14,13 - - vpslld xmm2,xmm14,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm13,xmm1 - - vpsrld xmm1,xmm14,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm14,10 - vpxor xmm13,xmm15,xmm4 - vpaddd xmm9,xmm9,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm13,xmm13,xmm5 - vpaddd xmm13,xmm13,xmm7 - vmovd xmm5,DWORD[44+r8] - vmovd xmm0,DWORD[44+r9] - vpinsrd xmm5,xmm5,DWORD[44+r10],1 - vpinsrd xmm0,xmm0,DWORD[44+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm9,6 - vpslld xmm2,xmm9,26 - vmovdqu XMMWORD[(176-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm12 - - vpsrld xmm1,xmm9,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm9,21 - vpaddd xmm5,xmm5,XMMWORD[((-32))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm9,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm9,7 - vpandn xmm0,xmm9,xmm11 - vpand xmm4,xmm9,xmm10 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm12,xmm13,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm13,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm14,xmm13 - - vpxor xmm12,xmm12,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm13,13 - - vpslld xmm2,xmm13,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm12,xmm1 - - vpsrld xmm1,xmm13,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm13,10 - vpxor xmm12,xmm14,xmm3 - vpaddd xmm8,xmm8,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm12,xmm12,xmm5 - vpaddd xmm12,xmm12,xmm7 - vmovd xmm5,DWORD[48+r8] - vmovd xmm0,DWORD[48+r9] - vpinsrd xmm5,xmm5,DWORD[48+r10],1 - vpinsrd xmm0,xmm0,DWORD[48+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm8,6 - vpslld xmm2,xmm8,26 - vmovdqu XMMWORD[(192-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm11 - - vpsrld xmm1,xmm8,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm8,21 - vpaddd xmm5,xmm5,XMMWORD[rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm8,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm8,7 - vpandn xmm0,xmm8,xmm10 - vpand xmm3,xmm8,xmm9 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm11,xmm12,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm12,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm13,xmm12 - - vpxor xmm11,xmm11,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm12,13 - - vpslld xmm2,xmm12,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm11,xmm1 - - vpsrld xmm1,xmm12,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm12,10 - vpxor xmm11,xmm13,xmm4 - vpaddd xmm15,xmm15,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm11,xmm11,xmm5 - vpaddd xmm11,xmm11,xmm7 - vmovd xmm5,DWORD[52+r8] - vmovd xmm0,DWORD[52+r9] - vpinsrd xmm5,xmm5,DWORD[52+r10],1 - vpinsrd xmm0,xmm0,DWORD[52+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm15,6 - vpslld xmm2,xmm15,26 - vmovdqu XMMWORD[(208-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm10 - - vpsrld xmm1,xmm15,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm15,21 - vpaddd xmm5,xmm5,XMMWORD[32+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm15,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm15,7 - vpandn xmm0,xmm15,xmm9 - vpand xmm4,xmm15,xmm8 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm10,xmm11,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm11,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm12,xmm11 - - vpxor xmm10,xmm10,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm11,13 - - vpslld xmm2,xmm11,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm10,xmm1 - - vpsrld xmm1,xmm11,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm11,10 - vpxor xmm10,xmm12,xmm3 - vpaddd xmm14,xmm14,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm10,xmm10,xmm5 - vpaddd xmm10,xmm10,xmm7 - vmovd xmm5,DWORD[56+r8] - vmovd xmm0,DWORD[56+r9] - vpinsrd xmm5,xmm5,DWORD[56+r10],1 - vpinsrd xmm0,xmm0,DWORD[56+r11],1 - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm14,6 - vpslld xmm2,xmm14,26 - vmovdqu XMMWORD[(224-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm9 - - vpsrld xmm1,xmm14,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm14,21 - vpaddd xmm5,xmm5,XMMWORD[64+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm14,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm14,7 - vpandn xmm0,xmm14,xmm8 - vpand xmm3,xmm14,xmm15 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm9,xmm10,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm10,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm11,xmm10 - - vpxor xmm9,xmm9,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm10,13 - - vpslld xmm2,xmm10,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm9,xmm1 - - vpsrld xmm1,xmm10,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm10,10 - vpxor xmm9,xmm11,xmm4 - vpaddd xmm13,xmm13,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm9,xmm9,xmm5 - vpaddd xmm9,xmm9,xmm7 - vmovd xmm5,DWORD[60+r8] - lea r8,[64+r8] - vmovd xmm0,DWORD[60+r9] - lea r9,[64+r9] - vpinsrd xmm5,xmm5,DWORD[60+r10],1 - lea r10,[64+r10] - vpinsrd xmm0,xmm0,DWORD[60+r11],1 - lea r11,[64+r11] - vpunpckldq xmm5,xmm5,xmm0 - vpshufb xmm5,xmm5,xmm6 - vpsrld xmm7,xmm13,6 - vpslld xmm2,xmm13,26 - vmovdqu XMMWORD[(240-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm8 - - vpsrld xmm1,xmm13,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm13,21 - vpaddd xmm5,xmm5,XMMWORD[96+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm13,25 - vpxor xmm7,xmm7,xmm2 - prefetcht0 [63+r8] - vpslld xmm2,xmm13,7 - vpandn xmm0,xmm13,xmm15 - vpand xmm4,xmm13,xmm14 - prefetcht0 [63+r9] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm8,xmm9,2 - vpxor xmm7,xmm7,xmm2 - prefetcht0 [63+r10] - vpslld xmm1,xmm9,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm10,xmm9 - prefetcht0 [63+r11] - vpxor xmm8,xmm8,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm9,13 - - vpslld xmm2,xmm9,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm8,xmm1 - - vpsrld xmm1,xmm9,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm9,10 - vpxor xmm8,xmm10,xmm3 - vpaddd xmm12,xmm12,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm8,xmm8,xmm5 - vpaddd xmm8,xmm8,xmm7 - add rbp,256 - vmovdqu xmm5,XMMWORD[((0-128))+rax] - mov ecx,3 - jmp NEAR $L$oop_16_xx_avx -ALIGN 32 -$L$oop_16_xx_avx: - vmovdqu xmm6,XMMWORD[((16-128))+rax] - vpaddd xmm5,xmm5,XMMWORD[((144-128))+rax] - - vpsrld xmm7,xmm6,3 - vpsrld xmm1,xmm6,7 - vpslld xmm2,xmm6,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm6,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD[((224-128))+rax] - vpsrld xmm3,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm5,xmm5,xmm7 - vpxor xmm7,xmm3,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm5,xmm5,xmm7 - vpsrld xmm7,xmm12,6 - vpslld xmm2,xmm12,26 - vmovdqu XMMWORD[(0-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm15 - - vpsrld xmm1,xmm12,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm12,21 - vpaddd xmm5,xmm5,XMMWORD[((-128))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm12,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm12,7 - vpandn xmm0,xmm12,xmm14 - vpand xmm3,xmm12,xmm13 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm15,xmm8,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm8,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm9,xmm8 - - vpxor xmm15,xmm15,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm8,13 - - vpslld xmm2,xmm8,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm15,xmm1 - - vpsrld xmm1,xmm8,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm8,10 - vpxor xmm15,xmm9,xmm4 - vpaddd xmm11,xmm11,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm15,xmm15,xmm5 - vpaddd xmm15,xmm15,xmm7 - vmovdqu xmm5,XMMWORD[((32-128))+rax] - vpaddd xmm6,xmm6,XMMWORD[((160-128))+rax] - - vpsrld xmm7,xmm5,3 - vpsrld xmm1,xmm5,7 - vpslld xmm2,xmm5,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm5,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD[((240-128))+rax] - vpsrld xmm4,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm6,xmm6,xmm7 - vpxor xmm7,xmm4,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm6,xmm6,xmm7 - vpsrld xmm7,xmm11,6 - vpslld xmm2,xmm11,26 - vmovdqu XMMWORD[(16-128)+rax],xmm6 - vpaddd xmm6,xmm6,xmm14 - - vpsrld xmm1,xmm11,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm11,21 - vpaddd xmm6,xmm6,XMMWORD[((-96))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm11,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm11,7 - vpandn xmm0,xmm11,xmm13 - vpand xmm4,xmm11,xmm12 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm14,xmm15,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm15,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm8,xmm15 - - vpxor xmm14,xmm14,xmm1 - vpaddd xmm6,xmm6,xmm7 - - vpsrld xmm1,xmm15,13 - - vpslld xmm2,xmm15,19 - vpaddd xmm6,xmm6,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm14,xmm1 - - vpsrld xmm1,xmm15,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm15,10 - vpxor xmm14,xmm8,xmm3 - vpaddd xmm10,xmm10,xmm6 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm14,xmm14,xmm6 - vpaddd xmm14,xmm14,xmm7 - vmovdqu xmm6,XMMWORD[((48-128))+rax] - vpaddd xmm5,xmm5,XMMWORD[((176-128))+rax] - - vpsrld xmm7,xmm6,3 - vpsrld xmm1,xmm6,7 - vpslld xmm2,xmm6,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm6,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD[((0-128))+rax] - vpsrld xmm3,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm5,xmm5,xmm7 - vpxor xmm7,xmm3,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm5,xmm5,xmm7 - vpsrld xmm7,xmm10,6 - vpslld xmm2,xmm10,26 - vmovdqu XMMWORD[(32-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm13 - - vpsrld xmm1,xmm10,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm10,21 - vpaddd xmm5,xmm5,XMMWORD[((-64))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm10,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm10,7 - vpandn xmm0,xmm10,xmm12 - vpand xmm3,xmm10,xmm11 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm13,xmm14,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm14,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm15,xmm14 - - vpxor xmm13,xmm13,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm14,13 - - vpslld xmm2,xmm14,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm13,xmm1 - - vpsrld xmm1,xmm14,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm14,10 - vpxor xmm13,xmm15,xmm4 - vpaddd xmm9,xmm9,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm13,xmm13,xmm5 - vpaddd xmm13,xmm13,xmm7 - vmovdqu xmm5,XMMWORD[((64-128))+rax] - vpaddd xmm6,xmm6,XMMWORD[((192-128))+rax] - - vpsrld xmm7,xmm5,3 - vpsrld xmm1,xmm5,7 - vpslld xmm2,xmm5,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm5,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD[((16-128))+rax] - vpsrld xmm4,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm6,xmm6,xmm7 - vpxor xmm7,xmm4,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm6,xmm6,xmm7 - vpsrld xmm7,xmm9,6 - vpslld xmm2,xmm9,26 - vmovdqu XMMWORD[(48-128)+rax],xmm6 - vpaddd xmm6,xmm6,xmm12 - - vpsrld xmm1,xmm9,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm9,21 - vpaddd xmm6,xmm6,XMMWORD[((-32))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm9,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm9,7 - vpandn xmm0,xmm9,xmm11 - vpand xmm4,xmm9,xmm10 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm12,xmm13,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm13,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm14,xmm13 - - vpxor xmm12,xmm12,xmm1 - vpaddd xmm6,xmm6,xmm7 - - vpsrld xmm1,xmm13,13 - - vpslld xmm2,xmm13,19 - vpaddd xmm6,xmm6,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm12,xmm1 - - vpsrld xmm1,xmm13,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm13,10 - vpxor xmm12,xmm14,xmm3 - vpaddd xmm8,xmm8,xmm6 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm12,xmm12,xmm6 - vpaddd xmm12,xmm12,xmm7 - vmovdqu xmm6,XMMWORD[((80-128))+rax] - vpaddd xmm5,xmm5,XMMWORD[((208-128))+rax] - - vpsrld xmm7,xmm6,3 - vpsrld xmm1,xmm6,7 - vpslld xmm2,xmm6,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm6,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD[((32-128))+rax] - vpsrld xmm3,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm5,xmm5,xmm7 - vpxor xmm7,xmm3,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm5,xmm5,xmm7 - vpsrld xmm7,xmm8,6 - vpslld xmm2,xmm8,26 - vmovdqu XMMWORD[(64-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm11 - - vpsrld xmm1,xmm8,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm8,21 - vpaddd xmm5,xmm5,XMMWORD[rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm8,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm8,7 - vpandn xmm0,xmm8,xmm10 - vpand xmm3,xmm8,xmm9 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm11,xmm12,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm12,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm13,xmm12 - - vpxor xmm11,xmm11,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm12,13 - - vpslld xmm2,xmm12,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm11,xmm1 - - vpsrld xmm1,xmm12,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm12,10 - vpxor xmm11,xmm13,xmm4 - vpaddd xmm15,xmm15,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm11,xmm11,xmm5 - vpaddd xmm11,xmm11,xmm7 - vmovdqu xmm5,XMMWORD[((96-128))+rax] - vpaddd xmm6,xmm6,XMMWORD[((224-128))+rax] - - vpsrld xmm7,xmm5,3 - vpsrld xmm1,xmm5,7 - vpslld xmm2,xmm5,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm5,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD[((48-128))+rax] - vpsrld xmm4,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm6,xmm6,xmm7 - vpxor xmm7,xmm4,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm6,xmm6,xmm7 - vpsrld xmm7,xmm15,6 - vpslld xmm2,xmm15,26 - vmovdqu XMMWORD[(80-128)+rax],xmm6 - vpaddd xmm6,xmm6,xmm10 - - vpsrld xmm1,xmm15,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm15,21 - vpaddd xmm6,xmm6,XMMWORD[32+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm15,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm15,7 - vpandn xmm0,xmm15,xmm9 - vpand xmm4,xmm15,xmm8 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm10,xmm11,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm11,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm12,xmm11 - - vpxor xmm10,xmm10,xmm1 - vpaddd xmm6,xmm6,xmm7 - - vpsrld xmm1,xmm11,13 - - vpslld xmm2,xmm11,19 - vpaddd xmm6,xmm6,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm10,xmm1 - - vpsrld xmm1,xmm11,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm11,10 - vpxor xmm10,xmm12,xmm3 - vpaddd xmm14,xmm14,xmm6 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm10,xmm10,xmm6 - vpaddd xmm10,xmm10,xmm7 - vmovdqu xmm6,XMMWORD[((112-128))+rax] - vpaddd xmm5,xmm5,XMMWORD[((240-128))+rax] - - vpsrld xmm7,xmm6,3 - vpsrld xmm1,xmm6,7 - vpslld xmm2,xmm6,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm6,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD[((64-128))+rax] - vpsrld xmm3,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm5,xmm5,xmm7 - vpxor xmm7,xmm3,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm5,xmm5,xmm7 - vpsrld xmm7,xmm14,6 - vpslld xmm2,xmm14,26 - vmovdqu XMMWORD[(96-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm9 - - vpsrld xmm1,xmm14,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm14,21 - vpaddd xmm5,xmm5,XMMWORD[64+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm14,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm14,7 - vpandn xmm0,xmm14,xmm8 - vpand xmm3,xmm14,xmm15 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm9,xmm10,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm10,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm11,xmm10 - - vpxor xmm9,xmm9,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm10,13 - - vpslld xmm2,xmm10,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm9,xmm1 - - vpsrld xmm1,xmm10,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm10,10 - vpxor xmm9,xmm11,xmm4 - vpaddd xmm13,xmm13,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm9,xmm9,xmm5 - vpaddd xmm9,xmm9,xmm7 - vmovdqu xmm5,XMMWORD[((128-128))+rax] - vpaddd xmm6,xmm6,XMMWORD[((0-128))+rax] - - vpsrld xmm7,xmm5,3 - vpsrld xmm1,xmm5,7 - vpslld xmm2,xmm5,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm5,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD[((80-128))+rax] - vpsrld xmm4,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm6,xmm6,xmm7 - vpxor xmm7,xmm4,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm6,xmm6,xmm7 - vpsrld xmm7,xmm13,6 - vpslld xmm2,xmm13,26 - vmovdqu XMMWORD[(112-128)+rax],xmm6 - vpaddd xmm6,xmm6,xmm8 - - vpsrld xmm1,xmm13,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm13,21 - vpaddd xmm6,xmm6,XMMWORD[96+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm13,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm13,7 - vpandn xmm0,xmm13,xmm15 - vpand xmm4,xmm13,xmm14 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm8,xmm9,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm9,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm10,xmm9 - - vpxor xmm8,xmm8,xmm1 - vpaddd xmm6,xmm6,xmm7 - - vpsrld xmm1,xmm9,13 - - vpslld xmm2,xmm9,19 - vpaddd xmm6,xmm6,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm8,xmm1 - - vpsrld xmm1,xmm9,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm9,10 - vpxor xmm8,xmm10,xmm3 - vpaddd xmm12,xmm12,xmm6 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm8,xmm8,xmm6 - vpaddd xmm8,xmm8,xmm7 - add rbp,256 - vmovdqu xmm6,XMMWORD[((144-128))+rax] - vpaddd xmm5,xmm5,XMMWORD[((16-128))+rax] - - vpsrld xmm7,xmm6,3 - vpsrld xmm1,xmm6,7 - vpslld xmm2,xmm6,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm6,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD[((96-128))+rax] - vpsrld xmm3,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm5,xmm5,xmm7 - vpxor xmm7,xmm3,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm5,xmm5,xmm7 - vpsrld xmm7,xmm12,6 - vpslld xmm2,xmm12,26 - vmovdqu XMMWORD[(128-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm15 - - vpsrld xmm1,xmm12,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm12,21 - vpaddd xmm5,xmm5,XMMWORD[((-128))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm12,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm12,7 - vpandn xmm0,xmm12,xmm14 - vpand xmm3,xmm12,xmm13 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm15,xmm8,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm8,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm9,xmm8 - - vpxor xmm15,xmm15,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm8,13 - - vpslld xmm2,xmm8,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm15,xmm1 - - vpsrld xmm1,xmm8,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm8,10 - vpxor xmm15,xmm9,xmm4 - vpaddd xmm11,xmm11,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm15,xmm15,xmm5 - vpaddd xmm15,xmm15,xmm7 - vmovdqu xmm5,XMMWORD[((160-128))+rax] - vpaddd xmm6,xmm6,XMMWORD[((32-128))+rax] - - vpsrld xmm7,xmm5,3 - vpsrld xmm1,xmm5,7 - vpslld xmm2,xmm5,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm5,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD[((112-128))+rax] - vpsrld xmm4,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm6,xmm6,xmm7 - vpxor xmm7,xmm4,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm6,xmm6,xmm7 - vpsrld xmm7,xmm11,6 - vpslld xmm2,xmm11,26 - vmovdqu XMMWORD[(144-128)+rax],xmm6 - vpaddd xmm6,xmm6,xmm14 - - vpsrld xmm1,xmm11,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm11,21 - vpaddd xmm6,xmm6,XMMWORD[((-96))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm11,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm11,7 - vpandn xmm0,xmm11,xmm13 - vpand xmm4,xmm11,xmm12 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm14,xmm15,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm15,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm8,xmm15 - - vpxor xmm14,xmm14,xmm1 - vpaddd xmm6,xmm6,xmm7 - - vpsrld xmm1,xmm15,13 - - vpslld xmm2,xmm15,19 - vpaddd xmm6,xmm6,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm14,xmm1 - - vpsrld xmm1,xmm15,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm15,10 - vpxor xmm14,xmm8,xmm3 - vpaddd xmm10,xmm10,xmm6 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm14,xmm14,xmm6 - vpaddd xmm14,xmm14,xmm7 - vmovdqu xmm6,XMMWORD[((176-128))+rax] - vpaddd xmm5,xmm5,XMMWORD[((48-128))+rax] - - vpsrld xmm7,xmm6,3 - vpsrld xmm1,xmm6,7 - vpslld xmm2,xmm6,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm6,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD[((128-128))+rax] - vpsrld xmm3,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm5,xmm5,xmm7 - vpxor xmm7,xmm3,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm5,xmm5,xmm7 - vpsrld xmm7,xmm10,6 - vpslld xmm2,xmm10,26 - vmovdqu XMMWORD[(160-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm13 - - vpsrld xmm1,xmm10,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm10,21 - vpaddd xmm5,xmm5,XMMWORD[((-64))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm10,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm10,7 - vpandn xmm0,xmm10,xmm12 - vpand xmm3,xmm10,xmm11 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm13,xmm14,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm14,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm15,xmm14 - - vpxor xmm13,xmm13,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm14,13 - - vpslld xmm2,xmm14,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm13,xmm1 - - vpsrld xmm1,xmm14,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm14,10 - vpxor xmm13,xmm15,xmm4 - vpaddd xmm9,xmm9,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm13,xmm13,xmm5 - vpaddd xmm13,xmm13,xmm7 - vmovdqu xmm5,XMMWORD[((192-128))+rax] - vpaddd xmm6,xmm6,XMMWORD[((64-128))+rax] - - vpsrld xmm7,xmm5,3 - vpsrld xmm1,xmm5,7 - vpslld xmm2,xmm5,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm5,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD[((144-128))+rax] - vpsrld xmm4,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm6,xmm6,xmm7 - vpxor xmm7,xmm4,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm6,xmm6,xmm7 - vpsrld xmm7,xmm9,6 - vpslld xmm2,xmm9,26 - vmovdqu XMMWORD[(176-128)+rax],xmm6 - vpaddd xmm6,xmm6,xmm12 - - vpsrld xmm1,xmm9,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm9,21 - vpaddd xmm6,xmm6,XMMWORD[((-32))+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm9,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm9,7 - vpandn xmm0,xmm9,xmm11 - vpand xmm4,xmm9,xmm10 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm12,xmm13,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm13,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm14,xmm13 - - vpxor xmm12,xmm12,xmm1 - vpaddd xmm6,xmm6,xmm7 - - vpsrld xmm1,xmm13,13 - - vpslld xmm2,xmm13,19 - vpaddd xmm6,xmm6,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm12,xmm1 - - vpsrld xmm1,xmm13,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm13,10 - vpxor xmm12,xmm14,xmm3 - vpaddd xmm8,xmm8,xmm6 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm12,xmm12,xmm6 - vpaddd xmm12,xmm12,xmm7 - vmovdqu xmm6,XMMWORD[((208-128))+rax] - vpaddd xmm5,xmm5,XMMWORD[((80-128))+rax] - - vpsrld xmm7,xmm6,3 - vpsrld xmm1,xmm6,7 - vpslld xmm2,xmm6,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm6,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD[((160-128))+rax] - vpsrld xmm3,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm5,xmm5,xmm7 - vpxor xmm7,xmm3,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm5,xmm5,xmm7 - vpsrld xmm7,xmm8,6 - vpslld xmm2,xmm8,26 - vmovdqu XMMWORD[(192-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm11 - - vpsrld xmm1,xmm8,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm8,21 - vpaddd xmm5,xmm5,XMMWORD[rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm8,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm8,7 - vpandn xmm0,xmm8,xmm10 - vpand xmm3,xmm8,xmm9 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm11,xmm12,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm12,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm13,xmm12 - - vpxor xmm11,xmm11,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm12,13 - - vpslld xmm2,xmm12,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm11,xmm1 - - vpsrld xmm1,xmm12,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm12,10 - vpxor xmm11,xmm13,xmm4 - vpaddd xmm15,xmm15,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm11,xmm11,xmm5 - vpaddd xmm11,xmm11,xmm7 - vmovdqu xmm5,XMMWORD[((224-128))+rax] - vpaddd xmm6,xmm6,XMMWORD[((96-128))+rax] - - vpsrld xmm7,xmm5,3 - vpsrld xmm1,xmm5,7 - vpslld xmm2,xmm5,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm5,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD[((176-128))+rax] - vpsrld xmm4,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm6,xmm6,xmm7 - vpxor xmm7,xmm4,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm6,xmm6,xmm7 - vpsrld xmm7,xmm15,6 - vpslld xmm2,xmm15,26 - vmovdqu XMMWORD[(208-128)+rax],xmm6 - vpaddd xmm6,xmm6,xmm10 - - vpsrld xmm1,xmm15,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm15,21 - vpaddd xmm6,xmm6,XMMWORD[32+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm15,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm15,7 - vpandn xmm0,xmm15,xmm9 - vpand xmm4,xmm15,xmm8 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm10,xmm11,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm11,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm12,xmm11 - - vpxor xmm10,xmm10,xmm1 - vpaddd xmm6,xmm6,xmm7 - - vpsrld xmm1,xmm11,13 - - vpslld xmm2,xmm11,19 - vpaddd xmm6,xmm6,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm10,xmm1 - - vpsrld xmm1,xmm11,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm11,10 - vpxor xmm10,xmm12,xmm3 - vpaddd xmm14,xmm14,xmm6 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm10,xmm10,xmm6 - vpaddd xmm10,xmm10,xmm7 - vmovdqu xmm6,XMMWORD[((240-128))+rax] - vpaddd xmm5,xmm5,XMMWORD[((112-128))+rax] - - vpsrld xmm7,xmm6,3 - vpsrld xmm1,xmm6,7 - vpslld xmm2,xmm6,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm6,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm6,14 - vmovdqu xmm0,XMMWORD[((192-128))+rax] - vpsrld xmm3,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm5,xmm5,xmm7 - vpxor xmm7,xmm3,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm5,xmm5,xmm7 - vpsrld xmm7,xmm14,6 - vpslld xmm2,xmm14,26 - vmovdqu XMMWORD[(224-128)+rax],xmm5 - vpaddd xmm5,xmm5,xmm9 - - vpsrld xmm1,xmm14,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm14,21 - vpaddd xmm5,xmm5,XMMWORD[64+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm14,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm14,7 - vpandn xmm0,xmm14,xmm8 - vpand xmm3,xmm14,xmm15 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm9,xmm10,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm10,30 - vpxor xmm0,xmm0,xmm3 - vpxor xmm3,xmm11,xmm10 - - vpxor xmm9,xmm9,xmm1 - vpaddd xmm5,xmm5,xmm7 - - vpsrld xmm1,xmm10,13 - - vpslld xmm2,xmm10,19 - vpaddd xmm5,xmm5,xmm0 - vpand xmm4,xmm4,xmm3 - - vpxor xmm7,xmm9,xmm1 - - vpsrld xmm1,xmm10,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm10,10 - vpxor xmm9,xmm11,xmm4 - vpaddd xmm13,xmm13,xmm5 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm9,xmm9,xmm5 - vpaddd xmm9,xmm9,xmm7 - vmovdqu xmm5,XMMWORD[((0-128))+rax] - vpaddd xmm6,xmm6,XMMWORD[((128-128))+rax] - - vpsrld xmm7,xmm5,3 - vpsrld xmm1,xmm5,7 - vpslld xmm2,xmm5,25 - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm5,18 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm5,14 - vmovdqu xmm0,XMMWORD[((208-128))+rax] - vpsrld xmm4,xmm0,10 - - vpxor xmm7,xmm7,xmm1 - vpsrld xmm1,xmm0,17 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,15 - vpaddd xmm6,xmm6,xmm7 - vpxor xmm7,xmm4,xmm1 - vpsrld xmm1,xmm0,19 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm0,13 - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - vpaddd xmm6,xmm6,xmm7 - vpsrld xmm7,xmm13,6 - vpslld xmm2,xmm13,26 - vmovdqu XMMWORD[(240-128)+rax],xmm6 - vpaddd xmm6,xmm6,xmm8 - - vpsrld xmm1,xmm13,11 - vpxor xmm7,xmm7,xmm2 - vpslld xmm2,xmm13,21 - vpaddd xmm6,xmm6,XMMWORD[96+rbp] - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm1,xmm13,25 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm13,7 - vpandn xmm0,xmm13,xmm15 - vpand xmm4,xmm13,xmm14 - - vpxor xmm7,xmm7,xmm1 - - vpsrld xmm8,xmm9,2 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm1,xmm9,30 - vpxor xmm0,xmm0,xmm4 - vpxor xmm4,xmm10,xmm9 - - vpxor xmm8,xmm8,xmm1 - vpaddd xmm6,xmm6,xmm7 - - vpsrld xmm1,xmm9,13 - - vpslld xmm2,xmm9,19 - vpaddd xmm6,xmm6,xmm0 - vpand xmm3,xmm3,xmm4 - - vpxor xmm7,xmm8,xmm1 - - vpsrld xmm1,xmm9,22 - vpxor xmm7,xmm7,xmm2 - - vpslld xmm2,xmm9,10 - vpxor xmm8,xmm10,xmm3 - vpaddd xmm12,xmm12,xmm6 - - vpxor xmm7,xmm7,xmm1 - vpxor xmm7,xmm7,xmm2 - - vpaddd xmm8,xmm8,xmm6 - vpaddd xmm8,xmm8,xmm7 - add rbp,256 - dec ecx - jnz NEAR $L$oop_16_xx_avx - - mov ecx,1 - lea rbp,[((K256+128))] - cmp ecx,DWORD[rbx] - cmovge r8,rbp - cmp ecx,DWORD[4+rbx] - cmovge r9,rbp - cmp ecx,DWORD[8+rbx] - cmovge r10,rbp - cmp ecx,DWORD[12+rbx] - cmovge r11,rbp - vmovdqa xmm7,XMMWORD[rbx] - vpxor xmm0,xmm0,xmm0 - vmovdqa xmm6,xmm7 - vpcmpgtd xmm6,xmm6,xmm0 - vpaddd xmm7,xmm7,xmm6 - - vmovdqu xmm0,XMMWORD[((0-128))+rdi] - vpand xmm8,xmm8,xmm6 - vmovdqu xmm1,XMMWORD[((32-128))+rdi] - vpand xmm9,xmm9,xmm6 - vmovdqu xmm2,XMMWORD[((64-128))+rdi] - vpand xmm10,xmm10,xmm6 - vmovdqu xmm5,XMMWORD[((96-128))+rdi] - vpand xmm11,xmm11,xmm6 - vpaddd xmm8,xmm8,xmm0 - vmovdqu xmm0,XMMWORD[((128-128))+rdi] - vpand xmm12,xmm12,xmm6 - vpaddd xmm9,xmm9,xmm1 - vmovdqu xmm1,XMMWORD[((160-128))+rdi] - vpand xmm13,xmm13,xmm6 - vpaddd xmm10,xmm10,xmm2 - vmovdqu xmm2,XMMWORD[((192-128))+rdi] - vpand xmm14,xmm14,xmm6 - vpaddd xmm11,xmm11,xmm5 - vmovdqu xmm5,XMMWORD[((224-128))+rdi] - vpand xmm15,xmm15,xmm6 - vpaddd xmm12,xmm12,xmm0 - vpaddd xmm13,xmm13,xmm1 - vmovdqu XMMWORD[(0-128)+rdi],xmm8 - vpaddd xmm14,xmm14,xmm2 - vmovdqu XMMWORD[(32-128)+rdi],xmm9 - vpaddd xmm15,xmm15,xmm5 - vmovdqu XMMWORD[(64-128)+rdi],xmm10 - vmovdqu XMMWORD[(96-128)+rdi],xmm11 - vmovdqu XMMWORD[(128-128)+rdi],xmm12 - vmovdqu XMMWORD[(160-128)+rdi],xmm13 - vmovdqu XMMWORD[(192-128)+rdi],xmm14 - vmovdqu XMMWORD[(224-128)+rdi],xmm15 - - vmovdqu XMMWORD[rbx],xmm7 - vmovdqu xmm6,XMMWORD[$L$pbswap] - dec edx - jnz NEAR $L$oop_avx - - mov edx,DWORD[280+rsp] - lea rdi,[16+rdi] - lea rsi,[64+rsi] - dec edx - jnz NEAR $L$oop_grande_avx - -$L$done_avx: - mov rax,QWORD[272+rsp] - vzeroupper - movaps xmm6,XMMWORD[((-184))+rax] - movaps xmm7,XMMWORD[((-168))+rax] - movaps xmm8,XMMWORD[((-152))+rax] - movaps xmm9,XMMWORD[((-136))+rax] - movaps xmm10,XMMWORD[((-120))+rax] - movaps xmm11,XMMWORD[((-104))+rax] - movaps xmm12,XMMWORD[((-88))+rax] - movaps xmm13,XMMWORD[((-72))+rax] - movaps xmm14,XMMWORD[((-56))+rax] - movaps xmm15,XMMWORD[((-40))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$epilogue_avx: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_multi_block_avx: - -ALIGN 32 -sha256_multi_block_avx2: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha256_multi_block_avx2: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_avx2_shortcut: - mov rax,rsp - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - lea rsp,[((-168))+rsp] - movaps XMMWORD[rsp],xmm6 - movaps XMMWORD[16+rsp],xmm7 - movaps XMMWORD[32+rsp],xmm8 - movaps XMMWORD[48+rsp],xmm9 - movaps XMMWORD[64+rsp],xmm10 - movaps XMMWORD[80+rsp],xmm11 - movaps XMMWORD[(-120)+rax],xmm12 - movaps XMMWORD[(-104)+rax],xmm13 - movaps XMMWORD[(-88)+rax],xmm14 - movaps XMMWORD[(-72)+rax],xmm15 - sub rsp,576 - and rsp,-256 - mov QWORD[544+rsp],rax -$L$body_avx2: - lea rbp,[((K256+128))] - lea rdi,[128+rdi] - -$L$oop_grande_avx2: - mov DWORD[552+rsp],edx - xor edx,edx - lea rbx,[512+rsp] - mov r12,QWORD[rsi] - mov ecx,DWORD[8+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[rbx],ecx - cmovle r12,rbp - mov r13,QWORD[16+rsi] - mov ecx,DWORD[24+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[4+rbx],ecx - cmovle r13,rbp - mov r14,QWORD[32+rsi] - mov ecx,DWORD[40+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[8+rbx],ecx - cmovle r14,rbp - mov r15,QWORD[48+rsi] - mov ecx,DWORD[56+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[12+rbx],ecx - cmovle r15,rbp - mov r8,QWORD[64+rsi] - mov ecx,DWORD[72+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[16+rbx],ecx - cmovle r8,rbp - mov r9,QWORD[80+rsi] - mov ecx,DWORD[88+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[20+rbx],ecx - cmovle r9,rbp - mov r10,QWORD[96+rsi] - mov ecx,DWORD[104+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[24+rbx],ecx - cmovle r10,rbp - mov r11,QWORD[112+rsi] - mov ecx,DWORD[120+rsi] - cmp ecx,edx - cmovg edx,ecx - test ecx,ecx - mov DWORD[28+rbx],ecx - cmovle r11,rbp - vmovdqu ymm8,YMMWORD[((0-128))+rdi] - lea rax,[128+rsp] - vmovdqu ymm9,YMMWORD[((32-128))+rdi] - lea rbx,[((256+128))+rsp] - vmovdqu ymm10,YMMWORD[((64-128))+rdi] - vmovdqu ymm11,YMMWORD[((96-128))+rdi] - vmovdqu ymm12,YMMWORD[((128-128))+rdi] - vmovdqu ymm13,YMMWORD[((160-128))+rdi] - vmovdqu ymm14,YMMWORD[((192-128))+rdi] - vmovdqu ymm15,YMMWORD[((224-128))+rdi] - vmovdqu ymm6,YMMWORD[$L$pbswap] - jmp NEAR $L$oop_avx2 - -ALIGN 32 -$L$oop_avx2: - vpxor ymm4,ymm10,ymm9 - vmovd xmm5,DWORD[r12] - vmovd xmm0,DWORD[r8] - vmovd xmm1,DWORD[r13] - vmovd xmm2,DWORD[r9] - vpinsrd xmm5,xmm5,DWORD[r14],1 - vpinsrd xmm0,xmm0,DWORD[r10],1 - vpinsrd xmm1,xmm1,DWORD[r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm12,6 - vpslld ymm2,ymm12,26 - vmovdqu YMMWORD[(0-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm15 - - vpsrld ymm1,ymm12,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm12,21 - vpaddd ymm5,ymm5,YMMWORD[((-128))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm12,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm12,7 - vpandn ymm0,ymm12,ymm14 - vpand ymm3,ymm12,ymm13 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm15,ymm8,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm8,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm9,ymm8 - - vpxor ymm15,ymm15,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm8,13 - - vpslld ymm2,ymm8,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm15,ymm1 - - vpsrld ymm1,ymm8,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm8,10 - vpxor ymm15,ymm9,ymm4 - vpaddd ymm11,ymm11,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm15,ymm15,ymm5 - vpaddd ymm15,ymm15,ymm7 - vmovd xmm5,DWORD[4+r12] - vmovd xmm0,DWORD[4+r8] - vmovd xmm1,DWORD[4+r13] - vmovd xmm2,DWORD[4+r9] - vpinsrd xmm5,xmm5,DWORD[4+r14],1 - vpinsrd xmm0,xmm0,DWORD[4+r10],1 - vpinsrd xmm1,xmm1,DWORD[4+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[4+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm11,6 - vpslld ymm2,ymm11,26 - vmovdqu YMMWORD[(32-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm14 - - vpsrld ymm1,ymm11,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm11,21 - vpaddd ymm5,ymm5,YMMWORD[((-96))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm11,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm11,7 - vpandn ymm0,ymm11,ymm13 - vpand ymm4,ymm11,ymm12 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm14,ymm15,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm15,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm8,ymm15 - - vpxor ymm14,ymm14,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm15,13 - - vpslld ymm2,ymm15,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm14,ymm1 - - vpsrld ymm1,ymm15,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm15,10 - vpxor ymm14,ymm8,ymm3 - vpaddd ymm10,ymm10,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm14,ymm14,ymm5 - vpaddd ymm14,ymm14,ymm7 - vmovd xmm5,DWORD[8+r12] - vmovd xmm0,DWORD[8+r8] - vmovd xmm1,DWORD[8+r13] - vmovd xmm2,DWORD[8+r9] - vpinsrd xmm5,xmm5,DWORD[8+r14],1 - vpinsrd xmm0,xmm0,DWORD[8+r10],1 - vpinsrd xmm1,xmm1,DWORD[8+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[8+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm10,6 - vpslld ymm2,ymm10,26 - vmovdqu YMMWORD[(64-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm13 - - vpsrld ymm1,ymm10,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm10,21 - vpaddd ymm5,ymm5,YMMWORD[((-64))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm10,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm10,7 - vpandn ymm0,ymm10,ymm12 - vpand ymm3,ymm10,ymm11 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm13,ymm14,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm14,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm15,ymm14 - - vpxor ymm13,ymm13,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm14,13 - - vpslld ymm2,ymm14,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm13,ymm1 - - vpsrld ymm1,ymm14,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm14,10 - vpxor ymm13,ymm15,ymm4 - vpaddd ymm9,ymm9,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm13,ymm13,ymm5 - vpaddd ymm13,ymm13,ymm7 - vmovd xmm5,DWORD[12+r12] - vmovd xmm0,DWORD[12+r8] - vmovd xmm1,DWORD[12+r13] - vmovd xmm2,DWORD[12+r9] - vpinsrd xmm5,xmm5,DWORD[12+r14],1 - vpinsrd xmm0,xmm0,DWORD[12+r10],1 - vpinsrd xmm1,xmm1,DWORD[12+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[12+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm9,6 - vpslld ymm2,ymm9,26 - vmovdqu YMMWORD[(96-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm12 - - vpsrld ymm1,ymm9,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm9,21 - vpaddd ymm5,ymm5,YMMWORD[((-32))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm9,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm9,7 - vpandn ymm0,ymm9,ymm11 - vpand ymm4,ymm9,ymm10 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm12,ymm13,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm13,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm14,ymm13 - - vpxor ymm12,ymm12,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm13,13 - - vpslld ymm2,ymm13,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm12,ymm1 - - vpsrld ymm1,ymm13,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm13,10 - vpxor ymm12,ymm14,ymm3 - vpaddd ymm8,ymm8,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm12,ymm12,ymm5 - vpaddd ymm12,ymm12,ymm7 - vmovd xmm5,DWORD[16+r12] - vmovd xmm0,DWORD[16+r8] - vmovd xmm1,DWORD[16+r13] - vmovd xmm2,DWORD[16+r9] - vpinsrd xmm5,xmm5,DWORD[16+r14],1 - vpinsrd xmm0,xmm0,DWORD[16+r10],1 - vpinsrd xmm1,xmm1,DWORD[16+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[16+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm8,6 - vpslld ymm2,ymm8,26 - vmovdqu YMMWORD[(128-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm11 - - vpsrld ymm1,ymm8,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm8,21 - vpaddd ymm5,ymm5,YMMWORD[rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm8,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm8,7 - vpandn ymm0,ymm8,ymm10 - vpand ymm3,ymm8,ymm9 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm11,ymm12,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm12,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm13,ymm12 - - vpxor ymm11,ymm11,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm12,13 - - vpslld ymm2,ymm12,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm11,ymm1 - - vpsrld ymm1,ymm12,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm12,10 - vpxor ymm11,ymm13,ymm4 - vpaddd ymm15,ymm15,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm11,ymm11,ymm5 - vpaddd ymm11,ymm11,ymm7 - vmovd xmm5,DWORD[20+r12] - vmovd xmm0,DWORD[20+r8] - vmovd xmm1,DWORD[20+r13] - vmovd xmm2,DWORD[20+r9] - vpinsrd xmm5,xmm5,DWORD[20+r14],1 - vpinsrd xmm0,xmm0,DWORD[20+r10],1 - vpinsrd xmm1,xmm1,DWORD[20+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[20+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm15,6 - vpslld ymm2,ymm15,26 - vmovdqu YMMWORD[(160-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm10 - - vpsrld ymm1,ymm15,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm15,21 - vpaddd ymm5,ymm5,YMMWORD[32+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm15,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm15,7 - vpandn ymm0,ymm15,ymm9 - vpand ymm4,ymm15,ymm8 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm10,ymm11,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm11,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm12,ymm11 - - vpxor ymm10,ymm10,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm11,13 - - vpslld ymm2,ymm11,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm10,ymm1 - - vpsrld ymm1,ymm11,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm11,10 - vpxor ymm10,ymm12,ymm3 - vpaddd ymm14,ymm14,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm10,ymm10,ymm5 - vpaddd ymm10,ymm10,ymm7 - vmovd xmm5,DWORD[24+r12] - vmovd xmm0,DWORD[24+r8] - vmovd xmm1,DWORD[24+r13] - vmovd xmm2,DWORD[24+r9] - vpinsrd xmm5,xmm5,DWORD[24+r14],1 - vpinsrd xmm0,xmm0,DWORD[24+r10],1 - vpinsrd xmm1,xmm1,DWORD[24+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[24+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm14,6 - vpslld ymm2,ymm14,26 - vmovdqu YMMWORD[(192-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm9 - - vpsrld ymm1,ymm14,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm14,21 - vpaddd ymm5,ymm5,YMMWORD[64+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm14,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm14,7 - vpandn ymm0,ymm14,ymm8 - vpand ymm3,ymm14,ymm15 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm9,ymm10,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm10,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm11,ymm10 - - vpxor ymm9,ymm9,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm10,13 - - vpslld ymm2,ymm10,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm9,ymm1 - - vpsrld ymm1,ymm10,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm10,10 - vpxor ymm9,ymm11,ymm4 - vpaddd ymm13,ymm13,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm9,ymm9,ymm5 - vpaddd ymm9,ymm9,ymm7 - vmovd xmm5,DWORD[28+r12] - vmovd xmm0,DWORD[28+r8] - vmovd xmm1,DWORD[28+r13] - vmovd xmm2,DWORD[28+r9] - vpinsrd xmm5,xmm5,DWORD[28+r14],1 - vpinsrd xmm0,xmm0,DWORD[28+r10],1 - vpinsrd xmm1,xmm1,DWORD[28+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[28+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm13,6 - vpslld ymm2,ymm13,26 - vmovdqu YMMWORD[(224-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm8 - - vpsrld ymm1,ymm13,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm13,21 - vpaddd ymm5,ymm5,YMMWORD[96+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm13,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm13,7 - vpandn ymm0,ymm13,ymm15 - vpand ymm4,ymm13,ymm14 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm8,ymm9,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm9,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm10,ymm9 - - vpxor ymm8,ymm8,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm9,13 - - vpslld ymm2,ymm9,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm8,ymm1 - - vpsrld ymm1,ymm9,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm9,10 - vpxor ymm8,ymm10,ymm3 - vpaddd ymm12,ymm12,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm8,ymm8,ymm5 - vpaddd ymm8,ymm8,ymm7 - add rbp,256 - vmovd xmm5,DWORD[32+r12] - vmovd xmm0,DWORD[32+r8] - vmovd xmm1,DWORD[32+r13] - vmovd xmm2,DWORD[32+r9] - vpinsrd xmm5,xmm5,DWORD[32+r14],1 - vpinsrd xmm0,xmm0,DWORD[32+r10],1 - vpinsrd xmm1,xmm1,DWORD[32+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[32+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm12,6 - vpslld ymm2,ymm12,26 - vmovdqu YMMWORD[(256-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm15 - - vpsrld ymm1,ymm12,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm12,21 - vpaddd ymm5,ymm5,YMMWORD[((-128))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm12,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm12,7 - vpandn ymm0,ymm12,ymm14 - vpand ymm3,ymm12,ymm13 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm15,ymm8,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm8,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm9,ymm8 - - vpxor ymm15,ymm15,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm8,13 - - vpslld ymm2,ymm8,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm15,ymm1 - - vpsrld ymm1,ymm8,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm8,10 - vpxor ymm15,ymm9,ymm4 - vpaddd ymm11,ymm11,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm15,ymm15,ymm5 - vpaddd ymm15,ymm15,ymm7 - vmovd xmm5,DWORD[36+r12] - vmovd xmm0,DWORD[36+r8] - vmovd xmm1,DWORD[36+r13] - vmovd xmm2,DWORD[36+r9] - vpinsrd xmm5,xmm5,DWORD[36+r14],1 - vpinsrd xmm0,xmm0,DWORD[36+r10],1 - vpinsrd xmm1,xmm1,DWORD[36+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[36+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm11,6 - vpslld ymm2,ymm11,26 - vmovdqu YMMWORD[(288-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm14 - - vpsrld ymm1,ymm11,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm11,21 - vpaddd ymm5,ymm5,YMMWORD[((-96))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm11,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm11,7 - vpandn ymm0,ymm11,ymm13 - vpand ymm4,ymm11,ymm12 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm14,ymm15,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm15,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm8,ymm15 - - vpxor ymm14,ymm14,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm15,13 - - vpslld ymm2,ymm15,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm14,ymm1 - - vpsrld ymm1,ymm15,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm15,10 - vpxor ymm14,ymm8,ymm3 - vpaddd ymm10,ymm10,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm14,ymm14,ymm5 - vpaddd ymm14,ymm14,ymm7 - vmovd xmm5,DWORD[40+r12] - vmovd xmm0,DWORD[40+r8] - vmovd xmm1,DWORD[40+r13] - vmovd xmm2,DWORD[40+r9] - vpinsrd xmm5,xmm5,DWORD[40+r14],1 - vpinsrd xmm0,xmm0,DWORD[40+r10],1 - vpinsrd xmm1,xmm1,DWORD[40+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[40+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm10,6 - vpslld ymm2,ymm10,26 - vmovdqu YMMWORD[(320-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm13 - - vpsrld ymm1,ymm10,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm10,21 - vpaddd ymm5,ymm5,YMMWORD[((-64))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm10,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm10,7 - vpandn ymm0,ymm10,ymm12 - vpand ymm3,ymm10,ymm11 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm13,ymm14,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm14,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm15,ymm14 - - vpxor ymm13,ymm13,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm14,13 - - vpslld ymm2,ymm14,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm13,ymm1 - - vpsrld ymm1,ymm14,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm14,10 - vpxor ymm13,ymm15,ymm4 - vpaddd ymm9,ymm9,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm13,ymm13,ymm5 - vpaddd ymm13,ymm13,ymm7 - vmovd xmm5,DWORD[44+r12] - vmovd xmm0,DWORD[44+r8] - vmovd xmm1,DWORD[44+r13] - vmovd xmm2,DWORD[44+r9] - vpinsrd xmm5,xmm5,DWORD[44+r14],1 - vpinsrd xmm0,xmm0,DWORD[44+r10],1 - vpinsrd xmm1,xmm1,DWORD[44+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[44+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm9,6 - vpslld ymm2,ymm9,26 - vmovdqu YMMWORD[(352-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm12 - - vpsrld ymm1,ymm9,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm9,21 - vpaddd ymm5,ymm5,YMMWORD[((-32))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm9,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm9,7 - vpandn ymm0,ymm9,ymm11 - vpand ymm4,ymm9,ymm10 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm12,ymm13,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm13,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm14,ymm13 - - vpxor ymm12,ymm12,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm13,13 - - vpslld ymm2,ymm13,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm12,ymm1 - - vpsrld ymm1,ymm13,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm13,10 - vpxor ymm12,ymm14,ymm3 - vpaddd ymm8,ymm8,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm12,ymm12,ymm5 - vpaddd ymm12,ymm12,ymm7 - vmovd xmm5,DWORD[48+r12] - vmovd xmm0,DWORD[48+r8] - vmovd xmm1,DWORD[48+r13] - vmovd xmm2,DWORD[48+r9] - vpinsrd xmm5,xmm5,DWORD[48+r14],1 - vpinsrd xmm0,xmm0,DWORD[48+r10],1 - vpinsrd xmm1,xmm1,DWORD[48+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[48+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm8,6 - vpslld ymm2,ymm8,26 - vmovdqu YMMWORD[(384-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm11 - - vpsrld ymm1,ymm8,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm8,21 - vpaddd ymm5,ymm5,YMMWORD[rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm8,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm8,7 - vpandn ymm0,ymm8,ymm10 - vpand ymm3,ymm8,ymm9 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm11,ymm12,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm12,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm13,ymm12 - - vpxor ymm11,ymm11,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm12,13 - - vpslld ymm2,ymm12,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm11,ymm1 - - vpsrld ymm1,ymm12,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm12,10 - vpxor ymm11,ymm13,ymm4 - vpaddd ymm15,ymm15,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm11,ymm11,ymm5 - vpaddd ymm11,ymm11,ymm7 - vmovd xmm5,DWORD[52+r12] - vmovd xmm0,DWORD[52+r8] - vmovd xmm1,DWORD[52+r13] - vmovd xmm2,DWORD[52+r9] - vpinsrd xmm5,xmm5,DWORD[52+r14],1 - vpinsrd xmm0,xmm0,DWORD[52+r10],1 - vpinsrd xmm1,xmm1,DWORD[52+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[52+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm15,6 - vpslld ymm2,ymm15,26 - vmovdqu YMMWORD[(416-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm10 - - vpsrld ymm1,ymm15,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm15,21 - vpaddd ymm5,ymm5,YMMWORD[32+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm15,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm15,7 - vpandn ymm0,ymm15,ymm9 - vpand ymm4,ymm15,ymm8 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm10,ymm11,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm11,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm12,ymm11 - - vpxor ymm10,ymm10,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm11,13 - - vpslld ymm2,ymm11,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm10,ymm1 - - vpsrld ymm1,ymm11,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm11,10 - vpxor ymm10,ymm12,ymm3 - vpaddd ymm14,ymm14,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm10,ymm10,ymm5 - vpaddd ymm10,ymm10,ymm7 - vmovd xmm5,DWORD[56+r12] - vmovd xmm0,DWORD[56+r8] - vmovd xmm1,DWORD[56+r13] - vmovd xmm2,DWORD[56+r9] - vpinsrd xmm5,xmm5,DWORD[56+r14],1 - vpinsrd xmm0,xmm0,DWORD[56+r10],1 - vpinsrd xmm1,xmm1,DWORD[56+r15],1 - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[56+r11],1 - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm14,6 - vpslld ymm2,ymm14,26 - vmovdqu YMMWORD[(448-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm9 - - vpsrld ymm1,ymm14,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm14,21 - vpaddd ymm5,ymm5,YMMWORD[64+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm14,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm14,7 - vpandn ymm0,ymm14,ymm8 - vpand ymm3,ymm14,ymm15 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm9,ymm10,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm10,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm11,ymm10 - - vpxor ymm9,ymm9,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm10,13 - - vpslld ymm2,ymm10,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm9,ymm1 - - vpsrld ymm1,ymm10,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm10,10 - vpxor ymm9,ymm11,ymm4 - vpaddd ymm13,ymm13,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm9,ymm9,ymm5 - vpaddd ymm9,ymm9,ymm7 - vmovd xmm5,DWORD[60+r12] - lea r12,[64+r12] - vmovd xmm0,DWORD[60+r8] - lea r8,[64+r8] - vmovd xmm1,DWORD[60+r13] - lea r13,[64+r13] - vmovd xmm2,DWORD[60+r9] - lea r9,[64+r9] - vpinsrd xmm5,xmm5,DWORD[60+r14],1 - lea r14,[64+r14] - vpinsrd xmm0,xmm0,DWORD[60+r10],1 - lea r10,[64+r10] - vpinsrd xmm1,xmm1,DWORD[60+r15],1 - lea r15,[64+r15] - vpunpckldq ymm5,ymm5,ymm1 - vpinsrd xmm2,xmm2,DWORD[60+r11],1 - lea r11,[64+r11] - vpunpckldq ymm0,ymm0,ymm2 - vinserti128 ymm5,ymm5,xmm0,1 - vpshufb ymm5,ymm5,ymm6 - vpsrld ymm7,ymm13,6 - vpslld ymm2,ymm13,26 - vmovdqu YMMWORD[(480-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm8 - - vpsrld ymm1,ymm13,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm13,21 - vpaddd ymm5,ymm5,YMMWORD[96+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm13,25 - vpxor ymm7,ymm7,ymm2 - prefetcht0 [63+r12] - vpslld ymm2,ymm13,7 - vpandn ymm0,ymm13,ymm15 - vpand ymm4,ymm13,ymm14 - prefetcht0 [63+r13] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm8,ymm9,2 - vpxor ymm7,ymm7,ymm2 - prefetcht0 [63+r14] - vpslld ymm1,ymm9,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm10,ymm9 - prefetcht0 [63+r15] - vpxor ymm8,ymm8,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm9,13 - prefetcht0 [63+r8] - vpslld ymm2,ymm9,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm3,ymm3,ymm4 - prefetcht0 [63+r9] - vpxor ymm7,ymm8,ymm1 - - vpsrld ymm1,ymm9,22 - vpxor ymm7,ymm7,ymm2 - prefetcht0 [63+r10] - vpslld ymm2,ymm9,10 - vpxor ymm8,ymm10,ymm3 - vpaddd ymm12,ymm12,ymm5 - prefetcht0 [63+r11] - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm8,ymm8,ymm5 - vpaddd ymm8,ymm8,ymm7 - add rbp,256 - vmovdqu ymm5,YMMWORD[((0-128))+rax] - mov ecx,3 - jmp NEAR $L$oop_16_xx_avx2 -ALIGN 32 -$L$oop_16_xx_avx2: - vmovdqu ymm6,YMMWORD[((32-128))+rax] - vpaddd ymm5,ymm5,YMMWORD[((288-256-128))+rbx] - - vpsrld ymm7,ymm6,3 - vpsrld ymm1,ymm6,7 - vpslld ymm2,ymm6,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm6,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD[((448-256-128))+rbx] - vpsrld ymm3,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm5,ymm5,ymm7 - vpxor ymm7,ymm3,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm5,ymm5,ymm7 - vpsrld ymm7,ymm12,6 - vpslld ymm2,ymm12,26 - vmovdqu YMMWORD[(0-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm15 - - vpsrld ymm1,ymm12,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm12,21 - vpaddd ymm5,ymm5,YMMWORD[((-128))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm12,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm12,7 - vpandn ymm0,ymm12,ymm14 - vpand ymm3,ymm12,ymm13 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm15,ymm8,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm8,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm9,ymm8 - - vpxor ymm15,ymm15,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm8,13 - - vpslld ymm2,ymm8,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm15,ymm1 - - vpsrld ymm1,ymm8,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm8,10 - vpxor ymm15,ymm9,ymm4 - vpaddd ymm11,ymm11,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm15,ymm15,ymm5 - vpaddd ymm15,ymm15,ymm7 - vmovdqu ymm5,YMMWORD[((64-128))+rax] - vpaddd ymm6,ymm6,YMMWORD[((320-256-128))+rbx] - - vpsrld ymm7,ymm5,3 - vpsrld ymm1,ymm5,7 - vpslld ymm2,ymm5,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm5,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD[((480-256-128))+rbx] - vpsrld ymm4,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm6,ymm6,ymm7 - vpxor ymm7,ymm4,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm6,ymm6,ymm7 - vpsrld ymm7,ymm11,6 - vpslld ymm2,ymm11,26 - vmovdqu YMMWORD[(32-128)+rax],ymm6 - vpaddd ymm6,ymm6,ymm14 - - vpsrld ymm1,ymm11,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm11,21 - vpaddd ymm6,ymm6,YMMWORD[((-96))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm11,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm11,7 - vpandn ymm0,ymm11,ymm13 - vpand ymm4,ymm11,ymm12 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm14,ymm15,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm15,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm8,ymm15 - - vpxor ymm14,ymm14,ymm1 - vpaddd ymm6,ymm6,ymm7 - - vpsrld ymm1,ymm15,13 - - vpslld ymm2,ymm15,19 - vpaddd ymm6,ymm6,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm14,ymm1 - - vpsrld ymm1,ymm15,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm15,10 - vpxor ymm14,ymm8,ymm3 - vpaddd ymm10,ymm10,ymm6 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm14,ymm14,ymm6 - vpaddd ymm14,ymm14,ymm7 - vmovdqu ymm6,YMMWORD[((96-128))+rax] - vpaddd ymm5,ymm5,YMMWORD[((352-256-128))+rbx] - - vpsrld ymm7,ymm6,3 - vpsrld ymm1,ymm6,7 - vpslld ymm2,ymm6,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm6,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD[((0-128))+rax] - vpsrld ymm3,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm5,ymm5,ymm7 - vpxor ymm7,ymm3,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm5,ymm5,ymm7 - vpsrld ymm7,ymm10,6 - vpslld ymm2,ymm10,26 - vmovdqu YMMWORD[(64-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm13 - - vpsrld ymm1,ymm10,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm10,21 - vpaddd ymm5,ymm5,YMMWORD[((-64))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm10,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm10,7 - vpandn ymm0,ymm10,ymm12 - vpand ymm3,ymm10,ymm11 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm13,ymm14,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm14,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm15,ymm14 - - vpxor ymm13,ymm13,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm14,13 - - vpslld ymm2,ymm14,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm13,ymm1 - - vpsrld ymm1,ymm14,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm14,10 - vpxor ymm13,ymm15,ymm4 - vpaddd ymm9,ymm9,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm13,ymm13,ymm5 - vpaddd ymm13,ymm13,ymm7 - vmovdqu ymm5,YMMWORD[((128-128))+rax] - vpaddd ymm6,ymm6,YMMWORD[((384-256-128))+rbx] - - vpsrld ymm7,ymm5,3 - vpsrld ymm1,ymm5,7 - vpslld ymm2,ymm5,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm5,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD[((32-128))+rax] - vpsrld ymm4,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm6,ymm6,ymm7 - vpxor ymm7,ymm4,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm6,ymm6,ymm7 - vpsrld ymm7,ymm9,6 - vpslld ymm2,ymm9,26 - vmovdqu YMMWORD[(96-128)+rax],ymm6 - vpaddd ymm6,ymm6,ymm12 - - vpsrld ymm1,ymm9,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm9,21 - vpaddd ymm6,ymm6,YMMWORD[((-32))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm9,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm9,7 - vpandn ymm0,ymm9,ymm11 - vpand ymm4,ymm9,ymm10 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm12,ymm13,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm13,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm14,ymm13 - - vpxor ymm12,ymm12,ymm1 - vpaddd ymm6,ymm6,ymm7 - - vpsrld ymm1,ymm13,13 - - vpslld ymm2,ymm13,19 - vpaddd ymm6,ymm6,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm12,ymm1 - - vpsrld ymm1,ymm13,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm13,10 - vpxor ymm12,ymm14,ymm3 - vpaddd ymm8,ymm8,ymm6 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm12,ymm12,ymm6 - vpaddd ymm12,ymm12,ymm7 - vmovdqu ymm6,YMMWORD[((160-128))+rax] - vpaddd ymm5,ymm5,YMMWORD[((416-256-128))+rbx] - - vpsrld ymm7,ymm6,3 - vpsrld ymm1,ymm6,7 - vpslld ymm2,ymm6,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm6,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD[((64-128))+rax] - vpsrld ymm3,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm5,ymm5,ymm7 - vpxor ymm7,ymm3,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm5,ymm5,ymm7 - vpsrld ymm7,ymm8,6 - vpslld ymm2,ymm8,26 - vmovdqu YMMWORD[(128-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm11 - - vpsrld ymm1,ymm8,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm8,21 - vpaddd ymm5,ymm5,YMMWORD[rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm8,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm8,7 - vpandn ymm0,ymm8,ymm10 - vpand ymm3,ymm8,ymm9 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm11,ymm12,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm12,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm13,ymm12 - - vpxor ymm11,ymm11,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm12,13 - - vpslld ymm2,ymm12,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm11,ymm1 - - vpsrld ymm1,ymm12,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm12,10 - vpxor ymm11,ymm13,ymm4 - vpaddd ymm15,ymm15,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm11,ymm11,ymm5 - vpaddd ymm11,ymm11,ymm7 - vmovdqu ymm5,YMMWORD[((192-128))+rax] - vpaddd ymm6,ymm6,YMMWORD[((448-256-128))+rbx] - - vpsrld ymm7,ymm5,3 - vpsrld ymm1,ymm5,7 - vpslld ymm2,ymm5,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm5,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD[((96-128))+rax] - vpsrld ymm4,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm6,ymm6,ymm7 - vpxor ymm7,ymm4,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm6,ymm6,ymm7 - vpsrld ymm7,ymm15,6 - vpslld ymm2,ymm15,26 - vmovdqu YMMWORD[(160-128)+rax],ymm6 - vpaddd ymm6,ymm6,ymm10 - - vpsrld ymm1,ymm15,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm15,21 - vpaddd ymm6,ymm6,YMMWORD[32+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm15,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm15,7 - vpandn ymm0,ymm15,ymm9 - vpand ymm4,ymm15,ymm8 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm10,ymm11,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm11,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm12,ymm11 - - vpxor ymm10,ymm10,ymm1 - vpaddd ymm6,ymm6,ymm7 - - vpsrld ymm1,ymm11,13 - - vpslld ymm2,ymm11,19 - vpaddd ymm6,ymm6,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm10,ymm1 - - vpsrld ymm1,ymm11,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm11,10 - vpxor ymm10,ymm12,ymm3 - vpaddd ymm14,ymm14,ymm6 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm10,ymm10,ymm6 - vpaddd ymm10,ymm10,ymm7 - vmovdqu ymm6,YMMWORD[((224-128))+rax] - vpaddd ymm5,ymm5,YMMWORD[((480-256-128))+rbx] - - vpsrld ymm7,ymm6,3 - vpsrld ymm1,ymm6,7 - vpslld ymm2,ymm6,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm6,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD[((128-128))+rax] - vpsrld ymm3,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm5,ymm5,ymm7 - vpxor ymm7,ymm3,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm5,ymm5,ymm7 - vpsrld ymm7,ymm14,6 - vpslld ymm2,ymm14,26 - vmovdqu YMMWORD[(192-128)+rax],ymm5 - vpaddd ymm5,ymm5,ymm9 - - vpsrld ymm1,ymm14,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm14,21 - vpaddd ymm5,ymm5,YMMWORD[64+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm14,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm14,7 - vpandn ymm0,ymm14,ymm8 - vpand ymm3,ymm14,ymm15 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm9,ymm10,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm10,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm11,ymm10 - - vpxor ymm9,ymm9,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm10,13 - - vpslld ymm2,ymm10,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm9,ymm1 - - vpsrld ymm1,ymm10,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm10,10 - vpxor ymm9,ymm11,ymm4 - vpaddd ymm13,ymm13,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm9,ymm9,ymm5 - vpaddd ymm9,ymm9,ymm7 - vmovdqu ymm5,YMMWORD[((256-256-128))+rbx] - vpaddd ymm6,ymm6,YMMWORD[((0-128))+rax] - - vpsrld ymm7,ymm5,3 - vpsrld ymm1,ymm5,7 - vpslld ymm2,ymm5,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm5,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD[((160-128))+rax] - vpsrld ymm4,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm6,ymm6,ymm7 - vpxor ymm7,ymm4,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm6,ymm6,ymm7 - vpsrld ymm7,ymm13,6 - vpslld ymm2,ymm13,26 - vmovdqu YMMWORD[(224-128)+rax],ymm6 - vpaddd ymm6,ymm6,ymm8 - - vpsrld ymm1,ymm13,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm13,21 - vpaddd ymm6,ymm6,YMMWORD[96+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm13,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm13,7 - vpandn ymm0,ymm13,ymm15 - vpand ymm4,ymm13,ymm14 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm8,ymm9,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm9,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm10,ymm9 - - vpxor ymm8,ymm8,ymm1 - vpaddd ymm6,ymm6,ymm7 - - vpsrld ymm1,ymm9,13 - - vpslld ymm2,ymm9,19 - vpaddd ymm6,ymm6,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm8,ymm1 - - vpsrld ymm1,ymm9,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm9,10 - vpxor ymm8,ymm10,ymm3 - vpaddd ymm12,ymm12,ymm6 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm8,ymm8,ymm6 - vpaddd ymm8,ymm8,ymm7 - add rbp,256 - vmovdqu ymm6,YMMWORD[((288-256-128))+rbx] - vpaddd ymm5,ymm5,YMMWORD[((32-128))+rax] - - vpsrld ymm7,ymm6,3 - vpsrld ymm1,ymm6,7 - vpslld ymm2,ymm6,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm6,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD[((192-128))+rax] - vpsrld ymm3,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm5,ymm5,ymm7 - vpxor ymm7,ymm3,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm5,ymm5,ymm7 - vpsrld ymm7,ymm12,6 - vpslld ymm2,ymm12,26 - vmovdqu YMMWORD[(256-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm15 - - vpsrld ymm1,ymm12,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm12,21 - vpaddd ymm5,ymm5,YMMWORD[((-128))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm12,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm12,7 - vpandn ymm0,ymm12,ymm14 - vpand ymm3,ymm12,ymm13 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm15,ymm8,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm8,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm9,ymm8 - - vpxor ymm15,ymm15,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm8,13 - - vpslld ymm2,ymm8,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm15,ymm1 - - vpsrld ymm1,ymm8,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm8,10 - vpxor ymm15,ymm9,ymm4 - vpaddd ymm11,ymm11,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm15,ymm15,ymm5 - vpaddd ymm15,ymm15,ymm7 - vmovdqu ymm5,YMMWORD[((320-256-128))+rbx] - vpaddd ymm6,ymm6,YMMWORD[((64-128))+rax] - - vpsrld ymm7,ymm5,3 - vpsrld ymm1,ymm5,7 - vpslld ymm2,ymm5,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm5,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD[((224-128))+rax] - vpsrld ymm4,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm6,ymm6,ymm7 - vpxor ymm7,ymm4,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm6,ymm6,ymm7 - vpsrld ymm7,ymm11,6 - vpslld ymm2,ymm11,26 - vmovdqu YMMWORD[(288-256-128)+rbx],ymm6 - vpaddd ymm6,ymm6,ymm14 - - vpsrld ymm1,ymm11,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm11,21 - vpaddd ymm6,ymm6,YMMWORD[((-96))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm11,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm11,7 - vpandn ymm0,ymm11,ymm13 - vpand ymm4,ymm11,ymm12 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm14,ymm15,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm15,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm8,ymm15 - - vpxor ymm14,ymm14,ymm1 - vpaddd ymm6,ymm6,ymm7 - - vpsrld ymm1,ymm15,13 - - vpslld ymm2,ymm15,19 - vpaddd ymm6,ymm6,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm14,ymm1 - - vpsrld ymm1,ymm15,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm15,10 - vpxor ymm14,ymm8,ymm3 - vpaddd ymm10,ymm10,ymm6 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm14,ymm14,ymm6 - vpaddd ymm14,ymm14,ymm7 - vmovdqu ymm6,YMMWORD[((352-256-128))+rbx] - vpaddd ymm5,ymm5,YMMWORD[((96-128))+rax] - - vpsrld ymm7,ymm6,3 - vpsrld ymm1,ymm6,7 - vpslld ymm2,ymm6,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm6,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD[((256-256-128))+rbx] - vpsrld ymm3,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm5,ymm5,ymm7 - vpxor ymm7,ymm3,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm5,ymm5,ymm7 - vpsrld ymm7,ymm10,6 - vpslld ymm2,ymm10,26 - vmovdqu YMMWORD[(320-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm13 - - vpsrld ymm1,ymm10,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm10,21 - vpaddd ymm5,ymm5,YMMWORD[((-64))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm10,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm10,7 - vpandn ymm0,ymm10,ymm12 - vpand ymm3,ymm10,ymm11 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm13,ymm14,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm14,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm15,ymm14 - - vpxor ymm13,ymm13,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm14,13 - - vpslld ymm2,ymm14,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm13,ymm1 - - vpsrld ymm1,ymm14,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm14,10 - vpxor ymm13,ymm15,ymm4 - vpaddd ymm9,ymm9,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm13,ymm13,ymm5 - vpaddd ymm13,ymm13,ymm7 - vmovdqu ymm5,YMMWORD[((384-256-128))+rbx] - vpaddd ymm6,ymm6,YMMWORD[((128-128))+rax] - - vpsrld ymm7,ymm5,3 - vpsrld ymm1,ymm5,7 - vpslld ymm2,ymm5,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm5,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD[((288-256-128))+rbx] - vpsrld ymm4,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm6,ymm6,ymm7 - vpxor ymm7,ymm4,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm6,ymm6,ymm7 - vpsrld ymm7,ymm9,6 - vpslld ymm2,ymm9,26 - vmovdqu YMMWORD[(352-256-128)+rbx],ymm6 - vpaddd ymm6,ymm6,ymm12 - - vpsrld ymm1,ymm9,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm9,21 - vpaddd ymm6,ymm6,YMMWORD[((-32))+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm9,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm9,7 - vpandn ymm0,ymm9,ymm11 - vpand ymm4,ymm9,ymm10 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm12,ymm13,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm13,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm14,ymm13 - - vpxor ymm12,ymm12,ymm1 - vpaddd ymm6,ymm6,ymm7 - - vpsrld ymm1,ymm13,13 - - vpslld ymm2,ymm13,19 - vpaddd ymm6,ymm6,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm12,ymm1 - - vpsrld ymm1,ymm13,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm13,10 - vpxor ymm12,ymm14,ymm3 - vpaddd ymm8,ymm8,ymm6 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm12,ymm12,ymm6 - vpaddd ymm12,ymm12,ymm7 - vmovdqu ymm6,YMMWORD[((416-256-128))+rbx] - vpaddd ymm5,ymm5,YMMWORD[((160-128))+rax] - - vpsrld ymm7,ymm6,3 - vpsrld ymm1,ymm6,7 - vpslld ymm2,ymm6,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm6,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD[((320-256-128))+rbx] - vpsrld ymm3,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm5,ymm5,ymm7 - vpxor ymm7,ymm3,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm5,ymm5,ymm7 - vpsrld ymm7,ymm8,6 - vpslld ymm2,ymm8,26 - vmovdqu YMMWORD[(384-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm11 - - vpsrld ymm1,ymm8,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm8,21 - vpaddd ymm5,ymm5,YMMWORD[rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm8,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm8,7 - vpandn ymm0,ymm8,ymm10 - vpand ymm3,ymm8,ymm9 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm11,ymm12,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm12,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm13,ymm12 - - vpxor ymm11,ymm11,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm12,13 - - vpslld ymm2,ymm12,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm11,ymm1 - - vpsrld ymm1,ymm12,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm12,10 - vpxor ymm11,ymm13,ymm4 - vpaddd ymm15,ymm15,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm11,ymm11,ymm5 - vpaddd ymm11,ymm11,ymm7 - vmovdqu ymm5,YMMWORD[((448-256-128))+rbx] - vpaddd ymm6,ymm6,YMMWORD[((192-128))+rax] - - vpsrld ymm7,ymm5,3 - vpsrld ymm1,ymm5,7 - vpslld ymm2,ymm5,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm5,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD[((352-256-128))+rbx] - vpsrld ymm4,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm6,ymm6,ymm7 - vpxor ymm7,ymm4,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm6,ymm6,ymm7 - vpsrld ymm7,ymm15,6 - vpslld ymm2,ymm15,26 - vmovdqu YMMWORD[(416-256-128)+rbx],ymm6 - vpaddd ymm6,ymm6,ymm10 - - vpsrld ymm1,ymm15,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm15,21 - vpaddd ymm6,ymm6,YMMWORD[32+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm15,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm15,7 - vpandn ymm0,ymm15,ymm9 - vpand ymm4,ymm15,ymm8 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm10,ymm11,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm11,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm12,ymm11 - - vpxor ymm10,ymm10,ymm1 - vpaddd ymm6,ymm6,ymm7 - - vpsrld ymm1,ymm11,13 - - vpslld ymm2,ymm11,19 - vpaddd ymm6,ymm6,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm10,ymm1 - - vpsrld ymm1,ymm11,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm11,10 - vpxor ymm10,ymm12,ymm3 - vpaddd ymm14,ymm14,ymm6 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm10,ymm10,ymm6 - vpaddd ymm10,ymm10,ymm7 - vmovdqu ymm6,YMMWORD[((480-256-128))+rbx] - vpaddd ymm5,ymm5,YMMWORD[((224-128))+rax] - - vpsrld ymm7,ymm6,3 - vpsrld ymm1,ymm6,7 - vpslld ymm2,ymm6,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm6,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm6,14 - vmovdqu ymm0,YMMWORD[((384-256-128))+rbx] - vpsrld ymm3,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm5,ymm5,ymm7 - vpxor ymm7,ymm3,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm5,ymm5,ymm7 - vpsrld ymm7,ymm14,6 - vpslld ymm2,ymm14,26 - vmovdqu YMMWORD[(448-256-128)+rbx],ymm5 - vpaddd ymm5,ymm5,ymm9 - - vpsrld ymm1,ymm14,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm14,21 - vpaddd ymm5,ymm5,YMMWORD[64+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm14,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm14,7 - vpandn ymm0,ymm14,ymm8 - vpand ymm3,ymm14,ymm15 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm9,ymm10,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm10,30 - vpxor ymm0,ymm0,ymm3 - vpxor ymm3,ymm11,ymm10 - - vpxor ymm9,ymm9,ymm1 - vpaddd ymm5,ymm5,ymm7 - - vpsrld ymm1,ymm10,13 - - vpslld ymm2,ymm10,19 - vpaddd ymm5,ymm5,ymm0 - vpand ymm4,ymm4,ymm3 - - vpxor ymm7,ymm9,ymm1 - - vpsrld ymm1,ymm10,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm10,10 - vpxor ymm9,ymm11,ymm4 - vpaddd ymm13,ymm13,ymm5 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm9,ymm9,ymm5 - vpaddd ymm9,ymm9,ymm7 - vmovdqu ymm5,YMMWORD[((0-128))+rax] - vpaddd ymm6,ymm6,YMMWORD[((256-256-128))+rbx] - - vpsrld ymm7,ymm5,3 - vpsrld ymm1,ymm5,7 - vpslld ymm2,ymm5,25 - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm5,18 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm5,14 - vmovdqu ymm0,YMMWORD[((416-256-128))+rbx] - vpsrld ymm4,ymm0,10 - - vpxor ymm7,ymm7,ymm1 - vpsrld ymm1,ymm0,17 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,15 - vpaddd ymm6,ymm6,ymm7 - vpxor ymm7,ymm4,ymm1 - vpsrld ymm1,ymm0,19 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm0,13 - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - vpaddd ymm6,ymm6,ymm7 - vpsrld ymm7,ymm13,6 - vpslld ymm2,ymm13,26 - vmovdqu YMMWORD[(480-256-128)+rbx],ymm6 - vpaddd ymm6,ymm6,ymm8 - - vpsrld ymm1,ymm13,11 - vpxor ymm7,ymm7,ymm2 - vpslld ymm2,ymm13,21 - vpaddd ymm6,ymm6,YMMWORD[96+rbp] - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm1,ymm13,25 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm13,7 - vpandn ymm0,ymm13,ymm15 - vpand ymm4,ymm13,ymm14 - - vpxor ymm7,ymm7,ymm1 - - vpsrld ymm8,ymm9,2 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm1,ymm9,30 - vpxor ymm0,ymm0,ymm4 - vpxor ymm4,ymm10,ymm9 - - vpxor ymm8,ymm8,ymm1 - vpaddd ymm6,ymm6,ymm7 - - vpsrld ymm1,ymm9,13 - - vpslld ymm2,ymm9,19 - vpaddd ymm6,ymm6,ymm0 - vpand ymm3,ymm3,ymm4 - - vpxor ymm7,ymm8,ymm1 - - vpsrld ymm1,ymm9,22 - vpxor ymm7,ymm7,ymm2 - - vpslld ymm2,ymm9,10 - vpxor ymm8,ymm10,ymm3 - vpaddd ymm12,ymm12,ymm6 - - vpxor ymm7,ymm7,ymm1 - vpxor ymm7,ymm7,ymm2 - - vpaddd ymm8,ymm8,ymm6 - vpaddd ymm8,ymm8,ymm7 - add rbp,256 - dec ecx - jnz NEAR $L$oop_16_xx_avx2 - - mov ecx,1 - lea rbx,[512+rsp] - lea rbp,[((K256+128))] - cmp ecx,DWORD[rbx] - cmovge r12,rbp - cmp ecx,DWORD[4+rbx] - cmovge r13,rbp - cmp ecx,DWORD[8+rbx] - cmovge r14,rbp - cmp ecx,DWORD[12+rbx] - cmovge r15,rbp - cmp ecx,DWORD[16+rbx] - cmovge r8,rbp - cmp ecx,DWORD[20+rbx] - cmovge r9,rbp - cmp ecx,DWORD[24+rbx] - cmovge r10,rbp - cmp ecx,DWORD[28+rbx] - cmovge r11,rbp - vmovdqa ymm7,YMMWORD[rbx] - vpxor ymm0,ymm0,ymm0 - vmovdqa ymm6,ymm7 - vpcmpgtd ymm6,ymm6,ymm0 - vpaddd ymm7,ymm7,ymm6 - - vmovdqu ymm0,YMMWORD[((0-128))+rdi] - vpand ymm8,ymm8,ymm6 - vmovdqu ymm1,YMMWORD[((32-128))+rdi] - vpand ymm9,ymm9,ymm6 - vmovdqu ymm2,YMMWORD[((64-128))+rdi] - vpand ymm10,ymm10,ymm6 - vmovdqu ymm5,YMMWORD[((96-128))+rdi] - vpand ymm11,ymm11,ymm6 - vpaddd ymm8,ymm8,ymm0 - vmovdqu ymm0,YMMWORD[((128-128))+rdi] - vpand ymm12,ymm12,ymm6 - vpaddd ymm9,ymm9,ymm1 - vmovdqu ymm1,YMMWORD[((160-128))+rdi] - vpand ymm13,ymm13,ymm6 - vpaddd ymm10,ymm10,ymm2 - vmovdqu ymm2,YMMWORD[((192-128))+rdi] - vpand ymm14,ymm14,ymm6 - vpaddd ymm11,ymm11,ymm5 - vmovdqu ymm5,YMMWORD[((224-128))+rdi] - vpand ymm15,ymm15,ymm6 - vpaddd ymm12,ymm12,ymm0 - vpaddd ymm13,ymm13,ymm1 - vmovdqu YMMWORD[(0-128)+rdi],ymm8 - vpaddd ymm14,ymm14,ymm2 - vmovdqu YMMWORD[(32-128)+rdi],ymm9 - vpaddd ymm15,ymm15,ymm5 - vmovdqu YMMWORD[(64-128)+rdi],ymm10 - vmovdqu YMMWORD[(96-128)+rdi],ymm11 - vmovdqu YMMWORD[(128-128)+rdi],ymm12 - vmovdqu YMMWORD[(160-128)+rdi],ymm13 - vmovdqu YMMWORD[(192-128)+rdi],ymm14 - vmovdqu YMMWORD[(224-128)+rdi],ymm15 - - vmovdqu YMMWORD[rbx],ymm7 - lea rbx,[((256+128))+rsp] - vmovdqu ymm6,YMMWORD[$L$pbswap] - dec edx - jnz NEAR $L$oop_avx2 - - - - - - - -$L$done_avx2: - mov rax,QWORD[544+rsp] - vzeroupper - movaps xmm6,XMMWORD[((-216))+rax] - movaps xmm7,XMMWORD[((-200))+rax] - movaps xmm8,XMMWORD[((-184))+rax] - movaps xmm9,XMMWORD[((-168))+rax] - movaps xmm10,XMMWORD[((-152))+rax] - movaps xmm11,XMMWORD[((-136))+rax] - movaps xmm12,XMMWORD[((-120))+rax] - movaps xmm13,XMMWORD[((-104))+rax] - movaps xmm14,XMMWORD[((-88))+rax] - movaps xmm15,XMMWORD[((-72))+rax] - mov r15,QWORD[((-48))+rax] - mov r14,QWORD[((-40))+rax] - mov r13,QWORD[((-32))+rax] - mov r12,QWORD[((-24))+rax] - mov rbp,QWORD[((-16))+rax] - mov rbx,QWORD[((-8))+rax] - lea rsp,[rax] -$L$epilogue_avx2: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_multi_block_avx2: -ALIGN 256 -K256: - DD 1116352408,1116352408,1116352408,1116352408 - DD 1116352408,1116352408,1116352408,1116352408 - DD 1899447441,1899447441,1899447441,1899447441 - DD 1899447441,1899447441,1899447441,1899447441 - DD 3049323471,3049323471,3049323471,3049323471 - DD 3049323471,3049323471,3049323471,3049323471 - DD 3921009573,3921009573,3921009573,3921009573 - DD 3921009573,3921009573,3921009573,3921009573 - DD 961987163,961987163,961987163,961987163 - DD 961987163,961987163,961987163,961987163 - DD 1508970993,1508970993,1508970993,1508970993 - DD 1508970993,1508970993,1508970993,1508970993 - DD 2453635748,2453635748,2453635748,2453635748 - DD 2453635748,2453635748,2453635748,2453635748 - DD 2870763221,2870763221,2870763221,2870763221 - DD 2870763221,2870763221,2870763221,2870763221 - DD 3624381080,3624381080,3624381080,3624381080 - DD 3624381080,3624381080,3624381080,3624381080 - DD 310598401,310598401,310598401,310598401 - DD 310598401,310598401,310598401,310598401 - DD 607225278,607225278,607225278,607225278 - DD 607225278,607225278,607225278,607225278 - DD 1426881987,1426881987,1426881987,1426881987 - DD 1426881987,1426881987,1426881987,1426881987 - DD 1925078388,1925078388,1925078388,1925078388 - DD 1925078388,1925078388,1925078388,1925078388 - DD 2162078206,2162078206,2162078206,2162078206 - DD 2162078206,2162078206,2162078206,2162078206 - DD 2614888103,2614888103,2614888103,2614888103 - DD 2614888103,2614888103,2614888103,2614888103 - DD 3248222580,3248222580,3248222580,3248222580 - DD 3248222580,3248222580,3248222580,3248222580 - DD 3835390401,3835390401,3835390401,3835390401 - DD 3835390401,3835390401,3835390401,3835390401 - DD 4022224774,4022224774,4022224774,4022224774 - DD 4022224774,4022224774,4022224774,4022224774 - DD 264347078,264347078,264347078,264347078 - DD 264347078,264347078,264347078,264347078 - DD 604807628,604807628,604807628,604807628 - DD 604807628,604807628,604807628,604807628 - DD 770255983,770255983,770255983,770255983 - DD 770255983,770255983,770255983,770255983 - DD 1249150122,1249150122,1249150122,1249150122 - DD 1249150122,1249150122,1249150122,1249150122 - DD 1555081692,1555081692,1555081692,1555081692 - DD 1555081692,1555081692,1555081692,1555081692 - DD 1996064986,1996064986,1996064986,1996064986 - DD 1996064986,1996064986,1996064986,1996064986 - DD 2554220882,2554220882,2554220882,2554220882 - DD 2554220882,2554220882,2554220882,2554220882 - DD 2821834349,2821834349,2821834349,2821834349 - DD 2821834349,2821834349,2821834349,2821834349 - DD 2952996808,2952996808,2952996808,2952996808 - DD 2952996808,2952996808,2952996808,2952996808 - DD 3210313671,3210313671,3210313671,3210313671 - DD 3210313671,3210313671,3210313671,3210313671 - DD 3336571891,3336571891,3336571891,3336571891 - DD 3336571891,3336571891,3336571891,3336571891 - DD 3584528711,3584528711,3584528711,3584528711 - DD 3584528711,3584528711,3584528711,3584528711 - DD 113926993,113926993,113926993,113926993 - DD 113926993,113926993,113926993,113926993 - DD 338241895,338241895,338241895,338241895 - DD 338241895,338241895,338241895,338241895 - DD 666307205,666307205,666307205,666307205 - DD 666307205,666307205,666307205,666307205 - DD 773529912,773529912,773529912,773529912 - DD 773529912,773529912,773529912,773529912 - DD 1294757372,1294757372,1294757372,1294757372 - DD 1294757372,1294757372,1294757372,1294757372 - DD 1396182291,1396182291,1396182291,1396182291 - DD 1396182291,1396182291,1396182291,1396182291 - DD 1695183700,1695183700,1695183700,1695183700 - DD 1695183700,1695183700,1695183700,1695183700 - DD 1986661051,1986661051,1986661051,1986661051 - DD 1986661051,1986661051,1986661051,1986661051 - DD 2177026350,2177026350,2177026350,2177026350 - DD 2177026350,2177026350,2177026350,2177026350 - DD 2456956037,2456956037,2456956037,2456956037 - DD 2456956037,2456956037,2456956037,2456956037 - DD 2730485921,2730485921,2730485921,2730485921 - DD 2730485921,2730485921,2730485921,2730485921 - DD 2820302411,2820302411,2820302411,2820302411 - DD 2820302411,2820302411,2820302411,2820302411 - DD 3259730800,3259730800,3259730800,3259730800 - DD 3259730800,3259730800,3259730800,3259730800 - DD 3345764771,3345764771,3345764771,3345764771 - DD 3345764771,3345764771,3345764771,3345764771 - DD 3516065817,3516065817,3516065817,3516065817 - DD 3516065817,3516065817,3516065817,3516065817 - DD 3600352804,3600352804,3600352804,3600352804 - DD 3600352804,3600352804,3600352804,3600352804 - DD 4094571909,4094571909,4094571909,4094571909 - DD 4094571909,4094571909,4094571909,4094571909 - DD 275423344,275423344,275423344,275423344 - DD 275423344,275423344,275423344,275423344 - DD 430227734,430227734,430227734,430227734 - DD 430227734,430227734,430227734,430227734 - DD 506948616,506948616,506948616,506948616 - DD 506948616,506948616,506948616,506948616 - DD 659060556,659060556,659060556,659060556 - DD 659060556,659060556,659060556,659060556 - DD 883997877,883997877,883997877,883997877 - DD 883997877,883997877,883997877,883997877 - DD 958139571,958139571,958139571,958139571 - DD 958139571,958139571,958139571,958139571 - DD 1322822218,1322822218,1322822218,1322822218 - DD 1322822218,1322822218,1322822218,1322822218 - DD 1537002063,1537002063,1537002063,1537002063 - DD 1537002063,1537002063,1537002063,1537002063 - DD 1747873779,1747873779,1747873779,1747873779 - DD 1747873779,1747873779,1747873779,1747873779 - DD 1955562222,1955562222,1955562222,1955562222 - DD 1955562222,1955562222,1955562222,1955562222 - DD 2024104815,2024104815,2024104815,2024104815 - DD 2024104815,2024104815,2024104815,2024104815 - DD 2227730452,2227730452,2227730452,2227730452 - DD 2227730452,2227730452,2227730452,2227730452 - DD 2361852424,2361852424,2361852424,2361852424 - DD 2361852424,2361852424,2361852424,2361852424 - DD 2428436474,2428436474,2428436474,2428436474 - DD 2428436474,2428436474,2428436474,2428436474 - DD 2756734187,2756734187,2756734187,2756734187 - DD 2756734187,2756734187,2756734187,2756734187 - DD 3204031479,3204031479,3204031479,3204031479 - DD 3204031479,3204031479,3204031479,3204031479 - DD 3329325298,3329325298,3329325298,3329325298 - DD 3329325298,3329325298,3329325298,3329325298 -$L$pbswap: - DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f - DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -K256_shaext: - DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 - DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 - DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 - DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 - DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc - DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da - DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 - DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 - DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 - DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 - DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 - DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 - DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 - DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 - DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 - DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 -DB 83,72,65,50,53,54,32,109,117,108,116,105,45,98,108,111 -DB 99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114 -DB 32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71 -DB 65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112 -DB 101,110,115,115,108,46,111,114,103,62,0 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - mov rax,QWORD[272+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - - lea rsi,[((-24-160))+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -ALIGN 16 -avx2_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - mov rax,QWORD[544+r8] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - - lea rsi,[((-56-160))+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - - jmp NEAR $L$in_prologue - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_sha256_multi_block wrt ..imagebase - DD $L$SEH_end_sha256_multi_block wrt ..imagebase - DD $L$SEH_info_sha256_multi_block wrt ..imagebase - DD $L$SEH_begin_sha256_multi_block_shaext wrt ..imagebase - DD $L$SEH_end_sha256_multi_block_shaext wrt ..imagebase - DD $L$SEH_info_sha256_multi_block_shaext wrt ..imagebase - DD $L$SEH_begin_sha256_multi_block_avx wrt ..imagebase - DD $L$SEH_end_sha256_multi_block_avx wrt ..imagebase - DD $L$SEH_info_sha256_multi_block_avx wrt ..imagebase - DD $L$SEH_begin_sha256_multi_block_avx2 wrt ..imagebase - DD $L$SEH_end_sha256_multi_block_avx2 wrt ..imagebase - DD $L$SEH_info_sha256_multi_block_avx2 wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_sha256_multi_block: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$body wrt ..imagebase,$L$epilogue wrt ..imagebase -$L$SEH_info_sha256_multi_block_shaext: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$body_shaext wrt ..imagebase,$L$epilogue_shaext wrt ..imagebase -$L$SEH_info_sha256_multi_block_avx: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$body_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase -$L$SEH_info_sha256_multi_block_avx2: -DB 9,0,0,0 - DD avx2_handler wrt ..imagebase - DD $L$body_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +EXTERN OPENSSL_ia32cap_P + +global sha256_multi_block + +ALIGN 32 +sha256_multi_block: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha256_multi_block: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + mov rcx,QWORD[((OPENSSL_ia32cap_P+4))] + bt rcx,61 + jc NEAR _shaext_shortcut + test ecx,268435456 + jnz NEAR _avx_shortcut + mov rax,rsp + push rbx + push rbp + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[(-120)+rax],xmm10 + movaps XMMWORD[(-104)+rax],xmm11 + movaps XMMWORD[(-88)+rax],xmm12 + movaps XMMWORD[(-72)+rax],xmm13 + movaps XMMWORD[(-56)+rax],xmm14 + movaps XMMWORD[(-40)+rax],xmm15 + sub rsp,288 + and rsp,-256 + mov QWORD[272+rsp],rax +$L$body: + lea rbp,[((K256+128))] + lea rbx,[256+rsp] + lea rdi,[128+rdi] + +$L$oop_grande: + mov DWORD[280+rsp],edx + xor edx,edx + mov r8,QWORD[rsi] + mov ecx,DWORD[8+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[rbx],ecx + cmovle r8,rbp + mov r9,QWORD[16+rsi] + mov ecx,DWORD[24+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[4+rbx],ecx + cmovle r9,rbp + mov r10,QWORD[32+rsi] + mov ecx,DWORD[40+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[8+rbx],ecx + cmovle r10,rbp + mov r11,QWORD[48+rsi] + mov ecx,DWORD[56+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[12+rbx],ecx + cmovle r11,rbp + test edx,edx + jz NEAR $L$done + + movdqu xmm8,XMMWORD[((0-128))+rdi] + lea rax,[128+rsp] + movdqu xmm9,XMMWORD[((32-128))+rdi] + movdqu xmm10,XMMWORD[((64-128))+rdi] + movdqu xmm11,XMMWORD[((96-128))+rdi] + movdqu xmm12,XMMWORD[((128-128))+rdi] + movdqu xmm13,XMMWORD[((160-128))+rdi] + movdqu xmm14,XMMWORD[((192-128))+rdi] + movdqu xmm15,XMMWORD[((224-128))+rdi] + movdqu xmm6,XMMWORD[$L$pbswap] + jmp NEAR $L$oop + +ALIGN 32 +$L$oop: + movdqa xmm4,xmm10 + pxor xmm4,xmm9 + movd xmm5,DWORD[r8] + movd xmm0,DWORD[r9] + movd xmm1,DWORD[r10] + movd xmm2,DWORD[r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm12 +DB 102,15,56,0,238 + movdqa xmm2,xmm12 + + psrld xmm7,6 + movdqa xmm1,xmm12 + pslld xmm2,7 + movdqa XMMWORD[(0-128)+rax],xmm5 + paddd xmm5,xmm15 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-128))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm12 + + pxor xmm7,xmm2 + movdqa xmm3,xmm12 + pslld xmm2,26-21 + pandn xmm0,xmm14 + pand xmm3,xmm13 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm8 + pxor xmm7,xmm2 + movdqa xmm2,xmm8 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm9 + movdqa xmm7,xmm8 + pslld xmm2,10 + pxor xmm3,xmm8 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm15,xmm9 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm15,xmm4 + paddd xmm11,xmm5 + pxor xmm7,xmm2 + + paddd xmm15,xmm5 + paddd xmm15,xmm7 + movd xmm5,DWORD[4+r8] + movd xmm0,DWORD[4+r9] + movd xmm1,DWORD[4+r10] + movd xmm2,DWORD[4+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm11 + + movdqa xmm2,xmm11 +DB 102,15,56,0,238 + psrld xmm7,6 + movdqa xmm1,xmm11 + pslld xmm2,7 + movdqa XMMWORD[(16-128)+rax],xmm5 + paddd xmm5,xmm14 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-96))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm11 + + pxor xmm7,xmm2 + movdqa xmm4,xmm11 + pslld xmm2,26-21 + pandn xmm0,xmm13 + pand xmm4,xmm12 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm15 + pxor xmm7,xmm2 + movdqa xmm2,xmm15 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm8 + movdqa xmm7,xmm15 + pslld xmm2,10 + pxor xmm4,xmm15 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm14,xmm8 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm14,xmm3 + paddd xmm10,xmm5 + pxor xmm7,xmm2 + + paddd xmm14,xmm5 + paddd xmm14,xmm7 + movd xmm5,DWORD[8+r8] + movd xmm0,DWORD[8+r9] + movd xmm1,DWORD[8+r10] + movd xmm2,DWORD[8+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm10 +DB 102,15,56,0,238 + movdqa xmm2,xmm10 + + psrld xmm7,6 + movdqa xmm1,xmm10 + pslld xmm2,7 + movdqa XMMWORD[(32-128)+rax],xmm5 + paddd xmm5,xmm13 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-64))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm10 + + pxor xmm7,xmm2 + movdqa xmm3,xmm10 + pslld xmm2,26-21 + pandn xmm0,xmm12 + pand xmm3,xmm11 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm14 + pxor xmm7,xmm2 + movdqa xmm2,xmm14 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm15 + movdqa xmm7,xmm14 + pslld xmm2,10 + pxor xmm3,xmm14 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm13,xmm15 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm13,xmm4 + paddd xmm9,xmm5 + pxor xmm7,xmm2 + + paddd xmm13,xmm5 + paddd xmm13,xmm7 + movd xmm5,DWORD[12+r8] + movd xmm0,DWORD[12+r9] + movd xmm1,DWORD[12+r10] + movd xmm2,DWORD[12+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm9 + + movdqa xmm2,xmm9 +DB 102,15,56,0,238 + psrld xmm7,6 + movdqa xmm1,xmm9 + pslld xmm2,7 + movdqa XMMWORD[(48-128)+rax],xmm5 + paddd xmm5,xmm12 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-32))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm9 + + pxor xmm7,xmm2 + movdqa xmm4,xmm9 + pslld xmm2,26-21 + pandn xmm0,xmm11 + pand xmm4,xmm10 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm13 + pxor xmm7,xmm2 + movdqa xmm2,xmm13 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm14 + movdqa xmm7,xmm13 + pslld xmm2,10 + pxor xmm4,xmm13 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm12,xmm14 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm12,xmm3 + paddd xmm8,xmm5 + pxor xmm7,xmm2 + + paddd xmm12,xmm5 + paddd xmm12,xmm7 + movd xmm5,DWORD[16+r8] + movd xmm0,DWORD[16+r9] + movd xmm1,DWORD[16+r10] + movd xmm2,DWORD[16+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm8 +DB 102,15,56,0,238 + movdqa xmm2,xmm8 + + psrld xmm7,6 + movdqa xmm1,xmm8 + pslld xmm2,7 + movdqa XMMWORD[(64-128)+rax],xmm5 + paddd xmm5,xmm11 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm8 + + pxor xmm7,xmm2 + movdqa xmm3,xmm8 + pslld xmm2,26-21 + pandn xmm0,xmm10 + pand xmm3,xmm9 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm12 + pxor xmm7,xmm2 + movdqa xmm2,xmm12 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm13 + movdqa xmm7,xmm12 + pslld xmm2,10 + pxor xmm3,xmm12 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm11,xmm13 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm11,xmm4 + paddd xmm15,xmm5 + pxor xmm7,xmm2 + + paddd xmm11,xmm5 + paddd xmm11,xmm7 + movd xmm5,DWORD[20+r8] + movd xmm0,DWORD[20+r9] + movd xmm1,DWORD[20+r10] + movd xmm2,DWORD[20+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm15 + + movdqa xmm2,xmm15 +DB 102,15,56,0,238 + psrld xmm7,6 + movdqa xmm1,xmm15 + pslld xmm2,7 + movdqa XMMWORD[(80-128)+rax],xmm5 + paddd xmm5,xmm10 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[32+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm15 + + pxor xmm7,xmm2 + movdqa xmm4,xmm15 + pslld xmm2,26-21 + pandn xmm0,xmm9 + pand xmm4,xmm8 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm11 + pxor xmm7,xmm2 + movdqa xmm2,xmm11 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm12 + movdqa xmm7,xmm11 + pslld xmm2,10 + pxor xmm4,xmm11 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm10,xmm12 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm10,xmm3 + paddd xmm14,xmm5 + pxor xmm7,xmm2 + + paddd xmm10,xmm5 + paddd xmm10,xmm7 + movd xmm5,DWORD[24+r8] + movd xmm0,DWORD[24+r9] + movd xmm1,DWORD[24+r10] + movd xmm2,DWORD[24+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm14 +DB 102,15,56,0,238 + movdqa xmm2,xmm14 + + psrld xmm7,6 + movdqa xmm1,xmm14 + pslld xmm2,7 + movdqa XMMWORD[(96-128)+rax],xmm5 + paddd xmm5,xmm9 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[64+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm14 + + pxor xmm7,xmm2 + movdqa xmm3,xmm14 + pslld xmm2,26-21 + pandn xmm0,xmm8 + pand xmm3,xmm15 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm10 + pxor xmm7,xmm2 + movdqa xmm2,xmm10 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm11 + movdqa xmm7,xmm10 + pslld xmm2,10 + pxor xmm3,xmm10 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm9,xmm11 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm9,xmm4 + paddd xmm13,xmm5 + pxor xmm7,xmm2 + + paddd xmm9,xmm5 + paddd xmm9,xmm7 + movd xmm5,DWORD[28+r8] + movd xmm0,DWORD[28+r9] + movd xmm1,DWORD[28+r10] + movd xmm2,DWORD[28+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm13 + + movdqa xmm2,xmm13 +DB 102,15,56,0,238 + psrld xmm7,6 + movdqa xmm1,xmm13 + pslld xmm2,7 + movdqa XMMWORD[(112-128)+rax],xmm5 + paddd xmm5,xmm8 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[96+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm13 + + pxor xmm7,xmm2 + movdqa xmm4,xmm13 + pslld xmm2,26-21 + pandn xmm0,xmm15 + pand xmm4,xmm14 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm9 + pxor xmm7,xmm2 + movdqa xmm2,xmm9 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm10 + movdqa xmm7,xmm9 + pslld xmm2,10 + pxor xmm4,xmm9 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm8,xmm10 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm8,xmm3 + paddd xmm12,xmm5 + pxor xmm7,xmm2 + + paddd xmm8,xmm5 + paddd xmm8,xmm7 + lea rbp,[256+rbp] + movd xmm5,DWORD[32+r8] + movd xmm0,DWORD[32+r9] + movd xmm1,DWORD[32+r10] + movd xmm2,DWORD[32+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm12 +DB 102,15,56,0,238 + movdqa xmm2,xmm12 + + psrld xmm7,6 + movdqa xmm1,xmm12 + pslld xmm2,7 + movdqa XMMWORD[(128-128)+rax],xmm5 + paddd xmm5,xmm15 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-128))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm12 + + pxor xmm7,xmm2 + movdqa xmm3,xmm12 + pslld xmm2,26-21 + pandn xmm0,xmm14 + pand xmm3,xmm13 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm8 + pxor xmm7,xmm2 + movdqa xmm2,xmm8 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm9 + movdqa xmm7,xmm8 + pslld xmm2,10 + pxor xmm3,xmm8 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm15,xmm9 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm15,xmm4 + paddd xmm11,xmm5 + pxor xmm7,xmm2 + + paddd xmm15,xmm5 + paddd xmm15,xmm7 + movd xmm5,DWORD[36+r8] + movd xmm0,DWORD[36+r9] + movd xmm1,DWORD[36+r10] + movd xmm2,DWORD[36+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm11 + + movdqa xmm2,xmm11 +DB 102,15,56,0,238 + psrld xmm7,6 + movdqa xmm1,xmm11 + pslld xmm2,7 + movdqa XMMWORD[(144-128)+rax],xmm5 + paddd xmm5,xmm14 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-96))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm11 + + pxor xmm7,xmm2 + movdqa xmm4,xmm11 + pslld xmm2,26-21 + pandn xmm0,xmm13 + pand xmm4,xmm12 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm15 + pxor xmm7,xmm2 + movdqa xmm2,xmm15 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm8 + movdqa xmm7,xmm15 + pslld xmm2,10 + pxor xmm4,xmm15 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm14,xmm8 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm14,xmm3 + paddd xmm10,xmm5 + pxor xmm7,xmm2 + + paddd xmm14,xmm5 + paddd xmm14,xmm7 + movd xmm5,DWORD[40+r8] + movd xmm0,DWORD[40+r9] + movd xmm1,DWORD[40+r10] + movd xmm2,DWORD[40+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm10 +DB 102,15,56,0,238 + movdqa xmm2,xmm10 + + psrld xmm7,6 + movdqa xmm1,xmm10 + pslld xmm2,7 + movdqa XMMWORD[(160-128)+rax],xmm5 + paddd xmm5,xmm13 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-64))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm10 + + pxor xmm7,xmm2 + movdqa xmm3,xmm10 + pslld xmm2,26-21 + pandn xmm0,xmm12 + pand xmm3,xmm11 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm14 + pxor xmm7,xmm2 + movdqa xmm2,xmm14 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm15 + movdqa xmm7,xmm14 + pslld xmm2,10 + pxor xmm3,xmm14 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm13,xmm15 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm13,xmm4 + paddd xmm9,xmm5 + pxor xmm7,xmm2 + + paddd xmm13,xmm5 + paddd xmm13,xmm7 + movd xmm5,DWORD[44+r8] + movd xmm0,DWORD[44+r9] + movd xmm1,DWORD[44+r10] + movd xmm2,DWORD[44+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm9 + + movdqa xmm2,xmm9 +DB 102,15,56,0,238 + psrld xmm7,6 + movdqa xmm1,xmm9 + pslld xmm2,7 + movdqa XMMWORD[(176-128)+rax],xmm5 + paddd xmm5,xmm12 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-32))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm9 + + pxor xmm7,xmm2 + movdqa xmm4,xmm9 + pslld xmm2,26-21 + pandn xmm0,xmm11 + pand xmm4,xmm10 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm13 + pxor xmm7,xmm2 + movdqa xmm2,xmm13 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm14 + movdqa xmm7,xmm13 + pslld xmm2,10 + pxor xmm4,xmm13 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm12,xmm14 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm12,xmm3 + paddd xmm8,xmm5 + pxor xmm7,xmm2 + + paddd xmm12,xmm5 + paddd xmm12,xmm7 + movd xmm5,DWORD[48+r8] + movd xmm0,DWORD[48+r9] + movd xmm1,DWORD[48+r10] + movd xmm2,DWORD[48+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm8 +DB 102,15,56,0,238 + movdqa xmm2,xmm8 + + psrld xmm7,6 + movdqa xmm1,xmm8 + pslld xmm2,7 + movdqa XMMWORD[(192-128)+rax],xmm5 + paddd xmm5,xmm11 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm8 + + pxor xmm7,xmm2 + movdqa xmm3,xmm8 + pslld xmm2,26-21 + pandn xmm0,xmm10 + pand xmm3,xmm9 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm12 + pxor xmm7,xmm2 + movdqa xmm2,xmm12 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm13 + movdqa xmm7,xmm12 + pslld xmm2,10 + pxor xmm3,xmm12 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm11,xmm13 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm11,xmm4 + paddd xmm15,xmm5 + pxor xmm7,xmm2 + + paddd xmm11,xmm5 + paddd xmm11,xmm7 + movd xmm5,DWORD[52+r8] + movd xmm0,DWORD[52+r9] + movd xmm1,DWORD[52+r10] + movd xmm2,DWORD[52+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm15 + + movdqa xmm2,xmm15 +DB 102,15,56,0,238 + psrld xmm7,6 + movdqa xmm1,xmm15 + pslld xmm2,7 + movdqa XMMWORD[(208-128)+rax],xmm5 + paddd xmm5,xmm10 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[32+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm15 + + pxor xmm7,xmm2 + movdqa xmm4,xmm15 + pslld xmm2,26-21 + pandn xmm0,xmm9 + pand xmm4,xmm8 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm11 + pxor xmm7,xmm2 + movdqa xmm2,xmm11 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm12 + movdqa xmm7,xmm11 + pslld xmm2,10 + pxor xmm4,xmm11 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm10,xmm12 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm10,xmm3 + paddd xmm14,xmm5 + pxor xmm7,xmm2 + + paddd xmm10,xmm5 + paddd xmm10,xmm7 + movd xmm5,DWORD[56+r8] + movd xmm0,DWORD[56+r9] + movd xmm1,DWORD[56+r10] + movd xmm2,DWORD[56+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm14 +DB 102,15,56,0,238 + movdqa xmm2,xmm14 + + psrld xmm7,6 + movdqa xmm1,xmm14 + pslld xmm2,7 + movdqa XMMWORD[(224-128)+rax],xmm5 + paddd xmm5,xmm9 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[64+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm14 + + pxor xmm7,xmm2 + movdqa xmm3,xmm14 + pslld xmm2,26-21 + pandn xmm0,xmm8 + pand xmm3,xmm15 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm10 + pxor xmm7,xmm2 + movdqa xmm2,xmm10 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm11 + movdqa xmm7,xmm10 + pslld xmm2,10 + pxor xmm3,xmm10 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm9,xmm11 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm9,xmm4 + paddd xmm13,xmm5 + pxor xmm7,xmm2 + + paddd xmm9,xmm5 + paddd xmm9,xmm7 + movd xmm5,DWORD[60+r8] + lea r8,[64+r8] + movd xmm0,DWORD[60+r9] + lea r9,[64+r9] + movd xmm1,DWORD[60+r10] + lea r10,[64+r10] + movd xmm2,DWORD[60+r11] + lea r11,[64+r11] + punpckldq xmm5,xmm1 + punpckldq xmm0,xmm2 + punpckldq xmm5,xmm0 + movdqa xmm7,xmm13 + + movdqa xmm2,xmm13 +DB 102,15,56,0,238 + psrld xmm7,6 + movdqa xmm1,xmm13 + pslld xmm2,7 + movdqa XMMWORD[(240-128)+rax],xmm5 + paddd xmm5,xmm8 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[96+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm13 + prefetcht0 [63+r8] + pxor xmm7,xmm2 + movdqa xmm4,xmm13 + pslld xmm2,26-21 + pandn xmm0,xmm15 + pand xmm4,xmm14 + pxor xmm7,xmm1 + + prefetcht0 [63+r9] + movdqa xmm1,xmm9 + pxor xmm7,xmm2 + movdqa xmm2,xmm9 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm10 + movdqa xmm7,xmm9 + pslld xmm2,10 + pxor xmm4,xmm9 + + prefetcht0 [63+r10] + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + prefetcht0 [63+r11] + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm8,xmm10 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm8,xmm3 + paddd xmm12,xmm5 + pxor xmm7,xmm2 + + paddd xmm8,xmm5 + paddd xmm8,xmm7 + lea rbp,[256+rbp] + movdqu xmm5,XMMWORD[((0-128))+rax] + mov ecx,3 + jmp NEAR $L$oop_16_xx +ALIGN 32 +$L$oop_16_xx: + movdqa xmm6,XMMWORD[((16-128))+rax] + paddd xmm5,XMMWORD[((144-128))+rax] + + movdqa xmm7,xmm6 + movdqa xmm1,xmm6 + psrld xmm7,3 + movdqa xmm2,xmm6 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((224-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm3,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm3 + + psrld xmm3,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + psrld xmm3,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm3 + pxor xmm0,xmm1 + paddd xmm5,xmm0 + movdqa xmm7,xmm12 + + movdqa xmm2,xmm12 + + psrld xmm7,6 + movdqa xmm1,xmm12 + pslld xmm2,7 + movdqa XMMWORD[(0-128)+rax],xmm5 + paddd xmm5,xmm15 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-128))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm12 + + pxor xmm7,xmm2 + movdqa xmm3,xmm12 + pslld xmm2,26-21 + pandn xmm0,xmm14 + pand xmm3,xmm13 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm8 + pxor xmm7,xmm2 + movdqa xmm2,xmm8 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm9 + movdqa xmm7,xmm8 + pslld xmm2,10 + pxor xmm3,xmm8 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm15,xmm9 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm15,xmm4 + paddd xmm11,xmm5 + pxor xmm7,xmm2 + + paddd xmm15,xmm5 + paddd xmm15,xmm7 + movdqa xmm5,XMMWORD[((32-128))+rax] + paddd xmm6,XMMWORD[((160-128))+rax] + + movdqa xmm7,xmm5 + movdqa xmm1,xmm5 + psrld xmm7,3 + movdqa xmm2,xmm5 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((240-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm4,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm4 + + psrld xmm4,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + psrld xmm4,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm4 + pxor xmm0,xmm1 + paddd xmm6,xmm0 + movdqa xmm7,xmm11 + + movdqa xmm2,xmm11 + + psrld xmm7,6 + movdqa xmm1,xmm11 + pslld xmm2,7 + movdqa XMMWORD[(16-128)+rax],xmm6 + paddd xmm6,xmm14 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm6,XMMWORD[((-96))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm11 + + pxor xmm7,xmm2 + movdqa xmm4,xmm11 + pslld xmm2,26-21 + pandn xmm0,xmm13 + pand xmm4,xmm12 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm15 + pxor xmm7,xmm2 + movdqa xmm2,xmm15 + psrld xmm1,2 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm8 + movdqa xmm7,xmm15 + pslld xmm2,10 + pxor xmm4,xmm15 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm6,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm14,xmm8 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm14,xmm3 + paddd xmm10,xmm6 + pxor xmm7,xmm2 + + paddd xmm14,xmm6 + paddd xmm14,xmm7 + movdqa xmm6,XMMWORD[((48-128))+rax] + paddd xmm5,XMMWORD[((176-128))+rax] + + movdqa xmm7,xmm6 + movdqa xmm1,xmm6 + psrld xmm7,3 + movdqa xmm2,xmm6 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((0-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm3,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm3 + + psrld xmm3,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + psrld xmm3,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm3 + pxor xmm0,xmm1 + paddd xmm5,xmm0 + movdqa xmm7,xmm10 + + movdqa xmm2,xmm10 + + psrld xmm7,6 + movdqa xmm1,xmm10 + pslld xmm2,7 + movdqa XMMWORD[(32-128)+rax],xmm5 + paddd xmm5,xmm13 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-64))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm10 + + pxor xmm7,xmm2 + movdqa xmm3,xmm10 + pslld xmm2,26-21 + pandn xmm0,xmm12 + pand xmm3,xmm11 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm14 + pxor xmm7,xmm2 + movdqa xmm2,xmm14 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm15 + movdqa xmm7,xmm14 + pslld xmm2,10 + pxor xmm3,xmm14 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm13,xmm15 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm13,xmm4 + paddd xmm9,xmm5 + pxor xmm7,xmm2 + + paddd xmm13,xmm5 + paddd xmm13,xmm7 + movdqa xmm5,XMMWORD[((64-128))+rax] + paddd xmm6,XMMWORD[((192-128))+rax] + + movdqa xmm7,xmm5 + movdqa xmm1,xmm5 + psrld xmm7,3 + movdqa xmm2,xmm5 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((16-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm4,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm4 + + psrld xmm4,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + psrld xmm4,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm4 + pxor xmm0,xmm1 + paddd xmm6,xmm0 + movdqa xmm7,xmm9 + + movdqa xmm2,xmm9 + + psrld xmm7,6 + movdqa xmm1,xmm9 + pslld xmm2,7 + movdqa XMMWORD[(48-128)+rax],xmm6 + paddd xmm6,xmm12 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm6,XMMWORD[((-32))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm9 + + pxor xmm7,xmm2 + movdqa xmm4,xmm9 + pslld xmm2,26-21 + pandn xmm0,xmm11 + pand xmm4,xmm10 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm13 + pxor xmm7,xmm2 + movdqa xmm2,xmm13 + psrld xmm1,2 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm14 + movdqa xmm7,xmm13 + pslld xmm2,10 + pxor xmm4,xmm13 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm6,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm12,xmm14 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm12,xmm3 + paddd xmm8,xmm6 + pxor xmm7,xmm2 + + paddd xmm12,xmm6 + paddd xmm12,xmm7 + movdqa xmm6,XMMWORD[((80-128))+rax] + paddd xmm5,XMMWORD[((208-128))+rax] + + movdqa xmm7,xmm6 + movdqa xmm1,xmm6 + psrld xmm7,3 + movdqa xmm2,xmm6 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((32-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm3,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm3 + + psrld xmm3,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + psrld xmm3,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm3 + pxor xmm0,xmm1 + paddd xmm5,xmm0 + movdqa xmm7,xmm8 + + movdqa xmm2,xmm8 + + psrld xmm7,6 + movdqa xmm1,xmm8 + pslld xmm2,7 + movdqa XMMWORD[(64-128)+rax],xmm5 + paddd xmm5,xmm11 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm8 + + pxor xmm7,xmm2 + movdqa xmm3,xmm8 + pslld xmm2,26-21 + pandn xmm0,xmm10 + pand xmm3,xmm9 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm12 + pxor xmm7,xmm2 + movdqa xmm2,xmm12 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm13 + movdqa xmm7,xmm12 + pslld xmm2,10 + pxor xmm3,xmm12 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm11,xmm13 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm11,xmm4 + paddd xmm15,xmm5 + pxor xmm7,xmm2 + + paddd xmm11,xmm5 + paddd xmm11,xmm7 + movdqa xmm5,XMMWORD[((96-128))+rax] + paddd xmm6,XMMWORD[((224-128))+rax] + + movdqa xmm7,xmm5 + movdqa xmm1,xmm5 + psrld xmm7,3 + movdqa xmm2,xmm5 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((48-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm4,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm4 + + psrld xmm4,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + psrld xmm4,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm4 + pxor xmm0,xmm1 + paddd xmm6,xmm0 + movdqa xmm7,xmm15 + + movdqa xmm2,xmm15 + + psrld xmm7,6 + movdqa xmm1,xmm15 + pslld xmm2,7 + movdqa XMMWORD[(80-128)+rax],xmm6 + paddd xmm6,xmm10 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm6,XMMWORD[32+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm15 + + pxor xmm7,xmm2 + movdqa xmm4,xmm15 + pslld xmm2,26-21 + pandn xmm0,xmm9 + pand xmm4,xmm8 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm11 + pxor xmm7,xmm2 + movdqa xmm2,xmm11 + psrld xmm1,2 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm12 + movdqa xmm7,xmm11 + pslld xmm2,10 + pxor xmm4,xmm11 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm6,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm10,xmm12 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm10,xmm3 + paddd xmm14,xmm6 + pxor xmm7,xmm2 + + paddd xmm10,xmm6 + paddd xmm10,xmm7 + movdqa xmm6,XMMWORD[((112-128))+rax] + paddd xmm5,XMMWORD[((240-128))+rax] + + movdqa xmm7,xmm6 + movdqa xmm1,xmm6 + psrld xmm7,3 + movdqa xmm2,xmm6 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((64-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm3,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm3 + + psrld xmm3,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + psrld xmm3,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm3 + pxor xmm0,xmm1 + paddd xmm5,xmm0 + movdqa xmm7,xmm14 + + movdqa xmm2,xmm14 + + psrld xmm7,6 + movdqa xmm1,xmm14 + pslld xmm2,7 + movdqa XMMWORD[(96-128)+rax],xmm5 + paddd xmm5,xmm9 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[64+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm14 + + pxor xmm7,xmm2 + movdqa xmm3,xmm14 + pslld xmm2,26-21 + pandn xmm0,xmm8 + pand xmm3,xmm15 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm10 + pxor xmm7,xmm2 + movdqa xmm2,xmm10 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm11 + movdqa xmm7,xmm10 + pslld xmm2,10 + pxor xmm3,xmm10 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm9,xmm11 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm9,xmm4 + paddd xmm13,xmm5 + pxor xmm7,xmm2 + + paddd xmm9,xmm5 + paddd xmm9,xmm7 + movdqa xmm5,XMMWORD[((128-128))+rax] + paddd xmm6,XMMWORD[((0-128))+rax] + + movdqa xmm7,xmm5 + movdqa xmm1,xmm5 + psrld xmm7,3 + movdqa xmm2,xmm5 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((80-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm4,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm4 + + psrld xmm4,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + psrld xmm4,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm4 + pxor xmm0,xmm1 + paddd xmm6,xmm0 + movdqa xmm7,xmm13 + + movdqa xmm2,xmm13 + + psrld xmm7,6 + movdqa xmm1,xmm13 + pslld xmm2,7 + movdqa XMMWORD[(112-128)+rax],xmm6 + paddd xmm6,xmm8 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm6,XMMWORD[96+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm13 + + pxor xmm7,xmm2 + movdqa xmm4,xmm13 + pslld xmm2,26-21 + pandn xmm0,xmm15 + pand xmm4,xmm14 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm9 + pxor xmm7,xmm2 + movdqa xmm2,xmm9 + psrld xmm1,2 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm10 + movdqa xmm7,xmm9 + pslld xmm2,10 + pxor xmm4,xmm9 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm6,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm8,xmm10 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm8,xmm3 + paddd xmm12,xmm6 + pxor xmm7,xmm2 + + paddd xmm8,xmm6 + paddd xmm8,xmm7 + lea rbp,[256+rbp] + movdqa xmm6,XMMWORD[((144-128))+rax] + paddd xmm5,XMMWORD[((16-128))+rax] + + movdqa xmm7,xmm6 + movdqa xmm1,xmm6 + psrld xmm7,3 + movdqa xmm2,xmm6 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((96-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm3,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm3 + + psrld xmm3,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + psrld xmm3,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm3 + pxor xmm0,xmm1 + paddd xmm5,xmm0 + movdqa xmm7,xmm12 + + movdqa xmm2,xmm12 + + psrld xmm7,6 + movdqa xmm1,xmm12 + pslld xmm2,7 + movdqa XMMWORD[(128-128)+rax],xmm5 + paddd xmm5,xmm15 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-128))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm12 + + pxor xmm7,xmm2 + movdqa xmm3,xmm12 + pslld xmm2,26-21 + pandn xmm0,xmm14 + pand xmm3,xmm13 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm8 + pxor xmm7,xmm2 + movdqa xmm2,xmm8 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm9 + movdqa xmm7,xmm8 + pslld xmm2,10 + pxor xmm3,xmm8 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm15,xmm9 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm15,xmm4 + paddd xmm11,xmm5 + pxor xmm7,xmm2 + + paddd xmm15,xmm5 + paddd xmm15,xmm7 + movdqa xmm5,XMMWORD[((160-128))+rax] + paddd xmm6,XMMWORD[((32-128))+rax] + + movdqa xmm7,xmm5 + movdqa xmm1,xmm5 + psrld xmm7,3 + movdqa xmm2,xmm5 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((112-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm4,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm4 + + psrld xmm4,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + psrld xmm4,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm4 + pxor xmm0,xmm1 + paddd xmm6,xmm0 + movdqa xmm7,xmm11 + + movdqa xmm2,xmm11 + + psrld xmm7,6 + movdqa xmm1,xmm11 + pslld xmm2,7 + movdqa XMMWORD[(144-128)+rax],xmm6 + paddd xmm6,xmm14 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm6,XMMWORD[((-96))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm11 + + pxor xmm7,xmm2 + movdqa xmm4,xmm11 + pslld xmm2,26-21 + pandn xmm0,xmm13 + pand xmm4,xmm12 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm15 + pxor xmm7,xmm2 + movdqa xmm2,xmm15 + psrld xmm1,2 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm8 + movdqa xmm7,xmm15 + pslld xmm2,10 + pxor xmm4,xmm15 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm6,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm14,xmm8 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm14,xmm3 + paddd xmm10,xmm6 + pxor xmm7,xmm2 + + paddd xmm14,xmm6 + paddd xmm14,xmm7 + movdqa xmm6,XMMWORD[((176-128))+rax] + paddd xmm5,XMMWORD[((48-128))+rax] + + movdqa xmm7,xmm6 + movdqa xmm1,xmm6 + psrld xmm7,3 + movdqa xmm2,xmm6 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((128-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm3,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm3 + + psrld xmm3,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + psrld xmm3,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm3 + pxor xmm0,xmm1 + paddd xmm5,xmm0 + movdqa xmm7,xmm10 + + movdqa xmm2,xmm10 + + psrld xmm7,6 + movdqa xmm1,xmm10 + pslld xmm2,7 + movdqa XMMWORD[(160-128)+rax],xmm5 + paddd xmm5,xmm13 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[((-64))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm10 + + pxor xmm7,xmm2 + movdqa xmm3,xmm10 + pslld xmm2,26-21 + pandn xmm0,xmm12 + pand xmm3,xmm11 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm14 + pxor xmm7,xmm2 + movdqa xmm2,xmm14 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm15 + movdqa xmm7,xmm14 + pslld xmm2,10 + pxor xmm3,xmm14 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm13,xmm15 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm13,xmm4 + paddd xmm9,xmm5 + pxor xmm7,xmm2 + + paddd xmm13,xmm5 + paddd xmm13,xmm7 + movdqa xmm5,XMMWORD[((192-128))+rax] + paddd xmm6,XMMWORD[((64-128))+rax] + + movdqa xmm7,xmm5 + movdqa xmm1,xmm5 + psrld xmm7,3 + movdqa xmm2,xmm5 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((144-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm4,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm4 + + psrld xmm4,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + psrld xmm4,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm4 + pxor xmm0,xmm1 + paddd xmm6,xmm0 + movdqa xmm7,xmm9 + + movdqa xmm2,xmm9 + + psrld xmm7,6 + movdqa xmm1,xmm9 + pslld xmm2,7 + movdqa XMMWORD[(176-128)+rax],xmm6 + paddd xmm6,xmm12 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm6,XMMWORD[((-32))+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm9 + + pxor xmm7,xmm2 + movdqa xmm4,xmm9 + pslld xmm2,26-21 + pandn xmm0,xmm11 + pand xmm4,xmm10 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm13 + pxor xmm7,xmm2 + movdqa xmm2,xmm13 + psrld xmm1,2 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm14 + movdqa xmm7,xmm13 + pslld xmm2,10 + pxor xmm4,xmm13 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm6,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm12,xmm14 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm12,xmm3 + paddd xmm8,xmm6 + pxor xmm7,xmm2 + + paddd xmm12,xmm6 + paddd xmm12,xmm7 + movdqa xmm6,XMMWORD[((208-128))+rax] + paddd xmm5,XMMWORD[((80-128))+rax] + + movdqa xmm7,xmm6 + movdqa xmm1,xmm6 + psrld xmm7,3 + movdqa xmm2,xmm6 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((160-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm3,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm3 + + psrld xmm3,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + psrld xmm3,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm3 + pxor xmm0,xmm1 + paddd xmm5,xmm0 + movdqa xmm7,xmm8 + + movdqa xmm2,xmm8 + + psrld xmm7,6 + movdqa xmm1,xmm8 + pslld xmm2,7 + movdqa XMMWORD[(192-128)+rax],xmm5 + paddd xmm5,xmm11 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm8 + + pxor xmm7,xmm2 + movdqa xmm3,xmm8 + pslld xmm2,26-21 + pandn xmm0,xmm10 + pand xmm3,xmm9 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm12 + pxor xmm7,xmm2 + movdqa xmm2,xmm12 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm13 + movdqa xmm7,xmm12 + pslld xmm2,10 + pxor xmm3,xmm12 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm11,xmm13 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm11,xmm4 + paddd xmm15,xmm5 + pxor xmm7,xmm2 + + paddd xmm11,xmm5 + paddd xmm11,xmm7 + movdqa xmm5,XMMWORD[((224-128))+rax] + paddd xmm6,XMMWORD[((96-128))+rax] + + movdqa xmm7,xmm5 + movdqa xmm1,xmm5 + psrld xmm7,3 + movdqa xmm2,xmm5 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((176-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm4,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm4 + + psrld xmm4,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + psrld xmm4,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm4 + pxor xmm0,xmm1 + paddd xmm6,xmm0 + movdqa xmm7,xmm15 + + movdqa xmm2,xmm15 + + psrld xmm7,6 + movdqa xmm1,xmm15 + pslld xmm2,7 + movdqa XMMWORD[(208-128)+rax],xmm6 + paddd xmm6,xmm10 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm6,XMMWORD[32+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm15 + + pxor xmm7,xmm2 + movdqa xmm4,xmm15 + pslld xmm2,26-21 + pandn xmm0,xmm9 + pand xmm4,xmm8 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm11 + pxor xmm7,xmm2 + movdqa xmm2,xmm11 + psrld xmm1,2 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm12 + movdqa xmm7,xmm11 + pslld xmm2,10 + pxor xmm4,xmm11 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm6,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm10,xmm12 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm10,xmm3 + paddd xmm14,xmm6 + pxor xmm7,xmm2 + + paddd xmm10,xmm6 + paddd xmm10,xmm7 + movdqa xmm6,XMMWORD[((240-128))+rax] + paddd xmm5,XMMWORD[((112-128))+rax] + + movdqa xmm7,xmm6 + movdqa xmm1,xmm6 + psrld xmm7,3 + movdqa xmm2,xmm6 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((192-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm3,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm3 + + psrld xmm3,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + psrld xmm3,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm3 + pxor xmm0,xmm1 + paddd xmm5,xmm0 + movdqa xmm7,xmm14 + + movdqa xmm2,xmm14 + + psrld xmm7,6 + movdqa xmm1,xmm14 + pslld xmm2,7 + movdqa XMMWORD[(224-128)+rax],xmm5 + paddd xmm5,xmm9 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm5,XMMWORD[64+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm14 + + pxor xmm7,xmm2 + movdqa xmm3,xmm14 + pslld xmm2,26-21 + pandn xmm0,xmm8 + pand xmm3,xmm15 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm10 + pxor xmm7,xmm2 + movdqa xmm2,xmm10 + psrld xmm1,2 + paddd xmm5,xmm7 + pxor xmm0,xmm3 + movdqa xmm3,xmm11 + movdqa xmm7,xmm10 + pslld xmm2,10 + pxor xmm3,xmm10 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm5,xmm0 + pslld xmm2,19-10 + pand xmm4,xmm3 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm9,xmm11 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm9,xmm4 + paddd xmm13,xmm5 + pxor xmm7,xmm2 + + paddd xmm9,xmm5 + paddd xmm9,xmm7 + movdqa xmm5,XMMWORD[((0-128))+rax] + paddd xmm6,XMMWORD[((128-128))+rax] + + movdqa xmm7,xmm5 + movdqa xmm1,xmm5 + psrld xmm7,3 + movdqa xmm2,xmm5 + + psrld xmm1,7 + movdqa xmm0,XMMWORD[((208-128))+rax] + pslld xmm2,14 + pxor xmm7,xmm1 + psrld xmm1,18-7 + movdqa xmm4,xmm0 + pxor xmm7,xmm2 + pslld xmm2,25-14 + pxor xmm7,xmm1 + psrld xmm0,10 + movdqa xmm1,xmm4 + + psrld xmm4,17 + pxor xmm7,xmm2 + pslld xmm1,13 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + psrld xmm4,19-17 + pxor xmm0,xmm1 + pslld xmm1,15-13 + pxor xmm0,xmm4 + pxor xmm0,xmm1 + paddd xmm6,xmm0 + movdqa xmm7,xmm13 + + movdqa xmm2,xmm13 + + psrld xmm7,6 + movdqa xmm1,xmm13 + pslld xmm2,7 + movdqa XMMWORD[(240-128)+rax],xmm6 + paddd xmm6,xmm8 + + psrld xmm1,11 + pxor xmm7,xmm2 + pslld xmm2,21-7 + paddd xmm6,XMMWORD[96+rbp] + pxor xmm7,xmm1 + + psrld xmm1,25-11 + movdqa xmm0,xmm13 + + pxor xmm7,xmm2 + movdqa xmm4,xmm13 + pslld xmm2,26-21 + pandn xmm0,xmm15 + pand xmm4,xmm14 + pxor xmm7,xmm1 + + + movdqa xmm1,xmm9 + pxor xmm7,xmm2 + movdqa xmm2,xmm9 + psrld xmm1,2 + paddd xmm6,xmm7 + pxor xmm0,xmm4 + movdqa xmm4,xmm10 + movdqa xmm7,xmm9 + pslld xmm2,10 + pxor xmm4,xmm9 + + + psrld xmm7,13 + pxor xmm1,xmm2 + paddd xmm6,xmm0 + pslld xmm2,19-10 + pand xmm3,xmm4 + pxor xmm1,xmm7 + + + psrld xmm7,22-13 + pxor xmm1,xmm2 + movdqa xmm8,xmm10 + pslld xmm2,30-19 + pxor xmm7,xmm1 + pxor xmm8,xmm3 + paddd xmm12,xmm6 + pxor xmm7,xmm2 + + paddd xmm8,xmm6 + paddd xmm8,xmm7 + lea rbp,[256+rbp] + dec ecx + jnz NEAR $L$oop_16_xx + + mov ecx,1 + lea rbp,[((K256+128))] + + movdqa xmm7,XMMWORD[rbx] + cmp ecx,DWORD[rbx] + pxor xmm0,xmm0 + cmovge r8,rbp + cmp ecx,DWORD[4+rbx] + movdqa xmm6,xmm7 + cmovge r9,rbp + cmp ecx,DWORD[8+rbx] + pcmpgtd xmm6,xmm0 + cmovge r10,rbp + cmp ecx,DWORD[12+rbx] + paddd xmm7,xmm6 + cmovge r11,rbp + + movdqu xmm0,XMMWORD[((0-128))+rdi] + pand xmm8,xmm6 + movdqu xmm1,XMMWORD[((32-128))+rdi] + pand xmm9,xmm6 + movdqu xmm2,XMMWORD[((64-128))+rdi] + pand xmm10,xmm6 + movdqu xmm5,XMMWORD[((96-128))+rdi] + pand xmm11,xmm6 + paddd xmm8,xmm0 + movdqu xmm0,XMMWORD[((128-128))+rdi] + pand xmm12,xmm6 + paddd xmm9,xmm1 + movdqu xmm1,XMMWORD[((160-128))+rdi] + pand xmm13,xmm6 + paddd xmm10,xmm2 + movdqu xmm2,XMMWORD[((192-128))+rdi] + pand xmm14,xmm6 + paddd xmm11,xmm5 + movdqu xmm5,XMMWORD[((224-128))+rdi] + pand xmm15,xmm6 + paddd xmm12,xmm0 + paddd xmm13,xmm1 + movdqu XMMWORD[(0-128)+rdi],xmm8 + paddd xmm14,xmm2 + movdqu XMMWORD[(32-128)+rdi],xmm9 + paddd xmm15,xmm5 + movdqu XMMWORD[(64-128)+rdi],xmm10 + movdqu XMMWORD[(96-128)+rdi],xmm11 + movdqu XMMWORD[(128-128)+rdi],xmm12 + movdqu XMMWORD[(160-128)+rdi],xmm13 + movdqu XMMWORD[(192-128)+rdi],xmm14 + movdqu XMMWORD[(224-128)+rdi],xmm15 + + movdqa XMMWORD[rbx],xmm7 + movdqa xmm6,XMMWORD[$L$pbswap] + dec edx + jnz NEAR $L$oop + + mov edx,DWORD[280+rsp] + lea rdi,[16+rdi] + lea rsi,[64+rsi] + dec edx + jnz NEAR $L$oop_grande + +$L$done: + mov rax,QWORD[272+rsp] + movaps xmm6,XMMWORD[((-184))+rax] + movaps xmm7,XMMWORD[((-168))+rax] + movaps xmm8,XMMWORD[((-152))+rax] + movaps xmm9,XMMWORD[((-136))+rax] + movaps xmm10,XMMWORD[((-120))+rax] + movaps xmm11,XMMWORD[((-104))+rax] + movaps xmm12,XMMWORD[((-88))+rax] + movaps xmm13,XMMWORD[((-72))+rax] + movaps xmm14,XMMWORD[((-56))+rax] + movaps xmm15,XMMWORD[((-40))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha256_multi_block: + +ALIGN 32 +sha256_multi_block_shaext: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha256_multi_block_shaext: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_shaext_shortcut: + mov rax,rsp + push rbx + push rbp + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[(-120)+rax],xmm10 + movaps XMMWORD[(-104)+rax],xmm11 + movaps XMMWORD[(-88)+rax],xmm12 + movaps XMMWORD[(-72)+rax],xmm13 + movaps XMMWORD[(-56)+rax],xmm14 + movaps XMMWORD[(-40)+rax],xmm15 + sub rsp,288 + shl edx,1 + and rsp,-256 + lea rdi,[128+rdi] + mov QWORD[272+rsp],rax +$L$body_shaext: + lea rbx,[256+rsp] + lea rbp,[((K256_shaext+128))] + +$L$oop_grande_shaext: + mov DWORD[280+rsp],edx + xor edx,edx + mov r8,QWORD[rsi] + mov ecx,DWORD[8+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[rbx],ecx + cmovle r8,rsp + mov r9,QWORD[16+rsi] + mov ecx,DWORD[24+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[4+rbx],ecx + cmovle r9,rsp + test edx,edx + jz NEAR $L$done_shaext + + movq xmm12,QWORD[((0-128))+rdi] + movq xmm4,QWORD[((32-128))+rdi] + movq xmm13,QWORD[((64-128))+rdi] + movq xmm5,QWORD[((96-128))+rdi] + movq xmm8,QWORD[((128-128))+rdi] + movq xmm9,QWORD[((160-128))+rdi] + movq xmm10,QWORD[((192-128))+rdi] + movq xmm11,QWORD[((224-128))+rdi] + + punpckldq xmm12,xmm4 + punpckldq xmm13,xmm5 + punpckldq xmm8,xmm9 + punpckldq xmm10,xmm11 + movdqa xmm3,XMMWORD[((K256_shaext-16))] + + movdqa xmm14,xmm12 + movdqa xmm15,xmm13 + punpcklqdq xmm12,xmm8 + punpcklqdq xmm13,xmm10 + punpckhqdq xmm14,xmm8 + punpckhqdq xmm15,xmm10 + + pshufd xmm12,xmm12,27 + pshufd xmm13,xmm13,27 + pshufd xmm14,xmm14,27 + pshufd xmm15,xmm15,27 + jmp NEAR $L$oop_shaext + +ALIGN 32 +$L$oop_shaext: + movdqu xmm4,XMMWORD[r8] + movdqu xmm8,XMMWORD[r9] + movdqu xmm5,XMMWORD[16+r8] + movdqu xmm9,XMMWORD[16+r9] + movdqu xmm6,XMMWORD[32+r8] +DB 102,15,56,0,227 + movdqu xmm10,XMMWORD[32+r9] +DB 102,68,15,56,0,195 + movdqu xmm7,XMMWORD[48+r8] + lea r8,[64+r8] + movdqu xmm11,XMMWORD[48+r9] + lea r9,[64+r9] + + movdqa xmm0,XMMWORD[((0-128))+rbp] +DB 102,15,56,0,235 + paddd xmm0,xmm4 + pxor xmm4,xmm12 + movdqa xmm1,xmm0 + movdqa xmm2,XMMWORD[((0-128))+rbp] +DB 102,68,15,56,0,203 + paddd xmm2,xmm8 + movdqa XMMWORD[80+rsp],xmm13 +DB 69,15,56,203,236 + pxor xmm8,xmm14 + movdqa xmm0,xmm2 + movdqa XMMWORD[112+rsp],xmm15 +DB 69,15,56,203,254 + pshufd xmm0,xmm1,0x0e + pxor xmm4,xmm12 + movdqa XMMWORD[64+rsp],xmm12 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + pxor xmm8,xmm14 + movdqa XMMWORD[96+rsp],xmm14 + movdqa xmm1,XMMWORD[((16-128))+rbp] + paddd xmm1,xmm5 +DB 102,15,56,0,243 +DB 69,15,56,203,247 + + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((16-128))+rbp] + paddd xmm2,xmm9 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + prefetcht0 [127+r8] +DB 102,15,56,0,251 +DB 102,68,15,56,0,211 + prefetcht0 [127+r9] +DB 69,15,56,203,254 + pshufd xmm0,xmm1,0x0e +DB 102,68,15,56,0,219 +DB 15,56,204,229 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((32-128))+rbp] + paddd xmm1,xmm6 +DB 69,15,56,203,247 + + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((32-128))+rbp] + paddd xmm2,xmm10 +DB 69,15,56,203,236 +DB 69,15,56,204,193 + movdqa xmm0,xmm2 + movdqa xmm3,xmm7 +DB 69,15,56,203,254 + pshufd xmm0,xmm1,0x0e +DB 102,15,58,15,222,4 + paddd xmm4,xmm3 + movdqa xmm3,xmm11 +DB 102,65,15,58,15,218,4 +DB 15,56,204,238 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((48-128))+rbp] + paddd xmm1,xmm7 +DB 69,15,56,203,247 +DB 69,15,56,204,202 + + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((48-128))+rbp] + paddd xmm8,xmm3 + paddd xmm2,xmm11 +DB 15,56,205,231 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + movdqa xmm3,xmm4 +DB 102,15,58,15,223,4 +DB 69,15,56,203,254 +DB 69,15,56,205,195 + pshufd xmm0,xmm1,0x0e + paddd xmm5,xmm3 + movdqa xmm3,xmm8 +DB 102,65,15,58,15,219,4 +DB 15,56,204,247 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((64-128))+rbp] + paddd xmm1,xmm4 +DB 69,15,56,203,247 +DB 69,15,56,204,211 + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((64-128))+rbp] + paddd xmm9,xmm3 + paddd xmm2,xmm8 +DB 15,56,205,236 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + movdqa xmm3,xmm5 +DB 102,15,58,15,220,4 +DB 69,15,56,203,254 +DB 69,15,56,205,200 + pshufd xmm0,xmm1,0x0e + paddd xmm6,xmm3 + movdqa xmm3,xmm9 +DB 102,65,15,58,15,216,4 +DB 15,56,204,252 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((80-128))+rbp] + paddd xmm1,xmm5 +DB 69,15,56,203,247 +DB 69,15,56,204,216 + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((80-128))+rbp] + paddd xmm10,xmm3 + paddd xmm2,xmm9 +DB 15,56,205,245 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + movdqa xmm3,xmm6 +DB 102,15,58,15,221,4 +DB 69,15,56,203,254 +DB 69,15,56,205,209 + pshufd xmm0,xmm1,0x0e + paddd xmm7,xmm3 + movdqa xmm3,xmm10 +DB 102,65,15,58,15,217,4 +DB 15,56,204,229 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((96-128))+rbp] + paddd xmm1,xmm6 +DB 69,15,56,203,247 +DB 69,15,56,204,193 + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((96-128))+rbp] + paddd xmm11,xmm3 + paddd xmm2,xmm10 +DB 15,56,205,254 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + movdqa xmm3,xmm7 +DB 102,15,58,15,222,4 +DB 69,15,56,203,254 +DB 69,15,56,205,218 + pshufd xmm0,xmm1,0x0e + paddd xmm4,xmm3 + movdqa xmm3,xmm11 +DB 102,65,15,58,15,218,4 +DB 15,56,204,238 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((112-128))+rbp] + paddd xmm1,xmm7 +DB 69,15,56,203,247 +DB 69,15,56,204,202 + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((112-128))+rbp] + paddd xmm8,xmm3 + paddd xmm2,xmm11 +DB 15,56,205,231 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + movdqa xmm3,xmm4 +DB 102,15,58,15,223,4 +DB 69,15,56,203,254 +DB 69,15,56,205,195 + pshufd xmm0,xmm1,0x0e + paddd xmm5,xmm3 + movdqa xmm3,xmm8 +DB 102,65,15,58,15,219,4 +DB 15,56,204,247 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((128-128))+rbp] + paddd xmm1,xmm4 +DB 69,15,56,203,247 +DB 69,15,56,204,211 + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((128-128))+rbp] + paddd xmm9,xmm3 + paddd xmm2,xmm8 +DB 15,56,205,236 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + movdqa xmm3,xmm5 +DB 102,15,58,15,220,4 +DB 69,15,56,203,254 +DB 69,15,56,205,200 + pshufd xmm0,xmm1,0x0e + paddd xmm6,xmm3 + movdqa xmm3,xmm9 +DB 102,65,15,58,15,216,4 +DB 15,56,204,252 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((144-128))+rbp] + paddd xmm1,xmm5 +DB 69,15,56,203,247 +DB 69,15,56,204,216 + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((144-128))+rbp] + paddd xmm10,xmm3 + paddd xmm2,xmm9 +DB 15,56,205,245 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + movdqa xmm3,xmm6 +DB 102,15,58,15,221,4 +DB 69,15,56,203,254 +DB 69,15,56,205,209 + pshufd xmm0,xmm1,0x0e + paddd xmm7,xmm3 + movdqa xmm3,xmm10 +DB 102,65,15,58,15,217,4 +DB 15,56,204,229 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((160-128))+rbp] + paddd xmm1,xmm6 +DB 69,15,56,203,247 +DB 69,15,56,204,193 + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((160-128))+rbp] + paddd xmm11,xmm3 + paddd xmm2,xmm10 +DB 15,56,205,254 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + movdqa xmm3,xmm7 +DB 102,15,58,15,222,4 +DB 69,15,56,203,254 +DB 69,15,56,205,218 + pshufd xmm0,xmm1,0x0e + paddd xmm4,xmm3 + movdqa xmm3,xmm11 +DB 102,65,15,58,15,218,4 +DB 15,56,204,238 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((176-128))+rbp] + paddd xmm1,xmm7 +DB 69,15,56,203,247 +DB 69,15,56,204,202 + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((176-128))+rbp] + paddd xmm8,xmm3 + paddd xmm2,xmm11 +DB 15,56,205,231 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + movdqa xmm3,xmm4 +DB 102,15,58,15,223,4 +DB 69,15,56,203,254 +DB 69,15,56,205,195 + pshufd xmm0,xmm1,0x0e + paddd xmm5,xmm3 + movdqa xmm3,xmm8 +DB 102,65,15,58,15,219,4 +DB 15,56,204,247 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((192-128))+rbp] + paddd xmm1,xmm4 +DB 69,15,56,203,247 +DB 69,15,56,204,211 + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((192-128))+rbp] + paddd xmm9,xmm3 + paddd xmm2,xmm8 +DB 15,56,205,236 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + movdqa xmm3,xmm5 +DB 102,15,58,15,220,4 +DB 69,15,56,203,254 +DB 69,15,56,205,200 + pshufd xmm0,xmm1,0x0e + paddd xmm6,xmm3 + movdqa xmm3,xmm9 +DB 102,65,15,58,15,216,4 +DB 15,56,204,252 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((208-128))+rbp] + paddd xmm1,xmm5 +DB 69,15,56,203,247 +DB 69,15,56,204,216 + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((208-128))+rbp] + paddd xmm10,xmm3 + paddd xmm2,xmm9 +DB 15,56,205,245 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + movdqa xmm3,xmm6 +DB 102,15,58,15,221,4 +DB 69,15,56,203,254 +DB 69,15,56,205,209 + pshufd xmm0,xmm1,0x0e + paddd xmm7,xmm3 + movdqa xmm3,xmm10 +DB 102,65,15,58,15,217,4 + nop +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm1,XMMWORD[((224-128))+rbp] + paddd xmm1,xmm6 +DB 69,15,56,203,247 + + movdqa xmm0,xmm1 + movdqa xmm2,XMMWORD[((224-128))+rbp] + paddd xmm11,xmm3 + paddd xmm2,xmm10 +DB 15,56,205,254 + nop +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + mov ecx,1 + pxor xmm6,xmm6 +DB 69,15,56,203,254 +DB 69,15,56,205,218 + pshufd xmm0,xmm1,0x0e + movdqa xmm1,XMMWORD[((240-128))+rbp] + paddd xmm1,xmm7 + movq xmm7,QWORD[rbx] + nop +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + movdqa xmm2,XMMWORD[((240-128))+rbp] + paddd xmm2,xmm11 +DB 69,15,56,203,247 + + movdqa xmm0,xmm1 + cmp ecx,DWORD[rbx] + cmovge r8,rsp + cmp ecx,DWORD[4+rbx] + cmovge r9,rsp + pshufd xmm9,xmm7,0x00 +DB 69,15,56,203,236 + movdqa xmm0,xmm2 + pshufd xmm10,xmm7,0x55 + movdqa xmm11,xmm7 +DB 69,15,56,203,254 + pshufd xmm0,xmm1,0x0e + pcmpgtd xmm9,xmm6 + pcmpgtd xmm10,xmm6 +DB 69,15,56,203,229 + pshufd xmm0,xmm2,0x0e + pcmpgtd xmm11,xmm6 + movdqa xmm3,XMMWORD[((K256_shaext-16))] +DB 69,15,56,203,247 + + pand xmm13,xmm9 + pand xmm15,xmm10 + pand xmm12,xmm9 + pand xmm14,xmm10 + paddd xmm11,xmm7 + + paddd xmm13,XMMWORD[80+rsp] + paddd xmm15,XMMWORD[112+rsp] + paddd xmm12,XMMWORD[64+rsp] + paddd xmm14,XMMWORD[96+rsp] + + movq QWORD[rbx],xmm11 + dec edx + jnz NEAR $L$oop_shaext + + mov edx,DWORD[280+rsp] + + pshufd xmm12,xmm12,27 + pshufd xmm13,xmm13,27 + pshufd xmm14,xmm14,27 + pshufd xmm15,xmm15,27 + + movdqa xmm5,xmm12 + movdqa xmm6,xmm13 + punpckldq xmm12,xmm14 + punpckhdq xmm5,xmm14 + punpckldq xmm13,xmm15 + punpckhdq xmm6,xmm15 + + movq QWORD[(0-128)+rdi],xmm12 + psrldq xmm12,8 + movq QWORD[(128-128)+rdi],xmm5 + psrldq xmm5,8 + movq QWORD[(32-128)+rdi],xmm12 + movq QWORD[(160-128)+rdi],xmm5 + + movq QWORD[(64-128)+rdi],xmm13 + psrldq xmm13,8 + movq QWORD[(192-128)+rdi],xmm6 + psrldq xmm6,8 + movq QWORD[(96-128)+rdi],xmm13 + movq QWORD[(224-128)+rdi],xmm6 + + lea rdi,[8+rdi] + lea rsi,[32+rsi] + dec edx + jnz NEAR $L$oop_grande_shaext + +$L$done_shaext: + + movaps xmm6,XMMWORD[((-184))+rax] + movaps xmm7,XMMWORD[((-168))+rax] + movaps xmm8,XMMWORD[((-152))+rax] + movaps xmm9,XMMWORD[((-136))+rax] + movaps xmm10,XMMWORD[((-120))+rax] + movaps xmm11,XMMWORD[((-104))+rax] + movaps xmm12,XMMWORD[((-88))+rax] + movaps xmm13,XMMWORD[((-72))+rax] + movaps xmm14,XMMWORD[((-56))+rax] + movaps xmm15,XMMWORD[((-40))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$epilogue_shaext: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha256_multi_block_shaext: + +ALIGN 32 +sha256_multi_block_avx: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha256_multi_block_avx: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_avx_shortcut: + shr rcx,32 + cmp edx,2 + jb NEAR $L$avx + test ecx,32 + jnz NEAR _avx2_shortcut + jmp NEAR $L$avx +ALIGN 32 +$L$avx: + mov rax,rsp + push rbx + push rbp + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[(-120)+rax],xmm10 + movaps XMMWORD[(-104)+rax],xmm11 + movaps XMMWORD[(-88)+rax],xmm12 + movaps XMMWORD[(-72)+rax],xmm13 + movaps XMMWORD[(-56)+rax],xmm14 + movaps XMMWORD[(-40)+rax],xmm15 + sub rsp,288 + and rsp,-256 + mov QWORD[272+rsp],rax +$L$body_avx: + lea rbp,[((K256+128))] + lea rbx,[256+rsp] + lea rdi,[128+rdi] + +$L$oop_grande_avx: + mov DWORD[280+rsp],edx + xor edx,edx + mov r8,QWORD[rsi] + mov ecx,DWORD[8+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[rbx],ecx + cmovle r8,rbp + mov r9,QWORD[16+rsi] + mov ecx,DWORD[24+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[4+rbx],ecx + cmovle r9,rbp + mov r10,QWORD[32+rsi] + mov ecx,DWORD[40+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[8+rbx],ecx + cmovle r10,rbp + mov r11,QWORD[48+rsi] + mov ecx,DWORD[56+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[12+rbx],ecx + cmovle r11,rbp + test edx,edx + jz NEAR $L$done_avx + + vmovdqu xmm8,XMMWORD[((0-128))+rdi] + lea rax,[128+rsp] + vmovdqu xmm9,XMMWORD[((32-128))+rdi] + vmovdqu xmm10,XMMWORD[((64-128))+rdi] + vmovdqu xmm11,XMMWORD[((96-128))+rdi] + vmovdqu xmm12,XMMWORD[((128-128))+rdi] + vmovdqu xmm13,XMMWORD[((160-128))+rdi] + vmovdqu xmm14,XMMWORD[((192-128))+rdi] + vmovdqu xmm15,XMMWORD[((224-128))+rdi] + vmovdqu xmm6,XMMWORD[$L$pbswap] + jmp NEAR $L$oop_avx + +ALIGN 32 +$L$oop_avx: + vpxor xmm4,xmm10,xmm9 + vmovd xmm5,DWORD[r8] + vmovd xmm0,DWORD[r9] + vpinsrd xmm5,xmm5,DWORD[r10],1 + vpinsrd xmm0,xmm0,DWORD[r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm12,6 + vpslld xmm2,xmm12,26 + vmovdqu XMMWORD[(0-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm15 + + vpsrld xmm1,xmm12,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm12,21 + vpaddd xmm5,xmm5,XMMWORD[((-128))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm12,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm12,7 + vpandn xmm0,xmm12,xmm14 + vpand xmm3,xmm12,xmm13 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm15,xmm8,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm8,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm9,xmm8 + + vpxor xmm15,xmm15,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm8,13 + + vpslld xmm2,xmm8,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm15,xmm1 + + vpsrld xmm1,xmm8,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm8,10 + vpxor xmm15,xmm9,xmm4 + vpaddd xmm11,xmm11,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm15,xmm15,xmm5 + vpaddd xmm15,xmm15,xmm7 + vmovd xmm5,DWORD[4+r8] + vmovd xmm0,DWORD[4+r9] + vpinsrd xmm5,xmm5,DWORD[4+r10],1 + vpinsrd xmm0,xmm0,DWORD[4+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm11,6 + vpslld xmm2,xmm11,26 + vmovdqu XMMWORD[(16-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm14 + + vpsrld xmm1,xmm11,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm11,21 + vpaddd xmm5,xmm5,XMMWORD[((-96))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm11,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm11,7 + vpandn xmm0,xmm11,xmm13 + vpand xmm4,xmm11,xmm12 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm14,xmm15,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm15,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm8,xmm15 + + vpxor xmm14,xmm14,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm15,13 + + vpslld xmm2,xmm15,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm14,xmm1 + + vpsrld xmm1,xmm15,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm15,10 + vpxor xmm14,xmm8,xmm3 + vpaddd xmm10,xmm10,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm14,xmm14,xmm5 + vpaddd xmm14,xmm14,xmm7 + vmovd xmm5,DWORD[8+r8] + vmovd xmm0,DWORD[8+r9] + vpinsrd xmm5,xmm5,DWORD[8+r10],1 + vpinsrd xmm0,xmm0,DWORD[8+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm10,6 + vpslld xmm2,xmm10,26 + vmovdqu XMMWORD[(32-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm13 + + vpsrld xmm1,xmm10,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm10,21 + vpaddd xmm5,xmm5,XMMWORD[((-64))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm10,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm10,7 + vpandn xmm0,xmm10,xmm12 + vpand xmm3,xmm10,xmm11 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm13,xmm14,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm14,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm15,xmm14 + + vpxor xmm13,xmm13,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm14,13 + + vpslld xmm2,xmm14,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm13,xmm1 + + vpsrld xmm1,xmm14,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm14,10 + vpxor xmm13,xmm15,xmm4 + vpaddd xmm9,xmm9,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm13,xmm13,xmm5 + vpaddd xmm13,xmm13,xmm7 + vmovd xmm5,DWORD[12+r8] + vmovd xmm0,DWORD[12+r9] + vpinsrd xmm5,xmm5,DWORD[12+r10],1 + vpinsrd xmm0,xmm0,DWORD[12+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm9,6 + vpslld xmm2,xmm9,26 + vmovdqu XMMWORD[(48-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm12 + + vpsrld xmm1,xmm9,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm9,21 + vpaddd xmm5,xmm5,XMMWORD[((-32))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm9,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm9,7 + vpandn xmm0,xmm9,xmm11 + vpand xmm4,xmm9,xmm10 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm12,xmm13,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm13,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm14,xmm13 + + vpxor xmm12,xmm12,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm13,13 + + vpslld xmm2,xmm13,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm12,xmm1 + + vpsrld xmm1,xmm13,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm13,10 + vpxor xmm12,xmm14,xmm3 + vpaddd xmm8,xmm8,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm12,xmm12,xmm5 + vpaddd xmm12,xmm12,xmm7 + vmovd xmm5,DWORD[16+r8] + vmovd xmm0,DWORD[16+r9] + vpinsrd xmm5,xmm5,DWORD[16+r10],1 + vpinsrd xmm0,xmm0,DWORD[16+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm8,6 + vpslld xmm2,xmm8,26 + vmovdqu XMMWORD[(64-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm11 + + vpsrld xmm1,xmm8,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm8,21 + vpaddd xmm5,xmm5,XMMWORD[rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm8,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm8,7 + vpandn xmm0,xmm8,xmm10 + vpand xmm3,xmm8,xmm9 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm11,xmm12,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm12,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm13,xmm12 + + vpxor xmm11,xmm11,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm12,13 + + vpslld xmm2,xmm12,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm11,xmm1 + + vpsrld xmm1,xmm12,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm12,10 + vpxor xmm11,xmm13,xmm4 + vpaddd xmm15,xmm15,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm11,xmm11,xmm5 + vpaddd xmm11,xmm11,xmm7 + vmovd xmm5,DWORD[20+r8] + vmovd xmm0,DWORD[20+r9] + vpinsrd xmm5,xmm5,DWORD[20+r10],1 + vpinsrd xmm0,xmm0,DWORD[20+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm15,6 + vpslld xmm2,xmm15,26 + vmovdqu XMMWORD[(80-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm10 + + vpsrld xmm1,xmm15,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm15,21 + vpaddd xmm5,xmm5,XMMWORD[32+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm15,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm15,7 + vpandn xmm0,xmm15,xmm9 + vpand xmm4,xmm15,xmm8 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm10,xmm11,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm11,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm12,xmm11 + + vpxor xmm10,xmm10,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm11,13 + + vpslld xmm2,xmm11,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm10,xmm1 + + vpsrld xmm1,xmm11,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm11,10 + vpxor xmm10,xmm12,xmm3 + vpaddd xmm14,xmm14,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm10,xmm10,xmm5 + vpaddd xmm10,xmm10,xmm7 + vmovd xmm5,DWORD[24+r8] + vmovd xmm0,DWORD[24+r9] + vpinsrd xmm5,xmm5,DWORD[24+r10],1 + vpinsrd xmm0,xmm0,DWORD[24+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm14,6 + vpslld xmm2,xmm14,26 + vmovdqu XMMWORD[(96-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm9 + + vpsrld xmm1,xmm14,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm14,21 + vpaddd xmm5,xmm5,XMMWORD[64+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm14,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm14,7 + vpandn xmm0,xmm14,xmm8 + vpand xmm3,xmm14,xmm15 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm9,xmm10,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm10,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm11,xmm10 + + vpxor xmm9,xmm9,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm10,13 + + vpslld xmm2,xmm10,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm9,xmm1 + + vpsrld xmm1,xmm10,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm10,10 + vpxor xmm9,xmm11,xmm4 + vpaddd xmm13,xmm13,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm9,xmm9,xmm5 + vpaddd xmm9,xmm9,xmm7 + vmovd xmm5,DWORD[28+r8] + vmovd xmm0,DWORD[28+r9] + vpinsrd xmm5,xmm5,DWORD[28+r10],1 + vpinsrd xmm0,xmm0,DWORD[28+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm13,6 + vpslld xmm2,xmm13,26 + vmovdqu XMMWORD[(112-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm8 + + vpsrld xmm1,xmm13,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm13,21 + vpaddd xmm5,xmm5,XMMWORD[96+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm13,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm13,7 + vpandn xmm0,xmm13,xmm15 + vpand xmm4,xmm13,xmm14 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm8,xmm9,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm9,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm10,xmm9 + + vpxor xmm8,xmm8,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm9,13 + + vpslld xmm2,xmm9,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm8,xmm1 + + vpsrld xmm1,xmm9,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm9,10 + vpxor xmm8,xmm10,xmm3 + vpaddd xmm12,xmm12,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm8,xmm8,xmm5 + vpaddd xmm8,xmm8,xmm7 + add rbp,256 + vmovd xmm5,DWORD[32+r8] + vmovd xmm0,DWORD[32+r9] + vpinsrd xmm5,xmm5,DWORD[32+r10],1 + vpinsrd xmm0,xmm0,DWORD[32+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm12,6 + vpslld xmm2,xmm12,26 + vmovdqu XMMWORD[(128-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm15 + + vpsrld xmm1,xmm12,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm12,21 + vpaddd xmm5,xmm5,XMMWORD[((-128))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm12,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm12,7 + vpandn xmm0,xmm12,xmm14 + vpand xmm3,xmm12,xmm13 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm15,xmm8,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm8,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm9,xmm8 + + vpxor xmm15,xmm15,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm8,13 + + vpslld xmm2,xmm8,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm15,xmm1 + + vpsrld xmm1,xmm8,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm8,10 + vpxor xmm15,xmm9,xmm4 + vpaddd xmm11,xmm11,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm15,xmm15,xmm5 + vpaddd xmm15,xmm15,xmm7 + vmovd xmm5,DWORD[36+r8] + vmovd xmm0,DWORD[36+r9] + vpinsrd xmm5,xmm5,DWORD[36+r10],1 + vpinsrd xmm0,xmm0,DWORD[36+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm11,6 + vpslld xmm2,xmm11,26 + vmovdqu XMMWORD[(144-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm14 + + vpsrld xmm1,xmm11,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm11,21 + vpaddd xmm5,xmm5,XMMWORD[((-96))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm11,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm11,7 + vpandn xmm0,xmm11,xmm13 + vpand xmm4,xmm11,xmm12 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm14,xmm15,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm15,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm8,xmm15 + + vpxor xmm14,xmm14,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm15,13 + + vpslld xmm2,xmm15,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm14,xmm1 + + vpsrld xmm1,xmm15,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm15,10 + vpxor xmm14,xmm8,xmm3 + vpaddd xmm10,xmm10,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm14,xmm14,xmm5 + vpaddd xmm14,xmm14,xmm7 + vmovd xmm5,DWORD[40+r8] + vmovd xmm0,DWORD[40+r9] + vpinsrd xmm5,xmm5,DWORD[40+r10],1 + vpinsrd xmm0,xmm0,DWORD[40+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm10,6 + vpslld xmm2,xmm10,26 + vmovdqu XMMWORD[(160-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm13 + + vpsrld xmm1,xmm10,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm10,21 + vpaddd xmm5,xmm5,XMMWORD[((-64))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm10,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm10,7 + vpandn xmm0,xmm10,xmm12 + vpand xmm3,xmm10,xmm11 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm13,xmm14,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm14,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm15,xmm14 + + vpxor xmm13,xmm13,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm14,13 + + vpslld xmm2,xmm14,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm13,xmm1 + + vpsrld xmm1,xmm14,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm14,10 + vpxor xmm13,xmm15,xmm4 + vpaddd xmm9,xmm9,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm13,xmm13,xmm5 + vpaddd xmm13,xmm13,xmm7 + vmovd xmm5,DWORD[44+r8] + vmovd xmm0,DWORD[44+r9] + vpinsrd xmm5,xmm5,DWORD[44+r10],1 + vpinsrd xmm0,xmm0,DWORD[44+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm9,6 + vpslld xmm2,xmm9,26 + vmovdqu XMMWORD[(176-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm12 + + vpsrld xmm1,xmm9,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm9,21 + vpaddd xmm5,xmm5,XMMWORD[((-32))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm9,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm9,7 + vpandn xmm0,xmm9,xmm11 + vpand xmm4,xmm9,xmm10 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm12,xmm13,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm13,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm14,xmm13 + + vpxor xmm12,xmm12,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm13,13 + + vpslld xmm2,xmm13,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm12,xmm1 + + vpsrld xmm1,xmm13,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm13,10 + vpxor xmm12,xmm14,xmm3 + vpaddd xmm8,xmm8,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm12,xmm12,xmm5 + vpaddd xmm12,xmm12,xmm7 + vmovd xmm5,DWORD[48+r8] + vmovd xmm0,DWORD[48+r9] + vpinsrd xmm5,xmm5,DWORD[48+r10],1 + vpinsrd xmm0,xmm0,DWORD[48+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm8,6 + vpslld xmm2,xmm8,26 + vmovdqu XMMWORD[(192-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm11 + + vpsrld xmm1,xmm8,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm8,21 + vpaddd xmm5,xmm5,XMMWORD[rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm8,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm8,7 + vpandn xmm0,xmm8,xmm10 + vpand xmm3,xmm8,xmm9 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm11,xmm12,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm12,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm13,xmm12 + + vpxor xmm11,xmm11,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm12,13 + + vpslld xmm2,xmm12,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm11,xmm1 + + vpsrld xmm1,xmm12,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm12,10 + vpxor xmm11,xmm13,xmm4 + vpaddd xmm15,xmm15,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm11,xmm11,xmm5 + vpaddd xmm11,xmm11,xmm7 + vmovd xmm5,DWORD[52+r8] + vmovd xmm0,DWORD[52+r9] + vpinsrd xmm5,xmm5,DWORD[52+r10],1 + vpinsrd xmm0,xmm0,DWORD[52+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm15,6 + vpslld xmm2,xmm15,26 + vmovdqu XMMWORD[(208-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm10 + + vpsrld xmm1,xmm15,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm15,21 + vpaddd xmm5,xmm5,XMMWORD[32+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm15,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm15,7 + vpandn xmm0,xmm15,xmm9 + vpand xmm4,xmm15,xmm8 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm10,xmm11,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm11,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm12,xmm11 + + vpxor xmm10,xmm10,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm11,13 + + vpslld xmm2,xmm11,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm10,xmm1 + + vpsrld xmm1,xmm11,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm11,10 + vpxor xmm10,xmm12,xmm3 + vpaddd xmm14,xmm14,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm10,xmm10,xmm5 + vpaddd xmm10,xmm10,xmm7 + vmovd xmm5,DWORD[56+r8] + vmovd xmm0,DWORD[56+r9] + vpinsrd xmm5,xmm5,DWORD[56+r10],1 + vpinsrd xmm0,xmm0,DWORD[56+r11],1 + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm14,6 + vpslld xmm2,xmm14,26 + vmovdqu XMMWORD[(224-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm9 + + vpsrld xmm1,xmm14,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm14,21 + vpaddd xmm5,xmm5,XMMWORD[64+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm14,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm14,7 + vpandn xmm0,xmm14,xmm8 + vpand xmm3,xmm14,xmm15 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm9,xmm10,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm10,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm11,xmm10 + + vpxor xmm9,xmm9,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm10,13 + + vpslld xmm2,xmm10,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm9,xmm1 + + vpsrld xmm1,xmm10,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm10,10 + vpxor xmm9,xmm11,xmm4 + vpaddd xmm13,xmm13,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm9,xmm9,xmm5 + vpaddd xmm9,xmm9,xmm7 + vmovd xmm5,DWORD[60+r8] + lea r8,[64+r8] + vmovd xmm0,DWORD[60+r9] + lea r9,[64+r9] + vpinsrd xmm5,xmm5,DWORD[60+r10],1 + lea r10,[64+r10] + vpinsrd xmm0,xmm0,DWORD[60+r11],1 + lea r11,[64+r11] + vpunpckldq xmm5,xmm5,xmm0 + vpshufb xmm5,xmm5,xmm6 + vpsrld xmm7,xmm13,6 + vpslld xmm2,xmm13,26 + vmovdqu XMMWORD[(240-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm8 + + vpsrld xmm1,xmm13,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm13,21 + vpaddd xmm5,xmm5,XMMWORD[96+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm13,25 + vpxor xmm7,xmm7,xmm2 + prefetcht0 [63+r8] + vpslld xmm2,xmm13,7 + vpandn xmm0,xmm13,xmm15 + vpand xmm4,xmm13,xmm14 + prefetcht0 [63+r9] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm8,xmm9,2 + vpxor xmm7,xmm7,xmm2 + prefetcht0 [63+r10] + vpslld xmm1,xmm9,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm10,xmm9 + prefetcht0 [63+r11] + vpxor xmm8,xmm8,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm9,13 + + vpslld xmm2,xmm9,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm8,xmm1 + + vpsrld xmm1,xmm9,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm9,10 + vpxor xmm8,xmm10,xmm3 + vpaddd xmm12,xmm12,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm8,xmm8,xmm5 + vpaddd xmm8,xmm8,xmm7 + add rbp,256 + vmovdqu xmm5,XMMWORD[((0-128))+rax] + mov ecx,3 + jmp NEAR $L$oop_16_xx_avx +ALIGN 32 +$L$oop_16_xx_avx: + vmovdqu xmm6,XMMWORD[((16-128))+rax] + vpaddd xmm5,xmm5,XMMWORD[((144-128))+rax] + + vpsrld xmm7,xmm6,3 + vpsrld xmm1,xmm6,7 + vpslld xmm2,xmm6,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm6,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm6,14 + vmovdqu xmm0,XMMWORD[((224-128))+rax] + vpsrld xmm3,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm5,xmm5,xmm7 + vpxor xmm7,xmm3,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm5,xmm5,xmm7 + vpsrld xmm7,xmm12,6 + vpslld xmm2,xmm12,26 + vmovdqu XMMWORD[(0-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm15 + + vpsrld xmm1,xmm12,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm12,21 + vpaddd xmm5,xmm5,XMMWORD[((-128))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm12,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm12,7 + vpandn xmm0,xmm12,xmm14 + vpand xmm3,xmm12,xmm13 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm15,xmm8,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm8,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm9,xmm8 + + vpxor xmm15,xmm15,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm8,13 + + vpslld xmm2,xmm8,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm15,xmm1 + + vpsrld xmm1,xmm8,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm8,10 + vpxor xmm15,xmm9,xmm4 + vpaddd xmm11,xmm11,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm15,xmm15,xmm5 + vpaddd xmm15,xmm15,xmm7 + vmovdqu xmm5,XMMWORD[((32-128))+rax] + vpaddd xmm6,xmm6,XMMWORD[((160-128))+rax] + + vpsrld xmm7,xmm5,3 + vpsrld xmm1,xmm5,7 + vpslld xmm2,xmm5,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm5,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm5,14 + vmovdqu xmm0,XMMWORD[((240-128))+rax] + vpsrld xmm4,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm6,xmm6,xmm7 + vpxor xmm7,xmm4,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm6,xmm6,xmm7 + vpsrld xmm7,xmm11,6 + vpslld xmm2,xmm11,26 + vmovdqu XMMWORD[(16-128)+rax],xmm6 + vpaddd xmm6,xmm6,xmm14 + + vpsrld xmm1,xmm11,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm11,21 + vpaddd xmm6,xmm6,XMMWORD[((-96))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm11,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm11,7 + vpandn xmm0,xmm11,xmm13 + vpand xmm4,xmm11,xmm12 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm14,xmm15,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm15,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm8,xmm15 + + vpxor xmm14,xmm14,xmm1 + vpaddd xmm6,xmm6,xmm7 + + vpsrld xmm1,xmm15,13 + + vpslld xmm2,xmm15,19 + vpaddd xmm6,xmm6,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm14,xmm1 + + vpsrld xmm1,xmm15,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm15,10 + vpxor xmm14,xmm8,xmm3 + vpaddd xmm10,xmm10,xmm6 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm14,xmm14,xmm6 + vpaddd xmm14,xmm14,xmm7 + vmovdqu xmm6,XMMWORD[((48-128))+rax] + vpaddd xmm5,xmm5,XMMWORD[((176-128))+rax] + + vpsrld xmm7,xmm6,3 + vpsrld xmm1,xmm6,7 + vpslld xmm2,xmm6,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm6,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm6,14 + vmovdqu xmm0,XMMWORD[((0-128))+rax] + vpsrld xmm3,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm5,xmm5,xmm7 + vpxor xmm7,xmm3,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm5,xmm5,xmm7 + vpsrld xmm7,xmm10,6 + vpslld xmm2,xmm10,26 + vmovdqu XMMWORD[(32-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm13 + + vpsrld xmm1,xmm10,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm10,21 + vpaddd xmm5,xmm5,XMMWORD[((-64))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm10,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm10,7 + vpandn xmm0,xmm10,xmm12 + vpand xmm3,xmm10,xmm11 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm13,xmm14,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm14,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm15,xmm14 + + vpxor xmm13,xmm13,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm14,13 + + vpslld xmm2,xmm14,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm13,xmm1 + + vpsrld xmm1,xmm14,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm14,10 + vpxor xmm13,xmm15,xmm4 + vpaddd xmm9,xmm9,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm13,xmm13,xmm5 + vpaddd xmm13,xmm13,xmm7 + vmovdqu xmm5,XMMWORD[((64-128))+rax] + vpaddd xmm6,xmm6,XMMWORD[((192-128))+rax] + + vpsrld xmm7,xmm5,3 + vpsrld xmm1,xmm5,7 + vpslld xmm2,xmm5,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm5,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm5,14 + vmovdqu xmm0,XMMWORD[((16-128))+rax] + vpsrld xmm4,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm6,xmm6,xmm7 + vpxor xmm7,xmm4,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm6,xmm6,xmm7 + vpsrld xmm7,xmm9,6 + vpslld xmm2,xmm9,26 + vmovdqu XMMWORD[(48-128)+rax],xmm6 + vpaddd xmm6,xmm6,xmm12 + + vpsrld xmm1,xmm9,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm9,21 + vpaddd xmm6,xmm6,XMMWORD[((-32))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm9,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm9,7 + vpandn xmm0,xmm9,xmm11 + vpand xmm4,xmm9,xmm10 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm12,xmm13,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm13,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm14,xmm13 + + vpxor xmm12,xmm12,xmm1 + vpaddd xmm6,xmm6,xmm7 + + vpsrld xmm1,xmm13,13 + + vpslld xmm2,xmm13,19 + vpaddd xmm6,xmm6,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm12,xmm1 + + vpsrld xmm1,xmm13,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm13,10 + vpxor xmm12,xmm14,xmm3 + vpaddd xmm8,xmm8,xmm6 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm12,xmm12,xmm6 + vpaddd xmm12,xmm12,xmm7 + vmovdqu xmm6,XMMWORD[((80-128))+rax] + vpaddd xmm5,xmm5,XMMWORD[((208-128))+rax] + + vpsrld xmm7,xmm6,3 + vpsrld xmm1,xmm6,7 + vpslld xmm2,xmm6,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm6,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm6,14 + vmovdqu xmm0,XMMWORD[((32-128))+rax] + vpsrld xmm3,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm5,xmm5,xmm7 + vpxor xmm7,xmm3,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm5,xmm5,xmm7 + vpsrld xmm7,xmm8,6 + vpslld xmm2,xmm8,26 + vmovdqu XMMWORD[(64-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm11 + + vpsrld xmm1,xmm8,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm8,21 + vpaddd xmm5,xmm5,XMMWORD[rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm8,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm8,7 + vpandn xmm0,xmm8,xmm10 + vpand xmm3,xmm8,xmm9 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm11,xmm12,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm12,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm13,xmm12 + + vpxor xmm11,xmm11,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm12,13 + + vpslld xmm2,xmm12,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm11,xmm1 + + vpsrld xmm1,xmm12,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm12,10 + vpxor xmm11,xmm13,xmm4 + vpaddd xmm15,xmm15,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm11,xmm11,xmm5 + vpaddd xmm11,xmm11,xmm7 + vmovdqu xmm5,XMMWORD[((96-128))+rax] + vpaddd xmm6,xmm6,XMMWORD[((224-128))+rax] + + vpsrld xmm7,xmm5,3 + vpsrld xmm1,xmm5,7 + vpslld xmm2,xmm5,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm5,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm5,14 + vmovdqu xmm0,XMMWORD[((48-128))+rax] + vpsrld xmm4,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm6,xmm6,xmm7 + vpxor xmm7,xmm4,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm6,xmm6,xmm7 + vpsrld xmm7,xmm15,6 + vpslld xmm2,xmm15,26 + vmovdqu XMMWORD[(80-128)+rax],xmm6 + vpaddd xmm6,xmm6,xmm10 + + vpsrld xmm1,xmm15,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm15,21 + vpaddd xmm6,xmm6,XMMWORD[32+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm15,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm15,7 + vpandn xmm0,xmm15,xmm9 + vpand xmm4,xmm15,xmm8 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm10,xmm11,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm11,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm12,xmm11 + + vpxor xmm10,xmm10,xmm1 + vpaddd xmm6,xmm6,xmm7 + + vpsrld xmm1,xmm11,13 + + vpslld xmm2,xmm11,19 + vpaddd xmm6,xmm6,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm10,xmm1 + + vpsrld xmm1,xmm11,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm11,10 + vpxor xmm10,xmm12,xmm3 + vpaddd xmm14,xmm14,xmm6 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm10,xmm10,xmm6 + vpaddd xmm10,xmm10,xmm7 + vmovdqu xmm6,XMMWORD[((112-128))+rax] + vpaddd xmm5,xmm5,XMMWORD[((240-128))+rax] + + vpsrld xmm7,xmm6,3 + vpsrld xmm1,xmm6,7 + vpslld xmm2,xmm6,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm6,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm6,14 + vmovdqu xmm0,XMMWORD[((64-128))+rax] + vpsrld xmm3,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm5,xmm5,xmm7 + vpxor xmm7,xmm3,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm5,xmm5,xmm7 + vpsrld xmm7,xmm14,6 + vpslld xmm2,xmm14,26 + vmovdqu XMMWORD[(96-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm9 + + vpsrld xmm1,xmm14,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm14,21 + vpaddd xmm5,xmm5,XMMWORD[64+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm14,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm14,7 + vpandn xmm0,xmm14,xmm8 + vpand xmm3,xmm14,xmm15 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm9,xmm10,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm10,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm11,xmm10 + + vpxor xmm9,xmm9,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm10,13 + + vpslld xmm2,xmm10,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm9,xmm1 + + vpsrld xmm1,xmm10,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm10,10 + vpxor xmm9,xmm11,xmm4 + vpaddd xmm13,xmm13,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm9,xmm9,xmm5 + vpaddd xmm9,xmm9,xmm7 + vmovdqu xmm5,XMMWORD[((128-128))+rax] + vpaddd xmm6,xmm6,XMMWORD[((0-128))+rax] + + vpsrld xmm7,xmm5,3 + vpsrld xmm1,xmm5,7 + vpslld xmm2,xmm5,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm5,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm5,14 + vmovdqu xmm0,XMMWORD[((80-128))+rax] + vpsrld xmm4,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm6,xmm6,xmm7 + vpxor xmm7,xmm4,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm6,xmm6,xmm7 + vpsrld xmm7,xmm13,6 + vpslld xmm2,xmm13,26 + vmovdqu XMMWORD[(112-128)+rax],xmm6 + vpaddd xmm6,xmm6,xmm8 + + vpsrld xmm1,xmm13,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm13,21 + vpaddd xmm6,xmm6,XMMWORD[96+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm13,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm13,7 + vpandn xmm0,xmm13,xmm15 + vpand xmm4,xmm13,xmm14 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm8,xmm9,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm9,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm10,xmm9 + + vpxor xmm8,xmm8,xmm1 + vpaddd xmm6,xmm6,xmm7 + + vpsrld xmm1,xmm9,13 + + vpslld xmm2,xmm9,19 + vpaddd xmm6,xmm6,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm8,xmm1 + + vpsrld xmm1,xmm9,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm9,10 + vpxor xmm8,xmm10,xmm3 + vpaddd xmm12,xmm12,xmm6 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm8,xmm8,xmm6 + vpaddd xmm8,xmm8,xmm7 + add rbp,256 + vmovdqu xmm6,XMMWORD[((144-128))+rax] + vpaddd xmm5,xmm5,XMMWORD[((16-128))+rax] + + vpsrld xmm7,xmm6,3 + vpsrld xmm1,xmm6,7 + vpslld xmm2,xmm6,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm6,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm6,14 + vmovdqu xmm0,XMMWORD[((96-128))+rax] + vpsrld xmm3,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm5,xmm5,xmm7 + vpxor xmm7,xmm3,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm5,xmm5,xmm7 + vpsrld xmm7,xmm12,6 + vpslld xmm2,xmm12,26 + vmovdqu XMMWORD[(128-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm15 + + vpsrld xmm1,xmm12,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm12,21 + vpaddd xmm5,xmm5,XMMWORD[((-128))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm12,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm12,7 + vpandn xmm0,xmm12,xmm14 + vpand xmm3,xmm12,xmm13 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm15,xmm8,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm8,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm9,xmm8 + + vpxor xmm15,xmm15,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm8,13 + + vpslld xmm2,xmm8,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm15,xmm1 + + vpsrld xmm1,xmm8,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm8,10 + vpxor xmm15,xmm9,xmm4 + vpaddd xmm11,xmm11,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm15,xmm15,xmm5 + vpaddd xmm15,xmm15,xmm7 + vmovdqu xmm5,XMMWORD[((160-128))+rax] + vpaddd xmm6,xmm6,XMMWORD[((32-128))+rax] + + vpsrld xmm7,xmm5,3 + vpsrld xmm1,xmm5,7 + vpslld xmm2,xmm5,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm5,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm5,14 + vmovdqu xmm0,XMMWORD[((112-128))+rax] + vpsrld xmm4,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm6,xmm6,xmm7 + vpxor xmm7,xmm4,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm6,xmm6,xmm7 + vpsrld xmm7,xmm11,6 + vpslld xmm2,xmm11,26 + vmovdqu XMMWORD[(144-128)+rax],xmm6 + vpaddd xmm6,xmm6,xmm14 + + vpsrld xmm1,xmm11,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm11,21 + vpaddd xmm6,xmm6,XMMWORD[((-96))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm11,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm11,7 + vpandn xmm0,xmm11,xmm13 + vpand xmm4,xmm11,xmm12 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm14,xmm15,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm15,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm8,xmm15 + + vpxor xmm14,xmm14,xmm1 + vpaddd xmm6,xmm6,xmm7 + + vpsrld xmm1,xmm15,13 + + vpslld xmm2,xmm15,19 + vpaddd xmm6,xmm6,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm14,xmm1 + + vpsrld xmm1,xmm15,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm15,10 + vpxor xmm14,xmm8,xmm3 + vpaddd xmm10,xmm10,xmm6 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm14,xmm14,xmm6 + vpaddd xmm14,xmm14,xmm7 + vmovdqu xmm6,XMMWORD[((176-128))+rax] + vpaddd xmm5,xmm5,XMMWORD[((48-128))+rax] + + vpsrld xmm7,xmm6,3 + vpsrld xmm1,xmm6,7 + vpslld xmm2,xmm6,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm6,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm6,14 + vmovdqu xmm0,XMMWORD[((128-128))+rax] + vpsrld xmm3,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm5,xmm5,xmm7 + vpxor xmm7,xmm3,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm5,xmm5,xmm7 + vpsrld xmm7,xmm10,6 + vpslld xmm2,xmm10,26 + vmovdqu XMMWORD[(160-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm13 + + vpsrld xmm1,xmm10,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm10,21 + vpaddd xmm5,xmm5,XMMWORD[((-64))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm10,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm10,7 + vpandn xmm0,xmm10,xmm12 + vpand xmm3,xmm10,xmm11 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm13,xmm14,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm14,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm15,xmm14 + + vpxor xmm13,xmm13,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm14,13 + + vpslld xmm2,xmm14,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm13,xmm1 + + vpsrld xmm1,xmm14,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm14,10 + vpxor xmm13,xmm15,xmm4 + vpaddd xmm9,xmm9,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm13,xmm13,xmm5 + vpaddd xmm13,xmm13,xmm7 + vmovdqu xmm5,XMMWORD[((192-128))+rax] + vpaddd xmm6,xmm6,XMMWORD[((64-128))+rax] + + vpsrld xmm7,xmm5,3 + vpsrld xmm1,xmm5,7 + vpslld xmm2,xmm5,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm5,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm5,14 + vmovdqu xmm0,XMMWORD[((144-128))+rax] + vpsrld xmm4,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm6,xmm6,xmm7 + vpxor xmm7,xmm4,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm6,xmm6,xmm7 + vpsrld xmm7,xmm9,6 + vpslld xmm2,xmm9,26 + vmovdqu XMMWORD[(176-128)+rax],xmm6 + vpaddd xmm6,xmm6,xmm12 + + vpsrld xmm1,xmm9,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm9,21 + vpaddd xmm6,xmm6,XMMWORD[((-32))+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm9,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm9,7 + vpandn xmm0,xmm9,xmm11 + vpand xmm4,xmm9,xmm10 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm12,xmm13,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm13,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm14,xmm13 + + vpxor xmm12,xmm12,xmm1 + vpaddd xmm6,xmm6,xmm7 + + vpsrld xmm1,xmm13,13 + + vpslld xmm2,xmm13,19 + vpaddd xmm6,xmm6,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm12,xmm1 + + vpsrld xmm1,xmm13,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm13,10 + vpxor xmm12,xmm14,xmm3 + vpaddd xmm8,xmm8,xmm6 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm12,xmm12,xmm6 + vpaddd xmm12,xmm12,xmm7 + vmovdqu xmm6,XMMWORD[((208-128))+rax] + vpaddd xmm5,xmm5,XMMWORD[((80-128))+rax] + + vpsrld xmm7,xmm6,3 + vpsrld xmm1,xmm6,7 + vpslld xmm2,xmm6,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm6,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm6,14 + vmovdqu xmm0,XMMWORD[((160-128))+rax] + vpsrld xmm3,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm5,xmm5,xmm7 + vpxor xmm7,xmm3,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm5,xmm5,xmm7 + vpsrld xmm7,xmm8,6 + vpslld xmm2,xmm8,26 + vmovdqu XMMWORD[(192-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm11 + + vpsrld xmm1,xmm8,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm8,21 + vpaddd xmm5,xmm5,XMMWORD[rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm8,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm8,7 + vpandn xmm0,xmm8,xmm10 + vpand xmm3,xmm8,xmm9 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm11,xmm12,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm12,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm13,xmm12 + + vpxor xmm11,xmm11,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm12,13 + + vpslld xmm2,xmm12,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm11,xmm1 + + vpsrld xmm1,xmm12,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm12,10 + vpxor xmm11,xmm13,xmm4 + vpaddd xmm15,xmm15,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm11,xmm11,xmm5 + vpaddd xmm11,xmm11,xmm7 + vmovdqu xmm5,XMMWORD[((224-128))+rax] + vpaddd xmm6,xmm6,XMMWORD[((96-128))+rax] + + vpsrld xmm7,xmm5,3 + vpsrld xmm1,xmm5,7 + vpslld xmm2,xmm5,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm5,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm5,14 + vmovdqu xmm0,XMMWORD[((176-128))+rax] + vpsrld xmm4,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm6,xmm6,xmm7 + vpxor xmm7,xmm4,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm6,xmm6,xmm7 + vpsrld xmm7,xmm15,6 + vpslld xmm2,xmm15,26 + vmovdqu XMMWORD[(208-128)+rax],xmm6 + vpaddd xmm6,xmm6,xmm10 + + vpsrld xmm1,xmm15,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm15,21 + vpaddd xmm6,xmm6,XMMWORD[32+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm15,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm15,7 + vpandn xmm0,xmm15,xmm9 + vpand xmm4,xmm15,xmm8 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm10,xmm11,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm11,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm12,xmm11 + + vpxor xmm10,xmm10,xmm1 + vpaddd xmm6,xmm6,xmm7 + + vpsrld xmm1,xmm11,13 + + vpslld xmm2,xmm11,19 + vpaddd xmm6,xmm6,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm10,xmm1 + + vpsrld xmm1,xmm11,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm11,10 + vpxor xmm10,xmm12,xmm3 + vpaddd xmm14,xmm14,xmm6 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm10,xmm10,xmm6 + vpaddd xmm10,xmm10,xmm7 + vmovdqu xmm6,XMMWORD[((240-128))+rax] + vpaddd xmm5,xmm5,XMMWORD[((112-128))+rax] + + vpsrld xmm7,xmm6,3 + vpsrld xmm1,xmm6,7 + vpslld xmm2,xmm6,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm6,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm6,14 + vmovdqu xmm0,XMMWORD[((192-128))+rax] + vpsrld xmm3,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm5,xmm5,xmm7 + vpxor xmm7,xmm3,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm5,xmm5,xmm7 + vpsrld xmm7,xmm14,6 + vpslld xmm2,xmm14,26 + vmovdqu XMMWORD[(224-128)+rax],xmm5 + vpaddd xmm5,xmm5,xmm9 + + vpsrld xmm1,xmm14,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm14,21 + vpaddd xmm5,xmm5,XMMWORD[64+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm14,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm14,7 + vpandn xmm0,xmm14,xmm8 + vpand xmm3,xmm14,xmm15 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm9,xmm10,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm10,30 + vpxor xmm0,xmm0,xmm3 + vpxor xmm3,xmm11,xmm10 + + vpxor xmm9,xmm9,xmm1 + vpaddd xmm5,xmm5,xmm7 + + vpsrld xmm1,xmm10,13 + + vpslld xmm2,xmm10,19 + vpaddd xmm5,xmm5,xmm0 + vpand xmm4,xmm4,xmm3 + + vpxor xmm7,xmm9,xmm1 + + vpsrld xmm1,xmm10,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm10,10 + vpxor xmm9,xmm11,xmm4 + vpaddd xmm13,xmm13,xmm5 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm9,xmm9,xmm5 + vpaddd xmm9,xmm9,xmm7 + vmovdqu xmm5,XMMWORD[((0-128))+rax] + vpaddd xmm6,xmm6,XMMWORD[((128-128))+rax] + + vpsrld xmm7,xmm5,3 + vpsrld xmm1,xmm5,7 + vpslld xmm2,xmm5,25 + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm5,18 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm5,14 + vmovdqu xmm0,XMMWORD[((208-128))+rax] + vpsrld xmm4,xmm0,10 + + vpxor xmm7,xmm7,xmm1 + vpsrld xmm1,xmm0,17 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,15 + vpaddd xmm6,xmm6,xmm7 + vpxor xmm7,xmm4,xmm1 + vpsrld xmm1,xmm0,19 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm0,13 + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + vpaddd xmm6,xmm6,xmm7 + vpsrld xmm7,xmm13,6 + vpslld xmm2,xmm13,26 + vmovdqu XMMWORD[(240-128)+rax],xmm6 + vpaddd xmm6,xmm6,xmm8 + + vpsrld xmm1,xmm13,11 + vpxor xmm7,xmm7,xmm2 + vpslld xmm2,xmm13,21 + vpaddd xmm6,xmm6,XMMWORD[96+rbp] + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm1,xmm13,25 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm13,7 + vpandn xmm0,xmm13,xmm15 + vpand xmm4,xmm13,xmm14 + + vpxor xmm7,xmm7,xmm1 + + vpsrld xmm8,xmm9,2 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm1,xmm9,30 + vpxor xmm0,xmm0,xmm4 + vpxor xmm4,xmm10,xmm9 + + vpxor xmm8,xmm8,xmm1 + vpaddd xmm6,xmm6,xmm7 + + vpsrld xmm1,xmm9,13 + + vpslld xmm2,xmm9,19 + vpaddd xmm6,xmm6,xmm0 + vpand xmm3,xmm3,xmm4 + + vpxor xmm7,xmm8,xmm1 + + vpsrld xmm1,xmm9,22 + vpxor xmm7,xmm7,xmm2 + + vpslld xmm2,xmm9,10 + vpxor xmm8,xmm10,xmm3 + vpaddd xmm12,xmm12,xmm6 + + vpxor xmm7,xmm7,xmm1 + vpxor xmm7,xmm7,xmm2 + + vpaddd xmm8,xmm8,xmm6 + vpaddd xmm8,xmm8,xmm7 + add rbp,256 + dec ecx + jnz NEAR $L$oop_16_xx_avx + + mov ecx,1 + lea rbp,[((K256+128))] + cmp ecx,DWORD[rbx] + cmovge r8,rbp + cmp ecx,DWORD[4+rbx] + cmovge r9,rbp + cmp ecx,DWORD[8+rbx] + cmovge r10,rbp + cmp ecx,DWORD[12+rbx] + cmovge r11,rbp + vmovdqa xmm7,XMMWORD[rbx] + vpxor xmm0,xmm0,xmm0 + vmovdqa xmm6,xmm7 + vpcmpgtd xmm6,xmm6,xmm0 + vpaddd xmm7,xmm7,xmm6 + + vmovdqu xmm0,XMMWORD[((0-128))+rdi] + vpand xmm8,xmm8,xmm6 + vmovdqu xmm1,XMMWORD[((32-128))+rdi] + vpand xmm9,xmm9,xmm6 + vmovdqu xmm2,XMMWORD[((64-128))+rdi] + vpand xmm10,xmm10,xmm6 + vmovdqu xmm5,XMMWORD[((96-128))+rdi] + vpand xmm11,xmm11,xmm6 + vpaddd xmm8,xmm8,xmm0 + vmovdqu xmm0,XMMWORD[((128-128))+rdi] + vpand xmm12,xmm12,xmm6 + vpaddd xmm9,xmm9,xmm1 + vmovdqu xmm1,XMMWORD[((160-128))+rdi] + vpand xmm13,xmm13,xmm6 + vpaddd xmm10,xmm10,xmm2 + vmovdqu xmm2,XMMWORD[((192-128))+rdi] + vpand xmm14,xmm14,xmm6 + vpaddd xmm11,xmm11,xmm5 + vmovdqu xmm5,XMMWORD[((224-128))+rdi] + vpand xmm15,xmm15,xmm6 + vpaddd xmm12,xmm12,xmm0 + vpaddd xmm13,xmm13,xmm1 + vmovdqu XMMWORD[(0-128)+rdi],xmm8 + vpaddd xmm14,xmm14,xmm2 + vmovdqu XMMWORD[(32-128)+rdi],xmm9 + vpaddd xmm15,xmm15,xmm5 + vmovdqu XMMWORD[(64-128)+rdi],xmm10 + vmovdqu XMMWORD[(96-128)+rdi],xmm11 + vmovdqu XMMWORD[(128-128)+rdi],xmm12 + vmovdqu XMMWORD[(160-128)+rdi],xmm13 + vmovdqu XMMWORD[(192-128)+rdi],xmm14 + vmovdqu XMMWORD[(224-128)+rdi],xmm15 + + vmovdqu XMMWORD[rbx],xmm7 + vmovdqu xmm6,XMMWORD[$L$pbswap] + dec edx + jnz NEAR $L$oop_avx + + mov edx,DWORD[280+rsp] + lea rdi,[16+rdi] + lea rsi,[64+rsi] + dec edx + jnz NEAR $L$oop_grande_avx + +$L$done_avx: + mov rax,QWORD[272+rsp] + vzeroupper + movaps xmm6,XMMWORD[((-184))+rax] + movaps xmm7,XMMWORD[((-168))+rax] + movaps xmm8,XMMWORD[((-152))+rax] + movaps xmm9,XMMWORD[((-136))+rax] + movaps xmm10,XMMWORD[((-120))+rax] + movaps xmm11,XMMWORD[((-104))+rax] + movaps xmm12,XMMWORD[((-88))+rax] + movaps xmm13,XMMWORD[((-72))+rax] + movaps xmm14,XMMWORD[((-56))+rax] + movaps xmm15,XMMWORD[((-40))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$epilogue_avx: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha256_multi_block_avx: + +ALIGN 32 +sha256_multi_block_avx2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha256_multi_block_avx2: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_avx2_shortcut: + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + lea rsp,[((-168))+rsp] + movaps XMMWORD[rsp],xmm6 + movaps XMMWORD[16+rsp],xmm7 + movaps XMMWORD[32+rsp],xmm8 + movaps XMMWORD[48+rsp],xmm9 + movaps XMMWORD[64+rsp],xmm10 + movaps XMMWORD[80+rsp],xmm11 + movaps XMMWORD[(-120)+rax],xmm12 + movaps XMMWORD[(-104)+rax],xmm13 + movaps XMMWORD[(-88)+rax],xmm14 + movaps XMMWORD[(-72)+rax],xmm15 + sub rsp,576 + and rsp,-256 + mov QWORD[544+rsp],rax +$L$body_avx2: + lea rbp,[((K256+128))] + lea rdi,[128+rdi] + +$L$oop_grande_avx2: + mov DWORD[552+rsp],edx + xor edx,edx + lea rbx,[512+rsp] + mov r12,QWORD[rsi] + mov ecx,DWORD[8+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[rbx],ecx + cmovle r12,rbp + mov r13,QWORD[16+rsi] + mov ecx,DWORD[24+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[4+rbx],ecx + cmovle r13,rbp + mov r14,QWORD[32+rsi] + mov ecx,DWORD[40+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[8+rbx],ecx + cmovle r14,rbp + mov r15,QWORD[48+rsi] + mov ecx,DWORD[56+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[12+rbx],ecx + cmovle r15,rbp + mov r8,QWORD[64+rsi] + mov ecx,DWORD[72+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[16+rbx],ecx + cmovle r8,rbp + mov r9,QWORD[80+rsi] + mov ecx,DWORD[88+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[20+rbx],ecx + cmovle r9,rbp + mov r10,QWORD[96+rsi] + mov ecx,DWORD[104+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[24+rbx],ecx + cmovle r10,rbp + mov r11,QWORD[112+rsi] + mov ecx,DWORD[120+rsi] + cmp ecx,edx + cmovg edx,ecx + test ecx,ecx + mov DWORD[28+rbx],ecx + cmovle r11,rbp + vmovdqu ymm8,YMMWORD[((0-128))+rdi] + lea rax,[128+rsp] + vmovdqu ymm9,YMMWORD[((32-128))+rdi] + lea rbx,[((256+128))+rsp] + vmovdqu ymm10,YMMWORD[((64-128))+rdi] + vmovdqu ymm11,YMMWORD[((96-128))+rdi] + vmovdqu ymm12,YMMWORD[((128-128))+rdi] + vmovdqu ymm13,YMMWORD[((160-128))+rdi] + vmovdqu ymm14,YMMWORD[((192-128))+rdi] + vmovdqu ymm15,YMMWORD[((224-128))+rdi] + vmovdqu ymm6,YMMWORD[$L$pbswap] + jmp NEAR $L$oop_avx2 + +ALIGN 32 +$L$oop_avx2: + vpxor ymm4,ymm10,ymm9 + vmovd xmm5,DWORD[r12] + vmovd xmm0,DWORD[r8] + vmovd xmm1,DWORD[r13] + vmovd xmm2,DWORD[r9] + vpinsrd xmm5,xmm5,DWORD[r14],1 + vpinsrd xmm0,xmm0,DWORD[r10],1 + vpinsrd xmm1,xmm1,DWORD[r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm12,6 + vpslld ymm2,ymm12,26 + vmovdqu YMMWORD[(0-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm15 + + vpsrld ymm1,ymm12,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm12,21 + vpaddd ymm5,ymm5,YMMWORD[((-128))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm12,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm12,7 + vpandn ymm0,ymm12,ymm14 + vpand ymm3,ymm12,ymm13 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm15,ymm8,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm8,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm9,ymm8 + + vpxor ymm15,ymm15,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm8,13 + + vpslld ymm2,ymm8,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm15,ymm1 + + vpsrld ymm1,ymm8,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm8,10 + vpxor ymm15,ymm9,ymm4 + vpaddd ymm11,ymm11,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm15,ymm15,ymm5 + vpaddd ymm15,ymm15,ymm7 + vmovd xmm5,DWORD[4+r12] + vmovd xmm0,DWORD[4+r8] + vmovd xmm1,DWORD[4+r13] + vmovd xmm2,DWORD[4+r9] + vpinsrd xmm5,xmm5,DWORD[4+r14],1 + vpinsrd xmm0,xmm0,DWORD[4+r10],1 + vpinsrd xmm1,xmm1,DWORD[4+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[4+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm11,6 + vpslld ymm2,ymm11,26 + vmovdqu YMMWORD[(32-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm14 + + vpsrld ymm1,ymm11,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm11,21 + vpaddd ymm5,ymm5,YMMWORD[((-96))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm11,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm11,7 + vpandn ymm0,ymm11,ymm13 + vpand ymm4,ymm11,ymm12 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm14,ymm15,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm15,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm8,ymm15 + + vpxor ymm14,ymm14,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm15,13 + + vpslld ymm2,ymm15,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm14,ymm1 + + vpsrld ymm1,ymm15,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm15,10 + vpxor ymm14,ymm8,ymm3 + vpaddd ymm10,ymm10,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm14,ymm14,ymm5 + vpaddd ymm14,ymm14,ymm7 + vmovd xmm5,DWORD[8+r12] + vmovd xmm0,DWORD[8+r8] + vmovd xmm1,DWORD[8+r13] + vmovd xmm2,DWORD[8+r9] + vpinsrd xmm5,xmm5,DWORD[8+r14],1 + vpinsrd xmm0,xmm0,DWORD[8+r10],1 + vpinsrd xmm1,xmm1,DWORD[8+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[8+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm10,6 + vpslld ymm2,ymm10,26 + vmovdqu YMMWORD[(64-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm13 + + vpsrld ymm1,ymm10,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm10,21 + vpaddd ymm5,ymm5,YMMWORD[((-64))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm10,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm10,7 + vpandn ymm0,ymm10,ymm12 + vpand ymm3,ymm10,ymm11 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm13,ymm14,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm14,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm15,ymm14 + + vpxor ymm13,ymm13,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm14,13 + + vpslld ymm2,ymm14,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm13,ymm1 + + vpsrld ymm1,ymm14,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm14,10 + vpxor ymm13,ymm15,ymm4 + vpaddd ymm9,ymm9,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm13,ymm13,ymm5 + vpaddd ymm13,ymm13,ymm7 + vmovd xmm5,DWORD[12+r12] + vmovd xmm0,DWORD[12+r8] + vmovd xmm1,DWORD[12+r13] + vmovd xmm2,DWORD[12+r9] + vpinsrd xmm5,xmm5,DWORD[12+r14],1 + vpinsrd xmm0,xmm0,DWORD[12+r10],1 + vpinsrd xmm1,xmm1,DWORD[12+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[12+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm9,6 + vpslld ymm2,ymm9,26 + vmovdqu YMMWORD[(96-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm12 + + vpsrld ymm1,ymm9,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm9,21 + vpaddd ymm5,ymm5,YMMWORD[((-32))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm9,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm9,7 + vpandn ymm0,ymm9,ymm11 + vpand ymm4,ymm9,ymm10 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm12,ymm13,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm13,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm14,ymm13 + + vpxor ymm12,ymm12,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm13,13 + + vpslld ymm2,ymm13,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm12,ymm1 + + vpsrld ymm1,ymm13,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm13,10 + vpxor ymm12,ymm14,ymm3 + vpaddd ymm8,ymm8,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm12,ymm12,ymm5 + vpaddd ymm12,ymm12,ymm7 + vmovd xmm5,DWORD[16+r12] + vmovd xmm0,DWORD[16+r8] + vmovd xmm1,DWORD[16+r13] + vmovd xmm2,DWORD[16+r9] + vpinsrd xmm5,xmm5,DWORD[16+r14],1 + vpinsrd xmm0,xmm0,DWORD[16+r10],1 + vpinsrd xmm1,xmm1,DWORD[16+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[16+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm8,6 + vpslld ymm2,ymm8,26 + vmovdqu YMMWORD[(128-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm11 + + vpsrld ymm1,ymm8,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm8,21 + vpaddd ymm5,ymm5,YMMWORD[rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm8,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm8,7 + vpandn ymm0,ymm8,ymm10 + vpand ymm3,ymm8,ymm9 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm11,ymm12,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm12,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm13,ymm12 + + vpxor ymm11,ymm11,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm12,13 + + vpslld ymm2,ymm12,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm11,ymm1 + + vpsrld ymm1,ymm12,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm12,10 + vpxor ymm11,ymm13,ymm4 + vpaddd ymm15,ymm15,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm11,ymm11,ymm5 + vpaddd ymm11,ymm11,ymm7 + vmovd xmm5,DWORD[20+r12] + vmovd xmm0,DWORD[20+r8] + vmovd xmm1,DWORD[20+r13] + vmovd xmm2,DWORD[20+r9] + vpinsrd xmm5,xmm5,DWORD[20+r14],1 + vpinsrd xmm0,xmm0,DWORD[20+r10],1 + vpinsrd xmm1,xmm1,DWORD[20+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[20+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm15,6 + vpslld ymm2,ymm15,26 + vmovdqu YMMWORD[(160-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm10 + + vpsrld ymm1,ymm15,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm15,21 + vpaddd ymm5,ymm5,YMMWORD[32+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm15,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm15,7 + vpandn ymm0,ymm15,ymm9 + vpand ymm4,ymm15,ymm8 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm10,ymm11,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm11,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm12,ymm11 + + vpxor ymm10,ymm10,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm11,13 + + vpslld ymm2,ymm11,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm10,ymm1 + + vpsrld ymm1,ymm11,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm11,10 + vpxor ymm10,ymm12,ymm3 + vpaddd ymm14,ymm14,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm10,ymm10,ymm5 + vpaddd ymm10,ymm10,ymm7 + vmovd xmm5,DWORD[24+r12] + vmovd xmm0,DWORD[24+r8] + vmovd xmm1,DWORD[24+r13] + vmovd xmm2,DWORD[24+r9] + vpinsrd xmm5,xmm5,DWORD[24+r14],1 + vpinsrd xmm0,xmm0,DWORD[24+r10],1 + vpinsrd xmm1,xmm1,DWORD[24+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[24+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm14,6 + vpslld ymm2,ymm14,26 + vmovdqu YMMWORD[(192-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm9 + + vpsrld ymm1,ymm14,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm14,21 + vpaddd ymm5,ymm5,YMMWORD[64+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm14,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm14,7 + vpandn ymm0,ymm14,ymm8 + vpand ymm3,ymm14,ymm15 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm9,ymm10,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm10,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm11,ymm10 + + vpxor ymm9,ymm9,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm10,13 + + vpslld ymm2,ymm10,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm9,ymm1 + + vpsrld ymm1,ymm10,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm10,10 + vpxor ymm9,ymm11,ymm4 + vpaddd ymm13,ymm13,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm9,ymm9,ymm5 + vpaddd ymm9,ymm9,ymm7 + vmovd xmm5,DWORD[28+r12] + vmovd xmm0,DWORD[28+r8] + vmovd xmm1,DWORD[28+r13] + vmovd xmm2,DWORD[28+r9] + vpinsrd xmm5,xmm5,DWORD[28+r14],1 + vpinsrd xmm0,xmm0,DWORD[28+r10],1 + vpinsrd xmm1,xmm1,DWORD[28+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[28+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm13,6 + vpslld ymm2,ymm13,26 + vmovdqu YMMWORD[(224-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm8 + + vpsrld ymm1,ymm13,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm13,21 + vpaddd ymm5,ymm5,YMMWORD[96+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm13,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm13,7 + vpandn ymm0,ymm13,ymm15 + vpand ymm4,ymm13,ymm14 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm8,ymm9,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm9,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm10,ymm9 + + vpxor ymm8,ymm8,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm9,13 + + vpslld ymm2,ymm9,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm8,ymm1 + + vpsrld ymm1,ymm9,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm9,10 + vpxor ymm8,ymm10,ymm3 + vpaddd ymm12,ymm12,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm8,ymm8,ymm5 + vpaddd ymm8,ymm8,ymm7 + add rbp,256 + vmovd xmm5,DWORD[32+r12] + vmovd xmm0,DWORD[32+r8] + vmovd xmm1,DWORD[32+r13] + vmovd xmm2,DWORD[32+r9] + vpinsrd xmm5,xmm5,DWORD[32+r14],1 + vpinsrd xmm0,xmm0,DWORD[32+r10],1 + vpinsrd xmm1,xmm1,DWORD[32+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[32+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm12,6 + vpslld ymm2,ymm12,26 + vmovdqu YMMWORD[(256-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm15 + + vpsrld ymm1,ymm12,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm12,21 + vpaddd ymm5,ymm5,YMMWORD[((-128))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm12,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm12,7 + vpandn ymm0,ymm12,ymm14 + vpand ymm3,ymm12,ymm13 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm15,ymm8,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm8,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm9,ymm8 + + vpxor ymm15,ymm15,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm8,13 + + vpslld ymm2,ymm8,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm15,ymm1 + + vpsrld ymm1,ymm8,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm8,10 + vpxor ymm15,ymm9,ymm4 + vpaddd ymm11,ymm11,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm15,ymm15,ymm5 + vpaddd ymm15,ymm15,ymm7 + vmovd xmm5,DWORD[36+r12] + vmovd xmm0,DWORD[36+r8] + vmovd xmm1,DWORD[36+r13] + vmovd xmm2,DWORD[36+r9] + vpinsrd xmm5,xmm5,DWORD[36+r14],1 + vpinsrd xmm0,xmm0,DWORD[36+r10],1 + vpinsrd xmm1,xmm1,DWORD[36+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[36+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm11,6 + vpslld ymm2,ymm11,26 + vmovdqu YMMWORD[(288-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm14 + + vpsrld ymm1,ymm11,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm11,21 + vpaddd ymm5,ymm5,YMMWORD[((-96))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm11,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm11,7 + vpandn ymm0,ymm11,ymm13 + vpand ymm4,ymm11,ymm12 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm14,ymm15,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm15,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm8,ymm15 + + vpxor ymm14,ymm14,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm15,13 + + vpslld ymm2,ymm15,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm14,ymm1 + + vpsrld ymm1,ymm15,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm15,10 + vpxor ymm14,ymm8,ymm3 + vpaddd ymm10,ymm10,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm14,ymm14,ymm5 + vpaddd ymm14,ymm14,ymm7 + vmovd xmm5,DWORD[40+r12] + vmovd xmm0,DWORD[40+r8] + vmovd xmm1,DWORD[40+r13] + vmovd xmm2,DWORD[40+r9] + vpinsrd xmm5,xmm5,DWORD[40+r14],1 + vpinsrd xmm0,xmm0,DWORD[40+r10],1 + vpinsrd xmm1,xmm1,DWORD[40+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[40+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm10,6 + vpslld ymm2,ymm10,26 + vmovdqu YMMWORD[(320-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm13 + + vpsrld ymm1,ymm10,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm10,21 + vpaddd ymm5,ymm5,YMMWORD[((-64))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm10,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm10,7 + vpandn ymm0,ymm10,ymm12 + vpand ymm3,ymm10,ymm11 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm13,ymm14,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm14,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm15,ymm14 + + vpxor ymm13,ymm13,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm14,13 + + vpslld ymm2,ymm14,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm13,ymm1 + + vpsrld ymm1,ymm14,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm14,10 + vpxor ymm13,ymm15,ymm4 + vpaddd ymm9,ymm9,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm13,ymm13,ymm5 + vpaddd ymm13,ymm13,ymm7 + vmovd xmm5,DWORD[44+r12] + vmovd xmm0,DWORD[44+r8] + vmovd xmm1,DWORD[44+r13] + vmovd xmm2,DWORD[44+r9] + vpinsrd xmm5,xmm5,DWORD[44+r14],1 + vpinsrd xmm0,xmm0,DWORD[44+r10],1 + vpinsrd xmm1,xmm1,DWORD[44+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[44+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm9,6 + vpslld ymm2,ymm9,26 + vmovdqu YMMWORD[(352-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm12 + + vpsrld ymm1,ymm9,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm9,21 + vpaddd ymm5,ymm5,YMMWORD[((-32))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm9,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm9,7 + vpandn ymm0,ymm9,ymm11 + vpand ymm4,ymm9,ymm10 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm12,ymm13,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm13,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm14,ymm13 + + vpxor ymm12,ymm12,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm13,13 + + vpslld ymm2,ymm13,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm12,ymm1 + + vpsrld ymm1,ymm13,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm13,10 + vpxor ymm12,ymm14,ymm3 + vpaddd ymm8,ymm8,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm12,ymm12,ymm5 + vpaddd ymm12,ymm12,ymm7 + vmovd xmm5,DWORD[48+r12] + vmovd xmm0,DWORD[48+r8] + vmovd xmm1,DWORD[48+r13] + vmovd xmm2,DWORD[48+r9] + vpinsrd xmm5,xmm5,DWORD[48+r14],1 + vpinsrd xmm0,xmm0,DWORD[48+r10],1 + vpinsrd xmm1,xmm1,DWORD[48+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[48+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm8,6 + vpslld ymm2,ymm8,26 + vmovdqu YMMWORD[(384-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm11 + + vpsrld ymm1,ymm8,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm8,21 + vpaddd ymm5,ymm5,YMMWORD[rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm8,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm8,7 + vpandn ymm0,ymm8,ymm10 + vpand ymm3,ymm8,ymm9 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm11,ymm12,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm12,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm13,ymm12 + + vpxor ymm11,ymm11,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm12,13 + + vpslld ymm2,ymm12,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm11,ymm1 + + vpsrld ymm1,ymm12,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm12,10 + vpxor ymm11,ymm13,ymm4 + vpaddd ymm15,ymm15,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm11,ymm11,ymm5 + vpaddd ymm11,ymm11,ymm7 + vmovd xmm5,DWORD[52+r12] + vmovd xmm0,DWORD[52+r8] + vmovd xmm1,DWORD[52+r13] + vmovd xmm2,DWORD[52+r9] + vpinsrd xmm5,xmm5,DWORD[52+r14],1 + vpinsrd xmm0,xmm0,DWORD[52+r10],1 + vpinsrd xmm1,xmm1,DWORD[52+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[52+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm15,6 + vpslld ymm2,ymm15,26 + vmovdqu YMMWORD[(416-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm10 + + vpsrld ymm1,ymm15,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm15,21 + vpaddd ymm5,ymm5,YMMWORD[32+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm15,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm15,7 + vpandn ymm0,ymm15,ymm9 + vpand ymm4,ymm15,ymm8 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm10,ymm11,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm11,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm12,ymm11 + + vpxor ymm10,ymm10,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm11,13 + + vpslld ymm2,ymm11,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm10,ymm1 + + vpsrld ymm1,ymm11,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm11,10 + vpxor ymm10,ymm12,ymm3 + vpaddd ymm14,ymm14,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm10,ymm10,ymm5 + vpaddd ymm10,ymm10,ymm7 + vmovd xmm5,DWORD[56+r12] + vmovd xmm0,DWORD[56+r8] + vmovd xmm1,DWORD[56+r13] + vmovd xmm2,DWORD[56+r9] + vpinsrd xmm5,xmm5,DWORD[56+r14],1 + vpinsrd xmm0,xmm0,DWORD[56+r10],1 + vpinsrd xmm1,xmm1,DWORD[56+r15],1 + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[56+r11],1 + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm14,6 + vpslld ymm2,ymm14,26 + vmovdqu YMMWORD[(448-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm9 + + vpsrld ymm1,ymm14,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm14,21 + vpaddd ymm5,ymm5,YMMWORD[64+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm14,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm14,7 + vpandn ymm0,ymm14,ymm8 + vpand ymm3,ymm14,ymm15 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm9,ymm10,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm10,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm11,ymm10 + + vpxor ymm9,ymm9,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm10,13 + + vpslld ymm2,ymm10,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm9,ymm1 + + vpsrld ymm1,ymm10,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm10,10 + vpxor ymm9,ymm11,ymm4 + vpaddd ymm13,ymm13,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm9,ymm9,ymm5 + vpaddd ymm9,ymm9,ymm7 + vmovd xmm5,DWORD[60+r12] + lea r12,[64+r12] + vmovd xmm0,DWORD[60+r8] + lea r8,[64+r8] + vmovd xmm1,DWORD[60+r13] + lea r13,[64+r13] + vmovd xmm2,DWORD[60+r9] + lea r9,[64+r9] + vpinsrd xmm5,xmm5,DWORD[60+r14],1 + lea r14,[64+r14] + vpinsrd xmm0,xmm0,DWORD[60+r10],1 + lea r10,[64+r10] + vpinsrd xmm1,xmm1,DWORD[60+r15],1 + lea r15,[64+r15] + vpunpckldq ymm5,ymm5,ymm1 + vpinsrd xmm2,xmm2,DWORD[60+r11],1 + lea r11,[64+r11] + vpunpckldq ymm0,ymm0,ymm2 + vinserti128 ymm5,ymm5,xmm0,1 + vpshufb ymm5,ymm5,ymm6 + vpsrld ymm7,ymm13,6 + vpslld ymm2,ymm13,26 + vmovdqu YMMWORD[(480-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm8 + + vpsrld ymm1,ymm13,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm13,21 + vpaddd ymm5,ymm5,YMMWORD[96+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm13,25 + vpxor ymm7,ymm7,ymm2 + prefetcht0 [63+r12] + vpslld ymm2,ymm13,7 + vpandn ymm0,ymm13,ymm15 + vpand ymm4,ymm13,ymm14 + prefetcht0 [63+r13] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm8,ymm9,2 + vpxor ymm7,ymm7,ymm2 + prefetcht0 [63+r14] + vpslld ymm1,ymm9,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm10,ymm9 + prefetcht0 [63+r15] + vpxor ymm8,ymm8,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm9,13 + prefetcht0 [63+r8] + vpslld ymm2,ymm9,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm3,ymm3,ymm4 + prefetcht0 [63+r9] + vpxor ymm7,ymm8,ymm1 + + vpsrld ymm1,ymm9,22 + vpxor ymm7,ymm7,ymm2 + prefetcht0 [63+r10] + vpslld ymm2,ymm9,10 + vpxor ymm8,ymm10,ymm3 + vpaddd ymm12,ymm12,ymm5 + prefetcht0 [63+r11] + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm8,ymm8,ymm5 + vpaddd ymm8,ymm8,ymm7 + add rbp,256 + vmovdqu ymm5,YMMWORD[((0-128))+rax] + mov ecx,3 + jmp NEAR $L$oop_16_xx_avx2 +ALIGN 32 +$L$oop_16_xx_avx2: + vmovdqu ymm6,YMMWORD[((32-128))+rax] + vpaddd ymm5,ymm5,YMMWORD[((288-256-128))+rbx] + + vpsrld ymm7,ymm6,3 + vpsrld ymm1,ymm6,7 + vpslld ymm2,ymm6,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm6,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm6,14 + vmovdqu ymm0,YMMWORD[((448-256-128))+rbx] + vpsrld ymm3,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm5,ymm5,ymm7 + vpxor ymm7,ymm3,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm5,ymm5,ymm7 + vpsrld ymm7,ymm12,6 + vpslld ymm2,ymm12,26 + vmovdqu YMMWORD[(0-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm15 + + vpsrld ymm1,ymm12,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm12,21 + vpaddd ymm5,ymm5,YMMWORD[((-128))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm12,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm12,7 + vpandn ymm0,ymm12,ymm14 + vpand ymm3,ymm12,ymm13 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm15,ymm8,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm8,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm9,ymm8 + + vpxor ymm15,ymm15,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm8,13 + + vpslld ymm2,ymm8,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm15,ymm1 + + vpsrld ymm1,ymm8,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm8,10 + vpxor ymm15,ymm9,ymm4 + vpaddd ymm11,ymm11,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm15,ymm15,ymm5 + vpaddd ymm15,ymm15,ymm7 + vmovdqu ymm5,YMMWORD[((64-128))+rax] + vpaddd ymm6,ymm6,YMMWORD[((320-256-128))+rbx] + + vpsrld ymm7,ymm5,3 + vpsrld ymm1,ymm5,7 + vpslld ymm2,ymm5,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm5,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm5,14 + vmovdqu ymm0,YMMWORD[((480-256-128))+rbx] + vpsrld ymm4,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm6,ymm6,ymm7 + vpxor ymm7,ymm4,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm6,ymm6,ymm7 + vpsrld ymm7,ymm11,6 + vpslld ymm2,ymm11,26 + vmovdqu YMMWORD[(32-128)+rax],ymm6 + vpaddd ymm6,ymm6,ymm14 + + vpsrld ymm1,ymm11,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm11,21 + vpaddd ymm6,ymm6,YMMWORD[((-96))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm11,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm11,7 + vpandn ymm0,ymm11,ymm13 + vpand ymm4,ymm11,ymm12 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm14,ymm15,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm15,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm8,ymm15 + + vpxor ymm14,ymm14,ymm1 + vpaddd ymm6,ymm6,ymm7 + + vpsrld ymm1,ymm15,13 + + vpslld ymm2,ymm15,19 + vpaddd ymm6,ymm6,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm14,ymm1 + + vpsrld ymm1,ymm15,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm15,10 + vpxor ymm14,ymm8,ymm3 + vpaddd ymm10,ymm10,ymm6 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm14,ymm14,ymm6 + vpaddd ymm14,ymm14,ymm7 + vmovdqu ymm6,YMMWORD[((96-128))+rax] + vpaddd ymm5,ymm5,YMMWORD[((352-256-128))+rbx] + + vpsrld ymm7,ymm6,3 + vpsrld ymm1,ymm6,7 + vpslld ymm2,ymm6,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm6,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm6,14 + vmovdqu ymm0,YMMWORD[((0-128))+rax] + vpsrld ymm3,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm5,ymm5,ymm7 + vpxor ymm7,ymm3,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm5,ymm5,ymm7 + vpsrld ymm7,ymm10,6 + vpslld ymm2,ymm10,26 + vmovdqu YMMWORD[(64-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm13 + + vpsrld ymm1,ymm10,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm10,21 + vpaddd ymm5,ymm5,YMMWORD[((-64))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm10,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm10,7 + vpandn ymm0,ymm10,ymm12 + vpand ymm3,ymm10,ymm11 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm13,ymm14,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm14,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm15,ymm14 + + vpxor ymm13,ymm13,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm14,13 + + vpslld ymm2,ymm14,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm13,ymm1 + + vpsrld ymm1,ymm14,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm14,10 + vpxor ymm13,ymm15,ymm4 + vpaddd ymm9,ymm9,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm13,ymm13,ymm5 + vpaddd ymm13,ymm13,ymm7 + vmovdqu ymm5,YMMWORD[((128-128))+rax] + vpaddd ymm6,ymm6,YMMWORD[((384-256-128))+rbx] + + vpsrld ymm7,ymm5,3 + vpsrld ymm1,ymm5,7 + vpslld ymm2,ymm5,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm5,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm5,14 + vmovdqu ymm0,YMMWORD[((32-128))+rax] + vpsrld ymm4,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm6,ymm6,ymm7 + vpxor ymm7,ymm4,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm6,ymm6,ymm7 + vpsrld ymm7,ymm9,6 + vpslld ymm2,ymm9,26 + vmovdqu YMMWORD[(96-128)+rax],ymm6 + vpaddd ymm6,ymm6,ymm12 + + vpsrld ymm1,ymm9,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm9,21 + vpaddd ymm6,ymm6,YMMWORD[((-32))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm9,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm9,7 + vpandn ymm0,ymm9,ymm11 + vpand ymm4,ymm9,ymm10 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm12,ymm13,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm13,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm14,ymm13 + + vpxor ymm12,ymm12,ymm1 + vpaddd ymm6,ymm6,ymm7 + + vpsrld ymm1,ymm13,13 + + vpslld ymm2,ymm13,19 + vpaddd ymm6,ymm6,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm12,ymm1 + + vpsrld ymm1,ymm13,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm13,10 + vpxor ymm12,ymm14,ymm3 + vpaddd ymm8,ymm8,ymm6 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm12,ymm12,ymm6 + vpaddd ymm12,ymm12,ymm7 + vmovdqu ymm6,YMMWORD[((160-128))+rax] + vpaddd ymm5,ymm5,YMMWORD[((416-256-128))+rbx] + + vpsrld ymm7,ymm6,3 + vpsrld ymm1,ymm6,7 + vpslld ymm2,ymm6,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm6,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm6,14 + vmovdqu ymm0,YMMWORD[((64-128))+rax] + vpsrld ymm3,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm5,ymm5,ymm7 + vpxor ymm7,ymm3,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm5,ymm5,ymm7 + vpsrld ymm7,ymm8,6 + vpslld ymm2,ymm8,26 + vmovdqu YMMWORD[(128-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm11 + + vpsrld ymm1,ymm8,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm8,21 + vpaddd ymm5,ymm5,YMMWORD[rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm8,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm8,7 + vpandn ymm0,ymm8,ymm10 + vpand ymm3,ymm8,ymm9 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm11,ymm12,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm12,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm13,ymm12 + + vpxor ymm11,ymm11,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm12,13 + + vpslld ymm2,ymm12,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm11,ymm1 + + vpsrld ymm1,ymm12,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm12,10 + vpxor ymm11,ymm13,ymm4 + vpaddd ymm15,ymm15,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm11,ymm11,ymm5 + vpaddd ymm11,ymm11,ymm7 + vmovdqu ymm5,YMMWORD[((192-128))+rax] + vpaddd ymm6,ymm6,YMMWORD[((448-256-128))+rbx] + + vpsrld ymm7,ymm5,3 + vpsrld ymm1,ymm5,7 + vpslld ymm2,ymm5,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm5,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm5,14 + vmovdqu ymm0,YMMWORD[((96-128))+rax] + vpsrld ymm4,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm6,ymm6,ymm7 + vpxor ymm7,ymm4,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm6,ymm6,ymm7 + vpsrld ymm7,ymm15,6 + vpslld ymm2,ymm15,26 + vmovdqu YMMWORD[(160-128)+rax],ymm6 + vpaddd ymm6,ymm6,ymm10 + + vpsrld ymm1,ymm15,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm15,21 + vpaddd ymm6,ymm6,YMMWORD[32+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm15,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm15,7 + vpandn ymm0,ymm15,ymm9 + vpand ymm4,ymm15,ymm8 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm10,ymm11,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm11,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm12,ymm11 + + vpxor ymm10,ymm10,ymm1 + vpaddd ymm6,ymm6,ymm7 + + vpsrld ymm1,ymm11,13 + + vpslld ymm2,ymm11,19 + vpaddd ymm6,ymm6,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm10,ymm1 + + vpsrld ymm1,ymm11,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm11,10 + vpxor ymm10,ymm12,ymm3 + vpaddd ymm14,ymm14,ymm6 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm10,ymm10,ymm6 + vpaddd ymm10,ymm10,ymm7 + vmovdqu ymm6,YMMWORD[((224-128))+rax] + vpaddd ymm5,ymm5,YMMWORD[((480-256-128))+rbx] + + vpsrld ymm7,ymm6,3 + vpsrld ymm1,ymm6,7 + vpslld ymm2,ymm6,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm6,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm6,14 + vmovdqu ymm0,YMMWORD[((128-128))+rax] + vpsrld ymm3,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm5,ymm5,ymm7 + vpxor ymm7,ymm3,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm5,ymm5,ymm7 + vpsrld ymm7,ymm14,6 + vpslld ymm2,ymm14,26 + vmovdqu YMMWORD[(192-128)+rax],ymm5 + vpaddd ymm5,ymm5,ymm9 + + vpsrld ymm1,ymm14,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm14,21 + vpaddd ymm5,ymm5,YMMWORD[64+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm14,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm14,7 + vpandn ymm0,ymm14,ymm8 + vpand ymm3,ymm14,ymm15 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm9,ymm10,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm10,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm11,ymm10 + + vpxor ymm9,ymm9,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm10,13 + + vpslld ymm2,ymm10,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm9,ymm1 + + vpsrld ymm1,ymm10,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm10,10 + vpxor ymm9,ymm11,ymm4 + vpaddd ymm13,ymm13,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm9,ymm9,ymm5 + vpaddd ymm9,ymm9,ymm7 + vmovdqu ymm5,YMMWORD[((256-256-128))+rbx] + vpaddd ymm6,ymm6,YMMWORD[((0-128))+rax] + + vpsrld ymm7,ymm5,3 + vpsrld ymm1,ymm5,7 + vpslld ymm2,ymm5,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm5,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm5,14 + vmovdqu ymm0,YMMWORD[((160-128))+rax] + vpsrld ymm4,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm6,ymm6,ymm7 + vpxor ymm7,ymm4,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm6,ymm6,ymm7 + vpsrld ymm7,ymm13,6 + vpslld ymm2,ymm13,26 + vmovdqu YMMWORD[(224-128)+rax],ymm6 + vpaddd ymm6,ymm6,ymm8 + + vpsrld ymm1,ymm13,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm13,21 + vpaddd ymm6,ymm6,YMMWORD[96+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm13,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm13,7 + vpandn ymm0,ymm13,ymm15 + vpand ymm4,ymm13,ymm14 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm8,ymm9,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm9,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm10,ymm9 + + vpxor ymm8,ymm8,ymm1 + vpaddd ymm6,ymm6,ymm7 + + vpsrld ymm1,ymm9,13 + + vpslld ymm2,ymm9,19 + vpaddd ymm6,ymm6,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm8,ymm1 + + vpsrld ymm1,ymm9,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm9,10 + vpxor ymm8,ymm10,ymm3 + vpaddd ymm12,ymm12,ymm6 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm8,ymm8,ymm6 + vpaddd ymm8,ymm8,ymm7 + add rbp,256 + vmovdqu ymm6,YMMWORD[((288-256-128))+rbx] + vpaddd ymm5,ymm5,YMMWORD[((32-128))+rax] + + vpsrld ymm7,ymm6,3 + vpsrld ymm1,ymm6,7 + vpslld ymm2,ymm6,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm6,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm6,14 + vmovdqu ymm0,YMMWORD[((192-128))+rax] + vpsrld ymm3,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm5,ymm5,ymm7 + vpxor ymm7,ymm3,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm5,ymm5,ymm7 + vpsrld ymm7,ymm12,6 + vpslld ymm2,ymm12,26 + vmovdqu YMMWORD[(256-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm15 + + vpsrld ymm1,ymm12,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm12,21 + vpaddd ymm5,ymm5,YMMWORD[((-128))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm12,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm12,7 + vpandn ymm0,ymm12,ymm14 + vpand ymm3,ymm12,ymm13 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm15,ymm8,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm8,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm9,ymm8 + + vpxor ymm15,ymm15,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm8,13 + + vpslld ymm2,ymm8,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm15,ymm1 + + vpsrld ymm1,ymm8,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm8,10 + vpxor ymm15,ymm9,ymm4 + vpaddd ymm11,ymm11,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm15,ymm15,ymm5 + vpaddd ymm15,ymm15,ymm7 + vmovdqu ymm5,YMMWORD[((320-256-128))+rbx] + vpaddd ymm6,ymm6,YMMWORD[((64-128))+rax] + + vpsrld ymm7,ymm5,3 + vpsrld ymm1,ymm5,7 + vpslld ymm2,ymm5,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm5,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm5,14 + vmovdqu ymm0,YMMWORD[((224-128))+rax] + vpsrld ymm4,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm6,ymm6,ymm7 + vpxor ymm7,ymm4,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm6,ymm6,ymm7 + vpsrld ymm7,ymm11,6 + vpslld ymm2,ymm11,26 + vmovdqu YMMWORD[(288-256-128)+rbx],ymm6 + vpaddd ymm6,ymm6,ymm14 + + vpsrld ymm1,ymm11,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm11,21 + vpaddd ymm6,ymm6,YMMWORD[((-96))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm11,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm11,7 + vpandn ymm0,ymm11,ymm13 + vpand ymm4,ymm11,ymm12 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm14,ymm15,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm15,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm8,ymm15 + + vpxor ymm14,ymm14,ymm1 + vpaddd ymm6,ymm6,ymm7 + + vpsrld ymm1,ymm15,13 + + vpslld ymm2,ymm15,19 + vpaddd ymm6,ymm6,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm14,ymm1 + + vpsrld ymm1,ymm15,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm15,10 + vpxor ymm14,ymm8,ymm3 + vpaddd ymm10,ymm10,ymm6 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm14,ymm14,ymm6 + vpaddd ymm14,ymm14,ymm7 + vmovdqu ymm6,YMMWORD[((352-256-128))+rbx] + vpaddd ymm5,ymm5,YMMWORD[((96-128))+rax] + + vpsrld ymm7,ymm6,3 + vpsrld ymm1,ymm6,7 + vpslld ymm2,ymm6,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm6,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm6,14 + vmovdqu ymm0,YMMWORD[((256-256-128))+rbx] + vpsrld ymm3,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm5,ymm5,ymm7 + vpxor ymm7,ymm3,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm5,ymm5,ymm7 + vpsrld ymm7,ymm10,6 + vpslld ymm2,ymm10,26 + vmovdqu YMMWORD[(320-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm13 + + vpsrld ymm1,ymm10,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm10,21 + vpaddd ymm5,ymm5,YMMWORD[((-64))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm10,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm10,7 + vpandn ymm0,ymm10,ymm12 + vpand ymm3,ymm10,ymm11 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm13,ymm14,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm14,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm15,ymm14 + + vpxor ymm13,ymm13,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm14,13 + + vpslld ymm2,ymm14,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm13,ymm1 + + vpsrld ymm1,ymm14,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm14,10 + vpxor ymm13,ymm15,ymm4 + vpaddd ymm9,ymm9,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm13,ymm13,ymm5 + vpaddd ymm13,ymm13,ymm7 + vmovdqu ymm5,YMMWORD[((384-256-128))+rbx] + vpaddd ymm6,ymm6,YMMWORD[((128-128))+rax] + + vpsrld ymm7,ymm5,3 + vpsrld ymm1,ymm5,7 + vpslld ymm2,ymm5,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm5,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm5,14 + vmovdqu ymm0,YMMWORD[((288-256-128))+rbx] + vpsrld ymm4,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm6,ymm6,ymm7 + vpxor ymm7,ymm4,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm6,ymm6,ymm7 + vpsrld ymm7,ymm9,6 + vpslld ymm2,ymm9,26 + vmovdqu YMMWORD[(352-256-128)+rbx],ymm6 + vpaddd ymm6,ymm6,ymm12 + + vpsrld ymm1,ymm9,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm9,21 + vpaddd ymm6,ymm6,YMMWORD[((-32))+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm9,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm9,7 + vpandn ymm0,ymm9,ymm11 + vpand ymm4,ymm9,ymm10 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm12,ymm13,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm13,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm14,ymm13 + + vpxor ymm12,ymm12,ymm1 + vpaddd ymm6,ymm6,ymm7 + + vpsrld ymm1,ymm13,13 + + vpslld ymm2,ymm13,19 + vpaddd ymm6,ymm6,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm12,ymm1 + + vpsrld ymm1,ymm13,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm13,10 + vpxor ymm12,ymm14,ymm3 + vpaddd ymm8,ymm8,ymm6 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm12,ymm12,ymm6 + vpaddd ymm12,ymm12,ymm7 + vmovdqu ymm6,YMMWORD[((416-256-128))+rbx] + vpaddd ymm5,ymm5,YMMWORD[((160-128))+rax] + + vpsrld ymm7,ymm6,3 + vpsrld ymm1,ymm6,7 + vpslld ymm2,ymm6,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm6,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm6,14 + vmovdqu ymm0,YMMWORD[((320-256-128))+rbx] + vpsrld ymm3,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm5,ymm5,ymm7 + vpxor ymm7,ymm3,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm5,ymm5,ymm7 + vpsrld ymm7,ymm8,6 + vpslld ymm2,ymm8,26 + vmovdqu YMMWORD[(384-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm11 + + vpsrld ymm1,ymm8,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm8,21 + vpaddd ymm5,ymm5,YMMWORD[rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm8,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm8,7 + vpandn ymm0,ymm8,ymm10 + vpand ymm3,ymm8,ymm9 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm11,ymm12,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm12,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm13,ymm12 + + vpxor ymm11,ymm11,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm12,13 + + vpslld ymm2,ymm12,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm11,ymm1 + + vpsrld ymm1,ymm12,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm12,10 + vpxor ymm11,ymm13,ymm4 + vpaddd ymm15,ymm15,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm11,ymm11,ymm5 + vpaddd ymm11,ymm11,ymm7 + vmovdqu ymm5,YMMWORD[((448-256-128))+rbx] + vpaddd ymm6,ymm6,YMMWORD[((192-128))+rax] + + vpsrld ymm7,ymm5,3 + vpsrld ymm1,ymm5,7 + vpslld ymm2,ymm5,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm5,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm5,14 + vmovdqu ymm0,YMMWORD[((352-256-128))+rbx] + vpsrld ymm4,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm6,ymm6,ymm7 + vpxor ymm7,ymm4,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm6,ymm6,ymm7 + vpsrld ymm7,ymm15,6 + vpslld ymm2,ymm15,26 + vmovdqu YMMWORD[(416-256-128)+rbx],ymm6 + vpaddd ymm6,ymm6,ymm10 + + vpsrld ymm1,ymm15,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm15,21 + vpaddd ymm6,ymm6,YMMWORD[32+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm15,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm15,7 + vpandn ymm0,ymm15,ymm9 + vpand ymm4,ymm15,ymm8 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm10,ymm11,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm11,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm12,ymm11 + + vpxor ymm10,ymm10,ymm1 + vpaddd ymm6,ymm6,ymm7 + + vpsrld ymm1,ymm11,13 + + vpslld ymm2,ymm11,19 + vpaddd ymm6,ymm6,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm10,ymm1 + + vpsrld ymm1,ymm11,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm11,10 + vpxor ymm10,ymm12,ymm3 + vpaddd ymm14,ymm14,ymm6 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm10,ymm10,ymm6 + vpaddd ymm10,ymm10,ymm7 + vmovdqu ymm6,YMMWORD[((480-256-128))+rbx] + vpaddd ymm5,ymm5,YMMWORD[((224-128))+rax] + + vpsrld ymm7,ymm6,3 + vpsrld ymm1,ymm6,7 + vpslld ymm2,ymm6,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm6,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm6,14 + vmovdqu ymm0,YMMWORD[((384-256-128))+rbx] + vpsrld ymm3,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm5,ymm5,ymm7 + vpxor ymm7,ymm3,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm5,ymm5,ymm7 + vpsrld ymm7,ymm14,6 + vpslld ymm2,ymm14,26 + vmovdqu YMMWORD[(448-256-128)+rbx],ymm5 + vpaddd ymm5,ymm5,ymm9 + + vpsrld ymm1,ymm14,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm14,21 + vpaddd ymm5,ymm5,YMMWORD[64+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm14,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm14,7 + vpandn ymm0,ymm14,ymm8 + vpand ymm3,ymm14,ymm15 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm9,ymm10,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm10,30 + vpxor ymm0,ymm0,ymm3 + vpxor ymm3,ymm11,ymm10 + + vpxor ymm9,ymm9,ymm1 + vpaddd ymm5,ymm5,ymm7 + + vpsrld ymm1,ymm10,13 + + vpslld ymm2,ymm10,19 + vpaddd ymm5,ymm5,ymm0 + vpand ymm4,ymm4,ymm3 + + vpxor ymm7,ymm9,ymm1 + + vpsrld ymm1,ymm10,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm10,10 + vpxor ymm9,ymm11,ymm4 + vpaddd ymm13,ymm13,ymm5 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm9,ymm9,ymm5 + vpaddd ymm9,ymm9,ymm7 + vmovdqu ymm5,YMMWORD[((0-128))+rax] + vpaddd ymm6,ymm6,YMMWORD[((256-256-128))+rbx] + + vpsrld ymm7,ymm5,3 + vpsrld ymm1,ymm5,7 + vpslld ymm2,ymm5,25 + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm5,18 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm5,14 + vmovdqu ymm0,YMMWORD[((416-256-128))+rbx] + vpsrld ymm4,ymm0,10 + + vpxor ymm7,ymm7,ymm1 + vpsrld ymm1,ymm0,17 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,15 + vpaddd ymm6,ymm6,ymm7 + vpxor ymm7,ymm4,ymm1 + vpsrld ymm1,ymm0,19 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm0,13 + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + vpaddd ymm6,ymm6,ymm7 + vpsrld ymm7,ymm13,6 + vpslld ymm2,ymm13,26 + vmovdqu YMMWORD[(480-256-128)+rbx],ymm6 + vpaddd ymm6,ymm6,ymm8 + + vpsrld ymm1,ymm13,11 + vpxor ymm7,ymm7,ymm2 + vpslld ymm2,ymm13,21 + vpaddd ymm6,ymm6,YMMWORD[96+rbp] + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm1,ymm13,25 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm13,7 + vpandn ymm0,ymm13,ymm15 + vpand ymm4,ymm13,ymm14 + + vpxor ymm7,ymm7,ymm1 + + vpsrld ymm8,ymm9,2 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm1,ymm9,30 + vpxor ymm0,ymm0,ymm4 + vpxor ymm4,ymm10,ymm9 + + vpxor ymm8,ymm8,ymm1 + vpaddd ymm6,ymm6,ymm7 + + vpsrld ymm1,ymm9,13 + + vpslld ymm2,ymm9,19 + vpaddd ymm6,ymm6,ymm0 + vpand ymm3,ymm3,ymm4 + + vpxor ymm7,ymm8,ymm1 + + vpsrld ymm1,ymm9,22 + vpxor ymm7,ymm7,ymm2 + + vpslld ymm2,ymm9,10 + vpxor ymm8,ymm10,ymm3 + vpaddd ymm12,ymm12,ymm6 + + vpxor ymm7,ymm7,ymm1 + vpxor ymm7,ymm7,ymm2 + + vpaddd ymm8,ymm8,ymm6 + vpaddd ymm8,ymm8,ymm7 + add rbp,256 + dec ecx + jnz NEAR $L$oop_16_xx_avx2 + + mov ecx,1 + lea rbx,[512+rsp] + lea rbp,[((K256+128))] + cmp ecx,DWORD[rbx] + cmovge r12,rbp + cmp ecx,DWORD[4+rbx] + cmovge r13,rbp + cmp ecx,DWORD[8+rbx] + cmovge r14,rbp + cmp ecx,DWORD[12+rbx] + cmovge r15,rbp + cmp ecx,DWORD[16+rbx] + cmovge r8,rbp + cmp ecx,DWORD[20+rbx] + cmovge r9,rbp + cmp ecx,DWORD[24+rbx] + cmovge r10,rbp + cmp ecx,DWORD[28+rbx] + cmovge r11,rbp + vmovdqa ymm7,YMMWORD[rbx] + vpxor ymm0,ymm0,ymm0 + vmovdqa ymm6,ymm7 + vpcmpgtd ymm6,ymm6,ymm0 + vpaddd ymm7,ymm7,ymm6 + + vmovdqu ymm0,YMMWORD[((0-128))+rdi] + vpand ymm8,ymm8,ymm6 + vmovdqu ymm1,YMMWORD[((32-128))+rdi] + vpand ymm9,ymm9,ymm6 + vmovdqu ymm2,YMMWORD[((64-128))+rdi] + vpand ymm10,ymm10,ymm6 + vmovdqu ymm5,YMMWORD[((96-128))+rdi] + vpand ymm11,ymm11,ymm6 + vpaddd ymm8,ymm8,ymm0 + vmovdqu ymm0,YMMWORD[((128-128))+rdi] + vpand ymm12,ymm12,ymm6 + vpaddd ymm9,ymm9,ymm1 + vmovdqu ymm1,YMMWORD[((160-128))+rdi] + vpand ymm13,ymm13,ymm6 + vpaddd ymm10,ymm10,ymm2 + vmovdqu ymm2,YMMWORD[((192-128))+rdi] + vpand ymm14,ymm14,ymm6 + vpaddd ymm11,ymm11,ymm5 + vmovdqu ymm5,YMMWORD[((224-128))+rdi] + vpand ymm15,ymm15,ymm6 + vpaddd ymm12,ymm12,ymm0 + vpaddd ymm13,ymm13,ymm1 + vmovdqu YMMWORD[(0-128)+rdi],ymm8 + vpaddd ymm14,ymm14,ymm2 + vmovdqu YMMWORD[(32-128)+rdi],ymm9 + vpaddd ymm15,ymm15,ymm5 + vmovdqu YMMWORD[(64-128)+rdi],ymm10 + vmovdqu YMMWORD[(96-128)+rdi],ymm11 + vmovdqu YMMWORD[(128-128)+rdi],ymm12 + vmovdqu YMMWORD[(160-128)+rdi],ymm13 + vmovdqu YMMWORD[(192-128)+rdi],ymm14 + vmovdqu YMMWORD[(224-128)+rdi],ymm15 + + vmovdqu YMMWORD[rbx],ymm7 + lea rbx,[((256+128))+rsp] + vmovdqu ymm6,YMMWORD[$L$pbswap] + dec edx + jnz NEAR $L$oop_avx2 + + + + + + + +$L$done_avx2: + mov rax,QWORD[544+rsp] + vzeroupper + movaps xmm6,XMMWORD[((-216))+rax] + movaps xmm7,XMMWORD[((-200))+rax] + movaps xmm8,XMMWORD[((-184))+rax] + movaps xmm9,XMMWORD[((-168))+rax] + movaps xmm10,XMMWORD[((-152))+rax] + movaps xmm11,XMMWORD[((-136))+rax] + movaps xmm12,XMMWORD[((-120))+rax] + movaps xmm13,XMMWORD[((-104))+rax] + movaps xmm14,XMMWORD[((-88))+rax] + movaps xmm15,XMMWORD[((-72))+rax] + mov r15,QWORD[((-48))+rax] + mov r14,QWORD[((-40))+rax] + mov r13,QWORD[((-32))+rax] + mov r12,QWORD[((-24))+rax] + mov rbp,QWORD[((-16))+rax] + mov rbx,QWORD[((-8))+rax] + lea rsp,[rax] +$L$epilogue_avx2: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha256_multi_block_avx2: +ALIGN 256 +K256: + DD 1116352408,1116352408,1116352408,1116352408 + DD 1116352408,1116352408,1116352408,1116352408 + DD 1899447441,1899447441,1899447441,1899447441 + DD 1899447441,1899447441,1899447441,1899447441 + DD 3049323471,3049323471,3049323471,3049323471 + DD 3049323471,3049323471,3049323471,3049323471 + DD 3921009573,3921009573,3921009573,3921009573 + DD 3921009573,3921009573,3921009573,3921009573 + DD 961987163,961987163,961987163,961987163 + DD 961987163,961987163,961987163,961987163 + DD 1508970993,1508970993,1508970993,1508970993 + DD 1508970993,1508970993,1508970993,1508970993 + DD 2453635748,2453635748,2453635748,2453635748 + DD 2453635748,2453635748,2453635748,2453635748 + DD 2870763221,2870763221,2870763221,2870763221 + DD 2870763221,2870763221,2870763221,2870763221 + DD 3624381080,3624381080,3624381080,3624381080 + DD 3624381080,3624381080,3624381080,3624381080 + DD 310598401,310598401,310598401,310598401 + DD 310598401,310598401,310598401,310598401 + DD 607225278,607225278,607225278,607225278 + DD 607225278,607225278,607225278,607225278 + DD 1426881987,1426881987,1426881987,1426881987 + DD 1426881987,1426881987,1426881987,1426881987 + DD 1925078388,1925078388,1925078388,1925078388 + DD 1925078388,1925078388,1925078388,1925078388 + DD 2162078206,2162078206,2162078206,2162078206 + DD 2162078206,2162078206,2162078206,2162078206 + DD 2614888103,2614888103,2614888103,2614888103 + DD 2614888103,2614888103,2614888103,2614888103 + DD 3248222580,3248222580,3248222580,3248222580 + DD 3248222580,3248222580,3248222580,3248222580 + DD 3835390401,3835390401,3835390401,3835390401 + DD 3835390401,3835390401,3835390401,3835390401 + DD 4022224774,4022224774,4022224774,4022224774 + DD 4022224774,4022224774,4022224774,4022224774 + DD 264347078,264347078,264347078,264347078 + DD 264347078,264347078,264347078,264347078 + DD 604807628,604807628,604807628,604807628 + DD 604807628,604807628,604807628,604807628 + DD 770255983,770255983,770255983,770255983 + DD 770255983,770255983,770255983,770255983 + DD 1249150122,1249150122,1249150122,1249150122 + DD 1249150122,1249150122,1249150122,1249150122 + DD 1555081692,1555081692,1555081692,1555081692 + DD 1555081692,1555081692,1555081692,1555081692 + DD 1996064986,1996064986,1996064986,1996064986 + DD 1996064986,1996064986,1996064986,1996064986 + DD 2554220882,2554220882,2554220882,2554220882 + DD 2554220882,2554220882,2554220882,2554220882 + DD 2821834349,2821834349,2821834349,2821834349 + DD 2821834349,2821834349,2821834349,2821834349 + DD 2952996808,2952996808,2952996808,2952996808 + DD 2952996808,2952996808,2952996808,2952996808 + DD 3210313671,3210313671,3210313671,3210313671 + DD 3210313671,3210313671,3210313671,3210313671 + DD 3336571891,3336571891,3336571891,3336571891 + DD 3336571891,3336571891,3336571891,3336571891 + DD 3584528711,3584528711,3584528711,3584528711 + DD 3584528711,3584528711,3584528711,3584528711 + DD 113926993,113926993,113926993,113926993 + DD 113926993,113926993,113926993,113926993 + DD 338241895,338241895,338241895,338241895 + DD 338241895,338241895,338241895,338241895 + DD 666307205,666307205,666307205,666307205 + DD 666307205,666307205,666307205,666307205 + DD 773529912,773529912,773529912,773529912 + DD 773529912,773529912,773529912,773529912 + DD 1294757372,1294757372,1294757372,1294757372 + DD 1294757372,1294757372,1294757372,1294757372 + DD 1396182291,1396182291,1396182291,1396182291 + DD 1396182291,1396182291,1396182291,1396182291 + DD 1695183700,1695183700,1695183700,1695183700 + DD 1695183700,1695183700,1695183700,1695183700 + DD 1986661051,1986661051,1986661051,1986661051 + DD 1986661051,1986661051,1986661051,1986661051 + DD 2177026350,2177026350,2177026350,2177026350 + DD 2177026350,2177026350,2177026350,2177026350 + DD 2456956037,2456956037,2456956037,2456956037 + DD 2456956037,2456956037,2456956037,2456956037 + DD 2730485921,2730485921,2730485921,2730485921 + DD 2730485921,2730485921,2730485921,2730485921 + DD 2820302411,2820302411,2820302411,2820302411 + DD 2820302411,2820302411,2820302411,2820302411 + DD 3259730800,3259730800,3259730800,3259730800 + DD 3259730800,3259730800,3259730800,3259730800 + DD 3345764771,3345764771,3345764771,3345764771 + DD 3345764771,3345764771,3345764771,3345764771 + DD 3516065817,3516065817,3516065817,3516065817 + DD 3516065817,3516065817,3516065817,3516065817 + DD 3600352804,3600352804,3600352804,3600352804 + DD 3600352804,3600352804,3600352804,3600352804 + DD 4094571909,4094571909,4094571909,4094571909 + DD 4094571909,4094571909,4094571909,4094571909 + DD 275423344,275423344,275423344,275423344 + DD 275423344,275423344,275423344,275423344 + DD 430227734,430227734,430227734,430227734 + DD 430227734,430227734,430227734,430227734 + DD 506948616,506948616,506948616,506948616 + DD 506948616,506948616,506948616,506948616 + DD 659060556,659060556,659060556,659060556 + DD 659060556,659060556,659060556,659060556 + DD 883997877,883997877,883997877,883997877 + DD 883997877,883997877,883997877,883997877 + DD 958139571,958139571,958139571,958139571 + DD 958139571,958139571,958139571,958139571 + DD 1322822218,1322822218,1322822218,1322822218 + DD 1322822218,1322822218,1322822218,1322822218 + DD 1537002063,1537002063,1537002063,1537002063 + DD 1537002063,1537002063,1537002063,1537002063 + DD 1747873779,1747873779,1747873779,1747873779 + DD 1747873779,1747873779,1747873779,1747873779 + DD 1955562222,1955562222,1955562222,1955562222 + DD 1955562222,1955562222,1955562222,1955562222 + DD 2024104815,2024104815,2024104815,2024104815 + DD 2024104815,2024104815,2024104815,2024104815 + DD 2227730452,2227730452,2227730452,2227730452 + DD 2227730452,2227730452,2227730452,2227730452 + DD 2361852424,2361852424,2361852424,2361852424 + DD 2361852424,2361852424,2361852424,2361852424 + DD 2428436474,2428436474,2428436474,2428436474 + DD 2428436474,2428436474,2428436474,2428436474 + DD 2756734187,2756734187,2756734187,2756734187 + DD 2756734187,2756734187,2756734187,2756734187 + DD 3204031479,3204031479,3204031479,3204031479 + DD 3204031479,3204031479,3204031479,3204031479 + DD 3329325298,3329325298,3329325298,3329325298 + DD 3329325298,3329325298,3329325298,3329325298 +$L$pbswap: + DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f + DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f +K256_shaext: + DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 + DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 + DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 + DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 + DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc + DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da + DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 + DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 + DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 + DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 + DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 + DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 + DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 + DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 + DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 + DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 +DB 83,72,65,50,53,54,32,109,117,108,116,105,45,98,108,111 +DB 99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114 +DB 32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71 +DB 65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112 +DB 101,110,115,115,108,46,111,114,103,62,0 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + + mov rax,QWORD[272+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + + lea rsi,[((-24-160))+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +ALIGN 16 +avx2_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + + mov rax,QWORD[544+r8] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + + lea rsi,[((-56-160))+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + + jmp NEAR $L$in_prologue + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_sha256_multi_block wrt ..imagebase + DD $L$SEH_end_sha256_multi_block wrt ..imagebase + DD $L$SEH_info_sha256_multi_block wrt ..imagebase + DD $L$SEH_begin_sha256_multi_block_shaext wrt ..imagebase + DD $L$SEH_end_sha256_multi_block_shaext wrt ..imagebase + DD $L$SEH_info_sha256_multi_block_shaext wrt ..imagebase + DD $L$SEH_begin_sha256_multi_block_avx wrt ..imagebase + DD $L$SEH_end_sha256_multi_block_avx wrt ..imagebase + DD $L$SEH_info_sha256_multi_block_avx wrt ..imagebase + DD $L$SEH_begin_sha256_multi_block_avx2 wrt ..imagebase + DD $L$SEH_end_sha256_multi_block_avx2 wrt ..imagebase + DD $L$SEH_info_sha256_multi_block_avx2 wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_sha256_multi_block: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$body wrt ..imagebase,$L$epilogue wrt ..imagebase +$L$SEH_info_sha256_multi_block_shaext: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$body_shaext wrt ..imagebase,$L$epilogue_shaext wrt ..imagebase +$L$SEH_info_sha256_multi_block_avx: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$body_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase +$L$SEH_info_sha256_multi_block_avx2: +DB 9,0,0,0 + DD avx2_handler wrt ..imagebase + DD $L$body_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase diff --git a/tmp64/sha256-x86_64.asm b/tmp64/sha256-x86_64.asm index 31a5279f..3138a010 100644 --- a/tmp64/sha256-x86_64.asm +++ b/tmp64/sha256-x86_64.asm @@ -1,5634 +1,5634 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN OPENSSL_ia32cap_P -global sha256_block_data_order - -ALIGN 16 -sha256_block_data_order: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha256_block_data_order: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - lea r11,[OPENSSL_ia32cap_P] - mov r9d,DWORD[r11] - mov r10d,DWORD[4+r11] - mov r11d,DWORD[8+r11] - test r11d,536870912 - jnz NEAR _shaext_shortcut - and r11d,296 - cmp r11d,296 - je NEAR $L$avx2_shortcut - and r9d,1073741824 - and r10d,268435968 - or r10d,r9d - cmp r10d,1342177792 - je NEAR $L$avx_shortcut - test r10d,512 - jnz NEAR $L$ssse3_shortcut - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - mov r11,rsp - shl rdx,4 - sub rsp,16*4+4*8 - lea rdx,[rdx*4+rsi] - and rsp,-64 - mov QWORD[((64+0))+rsp],rdi - mov QWORD[((64+8))+rsp],rsi - mov QWORD[((64+16))+rsp],rdx - mov QWORD[((64+24))+rsp],r11 -$L$prologue: - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - mov r8d,DWORD[16+rdi] - mov r9d,DWORD[20+rdi] - mov r10d,DWORD[24+rdi] - mov r11d,DWORD[28+rdi] - jmp NEAR $L$loop - -ALIGN 16 -$L$loop: - mov edi,ebx - lea rbp,[K256] - xor edi,ecx - mov r12d,DWORD[rsi] - mov r13d,r8d - mov r14d,eax - bswap r12d - ror r13d,14 - mov r15d,r9d - - xor r13d,r8d - ror r14d,9 - xor r15d,r10d - - mov DWORD[rsp],r12d - xor r14d,eax - and r15d,r8d - - ror r13d,5 - add r12d,r11d - xor r15d,r10d - - ror r14d,11 - xor r13d,r8d - add r12d,r15d - - mov r15d,eax - add r12d,DWORD[rbp] - xor r14d,eax - - xor r15d,ebx - ror r13d,6 - mov r11d,ebx - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor r11d,edi - add edx,r12d - add r11d,r12d - - lea rbp,[4+rbp] - add r11d,r14d - mov r12d,DWORD[4+rsi] - mov r13d,edx - mov r14d,r11d - bswap r12d - ror r13d,14 - mov edi,r8d - - xor r13d,edx - ror r14d,9 - xor edi,r9d - - mov DWORD[4+rsp],r12d - xor r14d,r11d - and edi,edx - - ror r13d,5 - add r12d,r10d - xor edi,r9d - - ror r14d,11 - xor r13d,edx - add r12d,edi - - mov edi,r11d - add r12d,DWORD[rbp] - xor r14d,r11d - - xor edi,eax - ror r13d,6 - mov r10d,eax - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor r10d,r15d - add ecx,r12d - add r10d,r12d - - lea rbp,[4+rbp] - add r10d,r14d - mov r12d,DWORD[8+rsi] - mov r13d,ecx - mov r14d,r10d - bswap r12d - ror r13d,14 - mov r15d,edx - - xor r13d,ecx - ror r14d,9 - xor r15d,r8d - - mov DWORD[8+rsp],r12d - xor r14d,r10d - and r15d,ecx - - ror r13d,5 - add r12d,r9d - xor r15d,r8d - - ror r14d,11 - xor r13d,ecx - add r12d,r15d - - mov r15d,r10d - add r12d,DWORD[rbp] - xor r14d,r10d - - xor r15d,r11d - ror r13d,6 - mov r9d,r11d - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor r9d,edi - add ebx,r12d - add r9d,r12d - - lea rbp,[4+rbp] - add r9d,r14d - mov r12d,DWORD[12+rsi] - mov r13d,ebx - mov r14d,r9d - bswap r12d - ror r13d,14 - mov edi,ecx - - xor r13d,ebx - ror r14d,9 - xor edi,edx - - mov DWORD[12+rsp],r12d - xor r14d,r9d - and edi,ebx - - ror r13d,5 - add r12d,r8d - xor edi,edx - - ror r14d,11 - xor r13d,ebx - add r12d,edi - - mov edi,r9d - add r12d,DWORD[rbp] - xor r14d,r9d - - xor edi,r10d - ror r13d,6 - mov r8d,r10d - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor r8d,r15d - add eax,r12d - add r8d,r12d - - lea rbp,[20+rbp] - add r8d,r14d - mov r12d,DWORD[16+rsi] - mov r13d,eax - mov r14d,r8d - bswap r12d - ror r13d,14 - mov r15d,ebx - - xor r13d,eax - ror r14d,9 - xor r15d,ecx - - mov DWORD[16+rsp],r12d - xor r14d,r8d - and r15d,eax - - ror r13d,5 - add r12d,edx - xor r15d,ecx - - ror r14d,11 - xor r13d,eax - add r12d,r15d - - mov r15d,r8d - add r12d,DWORD[rbp] - xor r14d,r8d - - xor r15d,r9d - ror r13d,6 - mov edx,r9d - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor edx,edi - add r11d,r12d - add edx,r12d - - lea rbp,[4+rbp] - add edx,r14d - mov r12d,DWORD[20+rsi] - mov r13d,r11d - mov r14d,edx - bswap r12d - ror r13d,14 - mov edi,eax - - xor r13d,r11d - ror r14d,9 - xor edi,ebx - - mov DWORD[20+rsp],r12d - xor r14d,edx - and edi,r11d - - ror r13d,5 - add r12d,ecx - xor edi,ebx - - ror r14d,11 - xor r13d,r11d - add r12d,edi - - mov edi,edx - add r12d,DWORD[rbp] - xor r14d,edx - - xor edi,r8d - ror r13d,6 - mov ecx,r8d - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor ecx,r15d - add r10d,r12d - add ecx,r12d - - lea rbp,[4+rbp] - add ecx,r14d - mov r12d,DWORD[24+rsi] - mov r13d,r10d - mov r14d,ecx - bswap r12d - ror r13d,14 - mov r15d,r11d - - xor r13d,r10d - ror r14d,9 - xor r15d,eax - - mov DWORD[24+rsp],r12d - xor r14d,ecx - and r15d,r10d - - ror r13d,5 - add r12d,ebx - xor r15d,eax - - ror r14d,11 - xor r13d,r10d - add r12d,r15d - - mov r15d,ecx - add r12d,DWORD[rbp] - xor r14d,ecx - - xor r15d,edx - ror r13d,6 - mov ebx,edx - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor ebx,edi - add r9d,r12d - add ebx,r12d - - lea rbp,[4+rbp] - add ebx,r14d - mov r12d,DWORD[28+rsi] - mov r13d,r9d - mov r14d,ebx - bswap r12d - ror r13d,14 - mov edi,r10d - - xor r13d,r9d - ror r14d,9 - xor edi,r11d - - mov DWORD[28+rsp],r12d - xor r14d,ebx - and edi,r9d - - ror r13d,5 - add r12d,eax - xor edi,r11d - - ror r14d,11 - xor r13d,r9d - add r12d,edi - - mov edi,ebx - add r12d,DWORD[rbp] - xor r14d,ebx - - xor edi,ecx - ror r13d,6 - mov eax,ecx - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor eax,r15d - add r8d,r12d - add eax,r12d - - lea rbp,[20+rbp] - add eax,r14d - mov r12d,DWORD[32+rsi] - mov r13d,r8d - mov r14d,eax - bswap r12d - ror r13d,14 - mov r15d,r9d - - xor r13d,r8d - ror r14d,9 - xor r15d,r10d - - mov DWORD[32+rsp],r12d - xor r14d,eax - and r15d,r8d - - ror r13d,5 - add r12d,r11d - xor r15d,r10d - - ror r14d,11 - xor r13d,r8d - add r12d,r15d - - mov r15d,eax - add r12d,DWORD[rbp] - xor r14d,eax - - xor r15d,ebx - ror r13d,6 - mov r11d,ebx - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor r11d,edi - add edx,r12d - add r11d,r12d - - lea rbp,[4+rbp] - add r11d,r14d - mov r12d,DWORD[36+rsi] - mov r13d,edx - mov r14d,r11d - bswap r12d - ror r13d,14 - mov edi,r8d - - xor r13d,edx - ror r14d,9 - xor edi,r9d - - mov DWORD[36+rsp],r12d - xor r14d,r11d - and edi,edx - - ror r13d,5 - add r12d,r10d - xor edi,r9d - - ror r14d,11 - xor r13d,edx - add r12d,edi - - mov edi,r11d - add r12d,DWORD[rbp] - xor r14d,r11d - - xor edi,eax - ror r13d,6 - mov r10d,eax - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor r10d,r15d - add ecx,r12d - add r10d,r12d - - lea rbp,[4+rbp] - add r10d,r14d - mov r12d,DWORD[40+rsi] - mov r13d,ecx - mov r14d,r10d - bswap r12d - ror r13d,14 - mov r15d,edx - - xor r13d,ecx - ror r14d,9 - xor r15d,r8d - - mov DWORD[40+rsp],r12d - xor r14d,r10d - and r15d,ecx - - ror r13d,5 - add r12d,r9d - xor r15d,r8d - - ror r14d,11 - xor r13d,ecx - add r12d,r15d - - mov r15d,r10d - add r12d,DWORD[rbp] - xor r14d,r10d - - xor r15d,r11d - ror r13d,6 - mov r9d,r11d - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor r9d,edi - add ebx,r12d - add r9d,r12d - - lea rbp,[4+rbp] - add r9d,r14d - mov r12d,DWORD[44+rsi] - mov r13d,ebx - mov r14d,r9d - bswap r12d - ror r13d,14 - mov edi,ecx - - xor r13d,ebx - ror r14d,9 - xor edi,edx - - mov DWORD[44+rsp],r12d - xor r14d,r9d - and edi,ebx - - ror r13d,5 - add r12d,r8d - xor edi,edx - - ror r14d,11 - xor r13d,ebx - add r12d,edi - - mov edi,r9d - add r12d,DWORD[rbp] - xor r14d,r9d - - xor edi,r10d - ror r13d,6 - mov r8d,r10d - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor r8d,r15d - add eax,r12d - add r8d,r12d - - lea rbp,[20+rbp] - add r8d,r14d - mov r12d,DWORD[48+rsi] - mov r13d,eax - mov r14d,r8d - bswap r12d - ror r13d,14 - mov r15d,ebx - - xor r13d,eax - ror r14d,9 - xor r15d,ecx - - mov DWORD[48+rsp],r12d - xor r14d,r8d - and r15d,eax - - ror r13d,5 - add r12d,edx - xor r15d,ecx - - ror r14d,11 - xor r13d,eax - add r12d,r15d - - mov r15d,r8d - add r12d,DWORD[rbp] - xor r14d,r8d - - xor r15d,r9d - ror r13d,6 - mov edx,r9d - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor edx,edi - add r11d,r12d - add edx,r12d - - lea rbp,[4+rbp] - add edx,r14d - mov r12d,DWORD[52+rsi] - mov r13d,r11d - mov r14d,edx - bswap r12d - ror r13d,14 - mov edi,eax - - xor r13d,r11d - ror r14d,9 - xor edi,ebx - - mov DWORD[52+rsp],r12d - xor r14d,edx - and edi,r11d - - ror r13d,5 - add r12d,ecx - xor edi,ebx - - ror r14d,11 - xor r13d,r11d - add r12d,edi - - mov edi,edx - add r12d,DWORD[rbp] - xor r14d,edx - - xor edi,r8d - ror r13d,6 - mov ecx,r8d - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor ecx,r15d - add r10d,r12d - add ecx,r12d - - lea rbp,[4+rbp] - add ecx,r14d - mov r12d,DWORD[56+rsi] - mov r13d,r10d - mov r14d,ecx - bswap r12d - ror r13d,14 - mov r15d,r11d - - xor r13d,r10d - ror r14d,9 - xor r15d,eax - - mov DWORD[56+rsp],r12d - xor r14d,ecx - and r15d,r10d - - ror r13d,5 - add r12d,ebx - xor r15d,eax - - ror r14d,11 - xor r13d,r10d - add r12d,r15d - - mov r15d,ecx - add r12d,DWORD[rbp] - xor r14d,ecx - - xor r15d,edx - ror r13d,6 - mov ebx,edx - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor ebx,edi - add r9d,r12d - add ebx,r12d - - lea rbp,[4+rbp] - add ebx,r14d - mov r12d,DWORD[60+rsi] - mov r13d,r9d - mov r14d,ebx - bswap r12d - ror r13d,14 - mov edi,r10d - - xor r13d,r9d - ror r14d,9 - xor edi,r11d - - mov DWORD[60+rsp],r12d - xor r14d,ebx - and edi,r9d - - ror r13d,5 - add r12d,eax - xor edi,r11d - - ror r14d,11 - xor r13d,r9d - add r12d,edi - - mov edi,ebx - add r12d,DWORD[rbp] - xor r14d,ebx - - xor edi,ecx - ror r13d,6 - mov eax,ecx - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor eax,r15d - add r8d,r12d - add eax,r12d - - lea rbp,[20+rbp] - jmp NEAR $L$rounds_16_xx -ALIGN 16 -$L$rounds_16_xx: - mov r13d,DWORD[4+rsp] - mov r15d,DWORD[56+rsp] - - mov r12d,r13d - ror r13d,11 - add eax,r14d - mov r14d,r15d - ror r15d,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor r15d,r14d - shr r14d,10 - - ror r15d,17 - xor r12d,r13d - xor r15d,r14d - add r12d,DWORD[36+rsp] - - add r12d,DWORD[rsp] - mov r13d,r8d - add r12d,r15d - mov r14d,eax - ror r13d,14 - mov r15d,r9d - - xor r13d,r8d - ror r14d,9 - xor r15d,r10d - - mov DWORD[rsp],r12d - xor r14d,eax - and r15d,r8d - - ror r13d,5 - add r12d,r11d - xor r15d,r10d - - ror r14d,11 - xor r13d,r8d - add r12d,r15d - - mov r15d,eax - add r12d,DWORD[rbp] - xor r14d,eax - - xor r15d,ebx - ror r13d,6 - mov r11d,ebx - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor r11d,edi - add edx,r12d - add r11d,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[8+rsp] - mov edi,DWORD[60+rsp] - - mov r12d,r13d - ror r13d,11 - add r11d,r14d - mov r14d,edi - ror edi,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor edi,r14d - shr r14d,10 - - ror edi,17 - xor r12d,r13d - xor edi,r14d - add r12d,DWORD[40+rsp] - - add r12d,DWORD[4+rsp] - mov r13d,edx - add r12d,edi - mov r14d,r11d - ror r13d,14 - mov edi,r8d - - xor r13d,edx - ror r14d,9 - xor edi,r9d - - mov DWORD[4+rsp],r12d - xor r14d,r11d - and edi,edx - - ror r13d,5 - add r12d,r10d - xor edi,r9d - - ror r14d,11 - xor r13d,edx - add r12d,edi - - mov edi,r11d - add r12d,DWORD[rbp] - xor r14d,r11d - - xor edi,eax - ror r13d,6 - mov r10d,eax - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor r10d,r15d - add ecx,r12d - add r10d,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[12+rsp] - mov r15d,DWORD[rsp] - - mov r12d,r13d - ror r13d,11 - add r10d,r14d - mov r14d,r15d - ror r15d,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor r15d,r14d - shr r14d,10 - - ror r15d,17 - xor r12d,r13d - xor r15d,r14d - add r12d,DWORD[44+rsp] - - add r12d,DWORD[8+rsp] - mov r13d,ecx - add r12d,r15d - mov r14d,r10d - ror r13d,14 - mov r15d,edx - - xor r13d,ecx - ror r14d,9 - xor r15d,r8d - - mov DWORD[8+rsp],r12d - xor r14d,r10d - and r15d,ecx - - ror r13d,5 - add r12d,r9d - xor r15d,r8d - - ror r14d,11 - xor r13d,ecx - add r12d,r15d - - mov r15d,r10d - add r12d,DWORD[rbp] - xor r14d,r10d - - xor r15d,r11d - ror r13d,6 - mov r9d,r11d - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor r9d,edi - add ebx,r12d - add r9d,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[16+rsp] - mov edi,DWORD[4+rsp] - - mov r12d,r13d - ror r13d,11 - add r9d,r14d - mov r14d,edi - ror edi,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor edi,r14d - shr r14d,10 - - ror edi,17 - xor r12d,r13d - xor edi,r14d - add r12d,DWORD[48+rsp] - - add r12d,DWORD[12+rsp] - mov r13d,ebx - add r12d,edi - mov r14d,r9d - ror r13d,14 - mov edi,ecx - - xor r13d,ebx - ror r14d,9 - xor edi,edx - - mov DWORD[12+rsp],r12d - xor r14d,r9d - and edi,ebx - - ror r13d,5 - add r12d,r8d - xor edi,edx - - ror r14d,11 - xor r13d,ebx - add r12d,edi - - mov edi,r9d - add r12d,DWORD[rbp] - xor r14d,r9d - - xor edi,r10d - ror r13d,6 - mov r8d,r10d - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor r8d,r15d - add eax,r12d - add r8d,r12d - - lea rbp,[20+rbp] - mov r13d,DWORD[20+rsp] - mov r15d,DWORD[8+rsp] - - mov r12d,r13d - ror r13d,11 - add r8d,r14d - mov r14d,r15d - ror r15d,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor r15d,r14d - shr r14d,10 - - ror r15d,17 - xor r12d,r13d - xor r15d,r14d - add r12d,DWORD[52+rsp] - - add r12d,DWORD[16+rsp] - mov r13d,eax - add r12d,r15d - mov r14d,r8d - ror r13d,14 - mov r15d,ebx - - xor r13d,eax - ror r14d,9 - xor r15d,ecx - - mov DWORD[16+rsp],r12d - xor r14d,r8d - and r15d,eax - - ror r13d,5 - add r12d,edx - xor r15d,ecx - - ror r14d,11 - xor r13d,eax - add r12d,r15d - - mov r15d,r8d - add r12d,DWORD[rbp] - xor r14d,r8d - - xor r15d,r9d - ror r13d,6 - mov edx,r9d - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor edx,edi - add r11d,r12d - add edx,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[24+rsp] - mov edi,DWORD[12+rsp] - - mov r12d,r13d - ror r13d,11 - add edx,r14d - mov r14d,edi - ror edi,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor edi,r14d - shr r14d,10 - - ror edi,17 - xor r12d,r13d - xor edi,r14d - add r12d,DWORD[56+rsp] - - add r12d,DWORD[20+rsp] - mov r13d,r11d - add r12d,edi - mov r14d,edx - ror r13d,14 - mov edi,eax - - xor r13d,r11d - ror r14d,9 - xor edi,ebx - - mov DWORD[20+rsp],r12d - xor r14d,edx - and edi,r11d - - ror r13d,5 - add r12d,ecx - xor edi,ebx - - ror r14d,11 - xor r13d,r11d - add r12d,edi - - mov edi,edx - add r12d,DWORD[rbp] - xor r14d,edx - - xor edi,r8d - ror r13d,6 - mov ecx,r8d - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor ecx,r15d - add r10d,r12d - add ecx,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[28+rsp] - mov r15d,DWORD[16+rsp] - - mov r12d,r13d - ror r13d,11 - add ecx,r14d - mov r14d,r15d - ror r15d,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor r15d,r14d - shr r14d,10 - - ror r15d,17 - xor r12d,r13d - xor r15d,r14d - add r12d,DWORD[60+rsp] - - add r12d,DWORD[24+rsp] - mov r13d,r10d - add r12d,r15d - mov r14d,ecx - ror r13d,14 - mov r15d,r11d - - xor r13d,r10d - ror r14d,9 - xor r15d,eax - - mov DWORD[24+rsp],r12d - xor r14d,ecx - and r15d,r10d - - ror r13d,5 - add r12d,ebx - xor r15d,eax - - ror r14d,11 - xor r13d,r10d - add r12d,r15d - - mov r15d,ecx - add r12d,DWORD[rbp] - xor r14d,ecx - - xor r15d,edx - ror r13d,6 - mov ebx,edx - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor ebx,edi - add r9d,r12d - add ebx,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[32+rsp] - mov edi,DWORD[20+rsp] - - mov r12d,r13d - ror r13d,11 - add ebx,r14d - mov r14d,edi - ror edi,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor edi,r14d - shr r14d,10 - - ror edi,17 - xor r12d,r13d - xor edi,r14d - add r12d,DWORD[rsp] - - add r12d,DWORD[28+rsp] - mov r13d,r9d - add r12d,edi - mov r14d,ebx - ror r13d,14 - mov edi,r10d - - xor r13d,r9d - ror r14d,9 - xor edi,r11d - - mov DWORD[28+rsp],r12d - xor r14d,ebx - and edi,r9d - - ror r13d,5 - add r12d,eax - xor edi,r11d - - ror r14d,11 - xor r13d,r9d - add r12d,edi - - mov edi,ebx - add r12d,DWORD[rbp] - xor r14d,ebx - - xor edi,ecx - ror r13d,6 - mov eax,ecx - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor eax,r15d - add r8d,r12d - add eax,r12d - - lea rbp,[20+rbp] - mov r13d,DWORD[36+rsp] - mov r15d,DWORD[24+rsp] - - mov r12d,r13d - ror r13d,11 - add eax,r14d - mov r14d,r15d - ror r15d,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor r15d,r14d - shr r14d,10 - - ror r15d,17 - xor r12d,r13d - xor r15d,r14d - add r12d,DWORD[4+rsp] - - add r12d,DWORD[32+rsp] - mov r13d,r8d - add r12d,r15d - mov r14d,eax - ror r13d,14 - mov r15d,r9d - - xor r13d,r8d - ror r14d,9 - xor r15d,r10d - - mov DWORD[32+rsp],r12d - xor r14d,eax - and r15d,r8d - - ror r13d,5 - add r12d,r11d - xor r15d,r10d - - ror r14d,11 - xor r13d,r8d - add r12d,r15d - - mov r15d,eax - add r12d,DWORD[rbp] - xor r14d,eax - - xor r15d,ebx - ror r13d,6 - mov r11d,ebx - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor r11d,edi - add edx,r12d - add r11d,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[40+rsp] - mov edi,DWORD[28+rsp] - - mov r12d,r13d - ror r13d,11 - add r11d,r14d - mov r14d,edi - ror edi,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor edi,r14d - shr r14d,10 - - ror edi,17 - xor r12d,r13d - xor edi,r14d - add r12d,DWORD[8+rsp] - - add r12d,DWORD[36+rsp] - mov r13d,edx - add r12d,edi - mov r14d,r11d - ror r13d,14 - mov edi,r8d - - xor r13d,edx - ror r14d,9 - xor edi,r9d - - mov DWORD[36+rsp],r12d - xor r14d,r11d - and edi,edx - - ror r13d,5 - add r12d,r10d - xor edi,r9d - - ror r14d,11 - xor r13d,edx - add r12d,edi - - mov edi,r11d - add r12d,DWORD[rbp] - xor r14d,r11d - - xor edi,eax - ror r13d,6 - mov r10d,eax - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor r10d,r15d - add ecx,r12d - add r10d,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[44+rsp] - mov r15d,DWORD[32+rsp] - - mov r12d,r13d - ror r13d,11 - add r10d,r14d - mov r14d,r15d - ror r15d,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor r15d,r14d - shr r14d,10 - - ror r15d,17 - xor r12d,r13d - xor r15d,r14d - add r12d,DWORD[12+rsp] - - add r12d,DWORD[40+rsp] - mov r13d,ecx - add r12d,r15d - mov r14d,r10d - ror r13d,14 - mov r15d,edx - - xor r13d,ecx - ror r14d,9 - xor r15d,r8d - - mov DWORD[40+rsp],r12d - xor r14d,r10d - and r15d,ecx - - ror r13d,5 - add r12d,r9d - xor r15d,r8d - - ror r14d,11 - xor r13d,ecx - add r12d,r15d - - mov r15d,r10d - add r12d,DWORD[rbp] - xor r14d,r10d - - xor r15d,r11d - ror r13d,6 - mov r9d,r11d - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor r9d,edi - add ebx,r12d - add r9d,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[48+rsp] - mov edi,DWORD[36+rsp] - - mov r12d,r13d - ror r13d,11 - add r9d,r14d - mov r14d,edi - ror edi,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor edi,r14d - shr r14d,10 - - ror edi,17 - xor r12d,r13d - xor edi,r14d - add r12d,DWORD[16+rsp] - - add r12d,DWORD[44+rsp] - mov r13d,ebx - add r12d,edi - mov r14d,r9d - ror r13d,14 - mov edi,ecx - - xor r13d,ebx - ror r14d,9 - xor edi,edx - - mov DWORD[44+rsp],r12d - xor r14d,r9d - and edi,ebx - - ror r13d,5 - add r12d,r8d - xor edi,edx - - ror r14d,11 - xor r13d,ebx - add r12d,edi - - mov edi,r9d - add r12d,DWORD[rbp] - xor r14d,r9d - - xor edi,r10d - ror r13d,6 - mov r8d,r10d - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor r8d,r15d - add eax,r12d - add r8d,r12d - - lea rbp,[20+rbp] - mov r13d,DWORD[52+rsp] - mov r15d,DWORD[40+rsp] - - mov r12d,r13d - ror r13d,11 - add r8d,r14d - mov r14d,r15d - ror r15d,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor r15d,r14d - shr r14d,10 - - ror r15d,17 - xor r12d,r13d - xor r15d,r14d - add r12d,DWORD[20+rsp] - - add r12d,DWORD[48+rsp] - mov r13d,eax - add r12d,r15d - mov r14d,r8d - ror r13d,14 - mov r15d,ebx - - xor r13d,eax - ror r14d,9 - xor r15d,ecx - - mov DWORD[48+rsp],r12d - xor r14d,r8d - and r15d,eax - - ror r13d,5 - add r12d,edx - xor r15d,ecx - - ror r14d,11 - xor r13d,eax - add r12d,r15d - - mov r15d,r8d - add r12d,DWORD[rbp] - xor r14d,r8d - - xor r15d,r9d - ror r13d,6 - mov edx,r9d - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor edx,edi - add r11d,r12d - add edx,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[56+rsp] - mov edi,DWORD[44+rsp] - - mov r12d,r13d - ror r13d,11 - add edx,r14d - mov r14d,edi - ror edi,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor edi,r14d - shr r14d,10 - - ror edi,17 - xor r12d,r13d - xor edi,r14d - add r12d,DWORD[24+rsp] - - add r12d,DWORD[52+rsp] - mov r13d,r11d - add r12d,edi - mov r14d,edx - ror r13d,14 - mov edi,eax - - xor r13d,r11d - ror r14d,9 - xor edi,ebx - - mov DWORD[52+rsp],r12d - xor r14d,edx - and edi,r11d - - ror r13d,5 - add r12d,ecx - xor edi,ebx - - ror r14d,11 - xor r13d,r11d - add r12d,edi - - mov edi,edx - add r12d,DWORD[rbp] - xor r14d,edx - - xor edi,r8d - ror r13d,6 - mov ecx,r8d - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor ecx,r15d - add r10d,r12d - add ecx,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[60+rsp] - mov r15d,DWORD[48+rsp] - - mov r12d,r13d - ror r13d,11 - add ecx,r14d - mov r14d,r15d - ror r15d,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor r15d,r14d - shr r14d,10 - - ror r15d,17 - xor r12d,r13d - xor r15d,r14d - add r12d,DWORD[28+rsp] - - add r12d,DWORD[56+rsp] - mov r13d,r10d - add r12d,r15d - mov r14d,ecx - ror r13d,14 - mov r15d,r11d - - xor r13d,r10d - ror r14d,9 - xor r15d,eax - - mov DWORD[56+rsp],r12d - xor r14d,ecx - and r15d,r10d - - ror r13d,5 - add r12d,ebx - xor r15d,eax - - ror r14d,11 - xor r13d,r10d - add r12d,r15d - - mov r15d,ecx - add r12d,DWORD[rbp] - xor r14d,ecx - - xor r15d,edx - ror r13d,6 - mov ebx,edx - - and edi,r15d - ror r14d,2 - add r12d,r13d - - xor ebx,edi - add r9d,r12d - add ebx,r12d - - lea rbp,[4+rbp] - mov r13d,DWORD[rsp] - mov edi,DWORD[52+rsp] - - mov r12d,r13d - ror r13d,11 - add ebx,r14d - mov r14d,edi - ror edi,2 - - xor r13d,r12d - shr r12d,3 - ror r13d,7 - xor edi,r14d - shr r14d,10 - - ror edi,17 - xor r12d,r13d - xor edi,r14d - add r12d,DWORD[32+rsp] - - add r12d,DWORD[60+rsp] - mov r13d,r9d - add r12d,edi - mov r14d,ebx - ror r13d,14 - mov edi,r10d - - xor r13d,r9d - ror r14d,9 - xor edi,r11d - - mov DWORD[60+rsp],r12d - xor r14d,ebx - and edi,r9d - - ror r13d,5 - add r12d,eax - xor edi,r11d - - ror r14d,11 - xor r13d,r9d - add r12d,edi - - mov edi,ebx - add r12d,DWORD[rbp] - xor r14d,ebx - - xor edi,ecx - ror r13d,6 - mov eax,ecx - - and r15d,edi - ror r14d,2 - add r12d,r13d - - xor eax,r15d - add r8d,r12d - add eax,r12d - - lea rbp,[20+rbp] - cmp BYTE[3+rbp],0 - jnz NEAR $L$rounds_16_xx - - mov rdi,QWORD[((64+0))+rsp] - add eax,r14d - lea rsi,[64+rsi] - - add eax,DWORD[rdi] - add ebx,DWORD[4+rdi] - add ecx,DWORD[8+rdi] - add edx,DWORD[12+rdi] - add r8d,DWORD[16+rdi] - add r9d,DWORD[20+rdi] - add r10d,DWORD[24+rdi] - add r11d,DWORD[28+rdi] - - cmp rsi,QWORD[((64+16))+rsp] - - mov DWORD[rdi],eax - mov DWORD[4+rdi],ebx - mov DWORD[8+rdi],ecx - mov DWORD[12+rdi],edx - mov DWORD[16+rdi],r8d - mov DWORD[20+rdi],r9d - mov DWORD[24+rdi],r10d - mov DWORD[28+rdi],r11d - jb NEAR $L$loop - - mov rsi,QWORD[((64+24))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_block_data_order: -ALIGN 64 - -K256: - DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 - DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 - DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 - DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 - DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 - DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 - DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 - DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 - DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc - DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc - DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da - DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da - DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 - DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 - DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 - DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 - DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 - DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 - DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 - DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 - DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 - DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 - DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 - DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 - DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 - DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 - DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 - DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 - DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 - DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 - DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 - DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 - - DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f - DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f - DD 0x03020100,0x0b0a0908,0xffffffff,0xffffffff - DD 0x03020100,0x0b0a0908,0xffffffff,0xffffffff - DD 0xffffffff,0xffffffff,0x03020100,0x0b0a0908 - DD 0xffffffff,0xffffffff,0x03020100,0x0b0a0908 -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,95,54 -DB 52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 -DB 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 -DB 111,114,103,62,0 - -ALIGN 64 -sha256_block_data_order_shaext: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha256_block_data_order_shaext: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -_shaext_shortcut: - lea rsp,[((-88))+rsp] - movaps XMMWORD[(-8-80)+rax],xmm6 - movaps XMMWORD[(-8-64)+rax],xmm7 - movaps XMMWORD[(-8-48)+rax],xmm8 - movaps XMMWORD[(-8-32)+rax],xmm9 - movaps XMMWORD[(-8-16)+rax],xmm10 -$L$prologue_shaext: - lea rcx,[((K256+128))] - movdqu xmm1,XMMWORD[rdi] - movdqu xmm2,XMMWORD[16+rdi] - movdqa xmm7,XMMWORD[((512-128))+rcx] - - pshufd xmm0,xmm1,0x1b - pshufd xmm1,xmm1,0xb1 - pshufd xmm2,xmm2,0x1b - movdqa xmm8,xmm7 -DB 102,15,58,15,202,8 - punpcklqdq xmm2,xmm0 - jmp NEAR $L$oop_shaext - -ALIGN 16 -$L$oop_shaext: - movdqu xmm3,XMMWORD[rsi] - movdqu xmm4,XMMWORD[16+rsi] - movdqu xmm5,XMMWORD[32+rsi] -DB 102,15,56,0,223 - movdqu xmm6,XMMWORD[48+rsi] - - movdqa xmm0,XMMWORD[((0-128))+rcx] - paddd xmm0,xmm3 -DB 102,15,56,0,231 - movdqa xmm10,xmm2 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - nop - movdqa xmm9,xmm1 -DB 15,56,203,202 - - movdqa xmm0,XMMWORD[((32-128))+rcx] - paddd xmm0,xmm4 -DB 102,15,56,0,239 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - lea rsi,[64+rsi] -DB 15,56,204,220 -DB 15,56,203,202 - - movdqa xmm0,XMMWORD[((64-128))+rcx] - paddd xmm0,xmm5 -DB 102,15,56,0,247 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm6 -DB 102,15,58,15,253,4 - nop - paddd xmm3,xmm7 -DB 15,56,204,229 -DB 15,56,203,202 - - movdqa xmm0,XMMWORD[((96-128))+rcx] - paddd xmm0,xmm6 -DB 15,56,205,222 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm3 -DB 102,15,58,15,254,4 - nop - paddd xmm4,xmm7 -DB 15,56,204,238 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((128-128))+rcx] - paddd xmm0,xmm3 -DB 15,56,205,227 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm4 -DB 102,15,58,15,251,4 - nop - paddd xmm5,xmm7 -DB 15,56,204,243 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((160-128))+rcx] - paddd xmm0,xmm4 -DB 15,56,205,236 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm5 -DB 102,15,58,15,252,4 - nop - paddd xmm6,xmm7 -DB 15,56,204,220 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((192-128))+rcx] - paddd xmm0,xmm5 -DB 15,56,205,245 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm6 -DB 102,15,58,15,253,4 - nop - paddd xmm3,xmm7 -DB 15,56,204,229 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((224-128))+rcx] - paddd xmm0,xmm6 -DB 15,56,205,222 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm3 -DB 102,15,58,15,254,4 - nop - paddd xmm4,xmm7 -DB 15,56,204,238 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((256-128))+rcx] - paddd xmm0,xmm3 -DB 15,56,205,227 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm4 -DB 102,15,58,15,251,4 - nop - paddd xmm5,xmm7 -DB 15,56,204,243 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((288-128))+rcx] - paddd xmm0,xmm4 -DB 15,56,205,236 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm5 -DB 102,15,58,15,252,4 - nop - paddd xmm6,xmm7 -DB 15,56,204,220 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((320-128))+rcx] - paddd xmm0,xmm5 -DB 15,56,205,245 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm6 -DB 102,15,58,15,253,4 - nop - paddd xmm3,xmm7 -DB 15,56,204,229 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((352-128))+rcx] - paddd xmm0,xmm6 -DB 15,56,205,222 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm3 -DB 102,15,58,15,254,4 - nop - paddd xmm4,xmm7 -DB 15,56,204,238 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((384-128))+rcx] - paddd xmm0,xmm3 -DB 15,56,205,227 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm4 -DB 102,15,58,15,251,4 - nop - paddd xmm5,xmm7 -DB 15,56,204,243 -DB 15,56,203,202 - movdqa xmm0,XMMWORD[((416-128))+rcx] - paddd xmm0,xmm4 -DB 15,56,205,236 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - movdqa xmm7,xmm5 -DB 102,15,58,15,252,4 -DB 15,56,203,202 - paddd xmm6,xmm7 - - movdqa xmm0,XMMWORD[((448-128))+rcx] - paddd xmm0,xmm5 -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e -DB 15,56,205,245 - movdqa xmm7,xmm8 -DB 15,56,203,202 - - movdqa xmm0,XMMWORD[((480-128))+rcx] - paddd xmm0,xmm6 - nop -DB 15,56,203,209 - pshufd xmm0,xmm0,0x0e - dec rdx - nop -DB 15,56,203,202 - - paddd xmm2,xmm10 - paddd xmm1,xmm9 - jnz NEAR $L$oop_shaext - - pshufd xmm2,xmm2,0xb1 - pshufd xmm7,xmm1,0x1b - pshufd xmm1,xmm1,0xb1 - punpckhqdq xmm1,xmm2 -DB 102,15,58,15,215,8 - - movdqu XMMWORD[rdi],xmm1 - movdqu XMMWORD[16+rdi],xmm2 - movaps xmm6,XMMWORD[((-8-80))+rax] - movaps xmm7,XMMWORD[((-8-64))+rax] - movaps xmm8,XMMWORD[((-8-48))+rax] - movaps xmm9,XMMWORD[((-8-32))+rax] - movaps xmm10,XMMWORD[((-8-16))+rax] - mov rsp,rax -$L$epilogue_shaext: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_block_data_order_shaext: - -ALIGN 64 -sha256_block_data_order_ssse3: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha256_block_data_order_ssse3: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -$L$ssse3_shortcut: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - mov r11,rsp - shl rdx,4 - sub rsp,160 - lea rdx,[rdx*4+rsi] - and rsp,-64 - mov QWORD[((64+0))+rsp],rdi - mov QWORD[((64+8))+rsp],rsi - mov QWORD[((64+16))+rsp],rdx - mov QWORD[((64+24))+rsp],r11 - movaps XMMWORD[(64+32)+rsp],xmm6 - movaps XMMWORD[(64+48)+rsp],xmm7 - movaps XMMWORD[(64+64)+rsp],xmm8 - movaps XMMWORD[(64+80)+rsp],xmm9 -$L$prologue_ssse3: - - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - mov r8d,DWORD[16+rdi] - mov r9d,DWORD[20+rdi] - mov r10d,DWORD[24+rdi] - mov r11d,DWORD[28+rdi] - - - jmp NEAR $L$loop_ssse3 -ALIGN 16 -$L$loop_ssse3: - movdqa xmm7,XMMWORD[((K256+512))] - movdqu xmm0,XMMWORD[rsi] - movdqu xmm1,XMMWORD[16+rsi] - movdqu xmm2,XMMWORD[32+rsi] -DB 102,15,56,0,199 - movdqu xmm3,XMMWORD[48+rsi] - lea rbp,[K256] -DB 102,15,56,0,207 - movdqa xmm4,XMMWORD[rbp] - movdqa xmm5,XMMWORD[32+rbp] -DB 102,15,56,0,215 - paddd xmm4,xmm0 - movdqa xmm6,XMMWORD[64+rbp] -DB 102,15,56,0,223 - movdqa xmm7,XMMWORD[96+rbp] - paddd xmm5,xmm1 - paddd xmm6,xmm2 - paddd xmm7,xmm3 - movdqa XMMWORD[rsp],xmm4 - mov r14d,eax - movdqa XMMWORD[16+rsp],xmm5 - mov edi,ebx - movdqa XMMWORD[32+rsp],xmm6 - xor edi,ecx - movdqa XMMWORD[48+rsp],xmm7 - mov r13d,r8d - jmp NEAR $L$ssse3_00_47 - -ALIGN 16 -$L$ssse3_00_47: - sub rbp,-128 - ror r13d,14 - movdqa xmm4,xmm1 - mov eax,r14d - mov r12d,r9d - movdqa xmm7,xmm3 - ror r14d,9 - xor r13d,r8d - xor r12d,r10d - ror r13d,5 - xor r14d,eax -DB 102,15,58,15,224,4 - and r12d,r8d - xor r13d,r8d -DB 102,15,58,15,250,4 - add r11d,DWORD[rsp] - mov r15d,eax - xor r12d,r10d - ror r14d,11 - movdqa xmm5,xmm4 - xor r15d,ebx - add r11d,r12d - movdqa xmm6,xmm4 - ror r13d,6 - and edi,r15d - psrld xmm4,3 - xor r14d,eax - add r11d,r13d - xor edi,ebx - paddd xmm0,xmm7 - ror r14d,2 - add edx,r11d - psrld xmm6,7 - add r11d,edi - mov r13d,edx - pshufd xmm7,xmm3,250 - add r14d,r11d - ror r13d,14 - pslld xmm5,14 - mov r11d,r14d - mov r12d,r8d - pxor xmm4,xmm6 - ror r14d,9 - xor r13d,edx - xor r12d,r9d - ror r13d,5 - psrld xmm6,11 - xor r14d,r11d - pxor xmm4,xmm5 - and r12d,edx - xor r13d,edx - pslld xmm5,11 - add r10d,DWORD[4+rsp] - mov edi,r11d - pxor xmm4,xmm6 - xor r12d,r9d - ror r14d,11 - movdqa xmm6,xmm7 - xor edi,eax - add r10d,r12d - pxor xmm4,xmm5 - ror r13d,6 - and r15d,edi - xor r14d,r11d - psrld xmm7,10 - add r10d,r13d - xor r15d,eax - paddd xmm0,xmm4 - ror r14d,2 - add ecx,r10d - psrlq xmm6,17 - add r10d,r15d - mov r13d,ecx - add r14d,r10d - pxor xmm7,xmm6 - ror r13d,14 - mov r10d,r14d - mov r12d,edx - ror r14d,9 - psrlq xmm6,2 - xor r13d,ecx - xor r12d,r8d - pxor xmm7,xmm6 - ror r13d,5 - xor r14d,r10d - and r12d,ecx - pshufd xmm7,xmm7,128 - xor r13d,ecx - add r9d,DWORD[8+rsp] - mov r15d,r10d - psrldq xmm7,8 - xor r12d,r8d - ror r14d,11 - xor r15d,r11d - add r9d,r12d - ror r13d,6 - paddd xmm0,xmm7 - and edi,r15d - xor r14d,r10d - add r9d,r13d - pshufd xmm7,xmm0,80 - xor edi,r11d - ror r14d,2 - add ebx,r9d - movdqa xmm6,xmm7 - add r9d,edi - mov r13d,ebx - psrld xmm7,10 - add r14d,r9d - ror r13d,14 - psrlq xmm6,17 - mov r9d,r14d - mov r12d,ecx - pxor xmm7,xmm6 - ror r14d,9 - xor r13d,ebx - xor r12d,edx - ror r13d,5 - xor r14d,r9d - psrlq xmm6,2 - and r12d,ebx - xor r13d,ebx - add r8d,DWORD[12+rsp] - pxor xmm7,xmm6 - mov edi,r9d - xor r12d,edx - ror r14d,11 - pshufd xmm7,xmm7,8 - xor edi,r10d - add r8d,r12d - movdqa xmm6,XMMWORD[rbp] - ror r13d,6 - and r15d,edi - pslldq xmm7,8 - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - paddd xmm0,xmm7 - ror r14d,2 - add eax,r8d - add r8d,r15d - paddd xmm6,xmm0 - mov r13d,eax - add r14d,r8d - movdqa XMMWORD[rsp],xmm6 - ror r13d,14 - movdqa xmm4,xmm2 - mov r8d,r14d - mov r12d,ebx - movdqa xmm7,xmm0 - ror r14d,9 - xor r13d,eax - xor r12d,ecx - ror r13d,5 - xor r14d,r8d -DB 102,15,58,15,225,4 - and r12d,eax - xor r13d,eax -DB 102,15,58,15,251,4 - add edx,DWORD[16+rsp] - mov r15d,r8d - xor r12d,ecx - ror r14d,11 - movdqa xmm5,xmm4 - xor r15d,r9d - add edx,r12d - movdqa xmm6,xmm4 - ror r13d,6 - and edi,r15d - psrld xmm4,3 - xor r14d,r8d - add edx,r13d - xor edi,r9d - paddd xmm1,xmm7 - ror r14d,2 - add r11d,edx - psrld xmm6,7 - add edx,edi - mov r13d,r11d - pshufd xmm7,xmm0,250 - add r14d,edx - ror r13d,14 - pslld xmm5,14 - mov edx,r14d - mov r12d,eax - pxor xmm4,xmm6 - ror r14d,9 - xor r13d,r11d - xor r12d,ebx - ror r13d,5 - psrld xmm6,11 - xor r14d,edx - pxor xmm4,xmm5 - and r12d,r11d - xor r13d,r11d - pslld xmm5,11 - add ecx,DWORD[20+rsp] - mov edi,edx - pxor xmm4,xmm6 - xor r12d,ebx - ror r14d,11 - movdqa xmm6,xmm7 - xor edi,r8d - add ecx,r12d - pxor xmm4,xmm5 - ror r13d,6 - and r15d,edi - xor r14d,edx - psrld xmm7,10 - add ecx,r13d - xor r15d,r8d - paddd xmm1,xmm4 - ror r14d,2 - add r10d,ecx - psrlq xmm6,17 - add ecx,r15d - mov r13d,r10d - add r14d,ecx - pxor xmm7,xmm6 - ror r13d,14 - mov ecx,r14d - mov r12d,r11d - ror r14d,9 - psrlq xmm6,2 - xor r13d,r10d - xor r12d,eax - pxor xmm7,xmm6 - ror r13d,5 - xor r14d,ecx - and r12d,r10d - pshufd xmm7,xmm7,128 - xor r13d,r10d - add ebx,DWORD[24+rsp] - mov r15d,ecx - psrldq xmm7,8 - xor r12d,eax - ror r14d,11 - xor r15d,edx - add ebx,r12d - ror r13d,6 - paddd xmm1,xmm7 - and edi,r15d - xor r14d,ecx - add ebx,r13d - pshufd xmm7,xmm1,80 - xor edi,edx - ror r14d,2 - add r9d,ebx - movdqa xmm6,xmm7 - add ebx,edi - mov r13d,r9d - psrld xmm7,10 - add r14d,ebx - ror r13d,14 - psrlq xmm6,17 - mov ebx,r14d - mov r12d,r10d - pxor xmm7,xmm6 - ror r14d,9 - xor r13d,r9d - xor r12d,r11d - ror r13d,5 - xor r14d,ebx - psrlq xmm6,2 - and r12d,r9d - xor r13d,r9d - add eax,DWORD[28+rsp] - pxor xmm7,xmm6 - mov edi,ebx - xor r12d,r11d - ror r14d,11 - pshufd xmm7,xmm7,8 - xor edi,ecx - add eax,r12d - movdqa xmm6,XMMWORD[32+rbp] - ror r13d,6 - and r15d,edi - pslldq xmm7,8 - xor r14d,ebx - add eax,r13d - xor r15d,ecx - paddd xmm1,xmm7 - ror r14d,2 - add r8d,eax - add eax,r15d - paddd xmm6,xmm1 - mov r13d,r8d - add r14d,eax - movdqa XMMWORD[16+rsp],xmm6 - ror r13d,14 - movdqa xmm4,xmm3 - mov eax,r14d - mov r12d,r9d - movdqa xmm7,xmm1 - ror r14d,9 - xor r13d,r8d - xor r12d,r10d - ror r13d,5 - xor r14d,eax -DB 102,15,58,15,226,4 - and r12d,r8d - xor r13d,r8d -DB 102,15,58,15,248,4 - add r11d,DWORD[32+rsp] - mov r15d,eax - xor r12d,r10d - ror r14d,11 - movdqa xmm5,xmm4 - xor r15d,ebx - add r11d,r12d - movdqa xmm6,xmm4 - ror r13d,6 - and edi,r15d - psrld xmm4,3 - xor r14d,eax - add r11d,r13d - xor edi,ebx - paddd xmm2,xmm7 - ror r14d,2 - add edx,r11d - psrld xmm6,7 - add r11d,edi - mov r13d,edx - pshufd xmm7,xmm1,250 - add r14d,r11d - ror r13d,14 - pslld xmm5,14 - mov r11d,r14d - mov r12d,r8d - pxor xmm4,xmm6 - ror r14d,9 - xor r13d,edx - xor r12d,r9d - ror r13d,5 - psrld xmm6,11 - xor r14d,r11d - pxor xmm4,xmm5 - and r12d,edx - xor r13d,edx - pslld xmm5,11 - add r10d,DWORD[36+rsp] - mov edi,r11d - pxor xmm4,xmm6 - xor r12d,r9d - ror r14d,11 - movdqa xmm6,xmm7 - xor edi,eax - add r10d,r12d - pxor xmm4,xmm5 - ror r13d,6 - and r15d,edi - xor r14d,r11d - psrld xmm7,10 - add r10d,r13d - xor r15d,eax - paddd xmm2,xmm4 - ror r14d,2 - add ecx,r10d - psrlq xmm6,17 - add r10d,r15d - mov r13d,ecx - add r14d,r10d - pxor xmm7,xmm6 - ror r13d,14 - mov r10d,r14d - mov r12d,edx - ror r14d,9 - psrlq xmm6,2 - xor r13d,ecx - xor r12d,r8d - pxor xmm7,xmm6 - ror r13d,5 - xor r14d,r10d - and r12d,ecx - pshufd xmm7,xmm7,128 - xor r13d,ecx - add r9d,DWORD[40+rsp] - mov r15d,r10d - psrldq xmm7,8 - xor r12d,r8d - ror r14d,11 - xor r15d,r11d - add r9d,r12d - ror r13d,6 - paddd xmm2,xmm7 - and edi,r15d - xor r14d,r10d - add r9d,r13d - pshufd xmm7,xmm2,80 - xor edi,r11d - ror r14d,2 - add ebx,r9d - movdqa xmm6,xmm7 - add r9d,edi - mov r13d,ebx - psrld xmm7,10 - add r14d,r9d - ror r13d,14 - psrlq xmm6,17 - mov r9d,r14d - mov r12d,ecx - pxor xmm7,xmm6 - ror r14d,9 - xor r13d,ebx - xor r12d,edx - ror r13d,5 - xor r14d,r9d - psrlq xmm6,2 - and r12d,ebx - xor r13d,ebx - add r8d,DWORD[44+rsp] - pxor xmm7,xmm6 - mov edi,r9d - xor r12d,edx - ror r14d,11 - pshufd xmm7,xmm7,8 - xor edi,r10d - add r8d,r12d - movdqa xmm6,XMMWORD[64+rbp] - ror r13d,6 - and r15d,edi - pslldq xmm7,8 - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - paddd xmm2,xmm7 - ror r14d,2 - add eax,r8d - add r8d,r15d - paddd xmm6,xmm2 - mov r13d,eax - add r14d,r8d - movdqa XMMWORD[32+rsp],xmm6 - ror r13d,14 - movdqa xmm4,xmm0 - mov r8d,r14d - mov r12d,ebx - movdqa xmm7,xmm2 - ror r14d,9 - xor r13d,eax - xor r12d,ecx - ror r13d,5 - xor r14d,r8d -DB 102,15,58,15,227,4 - and r12d,eax - xor r13d,eax -DB 102,15,58,15,249,4 - add edx,DWORD[48+rsp] - mov r15d,r8d - xor r12d,ecx - ror r14d,11 - movdqa xmm5,xmm4 - xor r15d,r9d - add edx,r12d - movdqa xmm6,xmm4 - ror r13d,6 - and edi,r15d - psrld xmm4,3 - xor r14d,r8d - add edx,r13d - xor edi,r9d - paddd xmm3,xmm7 - ror r14d,2 - add r11d,edx - psrld xmm6,7 - add edx,edi - mov r13d,r11d - pshufd xmm7,xmm2,250 - add r14d,edx - ror r13d,14 - pslld xmm5,14 - mov edx,r14d - mov r12d,eax - pxor xmm4,xmm6 - ror r14d,9 - xor r13d,r11d - xor r12d,ebx - ror r13d,5 - psrld xmm6,11 - xor r14d,edx - pxor xmm4,xmm5 - and r12d,r11d - xor r13d,r11d - pslld xmm5,11 - add ecx,DWORD[52+rsp] - mov edi,edx - pxor xmm4,xmm6 - xor r12d,ebx - ror r14d,11 - movdqa xmm6,xmm7 - xor edi,r8d - add ecx,r12d - pxor xmm4,xmm5 - ror r13d,6 - and r15d,edi - xor r14d,edx - psrld xmm7,10 - add ecx,r13d - xor r15d,r8d - paddd xmm3,xmm4 - ror r14d,2 - add r10d,ecx - psrlq xmm6,17 - add ecx,r15d - mov r13d,r10d - add r14d,ecx - pxor xmm7,xmm6 - ror r13d,14 - mov ecx,r14d - mov r12d,r11d - ror r14d,9 - psrlq xmm6,2 - xor r13d,r10d - xor r12d,eax - pxor xmm7,xmm6 - ror r13d,5 - xor r14d,ecx - and r12d,r10d - pshufd xmm7,xmm7,128 - xor r13d,r10d - add ebx,DWORD[56+rsp] - mov r15d,ecx - psrldq xmm7,8 - xor r12d,eax - ror r14d,11 - xor r15d,edx - add ebx,r12d - ror r13d,6 - paddd xmm3,xmm7 - and edi,r15d - xor r14d,ecx - add ebx,r13d - pshufd xmm7,xmm3,80 - xor edi,edx - ror r14d,2 - add r9d,ebx - movdqa xmm6,xmm7 - add ebx,edi - mov r13d,r9d - psrld xmm7,10 - add r14d,ebx - ror r13d,14 - psrlq xmm6,17 - mov ebx,r14d - mov r12d,r10d - pxor xmm7,xmm6 - ror r14d,9 - xor r13d,r9d - xor r12d,r11d - ror r13d,5 - xor r14d,ebx - psrlq xmm6,2 - and r12d,r9d - xor r13d,r9d - add eax,DWORD[60+rsp] - pxor xmm7,xmm6 - mov edi,ebx - xor r12d,r11d - ror r14d,11 - pshufd xmm7,xmm7,8 - xor edi,ecx - add eax,r12d - movdqa xmm6,XMMWORD[96+rbp] - ror r13d,6 - and r15d,edi - pslldq xmm7,8 - xor r14d,ebx - add eax,r13d - xor r15d,ecx - paddd xmm3,xmm7 - ror r14d,2 - add r8d,eax - add eax,r15d - paddd xmm6,xmm3 - mov r13d,r8d - add r14d,eax - movdqa XMMWORD[48+rsp],xmm6 - cmp BYTE[131+rbp],0 - jne NEAR $L$ssse3_00_47 - ror r13d,14 - mov eax,r14d - mov r12d,r9d - ror r14d,9 - xor r13d,r8d - xor r12d,r10d - ror r13d,5 - xor r14d,eax - and r12d,r8d - xor r13d,r8d - add r11d,DWORD[rsp] - mov r15d,eax - xor r12d,r10d - ror r14d,11 - xor r15d,ebx - add r11d,r12d - ror r13d,6 - and edi,r15d - xor r14d,eax - add r11d,r13d - xor edi,ebx - ror r14d,2 - add edx,r11d - add r11d,edi - mov r13d,edx - add r14d,r11d - ror r13d,14 - mov r11d,r14d - mov r12d,r8d - ror r14d,9 - xor r13d,edx - xor r12d,r9d - ror r13d,5 - xor r14d,r11d - and r12d,edx - xor r13d,edx - add r10d,DWORD[4+rsp] - mov edi,r11d - xor r12d,r9d - ror r14d,11 - xor edi,eax - add r10d,r12d - ror r13d,6 - and r15d,edi - xor r14d,r11d - add r10d,r13d - xor r15d,eax - ror r14d,2 - add ecx,r10d - add r10d,r15d - mov r13d,ecx - add r14d,r10d - ror r13d,14 - mov r10d,r14d - mov r12d,edx - ror r14d,9 - xor r13d,ecx - xor r12d,r8d - ror r13d,5 - xor r14d,r10d - and r12d,ecx - xor r13d,ecx - add r9d,DWORD[8+rsp] - mov r15d,r10d - xor r12d,r8d - ror r14d,11 - xor r15d,r11d - add r9d,r12d - ror r13d,6 - and edi,r15d - xor r14d,r10d - add r9d,r13d - xor edi,r11d - ror r14d,2 - add ebx,r9d - add r9d,edi - mov r13d,ebx - add r14d,r9d - ror r13d,14 - mov r9d,r14d - mov r12d,ecx - ror r14d,9 - xor r13d,ebx - xor r12d,edx - ror r13d,5 - xor r14d,r9d - and r12d,ebx - xor r13d,ebx - add r8d,DWORD[12+rsp] - mov edi,r9d - xor r12d,edx - ror r14d,11 - xor edi,r10d - add r8d,r12d - ror r13d,6 - and r15d,edi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - ror r14d,2 - add eax,r8d - add r8d,r15d - mov r13d,eax - add r14d,r8d - ror r13d,14 - mov r8d,r14d - mov r12d,ebx - ror r14d,9 - xor r13d,eax - xor r12d,ecx - ror r13d,5 - xor r14d,r8d - and r12d,eax - xor r13d,eax - add edx,DWORD[16+rsp] - mov r15d,r8d - xor r12d,ecx - ror r14d,11 - xor r15d,r9d - add edx,r12d - ror r13d,6 - and edi,r15d - xor r14d,r8d - add edx,r13d - xor edi,r9d - ror r14d,2 - add r11d,edx - add edx,edi - mov r13d,r11d - add r14d,edx - ror r13d,14 - mov edx,r14d - mov r12d,eax - ror r14d,9 - xor r13d,r11d - xor r12d,ebx - ror r13d,5 - xor r14d,edx - and r12d,r11d - xor r13d,r11d - add ecx,DWORD[20+rsp] - mov edi,edx - xor r12d,ebx - ror r14d,11 - xor edi,r8d - add ecx,r12d - ror r13d,6 - and r15d,edi - xor r14d,edx - add ecx,r13d - xor r15d,r8d - ror r14d,2 - add r10d,ecx - add ecx,r15d - mov r13d,r10d - add r14d,ecx - ror r13d,14 - mov ecx,r14d - mov r12d,r11d - ror r14d,9 - xor r13d,r10d - xor r12d,eax - ror r13d,5 - xor r14d,ecx - and r12d,r10d - xor r13d,r10d - add ebx,DWORD[24+rsp] - mov r15d,ecx - xor r12d,eax - ror r14d,11 - xor r15d,edx - add ebx,r12d - ror r13d,6 - and edi,r15d - xor r14d,ecx - add ebx,r13d - xor edi,edx - ror r14d,2 - add r9d,ebx - add ebx,edi - mov r13d,r9d - add r14d,ebx - ror r13d,14 - mov ebx,r14d - mov r12d,r10d - ror r14d,9 - xor r13d,r9d - xor r12d,r11d - ror r13d,5 - xor r14d,ebx - and r12d,r9d - xor r13d,r9d - add eax,DWORD[28+rsp] - mov edi,ebx - xor r12d,r11d - ror r14d,11 - xor edi,ecx - add eax,r12d - ror r13d,6 - and r15d,edi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - ror r14d,2 - add r8d,eax - add eax,r15d - mov r13d,r8d - add r14d,eax - ror r13d,14 - mov eax,r14d - mov r12d,r9d - ror r14d,9 - xor r13d,r8d - xor r12d,r10d - ror r13d,5 - xor r14d,eax - and r12d,r8d - xor r13d,r8d - add r11d,DWORD[32+rsp] - mov r15d,eax - xor r12d,r10d - ror r14d,11 - xor r15d,ebx - add r11d,r12d - ror r13d,6 - and edi,r15d - xor r14d,eax - add r11d,r13d - xor edi,ebx - ror r14d,2 - add edx,r11d - add r11d,edi - mov r13d,edx - add r14d,r11d - ror r13d,14 - mov r11d,r14d - mov r12d,r8d - ror r14d,9 - xor r13d,edx - xor r12d,r9d - ror r13d,5 - xor r14d,r11d - and r12d,edx - xor r13d,edx - add r10d,DWORD[36+rsp] - mov edi,r11d - xor r12d,r9d - ror r14d,11 - xor edi,eax - add r10d,r12d - ror r13d,6 - and r15d,edi - xor r14d,r11d - add r10d,r13d - xor r15d,eax - ror r14d,2 - add ecx,r10d - add r10d,r15d - mov r13d,ecx - add r14d,r10d - ror r13d,14 - mov r10d,r14d - mov r12d,edx - ror r14d,9 - xor r13d,ecx - xor r12d,r8d - ror r13d,5 - xor r14d,r10d - and r12d,ecx - xor r13d,ecx - add r9d,DWORD[40+rsp] - mov r15d,r10d - xor r12d,r8d - ror r14d,11 - xor r15d,r11d - add r9d,r12d - ror r13d,6 - and edi,r15d - xor r14d,r10d - add r9d,r13d - xor edi,r11d - ror r14d,2 - add ebx,r9d - add r9d,edi - mov r13d,ebx - add r14d,r9d - ror r13d,14 - mov r9d,r14d - mov r12d,ecx - ror r14d,9 - xor r13d,ebx - xor r12d,edx - ror r13d,5 - xor r14d,r9d - and r12d,ebx - xor r13d,ebx - add r8d,DWORD[44+rsp] - mov edi,r9d - xor r12d,edx - ror r14d,11 - xor edi,r10d - add r8d,r12d - ror r13d,6 - and r15d,edi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - ror r14d,2 - add eax,r8d - add r8d,r15d - mov r13d,eax - add r14d,r8d - ror r13d,14 - mov r8d,r14d - mov r12d,ebx - ror r14d,9 - xor r13d,eax - xor r12d,ecx - ror r13d,5 - xor r14d,r8d - and r12d,eax - xor r13d,eax - add edx,DWORD[48+rsp] - mov r15d,r8d - xor r12d,ecx - ror r14d,11 - xor r15d,r9d - add edx,r12d - ror r13d,6 - and edi,r15d - xor r14d,r8d - add edx,r13d - xor edi,r9d - ror r14d,2 - add r11d,edx - add edx,edi - mov r13d,r11d - add r14d,edx - ror r13d,14 - mov edx,r14d - mov r12d,eax - ror r14d,9 - xor r13d,r11d - xor r12d,ebx - ror r13d,5 - xor r14d,edx - and r12d,r11d - xor r13d,r11d - add ecx,DWORD[52+rsp] - mov edi,edx - xor r12d,ebx - ror r14d,11 - xor edi,r8d - add ecx,r12d - ror r13d,6 - and r15d,edi - xor r14d,edx - add ecx,r13d - xor r15d,r8d - ror r14d,2 - add r10d,ecx - add ecx,r15d - mov r13d,r10d - add r14d,ecx - ror r13d,14 - mov ecx,r14d - mov r12d,r11d - ror r14d,9 - xor r13d,r10d - xor r12d,eax - ror r13d,5 - xor r14d,ecx - and r12d,r10d - xor r13d,r10d - add ebx,DWORD[56+rsp] - mov r15d,ecx - xor r12d,eax - ror r14d,11 - xor r15d,edx - add ebx,r12d - ror r13d,6 - and edi,r15d - xor r14d,ecx - add ebx,r13d - xor edi,edx - ror r14d,2 - add r9d,ebx - add ebx,edi - mov r13d,r9d - add r14d,ebx - ror r13d,14 - mov ebx,r14d - mov r12d,r10d - ror r14d,9 - xor r13d,r9d - xor r12d,r11d - ror r13d,5 - xor r14d,ebx - and r12d,r9d - xor r13d,r9d - add eax,DWORD[60+rsp] - mov edi,ebx - xor r12d,r11d - ror r14d,11 - xor edi,ecx - add eax,r12d - ror r13d,6 - and r15d,edi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - ror r14d,2 - add r8d,eax - add eax,r15d - mov r13d,r8d - add r14d,eax - mov rdi,QWORD[((64+0))+rsp] - mov eax,r14d - - add eax,DWORD[rdi] - lea rsi,[64+rsi] - add ebx,DWORD[4+rdi] - add ecx,DWORD[8+rdi] - add edx,DWORD[12+rdi] - add r8d,DWORD[16+rdi] - add r9d,DWORD[20+rdi] - add r10d,DWORD[24+rdi] - add r11d,DWORD[28+rdi] - - cmp rsi,QWORD[((64+16))+rsp] - - mov DWORD[rdi],eax - mov DWORD[4+rdi],ebx - mov DWORD[8+rdi],ecx - mov DWORD[12+rdi],edx - mov DWORD[16+rdi],r8d - mov DWORD[20+rdi],r9d - mov DWORD[24+rdi],r10d - mov DWORD[28+rdi],r11d - jb NEAR $L$loop_ssse3 - - mov rsi,QWORD[((64+24))+rsp] - movaps xmm6,XMMWORD[((64+32))+rsp] - movaps xmm7,XMMWORD[((64+48))+rsp] - movaps xmm8,XMMWORD[((64+64))+rsp] - movaps xmm9,XMMWORD[((64+80))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue_ssse3: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_block_data_order_ssse3: - -ALIGN 64 -sha256_block_data_order_avx: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha256_block_data_order_avx: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -$L$avx_shortcut: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - mov r11,rsp - shl rdx,4 - sub rsp,160 - lea rdx,[rdx*4+rsi] - and rsp,-64 - mov QWORD[((64+0))+rsp],rdi - mov QWORD[((64+8))+rsp],rsi - mov QWORD[((64+16))+rsp],rdx - mov QWORD[((64+24))+rsp],r11 - movaps XMMWORD[(64+32)+rsp],xmm6 - movaps XMMWORD[(64+48)+rsp],xmm7 - movaps XMMWORD[(64+64)+rsp],xmm8 - movaps XMMWORD[(64+80)+rsp],xmm9 -$L$prologue_avx: - - vzeroupper - mov eax,DWORD[rdi] - mov ebx,DWORD[4+rdi] - mov ecx,DWORD[8+rdi] - mov edx,DWORD[12+rdi] - mov r8d,DWORD[16+rdi] - mov r9d,DWORD[20+rdi] - mov r10d,DWORD[24+rdi] - mov r11d,DWORD[28+rdi] - vmovdqa xmm8,XMMWORD[((K256+512+32))] - vmovdqa xmm9,XMMWORD[((K256+512+64))] - jmp NEAR $L$loop_avx -ALIGN 16 -$L$loop_avx: - vmovdqa xmm7,XMMWORD[((K256+512))] - vmovdqu xmm0,XMMWORD[rsi] - vmovdqu xmm1,XMMWORD[16+rsi] - vmovdqu xmm2,XMMWORD[32+rsi] - vmovdqu xmm3,XMMWORD[48+rsi] - vpshufb xmm0,xmm0,xmm7 - lea rbp,[K256] - vpshufb xmm1,xmm1,xmm7 - vpshufb xmm2,xmm2,xmm7 - vpaddd xmm4,xmm0,XMMWORD[rbp] - vpshufb xmm3,xmm3,xmm7 - vpaddd xmm5,xmm1,XMMWORD[32+rbp] - vpaddd xmm6,xmm2,XMMWORD[64+rbp] - vpaddd xmm7,xmm3,XMMWORD[96+rbp] - vmovdqa XMMWORD[rsp],xmm4 - mov r14d,eax - vmovdqa XMMWORD[16+rsp],xmm5 - mov edi,ebx - vmovdqa XMMWORD[32+rsp],xmm6 - xor edi,ecx - vmovdqa XMMWORD[48+rsp],xmm7 - mov r13d,r8d - jmp NEAR $L$avx_00_47 - -ALIGN 16 -$L$avx_00_47: - sub rbp,-128 - vpalignr xmm4,xmm1,xmm0,4 - shrd r13d,r13d,14 - mov eax,r14d - mov r12d,r9d - vpalignr xmm7,xmm3,xmm2,4 - shrd r14d,r14d,9 - xor r13d,r8d - xor r12d,r10d - vpsrld xmm6,xmm4,7 - shrd r13d,r13d,5 - xor r14d,eax - and r12d,r8d - vpaddd xmm0,xmm0,xmm7 - xor r13d,r8d - add r11d,DWORD[rsp] - mov r15d,eax - vpsrld xmm7,xmm4,3 - xor r12d,r10d - shrd r14d,r14d,11 - xor r15d,ebx - vpslld xmm5,xmm4,14 - add r11d,r12d - shrd r13d,r13d,6 - and edi,r15d - vpxor xmm4,xmm7,xmm6 - xor r14d,eax - add r11d,r13d - xor edi,ebx - vpshufd xmm7,xmm3,250 - shrd r14d,r14d,2 - add edx,r11d - add r11d,edi - vpsrld xmm6,xmm6,11 - mov r13d,edx - add r14d,r11d - shrd r13d,r13d,14 - vpxor xmm4,xmm4,xmm5 - mov r11d,r14d - mov r12d,r8d - shrd r14d,r14d,9 - vpslld xmm5,xmm5,11 - xor r13d,edx - xor r12d,r9d - shrd r13d,r13d,5 - vpxor xmm4,xmm4,xmm6 - xor r14d,r11d - and r12d,edx - xor r13d,edx - vpsrld xmm6,xmm7,10 - add r10d,DWORD[4+rsp] - mov edi,r11d - xor r12d,r9d - vpxor xmm4,xmm4,xmm5 - shrd r14d,r14d,11 - xor edi,eax - add r10d,r12d - vpsrlq xmm7,xmm7,17 - shrd r13d,r13d,6 - and r15d,edi - xor r14d,r11d - vpaddd xmm0,xmm0,xmm4 - add r10d,r13d - xor r15d,eax - shrd r14d,r14d,2 - vpxor xmm6,xmm6,xmm7 - add ecx,r10d - add r10d,r15d - mov r13d,ecx - vpsrlq xmm7,xmm7,2 - add r14d,r10d - shrd r13d,r13d,14 - mov r10d,r14d - vpxor xmm6,xmm6,xmm7 - mov r12d,edx - shrd r14d,r14d,9 - xor r13d,ecx - vpshufb xmm6,xmm6,xmm8 - xor r12d,r8d - shrd r13d,r13d,5 - xor r14d,r10d - vpaddd xmm0,xmm0,xmm6 - and r12d,ecx - xor r13d,ecx - add r9d,DWORD[8+rsp] - vpshufd xmm7,xmm0,80 - mov r15d,r10d - xor r12d,r8d - shrd r14d,r14d,11 - vpsrld xmm6,xmm7,10 - xor r15d,r11d - add r9d,r12d - shrd r13d,r13d,6 - vpsrlq xmm7,xmm7,17 - and edi,r15d - xor r14d,r10d - add r9d,r13d - vpxor xmm6,xmm6,xmm7 - xor edi,r11d - shrd r14d,r14d,2 - add ebx,r9d - vpsrlq xmm7,xmm7,2 - add r9d,edi - mov r13d,ebx - add r14d,r9d - vpxor xmm6,xmm6,xmm7 - shrd r13d,r13d,14 - mov r9d,r14d - mov r12d,ecx - vpshufb xmm6,xmm6,xmm9 - shrd r14d,r14d,9 - xor r13d,ebx - xor r12d,edx - vpaddd xmm0,xmm0,xmm6 - shrd r13d,r13d,5 - xor r14d,r9d - and r12d,ebx - vpaddd xmm6,xmm0,XMMWORD[rbp] - xor r13d,ebx - add r8d,DWORD[12+rsp] - mov edi,r9d - xor r12d,edx - shrd r14d,r14d,11 - xor edi,r10d - add r8d,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - shrd r14d,r14d,2 - add eax,r8d - add r8d,r15d - mov r13d,eax - add r14d,r8d - vmovdqa XMMWORD[rsp],xmm6 - vpalignr xmm4,xmm2,xmm1,4 - shrd r13d,r13d,14 - mov r8d,r14d - mov r12d,ebx - vpalignr xmm7,xmm0,xmm3,4 - shrd r14d,r14d,9 - xor r13d,eax - xor r12d,ecx - vpsrld xmm6,xmm4,7 - shrd r13d,r13d,5 - xor r14d,r8d - and r12d,eax - vpaddd xmm1,xmm1,xmm7 - xor r13d,eax - add edx,DWORD[16+rsp] - mov r15d,r8d - vpsrld xmm7,xmm4,3 - xor r12d,ecx - shrd r14d,r14d,11 - xor r15d,r9d - vpslld xmm5,xmm4,14 - add edx,r12d - shrd r13d,r13d,6 - and edi,r15d - vpxor xmm4,xmm7,xmm6 - xor r14d,r8d - add edx,r13d - xor edi,r9d - vpshufd xmm7,xmm0,250 - shrd r14d,r14d,2 - add r11d,edx - add edx,edi - vpsrld xmm6,xmm6,11 - mov r13d,r11d - add r14d,edx - shrd r13d,r13d,14 - vpxor xmm4,xmm4,xmm5 - mov edx,r14d - mov r12d,eax - shrd r14d,r14d,9 - vpslld xmm5,xmm5,11 - xor r13d,r11d - xor r12d,ebx - shrd r13d,r13d,5 - vpxor xmm4,xmm4,xmm6 - xor r14d,edx - and r12d,r11d - xor r13d,r11d - vpsrld xmm6,xmm7,10 - add ecx,DWORD[20+rsp] - mov edi,edx - xor r12d,ebx - vpxor xmm4,xmm4,xmm5 - shrd r14d,r14d,11 - xor edi,r8d - add ecx,r12d - vpsrlq xmm7,xmm7,17 - shrd r13d,r13d,6 - and r15d,edi - xor r14d,edx - vpaddd xmm1,xmm1,xmm4 - add ecx,r13d - xor r15d,r8d - shrd r14d,r14d,2 - vpxor xmm6,xmm6,xmm7 - add r10d,ecx - add ecx,r15d - mov r13d,r10d - vpsrlq xmm7,xmm7,2 - add r14d,ecx - shrd r13d,r13d,14 - mov ecx,r14d - vpxor xmm6,xmm6,xmm7 - mov r12d,r11d - shrd r14d,r14d,9 - xor r13d,r10d - vpshufb xmm6,xmm6,xmm8 - xor r12d,eax - shrd r13d,r13d,5 - xor r14d,ecx - vpaddd xmm1,xmm1,xmm6 - and r12d,r10d - xor r13d,r10d - add ebx,DWORD[24+rsp] - vpshufd xmm7,xmm1,80 - mov r15d,ecx - xor r12d,eax - shrd r14d,r14d,11 - vpsrld xmm6,xmm7,10 - xor r15d,edx - add ebx,r12d - shrd r13d,r13d,6 - vpsrlq xmm7,xmm7,17 - and edi,r15d - xor r14d,ecx - add ebx,r13d - vpxor xmm6,xmm6,xmm7 - xor edi,edx - shrd r14d,r14d,2 - add r9d,ebx - vpsrlq xmm7,xmm7,2 - add ebx,edi - mov r13d,r9d - add r14d,ebx - vpxor xmm6,xmm6,xmm7 - shrd r13d,r13d,14 - mov ebx,r14d - mov r12d,r10d - vpshufb xmm6,xmm6,xmm9 - shrd r14d,r14d,9 - xor r13d,r9d - xor r12d,r11d - vpaddd xmm1,xmm1,xmm6 - shrd r13d,r13d,5 - xor r14d,ebx - and r12d,r9d - vpaddd xmm6,xmm1,XMMWORD[32+rbp] - xor r13d,r9d - add eax,DWORD[28+rsp] - mov edi,ebx - xor r12d,r11d - shrd r14d,r14d,11 - xor edi,ecx - add eax,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - shrd r14d,r14d,2 - add r8d,eax - add eax,r15d - mov r13d,r8d - add r14d,eax - vmovdqa XMMWORD[16+rsp],xmm6 - vpalignr xmm4,xmm3,xmm2,4 - shrd r13d,r13d,14 - mov eax,r14d - mov r12d,r9d - vpalignr xmm7,xmm1,xmm0,4 - shrd r14d,r14d,9 - xor r13d,r8d - xor r12d,r10d - vpsrld xmm6,xmm4,7 - shrd r13d,r13d,5 - xor r14d,eax - and r12d,r8d - vpaddd xmm2,xmm2,xmm7 - xor r13d,r8d - add r11d,DWORD[32+rsp] - mov r15d,eax - vpsrld xmm7,xmm4,3 - xor r12d,r10d - shrd r14d,r14d,11 - xor r15d,ebx - vpslld xmm5,xmm4,14 - add r11d,r12d - shrd r13d,r13d,6 - and edi,r15d - vpxor xmm4,xmm7,xmm6 - xor r14d,eax - add r11d,r13d - xor edi,ebx - vpshufd xmm7,xmm1,250 - shrd r14d,r14d,2 - add edx,r11d - add r11d,edi - vpsrld xmm6,xmm6,11 - mov r13d,edx - add r14d,r11d - shrd r13d,r13d,14 - vpxor xmm4,xmm4,xmm5 - mov r11d,r14d - mov r12d,r8d - shrd r14d,r14d,9 - vpslld xmm5,xmm5,11 - xor r13d,edx - xor r12d,r9d - shrd r13d,r13d,5 - vpxor xmm4,xmm4,xmm6 - xor r14d,r11d - and r12d,edx - xor r13d,edx - vpsrld xmm6,xmm7,10 - add r10d,DWORD[36+rsp] - mov edi,r11d - xor r12d,r9d - vpxor xmm4,xmm4,xmm5 - shrd r14d,r14d,11 - xor edi,eax - add r10d,r12d - vpsrlq xmm7,xmm7,17 - shrd r13d,r13d,6 - and r15d,edi - xor r14d,r11d - vpaddd xmm2,xmm2,xmm4 - add r10d,r13d - xor r15d,eax - shrd r14d,r14d,2 - vpxor xmm6,xmm6,xmm7 - add ecx,r10d - add r10d,r15d - mov r13d,ecx - vpsrlq xmm7,xmm7,2 - add r14d,r10d - shrd r13d,r13d,14 - mov r10d,r14d - vpxor xmm6,xmm6,xmm7 - mov r12d,edx - shrd r14d,r14d,9 - xor r13d,ecx - vpshufb xmm6,xmm6,xmm8 - xor r12d,r8d - shrd r13d,r13d,5 - xor r14d,r10d - vpaddd xmm2,xmm2,xmm6 - and r12d,ecx - xor r13d,ecx - add r9d,DWORD[40+rsp] - vpshufd xmm7,xmm2,80 - mov r15d,r10d - xor r12d,r8d - shrd r14d,r14d,11 - vpsrld xmm6,xmm7,10 - xor r15d,r11d - add r9d,r12d - shrd r13d,r13d,6 - vpsrlq xmm7,xmm7,17 - and edi,r15d - xor r14d,r10d - add r9d,r13d - vpxor xmm6,xmm6,xmm7 - xor edi,r11d - shrd r14d,r14d,2 - add ebx,r9d - vpsrlq xmm7,xmm7,2 - add r9d,edi - mov r13d,ebx - add r14d,r9d - vpxor xmm6,xmm6,xmm7 - shrd r13d,r13d,14 - mov r9d,r14d - mov r12d,ecx - vpshufb xmm6,xmm6,xmm9 - shrd r14d,r14d,9 - xor r13d,ebx - xor r12d,edx - vpaddd xmm2,xmm2,xmm6 - shrd r13d,r13d,5 - xor r14d,r9d - and r12d,ebx - vpaddd xmm6,xmm2,XMMWORD[64+rbp] - xor r13d,ebx - add r8d,DWORD[44+rsp] - mov edi,r9d - xor r12d,edx - shrd r14d,r14d,11 - xor edi,r10d - add r8d,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - shrd r14d,r14d,2 - add eax,r8d - add r8d,r15d - mov r13d,eax - add r14d,r8d - vmovdqa XMMWORD[32+rsp],xmm6 - vpalignr xmm4,xmm0,xmm3,4 - shrd r13d,r13d,14 - mov r8d,r14d - mov r12d,ebx - vpalignr xmm7,xmm2,xmm1,4 - shrd r14d,r14d,9 - xor r13d,eax - xor r12d,ecx - vpsrld xmm6,xmm4,7 - shrd r13d,r13d,5 - xor r14d,r8d - and r12d,eax - vpaddd xmm3,xmm3,xmm7 - xor r13d,eax - add edx,DWORD[48+rsp] - mov r15d,r8d - vpsrld xmm7,xmm4,3 - xor r12d,ecx - shrd r14d,r14d,11 - xor r15d,r9d - vpslld xmm5,xmm4,14 - add edx,r12d - shrd r13d,r13d,6 - and edi,r15d - vpxor xmm4,xmm7,xmm6 - xor r14d,r8d - add edx,r13d - xor edi,r9d - vpshufd xmm7,xmm2,250 - shrd r14d,r14d,2 - add r11d,edx - add edx,edi - vpsrld xmm6,xmm6,11 - mov r13d,r11d - add r14d,edx - shrd r13d,r13d,14 - vpxor xmm4,xmm4,xmm5 - mov edx,r14d - mov r12d,eax - shrd r14d,r14d,9 - vpslld xmm5,xmm5,11 - xor r13d,r11d - xor r12d,ebx - shrd r13d,r13d,5 - vpxor xmm4,xmm4,xmm6 - xor r14d,edx - and r12d,r11d - xor r13d,r11d - vpsrld xmm6,xmm7,10 - add ecx,DWORD[52+rsp] - mov edi,edx - xor r12d,ebx - vpxor xmm4,xmm4,xmm5 - shrd r14d,r14d,11 - xor edi,r8d - add ecx,r12d - vpsrlq xmm7,xmm7,17 - shrd r13d,r13d,6 - and r15d,edi - xor r14d,edx - vpaddd xmm3,xmm3,xmm4 - add ecx,r13d - xor r15d,r8d - shrd r14d,r14d,2 - vpxor xmm6,xmm6,xmm7 - add r10d,ecx - add ecx,r15d - mov r13d,r10d - vpsrlq xmm7,xmm7,2 - add r14d,ecx - shrd r13d,r13d,14 - mov ecx,r14d - vpxor xmm6,xmm6,xmm7 - mov r12d,r11d - shrd r14d,r14d,9 - xor r13d,r10d - vpshufb xmm6,xmm6,xmm8 - xor r12d,eax - shrd r13d,r13d,5 - xor r14d,ecx - vpaddd xmm3,xmm3,xmm6 - and r12d,r10d - xor r13d,r10d - add ebx,DWORD[56+rsp] - vpshufd xmm7,xmm3,80 - mov r15d,ecx - xor r12d,eax - shrd r14d,r14d,11 - vpsrld xmm6,xmm7,10 - xor r15d,edx - add ebx,r12d - shrd r13d,r13d,6 - vpsrlq xmm7,xmm7,17 - and edi,r15d - xor r14d,ecx - add ebx,r13d - vpxor xmm6,xmm6,xmm7 - xor edi,edx - shrd r14d,r14d,2 - add r9d,ebx - vpsrlq xmm7,xmm7,2 - add ebx,edi - mov r13d,r9d - add r14d,ebx - vpxor xmm6,xmm6,xmm7 - shrd r13d,r13d,14 - mov ebx,r14d - mov r12d,r10d - vpshufb xmm6,xmm6,xmm9 - shrd r14d,r14d,9 - xor r13d,r9d - xor r12d,r11d - vpaddd xmm3,xmm3,xmm6 - shrd r13d,r13d,5 - xor r14d,ebx - and r12d,r9d - vpaddd xmm6,xmm3,XMMWORD[96+rbp] - xor r13d,r9d - add eax,DWORD[60+rsp] - mov edi,ebx - xor r12d,r11d - shrd r14d,r14d,11 - xor edi,ecx - add eax,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - shrd r14d,r14d,2 - add r8d,eax - add eax,r15d - mov r13d,r8d - add r14d,eax - vmovdqa XMMWORD[48+rsp],xmm6 - cmp BYTE[131+rbp],0 - jne NEAR $L$avx_00_47 - shrd r13d,r13d,14 - mov eax,r14d - mov r12d,r9d - shrd r14d,r14d,9 - xor r13d,r8d - xor r12d,r10d - shrd r13d,r13d,5 - xor r14d,eax - and r12d,r8d - xor r13d,r8d - add r11d,DWORD[rsp] - mov r15d,eax - xor r12d,r10d - shrd r14d,r14d,11 - xor r15d,ebx - add r11d,r12d - shrd r13d,r13d,6 - and edi,r15d - xor r14d,eax - add r11d,r13d - xor edi,ebx - shrd r14d,r14d,2 - add edx,r11d - add r11d,edi - mov r13d,edx - add r14d,r11d - shrd r13d,r13d,14 - mov r11d,r14d - mov r12d,r8d - shrd r14d,r14d,9 - xor r13d,edx - xor r12d,r9d - shrd r13d,r13d,5 - xor r14d,r11d - and r12d,edx - xor r13d,edx - add r10d,DWORD[4+rsp] - mov edi,r11d - xor r12d,r9d - shrd r14d,r14d,11 - xor edi,eax - add r10d,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,r11d - add r10d,r13d - xor r15d,eax - shrd r14d,r14d,2 - add ecx,r10d - add r10d,r15d - mov r13d,ecx - add r14d,r10d - shrd r13d,r13d,14 - mov r10d,r14d - mov r12d,edx - shrd r14d,r14d,9 - xor r13d,ecx - xor r12d,r8d - shrd r13d,r13d,5 - xor r14d,r10d - and r12d,ecx - xor r13d,ecx - add r9d,DWORD[8+rsp] - mov r15d,r10d - xor r12d,r8d - shrd r14d,r14d,11 - xor r15d,r11d - add r9d,r12d - shrd r13d,r13d,6 - and edi,r15d - xor r14d,r10d - add r9d,r13d - xor edi,r11d - shrd r14d,r14d,2 - add ebx,r9d - add r9d,edi - mov r13d,ebx - add r14d,r9d - shrd r13d,r13d,14 - mov r9d,r14d - mov r12d,ecx - shrd r14d,r14d,9 - xor r13d,ebx - xor r12d,edx - shrd r13d,r13d,5 - xor r14d,r9d - and r12d,ebx - xor r13d,ebx - add r8d,DWORD[12+rsp] - mov edi,r9d - xor r12d,edx - shrd r14d,r14d,11 - xor edi,r10d - add r8d,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - shrd r14d,r14d,2 - add eax,r8d - add r8d,r15d - mov r13d,eax - add r14d,r8d - shrd r13d,r13d,14 - mov r8d,r14d - mov r12d,ebx - shrd r14d,r14d,9 - xor r13d,eax - xor r12d,ecx - shrd r13d,r13d,5 - xor r14d,r8d - and r12d,eax - xor r13d,eax - add edx,DWORD[16+rsp] - mov r15d,r8d - xor r12d,ecx - shrd r14d,r14d,11 - xor r15d,r9d - add edx,r12d - shrd r13d,r13d,6 - and edi,r15d - xor r14d,r8d - add edx,r13d - xor edi,r9d - shrd r14d,r14d,2 - add r11d,edx - add edx,edi - mov r13d,r11d - add r14d,edx - shrd r13d,r13d,14 - mov edx,r14d - mov r12d,eax - shrd r14d,r14d,9 - xor r13d,r11d - xor r12d,ebx - shrd r13d,r13d,5 - xor r14d,edx - and r12d,r11d - xor r13d,r11d - add ecx,DWORD[20+rsp] - mov edi,edx - xor r12d,ebx - shrd r14d,r14d,11 - xor edi,r8d - add ecx,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,edx - add ecx,r13d - xor r15d,r8d - shrd r14d,r14d,2 - add r10d,ecx - add ecx,r15d - mov r13d,r10d - add r14d,ecx - shrd r13d,r13d,14 - mov ecx,r14d - mov r12d,r11d - shrd r14d,r14d,9 - xor r13d,r10d - xor r12d,eax - shrd r13d,r13d,5 - xor r14d,ecx - and r12d,r10d - xor r13d,r10d - add ebx,DWORD[24+rsp] - mov r15d,ecx - xor r12d,eax - shrd r14d,r14d,11 - xor r15d,edx - add ebx,r12d - shrd r13d,r13d,6 - and edi,r15d - xor r14d,ecx - add ebx,r13d - xor edi,edx - shrd r14d,r14d,2 - add r9d,ebx - add ebx,edi - mov r13d,r9d - add r14d,ebx - shrd r13d,r13d,14 - mov ebx,r14d - mov r12d,r10d - shrd r14d,r14d,9 - xor r13d,r9d - xor r12d,r11d - shrd r13d,r13d,5 - xor r14d,ebx - and r12d,r9d - xor r13d,r9d - add eax,DWORD[28+rsp] - mov edi,ebx - xor r12d,r11d - shrd r14d,r14d,11 - xor edi,ecx - add eax,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - shrd r14d,r14d,2 - add r8d,eax - add eax,r15d - mov r13d,r8d - add r14d,eax - shrd r13d,r13d,14 - mov eax,r14d - mov r12d,r9d - shrd r14d,r14d,9 - xor r13d,r8d - xor r12d,r10d - shrd r13d,r13d,5 - xor r14d,eax - and r12d,r8d - xor r13d,r8d - add r11d,DWORD[32+rsp] - mov r15d,eax - xor r12d,r10d - shrd r14d,r14d,11 - xor r15d,ebx - add r11d,r12d - shrd r13d,r13d,6 - and edi,r15d - xor r14d,eax - add r11d,r13d - xor edi,ebx - shrd r14d,r14d,2 - add edx,r11d - add r11d,edi - mov r13d,edx - add r14d,r11d - shrd r13d,r13d,14 - mov r11d,r14d - mov r12d,r8d - shrd r14d,r14d,9 - xor r13d,edx - xor r12d,r9d - shrd r13d,r13d,5 - xor r14d,r11d - and r12d,edx - xor r13d,edx - add r10d,DWORD[36+rsp] - mov edi,r11d - xor r12d,r9d - shrd r14d,r14d,11 - xor edi,eax - add r10d,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,r11d - add r10d,r13d - xor r15d,eax - shrd r14d,r14d,2 - add ecx,r10d - add r10d,r15d - mov r13d,ecx - add r14d,r10d - shrd r13d,r13d,14 - mov r10d,r14d - mov r12d,edx - shrd r14d,r14d,9 - xor r13d,ecx - xor r12d,r8d - shrd r13d,r13d,5 - xor r14d,r10d - and r12d,ecx - xor r13d,ecx - add r9d,DWORD[40+rsp] - mov r15d,r10d - xor r12d,r8d - shrd r14d,r14d,11 - xor r15d,r11d - add r9d,r12d - shrd r13d,r13d,6 - and edi,r15d - xor r14d,r10d - add r9d,r13d - xor edi,r11d - shrd r14d,r14d,2 - add ebx,r9d - add r9d,edi - mov r13d,ebx - add r14d,r9d - shrd r13d,r13d,14 - mov r9d,r14d - mov r12d,ecx - shrd r14d,r14d,9 - xor r13d,ebx - xor r12d,edx - shrd r13d,r13d,5 - xor r14d,r9d - and r12d,ebx - xor r13d,ebx - add r8d,DWORD[44+rsp] - mov edi,r9d - xor r12d,edx - shrd r14d,r14d,11 - xor edi,r10d - add r8d,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,r9d - add r8d,r13d - xor r15d,r10d - shrd r14d,r14d,2 - add eax,r8d - add r8d,r15d - mov r13d,eax - add r14d,r8d - shrd r13d,r13d,14 - mov r8d,r14d - mov r12d,ebx - shrd r14d,r14d,9 - xor r13d,eax - xor r12d,ecx - shrd r13d,r13d,5 - xor r14d,r8d - and r12d,eax - xor r13d,eax - add edx,DWORD[48+rsp] - mov r15d,r8d - xor r12d,ecx - shrd r14d,r14d,11 - xor r15d,r9d - add edx,r12d - shrd r13d,r13d,6 - and edi,r15d - xor r14d,r8d - add edx,r13d - xor edi,r9d - shrd r14d,r14d,2 - add r11d,edx - add edx,edi - mov r13d,r11d - add r14d,edx - shrd r13d,r13d,14 - mov edx,r14d - mov r12d,eax - shrd r14d,r14d,9 - xor r13d,r11d - xor r12d,ebx - shrd r13d,r13d,5 - xor r14d,edx - and r12d,r11d - xor r13d,r11d - add ecx,DWORD[52+rsp] - mov edi,edx - xor r12d,ebx - shrd r14d,r14d,11 - xor edi,r8d - add ecx,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,edx - add ecx,r13d - xor r15d,r8d - shrd r14d,r14d,2 - add r10d,ecx - add ecx,r15d - mov r13d,r10d - add r14d,ecx - shrd r13d,r13d,14 - mov ecx,r14d - mov r12d,r11d - shrd r14d,r14d,9 - xor r13d,r10d - xor r12d,eax - shrd r13d,r13d,5 - xor r14d,ecx - and r12d,r10d - xor r13d,r10d - add ebx,DWORD[56+rsp] - mov r15d,ecx - xor r12d,eax - shrd r14d,r14d,11 - xor r15d,edx - add ebx,r12d - shrd r13d,r13d,6 - and edi,r15d - xor r14d,ecx - add ebx,r13d - xor edi,edx - shrd r14d,r14d,2 - add r9d,ebx - add ebx,edi - mov r13d,r9d - add r14d,ebx - shrd r13d,r13d,14 - mov ebx,r14d - mov r12d,r10d - shrd r14d,r14d,9 - xor r13d,r9d - xor r12d,r11d - shrd r13d,r13d,5 - xor r14d,ebx - and r12d,r9d - xor r13d,r9d - add eax,DWORD[60+rsp] - mov edi,ebx - xor r12d,r11d - shrd r14d,r14d,11 - xor edi,ecx - add eax,r12d - shrd r13d,r13d,6 - and r15d,edi - xor r14d,ebx - add eax,r13d - xor r15d,ecx - shrd r14d,r14d,2 - add r8d,eax - add eax,r15d - mov r13d,r8d - add r14d,eax - mov rdi,QWORD[((64+0))+rsp] - mov eax,r14d - - add eax,DWORD[rdi] - lea rsi,[64+rsi] - add ebx,DWORD[4+rdi] - add ecx,DWORD[8+rdi] - add edx,DWORD[12+rdi] - add r8d,DWORD[16+rdi] - add r9d,DWORD[20+rdi] - add r10d,DWORD[24+rdi] - add r11d,DWORD[28+rdi] - - cmp rsi,QWORD[((64+16))+rsp] - - mov DWORD[rdi],eax - mov DWORD[4+rdi],ebx - mov DWORD[8+rdi],ecx - mov DWORD[12+rdi],edx - mov DWORD[16+rdi],r8d - mov DWORD[20+rdi],r9d - mov DWORD[24+rdi],r10d - mov DWORD[28+rdi],r11d - jb NEAR $L$loop_avx - - mov rsi,QWORD[((64+24))+rsp] - vzeroupper - movaps xmm6,XMMWORD[((64+32))+rsp] - movaps xmm7,XMMWORD[((64+48))+rsp] - movaps xmm8,XMMWORD[((64+64))+rsp] - movaps xmm9,XMMWORD[((64+80))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue_avx: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_block_data_order_avx: - -ALIGN 64 -sha256_block_data_order_avx2: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha256_block_data_order_avx2: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -$L$avx2_shortcut: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - mov r11,rsp - sub rsp,608 - shl rdx,4 - and rsp,-256*4 - lea rdx,[rdx*4+rsi] - add rsp,448 - mov QWORD[((64+0))+rsp],rdi - mov QWORD[((64+8))+rsp],rsi - mov QWORD[((64+16))+rsp],rdx - mov QWORD[((64+24))+rsp],r11 - movaps XMMWORD[(64+32)+rsp],xmm6 - movaps XMMWORD[(64+48)+rsp],xmm7 - movaps XMMWORD[(64+64)+rsp],xmm8 - movaps XMMWORD[(64+80)+rsp],xmm9 -$L$prologue_avx2: - - vzeroupper - sub rsi,-16*4 - mov eax,DWORD[rdi] - mov r12,rsi - mov ebx,DWORD[4+rdi] - cmp rsi,rdx - mov ecx,DWORD[8+rdi] - cmove r12,rsp - mov edx,DWORD[12+rdi] - mov r8d,DWORD[16+rdi] - mov r9d,DWORD[20+rdi] - mov r10d,DWORD[24+rdi] - mov r11d,DWORD[28+rdi] - vmovdqa ymm8,YMMWORD[((K256+512+32))] - vmovdqa ymm9,YMMWORD[((K256+512+64))] - jmp NEAR $L$oop_avx2 -ALIGN 16 -$L$oop_avx2: - vmovdqa ymm7,YMMWORD[((K256+512))] - vmovdqu xmm0,XMMWORD[((-64+0))+rsi] - vmovdqu xmm1,XMMWORD[((-64+16))+rsi] - vmovdqu xmm2,XMMWORD[((-64+32))+rsi] - vmovdqu xmm3,XMMWORD[((-64+48))+rsi] - - vinserti128 ymm0,ymm0,XMMWORD[r12],1 - vinserti128 ymm1,ymm1,XMMWORD[16+r12],1 - vpshufb ymm0,ymm0,ymm7 - vinserti128 ymm2,ymm2,XMMWORD[32+r12],1 - vpshufb ymm1,ymm1,ymm7 - vinserti128 ymm3,ymm3,XMMWORD[48+r12],1 - - lea rbp,[K256] - vpshufb ymm2,ymm2,ymm7 - vpaddd ymm4,ymm0,YMMWORD[rbp] - vpshufb ymm3,ymm3,ymm7 - vpaddd ymm5,ymm1,YMMWORD[32+rbp] - vpaddd ymm6,ymm2,YMMWORD[64+rbp] - vpaddd ymm7,ymm3,YMMWORD[96+rbp] - vmovdqa YMMWORD[rsp],ymm4 - xor r14d,r14d - vmovdqa YMMWORD[32+rsp],ymm5 - lea rsp,[((-64))+rsp] - mov edi,ebx - vmovdqa YMMWORD[rsp],ymm6 - xor edi,ecx - vmovdqa YMMWORD[32+rsp],ymm7 - mov r12d,r9d - sub rbp,-16*2*4 - jmp NEAR $L$avx2_00_47 - -ALIGN 16 -$L$avx2_00_47: - lea rsp,[((-64))+rsp] - vpalignr ymm4,ymm1,ymm0,4 - add r11d,DWORD[((0+128))+rsp] - and r12d,r8d - rorx r13d,r8d,25 - vpalignr ymm7,ymm3,ymm2,4 - rorx r15d,r8d,11 - lea eax,[r14*1+rax] - lea r11d,[r12*1+r11] - vpsrld ymm6,ymm4,7 - andn r12d,r8d,r10d - xor r13d,r15d - rorx r14d,r8d,6 - vpaddd ymm0,ymm0,ymm7 - lea r11d,[r12*1+r11] - xor r13d,r14d - mov r15d,eax - vpsrld ymm7,ymm4,3 - rorx r12d,eax,22 - lea r11d,[r13*1+r11] - xor r15d,ebx - vpslld ymm5,ymm4,14 - rorx r14d,eax,13 - rorx r13d,eax,2 - lea edx,[r11*1+rdx] - vpxor ymm4,ymm7,ymm6 - and edi,r15d - xor r14d,r12d - xor edi,ebx - vpshufd ymm7,ymm3,250 - xor r14d,r13d - lea r11d,[rdi*1+r11] - mov r12d,r8d - vpsrld ymm6,ymm6,11 - add r10d,DWORD[((4+128))+rsp] - and r12d,edx - rorx r13d,edx,25 - vpxor ymm4,ymm4,ymm5 - rorx edi,edx,11 - lea r11d,[r14*1+r11] - lea r10d,[r12*1+r10] - vpslld ymm5,ymm5,11 - andn r12d,edx,r9d - xor r13d,edi - rorx r14d,edx,6 - vpxor ymm4,ymm4,ymm6 - lea r10d,[r12*1+r10] - xor r13d,r14d - mov edi,r11d - vpsrld ymm6,ymm7,10 - rorx r12d,r11d,22 - lea r10d,[r13*1+r10] - xor edi,eax - vpxor ymm4,ymm4,ymm5 - rorx r14d,r11d,13 - rorx r13d,r11d,2 - lea ecx,[r10*1+rcx] - vpsrlq ymm7,ymm7,17 - and r15d,edi - xor r14d,r12d - xor r15d,eax - vpaddd ymm0,ymm0,ymm4 - xor r14d,r13d - lea r10d,[r15*1+r10] - mov r12d,edx - vpxor ymm6,ymm6,ymm7 - add r9d,DWORD[((8+128))+rsp] - and r12d,ecx - rorx r13d,ecx,25 - vpsrlq ymm7,ymm7,2 - rorx r15d,ecx,11 - lea r10d,[r14*1+r10] - lea r9d,[r12*1+r9] - vpxor ymm6,ymm6,ymm7 - andn r12d,ecx,r8d - xor r13d,r15d - rorx r14d,ecx,6 - vpshufb ymm6,ymm6,ymm8 - lea r9d,[r12*1+r9] - xor r13d,r14d - mov r15d,r10d - vpaddd ymm0,ymm0,ymm6 - rorx r12d,r10d,22 - lea r9d,[r13*1+r9] - xor r15d,r11d - vpshufd ymm7,ymm0,80 - rorx r14d,r10d,13 - rorx r13d,r10d,2 - lea ebx,[r9*1+rbx] - vpsrld ymm6,ymm7,10 - and edi,r15d - xor r14d,r12d - xor edi,r11d - vpsrlq ymm7,ymm7,17 - xor r14d,r13d - lea r9d,[rdi*1+r9] - mov r12d,ecx - vpxor ymm6,ymm6,ymm7 - add r8d,DWORD[((12+128))+rsp] - and r12d,ebx - rorx r13d,ebx,25 - vpsrlq ymm7,ymm7,2 - rorx edi,ebx,11 - lea r9d,[r14*1+r9] - lea r8d,[r12*1+r8] - vpxor ymm6,ymm6,ymm7 - andn r12d,ebx,edx - xor r13d,edi - rorx r14d,ebx,6 - vpshufb ymm6,ymm6,ymm9 - lea r8d,[r12*1+r8] - xor r13d,r14d - mov edi,r9d - vpaddd ymm0,ymm0,ymm6 - rorx r12d,r9d,22 - lea r8d,[r13*1+r8] - xor edi,r10d - vpaddd ymm6,ymm0,YMMWORD[rbp] - rorx r14d,r9d,13 - rorx r13d,r9d,2 - lea eax,[r8*1+rax] - and r15d,edi - xor r14d,r12d - xor r15d,r10d - xor r14d,r13d - lea r8d,[r15*1+r8] - mov r12d,ebx - vmovdqa YMMWORD[rsp],ymm6 - vpalignr ymm4,ymm2,ymm1,4 - add edx,DWORD[((32+128))+rsp] - and r12d,eax - rorx r13d,eax,25 - vpalignr ymm7,ymm0,ymm3,4 - rorx r15d,eax,11 - lea r8d,[r14*1+r8] - lea edx,[r12*1+rdx] - vpsrld ymm6,ymm4,7 - andn r12d,eax,ecx - xor r13d,r15d - rorx r14d,eax,6 - vpaddd ymm1,ymm1,ymm7 - lea edx,[r12*1+rdx] - xor r13d,r14d - mov r15d,r8d - vpsrld ymm7,ymm4,3 - rorx r12d,r8d,22 - lea edx,[r13*1+rdx] - xor r15d,r9d - vpslld ymm5,ymm4,14 - rorx r14d,r8d,13 - rorx r13d,r8d,2 - lea r11d,[rdx*1+r11] - vpxor ymm4,ymm7,ymm6 - and edi,r15d - xor r14d,r12d - xor edi,r9d - vpshufd ymm7,ymm0,250 - xor r14d,r13d - lea edx,[rdi*1+rdx] - mov r12d,eax - vpsrld ymm6,ymm6,11 - add ecx,DWORD[((36+128))+rsp] - and r12d,r11d - rorx r13d,r11d,25 - vpxor ymm4,ymm4,ymm5 - rorx edi,r11d,11 - lea edx,[r14*1+rdx] - lea ecx,[r12*1+rcx] - vpslld ymm5,ymm5,11 - andn r12d,r11d,ebx - xor r13d,edi - rorx r14d,r11d,6 - vpxor ymm4,ymm4,ymm6 - lea ecx,[r12*1+rcx] - xor r13d,r14d - mov edi,edx - vpsrld ymm6,ymm7,10 - rorx r12d,edx,22 - lea ecx,[r13*1+rcx] - xor edi,r8d - vpxor ymm4,ymm4,ymm5 - rorx r14d,edx,13 - rorx r13d,edx,2 - lea r10d,[rcx*1+r10] - vpsrlq ymm7,ymm7,17 - and r15d,edi - xor r14d,r12d - xor r15d,r8d - vpaddd ymm1,ymm1,ymm4 - xor r14d,r13d - lea ecx,[r15*1+rcx] - mov r12d,r11d - vpxor ymm6,ymm6,ymm7 - add ebx,DWORD[((40+128))+rsp] - and r12d,r10d - rorx r13d,r10d,25 - vpsrlq ymm7,ymm7,2 - rorx r15d,r10d,11 - lea ecx,[r14*1+rcx] - lea ebx,[r12*1+rbx] - vpxor ymm6,ymm6,ymm7 - andn r12d,r10d,eax - xor r13d,r15d - rorx r14d,r10d,6 - vpshufb ymm6,ymm6,ymm8 - lea ebx,[r12*1+rbx] - xor r13d,r14d - mov r15d,ecx - vpaddd ymm1,ymm1,ymm6 - rorx r12d,ecx,22 - lea ebx,[r13*1+rbx] - xor r15d,edx - vpshufd ymm7,ymm1,80 - rorx r14d,ecx,13 - rorx r13d,ecx,2 - lea r9d,[rbx*1+r9] - vpsrld ymm6,ymm7,10 - and edi,r15d - xor r14d,r12d - xor edi,edx - vpsrlq ymm7,ymm7,17 - xor r14d,r13d - lea ebx,[rdi*1+rbx] - mov r12d,r10d - vpxor ymm6,ymm6,ymm7 - add eax,DWORD[((44+128))+rsp] - and r12d,r9d - rorx r13d,r9d,25 - vpsrlq ymm7,ymm7,2 - rorx edi,r9d,11 - lea ebx,[r14*1+rbx] - lea eax,[r12*1+rax] - vpxor ymm6,ymm6,ymm7 - andn r12d,r9d,r11d - xor r13d,edi - rorx r14d,r9d,6 - vpshufb ymm6,ymm6,ymm9 - lea eax,[r12*1+rax] - xor r13d,r14d - mov edi,ebx - vpaddd ymm1,ymm1,ymm6 - rorx r12d,ebx,22 - lea eax,[r13*1+rax] - xor edi,ecx - vpaddd ymm6,ymm1,YMMWORD[32+rbp] - rorx r14d,ebx,13 - rorx r13d,ebx,2 - lea r8d,[rax*1+r8] - and r15d,edi - xor r14d,r12d - xor r15d,ecx - xor r14d,r13d - lea eax,[r15*1+rax] - mov r12d,r9d - vmovdqa YMMWORD[32+rsp],ymm6 - lea rsp,[((-64))+rsp] - vpalignr ymm4,ymm3,ymm2,4 - add r11d,DWORD[((0+128))+rsp] - and r12d,r8d - rorx r13d,r8d,25 - vpalignr ymm7,ymm1,ymm0,4 - rorx r15d,r8d,11 - lea eax,[r14*1+rax] - lea r11d,[r12*1+r11] - vpsrld ymm6,ymm4,7 - andn r12d,r8d,r10d - xor r13d,r15d - rorx r14d,r8d,6 - vpaddd ymm2,ymm2,ymm7 - lea r11d,[r12*1+r11] - xor r13d,r14d - mov r15d,eax - vpsrld ymm7,ymm4,3 - rorx r12d,eax,22 - lea r11d,[r13*1+r11] - xor r15d,ebx - vpslld ymm5,ymm4,14 - rorx r14d,eax,13 - rorx r13d,eax,2 - lea edx,[r11*1+rdx] - vpxor ymm4,ymm7,ymm6 - and edi,r15d - xor r14d,r12d - xor edi,ebx - vpshufd ymm7,ymm1,250 - xor r14d,r13d - lea r11d,[rdi*1+r11] - mov r12d,r8d - vpsrld ymm6,ymm6,11 - add r10d,DWORD[((4+128))+rsp] - and r12d,edx - rorx r13d,edx,25 - vpxor ymm4,ymm4,ymm5 - rorx edi,edx,11 - lea r11d,[r14*1+r11] - lea r10d,[r12*1+r10] - vpslld ymm5,ymm5,11 - andn r12d,edx,r9d - xor r13d,edi - rorx r14d,edx,6 - vpxor ymm4,ymm4,ymm6 - lea r10d,[r12*1+r10] - xor r13d,r14d - mov edi,r11d - vpsrld ymm6,ymm7,10 - rorx r12d,r11d,22 - lea r10d,[r13*1+r10] - xor edi,eax - vpxor ymm4,ymm4,ymm5 - rorx r14d,r11d,13 - rorx r13d,r11d,2 - lea ecx,[r10*1+rcx] - vpsrlq ymm7,ymm7,17 - and r15d,edi - xor r14d,r12d - xor r15d,eax - vpaddd ymm2,ymm2,ymm4 - xor r14d,r13d - lea r10d,[r15*1+r10] - mov r12d,edx - vpxor ymm6,ymm6,ymm7 - add r9d,DWORD[((8+128))+rsp] - and r12d,ecx - rorx r13d,ecx,25 - vpsrlq ymm7,ymm7,2 - rorx r15d,ecx,11 - lea r10d,[r14*1+r10] - lea r9d,[r12*1+r9] - vpxor ymm6,ymm6,ymm7 - andn r12d,ecx,r8d - xor r13d,r15d - rorx r14d,ecx,6 - vpshufb ymm6,ymm6,ymm8 - lea r9d,[r12*1+r9] - xor r13d,r14d - mov r15d,r10d - vpaddd ymm2,ymm2,ymm6 - rorx r12d,r10d,22 - lea r9d,[r13*1+r9] - xor r15d,r11d - vpshufd ymm7,ymm2,80 - rorx r14d,r10d,13 - rorx r13d,r10d,2 - lea ebx,[r9*1+rbx] - vpsrld ymm6,ymm7,10 - and edi,r15d - xor r14d,r12d - xor edi,r11d - vpsrlq ymm7,ymm7,17 - xor r14d,r13d - lea r9d,[rdi*1+r9] - mov r12d,ecx - vpxor ymm6,ymm6,ymm7 - add r8d,DWORD[((12+128))+rsp] - and r12d,ebx - rorx r13d,ebx,25 - vpsrlq ymm7,ymm7,2 - rorx edi,ebx,11 - lea r9d,[r14*1+r9] - lea r8d,[r12*1+r8] - vpxor ymm6,ymm6,ymm7 - andn r12d,ebx,edx - xor r13d,edi - rorx r14d,ebx,6 - vpshufb ymm6,ymm6,ymm9 - lea r8d,[r12*1+r8] - xor r13d,r14d - mov edi,r9d - vpaddd ymm2,ymm2,ymm6 - rorx r12d,r9d,22 - lea r8d,[r13*1+r8] - xor edi,r10d - vpaddd ymm6,ymm2,YMMWORD[64+rbp] - rorx r14d,r9d,13 - rorx r13d,r9d,2 - lea eax,[r8*1+rax] - and r15d,edi - xor r14d,r12d - xor r15d,r10d - xor r14d,r13d - lea r8d,[r15*1+r8] - mov r12d,ebx - vmovdqa YMMWORD[rsp],ymm6 - vpalignr ymm4,ymm0,ymm3,4 - add edx,DWORD[((32+128))+rsp] - and r12d,eax - rorx r13d,eax,25 - vpalignr ymm7,ymm2,ymm1,4 - rorx r15d,eax,11 - lea r8d,[r14*1+r8] - lea edx,[r12*1+rdx] - vpsrld ymm6,ymm4,7 - andn r12d,eax,ecx - xor r13d,r15d - rorx r14d,eax,6 - vpaddd ymm3,ymm3,ymm7 - lea edx,[r12*1+rdx] - xor r13d,r14d - mov r15d,r8d - vpsrld ymm7,ymm4,3 - rorx r12d,r8d,22 - lea edx,[r13*1+rdx] - xor r15d,r9d - vpslld ymm5,ymm4,14 - rorx r14d,r8d,13 - rorx r13d,r8d,2 - lea r11d,[rdx*1+r11] - vpxor ymm4,ymm7,ymm6 - and edi,r15d - xor r14d,r12d - xor edi,r9d - vpshufd ymm7,ymm2,250 - xor r14d,r13d - lea edx,[rdi*1+rdx] - mov r12d,eax - vpsrld ymm6,ymm6,11 - add ecx,DWORD[((36+128))+rsp] - and r12d,r11d - rorx r13d,r11d,25 - vpxor ymm4,ymm4,ymm5 - rorx edi,r11d,11 - lea edx,[r14*1+rdx] - lea ecx,[r12*1+rcx] - vpslld ymm5,ymm5,11 - andn r12d,r11d,ebx - xor r13d,edi - rorx r14d,r11d,6 - vpxor ymm4,ymm4,ymm6 - lea ecx,[r12*1+rcx] - xor r13d,r14d - mov edi,edx - vpsrld ymm6,ymm7,10 - rorx r12d,edx,22 - lea ecx,[r13*1+rcx] - xor edi,r8d - vpxor ymm4,ymm4,ymm5 - rorx r14d,edx,13 - rorx r13d,edx,2 - lea r10d,[rcx*1+r10] - vpsrlq ymm7,ymm7,17 - and r15d,edi - xor r14d,r12d - xor r15d,r8d - vpaddd ymm3,ymm3,ymm4 - xor r14d,r13d - lea ecx,[r15*1+rcx] - mov r12d,r11d - vpxor ymm6,ymm6,ymm7 - add ebx,DWORD[((40+128))+rsp] - and r12d,r10d - rorx r13d,r10d,25 - vpsrlq ymm7,ymm7,2 - rorx r15d,r10d,11 - lea ecx,[r14*1+rcx] - lea ebx,[r12*1+rbx] - vpxor ymm6,ymm6,ymm7 - andn r12d,r10d,eax - xor r13d,r15d - rorx r14d,r10d,6 - vpshufb ymm6,ymm6,ymm8 - lea ebx,[r12*1+rbx] - xor r13d,r14d - mov r15d,ecx - vpaddd ymm3,ymm3,ymm6 - rorx r12d,ecx,22 - lea ebx,[r13*1+rbx] - xor r15d,edx - vpshufd ymm7,ymm3,80 - rorx r14d,ecx,13 - rorx r13d,ecx,2 - lea r9d,[rbx*1+r9] - vpsrld ymm6,ymm7,10 - and edi,r15d - xor r14d,r12d - xor edi,edx - vpsrlq ymm7,ymm7,17 - xor r14d,r13d - lea ebx,[rdi*1+rbx] - mov r12d,r10d - vpxor ymm6,ymm6,ymm7 - add eax,DWORD[((44+128))+rsp] - and r12d,r9d - rorx r13d,r9d,25 - vpsrlq ymm7,ymm7,2 - rorx edi,r9d,11 - lea ebx,[r14*1+rbx] - lea eax,[r12*1+rax] - vpxor ymm6,ymm6,ymm7 - andn r12d,r9d,r11d - xor r13d,edi - rorx r14d,r9d,6 - vpshufb ymm6,ymm6,ymm9 - lea eax,[r12*1+rax] - xor r13d,r14d - mov edi,ebx - vpaddd ymm3,ymm3,ymm6 - rorx r12d,ebx,22 - lea eax,[r13*1+rax] - xor edi,ecx - vpaddd ymm6,ymm3,YMMWORD[96+rbp] - rorx r14d,ebx,13 - rorx r13d,ebx,2 - lea r8d,[rax*1+r8] - and r15d,edi - xor r14d,r12d - xor r15d,ecx - xor r14d,r13d - lea eax,[r15*1+rax] - mov r12d,r9d - vmovdqa YMMWORD[32+rsp],ymm6 - lea rbp,[128+rbp] - cmp BYTE[3+rbp],0 - jne NEAR $L$avx2_00_47 - add r11d,DWORD[((0+64))+rsp] - and r12d,r8d - rorx r13d,r8d,25 - rorx r15d,r8d,11 - lea eax,[r14*1+rax] - lea r11d,[r12*1+r11] - andn r12d,r8d,r10d - xor r13d,r15d - rorx r14d,r8d,6 - lea r11d,[r12*1+r11] - xor r13d,r14d - mov r15d,eax - rorx r12d,eax,22 - lea r11d,[r13*1+r11] - xor r15d,ebx - rorx r14d,eax,13 - rorx r13d,eax,2 - lea edx,[r11*1+rdx] - and edi,r15d - xor r14d,r12d - xor edi,ebx - xor r14d,r13d - lea r11d,[rdi*1+r11] - mov r12d,r8d - add r10d,DWORD[((4+64))+rsp] - and r12d,edx - rorx r13d,edx,25 - rorx edi,edx,11 - lea r11d,[r14*1+r11] - lea r10d,[r12*1+r10] - andn r12d,edx,r9d - xor r13d,edi - rorx r14d,edx,6 - lea r10d,[r12*1+r10] - xor r13d,r14d - mov edi,r11d - rorx r12d,r11d,22 - lea r10d,[r13*1+r10] - xor edi,eax - rorx r14d,r11d,13 - rorx r13d,r11d,2 - lea ecx,[r10*1+rcx] - and r15d,edi - xor r14d,r12d - xor r15d,eax - xor r14d,r13d - lea r10d,[r15*1+r10] - mov r12d,edx - add r9d,DWORD[((8+64))+rsp] - and r12d,ecx - rorx r13d,ecx,25 - rorx r15d,ecx,11 - lea r10d,[r14*1+r10] - lea r9d,[r12*1+r9] - andn r12d,ecx,r8d - xor r13d,r15d - rorx r14d,ecx,6 - lea r9d,[r12*1+r9] - xor r13d,r14d - mov r15d,r10d - rorx r12d,r10d,22 - lea r9d,[r13*1+r9] - xor r15d,r11d - rorx r14d,r10d,13 - rorx r13d,r10d,2 - lea ebx,[r9*1+rbx] - and edi,r15d - xor r14d,r12d - xor edi,r11d - xor r14d,r13d - lea r9d,[rdi*1+r9] - mov r12d,ecx - add r8d,DWORD[((12+64))+rsp] - and r12d,ebx - rorx r13d,ebx,25 - rorx edi,ebx,11 - lea r9d,[r14*1+r9] - lea r8d,[r12*1+r8] - andn r12d,ebx,edx - xor r13d,edi - rorx r14d,ebx,6 - lea r8d,[r12*1+r8] - xor r13d,r14d - mov edi,r9d - rorx r12d,r9d,22 - lea r8d,[r13*1+r8] - xor edi,r10d - rorx r14d,r9d,13 - rorx r13d,r9d,2 - lea eax,[r8*1+rax] - and r15d,edi - xor r14d,r12d - xor r15d,r10d - xor r14d,r13d - lea r8d,[r15*1+r8] - mov r12d,ebx - add edx,DWORD[((32+64))+rsp] - and r12d,eax - rorx r13d,eax,25 - rorx r15d,eax,11 - lea r8d,[r14*1+r8] - lea edx,[r12*1+rdx] - andn r12d,eax,ecx - xor r13d,r15d - rorx r14d,eax,6 - lea edx,[r12*1+rdx] - xor r13d,r14d - mov r15d,r8d - rorx r12d,r8d,22 - lea edx,[r13*1+rdx] - xor r15d,r9d - rorx r14d,r8d,13 - rorx r13d,r8d,2 - lea r11d,[rdx*1+r11] - and edi,r15d - xor r14d,r12d - xor edi,r9d - xor r14d,r13d - lea edx,[rdi*1+rdx] - mov r12d,eax - add ecx,DWORD[((36+64))+rsp] - and r12d,r11d - rorx r13d,r11d,25 - rorx edi,r11d,11 - lea edx,[r14*1+rdx] - lea ecx,[r12*1+rcx] - andn r12d,r11d,ebx - xor r13d,edi - rorx r14d,r11d,6 - lea ecx,[r12*1+rcx] - xor r13d,r14d - mov edi,edx - rorx r12d,edx,22 - lea ecx,[r13*1+rcx] - xor edi,r8d - rorx r14d,edx,13 - rorx r13d,edx,2 - lea r10d,[rcx*1+r10] - and r15d,edi - xor r14d,r12d - xor r15d,r8d - xor r14d,r13d - lea ecx,[r15*1+rcx] - mov r12d,r11d - add ebx,DWORD[((40+64))+rsp] - and r12d,r10d - rorx r13d,r10d,25 - rorx r15d,r10d,11 - lea ecx,[r14*1+rcx] - lea ebx,[r12*1+rbx] - andn r12d,r10d,eax - xor r13d,r15d - rorx r14d,r10d,6 - lea ebx,[r12*1+rbx] - xor r13d,r14d - mov r15d,ecx - rorx r12d,ecx,22 - lea ebx,[r13*1+rbx] - xor r15d,edx - rorx r14d,ecx,13 - rorx r13d,ecx,2 - lea r9d,[rbx*1+r9] - and edi,r15d - xor r14d,r12d - xor edi,edx - xor r14d,r13d - lea ebx,[rdi*1+rbx] - mov r12d,r10d - add eax,DWORD[((44+64))+rsp] - and r12d,r9d - rorx r13d,r9d,25 - rorx edi,r9d,11 - lea ebx,[r14*1+rbx] - lea eax,[r12*1+rax] - andn r12d,r9d,r11d - xor r13d,edi - rorx r14d,r9d,6 - lea eax,[r12*1+rax] - xor r13d,r14d - mov edi,ebx - rorx r12d,ebx,22 - lea eax,[r13*1+rax] - xor edi,ecx - rorx r14d,ebx,13 - rorx r13d,ebx,2 - lea r8d,[rax*1+r8] - and r15d,edi - xor r14d,r12d - xor r15d,ecx - xor r14d,r13d - lea eax,[r15*1+rax] - mov r12d,r9d - add r11d,DWORD[rsp] - and r12d,r8d - rorx r13d,r8d,25 - rorx r15d,r8d,11 - lea eax,[r14*1+rax] - lea r11d,[r12*1+r11] - andn r12d,r8d,r10d - xor r13d,r15d - rorx r14d,r8d,6 - lea r11d,[r12*1+r11] - xor r13d,r14d - mov r15d,eax - rorx r12d,eax,22 - lea r11d,[r13*1+r11] - xor r15d,ebx - rorx r14d,eax,13 - rorx r13d,eax,2 - lea edx,[r11*1+rdx] - and edi,r15d - xor r14d,r12d - xor edi,ebx - xor r14d,r13d - lea r11d,[rdi*1+r11] - mov r12d,r8d - add r10d,DWORD[4+rsp] - and r12d,edx - rorx r13d,edx,25 - rorx edi,edx,11 - lea r11d,[r14*1+r11] - lea r10d,[r12*1+r10] - andn r12d,edx,r9d - xor r13d,edi - rorx r14d,edx,6 - lea r10d,[r12*1+r10] - xor r13d,r14d - mov edi,r11d - rorx r12d,r11d,22 - lea r10d,[r13*1+r10] - xor edi,eax - rorx r14d,r11d,13 - rorx r13d,r11d,2 - lea ecx,[r10*1+rcx] - and r15d,edi - xor r14d,r12d - xor r15d,eax - xor r14d,r13d - lea r10d,[r15*1+r10] - mov r12d,edx - add r9d,DWORD[8+rsp] - and r12d,ecx - rorx r13d,ecx,25 - rorx r15d,ecx,11 - lea r10d,[r14*1+r10] - lea r9d,[r12*1+r9] - andn r12d,ecx,r8d - xor r13d,r15d - rorx r14d,ecx,6 - lea r9d,[r12*1+r9] - xor r13d,r14d - mov r15d,r10d - rorx r12d,r10d,22 - lea r9d,[r13*1+r9] - xor r15d,r11d - rorx r14d,r10d,13 - rorx r13d,r10d,2 - lea ebx,[r9*1+rbx] - and edi,r15d - xor r14d,r12d - xor edi,r11d - xor r14d,r13d - lea r9d,[rdi*1+r9] - mov r12d,ecx - add r8d,DWORD[12+rsp] - and r12d,ebx - rorx r13d,ebx,25 - rorx edi,ebx,11 - lea r9d,[r14*1+r9] - lea r8d,[r12*1+r8] - andn r12d,ebx,edx - xor r13d,edi - rorx r14d,ebx,6 - lea r8d,[r12*1+r8] - xor r13d,r14d - mov edi,r9d - rorx r12d,r9d,22 - lea r8d,[r13*1+r8] - xor edi,r10d - rorx r14d,r9d,13 - rorx r13d,r9d,2 - lea eax,[r8*1+rax] - and r15d,edi - xor r14d,r12d - xor r15d,r10d - xor r14d,r13d - lea r8d,[r15*1+r8] - mov r12d,ebx - add edx,DWORD[32+rsp] - and r12d,eax - rorx r13d,eax,25 - rorx r15d,eax,11 - lea r8d,[r14*1+r8] - lea edx,[r12*1+rdx] - andn r12d,eax,ecx - xor r13d,r15d - rorx r14d,eax,6 - lea edx,[r12*1+rdx] - xor r13d,r14d - mov r15d,r8d - rorx r12d,r8d,22 - lea edx,[r13*1+rdx] - xor r15d,r9d - rorx r14d,r8d,13 - rorx r13d,r8d,2 - lea r11d,[rdx*1+r11] - and edi,r15d - xor r14d,r12d - xor edi,r9d - xor r14d,r13d - lea edx,[rdi*1+rdx] - mov r12d,eax - add ecx,DWORD[36+rsp] - and r12d,r11d - rorx r13d,r11d,25 - rorx edi,r11d,11 - lea edx,[r14*1+rdx] - lea ecx,[r12*1+rcx] - andn r12d,r11d,ebx - xor r13d,edi - rorx r14d,r11d,6 - lea ecx,[r12*1+rcx] - xor r13d,r14d - mov edi,edx - rorx r12d,edx,22 - lea ecx,[r13*1+rcx] - xor edi,r8d - rorx r14d,edx,13 - rorx r13d,edx,2 - lea r10d,[rcx*1+r10] - and r15d,edi - xor r14d,r12d - xor r15d,r8d - xor r14d,r13d - lea ecx,[r15*1+rcx] - mov r12d,r11d - add ebx,DWORD[40+rsp] - and r12d,r10d - rorx r13d,r10d,25 - rorx r15d,r10d,11 - lea ecx,[r14*1+rcx] - lea ebx,[r12*1+rbx] - andn r12d,r10d,eax - xor r13d,r15d - rorx r14d,r10d,6 - lea ebx,[r12*1+rbx] - xor r13d,r14d - mov r15d,ecx - rorx r12d,ecx,22 - lea ebx,[r13*1+rbx] - xor r15d,edx - rorx r14d,ecx,13 - rorx r13d,ecx,2 - lea r9d,[rbx*1+r9] - and edi,r15d - xor r14d,r12d - xor edi,edx - xor r14d,r13d - lea ebx,[rdi*1+rbx] - mov r12d,r10d - add eax,DWORD[44+rsp] - and r12d,r9d - rorx r13d,r9d,25 - rorx edi,r9d,11 - lea ebx,[r14*1+rbx] - lea eax,[r12*1+rax] - andn r12d,r9d,r11d - xor r13d,edi - rorx r14d,r9d,6 - lea eax,[r12*1+rax] - xor r13d,r14d - mov edi,ebx - rorx r12d,ebx,22 - lea eax,[r13*1+rax] - xor edi,ecx - rorx r14d,ebx,13 - rorx r13d,ebx,2 - lea r8d,[rax*1+r8] - and r15d,edi - xor r14d,r12d - xor r15d,ecx - xor r14d,r13d - lea eax,[r15*1+rax] - mov r12d,r9d - mov rdi,QWORD[512+rsp] - add eax,r14d - - lea rbp,[448+rsp] - - add eax,DWORD[rdi] - add ebx,DWORD[4+rdi] - add ecx,DWORD[8+rdi] - add edx,DWORD[12+rdi] - add r8d,DWORD[16+rdi] - add r9d,DWORD[20+rdi] - add r10d,DWORD[24+rdi] - add r11d,DWORD[28+rdi] - - mov DWORD[rdi],eax - mov DWORD[4+rdi],ebx - mov DWORD[8+rdi],ecx - mov DWORD[12+rdi],edx - mov DWORD[16+rdi],r8d - mov DWORD[20+rdi],r9d - mov DWORD[24+rdi],r10d - mov DWORD[28+rdi],r11d - - cmp rsi,QWORD[80+rbp] - je NEAR $L$done_avx2 - - xor r14d,r14d - mov edi,ebx - xor edi,ecx - mov r12d,r9d - jmp NEAR $L$ower_avx2 -ALIGN 16 -$L$ower_avx2: - add r11d,DWORD[((0+16))+rbp] - and r12d,r8d - rorx r13d,r8d,25 - rorx r15d,r8d,11 - lea eax,[r14*1+rax] - lea r11d,[r12*1+r11] - andn r12d,r8d,r10d - xor r13d,r15d - rorx r14d,r8d,6 - lea r11d,[r12*1+r11] - xor r13d,r14d - mov r15d,eax - rorx r12d,eax,22 - lea r11d,[r13*1+r11] - xor r15d,ebx - rorx r14d,eax,13 - rorx r13d,eax,2 - lea edx,[r11*1+rdx] - and edi,r15d - xor r14d,r12d - xor edi,ebx - xor r14d,r13d - lea r11d,[rdi*1+r11] - mov r12d,r8d - add r10d,DWORD[((4+16))+rbp] - and r12d,edx - rorx r13d,edx,25 - rorx edi,edx,11 - lea r11d,[r14*1+r11] - lea r10d,[r12*1+r10] - andn r12d,edx,r9d - xor r13d,edi - rorx r14d,edx,6 - lea r10d,[r12*1+r10] - xor r13d,r14d - mov edi,r11d - rorx r12d,r11d,22 - lea r10d,[r13*1+r10] - xor edi,eax - rorx r14d,r11d,13 - rorx r13d,r11d,2 - lea ecx,[r10*1+rcx] - and r15d,edi - xor r14d,r12d - xor r15d,eax - xor r14d,r13d - lea r10d,[r15*1+r10] - mov r12d,edx - add r9d,DWORD[((8+16))+rbp] - and r12d,ecx - rorx r13d,ecx,25 - rorx r15d,ecx,11 - lea r10d,[r14*1+r10] - lea r9d,[r12*1+r9] - andn r12d,ecx,r8d - xor r13d,r15d - rorx r14d,ecx,6 - lea r9d,[r12*1+r9] - xor r13d,r14d - mov r15d,r10d - rorx r12d,r10d,22 - lea r9d,[r13*1+r9] - xor r15d,r11d - rorx r14d,r10d,13 - rorx r13d,r10d,2 - lea ebx,[r9*1+rbx] - and edi,r15d - xor r14d,r12d - xor edi,r11d - xor r14d,r13d - lea r9d,[rdi*1+r9] - mov r12d,ecx - add r8d,DWORD[((12+16))+rbp] - and r12d,ebx - rorx r13d,ebx,25 - rorx edi,ebx,11 - lea r9d,[r14*1+r9] - lea r8d,[r12*1+r8] - andn r12d,ebx,edx - xor r13d,edi - rorx r14d,ebx,6 - lea r8d,[r12*1+r8] - xor r13d,r14d - mov edi,r9d - rorx r12d,r9d,22 - lea r8d,[r13*1+r8] - xor edi,r10d - rorx r14d,r9d,13 - rorx r13d,r9d,2 - lea eax,[r8*1+rax] - and r15d,edi - xor r14d,r12d - xor r15d,r10d - xor r14d,r13d - lea r8d,[r15*1+r8] - mov r12d,ebx - add edx,DWORD[((32+16))+rbp] - and r12d,eax - rorx r13d,eax,25 - rorx r15d,eax,11 - lea r8d,[r14*1+r8] - lea edx,[r12*1+rdx] - andn r12d,eax,ecx - xor r13d,r15d - rorx r14d,eax,6 - lea edx,[r12*1+rdx] - xor r13d,r14d - mov r15d,r8d - rorx r12d,r8d,22 - lea edx,[r13*1+rdx] - xor r15d,r9d - rorx r14d,r8d,13 - rorx r13d,r8d,2 - lea r11d,[rdx*1+r11] - and edi,r15d - xor r14d,r12d - xor edi,r9d - xor r14d,r13d - lea edx,[rdi*1+rdx] - mov r12d,eax - add ecx,DWORD[((36+16))+rbp] - and r12d,r11d - rorx r13d,r11d,25 - rorx edi,r11d,11 - lea edx,[r14*1+rdx] - lea ecx,[r12*1+rcx] - andn r12d,r11d,ebx - xor r13d,edi - rorx r14d,r11d,6 - lea ecx,[r12*1+rcx] - xor r13d,r14d - mov edi,edx - rorx r12d,edx,22 - lea ecx,[r13*1+rcx] - xor edi,r8d - rorx r14d,edx,13 - rorx r13d,edx,2 - lea r10d,[rcx*1+r10] - and r15d,edi - xor r14d,r12d - xor r15d,r8d - xor r14d,r13d - lea ecx,[r15*1+rcx] - mov r12d,r11d - add ebx,DWORD[((40+16))+rbp] - and r12d,r10d - rorx r13d,r10d,25 - rorx r15d,r10d,11 - lea ecx,[r14*1+rcx] - lea ebx,[r12*1+rbx] - andn r12d,r10d,eax - xor r13d,r15d - rorx r14d,r10d,6 - lea ebx,[r12*1+rbx] - xor r13d,r14d - mov r15d,ecx - rorx r12d,ecx,22 - lea ebx,[r13*1+rbx] - xor r15d,edx - rorx r14d,ecx,13 - rorx r13d,ecx,2 - lea r9d,[rbx*1+r9] - and edi,r15d - xor r14d,r12d - xor edi,edx - xor r14d,r13d - lea ebx,[rdi*1+rbx] - mov r12d,r10d - add eax,DWORD[((44+16))+rbp] - and r12d,r9d - rorx r13d,r9d,25 - rorx edi,r9d,11 - lea ebx,[r14*1+rbx] - lea eax,[r12*1+rax] - andn r12d,r9d,r11d - xor r13d,edi - rorx r14d,r9d,6 - lea eax,[r12*1+rax] - xor r13d,r14d - mov edi,ebx - rorx r12d,ebx,22 - lea eax,[r13*1+rax] - xor edi,ecx - rorx r14d,ebx,13 - rorx r13d,ebx,2 - lea r8d,[rax*1+r8] - and r15d,edi - xor r14d,r12d - xor r15d,ecx - xor r14d,r13d - lea eax,[r15*1+rax] - mov r12d,r9d - lea rbp,[((-64))+rbp] - cmp rbp,rsp - jae NEAR $L$ower_avx2 - - mov rdi,QWORD[512+rsp] - add eax,r14d - - lea rsp,[448+rsp] - - add eax,DWORD[rdi] - add ebx,DWORD[4+rdi] - add ecx,DWORD[8+rdi] - add edx,DWORD[12+rdi] - add r8d,DWORD[16+rdi] - add r9d,DWORD[20+rdi] - lea rsi,[128+rsi] - add r10d,DWORD[24+rdi] - mov r12,rsi - add r11d,DWORD[28+rdi] - cmp rsi,QWORD[((64+16))+rsp] - - mov DWORD[rdi],eax - cmove r12,rsp - mov DWORD[4+rdi],ebx - mov DWORD[8+rdi],ecx - mov DWORD[12+rdi],edx - mov DWORD[16+rdi],r8d - mov DWORD[20+rdi],r9d - mov DWORD[24+rdi],r10d - mov DWORD[28+rdi],r11d - - jbe NEAR $L$oop_avx2 - lea rbp,[rsp] - -$L$done_avx2: - lea rsp,[rbp] - mov rsi,QWORD[((64+24))+rsp] - vzeroupper - movaps xmm6,XMMWORD[((64+32))+rsp] - movaps xmm7,XMMWORD[((64+48))+rsp] - movaps xmm8,XMMWORD[((64+64))+rsp] - movaps xmm9,XMMWORD[((64+80))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue_avx2: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_block_data_order_avx2: -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - lea r10,[$L$avx2_shortcut] - cmp rbx,r10 - jb NEAR $L$not_in_avx2 - - and rax,-256*4 - add rax,448 -$L$not_in_avx2: - mov rsi,rax - mov rax,QWORD[((64+24))+rax] - lea rax,[48+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - - lea r10,[$L$epilogue] - cmp rbx,r10 - jb NEAR $L$in_prologue - - lea rsi,[((64+32))+rsi] - lea rdi,[512+r8] - mov ecx,8 - DD 0xa548f3fc - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -ALIGN 16 -shaext_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$prologue_shaext] - cmp rbx,r10 - jb NEAR $L$in_prologue - - lea r10,[$L$epilogue_shaext] - cmp rbx,r10 - jae NEAR $L$in_prologue - - lea rsi,[((-8-80))+rax] - lea rdi,[512+r8] - mov ecx,10 - DD 0xa548f3fc - - jmp NEAR $L$in_prologue - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_sha256_block_data_order wrt ..imagebase - DD $L$SEH_end_sha256_block_data_order wrt ..imagebase - DD $L$SEH_info_sha256_block_data_order wrt ..imagebase - DD $L$SEH_begin_sha256_block_data_order_shaext wrt ..imagebase - DD $L$SEH_end_sha256_block_data_order_shaext wrt ..imagebase - DD $L$SEH_info_sha256_block_data_order_shaext wrt ..imagebase - DD $L$SEH_begin_sha256_block_data_order_ssse3 wrt ..imagebase - DD $L$SEH_end_sha256_block_data_order_ssse3 wrt ..imagebase - DD $L$SEH_info_sha256_block_data_order_ssse3 wrt ..imagebase - DD $L$SEH_begin_sha256_block_data_order_avx wrt ..imagebase - DD $L$SEH_end_sha256_block_data_order_avx wrt ..imagebase - DD $L$SEH_info_sha256_block_data_order_avx wrt ..imagebase - DD $L$SEH_begin_sha256_block_data_order_avx2 wrt ..imagebase - DD $L$SEH_end_sha256_block_data_order_avx2 wrt ..imagebase - DD $L$SEH_info_sha256_block_data_order_avx2 wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_sha256_block_data_order: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase -$L$SEH_info_sha256_block_data_order_shaext: -DB 9,0,0,0 - DD shaext_handler wrt ..imagebase -$L$SEH_info_sha256_block_data_order_ssse3: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase -$L$SEH_info_sha256_block_data_order_avx: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase -$L$SEH_info_sha256_block_data_order_avx2: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +EXTERN OPENSSL_ia32cap_P +global sha256_block_data_order + +ALIGN 16 +sha256_block_data_order: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha256_block_data_order: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + lea r11,[OPENSSL_ia32cap_P] + mov r9d,DWORD[r11] + mov r10d,DWORD[4+r11] + mov r11d,DWORD[8+r11] + test r11d,536870912 + jnz NEAR _shaext_shortcut + and r11d,296 + cmp r11d,296 + je NEAR $L$avx2_shortcut + and r9d,1073741824 + and r10d,268435968 + or r10d,r9d + cmp r10d,1342177792 + je NEAR $L$avx_shortcut + test r10d,512 + jnz NEAR $L$ssse3_shortcut + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov r11,rsp + shl rdx,4 + sub rsp,16*4+4*8 + lea rdx,[rdx*4+rsi] + and rsp,-64 + mov QWORD[((64+0))+rsp],rdi + mov QWORD[((64+8))+rsp],rsi + mov QWORD[((64+16))+rsp],rdx + mov QWORD[((64+24))+rsp],r11 +$L$prologue: + + mov eax,DWORD[rdi] + mov ebx,DWORD[4+rdi] + mov ecx,DWORD[8+rdi] + mov edx,DWORD[12+rdi] + mov r8d,DWORD[16+rdi] + mov r9d,DWORD[20+rdi] + mov r10d,DWORD[24+rdi] + mov r11d,DWORD[28+rdi] + jmp NEAR $L$loop + +ALIGN 16 +$L$loop: + mov edi,ebx + lea rbp,[K256] + xor edi,ecx + mov r12d,DWORD[rsi] + mov r13d,r8d + mov r14d,eax + bswap r12d + ror r13d,14 + mov r15d,r9d + + xor r13d,r8d + ror r14d,9 + xor r15d,r10d + + mov DWORD[rsp],r12d + xor r14d,eax + and r15d,r8d + + ror r13d,5 + add r12d,r11d + xor r15d,r10d + + ror r14d,11 + xor r13d,r8d + add r12d,r15d + + mov r15d,eax + add r12d,DWORD[rbp] + xor r14d,eax + + xor r15d,ebx + ror r13d,6 + mov r11d,ebx + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor r11d,edi + add edx,r12d + add r11d,r12d + + lea rbp,[4+rbp] + add r11d,r14d + mov r12d,DWORD[4+rsi] + mov r13d,edx + mov r14d,r11d + bswap r12d + ror r13d,14 + mov edi,r8d + + xor r13d,edx + ror r14d,9 + xor edi,r9d + + mov DWORD[4+rsp],r12d + xor r14d,r11d + and edi,edx + + ror r13d,5 + add r12d,r10d + xor edi,r9d + + ror r14d,11 + xor r13d,edx + add r12d,edi + + mov edi,r11d + add r12d,DWORD[rbp] + xor r14d,r11d + + xor edi,eax + ror r13d,6 + mov r10d,eax + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor r10d,r15d + add ecx,r12d + add r10d,r12d + + lea rbp,[4+rbp] + add r10d,r14d + mov r12d,DWORD[8+rsi] + mov r13d,ecx + mov r14d,r10d + bswap r12d + ror r13d,14 + mov r15d,edx + + xor r13d,ecx + ror r14d,9 + xor r15d,r8d + + mov DWORD[8+rsp],r12d + xor r14d,r10d + and r15d,ecx + + ror r13d,5 + add r12d,r9d + xor r15d,r8d + + ror r14d,11 + xor r13d,ecx + add r12d,r15d + + mov r15d,r10d + add r12d,DWORD[rbp] + xor r14d,r10d + + xor r15d,r11d + ror r13d,6 + mov r9d,r11d + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor r9d,edi + add ebx,r12d + add r9d,r12d + + lea rbp,[4+rbp] + add r9d,r14d + mov r12d,DWORD[12+rsi] + mov r13d,ebx + mov r14d,r9d + bswap r12d + ror r13d,14 + mov edi,ecx + + xor r13d,ebx + ror r14d,9 + xor edi,edx + + mov DWORD[12+rsp],r12d + xor r14d,r9d + and edi,ebx + + ror r13d,5 + add r12d,r8d + xor edi,edx + + ror r14d,11 + xor r13d,ebx + add r12d,edi + + mov edi,r9d + add r12d,DWORD[rbp] + xor r14d,r9d + + xor edi,r10d + ror r13d,6 + mov r8d,r10d + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor r8d,r15d + add eax,r12d + add r8d,r12d + + lea rbp,[20+rbp] + add r8d,r14d + mov r12d,DWORD[16+rsi] + mov r13d,eax + mov r14d,r8d + bswap r12d + ror r13d,14 + mov r15d,ebx + + xor r13d,eax + ror r14d,9 + xor r15d,ecx + + mov DWORD[16+rsp],r12d + xor r14d,r8d + and r15d,eax + + ror r13d,5 + add r12d,edx + xor r15d,ecx + + ror r14d,11 + xor r13d,eax + add r12d,r15d + + mov r15d,r8d + add r12d,DWORD[rbp] + xor r14d,r8d + + xor r15d,r9d + ror r13d,6 + mov edx,r9d + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor edx,edi + add r11d,r12d + add edx,r12d + + lea rbp,[4+rbp] + add edx,r14d + mov r12d,DWORD[20+rsi] + mov r13d,r11d + mov r14d,edx + bswap r12d + ror r13d,14 + mov edi,eax + + xor r13d,r11d + ror r14d,9 + xor edi,ebx + + mov DWORD[20+rsp],r12d + xor r14d,edx + and edi,r11d + + ror r13d,5 + add r12d,ecx + xor edi,ebx + + ror r14d,11 + xor r13d,r11d + add r12d,edi + + mov edi,edx + add r12d,DWORD[rbp] + xor r14d,edx + + xor edi,r8d + ror r13d,6 + mov ecx,r8d + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor ecx,r15d + add r10d,r12d + add ecx,r12d + + lea rbp,[4+rbp] + add ecx,r14d + mov r12d,DWORD[24+rsi] + mov r13d,r10d + mov r14d,ecx + bswap r12d + ror r13d,14 + mov r15d,r11d + + xor r13d,r10d + ror r14d,9 + xor r15d,eax + + mov DWORD[24+rsp],r12d + xor r14d,ecx + and r15d,r10d + + ror r13d,5 + add r12d,ebx + xor r15d,eax + + ror r14d,11 + xor r13d,r10d + add r12d,r15d + + mov r15d,ecx + add r12d,DWORD[rbp] + xor r14d,ecx + + xor r15d,edx + ror r13d,6 + mov ebx,edx + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor ebx,edi + add r9d,r12d + add ebx,r12d + + lea rbp,[4+rbp] + add ebx,r14d + mov r12d,DWORD[28+rsi] + mov r13d,r9d + mov r14d,ebx + bswap r12d + ror r13d,14 + mov edi,r10d + + xor r13d,r9d + ror r14d,9 + xor edi,r11d + + mov DWORD[28+rsp],r12d + xor r14d,ebx + and edi,r9d + + ror r13d,5 + add r12d,eax + xor edi,r11d + + ror r14d,11 + xor r13d,r9d + add r12d,edi + + mov edi,ebx + add r12d,DWORD[rbp] + xor r14d,ebx + + xor edi,ecx + ror r13d,6 + mov eax,ecx + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor eax,r15d + add r8d,r12d + add eax,r12d + + lea rbp,[20+rbp] + add eax,r14d + mov r12d,DWORD[32+rsi] + mov r13d,r8d + mov r14d,eax + bswap r12d + ror r13d,14 + mov r15d,r9d + + xor r13d,r8d + ror r14d,9 + xor r15d,r10d + + mov DWORD[32+rsp],r12d + xor r14d,eax + and r15d,r8d + + ror r13d,5 + add r12d,r11d + xor r15d,r10d + + ror r14d,11 + xor r13d,r8d + add r12d,r15d + + mov r15d,eax + add r12d,DWORD[rbp] + xor r14d,eax + + xor r15d,ebx + ror r13d,6 + mov r11d,ebx + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor r11d,edi + add edx,r12d + add r11d,r12d + + lea rbp,[4+rbp] + add r11d,r14d + mov r12d,DWORD[36+rsi] + mov r13d,edx + mov r14d,r11d + bswap r12d + ror r13d,14 + mov edi,r8d + + xor r13d,edx + ror r14d,9 + xor edi,r9d + + mov DWORD[36+rsp],r12d + xor r14d,r11d + and edi,edx + + ror r13d,5 + add r12d,r10d + xor edi,r9d + + ror r14d,11 + xor r13d,edx + add r12d,edi + + mov edi,r11d + add r12d,DWORD[rbp] + xor r14d,r11d + + xor edi,eax + ror r13d,6 + mov r10d,eax + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor r10d,r15d + add ecx,r12d + add r10d,r12d + + lea rbp,[4+rbp] + add r10d,r14d + mov r12d,DWORD[40+rsi] + mov r13d,ecx + mov r14d,r10d + bswap r12d + ror r13d,14 + mov r15d,edx + + xor r13d,ecx + ror r14d,9 + xor r15d,r8d + + mov DWORD[40+rsp],r12d + xor r14d,r10d + and r15d,ecx + + ror r13d,5 + add r12d,r9d + xor r15d,r8d + + ror r14d,11 + xor r13d,ecx + add r12d,r15d + + mov r15d,r10d + add r12d,DWORD[rbp] + xor r14d,r10d + + xor r15d,r11d + ror r13d,6 + mov r9d,r11d + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor r9d,edi + add ebx,r12d + add r9d,r12d + + lea rbp,[4+rbp] + add r9d,r14d + mov r12d,DWORD[44+rsi] + mov r13d,ebx + mov r14d,r9d + bswap r12d + ror r13d,14 + mov edi,ecx + + xor r13d,ebx + ror r14d,9 + xor edi,edx + + mov DWORD[44+rsp],r12d + xor r14d,r9d + and edi,ebx + + ror r13d,5 + add r12d,r8d + xor edi,edx + + ror r14d,11 + xor r13d,ebx + add r12d,edi + + mov edi,r9d + add r12d,DWORD[rbp] + xor r14d,r9d + + xor edi,r10d + ror r13d,6 + mov r8d,r10d + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor r8d,r15d + add eax,r12d + add r8d,r12d + + lea rbp,[20+rbp] + add r8d,r14d + mov r12d,DWORD[48+rsi] + mov r13d,eax + mov r14d,r8d + bswap r12d + ror r13d,14 + mov r15d,ebx + + xor r13d,eax + ror r14d,9 + xor r15d,ecx + + mov DWORD[48+rsp],r12d + xor r14d,r8d + and r15d,eax + + ror r13d,5 + add r12d,edx + xor r15d,ecx + + ror r14d,11 + xor r13d,eax + add r12d,r15d + + mov r15d,r8d + add r12d,DWORD[rbp] + xor r14d,r8d + + xor r15d,r9d + ror r13d,6 + mov edx,r9d + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor edx,edi + add r11d,r12d + add edx,r12d + + lea rbp,[4+rbp] + add edx,r14d + mov r12d,DWORD[52+rsi] + mov r13d,r11d + mov r14d,edx + bswap r12d + ror r13d,14 + mov edi,eax + + xor r13d,r11d + ror r14d,9 + xor edi,ebx + + mov DWORD[52+rsp],r12d + xor r14d,edx + and edi,r11d + + ror r13d,5 + add r12d,ecx + xor edi,ebx + + ror r14d,11 + xor r13d,r11d + add r12d,edi + + mov edi,edx + add r12d,DWORD[rbp] + xor r14d,edx + + xor edi,r8d + ror r13d,6 + mov ecx,r8d + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor ecx,r15d + add r10d,r12d + add ecx,r12d + + lea rbp,[4+rbp] + add ecx,r14d + mov r12d,DWORD[56+rsi] + mov r13d,r10d + mov r14d,ecx + bswap r12d + ror r13d,14 + mov r15d,r11d + + xor r13d,r10d + ror r14d,9 + xor r15d,eax + + mov DWORD[56+rsp],r12d + xor r14d,ecx + and r15d,r10d + + ror r13d,5 + add r12d,ebx + xor r15d,eax + + ror r14d,11 + xor r13d,r10d + add r12d,r15d + + mov r15d,ecx + add r12d,DWORD[rbp] + xor r14d,ecx + + xor r15d,edx + ror r13d,6 + mov ebx,edx + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor ebx,edi + add r9d,r12d + add ebx,r12d + + lea rbp,[4+rbp] + add ebx,r14d + mov r12d,DWORD[60+rsi] + mov r13d,r9d + mov r14d,ebx + bswap r12d + ror r13d,14 + mov edi,r10d + + xor r13d,r9d + ror r14d,9 + xor edi,r11d + + mov DWORD[60+rsp],r12d + xor r14d,ebx + and edi,r9d + + ror r13d,5 + add r12d,eax + xor edi,r11d + + ror r14d,11 + xor r13d,r9d + add r12d,edi + + mov edi,ebx + add r12d,DWORD[rbp] + xor r14d,ebx + + xor edi,ecx + ror r13d,6 + mov eax,ecx + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor eax,r15d + add r8d,r12d + add eax,r12d + + lea rbp,[20+rbp] + jmp NEAR $L$rounds_16_xx +ALIGN 16 +$L$rounds_16_xx: + mov r13d,DWORD[4+rsp] + mov r15d,DWORD[56+rsp] + + mov r12d,r13d + ror r13d,11 + add eax,r14d + mov r14d,r15d + ror r15d,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor r15d,r14d + shr r14d,10 + + ror r15d,17 + xor r12d,r13d + xor r15d,r14d + add r12d,DWORD[36+rsp] + + add r12d,DWORD[rsp] + mov r13d,r8d + add r12d,r15d + mov r14d,eax + ror r13d,14 + mov r15d,r9d + + xor r13d,r8d + ror r14d,9 + xor r15d,r10d + + mov DWORD[rsp],r12d + xor r14d,eax + and r15d,r8d + + ror r13d,5 + add r12d,r11d + xor r15d,r10d + + ror r14d,11 + xor r13d,r8d + add r12d,r15d + + mov r15d,eax + add r12d,DWORD[rbp] + xor r14d,eax + + xor r15d,ebx + ror r13d,6 + mov r11d,ebx + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor r11d,edi + add edx,r12d + add r11d,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[8+rsp] + mov edi,DWORD[60+rsp] + + mov r12d,r13d + ror r13d,11 + add r11d,r14d + mov r14d,edi + ror edi,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor edi,r14d + shr r14d,10 + + ror edi,17 + xor r12d,r13d + xor edi,r14d + add r12d,DWORD[40+rsp] + + add r12d,DWORD[4+rsp] + mov r13d,edx + add r12d,edi + mov r14d,r11d + ror r13d,14 + mov edi,r8d + + xor r13d,edx + ror r14d,9 + xor edi,r9d + + mov DWORD[4+rsp],r12d + xor r14d,r11d + and edi,edx + + ror r13d,5 + add r12d,r10d + xor edi,r9d + + ror r14d,11 + xor r13d,edx + add r12d,edi + + mov edi,r11d + add r12d,DWORD[rbp] + xor r14d,r11d + + xor edi,eax + ror r13d,6 + mov r10d,eax + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor r10d,r15d + add ecx,r12d + add r10d,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[12+rsp] + mov r15d,DWORD[rsp] + + mov r12d,r13d + ror r13d,11 + add r10d,r14d + mov r14d,r15d + ror r15d,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor r15d,r14d + shr r14d,10 + + ror r15d,17 + xor r12d,r13d + xor r15d,r14d + add r12d,DWORD[44+rsp] + + add r12d,DWORD[8+rsp] + mov r13d,ecx + add r12d,r15d + mov r14d,r10d + ror r13d,14 + mov r15d,edx + + xor r13d,ecx + ror r14d,9 + xor r15d,r8d + + mov DWORD[8+rsp],r12d + xor r14d,r10d + and r15d,ecx + + ror r13d,5 + add r12d,r9d + xor r15d,r8d + + ror r14d,11 + xor r13d,ecx + add r12d,r15d + + mov r15d,r10d + add r12d,DWORD[rbp] + xor r14d,r10d + + xor r15d,r11d + ror r13d,6 + mov r9d,r11d + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor r9d,edi + add ebx,r12d + add r9d,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[16+rsp] + mov edi,DWORD[4+rsp] + + mov r12d,r13d + ror r13d,11 + add r9d,r14d + mov r14d,edi + ror edi,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor edi,r14d + shr r14d,10 + + ror edi,17 + xor r12d,r13d + xor edi,r14d + add r12d,DWORD[48+rsp] + + add r12d,DWORD[12+rsp] + mov r13d,ebx + add r12d,edi + mov r14d,r9d + ror r13d,14 + mov edi,ecx + + xor r13d,ebx + ror r14d,9 + xor edi,edx + + mov DWORD[12+rsp],r12d + xor r14d,r9d + and edi,ebx + + ror r13d,5 + add r12d,r8d + xor edi,edx + + ror r14d,11 + xor r13d,ebx + add r12d,edi + + mov edi,r9d + add r12d,DWORD[rbp] + xor r14d,r9d + + xor edi,r10d + ror r13d,6 + mov r8d,r10d + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor r8d,r15d + add eax,r12d + add r8d,r12d + + lea rbp,[20+rbp] + mov r13d,DWORD[20+rsp] + mov r15d,DWORD[8+rsp] + + mov r12d,r13d + ror r13d,11 + add r8d,r14d + mov r14d,r15d + ror r15d,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor r15d,r14d + shr r14d,10 + + ror r15d,17 + xor r12d,r13d + xor r15d,r14d + add r12d,DWORD[52+rsp] + + add r12d,DWORD[16+rsp] + mov r13d,eax + add r12d,r15d + mov r14d,r8d + ror r13d,14 + mov r15d,ebx + + xor r13d,eax + ror r14d,9 + xor r15d,ecx + + mov DWORD[16+rsp],r12d + xor r14d,r8d + and r15d,eax + + ror r13d,5 + add r12d,edx + xor r15d,ecx + + ror r14d,11 + xor r13d,eax + add r12d,r15d + + mov r15d,r8d + add r12d,DWORD[rbp] + xor r14d,r8d + + xor r15d,r9d + ror r13d,6 + mov edx,r9d + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor edx,edi + add r11d,r12d + add edx,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[24+rsp] + mov edi,DWORD[12+rsp] + + mov r12d,r13d + ror r13d,11 + add edx,r14d + mov r14d,edi + ror edi,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor edi,r14d + shr r14d,10 + + ror edi,17 + xor r12d,r13d + xor edi,r14d + add r12d,DWORD[56+rsp] + + add r12d,DWORD[20+rsp] + mov r13d,r11d + add r12d,edi + mov r14d,edx + ror r13d,14 + mov edi,eax + + xor r13d,r11d + ror r14d,9 + xor edi,ebx + + mov DWORD[20+rsp],r12d + xor r14d,edx + and edi,r11d + + ror r13d,5 + add r12d,ecx + xor edi,ebx + + ror r14d,11 + xor r13d,r11d + add r12d,edi + + mov edi,edx + add r12d,DWORD[rbp] + xor r14d,edx + + xor edi,r8d + ror r13d,6 + mov ecx,r8d + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor ecx,r15d + add r10d,r12d + add ecx,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[28+rsp] + mov r15d,DWORD[16+rsp] + + mov r12d,r13d + ror r13d,11 + add ecx,r14d + mov r14d,r15d + ror r15d,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor r15d,r14d + shr r14d,10 + + ror r15d,17 + xor r12d,r13d + xor r15d,r14d + add r12d,DWORD[60+rsp] + + add r12d,DWORD[24+rsp] + mov r13d,r10d + add r12d,r15d + mov r14d,ecx + ror r13d,14 + mov r15d,r11d + + xor r13d,r10d + ror r14d,9 + xor r15d,eax + + mov DWORD[24+rsp],r12d + xor r14d,ecx + and r15d,r10d + + ror r13d,5 + add r12d,ebx + xor r15d,eax + + ror r14d,11 + xor r13d,r10d + add r12d,r15d + + mov r15d,ecx + add r12d,DWORD[rbp] + xor r14d,ecx + + xor r15d,edx + ror r13d,6 + mov ebx,edx + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor ebx,edi + add r9d,r12d + add ebx,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[32+rsp] + mov edi,DWORD[20+rsp] + + mov r12d,r13d + ror r13d,11 + add ebx,r14d + mov r14d,edi + ror edi,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor edi,r14d + shr r14d,10 + + ror edi,17 + xor r12d,r13d + xor edi,r14d + add r12d,DWORD[rsp] + + add r12d,DWORD[28+rsp] + mov r13d,r9d + add r12d,edi + mov r14d,ebx + ror r13d,14 + mov edi,r10d + + xor r13d,r9d + ror r14d,9 + xor edi,r11d + + mov DWORD[28+rsp],r12d + xor r14d,ebx + and edi,r9d + + ror r13d,5 + add r12d,eax + xor edi,r11d + + ror r14d,11 + xor r13d,r9d + add r12d,edi + + mov edi,ebx + add r12d,DWORD[rbp] + xor r14d,ebx + + xor edi,ecx + ror r13d,6 + mov eax,ecx + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor eax,r15d + add r8d,r12d + add eax,r12d + + lea rbp,[20+rbp] + mov r13d,DWORD[36+rsp] + mov r15d,DWORD[24+rsp] + + mov r12d,r13d + ror r13d,11 + add eax,r14d + mov r14d,r15d + ror r15d,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor r15d,r14d + shr r14d,10 + + ror r15d,17 + xor r12d,r13d + xor r15d,r14d + add r12d,DWORD[4+rsp] + + add r12d,DWORD[32+rsp] + mov r13d,r8d + add r12d,r15d + mov r14d,eax + ror r13d,14 + mov r15d,r9d + + xor r13d,r8d + ror r14d,9 + xor r15d,r10d + + mov DWORD[32+rsp],r12d + xor r14d,eax + and r15d,r8d + + ror r13d,5 + add r12d,r11d + xor r15d,r10d + + ror r14d,11 + xor r13d,r8d + add r12d,r15d + + mov r15d,eax + add r12d,DWORD[rbp] + xor r14d,eax + + xor r15d,ebx + ror r13d,6 + mov r11d,ebx + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor r11d,edi + add edx,r12d + add r11d,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[40+rsp] + mov edi,DWORD[28+rsp] + + mov r12d,r13d + ror r13d,11 + add r11d,r14d + mov r14d,edi + ror edi,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor edi,r14d + shr r14d,10 + + ror edi,17 + xor r12d,r13d + xor edi,r14d + add r12d,DWORD[8+rsp] + + add r12d,DWORD[36+rsp] + mov r13d,edx + add r12d,edi + mov r14d,r11d + ror r13d,14 + mov edi,r8d + + xor r13d,edx + ror r14d,9 + xor edi,r9d + + mov DWORD[36+rsp],r12d + xor r14d,r11d + and edi,edx + + ror r13d,5 + add r12d,r10d + xor edi,r9d + + ror r14d,11 + xor r13d,edx + add r12d,edi + + mov edi,r11d + add r12d,DWORD[rbp] + xor r14d,r11d + + xor edi,eax + ror r13d,6 + mov r10d,eax + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor r10d,r15d + add ecx,r12d + add r10d,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[44+rsp] + mov r15d,DWORD[32+rsp] + + mov r12d,r13d + ror r13d,11 + add r10d,r14d + mov r14d,r15d + ror r15d,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor r15d,r14d + shr r14d,10 + + ror r15d,17 + xor r12d,r13d + xor r15d,r14d + add r12d,DWORD[12+rsp] + + add r12d,DWORD[40+rsp] + mov r13d,ecx + add r12d,r15d + mov r14d,r10d + ror r13d,14 + mov r15d,edx + + xor r13d,ecx + ror r14d,9 + xor r15d,r8d + + mov DWORD[40+rsp],r12d + xor r14d,r10d + and r15d,ecx + + ror r13d,5 + add r12d,r9d + xor r15d,r8d + + ror r14d,11 + xor r13d,ecx + add r12d,r15d + + mov r15d,r10d + add r12d,DWORD[rbp] + xor r14d,r10d + + xor r15d,r11d + ror r13d,6 + mov r9d,r11d + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor r9d,edi + add ebx,r12d + add r9d,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[48+rsp] + mov edi,DWORD[36+rsp] + + mov r12d,r13d + ror r13d,11 + add r9d,r14d + mov r14d,edi + ror edi,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor edi,r14d + shr r14d,10 + + ror edi,17 + xor r12d,r13d + xor edi,r14d + add r12d,DWORD[16+rsp] + + add r12d,DWORD[44+rsp] + mov r13d,ebx + add r12d,edi + mov r14d,r9d + ror r13d,14 + mov edi,ecx + + xor r13d,ebx + ror r14d,9 + xor edi,edx + + mov DWORD[44+rsp],r12d + xor r14d,r9d + and edi,ebx + + ror r13d,5 + add r12d,r8d + xor edi,edx + + ror r14d,11 + xor r13d,ebx + add r12d,edi + + mov edi,r9d + add r12d,DWORD[rbp] + xor r14d,r9d + + xor edi,r10d + ror r13d,6 + mov r8d,r10d + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor r8d,r15d + add eax,r12d + add r8d,r12d + + lea rbp,[20+rbp] + mov r13d,DWORD[52+rsp] + mov r15d,DWORD[40+rsp] + + mov r12d,r13d + ror r13d,11 + add r8d,r14d + mov r14d,r15d + ror r15d,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor r15d,r14d + shr r14d,10 + + ror r15d,17 + xor r12d,r13d + xor r15d,r14d + add r12d,DWORD[20+rsp] + + add r12d,DWORD[48+rsp] + mov r13d,eax + add r12d,r15d + mov r14d,r8d + ror r13d,14 + mov r15d,ebx + + xor r13d,eax + ror r14d,9 + xor r15d,ecx + + mov DWORD[48+rsp],r12d + xor r14d,r8d + and r15d,eax + + ror r13d,5 + add r12d,edx + xor r15d,ecx + + ror r14d,11 + xor r13d,eax + add r12d,r15d + + mov r15d,r8d + add r12d,DWORD[rbp] + xor r14d,r8d + + xor r15d,r9d + ror r13d,6 + mov edx,r9d + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor edx,edi + add r11d,r12d + add edx,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[56+rsp] + mov edi,DWORD[44+rsp] + + mov r12d,r13d + ror r13d,11 + add edx,r14d + mov r14d,edi + ror edi,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor edi,r14d + shr r14d,10 + + ror edi,17 + xor r12d,r13d + xor edi,r14d + add r12d,DWORD[24+rsp] + + add r12d,DWORD[52+rsp] + mov r13d,r11d + add r12d,edi + mov r14d,edx + ror r13d,14 + mov edi,eax + + xor r13d,r11d + ror r14d,9 + xor edi,ebx + + mov DWORD[52+rsp],r12d + xor r14d,edx + and edi,r11d + + ror r13d,5 + add r12d,ecx + xor edi,ebx + + ror r14d,11 + xor r13d,r11d + add r12d,edi + + mov edi,edx + add r12d,DWORD[rbp] + xor r14d,edx + + xor edi,r8d + ror r13d,6 + mov ecx,r8d + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor ecx,r15d + add r10d,r12d + add ecx,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[60+rsp] + mov r15d,DWORD[48+rsp] + + mov r12d,r13d + ror r13d,11 + add ecx,r14d + mov r14d,r15d + ror r15d,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor r15d,r14d + shr r14d,10 + + ror r15d,17 + xor r12d,r13d + xor r15d,r14d + add r12d,DWORD[28+rsp] + + add r12d,DWORD[56+rsp] + mov r13d,r10d + add r12d,r15d + mov r14d,ecx + ror r13d,14 + mov r15d,r11d + + xor r13d,r10d + ror r14d,9 + xor r15d,eax + + mov DWORD[56+rsp],r12d + xor r14d,ecx + and r15d,r10d + + ror r13d,5 + add r12d,ebx + xor r15d,eax + + ror r14d,11 + xor r13d,r10d + add r12d,r15d + + mov r15d,ecx + add r12d,DWORD[rbp] + xor r14d,ecx + + xor r15d,edx + ror r13d,6 + mov ebx,edx + + and edi,r15d + ror r14d,2 + add r12d,r13d + + xor ebx,edi + add r9d,r12d + add ebx,r12d + + lea rbp,[4+rbp] + mov r13d,DWORD[rsp] + mov edi,DWORD[52+rsp] + + mov r12d,r13d + ror r13d,11 + add ebx,r14d + mov r14d,edi + ror edi,2 + + xor r13d,r12d + shr r12d,3 + ror r13d,7 + xor edi,r14d + shr r14d,10 + + ror edi,17 + xor r12d,r13d + xor edi,r14d + add r12d,DWORD[32+rsp] + + add r12d,DWORD[60+rsp] + mov r13d,r9d + add r12d,edi + mov r14d,ebx + ror r13d,14 + mov edi,r10d + + xor r13d,r9d + ror r14d,9 + xor edi,r11d + + mov DWORD[60+rsp],r12d + xor r14d,ebx + and edi,r9d + + ror r13d,5 + add r12d,eax + xor edi,r11d + + ror r14d,11 + xor r13d,r9d + add r12d,edi + + mov edi,ebx + add r12d,DWORD[rbp] + xor r14d,ebx + + xor edi,ecx + ror r13d,6 + mov eax,ecx + + and r15d,edi + ror r14d,2 + add r12d,r13d + + xor eax,r15d + add r8d,r12d + add eax,r12d + + lea rbp,[20+rbp] + cmp BYTE[3+rbp],0 + jnz NEAR $L$rounds_16_xx + + mov rdi,QWORD[((64+0))+rsp] + add eax,r14d + lea rsi,[64+rsi] + + add eax,DWORD[rdi] + add ebx,DWORD[4+rdi] + add ecx,DWORD[8+rdi] + add edx,DWORD[12+rdi] + add r8d,DWORD[16+rdi] + add r9d,DWORD[20+rdi] + add r10d,DWORD[24+rdi] + add r11d,DWORD[28+rdi] + + cmp rsi,QWORD[((64+16))+rsp] + + mov DWORD[rdi],eax + mov DWORD[4+rdi],ebx + mov DWORD[8+rdi],ecx + mov DWORD[12+rdi],edx + mov DWORD[16+rdi],r8d + mov DWORD[20+rdi],r9d + mov DWORD[24+rdi],r10d + mov DWORD[28+rdi],r11d + jb NEAR $L$loop + + mov rsi,QWORD[((64+24))+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha256_block_data_order: +ALIGN 64 + +K256: + DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 + DD 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 + DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 + DD 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 + DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 + DD 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 + DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 + DD 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 + DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc + DD 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc + DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da + DD 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da + DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 + DD 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 + DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 + DD 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 + DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 + DD 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 + DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 + DD 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 + DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 + DD 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 + DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 + DD 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 + DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 + DD 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 + DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 + DD 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 + DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 + DD 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 + DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 + DD 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 + + DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f + DD 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f + DD 0x03020100,0x0b0a0908,0xffffffff,0xffffffff + DD 0x03020100,0x0b0a0908,0xffffffff,0xffffffff + DD 0xffffffff,0xffffffff,0x03020100,0x0b0a0908 + DD 0xffffffff,0xffffffff,0x03020100,0x0b0a0908 +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,95,54 +DB 52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 +DB 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 +DB 111,114,103,62,0 + +ALIGN 64 +sha256_block_data_order_shaext: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha256_block_data_order_shaext: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +_shaext_shortcut: + lea rsp,[((-88))+rsp] + movaps XMMWORD[(-8-80)+rax],xmm6 + movaps XMMWORD[(-8-64)+rax],xmm7 + movaps XMMWORD[(-8-48)+rax],xmm8 + movaps XMMWORD[(-8-32)+rax],xmm9 + movaps XMMWORD[(-8-16)+rax],xmm10 +$L$prologue_shaext: + lea rcx,[((K256+128))] + movdqu xmm1,XMMWORD[rdi] + movdqu xmm2,XMMWORD[16+rdi] + movdqa xmm7,XMMWORD[((512-128))+rcx] + + pshufd xmm0,xmm1,0x1b + pshufd xmm1,xmm1,0xb1 + pshufd xmm2,xmm2,0x1b + movdqa xmm8,xmm7 +DB 102,15,58,15,202,8 + punpcklqdq xmm2,xmm0 + jmp NEAR $L$oop_shaext + +ALIGN 16 +$L$oop_shaext: + movdqu xmm3,XMMWORD[rsi] + movdqu xmm4,XMMWORD[16+rsi] + movdqu xmm5,XMMWORD[32+rsi] +DB 102,15,56,0,223 + movdqu xmm6,XMMWORD[48+rsi] + + movdqa xmm0,XMMWORD[((0-128))+rcx] + paddd xmm0,xmm3 +DB 102,15,56,0,231 + movdqa xmm10,xmm2 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + nop + movdqa xmm9,xmm1 +DB 15,56,203,202 + + movdqa xmm0,XMMWORD[((32-128))+rcx] + paddd xmm0,xmm4 +DB 102,15,56,0,239 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + lea rsi,[64+rsi] +DB 15,56,204,220 +DB 15,56,203,202 + + movdqa xmm0,XMMWORD[((64-128))+rcx] + paddd xmm0,xmm5 +DB 102,15,56,0,247 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm6 +DB 102,15,58,15,253,4 + nop + paddd xmm3,xmm7 +DB 15,56,204,229 +DB 15,56,203,202 + + movdqa xmm0,XMMWORD[((96-128))+rcx] + paddd xmm0,xmm6 +DB 15,56,205,222 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm3 +DB 102,15,58,15,254,4 + nop + paddd xmm4,xmm7 +DB 15,56,204,238 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((128-128))+rcx] + paddd xmm0,xmm3 +DB 15,56,205,227 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm4 +DB 102,15,58,15,251,4 + nop + paddd xmm5,xmm7 +DB 15,56,204,243 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((160-128))+rcx] + paddd xmm0,xmm4 +DB 15,56,205,236 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm5 +DB 102,15,58,15,252,4 + nop + paddd xmm6,xmm7 +DB 15,56,204,220 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((192-128))+rcx] + paddd xmm0,xmm5 +DB 15,56,205,245 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm6 +DB 102,15,58,15,253,4 + nop + paddd xmm3,xmm7 +DB 15,56,204,229 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((224-128))+rcx] + paddd xmm0,xmm6 +DB 15,56,205,222 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm3 +DB 102,15,58,15,254,4 + nop + paddd xmm4,xmm7 +DB 15,56,204,238 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((256-128))+rcx] + paddd xmm0,xmm3 +DB 15,56,205,227 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm4 +DB 102,15,58,15,251,4 + nop + paddd xmm5,xmm7 +DB 15,56,204,243 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((288-128))+rcx] + paddd xmm0,xmm4 +DB 15,56,205,236 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm5 +DB 102,15,58,15,252,4 + nop + paddd xmm6,xmm7 +DB 15,56,204,220 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((320-128))+rcx] + paddd xmm0,xmm5 +DB 15,56,205,245 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm6 +DB 102,15,58,15,253,4 + nop + paddd xmm3,xmm7 +DB 15,56,204,229 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((352-128))+rcx] + paddd xmm0,xmm6 +DB 15,56,205,222 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm3 +DB 102,15,58,15,254,4 + nop + paddd xmm4,xmm7 +DB 15,56,204,238 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((384-128))+rcx] + paddd xmm0,xmm3 +DB 15,56,205,227 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm4 +DB 102,15,58,15,251,4 + nop + paddd xmm5,xmm7 +DB 15,56,204,243 +DB 15,56,203,202 + movdqa xmm0,XMMWORD[((416-128))+rcx] + paddd xmm0,xmm4 +DB 15,56,205,236 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + movdqa xmm7,xmm5 +DB 102,15,58,15,252,4 +DB 15,56,203,202 + paddd xmm6,xmm7 + + movdqa xmm0,XMMWORD[((448-128))+rcx] + paddd xmm0,xmm5 +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e +DB 15,56,205,245 + movdqa xmm7,xmm8 +DB 15,56,203,202 + + movdqa xmm0,XMMWORD[((480-128))+rcx] + paddd xmm0,xmm6 + nop +DB 15,56,203,209 + pshufd xmm0,xmm0,0x0e + dec rdx + nop +DB 15,56,203,202 + + paddd xmm2,xmm10 + paddd xmm1,xmm9 + jnz NEAR $L$oop_shaext + + pshufd xmm2,xmm2,0xb1 + pshufd xmm7,xmm1,0x1b + pshufd xmm1,xmm1,0xb1 + punpckhqdq xmm1,xmm2 +DB 102,15,58,15,215,8 + + movdqu XMMWORD[rdi],xmm1 + movdqu XMMWORD[16+rdi],xmm2 + movaps xmm6,XMMWORD[((-8-80))+rax] + movaps xmm7,XMMWORD[((-8-64))+rax] + movaps xmm8,XMMWORD[((-8-48))+rax] + movaps xmm9,XMMWORD[((-8-32))+rax] + movaps xmm10,XMMWORD[((-8-16))+rax] + mov rsp,rax +$L$epilogue_shaext: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha256_block_data_order_shaext: + +ALIGN 64 +sha256_block_data_order_ssse3: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha256_block_data_order_ssse3: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +$L$ssse3_shortcut: + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov r11,rsp + shl rdx,4 + sub rsp,160 + lea rdx,[rdx*4+rsi] + and rsp,-64 + mov QWORD[((64+0))+rsp],rdi + mov QWORD[((64+8))+rsp],rsi + mov QWORD[((64+16))+rsp],rdx + mov QWORD[((64+24))+rsp],r11 + movaps XMMWORD[(64+32)+rsp],xmm6 + movaps XMMWORD[(64+48)+rsp],xmm7 + movaps XMMWORD[(64+64)+rsp],xmm8 + movaps XMMWORD[(64+80)+rsp],xmm9 +$L$prologue_ssse3: + + mov eax,DWORD[rdi] + mov ebx,DWORD[4+rdi] + mov ecx,DWORD[8+rdi] + mov edx,DWORD[12+rdi] + mov r8d,DWORD[16+rdi] + mov r9d,DWORD[20+rdi] + mov r10d,DWORD[24+rdi] + mov r11d,DWORD[28+rdi] + + + jmp NEAR $L$loop_ssse3 +ALIGN 16 +$L$loop_ssse3: + movdqa xmm7,XMMWORD[((K256+512))] + movdqu xmm0,XMMWORD[rsi] + movdqu xmm1,XMMWORD[16+rsi] + movdqu xmm2,XMMWORD[32+rsi] +DB 102,15,56,0,199 + movdqu xmm3,XMMWORD[48+rsi] + lea rbp,[K256] +DB 102,15,56,0,207 + movdqa xmm4,XMMWORD[rbp] + movdqa xmm5,XMMWORD[32+rbp] +DB 102,15,56,0,215 + paddd xmm4,xmm0 + movdqa xmm6,XMMWORD[64+rbp] +DB 102,15,56,0,223 + movdqa xmm7,XMMWORD[96+rbp] + paddd xmm5,xmm1 + paddd xmm6,xmm2 + paddd xmm7,xmm3 + movdqa XMMWORD[rsp],xmm4 + mov r14d,eax + movdqa XMMWORD[16+rsp],xmm5 + mov edi,ebx + movdqa XMMWORD[32+rsp],xmm6 + xor edi,ecx + movdqa XMMWORD[48+rsp],xmm7 + mov r13d,r8d + jmp NEAR $L$ssse3_00_47 + +ALIGN 16 +$L$ssse3_00_47: + sub rbp,-128 + ror r13d,14 + movdqa xmm4,xmm1 + mov eax,r14d + mov r12d,r9d + movdqa xmm7,xmm3 + ror r14d,9 + xor r13d,r8d + xor r12d,r10d + ror r13d,5 + xor r14d,eax +DB 102,15,58,15,224,4 + and r12d,r8d + xor r13d,r8d +DB 102,15,58,15,250,4 + add r11d,DWORD[rsp] + mov r15d,eax + xor r12d,r10d + ror r14d,11 + movdqa xmm5,xmm4 + xor r15d,ebx + add r11d,r12d + movdqa xmm6,xmm4 + ror r13d,6 + and edi,r15d + psrld xmm4,3 + xor r14d,eax + add r11d,r13d + xor edi,ebx + paddd xmm0,xmm7 + ror r14d,2 + add edx,r11d + psrld xmm6,7 + add r11d,edi + mov r13d,edx + pshufd xmm7,xmm3,250 + add r14d,r11d + ror r13d,14 + pslld xmm5,14 + mov r11d,r14d + mov r12d,r8d + pxor xmm4,xmm6 + ror r14d,9 + xor r13d,edx + xor r12d,r9d + ror r13d,5 + psrld xmm6,11 + xor r14d,r11d + pxor xmm4,xmm5 + and r12d,edx + xor r13d,edx + pslld xmm5,11 + add r10d,DWORD[4+rsp] + mov edi,r11d + pxor xmm4,xmm6 + xor r12d,r9d + ror r14d,11 + movdqa xmm6,xmm7 + xor edi,eax + add r10d,r12d + pxor xmm4,xmm5 + ror r13d,6 + and r15d,edi + xor r14d,r11d + psrld xmm7,10 + add r10d,r13d + xor r15d,eax + paddd xmm0,xmm4 + ror r14d,2 + add ecx,r10d + psrlq xmm6,17 + add r10d,r15d + mov r13d,ecx + add r14d,r10d + pxor xmm7,xmm6 + ror r13d,14 + mov r10d,r14d + mov r12d,edx + ror r14d,9 + psrlq xmm6,2 + xor r13d,ecx + xor r12d,r8d + pxor xmm7,xmm6 + ror r13d,5 + xor r14d,r10d + and r12d,ecx + pshufd xmm7,xmm7,128 + xor r13d,ecx + add r9d,DWORD[8+rsp] + mov r15d,r10d + psrldq xmm7,8 + xor r12d,r8d + ror r14d,11 + xor r15d,r11d + add r9d,r12d + ror r13d,6 + paddd xmm0,xmm7 + and edi,r15d + xor r14d,r10d + add r9d,r13d + pshufd xmm7,xmm0,80 + xor edi,r11d + ror r14d,2 + add ebx,r9d + movdqa xmm6,xmm7 + add r9d,edi + mov r13d,ebx + psrld xmm7,10 + add r14d,r9d + ror r13d,14 + psrlq xmm6,17 + mov r9d,r14d + mov r12d,ecx + pxor xmm7,xmm6 + ror r14d,9 + xor r13d,ebx + xor r12d,edx + ror r13d,5 + xor r14d,r9d + psrlq xmm6,2 + and r12d,ebx + xor r13d,ebx + add r8d,DWORD[12+rsp] + pxor xmm7,xmm6 + mov edi,r9d + xor r12d,edx + ror r14d,11 + pshufd xmm7,xmm7,8 + xor edi,r10d + add r8d,r12d + movdqa xmm6,XMMWORD[rbp] + ror r13d,6 + and r15d,edi + pslldq xmm7,8 + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + paddd xmm0,xmm7 + ror r14d,2 + add eax,r8d + add r8d,r15d + paddd xmm6,xmm0 + mov r13d,eax + add r14d,r8d + movdqa XMMWORD[rsp],xmm6 + ror r13d,14 + movdqa xmm4,xmm2 + mov r8d,r14d + mov r12d,ebx + movdqa xmm7,xmm0 + ror r14d,9 + xor r13d,eax + xor r12d,ecx + ror r13d,5 + xor r14d,r8d +DB 102,15,58,15,225,4 + and r12d,eax + xor r13d,eax +DB 102,15,58,15,251,4 + add edx,DWORD[16+rsp] + mov r15d,r8d + xor r12d,ecx + ror r14d,11 + movdqa xmm5,xmm4 + xor r15d,r9d + add edx,r12d + movdqa xmm6,xmm4 + ror r13d,6 + and edi,r15d + psrld xmm4,3 + xor r14d,r8d + add edx,r13d + xor edi,r9d + paddd xmm1,xmm7 + ror r14d,2 + add r11d,edx + psrld xmm6,7 + add edx,edi + mov r13d,r11d + pshufd xmm7,xmm0,250 + add r14d,edx + ror r13d,14 + pslld xmm5,14 + mov edx,r14d + mov r12d,eax + pxor xmm4,xmm6 + ror r14d,9 + xor r13d,r11d + xor r12d,ebx + ror r13d,5 + psrld xmm6,11 + xor r14d,edx + pxor xmm4,xmm5 + and r12d,r11d + xor r13d,r11d + pslld xmm5,11 + add ecx,DWORD[20+rsp] + mov edi,edx + pxor xmm4,xmm6 + xor r12d,ebx + ror r14d,11 + movdqa xmm6,xmm7 + xor edi,r8d + add ecx,r12d + pxor xmm4,xmm5 + ror r13d,6 + and r15d,edi + xor r14d,edx + psrld xmm7,10 + add ecx,r13d + xor r15d,r8d + paddd xmm1,xmm4 + ror r14d,2 + add r10d,ecx + psrlq xmm6,17 + add ecx,r15d + mov r13d,r10d + add r14d,ecx + pxor xmm7,xmm6 + ror r13d,14 + mov ecx,r14d + mov r12d,r11d + ror r14d,9 + psrlq xmm6,2 + xor r13d,r10d + xor r12d,eax + pxor xmm7,xmm6 + ror r13d,5 + xor r14d,ecx + and r12d,r10d + pshufd xmm7,xmm7,128 + xor r13d,r10d + add ebx,DWORD[24+rsp] + mov r15d,ecx + psrldq xmm7,8 + xor r12d,eax + ror r14d,11 + xor r15d,edx + add ebx,r12d + ror r13d,6 + paddd xmm1,xmm7 + and edi,r15d + xor r14d,ecx + add ebx,r13d + pshufd xmm7,xmm1,80 + xor edi,edx + ror r14d,2 + add r9d,ebx + movdqa xmm6,xmm7 + add ebx,edi + mov r13d,r9d + psrld xmm7,10 + add r14d,ebx + ror r13d,14 + psrlq xmm6,17 + mov ebx,r14d + mov r12d,r10d + pxor xmm7,xmm6 + ror r14d,9 + xor r13d,r9d + xor r12d,r11d + ror r13d,5 + xor r14d,ebx + psrlq xmm6,2 + and r12d,r9d + xor r13d,r9d + add eax,DWORD[28+rsp] + pxor xmm7,xmm6 + mov edi,ebx + xor r12d,r11d + ror r14d,11 + pshufd xmm7,xmm7,8 + xor edi,ecx + add eax,r12d + movdqa xmm6,XMMWORD[32+rbp] + ror r13d,6 + and r15d,edi + pslldq xmm7,8 + xor r14d,ebx + add eax,r13d + xor r15d,ecx + paddd xmm1,xmm7 + ror r14d,2 + add r8d,eax + add eax,r15d + paddd xmm6,xmm1 + mov r13d,r8d + add r14d,eax + movdqa XMMWORD[16+rsp],xmm6 + ror r13d,14 + movdqa xmm4,xmm3 + mov eax,r14d + mov r12d,r9d + movdqa xmm7,xmm1 + ror r14d,9 + xor r13d,r8d + xor r12d,r10d + ror r13d,5 + xor r14d,eax +DB 102,15,58,15,226,4 + and r12d,r8d + xor r13d,r8d +DB 102,15,58,15,248,4 + add r11d,DWORD[32+rsp] + mov r15d,eax + xor r12d,r10d + ror r14d,11 + movdqa xmm5,xmm4 + xor r15d,ebx + add r11d,r12d + movdqa xmm6,xmm4 + ror r13d,6 + and edi,r15d + psrld xmm4,3 + xor r14d,eax + add r11d,r13d + xor edi,ebx + paddd xmm2,xmm7 + ror r14d,2 + add edx,r11d + psrld xmm6,7 + add r11d,edi + mov r13d,edx + pshufd xmm7,xmm1,250 + add r14d,r11d + ror r13d,14 + pslld xmm5,14 + mov r11d,r14d + mov r12d,r8d + pxor xmm4,xmm6 + ror r14d,9 + xor r13d,edx + xor r12d,r9d + ror r13d,5 + psrld xmm6,11 + xor r14d,r11d + pxor xmm4,xmm5 + and r12d,edx + xor r13d,edx + pslld xmm5,11 + add r10d,DWORD[36+rsp] + mov edi,r11d + pxor xmm4,xmm6 + xor r12d,r9d + ror r14d,11 + movdqa xmm6,xmm7 + xor edi,eax + add r10d,r12d + pxor xmm4,xmm5 + ror r13d,6 + and r15d,edi + xor r14d,r11d + psrld xmm7,10 + add r10d,r13d + xor r15d,eax + paddd xmm2,xmm4 + ror r14d,2 + add ecx,r10d + psrlq xmm6,17 + add r10d,r15d + mov r13d,ecx + add r14d,r10d + pxor xmm7,xmm6 + ror r13d,14 + mov r10d,r14d + mov r12d,edx + ror r14d,9 + psrlq xmm6,2 + xor r13d,ecx + xor r12d,r8d + pxor xmm7,xmm6 + ror r13d,5 + xor r14d,r10d + and r12d,ecx + pshufd xmm7,xmm7,128 + xor r13d,ecx + add r9d,DWORD[40+rsp] + mov r15d,r10d + psrldq xmm7,8 + xor r12d,r8d + ror r14d,11 + xor r15d,r11d + add r9d,r12d + ror r13d,6 + paddd xmm2,xmm7 + and edi,r15d + xor r14d,r10d + add r9d,r13d + pshufd xmm7,xmm2,80 + xor edi,r11d + ror r14d,2 + add ebx,r9d + movdqa xmm6,xmm7 + add r9d,edi + mov r13d,ebx + psrld xmm7,10 + add r14d,r9d + ror r13d,14 + psrlq xmm6,17 + mov r9d,r14d + mov r12d,ecx + pxor xmm7,xmm6 + ror r14d,9 + xor r13d,ebx + xor r12d,edx + ror r13d,5 + xor r14d,r9d + psrlq xmm6,2 + and r12d,ebx + xor r13d,ebx + add r8d,DWORD[44+rsp] + pxor xmm7,xmm6 + mov edi,r9d + xor r12d,edx + ror r14d,11 + pshufd xmm7,xmm7,8 + xor edi,r10d + add r8d,r12d + movdqa xmm6,XMMWORD[64+rbp] + ror r13d,6 + and r15d,edi + pslldq xmm7,8 + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + paddd xmm2,xmm7 + ror r14d,2 + add eax,r8d + add r8d,r15d + paddd xmm6,xmm2 + mov r13d,eax + add r14d,r8d + movdqa XMMWORD[32+rsp],xmm6 + ror r13d,14 + movdqa xmm4,xmm0 + mov r8d,r14d + mov r12d,ebx + movdqa xmm7,xmm2 + ror r14d,9 + xor r13d,eax + xor r12d,ecx + ror r13d,5 + xor r14d,r8d +DB 102,15,58,15,227,4 + and r12d,eax + xor r13d,eax +DB 102,15,58,15,249,4 + add edx,DWORD[48+rsp] + mov r15d,r8d + xor r12d,ecx + ror r14d,11 + movdqa xmm5,xmm4 + xor r15d,r9d + add edx,r12d + movdqa xmm6,xmm4 + ror r13d,6 + and edi,r15d + psrld xmm4,3 + xor r14d,r8d + add edx,r13d + xor edi,r9d + paddd xmm3,xmm7 + ror r14d,2 + add r11d,edx + psrld xmm6,7 + add edx,edi + mov r13d,r11d + pshufd xmm7,xmm2,250 + add r14d,edx + ror r13d,14 + pslld xmm5,14 + mov edx,r14d + mov r12d,eax + pxor xmm4,xmm6 + ror r14d,9 + xor r13d,r11d + xor r12d,ebx + ror r13d,5 + psrld xmm6,11 + xor r14d,edx + pxor xmm4,xmm5 + and r12d,r11d + xor r13d,r11d + pslld xmm5,11 + add ecx,DWORD[52+rsp] + mov edi,edx + pxor xmm4,xmm6 + xor r12d,ebx + ror r14d,11 + movdqa xmm6,xmm7 + xor edi,r8d + add ecx,r12d + pxor xmm4,xmm5 + ror r13d,6 + and r15d,edi + xor r14d,edx + psrld xmm7,10 + add ecx,r13d + xor r15d,r8d + paddd xmm3,xmm4 + ror r14d,2 + add r10d,ecx + psrlq xmm6,17 + add ecx,r15d + mov r13d,r10d + add r14d,ecx + pxor xmm7,xmm6 + ror r13d,14 + mov ecx,r14d + mov r12d,r11d + ror r14d,9 + psrlq xmm6,2 + xor r13d,r10d + xor r12d,eax + pxor xmm7,xmm6 + ror r13d,5 + xor r14d,ecx + and r12d,r10d + pshufd xmm7,xmm7,128 + xor r13d,r10d + add ebx,DWORD[56+rsp] + mov r15d,ecx + psrldq xmm7,8 + xor r12d,eax + ror r14d,11 + xor r15d,edx + add ebx,r12d + ror r13d,6 + paddd xmm3,xmm7 + and edi,r15d + xor r14d,ecx + add ebx,r13d + pshufd xmm7,xmm3,80 + xor edi,edx + ror r14d,2 + add r9d,ebx + movdqa xmm6,xmm7 + add ebx,edi + mov r13d,r9d + psrld xmm7,10 + add r14d,ebx + ror r13d,14 + psrlq xmm6,17 + mov ebx,r14d + mov r12d,r10d + pxor xmm7,xmm6 + ror r14d,9 + xor r13d,r9d + xor r12d,r11d + ror r13d,5 + xor r14d,ebx + psrlq xmm6,2 + and r12d,r9d + xor r13d,r9d + add eax,DWORD[60+rsp] + pxor xmm7,xmm6 + mov edi,ebx + xor r12d,r11d + ror r14d,11 + pshufd xmm7,xmm7,8 + xor edi,ecx + add eax,r12d + movdqa xmm6,XMMWORD[96+rbp] + ror r13d,6 + and r15d,edi + pslldq xmm7,8 + xor r14d,ebx + add eax,r13d + xor r15d,ecx + paddd xmm3,xmm7 + ror r14d,2 + add r8d,eax + add eax,r15d + paddd xmm6,xmm3 + mov r13d,r8d + add r14d,eax + movdqa XMMWORD[48+rsp],xmm6 + cmp BYTE[131+rbp],0 + jne NEAR $L$ssse3_00_47 + ror r13d,14 + mov eax,r14d + mov r12d,r9d + ror r14d,9 + xor r13d,r8d + xor r12d,r10d + ror r13d,5 + xor r14d,eax + and r12d,r8d + xor r13d,r8d + add r11d,DWORD[rsp] + mov r15d,eax + xor r12d,r10d + ror r14d,11 + xor r15d,ebx + add r11d,r12d + ror r13d,6 + and edi,r15d + xor r14d,eax + add r11d,r13d + xor edi,ebx + ror r14d,2 + add edx,r11d + add r11d,edi + mov r13d,edx + add r14d,r11d + ror r13d,14 + mov r11d,r14d + mov r12d,r8d + ror r14d,9 + xor r13d,edx + xor r12d,r9d + ror r13d,5 + xor r14d,r11d + and r12d,edx + xor r13d,edx + add r10d,DWORD[4+rsp] + mov edi,r11d + xor r12d,r9d + ror r14d,11 + xor edi,eax + add r10d,r12d + ror r13d,6 + and r15d,edi + xor r14d,r11d + add r10d,r13d + xor r15d,eax + ror r14d,2 + add ecx,r10d + add r10d,r15d + mov r13d,ecx + add r14d,r10d + ror r13d,14 + mov r10d,r14d + mov r12d,edx + ror r14d,9 + xor r13d,ecx + xor r12d,r8d + ror r13d,5 + xor r14d,r10d + and r12d,ecx + xor r13d,ecx + add r9d,DWORD[8+rsp] + mov r15d,r10d + xor r12d,r8d + ror r14d,11 + xor r15d,r11d + add r9d,r12d + ror r13d,6 + and edi,r15d + xor r14d,r10d + add r9d,r13d + xor edi,r11d + ror r14d,2 + add ebx,r9d + add r9d,edi + mov r13d,ebx + add r14d,r9d + ror r13d,14 + mov r9d,r14d + mov r12d,ecx + ror r14d,9 + xor r13d,ebx + xor r12d,edx + ror r13d,5 + xor r14d,r9d + and r12d,ebx + xor r13d,ebx + add r8d,DWORD[12+rsp] + mov edi,r9d + xor r12d,edx + ror r14d,11 + xor edi,r10d + add r8d,r12d + ror r13d,6 + and r15d,edi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + ror r14d,2 + add eax,r8d + add r8d,r15d + mov r13d,eax + add r14d,r8d + ror r13d,14 + mov r8d,r14d + mov r12d,ebx + ror r14d,9 + xor r13d,eax + xor r12d,ecx + ror r13d,5 + xor r14d,r8d + and r12d,eax + xor r13d,eax + add edx,DWORD[16+rsp] + mov r15d,r8d + xor r12d,ecx + ror r14d,11 + xor r15d,r9d + add edx,r12d + ror r13d,6 + and edi,r15d + xor r14d,r8d + add edx,r13d + xor edi,r9d + ror r14d,2 + add r11d,edx + add edx,edi + mov r13d,r11d + add r14d,edx + ror r13d,14 + mov edx,r14d + mov r12d,eax + ror r14d,9 + xor r13d,r11d + xor r12d,ebx + ror r13d,5 + xor r14d,edx + and r12d,r11d + xor r13d,r11d + add ecx,DWORD[20+rsp] + mov edi,edx + xor r12d,ebx + ror r14d,11 + xor edi,r8d + add ecx,r12d + ror r13d,6 + and r15d,edi + xor r14d,edx + add ecx,r13d + xor r15d,r8d + ror r14d,2 + add r10d,ecx + add ecx,r15d + mov r13d,r10d + add r14d,ecx + ror r13d,14 + mov ecx,r14d + mov r12d,r11d + ror r14d,9 + xor r13d,r10d + xor r12d,eax + ror r13d,5 + xor r14d,ecx + and r12d,r10d + xor r13d,r10d + add ebx,DWORD[24+rsp] + mov r15d,ecx + xor r12d,eax + ror r14d,11 + xor r15d,edx + add ebx,r12d + ror r13d,6 + and edi,r15d + xor r14d,ecx + add ebx,r13d + xor edi,edx + ror r14d,2 + add r9d,ebx + add ebx,edi + mov r13d,r9d + add r14d,ebx + ror r13d,14 + mov ebx,r14d + mov r12d,r10d + ror r14d,9 + xor r13d,r9d + xor r12d,r11d + ror r13d,5 + xor r14d,ebx + and r12d,r9d + xor r13d,r9d + add eax,DWORD[28+rsp] + mov edi,ebx + xor r12d,r11d + ror r14d,11 + xor edi,ecx + add eax,r12d + ror r13d,6 + and r15d,edi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + ror r14d,2 + add r8d,eax + add eax,r15d + mov r13d,r8d + add r14d,eax + ror r13d,14 + mov eax,r14d + mov r12d,r9d + ror r14d,9 + xor r13d,r8d + xor r12d,r10d + ror r13d,5 + xor r14d,eax + and r12d,r8d + xor r13d,r8d + add r11d,DWORD[32+rsp] + mov r15d,eax + xor r12d,r10d + ror r14d,11 + xor r15d,ebx + add r11d,r12d + ror r13d,6 + and edi,r15d + xor r14d,eax + add r11d,r13d + xor edi,ebx + ror r14d,2 + add edx,r11d + add r11d,edi + mov r13d,edx + add r14d,r11d + ror r13d,14 + mov r11d,r14d + mov r12d,r8d + ror r14d,9 + xor r13d,edx + xor r12d,r9d + ror r13d,5 + xor r14d,r11d + and r12d,edx + xor r13d,edx + add r10d,DWORD[36+rsp] + mov edi,r11d + xor r12d,r9d + ror r14d,11 + xor edi,eax + add r10d,r12d + ror r13d,6 + and r15d,edi + xor r14d,r11d + add r10d,r13d + xor r15d,eax + ror r14d,2 + add ecx,r10d + add r10d,r15d + mov r13d,ecx + add r14d,r10d + ror r13d,14 + mov r10d,r14d + mov r12d,edx + ror r14d,9 + xor r13d,ecx + xor r12d,r8d + ror r13d,5 + xor r14d,r10d + and r12d,ecx + xor r13d,ecx + add r9d,DWORD[40+rsp] + mov r15d,r10d + xor r12d,r8d + ror r14d,11 + xor r15d,r11d + add r9d,r12d + ror r13d,6 + and edi,r15d + xor r14d,r10d + add r9d,r13d + xor edi,r11d + ror r14d,2 + add ebx,r9d + add r9d,edi + mov r13d,ebx + add r14d,r9d + ror r13d,14 + mov r9d,r14d + mov r12d,ecx + ror r14d,9 + xor r13d,ebx + xor r12d,edx + ror r13d,5 + xor r14d,r9d + and r12d,ebx + xor r13d,ebx + add r8d,DWORD[44+rsp] + mov edi,r9d + xor r12d,edx + ror r14d,11 + xor edi,r10d + add r8d,r12d + ror r13d,6 + and r15d,edi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + ror r14d,2 + add eax,r8d + add r8d,r15d + mov r13d,eax + add r14d,r8d + ror r13d,14 + mov r8d,r14d + mov r12d,ebx + ror r14d,9 + xor r13d,eax + xor r12d,ecx + ror r13d,5 + xor r14d,r8d + and r12d,eax + xor r13d,eax + add edx,DWORD[48+rsp] + mov r15d,r8d + xor r12d,ecx + ror r14d,11 + xor r15d,r9d + add edx,r12d + ror r13d,6 + and edi,r15d + xor r14d,r8d + add edx,r13d + xor edi,r9d + ror r14d,2 + add r11d,edx + add edx,edi + mov r13d,r11d + add r14d,edx + ror r13d,14 + mov edx,r14d + mov r12d,eax + ror r14d,9 + xor r13d,r11d + xor r12d,ebx + ror r13d,5 + xor r14d,edx + and r12d,r11d + xor r13d,r11d + add ecx,DWORD[52+rsp] + mov edi,edx + xor r12d,ebx + ror r14d,11 + xor edi,r8d + add ecx,r12d + ror r13d,6 + and r15d,edi + xor r14d,edx + add ecx,r13d + xor r15d,r8d + ror r14d,2 + add r10d,ecx + add ecx,r15d + mov r13d,r10d + add r14d,ecx + ror r13d,14 + mov ecx,r14d + mov r12d,r11d + ror r14d,9 + xor r13d,r10d + xor r12d,eax + ror r13d,5 + xor r14d,ecx + and r12d,r10d + xor r13d,r10d + add ebx,DWORD[56+rsp] + mov r15d,ecx + xor r12d,eax + ror r14d,11 + xor r15d,edx + add ebx,r12d + ror r13d,6 + and edi,r15d + xor r14d,ecx + add ebx,r13d + xor edi,edx + ror r14d,2 + add r9d,ebx + add ebx,edi + mov r13d,r9d + add r14d,ebx + ror r13d,14 + mov ebx,r14d + mov r12d,r10d + ror r14d,9 + xor r13d,r9d + xor r12d,r11d + ror r13d,5 + xor r14d,ebx + and r12d,r9d + xor r13d,r9d + add eax,DWORD[60+rsp] + mov edi,ebx + xor r12d,r11d + ror r14d,11 + xor edi,ecx + add eax,r12d + ror r13d,6 + and r15d,edi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + ror r14d,2 + add r8d,eax + add eax,r15d + mov r13d,r8d + add r14d,eax + mov rdi,QWORD[((64+0))+rsp] + mov eax,r14d + + add eax,DWORD[rdi] + lea rsi,[64+rsi] + add ebx,DWORD[4+rdi] + add ecx,DWORD[8+rdi] + add edx,DWORD[12+rdi] + add r8d,DWORD[16+rdi] + add r9d,DWORD[20+rdi] + add r10d,DWORD[24+rdi] + add r11d,DWORD[28+rdi] + + cmp rsi,QWORD[((64+16))+rsp] + + mov DWORD[rdi],eax + mov DWORD[4+rdi],ebx + mov DWORD[8+rdi],ecx + mov DWORD[12+rdi],edx + mov DWORD[16+rdi],r8d + mov DWORD[20+rdi],r9d + mov DWORD[24+rdi],r10d + mov DWORD[28+rdi],r11d + jb NEAR $L$loop_ssse3 + + mov rsi,QWORD[((64+24))+rsp] + movaps xmm6,XMMWORD[((64+32))+rsp] + movaps xmm7,XMMWORD[((64+48))+rsp] + movaps xmm8,XMMWORD[((64+64))+rsp] + movaps xmm9,XMMWORD[((64+80))+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_ssse3: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha256_block_data_order_ssse3: + +ALIGN 64 +sha256_block_data_order_avx: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha256_block_data_order_avx: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +$L$avx_shortcut: + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov r11,rsp + shl rdx,4 + sub rsp,160 + lea rdx,[rdx*4+rsi] + and rsp,-64 + mov QWORD[((64+0))+rsp],rdi + mov QWORD[((64+8))+rsp],rsi + mov QWORD[((64+16))+rsp],rdx + mov QWORD[((64+24))+rsp],r11 + movaps XMMWORD[(64+32)+rsp],xmm6 + movaps XMMWORD[(64+48)+rsp],xmm7 + movaps XMMWORD[(64+64)+rsp],xmm8 + movaps XMMWORD[(64+80)+rsp],xmm9 +$L$prologue_avx: + + vzeroupper + mov eax,DWORD[rdi] + mov ebx,DWORD[4+rdi] + mov ecx,DWORD[8+rdi] + mov edx,DWORD[12+rdi] + mov r8d,DWORD[16+rdi] + mov r9d,DWORD[20+rdi] + mov r10d,DWORD[24+rdi] + mov r11d,DWORD[28+rdi] + vmovdqa xmm8,XMMWORD[((K256+512+32))] + vmovdqa xmm9,XMMWORD[((K256+512+64))] + jmp NEAR $L$loop_avx +ALIGN 16 +$L$loop_avx: + vmovdqa xmm7,XMMWORD[((K256+512))] + vmovdqu xmm0,XMMWORD[rsi] + vmovdqu xmm1,XMMWORD[16+rsi] + vmovdqu xmm2,XMMWORD[32+rsi] + vmovdqu xmm3,XMMWORD[48+rsi] + vpshufb xmm0,xmm0,xmm7 + lea rbp,[K256] + vpshufb xmm1,xmm1,xmm7 + vpshufb xmm2,xmm2,xmm7 + vpaddd xmm4,xmm0,XMMWORD[rbp] + vpshufb xmm3,xmm3,xmm7 + vpaddd xmm5,xmm1,XMMWORD[32+rbp] + vpaddd xmm6,xmm2,XMMWORD[64+rbp] + vpaddd xmm7,xmm3,XMMWORD[96+rbp] + vmovdqa XMMWORD[rsp],xmm4 + mov r14d,eax + vmovdqa XMMWORD[16+rsp],xmm5 + mov edi,ebx + vmovdqa XMMWORD[32+rsp],xmm6 + xor edi,ecx + vmovdqa XMMWORD[48+rsp],xmm7 + mov r13d,r8d + jmp NEAR $L$avx_00_47 + +ALIGN 16 +$L$avx_00_47: + sub rbp,-128 + vpalignr xmm4,xmm1,xmm0,4 + shrd r13d,r13d,14 + mov eax,r14d + mov r12d,r9d + vpalignr xmm7,xmm3,xmm2,4 + shrd r14d,r14d,9 + xor r13d,r8d + xor r12d,r10d + vpsrld xmm6,xmm4,7 + shrd r13d,r13d,5 + xor r14d,eax + and r12d,r8d + vpaddd xmm0,xmm0,xmm7 + xor r13d,r8d + add r11d,DWORD[rsp] + mov r15d,eax + vpsrld xmm7,xmm4,3 + xor r12d,r10d + shrd r14d,r14d,11 + xor r15d,ebx + vpslld xmm5,xmm4,14 + add r11d,r12d + shrd r13d,r13d,6 + and edi,r15d + vpxor xmm4,xmm7,xmm6 + xor r14d,eax + add r11d,r13d + xor edi,ebx + vpshufd xmm7,xmm3,250 + shrd r14d,r14d,2 + add edx,r11d + add r11d,edi + vpsrld xmm6,xmm6,11 + mov r13d,edx + add r14d,r11d + shrd r13d,r13d,14 + vpxor xmm4,xmm4,xmm5 + mov r11d,r14d + mov r12d,r8d + shrd r14d,r14d,9 + vpslld xmm5,xmm5,11 + xor r13d,edx + xor r12d,r9d + shrd r13d,r13d,5 + vpxor xmm4,xmm4,xmm6 + xor r14d,r11d + and r12d,edx + xor r13d,edx + vpsrld xmm6,xmm7,10 + add r10d,DWORD[4+rsp] + mov edi,r11d + xor r12d,r9d + vpxor xmm4,xmm4,xmm5 + shrd r14d,r14d,11 + xor edi,eax + add r10d,r12d + vpsrlq xmm7,xmm7,17 + shrd r13d,r13d,6 + and r15d,edi + xor r14d,r11d + vpaddd xmm0,xmm0,xmm4 + add r10d,r13d + xor r15d,eax + shrd r14d,r14d,2 + vpxor xmm6,xmm6,xmm7 + add ecx,r10d + add r10d,r15d + mov r13d,ecx + vpsrlq xmm7,xmm7,2 + add r14d,r10d + shrd r13d,r13d,14 + mov r10d,r14d + vpxor xmm6,xmm6,xmm7 + mov r12d,edx + shrd r14d,r14d,9 + xor r13d,ecx + vpshufb xmm6,xmm6,xmm8 + xor r12d,r8d + shrd r13d,r13d,5 + xor r14d,r10d + vpaddd xmm0,xmm0,xmm6 + and r12d,ecx + xor r13d,ecx + add r9d,DWORD[8+rsp] + vpshufd xmm7,xmm0,80 + mov r15d,r10d + xor r12d,r8d + shrd r14d,r14d,11 + vpsrld xmm6,xmm7,10 + xor r15d,r11d + add r9d,r12d + shrd r13d,r13d,6 + vpsrlq xmm7,xmm7,17 + and edi,r15d + xor r14d,r10d + add r9d,r13d + vpxor xmm6,xmm6,xmm7 + xor edi,r11d + shrd r14d,r14d,2 + add ebx,r9d + vpsrlq xmm7,xmm7,2 + add r9d,edi + mov r13d,ebx + add r14d,r9d + vpxor xmm6,xmm6,xmm7 + shrd r13d,r13d,14 + mov r9d,r14d + mov r12d,ecx + vpshufb xmm6,xmm6,xmm9 + shrd r14d,r14d,9 + xor r13d,ebx + xor r12d,edx + vpaddd xmm0,xmm0,xmm6 + shrd r13d,r13d,5 + xor r14d,r9d + and r12d,ebx + vpaddd xmm6,xmm0,XMMWORD[rbp] + xor r13d,ebx + add r8d,DWORD[12+rsp] + mov edi,r9d + xor r12d,edx + shrd r14d,r14d,11 + xor edi,r10d + add r8d,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + shrd r14d,r14d,2 + add eax,r8d + add r8d,r15d + mov r13d,eax + add r14d,r8d + vmovdqa XMMWORD[rsp],xmm6 + vpalignr xmm4,xmm2,xmm1,4 + shrd r13d,r13d,14 + mov r8d,r14d + mov r12d,ebx + vpalignr xmm7,xmm0,xmm3,4 + shrd r14d,r14d,9 + xor r13d,eax + xor r12d,ecx + vpsrld xmm6,xmm4,7 + shrd r13d,r13d,5 + xor r14d,r8d + and r12d,eax + vpaddd xmm1,xmm1,xmm7 + xor r13d,eax + add edx,DWORD[16+rsp] + mov r15d,r8d + vpsrld xmm7,xmm4,3 + xor r12d,ecx + shrd r14d,r14d,11 + xor r15d,r9d + vpslld xmm5,xmm4,14 + add edx,r12d + shrd r13d,r13d,6 + and edi,r15d + vpxor xmm4,xmm7,xmm6 + xor r14d,r8d + add edx,r13d + xor edi,r9d + vpshufd xmm7,xmm0,250 + shrd r14d,r14d,2 + add r11d,edx + add edx,edi + vpsrld xmm6,xmm6,11 + mov r13d,r11d + add r14d,edx + shrd r13d,r13d,14 + vpxor xmm4,xmm4,xmm5 + mov edx,r14d + mov r12d,eax + shrd r14d,r14d,9 + vpslld xmm5,xmm5,11 + xor r13d,r11d + xor r12d,ebx + shrd r13d,r13d,5 + vpxor xmm4,xmm4,xmm6 + xor r14d,edx + and r12d,r11d + xor r13d,r11d + vpsrld xmm6,xmm7,10 + add ecx,DWORD[20+rsp] + mov edi,edx + xor r12d,ebx + vpxor xmm4,xmm4,xmm5 + shrd r14d,r14d,11 + xor edi,r8d + add ecx,r12d + vpsrlq xmm7,xmm7,17 + shrd r13d,r13d,6 + and r15d,edi + xor r14d,edx + vpaddd xmm1,xmm1,xmm4 + add ecx,r13d + xor r15d,r8d + shrd r14d,r14d,2 + vpxor xmm6,xmm6,xmm7 + add r10d,ecx + add ecx,r15d + mov r13d,r10d + vpsrlq xmm7,xmm7,2 + add r14d,ecx + shrd r13d,r13d,14 + mov ecx,r14d + vpxor xmm6,xmm6,xmm7 + mov r12d,r11d + shrd r14d,r14d,9 + xor r13d,r10d + vpshufb xmm6,xmm6,xmm8 + xor r12d,eax + shrd r13d,r13d,5 + xor r14d,ecx + vpaddd xmm1,xmm1,xmm6 + and r12d,r10d + xor r13d,r10d + add ebx,DWORD[24+rsp] + vpshufd xmm7,xmm1,80 + mov r15d,ecx + xor r12d,eax + shrd r14d,r14d,11 + vpsrld xmm6,xmm7,10 + xor r15d,edx + add ebx,r12d + shrd r13d,r13d,6 + vpsrlq xmm7,xmm7,17 + and edi,r15d + xor r14d,ecx + add ebx,r13d + vpxor xmm6,xmm6,xmm7 + xor edi,edx + shrd r14d,r14d,2 + add r9d,ebx + vpsrlq xmm7,xmm7,2 + add ebx,edi + mov r13d,r9d + add r14d,ebx + vpxor xmm6,xmm6,xmm7 + shrd r13d,r13d,14 + mov ebx,r14d + mov r12d,r10d + vpshufb xmm6,xmm6,xmm9 + shrd r14d,r14d,9 + xor r13d,r9d + xor r12d,r11d + vpaddd xmm1,xmm1,xmm6 + shrd r13d,r13d,5 + xor r14d,ebx + and r12d,r9d + vpaddd xmm6,xmm1,XMMWORD[32+rbp] + xor r13d,r9d + add eax,DWORD[28+rsp] + mov edi,ebx + xor r12d,r11d + shrd r14d,r14d,11 + xor edi,ecx + add eax,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + shrd r14d,r14d,2 + add r8d,eax + add eax,r15d + mov r13d,r8d + add r14d,eax + vmovdqa XMMWORD[16+rsp],xmm6 + vpalignr xmm4,xmm3,xmm2,4 + shrd r13d,r13d,14 + mov eax,r14d + mov r12d,r9d + vpalignr xmm7,xmm1,xmm0,4 + shrd r14d,r14d,9 + xor r13d,r8d + xor r12d,r10d + vpsrld xmm6,xmm4,7 + shrd r13d,r13d,5 + xor r14d,eax + and r12d,r8d + vpaddd xmm2,xmm2,xmm7 + xor r13d,r8d + add r11d,DWORD[32+rsp] + mov r15d,eax + vpsrld xmm7,xmm4,3 + xor r12d,r10d + shrd r14d,r14d,11 + xor r15d,ebx + vpslld xmm5,xmm4,14 + add r11d,r12d + shrd r13d,r13d,6 + and edi,r15d + vpxor xmm4,xmm7,xmm6 + xor r14d,eax + add r11d,r13d + xor edi,ebx + vpshufd xmm7,xmm1,250 + shrd r14d,r14d,2 + add edx,r11d + add r11d,edi + vpsrld xmm6,xmm6,11 + mov r13d,edx + add r14d,r11d + shrd r13d,r13d,14 + vpxor xmm4,xmm4,xmm5 + mov r11d,r14d + mov r12d,r8d + shrd r14d,r14d,9 + vpslld xmm5,xmm5,11 + xor r13d,edx + xor r12d,r9d + shrd r13d,r13d,5 + vpxor xmm4,xmm4,xmm6 + xor r14d,r11d + and r12d,edx + xor r13d,edx + vpsrld xmm6,xmm7,10 + add r10d,DWORD[36+rsp] + mov edi,r11d + xor r12d,r9d + vpxor xmm4,xmm4,xmm5 + shrd r14d,r14d,11 + xor edi,eax + add r10d,r12d + vpsrlq xmm7,xmm7,17 + shrd r13d,r13d,6 + and r15d,edi + xor r14d,r11d + vpaddd xmm2,xmm2,xmm4 + add r10d,r13d + xor r15d,eax + shrd r14d,r14d,2 + vpxor xmm6,xmm6,xmm7 + add ecx,r10d + add r10d,r15d + mov r13d,ecx + vpsrlq xmm7,xmm7,2 + add r14d,r10d + shrd r13d,r13d,14 + mov r10d,r14d + vpxor xmm6,xmm6,xmm7 + mov r12d,edx + shrd r14d,r14d,9 + xor r13d,ecx + vpshufb xmm6,xmm6,xmm8 + xor r12d,r8d + shrd r13d,r13d,5 + xor r14d,r10d + vpaddd xmm2,xmm2,xmm6 + and r12d,ecx + xor r13d,ecx + add r9d,DWORD[40+rsp] + vpshufd xmm7,xmm2,80 + mov r15d,r10d + xor r12d,r8d + shrd r14d,r14d,11 + vpsrld xmm6,xmm7,10 + xor r15d,r11d + add r9d,r12d + shrd r13d,r13d,6 + vpsrlq xmm7,xmm7,17 + and edi,r15d + xor r14d,r10d + add r9d,r13d + vpxor xmm6,xmm6,xmm7 + xor edi,r11d + shrd r14d,r14d,2 + add ebx,r9d + vpsrlq xmm7,xmm7,2 + add r9d,edi + mov r13d,ebx + add r14d,r9d + vpxor xmm6,xmm6,xmm7 + shrd r13d,r13d,14 + mov r9d,r14d + mov r12d,ecx + vpshufb xmm6,xmm6,xmm9 + shrd r14d,r14d,9 + xor r13d,ebx + xor r12d,edx + vpaddd xmm2,xmm2,xmm6 + shrd r13d,r13d,5 + xor r14d,r9d + and r12d,ebx + vpaddd xmm6,xmm2,XMMWORD[64+rbp] + xor r13d,ebx + add r8d,DWORD[44+rsp] + mov edi,r9d + xor r12d,edx + shrd r14d,r14d,11 + xor edi,r10d + add r8d,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + shrd r14d,r14d,2 + add eax,r8d + add r8d,r15d + mov r13d,eax + add r14d,r8d + vmovdqa XMMWORD[32+rsp],xmm6 + vpalignr xmm4,xmm0,xmm3,4 + shrd r13d,r13d,14 + mov r8d,r14d + mov r12d,ebx + vpalignr xmm7,xmm2,xmm1,4 + shrd r14d,r14d,9 + xor r13d,eax + xor r12d,ecx + vpsrld xmm6,xmm4,7 + shrd r13d,r13d,5 + xor r14d,r8d + and r12d,eax + vpaddd xmm3,xmm3,xmm7 + xor r13d,eax + add edx,DWORD[48+rsp] + mov r15d,r8d + vpsrld xmm7,xmm4,3 + xor r12d,ecx + shrd r14d,r14d,11 + xor r15d,r9d + vpslld xmm5,xmm4,14 + add edx,r12d + shrd r13d,r13d,6 + and edi,r15d + vpxor xmm4,xmm7,xmm6 + xor r14d,r8d + add edx,r13d + xor edi,r9d + vpshufd xmm7,xmm2,250 + shrd r14d,r14d,2 + add r11d,edx + add edx,edi + vpsrld xmm6,xmm6,11 + mov r13d,r11d + add r14d,edx + shrd r13d,r13d,14 + vpxor xmm4,xmm4,xmm5 + mov edx,r14d + mov r12d,eax + shrd r14d,r14d,9 + vpslld xmm5,xmm5,11 + xor r13d,r11d + xor r12d,ebx + shrd r13d,r13d,5 + vpxor xmm4,xmm4,xmm6 + xor r14d,edx + and r12d,r11d + xor r13d,r11d + vpsrld xmm6,xmm7,10 + add ecx,DWORD[52+rsp] + mov edi,edx + xor r12d,ebx + vpxor xmm4,xmm4,xmm5 + shrd r14d,r14d,11 + xor edi,r8d + add ecx,r12d + vpsrlq xmm7,xmm7,17 + shrd r13d,r13d,6 + and r15d,edi + xor r14d,edx + vpaddd xmm3,xmm3,xmm4 + add ecx,r13d + xor r15d,r8d + shrd r14d,r14d,2 + vpxor xmm6,xmm6,xmm7 + add r10d,ecx + add ecx,r15d + mov r13d,r10d + vpsrlq xmm7,xmm7,2 + add r14d,ecx + shrd r13d,r13d,14 + mov ecx,r14d + vpxor xmm6,xmm6,xmm7 + mov r12d,r11d + shrd r14d,r14d,9 + xor r13d,r10d + vpshufb xmm6,xmm6,xmm8 + xor r12d,eax + shrd r13d,r13d,5 + xor r14d,ecx + vpaddd xmm3,xmm3,xmm6 + and r12d,r10d + xor r13d,r10d + add ebx,DWORD[56+rsp] + vpshufd xmm7,xmm3,80 + mov r15d,ecx + xor r12d,eax + shrd r14d,r14d,11 + vpsrld xmm6,xmm7,10 + xor r15d,edx + add ebx,r12d + shrd r13d,r13d,6 + vpsrlq xmm7,xmm7,17 + and edi,r15d + xor r14d,ecx + add ebx,r13d + vpxor xmm6,xmm6,xmm7 + xor edi,edx + shrd r14d,r14d,2 + add r9d,ebx + vpsrlq xmm7,xmm7,2 + add ebx,edi + mov r13d,r9d + add r14d,ebx + vpxor xmm6,xmm6,xmm7 + shrd r13d,r13d,14 + mov ebx,r14d + mov r12d,r10d + vpshufb xmm6,xmm6,xmm9 + shrd r14d,r14d,9 + xor r13d,r9d + xor r12d,r11d + vpaddd xmm3,xmm3,xmm6 + shrd r13d,r13d,5 + xor r14d,ebx + and r12d,r9d + vpaddd xmm6,xmm3,XMMWORD[96+rbp] + xor r13d,r9d + add eax,DWORD[60+rsp] + mov edi,ebx + xor r12d,r11d + shrd r14d,r14d,11 + xor edi,ecx + add eax,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + shrd r14d,r14d,2 + add r8d,eax + add eax,r15d + mov r13d,r8d + add r14d,eax + vmovdqa XMMWORD[48+rsp],xmm6 + cmp BYTE[131+rbp],0 + jne NEAR $L$avx_00_47 + shrd r13d,r13d,14 + mov eax,r14d + mov r12d,r9d + shrd r14d,r14d,9 + xor r13d,r8d + xor r12d,r10d + shrd r13d,r13d,5 + xor r14d,eax + and r12d,r8d + xor r13d,r8d + add r11d,DWORD[rsp] + mov r15d,eax + xor r12d,r10d + shrd r14d,r14d,11 + xor r15d,ebx + add r11d,r12d + shrd r13d,r13d,6 + and edi,r15d + xor r14d,eax + add r11d,r13d + xor edi,ebx + shrd r14d,r14d,2 + add edx,r11d + add r11d,edi + mov r13d,edx + add r14d,r11d + shrd r13d,r13d,14 + mov r11d,r14d + mov r12d,r8d + shrd r14d,r14d,9 + xor r13d,edx + xor r12d,r9d + shrd r13d,r13d,5 + xor r14d,r11d + and r12d,edx + xor r13d,edx + add r10d,DWORD[4+rsp] + mov edi,r11d + xor r12d,r9d + shrd r14d,r14d,11 + xor edi,eax + add r10d,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,r11d + add r10d,r13d + xor r15d,eax + shrd r14d,r14d,2 + add ecx,r10d + add r10d,r15d + mov r13d,ecx + add r14d,r10d + shrd r13d,r13d,14 + mov r10d,r14d + mov r12d,edx + shrd r14d,r14d,9 + xor r13d,ecx + xor r12d,r8d + shrd r13d,r13d,5 + xor r14d,r10d + and r12d,ecx + xor r13d,ecx + add r9d,DWORD[8+rsp] + mov r15d,r10d + xor r12d,r8d + shrd r14d,r14d,11 + xor r15d,r11d + add r9d,r12d + shrd r13d,r13d,6 + and edi,r15d + xor r14d,r10d + add r9d,r13d + xor edi,r11d + shrd r14d,r14d,2 + add ebx,r9d + add r9d,edi + mov r13d,ebx + add r14d,r9d + shrd r13d,r13d,14 + mov r9d,r14d + mov r12d,ecx + shrd r14d,r14d,9 + xor r13d,ebx + xor r12d,edx + shrd r13d,r13d,5 + xor r14d,r9d + and r12d,ebx + xor r13d,ebx + add r8d,DWORD[12+rsp] + mov edi,r9d + xor r12d,edx + shrd r14d,r14d,11 + xor edi,r10d + add r8d,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + shrd r14d,r14d,2 + add eax,r8d + add r8d,r15d + mov r13d,eax + add r14d,r8d + shrd r13d,r13d,14 + mov r8d,r14d + mov r12d,ebx + shrd r14d,r14d,9 + xor r13d,eax + xor r12d,ecx + shrd r13d,r13d,5 + xor r14d,r8d + and r12d,eax + xor r13d,eax + add edx,DWORD[16+rsp] + mov r15d,r8d + xor r12d,ecx + shrd r14d,r14d,11 + xor r15d,r9d + add edx,r12d + shrd r13d,r13d,6 + and edi,r15d + xor r14d,r8d + add edx,r13d + xor edi,r9d + shrd r14d,r14d,2 + add r11d,edx + add edx,edi + mov r13d,r11d + add r14d,edx + shrd r13d,r13d,14 + mov edx,r14d + mov r12d,eax + shrd r14d,r14d,9 + xor r13d,r11d + xor r12d,ebx + shrd r13d,r13d,5 + xor r14d,edx + and r12d,r11d + xor r13d,r11d + add ecx,DWORD[20+rsp] + mov edi,edx + xor r12d,ebx + shrd r14d,r14d,11 + xor edi,r8d + add ecx,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,edx + add ecx,r13d + xor r15d,r8d + shrd r14d,r14d,2 + add r10d,ecx + add ecx,r15d + mov r13d,r10d + add r14d,ecx + shrd r13d,r13d,14 + mov ecx,r14d + mov r12d,r11d + shrd r14d,r14d,9 + xor r13d,r10d + xor r12d,eax + shrd r13d,r13d,5 + xor r14d,ecx + and r12d,r10d + xor r13d,r10d + add ebx,DWORD[24+rsp] + mov r15d,ecx + xor r12d,eax + shrd r14d,r14d,11 + xor r15d,edx + add ebx,r12d + shrd r13d,r13d,6 + and edi,r15d + xor r14d,ecx + add ebx,r13d + xor edi,edx + shrd r14d,r14d,2 + add r9d,ebx + add ebx,edi + mov r13d,r9d + add r14d,ebx + shrd r13d,r13d,14 + mov ebx,r14d + mov r12d,r10d + shrd r14d,r14d,9 + xor r13d,r9d + xor r12d,r11d + shrd r13d,r13d,5 + xor r14d,ebx + and r12d,r9d + xor r13d,r9d + add eax,DWORD[28+rsp] + mov edi,ebx + xor r12d,r11d + shrd r14d,r14d,11 + xor edi,ecx + add eax,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + shrd r14d,r14d,2 + add r8d,eax + add eax,r15d + mov r13d,r8d + add r14d,eax + shrd r13d,r13d,14 + mov eax,r14d + mov r12d,r9d + shrd r14d,r14d,9 + xor r13d,r8d + xor r12d,r10d + shrd r13d,r13d,5 + xor r14d,eax + and r12d,r8d + xor r13d,r8d + add r11d,DWORD[32+rsp] + mov r15d,eax + xor r12d,r10d + shrd r14d,r14d,11 + xor r15d,ebx + add r11d,r12d + shrd r13d,r13d,6 + and edi,r15d + xor r14d,eax + add r11d,r13d + xor edi,ebx + shrd r14d,r14d,2 + add edx,r11d + add r11d,edi + mov r13d,edx + add r14d,r11d + shrd r13d,r13d,14 + mov r11d,r14d + mov r12d,r8d + shrd r14d,r14d,9 + xor r13d,edx + xor r12d,r9d + shrd r13d,r13d,5 + xor r14d,r11d + and r12d,edx + xor r13d,edx + add r10d,DWORD[36+rsp] + mov edi,r11d + xor r12d,r9d + shrd r14d,r14d,11 + xor edi,eax + add r10d,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,r11d + add r10d,r13d + xor r15d,eax + shrd r14d,r14d,2 + add ecx,r10d + add r10d,r15d + mov r13d,ecx + add r14d,r10d + shrd r13d,r13d,14 + mov r10d,r14d + mov r12d,edx + shrd r14d,r14d,9 + xor r13d,ecx + xor r12d,r8d + shrd r13d,r13d,5 + xor r14d,r10d + and r12d,ecx + xor r13d,ecx + add r9d,DWORD[40+rsp] + mov r15d,r10d + xor r12d,r8d + shrd r14d,r14d,11 + xor r15d,r11d + add r9d,r12d + shrd r13d,r13d,6 + and edi,r15d + xor r14d,r10d + add r9d,r13d + xor edi,r11d + shrd r14d,r14d,2 + add ebx,r9d + add r9d,edi + mov r13d,ebx + add r14d,r9d + shrd r13d,r13d,14 + mov r9d,r14d + mov r12d,ecx + shrd r14d,r14d,9 + xor r13d,ebx + xor r12d,edx + shrd r13d,r13d,5 + xor r14d,r9d + and r12d,ebx + xor r13d,ebx + add r8d,DWORD[44+rsp] + mov edi,r9d + xor r12d,edx + shrd r14d,r14d,11 + xor edi,r10d + add r8d,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,r9d + add r8d,r13d + xor r15d,r10d + shrd r14d,r14d,2 + add eax,r8d + add r8d,r15d + mov r13d,eax + add r14d,r8d + shrd r13d,r13d,14 + mov r8d,r14d + mov r12d,ebx + shrd r14d,r14d,9 + xor r13d,eax + xor r12d,ecx + shrd r13d,r13d,5 + xor r14d,r8d + and r12d,eax + xor r13d,eax + add edx,DWORD[48+rsp] + mov r15d,r8d + xor r12d,ecx + shrd r14d,r14d,11 + xor r15d,r9d + add edx,r12d + shrd r13d,r13d,6 + and edi,r15d + xor r14d,r8d + add edx,r13d + xor edi,r9d + shrd r14d,r14d,2 + add r11d,edx + add edx,edi + mov r13d,r11d + add r14d,edx + shrd r13d,r13d,14 + mov edx,r14d + mov r12d,eax + shrd r14d,r14d,9 + xor r13d,r11d + xor r12d,ebx + shrd r13d,r13d,5 + xor r14d,edx + and r12d,r11d + xor r13d,r11d + add ecx,DWORD[52+rsp] + mov edi,edx + xor r12d,ebx + shrd r14d,r14d,11 + xor edi,r8d + add ecx,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,edx + add ecx,r13d + xor r15d,r8d + shrd r14d,r14d,2 + add r10d,ecx + add ecx,r15d + mov r13d,r10d + add r14d,ecx + shrd r13d,r13d,14 + mov ecx,r14d + mov r12d,r11d + shrd r14d,r14d,9 + xor r13d,r10d + xor r12d,eax + shrd r13d,r13d,5 + xor r14d,ecx + and r12d,r10d + xor r13d,r10d + add ebx,DWORD[56+rsp] + mov r15d,ecx + xor r12d,eax + shrd r14d,r14d,11 + xor r15d,edx + add ebx,r12d + shrd r13d,r13d,6 + and edi,r15d + xor r14d,ecx + add ebx,r13d + xor edi,edx + shrd r14d,r14d,2 + add r9d,ebx + add ebx,edi + mov r13d,r9d + add r14d,ebx + shrd r13d,r13d,14 + mov ebx,r14d + mov r12d,r10d + shrd r14d,r14d,9 + xor r13d,r9d + xor r12d,r11d + shrd r13d,r13d,5 + xor r14d,ebx + and r12d,r9d + xor r13d,r9d + add eax,DWORD[60+rsp] + mov edi,ebx + xor r12d,r11d + shrd r14d,r14d,11 + xor edi,ecx + add eax,r12d + shrd r13d,r13d,6 + and r15d,edi + xor r14d,ebx + add eax,r13d + xor r15d,ecx + shrd r14d,r14d,2 + add r8d,eax + add eax,r15d + mov r13d,r8d + add r14d,eax + mov rdi,QWORD[((64+0))+rsp] + mov eax,r14d + + add eax,DWORD[rdi] + lea rsi,[64+rsi] + add ebx,DWORD[4+rdi] + add ecx,DWORD[8+rdi] + add edx,DWORD[12+rdi] + add r8d,DWORD[16+rdi] + add r9d,DWORD[20+rdi] + add r10d,DWORD[24+rdi] + add r11d,DWORD[28+rdi] + + cmp rsi,QWORD[((64+16))+rsp] + + mov DWORD[rdi],eax + mov DWORD[4+rdi],ebx + mov DWORD[8+rdi],ecx + mov DWORD[12+rdi],edx + mov DWORD[16+rdi],r8d + mov DWORD[20+rdi],r9d + mov DWORD[24+rdi],r10d + mov DWORD[28+rdi],r11d + jb NEAR $L$loop_avx + + mov rsi,QWORD[((64+24))+rsp] + vzeroupper + movaps xmm6,XMMWORD[((64+32))+rsp] + movaps xmm7,XMMWORD[((64+48))+rsp] + movaps xmm8,XMMWORD[((64+64))+rsp] + movaps xmm9,XMMWORD[((64+80))+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_avx: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha256_block_data_order_avx: + +ALIGN 64 +sha256_block_data_order_avx2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha256_block_data_order_avx2: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +$L$avx2_shortcut: + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov r11,rsp + sub rsp,608 + shl rdx,4 + and rsp,-256*4 + lea rdx,[rdx*4+rsi] + add rsp,448 + mov QWORD[((64+0))+rsp],rdi + mov QWORD[((64+8))+rsp],rsi + mov QWORD[((64+16))+rsp],rdx + mov QWORD[((64+24))+rsp],r11 + movaps XMMWORD[(64+32)+rsp],xmm6 + movaps XMMWORD[(64+48)+rsp],xmm7 + movaps XMMWORD[(64+64)+rsp],xmm8 + movaps XMMWORD[(64+80)+rsp],xmm9 +$L$prologue_avx2: + + vzeroupper + sub rsi,-16*4 + mov eax,DWORD[rdi] + mov r12,rsi + mov ebx,DWORD[4+rdi] + cmp rsi,rdx + mov ecx,DWORD[8+rdi] + cmove r12,rsp + mov edx,DWORD[12+rdi] + mov r8d,DWORD[16+rdi] + mov r9d,DWORD[20+rdi] + mov r10d,DWORD[24+rdi] + mov r11d,DWORD[28+rdi] + vmovdqa ymm8,YMMWORD[((K256+512+32))] + vmovdqa ymm9,YMMWORD[((K256+512+64))] + jmp NEAR $L$oop_avx2 +ALIGN 16 +$L$oop_avx2: + vmovdqa ymm7,YMMWORD[((K256+512))] + vmovdqu xmm0,XMMWORD[((-64+0))+rsi] + vmovdqu xmm1,XMMWORD[((-64+16))+rsi] + vmovdqu xmm2,XMMWORD[((-64+32))+rsi] + vmovdqu xmm3,XMMWORD[((-64+48))+rsi] + + vinserti128 ymm0,ymm0,XMMWORD[r12],1 + vinserti128 ymm1,ymm1,XMMWORD[16+r12],1 + vpshufb ymm0,ymm0,ymm7 + vinserti128 ymm2,ymm2,XMMWORD[32+r12],1 + vpshufb ymm1,ymm1,ymm7 + vinserti128 ymm3,ymm3,XMMWORD[48+r12],1 + + lea rbp,[K256] + vpshufb ymm2,ymm2,ymm7 + vpaddd ymm4,ymm0,YMMWORD[rbp] + vpshufb ymm3,ymm3,ymm7 + vpaddd ymm5,ymm1,YMMWORD[32+rbp] + vpaddd ymm6,ymm2,YMMWORD[64+rbp] + vpaddd ymm7,ymm3,YMMWORD[96+rbp] + vmovdqa YMMWORD[rsp],ymm4 + xor r14d,r14d + vmovdqa YMMWORD[32+rsp],ymm5 + lea rsp,[((-64))+rsp] + mov edi,ebx + vmovdqa YMMWORD[rsp],ymm6 + xor edi,ecx + vmovdqa YMMWORD[32+rsp],ymm7 + mov r12d,r9d + sub rbp,-16*2*4 + jmp NEAR $L$avx2_00_47 + +ALIGN 16 +$L$avx2_00_47: + lea rsp,[((-64))+rsp] + vpalignr ymm4,ymm1,ymm0,4 + add r11d,DWORD[((0+128))+rsp] + and r12d,r8d + rorx r13d,r8d,25 + vpalignr ymm7,ymm3,ymm2,4 + rorx r15d,r8d,11 + lea eax,[r14*1+rax] + lea r11d,[r12*1+r11] + vpsrld ymm6,ymm4,7 + andn r12d,r8d,r10d + xor r13d,r15d + rorx r14d,r8d,6 + vpaddd ymm0,ymm0,ymm7 + lea r11d,[r12*1+r11] + xor r13d,r14d + mov r15d,eax + vpsrld ymm7,ymm4,3 + rorx r12d,eax,22 + lea r11d,[r13*1+r11] + xor r15d,ebx + vpslld ymm5,ymm4,14 + rorx r14d,eax,13 + rorx r13d,eax,2 + lea edx,[r11*1+rdx] + vpxor ymm4,ymm7,ymm6 + and edi,r15d + xor r14d,r12d + xor edi,ebx + vpshufd ymm7,ymm3,250 + xor r14d,r13d + lea r11d,[rdi*1+r11] + mov r12d,r8d + vpsrld ymm6,ymm6,11 + add r10d,DWORD[((4+128))+rsp] + and r12d,edx + rorx r13d,edx,25 + vpxor ymm4,ymm4,ymm5 + rorx edi,edx,11 + lea r11d,[r14*1+r11] + lea r10d,[r12*1+r10] + vpslld ymm5,ymm5,11 + andn r12d,edx,r9d + xor r13d,edi + rorx r14d,edx,6 + vpxor ymm4,ymm4,ymm6 + lea r10d,[r12*1+r10] + xor r13d,r14d + mov edi,r11d + vpsrld ymm6,ymm7,10 + rorx r12d,r11d,22 + lea r10d,[r13*1+r10] + xor edi,eax + vpxor ymm4,ymm4,ymm5 + rorx r14d,r11d,13 + rorx r13d,r11d,2 + lea ecx,[r10*1+rcx] + vpsrlq ymm7,ymm7,17 + and r15d,edi + xor r14d,r12d + xor r15d,eax + vpaddd ymm0,ymm0,ymm4 + xor r14d,r13d + lea r10d,[r15*1+r10] + mov r12d,edx + vpxor ymm6,ymm6,ymm7 + add r9d,DWORD[((8+128))+rsp] + and r12d,ecx + rorx r13d,ecx,25 + vpsrlq ymm7,ymm7,2 + rorx r15d,ecx,11 + lea r10d,[r14*1+r10] + lea r9d,[r12*1+r9] + vpxor ymm6,ymm6,ymm7 + andn r12d,ecx,r8d + xor r13d,r15d + rorx r14d,ecx,6 + vpshufb ymm6,ymm6,ymm8 + lea r9d,[r12*1+r9] + xor r13d,r14d + mov r15d,r10d + vpaddd ymm0,ymm0,ymm6 + rorx r12d,r10d,22 + lea r9d,[r13*1+r9] + xor r15d,r11d + vpshufd ymm7,ymm0,80 + rorx r14d,r10d,13 + rorx r13d,r10d,2 + lea ebx,[r9*1+rbx] + vpsrld ymm6,ymm7,10 + and edi,r15d + xor r14d,r12d + xor edi,r11d + vpsrlq ymm7,ymm7,17 + xor r14d,r13d + lea r9d,[rdi*1+r9] + mov r12d,ecx + vpxor ymm6,ymm6,ymm7 + add r8d,DWORD[((12+128))+rsp] + and r12d,ebx + rorx r13d,ebx,25 + vpsrlq ymm7,ymm7,2 + rorx edi,ebx,11 + lea r9d,[r14*1+r9] + lea r8d,[r12*1+r8] + vpxor ymm6,ymm6,ymm7 + andn r12d,ebx,edx + xor r13d,edi + rorx r14d,ebx,6 + vpshufb ymm6,ymm6,ymm9 + lea r8d,[r12*1+r8] + xor r13d,r14d + mov edi,r9d + vpaddd ymm0,ymm0,ymm6 + rorx r12d,r9d,22 + lea r8d,[r13*1+r8] + xor edi,r10d + vpaddd ymm6,ymm0,YMMWORD[rbp] + rorx r14d,r9d,13 + rorx r13d,r9d,2 + lea eax,[r8*1+rax] + and r15d,edi + xor r14d,r12d + xor r15d,r10d + xor r14d,r13d + lea r8d,[r15*1+r8] + mov r12d,ebx + vmovdqa YMMWORD[rsp],ymm6 + vpalignr ymm4,ymm2,ymm1,4 + add edx,DWORD[((32+128))+rsp] + and r12d,eax + rorx r13d,eax,25 + vpalignr ymm7,ymm0,ymm3,4 + rorx r15d,eax,11 + lea r8d,[r14*1+r8] + lea edx,[r12*1+rdx] + vpsrld ymm6,ymm4,7 + andn r12d,eax,ecx + xor r13d,r15d + rorx r14d,eax,6 + vpaddd ymm1,ymm1,ymm7 + lea edx,[r12*1+rdx] + xor r13d,r14d + mov r15d,r8d + vpsrld ymm7,ymm4,3 + rorx r12d,r8d,22 + lea edx,[r13*1+rdx] + xor r15d,r9d + vpslld ymm5,ymm4,14 + rorx r14d,r8d,13 + rorx r13d,r8d,2 + lea r11d,[rdx*1+r11] + vpxor ymm4,ymm7,ymm6 + and edi,r15d + xor r14d,r12d + xor edi,r9d + vpshufd ymm7,ymm0,250 + xor r14d,r13d + lea edx,[rdi*1+rdx] + mov r12d,eax + vpsrld ymm6,ymm6,11 + add ecx,DWORD[((36+128))+rsp] + and r12d,r11d + rorx r13d,r11d,25 + vpxor ymm4,ymm4,ymm5 + rorx edi,r11d,11 + lea edx,[r14*1+rdx] + lea ecx,[r12*1+rcx] + vpslld ymm5,ymm5,11 + andn r12d,r11d,ebx + xor r13d,edi + rorx r14d,r11d,6 + vpxor ymm4,ymm4,ymm6 + lea ecx,[r12*1+rcx] + xor r13d,r14d + mov edi,edx + vpsrld ymm6,ymm7,10 + rorx r12d,edx,22 + lea ecx,[r13*1+rcx] + xor edi,r8d + vpxor ymm4,ymm4,ymm5 + rorx r14d,edx,13 + rorx r13d,edx,2 + lea r10d,[rcx*1+r10] + vpsrlq ymm7,ymm7,17 + and r15d,edi + xor r14d,r12d + xor r15d,r8d + vpaddd ymm1,ymm1,ymm4 + xor r14d,r13d + lea ecx,[r15*1+rcx] + mov r12d,r11d + vpxor ymm6,ymm6,ymm7 + add ebx,DWORD[((40+128))+rsp] + and r12d,r10d + rorx r13d,r10d,25 + vpsrlq ymm7,ymm7,2 + rorx r15d,r10d,11 + lea ecx,[r14*1+rcx] + lea ebx,[r12*1+rbx] + vpxor ymm6,ymm6,ymm7 + andn r12d,r10d,eax + xor r13d,r15d + rorx r14d,r10d,6 + vpshufb ymm6,ymm6,ymm8 + lea ebx,[r12*1+rbx] + xor r13d,r14d + mov r15d,ecx + vpaddd ymm1,ymm1,ymm6 + rorx r12d,ecx,22 + lea ebx,[r13*1+rbx] + xor r15d,edx + vpshufd ymm7,ymm1,80 + rorx r14d,ecx,13 + rorx r13d,ecx,2 + lea r9d,[rbx*1+r9] + vpsrld ymm6,ymm7,10 + and edi,r15d + xor r14d,r12d + xor edi,edx + vpsrlq ymm7,ymm7,17 + xor r14d,r13d + lea ebx,[rdi*1+rbx] + mov r12d,r10d + vpxor ymm6,ymm6,ymm7 + add eax,DWORD[((44+128))+rsp] + and r12d,r9d + rorx r13d,r9d,25 + vpsrlq ymm7,ymm7,2 + rorx edi,r9d,11 + lea ebx,[r14*1+rbx] + lea eax,[r12*1+rax] + vpxor ymm6,ymm6,ymm7 + andn r12d,r9d,r11d + xor r13d,edi + rorx r14d,r9d,6 + vpshufb ymm6,ymm6,ymm9 + lea eax,[r12*1+rax] + xor r13d,r14d + mov edi,ebx + vpaddd ymm1,ymm1,ymm6 + rorx r12d,ebx,22 + lea eax,[r13*1+rax] + xor edi,ecx + vpaddd ymm6,ymm1,YMMWORD[32+rbp] + rorx r14d,ebx,13 + rorx r13d,ebx,2 + lea r8d,[rax*1+r8] + and r15d,edi + xor r14d,r12d + xor r15d,ecx + xor r14d,r13d + lea eax,[r15*1+rax] + mov r12d,r9d + vmovdqa YMMWORD[32+rsp],ymm6 + lea rsp,[((-64))+rsp] + vpalignr ymm4,ymm3,ymm2,4 + add r11d,DWORD[((0+128))+rsp] + and r12d,r8d + rorx r13d,r8d,25 + vpalignr ymm7,ymm1,ymm0,4 + rorx r15d,r8d,11 + lea eax,[r14*1+rax] + lea r11d,[r12*1+r11] + vpsrld ymm6,ymm4,7 + andn r12d,r8d,r10d + xor r13d,r15d + rorx r14d,r8d,6 + vpaddd ymm2,ymm2,ymm7 + lea r11d,[r12*1+r11] + xor r13d,r14d + mov r15d,eax + vpsrld ymm7,ymm4,3 + rorx r12d,eax,22 + lea r11d,[r13*1+r11] + xor r15d,ebx + vpslld ymm5,ymm4,14 + rorx r14d,eax,13 + rorx r13d,eax,2 + lea edx,[r11*1+rdx] + vpxor ymm4,ymm7,ymm6 + and edi,r15d + xor r14d,r12d + xor edi,ebx + vpshufd ymm7,ymm1,250 + xor r14d,r13d + lea r11d,[rdi*1+r11] + mov r12d,r8d + vpsrld ymm6,ymm6,11 + add r10d,DWORD[((4+128))+rsp] + and r12d,edx + rorx r13d,edx,25 + vpxor ymm4,ymm4,ymm5 + rorx edi,edx,11 + lea r11d,[r14*1+r11] + lea r10d,[r12*1+r10] + vpslld ymm5,ymm5,11 + andn r12d,edx,r9d + xor r13d,edi + rorx r14d,edx,6 + vpxor ymm4,ymm4,ymm6 + lea r10d,[r12*1+r10] + xor r13d,r14d + mov edi,r11d + vpsrld ymm6,ymm7,10 + rorx r12d,r11d,22 + lea r10d,[r13*1+r10] + xor edi,eax + vpxor ymm4,ymm4,ymm5 + rorx r14d,r11d,13 + rorx r13d,r11d,2 + lea ecx,[r10*1+rcx] + vpsrlq ymm7,ymm7,17 + and r15d,edi + xor r14d,r12d + xor r15d,eax + vpaddd ymm2,ymm2,ymm4 + xor r14d,r13d + lea r10d,[r15*1+r10] + mov r12d,edx + vpxor ymm6,ymm6,ymm7 + add r9d,DWORD[((8+128))+rsp] + and r12d,ecx + rorx r13d,ecx,25 + vpsrlq ymm7,ymm7,2 + rorx r15d,ecx,11 + lea r10d,[r14*1+r10] + lea r9d,[r12*1+r9] + vpxor ymm6,ymm6,ymm7 + andn r12d,ecx,r8d + xor r13d,r15d + rorx r14d,ecx,6 + vpshufb ymm6,ymm6,ymm8 + lea r9d,[r12*1+r9] + xor r13d,r14d + mov r15d,r10d + vpaddd ymm2,ymm2,ymm6 + rorx r12d,r10d,22 + lea r9d,[r13*1+r9] + xor r15d,r11d + vpshufd ymm7,ymm2,80 + rorx r14d,r10d,13 + rorx r13d,r10d,2 + lea ebx,[r9*1+rbx] + vpsrld ymm6,ymm7,10 + and edi,r15d + xor r14d,r12d + xor edi,r11d + vpsrlq ymm7,ymm7,17 + xor r14d,r13d + lea r9d,[rdi*1+r9] + mov r12d,ecx + vpxor ymm6,ymm6,ymm7 + add r8d,DWORD[((12+128))+rsp] + and r12d,ebx + rorx r13d,ebx,25 + vpsrlq ymm7,ymm7,2 + rorx edi,ebx,11 + lea r9d,[r14*1+r9] + lea r8d,[r12*1+r8] + vpxor ymm6,ymm6,ymm7 + andn r12d,ebx,edx + xor r13d,edi + rorx r14d,ebx,6 + vpshufb ymm6,ymm6,ymm9 + lea r8d,[r12*1+r8] + xor r13d,r14d + mov edi,r9d + vpaddd ymm2,ymm2,ymm6 + rorx r12d,r9d,22 + lea r8d,[r13*1+r8] + xor edi,r10d + vpaddd ymm6,ymm2,YMMWORD[64+rbp] + rorx r14d,r9d,13 + rorx r13d,r9d,2 + lea eax,[r8*1+rax] + and r15d,edi + xor r14d,r12d + xor r15d,r10d + xor r14d,r13d + lea r8d,[r15*1+r8] + mov r12d,ebx + vmovdqa YMMWORD[rsp],ymm6 + vpalignr ymm4,ymm0,ymm3,4 + add edx,DWORD[((32+128))+rsp] + and r12d,eax + rorx r13d,eax,25 + vpalignr ymm7,ymm2,ymm1,4 + rorx r15d,eax,11 + lea r8d,[r14*1+r8] + lea edx,[r12*1+rdx] + vpsrld ymm6,ymm4,7 + andn r12d,eax,ecx + xor r13d,r15d + rorx r14d,eax,6 + vpaddd ymm3,ymm3,ymm7 + lea edx,[r12*1+rdx] + xor r13d,r14d + mov r15d,r8d + vpsrld ymm7,ymm4,3 + rorx r12d,r8d,22 + lea edx,[r13*1+rdx] + xor r15d,r9d + vpslld ymm5,ymm4,14 + rorx r14d,r8d,13 + rorx r13d,r8d,2 + lea r11d,[rdx*1+r11] + vpxor ymm4,ymm7,ymm6 + and edi,r15d + xor r14d,r12d + xor edi,r9d + vpshufd ymm7,ymm2,250 + xor r14d,r13d + lea edx,[rdi*1+rdx] + mov r12d,eax + vpsrld ymm6,ymm6,11 + add ecx,DWORD[((36+128))+rsp] + and r12d,r11d + rorx r13d,r11d,25 + vpxor ymm4,ymm4,ymm5 + rorx edi,r11d,11 + lea edx,[r14*1+rdx] + lea ecx,[r12*1+rcx] + vpslld ymm5,ymm5,11 + andn r12d,r11d,ebx + xor r13d,edi + rorx r14d,r11d,6 + vpxor ymm4,ymm4,ymm6 + lea ecx,[r12*1+rcx] + xor r13d,r14d + mov edi,edx + vpsrld ymm6,ymm7,10 + rorx r12d,edx,22 + lea ecx,[r13*1+rcx] + xor edi,r8d + vpxor ymm4,ymm4,ymm5 + rorx r14d,edx,13 + rorx r13d,edx,2 + lea r10d,[rcx*1+r10] + vpsrlq ymm7,ymm7,17 + and r15d,edi + xor r14d,r12d + xor r15d,r8d + vpaddd ymm3,ymm3,ymm4 + xor r14d,r13d + lea ecx,[r15*1+rcx] + mov r12d,r11d + vpxor ymm6,ymm6,ymm7 + add ebx,DWORD[((40+128))+rsp] + and r12d,r10d + rorx r13d,r10d,25 + vpsrlq ymm7,ymm7,2 + rorx r15d,r10d,11 + lea ecx,[r14*1+rcx] + lea ebx,[r12*1+rbx] + vpxor ymm6,ymm6,ymm7 + andn r12d,r10d,eax + xor r13d,r15d + rorx r14d,r10d,6 + vpshufb ymm6,ymm6,ymm8 + lea ebx,[r12*1+rbx] + xor r13d,r14d + mov r15d,ecx + vpaddd ymm3,ymm3,ymm6 + rorx r12d,ecx,22 + lea ebx,[r13*1+rbx] + xor r15d,edx + vpshufd ymm7,ymm3,80 + rorx r14d,ecx,13 + rorx r13d,ecx,2 + lea r9d,[rbx*1+r9] + vpsrld ymm6,ymm7,10 + and edi,r15d + xor r14d,r12d + xor edi,edx + vpsrlq ymm7,ymm7,17 + xor r14d,r13d + lea ebx,[rdi*1+rbx] + mov r12d,r10d + vpxor ymm6,ymm6,ymm7 + add eax,DWORD[((44+128))+rsp] + and r12d,r9d + rorx r13d,r9d,25 + vpsrlq ymm7,ymm7,2 + rorx edi,r9d,11 + lea ebx,[r14*1+rbx] + lea eax,[r12*1+rax] + vpxor ymm6,ymm6,ymm7 + andn r12d,r9d,r11d + xor r13d,edi + rorx r14d,r9d,6 + vpshufb ymm6,ymm6,ymm9 + lea eax,[r12*1+rax] + xor r13d,r14d + mov edi,ebx + vpaddd ymm3,ymm3,ymm6 + rorx r12d,ebx,22 + lea eax,[r13*1+rax] + xor edi,ecx + vpaddd ymm6,ymm3,YMMWORD[96+rbp] + rorx r14d,ebx,13 + rorx r13d,ebx,2 + lea r8d,[rax*1+r8] + and r15d,edi + xor r14d,r12d + xor r15d,ecx + xor r14d,r13d + lea eax,[r15*1+rax] + mov r12d,r9d + vmovdqa YMMWORD[32+rsp],ymm6 + lea rbp,[128+rbp] + cmp BYTE[3+rbp],0 + jne NEAR $L$avx2_00_47 + add r11d,DWORD[((0+64))+rsp] + and r12d,r8d + rorx r13d,r8d,25 + rorx r15d,r8d,11 + lea eax,[r14*1+rax] + lea r11d,[r12*1+r11] + andn r12d,r8d,r10d + xor r13d,r15d + rorx r14d,r8d,6 + lea r11d,[r12*1+r11] + xor r13d,r14d + mov r15d,eax + rorx r12d,eax,22 + lea r11d,[r13*1+r11] + xor r15d,ebx + rorx r14d,eax,13 + rorx r13d,eax,2 + lea edx,[r11*1+rdx] + and edi,r15d + xor r14d,r12d + xor edi,ebx + xor r14d,r13d + lea r11d,[rdi*1+r11] + mov r12d,r8d + add r10d,DWORD[((4+64))+rsp] + and r12d,edx + rorx r13d,edx,25 + rorx edi,edx,11 + lea r11d,[r14*1+r11] + lea r10d,[r12*1+r10] + andn r12d,edx,r9d + xor r13d,edi + rorx r14d,edx,6 + lea r10d,[r12*1+r10] + xor r13d,r14d + mov edi,r11d + rorx r12d,r11d,22 + lea r10d,[r13*1+r10] + xor edi,eax + rorx r14d,r11d,13 + rorx r13d,r11d,2 + lea ecx,[r10*1+rcx] + and r15d,edi + xor r14d,r12d + xor r15d,eax + xor r14d,r13d + lea r10d,[r15*1+r10] + mov r12d,edx + add r9d,DWORD[((8+64))+rsp] + and r12d,ecx + rorx r13d,ecx,25 + rorx r15d,ecx,11 + lea r10d,[r14*1+r10] + lea r9d,[r12*1+r9] + andn r12d,ecx,r8d + xor r13d,r15d + rorx r14d,ecx,6 + lea r9d,[r12*1+r9] + xor r13d,r14d + mov r15d,r10d + rorx r12d,r10d,22 + lea r9d,[r13*1+r9] + xor r15d,r11d + rorx r14d,r10d,13 + rorx r13d,r10d,2 + lea ebx,[r9*1+rbx] + and edi,r15d + xor r14d,r12d + xor edi,r11d + xor r14d,r13d + lea r9d,[rdi*1+r9] + mov r12d,ecx + add r8d,DWORD[((12+64))+rsp] + and r12d,ebx + rorx r13d,ebx,25 + rorx edi,ebx,11 + lea r9d,[r14*1+r9] + lea r8d,[r12*1+r8] + andn r12d,ebx,edx + xor r13d,edi + rorx r14d,ebx,6 + lea r8d,[r12*1+r8] + xor r13d,r14d + mov edi,r9d + rorx r12d,r9d,22 + lea r8d,[r13*1+r8] + xor edi,r10d + rorx r14d,r9d,13 + rorx r13d,r9d,2 + lea eax,[r8*1+rax] + and r15d,edi + xor r14d,r12d + xor r15d,r10d + xor r14d,r13d + lea r8d,[r15*1+r8] + mov r12d,ebx + add edx,DWORD[((32+64))+rsp] + and r12d,eax + rorx r13d,eax,25 + rorx r15d,eax,11 + lea r8d,[r14*1+r8] + lea edx,[r12*1+rdx] + andn r12d,eax,ecx + xor r13d,r15d + rorx r14d,eax,6 + lea edx,[r12*1+rdx] + xor r13d,r14d + mov r15d,r8d + rorx r12d,r8d,22 + lea edx,[r13*1+rdx] + xor r15d,r9d + rorx r14d,r8d,13 + rorx r13d,r8d,2 + lea r11d,[rdx*1+r11] + and edi,r15d + xor r14d,r12d + xor edi,r9d + xor r14d,r13d + lea edx,[rdi*1+rdx] + mov r12d,eax + add ecx,DWORD[((36+64))+rsp] + and r12d,r11d + rorx r13d,r11d,25 + rorx edi,r11d,11 + lea edx,[r14*1+rdx] + lea ecx,[r12*1+rcx] + andn r12d,r11d,ebx + xor r13d,edi + rorx r14d,r11d,6 + lea ecx,[r12*1+rcx] + xor r13d,r14d + mov edi,edx + rorx r12d,edx,22 + lea ecx,[r13*1+rcx] + xor edi,r8d + rorx r14d,edx,13 + rorx r13d,edx,2 + lea r10d,[rcx*1+r10] + and r15d,edi + xor r14d,r12d + xor r15d,r8d + xor r14d,r13d + lea ecx,[r15*1+rcx] + mov r12d,r11d + add ebx,DWORD[((40+64))+rsp] + and r12d,r10d + rorx r13d,r10d,25 + rorx r15d,r10d,11 + lea ecx,[r14*1+rcx] + lea ebx,[r12*1+rbx] + andn r12d,r10d,eax + xor r13d,r15d + rorx r14d,r10d,6 + lea ebx,[r12*1+rbx] + xor r13d,r14d + mov r15d,ecx + rorx r12d,ecx,22 + lea ebx,[r13*1+rbx] + xor r15d,edx + rorx r14d,ecx,13 + rorx r13d,ecx,2 + lea r9d,[rbx*1+r9] + and edi,r15d + xor r14d,r12d + xor edi,edx + xor r14d,r13d + lea ebx,[rdi*1+rbx] + mov r12d,r10d + add eax,DWORD[((44+64))+rsp] + and r12d,r9d + rorx r13d,r9d,25 + rorx edi,r9d,11 + lea ebx,[r14*1+rbx] + lea eax,[r12*1+rax] + andn r12d,r9d,r11d + xor r13d,edi + rorx r14d,r9d,6 + lea eax,[r12*1+rax] + xor r13d,r14d + mov edi,ebx + rorx r12d,ebx,22 + lea eax,[r13*1+rax] + xor edi,ecx + rorx r14d,ebx,13 + rorx r13d,ebx,2 + lea r8d,[rax*1+r8] + and r15d,edi + xor r14d,r12d + xor r15d,ecx + xor r14d,r13d + lea eax,[r15*1+rax] + mov r12d,r9d + add r11d,DWORD[rsp] + and r12d,r8d + rorx r13d,r8d,25 + rorx r15d,r8d,11 + lea eax,[r14*1+rax] + lea r11d,[r12*1+r11] + andn r12d,r8d,r10d + xor r13d,r15d + rorx r14d,r8d,6 + lea r11d,[r12*1+r11] + xor r13d,r14d + mov r15d,eax + rorx r12d,eax,22 + lea r11d,[r13*1+r11] + xor r15d,ebx + rorx r14d,eax,13 + rorx r13d,eax,2 + lea edx,[r11*1+rdx] + and edi,r15d + xor r14d,r12d + xor edi,ebx + xor r14d,r13d + lea r11d,[rdi*1+r11] + mov r12d,r8d + add r10d,DWORD[4+rsp] + and r12d,edx + rorx r13d,edx,25 + rorx edi,edx,11 + lea r11d,[r14*1+r11] + lea r10d,[r12*1+r10] + andn r12d,edx,r9d + xor r13d,edi + rorx r14d,edx,6 + lea r10d,[r12*1+r10] + xor r13d,r14d + mov edi,r11d + rorx r12d,r11d,22 + lea r10d,[r13*1+r10] + xor edi,eax + rorx r14d,r11d,13 + rorx r13d,r11d,2 + lea ecx,[r10*1+rcx] + and r15d,edi + xor r14d,r12d + xor r15d,eax + xor r14d,r13d + lea r10d,[r15*1+r10] + mov r12d,edx + add r9d,DWORD[8+rsp] + and r12d,ecx + rorx r13d,ecx,25 + rorx r15d,ecx,11 + lea r10d,[r14*1+r10] + lea r9d,[r12*1+r9] + andn r12d,ecx,r8d + xor r13d,r15d + rorx r14d,ecx,6 + lea r9d,[r12*1+r9] + xor r13d,r14d + mov r15d,r10d + rorx r12d,r10d,22 + lea r9d,[r13*1+r9] + xor r15d,r11d + rorx r14d,r10d,13 + rorx r13d,r10d,2 + lea ebx,[r9*1+rbx] + and edi,r15d + xor r14d,r12d + xor edi,r11d + xor r14d,r13d + lea r9d,[rdi*1+r9] + mov r12d,ecx + add r8d,DWORD[12+rsp] + and r12d,ebx + rorx r13d,ebx,25 + rorx edi,ebx,11 + lea r9d,[r14*1+r9] + lea r8d,[r12*1+r8] + andn r12d,ebx,edx + xor r13d,edi + rorx r14d,ebx,6 + lea r8d,[r12*1+r8] + xor r13d,r14d + mov edi,r9d + rorx r12d,r9d,22 + lea r8d,[r13*1+r8] + xor edi,r10d + rorx r14d,r9d,13 + rorx r13d,r9d,2 + lea eax,[r8*1+rax] + and r15d,edi + xor r14d,r12d + xor r15d,r10d + xor r14d,r13d + lea r8d,[r15*1+r8] + mov r12d,ebx + add edx,DWORD[32+rsp] + and r12d,eax + rorx r13d,eax,25 + rorx r15d,eax,11 + lea r8d,[r14*1+r8] + lea edx,[r12*1+rdx] + andn r12d,eax,ecx + xor r13d,r15d + rorx r14d,eax,6 + lea edx,[r12*1+rdx] + xor r13d,r14d + mov r15d,r8d + rorx r12d,r8d,22 + lea edx,[r13*1+rdx] + xor r15d,r9d + rorx r14d,r8d,13 + rorx r13d,r8d,2 + lea r11d,[rdx*1+r11] + and edi,r15d + xor r14d,r12d + xor edi,r9d + xor r14d,r13d + lea edx,[rdi*1+rdx] + mov r12d,eax + add ecx,DWORD[36+rsp] + and r12d,r11d + rorx r13d,r11d,25 + rorx edi,r11d,11 + lea edx,[r14*1+rdx] + lea ecx,[r12*1+rcx] + andn r12d,r11d,ebx + xor r13d,edi + rorx r14d,r11d,6 + lea ecx,[r12*1+rcx] + xor r13d,r14d + mov edi,edx + rorx r12d,edx,22 + lea ecx,[r13*1+rcx] + xor edi,r8d + rorx r14d,edx,13 + rorx r13d,edx,2 + lea r10d,[rcx*1+r10] + and r15d,edi + xor r14d,r12d + xor r15d,r8d + xor r14d,r13d + lea ecx,[r15*1+rcx] + mov r12d,r11d + add ebx,DWORD[40+rsp] + and r12d,r10d + rorx r13d,r10d,25 + rorx r15d,r10d,11 + lea ecx,[r14*1+rcx] + lea ebx,[r12*1+rbx] + andn r12d,r10d,eax + xor r13d,r15d + rorx r14d,r10d,6 + lea ebx,[r12*1+rbx] + xor r13d,r14d + mov r15d,ecx + rorx r12d,ecx,22 + lea ebx,[r13*1+rbx] + xor r15d,edx + rorx r14d,ecx,13 + rorx r13d,ecx,2 + lea r9d,[rbx*1+r9] + and edi,r15d + xor r14d,r12d + xor edi,edx + xor r14d,r13d + lea ebx,[rdi*1+rbx] + mov r12d,r10d + add eax,DWORD[44+rsp] + and r12d,r9d + rorx r13d,r9d,25 + rorx edi,r9d,11 + lea ebx,[r14*1+rbx] + lea eax,[r12*1+rax] + andn r12d,r9d,r11d + xor r13d,edi + rorx r14d,r9d,6 + lea eax,[r12*1+rax] + xor r13d,r14d + mov edi,ebx + rorx r12d,ebx,22 + lea eax,[r13*1+rax] + xor edi,ecx + rorx r14d,ebx,13 + rorx r13d,ebx,2 + lea r8d,[rax*1+r8] + and r15d,edi + xor r14d,r12d + xor r15d,ecx + xor r14d,r13d + lea eax,[r15*1+rax] + mov r12d,r9d + mov rdi,QWORD[512+rsp] + add eax,r14d + + lea rbp,[448+rsp] + + add eax,DWORD[rdi] + add ebx,DWORD[4+rdi] + add ecx,DWORD[8+rdi] + add edx,DWORD[12+rdi] + add r8d,DWORD[16+rdi] + add r9d,DWORD[20+rdi] + add r10d,DWORD[24+rdi] + add r11d,DWORD[28+rdi] + + mov DWORD[rdi],eax + mov DWORD[4+rdi],ebx + mov DWORD[8+rdi],ecx + mov DWORD[12+rdi],edx + mov DWORD[16+rdi],r8d + mov DWORD[20+rdi],r9d + mov DWORD[24+rdi],r10d + mov DWORD[28+rdi],r11d + + cmp rsi,QWORD[80+rbp] + je NEAR $L$done_avx2 + + xor r14d,r14d + mov edi,ebx + xor edi,ecx + mov r12d,r9d + jmp NEAR $L$ower_avx2 +ALIGN 16 +$L$ower_avx2: + add r11d,DWORD[((0+16))+rbp] + and r12d,r8d + rorx r13d,r8d,25 + rorx r15d,r8d,11 + lea eax,[r14*1+rax] + lea r11d,[r12*1+r11] + andn r12d,r8d,r10d + xor r13d,r15d + rorx r14d,r8d,6 + lea r11d,[r12*1+r11] + xor r13d,r14d + mov r15d,eax + rorx r12d,eax,22 + lea r11d,[r13*1+r11] + xor r15d,ebx + rorx r14d,eax,13 + rorx r13d,eax,2 + lea edx,[r11*1+rdx] + and edi,r15d + xor r14d,r12d + xor edi,ebx + xor r14d,r13d + lea r11d,[rdi*1+r11] + mov r12d,r8d + add r10d,DWORD[((4+16))+rbp] + and r12d,edx + rorx r13d,edx,25 + rorx edi,edx,11 + lea r11d,[r14*1+r11] + lea r10d,[r12*1+r10] + andn r12d,edx,r9d + xor r13d,edi + rorx r14d,edx,6 + lea r10d,[r12*1+r10] + xor r13d,r14d + mov edi,r11d + rorx r12d,r11d,22 + lea r10d,[r13*1+r10] + xor edi,eax + rorx r14d,r11d,13 + rorx r13d,r11d,2 + lea ecx,[r10*1+rcx] + and r15d,edi + xor r14d,r12d + xor r15d,eax + xor r14d,r13d + lea r10d,[r15*1+r10] + mov r12d,edx + add r9d,DWORD[((8+16))+rbp] + and r12d,ecx + rorx r13d,ecx,25 + rorx r15d,ecx,11 + lea r10d,[r14*1+r10] + lea r9d,[r12*1+r9] + andn r12d,ecx,r8d + xor r13d,r15d + rorx r14d,ecx,6 + lea r9d,[r12*1+r9] + xor r13d,r14d + mov r15d,r10d + rorx r12d,r10d,22 + lea r9d,[r13*1+r9] + xor r15d,r11d + rorx r14d,r10d,13 + rorx r13d,r10d,2 + lea ebx,[r9*1+rbx] + and edi,r15d + xor r14d,r12d + xor edi,r11d + xor r14d,r13d + lea r9d,[rdi*1+r9] + mov r12d,ecx + add r8d,DWORD[((12+16))+rbp] + and r12d,ebx + rorx r13d,ebx,25 + rorx edi,ebx,11 + lea r9d,[r14*1+r9] + lea r8d,[r12*1+r8] + andn r12d,ebx,edx + xor r13d,edi + rorx r14d,ebx,6 + lea r8d,[r12*1+r8] + xor r13d,r14d + mov edi,r9d + rorx r12d,r9d,22 + lea r8d,[r13*1+r8] + xor edi,r10d + rorx r14d,r9d,13 + rorx r13d,r9d,2 + lea eax,[r8*1+rax] + and r15d,edi + xor r14d,r12d + xor r15d,r10d + xor r14d,r13d + lea r8d,[r15*1+r8] + mov r12d,ebx + add edx,DWORD[((32+16))+rbp] + and r12d,eax + rorx r13d,eax,25 + rorx r15d,eax,11 + lea r8d,[r14*1+r8] + lea edx,[r12*1+rdx] + andn r12d,eax,ecx + xor r13d,r15d + rorx r14d,eax,6 + lea edx,[r12*1+rdx] + xor r13d,r14d + mov r15d,r8d + rorx r12d,r8d,22 + lea edx,[r13*1+rdx] + xor r15d,r9d + rorx r14d,r8d,13 + rorx r13d,r8d,2 + lea r11d,[rdx*1+r11] + and edi,r15d + xor r14d,r12d + xor edi,r9d + xor r14d,r13d + lea edx,[rdi*1+rdx] + mov r12d,eax + add ecx,DWORD[((36+16))+rbp] + and r12d,r11d + rorx r13d,r11d,25 + rorx edi,r11d,11 + lea edx,[r14*1+rdx] + lea ecx,[r12*1+rcx] + andn r12d,r11d,ebx + xor r13d,edi + rorx r14d,r11d,6 + lea ecx,[r12*1+rcx] + xor r13d,r14d + mov edi,edx + rorx r12d,edx,22 + lea ecx,[r13*1+rcx] + xor edi,r8d + rorx r14d,edx,13 + rorx r13d,edx,2 + lea r10d,[rcx*1+r10] + and r15d,edi + xor r14d,r12d + xor r15d,r8d + xor r14d,r13d + lea ecx,[r15*1+rcx] + mov r12d,r11d + add ebx,DWORD[((40+16))+rbp] + and r12d,r10d + rorx r13d,r10d,25 + rorx r15d,r10d,11 + lea ecx,[r14*1+rcx] + lea ebx,[r12*1+rbx] + andn r12d,r10d,eax + xor r13d,r15d + rorx r14d,r10d,6 + lea ebx,[r12*1+rbx] + xor r13d,r14d + mov r15d,ecx + rorx r12d,ecx,22 + lea ebx,[r13*1+rbx] + xor r15d,edx + rorx r14d,ecx,13 + rorx r13d,ecx,2 + lea r9d,[rbx*1+r9] + and edi,r15d + xor r14d,r12d + xor edi,edx + xor r14d,r13d + lea ebx,[rdi*1+rbx] + mov r12d,r10d + add eax,DWORD[((44+16))+rbp] + and r12d,r9d + rorx r13d,r9d,25 + rorx edi,r9d,11 + lea ebx,[r14*1+rbx] + lea eax,[r12*1+rax] + andn r12d,r9d,r11d + xor r13d,edi + rorx r14d,r9d,6 + lea eax,[r12*1+rax] + xor r13d,r14d + mov edi,ebx + rorx r12d,ebx,22 + lea eax,[r13*1+rax] + xor edi,ecx + rorx r14d,ebx,13 + rorx r13d,ebx,2 + lea r8d,[rax*1+r8] + and r15d,edi + xor r14d,r12d + xor r15d,ecx + xor r14d,r13d + lea eax,[r15*1+rax] + mov r12d,r9d + lea rbp,[((-64))+rbp] + cmp rbp,rsp + jae NEAR $L$ower_avx2 + + mov rdi,QWORD[512+rsp] + add eax,r14d + + lea rsp,[448+rsp] + + add eax,DWORD[rdi] + add ebx,DWORD[4+rdi] + add ecx,DWORD[8+rdi] + add edx,DWORD[12+rdi] + add r8d,DWORD[16+rdi] + add r9d,DWORD[20+rdi] + lea rsi,[128+rsi] + add r10d,DWORD[24+rdi] + mov r12,rsi + add r11d,DWORD[28+rdi] + cmp rsi,QWORD[((64+16))+rsp] + + mov DWORD[rdi],eax + cmove r12,rsp + mov DWORD[4+rdi],ebx + mov DWORD[8+rdi],ecx + mov DWORD[12+rdi],edx + mov DWORD[16+rdi],r8d + mov DWORD[20+rdi],r9d + mov DWORD[24+rdi],r10d + mov DWORD[28+rdi],r11d + + jbe NEAR $L$oop_avx2 + lea rbp,[rsp] + +$L$done_avx2: + lea rsp,[rbp] + mov rsi,QWORD[((64+24))+rsp] + vzeroupper + movaps xmm6,XMMWORD[((64+32))+rsp] + movaps xmm7,XMMWORD[((64+48))+rsp] + movaps xmm8,XMMWORD[((64+64))+rsp] + movaps xmm9,XMMWORD[((64+80))+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_avx2: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha256_block_data_order_avx2: +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + lea r10,[$L$avx2_shortcut] + cmp rbx,r10 + jb NEAR $L$not_in_avx2 + + and rax,-256*4 + add rax,448 +$L$not_in_avx2: + mov rsi,rax + mov rax,QWORD[((64+24))+rax] + lea rax,[48+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + + lea r10,[$L$epilogue] + cmp rbx,r10 + jb NEAR $L$in_prologue + + lea rsi,[((64+32))+rsi] + lea rdi,[512+r8] + mov ecx,8 + DD 0xa548f3fc + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +ALIGN 16 +shaext_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$prologue_shaext] + cmp rbx,r10 + jb NEAR $L$in_prologue + + lea r10,[$L$epilogue_shaext] + cmp rbx,r10 + jae NEAR $L$in_prologue + + lea rsi,[((-8-80))+rax] + lea rdi,[512+r8] + mov ecx,10 + DD 0xa548f3fc + + jmp NEAR $L$in_prologue + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_sha256_block_data_order wrt ..imagebase + DD $L$SEH_end_sha256_block_data_order wrt ..imagebase + DD $L$SEH_info_sha256_block_data_order wrt ..imagebase + DD $L$SEH_begin_sha256_block_data_order_shaext wrt ..imagebase + DD $L$SEH_end_sha256_block_data_order_shaext wrt ..imagebase + DD $L$SEH_info_sha256_block_data_order_shaext wrt ..imagebase + DD $L$SEH_begin_sha256_block_data_order_ssse3 wrt ..imagebase + DD $L$SEH_end_sha256_block_data_order_ssse3 wrt ..imagebase + DD $L$SEH_info_sha256_block_data_order_ssse3 wrt ..imagebase + DD $L$SEH_begin_sha256_block_data_order_avx wrt ..imagebase + DD $L$SEH_end_sha256_block_data_order_avx wrt ..imagebase + DD $L$SEH_info_sha256_block_data_order_avx wrt ..imagebase + DD $L$SEH_begin_sha256_block_data_order_avx2 wrt ..imagebase + DD $L$SEH_end_sha256_block_data_order_avx2 wrt ..imagebase + DD $L$SEH_info_sha256_block_data_order_avx2 wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_sha256_block_data_order: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase +$L$SEH_info_sha256_block_data_order_shaext: +DB 9,0,0,0 + DD shaext_handler wrt ..imagebase +$L$SEH_info_sha256_block_data_order_ssse3: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase +$L$SEH_info_sha256_block_data_order_avx: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase +$L$SEH_info_sha256_block_data_order_avx2: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase diff --git a/tmp64/sha512-x86_64.asm b/tmp64/sha512-x86_64.asm index 0e99bed5..a95c08f5 100644 --- a/tmp64/sha512-x86_64.asm +++ b/tmp64/sha512-x86_64.asm @@ -1,5590 +1,5590 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN OPENSSL_ia32cap_P -global sha512_block_data_order - -ALIGN 16 -sha512_block_data_order: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha512_block_data_order: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - lea r11,[OPENSSL_ia32cap_P] - mov r9d,DWORD[r11] - mov r10d,DWORD[4+r11] - mov r11d,DWORD[8+r11] - test r10d,2048 - jnz NEAR $L$xop_shortcut - and r11d,296 - cmp r11d,296 - je NEAR $L$avx2_shortcut - and r9d,1073741824 - and r10d,268435968 - or r10d,r9d - cmp r10d,1342177792 - je NEAR $L$avx_shortcut - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - mov r11,rsp - shl rdx,4 - sub rsp,16*8+4*8 - lea rdx,[rdx*8+rsi] - and rsp,-64 - mov QWORD[((128+0))+rsp],rdi - mov QWORD[((128+8))+rsp],rsi - mov QWORD[((128+16))+rsp],rdx - mov QWORD[((128+24))+rsp],r11 -$L$prologue: - - mov rax,QWORD[rdi] - mov rbx,QWORD[8+rdi] - mov rcx,QWORD[16+rdi] - mov rdx,QWORD[24+rdi] - mov r8,QWORD[32+rdi] - mov r9,QWORD[40+rdi] - mov r10,QWORD[48+rdi] - mov r11,QWORD[56+rdi] - jmp NEAR $L$loop - -ALIGN 16 -$L$loop: - mov rdi,rbx - lea rbp,[K512] - xor rdi,rcx - mov r12,QWORD[rsi] - mov r13,r8 - mov r14,rax - bswap r12 - ror r13,23 - mov r15,r9 - - xor r13,r8 - ror r14,5 - xor r15,r10 - - mov QWORD[rsp],r12 - xor r14,rax - and r15,r8 - - ror r13,4 - add r12,r11 - xor r15,r10 - - ror r14,6 - xor r13,r8 - add r12,r15 - - mov r15,rax - add r12,QWORD[rbp] - xor r14,rax - - xor r15,rbx - ror r13,14 - mov r11,rbx - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor r11,rdi - add rdx,r12 - add r11,r12 - - lea rbp,[8+rbp] - add r11,r14 - mov r12,QWORD[8+rsi] - mov r13,rdx - mov r14,r11 - bswap r12 - ror r13,23 - mov rdi,r8 - - xor r13,rdx - ror r14,5 - xor rdi,r9 - - mov QWORD[8+rsp],r12 - xor r14,r11 - and rdi,rdx - - ror r13,4 - add r12,r10 - xor rdi,r9 - - ror r14,6 - xor r13,rdx - add r12,rdi - - mov rdi,r11 - add r12,QWORD[rbp] - xor r14,r11 - - xor rdi,rax - ror r13,14 - mov r10,rax - - and r15,rdi - ror r14,28 - add r12,r13 - - xor r10,r15 - add rcx,r12 - add r10,r12 - - lea rbp,[24+rbp] - add r10,r14 - mov r12,QWORD[16+rsi] - mov r13,rcx - mov r14,r10 - bswap r12 - ror r13,23 - mov r15,rdx - - xor r13,rcx - ror r14,5 - xor r15,r8 - - mov QWORD[16+rsp],r12 - xor r14,r10 - and r15,rcx - - ror r13,4 - add r12,r9 - xor r15,r8 - - ror r14,6 - xor r13,rcx - add r12,r15 - - mov r15,r10 - add r12,QWORD[rbp] - xor r14,r10 - - xor r15,r11 - ror r13,14 - mov r9,r11 - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor r9,rdi - add rbx,r12 - add r9,r12 - - lea rbp,[8+rbp] - add r9,r14 - mov r12,QWORD[24+rsi] - mov r13,rbx - mov r14,r9 - bswap r12 - ror r13,23 - mov rdi,rcx - - xor r13,rbx - ror r14,5 - xor rdi,rdx - - mov QWORD[24+rsp],r12 - xor r14,r9 - and rdi,rbx - - ror r13,4 - add r12,r8 - xor rdi,rdx - - ror r14,6 - xor r13,rbx - add r12,rdi - - mov rdi,r9 - add r12,QWORD[rbp] - xor r14,r9 - - xor rdi,r10 - ror r13,14 - mov r8,r10 - - and r15,rdi - ror r14,28 - add r12,r13 - - xor r8,r15 - add rax,r12 - add r8,r12 - - lea rbp,[24+rbp] - add r8,r14 - mov r12,QWORD[32+rsi] - mov r13,rax - mov r14,r8 - bswap r12 - ror r13,23 - mov r15,rbx - - xor r13,rax - ror r14,5 - xor r15,rcx - - mov QWORD[32+rsp],r12 - xor r14,r8 - and r15,rax - - ror r13,4 - add r12,rdx - xor r15,rcx - - ror r14,6 - xor r13,rax - add r12,r15 - - mov r15,r8 - add r12,QWORD[rbp] - xor r14,r8 - - xor r15,r9 - ror r13,14 - mov rdx,r9 - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor rdx,rdi - add r11,r12 - add rdx,r12 - - lea rbp,[8+rbp] - add rdx,r14 - mov r12,QWORD[40+rsi] - mov r13,r11 - mov r14,rdx - bswap r12 - ror r13,23 - mov rdi,rax - - xor r13,r11 - ror r14,5 - xor rdi,rbx - - mov QWORD[40+rsp],r12 - xor r14,rdx - and rdi,r11 - - ror r13,4 - add r12,rcx - xor rdi,rbx - - ror r14,6 - xor r13,r11 - add r12,rdi - - mov rdi,rdx - add r12,QWORD[rbp] - xor r14,rdx - - xor rdi,r8 - ror r13,14 - mov rcx,r8 - - and r15,rdi - ror r14,28 - add r12,r13 - - xor rcx,r15 - add r10,r12 - add rcx,r12 - - lea rbp,[24+rbp] - add rcx,r14 - mov r12,QWORD[48+rsi] - mov r13,r10 - mov r14,rcx - bswap r12 - ror r13,23 - mov r15,r11 - - xor r13,r10 - ror r14,5 - xor r15,rax - - mov QWORD[48+rsp],r12 - xor r14,rcx - and r15,r10 - - ror r13,4 - add r12,rbx - xor r15,rax - - ror r14,6 - xor r13,r10 - add r12,r15 - - mov r15,rcx - add r12,QWORD[rbp] - xor r14,rcx - - xor r15,rdx - ror r13,14 - mov rbx,rdx - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor rbx,rdi - add r9,r12 - add rbx,r12 - - lea rbp,[8+rbp] - add rbx,r14 - mov r12,QWORD[56+rsi] - mov r13,r9 - mov r14,rbx - bswap r12 - ror r13,23 - mov rdi,r10 - - xor r13,r9 - ror r14,5 - xor rdi,r11 - - mov QWORD[56+rsp],r12 - xor r14,rbx - and rdi,r9 - - ror r13,4 - add r12,rax - xor rdi,r11 - - ror r14,6 - xor r13,r9 - add r12,rdi - - mov rdi,rbx - add r12,QWORD[rbp] - xor r14,rbx - - xor rdi,rcx - ror r13,14 - mov rax,rcx - - and r15,rdi - ror r14,28 - add r12,r13 - - xor rax,r15 - add r8,r12 - add rax,r12 - - lea rbp,[24+rbp] - add rax,r14 - mov r12,QWORD[64+rsi] - mov r13,r8 - mov r14,rax - bswap r12 - ror r13,23 - mov r15,r9 - - xor r13,r8 - ror r14,5 - xor r15,r10 - - mov QWORD[64+rsp],r12 - xor r14,rax - and r15,r8 - - ror r13,4 - add r12,r11 - xor r15,r10 - - ror r14,6 - xor r13,r8 - add r12,r15 - - mov r15,rax - add r12,QWORD[rbp] - xor r14,rax - - xor r15,rbx - ror r13,14 - mov r11,rbx - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor r11,rdi - add rdx,r12 - add r11,r12 - - lea rbp,[8+rbp] - add r11,r14 - mov r12,QWORD[72+rsi] - mov r13,rdx - mov r14,r11 - bswap r12 - ror r13,23 - mov rdi,r8 - - xor r13,rdx - ror r14,5 - xor rdi,r9 - - mov QWORD[72+rsp],r12 - xor r14,r11 - and rdi,rdx - - ror r13,4 - add r12,r10 - xor rdi,r9 - - ror r14,6 - xor r13,rdx - add r12,rdi - - mov rdi,r11 - add r12,QWORD[rbp] - xor r14,r11 - - xor rdi,rax - ror r13,14 - mov r10,rax - - and r15,rdi - ror r14,28 - add r12,r13 - - xor r10,r15 - add rcx,r12 - add r10,r12 - - lea rbp,[24+rbp] - add r10,r14 - mov r12,QWORD[80+rsi] - mov r13,rcx - mov r14,r10 - bswap r12 - ror r13,23 - mov r15,rdx - - xor r13,rcx - ror r14,5 - xor r15,r8 - - mov QWORD[80+rsp],r12 - xor r14,r10 - and r15,rcx - - ror r13,4 - add r12,r9 - xor r15,r8 - - ror r14,6 - xor r13,rcx - add r12,r15 - - mov r15,r10 - add r12,QWORD[rbp] - xor r14,r10 - - xor r15,r11 - ror r13,14 - mov r9,r11 - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor r9,rdi - add rbx,r12 - add r9,r12 - - lea rbp,[8+rbp] - add r9,r14 - mov r12,QWORD[88+rsi] - mov r13,rbx - mov r14,r9 - bswap r12 - ror r13,23 - mov rdi,rcx - - xor r13,rbx - ror r14,5 - xor rdi,rdx - - mov QWORD[88+rsp],r12 - xor r14,r9 - and rdi,rbx - - ror r13,4 - add r12,r8 - xor rdi,rdx - - ror r14,6 - xor r13,rbx - add r12,rdi - - mov rdi,r9 - add r12,QWORD[rbp] - xor r14,r9 - - xor rdi,r10 - ror r13,14 - mov r8,r10 - - and r15,rdi - ror r14,28 - add r12,r13 - - xor r8,r15 - add rax,r12 - add r8,r12 - - lea rbp,[24+rbp] - add r8,r14 - mov r12,QWORD[96+rsi] - mov r13,rax - mov r14,r8 - bswap r12 - ror r13,23 - mov r15,rbx - - xor r13,rax - ror r14,5 - xor r15,rcx - - mov QWORD[96+rsp],r12 - xor r14,r8 - and r15,rax - - ror r13,4 - add r12,rdx - xor r15,rcx - - ror r14,6 - xor r13,rax - add r12,r15 - - mov r15,r8 - add r12,QWORD[rbp] - xor r14,r8 - - xor r15,r9 - ror r13,14 - mov rdx,r9 - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor rdx,rdi - add r11,r12 - add rdx,r12 - - lea rbp,[8+rbp] - add rdx,r14 - mov r12,QWORD[104+rsi] - mov r13,r11 - mov r14,rdx - bswap r12 - ror r13,23 - mov rdi,rax - - xor r13,r11 - ror r14,5 - xor rdi,rbx - - mov QWORD[104+rsp],r12 - xor r14,rdx - and rdi,r11 - - ror r13,4 - add r12,rcx - xor rdi,rbx - - ror r14,6 - xor r13,r11 - add r12,rdi - - mov rdi,rdx - add r12,QWORD[rbp] - xor r14,rdx - - xor rdi,r8 - ror r13,14 - mov rcx,r8 - - and r15,rdi - ror r14,28 - add r12,r13 - - xor rcx,r15 - add r10,r12 - add rcx,r12 - - lea rbp,[24+rbp] - add rcx,r14 - mov r12,QWORD[112+rsi] - mov r13,r10 - mov r14,rcx - bswap r12 - ror r13,23 - mov r15,r11 - - xor r13,r10 - ror r14,5 - xor r15,rax - - mov QWORD[112+rsp],r12 - xor r14,rcx - and r15,r10 - - ror r13,4 - add r12,rbx - xor r15,rax - - ror r14,6 - xor r13,r10 - add r12,r15 - - mov r15,rcx - add r12,QWORD[rbp] - xor r14,rcx - - xor r15,rdx - ror r13,14 - mov rbx,rdx - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor rbx,rdi - add r9,r12 - add rbx,r12 - - lea rbp,[8+rbp] - add rbx,r14 - mov r12,QWORD[120+rsi] - mov r13,r9 - mov r14,rbx - bswap r12 - ror r13,23 - mov rdi,r10 - - xor r13,r9 - ror r14,5 - xor rdi,r11 - - mov QWORD[120+rsp],r12 - xor r14,rbx - and rdi,r9 - - ror r13,4 - add r12,rax - xor rdi,r11 - - ror r14,6 - xor r13,r9 - add r12,rdi - - mov rdi,rbx - add r12,QWORD[rbp] - xor r14,rbx - - xor rdi,rcx - ror r13,14 - mov rax,rcx - - and r15,rdi - ror r14,28 - add r12,r13 - - xor rax,r15 - add r8,r12 - add rax,r12 - - lea rbp,[24+rbp] - jmp NEAR $L$rounds_16_xx -ALIGN 16 -$L$rounds_16_xx: - mov r13,QWORD[8+rsp] - mov r15,QWORD[112+rsp] - - mov r12,r13 - ror r13,7 - add rax,r14 - mov r14,r15 - ror r15,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor r15,r14 - shr r14,6 - - ror r15,19 - xor r12,r13 - xor r15,r14 - add r12,QWORD[72+rsp] - - add r12,QWORD[rsp] - mov r13,r8 - add r12,r15 - mov r14,rax - ror r13,23 - mov r15,r9 - - xor r13,r8 - ror r14,5 - xor r15,r10 - - mov QWORD[rsp],r12 - xor r14,rax - and r15,r8 - - ror r13,4 - add r12,r11 - xor r15,r10 - - ror r14,6 - xor r13,r8 - add r12,r15 - - mov r15,rax - add r12,QWORD[rbp] - xor r14,rax - - xor r15,rbx - ror r13,14 - mov r11,rbx - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor r11,rdi - add rdx,r12 - add r11,r12 - - lea rbp,[8+rbp] - mov r13,QWORD[16+rsp] - mov rdi,QWORD[120+rsp] - - mov r12,r13 - ror r13,7 - add r11,r14 - mov r14,rdi - ror rdi,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor rdi,r14 - shr r14,6 - - ror rdi,19 - xor r12,r13 - xor rdi,r14 - add r12,QWORD[80+rsp] - - add r12,QWORD[8+rsp] - mov r13,rdx - add r12,rdi - mov r14,r11 - ror r13,23 - mov rdi,r8 - - xor r13,rdx - ror r14,5 - xor rdi,r9 - - mov QWORD[8+rsp],r12 - xor r14,r11 - and rdi,rdx - - ror r13,4 - add r12,r10 - xor rdi,r9 - - ror r14,6 - xor r13,rdx - add r12,rdi - - mov rdi,r11 - add r12,QWORD[rbp] - xor r14,r11 - - xor rdi,rax - ror r13,14 - mov r10,rax - - and r15,rdi - ror r14,28 - add r12,r13 - - xor r10,r15 - add rcx,r12 - add r10,r12 - - lea rbp,[24+rbp] - mov r13,QWORD[24+rsp] - mov r15,QWORD[rsp] - - mov r12,r13 - ror r13,7 - add r10,r14 - mov r14,r15 - ror r15,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor r15,r14 - shr r14,6 - - ror r15,19 - xor r12,r13 - xor r15,r14 - add r12,QWORD[88+rsp] - - add r12,QWORD[16+rsp] - mov r13,rcx - add r12,r15 - mov r14,r10 - ror r13,23 - mov r15,rdx - - xor r13,rcx - ror r14,5 - xor r15,r8 - - mov QWORD[16+rsp],r12 - xor r14,r10 - and r15,rcx - - ror r13,4 - add r12,r9 - xor r15,r8 - - ror r14,6 - xor r13,rcx - add r12,r15 - - mov r15,r10 - add r12,QWORD[rbp] - xor r14,r10 - - xor r15,r11 - ror r13,14 - mov r9,r11 - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor r9,rdi - add rbx,r12 - add r9,r12 - - lea rbp,[8+rbp] - mov r13,QWORD[32+rsp] - mov rdi,QWORD[8+rsp] - - mov r12,r13 - ror r13,7 - add r9,r14 - mov r14,rdi - ror rdi,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor rdi,r14 - shr r14,6 - - ror rdi,19 - xor r12,r13 - xor rdi,r14 - add r12,QWORD[96+rsp] - - add r12,QWORD[24+rsp] - mov r13,rbx - add r12,rdi - mov r14,r9 - ror r13,23 - mov rdi,rcx - - xor r13,rbx - ror r14,5 - xor rdi,rdx - - mov QWORD[24+rsp],r12 - xor r14,r9 - and rdi,rbx - - ror r13,4 - add r12,r8 - xor rdi,rdx - - ror r14,6 - xor r13,rbx - add r12,rdi - - mov rdi,r9 - add r12,QWORD[rbp] - xor r14,r9 - - xor rdi,r10 - ror r13,14 - mov r8,r10 - - and r15,rdi - ror r14,28 - add r12,r13 - - xor r8,r15 - add rax,r12 - add r8,r12 - - lea rbp,[24+rbp] - mov r13,QWORD[40+rsp] - mov r15,QWORD[16+rsp] - - mov r12,r13 - ror r13,7 - add r8,r14 - mov r14,r15 - ror r15,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor r15,r14 - shr r14,6 - - ror r15,19 - xor r12,r13 - xor r15,r14 - add r12,QWORD[104+rsp] - - add r12,QWORD[32+rsp] - mov r13,rax - add r12,r15 - mov r14,r8 - ror r13,23 - mov r15,rbx - - xor r13,rax - ror r14,5 - xor r15,rcx - - mov QWORD[32+rsp],r12 - xor r14,r8 - and r15,rax - - ror r13,4 - add r12,rdx - xor r15,rcx - - ror r14,6 - xor r13,rax - add r12,r15 - - mov r15,r8 - add r12,QWORD[rbp] - xor r14,r8 - - xor r15,r9 - ror r13,14 - mov rdx,r9 - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor rdx,rdi - add r11,r12 - add rdx,r12 - - lea rbp,[8+rbp] - mov r13,QWORD[48+rsp] - mov rdi,QWORD[24+rsp] - - mov r12,r13 - ror r13,7 - add rdx,r14 - mov r14,rdi - ror rdi,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor rdi,r14 - shr r14,6 - - ror rdi,19 - xor r12,r13 - xor rdi,r14 - add r12,QWORD[112+rsp] - - add r12,QWORD[40+rsp] - mov r13,r11 - add r12,rdi - mov r14,rdx - ror r13,23 - mov rdi,rax - - xor r13,r11 - ror r14,5 - xor rdi,rbx - - mov QWORD[40+rsp],r12 - xor r14,rdx - and rdi,r11 - - ror r13,4 - add r12,rcx - xor rdi,rbx - - ror r14,6 - xor r13,r11 - add r12,rdi - - mov rdi,rdx - add r12,QWORD[rbp] - xor r14,rdx - - xor rdi,r8 - ror r13,14 - mov rcx,r8 - - and r15,rdi - ror r14,28 - add r12,r13 - - xor rcx,r15 - add r10,r12 - add rcx,r12 - - lea rbp,[24+rbp] - mov r13,QWORD[56+rsp] - mov r15,QWORD[32+rsp] - - mov r12,r13 - ror r13,7 - add rcx,r14 - mov r14,r15 - ror r15,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor r15,r14 - shr r14,6 - - ror r15,19 - xor r12,r13 - xor r15,r14 - add r12,QWORD[120+rsp] - - add r12,QWORD[48+rsp] - mov r13,r10 - add r12,r15 - mov r14,rcx - ror r13,23 - mov r15,r11 - - xor r13,r10 - ror r14,5 - xor r15,rax - - mov QWORD[48+rsp],r12 - xor r14,rcx - and r15,r10 - - ror r13,4 - add r12,rbx - xor r15,rax - - ror r14,6 - xor r13,r10 - add r12,r15 - - mov r15,rcx - add r12,QWORD[rbp] - xor r14,rcx - - xor r15,rdx - ror r13,14 - mov rbx,rdx - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor rbx,rdi - add r9,r12 - add rbx,r12 - - lea rbp,[8+rbp] - mov r13,QWORD[64+rsp] - mov rdi,QWORD[40+rsp] - - mov r12,r13 - ror r13,7 - add rbx,r14 - mov r14,rdi - ror rdi,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor rdi,r14 - shr r14,6 - - ror rdi,19 - xor r12,r13 - xor rdi,r14 - add r12,QWORD[rsp] - - add r12,QWORD[56+rsp] - mov r13,r9 - add r12,rdi - mov r14,rbx - ror r13,23 - mov rdi,r10 - - xor r13,r9 - ror r14,5 - xor rdi,r11 - - mov QWORD[56+rsp],r12 - xor r14,rbx - and rdi,r9 - - ror r13,4 - add r12,rax - xor rdi,r11 - - ror r14,6 - xor r13,r9 - add r12,rdi - - mov rdi,rbx - add r12,QWORD[rbp] - xor r14,rbx - - xor rdi,rcx - ror r13,14 - mov rax,rcx - - and r15,rdi - ror r14,28 - add r12,r13 - - xor rax,r15 - add r8,r12 - add rax,r12 - - lea rbp,[24+rbp] - mov r13,QWORD[72+rsp] - mov r15,QWORD[48+rsp] - - mov r12,r13 - ror r13,7 - add rax,r14 - mov r14,r15 - ror r15,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor r15,r14 - shr r14,6 - - ror r15,19 - xor r12,r13 - xor r15,r14 - add r12,QWORD[8+rsp] - - add r12,QWORD[64+rsp] - mov r13,r8 - add r12,r15 - mov r14,rax - ror r13,23 - mov r15,r9 - - xor r13,r8 - ror r14,5 - xor r15,r10 - - mov QWORD[64+rsp],r12 - xor r14,rax - and r15,r8 - - ror r13,4 - add r12,r11 - xor r15,r10 - - ror r14,6 - xor r13,r8 - add r12,r15 - - mov r15,rax - add r12,QWORD[rbp] - xor r14,rax - - xor r15,rbx - ror r13,14 - mov r11,rbx - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor r11,rdi - add rdx,r12 - add r11,r12 - - lea rbp,[8+rbp] - mov r13,QWORD[80+rsp] - mov rdi,QWORD[56+rsp] - - mov r12,r13 - ror r13,7 - add r11,r14 - mov r14,rdi - ror rdi,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor rdi,r14 - shr r14,6 - - ror rdi,19 - xor r12,r13 - xor rdi,r14 - add r12,QWORD[16+rsp] - - add r12,QWORD[72+rsp] - mov r13,rdx - add r12,rdi - mov r14,r11 - ror r13,23 - mov rdi,r8 - - xor r13,rdx - ror r14,5 - xor rdi,r9 - - mov QWORD[72+rsp],r12 - xor r14,r11 - and rdi,rdx - - ror r13,4 - add r12,r10 - xor rdi,r9 - - ror r14,6 - xor r13,rdx - add r12,rdi - - mov rdi,r11 - add r12,QWORD[rbp] - xor r14,r11 - - xor rdi,rax - ror r13,14 - mov r10,rax - - and r15,rdi - ror r14,28 - add r12,r13 - - xor r10,r15 - add rcx,r12 - add r10,r12 - - lea rbp,[24+rbp] - mov r13,QWORD[88+rsp] - mov r15,QWORD[64+rsp] - - mov r12,r13 - ror r13,7 - add r10,r14 - mov r14,r15 - ror r15,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor r15,r14 - shr r14,6 - - ror r15,19 - xor r12,r13 - xor r15,r14 - add r12,QWORD[24+rsp] - - add r12,QWORD[80+rsp] - mov r13,rcx - add r12,r15 - mov r14,r10 - ror r13,23 - mov r15,rdx - - xor r13,rcx - ror r14,5 - xor r15,r8 - - mov QWORD[80+rsp],r12 - xor r14,r10 - and r15,rcx - - ror r13,4 - add r12,r9 - xor r15,r8 - - ror r14,6 - xor r13,rcx - add r12,r15 - - mov r15,r10 - add r12,QWORD[rbp] - xor r14,r10 - - xor r15,r11 - ror r13,14 - mov r9,r11 - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor r9,rdi - add rbx,r12 - add r9,r12 - - lea rbp,[8+rbp] - mov r13,QWORD[96+rsp] - mov rdi,QWORD[72+rsp] - - mov r12,r13 - ror r13,7 - add r9,r14 - mov r14,rdi - ror rdi,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor rdi,r14 - shr r14,6 - - ror rdi,19 - xor r12,r13 - xor rdi,r14 - add r12,QWORD[32+rsp] - - add r12,QWORD[88+rsp] - mov r13,rbx - add r12,rdi - mov r14,r9 - ror r13,23 - mov rdi,rcx - - xor r13,rbx - ror r14,5 - xor rdi,rdx - - mov QWORD[88+rsp],r12 - xor r14,r9 - and rdi,rbx - - ror r13,4 - add r12,r8 - xor rdi,rdx - - ror r14,6 - xor r13,rbx - add r12,rdi - - mov rdi,r9 - add r12,QWORD[rbp] - xor r14,r9 - - xor rdi,r10 - ror r13,14 - mov r8,r10 - - and r15,rdi - ror r14,28 - add r12,r13 - - xor r8,r15 - add rax,r12 - add r8,r12 - - lea rbp,[24+rbp] - mov r13,QWORD[104+rsp] - mov r15,QWORD[80+rsp] - - mov r12,r13 - ror r13,7 - add r8,r14 - mov r14,r15 - ror r15,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor r15,r14 - shr r14,6 - - ror r15,19 - xor r12,r13 - xor r15,r14 - add r12,QWORD[40+rsp] - - add r12,QWORD[96+rsp] - mov r13,rax - add r12,r15 - mov r14,r8 - ror r13,23 - mov r15,rbx - - xor r13,rax - ror r14,5 - xor r15,rcx - - mov QWORD[96+rsp],r12 - xor r14,r8 - and r15,rax - - ror r13,4 - add r12,rdx - xor r15,rcx - - ror r14,6 - xor r13,rax - add r12,r15 - - mov r15,r8 - add r12,QWORD[rbp] - xor r14,r8 - - xor r15,r9 - ror r13,14 - mov rdx,r9 - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor rdx,rdi - add r11,r12 - add rdx,r12 - - lea rbp,[8+rbp] - mov r13,QWORD[112+rsp] - mov rdi,QWORD[88+rsp] - - mov r12,r13 - ror r13,7 - add rdx,r14 - mov r14,rdi - ror rdi,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor rdi,r14 - shr r14,6 - - ror rdi,19 - xor r12,r13 - xor rdi,r14 - add r12,QWORD[48+rsp] - - add r12,QWORD[104+rsp] - mov r13,r11 - add r12,rdi - mov r14,rdx - ror r13,23 - mov rdi,rax - - xor r13,r11 - ror r14,5 - xor rdi,rbx - - mov QWORD[104+rsp],r12 - xor r14,rdx - and rdi,r11 - - ror r13,4 - add r12,rcx - xor rdi,rbx - - ror r14,6 - xor r13,r11 - add r12,rdi - - mov rdi,rdx - add r12,QWORD[rbp] - xor r14,rdx - - xor rdi,r8 - ror r13,14 - mov rcx,r8 - - and r15,rdi - ror r14,28 - add r12,r13 - - xor rcx,r15 - add r10,r12 - add rcx,r12 - - lea rbp,[24+rbp] - mov r13,QWORD[120+rsp] - mov r15,QWORD[96+rsp] - - mov r12,r13 - ror r13,7 - add rcx,r14 - mov r14,r15 - ror r15,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor r15,r14 - shr r14,6 - - ror r15,19 - xor r12,r13 - xor r15,r14 - add r12,QWORD[56+rsp] - - add r12,QWORD[112+rsp] - mov r13,r10 - add r12,r15 - mov r14,rcx - ror r13,23 - mov r15,r11 - - xor r13,r10 - ror r14,5 - xor r15,rax - - mov QWORD[112+rsp],r12 - xor r14,rcx - and r15,r10 - - ror r13,4 - add r12,rbx - xor r15,rax - - ror r14,6 - xor r13,r10 - add r12,r15 - - mov r15,rcx - add r12,QWORD[rbp] - xor r14,rcx - - xor r15,rdx - ror r13,14 - mov rbx,rdx - - and rdi,r15 - ror r14,28 - add r12,r13 - - xor rbx,rdi - add r9,r12 - add rbx,r12 - - lea rbp,[8+rbp] - mov r13,QWORD[rsp] - mov rdi,QWORD[104+rsp] - - mov r12,r13 - ror r13,7 - add rbx,r14 - mov r14,rdi - ror rdi,42 - - xor r13,r12 - shr r12,7 - ror r13,1 - xor rdi,r14 - shr r14,6 - - ror rdi,19 - xor r12,r13 - xor rdi,r14 - add r12,QWORD[64+rsp] - - add r12,QWORD[120+rsp] - mov r13,r9 - add r12,rdi - mov r14,rbx - ror r13,23 - mov rdi,r10 - - xor r13,r9 - ror r14,5 - xor rdi,r11 - - mov QWORD[120+rsp],r12 - xor r14,rbx - and rdi,r9 - - ror r13,4 - add r12,rax - xor rdi,r11 - - ror r14,6 - xor r13,r9 - add r12,rdi - - mov rdi,rbx - add r12,QWORD[rbp] - xor r14,rbx - - xor rdi,rcx - ror r13,14 - mov rax,rcx - - and r15,rdi - ror r14,28 - add r12,r13 - - xor rax,r15 - add r8,r12 - add rax,r12 - - lea rbp,[24+rbp] - cmp BYTE[7+rbp],0 - jnz NEAR $L$rounds_16_xx - - mov rdi,QWORD[((128+0))+rsp] - add rax,r14 - lea rsi,[128+rsi] - - add rax,QWORD[rdi] - add rbx,QWORD[8+rdi] - add rcx,QWORD[16+rdi] - add rdx,QWORD[24+rdi] - add r8,QWORD[32+rdi] - add r9,QWORD[40+rdi] - add r10,QWORD[48+rdi] - add r11,QWORD[56+rdi] - - cmp rsi,QWORD[((128+16))+rsp] - - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rcx - mov QWORD[24+rdi],rdx - mov QWORD[32+rdi],r8 - mov QWORD[40+rdi],r9 - mov QWORD[48+rdi],r10 - mov QWORD[56+rdi],r11 - jb NEAR $L$loop - - mov rsi,QWORD[((128+24))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha512_block_data_order: -ALIGN 64 - -K512: - DQ 0x428a2f98d728ae22,0x7137449123ef65cd - DQ 0x428a2f98d728ae22,0x7137449123ef65cd - DQ 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc - DQ 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc - DQ 0x3956c25bf348b538,0x59f111f1b605d019 - DQ 0x3956c25bf348b538,0x59f111f1b605d019 - DQ 0x923f82a4af194f9b,0xab1c5ed5da6d8118 - DQ 0x923f82a4af194f9b,0xab1c5ed5da6d8118 - DQ 0xd807aa98a3030242,0x12835b0145706fbe - DQ 0xd807aa98a3030242,0x12835b0145706fbe - DQ 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2 - DQ 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2 - DQ 0x72be5d74f27b896f,0x80deb1fe3b1696b1 - DQ 0x72be5d74f27b896f,0x80deb1fe3b1696b1 - DQ 0x9bdc06a725c71235,0xc19bf174cf692694 - DQ 0x9bdc06a725c71235,0xc19bf174cf692694 - DQ 0xe49b69c19ef14ad2,0xefbe4786384f25e3 - DQ 0xe49b69c19ef14ad2,0xefbe4786384f25e3 - DQ 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65 - DQ 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65 - DQ 0x2de92c6f592b0275,0x4a7484aa6ea6e483 - DQ 0x2de92c6f592b0275,0x4a7484aa6ea6e483 - DQ 0x5cb0a9dcbd41fbd4,0x76f988da831153b5 - DQ 0x5cb0a9dcbd41fbd4,0x76f988da831153b5 - DQ 0x983e5152ee66dfab,0xa831c66d2db43210 - DQ 0x983e5152ee66dfab,0xa831c66d2db43210 - DQ 0xb00327c898fb213f,0xbf597fc7beef0ee4 - DQ 0xb00327c898fb213f,0xbf597fc7beef0ee4 - DQ 0xc6e00bf33da88fc2,0xd5a79147930aa725 - DQ 0xc6e00bf33da88fc2,0xd5a79147930aa725 - DQ 0x06ca6351e003826f,0x142929670a0e6e70 - DQ 0x06ca6351e003826f,0x142929670a0e6e70 - DQ 0x27b70a8546d22ffc,0x2e1b21385c26c926 - DQ 0x27b70a8546d22ffc,0x2e1b21385c26c926 - DQ 0x4d2c6dfc5ac42aed,0x53380d139d95b3df - DQ 0x4d2c6dfc5ac42aed,0x53380d139d95b3df - DQ 0x650a73548baf63de,0x766a0abb3c77b2a8 - DQ 0x650a73548baf63de,0x766a0abb3c77b2a8 - DQ 0x81c2c92e47edaee6,0x92722c851482353b - DQ 0x81c2c92e47edaee6,0x92722c851482353b - DQ 0xa2bfe8a14cf10364,0xa81a664bbc423001 - DQ 0xa2bfe8a14cf10364,0xa81a664bbc423001 - DQ 0xc24b8b70d0f89791,0xc76c51a30654be30 - DQ 0xc24b8b70d0f89791,0xc76c51a30654be30 - DQ 0xd192e819d6ef5218,0xd69906245565a910 - DQ 0xd192e819d6ef5218,0xd69906245565a910 - DQ 0xf40e35855771202a,0x106aa07032bbd1b8 - DQ 0xf40e35855771202a,0x106aa07032bbd1b8 - DQ 0x19a4c116b8d2d0c8,0x1e376c085141ab53 - DQ 0x19a4c116b8d2d0c8,0x1e376c085141ab53 - DQ 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8 - DQ 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8 - DQ 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb - DQ 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb - DQ 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3 - DQ 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3 - DQ 0x748f82ee5defb2fc,0x78a5636f43172f60 - DQ 0x748f82ee5defb2fc,0x78a5636f43172f60 - DQ 0x84c87814a1f0ab72,0x8cc702081a6439ec - DQ 0x84c87814a1f0ab72,0x8cc702081a6439ec - DQ 0x90befffa23631e28,0xa4506cebde82bde9 - DQ 0x90befffa23631e28,0xa4506cebde82bde9 - DQ 0xbef9a3f7b2c67915,0xc67178f2e372532b - DQ 0xbef9a3f7b2c67915,0xc67178f2e372532b - DQ 0xca273eceea26619c,0xd186b8c721c0c207 - DQ 0xca273eceea26619c,0xd186b8c721c0c207 - DQ 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178 - DQ 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178 - DQ 0x06f067aa72176fba,0x0a637dc5a2c898a6 - DQ 0x06f067aa72176fba,0x0a637dc5a2c898a6 - DQ 0x113f9804bef90dae,0x1b710b35131c471b - DQ 0x113f9804bef90dae,0x1b710b35131c471b - DQ 0x28db77f523047d84,0x32caab7b40c72493 - DQ 0x28db77f523047d84,0x32caab7b40c72493 - DQ 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c - DQ 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c - DQ 0x4cc5d4becb3e42b6,0x597f299cfc657e2a - DQ 0x4cc5d4becb3e42b6,0x597f299cfc657e2a - DQ 0x5fcb6fab3ad6faec,0x6c44198c4a475817 - DQ 0x5fcb6fab3ad6faec,0x6c44198c4a475817 - - DQ 0x0001020304050607,0x08090a0b0c0d0e0f - DQ 0x0001020304050607,0x08090a0b0c0d0e0f -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,95,54 -DB 52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 -DB 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 -DB 111,114,103,62,0 - -ALIGN 64 -sha512_block_data_order_xop: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha512_block_data_order_xop: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -$L$xop_shortcut: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - mov r11,rsp - shl rdx,4 - sub rsp,256 - lea rdx,[rdx*8+rsi] - and rsp,-64 - mov QWORD[((128+0))+rsp],rdi - mov QWORD[((128+8))+rsp],rsi - mov QWORD[((128+16))+rsp],rdx - mov QWORD[((128+24))+rsp],r11 - movaps XMMWORD[(128+32)+rsp],xmm6 - movaps XMMWORD[(128+48)+rsp],xmm7 - movaps XMMWORD[(128+64)+rsp],xmm8 - movaps XMMWORD[(128+80)+rsp],xmm9 - movaps XMMWORD[(128+96)+rsp],xmm10 - movaps XMMWORD[(128+112)+rsp],xmm11 -$L$prologue_xop: - - vzeroupper - mov rax,QWORD[rdi] - mov rbx,QWORD[8+rdi] - mov rcx,QWORD[16+rdi] - mov rdx,QWORD[24+rdi] - mov r8,QWORD[32+rdi] - mov r9,QWORD[40+rdi] - mov r10,QWORD[48+rdi] - mov r11,QWORD[56+rdi] - jmp NEAR $L$loop_xop -ALIGN 16 -$L$loop_xop: - vmovdqa xmm11,XMMWORD[((K512+1280))] - vmovdqu xmm0,XMMWORD[rsi] - lea rbp,[((K512+128))] - vmovdqu xmm1,XMMWORD[16+rsi] - vmovdqu xmm2,XMMWORD[32+rsi] - vpshufb xmm0,xmm0,xmm11 - vmovdqu xmm3,XMMWORD[48+rsi] - vpshufb xmm1,xmm1,xmm11 - vmovdqu xmm4,XMMWORD[64+rsi] - vpshufb xmm2,xmm2,xmm11 - vmovdqu xmm5,XMMWORD[80+rsi] - vpshufb xmm3,xmm3,xmm11 - vmovdqu xmm6,XMMWORD[96+rsi] - vpshufb xmm4,xmm4,xmm11 - vmovdqu xmm7,XMMWORD[112+rsi] - vpshufb xmm5,xmm5,xmm11 - vpaddq xmm8,xmm0,XMMWORD[((-128))+rbp] - vpshufb xmm6,xmm6,xmm11 - vpaddq xmm9,xmm1,XMMWORD[((-96))+rbp] - vpshufb xmm7,xmm7,xmm11 - vpaddq xmm10,xmm2,XMMWORD[((-64))+rbp] - vpaddq xmm11,xmm3,XMMWORD[((-32))+rbp] - vmovdqa XMMWORD[rsp],xmm8 - vpaddq xmm8,xmm4,XMMWORD[rbp] - vmovdqa XMMWORD[16+rsp],xmm9 - vpaddq xmm9,xmm5,XMMWORD[32+rbp] - vmovdqa XMMWORD[32+rsp],xmm10 - vpaddq xmm10,xmm6,XMMWORD[64+rbp] - vmovdqa XMMWORD[48+rsp],xmm11 - vpaddq xmm11,xmm7,XMMWORD[96+rbp] - vmovdqa XMMWORD[64+rsp],xmm8 - mov r14,rax - vmovdqa XMMWORD[80+rsp],xmm9 - mov rdi,rbx - vmovdqa XMMWORD[96+rsp],xmm10 - xor rdi,rcx - vmovdqa XMMWORD[112+rsp],xmm11 - mov r13,r8 - jmp NEAR $L$xop_00_47 - -ALIGN 16 -$L$xop_00_47: - add rbp,256 - vpalignr xmm8,xmm1,xmm0,8 - ror r13,23 - mov rax,r14 - vpalignr xmm11,xmm5,xmm4,8 - mov r12,r9 - ror r14,5 -DB 143,72,120,195,200,56 - xor r13,r8 - xor r12,r10 - vpsrlq xmm8,xmm8,7 - ror r13,4 - xor r14,rax - vpaddq xmm0,xmm0,xmm11 - and r12,r8 - xor r13,r8 - add r11,QWORD[rsp] - mov r15,rax -DB 143,72,120,195,209,7 - xor r12,r10 - ror r14,6 - vpxor xmm8,xmm8,xmm9 - xor r15,rbx - add r11,r12 - ror r13,14 - and rdi,r15 -DB 143,104,120,195,223,3 - xor r14,rax - add r11,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,rbx - ror r14,28 - vpsrlq xmm10,xmm7,6 - add rdx,r11 - add r11,rdi - vpaddq xmm0,xmm0,xmm8 - mov r13,rdx - add r14,r11 -DB 143,72,120,195,203,42 - ror r13,23 - mov r11,r14 - vpxor xmm11,xmm11,xmm10 - mov r12,r8 - ror r14,5 - xor r13,rdx - xor r12,r9 - vpxor xmm11,xmm11,xmm9 - ror r13,4 - xor r14,r11 - and r12,rdx - xor r13,rdx - vpaddq xmm0,xmm0,xmm11 - add r10,QWORD[8+rsp] - mov rdi,r11 - xor r12,r9 - ror r14,6 - vpaddq xmm10,xmm0,XMMWORD[((-128))+rbp] - xor rdi,rax - add r10,r12 - ror r13,14 - and r15,rdi - xor r14,r11 - add r10,r13 - xor r15,rax - ror r14,28 - add rcx,r10 - add r10,r15 - mov r13,rcx - add r14,r10 - vmovdqa XMMWORD[rsp],xmm10 - vpalignr xmm8,xmm2,xmm1,8 - ror r13,23 - mov r10,r14 - vpalignr xmm11,xmm6,xmm5,8 - mov r12,rdx - ror r14,5 -DB 143,72,120,195,200,56 - xor r13,rcx - xor r12,r8 - vpsrlq xmm8,xmm8,7 - ror r13,4 - xor r14,r10 - vpaddq xmm1,xmm1,xmm11 - and r12,rcx - xor r13,rcx - add r9,QWORD[16+rsp] - mov r15,r10 -DB 143,72,120,195,209,7 - xor r12,r8 - ror r14,6 - vpxor xmm8,xmm8,xmm9 - xor r15,r11 - add r9,r12 - ror r13,14 - and rdi,r15 -DB 143,104,120,195,216,3 - xor r14,r10 - add r9,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,r11 - ror r14,28 - vpsrlq xmm10,xmm0,6 - add rbx,r9 - add r9,rdi - vpaddq xmm1,xmm1,xmm8 - mov r13,rbx - add r14,r9 -DB 143,72,120,195,203,42 - ror r13,23 - mov r9,r14 - vpxor xmm11,xmm11,xmm10 - mov r12,rcx - ror r14,5 - xor r13,rbx - xor r12,rdx - vpxor xmm11,xmm11,xmm9 - ror r13,4 - xor r14,r9 - and r12,rbx - xor r13,rbx - vpaddq xmm1,xmm1,xmm11 - add r8,QWORD[24+rsp] - mov rdi,r9 - xor r12,rdx - ror r14,6 - vpaddq xmm10,xmm1,XMMWORD[((-96))+rbp] - xor rdi,r10 - add r8,r12 - ror r13,14 - and r15,rdi - xor r14,r9 - add r8,r13 - xor r15,r10 - ror r14,28 - add rax,r8 - add r8,r15 - mov r13,rax - add r14,r8 - vmovdqa XMMWORD[16+rsp],xmm10 - vpalignr xmm8,xmm3,xmm2,8 - ror r13,23 - mov r8,r14 - vpalignr xmm11,xmm7,xmm6,8 - mov r12,rbx - ror r14,5 -DB 143,72,120,195,200,56 - xor r13,rax - xor r12,rcx - vpsrlq xmm8,xmm8,7 - ror r13,4 - xor r14,r8 - vpaddq xmm2,xmm2,xmm11 - and r12,rax - xor r13,rax - add rdx,QWORD[32+rsp] - mov r15,r8 -DB 143,72,120,195,209,7 - xor r12,rcx - ror r14,6 - vpxor xmm8,xmm8,xmm9 - xor r15,r9 - add rdx,r12 - ror r13,14 - and rdi,r15 -DB 143,104,120,195,217,3 - xor r14,r8 - add rdx,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,r9 - ror r14,28 - vpsrlq xmm10,xmm1,6 - add r11,rdx - add rdx,rdi - vpaddq xmm2,xmm2,xmm8 - mov r13,r11 - add r14,rdx -DB 143,72,120,195,203,42 - ror r13,23 - mov rdx,r14 - vpxor xmm11,xmm11,xmm10 - mov r12,rax - ror r14,5 - xor r13,r11 - xor r12,rbx - vpxor xmm11,xmm11,xmm9 - ror r13,4 - xor r14,rdx - and r12,r11 - xor r13,r11 - vpaddq xmm2,xmm2,xmm11 - add rcx,QWORD[40+rsp] - mov rdi,rdx - xor r12,rbx - ror r14,6 - vpaddq xmm10,xmm2,XMMWORD[((-64))+rbp] - xor rdi,r8 - add rcx,r12 - ror r13,14 - and r15,rdi - xor r14,rdx - add rcx,r13 - xor r15,r8 - ror r14,28 - add r10,rcx - add rcx,r15 - mov r13,r10 - add r14,rcx - vmovdqa XMMWORD[32+rsp],xmm10 - vpalignr xmm8,xmm4,xmm3,8 - ror r13,23 - mov rcx,r14 - vpalignr xmm11,xmm0,xmm7,8 - mov r12,r11 - ror r14,5 -DB 143,72,120,195,200,56 - xor r13,r10 - xor r12,rax - vpsrlq xmm8,xmm8,7 - ror r13,4 - xor r14,rcx - vpaddq xmm3,xmm3,xmm11 - and r12,r10 - xor r13,r10 - add rbx,QWORD[48+rsp] - mov r15,rcx -DB 143,72,120,195,209,7 - xor r12,rax - ror r14,6 - vpxor xmm8,xmm8,xmm9 - xor r15,rdx - add rbx,r12 - ror r13,14 - and rdi,r15 -DB 143,104,120,195,218,3 - xor r14,rcx - add rbx,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,rdx - ror r14,28 - vpsrlq xmm10,xmm2,6 - add r9,rbx - add rbx,rdi - vpaddq xmm3,xmm3,xmm8 - mov r13,r9 - add r14,rbx -DB 143,72,120,195,203,42 - ror r13,23 - mov rbx,r14 - vpxor xmm11,xmm11,xmm10 - mov r12,r10 - ror r14,5 - xor r13,r9 - xor r12,r11 - vpxor xmm11,xmm11,xmm9 - ror r13,4 - xor r14,rbx - and r12,r9 - xor r13,r9 - vpaddq xmm3,xmm3,xmm11 - add rax,QWORD[56+rsp] - mov rdi,rbx - xor r12,r11 - ror r14,6 - vpaddq xmm10,xmm3,XMMWORD[((-32))+rbp] - xor rdi,rcx - add rax,r12 - ror r13,14 - and r15,rdi - xor r14,rbx - add rax,r13 - xor r15,rcx - ror r14,28 - add r8,rax - add rax,r15 - mov r13,r8 - add r14,rax - vmovdqa XMMWORD[48+rsp],xmm10 - vpalignr xmm8,xmm5,xmm4,8 - ror r13,23 - mov rax,r14 - vpalignr xmm11,xmm1,xmm0,8 - mov r12,r9 - ror r14,5 -DB 143,72,120,195,200,56 - xor r13,r8 - xor r12,r10 - vpsrlq xmm8,xmm8,7 - ror r13,4 - xor r14,rax - vpaddq xmm4,xmm4,xmm11 - and r12,r8 - xor r13,r8 - add r11,QWORD[64+rsp] - mov r15,rax -DB 143,72,120,195,209,7 - xor r12,r10 - ror r14,6 - vpxor xmm8,xmm8,xmm9 - xor r15,rbx - add r11,r12 - ror r13,14 - and rdi,r15 -DB 143,104,120,195,219,3 - xor r14,rax - add r11,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,rbx - ror r14,28 - vpsrlq xmm10,xmm3,6 - add rdx,r11 - add r11,rdi - vpaddq xmm4,xmm4,xmm8 - mov r13,rdx - add r14,r11 -DB 143,72,120,195,203,42 - ror r13,23 - mov r11,r14 - vpxor xmm11,xmm11,xmm10 - mov r12,r8 - ror r14,5 - xor r13,rdx - xor r12,r9 - vpxor xmm11,xmm11,xmm9 - ror r13,4 - xor r14,r11 - and r12,rdx - xor r13,rdx - vpaddq xmm4,xmm4,xmm11 - add r10,QWORD[72+rsp] - mov rdi,r11 - xor r12,r9 - ror r14,6 - vpaddq xmm10,xmm4,XMMWORD[rbp] - xor rdi,rax - add r10,r12 - ror r13,14 - and r15,rdi - xor r14,r11 - add r10,r13 - xor r15,rax - ror r14,28 - add rcx,r10 - add r10,r15 - mov r13,rcx - add r14,r10 - vmovdqa XMMWORD[64+rsp],xmm10 - vpalignr xmm8,xmm6,xmm5,8 - ror r13,23 - mov r10,r14 - vpalignr xmm11,xmm2,xmm1,8 - mov r12,rdx - ror r14,5 -DB 143,72,120,195,200,56 - xor r13,rcx - xor r12,r8 - vpsrlq xmm8,xmm8,7 - ror r13,4 - xor r14,r10 - vpaddq xmm5,xmm5,xmm11 - and r12,rcx - xor r13,rcx - add r9,QWORD[80+rsp] - mov r15,r10 -DB 143,72,120,195,209,7 - xor r12,r8 - ror r14,6 - vpxor xmm8,xmm8,xmm9 - xor r15,r11 - add r9,r12 - ror r13,14 - and rdi,r15 -DB 143,104,120,195,220,3 - xor r14,r10 - add r9,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,r11 - ror r14,28 - vpsrlq xmm10,xmm4,6 - add rbx,r9 - add r9,rdi - vpaddq xmm5,xmm5,xmm8 - mov r13,rbx - add r14,r9 -DB 143,72,120,195,203,42 - ror r13,23 - mov r9,r14 - vpxor xmm11,xmm11,xmm10 - mov r12,rcx - ror r14,5 - xor r13,rbx - xor r12,rdx - vpxor xmm11,xmm11,xmm9 - ror r13,4 - xor r14,r9 - and r12,rbx - xor r13,rbx - vpaddq xmm5,xmm5,xmm11 - add r8,QWORD[88+rsp] - mov rdi,r9 - xor r12,rdx - ror r14,6 - vpaddq xmm10,xmm5,XMMWORD[32+rbp] - xor rdi,r10 - add r8,r12 - ror r13,14 - and r15,rdi - xor r14,r9 - add r8,r13 - xor r15,r10 - ror r14,28 - add rax,r8 - add r8,r15 - mov r13,rax - add r14,r8 - vmovdqa XMMWORD[80+rsp],xmm10 - vpalignr xmm8,xmm7,xmm6,8 - ror r13,23 - mov r8,r14 - vpalignr xmm11,xmm3,xmm2,8 - mov r12,rbx - ror r14,5 -DB 143,72,120,195,200,56 - xor r13,rax - xor r12,rcx - vpsrlq xmm8,xmm8,7 - ror r13,4 - xor r14,r8 - vpaddq xmm6,xmm6,xmm11 - and r12,rax - xor r13,rax - add rdx,QWORD[96+rsp] - mov r15,r8 -DB 143,72,120,195,209,7 - xor r12,rcx - ror r14,6 - vpxor xmm8,xmm8,xmm9 - xor r15,r9 - add rdx,r12 - ror r13,14 - and rdi,r15 -DB 143,104,120,195,221,3 - xor r14,r8 - add rdx,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,r9 - ror r14,28 - vpsrlq xmm10,xmm5,6 - add r11,rdx - add rdx,rdi - vpaddq xmm6,xmm6,xmm8 - mov r13,r11 - add r14,rdx -DB 143,72,120,195,203,42 - ror r13,23 - mov rdx,r14 - vpxor xmm11,xmm11,xmm10 - mov r12,rax - ror r14,5 - xor r13,r11 - xor r12,rbx - vpxor xmm11,xmm11,xmm9 - ror r13,4 - xor r14,rdx - and r12,r11 - xor r13,r11 - vpaddq xmm6,xmm6,xmm11 - add rcx,QWORD[104+rsp] - mov rdi,rdx - xor r12,rbx - ror r14,6 - vpaddq xmm10,xmm6,XMMWORD[64+rbp] - xor rdi,r8 - add rcx,r12 - ror r13,14 - and r15,rdi - xor r14,rdx - add rcx,r13 - xor r15,r8 - ror r14,28 - add r10,rcx - add rcx,r15 - mov r13,r10 - add r14,rcx - vmovdqa XMMWORD[96+rsp],xmm10 - vpalignr xmm8,xmm0,xmm7,8 - ror r13,23 - mov rcx,r14 - vpalignr xmm11,xmm4,xmm3,8 - mov r12,r11 - ror r14,5 -DB 143,72,120,195,200,56 - xor r13,r10 - xor r12,rax - vpsrlq xmm8,xmm8,7 - ror r13,4 - xor r14,rcx - vpaddq xmm7,xmm7,xmm11 - and r12,r10 - xor r13,r10 - add rbx,QWORD[112+rsp] - mov r15,rcx -DB 143,72,120,195,209,7 - xor r12,rax - ror r14,6 - vpxor xmm8,xmm8,xmm9 - xor r15,rdx - add rbx,r12 - ror r13,14 - and rdi,r15 -DB 143,104,120,195,222,3 - xor r14,rcx - add rbx,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,rdx - ror r14,28 - vpsrlq xmm10,xmm6,6 - add r9,rbx - add rbx,rdi - vpaddq xmm7,xmm7,xmm8 - mov r13,r9 - add r14,rbx -DB 143,72,120,195,203,42 - ror r13,23 - mov rbx,r14 - vpxor xmm11,xmm11,xmm10 - mov r12,r10 - ror r14,5 - xor r13,r9 - xor r12,r11 - vpxor xmm11,xmm11,xmm9 - ror r13,4 - xor r14,rbx - and r12,r9 - xor r13,r9 - vpaddq xmm7,xmm7,xmm11 - add rax,QWORD[120+rsp] - mov rdi,rbx - xor r12,r11 - ror r14,6 - vpaddq xmm10,xmm7,XMMWORD[96+rbp] - xor rdi,rcx - add rax,r12 - ror r13,14 - and r15,rdi - xor r14,rbx - add rax,r13 - xor r15,rcx - ror r14,28 - add r8,rax - add rax,r15 - mov r13,r8 - add r14,rax - vmovdqa XMMWORD[112+rsp],xmm10 - cmp BYTE[135+rbp],0 - jne NEAR $L$xop_00_47 - ror r13,23 - mov rax,r14 - mov r12,r9 - ror r14,5 - xor r13,r8 - xor r12,r10 - ror r13,4 - xor r14,rax - and r12,r8 - xor r13,r8 - add r11,QWORD[rsp] - mov r15,rax - xor r12,r10 - ror r14,6 - xor r15,rbx - add r11,r12 - ror r13,14 - and rdi,r15 - xor r14,rax - add r11,r13 - xor rdi,rbx - ror r14,28 - add rdx,r11 - add r11,rdi - mov r13,rdx - add r14,r11 - ror r13,23 - mov r11,r14 - mov r12,r8 - ror r14,5 - xor r13,rdx - xor r12,r9 - ror r13,4 - xor r14,r11 - and r12,rdx - xor r13,rdx - add r10,QWORD[8+rsp] - mov rdi,r11 - xor r12,r9 - ror r14,6 - xor rdi,rax - add r10,r12 - ror r13,14 - and r15,rdi - xor r14,r11 - add r10,r13 - xor r15,rax - ror r14,28 - add rcx,r10 - add r10,r15 - mov r13,rcx - add r14,r10 - ror r13,23 - mov r10,r14 - mov r12,rdx - ror r14,5 - xor r13,rcx - xor r12,r8 - ror r13,4 - xor r14,r10 - and r12,rcx - xor r13,rcx - add r9,QWORD[16+rsp] - mov r15,r10 - xor r12,r8 - ror r14,6 - xor r15,r11 - add r9,r12 - ror r13,14 - and rdi,r15 - xor r14,r10 - add r9,r13 - xor rdi,r11 - ror r14,28 - add rbx,r9 - add r9,rdi - mov r13,rbx - add r14,r9 - ror r13,23 - mov r9,r14 - mov r12,rcx - ror r14,5 - xor r13,rbx - xor r12,rdx - ror r13,4 - xor r14,r9 - and r12,rbx - xor r13,rbx - add r8,QWORD[24+rsp] - mov rdi,r9 - xor r12,rdx - ror r14,6 - xor rdi,r10 - add r8,r12 - ror r13,14 - and r15,rdi - xor r14,r9 - add r8,r13 - xor r15,r10 - ror r14,28 - add rax,r8 - add r8,r15 - mov r13,rax - add r14,r8 - ror r13,23 - mov r8,r14 - mov r12,rbx - ror r14,5 - xor r13,rax - xor r12,rcx - ror r13,4 - xor r14,r8 - and r12,rax - xor r13,rax - add rdx,QWORD[32+rsp] - mov r15,r8 - xor r12,rcx - ror r14,6 - xor r15,r9 - add rdx,r12 - ror r13,14 - and rdi,r15 - xor r14,r8 - add rdx,r13 - xor rdi,r9 - ror r14,28 - add r11,rdx - add rdx,rdi - mov r13,r11 - add r14,rdx - ror r13,23 - mov rdx,r14 - mov r12,rax - ror r14,5 - xor r13,r11 - xor r12,rbx - ror r13,4 - xor r14,rdx - and r12,r11 - xor r13,r11 - add rcx,QWORD[40+rsp] - mov rdi,rdx - xor r12,rbx - ror r14,6 - xor rdi,r8 - add rcx,r12 - ror r13,14 - and r15,rdi - xor r14,rdx - add rcx,r13 - xor r15,r8 - ror r14,28 - add r10,rcx - add rcx,r15 - mov r13,r10 - add r14,rcx - ror r13,23 - mov rcx,r14 - mov r12,r11 - ror r14,5 - xor r13,r10 - xor r12,rax - ror r13,4 - xor r14,rcx - and r12,r10 - xor r13,r10 - add rbx,QWORD[48+rsp] - mov r15,rcx - xor r12,rax - ror r14,6 - xor r15,rdx - add rbx,r12 - ror r13,14 - and rdi,r15 - xor r14,rcx - add rbx,r13 - xor rdi,rdx - ror r14,28 - add r9,rbx - add rbx,rdi - mov r13,r9 - add r14,rbx - ror r13,23 - mov rbx,r14 - mov r12,r10 - ror r14,5 - xor r13,r9 - xor r12,r11 - ror r13,4 - xor r14,rbx - and r12,r9 - xor r13,r9 - add rax,QWORD[56+rsp] - mov rdi,rbx - xor r12,r11 - ror r14,6 - xor rdi,rcx - add rax,r12 - ror r13,14 - and r15,rdi - xor r14,rbx - add rax,r13 - xor r15,rcx - ror r14,28 - add r8,rax - add rax,r15 - mov r13,r8 - add r14,rax - ror r13,23 - mov rax,r14 - mov r12,r9 - ror r14,5 - xor r13,r8 - xor r12,r10 - ror r13,4 - xor r14,rax - and r12,r8 - xor r13,r8 - add r11,QWORD[64+rsp] - mov r15,rax - xor r12,r10 - ror r14,6 - xor r15,rbx - add r11,r12 - ror r13,14 - and rdi,r15 - xor r14,rax - add r11,r13 - xor rdi,rbx - ror r14,28 - add rdx,r11 - add r11,rdi - mov r13,rdx - add r14,r11 - ror r13,23 - mov r11,r14 - mov r12,r8 - ror r14,5 - xor r13,rdx - xor r12,r9 - ror r13,4 - xor r14,r11 - and r12,rdx - xor r13,rdx - add r10,QWORD[72+rsp] - mov rdi,r11 - xor r12,r9 - ror r14,6 - xor rdi,rax - add r10,r12 - ror r13,14 - and r15,rdi - xor r14,r11 - add r10,r13 - xor r15,rax - ror r14,28 - add rcx,r10 - add r10,r15 - mov r13,rcx - add r14,r10 - ror r13,23 - mov r10,r14 - mov r12,rdx - ror r14,5 - xor r13,rcx - xor r12,r8 - ror r13,4 - xor r14,r10 - and r12,rcx - xor r13,rcx - add r9,QWORD[80+rsp] - mov r15,r10 - xor r12,r8 - ror r14,6 - xor r15,r11 - add r9,r12 - ror r13,14 - and rdi,r15 - xor r14,r10 - add r9,r13 - xor rdi,r11 - ror r14,28 - add rbx,r9 - add r9,rdi - mov r13,rbx - add r14,r9 - ror r13,23 - mov r9,r14 - mov r12,rcx - ror r14,5 - xor r13,rbx - xor r12,rdx - ror r13,4 - xor r14,r9 - and r12,rbx - xor r13,rbx - add r8,QWORD[88+rsp] - mov rdi,r9 - xor r12,rdx - ror r14,6 - xor rdi,r10 - add r8,r12 - ror r13,14 - and r15,rdi - xor r14,r9 - add r8,r13 - xor r15,r10 - ror r14,28 - add rax,r8 - add r8,r15 - mov r13,rax - add r14,r8 - ror r13,23 - mov r8,r14 - mov r12,rbx - ror r14,5 - xor r13,rax - xor r12,rcx - ror r13,4 - xor r14,r8 - and r12,rax - xor r13,rax - add rdx,QWORD[96+rsp] - mov r15,r8 - xor r12,rcx - ror r14,6 - xor r15,r9 - add rdx,r12 - ror r13,14 - and rdi,r15 - xor r14,r8 - add rdx,r13 - xor rdi,r9 - ror r14,28 - add r11,rdx - add rdx,rdi - mov r13,r11 - add r14,rdx - ror r13,23 - mov rdx,r14 - mov r12,rax - ror r14,5 - xor r13,r11 - xor r12,rbx - ror r13,4 - xor r14,rdx - and r12,r11 - xor r13,r11 - add rcx,QWORD[104+rsp] - mov rdi,rdx - xor r12,rbx - ror r14,6 - xor rdi,r8 - add rcx,r12 - ror r13,14 - and r15,rdi - xor r14,rdx - add rcx,r13 - xor r15,r8 - ror r14,28 - add r10,rcx - add rcx,r15 - mov r13,r10 - add r14,rcx - ror r13,23 - mov rcx,r14 - mov r12,r11 - ror r14,5 - xor r13,r10 - xor r12,rax - ror r13,4 - xor r14,rcx - and r12,r10 - xor r13,r10 - add rbx,QWORD[112+rsp] - mov r15,rcx - xor r12,rax - ror r14,6 - xor r15,rdx - add rbx,r12 - ror r13,14 - and rdi,r15 - xor r14,rcx - add rbx,r13 - xor rdi,rdx - ror r14,28 - add r9,rbx - add rbx,rdi - mov r13,r9 - add r14,rbx - ror r13,23 - mov rbx,r14 - mov r12,r10 - ror r14,5 - xor r13,r9 - xor r12,r11 - ror r13,4 - xor r14,rbx - and r12,r9 - xor r13,r9 - add rax,QWORD[120+rsp] - mov rdi,rbx - xor r12,r11 - ror r14,6 - xor rdi,rcx - add rax,r12 - ror r13,14 - and r15,rdi - xor r14,rbx - add rax,r13 - xor r15,rcx - ror r14,28 - add r8,rax - add rax,r15 - mov r13,r8 - add r14,rax - mov rdi,QWORD[((128+0))+rsp] - mov rax,r14 - - add rax,QWORD[rdi] - lea rsi,[128+rsi] - add rbx,QWORD[8+rdi] - add rcx,QWORD[16+rdi] - add rdx,QWORD[24+rdi] - add r8,QWORD[32+rdi] - add r9,QWORD[40+rdi] - add r10,QWORD[48+rdi] - add r11,QWORD[56+rdi] - - cmp rsi,QWORD[((128+16))+rsp] - - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rcx - mov QWORD[24+rdi],rdx - mov QWORD[32+rdi],r8 - mov QWORD[40+rdi],r9 - mov QWORD[48+rdi],r10 - mov QWORD[56+rdi],r11 - jb NEAR $L$loop_xop - - mov rsi,QWORD[((128+24))+rsp] - vzeroupper - movaps xmm6,XMMWORD[((128+32))+rsp] - movaps xmm7,XMMWORD[((128+48))+rsp] - movaps xmm8,XMMWORD[((128+64))+rsp] - movaps xmm9,XMMWORD[((128+80))+rsp] - movaps xmm10,XMMWORD[((128+96))+rsp] - movaps xmm11,XMMWORD[((128+112))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue_xop: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha512_block_data_order_xop: - -ALIGN 64 -sha512_block_data_order_avx: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha512_block_data_order_avx: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -$L$avx_shortcut: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - mov r11,rsp - shl rdx,4 - sub rsp,256 - lea rdx,[rdx*8+rsi] - and rsp,-64 - mov QWORD[((128+0))+rsp],rdi - mov QWORD[((128+8))+rsp],rsi - mov QWORD[((128+16))+rsp],rdx - mov QWORD[((128+24))+rsp],r11 - movaps XMMWORD[(128+32)+rsp],xmm6 - movaps XMMWORD[(128+48)+rsp],xmm7 - movaps XMMWORD[(128+64)+rsp],xmm8 - movaps XMMWORD[(128+80)+rsp],xmm9 - movaps XMMWORD[(128+96)+rsp],xmm10 - movaps XMMWORD[(128+112)+rsp],xmm11 -$L$prologue_avx: - - vzeroupper - mov rax,QWORD[rdi] - mov rbx,QWORD[8+rdi] - mov rcx,QWORD[16+rdi] - mov rdx,QWORD[24+rdi] - mov r8,QWORD[32+rdi] - mov r9,QWORD[40+rdi] - mov r10,QWORD[48+rdi] - mov r11,QWORD[56+rdi] - jmp NEAR $L$loop_avx -ALIGN 16 -$L$loop_avx: - vmovdqa xmm11,XMMWORD[((K512+1280))] - vmovdqu xmm0,XMMWORD[rsi] - lea rbp,[((K512+128))] - vmovdqu xmm1,XMMWORD[16+rsi] - vmovdqu xmm2,XMMWORD[32+rsi] - vpshufb xmm0,xmm0,xmm11 - vmovdqu xmm3,XMMWORD[48+rsi] - vpshufb xmm1,xmm1,xmm11 - vmovdqu xmm4,XMMWORD[64+rsi] - vpshufb xmm2,xmm2,xmm11 - vmovdqu xmm5,XMMWORD[80+rsi] - vpshufb xmm3,xmm3,xmm11 - vmovdqu xmm6,XMMWORD[96+rsi] - vpshufb xmm4,xmm4,xmm11 - vmovdqu xmm7,XMMWORD[112+rsi] - vpshufb xmm5,xmm5,xmm11 - vpaddq xmm8,xmm0,XMMWORD[((-128))+rbp] - vpshufb xmm6,xmm6,xmm11 - vpaddq xmm9,xmm1,XMMWORD[((-96))+rbp] - vpshufb xmm7,xmm7,xmm11 - vpaddq xmm10,xmm2,XMMWORD[((-64))+rbp] - vpaddq xmm11,xmm3,XMMWORD[((-32))+rbp] - vmovdqa XMMWORD[rsp],xmm8 - vpaddq xmm8,xmm4,XMMWORD[rbp] - vmovdqa XMMWORD[16+rsp],xmm9 - vpaddq xmm9,xmm5,XMMWORD[32+rbp] - vmovdqa XMMWORD[32+rsp],xmm10 - vpaddq xmm10,xmm6,XMMWORD[64+rbp] - vmovdqa XMMWORD[48+rsp],xmm11 - vpaddq xmm11,xmm7,XMMWORD[96+rbp] - vmovdqa XMMWORD[64+rsp],xmm8 - mov r14,rax - vmovdqa XMMWORD[80+rsp],xmm9 - mov rdi,rbx - vmovdqa XMMWORD[96+rsp],xmm10 - xor rdi,rcx - vmovdqa XMMWORD[112+rsp],xmm11 - mov r13,r8 - jmp NEAR $L$avx_00_47 - -ALIGN 16 -$L$avx_00_47: - add rbp,256 - vpalignr xmm8,xmm1,xmm0,8 - shrd r13,r13,23 - mov rax,r14 - vpalignr xmm11,xmm5,xmm4,8 - mov r12,r9 - shrd r14,r14,5 - vpsrlq xmm10,xmm8,1 - xor r13,r8 - xor r12,r10 - vpaddq xmm0,xmm0,xmm11 - shrd r13,r13,4 - xor r14,rax - vpsrlq xmm11,xmm8,7 - and r12,r8 - xor r13,r8 - vpsllq xmm9,xmm8,56 - add r11,QWORD[rsp] - mov r15,rax - vpxor xmm8,xmm11,xmm10 - xor r12,r10 - shrd r14,r14,6 - vpsrlq xmm10,xmm10,7 - xor r15,rbx - add r11,r12 - vpxor xmm8,xmm8,xmm9 - shrd r13,r13,14 - and rdi,r15 - vpsllq xmm9,xmm9,7 - xor r14,rax - add r11,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,rbx - shrd r14,r14,28 - vpsrlq xmm11,xmm7,6 - add rdx,r11 - add r11,rdi - vpxor xmm8,xmm8,xmm9 - mov r13,rdx - add r14,r11 - vpsllq xmm10,xmm7,3 - shrd r13,r13,23 - mov r11,r14 - vpaddq xmm0,xmm0,xmm8 - mov r12,r8 - shrd r14,r14,5 - vpsrlq xmm9,xmm7,19 - xor r13,rdx - xor r12,r9 - vpxor xmm11,xmm11,xmm10 - shrd r13,r13,4 - xor r14,r11 - vpsllq xmm10,xmm10,42 - and r12,rdx - xor r13,rdx - vpxor xmm11,xmm11,xmm9 - add r10,QWORD[8+rsp] - mov rdi,r11 - vpsrlq xmm9,xmm9,42 - xor r12,r9 - shrd r14,r14,6 - vpxor xmm11,xmm11,xmm10 - xor rdi,rax - add r10,r12 - vpxor xmm11,xmm11,xmm9 - shrd r13,r13,14 - and r15,rdi - vpaddq xmm0,xmm0,xmm11 - xor r14,r11 - add r10,r13 - vpaddq xmm10,xmm0,XMMWORD[((-128))+rbp] - xor r15,rax - shrd r14,r14,28 - add rcx,r10 - add r10,r15 - mov r13,rcx - add r14,r10 - vmovdqa XMMWORD[rsp],xmm10 - vpalignr xmm8,xmm2,xmm1,8 - shrd r13,r13,23 - mov r10,r14 - vpalignr xmm11,xmm6,xmm5,8 - mov r12,rdx - shrd r14,r14,5 - vpsrlq xmm10,xmm8,1 - xor r13,rcx - xor r12,r8 - vpaddq xmm1,xmm1,xmm11 - shrd r13,r13,4 - xor r14,r10 - vpsrlq xmm11,xmm8,7 - and r12,rcx - xor r13,rcx - vpsllq xmm9,xmm8,56 - add r9,QWORD[16+rsp] - mov r15,r10 - vpxor xmm8,xmm11,xmm10 - xor r12,r8 - shrd r14,r14,6 - vpsrlq xmm10,xmm10,7 - xor r15,r11 - add r9,r12 - vpxor xmm8,xmm8,xmm9 - shrd r13,r13,14 - and rdi,r15 - vpsllq xmm9,xmm9,7 - xor r14,r10 - add r9,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,r11 - shrd r14,r14,28 - vpsrlq xmm11,xmm0,6 - add rbx,r9 - add r9,rdi - vpxor xmm8,xmm8,xmm9 - mov r13,rbx - add r14,r9 - vpsllq xmm10,xmm0,3 - shrd r13,r13,23 - mov r9,r14 - vpaddq xmm1,xmm1,xmm8 - mov r12,rcx - shrd r14,r14,5 - vpsrlq xmm9,xmm0,19 - xor r13,rbx - xor r12,rdx - vpxor xmm11,xmm11,xmm10 - shrd r13,r13,4 - xor r14,r9 - vpsllq xmm10,xmm10,42 - and r12,rbx - xor r13,rbx - vpxor xmm11,xmm11,xmm9 - add r8,QWORD[24+rsp] - mov rdi,r9 - vpsrlq xmm9,xmm9,42 - xor r12,rdx - shrd r14,r14,6 - vpxor xmm11,xmm11,xmm10 - xor rdi,r10 - add r8,r12 - vpxor xmm11,xmm11,xmm9 - shrd r13,r13,14 - and r15,rdi - vpaddq xmm1,xmm1,xmm11 - xor r14,r9 - add r8,r13 - vpaddq xmm10,xmm1,XMMWORD[((-96))+rbp] - xor r15,r10 - shrd r14,r14,28 - add rax,r8 - add r8,r15 - mov r13,rax - add r14,r8 - vmovdqa XMMWORD[16+rsp],xmm10 - vpalignr xmm8,xmm3,xmm2,8 - shrd r13,r13,23 - mov r8,r14 - vpalignr xmm11,xmm7,xmm6,8 - mov r12,rbx - shrd r14,r14,5 - vpsrlq xmm10,xmm8,1 - xor r13,rax - xor r12,rcx - vpaddq xmm2,xmm2,xmm11 - shrd r13,r13,4 - xor r14,r8 - vpsrlq xmm11,xmm8,7 - and r12,rax - xor r13,rax - vpsllq xmm9,xmm8,56 - add rdx,QWORD[32+rsp] - mov r15,r8 - vpxor xmm8,xmm11,xmm10 - xor r12,rcx - shrd r14,r14,6 - vpsrlq xmm10,xmm10,7 - xor r15,r9 - add rdx,r12 - vpxor xmm8,xmm8,xmm9 - shrd r13,r13,14 - and rdi,r15 - vpsllq xmm9,xmm9,7 - xor r14,r8 - add rdx,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,r9 - shrd r14,r14,28 - vpsrlq xmm11,xmm1,6 - add r11,rdx - add rdx,rdi - vpxor xmm8,xmm8,xmm9 - mov r13,r11 - add r14,rdx - vpsllq xmm10,xmm1,3 - shrd r13,r13,23 - mov rdx,r14 - vpaddq xmm2,xmm2,xmm8 - mov r12,rax - shrd r14,r14,5 - vpsrlq xmm9,xmm1,19 - xor r13,r11 - xor r12,rbx - vpxor xmm11,xmm11,xmm10 - shrd r13,r13,4 - xor r14,rdx - vpsllq xmm10,xmm10,42 - and r12,r11 - xor r13,r11 - vpxor xmm11,xmm11,xmm9 - add rcx,QWORD[40+rsp] - mov rdi,rdx - vpsrlq xmm9,xmm9,42 - xor r12,rbx - shrd r14,r14,6 - vpxor xmm11,xmm11,xmm10 - xor rdi,r8 - add rcx,r12 - vpxor xmm11,xmm11,xmm9 - shrd r13,r13,14 - and r15,rdi - vpaddq xmm2,xmm2,xmm11 - xor r14,rdx - add rcx,r13 - vpaddq xmm10,xmm2,XMMWORD[((-64))+rbp] - xor r15,r8 - shrd r14,r14,28 - add r10,rcx - add rcx,r15 - mov r13,r10 - add r14,rcx - vmovdqa XMMWORD[32+rsp],xmm10 - vpalignr xmm8,xmm4,xmm3,8 - shrd r13,r13,23 - mov rcx,r14 - vpalignr xmm11,xmm0,xmm7,8 - mov r12,r11 - shrd r14,r14,5 - vpsrlq xmm10,xmm8,1 - xor r13,r10 - xor r12,rax - vpaddq xmm3,xmm3,xmm11 - shrd r13,r13,4 - xor r14,rcx - vpsrlq xmm11,xmm8,7 - and r12,r10 - xor r13,r10 - vpsllq xmm9,xmm8,56 - add rbx,QWORD[48+rsp] - mov r15,rcx - vpxor xmm8,xmm11,xmm10 - xor r12,rax - shrd r14,r14,6 - vpsrlq xmm10,xmm10,7 - xor r15,rdx - add rbx,r12 - vpxor xmm8,xmm8,xmm9 - shrd r13,r13,14 - and rdi,r15 - vpsllq xmm9,xmm9,7 - xor r14,rcx - add rbx,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,rdx - shrd r14,r14,28 - vpsrlq xmm11,xmm2,6 - add r9,rbx - add rbx,rdi - vpxor xmm8,xmm8,xmm9 - mov r13,r9 - add r14,rbx - vpsllq xmm10,xmm2,3 - shrd r13,r13,23 - mov rbx,r14 - vpaddq xmm3,xmm3,xmm8 - mov r12,r10 - shrd r14,r14,5 - vpsrlq xmm9,xmm2,19 - xor r13,r9 - xor r12,r11 - vpxor xmm11,xmm11,xmm10 - shrd r13,r13,4 - xor r14,rbx - vpsllq xmm10,xmm10,42 - and r12,r9 - xor r13,r9 - vpxor xmm11,xmm11,xmm9 - add rax,QWORD[56+rsp] - mov rdi,rbx - vpsrlq xmm9,xmm9,42 - xor r12,r11 - shrd r14,r14,6 - vpxor xmm11,xmm11,xmm10 - xor rdi,rcx - add rax,r12 - vpxor xmm11,xmm11,xmm9 - shrd r13,r13,14 - and r15,rdi - vpaddq xmm3,xmm3,xmm11 - xor r14,rbx - add rax,r13 - vpaddq xmm10,xmm3,XMMWORD[((-32))+rbp] - xor r15,rcx - shrd r14,r14,28 - add r8,rax - add rax,r15 - mov r13,r8 - add r14,rax - vmovdqa XMMWORD[48+rsp],xmm10 - vpalignr xmm8,xmm5,xmm4,8 - shrd r13,r13,23 - mov rax,r14 - vpalignr xmm11,xmm1,xmm0,8 - mov r12,r9 - shrd r14,r14,5 - vpsrlq xmm10,xmm8,1 - xor r13,r8 - xor r12,r10 - vpaddq xmm4,xmm4,xmm11 - shrd r13,r13,4 - xor r14,rax - vpsrlq xmm11,xmm8,7 - and r12,r8 - xor r13,r8 - vpsllq xmm9,xmm8,56 - add r11,QWORD[64+rsp] - mov r15,rax - vpxor xmm8,xmm11,xmm10 - xor r12,r10 - shrd r14,r14,6 - vpsrlq xmm10,xmm10,7 - xor r15,rbx - add r11,r12 - vpxor xmm8,xmm8,xmm9 - shrd r13,r13,14 - and rdi,r15 - vpsllq xmm9,xmm9,7 - xor r14,rax - add r11,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,rbx - shrd r14,r14,28 - vpsrlq xmm11,xmm3,6 - add rdx,r11 - add r11,rdi - vpxor xmm8,xmm8,xmm9 - mov r13,rdx - add r14,r11 - vpsllq xmm10,xmm3,3 - shrd r13,r13,23 - mov r11,r14 - vpaddq xmm4,xmm4,xmm8 - mov r12,r8 - shrd r14,r14,5 - vpsrlq xmm9,xmm3,19 - xor r13,rdx - xor r12,r9 - vpxor xmm11,xmm11,xmm10 - shrd r13,r13,4 - xor r14,r11 - vpsllq xmm10,xmm10,42 - and r12,rdx - xor r13,rdx - vpxor xmm11,xmm11,xmm9 - add r10,QWORD[72+rsp] - mov rdi,r11 - vpsrlq xmm9,xmm9,42 - xor r12,r9 - shrd r14,r14,6 - vpxor xmm11,xmm11,xmm10 - xor rdi,rax - add r10,r12 - vpxor xmm11,xmm11,xmm9 - shrd r13,r13,14 - and r15,rdi - vpaddq xmm4,xmm4,xmm11 - xor r14,r11 - add r10,r13 - vpaddq xmm10,xmm4,XMMWORD[rbp] - xor r15,rax - shrd r14,r14,28 - add rcx,r10 - add r10,r15 - mov r13,rcx - add r14,r10 - vmovdqa XMMWORD[64+rsp],xmm10 - vpalignr xmm8,xmm6,xmm5,8 - shrd r13,r13,23 - mov r10,r14 - vpalignr xmm11,xmm2,xmm1,8 - mov r12,rdx - shrd r14,r14,5 - vpsrlq xmm10,xmm8,1 - xor r13,rcx - xor r12,r8 - vpaddq xmm5,xmm5,xmm11 - shrd r13,r13,4 - xor r14,r10 - vpsrlq xmm11,xmm8,7 - and r12,rcx - xor r13,rcx - vpsllq xmm9,xmm8,56 - add r9,QWORD[80+rsp] - mov r15,r10 - vpxor xmm8,xmm11,xmm10 - xor r12,r8 - shrd r14,r14,6 - vpsrlq xmm10,xmm10,7 - xor r15,r11 - add r9,r12 - vpxor xmm8,xmm8,xmm9 - shrd r13,r13,14 - and rdi,r15 - vpsllq xmm9,xmm9,7 - xor r14,r10 - add r9,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,r11 - shrd r14,r14,28 - vpsrlq xmm11,xmm4,6 - add rbx,r9 - add r9,rdi - vpxor xmm8,xmm8,xmm9 - mov r13,rbx - add r14,r9 - vpsllq xmm10,xmm4,3 - shrd r13,r13,23 - mov r9,r14 - vpaddq xmm5,xmm5,xmm8 - mov r12,rcx - shrd r14,r14,5 - vpsrlq xmm9,xmm4,19 - xor r13,rbx - xor r12,rdx - vpxor xmm11,xmm11,xmm10 - shrd r13,r13,4 - xor r14,r9 - vpsllq xmm10,xmm10,42 - and r12,rbx - xor r13,rbx - vpxor xmm11,xmm11,xmm9 - add r8,QWORD[88+rsp] - mov rdi,r9 - vpsrlq xmm9,xmm9,42 - xor r12,rdx - shrd r14,r14,6 - vpxor xmm11,xmm11,xmm10 - xor rdi,r10 - add r8,r12 - vpxor xmm11,xmm11,xmm9 - shrd r13,r13,14 - and r15,rdi - vpaddq xmm5,xmm5,xmm11 - xor r14,r9 - add r8,r13 - vpaddq xmm10,xmm5,XMMWORD[32+rbp] - xor r15,r10 - shrd r14,r14,28 - add rax,r8 - add r8,r15 - mov r13,rax - add r14,r8 - vmovdqa XMMWORD[80+rsp],xmm10 - vpalignr xmm8,xmm7,xmm6,8 - shrd r13,r13,23 - mov r8,r14 - vpalignr xmm11,xmm3,xmm2,8 - mov r12,rbx - shrd r14,r14,5 - vpsrlq xmm10,xmm8,1 - xor r13,rax - xor r12,rcx - vpaddq xmm6,xmm6,xmm11 - shrd r13,r13,4 - xor r14,r8 - vpsrlq xmm11,xmm8,7 - and r12,rax - xor r13,rax - vpsllq xmm9,xmm8,56 - add rdx,QWORD[96+rsp] - mov r15,r8 - vpxor xmm8,xmm11,xmm10 - xor r12,rcx - shrd r14,r14,6 - vpsrlq xmm10,xmm10,7 - xor r15,r9 - add rdx,r12 - vpxor xmm8,xmm8,xmm9 - shrd r13,r13,14 - and rdi,r15 - vpsllq xmm9,xmm9,7 - xor r14,r8 - add rdx,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,r9 - shrd r14,r14,28 - vpsrlq xmm11,xmm5,6 - add r11,rdx - add rdx,rdi - vpxor xmm8,xmm8,xmm9 - mov r13,r11 - add r14,rdx - vpsllq xmm10,xmm5,3 - shrd r13,r13,23 - mov rdx,r14 - vpaddq xmm6,xmm6,xmm8 - mov r12,rax - shrd r14,r14,5 - vpsrlq xmm9,xmm5,19 - xor r13,r11 - xor r12,rbx - vpxor xmm11,xmm11,xmm10 - shrd r13,r13,4 - xor r14,rdx - vpsllq xmm10,xmm10,42 - and r12,r11 - xor r13,r11 - vpxor xmm11,xmm11,xmm9 - add rcx,QWORD[104+rsp] - mov rdi,rdx - vpsrlq xmm9,xmm9,42 - xor r12,rbx - shrd r14,r14,6 - vpxor xmm11,xmm11,xmm10 - xor rdi,r8 - add rcx,r12 - vpxor xmm11,xmm11,xmm9 - shrd r13,r13,14 - and r15,rdi - vpaddq xmm6,xmm6,xmm11 - xor r14,rdx - add rcx,r13 - vpaddq xmm10,xmm6,XMMWORD[64+rbp] - xor r15,r8 - shrd r14,r14,28 - add r10,rcx - add rcx,r15 - mov r13,r10 - add r14,rcx - vmovdqa XMMWORD[96+rsp],xmm10 - vpalignr xmm8,xmm0,xmm7,8 - shrd r13,r13,23 - mov rcx,r14 - vpalignr xmm11,xmm4,xmm3,8 - mov r12,r11 - shrd r14,r14,5 - vpsrlq xmm10,xmm8,1 - xor r13,r10 - xor r12,rax - vpaddq xmm7,xmm7,xmm11 - shrd r13,r13,4 - xor r14,rcx - vpsrlq xmm11,xmm8,7 - and r12,r10 - xor r13,r10 - vpsllq xmm9,xmm8,56 - add rbx,QWORD[112+rsp] - mov r15,rcx - vpxor xmm8,xmm11,xmm10 - xor r12,rax - shrd r14,r14,6 - vpsrlq xmm10,xmm10,7 - xor r15,rdx - add rbx,r12 - vpxor xmm8,xmm8,xmm9 - shrd r13,r13,14 - and rdi,r15 - vpsllq xmm9,xmm9,7 - xor r14,rcx - add rbx,r13 - vpxor xmm8,xmm8,xmm10 - xor rdi,rdx - shrd r14,r14,28 - vpsrlq xmm11,xmm6,6 - add r9,rbx - add rbx,rdi - vpxor xmm8,xmm8,xmm9 - mov r13,r9 - add r14,rbx - vpsllq xmm10,xmm6,3 - shrd r13,r13,23 - mov rbx,r14 - vpaddq xmm7,xmm7,xmm8 - mov r12,r10 - shrd r14,r14,5 - vpsrlq xmm9,xmm6,19 - xor r13,r9 - xor r12,r11 - vpxor xmm11,xmm11,xmm10 - shrd r13,r13,4 - xor r14,rbx - vpsllq xmm10,xmm10,42 - and r12,r9 - xor r13,r9 - vpxor xmm11,xmm11,xmm9 - add rax,QWORD[120+rsp] - mov rdi,rbx - vpsrlq xmm9,xmm9,42 - xor r12,r11 - shrd r14,r14,6 - vpxor xmm11,xmm11,xmm10 - xor rdi,rcx - add rax,r12 - vpxor xmm11,xmm11,xmm9 - shrd r13,r13,14 - and r15,rdi - vpaddq xmm7,xmm7,xmm11 - xor r14,rbx - add rax,r13 - vpaddq xmm10,xmm7,XMMWORD[96+rbp] - xor r15,rcx - shrd r14,r14,28 - add r8,rax - add rax,r15 - mov r13,r8 - add r14,rax - vmovdqa XMMWORD[112+rsp],xmm10 - cmp BYTE[135+rbp],0 - jne NEAR $L$avx_00_47 - shrd r13,r13,23 - mov rax,r14 - mov r12,r9 - shrd r14,r14,5 - xor r13,r8 - xor r12,r10 - shrd r13,r13,4 - xor r14,rax - and r12,r8 - xor r13,r8 - add r11,QWORD[rsp] - mov r15,rax - xor r12,r10 - shrd r14,r14,6 - xor r15,rbx - add r11,r12 - shrd r13,r13,14 - and rdi,r15 - xor r14,rax - add r11,r13 - xor rdi,rbx - shrd r14,r14,28 - add rdx,r11 - add r11,rdi - mov r13,rdx - add r14,r11 - shrd r13,r13,23 - mov r11,r14 - mov r12,r8 - shrd r14,r14,5 - xor r13,rdx - xor r12,r9 - shrd r13,r13,4 - xor r14,r11 - and r12,rdx - xor r13,rdx - add r10,QWORD[8+rsp] - mov rdi,r11 - xor r12,r9 - shrd r14,r14,6 - xor rdi,rax - add r10,r12 - shrd r13,r13,14 - and r15,rdi - xor r14,r11 - add r10,r13 - xor r15,rax - shrd r14,r14,28 - add rcx,r10 - add r10,r15 - mov r13,rcx - add r14,r10 - shrd r13,r13,23 - mov r10,r14 - mov r12,rdx - shrd r14,r14,5 - xor r13,rcx - xor r12,r8 - shrd r13,r13,4 - xor r14,r10 - and r12,rcx - xor r13,rcx - add r9,QWORD[16+rsp] - mov r15,r10 - xor r12,r8 - shrd r14,r14,6 - xor r15,r11 - add r9,r12 - shrd r13,r13,14 - and rdi,r15 - xor r14,r10 - add r9,r13 - xor rdi,r11 - shrd r14,r14,28 - add rbx,r9 - add r9,rdi - mov r13,rbx - add r14,r9 - shrd r13,r13,23 - mov r9,r14 - mov r12,rcx - shrd r14,r14,5 - xor r13,rbx - xor r12,rdx - shrd r13,r13,4 - xor r14,r9 - and r12,rbx - xor r13,rbx - add r8,QWORD[24+rsp] - mov rdi,r9 - xor r12,rdx - shrd r14,r14,6 - xor rdi,r10 - add r8,r12 - shrd r13,r13,14 - and r15,rdi - xor r14,r9 - add r8,r13 - xor r15,r10 - shrd r14,r14,28 - add rax,r8 - add r8,r15 - mov r13,rax - add r14,r8 - shrd r13,r13,23 - mov r8,r14 - mov r12,rbx - shrd r14,r14,5 - xor r13,rax - xor r12,rcx - shrd r13,r13,4 - xor r14,r8 - and r12,rax - xor r13,rax - add rdx,QWORD[32+rsp] - mov r15,r8 - xor r12,rcx - shrd r14,r14,6 - xor r15,r9 - add rdx,r12 - shrd r13,r13,14 - and rdi,r15 - xor r14,r8 - add rdx,r13 - xor rdi,r9 - shrd r14,r14,28 - add r11,rdx - add rdx,rdi - mov r13,r11 - add r14,rdx - shrd r13,r13,23 - mov rdx,r14 - mov r12,rax - shrd r14,r14,5 - xor r13,r11 - xor r12,rbx - shrd r13,r13,4 - xor r14,rdx - and r12,r11 - xor r13,r11 - add rcx,QWORD[40+rsp] - mov rdi,rdx - xor r12,rbx - shrd r14,r14,6 - xor rdi,r8 - add rcx,r12 - shrd r13,r13,14 - and r15,rdi - xor r14,rdx - add rcx,r13 - xor r15,r8 - shrd r14,r14,28 - add r10,rcx - add rcx,r15 - mov r13,r10 - add r14,rcx - shrd r13,r13,23 - mov rcx,r14 - mov r12,r11 - shrd r14,r14,5 - xor r13,r10 - xor r12,rax - shrd r13,r13,4 - xor r14,rcx - and r12,r10 - xor r13,r10 - add rbx,QWORD[48+rsp] - mov r15,rcx - xor r12,rax - shrd r14,r14,6 - xor r15,rdx - add rbx,r12 - shrd r13,r13,14 - and rdi,r15 - xor r14,rcx - add rbx,r13 - xor rdi,rdx - shrd r14,r14,28 - add r9,rbx - add rbx,rdi - mov r13,r9 - add r14,rbx - shrd r13,r13,23 - mov rbx,r14 - mov r12,r10 - shrd r14,r14,5 - xor r13,r9 - xor r12,r11 - shrd r13,r13,4 - xor r14,rbx - and r12,r9 - xor r13,r9 - add rax,QWORD[56+rsp] - mov rdi,rbx - xor r12,r11 - shrd r14,r14,6 - xor rdi,rcx - add rax,r12 - shrd r13,r13,14 - and r15,rdi - xor r14,rbx - add rax,r13 - xor r15,rcx - shrd r14,r14,28 - add r8,rax - add rax,r15 - mov r13,r8 - add r14,rax - shrd r13,r13,23 - mov rax,r14 - mov r12,r9 - shrd r14,r14,5 - xor r13,r8 - xor r12,r10 - shrd r13,r13,4 - xor r14,rax - and r12,r8 - xor r13,r8 - add r11,QWORD[64+rsp] - mov r15,rax - xor r12,r10 - shrd r14,r14,6 - xor r15,rbx - add r11,r12 - shrd r13,r13,14 - and rdi,r15 - xor r14,rax - add r11,r13 - xor rdi,rbx - shrd r14,r14,28 - add rdx,r11 - add r11,rdi - mov r13,rdx - add r14,r11 - shrd r13,r13,23 - mov r11,r14 - mov r12,r8 - shrd r14,r14,5 - xor r13,rdx - xor r12,r9 - shrd r13,r13,4 - xor r14,r11 - and r12,rdx - xor r13,rdx - add r10,QWORD[72+rsp] - mov rdi,r11 - xor r12,r9 - shrd r14,r14,6 - xor rdi,rax - add r10,r12 - shrd r13,r13,14 - and r15,rdi - xor r14,r11 - add r10,r13 - xor r15,rax - shrd r14,r14,28 - add rcx,r10 - add r10,r15 - mov r13,rcx - add r14,r10 - shrd r13,r13,23 - mov r10,r14 - mov r12,rdx - shrd r14,r14,5 - xor r13,rcx - xor r12,r8 - shrd r13,r13,4 - xor r14,r10 - and r12,rcx - xor r13,rcx - add r9,QWORD[80+rsp] - mov r15,r10 - xor r12,r8 - shrd r14,r14,6 - xor r15,r11 - add r9,r12 - shrd r13,r13,14 - and rdi,r15 - xor r14,r10 - add r9,r13 - xor rdi,r11 - shrd r14,r14,28 - add rbx,r9 - add r9,rdi - mov r13,rbx - add r14,r9 - shrd r13,r13,23 - mov r9,r14 - mov r12,rcx - shrd r14,r14,5 - xor r13,rbx - xor r12,rdx - shrd r13,r13,4 - xor r14,r9 - and r12,rbx - xor r13,rbx - add r8,QWORD[88+rsp] - mov rdi,r9 - xor r12,rdx - shrd r14,r14,6 - xor rdi,r10 - add r8,r12 - shrd r13,r13,14 - and r15,rdi - xor r14,r9 - add r8,r13 - xor r15,r10 - shrd r14,r14,28 - add rax,r8 - add r8,r15 - mov r13,rax - add r14,r8 - shrd r13,r13,23 - mov r8,r14 - mov r12,rbx - shrd r14,r14,5 - xor r13,rax - xor r12,rcx - shrd r13,r13,4 - xor r14,r8 - and r12,rax - xor r13,rax - add rdx,QWORD[96+rsp] - mov r15,r8 - xor r12,rcx - shrd r14,r14,6 - xor r15,r9 - add rdx,r12 - shrd r13,r13,14 - and rdi,r15 - xor r14,r8 - add rdx,r13 - xor rdi,r9 - shrd r14,r14,28 - add r11,rdx - add rdx,rdi - mov r13,r11 - add r14,rdx - shrd r13,r13,23 - mov rdx,r14 - mov r12,rax - shrd r14,r14,5 - xor r13,r11 - xor r12,rbx - shrd r13,r13,4 - xor r14,rdx - and r12,r11 - xor r13,r11 - add rcx,QWORD[104+rsp] - mov rdi,rdx - xor r12,rbx - shrd r14,r14,6 - xor rdi,r8 - add rcx,r12 - shrd r13,r13,14 - and r15,rdi - xor r14,rdx - add rcx,r13 - xor r15,r8 - shrd r14,r14,28 - add r10,rcx - add rcx,r15 - mov r13,r10 - add r14,rcx - shrd r13,r13,23 - mov rcx,r14 - mov r12,r11 - shrd r14,r14,5 - xor r13,r10 - xor r12,rax - shrd r13,r13,4 - xor r14,rcx - and r12,r10 - xor r13,r10 - add rbx,QWORD[112+rsp] - mov r15,rcx - xor r12,rax - shrd r14,r14,6 - xor r15,rdx - add rbx,r12 - shrd r13,r13,14 - and rdi,r15 - xor r14,rcx - add rbx,r13 - xor rdi,rdx - shrd r14,r14,28 - add r9,rbx - add rbx,rdi - mov r13,r9 - add r14,rbx - shrd r13,r13,23 - mov rbx,r14 - mov r12,r10 - shrd r14,r14,5 - xor r13,r9 - xor r12,r11 - shrd r13,r13,4 - xor r14,rbx - and r12,r9 - xor r13,r9 - add rax,QWORD[120+rsp] - mov rdi,rbx - xor r12,r11 - shrd r14,r14,6 - xor rdi,rcx - add rax,r12 - shrd r13,r13,14 - and r15,rdi - xor r14,rbx - add rax,r13 - xor r15,rcx - shrd r14,r14,28 - add r8,rax - add rax,r15 - mov r13,r8 - add r14,rax - mov rdi,QWORD[((128+0))+rsp] - mov rax,r14 - - add rax,QWORD[rdi] - lea rsi,[128+rsi] - add rbx,QWORD[8+rdi] - add rcx,QWORD[16+rdi] - add rdx,QWORD[24+rdi] - add r8,QWORD[32+rdi] - add r9,QWORD[40+rdi] - add r10,QWORD[48+rdi] - add r11,QWORD[56+rdi] - - cmp rsi,QWORD[((128+16))+rsp] - - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rcx - mov QWORD[24+rdi],rdx - mov QWORD[32+rdi],r8 - mov QWORD[40+rdi],r9 - mov QWORD[48+rdi],r10 - mov QWORD[56+rdi],r11 - jb NEAR $L$loop_avx - - mov rsi,QWORD[((128+24))+rsp] - vzeroupper - movaps xmm6,XMMWORD[((128+32))+rsp] - movaps xmm7,XMMWORD[((128+48))+rsp] - movaps xmm8,XMMWORD[((128+64))+rsp] - movaps xmm9,XMMWORD[((128+80))+rsp] - movaps xmm10,XMMWORD[((128+96))+rsp] - movaps xmm11,XMMWORD[((128+112))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue_avx: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha512_block_data_order_avx: - -ALIGN 64 -sha512_block_data_order_avx2: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_sha512_block_data_order_avx2: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - -$L$avx2_shortcut: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - mov r11,rsp - sub rsp,1408 - shl rdx,4 - and rsp,-256*8 - lea rdx,[rdx*8+rsi] - add rsp,1152 - mov QWORD[((128+0))+rsp],rdi - mov QWORD[((128+8))+rsp],rsi - mov QWORD[((128+16))+rsp],rdx - mov QWORD[((128+24))+rsp],r11 - movaps XMMWORD[(128+32)+rsp],xmm6 - movaps XMMWORD[(128+48)+rsp],xmm7 - movaps XMMWORD[(128+64)+rsp],xmm8 - movaps XMMWORD[(128+80)+rsp],xmm9 - movaps XMMWORD[(128+96)+rsp],xmm10 - movaps XMMWORD[(128+112)+rsp],xmm11 -$L$prologue_avx2: - - vzeroupper - sub rsi,-16*8 - mov rax,QWORD[rdi] - mov r12,rsi - mov rbx,QWORD[8+rdi] - cmp rsi,rdx - mov rcx,QWORD[16+rdi] - cmove r12,rsp - mov rdx,QWORD[24+rdi] - mov r8,QWORD[32+rdi] - mov r9,QWORD[40+rdi] - mov r10,QWORD[48+rdi] - mov r11,QWORD[56+rdi] - jmp NEAR $L$oop_avx2 -ALIGN 16 -$L$oop_avx2: - vmovdqu xmm0,XMMWORD[((-128))+rsi] - vmovdqu xmm1,XMMWORD[((-128+16))+rsi] - vmovdqu xmm2,XMMWORD[((-128+32))+rsi] - lea rbp,[((K512+128))] - vmovdqu xmm3,XMMWORD[((-128+48))+rsi] - vmovdqu xmm4,XMMWORD[((-128+64))+rsi] - vmovdqu xmm5,XMMWORD[((-128+80))+rsi] - vmovdqu xmm6,XMMWORD[((-128+96))+rsi] - vmovdqu xmm7,XMMWORD[((-128+112))+rsi] - - vmovdqa ymm10,YMMWORD[1152+rbp] - vinserti128 ymm0,ymm0,XMMWORD[r12],1 - vinserti128 ymm1,ymm1,XMMWORD[16+r12],1 - vpshufb ymm0,ymm0,ymm10 - vinserti128 ymm2,ymm2,XMMWORD[32+r12],1 - vpshufb ymm1,ymm1,ymm10 - vinserti128 ymm3,ymm3,XMMWORD[48+r12],1 - vpshufb ymm2,ymm2,ymm10 - vinserti128 ymm4,ymm4,XMMWORD[64+r12],1 - vpshufb ymm3,ymm3,ymm10 - vinserti128 ymm5,ymm5,XMMWORD[80+r12],1 - vpshufb ymm4,ymm4,ymm10 - vinserti128 ymm6,ymm6,XMMWORD[96+r12],1 - vpshufb ymm5,ymm5,ymm10 - vinserti128 ymm7,ymm7,XMMWORD[112+r12],1 - - vpaddq ymm8,ymm0,YMMWORD[((-128))+rbp] - vpshufb ymm6,ymm6,ymm10 - vpaddq ymm9,ymm1,YMMWORD[((-96))+rbp] - vpshufb ymm7,ymm7,ymm10 - vpaddq ymm10,ymm2,YMMWORD[((-64))+rbp] - vpaddq ymm11,ymm3,YMMWORD[((-32))+rbp] - vmovdqa YMMWORD[rsp],ymm8 - vpaddq ymm8,ymm4,YMMWORD[rbp] - vmovdqa YMMWORD[32+rsp],ymm9 - vpaddq ymm9,ymm5,YMMWORD[32+rbp] - vmovdqa YMMWORD[64+rsp],ymm10 - vpaddq ymm10,ymm6,YMMWORD[64+rbp] - vmovdqa YMMWORD[96+rsp],ymm11 - lea rsp,[((-128))+rsp] - vpaddq ymm11,ymm7,YMMWORD[96+rbp] - vmovdqa YMMWORD[rsp],ymm8 - xor r14,r14 - vmovdqa YMMWORD[32+rsp],ymm9 - mov rdi,rbx - vmovdqa YMMWORD[64+rsp],ymm10 - xor rdi,rcx - vmovdqa YMMWORD[96+rsp],ymm11 - mov r12,r9 - add rbp,16*2*8 - jmp NEAR $L$avx2_00_47 - -ALIGN 16 -$L$avx2_00_47: - lea rsp,[((-128))+rsp] - vpalignr ymm8,ymm1,ymm0,8 - add r11,QWORD[((0+256))+rsp] - and r12,r8 - rorx r13,r8,41 - vpalignr ymm11,ymm5,ymm4,8 - rorx r15,r8,18 - lea rax,[r14*1+rax] - lea r11,[r12*1+r11] - vpsrlq ymm10,ymm8,1 - andn r12,r8,r10 - xor r13,r15 - rorx r14,r8,14 - vpaddq ymm0,ymm0,ymm11 - vpsrlq ymm11,ymm8,7 - lea r11,[r12*1+r11] - xor r13,r14 - mov r15,rax - vpsllq ymm9,ymm8,56 - vpxor ymm8,ymm11,ymm10 - rorx r12,rax,39 - lea r11,[r13*1+r11] - xor r15,rbx - vpsrlq ymm10,ymm10,7 - vpxor ymm8,ymm8,ymm9 - rorx r14,rax,34 - rorx r13,rax,28 - lea rdx,[r11*1+rdx] - vpsllq ymm9,ymm9,7 - vpxor ymm8,ymm8,ymm10 - and rdi,r15 - xor r14,r12 - xor rdi,rbx - vpsrlq ymm11,ymm7,6 - vpxor ymm8,ymm8,ymm9 - xor r14,r13 - lea r11,[rdi*1+r11] - mov r12,r8 - vpsllq ymm10,ymm7,3 - vpaddq ymm0,ymm0,ymm8 - add r10,QWORD[((8+256))+rsp] - and r12,rdx - rorx r13,rdx,41 - vpsrlq ymm9,ymm7,19 - vpxor ymm11,ymm11,ymm10 - rorx rdi,rdx,18 - lea r11,[r14*1+r11] - lea r10,[r12*1+r10] - vpsllq ymm10,ymm10,42 - vpxor ymm11,ymm11,ymm9 - andn r12,rdx,r9 - xor r13,rdi - rorx r14,rdx,14 - vpsrlq ymm9,ymm9,42 - vpxor ymm11,ymm11,ymm10 - lea r10,[r12*1+r10] - xor r13,r14 - mov rdi,r11 - vpxor ymm11,ymm11,ymm9 - rorx r12,r11,39 - lea r10,[r13*1+r10] - xor rdi,rax - vpaddq ymm0,ymm0,ymm11 - rorx r14,r11,34 - rorx r13,r11,28 - lea rcx,[r10*1+rcx] - vpaddq ymm10,ymm0,YMMWORD[((-128))+rbp] - and r15,rdi - xor r14,r12 - xor r15,rax - xor r14,r13 - lea r10,[r15*1+r10] - mov r12,rdx - vmovdqa YMMWORD[rsp],ymm10 - vpalignr ymm8,ymm2,ymm1,8 - add r9,QWORD[((32+256))+rsp] - and r12,rcx - rorx r13,rcx,41 - vpalignr ymm11,ymm6,ymm5,8 - rorx r15,rcx,18 - lea r10,[r14*1+r10] - lea r9,[r12*1+r9] - vpsrlq ymm10,ymm8,1 - andn r12,rcx,r8 - xor r13,r15 - rorx r14,rcx,14 - vpaddq ymm1,ymm1,ymm11 - vpsrlq ymm11,ymm8,7 - lea r9,[r12*1+r9] - xor r13,r14 - mov r15,r10 - vpsllq ymm9,ymm8,56 - vpxor ymm8,ymm11,ymm10 - rorx r12,r10,39 - lea r9,[r13*1+r9] - xor r15,r11 - vpsrlq ymm10,ymm10,7 - vpxor ymm8,ymm8,ymm9 - rorx r14,r10,34 - rorx r13,r10,28 - lea rbx,[r9*1+rbx] - vpsllq ymm9,ymm9,7 - vpxor ymm8,ymm8,ymm10 - and rdi,r15 - xor r14,r12 - xor rdi,r11 - vpsrlq ymm11,ymm0,6 - vpxor ymm8,ymm8,ymm9 - xor r14,r13 - lea r9,[rdi*1+r9] - mov r12,rcx - vpsllq ymm10,ymm0,3 - vpaddq ymm1,ymm1,ymm8 - add r8,QWORD[((40+256))+rsp] - and r12,rbx - rorx r13,rbx,41 - vpsrlq ymm9,ymm0,19 - vpxor ymm11,ymm11,ymm10 - rorx rdi,rbx,18 - lea r9,[r14*1+r9] - lea r8,[r12*1+r8] - vpsllq ymm10,ymm10,42 - vpxor ymm11,ymm11,ymm9 - andn r12,rbx,rdx - xor r13,rdi - rorx r14,rbx,14 - vpsrlq ymm9,ymm9,42 - vpxor ymm11,ymm11,ymm10 - lea r8,[r12*1+r8] - xor r13,r14 - mov rdi,r9 - vpxor ymm11,ymm11,ymm9 - rorx r12,r9,39 - lea r8,[r13*1+r8] - xor rdi,r10 - vpaddq ymm1,ymm1,ymm11 - rorx r14,r9,34 - rorx r13,r9,28 - lea rax,[r8*1+rax] - vpaddq ymm10,ymm1,YMMWORD[((-96))+rbp] - and r15,rdi - xor r14,r12 - xor r15,r10 - xor r14,r13 - lea r8,[r15*1+r8] - mov r12,rbx - vmovdqa YMMWORD[32+rsp],ymm10 - vpalignr ymm8,ymm3,ymm2,8 - add rdx,QWORD[((64+256))+rsp] - and r12,rax - rorx r13,rax,41 - vpalignr ymm11,ymm7,ymm6,8 - rorx r15,rax,18 - lea r8,[r14*1+r8] - lea rdx,[r12*1+rdx] - vpsrlq ymm10,ymm8,1 - andn r12,rax,rcx - xor r13,r15 - rorx r14,rax,14 - vpaddq ymm2,ymm2,ymm11 - vpsrlq ymm11,ymm8,7 - lea rdx,[r12*1+rdx] - xor r13,r14 - mov r15,r8 - vpsllq ymm9,ymm8,56 - vpxor ymm8,ymm11,ymm10 - rorx r12,r8,39 - lea rdx,[r13*1+rdx] - xor r15,r9 - vpsrlq ymm10,ymm10,7 - vpxor ymm8,ymm8,ymm9 - rorx r14,r8,34 - rorx r13,r8,28 - lea r11,[rdx*1+r11] - vpsllq ymm9,ymm9,7 - vpxor ymm8,ymm8,ymm10 - and rdi,r15 - xor r14,r12 - xor rdi,r9 - vpsrlq ymm11,ymm1,6 - vpxor ymm8,ymm8,ymm9 - xor r14,r13 - lea rdx,[rdi*1+rdx] - mov r12,rax - vpsllq ymm10,ymm1,3 - vpaddq ymm2,ymm2,ymm8 - add rcx,QWORD[((72+256))+rsp] - and r12,r11 - rorx r13,r11,41 - vpsrlq ymm9,ymm1,19 - vpxor ymm11,ymm11,ymm10 - rorx rdi,r11,18 - lea rdx,[r14*1+rdx] - lea rcx,[r12*1+rcx] - vpsllq ymm10,ymm10,42 - vpxor ymm11,ymm11,ymm9 - andn r12,r11,rbx - xor r13,rdi - rorx r14,r11,14 - vpsrlq ymm9,ymm9,42 - vpxor ymm11,ymm11,ymm10 - lea rcx,[r12*1+rcx] - xor r13,r14 - mov rdi,rdx - vpxor ymm11,ymm11,ymm9 - rorx r12,rdx,39 - lea rcx,[r13*1+rcx] - xor rdi,r8 - vpaddq ymm2,ymm2,ymm11 - rorx r14,rdx,34 - rorx r13,rdx,28 - lea r10,[rcx*1+r10] - vpaddq ymm10,ymm2,YMMWORD[((-64))+rbp] - and r15,rdi - xor r14,r12 - xor r15,r8 - xor r14,r13 - lea rcx,[r15*1+rcx] - mov r12,r11 - vmovdqa YMMWORD[64+rsp],ymm10 - vpalignr ymm8,ymm4,ymm3,8 - add rbx,QWORD[((96+256))+rsp] - and r12,r10 - rorx r13,r10,41 - vpalignr ymm11,ymm0,ymm7,8 - rorx r15,r10,18 - lea rcx,[r14*1+rcx] - lea rbx,[r12*1+rbx] - vpsrlq ymm10,ymm8,1 - andn r12,r10,rax - xor r13,r15 - rorx r14,r10,14 - vpaddq ymm3,ymm3,ymm11 - vpsrlq ymm11,ymm8,7 - lea rbx,[r12*1+rbx] - xor r13,r14 - mov r15,rcx - vpsllq ymm9,ymm8,56 - vpxor ymm8,ymm11,ymm10 - rorx r12,rcx,39 - lea rbx,[r13*1+rbx] - xor r15,rdx - vpsrlq ymm10,ymm10,7 - vpxor ymm8,ymm8,ymm9 - rorx r14,rcx,34 - rorx r13,rcx,28 - lea r9,[rbx*1+r9] - vpsllq ymm9,ymm9,7 - vpxor ymm8,ymm8,ymm10 - and rdi,r15 - xor r14,r12 - xor rdi,rdx - vpsrlq ymm11,ymm2,6 - vpxor ymm8,ymm8,ymm9 - xor r14,r13 - lea rbx,[rdi*1+rbx] - mov r12,r10 - vpsllq ymm10,ymm2,3 - vpaddq ymm3,ymm3,ymm8 - add rax,QWORD[((104+256))+rsp] - and r12,r9 - rorx r13,r9,41 - vpsrlq ymm9,ymm2,19 - vpxor ymm11,ymm11,ymm10 - rorx rdi,r9,18 - lea rbx,[r14*1+rbx] - lea rax,[r12*1+rax] - vpsllq ymm10,ymm10,42 - vpxor ymm11,ymm11,ymm9 - andn r12,r9,r11 - xor r13,rdi - rorx r14,r9,14 - vpsrlq ymm9,ymm9,42 - vpxor ymm11,ymm11,ymm10 - lea rax,[r12*1+rax] - xor r13,r14 - mov rdi,rbx - vpxor ymm11,ymm11,ymm9 - rorx r12,rbx,39 - lea rax,[r13*1+rax] - xor rdi,rcx - vpaddq ymm3,ymm3,ymm11 - rorx r14,rbx,34 - rorx r13,rbx,28 - lea r8,[rax*1+r8] - vpaddq ymm10,ymm3,YMMWORD[((-32))+rbp] - and r15,rdi - xor r14,r12 - xor r15,rcx - xor r14,r13 - lea rax,[r15*1+rax] - mov r12,r9 - vmovdqa YMMWORD[96+rsp],ymm10 - lea rsp,[((-128))+rsp] - vpalignr ymm8,ymm5,ymm4,8 - add r11,QWORD[((0+256))+rsp] - and r12,r8 - rorx r13,r8,41 - vpalignr ymm11,ymm1,ymm0,8 - rorx r15,r8,18 - lea rax,[r14*1+rax] - lea r11,[r12*1+r11] - vpsrlq ymm10,ymm8,1 - andn r12,r8,r10 - xor r13,r15 - rorx r14,r8,14 - vpaddq ymm4,ymm4,ymm11 - vpsrlq ymm11,ymm8,7 - lea r11,[r12*1+r11] - xor r13,r14 - mov r15,rax - vpsllq ymm9,ymm8,56 - vpxor ymm8,ymm11,ymm10 - rorx r12,rax,39 - lea r11,[r13*1+r11] - xor r15,rbx - vpsrlq ymm10,ymm10,7 - vpxor ymm8,ymm8,ymm9 - rorx r14,rax,34 - rorx r13,rax,28 - lea rdx,[r11*1+rdx] - vpsllq ymm9,ymm9,7 - vpxor ymm8,ymm8,ymm10 - and rdi,r15 - xor r14,r12 - xor rdi,rbx - vpsrlq ymm11,ymm3,6 - vpxor ymm8,ymm8,ymm9 - xor r14,r13 - lea r11,[rdi*1+r11] - mov r12,r8 - vpsllq ymm10,ymm3,3 - vpaddq ymm4,ymm4,ymm8 - add r10,QWORD[((8+256))+rsp] - and r12,rdx - rorx r13,rdx,41 - vpsrlq ymm9,ymm3,19 - vpxor ymm11,ymm11,ymm10 - rorx rdi,rdx,18 - lea r11,[r14*1+r11] - lea r10,[r12*1+r10] - vpsllq ymm10,ymm10,42 - vpxor ymm11,ymm11,ymm9 - andn r12,rdx,r9 - xor r13,rdi - rorx r14,rdx,14 - vpsrlq ymm9,ymm9,42 - vpxor ymm11,ymm11,ymm10 - lea r10,[r12*1+r10] - xor r13,r14 - mov rdi,r11 - vpxor ymm11,ymm11,ymm9 - rorx r12,r11,39 - lea r10,[r13*1+r10] - xor rdi,rax - vpaddq ymm4,ymm4,ymm11 - rorx r14,r11,34 - rorx r13,r11,28 - lea rcx,[r10*1+rcx] - vpaddq ymm10,ymm4,YMMWORD[rbp] - and r15,rdi - xor r14,r12 - xor r15,rax - xor r14,r13 - lea r10,[r15*1+r10] - mov r12,rdx - vmovdqa YMMWORD[rsp],ymm10 - vpalignr ymm8,ymm6,ymm5,8 - add r9,QWORD[((32+256))+rsp] - and r12,rcx - rorx r13,rcx,41 - vpalignr ymm11,ymm2,ymm1,8 - rorx r15,rcx,18 - lea r10,[r14*1+r10] - lea r9,[r12*1+r9] - vpsrlq ymm10,ymm8,1 - andn r12,rcx,r8 - xor r13,r15 - rorx r14,rcx,14 - vpaddq ymm5,ymm5,ymm11 - vpsrlq ymm11,ymm8,7 - lea r9,[r12*1+r9] - xor r13,r14 - mov r15,r10 - vpsllq ymm9,ymm8,56 - vpxor ymm8,ymm11,ymm10 - rorx r12,r10,39 - lea r9,[r13*1+r9] - xor r15,r11 - vpsrlq ymm10,ymm10,7 - vpxor ymm8,ymm8,ymm9 - rorx r14,r10,34 - rorx r13,r10,28 - lea rbx,[r9*1+rbx] - vpsllq ymm9,ymm9,7 - vpxor ymm8,ymm8,ymm10 - and rdi,r15 - xor r14,r12 - xor rdi,r11 - vpsrlq ymm11,ymm4,6 - vpxor ymm8,ymm8,ymm9 - xor r14,r13 - lea r9,[rdi*1+r9] - mov r12,rcx - vpsllq ymm10,ymm4,3 - vpaddq ymm5,ymm5,ymm8 - add r8,QWORD[((40+256))+rsp] - and r12,rbx - rorx r13,rbx,41 - vpsrlq ymm9,ymm4,19 - vpxor ymm11,ymm11,ymm10 - rorx rdi,rbx,18 - lea r9,[r14*1+r9] - lea r8,[r12*1+r8] - vpsllq ymm10,ymm10,42 - vpxor ymm11,ymm11,ymm9 - andn r12,rbx,rdx - xor r13,rdi - rorx r14,rbx,14 - vpsrlq ymm9,ymm9,42 - vpxor ymm11,ymm11,ymm10 - lea r8,[r12*1+r8] - xor r13,r14 - mov rdi,r9 - vpxor ymm11,ymm11,ymm9 - rorx r12,r9,39 - lea r8,[r13*1+r8] - xor rdi,r10 - vpaddq ymm5,ymm5,ymm11 - rorx r14,r9,34 - rorx r13,r9,28 - lea rax,[r8*1+rax] - vpaddq ymm10,ymm5,YMMWORD[32+rbp] - and r15,rdi - xor r14,r12 - xor r15,r10 - xor r14,r13 - lea r8,[r15*1+r8] - mov r12,rbx - vmovdqa YMMWORD[32+rsp],ymm10 - vpalignr ymm8,ymm7,ymm6,8 - add rdx,QWORD[((64+256))+rsp] - and r12,rax - rorx r13,rax,41 - vpalignr ymm11,ymm3,ymm2,8 - rorx r15,rax,18 - lea r8,[r14*1+r8] - lea rdx,[r12*1+rdx] - vpsrlq ymm10,ymm8,1 - andn r12,rax,rcx - xor r13,r15 - rorx r14,rax,14 - vpaddq ymm6,ymm6,ymm11 - vpsrlq ymm11,ymm8,7 - lea rdx,[r12*1+rdx] - xor r13,r14 - mov r15,r8 - vpsllq ymm9,ymm8,56 - vpxor ymm8,ymm11,ymm10 - rorx r12,r8,39 - lea rdx,[r13*1+rdx] - xor r15,r9 - vpsrlq ymm10,ymm10,7 - vpxor ymm8,ymm8,ymm9 - rorx r14,r8,34 - rorx r13,r8,28 - lea r11,[rdx*1+r11] - vpsllq ymm9,ymm9,7 - vpxor ymm8,ymm8,ymm10 - and rdi,r15 - xor r14,r12 - xor rdi,r9 - vpsrlq ymm11,ymm5,6 - vpxor ymm8,ymm8,ymm9 - xor r14,r13 - lea rdx,[rdi*1+rdx] - mov r12,rax - vpsllq ymm10,ymm5,3 - vpaddq ymm6,ymm6,ymm8 - add rcx,QWORD[((72+256))+rsp] - and r12,r11 - rorx r13,r11,41 - vpsrlq ymm9,ymm5,19 - vpxor ymm11,ymm11,ymm10 - rorx rdi,r11,18 - lea rdx,[r14*1+rdx] - lea rcx,[r12*1+rcx] - vpsllq ymm10,ymm10,42 - vpxor ymm11,ymm11,ymm9 - andn r12,r11,rbx - xor r13,rdi - rorx r14,r11,14 - vpsrlq ymm9,ymm9,42 - vpxor ymm11,ymm11,ymm10 - lea rcx,[r12*1+rcx] - xor r13,r14 - mov rdi,rdx - vpxor ymm11,ymm11,ymm9 - rorx r12,rdx,39 - lea rcx,[r13*1+rcx] - xor rdi,r8 - vpaddq ymm6,ymm6,ymm11 - rorx r14,rdx,34 - rorx r13,rdx,28 - lea r10,[rcx*1+r10] - vpaddq ymm10,ymm6,YMMWORD[64+rbp] - and r15,rdi - xor r14,r12 - xor r15,r8 - xor r14,r13 - lea rcx,[r15*1+rcx] - mov r12,r11 - vmovdqa YMMWORD[64+rsp],ymm10 - vpalignr ymm8,ymm0,ymm7,8 - add rbx,QWORD[((96+256))+rsp] - and r12,r10 - rorx r13,r10,41 - vpalignr ymm11,ymm4,ymm3,8 - rorx r15,r10,18 - lea rcx,[r14*1+rcx] - lea rbx,[r12*1+rbx] - vpsrlq ymm10,ymm8,1 - andn r12,r10,rax - xor r13,r15 - rorx r14,r10,14 - vpaddq ymm7,ymm7,ymm11 - vpsrlq ymm11,ymm8,7 - lea rbx,[r12*1+rbx] - xor r13,r14 - mov r15,rcx - vpsllq ymm9,ymm8,56 - vpxor ymm8,ymm11,ymm10 - rorx r12,rcx,39 - lea rbx,[r13*1+rbx] - xor r15,rdx - vpsrlq ymm10,ymm10,7 - vpxor ymm8,ymm8,ymm9 - rorx r14,rcx,34 - rorx r13,rcx,28 - lea r9,[rbx*1+r9] - vpsllq ymm9,ymm9,7 - vpxor ymm8,ymm8,ymm10 - and rdi,r15 - xor r14,r12 - xor rdi,rdx - vpsrlq ymm11,ymm6,6 - vpxor ymm8,ymm8,ymm9 - xor r14,r13 - lea rbx,[rdi*1+rbx] - mov r12,r10 - vpsllq ymm10,ymm6,3 - vpaddq ymm7,ymm7,ymm8 - add rax,QWORD[((104+256))+rsp] - and r12,r9 - rorx r13,r9,41 - vpsrlq ymm9,ymm6,19 - vpxor ymm11,ymm11,ymm10 - rorx rdi,r9,18 - lea rbx,[r14*1+rbx] - lea rax,[r12*1+rax] - vpsllq ymm10,ymm10,42 - vpxor ymm11,ymm11,ymm9 - andn r12,r9,r11 - xor r13,rdi - rorx r14,r9,14 - vpsrlq ymm9,ymm9,42 - vpxor ymm11,ymm11,ymm10 - lea rax,[r12*1+rax] - xor r13,r14 - mov rdi,rbx - vpxor ymm11,ymm11,ymm9 - rorx r12,rbx,39 - lea rax,[r13*1+rax] - xor rdi,rcx - vpaddq ymm7,ymm7,ymm11 - rorx r14,rbx,34 - rorx r13,rbx,28 - lea r8,[rax*1+r8] - vpaddq ymm10,ymm7,YMMWORD[96+rbp] - and r15,rdi - xor r14,r12 - xor r15,rcx - xor r14,r13 - lea rax,[r15*1+rax] - mov r12,r9 - vmovdqa YMMWORD[96+rsp],ymm10 - lea rbp,[256+rbp] - cmp BYTE[((-121))+rbp],0 - jne NEAR $L$avx2_00_47 - add r11,QWORD[((0+128))+rsp] - and r12,r8 - rorx r13,r8,41 - rorx r15,r8,18 - lea rax,[r14*1+rax] - lea r11,[r12*1+r11] - andn r12,r8,r10 - xor r13,r15 - rorx r14,r8,14 - lea r11,[r12*1+r11] - xor r13,r14 - mov r15,rax - rorx r12,rax,39 - lea r11,[r13*1+r11] - xor r15,rbx - rorx r14,rax,34 - rorx r13,rax,28 - lea rdx,[r11*1+rdx] - and rdi,r15 - xor r14,r12 - xor rdi,rbx - xor r14,r13 - lea r11,[rdi*1+r11] - mov r12,r8 - add r10,QWORD[((8+128))+rsp] - and r12,rdx - rorx r13,rdx,41 - rorx rdi,rdx,18 - lea r11,[r14*1+r11] - lea r10,[r12*1+r10] - andn r12,rdx,r9 - xor r13,rdi - rorx r14,rdx,14 - lea r10,[r12*1+r10] - xor r13,r14 - mov rdi,r11 - rorx r12,r11,39 - lea r10,[r13*1+r10] - xor rdi,rax - rorx r14,r11,34 - rorx r13,r11,28 - lea rcx,[r10*1+rcx] - and r15,rdi - xor r14,r12 - xor r15,rax - xor r14,r13 - lea r10,[r15*1+r10] - mov r12,rdx - add r9,QWORD[((32+128))+rsp] - and r12,rcx - rorx r13,rcx,41 - rorx r15,rcx,18 - lea r10,[r14*1+r10] - lea r9,[r12*1+r9] - andn r12,rcx,r8 - xor r13,r15 - rorx r14,rcx,14 - lea r9,[r12*1+r9] - xor r13,r14 - mov r15,r10 - rorx r12,r10,39 - lea r9,[r13*1+r9] - xor r15,r11 - rorx r14,r10,34 - rorx r13,r10,28 - lea rbx,[r9*1+rbx] - and rdi,r15 - xor r14,r12 - xor rdi,r11 - xor r14,r13 - lea r9,[rdi*1+r9] - mov r12,rcx - add r8,QWORD[((40+128))+rsp] - and r12,rbx - rorx r13,rbx,41 - rorx rdi,rbx,18 - lea r9,[r14*1+r9] - lea r8,[r12*1+r8] - andn r12,rbx,rdx - xor r13,rdi - rorx r14,rbx,14 - lea r8,[r12*1+r8] - xor r13,r14 - mov rdi,r9 - rorx r12,r9,39 - lea r8,[r13*1+r8] - xor rdi,r10 - rorx r14,r9,34 - rorx r13,r9,28 - lea rax,[r8*1+rax] - and r15,rdi - xor r14,r12 - xor r15,r10 - xor r14,r13 - lea r8,[r15*1+r8] - mov r12,rbx - add rdx,QWORD[((64+128))+rsp] - and r12,rax - rorx r13,rax,41 - rorx r15,rax,18 - lea r8,[r14*1+r8] - lea rdx,[r12*1+rdx] - andn r12,rax,rcx - xor r13,r15 - rorx r14,rax,14 - lea rdx,[r12*1+rdx] - xor r13,r14 - mov r15,r8 - rorx r12,r8,39 - lea rdx,[r13*1+rdx] - xor r15,r9 - rorx r14,r8,34 - rorx r13,r8,28 - lea r11,[rdx*1+r11] - and rdi,r15 - xor r14,r12 - xor rdi,r9 - xor r14,r13 - lea rdx,[rdi*1+rdx] - mov r12,rax - add rcx,QWORD[((72+128))+rsp] - and r12,r11 - rorx r13,r11,41 - rorx rdi,r11,18 - lea rdx,[r14*1+rdx] - lea rcx,[r12*1+rcx] - andn r12,r11,rbx - xor r13,rdi - rorx r14,r11,14 - lea rcx,[r12*1+rcx] - xor r13,r14 - mov rdi,rdx - rorx r12,rdx,39 - lea rcx,[r13*1+rcx] - xor rdi,r8 - rorx r14,rdx,34 - rorx r13,rdx,28 - lea r10,[rcx*1+r10] - and r15,rdi - xor r14,r12 - xor r15,r8 - xor r14,r13 - lea rcx,[r15*1+rcx] - mov r12,r11 - add rbx,QWORD[((96+128))+rsp] - and r12,r10 - rorx r13,r10,41 - rorx r15,r10,18 - lea rcx,[r14*1+rcx] - lea rbx,[r12*1+rbx] - andn r12,r10,rax - xor r13,r15 - rorx r14,r10,14 - lea rbx,[r12*1+rbx] - xor r13,r14 - mov r15,rcx - rorx r12,rcx,39 - lea rbx,[r13*1+rbx] - xor r15,rdx - rorx r14,rcx,34 - rorx r13,rcx,28 - lea r9,[rbx*1+r9] - and rdi,r15 - xor r14,r12 - xor rdi,rdx - xor r14,r13 - lea rbx,[rdi*1+rbx] - mov r12,r10 - add rax,QWORD[((104+128))+rsp] - and r12,r9 - rorx r13,r9,41 - rorx rdi,r9,18 - lea rbx,[r14*1+rbx] - lea rax,[r12*1+rax] - andn r12,r9,r11 - xor r13,rdi - rorx r14,r9,14 - lea rax,[r12*1+rax] - xor r13,r14 - mov rdi,rbx - rorx r12,rbx,39 - lea rax,[r13*1+rax] - xor rdi,rcx - rorx r14,rbx,34 - rorx r13,rbx,28 - lea r8,[rax*1+r8] - and r15,rdi - xor r14,r12 - xor r15,rcx - xor r14,r13 - lea rax,[r15*1+rax] - mov r12,r9 - add r11,QWORD[rsp] - and r12,r8 - rorx r13,r8,41 - rorx r15,r8,18 - lea rax,[r14*1+rax] - lea r11,[r12*1+r11] - andn r12,r8,r10 - xor r13,r15 - rorx r14,r8,14 - lea r11,[r12*1+r11] - xor r13,r14 - mov r15,rax - rorx r12,rax,39 - lea r11,[r13*1+r11] - xor r15,rbx - rorx r14,rax,34 - rorx r13,rax,28 - lea rdx,[r11*1+rdx] - and rdi,r15 - xor r14,r12 - xor rdi,rbx - xor r14,r13 - lea r11,[rdi*1+r11] - mov r12,r8 - add r10,QWORD[8+rsp] - and r12,rdx - rorx r13,rdx,41 - rorx rdi,rdx,18 - lea r11,[r14*1+r11] - lea r10,[r12*1+r10] - andn r12,rdx,r9 - xor r13,rdi - rorx r14,rdx,14 - lea r10,[r12*1+r10] - xor r13,r14 - mov rdi,r11 - rorx r12,r11,39 - lea r10,[r13*1+r10] - xor rdi,rax - rorx r14,r11,34 - rorx r13,r11,28 - lea rcx,[r10*1+rcx] - and r15,rdi - xor r14,r12 - xor r15,rax - xor r14,r13 - lea r10,[r15*1+r10] - mov r12,rdx - add r9,QWORD[32+rsp] - and r12,rcx - rorx r13,rcx,41 - rorx r15,rcx,18 - lea r10,[r14*1+r10] - lea r9,[r12*1+r9] - andn r12,rcx,r8 - xor r13,r15 - rorx r14,rcx,14 - lea r9,[r12*1+r9] - xor r13,r14 - mov r15,r10 - rorx r12,r10,39 - lea r9,[r13*1+r9] - xor r15,r11 - rorx r14,r10,34 - rorx r13,r10,28 - lea rbx,[r9*1+rbx] - and rdi,r15 - xor r14,r12 - xor rdi,r11 - xor r14,r13 - lea r9,[rdi*1+r9] - mov r12,rcx - add r8,QWORD[40+rsp] - and r12,rbx - rorx r13,rbx,41 - rorx rdi,rbx,18 - lea r9,[r14*1+r9] - lea r8,[r12*1+r8] - andn r12,rbx,rdx - xor r13,rdi - rorx r14,rbx,14 - lea r8,[r12*1+r8] - xor r13,r14 - mov rdi,r9 - rorx r12,r9,39 - lea r8,[r13*1+r8] - xor rdi,r10 - rorx r14,r9,34 - rorx r13,r9,28 - lea rax,[r8*1+rax] - and r15,rdi - xor r14,r12 - xor r15,r10 - xor r14,r13 - lea r8,[r15*1+r8] - mov r12,rbx - add rdx,QWORD[64+rsp] - and r12,rax - rorx r13,rax,41 - rorx r15,rax,18 - lea r8,[r14*1+r8] - lea rdx,[r12*1+rdx] - andn r12,rax,rcx - xor r13,r15 - rorx r14,rax,14 - lea rdx,[r12*1+rdx] - xor r13,r14 - mov r15,r8 - rorx r12,r8,39 - lea rdx,[r13*1+rdx] - xor r15,r9 - rorx r14,r8,34 - rorx r13,r8,28 - lea r11,[rdx*1+r11] - and rdi,r15 - xor r14,r12 - xor rdi,r9 - xor r14,r13 - lea rdx,[rdi*1+rdx] - mov r12,rax - add rcx,QWORD[72+rsp] - and r12,r11 - rorx r13,r11,41 - rorx rdi,r11,18 - lea rdx,[r14*1+rdx] - lea rcx,[r12*1+rcx] - andn r12,r11,rbx - xor r13,rdi - rorx r14,r11,14 - lea rcx,[r12*1+rcx] - xor r13,r14 - mov rdi,rdx - rorx r12,rdx,39 - lea rcx,[r13*1+rcx] - xor rdi,r8 - rorx r14,rdx,34 - rorx r13,rdx,28 - lea r10,[rcx*1+r10] - and r15,rdi - xor r14,r12 - xor r15,r8 - xor r14,r13 - lea rcx,[r15*1+rcx] - mov r12,r11 - add rbx,QWORD[96+rsp] - and r12,r10 - rorx r13,r10,41 - rorx r15,r10,18 - lea rcx,[r14*1+rcx] - lea rbx,[r12*1+rbx] - andn r12,r10,rax - xor r13,r15 - rorx r14,r10,14 - lea rbx,[r12*1+rbx] - xor r13,r14 - mov r15,rcx - rorx r12,rcx,39 - lea rbx,[r13*1+rbx] - xor r15,rdx - rorx r14,rcx,34 - rorx r13,rcx,28 - lea r9,[rbx*1+r9] - and rdi,r15 - xor r14,r12 - xor rdi,rdx - xor r14,r13 - lea rbx,[rdi*1+rbx] - mov r12,r10 - add rax,QWORD[104+rsp] - and r12,r9 - rorx r13,r9,41 - rorx rdi,r9,18 - lea rbx,[r14*1+rbx] - lea rax,[r12*1+rax] - andn r12,r9,r11 - xor r13,rdi - rorx r14,r9,14 - lea rax,[r12*1+rax] - xor r13,r14 - mov rdi,rbx - rorx r12,rbx,39 - lea rax,[r13*1+rax] - xor rdi,rcx - rorx r14,rbx,34 - rorx r13,rbx,28 - lea r8,[rax*1+r8] - and r15,rdi - xor r14,r12 - xor r15,rcx - xor r14,r13 - lea rax,[r15*1+rax] - mov r12,r9 - mov rdi,QWORD[1280+rsp] - add rax,r14 - - lea rbp,[1152+rsp] - - add rax,QWORD[rdi] - add rbx,QWORD[8+rdi] - add rcx,QWORD[16+rdi] - add rdx,QWORD[24+rdi] - add r8,QWORD[32+rdi] - add r9,QWORD[40+rdi] - add r10,QWORD[48+rdi] - add r11,QWORD[56+rdi] - - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rcx - mov QWORD[24+rdi],rdx - mov QWORD[32+rdi],r8 - mov QWORD[40+rdi],r9 - mov QWORD[48+rdi],r10 - mov QWORD[56+rdi],r11 - - cmp rsi,QWORD[144+rbp] - je NEAR $L$done_avx2 - - xor r14,r14 - mov rdi,rbx - xor rdi,rcx - mov r12,r9 - jmp NEAR $L$ower_avx2 -ALIGN 16 -$L$ower_avx2: - add r11,QWORD[((0+16))+rbp] - and r12,r8 - rorx r13,r8,41 - rorx r15,r8,18 - lea rax,[r14*1+rax] - lea r11,[r12*1+r11] - andn r12,r8,r10 - xor r13,r15 - rorx r14,r8,14 - lea r11,[r12*1+r11] - xor r13,r14 - mov r15,rax - rorx r12,rax,39 - lea r11,[r13*1+r11] - xor r15,rbx - rorx r14,rax,34 - rorx r13,rax,28 - lea rdx,[r11*1+rdx] - and rdi,r15 - xor r14,r12 - xor rdi,rbx - xor r14,r13 - lea r11,[rdi*1+r11] - mov r12,r8 - add r10,QWORD[((8+16))+rbp] - and r12,rdx - rorx r13,rdx,41 - rorx rdi,rdx,18 - lea r11,[r14*1+r11] - lea r10,[r12*1+r10] - andn r12,rdx,r9 - xor r13,rdi - rorx r14,rdx,14 - lea r10,[r12*1+r10] - xor r13,r14 - mov rdi,r11 - rorx r12,r11,39 - lea r10,[r13*1+r10] - xor rdi,rax - rorx r14,r11,34 - rorx r13,r11,28 - lea rcx,[r10*1+rcx] - and r15,rdi - xor r14,r12 - xor r15,rax - xor r14,r13 - lea r10,[r15*1+r10] - mov r12,rdx - add r9,QWORD[((32+16))+rbp] - and r12,rcx - rorx r13,rcx,41 - rorx r15,rcx,18 - lea r10,[r14*1+r10] - lea r9,[r12*1+r9] - andn r12,rcx,r8 - xor r13,r15 - rorx r14,rcx,14 - lea r9,[r12*1+r9] - xor r13,r14 - mov r15,r10 - rorx r12,r10,39 - lea r9,[r13*1+r9] - xor r15,r11 - rorx r14,r10,34 - rorx r13,r10,28 - lea rbx,[r9*1+rbx] - and rdi,r15 - xor r14,r12 - xor rdi,r11 - xor r14,r13 - lea r9,[rdi*1+r9] - mov r12,rcx - add r8,QWORD[((40+16))+rbp] - and r12,rbx - rorx r13,rbx,41 - rorx rdi,rbx,18 - lea r9,[r14*1+r9] - lea r8,[r12*1+r8] - andn r12,rbx,rdx - xor r13,rdi - rorx r14,rbx,14 - lea r8,[r12*1+r8] - xor r13,r14 - mov rdi,r9 - rorx r12,r9,39 - lea r8,[r13*1+r8] - xor rdi,r10 - rorx r14,r9,34 - rorx r13,r9,28 - lea rax,[r8*1+rax] - and r15,rdi - xor r14,r12 - xor r15,r10 - xor r14,r13 - lea r8,[r15*1+r8] - mov r12,rbx - add rdx,QWORD[((64+16))+rbp] - and r12,rax - rorx r13,rax,41 - rorx r15,rax,18 - lea r8,[r14*1+r8] - lea rdx,[r12*1+rdx] - andn r12,rax,rcx - xor r13,r15 - rorx r14,rax,14 - lea rdx,[r12*1+rdx] - xor r13,r14 - mov r15,r8 - rorx r12,r8,39 - lea rdx,[r13*1+rdx] - xor r15,r9 - rorx r14,r8,34 - rorx r13,r8,28 - lea r11,[rdx*1+r11] - and rdi,r15 - xor r14,r12 - xor rdi,r9 - xor r14,r13 - lea rdx,[rdi*1+rdx] - mov r12,rax - add rcx,QWORD[((72+16))+rbp] - and r12,r11 - rorx r13,r11,41 - rorx rdi,r11,18 - lea rdx,[r14*1+rdx] - lea rcx,[r12*1+rcx] - andn r12,r11,rbx - xor r13,rdi - rorx r14,r11,14 - lea rcx,[r12*1+rcx] - xor r13,r14 - mov rdi,rdx - rorx r12,rdx,39 - lea rcx,[r13*1+rcx] - xor rdi,r8 - rorx r14,rdx,34 - rorx r13,rdx,28 - lea r10,[rcx*1+r10] - and r15,rdi - xor r14,r12 - xor r15,r8 - xor r14,r13 - lea rcx,[r15*1+rcx] - mov r12,r11 - add rbx,QWORD[((96+16))+rbp] - and r12,r10 - rorx r13,r10,41 - rorx r15,r10,18 - lea rcx,[r14*1+rcx] - lea rbx,[r12*1+rbx] - andn r12,r10,rax - xor r13,r15 - rorx r14,r10,14 - lea rbx,[r12*1+rbx] - xor r13,r14 - mov r15,rcx - rorx r12,rcx,39 - lea rbx,[r13*1+rbx] - xor r15,rdx - rorx r14,rcx,34 - rorx r13,rcx,28 - lea r9,[rbx*1+r9] - and rdi,r15 - xor r14,r12 - xor rdi,rdx - xor r14,r13 - lea rbx,[rdi*1+rbx] - mov r12,r10 - add rax,QWORD[((104+16))+rbp] - and r12,r9 - rorx r13,r9,41 - rorx rdi,r9,18 - lea rbx,[r14*1+rbx] - lea rax,[r12*1+rax] - andn r12,r9,r11 - xor r13,rdi - rorx r14,r9,14 - lea rax,[r12*1+rax] - xor r13,r14 - mov rdi,rbx - rorx r12,rbx,39 - lea rax,[r13*1+rax] - xor rdi,rcx - rorx r14,rbx,34 - rorx r13,rbx,28 - lea r8,[rax*1+r8] - and r15,rdi - xor r14,r12 - xor r15,rcx - xor r14,r13 - lea rax,[r15*1+rax] - mov r12,r9 - lea rbp,[((-128))+rbp] - cmp rbp,rsp - jae NEAR $L$ower_avx2 - - mov rdi,QWORD[1280+rsp] - add rax,r14 - - lea rsp,[1152+rsp] - - add rax,QWORD[rdi] - add rbx,QWORD[8+rdi] - add rcx,QWORD[16+rdi] - add rdx,QWORD[24+rdi] - add r8,QWORD[32+rdi] - add r9,QWORD[40+rdi] - lea rsi,[256+rsi] - add r10,QWORD[48+rdi] - mov r12,rsi - add r11,QWORD[56+rdi] - cmp rsi,QWORD[((128+16))+rsp] - - mov QWORD[rdi],rax - cmove r12,rsp - mov QWORD[8+rdi],rbx - mov QWORD[16+rdi],rcx - mov QWORD[24+rdi],rdx - mov QWORD[32+rdi],r8 - mov QWORD[40+rdi],r9 - mov QWORD[48+rdi],r10 - mov QWORD[56+rdi],r11 - - jbe NEAR $L$oop_avx2 - lea rbp,[rsp] - -$L$done_avx2: - lea rsp,[rbp] - mov rsi,QWORD[((128+24))+rsp] - vzeroupper - movaps xmm6,XMMWORD[((128+32))+rsp] - movaps xmm7,XMMWORD[((128+48))+rsp] - movaps xmm8,XMMWORD[((128+64))+rsp] - movaps xmm9,XMMWORD[((128+80))+rsp] - movaps xmm10,XMMWORD[((128+96))+rsp] - movaps xmm11,XMMWORD[((128+112))+rsp] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue_avx2: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_sha512_block_data_order_avx2: -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - lea r10,[$L$avx2_shortcut] - cmp rbx,r10 - jb NEAR $L$not_in_avx2 - - and rax,-256*8 - add rax,1152 -$L$not_in_avx2: - mov rsi,rax - mov rax,QWORD[((128+24))+rax] - lea rax,[48+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - - lea r10,[$L$epilogue] - cmp rbx,r10 - jb NEAR $L$in_prologue - - lea rsi,[((128+32))+rsi] - lea rdi,[512+r8] - mov ecx,12 - DD 0xa548f3fc - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_sha512_block_data_order wrt ..imagebase - DD $L$SEH_end_sha512_block_data_order wrt ..imagebase - DD $L$SEH_info_sha512_block_data_order wrt ..imagebase - DD $L$SEH_begin_sha512_block_data_order_xop wrt ..imagebase - DD $L$SEH_end_sha512_block_data_order_xop wrt ..imagebase - DD $L$SEH_info_sha512_block_data_order_xop wrt ..imagebase - DD $L$SEH_begin_sha512_block_data_order_avx wrt ..imagebase - DD $L$SEH_end_sha512_block_data_order_avx wrt ..imagebase - DD $L$SEH_info_sha512_block_data_order_avx wrt ..imagebase - DD $L$SEH_begin_sha512_block_data_order_avx2 wrt ..imagebase - DD $L$SEH_end_sha512_block_data_order_avx2 wrt ..imagebase - DD $L$SEH_info_sha512_block_data_order_avx2 wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_sha512_block_data_order: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase -$L$SEH_info_sha512_block_data_order_xop: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue_xop wrt ..imagebase,$L$epilogue_xop wrt ..imagebase -$L$SEH_info_sha512_block_data_order_avx: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase -$L$SEH_info_sha512_block_data_order_avx2: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$prologue_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +EXTERN OPENSSL_ia32cap_P +global sha512_block_data_order + +ALIGN 16 +sha512_block_data_order: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha512_block_data_order: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + lea r11,[OPENSSL_ia32cap_P] + mov r9d,DWORD[r11] + mov r10d,DWORD[4+r11] + mov r11d,DWORD[8+r11] + test r10d,2048 + jnz NEAR $L$xop_shortcut + and r11d,296 + cmp r11d,296 + je NEAR $L$avx2_shortcut + and r9d,1073741824 + and r10d,268435968 + or r10d,r9d + cmp r10d,1342177792 + je NEAR $L$avx_shortcut + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov r11,rsp + shl rdx,4 + sub rsp,16*8+4*8 + lea rdx,[rdx*8+rsi] + and rsp,-64 + mov QWORD[((128+0))+rsp],rdi + mov QWORD[((128+8))+rsp],rsi + mov QWORD[((128+16))+rsp],rdx + mov QWORD[((128+24))+rsp],r11 +$L$prologue: + + mov rax,QWORD[rdi] + mov rbx,QWORD[8+rdi] + mov rcx,QWORD[16+rdi] + mov rdx,QWORD[24+rdi] + mov r8,QWORD[32+rdi] + mov r9,QWORD[40+rdi] + mov r10,QWORD[48+rdi] + mov r11,QWORD[56+rdi] + jmp NEAR $L$loop + +ALIGN 16 +$L$loop: + mov rdi,rbx + lea rbp,[K512] + xor rdi,rcx + mov r12,QWORD[rsi] + mov r13,r8 + mov r14,rax + bswap r12 + ror r13,23 + mov r15,r9 + + xor r13,r8 + ror r14,5 + xor r15,r10 + + mov QWORD[rsp],r12 + xor r14,rax + and r15,r8 + + ror r13,4 + add r12,r11 + xor r15,r10 + + ror r14,6 + xor r13,r8 + add r12,r15 + + mov r15,rax + add r12,QWORD[rbp] + xor r14,rax + + xor r15,rbx + ror r13,14 + mov r11,rbx + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor r11,rdi + add rdx,r12 + add r11,r12 + + lea rbp,[8+rbp] + add r11,r14 + mov r12,QWORD[8+rsi] + mov r13,rdx + mov r14,r11 + bswap r12 + ror r13,23 + mov rdi,r8 + + xor r13,rdx + ror r14,5 + xor rdi,r9 + + mov QWORD[8+rsp],r12 + xor r14,r11 + and rdi,rdx + + ror r13,4 + add r12,r10 + xor rdi,r9 + + ror r14,6 + xor r13,rdx + add r12,rdi + + mov rdi,r11 + add r12,QWORD[rbp] + xor r14,r11 + + xor rdi,rax + ror r13,14 + mov r10,rax + + and r15,rdi + ror r14,28 + add r12,r13 + + xor r10,r15 + add rcx,r12 + add r10,r12 + + lea rbp,[24+rbp] + add r10,r14 + mov r12,QWORD[16+rsi] + mov r13,rcx + mov r14,r10 + bswap r12 + ror r13,23 + mov r15,rdx + + xor r13,rcx + ror r14,5 + xor r15,r8 + + mov QWORD[16+rsp],r12 + xor r14,r10 + and r15,rcx + + ror r13,4 + add r12,r9 + xor r15,r8 + + ror r14,6 + xor r13,rcx + add r12,r15 + + mov r15,r10 + add r12,QWORD[rbp] + xor r14,r10 + + xor r15,r11 + ror r13,14 + mov r9,r11 + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor r9,rdi + add rbx,r12 + add r9,r12 + + lea rbp,[8+rbp] + add r9,r14 + mov r12,QWORD[24+rsi] + mov r13,rbx + mov r14,r9 + bswap r12 + ror r13,23 + mov rdi,rcx + + xor r13,rbx + ror r14,5 + xor rdi,rdx + + mov QWORD[24+rsp],r12 + xor r14,r9 + and rdi,rbx + + ror r13,4 + add r12,r8 + xor rdi,rdx + + ror r14,6 + xor r13,rbx + add r12,rdi + + mov rdi,r9 + add r12,QWORD[rbp] + xor r14,r9 + + xor rdi,r10 + ror r13,14 + mov r8,r10 + + and r15,rdi + ror r14,28 + add r12,r13 + + xor r8,r15 + add rax,r12 + add r8,r12 + + lea rbp,[24+rbp] + add r8,r14 + mov r12,QWORD[32+rsi] + mov r13,rax + mov r14,r8 + bswap r12 + ror r13,23 + mov r15,rbx + + xor r13,rax + ror r14,5 + xor r15,rcx + + mov QWORD[32+rsp],r12 + xor r14,r8 + and r15,rax + + ror r13,4 + add r12,rdx + xor r15,rcx + + ror r14,6 + xor r13,rax + add r12,r15 + + mov r15,r8 + add r12,QWORD[rbp] + xor r14,r8 + + xor r15,r9 + ror r13,14 + mov rdx,r9 + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor rdx,rdi + add r11,r12 + add rdx,r12 + + lea rbp,[8+rbp] + add rdx,r14 + mov r12,QWORD[40+rsi] + mov r13,r11 + mov r14,rdx + bswap r12 + ror r13,23 + mov rdi,rax + + xor r13,r11 + ror r14,5 + xor rdi,rbx + + mov QWORD[40+rsp],r12 + xor r14,rdx + and rdi,r11 + + ror r13,4 + add r12,rcx + xor rdi,rbx + + ror r14,6 + xor r13,r11 + add r12,rdi + + mov rdi,rdx + add r12,QWORD[rbp] + xor r14,rdx + + xor rdi,r8 + ror r13,14 + mov rcx,r8 + + and r15,rdi + ror r14,28 + add r12,r13 + + xor rcx,r15 + add r10,r12 + add rcx,r12 + + lea rbp,[24+rbp] + add rcx,r14 + mov r12,QWORD[48+rsi] + mov r13,r10 + mov r14,rcx + bswap r12 + ror r13,23 + mov r15,r11 + + xor r13,r10 + ror r14,5 + xor r15,rax + + mov QWORD[48+rsp],r12 + xor r14,rcx + and r15,r10 + + ror r13,4 + add r12,rbx + xor r15,rax + + ror r14,6 + xor r13,r10 + add r12,r15 + + mov r15,rcx + add r12,QWORD[rbp] + xor r14,rcx + + xor r15,rdx + ror r13,14 + mov rbx,rdx + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor rbx,rdi + add r9,r12 + add rbx,r12 + + lea rbp,[8+rbp] + add rbx,r14 + mov r12,QWORD[56+rsi] + mov r13,r9 + mov r14,rbx + bswap r12 + ror r13,23 + mov rdi,r10 + + xor r13,r9 + ror r14,5 + xor rdi,r11 + + mov QWORD[56+rsp],r12 + xor r14,rbx + and rdi,r9 + + ror r13,4 + add r12,rax + xor rdi,r11 + + ror r14,6 + xor r13,r9 + add r12,rdi + + mov rdi,rbx + add r12,QWORD[rbp] + xor r14,rbx + + xor rdi,rcx + ror r13,14 + mov rax,rcx + + and r15,rdi + ror r14,28 + add r12,r13 + + xor rax,r15 + add r8,r12 + add rax,r12 + + lea rbp,[24+rbp] + add rax,r14 + mov r12,QWORD[64+rsi] + mov r13,r8 + mov r14,rax + bswap r12 + ror r13,23 + mov r15,r9 + + xor r13,r8 + ror r14,5 + xor r15,r10 + + mov QWORD[64+rsp],r12 + xor r14,rax + and r15,r8 + + ror r13,4 + add r12,r11 + xor r15,r10 + + ror r14,6 + xor r13,r8 + add r12,r15 + + mov r15,rax + add r12,QWORD[rbp] + xor r14,rax + + xor r15,rbx + ror r13,14 + mov r11,rbx + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor r11,rdi + add rdx,r12 + add r11,r12 + + lea rbp,[8+rbp] + add r11,r14 + mov r12,QWORD[72+rsi] + mov r13,rdx + mov r14,r11 + bswap r12 + ror r13,23 + mov rdi,r8 + + xor r13,rdx + ror r14,5 + xor rdi,r9 + + mov QWORD[72+rsp],r12 + xor r14,r11 + and rdi,rdx + + ror r13,4 + add r12,r10 + xor rdi,r9 + + ror r14,6 + xor r13,rdx + add r12,rdi + + mov rdi,r11 + add r12,QWORD[rbp] + xor r14,r11 + + xor rdi,rax + ror r13,14 + mov r10,rax + + and r15,rdi + ror r14,28 + add r12,r13 + + xor r10,r15 + add rcx,r12 + add r10,r12 + + lea rbp,[24+rbp] + add r10,r14 + mov r12,QWORD[80+rsi] + mov r13,rcx + mov r14,r10 + bswap r12 + ror r13,23 + mov r15,rdx + + xor r13,rcx + ror r14,5 + xor r15,r8 + + mov QWORD[80+rsp],r12 + xor r14,r10 + and r15,rcx + + ror r13,4 + add r12,r9 + xor r15,r8 + + ror r14,6 + xor r13,rcx + add r12,r15 + + mov r15,r10 + add r12,QWORD[rbp] + xor r14,r10 + + xor r15,r11 + ror r13,14 + mov r9,r11 + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor r9,rdi + add rbx,r12 + add r9,r12 + + lea rbp,[8+rbp] + add r9,r14 + mov r12,QWORD[88+rsi] + mov r13,rbx + mov r14,r9 + bswap r12 + ror r13,23 + mov rdi,rcx + + xor r13,rbx + ror r14,5 + xor rdi,rdx + + mov QWORD[88+rsp],r12 + xor r14,r9 + and rdi,rbx + + ror r13,4 + add r12,r8 + xor rdi,rdx + + ror r14,6 + xor r13,rbx + add r12,rdi + + mov rdi,r9 + add r12,QWORD[rbp] + xor r14,r9 + + xor rdi,r10 + ror r13,14 + mov r8,r10 + + and r15,rdi + ror r14,28 + add r12,r13 + + xor r8,r15 + add rax,r12 + add r8,r12 + + lea rbp,[24+rbp] + add r8,r14 + mov r12,QWORD[96+rsi] + mov r13,rax + mov r14,r8 + bswap r12 + ror r13,23 + mov r15,rbx + + xor r13,rax + ror r14,5 + xor r15,rcx + + mov QWORD[96+rsp],r12 + xor r14,r8 + and r15,rax + + ror r13,4 + add r12,rdx + xor r15,rcx + + ror r14,6 + xor r13,rax + add r12,r15 + + mov r15,r8 + add r12,QWORD[rbp] + xor r14,r8 + + xor r15,r9 + ror r13,14 + mov rdx,r9 + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor rdx,rdi + add r11,r12 + add rdx,r12 + + lea rbp,[8+rbp] + add rdx,r14 + mov r12,QWORD[104+rsi] + mov r13,r11 + mov r14,rdx + bswap r12 + ror r13,23 + mov rdi,rax + + xor r13,r11 + ror r14,5 + xor rdi,rbx + + mov QWORD[104+rsp],r12 + xor r14,rdx + and rdi,r11 + + ror r13,4 + add r12,rcx + xor rdi,rbx + + ror r14,6 + xor r13,r11 + add r12,rdi + + mov rdi,rdx + add r12,QWORD[rbp] + xor r14,rdx + + xor rdi,r8 + ror r13,14 + mov rcx,r8 + + and r15,rdi + ror r14,28 + add r12,r13 + + xor rcx,r15 + add r10,r12 + add rcx,r12 + + lea rbp,[24+rbp] + add rcx,r14 + mov r12,QWORD[112+rsi] + mov r13,r10 + mov r14,rcx + bswap r12 + ror r13,23 + mov r15,r11 + + xor r13,r10 + ror r14,5 + xor r15,rax + + mov QWORD[112+rsp],r12 + xor r14,rcx + and r15,r10 + + ror r13,4 + add r12,rbx + xor r15,rax + + ror r14,6 + xor r13,r10 + add r12,r15 + + mov r15,rcx + add r12,QWORD[rbp] + xor r14,rcx + + xor r15,rdx + ror r13,14 + mov rbx,rdx + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor rbx,rdi + add r9,r12 + add rbx,r12 + + lea rbp,[8+rbp] + add rbx,r14 + mov r12,QWORD[120+rsi] + mov r13,r9 + mov r14,rbx + bswap r12 + ror r13,23 + mov rdi,r10 + + xor r13,r9 + ror r14,5 + xor rdi,r11 + + mov QWORD[120+rsp],r12 + xor r14,rbx + and rdi,r9 + + ror r13,4 + add r12,rax + xor rdi,r11 + + ror r14,6 + xor r13,r9 + add r12,rdi + + mov rdi,rbx + add r12,QWORD[rbp] + xor r14,rbx + + xor rdi,rcx + ror r13,14 + mov rax,rcx + + and r15,rdi + ror r14,28 + add r12,r13 + + xor rax,r15 + add r8,r12 + add rax,r12 + + lea rbp,[24+rbp] + jmp NEAR $L$rounds_16_xx +ALIGN 16 +$L$rounds_16_xx: + mov r13,QWORD[8+rsp] + mov r15,QWORD[112+rsp] + + mov r12,r13 + ror r13,7 + add rax,r14 + mov r14,r15 + ror r15,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor r15,r14 + shr r14,6 + + ror r15,19 + xor r12,r13 + xor r15,r14 + add r12,QWORD[72+rsp] + + add r12,QWORD[rsp] + mov r13,r8 + add r12,r15 + mov r14,rax + ror r13,23 + mov r15,r9 + + xor r13,r8 + ror r14,5 + xor r15,r10 + + mov QWORD[rsp],r12 + xor r14,rax + and r15,r8 + + ror r13,4 + add r12,r11 + xor r15,r10 + + ror r14,6 + xor r13,r8 + add r12,r15 + + mov r15,rax + add r12,QWORD[rbp] + xor r14,rax + + xor r15,rbx + ror r13,14 + mov r11,rbx + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor r11,rdi + add rdx,r12 + add r11,r12 + + lea rbp,[8+rbp] + mov r13,QWORD[16+rsp] + mov rdi,QWORD[120+rsp] + + mov r12,r13 + ror r13,7 + add r11,r14 + mov r14,rdi + ror rdi,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor rdi,r14 + shr r14,6 + + ror rdi,19 + xor r12,r13 + xor rdi,r14 + add r12,QWORD[80+rsp] + + add r12,QWORD[8+rsp] + mov r13,rdx + add r12,rdi + mov r14,r11 + ror r13,23 + mov rdi,r8 + + xor r13,rdx + ror r14,5 + xor rdi,r9 + + mov QWORD[8+rsp],r12 + xor r14,r11 + and rdi,rdx + + ror r13,4 + add r12,r10 + xor rdi,r9 + + ror r14,6 + xor r13,rdx + add r12,rdi + + mov rdi,r11 + add r12,QWORD[rbp] + xor r14,r11 + + xor rdi,rax + ror r13,14 + mov r10,rax + + and r15,rdi + ror r14,28 + add r12,r13 + + xor r10,r15 + add rcx,r12 + add r10,r12 + + lea rbp,[24+rbp] + mov r13,QWORD[24+rsp] + mov r15,QWORD[rsp] + + mov r12,r13 + ror r13,7 + add r10,r14 + mov r14,r15 + ror r15,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor r15,r14 + shr r14,6 + + ror r15,19 + xor r12,r13 + xor r15,r14 + add r12,QWORD[88+rsp] + + add r12,QWORD[16+rsp] + mov r13,rcx + add r12,r15 + mov r14,r10 + ror r13,23 + mov r15,rdx + + xor r13,rcx + ror r14,5 + xor r15,r8 + + mov QWORD[16+rsp],r12 + xor r14,r10 + and r15,rcx + + ror r13,4 + add r12,r9 + xor r15,r8 + + ror r14,6 + xor r13,rcx + add r12,r15 + + mov r15,r10 + add r12,QWORD[rbp] + xor r14,r10 + + xor r15,r11 + ror r13,14 + mov r9,r11 + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor r9,rdi + add rbx,r12 + add r9,r12 + + lea rbp,[8+rbp] + mov r13,QWORD[32+rsp] + mov rdi,QWORD[8+rsp] + + mov r12,r13 + ror r13,7 + add r9,r14 + mov r14,rdi + ror rdi,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor rdi,r14 + shr r14,6 + + ror rdi,19 + xor r12,r13 + xor rdi,r14 + add r12,QWORD[96+rsp] + + add r12,QWORD[24+rsp] + mov r13,rbx + add r12,rdi + mov r14,r9 + ror r13,23 + mov rdi,rcx + + xor r13,rbx + ror r14,5 + xor rdi,rdx + + mov QWORD[24+rsp],r12 + xor r14,r9 + and rdi,rbx + + ror r13,4 + add r12,r8 + xor rdi,rdx + + ror r14,6 + xor r13,rbx + add r12,rdi + + mov rdi,r9 + add r12,QWORD[rbp] + xor r14,r9 + + xor rdi,r10 + ror r13,14 + mov r8,r10 + + and r15,rdi + ror r14,28 + add r12,r13 + + xor r8,r15 + add rax,r12 + add r8,r12 + + lea rbp,[24+rbp] + mov r13,QWORD[40+rsp] + mov r15,QWORD[16+rsp] + + mov r12,r13 + ror r13,7 + add r8,r14 + mov r14,r15 + ror r15,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor r15,r14 + shr r14,6 + + ror r15,19 + xor r12,r13 + xor r15,r14 + add r12,QWORD[104+rsp] + + add r12,QWORD[32+rsp] + mov r13,rax + add r12,r15 + mov r14,r8 + ror r13,23 + mov r15,rbx + + xor r13,rax + ror r14,5 + xor r15,rcx + + mov QWORD[32+rsp],r12 + xor r14,r8 + and r15,rax + + ror r13,4 + add r12,rdx + xor r15,rcx + + ror r14,6 + xor r13,rax + add r12,r15 + + mov r15,r8 + add r12,QWORD[rbp] + xor r14,r8 + + xor r15,r9 + ror r13,14 + mov rdx,r9 + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor rdx,rdi + add r11,r12 + add rdx,r12 + + lea rbp,[8+rbp] + mov r13,QWORD[48+rsp] + mov rdi,QWORD[24+rsp] + + mov r12,r13 + ror r13,7 + add rdx,r14 + mov r14,rdi + ror rdi,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor rdi,r14 + shr r14,6 + + ror rdi,19 + xor r12,r13 + xor rdi,r14 + add r12,QWORD[112+rsp] + + add r12,QWORD[40+rsp] + mov r13,r11 + add r12,rdi + mov r14,rdx + ror r13,23 + mov rdi,rax + + xor r13,r11 + ror r14,5 + xor rdi,rbx + + mov QWORD[40+rsp],r12 + xor r14,rdx + and rdi,r11 + + ror r13,4 + add r12,rcx + xor rdi,rbx + + ror r14,6 + xor r13,r11 + add r12,rdi + + mov rdi,rdx + add r12,QWORD[rbp] + xor r14,rdx + + xor rdi,r8 + ror r13,14 + mov rcx,r8 + + and r15,rdi + ror r14,28 + add r12,r13 + + xor rcx,r15 + add r10,r12 + add rcx,r12 + + lea rbp,[24+rbp] + mov r13,QWORD[56+rsp] + mov r15,QWORD[32+rsp] + + mov r12,r13 + ror r13,7 + add rcx,r14 + mov r14,r15 + ror r15,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor r15,r14 + shr r14,6 + + ror r15,19 + xor r12,r13 + xor r15,r14 + add r12,QWORD[120+rsp] + + add r12,QWORD[48+rsp] + mov r13,r10 + add r12,r15 + mov r14,rcx + ror r13,23 + mov r15,r11 + + xor r13,r10 + ror r14,5 + xor r15,rax + + mov QWORD[48+rsp],r12 + xor r14,rcx + and r15,r10 + + ror r13,4 + add r12,rbx + xor r15,rax + + ror r14,6 + xor r13,r10 + add r12,r15 + + mov r15,rcx + add r12,QWORD[rbp] + xor r14,rcx + + xor r15,rdx + ror r13,14 + mov rbx,rdx + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor rbx,rdi + add r9,r12 + add rbx,r12 + + lea rbp,[8+rbp] + mov r13,QWORD[64+rsp] + mov rdi,QWORD[40+rsp] + + mov r12,r13 + ror r13,7 + add rbx,r14 + mov r14,rdi + ror rdi,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor rdi,r14 + shr r14,6 + + ror rdi,19 + xor r12,r13 + xor rdi,r14 + add r12,QWORD[rsp] + + add r12,QWORD[56+rsp] + mov r13,r9 + add r12,rdi + mov r14,rbx + ror r13,23 + mov rdi,r10 + + xor r13,r9 + ror r14,5 + xor rdi,r11 + + mov QWORD[56+rsp],r12 + xor r14,rbx + and rdi,r9 + + ror r13,4 + add r12,rax + xor rdi,r11 + + ror r14,6 + xor r13,r9 + add r12,rdi + + mov rdi,rbx + add r12,QWORD[rbp] + xor r14,rbx + + xor rdi,rcx + ror r13,14 + mov rax,rcx + + and r15,rdi + ror r14,28 + add r12,r13 + + xor rax,r15 + add r8,r12 + add rax,r12 + + lea rbp,[24+rbp] + mov r13,QWORD[72+rsp] + mov r15,QWORD[48+rsp] + + mov r12,r13 + ror r13,7 + add rax,r14 + mov r14,r15 + ror r15,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor r15,r14 + shr r14,6 + + ror r15,19 + xor r12,r13 + xor r15,r14 + add r12,QWORD[8+rsp] + + add r12,QWORD[64+rsp] + mov r13,r8 + add r12,r15 + mov r14,rax + ror r13,23 + mov r15,r9 + + xor r13,r8 + ror r14,5 + xor r15,r10 + + mov QWORD[64+rsp],r12 + xor r14,rax + and r15,r8 + + ror r13,4 + add r12,r11 + xor r15,r10 + + ror r14,6 + xor r13,r8 + add r12,r15 + + mov r15,rax + add r12,QWORD[rbp] + xor r14,rax + + xor r15,rbx + ror r13,14 + mov r11,rbx + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor r11,rdi + add rdx,r12 + add r11,r12 + + lea rbp,[8+rbp] + mov r13,QWORD[80+rsp] + mov rdi,QWORD[56+rsp] + + mov r12,r13 + ror r13,7 + add r11,r14 + mov r14,rdi + ror rdi,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor rdi,r14 + shr r14,6 + + ror rdi,19 + xor r12,r13 + xor rdi,r14 + add r12,QWORD[16+rsp] + + add r12,QWORD[72+rsp] + mov r13,rdx + add r12,rdi + mov r14,r11 + ror r13,23 + mov rdi,r8 + + xor r13,rdx + ror r14,5 + xor rdi,r9 + + mov QWORD[72+rsp],r12 + xor r14,r11 + and rdi,rdx + + ror r13,4 + add r12,r10 + xor rdi,r9 + + ror r14,6 + xor r13,rdx + add r12,rdi + + mov rdi,r11 + add r12,QWORD[rbp] + xor r14,r11 + + xor rdi,rax + ror r13,14 + mov r10,rax + + and r15,rdi + ror r14,28 + add r12,r13 + + xor r10,r15 + add rcx,r12 + add r10,r12 + + lea rbp,[24+rbp] + mov r13,QWORD[88+rsp] + mov r15,QWORD[64+rsp] + + mov r12,r13 + ror r13,7 + add r10,r14 + mov r14,r15 + ror r15,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor r15,r14 + shr r14,6 + + ror r15,19 + xor r12,r13 + xor r15,r14 + add r12,QWORD[24+rsp] + + add r12,QWORD[80+rsp] + mov r13,rcx + add r12,r15 + mov r14,r10 + ror r13,23 + mov r15,rdx + + xor r13,rcx + ror r14,5 + xor r15,r8 + + mov QWORD[80+rsp],r12 + xor r14,r10 + and r15,rcx + + ror r13,4 + add r12,r9 + xor r15,r8 + + ror r14,6 + xor r13,rcx + add r12,r15 + + mov r15,r10 + add r12,QWORD[rbp] + xor r14,r10 + + xor r15,r11 + ror r13,14 + mov r9,r11 + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor r9,rdi + add rbx,r12 + add r9,r12 + + lea rbp,[8+rbp] + mov r13,QWORD[96+rsp] + mov rdi,QWORD[72+rsp] + + mov r12,r13 + ror r13,7 + add r9,r14 + mov r14,rdi + ror rdi,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor rdi,r14 + shr r14,6 + + ror rdi,19 + xor r12,r13 + xor rdi,r14 + add r12,QWORD[32+rsp] + + add r12,QWORD[88+rsp] + mov r13,rbx + add r12,rdi + mov r14,r9 + ror r13,23 + mov rdi,rcx + + xor r13,rbx + ror r14,5 + xor rdi,rdx + + mov QWORD[88+rsp],r12 + xor r14,r9 + and rdi,rbx + + ror r13,4 + add r12,r8 + xor rdi,rdx + + ror r14,6 + xor r13,rbx + add r12,rdi + + mov rdi,r9 + add r12,QWORD[rbp] + xor r14,r9 + + xor rdi,r10 + ror r13,14 + mov r8,r10 + + and r15,rdi + ror r14,28 + add r12,r13 + + xor r8,r15 + add rax,r12 + add r8,r12 + + lea rbp,[24+rbp] + mov r13,QWORD[104+rsp] + mov r15,QWORD[80+rsp] + + mov r12,r13 + ror r13,7 + add r8,r14 + mov r14,r15 + ror r15,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor r15,r14 + shr r14,6 + + ror r15,19 + xor r12,r13 + xor r15,r14 + add r12,QWORD[40+rsp] + + add r12,QWORD[96+rsp] + mov r13,rax + add r12,r15 + mov r14,r8 + ror r13,23 + mov r15,rbx + + xor r13,rax + ror r14,5 + xor r15,rcx + + mov QWORD[96+rsp],r12 + xor r14,r8 + and r15,rax + + ror r13,4 + add r12,rdx + xor r15,rcx + + ror r14,6 + xor r13,rax + add r12,r15 + + mov r15,r8 + add r12,QWORD[rbp] + xor r14,r8 + + xor r15,r9 + ror r13,14 + mov rdx,r9 + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor rdx,rdi + add r11,r12 + add rdx,r12 + + lea rbp,[8+rbp] + mov r13,QWORD[112+rsp] + mov rdi,QWORD[88+rsp] + + mov r12,r13 + ror r13,7 + add rdx,r14 + mov r14,rdi + ror rdi,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor rdi,r14 + shr r14,6 + + ror rdi,19 + xor r12,r13 + xor rdi,r14 + add r12,QWORD[48+rsp] + + add r12,QWORD[104+rsp] + mov r13,r11 + add r12,rdi + mov r14,rdx + ror r13,23 + mov rdi,rax + + xor r13,r11 + ror r14,5 + xor rdi,rbx + + mov QWORD[104+rsp],r12 + xor r14,rdx + and rdi,r11 + + ror r13,4 + add r12,rcx + xor rdi,rbx + + ror r14,6 + xor r13,r11 + add r12,rdi + + mov rdi,rdx + add r12,QWORD[rbp] + xor r14,rdx + + xor rdi,r8 + ror r13,14 + mov rcx,r8 + + and r15,rdi + ror r14,28 + add r12,r13 + + xor rcx,r15 + add r10,r12 + add rcx,r12 + + lea rbp,[24+rbp] + mov r13,QWORD[120+rsp] + mov r15,QWORD[96+rsp] + + mov r12,r13 + ror r13,7 + add rcx,r14 + mov r14,r15 + ror r15,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor r15,r14 + shr r14,6 + + ror r15,19 + xor r12,r13 + xor r15,r14 + add r12,QWORD[56+rsp] + + add r12,QWORD[112+rsp] + mov r13,r10 + add r12,r15 + mov r14,rcx + ror r13,23 + mov r15,r11 + + xor r13,r10 + ror r14,5 + xor r15,rax + + mov QWORD[112+rsp],r12 + xor r14,rcx + and r15,r10 + + ror r13,4 + add r12,rbx + xor r15,rax + + ror r14,6 + xor r13,r10 + add r12,r15 + + mov r15,rcx + add r12,QWORD[rbp] + xor r14,rcx + + xor r15,rdx + ror r13,14 + mov rbx,rdx + + and rdi,r15 + ror r14,28 + add r12,r13 + + xor rbx,rdi + add r9,r12 + add rbx,r12 + + lea rbp,[8+rbp] + mov r13,QWORD[rsp] + mov rdi,QWORD[104+rsp] + + mov r12,r13 + ror r13,7 + add rbx,r14 + mov r14,rdi + ror rdi,42 + + xor r13,r12 + shr r12,7 + ror r13,1 + xor rdi,r14 + shr r14,6 + + ror rdi,19 + xor r12,r13 + xor rdi,r14 + add r12,QWORD[64+rsp] + + add r12,QWORD[120+rsp] + mov r13,r9 + add r12,rdi + mov r14,rbx + ror r13,23 + mov rdi,r10 + + xor r13,r9 + ror r14,5 + xor rdi,r11 + + mov QWORD[120+rsp],r12 + xor r14,rbx + and rdi,r9 + + ror r13,4 + add r12,rax + xor rdi,r11 + + ror r14,6 + xor r13,r9 + add r12,rdi + + mov rdi,rbx + add r12,QWORD[rbp] + xor r14,rbx + + xor rdi,rcx + ror r13,14 + mov rax,rcx + + and r15,rdi + ror r14,28 + add r12,r13 + + xor rax,r15 + add r8,r12 + add rax,r12 + + lea rbp,[24+rbp] + cmp BYTE[7+rbp],0 + jnz NEAR $L$rounds_16_xx + + mov rdi,QWORD[((128+0))+rsp] + add rax,r14 + lea rsi,[128+rsi] + + add rax,QWORD[rdi] + add rbx,QWORD[8+rdi] + add rcx,QWORD[16+rdi] + add rdx,QWORD[24+rdi] + add r8,QWORD[32+rdi] + add r9,QWORD[40+rdi] + add r10,QWORD[48+rdi] + add r11,QWORD[56+rdi] + + cmp rsi,QWORD[((128+16))+rsp] + + mov QWORD[rdi],rax + mov QWORD[8+rdi],rbx + mov QWORD[16+rdi],rcx + mov QWORD[24+rdi],rdx + mov QWORD[32+rdi],r8 + mov QWORD[40+rdi],r9 + mov QWORD[48+rdi],r10 + mov QWORD[56+rdi],r11 + jb NEAR $L$loop + + mov rsi,QWORD[((128+24))+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha512_block_data_order: +ALIGN 64 + +K512: + DQ 0x428a2f98d728ae22,0x7137449123ef65cd + DQ 0x428a2f98d728ae22,0x7137449123ef65cd + DQ 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc + DQ 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc + DQ 0x3956c25bf348b538,0x59f111f1b605d019 + DQ 0x3956c25bf348b538,0x59f111f1b605d019 + DQ 0x923f82a4af194f9b,0xab1c5ed5da6d8118 + DQ 0x923f82a4af194f9b,0xab1c5ed5da6d8118 + DQ 0xd807aa98a3030242,0x12835b0145706fbe + DQ 0xd807aa98a3030242,0x12835b0145706fbe + DQ 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2 + DQ 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2 + DQ 0x72be5d74f27b896f,0x80deb1fe3b1696b1 + DQ 0x72be5d74f27b896f,0x80deb1fe3b1696b1 + DQ 0x9bdc06a725c71235,0xc19bf174cf692694 + DQ 0x9bdc06a725c71235,0xc19bf174cf692694 + DQ 0xe49b69c19ef14ad2,0xefbe4786384f25e3 + DQ 0xe49b69c19ef14ad2,0xefbe4786384f25e3 + DQ 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65 + DQ 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65 + DQ 0x2de92c6f592b0275,0x4a7484aa6ea6e483 + DQ 0x2de92c6f592b0275,0x4a7484aa6ea6e483 + DQ 0x5cb0a9dcbd41fbd4,0x76f988da831153b5 + DQ 0x5cb0a9dcbd41fbd4,0x76f988da831153b5 + DQ 0x983e5152ee66dfab,0xa831c66d2db43210 + DQ 0x983e5152ee66dfab,0xa831c66d2db43210 + DQ 0xb00327c898fb213f,0xbf597fc7beef0ee4 + DQ 0xb00327c898fb213f,0xbf597fc7beef0ee4 + DQ 0xc6e00bf33da88fc2,0xd5a79147930aa725 + DQ 0xc6e00bf33da88fc2,0xd5a79147930aa725 + DQ 0x06ca6351e003826f,0x142929670a0e6e70 + DQ 0x06ca6351e003826f,0x142929670a0e6e70 + DQ 0x27b70a8546d22ffc,0x2e1b21385c26c926 + DQ 0x27b70a8546d22ffc,0x2e1b21385c26c926 + DQ 0x4d2c6dfc5ac42aed,0x53380d139d95b3df + DQ 0x4d2c6dfc5ac42aed,0x53380d139d95b3df + DQ 0x650a73548baf63de,0x766a0abb3c77b2a8 + DQ 0x650a73548baf63de,0x766a0abb3c77b2a8 + DQ 0x81c2c92e47edaee6,0x92722c851482353b + DQ 0x81c2c92e47edaee6,0x92722c851482353b + DQ 0xa2bfe8a14cf10364,0xa81a664bbc423001 + DQ 0xa2bfe8a14cf10364,0xa81a664bbc423001 + DQ 0xc24b8b70d0f89791,0xc76c51a30654be30 + DQ 0xc24b8b70d0f89791,0xc76c51a30654be30 + DQ 0xd192e819d6ef5218,0xd69906245565a910 + DQ 0xd192e819d6ef5218,0xd69906245565a910 + DQ 0xf40e35855771202a,0x106aa07032bbd1b8 + DQ 0xf40e35855771202a,0x106aa07032bbd1b8 + DQ 0x19a4c116b8d2d0c8,0x1e376c085141ab53 + DQ 0x19a4c116b8d2d0c8,0x1e376c085141ab53 + DQ 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8 + DQ 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8 + DQ 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb + DQ 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb + DQ 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3 + DQ 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3 + DQ 0x748f82ee5defb2fc,0x78a5636f43172f60 + DQ 0x748f82ee5defb2fc,0x78a5636f43172f60 + DQ 0x84c87814a1f0ab72,0x8cc702081a6439ec + DQ 0x84c87814a1f0ab72,0x8cc702081a6439ec + DQ 0x90befffa23631e28,0xa4506cebde82bde9 + DQ 0x90befffa23631e28,0xa4506cebde82bde9 + DQ 0xbef9a3f7b2c67915,0xc67178f2e372532b + DQ 0xbef9a3f7b2c67915,0xc67178f2e372532b + DQ 0xca273eceea26619c,0xd186b8c721c0c207 + DQ 0xca273eceea26619c,0xd186b8c721c0c207 + DQ 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178 + DQ 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178 + DQ 0x06f067aa72176fba,0x0a637dc5a2c898a6 + DQ 0x06f067aa72176fba,0x0a637dc5a2c898a6 + DQ 0x113f9804bef90dae,0x1b710b35131c471b + DQ 0x113f9804bef90dae,0x1b710b35131c471b + DQ 0x28db77f523047d84,0x32caab7b40c72493 + DQ 0x28db77f523047d84,0x32caab7b40c72493 + DQ 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c + DQ 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c + DQ 0x4cc5d4becb3e42b6,0x597f299cfc657e2a + DQ 0x4cc5d4becb3e42b6,0x597f299cfc657e2a + DQ 0x5fcb6fab3ad6faec,0x6c44198c4a475817 + DQ 0x5fcb6fab3ad6faec,0x6c44198c4a475817 + + DQ 0x0001020304050607,0x08090a0b0c0d0e0f + DQ 0x0001020304050607,0x08090a0b0c0d0e0f +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,95,54 +DB 52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 +DB 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 +DB 111,114,103,62,0 + +ALIGN 64 +sha512_block_data_order_xop: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha512_block_data_order_xop: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +$L$xop_shortcut: + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov r11,rsp + shl rdx,4 + sub rsp,256 + lea rdx,[rdx*8+rsi] + and rsp,-64 + mov QWORD[((128+0))+rsp],rdi + mov QWORD[((128+8))+rsp],rsi + mov QWORD[((128+16))+rsp],rdx + mov QWORD[((128+24))+rsp],r11 + movaps XMMWORD[(128+32)+rsp],xmm6 + movaps XMMWORD[(128+48)+rsp],xmm7 + movaps XMMWORD[(128+64)+rsp],xmm8 + movaps XMMWORD[(128+80)+rsp],xmm9 + movaps XMMWORD[(128+96)+rsp],xmm10 + movaps XMMWORD[(128+112)+rsp],xmm11 +$L$prologue_xop: + + vzeroupper + mov rax,QWORD[rdi] + mov rbx,QWORD[8+rdi] + mov rcx,QWORD[16+rdi] + mov rdx,QWORD[24+rdi] + mov r8,QWORD[32+rdi] + mov r9,QWORD[40+rdi] + mov r10,QWORD[48+rdi] + mov r11,QWORD[56+rdi] + jmp NEAR $L$loop_xop +ALIGN 16 +$L$loop_xop: + vmovdqa xmm11,XMMWORD[((K512+1280))] + vmovdqu xmm0,XMMWORD[rsi] + lea rbp,[((K512+128))] + vmovdqu xmm1,XMMWORD[16+rsi] + vmovdqu xmm2,XMMWORD[32+rsi] + vpshufb xmm0,xmm0,xmm11 + vmovdqu xmm3,XMMWORD[48+rsi] + vpshufb xmm1,xmm1,xmm11 + vmovdqu xmm4,XMMWORD[64+rsi] + vpshufb xmm2,xmm2,xmm11 + vmovdqu xmm5,XMMWORD[80+rsi] + vpshufb xmm3,xmm3,xmm11 + vmovdqu xmm6,XMMWORD[96+rsi] + vpshufb xmm4,xmm4,xmm11 + vmovdqu xmm7,XMMWORD[112+rsi] + vpshufb xmm5,xmm5,xmm11 + vpaddq xmm8,xmm0,XMMWORD[((-128))+rbp] + vpshufb xmm6,xmm6,xmm11 + vpaddq xmm9,xmm1,XMMWORD[((-96))+rbp] + vpshufb xmm7,xmm7,xmm11 + vpaddq xmm10,xmm2,XMMWORD[((-64))+rbp] + vpaddq xmm11,xmm3,XMMWORD[((-32))+rbp] + vmovdqa XMMWORD[rsp],xmm8 + vpaddq xmm8,xmm4,XMMWORD[rbp] + vmovdqa XMMWORD[16+rsp],xmm9 + vpaddq xmm9,xmm5,XMMWORD[32+rbp] + vmovdqa XMMWORD[32+rsp],xmm10 + vpaddq xmm10,xmm6,XMMWORD[64+rbp] + vmovdqa XMMWORD[48+rsp],xmm11 + vpaddq xmm11,xmm7,XMMWORD[96+rbp] + vmovdqa XMMWORD[64+rsp],xmm8 + mov r14,rax + vmovdqa XMMWORD[80+rsp],xmm9 + mov rdi,rbx + vmovdqa XMMWORD[96+rsp],xmm10 + xor rdi,rcx + vmovdqa XMMWORD[112+rsp],xmm11 + mov r13,r8 + jmp NEAR $L$xop_00_47 + +ALIGN 16 +$L$xop_00_47: + add rbp,256 + vpalignr xmm8,xmm1,xmm0,8 + ror r13,23 + mov rax,r14 + vpalignr xmm11,xmm5,xmm4,8 + mov r12,r9 + ror r14,5 +DB 143,72,120,195,200,56 + xor r13,r8 + xor r12,r10 + vpsrlq xmm8,xmm8,7 + ror r13,4 + xor r14,rax + vpaddq xmm0,xmm0,xmm11 + and r12,r8 + xor r13,r8 + add r11,QWORD[rsp] + mov r15,rax +DB 143,72,120,195,209,7 + xor r12,r10 + ror r14,6 + vpxor xmm8,xmm8,xmm9 + xor r15,rbx + add r11,r12 + ror r13,14 + and rdi,r15 +DB 143,104,120,195,223,3 + xor r14,rax + add r11,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,rbx + ror r14,28 + vpsrlq xmm10,xmm7,6 + add rdx,r11 + add r11,rdi + vpaddq xmm0,xmm0,xmm8 + mov r13,rdx + add r14,r11 +DB 143,72,120,195,203,42 + ror r13,23 + mov r11,r14 + vpxor xmm11,xmm11,xmm10 + mov r12,r8 + ror r14,5 + xor r13,rdx + xor r12,r9 + vpxor xmm11,xmm11,xmm9 + ror r13,4 + xor r14,r11 + and r12,rdx + xor r13,rdx + vpaddq xmm0,xmm0,xmm11 + add r10,QWORD[8+rsp] + mov rdi,r11 + xor r12,r9 + ror r14,6 + vpaddq xmm10,xmm0,XMMWORD[((-128))+rbp] + xor rdi,rax + add r10,r12 + ror r13,14 + and r15,rdi + xor r14,r11 + add r10,r13 + xor r15,rax + ror r14,28 + add rcx,r10 + add r10,r15 + mov r13,rcx + add r14,r10 + vmovdqa XMMWORD[rsp],xmm10 + vpalignr xmm8,xmm2,xmm1,8 + ror r13,23 + mov r10,r14 + vpalignr xmm11,xmm6,xmm5,8 + mov r12,rdx + ror r14,5 +DB 143,72,120,195,200,56 + xor r13,rcx + xor r12,r8 + vpsrlq xmm8,xmm8,7 + ror r13,4 + xor r14,r10 + vpaddq xmm1,xmm1,xmm11 + and r12,rcx + xor r13,rcx + add r9,QWORD[16+rsp] + mov r15,r10 +DB 143,72,120,195,209,7 + xor r12,r8 + ror r14,6 + vpxor xmm8,xmm8,xmm9 + xor r15,r11 + add r9,r12 + ror r13,14 + and rdi,r15 +DB 143,104,120,195,216,3 + xor r14,r10 + add r9,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,r11 + ror r14,28 + vpsrlq xmm10,xmm0,6 + add rbx,r9 + add r9,rdi + vpaddq xmm1,xmm1,xmm8 + mov r13,rbx + add r14,r9 +DB 143,72,120,195,203,42 + ror r13,23 + mov r9,r14 + vpxor xmm11,xmm11,xmm10 + mov r12,rcx + ror r14,5 + xor r13,rbx + xor r12,rdx + vpxor xmm11,xmm11,xmm9 + ror r13,4 + xor r14,r9 + and r12,rbx + xor r13,rbx + vpaddq xmm1,xmm1,xmm11 + add r8,QWORD[24+rsp] + mov rdi,r9 + xor r12,rdx + ror r14,6 + vpaddq xmm10,xmm1,XMMWORD[((-96))+rbp] + xor rdi,r10 + add r8,r12 + ror r13,14 + and r15,rdi + xor r14,r9 + add r8,r13 + xor r15,r10 + ror r14,28 + add rax,r8 + add r8,r15 + mov r13,rax + add r14,r8 + vmovdqa XMMWORD[16+rsp],xmm10 + vpalignr xmm8,xmm3,xmm2,8 + ror r13,23 + mov r8,r14 + vpalignr xmm11,xmm7,xmm6,8 + mov r12,rbx + ror r14,5 +DB 143,72,120,195,200,56 + xor r13,rax + xor r12,rcx + vpsrlq xmm8,xmm8,7 + ror r13,4 + xor r14,r8 + vpaddq xmm2,xmm2,xmm11 + and r12,rax + xor r13,rax + add rdx,QWORD[32+rsp] + mov r15,r8 +DB 143,72,120,195,209,7 + xor r12,rcx + ror r14,6 + vpxor xmm8,xmm8,xmm9 + xor r15,r9 + add rdx,r12 + ror r13,14 + and rdi,r15 +DB 143,104,120,195,217,3 + xor r14,r8 + add rdx,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,r9 + ror r14,28 + vpsrlq xmm10,xmm1,6 + add r11,rdx + add rdx,rdi + vpaddq xmm2,xmm2,xmm8 + mov r13,r11 + add r14,rdx +DB 143,72,120,195,203,42 + ror r13,23 + mov rdx,r14 + vpxor xmm11,xmm11,xmm10 + mov r12,rax + ror r14,5 + xor r13,r11 + xor r12,rbx + vpxor xmm11,xmm11,xmm9 + ror r13,4 + xor r14,rdx + and r12,r11 + xor r13,r11 + vpaddq xmm2,xmm2,xmm11 + add rcx,QWORD[40+rsp] + mov rdi,rdx + xor r12,rbx + ror r14,6 + vpaddq xmm10,xmm2,XMMWORD[((-64))+rbp] + xor rdi,r8 + add rcx,r12 + ror r13,14 + and r15,rdi + xor r14,rdx + add rcx,r13 + xor r15,r8 + ror r14,28 + add r10,rcx + add rcx,r15 + mov r13,r10 + add r14,rcx + vmovdqa XMMWORD[32+rsp],xmm10 + vpalignr xmm8,xmm4,xmm3,8 + ror r13,23 + mov rcx,r14 + vpalignr xmm11,xmm0,xmm7,8 + mov r12,r11 + ror r14,5 +DB 143,72,120,195,200,56 + xor r13,r10 + xor r12,rax + vpsrlq xmm8,xmm8,7 + ror r13,4 + xor r14,rcx + vpaddq xmm3,xmm3,xmm11 + and r12,r10 + xor r13,r10 + add rbx,QWORD[48+rsp] + mov r15,rcx +DB 143,72,120,195,209,7 + xor r12,rax + ror r14,6 + vpxor xmm8,xmm8,xmm9 + xor r15,rdx + add rbx,r12 + ror r13,14 + and rdi,r15 +DB 143,104,120,195,218,3 + xor r14,rcx + add rbx,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,rdx + ror r14,28 + vpsrlq xmm10,xmm2,6 + add r9,rbx + add rbx,rdi + vpaddq xmm3,xmm3,xmm8 + mov r13,r9 + add r14,rbx +DB 143,72,120,195,203,42 + ror r13,23 + mov rbx,r14 + vpxor xmm11,xmm11,xmm10 + mov r12,r10 + ror r14,5 + xor r13,r9 + xor r12,r11 + vpxor xmm11,xmm11,xmm9 + ror r13,4 + xor r14,rbx + and r12,r9 + xor r13,r9 + vpaddq xmm3,xmm3,xmm11 + add rax,QWORD[56+rsp] + mov rdi,rbx + xor r12,r11 + ror r14,6 + vpaddq xmm10,xmm3,XMMWORD[((-32))+rbp] + xor rdi,rcx + add rax,r12 + ror r13,14 + and r15,rdi + xor r14,rbx + add rax,r13 + xor r15,rcx + ror r14,28 + add r8,rax + add rax,r15 + mov r13,r8 + add r14,rax + vmovdqa XMMWORD[48+rsp],xmm10 + vpalignr xmm8,xmm5,xmm4,8 + ror r13,23 + mov rax,r14 + vpalignr xmm11,xmm1,xmm0,8 + mov r12,r9 + ror r14,5 +DB 143,72,120,195,200,56 + xor r13,r8 + xor r12,r10 + vpsrlq xmm8,xmm8,7 + ror r13,4 + xor r14,rax + vpaddq xmm4,xmm4,xmm11 + and r12,r8 + xor r13,r8 + add r11,QWORD[64+rsp] + mov r15,rax +DB 143,72,120,195,209,7 + xor r12,r10 + ror r14,6 + vpxor xmm8,xmm8,xmm9 + xor r15,rbx + add r11,r12 + ror r13,14 + and rdi,r15 +DB 143,104,120,195,219,3 + xor r14,rax + add r11,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,rbx + ror r14,28 + vpsrlq xmm10,xmm3,6 + add rdx,r11 + add r11,rdi + vpaddq xmm4,xmm4,xmm8 + mov r13,rdx + add r14,r11 +DB 143,72,120,195,203,42 + ror r13,23 + mov r11,r14 + vpxor xmm11,xmm11,xmm10 + mov r12,r8 + ror r14,5 + xor r13,rdx + xor r12,r9 + vpxor xmm11,xmm11,xmm9 + ror r13,4 + xor r14,r11 + and r12,rdx + xor r13,rdx + vpaddq xmm4,xmm4,xmm11 + add r10,QWORD[72+rsp] + mov rdi,r11 + xor r12,r9 + ror r14,6 + vpaddq xmm10,xmm4,XMMWORD[rbp] + xor rdi,rax + add r10,r12 + ror r13,14 + and r15,rdi + xor r14,r11 + add r10,r13 + xor r15,rax + ror r14,28 + add rcx,r10 + add r10,r15 + mov r13,rcx + add r14,r10 + vmovdqa XMMWORD[64+rsp],xmm10 + vpalignr xmm8,xmm6,xmm5,8 + ror r13,23 + mov r10,r14 + vpalignr xmm11,xmm2,xmm1,8 + mov r12,rdx + ror r14,5 +DB 143,72,120,195,200,56 + xor r13,rcx + xor r12,r8 + vpsrlq xmm8,xmm8,7 + ror r13,4 + xor r14,r10 + vpaddq xmm5,xmm5,xmm11 + and r12,rcx + xor r13,rcx + add r9,QWORD[80+rsp] + mov r15,r10 +DB 143,72,120,195,209,7 + xor r12,r8 + ror r14,6 + vpxor xmm8,xmm8,xmm9 + xor r15,r11 + add r9,r12 + ror r13,14 + and rdi,r15 +DB 143,104,120,195,220,3 + xor r14,r10 + add r9,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,r11 + ror r14,28 + vpsrlq xmm10,xmm4,6 + add rbx,r9 + add r9,rdi + vpaddq xmm5,xmm5,xmm8 + mov r13,rbx + add r14,r9 +DB 143,72,120,195,203,42 + ror r13,23 + mov r9,r14 + vpxor xmm11,xmm11,xmm10 + mov r12,rcx + ror r14,5 + xor r13,rbx + xor r12,rdx + vpxor xmm11,xmm11,xmm9 + ror r13,4 + xor r14,r9 + and r12,rbx + xor r13,rbx + vpaddq xmm5,xmm5,xmm11 + add r8,QWORD[88+rsp] + mov rdi,r9 + xor r12,rdx + ror r14,6 + vpaddq xmm10,xmm5,XMMWORD[32+rbp] + xor rdi,r10 + add r8,r12 + ror r13,14 + and r15,rdi + xor r14,r9 + add r8,r13 + xor r15,r10 + ror r14,28 + add rax,r8 + add r8,r15 + mov r13,rax + add r14,r8 + vmovdqa XMMWORD[80+rsp],xmm10 + vpalignr xmm8,xmm7,xmm6,8 + ror r13,23 + mov r8,r14 + vpalignr xmm11,xmm3,xmm2,8 + mov r12,rbx + ror r14,5 +DB 143,72,120,195,200,56 + xor r13,rax + xor r12,rcx + vpsrlq xmm8,xmm8,7 + ror r13,4 + xor r14,r8 + vpaddq xmm6,xmm6,xmm11 + and r12,rax + xor r13,rax + add rdx,QWORD[96+rsp] + mov r15,r8 +DB 143,72,120,195,209,7 + xor r12,rcx + ror r14,6 + vpxor xmm8,xmm8,xmm9 + xor r15,r9 + add rdx,r12 + ror r13,14 + and rdi,r15 +DB 143,104,120,195,221,3 + xor r14,r8 + add rdx,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,r9 + ror r14,28 + vpsrlq xmm10,xmm5,6 + add r11,rdx + add rdx,rdi + vpaddq xmm6,xmm6,xmm8 + mov r13,r11 + add r14,rdx +DB 143,72,120,195,203,42 + ror r13,23 + mov rdx,r14 + vpxor xmm11,xmm11,xmm10 + mov r12,rax + ror r14,5 + xor r13,r11 + xor r12,rbx + vpxor xmm11,xmm11,xmm9 + ror r13,4 + xor r14,rdx + and r12,r11 + xor r13,r11 + vpaddq xmm6,xmm6,xmm11 + add rcx,QWORD[104+rsp] + mov rdi,rdx + xor r12,rbx + ror r14,6 + vpaddq xmm10,xmm6,XMMWORD[64+rbp] + xor rdi,r8 + add rcx,r12 + ror r13,14 + and r15,rdi + xor r14,rdx + add rcx,r13 + xor r15,r8 + ror r14,28 + add r10,rcx + add rcx,r15 + mov r13,r10 + add r14,rcx + vmovdqa XMMWORD[96+rsp],xmm10 + vpalignr xmm8,xmm0,xmm7,8 + ror r13,23 + mov rcx,r14 + vpalignr xmm11,xmm4,xmm3,8 + mov r12,r11 + ror r14,5 +DB 143,72,120,195,200,56 + xor r13,r10 + xor r12,rax + vpsrlq xmm8,xmm8,7 + ror r13,4 + xor r14,rcx + vpaddq xmm7,xmm7,xmm11 + and r12,r10 + xor r13,r10 + add rbx,QWORD[112+rsp] + mov r15,rcx +DB 143,72,120,195,209,7 + xor r12,rax + ror r14,6 + vpxor xmm8,xmm8,xmm9 + xor r15,rdx + add rbx,r12 + ror r13,14 + and rdi,r15 +DB 143,104,120,195,222,3 + xor r14,rcx + add rbx,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,rdx + ror r14,28 + vpsrlq xmm10,xmm6,6 + add r9,rbx + add rbx,rdi + vpaddq xmm7,xmm7,xmm8 + mov r13,r9 + add r14,rbx +DB 143,72,120,195,203,42 + ror r13,23 + mov rbx,r14 + vpxor xmm11,xmm11,xmm10 + mov r12,r10 + ror r14,5 + xor r13,r9 + xor r12,r11 + vpxor xmm11,xmm11,xmm9 + ror r13,4 + xor r14,rbx + and r12,r9 + xor r13,r9 + vpaddq xmm7,xmm7,xmm11 + add rax,QWORD[120+rsp] + mov rdi,rbx + xor r12,r11 + ror r14,6 + vpaddq xmm10,xmm7,XMMWORD[96+rbp] + xor rdi,rcx + add rax,r12 + ror r13,14 + and r15,rdi + xor r14,rbx + add rax,r13 + xor r15,rcx + ror r14,28 + add r8,rax + add rax,r15 + mov r13,r8 + add r14,rax + vmovdqa XMMWORD[112+rsp],xmm10 + cmp BYTE[135+rbp],0 + jne NEAR $L$xop_00_47 + ror r13,23 + mov rax,r14 + mov r12,r9 + ror r14,5 + xor r13,r8 + xor r12,r10 + ror r13,4 + xor r14,rax + and r12,r8 + xor r13,r8 + add r11,QWORD[rsp] + mov r15,rax + xor r12,r10 + ror r14,6 + xor r15,rbx + add r11,r12 + ror r13,14 + and rdi,r15 + xor r14,rax + add r11,r13 + xor rdi,rbx + ror r14,28 + add rdx,r11 + add r11,rdi + mov r13,rdx + add r14,r11 + ror r13,23 + mov r11,r14 + mov r12,r8 + ror r14,5 + xor r13,rdx + xor r12,r9 + ror r13,4 + xor r14,r11 + and r12,rdx + xor r13,rdx + add r10,QWORD[8+rsp] + mov rdi,r11 + xor r12,r9 + ror r14,6 + xor rdi,rax + add r10,r12 + ror r13,14 + and r15,rdi + xor r14,r11 + add r10,r13 + xor r15,rax + ror r14,28 + add rcx,r10 + add r10,r15 + mov r13,rcx + add r14,r10 + ror r13,23 + mov r10,r14 + mov r12,rdx + ror r14,5 + xor r13,rcx + xor r12,r8 + ror r13,4 + xor r14,r10 + and r12,rcx + xor r13,rcx + add r9,QWORD[16+rsp] + mov r15,r10 + xor r12,r8 + ror r14,6 + xor r15,r11 + add r9,r12 + ror r13,14 + and rdi,r15 + xor r14,r10 + add r9,r13 + xor rdi,r11 + ror r14,28 + add rbx,r9 + add r9,rdi + mov r13,rbx + add r14,r9 + ror r13,23 + mov r9,r14 + mov r12,rcx + ror r14,5 + xor r13,rbx + xor r12,rdx + ror r13,4 + xor r14,r9 + and r12,rbx + xor r13,rbx + add r8,QWORD[24+rsp] + mov rdi,r9 + xor r12,rdx + ror r14,6 + xor rdi,r10 + add r8,r12 + ror r13,14 + and r15,rdi + xor r14,r9 + add r8,r13 + xor r15,r10 + ror r14,28 + add rax,r8 + add r8,r15 + mov r13,rax + add r14,r8 + ror r13,23 + mov r8,r14 + mov r12,rbx + ror r14,5 + xor r13,rax + xor r12,rcx + ror r13,4 + xor r14,r8 + and r12,rax + xor r13,rax + add rdx,QWORD[32+rsp] + mov r15,r8 + xor r12,rcx + ror r14,6 + xor r15,r9 + add rdx,r12 + ror r13,14 + and rdi,r15 + xor r14,r8 + add rdx,r13 + xor rdi,r9 + ror r14,28 + add r11,rdx + add rdx,rdi + mov r13,r11 + add r14,rdx + ror r13,23 + mov rdx,r14 + mov r12,rax + ror r14,5 + xor r13,r11 + xor r12,rbx + ror r13,4 + xor r14,rdx + and r12,r11 + xor r13,r11 + add rcx,QWORD[40+rsp] + mov rdi,rdx + xor r12,rbx + ror r14,6 + xor rdi,r8 + add rcx,r12 + ror r13,14 + and r15,rdi + xor r14,rdx + add rcx,r13 + xor r15,r8 + ror r14,28 + add r10,rcx + add rcx,r15 + mov r13,r10 + add r14,rcx + ror r13,23 + mov rcx,r14 + mov r12,r11 + ror r14,5 + xor r13,r10 + xor r12,rax + ror r13,4 + xor r14,rcx + and r12,r10 + xor r13,r10 + add rbx,QWORD[48+rsp] + mov r15,rcx + xor r12,rax + ror r14,6 + xor r15,rdx + add rbx,r12 + ror r13,14 + and rdi,r15 + xor r14,rcx + add rbx,r13 + xor rdi,rdx + ror r14,28 + add r9,rbx + add rbx,rdi + mov r13,r9 + add r14,rbx + ror r13,23 + mov rbx,r14 + mov r12,r10 + ror r14,5 + xor r13,r9 + xor r12,r11 + ror r13,4 + xor r14,rbx + and r12,r9 + xor r13,r9 + add rax,QWORD[56+rsp] + mov rdi,rbx + xor r12,r11 + ror r14,6 + xor rdi,rcx + add rax,r12 + ror r13,14 + and r15,rdi + xor r14,rbx + add rax,r13 + xor r15,rcx + ror r14,28 + add r8,rax + add rax,r15 + mov r13,r8 + add r14,rax + ror r13,23 + mov rax,r14 + mov r12,r9 + ror r14,5 + xor r13,r8 + xor r12,r10 + ror r13,4 + xor r14,rax + and r12,r8 + xor r13,r8 + add r11,QWORD[64+rsp] + mov r15,rax + xor r12,r10 + ror r14,6 + xor r15,rbx + add r11,r12 + ror r13,14 + and rdi,r15 + xor r14,rax + add r11,r13 + xor rdi,rbx + ror r14,28 + add rdx,r11 + add r11,rdi + mov r13,rdx + add r14,r11 + ror r13,23 + mov r11,r14 + mov r12,r8 + ror r14,5 + xor r13,rdx + xor r12,r9 + ror r13,4 + xor r14,r11 + and r12,rdx + xor r13,rdx + add r10,QWORD[72+rsp] + mov rdi,r11 + xor r12,r9 + ror r14,6 + xor rdi,rax + add r10,r12 + ror r13,14 + and r15,rdi + xor r14,r11 + add r10,r13 + xor r15,rax + ror r14,28 + add rcx,r10 + add r10,r15 + mov r13,rcx + add r14,r10 + ror r13,23 + mov r10,r14 + mov r12,rdx + ror r14,5 + xor r13,rcx + xor r12,r8 + ror r13,4 + xor r14,r10 + and r12,rcx + xor r13,rcx + add r9,QWORD[80+rsp] + mov r15,r10 + xor r12,r8 + ror r14,6 + xor r15,r11 + add r9,r12 + ror r13,14 + and rdi,r15 + xor r14,r10 + add r9,r13 + xor rdi,r11 + ror r14,28 + add rbx,r9 + add r9,rdi + mov r13,rbx + add r14,r9 + ror r13,23 + mov r9,r14 + mov r12,rcx + ror r14,5 + xor r13,rbx + xor r12,rdx + ror r13,4 + xor r14,r9 + and r12,rbx + xor r13,rbx + add r8,QWORD[88+rsp] + mov rdi,r9 + xor r12,rdx + ror r14,6 + xor rdi,r10 + add r8,r12 + ror r13,14 + and r15,rdi + xor r14,r9 + add r8,r13 + xor r15,r10 + ror r14,28 + add rax,r8 + add r8,r15 + mov r13,rax + add r14,r8 + ror r13,23 + mov r8,r14 + mov r12,rbx + ror r14,5 + xor r13,rax + xor r12,rcx + ror r13,4 + xor r14,r8 + and r12,rax + xor r13,rax + add rdx,QWORD[96+rsp] + mov r15,r8 + xor r12,rcx + ror r14,6 + xor r15,r9 + add rdx,r12 + ror r13,14 + and rdi,r15 + xor r14,r8 + add rdx,r13 + xor rdi,r9 + ror r14,28 + add r11,rdx + add rdx,rdi + mov r13,r11 + add r14,rdx + ror r13,23 + mov rdx,r14 + mov r12,rax + ror r14,5 + xor r13,r11 + xor r12,rbx + ror r13,4 + xor r14,rdx + and r12,r11 + xor r13,r11 + add rcx,QWORD[104+rsp] + mov rdi,rdx + xor r12,rbx + ror r14,6 + xor rdi,r8 + add rcx,r12 + ror r13,14 + and r15,rdi + xor r14,rdx + add rcx,r13 + xor r15,r8 + ror r14,28 + add r10,rcx + add rcx,r15 + mov r13,r10 + add r14,rcx + ror r13,23 + mov rcx,r14 + mov r12,r11 + ror r14,5 + xor r13,r10 + xor r12,rax + ror r13,4 + xor r14,rcx + and r12,r10 + xor r13,r10 + add rbx,QWORD[112+rsp] + mov r15,rcx + xor r12,rax + ror r14,6 + xor r15,rdx + add rbx,r12 + ror r13,14 + and rdi,r15 + xor r14,rcx + add rbx,r13 + xor rdi,rdx + ror r14,28 + add r9,rbx + add rbx,rdi + mov r13,r9 + add r14,rbx + ror r13,23 + mov rbx,r14 + mov r12,r10 + ror r14,5 + xor r13,r9 + xor r12,r11 + ror r13,4 + xor r14,rbx + and r12,r9 + xor r13,r9 + add rax,QWORD[120+rsp] + mov rdi,rbx + xor r12,r11 + ror r14,6 + xor rdi,rcx + add rax,r12 + ror r13,14 + and r15,rdi + xor r14,rbx + add rax,r13 + xor r15,rcx + ror r14,28 + add r8,rax + add rax,r15 + mov r13,r8 + add r14,rax + mov rdi,QWORD[((128+0))+rsp] + mov rax,r14 + + add rax,QWORD[rdi] + lea rsi,[128+rsi] + add rbx,QWORD[8+rdi] + add rcx,QWORD[16+rdi] + add rdx,QWORD[24+rdi] + add r8,QWORD[32+rdi] + add r9,QWORD[40+rdi] + add r10,QWORD[48+rdi] + add r11,QWORD[56+rdi] + + cmp rsi,QWORD[((128+16))+rsp] + + mov QWORD[rdi],rax + mov QWORD[8+rdi],rbx + mov QWORD[16+rdi],rcx + mov QWORD[24+rdi],rdx + mov QWORD[32+rdi],r8 + mov QWORD[40+rdi],r9 + mov QWORD[48+rdi],r10 + mov QWORD[56+rdi],r11 + jb NEAR $L$loop_xop + + mov rsi,QWORD[((128+24))+rsp] + vzeroupper + movaps xmm6,XMMWORD[((128+32))+rsp] + movaps xmm7,XMMWORD[((128+48))+rsp] + movaps xmm8,XMMWORD[((128+64))+rsp] + movaps xmm9,XMMWORD[((128+80))+rsp] + movaps xmm10,XMMWORD[((128+96))+rsp] + movaps xmm11,XMMWORD[((128+112))+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_xop: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha512_block_data_order_xop: + +ALIGN 64 +sha512_block_data_order_avx: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha512_block_data_order_avx: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +$L$avx_shortcut: + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov r11,rsp + shl rdx,4 + sub rsp,256 + lea rdx,[rdx*8+rsi] + and rsp,-64 + mov QWORD[((128+0))+rsp],rdi + mov QWORD[((128+8))+rsp],rsi + mov QWORD[((128+16))+rsp],rdx + mov QWORD[((128+24))+rsp],r11 + movaps XMMWORD[(128+32)+rsp],xmm6 + movaps XMMWORD[(128+48)+rsp],xmm7 + movaps XMMWORD[(128+64)+rsp],xmm8 + movaps XMMWORD[(128+80)+rsp],xmm9 + movaps XMMWORD[(128+96)+rsp],xmm10 + movaps XMMWORD[(128+112)+rsp],xmm11 +$L$prologue_avx: + + vzeroupper + mov rax,QWORD[rdi] + mov rbx,QWORD[8+rdi] + mov rcx,QWORD[16+rdi] + mov rdx,QWORD[24+rdi] + mov r8,QWORD[32+rdi] + mov r9,QWORD[40+rdi] + mov r10,QWORD[48+rdi] + mov r11,QWORD[56+rdi] + jmp NEAR $L$loop_avx +ALIGN 16 +$L$loop_avx: + vmovdqa xmm11,XMMWORD[((K512+1280))] + vmovdqu xmm0,XMMWORD[rsi] + lea rbp,[((K512+128))] + vmovdqu xmm1,XMMWORD[16+rsi] + vmovdqu xmm2,XMMWORD[32+rsi] + vpshufb xmm0,xmm0,xmm11 + vmovdqu xmm3,XMMWORD[48+rsi] + vpshufb xmm1,xmm1,xmm11 + vmovdqu xmm4,XMMWORD[64+rsi] + vpshufb xmm2,xmm2,xmm11 + vmovdqu xmm5,XMMWORD[80+rsi] + vpshufb xmm3,xmm3,xmm11 + vmovdqu xmm6,XMMWORD[96+rsi] + vpshufb xmm4,xmm4,xmm11 + vmovdqu xmm7,XMMWORD[112+rsi] + vpshufb xmm5,xmm5,xmm11 + vpaddq xmm8,xmm0,XMMWORD[((-128))+rbp] + vpshufb xmm6,xmm6,xmm11 + vpaddq xmm9,xmm1,XMMWORD[((-96))+rbp] + vpshufb xmm7,xmm7,xmm11 + vpaddq xmm10,xmm2,XMMWORD[((-64))+rbp] + vpaddq xmm11,xmm3,XMMWORD[((-32))+rbp] + vmovdqa XMMWORD[rsp],xmm8 + vpaddq xmm8,xmm4,XMMWORD[rbp] + vmovdqa XMMWORD[16+rsp],xmm9 + vpaddq xmm9,xmm5,XMMWORD[32+rbp] + vmovdqa XMMWORD[32+rsp],xmm10 + vpaddq xmm10,xmm6,XMMWORD[64+rbp] + vmovdqa XMMWORD[48+rsp],xmm11 + vpaddq xmm11,xmm7,XMMWORD[96+rbp] + vmovdqa XMMWORD[64+rsp],xmm8 + mov r14,rax + vmovdqa XMMWORD[80+rsp],xmm9 + mov rdi,rbx + vmovdqa XMMWORD[96+rsp],xmm10 + xor rdi,rcx + vmovdqa XMMWORD[112+rsp],xmm11 + mov r13,r8 + jmp NEAR $L$avx_00_47 + +ALIGN 16 +$L$avx_00_47: + add rbp,256 + vpalignr xmm8,xmm1,xmm0,8 + shrd r13,r13,23 + mov rax,r14 + vpalignr xmm11,xmm5,xmm4,8 + mov r12,r9 + shrd r14,r14,5 + vpsrlq xmm10,xmm8,1 + xor r13,r8 + xor r12,r10 + vpaddq xmm0,xmm0,xmm11 + shrd r13,r13,4 + xor r14,rax + vpsrlq xmm11,xmm8,7 + and r12,r8 + xor r13,r8 + vpsllq xmm9,xmm8,56 + add r11,QWORD[rsp] + mov r15,rax + vpxor xmm8,xmm11,xmm10 + xor r12,r10 + shrd r14,r14,6 + vpsrlq xmm10,xmm10,7 + xor r15,rbx + add r11,r12 + vpxor xmm8,xmm8,xmm9 + shrd r13,r13,14 + and rdi,r15 + vpsllq xmm9,xmm9,7 + xor r14,rax + add r11,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,rbx + shrd r14,r14,28 + vpsrlq xmm11,xmm7,6 + add rdx,r11 + add r11,rdi + vpxor xmm8,xmm8,xmm9 + mov r13,rdx + add r14,r11 + vpsllq xmm10,xmm7,3 + shrd r13,r13,23 + mov r11,r14 + vpaddq xmm0,xmm0,xmm8 + mov r12,r8 + shrd r14,r14,5 + vpsrlq xmm9,xmm7,19 + xor r13,rdx + xor r12,r9 + vpxor xmm11,xmm11,xmm10 + shrd r13,r13,4 + xor r14,r11 + vpsllq xmm10,xmm10,42 + and r12,rdx + xor r13,rdx + vpxor xmm11,xmm11,xmm9 + add r10,QWORD[8+rsp] + mov rdi,r11 + vpsrlq xmm9,xmm9,42 + xor r12,r9 + shrd r14,r14,6 + vpxor xmm11,xmm11,xmm10 + xor rdi,rax + add r10,r12 + vpxor xmm11,xmm11,xmm9 + shrd r13,r13,14 + and r15,rdi + vpaddq xmm0,xmm0,xmm11 + xor r14,r11 + add r10,r13 + vpaddq xmm10,xmm0,XMMWORD[((-128))+rbp] + xor r15,rax + shrd r14,r14,28 + add rcx,r10 + add r10,r15 + mov r13,rcx + add r14,r10 + vmovdqa XMMWORD[rsp],xmm10 + vpalignr xmm8,xmm2,xmm1,8 + shrd r13,r13,23 + mov r10,r14 + vpalignr xmm11,xmm6,xmm5,8 + mov r12,rdx + shrd r14,r14,5 + vpsrlq xmm10,xmm8,1 + xor r13,rcx + xor r12,r8 + vpaddq xmm1,xmm1,xmm11 + shrd r13,r13,4 + xor r14,r10 + vpsrlq xmm11,xmm8,7 + and r12,rcx + xor r13,rcx + vpsllq xmm9,xmm8,56 + add r9,QWORD[16+rsp] + mov r15,r10 + vpxor xmm8,xmm11,xmm10 + xor r12,r8 + shrd r14,r14,6 + vpsrlq xmm10,xmm10,7 + xor r15,r11 + add r9,r12 + vpxor xmm8,xmm8,xmm9 + shrd r13,r13,14 + and rdi,r15 + vpsllq xmm9,xmm9,7 + xor r14,r10 + add r9,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,r11 + shrd r14,r14,28 + vpsrlq xmm11,xmm0,6 + add rbx,r9 + add r9,rdi + vpxor xmm8,xmm8,xmm9 + mov r13,rbx + add r14,r9 + vpsllq xmm10,xmm0,3 + shrd r13,r13,23 + mov r9,r14 + vpaddq xmm1,xmm1,xmm8 + mov r12,rcx + shrd r14,r14,5 + vpsrlq xmm9,xmm0,19 + xor r13,rbx + xor r12,rdx + vpxor xmm11,xmm11,xmm10 + shrd r13,r13,4 + xor r14,r9 + vpsllq xmm10,xmm10,42 + and r12,rbx + xor r13,rbx + vpxor xmm11,xmm11,xmm9 + add r8,QWORD[24+rsp] + mov rdi,r9 + vpsrlq xmm9,xmm9,42 + xor r12,rdx + shrd r14,r14,6 + vpxor xmm11,xmm11,xmm10 + xor rdi,r10 + add r8,r12 + vpxor xmm11,xmm11,xmm9 + shrd r13,r13,14 + and r15,rdi + vpaddq xmm1,xmm1,xmm11 + xor r14,r9 + add r8,r13 + vpaddq xmm10,xmm1,XMMWORD[((-96))+rbp] + xor r15,r10 + shrd r14,r14,28 + add rax,r8 + add r8,r15 + mov r13,rax + add r14,r8 + vmovdqa XMMWORD[16+rsp],xmm10 + vpalignr xmm8,xmm3,xmm2,8 + shrd r13,r13,23 + mov r8,r14 + vpalignr xmm11,xmm7,xmm6,8 + mov r12,rbx + shrd r14,r14,5 + vpsrlq xmm10,xmm8,1 + xor r13,rax + xor r12,rcx + vpaddq xmm2,xmm2,xmm11 + shrd r13,r13,4 + xor r14,r8 + vpsrlq xmm11,xmm8,7 + and r12,rax + xor r13,rax + vpsllq xmm9,xmm8,56 + add rdx,QWORD[32+rsp] + mov r15,r8 + vpxor xmm8,xmm11,xmm10 + xor r12,rcx + shrd r14,r14,6 + vpsrlq xmm10,xmm10,7 + xor r15,r9 + add rdx,r12 + vpxor xmm8,xmm8,xmm9 + shrd r13,r13,14 + and rdi,r15 + vpsllq xmm9,xmm9,7 + xor r14,r8 + add rdx,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,r9 + shrd r14,r14,28 + vpsrlq xmm11,xmm1,6 + add r11,rdx + add rdx,rdi + vpxor xmm8,xmm8,xmm9 + mov r13,r11 + add r14,rdx + vpsllq xmm10,xmm1,3 + shrd r13,r13,23 + mov rdx,r14 + vpaddq xmm2,xmm2,xmm8 + mov r12,rax + shrd r14,r14,5 + vpsrlq xmm9,xmm1,19 + xor r13,r11 + xor r12,rbx + vpxor xmm11,xmm11,xmm10 + shrd r13,r13,4 + xor r14,rdx + vpsllq xmm10,xmm10,42 + and r12,r11 + xor r13,r11 + vpxor xmm11,xmm11,xmm9 + add rcx,QWORD[40+rsp] + mov rdi,rdx + vpsrlq xmm9,xmm9,42 + xor r12,rbx + shrd r14,r14,6 + vpxor xmm11,xmm11,xmm10 + xor rdi,r8 + add rcx,r12 + vpxor xmm11,xmm11,xmm9 + shrd r13,r13,14 + and r15,rdi + vpaddq xmm2,xmm2,xmm11 + xor r14,rdx + add rcx,r13 + vpaddq xmm10,xmm2,XMMWORD[((-64))+rbp] + xor r15,r8 + shrd r14,r14,28 + add r10,rcx + add rcx,r15 + mov r13,r10 + add r14,rcx + vmovdqa XMMWORD[32+rsp],xmm10 + vpalignr xmm8,xmm4,xmm3,8 + shrd r13,r13,23 + mov rcx,r14 + vpalignr xmm11,xmm0,xmm7,8 + mov r12,r11 + shrd r14,r14,5 + vpsrlq xmm10,xmm8,1 + xor r13,r10 + xor r12,rax + vpaddq xmm3,xmm3,xmm11 + shrd r13,r13,4 + xor r14,rcx + vpsrlq xmm11,xmm8,7 + and r12,r10 + xor r13,r10 + vpsllq xmm9,xmm8,56 + add rbx,QWORD[48+rsp] + mov r15,rcx + vpxor xmm8,xmm11,xmm10 + xor r12,rax + shrd r14,r14,6 + vpsrlq xmm10,xmm10,7 + xor r15,rdx + add rbx,r12 + vpxor xmm8,xmm8,xmm9 + shrd r13,r13,14 + and rdi,r15 + vpsllq xmm9,xmm9,7 + xor r14,rcx + add rbx,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,rdx + shrd r14,r14,28 + vpsrlq xmm11,xmm2,6 + add r9,rbx + add rbx,rdi + vpxor xmm8,xmm8,xmm9 + mov r13,r9 + add r14,rbx + vpsllq xmm10,xmm2,3 + shrd r13,r13,23 + mov rbx,r14 + vpaddq xmm3,xmm3,xmm8 + mov r12,r10 + shrd r14,r14,5 + vpsrlq xmm9,xmm2,19 + xor r13,r9 + xor r12,r11 + vpxor xmm11,xmm11,xmm10 + shrd r13,r13,4 + xor r14,rbx + vpsllq xmm10,xmm10,42 + and r12,r9 + xor r13,r9 + vpxor xmm11,xmm11,xmm9 + add rax,QWORD[56+rsp] + mov rdi,rbx + vpsrlq xmm9,xmm9,42 + xor r12,r11 + shrd r14,r14,6 + vpxor xmm11,xmm11,xmm10 + xor rdi,rcx + add rax,r12 + vpxor xmm11,xmm11,xmm9 + shrd r13,r13,14 + and r15,rdi + vpaddq xmm3,xmm3,xmm11 + xor r14,rbx + add rax,r13 + vpaddq xmm10,xmm3,XMMWORD[((-32))+rbp] + xor r15,rcx + shrd r14,r14,28 + add r8,rax + add rax,r15 + mov r13,r8 + add r14,rax + vmovdqa XMMWORD[48+rsp],xmm10 + vpalignr xmm8,xmm5,xmm4,8 + shrd r13,r13,23 + mov rax,r14 + vpalignr xmm11,xmm1,xmm0,8 + mov r12,r9 + shrd r14,r14,5 + vpsrlq xmm10,xmm8,1 + xor r13,r8 + xor r12,r10 + vpaddq xmm4,xmm4,xmm11 + shrd r13,r13,4 + xor r14,rax + vpsrlq xmm11,xmm8,7 + and r12,r8 + xor r13,r8 + vpsllq xmm9,xmm8,56 + add r11,QWORD[64+rsp] + mov r15,rax + vpxor xmm8,xmm11,xmm10 + xor r12,r10 + shrd r14,r14,6 + vpsrlq xmm10,xmm10,7 + xor r15,rbx + add r11,r12 + vpxor xmm8,xmm8,xmm9 + shrd r13,r13,14 + and rdi,r15 + vpsllq xmm9,xmm9,7 + xor r14,rax + add r11,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,rbx + shrd r14,r14,28 + vpsrlq xmm11,xmm3,6 + add rdx,r11 + add r11,rdi + vpxor xmm8,xmm8,xmm9 + mov r13,rdx + add r14,r11 + vpsllq xmm10,xmm3,3 + shrd r13,r13,23 + mov r11,r14 + vpaddq xmm4,xmm4,xmm8 + mov r12,r8 + shrd r14,r14,5 + vpsrlq xmm9,xmm3,19 + xor r13,rdx + xor r12,r9 + vpxor xmm11,xmm11,xmm10 + shrd r13,r13,4 + xor r14,r11 + vpsllq xmm10,xmm10,42 + and r12,rdx + xor r13,rdx + vpxor xmm11,xmm11,xmm9 + add r10,QWORD[72+rsp] + mov rdi,r11 + vpsrlq xmm9,xmm9,42 + xor r12,r9 + shrd r14,r14,6 + vpxor xmm11,xmm11,xmm10 + xor rdi,rax + add r10,r12 + vpxor xmm11,xmm11,xmm9 + shrd r13,r13,14 + and r15,rdi + vpaddq xmm4,xmm4,xmm11 + xor r14,r11 + add r10,r13 + vpaddq xmm10,xmm4,XMMWORD[rbp] + xor r15,rax + shrd r14,r14,28 + add rcx,r10 + add r10,r15 + mov r13,rcx + add r14,r10 + vmovdqa XMMWORD[64+rsp],xmm10 + vpalignr xmm8,xmm6,xmm5,8 + shrd r13,r13,23 + mov r10,r14 + vpalignr xmm11,xmm2,xmm1,8 + mov r12,rdx + shrd r14,r14,5 + vpsrlq xmm10,xmm8,1 + xor r13,rcx + xor r12,r8 + vpaddq xmm5,xmm5,xmm11 + shrd r13,r13,4 + xor r14,r10 + vpsrlq xmm11,xmm8,7 + and r12,rcx + xor r13,rcx + vpsllq xmm9,xmm8,56 + add r9,QWORD[80+rsp] + mov r15,r10 + vpxor xmm8,xmm11,xmm10 + xor r12,r8 + shrd r14,r14,6 + vpsrlq xmm10,xmm10,7 + xor r15,r11 + add r9,r12 + vpxor xmm8,xmm8,xmm9 + shrd r13,r13,14 + and rdi,r15 + vpsllq xmm9,xmm9,7 + xor r14,r10 + add r9,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,r11 + shrd r14,r14,28 + vpsrlq xmm11,xmm4,6 + add rbx,r9 + add r9,rdi + vpxor xmm8,xmm8,xmm9 + mov r13,rbx + add r14,r9 + vpsllq xmm10,xmm4,3 + shrd r13,r13,23 + mov r9,r14 + vpaddq xmm5,xmm5,xmm8 + mov r12,rcx + shrd r14,r14,5 + vpsrlq xmm9,xmm4,19 + xor r13,rbx + xor r12,rdx + vpxor xmm11,xmm11,xmm10 + shrd r13,r13,4 + xor r14,r9 + vpsllq xmm10,xmm10,42 + and r12,rbx + xor r13,rbx + vpxor xmm11,xmm11,xmm9 + add r8,QWORD[88+rsp] + mov rdi,r9 + vpsrlq xmm9,xmm9,42 + xor r12,rdx + shrd r14,r14,6 + vpxor xmm11,xmm11,xmm10 + xor rdi,r10 + add r8,r12 + vpxor xmm11,xmm11,xmm9 + shrd r13,r13,14 + and r15,rdi + vpaddq xmm5,xmm5,xmm11 + xor r14,r9 + add r8,r13 + vpaddq xmm10,xmm5,XMMWORD[32+rbp] + xor r15,r10 + shrd r14,r14,28 + add rax,r8 + add r8,r15 + mov r13,rax + add r14,r8 + vmovdqa XMMWORD[80+rsp],xmm10 + vpalignr xmm8,xmm7,xmm6,8 + shrd r13,r13,23 + mov r8,r14 + vpalignr xmm11,xmm3,xmm2,8 + mov r12,rbx + shrd r14,r14,5 + vpsrlq xmm10,xmm8,1 + xor r13,rax + xor r12,rcx + vpaddq xmm6,xmm6,xmm11 + shrd r13,r13,4 + xor r14,r8 + vpsrlq xmm11,xmm8,7 + and r12,rax + xor r13,rax + vpsllq xmm9,xmm8,56 + add rdx,QWORD[96+rsp] + mov r15,r8 + vpxor xmm8,xmm11,xmm10 + xor r12,rcx + shrd r14,r14,6 + vpsrlq xmm10,xmm10,7 + xor r15,r9 + add rdx,r12 + vpxor xmm8,xmm8,xmm9 + shrd r13,r13,14 + and rdi,r15 + vpsllq xmm9,xmm9,7 + xor r14,r8 + add rdx,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,r9 + shrd r14,r14,28 + vpsrlq xmm11,xmm5,6 + add r11,rdx + add rdx,rdi + vpxor xmm8,xmm8,xmm9 + mov r13,r11 + add r14,rdx + vpsllq xmm10,xmm5,3 + shrd r13,r13,23 + mov rdx,r14 + vpaddq xmm6,xmm6,xmm8 + mov r12,rax + shrd r14,r14,5 + vpsrlq xmm9,xmm5,19 + xor r13,r11 + xor r12,rbx + vpxor xmm11,xmm11,xmm10 + shrd r13,r13,4 + xor r14,rdx + vpsllq xmm10,xmm10,42 + and r12,r11 + xor r13,r11 + vpxor xmm11,xmm11,xmm9 + add rcx,QWORD[104+rsp] + mov rdi,rdx + vpsrlq xmm9,xmm9,42 + xor r12,rbx + shrd r14,r14,6 + vpxor xmm11,xmm11,xmm10 + xor rdi,r8 + add rcx,r12 + vpxor xmm11,xmm11,xmm9 + shrd r13,r13,14 + and r15,rdi + vpaddq xmm6,xmm6,xmm11 + xor r14,rdx + add rcx,r13 + vpaddq xmm10,xmm6,XMMWORD[64+rbp] + xor r15,r8 + shrd r14,r14,28 + add r10,rcx + add rcx,r15 + mov r13,r10 + add r14,rcx + vmovdqa XMMWORD[96+rsp],xmm10 + vpalignr xmm8,xmm0,xmm7,8 + shrd r13,r13,23 + mov rcx,r14 + vpalignr xmm11,xmm4,xmm3,8 + mov r12,r11 + shrd r14,r14,5 + vpsrlq xmm10,xmm8,1 + xor r13,r10 + xor r12,rax + vpaddq xmm7,xmm7,xmm11 + shrd r13,r13,4 + xor r14,rcx + vpsrlq xmm11,xmm8,7 + and r12,r10 + xor r13,r10 + vpsllq xmm9,xmm8,56 + add rbx,QWORD[112+rsp] + mov r15,rcx + vpxor xmm8,xmm11,xmm10 + xor r12,rax + shrd r14,r14,6 + vpsrlq xmm10,xmm10,7 + xor r15,rdx + add rbx,r12 + vpxor xmm8,xmm8,xmm9 + shrd r13,r13,14 + and rdi,r15 + vpsllq xmm9,xmm9,7 + xor r14,rcx + add rbx,r13 + vpxor xmm8,xmm8,xmm10 + xor rdi,rdx + shrd r14,r14,28 + vpsrlq xmm11,xmm6,6 + add r9,rbx + add rbx,rdi + vpxor xmm8,xmm8,xmm9 + mov r13,r9 + add r14,rbx + vpsllq xmm10,xmm6,3 + shrd r13,r13,23 + mov rbx,r14 + vpaddq xmm7,xmm7,xmm8 + mov r12,r10 + shrd r14,r14,5 + vpsrlq xmm9,xmm6,19 + xor r13,r9 + xor r12,r11 + vpxor xmm11,xmm11,xmm10 + shrd r13,r13,4 + xor r14,rbx + vpsllq xmm10,xmm10,42 + and r12,r9 + xor r13,r9 + vpxor xmm11,xmm11,xmm9 + add rax,QWORD[120+rsp] + mov rdi,rbx + vpsrlq xmm9,xmm9,42 + xor r12,r11 + shrd r14,r14,6 + vpxor xmm11,xmm11,xmm10 + xor rdi,rcx + add rax,r12 + vpxor xmm11,xmm11,xmm9 + shrd r13,r13,14 + and r15,rdi + vpaddq xmm7,xmm7,xmm11 + xor r14,rbx + add rax,r13 + vpaddq xmm10,xmm7,XMMWORD[96+rbp] + xor r15,rcx + shrd r14,r14,28 + add r8,rax + add rax,r15 + mov r13,r8 + add r14,rax + vmovdqa XMMWORD[112+rsp],xmm10 + cmp BYTE[135+rbp],0 + jne NEAR $L$avx_00_47 + shrd r13,r13,23 + mov rax,r14 + mov r12,r9 + shrd r14,r14,5 + xor r13,r8 + xor r12,r10 + shrd r13,r13,4 + xor r14,rax + and r12,r8 + xor r13,r8 + add r11,QWORD[rsp] + mov r15,rax + xor r12,r10 + shrd r14,r14,6 + xor r15,rbx + add r11,r12 + shrd r13,r13,14 + and rdi,r15 + xor r14,rax + add r11,r13 + xor rdi,rbx + shrd r14,r14,28 + add rdx,r11 + add r11,rdi + mov r13,rdx + add r14,r11 + shrd r13,r13,23 + mov r11,r14 + mov r12,r8 + shrd r14,r14,5 + xor r13,rdx + xor r12,r9 + shrd r13,r13,4 + xor r14,r11 + and r12,rdx + xor r13,rdx + add r10,QWORD[8+rsp] + mov rdi,r11 + xor r12,r9 + shrd r14,r14,6 + xor rdi,rax + add r10,r12 + shrd r13,r13,14 + and r15,rdi + xor r14,r11 + add r10,r13 + xor r15,rax + shrd r14,r14,28 + add rcx,r10 + add r10,r15 + mov r13,rcx + add r14,r10 + shrd r13,r13,23 + mov r10,r14 + mov r12,rdx + shrd r14,r14,5 + xor r13,rcx + xor r12,r8 + shrd r13,r13,4 + xor r14,r10 + and r12,rcx + xor r13,rcx + add r9,QWORD[16+rsp] + mov r15,r10 + xor r12,r8 + shrd r14,r14,6 + xor r15,r11 + add r9,r12 + shrd r13,r13,14 + and rdi,r15 + xor r14,r10 + add r9,r13 + xor rdi,r11 + shrd r14,r14,28 + add rbx,r9 + add r9,rdi + mov r13,rbx + add r14,r9 + shrd r13,r13,23 + mov r9,r14 + mov r12,rcx + shrd r14,r14,5 + xor r13,rbx + xor r12,rdx + shrd r13,r13,4 + xor r14,r9 + and r12,rbx + xor r13,rbx + add r8,QWORD[24+rsp] + mov rdi,r9 + xor r12,rdx + shrd r14,r14,6 + xor rdi,r10 + add r8,r12 + shrd r13,r13,14 + and r15,rdi + xor r14,r9 + add r8,r13 + xor r15,r10 + shrd r14,r14,28 + add rax,r8 + add r8,r15 + mov r13,rax + add r14,r8 + shrd r13,r13,23 + mov r8,r14 + mov r12,rbx + shrd r14,r14,5 + xor r13,rax + xor r12,rcx + shrd r13,r13,4 + xor r14,r8 + and r12,rax + xor r13,rax + add rdx,QWORD[32+rsp] + mov r15,r8 + xor r12,rcx + shrd r14,r14,6 + xor r15,r9 + add rdx,r12 + shrd r13,r13,14 + and rdi,r15 + xor r14,r8 + add rdx,r13 + xor rdi,r9 + shrd r14,r14,28 + add r11,rdx + add rdx,rdi + mov r13,r11 + add r14,rdx + shrd r13,r13,23 + mov rdx,r14 + mov r12,rax + shrd r14,r14,5 + xor r13,r11 + xor r12,rbx + shrd r13,r13,4 + xor r14,rdx + and r12,r11 + xor r13,r11 + add rcx,QWORD[40+rsp] + mov rdi,rdx + xor r12,rbx + shrd r14,r14,6 + xor rdi,r8 + add rcx,r12 + shrd r13,r13,14 + and r15,rdi + xor r14,rdx + add rcx,r13 + xor r15,r8 + shrd r14,r14,28 + add r10,rcx + add rcx,r15 + mov r13,r10 + add r14,rcx + shrd r13,r13,23 + mov rcx,r14 + mov r12,r11 + shrd r14,r14,5 + xor r13,r10 + xor r12,rax + shrd r13,r13,4 + xor r14,rcx + and r12,r10 + xor r13,r10 + add rbx,QWORD[48+rsp] + mov r15,rcx + xor r12,rax + shrd r14,r14,6 + xor r15,rdx + add rbx,r12 + shrd r13,r13,14 + and rdi,r15 + xor r14,rcx + add rbx,r13 + xor rdi,rdx + shrd r14,r14,28 + add r9,rbx + add rbx,rdi + mov r13,r9 + add r14,rbx + shrd r13,r13,23 + mov rbx,r14 + mov r12,r10 + shrd r14,r14,5 + xor r13,r9 + xor r12,r11 + shrd r13,r13,4 + xor r14,rbx + and r12,r9 + xor r13,r9 + add rax,QWORD[56+rsp] + mov rdi,rbx + xor r12,r11 + shrd r14,r14,6 + xor rdi,rcx + add rax,r12 + shrd r13,r13,14 + and r15,rdi + xor r14,rbx + add rax,r13 + xor r15,rcx + shrd r14,r14,28 + add r8,rax + add rax,r15 + mov r13,r8 + add r14,rax + shrd r13,r13,23 + mov rax,r14 + mov r12,r9 + shrd r14,r14,5 + xor r13,r8 + xor r12,r10 + shrd r13,r13,4 + xor r14,rax + and r12,r8 + xor r13,r8 + add r11,QWORD[64+rsp] + mov r15,rax + xor r12,r10 + shrd r14,r14,6 + xor r15,rbx + add r11,r12 + shrd r13,r13,14 + and rdi,r15 + xor r14,rax + add r11,r13 + xor rdi,rbx + shrd r14,r14,28 + add rdx,r11 + add r11,rdi + mov r13,rdx + add r14,r11 + shrd r13,r13,23 + mov r11,r14 + mov r12,r8 + shrd r14,r14,5 + xor r13,rdx + xor r12,r9 + shrd r13,r13,4 + xor r14,r11 + and r12,rdx + xor r13,rdx + add r10,QWORD[72+rsp] + mov rdi,r11 + xor r12,r9 + shrd r14,r14,6 + xor rdi,rax + add r10,r12 + shrd r13,r13,14 + and r15,rdi + xor r14,r11 + add r10,r13 + xor r15,rax + shrd r14,r14,28 + add rcx,r10 + add r10,r15 + mov r13,rcx + add r14,r10 + shrd r13,r13,23 + mov r10,r14 + mov r12,rdx + shrd r14,r14,5 + xor r13,rcx + xor r12,r8 + shrd r13,r13,4 + xor r14,r10 + and r12,rcx + xor r13,rcx + add r9,QWORD[80+rsp] + mov r15,r10 + xor r12,r8 + shrd r14,r14,6 + xor r15,r11 + add r9,r12 + shrd r13,r13,14 + and rdi,r15 + xor r14,r10 + add r9,r13 + xor rdi,r11 + shrd r14,r14,28 + add rbx,r9 + add r9,rdi + mov r13,rbx + add r14,r9 + shrd r13,r13,23 + mov r9,r14 + mov r12,rcx + shrd r14,r14,5 + xor r13,rbx + xor r12,rdx + shrd r13,r13,4 + xor r14,r9 + and r12,rbx + xor r13,rbx + add r8,QWORD[88+rsp] + mov rdi,r9 + xor r12,rdx + shrd r14,r14,6 + xor rdi,r10 + add r8,r12 + shrd r13,r13,14 + and r15,rdi + xor r14,r9 + add r8,r13 + xor r15,r10 + shrd r14,r14,28 + add rax,r8 + add r8,r15 + mov r13,rax + add r14,r8 + shrd r13,r13,23 + mov r8,r14 + mov r12,rbx + shrd r14,r14,5 + xor r13,rax + xor r12,rcx + shrd r13,r13,4 + xor r14,r8 + and r12,rax + xor r13,rax + add rdx,QWORD[96+rsp] + mov r15,r8 + xor r12,rcx + shrd r14,r14,6 + xor r15,r9 + add rdx,r12 + shrd r13,r13,14 + and rdi,r15 + xor r14,r8 + add rdx,r13 + xor rdi,r9 + shrd r14,r14,28 + add r11,rdx + add rdx,rdi + mov r13,r11 + add r14,rdx + shrd r13,r13,23 + mov rdx,r14 + mov r12,rax + shrd r14,r14,5 + xor r13,r11 + xor r12,rbx + shrd r13,r13,4 + xor r14,rdx + and r12,r11 + xor r13,r11 + add rcx,QWORD[104+rsp] + mov rdi,rdx + xor r12,rbx + shrd r14,r14,6 + xor rdi,r8 + add rcx,r12 + shrd r13,r13,14 + and r15,rdi + xor r14,rdx + add rcx,r13 + xor r15,r8 + shrd r14,r14,28 + add r10,rcx + add rcx,r15 + mov r13,r10 + add r14,rcx + shrd r13,r13,23 + mov rcx,r14 + mov r12,r11 + shrd r14,r14,5 + xor r13,r10 + xor r12,rax + shrd r13,r13,4 + xor r14,rcx + and r12,r10 + xor r13,r10 + add rbx,QWORD[112+rsp] + mov r15,rcx + xor r12,rax + shrd r14,r14,6 + xor r15,rdx + add rbx,r12 + shrd r13,r13,14 + and rdi,r15 + xor r14,rcx + add rbx,r13 + xor rdi,rdx + shrd r14,r14,28 + add r9,rbx + add rbx,rdi + mov r13,r9 + add r14,rbx + shrd r13,r13,23 + mov rbx,r14 + mov r12,r10 + shrd r14,r14,5 + xor r13,r9 + xor r12,r11 + shrd r13,r13,4 + xor r14,rbx + and r12,r9 + xor r13,r9 + add rax,QWORD[120+rsp] + mov rdi,rbx + xor r12,r11 + shrd r14,r14,6 + xor rdi,rcx + add rax,r12 + shrd r13,r13,14 + and r15,rdi + xor r14,rbx + add rax,r13 + xor r15,rcx + shrd r14,r14,28 + add r8,rax + add rax,r15 + mov r13,r8 + add r14,rax + mov rdi,QWORD[((128+0))+rsp] + mov rax,r14 + + add rax,QWORD[rdi] + lea rsi,[128+rsi] + add rbx,QWORD[8+rdi] + add rcx,QWORD[16+rdi] + add rdx,QWORD[24+rdi] + add r8,QWORD[32+rdi] + add r9,QWORD[40+rdi] + add r10,QWORD[48+rdi] + add r11,QWORD[56+rdi] + + cmp rsi,QWORD[((128+16))+rsp] + + mov QWORD[rdi],rax + mov QWORD[8+rdi],rbx + mov QWORD[16+rdi],rcx + mov QWORD[24+rdi],rdx + mov QWORD[32+rdi],r8 + mov QWORD[40+rdi],r9 + mov QWORD[48+rdi],r10 + mov QWORD[56+rdi],r11 + jb NEAR $L$loop_avx + + mov rsi,QWORD[((128+24))+rsp] + vzeroupper + movaps xmm6,XMMWORD[((128+32))+rsp] + movaps xmm7,XMMWORD[((128+48))+rsp] + movaps xmm8,XMMWORD[((128+64))+rsp] + movaps xmm9,XMMWORD[((128+80))+rsp] + movaps xmm10,XMMWORD[((128+96))+rsp] + movaps xmm11,XMMWORD[((128+112))+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_avx: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha512_block_data_order_avx: + +ALIGN 64 +sha512_block_data_order_avx2: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_sha512_block_data_order_avx2: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + +$L$avx2_shortcut: + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + mov r11,rsp + sub rsp,1408 + shl rdx,4 + and rsp,-256*8 + lea rdx,[rdx*8+rsi] + add rsp,1152 + mov QWORD[((128+0))+rsp],rdi + mov QWORD[((128+8))+rsp],rsi + mov QWORD[((128+16))+rsp],rdx + mov QWORD[((128+24))+rsp],r11 + movaps XMMWORD[(128+32)+rsp],xmm6 + movaps XMMWORD[(128+48)+rsp],xmm7 + movaps XMMWORD[(128+64)+rsp],xmm8 + movaps XMMWORD[(128+80)+rsp],xmm9 + movaps XMMWORD[(128+96)+rsp],xmm10 + movaps XMMWORD[(128+112)+rsp],xmm11 +$L$prologue_avx2: + + vzeroupper + sub rsi,-16*8 + mov rax,QWORD[rdi] + mov r12,rsi + mov rbx,QWORD[8+rdi] + cmp rsi,rdx + mov rcx,QWORD[16+rdi] + cmove r12,rsp + mov rdx,QWORD[24+rdi] + mov r8,QWORD[32+rdi] + mov r9,QWORD[40+rdi] + mov r10,QWORD[48+rdi] + mov r11,QWORD[56+rdi] + jmp NEAR $L$oop_avx2 +ALIGN 16 +$L$oop_avx2: + vmovdqu xmm0,XMMWORD[((-128))+rsi] + vmovdqu xmm1,XMMWORD[((-128+16))+rsi] + vmovdqu xmm2,XMMWORD[((-128+32))+rsi] + lea rbp,[((K512+128))] + vmovdqu xmm3,XMMWORD[((-128+48))+rsi] + vmovdqu xmm4,XMMWORD[((-128+64))+rsi] + vmovdqu xmm5,XMMWORD[((-128+80))+rsi] + vmovdqu xmm6,XMMWORD[((-128+96))+rsi] + vmovdqu xmm7,XMMWORD[((-128+112))+rsi] + + vmovdqa ymm10,YMMWORD[1152+rbp] + vinserti128 ymm0,ymm0,XMMWORD[r12],1 + vinserti128 ymm1,ymm1,XMMWORD[16+r12],1 + vpshufb ymm0,ymm0,ymm10 + vinserti128 ymm2,ymm2,XMMWORD[32+r12],1 + vpshufb ymm1,ymm1,ymm10 + vinserti128 ymm3,ymm3,XMMWORD[48+r12],1 + vpshufb ymm2,ymm2,ymm10 + vinserti128 ymm4,ymm4,XMMWORD[64+r12],1 + vpshufb ymm3,ymm3,ymm10 + vinserti128 ymm5,ymm5,XMMWORD[80+r12],1 + vpshufb ymm4,ymm4,ymm10 + vinserti128 ymm6,ymm6,XMMWORD[96+r12],1 + vpshufb ymm5,ymm5,ymm10 + vinserti128 ymm7,ymm7,XMMWORD[112+r12],1 + + vpaddq ymm8,ymm0,YMMWORD[((-128))+rbp] + vpshufb ymm6,ymm6,ymm10 + vpaddq ymm9,ymm1,YMMWORD[((-96))+rbp] + vpshufb ymm7,ymm7,ymm10 + vpaddq ymm10,ymm2,YMMWORD[((-64))+rbp] + vpaddq ymm11,ymm3,YMMWORD[((-32))+rbp] + vmovdqa YMMWORD[rsp],ymm8 + vpaddq ymm8,ymm4,YMMWORD[rbp] + vmovdqa YMMWORD[32+rsp],ymm9 + vpaddq ymm9,ymm5,YMMWORD[32+rbp] + vmovdqa YMMWORD[64+rsp],ymm10 + vpaddq ymm10,ymm6,YMMWORD[64+rbp] + vmovdqa YMMWORD[96+rsp],ymm11 + lea rsp,[((-128))+rsp] + vpaddq ymm11,ymm7,YMMWORD[96+rbp] + vmovdqa YMMWORD[rsp],ymm8 + xor r14,r14 + vmovdqa YMMWORD[32+rsp],ymm9 + mov rdi,rbx + vmovdqa YMMWORD[64+rsp],ymm10 + xor rdi,rcx + vmovdqa YMMWORD[96+rsp],ymm11 + mov r12,r9 + add rbp,16*2*8 + jmp NEAR $L$avx2_00_47 + +ALIGN 16 +$L$avx2_00_47: + lea rsp,[((-128))+rsp] + vpalignr ymm8,ymm1,ymm0,8 + add r11,QWORD[((0+256))+rsp] + and r12,r8 + rorx r13,r8,41 + vpalignr ymm11,ymm5,ymm4,8 + rorx r15,r8,18 + lea rax,[r14*1+rax] + lea r11,[r12*1+r11] + vpsrlq ymm10,ymm8,1 + andn r12,r8,r10 + xor r13,r15 + rorx r14,r8,14 + vpaddq ymm0,ymm0,ymm11 + vpsrlq ymm11,ymm8,7 + lea r11,[r12*1+r11] + xor r13,r14 + mov r15,rax + vpsllq ymm9,ymm8,56 + vpxor ymm8,ymm11,ymm10 + rorx r12,rax,39 + lea r11,[r13*1+r11] + xor r15,rbx + vpsrlq ymm10,ymm10,7 + vpxor ymm8,ymm8,ymm9 + rorx r14,rax,34 + rorx r13,rax,28 + lea rdx,[r11*1+rdx] + vpsllq ymm9,ymm9,7 + vpxor ymm8,ymm8,ymm10 + and rdi,r15 + xor r14,r12 + xor rdi,rbx + vpsrlq ymm11,ymm7,6 + vpxor ymm8,ymm8,ymm9 + xor r14,r13 + lea r11,[rdi*1+r11] + mov r12,r8 + vpsllq ymm10,ymm7,3 + vpaddq ymm0,ymm0,ymm8 + add r10,QWORD[((8+256))+rsp] + and r12,rdx + rorx r13,rdx,41 + vpsrlq ymm9,ymm7,19 + vpxor ymm11,ymm11,ymm10 + rorx rdi,rdx,18 + lea r11,[r14*1+r11] + lea r10,[r12*1+r10] + vpsllq ymm10,ymm10,42 + vpxor ymm11,ymm11,ymm9 + andn r12,rdx,r9 + xor r13,rdi + rorx r14,rdx,14 + vpsrlq ymm9,ymm9,42 + vpxor ymm11,ymm11,ymm10 + lea r10,[r12*1+r10] + xor r13,r14 + mov rdi,r11 + vpxor ymm11,ymm11,ymm9 + rorx r12,r11,39 + lea r10,[r13*1+r10] + xor rdi,rax + vpaddq ymm0,ymm0,ymm11 + rorx r14,r11,34 + rorx r13,r11,28 + lea rcx,[r10*1+rcx] + vpaddq ymm10,ymm0,YMMWORD[((-128))+rbp] + and r15,rdi + xor r14,r12 + xor r15,rax + xor r14,r13 + lea r10,[r15*1+r10] + mov r12,rdx + vmovdqa YMMWORD[rsp],ymm10 + vpalignr ymm8,ymm2,ymm1,8 + add r9,QWORD[((32+256))+rsp] + and r12,rcx + rorx r13,rcx,41 + vpalignr ymm11,ymm6,ymm5,8 + rorx r15,rcx,18 + lea r10,[r14*1+r10] + lea r9,[r12*1+r9] + vpsrlq ymm10,ymm8,1 + andn r12,rcx,r8 + xor r13,r15 + rorx r14,rcx,14 + vpaddq ymm1,ymm1,ymm11 + vpsrlq ymm11,ymm8,7 + lea r9,[r12*1+r9] + xor r13,r14 + mov r15,r10 + vpsllq ymm9,ymm8,56 + vpxor ymm8,ymm11,ymm10 + rorx r12,r10,39 + lea r9,[r13*1+r9] + xor r15,r11 + vpsrlq ymm10,ymm10,7 + vpxor ymm8,ymm8,ymm9 + rorx r14,r10,34 + rorx r13,r10,28 + lea rbx,[r9*1+rbx] + vpsllq ymm9,ymm9,7 + vpxor ymm8,ymm8,ymm10 + and rdi,r15 + xor r14,r12 + xor rdi,r11 + vpsrlq ymm11,ymm0,6 + vpxor ymm8,ymm8,ymm9 + xor r14,r13 + lea r9,[rdi*1+r9] + mov r12,rcx + vpsllq ymm10,ymm0,3 + vpaddq ymm1,ymm1,ymm8 + add r8,QWORD[((40+256))+rsp] + and r12,rbx + rorx r13,rbx,41 + vpsrlq ymm9,ymm0,19 + vpxor ymm11,ymm11,ymm10 + rorx rdi,rbx,18 + lea r9,[r14*1+r9] + lea r8,[r12*1+r8] + vpsllq ymm10,ymm10,42 + vpxor ymm11,ymm11,ymm9 + andn r12,rbx,rdx + xor r13,rdi + rorx r14,rbx,14 + vpsrlq ymm9,ymm9,42 + vpxor ymm11,ymm11,ymm10 + lea r8,[r12*1+r8] + xor r13,r14 + mov rdi,r9 + vpxor ymm11,ymm11,ymm9 + rorx r12,r9,39 + lea r8,[r13*1+r8] + xor rdi,r10 + vpaddq ymm1,ymm1,ymm11 + rorx r14,r9,34 + rorx r13,r9,28 + lea rax,[r8*1+rax] + vpaddq ymm10,ymm1,YMMWORD[((-96))+rbp] + and r15,rdi + xor r14,r12 + xor r15,r10 + xor r14,r13 + lea r8,[r15*1+r8] + mov r12,rbx + vmovdqa YMMWORD[32+rsp],ymm10 + vpalignr ymm8,ymm3,ymm2,8 + add rdx,QWORD[((64+256))+rsp] + and r12,rax + rorx r13,rax,41 + vpalignr ymm11,ymm7,ymm6,8 + rorx r15,rax,18 + lea r8,[r14*1+r8] + lea rdx,[r12*1+rdx] + vpsrlq ymm10,ymm8,1 + andn r12,rax,rcx + xor r13,r15 + rorx r14,rax,14 + vpaddq ymm2,ymm2,ymm11 + vpsrlq ymm11,ymm8,7 + lea rdx,[r12*1+rdx] + xor r13,r14 + mov r15,r8 + vpsllq ymm9,ymm8,56 + vpxor ymm8,ymm11,ymm10 + rorx r12,r8,39 + lea rdx,[r13*1+rdx] + xor r15,r9 + vpsrlq ymm10,ymm10,7 + vpxor ymm8,ymm8,ymm9 + rorx r14,r8,34 + rorx r13,r8,28 + lea r11,[rdx*1+r11] + vpsllq ymm9,ymm9,7 + vpxor ymm8,ymm8,ymm10 + and rdi,r15 + xor r14,r12 + xor rdi,r9 + vpsrlq ymm11,ymm1,6 + vpxor ymm8,ymm8,ymm9 + xor r14,r13 + lea rdx,[rdi*1+rdx] + mov r12,rax + vpsllq ymm10,ymm1,3 + vpaddq ymm2,ymm2,ymm8 + add rcx,QWORD[((72+256))+rsp] + and r12,r11 + rorx r13,r11,41 + vpsrlq ymm9,ymm1,19 + vpxor ymm11,ymm11,ymm10 + rorx rdi,r11,18 + lea rdx,[r14*1+rdx] + lea rcx,[r12*1+rcx] + vpsllq ymm10,ymm10,42 + vpxor ymm11,ymm11,ymm9 + andn r12,r11,rbx + xor r13,rdi + rorx r14,r11,14 + vpsrlq ymm9,ymm9,42 + vpxor ymm11,ymm11,ymm10 + lea rcx,[r12*1+rcx] + xor r13,r14 + mov rdi,rdx + vpxor ymm11,ymm11,ymm9 + rorx r12,rdx,39 + lea rcx,[r13*1+rcx] + xor rdi,r8 + vpaddq ymm2,ymm2,ymm11 + rorx r14,rdx,34 + rorx r13,rdx,28 + lea r10,[rcx*1+r10] + vpaddq ymm10,ymm2,YMMWORD[((-64))+rbp] + and r15,rdi + xor r14,r12 + xor r15,r8 + xor r14,r13 + lea rcx,[r15*1+rcx] + mov r12,r11 + vmovdqa YMMWORD[64+rsp],ymm10 + vpalignr ymm8,ymm4,ymm3,8 + add rbx,QWORD[((96+256))+rsp] + and r12,r10 + rorx r13,r10,41 + vpalignr ymm11,ymm0,ymm7,8 + rorx r15,r10,18 + lea rcx,[r14*1+rcx] + lea rbx,[r12*1+rbx] + vpsrlq ymm10,ymm8,1 + andn r12,r10,rax + xor r13,r15 + rorx r14,r10,14 + vpaddq ymm3,ymm3,ymm11 + vpsrlq ymm11,ymm8,7 + lea rbx,[r12*1+rbx] + xor r13,r14 + mov r15,rcx + vpsllq ymm9,ymm8,56 + vpxor ymm8,ymm11,ymm10 + rorx r12,rcx,39 + lea rbx,[r13*1+rbx] + xor r15,rdx + vpsrlq ymm10,ymm10,7 + vpxor ymm8,ymm8,ymm9 + rorx r14,rcx,34 + rorx r13,rcx,28 + lea r9,[rbx*1+r9] + vpsllq ymm9,ymm9,7 + vpxor ymm8,ymm8,ymm10 + and rdi,r15 + xor r14,r12 + xor rdi,rdx + vpsrlq ymm11,ymm2,6 + vpxor ymm8,ymm8,ymm9 + xor r14,r13 + lea rbx,[rdi*1+rbx] + mov r12,r10 + vpsllq ymm10,ymm2,3 + vpaddq ymm3,ymm3,ymm8 + add rax,QWORD[((104+256))+rsp] + and r12,r9 + rorx r13,r9,41 + vpsrlq ymm9,ymm2,19 + vpxor ymm11,ymm11,ymm10 + rorx rdi,r9,18 + lea rbx,[r14*1+rbx] + lea rax,[r12*1+rax] + vpsllq ymm10,ymm10,42 + vpxor ymm11,ymm11,ymm9 + andn r12,r9,r11 + xor r13,rdi + rorx r14,r9,14 + vpsrlq ymm9,ymm9,42 + vpxor ymm11,ymm11,ymm10 + lea rax,[r12*1+rax] + xor r13,r14 + mov rdi,rbx + vpxor ymm11,ymm11,ymm9 + rorx r12,rbx,39 + lea rax,[r13*1+rax] + xor rdi,rcx + vpaddq ymm3,ymm3,ymm11 + rorx r14,rbx,34 + rorx r13,rbx,28 + lea r8,[rax*1+r8] + vpaddq ymm10,ymm3,YMMWORD[((-32))+rbp] + and r15,rdi + xor r14,r12 + xor r15,rcx + xor r14,r13 + lea rax,[r15*1+rax] + mov r12,r9 + vmovdqa YMMWORD[96+rsp],ymm10 + lea rsp,[((-128))+rsp] + vpalignr ymm8,ymm5,ymm4,8 + add r11,QWORD[((0+256))+rsp] + and r12,r8 + rorx r13,r8,41 + vpalignr ymm11,ymm1,ymm0,8 + rorx r15,r8,18 + lea rax,[r14*1+rax] + lea r11,[r12*1+r11] + vpsrlq ymm10,ymm8,1 + andn r12,r8,r10 + xor r13,r15 + rorx r14,r8,14 + vpaddq ymm4,ymm4,ymm11 + vpsrlq ymm11,ymm8,7 + lea r11,[r12*1+r11] + xor r13,r14 + mov r15,rax + vpsllq ymm9,ymm8,56 + vpxor ymm8,ymm11,ymm10 + rorx r12,rax,39 + lea r11,[r13*1+r11] + xor r15,rbx + vpsrlq ymm10,ymm10,7 + vpxor ymm8,ymm8,ymm9 + rorx r14,rax,34 + rorx r13,rax,28 + lea rdx,[r11*1+rdx] + vpsllq ymm9,ymm9,7 + vpxor ymm8,ymm8,ymm10 + and rdi,r15 + xor r14,r12 + xor rdi,rbx + vpsrlq ymm11,ymm3,6 + vpxor ymm8,ymm8,ymm9 + xor r14,r13 + lea r11,[rdi*1+r11] + mov r12,r8 + vpsllq ymm10,ymm3,3 + vpaddq ymm4,ymm4,ymm8 + add r10,QWORD[((8+256))+rsp] + and r12,rdx + rorx r13,rdx,41 + vpsrlq ymm9,ymm3,19 + vpxor ymm11,ymm11,ymm10 + rorx rdi,rdx,18 + lea r11,[r14*1+r11] + lea r10,[r12*1+r10] + vpsllq ymm10,ymm10,42 + vpxor ymm11,ymm11,ymm9 + andn r12,rdx,r9 + xor r13,rdi + rorx r14,rdx,14 + vpsrlq ymm9,ymm9,42 + vpxor ymm11,ymm11,ymm10 + lea r10,[r12*1+r10] + xor r13,r14 + mov rdi,r11 + vpxor ymm11,ymm11,ymm9 + rorx r12,r11,39 + lea r10,[r13*1+r10] + xor rdi,rax + vpaddq ymm4,ymm4,ymm11 + rorx r14,r11,34 + rorx r13,r11,28 + lea rcx,[r10*1+rcx] + vpaddq ymm10,ymm4,YMMWORD[rbp] + and r15,rdi + xor r14,r12 + xor r15,rax + xor r14,r13 + lea r10,[r15*1+r10] + mov r12,rdx + vmovdqa YMMWORD[rsp],ymm10 + vpalignr ymm8,ymm6,ymm5,8 + add r9,QWORD[((32+256))+rsp] + and r12,rcx + rorx r13,rcx,41 + vpalignr ymm11,ymm2,ymm1,8 + rorx r15,rcx,18 + lea r10,[r14*1+r10] + lea r9,[r12*1+r9] + vpsrlq ymm10,ymm8,1 + andn r12,rcx,r8 + xor r13,r15 + rorx r14,rcx,14 + vpaddq ymm5,ymm5,ymm11 + vpsrlq ymm11,ymm8,7 + lea r9,[r12*1+r9] + xor r13,r14 + mov r15,r10 + vpsllq ymm9,ymm8,56 + vpxor ymm8,ymm11,ymm10 + rorx r12,r10,39 + lea r9,[r13*1+r9] + xor r15,r11 + vpsrlq ymm10,ymm10,7 + vpxor ymm8,ymm8,ymm9 + rorx r14,r10,34 + rorx r13,r10,28 + lea rbx,[r9*1+rbx] + vpsllq ymm9,ymm9,7 + vpxor ymm8,ymm8,ymm10 + and rdi,r15 + xor r14,r12 + xor rdi,r11 + vpsrlq ymm11,ymm4,6 + vpxor ymm8,ymm8,ymm9 + xor r14,r13 + lea r9,[rdi*1+r9] + mov r12,rcx + vpsllq ymm10,ymm4,3 + vpaddq ymm5,ymm5,ymm8 + add r8,QWORD[((40+256))+rsp] + and r12,rbx + rorx r13,rbx,41 + vpsrlq ymm9,ymm4,19 + vpxor ymm11,ymm11,ymm10 + rorx rdi,rbx,18 + lea r9,[r14*1+r9] + lea r8,[r12*1+r8] + vpsllq ymm10,ymm10,42 + vpxor ymm11,ymm11,ymm9 + andn r12,rbx,rdx + xor r13,rdi + rorx r14,rbx,14 + vpsrlq ymm9,ymm9,42 + vpxor ymm11,ymm11,ymm10 + lea r8,[r12*1+r8] + xor r13,r14 + mov rdi,r9 + vpxor ymm11,ymm11,ymm9 + rorx r12,r9,39 + lea r8,[r13*1+r8] + xor rdi,r10 + vpaddq ymm5,ymm5,ymm11 + rorx r14,r9,34 + rorx r13,r9,28 + lea rax,[r8*1+rax] + vpaddq ymm10,ymm5,YMMWORD[32+rbp] + and r15,rdi + xor r14,r12 + xor r15,r10 + xor r14,r13 + lea r8,[r15*1+r8] + mov r12,rbx + vmovdqa YMMWORD[32+rsp],ymm10 + vpalignr ymm8,ymm7,ymm6,8 + add rdx,QWORD[((64+256))+rsp] + and r12,rax + rorx r13,rax,41 + vpalignr ymm11,ymm3,ymm2,8 + rorx r15,rax,18 + lea r8,[r14*1+r8] + lea rdx,[r12*1+rdx] + vpsrlq ymm10,ymm8,1 + andn r12,rax,rcx + xor r13,r15 + rorx r14,rax,14 + vpaddq ymm6,ymm6,ymm11 + vpsrlq ymm11,ymm8,7 + lea rdx,[r12*1+rdx] + xor r13,r14 + mov r15,r8 + vpsllq ymm9,ymm8,56 + vpxor ymm8,ymm11,ymm10 + rorx r12,r8,39 + lea rdx,[r13*1+rdx] + xor r15,r9 + vpsrlq ymm10,ymm10,7 + vpxor ymm8,ymm8,ymm9 + rorx r14,r8,34 + rorx r13,r8,28 + lea r11,[rdx*1+r11] + vpsllq ymm9,ymm9,7 + vpxor ymm8,ymm8,ymm10 + and rdi,r15 + xor r14,r12 + xor rdi,r9 + vpsrlq ymm11,ymm5,6 + vpxor ymm8,ymm8,ymm9 + xor r14,r13 + lea rdx,[rdi*1+rdx] + mov r12,rax + vpsllq ymm10,ymm5,3 + vpaddq ymm6,ymm6,ymm8 + add rcx,QWORD[((72+256))+rsp] + and r12,r11 + rorx r13,r11,41 + vpsrlq ymm9,ymm5,19 + vpxor ymm11,ymm11,ymm10 + rorx rdi,r11,18 + lea rdx,[r14*1+rdx] + lea rcx,[r12*1+rcx] + vpsllq ymm10,ymm10,42 + vpxor ymm11,ymm11,ymm9 + andn r12,r11,rbx + xor r13,rdi + rorx r14,r11,14 + vpsrlq ymm9,ymm9,42 + vpxor ymm11,ymm11,ymm10 + lea rcx,[r12*1+rcx] + xor r13,r14 + mov rdi,rdx + vpxor ymm11,ymm11,ymm9 + rorx r12,rdx,39 + lea rcx,[r13*1+rcx] + xor rdi,r8 + vpaddq ymm6,ymm6,ymm11 + rorx r14,rdx,34 + rorx r13,rdx,28 + lea r10,[rcx*1+r10] + vpaddq ymm10,ymm6,YMMWORD[64+rbp] + and r15,rdi + xor r14,r12 + xor r15,r8 + xor r14,r13 + lea rcx,[r15*1+rcx] + mov r12,r11 + vmovdqa YMMWORD[64+rsp],ymm10 + vpalignr ymm8,ymm0,ymm7,8 + add rbx,QWORD[((96+256))+rsp] + and r12,r10 + rorx r13,r10,41 + vpalignr ymm11,ymm4,ymm3,8 + rorx r15,r10,18 + lea rcx,[r14*1+rcx] + lea rbx,[r12*1+rbx] + vpsrlq ymm10,ymm8,1 + andn r12,r10,rax + xor r13,r15 + rorx r14,r10,14 + vpaddq ymm7,ymm7,ymm11 + vpsrlq ymm11,ymm8,7 + lea rbx,[r12*1+rbx] + xor r13,r14 + mov r15,rcx + vpsllq ymm9,ymm8,56 + vpxor ymm8,ymm11,ymm10 + rorx r12,rcx,39 + lea rbx,[r13*1+rbx] + xor r15,rdx + vpsrlq ymm10,ymm10,7 + vpxor ymm8,ymm8,ymm9 + rorx r14,rcx,34 + rorx r13,rcx,28 + lea r9,[rbx*1+r9] + vpsllq ymm9,ymm9,7 + vpxor ymm8,ymm8,ymm10 + and rdi,r15 + xor r14,r12 + xor rdi,rdx + vpsrlq ymm11,ymm6,6 + vpxor ymm8,ymm8,ymm9 + xor r14,r13 + lea rbx,[rdi*1+rbx] + mov r12,r10 + vpsllq ymm10,ymm6,3 + vpaddq ymm7,ymm7,ymm8 + add rax,QWORD[((104+256))+rsp] + and r12,r9 + rorx r13,r9,41 + vpsrlq ymm9,ymm6,19 + vpxor ymm11,ymm11,ymm10 + rorx rdi,r9,18 + lea rbx,[r14*1+rbx] + lea rax,[r12*1+rax] + vpsllq ymm10,ymm10,42 + vpxor ymm11,ymm11,ymm9 + andn r12,r9,r11 + xor r13,rdi + rorx r14,r9,14 + vpsrlq ymm9,ymm9,42 + vpxor ymm11,ymm11,ymm10 + lea rax,[r12*1+rax] + xor r13,r14 + mov rdi,rbx + vpxor ymm11,ymm11,ymm9 + rorx r12,rbx,39 + lea rax,[r13*1+rax] + xor rdi,rcx + vpaddq ymm7,ymm7,ymm11 + rorx r14,rbx,34 + rorx r13,rbx,28 + lea r8,[rax*1+r8] + vpaddq ymm10,ymm7,YMMWORD[96+rbp] + and r15,rdi + xor r14,r12 + xor r15,rcx + xor r14,r13 + lea rax,[r15*1+rax] + mov r12,r9 + vmovdqa YMMWORD[96+rsp],ymm10 + lea rbp,[256+rbp] + cmp BYTE[((-121))+rbp],0 + jne NEAR $L$avx2_00_47 + add r11,QWORD[((0+128))+rsp] + and r12,r8 + rorx r13,r8,41 + rorx r15,r8,18 + lea rax,[r14*1+rax] + lea r11,[r12*1+r11] + andn r12,r8,r10 + xor r13,r15 + rorx r14,r8,14 + lea r11,[r12*1+r11] + xor r13,r14 + mov r15,rax + rorx r12,rax,39 + lea r11,[r13*1+r11] + xor r15,rbx + rorx r14,rax,34 + rorx r13,rax,28 + lea rdx,[r11*1+rdx] + and rdi,r15 + xor r14,r12 + xor rdi,rbx + xor r14,r13 + lea r11,[rdi*1+r11] + mov r12,r8 + add r10,QWORD[((8+128))+rsp] + and r12,rdx + rorx r13,rdx,41 + rorx rdi,rdx,18 + lea r11,[r14*1+r11] + lea r10,[r12*1+r10] + andn r12,rdx,r9 + xor r13,rdi + rorx r14,rdx,14 + lea r10,[r12*1+r10] + xor r13,r14 + mov rdi,r11 + rorx r12,r11,39 + lea r10,[r13*1+r10] + xor rdi,rax + rorx r14,r11,34 + rorx r13,r11,28 + lea rcx,[r10*1+rcx] + and r15,rdi + xor r14,r12 + xor r15,rax + xor r14,r13 + lea r10,[r15*1+r10] + mov r12,rdx + add r9,QWORD[((32+128))+rsp] + and r12,rcx + rorx r13,rcx,41 + rorx r15,rcx,18 + lea r10,[r14*1+r10] + lea r9,[r12*1+r9] + andn r12,rcx,r8 + xor r13,r15 + rorx r14,rcx,14 + lea r9,[r12*1+r9] + xor r13,r14 + mov r15,r10 + rorx r12,r10,39 + lea r9,[r13*1+r9] + xor r15,r11 + rorx r14,r10,34 + rorx r13,r10,28 + lea rbx,[r9*1+rbx] + and rdi,r15 + xor r14,r12 + xor rdi,r11 + xor r14,r13 + lea r9,[rdi*1+r9] + mov r12,rcx + add r8,QWORD[((40+128))+rsp] + and r12,rbx + rorx r13,rbx,41 + rorx rdi,rbx,18 + lea r9,[r14*1+r9] + lea r8,[r12*1+r8] + andn r12,rbx,rdx + xor r13,rdi + rorx r14,rbx,14 + lea r8,[r12*1+r8] + xor r13,r14 + mov rdi,r9 + rorx r12,r9,39 + lea r8,[r13*1+r8] + xor rdi,r10 + rorx r14,r9,34 + rorx r13,r9,28 + lea rax,[r8*1+rax] + and r15,rdi + xor r14,r12 + xor r15,r10 + xor r14,r13 + lea r8,[r15*1+r8] + mov r12,rbx + add rdx,QWORD[((64+128))+rsp] + and r12,rax + rorx r13,rax,41 + rorx r15,rax,18 + lea r8,[r14*1+r8] + lea rdx,[r12*1+rdx] + andn r12,rax,rcx + xor r13,r15 + rorx r14,rax,14 + lea rdx,[r12*1+rdx] + xor r13,r14 + mov r15,r8 + rorx r12,r8,39 + lea rdx,[r13*1+rdx] + xor r15,r9 + rorx r14,r8,34 + rorx r13,r8,28 + lea r11,[rdx*1+r11] + and rdi,r15 + xor r14,r12 + xor rdi,r9 + xor r14,r13 + lea rdx,[rdi*1+rdx] + mov r12,rax + add rcx,QWORD[((72+128))+rsp] + and r12,r11 + rorx r13,r11,41 + rorx rdi,r11,18 + lea rdx,[r14*1+rdx] + lea rcx,[r12*1+rcx] + andn r12,r11,rbx + xor r13,rdi + rorx r14,r11,14 + lea rcx,[r12*1+rcx] + xor r13,r14 + mov rdi,rdx + rorx r12,rdx,39 + lea rcx,[r13*1+rcx] + xor rdi,r8 + rorx r14,rdx,34 + rorx r13,rdx,28 + lea r10,[rcx*1+r10] + and r15,rdi + xor r14,r12 + xor r15,r8 + xor r14,r13 + lea rcx,[r15*1+rcx] + mov r12,r11 + add rbx,QWORD[((96+128))+rsp] + and r12,r10 + rorx r13,r10,41 + rorx r15,r10,18 + lea rcx,[r14*1+rcx] + lea rbx,[r12*1+rbx] + andn r12,r10,rax + xor r13,r15 + rorx r14,r10,14 + lea rbx,[r12*1+rbx] + xor r13,r14 + mov r15,rcx + rorx r12,rcx,39 + lea rbx,[r13*1+rbx] + xor r15,rdx + rorx r14,rcx,34 + rorx r13,rcx,28 + lea r9,[rbx*1+r9] + and rdi,r15 + xor r14,r12 + xor rdi,rdx + xor r14,r13 + lea rbx,[rdi*1+rbx] + mov r12,r10 + add rax,QWORD[((104+128))+rsp] + and r12,r9 + rorx r13,r9,41 + rorx rdi,r9,18 + lea rbx,[r14*1+rbx] + lea rax,[r12*1+rax] + andn r12,r9,r11 + xor r13,rdi + rorx r14,r9,14 + lea rax,[r12*1+rax] + xor r13,r14 + mov rdi,rbx + rorx r12,rbx,39 + lea rax,[r13*1+rax] + xor rdi,rcx + rorx r14,rbx,34 + rorx r13,rbx,28 + lea r8,[rax*1+r8] + and r15,rdi + xor r14,r12 + xor r15,rcx + xor r14,r13 + lea rax,[r15*1+rax] + mov r12,r9 + add r11,QWORD[rsp] + and r12,r8 + rorx r13,r8,41 + rorx r15,r8,18 + lea rax,[r14*1+rax] + lea r11,[r12*1+r11] + andn r12,r8,r10 + xor r13,r15 + rorx r14,r8,14 + lea r11,[r12*1+r11] + xor r13,r14 + mov r15,rax + rorx r12,rax,39 + lea r11,[r13*1+r11] + xor r15,rbx + rorx r14,rax,34 + rorx r13,rax,28 + lea rdx,[r11*1+rdx] + and rdi,r15 + xor r14,r12 + xor rdi,rbx + xor r14,r13 + lea r11,[rdi*1+r11] + mov r12,r8 + add r10,QWORD[8+rsp] + and r12,rdx + rorx r13,rdx,41 + rorx rdi,rdx,18 + lea r11,[r14*1+r11] + lea r10,[r12*1+r10] + andn r12,rdx,r9 + xor r13,rdi + rorx r14,rdx,14 + lea r10,[r12*1+r10] + xor r13,r14 + mov rdi,r11 + rorx r12,r11,39 + lea r10,[r13*1+r10] + xor rdi,rax + rorx r14,r11,34 + rorx r13,r11,28 + lea rcx,[r10*1+rcx] + and r15,rdi + xor r14,r12 + xor r15,rax + xor r14,r13 + lea r10,[r15*1+r10] + mov r12,rdx + add r9,QWORD[32+rsp] + and r12,rcx + rorx r13,rcx,41 + rorx r15,rcx,18 + lea r10,[r14*1+r10] + lea r9,[r12*1+r9] + andn r12,rcx,r8 + xor r13,r15 + rorx r14,rcx,14 + lea r9,[r12*1+r9] + xor r13,r14 + mov r15,r10 + rorx r12,r10,39 + lea r9,[r13*1+r9] + xor r15,r11 + rorx r14,r10,34 + rorx r13,r10,28 + lea rbx,[r9*1+rbx] + and rdi,r15 + xor r14,r12 + xor rdi,r11 + xor r14,r13 + lea r9,[rdi*1+r9] + mov r12,rcx + add r8,QWORD[40+rsp] + and r12,rbx + rorx r13,rbx,41 + rorx rdi,rbx,18 + lea r9,[r14*1+r9] + lea r8,[r12*1+r8] + andn r12,rbx,rdx + xor r13,rdi + rorx r14,rbx,14 + lea r8,[r12*1+r8] + xor r13,r14 + mov rdi,r9 + rorx r12,r9,39 + lea r8,[r13*1+r8] + xor rdi,r10 + rorx r14,r9,34 + rorx r13,r9,28 + lea rax,[r8*1+rax] + and r15,rdi + xor r14,r12 + xor r15,r10 + xor r14,r13 + lea r8,[r15*1+r8] + mov r12,rbx + add rdx,QWORD[64+rsp] + and r12,rax + rorx r13,rax,41 + rorx r15,rax,18 + lea r8,[r14*1+r8] + lea rdx,[r12*1+rdx] + andn r12,rax,rcx + xor r13,r15 + rorx r14,rax,14 + lea rdx,[r12*1+rdx] + xor r13,r14 + mov r15,r8 + rorx r12,r8,39 + lea rdx,[r13*1+rdx] + xor r15,r9 + rorx r14,r8,34 + rorx r13,r8,28 + lea r11,[rdx*1+r11] + and rdi,r15 + xor r14,r12 + xor rdi,r9 + xor r14,r13 + lea rdx,[rdi*1+rdx] + mov r12,rax + add rcx,QWORD[72+rsp] + and r12,r11 + rorx r13,r11,41 + rorx rdi,r11,18 + lea rdx,[r14*1+rdx] + lea rcx,[r12*1+rcx] + andn r12,r11,rbx + xor r13,rdi + rorx r14,r11,14 + lea rcx,[r12*1+rcx] + xor r13,r14 + mov rdi,rdx + rorx r12,rdx,39 + lea rcx,[r13*1+rcx] + xor rdi,r8 + rorx r14,rdx,34 + rorx r13,rdx,28 + lea r10,[rcx*1+r10] + and r15,rdi + xor r14,r12 + xor r15,r8 + xor r14,r13 + lea rcx,[r15*1+rcx] + mov r12,r11 + add rbx,QWORD[96+rsp] + and r12,r10 + rorx r13,r10,41 + rorx r15,r10,18 + lea rcx,[r14*1+rcx] + lea rbx,[r12*1+rbx] + andn r12,r10,rax + xor r13,r15 + rorx r14,r10,14 + lea rbx,[r12*1+rbx] + xor r13,r14 + mov r15,rcx + rorx r12,rcx,39 + lea rbx,[r13*1+rbx] + xor r15,rdx + rorx r14,rcx,34 + rorx r13,rcx,28 + lea r9,[rbx*1+r9] + and rdi,r15 + xor r14,r12 + xor rdi,rdx + xor r14,r13 + lea rbx,[rdi*1+rbx] + mov r12,r10 + add rax,QWORD[104+rsp] + and r12,r9 + rorx r13,r9,41 + rorx rdi,r9,18 + lea rbx,[r14*1+rbx] + lea rax,[r12*1+rax] + andn r12,r9,r11 + xor r13,rdi + rorx r14,r9,14 + lea rax,[r12*1+rax] + xor r13,r14 + mov rdi,rbx + rorx r12,rbx,39 + lea rax,[r13*1+rax] + xor rdi,rcx + rorx r14,rbx,34 + rorx r13,rbx,28 + lea r8,[rax*1+r8] + and r15,rdi + xor r14,r12 + xor r15,rcx + xor r14,r13 + lea rax,[r15*1+rax] + mov r12,r9 + mov rdi,QWORD[1280+rsp] + add rax,r14 + + lea rbp,[1152+rsp] + + add rax,QWORD[rdi] + add rbx,QWORD[8+rdi] + add rcx,QWORD[16+rdi] + add rdx,QWORD[24+rdi] + add r8,QWORD[32+rdi] + add r9,QWORD[40+rdi] + add r10,QWORD[48+rdi] + add r11,QWORD[56+rdi] + + mov QWORD[rdi],rax + mov QWORD[8+rdi],rbx + mov QWORD[16+rdi],rcx + mov QWORD[24+rdi],rdx + mov QWORD[32+rdi],r8 + mov QWORD[40+rdi],r9 + mov QWORD[48+rdi],r10 + mov QWORD[56+rdi],r11 + + cmp rsi,QWORD[144+rbp] + je NEAR $L$done_avx2 + + xor r14,r14 + mov rdi,rbx + xor rdi,rcx + mov r12,r9 + jmp NEAR $L$ower_avx2 +ALIGN 16 +$L$ower_avx2: + add r11,QWORD[((0+16))+rbp] + and r12,r8 + rorx r13,r8,41 + rorx r15,r8,18 + lea rax,[r14*1+rax] + lea r11,[r12*1+r11] + andn r12,r8,r10 + xor r13,r15 + rorx r14,r8,14 + lea r11,[r12*1+r11] + xor r13,r14 + mov r15,rax + rorx r12,rax,39 + lea r11,[r13*1+r11] + xor r15,rbx + rorx r14,rax,34 + rorx r13,rax,28 + lea rdx,[r11*1+rdx] + and rdi,r15 + xor r14,r12 + xor rdi,rbx + xor r14,r13 + lea r11,[rdi*1+r11] + mov r12,r8 + add r10,QWORD[((8+16))+rbp] + and r12,rdx + rorx r13,rdx,41 + rorx rdi,rdx,18 + lea r11,[r14*1+r11] + lea r10,[r12*1+r10] + andn r12,rdx,r9 + xor r13,rdi + rorx r14,rdx,14 + lea r10,[r12*1+r10] + xor r13,r14 + mov rdi,r11 + rorx r12,r11,39 + lea r10,[r13*1+r10] + xor rdi,rax + rorx r14,r11,34 + rorx r13,r11,28 + lea rcx,[r10*1+rcx] + and r15,rdi + xor r14,r12 + xor r15,rax + xor r14,r13 + lea r10,[r15*1+r10] + mov r12,rdx + add r9,QWORD[((32+16))+rbp] + and r12,rcx + rorx r13,rcx,41 + rorx r15,rcx,18 + lea r10,[r14*1+r10] + lea r9,[r12*1+r9] + andn r12,rcx,r8 + xor r13,r15 + rorx r14,rcx,14 + lea r9,[r12*1+r9] + xor r13,r14 + mov r15,r10 + rorx r12,r10,39 + lea r9,[r13*1+r9] + xor r15,r11 + rorx r14,r10,34 + rorx r13,r10,28 + lea rbx,[r9*1+rbx] + and rdi,r15 + xor r14,r12 + xor rdi,r11 + xor r14,r13 + lea r9,[rdi*1+r9] + mov r12,rcx + add r8,QWORD[((40+16))+rbp] + and r12,rbx + rorx r13,rbx,41 + rorx rdi,rbx,18 + lea r9,[r14*1+r9] + lea r8,[r12*1+r8] + andn r12,rbx,rdx + xor r13,rdi + rorx r14,rbx,14 + lea r8,[r12*1+r8] + xor r13,r14 + mov rdi,r9 + rorx r12,r9,39 + lea r8,[r13*1+r8] + xor rdi,r10 + rorx r14,r9,34 + rorx r13,r9,28 + lea rax,[r8*1+rax] + and r15,rdi + xor r14,r12 + xor r15,r10 + xor r14,r13 + lea r8,[r15*1+r8] + mov r12,rbx + add rdx,QWORD[((64+16))+rbp] + and r12,rax + rorx r13,rax,41 + rorx r15,rax,18 + lea r8,[r14*1+r8] + lea rdx,[r12*1+rdx] + andn r12,rax,rcx + xor r13,r15 + rorx r14,rax,14 + lea rdx,[r12*1+rdx] + xor r13,r14 + mov r15,r8 + rorx r12,r8,39 + lea rdx,[r13*1+rdx] + xor r15,r9 + rorx r14,r8,34 + rorx r13,r8,28 + lea r11,[rdx*1+r11] + and rdi,r15 + xor r14,r12 + xor rdi,r9 + xor r14,r13 + lea rdx,[rdi*1+rdx] + mov r12,rax + add rcx,QWORD[((72+16))+rbp] + and r12,r11 + rorx r13,r11,41 + rorx rdi,r11,18 + lea rdx,[r14*1+rdx] + lea rcx,[r12*1+rcx] + andn r12,r11,rbx + xor r13,rdi + rorx r14,r11,14 + lea rcx,[r12*1+rcx] + xor r13,r14 + mov rdi,rdx + rorx r12,rdx,39 + lea rcx,[r13*1+rcx] + xor rdi,r8 + rorx r14,rdx,34 + rorx r13,rdx,28 + lea r10,[rcx*1+r10] + and r15,rdi + xor r14,r12 + xor r15,r8 + xor r14,r13 + lea rcx,[r15*1+rcx] + mov r12,r11 + add rbx,QWORD[((96+16))+rbp] + and r12,r10 + rorx r13,r10,41 + rorx r15,r10,18 + lea rcx,[r14*1+rcx] + lea rbx,[r12*1+rbx] + andn r12,r10,rax + xor r13,r15 + rorx r14,r10,14 + lea rbx,[r12*1+rbx] + xor r13,r14 + mov r15,rcx + rorx r12,rcx,39 + lea rbx,[r13*1+rbx] + xor r15,rdx + rorx r14,rcx,34 + rorx r13,rcx,28 + lea r9,[rbx*1+r9] + and rdi,r15 + xor r14,r12 + xor rdi,rdx + xor r14,r13 + lea rbx,[rdi*1+rbx] + mov r12,r10 + add rax,QWORD[((104+16))+rbp] + and r12,r9 + rorx r13,r9,41 + rorx rdi,r9,18 + lea rbx,[r14*1+rbx] + lea rax,[r12*1+rax] + andn r12,r9,r11 + xor r13,rdi + rorx r14,r9,14 + lea rax,[r12*1+rax] + xor r13,r14 + mov rdi,rbx + rorx r12,rbx,39 + lea rax,[r13*1+rax] + xor rdi,rcx + rorx r14,rbx,34 + rorx r13,rbx,28 + lea r8,[rax*1+r8] + and r15,rdi + xor r14,r12 + xor r15,rcx + xor r14,r13 + lea rax,[r15*1+rax] + mov r12,r9 + lea rbp,[((-128))+rbp] + cmp rbp,rsp + jae NEAR $L$ower_avx2 + + mov rdi,QWORD[1280+rsp] + add rax,r14 + + lea rsp,[1152+rsp] + + add rax,QWORD[rdi] + add rbx,QWORD[8+rdi] + add rcx,QWORD[16+rdi] + add rdx,QWORD[24+rdi] + add r8,QWORD[32+rdi] + add r9,QWORD[40+rdi] + lea rsi,[256+rsi] + add r10,QWORD[48+rdi] + mov r12,rsi + add r11,QWORD[56+rdi] + cmp rsi,QWORD[((128+16))+rsp] + + mov QWORD[rdi],rax + cmove r12,rsp + mov QWORD[8+rdi],rbx + mov QWORD[16+rdi],rcx + mov QWORD[24+rdi],rdx + mov QWORD[32+rdi],r8 + mov QWORD[40+rdi],r9 + mov QWORD[48+rdi],r10 + mov QWORD[56+rdi],r11 + + jbe NEAR $L$oop_avx2 + lea rbp,[rsp] + +$L$done_avx2: + lea rsp,[rbp] + mov rsi,QWORD[((128+24))+rsp] + vzeroupper + movaps xmm6,XMMWORD[((128+32))+rsp] + movaps xmm7,XMMWORD[((128+48))+rsp] + movaps xmm8,XMMWORD[((128+64))+rsp] + movaps xmm9,XMMWORD[((128+80))+rsp] + movaps xmm10,XMMWORD[((128+96))+rsp] + movaps xmm11,XMMWORD[((128+112))+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_avx2: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_sha512_block_data_order_avx2: +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + lea r10,[$L$avx2_shortcut] + cmp rbx,r10 + jb NEAR $L$not_in_avx2 + + and rax,-256*8 + add rax,1152 +$L$not_in_avx2: + mov rsi,rax + mov rax,QWORD[((128+24))+rax] + lea rax,[48+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + + lea r10,[$L$epilogue] + cmp rbx,r10 + jb NEAR $L$in_prologue + + lea rsi,[((128+32))+rsi] + lea rdi,[512+r8] + mov ecx,12 + DD 0xa548f3fc + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_sha512_block_data_order wrt ..imagebase + DD $L$SEH_end_sha512_block_data_order wrt ..imagebase + DD $L$SEH_info_sha512_block_data_order wrt ..imagebase + DD $L$SEH_begin_sha512_block_data_order_xop wrt ..imagebase + DD $L$SEH_end_sha512_block_data_order_xop wrt ..imagebase + DD $L$SEH_info_sha512_block_data_order_xop wrt ..imagebase + DD $L$SEH_begin_sha512_block_data_order_avx wrt ..imagebase + DD $L$SEH_end_sha512_block_data_order_avx wrt ..imagebase + DD $L$SEH_info_sha512_block_data_order_avx wrt ..imagebase + DD $L$SEH_begin_sha512_block_data_order_avx2 wrt ..imagebase + DD $L$SEH_end_sha512_block_data_order_avx2 wrt ..imagebase + DD $L$SEH_info_sha512_block_data_order_avx2 wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_sha512_block_data_order: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase +$L$SEH_info_sha512_block_data_order_xop: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue_xop wrt ..imagebase,$L$epilogue_xop wrt ..imagebase +$L$SEH_info_sha512_block_data_order_avx: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase +$L$SEH_info_sha512_block_data_order_avx2: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$prologue_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase diff --git a/tmp64/vpaes-x86_64.asm b/tmp64/vpaes-x86_64.asm index 3edde9fd..114ca223 100644 --- a/tmp64/vpaes-x86_64.asm +++ b/tmp64/vpaes-x86_64.asm @@ -1,1137 +1,1137 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - - - - - - - - - - - - - - - - - -ALIGN 16 -_vpaes_encrypt_core: - mov r9,rdx - mov r11,16 - mov eax,DWORD[240+rdx] - movdqa xmm1,xmm9 - movdqa xmm2,XMMWORD[$L$k_ipt] - pandn xmm1,xmm0 - movdqu xmm5,XMMWORD[r9] - psrld xmm1,4 - pand xmm0,xmm9 -DB 102,15,56,0,208 - movdqa xmm0,XMMWORD[(($L$k_ipt+16))] -DB 102,15,56,0,193 - pxor xmm2,xmm5 - add r9,16 - pxor xmm0,xmm2 - lea r10,[$L$k_mc_backward] - jmp NEAR $L$enc_entry - -ALIGN 16 -$L$enc_loop: - - movdqa xmm4,xmm13 - movdqa xmm0,xmm12 -DB 102,15,56,0,226 -DB 102,15,56,0,195 - pxor xmm4,xmm5 - movdqa xmm5,xmm15 - pxor xmm0,xmm4 - movdqa xmm1,XMMWORD[((-64))+r10*1+r11] -DB 102,15,56,0,234 - movdqa xmm4,XMMWORD[r10*1+r11] - movdqa xmm2,xmm14 -DB 102,15,56,0,211 - movdqa xmm3,xmm0 - pxor xmm2,xmm5 -DB 102,15,56,0,193 - add r9,16 - pxor xmm0,xmm2 -DB 102,15,56,0,220 - add r11,16 - pxor xmm3,xmm0 -DB 102,15,56,0,193 - and r11,0x30 - sub rax,1 - pxor xmm0,xmm3 - -$L$enc_entry: - - movdqa xmm1,xmm9 - movdqa xmm5,xmm11 - pandn xmm1,xmm0 - psrld xmm1,4 - pand xmm0,xmm9 -DB 102,15,56,0,232 - movdqa xmm3,xmm10 - pxor xmm0,xmm1 -DB 102,15,56,0,217 - movdqa xmm4,xmm10 - pxor xmm3,xmm5 -DB 102,15,56,0,224 - movdqa xmm2,xmm10 - pxor xmm4,xmm5 -DB 102,15,56,0,211 - movdqa xmm3,xmm10 - pxor xmm2,xmm0 -DB 102,15,56,0,220 - movdqu xmm5,XMMWORD[r9] - pxor xmm3,xmm1 - jnz NEAR $L$enc_loop - - - movdqa xmm4,XMMWORD[((-96))+r10] - movdqa xmm0,XMMWORD[((-80))+r10] -DB 102,15,56,0,226 - pxor xmm4,xmm5 -DB 102,15,56,0,195 - movdqa xmm1,XMMWORD[64+r10*1+r11] - pxor xmm0,xmm4 -DB 102,15,56,0,193 - DB 0F3h,0C3h ;repret - - - - - - - - -ALIGN 16 -_vpaes_decrypt_core: - mov r9,rdx - mov eax,DWORD[240+rdx] - movdqa xmm1,xmm9 - movdqa xmm2,XMMWORD[$L$k_dipt] - pandn xmm1,xmm0 - mov r11,rax - psrld xmm1,4 - movdqu xmm5,XMMWORD[r9] - shl r11,4 - pand xmm0,xmm9 -DB 102,15,56,0,208 - movdqa xmm0,XMMWORD[(($L$k_dipt+16))] - xor r11,0x30 - lea r10,[$L$k_dsbd] -DB 102,15,56,0,193 - and r11,0x30 - pxor xmm2,xmm5 - movdqa xmm5,XMMWORD[(($L$k_mc_forward+48))] - pxor xmm0,xmm2 - add r9,16 - add r11,r10 - jmp NEAR $L$dec_entry - -ALIGN 16 -$L$dec_loop: - - - - movdqa xmm4,XMMWORD[((-32))+r10] - movdqa xmm1,XMMWORD[((-16))+r10] -DB 102,15,56,0,226 -DB 102,15,56,0,203 - pxor xmm0,xmm4 - movdqa xmm4,XMMWORD[r10] - pxor xmm0,xmm1 - movdqa xmm1,XMMWORD[16+r10] - -DB 102,15,56,0,226 -DB 102,15,56,0,197 -DB 102,15,56,0,203 - pxor xmm0,xmm4 - movdqa xmm4,XMMWORD[32+r10] - pxor xmm0,xmm1 - movdqa xmm1,XMMWORD[48+r10] - -DB 102,15,56,0,226 -DB 102,15,56,0,197 -DB 102,15,56,0,203 - pxor xmm0,xmm4 - movdqa xmm4,XMMWORD[64+r10] - pxor xmm0,xmm1 - movdqa xmm1,XMMWORD[80+r10] - -DB 102,15,56,0,226 -DB 102,15,56,0,197 -DB 102,15,56,0,203 - pxor xmm0,xmm4 - add r9,16 -DB 102,15,58,15,237,12 - pxor xmm0,xmm1 - sub rax,1 - -$L$dec_entry: - - movdqa xmm1,xmm9 - pandn xmm1,xmm0 - movdqa xmm2,xmm11 - psrld xmm1,4 - pand xmm0,xmm9 -DB 102,15,56,0,208 - movdqa xmm3,xmm10 - pxor xmm0,xmm1 -DB 102,15,56,0,217 - movdqa xmm4,xmm10 - pxor xmm3,xmm2 -DB 102,15,56,0,224 - pxor xmm4,xmm2 - movdqa xmm2,xmm10 -DB 102,15,56,0,211 - movdqa xmm3,xmm10 - pxor xmm2,xmm0 -DB 102,15,56,0,220 - movdqu xmm0,XMMWORD[r9] - pxor xmm3,xmm1 - jnz NEAR $L$dec_loop - - - movdqa xmm4,XMMWORD[96+r10] -DB 102,15,56,0,226 - pxor xmm4,xmm0 - movdqa xmm0,XMMWORD[112+r10] - movdqa xmm2,XMMWORD[((-352))+r11] -DB 102,15,56,0,195 - pxor xmm0,xmm4 -DB 102,15,56,0,194 - DB 0F3h,0C3h ;repret - - - - - - - - -ALIGN 16 -_vpaes_schedule_core: - - - - - - call _vpaes_preheat - movdqa xmm8,XMMWORD[$L$k_rcon] - movdqu xmm0,XMMWORD[rdi] - - - movdqa xmm3,xmm0 - lea r11,[$L$k_ipt] - call _vpaes_schedule_transform - movdqa xmm7,xmm0 - - lea r10,[$L$k_sr] - test rcx,rcx - jnz NEAR $L$schedule_am_decrypting - - - movdqu XMMWORD[rdx],xmm0 - jmp NEAR $L$schedule_go - -$L$schedule_am_decrypting: - - movdqa xmm1,XMMWORD[r10*1+r8] -DB 102,15,56,0,217 - movdqu XMMWORD[rdx],xmm3 - xor r8,0x30 - -$L$schedule_go: - cmp esi,192 - ja NEAR $L$schedule_256 - je NEAR $L$schedule_192 - - - - - - - - - - -$L$schedule_128: - mov esi,10 - -$L$oop_schedule_128: - call _vpaes_schedule_round - dec rsi - jz NEAR $L$schedule_mangle_last - call _vpaes_schedule_mangle - jmp NEAR $L$oop_schedule_128 - - - - - - - - - - - - - - - - -ALIGN 16 -$L$schedule_192: - movdqu xmm0,XMMWORD[8+rdi] - call _vpaes_schedule_transform - movdqa xmm6,xmm0 - pxor xmm4,xmm4 - movhlps xmm6,xmm4 - mov esi,4 - -$L$oop_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 rsi - jz NEAR $L$schedule_mangle_last - call _vpaes_schedule_mangle - call _vpaes_schedule_192_smear - jmp NEAR $L$oop_schedule_192 - - - - - - - - - - - -ALIGN 16 -$L$schedule_256: - movdqu xmm0,XMMWORD[16+rdi] - call _vpaes_schedule_transform - mov esi,7 - -$L$oop_schedule_256: - call _vpaes_schedule_mangle - movdqa xmm6,xmm0 - - - call _vpaes_schedule_round - dec rsi - jz NEAR $L$schedule_mangle_last - call _vpaes_schedule_mangle - - - pshufd xmm0,xmm0,0xFF - movdqa xmm5,xmm7 - movdqa xmm7,xmm6 - call _vpaes_schedule_low_round - movdqa xmm7,xmm5 - - jmp NEAR $L$oop_schedule_256 - - - - - - - - - - - - -ALIGN 16 -$L$schedule_mangle_last: - - lea r11,[$L$k_deskew] - test rcx,rcx - jnz NEAR $L$schedule_mangle_last_dec - - - movdqa xmm1,XMMWORD[r10*1+r8] -DB 102,15,56,0,193 - lea r11,[$L$k_opt] - add rdx,32 - -$L$schedule_mangle_last_dec: - add rdx,-16 - pxor xmm0,XMMWORD[$L$k_s63] - call _vpaes_schedule_transform - movdqu XMMWORD[rdx],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 - DB 0F3h,0C3h ;repret - - - - - - - - - - - - - - - - - -ALIGN 16 -_vpaes_schedule_192_smear: - pshufd xmm1,xmm6,0x80 - pshufd xmm0,xmm7,0xFE - pxor xmm6,xmm1 - pxor xmm1,xmm1 - pxor xmm6,xmm0 - movdqa xmm0,xmm6 - movhlps xmm6,xmm1 - DB 0F3h,0C3h ;repret - - - - - - - - - - - - - - - - - - - - - -ALIGN 16 -_vpaes_schedule_round: - - pxor xmm1,xmm1 -DB 102,65,15,58,15,200,15 -DB 102,69,15,58,15,192,15 - pxor xmm7,xmm1 - - - pshufd xmm0,xmm0,0xFF -DB 102,15,58,15,192,1 - - - - -_vpaes_schedule_low_round: - - movdqa xmm1,xmm7 - pslldq xmm7,4 - pxor xmm7,xmm1 - movdqa xmm1,xmm7 - pslldq xmm7,8 - pxor xmm7,xmm1 - pxor xmm7,XMMWORD[$L$k_s63] - - - movdqa xmm1,xmm9 - pandn xmm1,xmm0 - psrld xmm1,4 - pand xmm0,xmm9 - movdqa xmm2,xmm11 -DB 102,15,56,0,208 - pxor xmm0,xmm1 - movdqa xmm3,xmm10 -DB 102,15,56,0,217 - pxor xmm3,xmm2 - movdqa xmm4,xmm10 -DB 102,15,56,0,224 - pxor xmm4,xmm2 - movdqa xmm2,xmm10 -DB 102,15,56,0,211 - pxor xmm2,xmm0 - movdqa xmm3,xmm10 -DB 102,15,56,0,220 - pxor xmm3,xmm1 - movdqa xmm4,xmm13 -DB 102,15,56,0,226 - movdqa xmm0,xmm12 -DB 102,15,56,0,195 - pxor xmm0,xmm4 - - - pxor xmm0,xmm7 - movdqa xmm7,xmm0 - DB 0F3h,0C3h ;repret - - - - - - - - - - - - -ALIGN 16 -_vpaes_schedule_transform: - movdqa xmm1,xmm9 - pandn xmm1,xmm0 - psrld xmm1,4 - pand xmm0,xmm9 - movdqa xmm2,XMMWORD[r11] -DB 102,15,56,0,208 - movdqa xmm0,XMMWORD[16+r11] -DB 102,15,56,0,193 - pxor xmm0,xmm2 - DB 0F3h,0C3h ;repret - - - - - - - - - - - - - - - - - - - - - - - - - - -ALIGN 16 -_vpaes_schedule_mangle: - movdqa xmm4,xmm0 - movdqa xmm5,XMMWORD[$L$k_mc_forward] - test rcx,rcx - jnz NEAR $L$schedule_mangle_dec - - - add rdx,16 - pxor xmm4,XMMWORD[$L$k_s63] -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$schedule_mangle_both -ALIGN 16 -$L$schedule_mangle_dec: - - lea r11,[$L$k_dksd] - movdqa xmm1,xmm9 - pandn xmm1,xmm4 - psrld xmm1,4 - pand xmm4,xmm9 - - movdqa xmm2,XMMWORD[r11] -DB 102,15,56,0,212 - movdqa xmm3,XMMWORD[16+r11] -DB 102,15,56,0,217 - pxor xmm3,xmm2 -DB 102,15,56,0,221 - - movdqa xmm2,XMMWORD[32+r11] -DB 102,15,56,0,212 - pxor xmm2,xmm3 - movdqa xmm3,XMMWORD[48+r11] -DB 102,15,56,0,217 - pxor xmm3,xmm2 -DB 102,15,56,0,221 - - movdqa xmm2,XMMWORD[64+r11] -DB 102,15,56,0,212 - pxor xmm2,xmm3 - movdqa xmm3,XMMWORD[80+r11] -DB 102,15,56,0,217 - pxor xmm3,xmm2 -DB 102,15,56,0,221 - - movdqa xmm2,XMMWORD[96+r11] -DB 102,15,56,0,212 - pxor xmm2,xmm3 - movdqa xmm3,XMMWORD[112+r11] -DB 102,15,56,0,217 - pxor xmm3,xmm2 - - add rdx,-16 - -$L$schedule_mangle_both: - movdqa xmm1,XMMWORD[r10*1+r8] -DB 102,15,56,0,217 - add r8,-16 - and r8,0x30 - movdqu XMMWORD[rdx],xmm3 - DB 0F3h,0C3h ;repret - - - - - -global vpaes_set_encrypt_key - -ALIGN 16 -vpaes_set_encrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_vpaes_set_encrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - lea rsp,[((-184))+rsp] - movaps XMMWORD[16+rsp],xmm6 - movaps XMMWORD[32+rsp],xmm7 - movaps XMMWORD[48+rsp],xmm8 - movaps XMMWORD[64+rsp],xmm9 - movaps XMMWORD[80+rsp],xmm10 - movaps XMMWORD[96+rsp],xmm11 - movaps XMMWORD[112+rsp],xmm12 - movaps XMMWORD[128+rsp],xmm13 - movaps XMMWORD[144+rsp],xmm14 - movaps XMMWORD[160+rsp],xmm15 -$L$enc_key_body: - mov eax,esi - shr eax,5 - add eax,5 - mov DWORD[240+rdx],eax - - mov ecx,0 - mov r8d,0x30 - call _vpaes_schedule_core - movaps xmm6,XMMWORD[16+rsp] - movaps xmm7,XMMWORD[32+rsp] - movaps xmm8,XMMWORD[48+rsp] - movaps xmm9,XMMWORD[64+rsp] - movaps xmm10,XMMWORD[80+rsp] - movaps xmm11,XMMWORD[96+rsp] - movaps xmm12,XMMWORD[112+rsp] - movaps xmm13,XMMWORD[128+rsp] - movaps xmm14,XMMWORD[144+rsp] - movaps xmm15,XMMWORD[160+rsp] - lea rsp,[184+rsp] -$L$enc_key_epilogue: - xor eax,eax - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_vpaes_set_encrypt_key: - -global vpaes_set_decrypt_key - -ALIGN 16 -vpaes_set_decrypt_key: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_vpaes_set_decrypt_key: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - lea rsp,[((-184))+rsp] - movaps XMMWORD[16+rsp],xmm6 - movaps XMMWORD[32+rsp],xmm7 - movaps XMMWORD[48+rsp],xmm8 - movaps XMMWORD[64+rsp],xmm9 - movaps XMMWORD[80+rsp],xmm10 - movaps XMMWORD[96+rsp],xmm11 - movaps XMMWORD[112+rsp],xmm12 - movaps XMMWORD[128+rsp],xmm13 - movaps XMMWORD[144+rsp],xmm14 - movaps XMMWORD[160+rsp],xmm15 -$L$dec_key_body: - mov eax,esi - shr eax,5 - add eax,5 - mov DWORD[240+rdx],eax - shl eax,4 - lea rdx,[16+rax*1+rdx] - - mov ecx,1 - mov r8d,esi - shr r8d,1 - and r8d,32 - xor r8d,32 - call _vpaes_schedule_core - movaps xmm6,XMMWORD[16+rsp] - movaps xmm7,XMMWORD[32+rsp] - movaps xmm8,XMMWORD[48+rsp] - movaps xmm9,XMMWORD[64+rsp] - movaps xmm10,XMMWORD[80+rsp] - movaps xmm11,XMMWORD[96+rsp] - movaps xmm12,XMMWORD[112+rsp] - movaps xmm13,XMMWORD[128+rsp] - movaps xmm14,XMMWORD[144+rsp] - movaps xmm15,XMMWORD[160+rsp] - lea rsp,[184+rsp] -$L$dec_key_epilogue: - xor eax,eax - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_vpaes_set_decrypt_key: - -global vpaes_encrypt - -ALIGN 16 -vpaes_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_vpaes_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - lea rsp,[((-184))+rsp] - movaps XMMWORD[16+rsp],xmm6 - movaps XMMWORD[32+rsp],xmm7 - movaps XMMWORD[48+rsp],xmm8 - movaps XMMWORD[64+rsp],xmm9 - movaps XMMWORD[80+rsp],xmm10 - movaps XMMWORD[96+rsp],xmm11 - movaps XMMWORD[112+rsp],xmm12 - movaps XMMWORD[128+rsp],xmm13 - movaps XMMWORD[144+rsp],xmm14 - movaps XMMWORD[160+rsp],xmm15 -$L$enc_body: - movdqu xmm0,XMMWORD[rdi] - call _vpaes_preheat - call _vpaes_encrypt_core - movdqu XMMWORD[rsi],xmm0 - movaps xmm6,XMMWORD[16+rsp] - movaps xmm7,XMMWORD[32+rsp] - movaps xmm8,XMMWORD[48+rsp] - movaps xmm9,XMMWORD[64+rsp] - movaps xmm10,XMMWORD[80+rsp] - movaps xmm11,XMMWORD[96+rsp] - movaps xmm12,XMMWORD[112+rsp] - movaps xmm13,XMMWORD[128+rsp] - movaps xmm14,XMMWORD[144+rsp] - movaps xmm15,XMMWORD[160+rsp] - lea rsp,[184+rsp] -$L$enc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_vpaes_encrypt: - -global vpaes_decrypt - -ALIGN 16 -vpaes_decrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_vpaes_decrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - lea rsp,[((-184))+rsp] - movaps XMMWORD[16+rsp],xmm6 - movaps XMMWORD[32+rsp],xmm7 - movaps XMMWORD[48+rsp],xmm8 - movaps XMMWORD[64+rsp],xmm9 - movaps XMMWORD[80+rsp],xmm10 - movaps XMMWORD[96+rsp],xmm11 - movaps XMMWORD[112+rsp],xmm12 - movaps XMMWORD[128+rsp],xmm13 - movaps XMMWORD[144+rsp],xmm14 - movaps XMMWORD[160+rsp],xmm15 -$L$dec_body: - movdqu xmm0,XMMWORD[rdi] - call _vpaes_preheat - call _vpaes_decrypt_core - movdqu XMMWORD[rsi],xmm0 - movaps xmm6,XMMWORD[16+rsp] - movaps xmm7,XMMWORD[32+rsp] - movaps xmm8,XMMWORD[48+rsp] - movaps xmm9,XMMWORD[64+rsp] - movaps xmm10,XMMWORD[80+rsp] - movaps xmm11,XMMWORD[96+rsp] - movaps xmm12,XMMWORD[112+rsp] - movaps xmm13,XMMWORD[128+rsp] - movaps xmm14,XMMWORD[144+rsp] - movaps xmm15,XMMWORD[160+rsp] - lea rsp,[184+rsp] -$L$dec_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_vpaes_decrypt: -global vpaes_cbc_encrypt - -ALIGN 16 -vpaes_cbc_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_vpaes_cbc_encrypt: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - xchg rdx,rcx - sub rcx,16 - jc NEAR $L$cbc_abort - lea rsp,[((-184))+rsp] - movaps XMMWORD[16+rsp],xmm6 - movaps XMMWORD[32+rsp],xmm7 - movaps XMMWORD[48+rsp],xmm8 - movaps XMMWORD[64+rsp],xmm9 - movaps XMMWORD[80+rsp],xmm10 - movaps XMMWORD[96+rsp],xmm11 - movaps XMMWORD[112+rsp],xmm12 - movaps XMMWORD[128+rsp],xmm13 - movaps XMMWORD[144+rsp],xmm14 - movaps XMMWORD[160+rsp],xmm15 -$L$cbc_body: - movdqu xmm6,XMMWORD[r8] - sub rsi,rdi - call _vpaes_preheat - cmp r9d,0 - je NEAR $L$cbc_dec_loop - jmp NEAR $L$cbc_enc_loop -ALIGN 16 -$L$cbc_enc_loop: - movdqu xmm0,XMMWORD[rdi] - pxor xmm0,xmm6 - call _vpaes_encrypt_core - movdqa xmm6,xmm0 - movdqu XMMWORD[rdi*1+rsi],xmm0 - lea rdi,[16+rdi] - sub rcx,16 - jnc NEAR $L$cbc_enc_loop - jmp NEAR $L$cbc_done -ALIGN 16 -$L$cbc_dec_loop: - movdqu xmm0,XMMWORD[rdi] - movdqa xmm7,xmm0 - call _vpaes_decrypt_core - pxor xmm0,xmm6 - movdqa xmm6,xmm7 - movdqu XMMWORD[rdi*1+rsi],xmm0 - lea rdi,[16+rdi] - sub rcx,16 - jnc NEAR $L$cbc_dec_loop -$L$cbc_done: - movdqu XMMWORD[r8],xmm6 - movaps xmm6,XMMWORD[16+rsp] - movaps xmm7,XMMWORD[32+rsp] - movaps xmm8,XMMWORD[48+rsp] - movaps xmm9,XMMWORD[64+rsp] - movaps xmm10,XMMWORD[80+rsp] - movaps xmm11,XMMWORD[96+rsp] - movaps xmm12,XMMWORD[112+rsp] - movaps xmm13,XMMWORD[128+rsp] - movaps xmm14,XMMWORD[144+rsp] - movaps xmm15,XMMWORD[160+rsp] - lea rsp,[184+rsp] -$L$cbc_epilogue: -$L$cbc_abort: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_vpaes_cbc_encrypt: - - - - - - - -ALIGN 16 -_vpaes_preheat: - lea r10,[$L$k_s0F] - movdqa xmm10,XMMWORD[((-32))+r10] - movdqa xmm11,XMMWORD[((-16))+r10] - movdqa xmm9,XMMWORD[r10] - movdqa xmm13,XMMWORD[48+r10] - movdqa xmm12,XMMWORD[64+r10] - movdqa xmm15,XMMWORD[80+r10] - movdqa xmm14,XMMWORD[96+r10] - DB 0F3h,0C3h ;repret - - - - - - - -ALIGN 64 -_vpaes_consts: -$L$k_inv: - DQ 0x0E05060F0D080180,0x040703090A0B0C02 - DQ 0x01040A060F0B0780,0x030D0E0C02050809 - -$L$k_s0F: - DQ 0x0F0F0F0F0F0F0F0F,0x0F0F0F0F0F0F0F0F - -$L$k_ipt: - DQ 0xC2B2E8985A2A7000,0xCABAE09052227808 - DQ 0x4C01307D317C4D00,0xCD80B1FCB0FDCC81 - -$L$k_sb1: - DQ 0xB19BE18FCB503E00,0xA5DF7A6E142AF544 - DQ 0x3618D415FAE22300,0x3BF7CCC10D2ED9EF -$L$k_sb2: - DQ 0xE27A93C60B712400,0x5EB7E955BC982FCD - DQ 0x69EB88400AE12900,0xC2A163C8AB82234A -$L$k_sbo: - DQ 0xD0D26D176FBDC700,0x15AABF7AC502A878 - DQ 0xCFE474A55FBB6A00,0x8E1E90D1412B35FA - -$L$k_mc_forward: - DQ 0x0407060500030201,0x0C0F0E0D080B0A09 - DQ 0x080B0A0904070605,0x000302010C0F0E0D - DQ 0x0C0F0E0D080B0A09,0x0407060500030201 - DQ 0x000302010C0F0E0D,0x080B0A0904070605 - -$L$k_mc_backward: - DQ 0x0605040702010003,0x0E0D0C0F0A09080B - DQ 0x020100030E0D0C0F,0x0A09080B06050407 - DQ 0x0E0D0C0F0A09080B,0x0605040702010003 - DQ 0x0A09080B06050407,0x020100030E0D0C0F - -$L$k_sr: - DQ 0x0706050403020100,0x0F0E0D0C0B0A0908 - DQ 0x030E09040F0A0500,0x0B06010C07020D08 - DQ 0x0F060D040B020900,0x070E050C030A0108 - DQ 0x0B0E0104070A0D00,0x0306090C0F020508 - -$L$k_rcon: - DQ 0x1F8391B9AF9DEEB6,0x702A98084D7C7D81 - -$L$k_s63: - DQ 0x5B5B5B5B5B5B5B5B,0x5B5B5B5B5B5B5B5B - -$L$k_opt: - DQ 0xFF9F4929D6B66000,0xF7974121DEBE6808 - DQ 0x01EDBD5150BCEC00,0xE10D5DB1B05C0CE0 - -$L$k_deskew: - DQ 0x07E4A34047A4E300,0x1DFEB95A5DBEF91A - DQ 0x5F36B5DC83EA6900,0x2841C2ABF49D1E77 - - - - - -$L$k_dksd: - DQ 0xFEB91A5DA3E44700,0x0740E3A45A1DBEF9 - DQ 0x41C277F4B5368300,0x5FDC69EAAB289D1E -$L$k_dksb: - DQ 0x9A4FCA1F8550D500,0x03D653861CC94C99 - DQ 0x115BEDA7B6FC4A00,0xD993256F7E3482C8 -$L$k_dkse: - DQ 0xD5031CCA1FC9D600,0x53859A4C994F5086 - DQ 0xA23196054FDC7BE8,0xCD5EF96A20B31487 -$L$k_dks9: - DQ 0xB6116FC87ED9A700,0x4AED933482255BFC - DQ 0x4576516227143300,0x8BB89FACE9DAFDCE - - - - - -$L$k_dipt: - DQ 0x0F505B040B545F00,0x154A411E114E451A - DQ 0x86E383E660056500,0x12771772F491F194 - -$L$k_dsb9: - DQ 0x851C03539A86D600,0xCAD51F504F994CC9 - DQ 0xC03B1789ECD74900,0x725E2C9EB2FBA565 -$L$k_dsbd: - DQ 0x7D57CCDFE6B1A200,0xF56E9B13882A4439 - DQ 0x3CE2FAF724C6CB00,0x2931180D15DEEFD3 -$L$k_dsbb: - DQ 0xD022649296B44200,0x602646F6B0F2D404 - DQ 0xC19498A6CD596700,0xF3FF0C3E3255AA6B -$L$k_dsbe: - DQ 0x46F2929626D4D000,0x2242600464B4F6B0 - DQ 0x0C55A6CDFFAAC100,0x9467F36B98593E32 -$L$k_dsbo: - DQ 0x1387EA537EF94000,0xC7AA6DB9D4943E2D - DQ 0x12D7560F93441D00,0xCA4B8159D8C58E9C -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,95,54 -DB 52,47,83,83,83,69,51,44,32,77,105,107,101,32,72,97 -DB 109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32 -DB 85,110,105,118,101,114,115,105,116,121,41,0 -ALIGN 64 - -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$in_prologue - - lea rsi,[16+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - lea rax,[184+rax] - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_vpaes_set_encrypt_key wrt ..imagebase - DD $L$SEH_end_vpaes_set_encrypt_key wrt ..imagebase - DD $L$SEH_info_vpaes_set_encrypt_key wrt ..imagebase - - DD $L$SEH_begin_vpaes_set_decrypt_key wrt ..imagebase - DD $L$SEH_end_vpaes_set_decrypt_key wrt ..imagebase - DD $L$SEH_info_vpaes_set_decrypt_key wrt ..imagebase - - DD $L$SEH_begin_vpaes_encrypt wrt ..imagebase - DD $L$SEH_end_vpaes_encrypt wrt ..imagebase - DD $L$SEH_info_vpaes_encrypt wrt ..imagebase - - DD $L$SEH_begin_vpaes_decrypt wrt ..imagebase - DD $L$SEH_end_vpaes_decrypt wrt ..imagebase - DD $L$SEH_info_vpaes_decrypt wrt ..imagebase - - DD $L$SEH_begin_vpaes_cbc_encrypt wrt ..imagebase - DD $L$SEH_end_vpaes_cbc_encrypt wrt ..imagebase - DD $L$SEH_info_vpaes_cbc_encrypt wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_vpaes_set_encrypt_key: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$enc_key_body wrt ..imagebase,$L$enc_key_epilogue wrt ..imagebase -$L$SEH_info_vpaes_set_decrypt_key: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$dec_key_body wrt ..imagebase,$L$dec_key_epilogue wrt ..imagebase -$L$SEH_info_vpaes_encrypt: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$enc_body wrt ..imagebase,$L$enc_epilogue wrt ..imagebase -$L$SEH_info_vpaes_decrypt: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$dec_body wrt ..imagebase,$L$dec_epilogue wrt ..imagebase -$L$SEH_info_vpaes_cbc_encrypt: -DB 9,0,0,0 - DD se_handler wrt ..imagebase - DD $L$cbc_body wrt ..imagebase,$L$cbc_epilogue wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + + + + + + + + + + + + + + + + + +ALIGN 16 +_vpaes_encrypt_core: + mov r9,rdx + mov r11,16 + mov eax,DWORD[240+rdx] + movdqa xmm1,xmm9 + movdqa xmm2,XMMWORD[$L$k_ipt] + pandn xmm1,xmm0 + movdqu xmm5,XMMWORD[r9] + psrld xmm1,4 + pand xmm0,xmm9 +DB 102,15,56,0,208 + movdqa xmm0,XMMWORD[(($L$k_ipt+16))] +DB 102,15,56,0,193 + pxor xmm2,xmm5 + add r9,16 + pxor xmm0,xmm2 + lea r10,[$L$k_mc_backward] + jmp NEAR $L$enc_entry + +ALIGN 16 +$L$enc_loop: + + movdqa xmm4,xmm13 + movdqa xmm0,xmm12 +DB 102,15,56,0,226 +DB 102,15,56,0,195 + pxor xmm4,xmm5 + movdqa xmm5,xmm15 + pxor xmm0,xmm4 + movdqa xmm1,XMMWORD[((-64))+r10*1+r11] +DB 102,15,56,0,234 + movdqa xmm4,XMMWORD[r10*1+r11] + movdqa xmm2,xmm14 +DB 102,15,56,0,211 + movdqa xmm3,xmm0 + pxor xmm2,xmm5 +DB 102,15,56,0,193 + add r9,16 + pxor xmm0,xmm2 +DB 102,15,56,0,220 + add r11,16 + pxor xmm3,xmm0 +DB 102,15,56,0,193 + and r11,0x30 + sub rax,1 + pxor xmm0,xmm3 + +$L$enc_entry: + + movdqa xmm1,xmm9 + movdqa xmm5,xmm11 + pandn xmm1,xmm0 + psrld xmm1,4 + pand xmm0,xmm9 +DB 102,15,56,0,232 + movdqa xmm3,xmm10 + pxor xmm0,xmm1 +DB 102,15,56,0,217 + movdqa xmm4,xmm10 + pxor xmm3,xmm5 +DB 102,15,56,0,224 + movdqa xmm2,xmm10 + pxor xmm4,xmm5 +DB 102,15,56,0,211 + movdqa xmm3,xmm10 + pxor xmm2,xmm0 +DB 102,15,56,0,220 + movdqu xmm5,XMMWORD[r9] + pxor xmm3,xmm1 + jnz NEAR $L$enc_loop + + + movdqa xmm4,XMMWORD[((-96))+r10] + movdqa xmm0,XMMWORD[((-80))+r10] +DB 102,15,56,0,226 + pxor xmm4,xmm5 +DB 102,15,56,0,195 + movdqa xmm1,XMMWORD[64+r10*1+r11] + pxor xmm0,xmm4 +DB 102,15,56,0,193 + DB 0F3h,0C3h ;repret + + + + + + + + +ALIGN 16 +_vpaes_decrypt_core: + mov r9,rdx + mov eax,DWORD[240+rdx] + movdqa xmm1,xmm9 + movdqa xmm2,XMMWORD[$L$k_dipt] + pandn xmm1,xmm0 + mov r11,rax + psrld xmm1,4 + movdqu xmm5,XMMWORD[r9] + shl r11,4 + pand xmm0,xmm9 +DB 102,15,56,0,208 + movdqa xmm0,XMMWORD[(($L$k_dipt+16))] + xor r11,0x30 + lea r10,[$L$k_dsbd] +DB 102,15,56,0,193 + and r11,0x30 + pxor xmm2,xmm5 + movdqa xmm5,XMMWORD[(($L$k_mc_forward+48))] + pxor xmm0,xmm2 + add r9,16 + add r11,r10 + jmp NEAR $L$dec_entry + +ALIGN 16 +$L$dec_loop: + + + + movdqa xmm4,XMMWORD[((-32))+r10] + movdqa xmm1,XMMWORD[((-16))+r10] +DB 102,15,56,0,226 +DB 102,15,56,0,203 + pxor xmm0,xmm4 + movdqa xmm4,XMMWORD[r10] + pxor xmm0,xmm1 + movdqa xmm1,XMMWORD[16+r10] + +DB 102,15,56,0,226 +DB 102,15,56,0,197 +DB 102,15,56,0,203 + pxor xmm0,xmm4 + movdqa xmm4,XMMWORD[32+r10] + pxor xmm0,xmm1 + movdqa xmm1,XMMWORD[48+r10] + +DB 102,15,56,0,226 +DB 102,15,56,0,197 +DB 102,15,56,0,203 + pxor xmm0,xmm4 + movdqa xmm4,XMMWORD[64+r10] + pxor xmm0,xmm1 + movdqa xmm1,XMMWORD[80+r10] + +DB 102,15,56,0,226 +DB 102,15,56,0,197 +DB 102,15,56,0,203 + pxor xmm0,xmm4 + add r9,16 +DB 102,15,58,15,237,12 + pxor xmm0,xmm1 + sub rax,1 + +$L$dec_entry: + + movdqa xmm1,xmm9 + pandn xmm1,xmm0 + movdqa xmm2,xmm11 + psrld xmm1,4 + pand xmm0,xmm9 +DB 102,15,56,0,208 + movdqa xmm3,xmm10 + pxor xmm0,xmm1 +DB 102,15,56,0,217 + movdqa xmm4,xmm10 + pxor xmm3,xmm2 +DB 102,15,56,0,224 + pxor xmm4,xmm2 + movdqa xmm2,xmm10 +DB 102,15,56,0,211 + movdqa xmm3,xmm10 + pxor xmm2,xmm0 +DB 102,15,56,0,220 + movdqu xmm0,XMMWORD[r9] + pxor xmm3,xmm1 + jnz NEAR $L$dec_loop + + + movdqa xmm4,XMMWORD[96+r10] +DB 102,15,56,0,226 + pxor xmm4,xmm0 + movdqa xmm0,XMMWORD[112+r10] + movdqa xmm2,XMMWORD[((-352))+r11] +DB 102,15,56,0,195 + pxor xmm0,xmm4 +DB 102,15,56,0,194 + DB 0F3h,0C3h ;repret + + + + + + + + +ALIGN 16 +_vpaes_schedule_core: + + + + + + call _vpaes_preheat + movdqa xmm8,XMMWORD[$L$k_rcon] + movdqu xmm0,XMMWORD[rdi] + + + movdqa xmm3,xmm0 + lea r11,[$L$k_ipt] + call _vpaes_schedule_transform + movdqa xmm7,xmm0 + + lea r10,[$L$k_sr] + test rcx,rcx + jnz NEAR $L$schedule_am_decrypting + + + movdqu XMMWORD[rdx],xmm0 + jmp NEAR $L$schedule_go + +$L$schedule_am_decrypting: + + movdqa xmm1,XMMWORD[r10*1+r8] +DB 102,15,56,0,217 + movdqu XMMWORD[rdx],xmm3 + xor r8,0x30 + +$L$schedule_go: + cmp esi,192 + ja NEAR $L$schedule_256 + je NEAR $L$schedule_192 + + + + + + + + + + +$L$schedule_128: + mov esi,10 + +$L$oop_schedule_128: + call _vpaes_schedule_round + dec rsi + jz NEAR $L$schedule_mangle_last + call _vpaes_schedule_mangle + jmp NEAR $L$oop_schedule_128 + + + + + + + + + + + + + + + + +ALIGN 16 +$L$schedule_192: + movdqu xmm0,XMMWORD[8+rdi] + call _vpaes_schedule_transform + movdqa xmm6,xmm0 + pxor xmm4,xmm4 + movhlps xmm6,xmm4 + mov esi,4 + +$L$oop_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 rsi + jz NEAR $L$schedule_mangle_last + call _vpaes_schedule_mangle + call _vpaes_schedule_192_smear + jmp NEAR $L$oop_schedule_192 + + + + + + + + + + + +ALIGN 16 +$L$schedule_256: + movdqu xmm0,XMMWORD[16+rdi] + call _vpaes_schedule_transform + mov esi,7 + +$L$oop_schedule_256: + call _vpaes_schedule_mangle + movdqa xmm6,xmm0 + + + call _vpaes_schedule_round + dec rsi + jz NEAR $L$schedule_mangle_last + call _vpaes_schedule_mangle + + + pshufd xmm0,xmm0,0xFF + movdqa xmm5,xmm7 + movdqa xmm7,xmm6 + call _vpaes_schedule_low_round + movdqa xmm7,xmm5 + + jmp NEAR $L$oop_schedule_256 + + + + + + + + + + + + +ALIGN 16 +$L$schedule_mangle_last: + + lea r11,[$L$k_deskew] + test rcx,rcx + jnz NEAR $L$schedule_mangle_last_dec + + + movdqa xmm1,XMMWORD[r10*1+r8] +DB 102,15,56,0,193 + lea r11,[$L$k_opt] + add rdx,32 + +$L$schedule_mangle_last_dec: + add rdx,-16 + pxor xmm0,XMMWORD[$L$k_s63] + call _vpaes_schedule_transform + movdqu XMMWORD[rdx],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 + DB 0F3h,0C3h ;repret + + + + + + + + + + + + + + + + + +ALIGN 16 +_vpaes_schedule_192_smear: + pshufd xmm1,xmm6,0x80 + pshufd xmm0,xmm7,0xFE + pxor xmm6,xmm1 + pxor xmm1,xmm1 + pxor xmm6,xmm0 + movdqa xmm0,xmm6 + movhlps xmm6,xmm1 + DB 0F3h,0C3h ;repret + + + + + + + + + + + + + + + + + + + + + +ALIGN 16 +_vpaes_schedule_round: + + pxor xmm1,xmm1 +DB 102,65,15,58,15,200,15 +DB 102,69,15,58,15,192,15 + pxor xmm7,xmm1 + + + pshufd xmm0,xmm0,0xFF +DB 102,15,58,15,192,1 + + + + +_vpaes_schedule_low_round: + + movdqa xmm1,xmm7 + pslldq xmm7,4 + pxor xmm7,xmm1 + movdqa xmm1,xmm7 + pslldq xmm7,8 + pxor xmm7,xmm1 + pxor xmm7,XMMWORD[$L$k_s63] + + + movdqa xmm1,xmm9 + pandn xmm1,xmm0 + psrld xmm1,4 + pand xmm0,xmm9 + movdqa xmm2,xmm11 +DB 102,15,56,0,208 + pxor xmm0,xmm1 + movdqa xmm3,xmm10 +DB 102,15,56,0,217 + pxor xmm3,xmm2 + movdqa xmm4,xmm10 +DB 102,15,56,0,224 + pxor xmm4,xmm2 + movdqa xmm2,xmm10 +DB 102,15,56,0,211 + pxor xmm2,xmm0 + movdqa xmm3,xmm10 +DB 102,15,56,0,220 + pxor xmm3,xmm1 + movdqa xmm4,xmm13 +DB 102,15,56,0,226 + movdqa xmm0,xmm12 +DB 102,15,56,0,195 + pxor xmm0,xmm4 + + + pxor xmm0,xmm7 + movdqa xmm7,xmm0 + DB 0F3h,0C3h ;repret + + + + + + + + + + + + +ALIGN 16 +_vpaes_schedule_transform: + movdqa xmm1,xmm9 + pandn xmm1,xmm0 + psrld xmm1,4 + pand xmm0,xmm9 + movdqa xmm2,XMMWORD[r11] +DB 102,15,56,0,208 + movdqa xmm0,XMMWORD[16+r11] +DB 102,15,56,0,193 + pxor xmm0,xmm2 + DB 0F3h,0C3h ;repret + + + + + + + + + + + + + + + + + + + + + + + + + + +ALIGN 16 +_vpaes_schedule_mangle: + movdqa xmm4,xmm0 + movdqa xmm5,XMMWORD[$L$k_mc_forward] + test rcx,rcx + jnz NEAR $L$schedule_mangle_dec + + + add rdx,16 + pxor xmm4,XMMWORD[$L$k_s63] +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$schedule_mangle_both +ALIGN 16 +$L$schedule_mangle_dec: + + lea r11,[$L$k_dksd] + movdqa xmm1,xmm9 + pandn xmm1,xmm4 + psrld xmm1,4 + pand xmm4,xmm9 + + movdqa xmm2,XMMWORD[r11] +DB 102,15,56,0,212 + movdqa xmm3,XMMWORD[16+r11] +DB 102,15,56,0,217 + pxor xmm3,xmm2 +DB 102,15,56,0,221 + + movdqa xmm2,XMMWORD[32+r11] +DB 102,15,56,0,212 + pxor xmm2,xmm3 + movdqa xmm3,XMMWORD[48+r11] +DB 102,15,56,0,217 + pxor xmm3,xmm2 +DB 102,15,56,0,221 + + movdqa xmm2,XMMWORD[64+r11] +DB 102,15,56,0,212 + pxor xmm2,xmm3 + movdqa xmm3,XMMWORD[80+r11] +DB 102,15,56,0,217 + pxor xmm3,xmm2 +DB 102,15,56,0,221 + + movdqa xmm2,XMMWORD[96+r11] +DB 102,15,56,0,212 + pxor xmm2,xmm3 + movdqa xmm3,XMMWORD[112+r11] +DB 102,15,56,0,217 + pxor xmm3,xmm2 + + add rdx,-16 + +$L$schedule_mangle_both: + movdqa xmm1,XMMWORD[r10*1+r8] +DB 102,15,56,0,217 + add r8,-16 + and r8,0x30 + movdqu XMMWORD[rdx],xmm3 + DB 0F3h,0C3h ;repret + + + + + +global vpaes_set_encrypt_key + +ALIGN 16 +vpaes_set_encrypt_key: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_vpaes_set_encrypt_key: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + lea rsp,[((-184))+rsp] + movaps XMMWORD[16+rsp],xmm6 + movaps XMMWORD[32+rsp],xmm7 + movaps XMMWORD[48+rsp],xmm8 + movaps XMMWORD[64+rsp],xmm9 + movaps XMMWORD[80+rsp],xmm10 + movaps XMMWORD[96+rsp],xmm11 + movaps XMMWORD[112+rsp],xmm12 + movaps XMMWORD[128+rsp],xmm13 + movaps XMMWORD[144+rsp],xmm14 + movaps XMMWORD[160+rsp],xmm15 +$L$enc_key_body: + mov eax,esi + shr eax,5 + add eax,5 + mov DWORD[240+rdx],eax + + mov ecx,0 + mov r8d,0x30 + call _vpaes_schedule_core + movaps xmm6,XMMWORD[16+rsp] + movaps xmm7,XMMWORD[32+rsp] + movaps xmm8,XMMWORD[48+rsp] + movaps xmm9,XMMWORD[64+rsp] + movaps xmm10,XMMWORD[80+rsp] + movaps xmm11,XMMWORD[96+rsp] + movaps xmm12,XMMWORD[112+rsp] + movaps xmm13,XMMWORD[128+rsp] + movaps xmm14,XMMWORD[144+rsp] + movaps xmm15,XMMWORD[160+rsp] + lea rsp,[184+rsp] +$L$enc_key_epilogue: + xor eax,eax + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_vpaes_set_encrypt_key: + +global vpaes_set_decrypt_key + +ALIGN 16 +vpaes_set_decrypt_key: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_vpaes_set_decrypt_key: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + lea rsp,[((-184))+rsp] + movaps XMMWORD[16+rsp],xmm6 + movaps XMMWORD[32+rsp],xmm7 + movaps XMMWORD[48+rsp],xmm8 + movaps XMMWORD[64+rsp],xmm9 + movaps XMMWORD[80+rsp],xmm10 + movaps XMMWORD[96+rsp],xmm11 + movaps XMMWORD[112+rsp],xmm12 + movaps XMMWORD[128+rsp],xmm13 + movaps XMMWORD[144+rsp],xmm14 + movaps XMMWORD[160+rsp],xmm15 +$L$dec_key_body: + mov eax,esi + shr eax,5 + add eax,5 + mov DWORD[240+rdx],eax + shl eax,4 + lea rdx,[16+rax*1+rdx] + + mov ecx,1 + mov r8d,esi + shr r8d,1 + and r8d,32 + xor r8d,32 + call _vpaes_schedule_core + movaps xmm6,XMMWORD[16+rsp] + movaps xmm7,XMMWORD[32+rsp] + movaps xmm8,XMMWORD[48+rsp] + movaps xmm9,XMMWORD[64+rsp] + movaps xmm10,XMMWORD[80+rsp] + movaps xmm11,XMMWORD[96+rsp] + movaps xmm12,XMMWORD[112+rsp] + movaps xmm13,XMMWORD[128+rsp] + movaps xmm14,XMMWORD[144+rsp] + movaps xmm15,XMMWORD[160+rsp] + lea rsp,[184+rsp] +$L$dec_key_epilogue: + xor eax,eax + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_vpaes_set_decrypt_key: + +global vpaes_encrypt + +ALIGN 16 +vpaes_encrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_vpaes_encrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + lea rsp,[((-184))+rsp] + movaps XMMWORD[16+rsp],xmm6 + movaps XMMWORD[32+rsp],xmm7 + movaps XMMWORD[48+rsp],xmm8 + movaps XMMWORD[64+rsp],xmm9 + movaps XMMWORD[80+rsp],xmm10 + movaps XMMWORD[96+rsp],xmm11 + movaps XMMWORD[112+rsp],xmm12 + movaps XMMWORD[128+rsp],xmm13 + movaps XMMWORD[144+rsp],xmm14 + movaps XMMWORD[160+rsp],xmm15 +$L$enc_body: + movdqu xmm0,XMMWORD[rdi] + call _vpaes_preheat + call _vpaes_encrypt_core + movdqu XMMWORD[rsi],xmm0 + movaps xmm6,XMMWORD[16+rsp] + movaps xmm7,XMMWORD[32+rsp] + movaps xmm8,XMMWORD[48+rsp] + movaps xmm9,XMMWORD[64+rsp] + movaps xmm10,XMMWORD[80+rsp] + movaps xmm11,XMMWORD[96+rsp] + movaps xmm12,XMMWORD[112+rsp] + movaps xmm13,XMMWORD[128+rsp] + movaps xmm14,XMMWORD[144+rsp] + movaps xmm15,XMMWORD[160+rsp] + lea rsp,[184+rsp] +$L$enc_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_vpaes_encrypt: + +global vpaes_decrypt + +ALIGN 16 +vpaes_decrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_vpaes_decrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + lea rsp,[((-184))+rsp] + movaps XMMWORD[16+rsp],xmm6 + movaps XMMWORD[32+rsp],xmm7 + movaps XMMWORD[48+rsp],xmm8 + movaps XMMWORD[64+rsp],xmm9 + movaps XMMWORD[80+rsp],xmm10 + movaps XMMWORD[96+rsp],xmm11 + movaps XMMWORD[112+rsp],xmm12 + movaps XMMWORD[128+rsp],xmm13 + movaps XMMWORD[144+rsp],xmm14 + movaps XMMWORD[160+rsp],xmm15 +$L$dec_body: + movdqu xmm0,XMMWORD[rdi] + call _vpaes_preheat + call _vpaes_decrypt_core + movdqu XMMWORD[rsi],xmm0 + movaps xmm6,XMMWORD[16+rsp] + movaps xmm7,XMMWORD[32+rsp] + movaps xmm8,XMMWORD[48+rsp] + movaps xmm9,XMMWORD[64+rsp] + movaps xmm10,XMMWORD[80+rsp] + movaps xmm11,XMMWORD[96+rsp] + movaps xmm12,XMMWORD[112+rsp] + movaps xmm13,XMMWORD[128+rsp] + movaps xmm14,XMMWORD[144+rsp] + movaps xmm15,XMMWORD[160+rsp] + lea rsp,[184+rsp] +$L$dec_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_vpaes_decrypt: +global vpaes_cbc_encrypt + +ALIGN 16 +vpaes_cbc_encrypt: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_vpaes_cbc_encrypt: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + xchg rdx,rcx + sub rcx,16 + jc NEAR $L$cbc_abort + lea rsp,[((-184))+rsp] + movaps XMMWORD[16+rsp],xmm6 + movaps XMMWORD[32+rsp],xmm7 + movaps XMMWORD[48+rsp],xmm8 + movaps XMMWORD[64+rsp],xmm9 + movaps XMMWORD[80+rsp],xmm10 + movaps XMMWORD[96+rsp],xmm11 + movaps XMMWORD[112+rsp],xmm12 + movaps XMMWORD[128+rsp],xmm13 + movaps XMMWORD[144+rsp],xmm14 + movaps XMMWORD[160+rsp],xmm15 +$L$cbc_body: + movdqu xmm6,XMMWORD[r8] + sub rsi,rdi + call _vpaes_preheat + cmp r9d,0 + je NEAR $L$cbc_dec_loop + jmp NEAR $L$cbc_enc_loop +ALIGN 16 +$L$cbc_enc_loop: + movdqu xmm0,XMMWORD[rdi] + pxor xmm0,xmm6 + call _vpaes_encrypt_core + movdqa xmm6,xmm0 + movdqu XMMWORD[rdi*1+rsi],xmm0 + lea rdi,[16+rdi] + sub rcx,16 + jnc NEAR $L$cbc_enc_loop + jmp NEAR $L$cbc_done +ALIGN 16 +$L$cbc_dec_loop: + movdqu xmm0,XMMWORD[rdi] + movdqa xmm7,xmm0 + call _vpaes_decrypt_core + pxor xmm0,xmm6 + movdqa xmm6,xmm7 + movdqu XMMWORD[rdi*1+rsi],xmm0 + lea rdi,[16+rdi] + sub rcx,16 + jnc NEAR $L$cbc_dec_loop +$L$cbc_done: + movdqu XMMWORD[r8],xmm6 + movaps xmm6,XMMWORD[16+rsp] + movaps xmm7,XMMWORD[32+rsp] + movaps xmm8,XMMWORD[48+rsp] + movaps xmm9,XMMWORD[64+rsp] + movaps xmm10,XMMWORD[80+rsp] + movaps xmm11,XMMWORD[96+rsp] + movaps xmm12,XMMWORD[112+rsp] + movaps xmm13,XMMWORD[128+rsp] + movaps xmm14,XMMWORD[144+rsp] + movaps xmm15,XMMWORD[160+rsp] + lea rsp,[184+rsp] +$L$cbc_epilogue: +$L$cbc_abort: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_vpaes_cbc_encrypt: + + + + + + + +ALIGN 16 +_vpaes_preheat: + lea r10,[$L$k_s0F] + movdqa xmm10,XMMWORD[((-32))+r10] + movdqa xmm11,XMMWORD[((-16))+r10] + movdqa xmm9,XMMWORD[r10] + movdqa xmm13,XMMWORD[48+r10] + movdqa xmm12,XMMWORD[64+r10] + movdqa xmm15,XMMWORD[80+r10] + movdqa xmm14,XMMWORD[96+r10] + DB 0F3h,0C3h ;repret + + + + + + + +ALIGN 64 +_vpaes_consts: +$L$k_inv: + DQ 0x0E05060F0D080180,0x040703090A0B0C02 + DQ 0x01040A060F0B0780,0x030D0E0C02050809 + +$L$k_s0F: + DQ 0x0F0F0F0F0F0F0F0F,0x0F0F0F0F0F0F0F0F + +$L$k_ipt: + DQ 0xC2B2E8985A2A7000,0xCABAE09052227808 + DQ 0x4C01307D317C4D00,0xCD80B1FCB0FDCC81 + +$L$k_sb1: + DQ 0xB19BE18FCB503E00,0xA5DF7A6E142AF544 + DQ 0x3618D415FAE22300,0x3BF7CCC10D2ED9EF +$L$k_sb2: + DQ 0xE27A93C60B712400,0x5EB7E955BC982FCD + DQ 0x69EB88400AE12900,0xC2A163C8AB82234A +$L$k_sbo: + DQ 0xD0D26D176FBDC700,0x15AABF7AC502A878 + DQ 0xCFE474A55FBB6A00,0x8E1E90D1412B35FA + +$L$k_mc_forward: + DQ 0x0407060500030201,0x0C0F0E0D080B0A09 + DQ 0x080B0A0904070605,0x000302010C0F0E0D + DQ 0x0C0F0E0D080B0A09,0x0407060500030201 + DQ 0x000302010C0F0E0D,0x080B0A0904070605 + +$L$k_mc_backward: + DQ 0x0605040702010003,0x0E0D0C0F0A09080B + DQ 0x020100030E0D0C0F,0x0A09080B06050407 + DQ 0x0E0D0C0F0A09080B,0x0605040702010003 + DQ 0x0A09080B06050407,0x020100030E0D0C0F + +$L$k_sr: + DQ 0x0706050403020100,0x0F0E0D0C0B0A0908 + DQ 0x030E09040F0A0500,0x0B06010C07020D08 + DQ 0x0F060D040B020900,0x070E050C030A0108 + DQ 0x0B0E0104070A0D00,0x0306090C0F020508 + +$L$k_rcon: + DQ 0x1F8391B9AF9DEEB6,0x702A98084D7C7D81 + +$L$k_s63: + DQ 0x5B5B5B5B5B5B5B5B,0x5B5B5B5B5B5B5B5B + +$L$k_opt: + DQ 0xFF9F4929D6B66000,0xF7974121DEBE6808 + DQ 0x01EDBD5150BCEC00,0xE10D5DB1B05C0CE0 + +$L$k_deskew: + DQ 0x07E4A34047A4E300,0x1DFEB95A5DBEF91A + DQ 0x5F36B5DC83EA6900,0x2841C2ABF49D1E77 + + + + + +$L$k_dksd: + DQ 0xFEB91A5DA3E44700,0x0740E3A45A1DBEF9 + DQ 0x41C277F4B5368300,0x5FDC69EAAB289D1E +$L$k_dksb: + DQ 0x9A4FCA1F8550D500,0x03D653861CC94C99 + DQ 0x115BEDA7B6FC4A00,0xD993256F7E3482C8 +$L$k_dkse: + DQ 0xD5031CCA1FC9D600,0x53859A4C994F5086 + DQ 0xA23196054FDC7BE8,0xCD5EF96A20B31487 +$L$k_dks9: + DQ 0xB6116FC87ED9A700,0x4AED933482255BFC + DQ 0x4576516227143300,0x8BB89FACE9DAFDCE + + + + + +$L$k_dipt: + DQ 0x0F505B040B545F00,0x154A411E114E451A + DQ 0x86E383E660056500,0x12771772F491F194 + +$L$k_dsb9: + DQ 0x851C03539A86D600,0xCAD51F504F994CC9 + DQ 0xC03B1789ECD74900,0x725E2C9EB2FBA565 +$L$k_dsbd: + DQ 0x7D57CCDFE6B1A200,0xF56E9B13882A4439 + DQ 0x3CE2FAF724C6CB00,0x2931180D15DEEFD3 +$L$k_dsbb: + DQ 0xD022649296B44200,0x602646F6B0F2D404 + DQ 0xC19498A6CD596700,0xF3FF0C3E3255AA6B +$L$k_dsbe: + DQ 0x46F2929626D4D000,0x2242600464B4F6B0 + DQ 0x0C55A6CDFFAAC100,0x9467F36B98593E32 +$L$k_dsbo: + DQ 0x1387EA537EF94000,0xC7AA6DB9D4943E2D + DQ 0x12D7560F93441D00,0xCA4B8159D8C58E9C +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,95,54 +DB 52,47,83,83,83,69,51,44,32,77,105,107,101,32,72,97 +DB 109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32 +DB 85,110,105,118,101,114,115,105,116,121,41,0 +ALIGN 64 + +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$in_prologue + + lea rsi,[16+rax] + lea rdi,[512+r8] + mov ecx,20 + DD 0xa548f3fc + lea rax,[184+rax] + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_vpaes_set_encrypt_key wrt ..imagebase + DD $L$SEH_end_vpaes_set_encrypt_key wrt ..imagebase + DD $L$SEH_info_vpaes_set_encrypt_key wrt ..imagebase + + DD $L$SEH_begin_vpaes_set_decrypt_key wrt ..imagebase + DD $L$SEH_end_vpaes_set_decrypt_key wrt ..imagebase + DD $L$SEH_info_vpaes_set_decrypt_key wrt ..imagebase + + DD $L$SEH_begin_vpaes_encrypt wrt ..imagebase + DD $L$SEH_end_vpaes_encrypt wrt ..imagebase + DD $L$SEH_info_vpaes_encrypt wrt ..imagebase + + DD $L$SEH_begin_vpaes_decrypt wrt ..imagebase + DD $L$SEH_end_vpaes_decrypt wrt ..imagebase + DD $L$SEH_info_vpaes_decrypt wrt ..imagebase + + DD $L$SEH_begin_vpaes_cbc_encrypt wrt ..imagebase + DD $L$SEH_end_vpaes_cbc_encrypt wrt ..imagebase + DD $L$SEH_info_vpaes_cbc_encrypt wrt ..imagebase + +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_vpaes_set_encrypt_key: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$enc_key_body wrt ..imagebase,$L$enc_key_epilogue wrt ..imagebase +$L$SEH_info_vpaes_set_decrypt_key: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$dec_key_body wrt ..imagebase,$L$dec_key_epilogue wrt ..imagebase +$L$SEH_info_vpaes_encrypt: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$enc_body wrt ..imagebase,$L$enc_epilogue wrt ..imagebase +$L$SEH_info_vpaes_decrypt: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$dec_body wrt ..imagebase,$L$dec_epilogue wrt ..imagebase +$L$SEH_info_vpaes_cbc_encrypt: +DB 9,0,0,0 + DD se_handler wrt ..imagebase + DD $L$cbc_body wrt ..imagebase,$L$cbc_epilogue wrt ..imagebase diff --git a/tmp64/wp-x86_64.asm b/tmp64/wp-x86_64.asm index 065697e5..51f94681 100644 --- a/tmp64/wp-x86_64.asm +++ b/tmp64/wp-x86_64.asm @@ -1,972 +1,972 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -global whirlpool_block - -ALIGN 16 -whirlpool_block: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_whirlpool_block: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - - - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - mov r11,rsp - sub rsp,128+40 - and rsp,-64 - - lea r10,[128+rsp] - mov QWORD[r10],rdi - mov QWORD[8+r10],rsi - mov QWORD[16+r10],rdx - mov QWORD[32+r10],r11 -$L$prologue: - - mov rbx,r10 - lea rbp,[$L$table] - - xor rcx,rcx - xor rdx,rdx - mov r8,QWORD[rdi] - mov r9,QWORD[8+rdi] - mov r10,QWORD[16+rdi] - mov r11,QWORD[24+rdi] - mov r12,QWORD[32+rdi] - mov r13,QWORD[40+rdi] - mov r14,QWORD[48+rdi] - mov r15,QWORD[56+rdi] -$L$outerloop: - mov QWORD[rsp],r8 - mov QWORD[8+rsp],r9 - mov QWORD[16+rsp],r10 - mov QWORD[24+rsp],r11 - mov QWORD[32+rsp],r12 - mov QWORD[40+rsp],r13 - mov QWORD[48+rsp],r14 - mov QWORD[56+rsp],r15 - xor r8,QWORD[rsi] - xor r9,QWORD[8+rsi] - xor r10,QWORD[16+rsi] - xor r11,QWORD[24+rsi] - xor r12,QWORD[32+rsi] - xor r13,QWORD[40+rsi] - xor r14,QWORD[48+rsi] - xor r15,QWORD[56+rsi] - mov QWORD[((64+0))+rsp],r8 - mov QWORD[((64+8))+rsp],r9 - mov QWORD[((64+16))+rsp],r10 - mov QWORD[((64+24))+rsp],r11 - mov QWORD[((64+32))+rsp],r12 - mov QWORD[((64+40))+rsp],r13 - mov QWORD[((64+48))+rsp],r14 - mov QWORD[((64+56))+rsp],r15 - xor rsi,rsi - mov QWORD[24+rbx],rsi - jmp NEAR $L$round -ALIGN 16 -$L$round: - mov r8,QWORD[4096+rsi*8+rbp] - mov eax,DWORD[rsp] - mov ebx,DWORD[4+rsp] - movzx ecx,al - movzx edx,ah - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r8,QWORD[rsi*8+rbp] - mov r9,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((0+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - mov r10,QWORD[6+rsi*8+rbp] - mov r11,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - mov r12,QWORD[4+rsi*8+rbp] - mov r13,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((0+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - mov r14,QWORD[2+rsi*8+rbp] - mov r15,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r9,QWORD[rsi*8+rbp] - xor r10,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((8+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r11,QWORD[6+rsi*8+rbp] - xor r12,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r13,QWORD[4+rsi*8+rbp] - xor r14,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((8+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r15,QWORD[2+rsi*8+rbp] - xor r8,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r10,QWORD[rsi*8+rbp] - xor r11,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((16+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r12,QWORD[6+rsi*8+rbp] - xor r13,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r14,QWORD[4+rsi*8+rbp] - xor r15,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((16+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r8,QWORD[2+rsi*8+rbp] - xor r9,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r11,QWORD[rsi*8+rbp] - xor r12,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((24+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r13,QWORD[6+rsi*8+rbp] - xor r14,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r15,QWORD[4+rsi*8+rbp] - xor r8,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((24+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r9,QWORD[2+rsi*8+rbp] - xor r10,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r12,QWORD[rsi*8+rbp] - xor r13,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((32+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r14,QWORD[6+rsi*8+rbp] - xor r15,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r8,QWORD[4+rsi*8+rbp] - xor r9,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((32+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r10,QWORD[2+rsi*8+rbp] - xor r11,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r13,QWORD[rsi*8+rbp] - xor r14,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((40+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r15,QWORD[6+rsi*8+rbp] - xor r8,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r9,QWORD[4+rsi*8+rbp] - xor r10,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((40+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r11,QWORD[2+rsi*8+rbp] - xor r12,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r14,QWORD[rsi*8+rbp] - xor r15,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((48+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r8,QWORD[6+rsi*8+rbp] - xor r9,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r10,QWORD[4+rsi*8+rbp] - xor r11,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((48+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r12,QWORD[2+rsi*8+rbp] - xor r13,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r15,QWORD[rsi*8+rbp] - xor r8,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((56+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r9,QWORD[6+rsi*8+rbp] - xor r10,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r11,QWORD[4+rsi*8+rbp] - xor r12,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((56+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r13,QWORD[2+rsi*8+rbp] - xor r14,QWORD[1+rdi*8+rbp] - mov QWORD[rsp],r8 - mov QWORD[8+rsp],r9 - mov QWORD[16+rsp],r10 - mov QWORD[24+rsp],r11 - mov QWORD[32+rsp],r12 - mov QWORD[40+rsp],r13 - mov QWORD[48+rsp],r14 - mov QWORD[56+rsp],r15 - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r8,QWORD[rsi*8+rbp] - xor r9,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((64+0+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r10,QWORD[6+rsi*8+rbp] - xor r11,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r12,QWORD[4+rsi*8+rbp] - xor r13,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((64+0+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r14,QWORD[2+rsi*8+rbp] - xor r15,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r9,QWORD[rsi*8+rbp] - xor r10,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((64+8+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r11,QWORD[6+rsi*8+rbp] - xor r12,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r13,QWORD[4+rsi*8+rbp] - xor r14,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((64+8+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r15,QWORD[2+rsi*8+rbp] - xor r8,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r10,QWORD[rsi*8+rbp] - xor r11,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((64+16+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r12,QWORD[6+rsi*8+rbp] - xor r13,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r14,QWORD[4+rsi*8+rbp] - xor r15,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((64+16+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r8,QWORD[2+rsi*8+rbp] - xor r9,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r11,QWORD[rsi*8+rbp] - xor r12,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((64+24+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r13,QWORD[6+rsi*8+rbp] - xor r14,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r15,QWORD[4+rsi*8+rbp] - xor r8,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((64+24+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r9,QWORD[2+rsi*8+rbp] - xor r10,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r12,QWORD[rsi*8+rbp] - xor r13,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((64+32+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r14,QWORD[6+rsi*8+rbp] - xor r15,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r8,QWORD[4+rsi*8+rbp] - xor r9,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((64+32+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r10,QWORD[2+rsi*8+rbp] - xor r11,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r13,QWORD[rsi*8+rbp] - xor r14,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((64+40+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r15,QWORD[6+rsi*8+rbp] - xor r8,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r9,QWORD[4+rsi*8+rbp] - xor r10,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((64+40+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r11,QWORD[2+rsi*8+rbp] - xor r12,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r14,QWORD[rsi*8+rbp] - xor r15,QWORD[7+rdi*8+rbp] - mov eax,DWORD[((64+48+8))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r8,QWORD[6+rsi*8+rbp] - xor r9,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r10,QWORD[4+rsi*8+rbp] - xor r11,QWORD[3+rdi*8+rbp] - mov ebx,DWORD[((64+48+8+4))+rsp] - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r12,QWORD[2+rsi*8+rbp] - xor r13,QWORD[1+rdi*8+rbp] - shr eax,16 - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r15,QWORD[rsi*8+rbp] - xor r8,QWORD[7+rdi*8+rbp] - - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r9,QWORD[6+rsi*8+rbp] - xor r10,QWORD[5+rdi*8+rbp] - shr ebx,16 - lea rsi,[rcx*1+rcx] - movzx ecx,bl - lea rdi,[rdx*1+rdx] - movzx edx,bh - xor r11,QWORD[4+rsi*8+rbp] - xor r12,QWORD[3+rdi*8+rbp] - - lea rsi,[rcx*1+rcx] - movzx ecx,al - lea rdi,[rdx*1+rdx] - movzx edx,ah - xor r13,QWORD[2+rsi*8+rbp] - xor r14,QWORD[1+rdi*8+rbp] - lea rbx,[128+rsp] - mov rsi,QWORD[24+rbx] - add rsi,1 - cmp rsi,10 - je NEAR $L$roundsdone - - mov QWORD[24+rbx],rsi - mov QWORD[((64+0))+rsp],r8 - mov QWORD[((64+8))+rsp],r9 - mov QWORD[((64+16))+rsp],r10 - mov QWORD[((64+24))+rsp],r11 - mov QWORD[((64+32))+rsp],r12 - mov QWORD[((64+40))+rsp],r13 - mov QWORD[((64+48))+rsp],r14 - mov QWORD[((64+56))+rsp],r15 - jmp NEAR $L$round -ALIGN 16 -$L$roundsdone: - mov rdi,QWORD[rbx] - mov rsi,QWORD[8+rbx] - mov rax,QWORD[16+rbx] - xor r8,QWORD[rsi] - xor r9,QWORD[8+rsi] - xor r10,QWORD[16+rsi] - xor r11,QWORD[24+rsi] - xor r12,QWORD[32+rsi] - xor r13,QWORD[40+rsi] - xor r14,QWORD[48+rsi] - xor r15,QWORD[56+rsi] - xor r8,QWORD[rdi] - xor r9,QWORD[8+rdi] - xor r10,QWORD[16+rdi] - xor r11,QWORD[24+rdi] - xor r12,QWORD[32+rdi] - xor r13,QWORD[40+rdi] - xor r14,QWORD[48+rdi] - xor r15,QWORD[56+rdi] - mov QWORD[rdi],r8 - mov QWORD[8+rdi],r9 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - mov QWORD[32+rdi],r12 - mov QWORD[40+rdi],r13 - mov QWORD[48+rdi],r14 - mov QWORD[56+rdi],r15 - lea rsi,[64+rsi] - sub rax,1 - jz NEAR $L$alldone - mov QWORD[8+rbx],rsi - mov QWORD[16+rbx],rax - jmp NEAR $L$outerloop -$L$alldone: - mov rsi,QWORD[32+rbx] - mov r15,QWORD[rsi] - mov r14,QWORD[8+rsi] - mov r13,QWORD[16+rsi] - mov r12,QWORD[24+rsi] - mov rbp,QWORD[32+rsi] - mov rbx,QWORD[40+rsi] - lea rsp,[48+rsi] -$L$epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_whirlpool_block: - -ALIGN 64 - -$L$table: -DB 24,24,96,24,192,120,48,216,24,24,96,24,192,120,48,216 -DB 35,35,140,35,5,175,70,38,35,35,140,35,5,175,70,38 -DB 198,198,63,198,126,249,145,184,198,198,63,198,126,249,145,184 -DB 232,232,135,232,19,111,205,251,232,232,135,232,19,111,205,251 -DB 135,135,38,135,76,161,19,203,135,135,38,135,76,161,19,203 -DB 184,184,218,184,169,98,109,17,184,184,218,184,169,98,109,17 -DB 1,1,4,1,8,5,2,9,1,1,4,1,8,5,2,9 -DB 79,79,33,79,66,110,158,13,79,79,33,79,66,110,158,13 -DB 54,54,216,54,173,238,108,155,54,54,216,54,173,238,108,155 -DB 166,166,162,166,89,4,81,255,166,166,162,166,89,4,81,255 -DB 210,210,111,210,222,189,185,12,210,210,111,210,222,189,185,12 -DB 245,245,243,245,251,6,247,14,245,245,243,245,251,6,247,14 -DB 121,121,249,121,239,128,242,150,121,121,249,121,239,128,242,150 -DB 111,111,161,111,95,206,222,48,111,111,161,111,95,206,222,48 -DB 145,145,126,145,252,239,63,109,145,145,126,145,252,239,63,109 -DB 82,82,85,82,170,7,164,248,82,82,85,82,170,7,164,248 -DB 96,96,157,96,39,253,192,71,96,96,157,96,39,253,192,71 -DB 188,188,202,188,137,118,101,53,188,188,202,188,137,118,101,53 -DB 155,155,86,155,172,205,43,55,155,155,86,155,172,205,43,55 -DB 142,142,2,142,4,140,1,138,142,142,2,142,4,140,1,138 -DB 163,163,182,163,113,21,91,210,163,163,182,163,113,21,91,210 -DB 12,12,48,12,96,60,24,108,12,12,48,12,96,60,24,108 -DB 123,123,241,123,255,138,246,132,123,123,241,123,255,138,246,132 -DB 53,53,212,53,181,225,106,128,53,53,212,53,181,225,106,128 -DB 29,29,116,29,232,105,58,245,29,29,116,29,232,105,58,245 -DB 224,224,167,224,83,71,221,179,224,224,167,224,83,71,221,179 -DB 215,215,123,215,246,172,179,33,215,215,123,215,246,172,179,33 -DB 194,194,47,194,94,237,153,156,194,194,47,194,94,237,153,156 -DB 46,46,184,46,109,150,92,67,46,46,184,46,109,150,92,67 -DB 75,75,49,75,98,122,150,41,75,75,49,75,98,122,150,41 -DB 254,254,223,254,163,33,225,93,254,254,223,254,163,33,225,93 -DB 87,87,65,87,130,22,174,213,87,87,65,87,130,22,174,213 -DB 21,21,84,21,168,65,42,189,21,21,84,21,168,65,42,189 -DB 119,119,193,119,159,182,238,232,119,119,193,119,159,182,238,232 -DB 55,55,220,55,165,235,110,146,55,55,220,55,165,235,110,146 -DB 229,229,179,229,123,86,215,158,229,229,179,229,123,86,215,158 -DB 159,159,70,159,140,217,35,19,159,159,70,159,140,217,35,19 -DB 240,240,231,240,211,23,253,35,240,240,231,240,211,23,253,35 -DB 74,74,53,74,106,127,148,32,74,74,53,74,106,127,148,32 -DB 218,218,79,218,158,149,169,68,218,218,79,218,158,149,169,68 -DB 88,88,125,88,250,37,176,162,88,88,125,88,250,37,176,162 -DB 201,201,3,201,6,202,143,207,201,201,3,201,6,202,143,207 -DB 41,41,164,41,85,141,82,124,41,41,164,41,85,141,82,124 -DB 10,10,40,10,80,34,20,90,10,10,40,10,80,34,20,90 -DB 177,177,254,177,225,79,127,80,177,177,254,177,225,79,127,80 -DB 160,160,186,160,105,26,93,201,160,160,186,160,105,26,93,201 -DB 107,107,177,107,127,218,214,20,107,107,177,107,127,218,214,20 -DB 133,133,46,133,92,171,23,217,133,133,46,133,92,171,23,217 -DB 189,189,206,189,129,115,103,60,189,189,206,189,129,115,103,60 -DB 93,93,105,93,210,52,186,143,93,93,105,93,210,52,186,143 -DB 16,16,64,16,128,80,32,144,16,16,64,16,128,80,32,144 -DB 244,244,247,244,243,3,245,7,244,244,247,244,243,3,245,7 -DB 203,203,11,203,22,192,139,221,203,203,11,203,22,192,139,221 -DB 62,62,248,62,237,198,124,211,62,62,248,62,237,198,124,211 -DB 5,5,20,5,40,17,10,45,5,5,20,5,40,17,10,45 -DB 103,103,129,103,31,230,206,120,103,103,129,103,31,230,206,120 -DB 228,228,183,228,115,83,213,151,228,228,183,228,115,83,213,151 -DB 39,39,156,39,37,187,78,2,39,39,156,39,37,187,78,2 -DB 65,65,25,65,50,88,130,115,65,65,25,65,50,88,130,115 -DB 139,139,22,139,44,157,11,167,139,139,22,139,44,157,11,167 -DB 167,167,166,167,81,1,83,246,167,167,166,167,81,1,83,246 -DB 125,125,233,125,207,148,250,178,125,125,233,125,207,148,250,178 -DB 149,149,110,149,220,251,55,73,149,149,110,149,220,251,55,73 -DB 216,216,71,216,142,159,173,86,216,216,71,216,142,159,173,86 -DB 251,251,203,251,139,48,235,112,251,251,203,251,139,48,235,112 -DB 238,238,159,238,35,113,193,205,238,238,159,238,35,113,193,205 -DB 124,124,237,124,199,145,248,187,124,124,237,124,199,145,248,187 -DB 102,102,133,102,23,227,204,113,102,102,133,102,23,227,204,113 -DB 221,221,83,221,166,142,167,123,221,221,83,221,166,142,167,123 -DB 23,23,92,23,184,75,46,175,23,23,92,23,184,75,46,175 -DB 71,71,1,71,2,70,142,69,71,71,1,71,2,70,142,69 -DB 158,158,66,158,132,220,33,26,158,158,66,158,132,220,33,26 -DB 202,202,15,202,30,197,137,212,202,202,15,202,30,197,137,212 -DB 45,45,180,45,117,153,90,88,45,45,180,45,117,153,90,88 -DB 191,191,198,191,145,121,99,46,191,191,198,191,145,121,99,46 -DB 7,7,28,7,56,27,14,63,7,7,28,7,56,27,14,63 -DB 173,173,142,173,1,35,71,172,173,173,142,173,1,35,71,172 -DB 90,90,117,90,234,47,180,176,90,90,117,90,234,47,180,176 -DB 131,131,54,131,108,181,27,239,131,131,54,131,108,181,27,239 -DB 51,51,204,51,133,255,102,182,51,51,204,51,133,255,102,182 -DB 99,99,145,99,63,242,198,92,99,99,145,99,63,242,198,92 -DB 2,2,8,2,16,10,4,18,2,2,8,2,16,10,4,18 -DB 170,170,146,170,57,56,73,147,170,170,146,170,57,56,73,147 -DB 113,113,217,113,175,168,226,222,113,113,217,113,175,168,226,222 -DB 200,200,7,200,14,207,141,198,200,200,7,200,14,207,141,198 -DB 25,25,100,25,200,125,50,209,25,25,100,25,200,125,50,209 -DB 73,73,57,73,114,112,146,59,73,73,57,73,114,112,146,59 -DB 217,217,67,217,134,154,175,95,217,217,67,217,134,154,175,95 -DB 242,242,239,242,195,29,249,49,242,242,239,242,195,29,249,49 -DB 227,227,171,227,75,72,219,168,227,227,171,227,75,72,219,168 -DB 91,91,113,91,226,42,182,185,91,91,113,91,226,42,182,185 -DB 136,136,26,136,52,146,13,188,136,136,26,136,52,146,13,188 -DB 154,154,82,154,164,200,41,62,154,154,82,154,164,200,41,62 -DB 38,38,152,38,45,190,76,11,38,38,152,38,45,190,76,11 -DB 50,50,200,50,141,250,100,191,50,50,200,50,141,250,100,191 -DB 176,176,250,176,233,74,125,89,176,176,250,176,233,74,125,89 -DB 233,233,131,233,27,106,207,242,233,233,131,233,27,106,207,242 -DB 15,15,60,15,120,51,30,119,15,15,60,15,120,51,30,119 -DB 213,213,115,213,230,166,183,51,213,213,115,213,230,166,183,51 -DB 128,128,58,128,116,186,29,244,128,128,58,128,116,186,29,244 -DB 190,190,194,190,153,124,97,39,190,190,194,190,153,124,97,39 -DB 205,205,19,205,38,222,135,235,205,205,19,205,38,222,135,235 -DB 52,52,208,52,189,228,104,137,52,52,208,52,189,228,104,137 -DB 72,72,61,72,122,117,144,50,72,72,61,72,122,117,144,50 -DB 255,255,219,255,171,36,227,84,255,255,219,255,171,36,227,84 -DB 122,122,245,122,247,143,244,141,122,122,245,122,247,143,244,141 -DB 144,144,122,144,244,234,61,100,144,144,122,144,244,234,61,100 -DB 95,95,97,95,194,62,190,157,95,95,97,95,194,62,190,157 -DB 32,32,128,32,29,160,64,61,32,32,128,32,29,160,64,61 -DB 104,104,189,104,103,213,208,15,104,104,189,104,103,213,208,15 -DB 26,26,104,26,208,114,52,202,26,26,104,26,208,114,52,202 -DB 174,174,130,174,25,44,65,183,174,174,130,174,25,44,65,183 -DB 180,180,234,180,201,94,117,125,180,180,234,180,201,94,117,125 -DB 84,84,77,84,154,25,168,206,84,84,77,84,154,25,168,206 -DB 147,147,118,147,236,229,59,127,147,147,118,147,236,229,59,127 -DB 34,34,136,34,13,170,68,47,34,34,136,34,13,170,68,47 -DB 100,100,141,100,7,233,200,99,100,100,141,100,7,233,200,99 -DB 241,241,227,241,219,18,255,42,241,241,227,241,219,18,255,42 -DB 115,115,209,115,191,162,230,204,115,115,209,115,191,162,230,204 -DB 18,18,72,18,144,90,36,130,18,18,72,18,144,90,36,130 -DB 64,64,29,64,58,93,128,122,64,64,29,64,58,93,128,122 -DB 8,8,32,8,64,40,16,72,8,8,32,8,64,40,16,72 -DB 195,195,43,195,86,232,155,149,195,195,43,195,86,232,155,149 -DB 236,236,151,236,51,123,197,223,236,236,151,236,51,123,197,223 -DB 219,219,75,219,150,144,171,77,219,219,75,219,150,144,171,77 -DB 161,161,190,161,97,31,95,192,161,161,190,161,97,31,95,192 -DB 141,141,14,141,28,131,7,145,141,141,14,141,28,131,7,145 -DB 61,61,244,61,245,201,122,200,61,61,244,61,245,201,122,200 -DB 151,151,102,151,204,241,51,91,151,151,102,151,204,241,51,91 -DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -DB 207,207,27,207,54,212,131,249,207,207,27,207,54,212,131,249 -DB 43,43,172,43,69,135,86,110,43,43,172,43,69,135,86,110 -DB 118,118,197,118,151,179,236,225,118,118,197,118,151,179,236,225 -DB 130,130,50,130,100,176,25,230,130,130,50,130,100,176,25,230 -DB 214,214,127,214,254,169,177,40,214,214,127,214,254,169,177,40 -DB 27,27,108,27,216,119,54,195,27,27,108,27,216,119,54,195 -DB 181,181,238,181,193,91,119,116,181,181,238,181,193,91,119,116 -DB 175,175,134,175,17,41,67,190,175,175,134,175,17,41,67,190 -DB 106,106,181,106,119,223,212,29,106,106,181,106,119,223,212,29 -DB 80,80,93,80,186,13,160,234,80,80,93,80,186,13,160,234 -DB 69,69,9,69,18,76,138,87,69,69,9,69,18,76,138,87 -DB 243,243,235,243,203,24,251,56,243,243,235,243,203,24,251,56 -DB 48,48,192,48,157,240,96,173,48,48,192,48,157,240,96,173 -DB 239,239,155,239,43,116,195,196,239,239,155,239,43,116,195,196 -DB 63,63,252,63,229,195,126,218,63,63,252,63,229,195,126,218 -DB 85,85,73,85,146,28,170,199,85,85,73,85,146,28,170,199 -DB 162,162,178,162,121,16,89,219,162,162,178,162,121,16,89,219 -DB 234,234,143,234,3,101,201,233,234,234,143,234,3,101,201,233 -DB 101,101,137,101,15,236,202,106,101,101,137,101,15,236,202,106 -DB 186,186,210,186,185,104,105,3,186,186,210,186,185,104,105,3 -DB 47,47,188,47,101,147,94,74,47,47,188,47,101,147,94,74 -DB 192,192,39,192,78,231,157,142,192,192,39,192,78,231,157,142 -DB 222,222,95,222,190,129,161,96,222,222,95,222,190,129,161,96 -DB 28,28,112,28,224,108,56,252,28,28,112,28,224,108,56,252 -DB 253,253,211,253,187,46,231,70,253,253,211,253,187,46,231,70 -DB 77,77,41,77,82,100,154,31,77,77,41,77,82,100,154,31 -DB 146,146,114,146,228,224,57,118,146,146,114,146,228,224,57,118 -DB 117,117,201,117,143,188,234,250,117,117,201,117,143,188,234,250 -DB 6,6,24,6,48,30,12,54,6,6,24,6,48,30,12,54 -DB 138,138,18,138,36,152,9,174,138,138,18,138,36,152,9,174 -DB 178,178,242,178,249,64,121,75,178,178,242,178,249,64,121,75 -DB 230,230,191,230,99,89,209,133,230,230,191,230,99,89,209,133 -DB 14,14,56,14,112,54,28,126,14,14,56,14,112,54,28,126 -DB 31,31,124,31,248,99,62,231,31,31,124,31,248,99,62,231 -DB 98,98,149,98,55,247,196,85,98,98,149,98,55,247,196,85 -DB 212,212,119,212,238,163,181,58,212,212,119,212,238,163,181,58 -DB 168,168,154,168,41,50,77,129,168,168,154,168,41,50,77,129 -DB 150,150,98,150,196,244,49,82,150,150,98,150,196,244,49,82 -DB 249,249,195,249,155,58,239,98,249,249,195,249,155,58,239,98 -DB 197,197,51,197,102,246,151,163,197,197,51,197,102,246,151,163 -DB 37,37,148,37,53,177,74,16,37,37,148,37,53,177,74,16 -DB 89,89,121,89,242,32,178,171,89,89,121,89,242,32,178,171 -DB 132,132,42,132,84,174,21,208,132,132,42,132,84,174,21,208 -DB 114,114,213,114,183,167,228,197,114,114,213,114,183,167,228,197 -DB 57,57,228,57,213,221,114,236,57,57,228,57,213,221,114,236 -DB 76,76,45,76,90,97,152,22,76,76,45,76,90,97,152,22 -DB 94,94,101,94,202,59,188,148,94,94,101,94,202,59,188,148 -DB 120,120,253,120,231,133,240,159,120,120,253,120,231,133,240,159 -DB 56,56,224,56,221,216,112,229,56,56,224,56,221,216,112,229 -DB 140,140,10,140,20,134,5,152,140,140,10,140,20,134,5,152 -DB 209,209,99,209,198,178,191,23,209,209,99,209,198,178,191,23 -DB 165,165,174,165,65,11,87,228,165,165,174,165,65,11,87,228 -DB 226,226,175,226,67,77,217,161,226,226,175,226,67,77,217,161 -DB 97,97,153,97,47,248,194,78,97,97,153,97,47,248,194,78 -DB 179,179,246,179,241,69,123,66,179,179,246,179,241,69,123,66 -DB 33,33,132,33,21,165,66,52,33,33,132,33,21,165,66,52 -DB 156,156,74,156,148,214,37,8,156,156,74,156,148,214,37,8 -DB 30,30,120,30,240,102,60,238,30,30,120,30,240,102,60,238 -DB 67,67,17,67,34,82,134,97,67,67,17,67,34,82,134,97 -DB 199,199,59,199,118,252,147,177,199,199,59,199,118,252,147,177 -DB 252,252,215,252,179,43,229,79,252,252,215,252,179,43,229,79 -DB 4,4,16,4,32,20,8,36,4,4,16,4,32,20,8,36 -DB 81,81,89,81,178,8,162,227,81,81,89,81,178,8,162,227 -DB 153,153,94,153,188,199,47,37,153,153,94,153,188,199,47,37 -DB 109,109,169,109,79,196,218,34,109,109,169,109,79,196,218,34 -DB 13,13,52,13,104,57,26,101,13,13,52,13,104,57,26,101 -DB 250,250,207,250,131,53,233,121,250,250,207,250,131,53,233,121 -DB 223,223,91,223,182,132,163,105,223,223,91,223,182,132,163,105 -DB 126,126,229,126,215,155,252,169,126,126,229,126,215,155,252,169 -DB 36,36,144,36,61,180,72,25,36,36,144,36,61,180,72,25 -DB 59,59,236,59,197,215,118,254,59,59,236,59,197,215,118,254 -DB 171,171,150,171,49,61,75,154,171,171,150,171,49,61,75,154 -DB 206,206,31,206,62,209,129,240,206,206,31,206,62,209,129,240 -DB 17,17,68,17,136,85,34,153,17,17,68,17,136,85,34,153 -DB 143,143,6,143,12,137,3,131,143,143,6,143,12,137,3,131 -DB 78,78,37,78,74,107,156,4,78,78,37,78,74,107,156,4 -DB 183,183,230,183,209,81,115,102,183,183,230,183,209,81,115,102 -DB 235,235,139,235,11,96,203,224,235,235,139,235,11,96,203,224 -DB 60,60,240,60,253,204,120,193,60,60,240,60,253,204,120,193 -DB 129,129,62,129,124,191,31,253,129,129,62,129,124,191,31,253 -DB 148,148,106,148,212,254,53,64,148,148,106,148,212,254,53,64 -DB 247,247,251,247,235,12,243,28,247,247,251,247,235,12,243,28 -DB 185,185,222,185,161,103,111,24,185,185,222,185,161,103,111,24 -DB 19,19,76,19,152,95,38,139,19,19,76,19,152,95,38,139 -DB 44,44,176,44,125,156,88,81,44,44,176,44,125,156,88,81 -DB 211,211,107,211,214,184,187,5,211,211,107,211,214,184,187,5 -DB 231,231,187,231,107,92,211,140,231,231,187,231,107,92,211,140 -DB 110,110,165,110,87,203,220,57,110,110,165,110,87,203,220,57 -DB 196,196,55,196,110,243,149,170,196,196,55,196,110,243,149,170 -DB 3,3,12,3,24,15,6,27,3,3,12,3,24,15,6,27 -DB 86,86,69,86,138,19,172,220,86,86,69,86,138,19,172,220 -DB 68,68,13,68,26,73,136,94,68,68,13,68,26,73,136,94 -DB 127,127,225,127,223,158,254,160,127,127,225,127,223,158,254,160 -DB 169,169,158,169,33,55,79,136,169,169,158,169,33,55,79,136 -DB 42,42,168,42,77,130,84,103,42,42,168,42,77,130,84,103 -DB 187,187,214,187,177,109,107,10,187,187,214,187,177,109,107,10 -DB 193,193,35,193,70,226,159,135,193,193,35,193,70,226,159,135 -DB 83,83,81,83,162,2,166,241,83,83,81,83,162,2,166,241 -DB 220,220,87,220,174,139,165,114,220,220,87,220,174,139,165,114 -DB 11,11,44,11,88,39,22,83,11,11,44,11,88,39,22,83 -DB 157,157,78,157,156,211,39,1,157,157,78,157,156,211,39,1 -DB 108,108,173,108,71,193,216,43,108,108,173,108,71,193,216,43 -DB 49,49,196,49,149,245,98,164,49,49,196,49,149,245,98,164 -DB 116,116,205,116,135,185,232,243,116,116,205,116,135,185,232,243 -DB 246,246,255,246,227,9,241,21,246,246,255,246,227,9,241,21 -DB 70,70,5,70,10,67,140,76,70,70,5,70,10,67,140,76 -DB 172,172,138,172,9,38,69,165,172,172,138,172,9,38,69,165 -DB 137,137,30,137,60,151,15,181,137,137,30,137,60,151,15,181 -DB 20,20,80,20,160,68,40,180,20,20,80,20,160,68,40,180 -DB 225,225,163,225,91,66,223,186,225,225,163,225,91,66,223,186 -DB 22,22,88,22,176,78,44,166,22,22,88,22,176,78,44,166 -DB 58,58,232,58,205,210,116,247,58,58,232,58,205,210,116,247 -DB 105,105,185,105,111,208,210,6,105,105,185,105,111,208,210,6 -DB 9,9,36,9,72,45,18,65,9,9,36,9,72,45,18,65 -DB 112,112,221,112,167,173,224,215,112,112,221,112,167,173,224,215 -DB 182,182,226,182,217,84,113,111,182,182,226,182,217,84,113,111 -DB 208,208,103,208,206,183,189,30,208,208,103,208,206,183,189,30 -DB 237,237,147,237,59,126,199,214,237,237,147,237,59,126,199,214 -DB 204,204,23,204,46,219,133,226,204,204,23,204,46,219,133,226 -DB 66,66,21,66,42,87,132,104,66,66,21,66,42,87,132,104 -DB 152,152,90,152,180,194,45,44,152,152,90,152,180,194,45,44 -DB 164,164,170,164,73,14,85,237,164,164,170,164,73,14,85,237 -DB 40,40,160,40,93,136,80,117,40,40,160,40,93,136,80,117 -DB 92,92,109,92,218,49,184,134,92,92,109,92,218,49,184,134 -DB 248,248,199,248,147,63,237,107,248,248,199,248,147,63,237,107 -DB 134,134,34,134,68,164,17,194,134,134,34,134,68,164,17,194 -DB 24,35,198,232,135,184,1,79 -DB 54,166,210,245,121,111,145,82 -DB 96,188,155,142,163,12,123,53 -DB 29,224,215,194,46,75,254,87 -DB 21,119,55,229,159,240,74,218 -DB 88,201,41,10,177,160,107,133 -DB 189,93,16,244,203,62,5,103 -DB 228,39,65,139,167,125,149,216 -DB 251,238,124,102,221,23,71,158 -DB 202,45,191,7,173,90,131,51 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$prologue] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov rax,QWORD[152+r8] - - lea r10,[$L$epilogue] - cmp rbx,r10 - jae NEAR $L$in_prologue - - mov rax,QWORD[((128+32))+rax] - lea rax,[48+rax] - - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$in_prologue: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_whirlpool_block wrt ..imagebase - DD $L$SEH_end_whirlpool_block wrt ..imagebase - DD $L$SEH_info_whirlpool_block wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_whirlpool_block: -DB 9,0,0,0 - DD se_handler wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +global whirlpool_block + +ALIGN 16 +whirlpool_block: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_whirlpool_block: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + + + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + + mov r11,rsp + sub rsp,128+40 + and rsp,-64 + + lea r10,[128+rsp] + mov QWORD[r10],rdi + mov QWORD[8+r10],rsi + mov QWORD[16+r10],rdx + mov QWORD[32+r10],r11 +$L$prologue: + + mov rbx,r10 + lea rbp,[$L$table] + + xor rcx,rcx + xor rdx,rdx + mov r8,QWORD[rdi] + mov r9,QWORD[8+rdi] + mov r10,QWORD[16+rdi] + mov r11,QWORD[24+rdi] + mov r12,QWORD[32+rdi] + mov r13,QWORD[40+rdi] + mov r14,QWORD[48+rdi] + mov r15,QWORD[56+rdi] +$L$outerloop: + mov QWORD[rsp],r8 + mov QWORD[8+rsp],r9 + mov QWORD[16+rsp],r10 + mov QWORD[24+rsp],r11 + mov QWORD[32+rsp],r12 + mov QWORD[40+rsp],r13 + mov QWORD[48+rsp],r14 + mov QWORD[56+rsp],r15 + xor r8,QWORD[rsi] + xor r9,QWORD[8+rsi] + xor r10,QWORD[16+rsi] + xor r11,QWORD[24+rsi] + xor r12,QWORD[32+rsi] + xor r13,QWORD[40+rsi] + xor r14,QWORD[48+rsi] + xor r15,QWORD[56+rsi] + mov QWORD[((64+0))+rsp],r8 + mov QWORD[((64+8))+rsp],r9 + mov QWORD[((64+16))+rsp],r10 + mov QWORD[((64+24))+rsp],r11 + mov QWORD[((64+32))+rsp],r12 + mov QWORD[((64+40))+rsp],r13 + mov QWORD[((64+48))+rsp],r14 + mov QWORD[((64+56))+rsp],r15 + xor rsi,rsi + mov QWORD[24+rbx],rsi + jmp NEAR $L$round +ALIGN 16 +$L$round: + mov r8,QWORD[4096+rsi*8+rbp] + mov eax,DWORD[rsp] + mov ebx,DWORD[4+rsp] + movzx ecx,al + movzx edx,ah + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r8,QWORD[rsi*8+rbp] + mov r9,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((0+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + mov r10,QWORD[6+rsi*8+rbp] + mov r11,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + mov r12,QWORD[4+rsi*8+rbp] + mov r13,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((0+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + mov r14,QWORD[2+rsi*8+rbp] + mov r15,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r9,QWORD[rsi*8+rbp] + xor r10,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((8+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r11,QWORD[6+rsi*8+rbp] + xor r12,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r13,QWORD[4+rsi*8+rbp] + xor r14,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((8+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r15,QWORD[2+rsi*8+rbp] + xor r8,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r10,QWORD[rsi*8+rbp] + xor r11,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((16+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r12,QWORD[6+rsi*8+rbp] + xor r13,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r14,QWORD[4+rsi*8+rbp] + xor r15,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((16+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r8,QWORD[2+rsi*8+rbp] + xor r9,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r11,QWORD[rsi*8+rbp] + xor r12,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((24+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r13,QWORD[6+rsi*8+rbp] + xor r14,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r15,QWORD[4+rsi*8+rbp] + xor r8,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((24+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r9,QWORD[2+rsi*8+rbp] + xor r10,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r12,QWORD[rsi*8+rbp] + xor r13,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((32+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r14,QWORD[6+rsi*8+rbp] + xor r15,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r8,QWORD[4+rsi*8+rbp] + xor r9,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((32+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r10,QWORD[2+rsi*8+rbp] + xor r11,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r13,QWORD[rsi*8+rbp] + xor r14,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((40+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r15,QWORD[6+rsi*8+rbp] + xor r8,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r9,QWORD[4+rsi*8+rbp] + xor r10,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((40+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r11,QWORD[2+rsi*8+rbp] + xor r12,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r14,QWORD[rsi*8+rbp] + xor r15,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((48+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r8,QWORD[6+rsi*8+rbp] + xor r9,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r10,QWORD[4+rsi*8+rbp] + xor r11,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((48+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r12,QWORD[2+rsi*8+rbp] + xor r13,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r15,QWORD[rsi*8+rbp] + xor r8,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((56+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r9,QWORD[6+rsi*8+rbp] + xor r10,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r11,QWORD[4+rsi*8+rbp] + xor r12,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((56+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r13,QWORD[2+rsi*8+rbp] + xor r14,QWORD[1+rdi*8+rbp] + mov QWORD[rsp],r8 + mov QWORD[8+rsp],r9 + mov QWORD[16+rsp],r10 + mov QWORD[24+rsp],r11 + mov QWORD[32+rsp],r12 + mov QWORD[40+rsp],r13 + mov QWORD[48+rsp],r14 + mov QWORD[56+rsp],r15 + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r8,QWORD[rsi*8+rbp] + xor r9,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((64+0+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r10,QWORD[6+rsi*8+rbp] + xor r11,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r12,QWORD[4+rsi*8+rbp] + xor r13,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((64+0+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r14,QWORD[2+rsi*8+rbp] + xor r15,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r9,QWORD[rsi*8+rbp] + xor r10,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((64+8+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r11,QWORD[6+rsi*8+rbp] + xor r12,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r13,QWORD[4+rsi*8+rbp] + xor r14,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((64+8+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r15,QWORD[2+rsi*8+rbp] + xor r8,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r10,QWORD[rsi*8+rbp] + xor r11,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((64+16+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r12,QWORD[6+rsi*8+rbp] + xor r13,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r14,QWORD[4+rsi*8+rbp] + xor r15,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((64+16+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r8,QWORD[2+rsi*8+rbp] + xor r9,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r11,QWORD[rsi*8+rbp] + xor r12,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((64+24+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r13,QWORD[6+rsi*8+rbp] + xor r14,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r15,QWORD[4+rsi*8+rbp] + xor r8,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((64+24+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r9,QWORD[2+rsi*8+rbp] + xor r10,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r12,QWORD[rsi*8+rbp] + xor r13,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((64+32+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r14,QWORD[6+rsi*8+rbp] + xor r15,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r8,QWORD[4+rsi*8+rbp] + xor r9,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((64+32+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r10,QWORD[2+rsi*8+rbp] + xor r11,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r13,QWORD[rsi*8+rbp] + xor r14,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((64+40+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r15,QWORD[6+rsi*8+rbp] + xor r8,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r9,QWORD[4+rsi*8+rbp] + xor r10,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((64+40+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r11,QWORD[2+rsi*8+rbp] + xor r12,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r14,QWORD[rsi*8+rbp] + xor r15,QWORD[7+rdi*8+rbp] + mov eax,DWORD[((64+48+8))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r8,QWORD[6+rsi*8+rbp] + xor r9,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r10,QWORD[4+rsi*8+rbp] + xor r11,QWORD[3+rdi*8+rbp] + mov ebx,DWORD[((64+48+8+4))+rsp] + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r12,QWORD[2+rsi*8+rbp] + xor r13,QWORD[1+rdi*8+rbp] + shr eax,16 + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r15,QWORD[rsi*8+rbp] + xor r8,QWORD[7+rdi*8+rbp] + + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r9,QWORD[6+rsi*8+rbp] + xor r10,QWORD[5+rdi*8+rbp] + shr ebx,16 + lea rsi,[rcx*1+rcx] + movzx ecx,bl + lea rdi,[rdx*1+rdx] + movzx edx,bh + xor r11,QWORD[4+rsi*8+rbp] + xor r12,QWORD[3+rdi*8+rbp] + + lea rsi,[rcx*1+rcx] + movzx ecx,al + lea rdi,[rdx*1+rdx] + movzx edx,ah + xor r13,QWORD[2+rsi*8+rbp] + xor r14,QWORD[1+rdi*8+rbp] + lea rbx,[128+rsp] + mov rsi,QWORD[24+rbx] + add rsi,1 + cmp rsi,10 + je NEAR $L$roundsdone + + mov QWORD[24+rbx],rsi + mov QWORD[((64+0))+rsp],r8 + mov QWORD[((64+8))+rsp],r9 + mov QWORD[((64+16))+rsp],r10 + mov QWORD[((64+24))+rsp],r11 + mov QWORD[((64+32))+rsp],r12 + mov QWORD[((64+40))+rsp],r13 + mov QWORD[((64+48))+rsp],r14 + mov QWORD[((64+56))+rsp],r15 + jmp NEAR $L$round +ALIGN 16 +$L$roundsdone: + mov rdi,QWORD[rbx] + mov rsi,QWORD[8+rbx] + mov rax,QWORD[16+rbx] + xor r8,QWORD[rsi] + xor r9,QWORD[8+rsi] + xor r10,QWORD[16+rsi] + xor r11,QWORD[24+rsi] + xor r12,QWORD[32+rsi] + xor r13,QWORD[40+rsi] + xor r14,QWORD[48+rsi] + xor r15,QWORD[56+rsi] + xor r8,QWORD[rdi] + xor r9,QWORD[8+rdi] + xor r10,QWORD[16+rdi] + xor r11,QWORD[24+rdi] + xor r12,QWORD[32+rdi] + xor r13,QWORD[40+rdi] + xor r14,QWORD[48+rdi] + xor r15,QWORD[56+rdi] + mov QWORD[rdi],r8 + mov QWORD[8+rdi],r9 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + mov QWORD[32+rdi],r12 + mov QWORD[40+rdi],r13 + mov QWORD[48+rdi],r14 + mov QWORD[56+rdi],r15 + lea rsi,[64+rsi] + sub rax,1 + jz NEAR $L$alldone + mov QWORD[8+rbx],rsi + mov QWORD[16+rbx],rax + jmp NEAR $L$outerloop +$L$alldone: + mov rsi,QWORD[32+rbx] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_whirlpool_block: + +ALIGN 64 + +$L$table: +DB 24,24,96,24,192,120,48,216,24,24,96,24,192,120,48,216 +DB 35,35,140,35,5,175,70,38,35,35,140,35,5,175,70,38 +DB 198,198,63,198,126,249,145,184,198,198,63,198,126,249,145,184 +DB 232,232,135,232,19,111,205,251,232,232,135,232,19,111,205,251 +DB 135,135,38,135,76,161,19,203,135,135,38,135,76,161,19,203 +DB 184,184,218,184,169,98,109,17,184,184,218,184,169,98,109,17 +DB 1,1,4,1,8,5,2,9,1,1,4,1,8,5,2,9 +DB 79,79,33,79,66,110,158,13,79,79,33,79,66,110,158,13 +DB 54,54,216,54,173,238,108,155,54,54,216,54,173,238,108,155 +DB 166,166,162,166,89,4,81,255,166,166,162,166,89,4,81,255 +DB 210,210,111,210,222,189,185,12,210,210,111,210,222,189,185,12 +DB 245,245,243,245,251,6,247,14,245,245,243,245,251,6,247,14 +DB 121,121,249,121,239,128,242,150,121,121,249,121,239,128,242,150 +DB 111,111,161,111,95,206,222,48,111,111,161,111,95,206,222,48 +DB 145,145,126,145,252,239,63,109,145,145,126,145,252,239,63,109 +DB 82,82,85,82,170,7,164,248,82,82,85,82,170,7,164,248 +DB 96,96,157,96,39,253,192,71,96,96,157,96,39,253,192,71 +DB 188,188,202,188,137,118,101,53,188,188,202,188,137,118,101,53 +DB 155,155,86,155,172,205,43,55,155,155,86,155,172,205,43,55 +DB 142,142,2,142,4,140,1,138,142,142,2,142,4,140,1,138 +DB 163,163,182,163,113,21,91,210,163,163,182,163,113,21,91,210 +DB 12,12,48,12,96,60,24,108,12,12,48,12,96,60,24,108 +DB 123,123,241,123,255,138,246,132,123,123,241,123,255,138,246,132 +DB 53,53,212,53,181,225,106,128,53,53,212,53,181,225,106,128 +DB 29,29,116,29,232,105,58,245,29,29,116,29,232,105,58,245 +DB 224,224,167,224,83,71,221,179,224,224,167,224,83,71,221,179 +DB 215,215,123,215,246,172,179,33,215,215,123,215,246,172,179,33 +DB 194,194,47,194,94,237,153,156,194,194,47,194,94,237,153,156 +DB 46,46,184,46,109,150,92,67,46,46,184,46,109,150,92,67 +DB 75,75,49,75,98,122,150,41,75,75,49,75,98,122,150,41 +DB 254,254,223,254,163,33,225,93,254,254,223,254,163,33,225,93 +DB 87,87,65,87,130,22,174,213,87,87,65,87,130,22,174,213 +DB 21,21,84,21,168,65,42,189,21,21,84,21,168,65,42,189 +DB 119,119,193,119,159,182,238,232,119,119,193,119,159,182,238,232 +DB 55,55,220,55,165,235,110,146,55,55,220,55,165,235,110,146 +DB 229,229,179,229,123,86,215,158,229,229,179,229,123,86,215,158 +DB 159,159,70,159,140,217,35,19,159,159,70,159,140,217,35,19 +DB 240,240,231,240,211,23,253,35,240,240,231,240,211,23,253,35 +DB 74,74,53,74,106,127,148,32,74,74,53,74,106,127,148,32 +DB 218,218,79,218,158,149,169,68,218,218,79,218,158,149,169,68 +DB 88,88,125,88,250,37,176,162,88,88,125,88,250,37,176,162 +DB 201,201,3,201,6,202,143,207,201,201,3,201,6,202,143,207 +DB 41,41,164,41,85,141,82,124,41,41,164,41,85,141,82,124 +DB 10,10,40,10,80,34,20,90,10,10,40,10,80,34,20,90 +DB 177,177,254,177,225,79,127,80,177,177,254,177,225,79,127,80 +DB 160,160,186,160,105,26,93,201,160,160,186,160,105,26,93,201 +DB 107,107,177,107,127,218,214,20,107,107,177,107,127,218,214,20 +DB 133,133,46,133,92,171,23,217,133,133,46,133,92,171,23,217 +DB 189,189,206,189,129,115,103,60,189,189,206,189,129,115,103,60 +DB 93,93,105,93,210,52,186,143,93,93,105,93,210,52,186,143 +DB 16,16,64,16,128,80,32,144,16,16,64,16,128,80,32,144 +DB 244,244,247,244,243,3,245,7,244,244,247,244,243,3,245,7 +DB 203,203,11,203,22,192,139,221,203,203,11,203,22,192,139,221 +DB 62,62,248,62,237,198,124,211,62,62,248,62,237,198,124,211 +DB 5,5,20,5,40,17,10,45,5,5,20,5,40,17,10,45 +DB 103,103,129,103,31,230,206,120,103,103,129,103,31,230,206,120 +DB 228,228,183,228,115,83,213,151,228,228,183,228,115,83,213,151 +DB 39,39,156,39,37,187,78,2,39,39,156,39,37,187,78,2 +DB 65,65,25,65,50,88,130,115,65,65,25,65,50,88,130,115 +DB 139,139,22,139,44,157,11,167,139,139,22,139,44,157,11,167 +DB 167,167,166,167,81,1,83,246,167,167,166,167,81,1,83,246 +DB 125,125,233,125,207,148,250,178,125,125,233,125,207,148,250,178 +DB 149,149,110,149,220,251,55,73,149,149,110,149,220,251,55,73 +DB 216,216,71,216,142,159,173,86,216,216,71,216,142,159,173,86 +DB 251,251,203,251,139,48,235,112,251,251,203,251,139,48,235,112 +DB 238,238,159,238,35,113,193,205,238,238,159,238,35,113,193,205 +DB 124,124,237,124,199,145,248,187,124,124,237,124,199,145,248,187 +DB 102,102,133,102,23,227,204,113,102,102,133,102,23,227,204,113 +DB 221,221,83,221,166,142,167,123,221,221,83,221,166,142,167,123 +DB 23,23,92,23,184,75,46,175,23,23,92,23,184,75,46,175 +DB 71,71,1,71,2,70,142,69,71,71,1,71,2,70,142,69 +DB 158,158,66,158,132,220,33,26,158,158,66,158,132,220,33,26 +DB 202,202,15,202,30,197,137,212,202,202,15,202,30,197,137,212 +DB 45,45,180,45,117,153,90,88,45,45,180,45,117,153,90,88 +DB 191,191,198,191,145,121,99,46,191,191,198,191,145,121,99,46 +DB 7,7,28,7,56,27,14,63,7,7,28,7,56,27,14,63 +DB 173,173,142,173,1,35,71,172,173,173,142,173,1,35,71,172 +DB 90,90,117,90,234,47,180,176,90,90,117,90,234,47,180,176 +DB 131,131,54,131,108,181,27,239,131,131,54,131,108,181,27,239 +DB 51,51,204,51,133,255,102,182,51,51,204,51,133,255,102,182 +DB 99,99,145,99,63,242,198,92,99,99,145,99,63,242,198,92 +DB 2,2,8,2,16,10,4,18,2,2,8,2,16,10,4,18 +DB 170,170,146,170,57,56,73,147,170,170,146,170,57,56,73,147 +DB 113,113,217,113,175,168,226,222,113,113,217,113,175,168,226,222 +DB 200,200,7,200,14,207,141,198,200,200,7,200,14,207,141,198 +DB 25,25,100,25,200,125,50,209,25,25,100,25,200,125,50,209 +DB 73,73,57,73,114,112,146,59,73,73,57,73,114,112,146,59 +DB 217,217,67,217,134,154,175,95,217,217,67,217,134,154,175,95 +DB 242,242,239,242,195,29,249,49,242,242,239,242,195,29,249,49 +DB 227,227,171,227,75,72,219,168,227,227,171,227,75,72,219,168 +DB 91,91,113,91,226,42,182,185,91,91,113,91,226,42,182,185 +DB 136,136,26,136,52,146,13,188,136,136,26,136,52,146,13,188 +DB 154,154,82,154,164,200,41,62,154,154,82,154,164,200,41,62 +DB 38,38,152,38,45,190,76,11,38,38,152,38,45,190,76,11 +DB 50,50,200,50,141,250,100,191,50,50,200,50,141,250,100,191 +DB 176,176,250,176,233,74,125,89,176,176,250,176,233,74,125,89 +DB 233,233,131,233,27,106,207,242,233,233,131,233,27,106,207,242 +DB 15,15,60,15,120,51,30,119,15,15,60,15,120,51,30,119 +DB 213,213,115,213,230,166,183,51,213,213,115,213,230,166,183,51 +DB 128,128,58,128,116,186,29,244,128,128,58,128,116,186,29,244 +DB 190,190,194,190,153,124,97,39,190,190,194,190,153,124,97,39 +DB 205,205,19,205,38,222,135,235,205,205,19,205,38,222,135,235 +DB 52,52,208,52,189,228,104,137,52,52,208,52,189,228,104,137 +DB 72,72,61,72,122,117,144,50,72,72,61,72,122,117,144,50 +DB 255,255,219,255,171,36,227,84,255,255,219,255,171,36,227,84 +DB 122,122,245,122,247,143,244,141,122,122,245,122,247,143,244,141 +DB 144,144,122,144,244,234,61,100,144,144,122,144,244,234,61,100 +DB 95,95,97,95,194,62,190,157,95,95,97,95,194,62,190,157 +DB 32,32,128,32,29,160,64,61,32,32,128,32,29,160,64,61 +DB 104,104,189,104,103,213,208,15,104,104,189,104,103,213,208,15 +DB 26,26,104,26,208,114,52,202,26,26,104,26,208,114,52,202 +DB 174,174,130,174,25,44,65,183,174,174,130,174,25,44,65,183 +DB 180,180,234,180,201,94,117,125,180,180,234,180,201,94,117,125 +DB 84,84,77,84,154,25,168,206,84,84,77,84,154,25,168,206 +DB 147,147,118,147,236,229,59,127,147,147,118,147,236,229,59,127 +DB 34,34,136,34,13,170,68,47,34,34,136,34,13,170,68,47 +DB 100,100,141,100,7,233,200,99,100,100,141,100,7,233,200,99 +DB 241,241,227,241,219,18,255,42,241,241,227,241,219,18,255,42 +DB 115,115,209,115,191,162,230,204,115,115,209,115,191,162,230,204 +DB 18,18,72,18,144,90,36,130,18,18,72,18,144,90,36,130 +DB 64,64,29,64,58,93,128,122,64,64,29,64,58,93,128,122 +DB 8,8,32,8,64,40,16,72,8,8,32,8,64,40,16,72 +DB 195,195,43,195,86,232,155,149,195,195,43,195,86,232,155,149 +DB 236,236,151,236,51,123,197,223,236,236,151,236,51,123,197,223 +DB 219,219,75,219,150,144,171,77,219,219,75,219,150,144,171,77 +DB 161,161,190,161,97,31,95,192,161,161,190,161,97,31,95,192 +DB 141,141,14,141,28,131,7,145,141,141,14,141,28,131,7,145 +DB 61,61,244,61,245,201,122,200,61,61,244,61,245,201,122,200 +DB 151,151,102,151,204,241,51,91,151,151,102,151,204,241,51,91 +DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +DB 207,207,27,207,54,212,131,249,207,207,27,207,54,212,131,249 +DB 43,43,172,43,69,135,86,110,43,43,172,43,69,135,86,110 +DB 118,118,197,118,151,179,236,225,118,118,197,118,151,179,236,225 +DB 130,130,50,130,100,176,25,230,130,130,50,130,100,176,25,230 +DB 214,214,127,214,254,169,177,40,214,214,127,214,254,169,177,40 +DB 27,27,108,27,216,119,54,195,27,27,108,27,216,119,54,195 +DB 181,181,238,181,193,91,119,116,181,181,238,181,193,91,119,116 +DB 175,175,134,175,17,41,67,190,175,175,134,175,17,41,67,190 +DB 106,106,181,106,119,223,212,29,106,106,181,106,119,223,212,29 +DB 80,80,93,80,186,13,160,234,80,80,93,80,186,13,160,234 +DB 69,69,9,69,18,76,138,87,69,69,9,69,18,76,138,87 +DB 243,243,235,243,203,24,251,56,243,243,235,243,203,24,251,56 +DB 48,48,192,48,157,240,96,173,48,48,192,48,157,240,96,173 +DB 239,239,155,239,43,116,195,196,239,239,155,239,43,116,195,196 +DB 63,63,252,63,229,195,126,218,63,63,252,63,229,195,126,218 +DB 85,85,73,85,146,28,170,199,85,85,73,85,146,28,170,199 +DB 162,162,178,162,121,16,89,219,162,162,178,162,121,16,89,219 +DB 234,234,143,234,3,101,201,233,234,234,143,234,3,101,201,233 +DB 101,101,137,101,15,236,202,106,101,101,137,101,15,236,202,106 +DB 186,186,210,186,185,104,105,3,186,186,210,186,185,104,105,3 +DB 47,47,188,47,101,147,94,74,47,47,188,47,101,147,94,74 +DB 192,192,39,192,78,231,157,142,192,192,39,192,78,231,157,142 +DB 222,222,95,222,190,129,161,96,222,222,95,222,190,129,161,96 +DB 28,28,112,28,224,108,56,252,28,28,112,28,224,108,56,252 +DB 253,253,211,253,187,46,231,70,253,253,211,253,187,46,231,70 +DB 77,77,41,77,82,100,154,31,77,77,41,77,82,100,154,31 +DB 146,146,114,146,228,224,57,118,146,146,114,146,228,224,57,118 +DB 117,117,201,117,143,188,234,250,117,117,201,117,143,188,234,250 +DB 6,6,24,6,48,30,12,54,6,6,24,6,48,30,12,54 +DB 138,138,18,138,36,152,9,174,138,138,18,138,36,152,9,174 +DB 178,178,242,178,249,64,121,75,178,178,242,178,249,64,121,75 +DB 230,230,191,230,99,89,209,133,230,230,191,230,99,89,209,133 +DB 14,14,56,14,112,54,28,126,14,14,56,14,112,54,28,126 +DB 31,31,124,31,248,99,62,231,31,31,124,31,248,99,62,231 +DB 98,98,149,98,55,247,196,85,98,98,149,98,55,247,196,85 +DB 212,212,119,212,238,163,181,58,212,212,119,212,238,163,181,58 +DB 168,168,154,168,41,50,77,129,168,168,154,168,41,50,77,129 +DB 150,150,98,150,196,244,49,82,150,150,98,150,196,244,49,82 +DB 249,249,195,249,155,58,239,98,249,249,195,249,155,58,239,98 +DB 197,197,51,197,102,246,151,163,197,197,51,197,102,246,151,163 +DB 37,37,148,37,53,177,74,16,37,37,148,37,53,177,74,16 +DB 89,89,121,89,242,32,178,171,89,89,121,89,242,32,178,171 +DB 132,132,42,132,84,174,21,208,132,132,42,132,84,174,21,208 +DB 114,114,213,114,183,167,228,197,114,114,213,114,183,167,228,197 +DB 57,57,228,57,213,221,114,236,57,57,228,57,213,221,114,236 +DB 76,76,45,76,90,97,152,22,76,76,45,76,90,97,152,22 +DB 94,94,101,94,202,59,188,148,94,94,101,94,202,59,188,148 +DB 120,120,253,120,231,133,240,159,120,120,253,120,231,133,240,159 +DB 56,56,224,56,221,216,112,229,56,56,224,56,221,216,112,229 +DB 140,140,10,140,20,134,5,152,140,140,10,140,20,134,5,152 +DB 209,209,99,209,198,178,191,23,209,209,99,209,198,178,191,23 +DB 165,165,174,165,65,11,87,228,165,165,174,165,65,11,87,228 +DB 226,226,175,226,67,77,217,161,226,226,175,226,67,77,217,161 +DB 97,97,153,97,47,248,194,78,97,97,153,97,47,248,194,78 +DB 179,179,246,179,241,69,123,66,179,179,246,179,241,69,123,66 +DB 33,33,132,33,21,165,66,52,33,33,132,33,21,165,66,52 +DB 156,156,74,156,148,214,37,8,156,156,74,156,148,214,37,8 +DB 30,30,120,30,240,102,60,238,30,30,120,30,240,102,60,238 +DB 67,67,17,67,34,82,134,97,67,67,17,67,34,82,134,97 +DB 199,199,59,199,118,252,147,177,199,199,59,199,118,252,147,177 +DB 252,252,215,252,179,43,229,79,252,252,215,252,179,43,229,79 +DB 4,4,16,4,32,20,8,36,4,4,16,4,32,20,8,36 +DB 81,81,89,81,178,8,162,227,81,81,89,81,178,8,162,227 +DB 153,153,94,153,188,199,47,37,153,153,94,153,188,199,47,37 +DB 109,109,169,109,79,196,218,34,109,109,169,109,79,196,218,34 +DB 13,13,52,13,104,57,26,101,13,13,52,13,104,57,26,101 +DB 250,250,207,250,131,53,233,121,250,250,207,250,131,53,233,121 +DB 223,223,91,223,182,132,163,105,223,223,91,223,182,132,163,105 +DB 126,126,229,126,215,155,252,169,126,126,229,126,215,155,252,169 +DB 36,36,144,36,61,180,72,25,36,36,144,36,61,180,72,25 +DB 59,59,236,59,197,215,118,254,59,59,236,59,197,215,118,254 +DB 171,171,150,171,49,61,75,154,171,171,150,171,49,61,75,154 +DB 206,206,31,206,62,209,129,240,206,206,31,206,62,209,129,240 +DB 17,17,68,17,136,85,34,153,17,17,68,17,136,85,34,153 +DB 143,143,6,143,12,137,3,131,143,143,6,143,12,137,3,131 +DB 78,78,37,78,74,107,156,4,78,78,37,78,74,107,156,4 +DB 183,183,230,183,209,81,115,102,183,183,230,183,209,81,115,102 +DB 235,235,139,235,11,96,203,224,235,235,139,235,11,96,203,224 +DB 60,60,240,60,253,204,120,193,60,60,240,60,253,204,120,193 +DB 129,129,62,129,124,191,31,253,129,129,62,129,124,191,31,253 +DB 148,148,106,148,212,254,53,64,148,148,106,148,212,254,53,64 +DB 247,247,251,247,235,12,243,28,247,247,251,247,235,12,243,28 +DB 185,185,222,185,161,103,111,24,185,185,222,185,161,103,111,24 +DB 19,19,76,19,152,95,38,139,19,19,76,19,152,95,38,139 +DB 44,44,176,44,125,156,88,81,44,44,176,44,125,156,88,81 +DB 211,211,107,211,214,184,187,5,211,211,107,211,214,184,187,5 +DB 231,231,187,231,107,92,211,140,231,231,187,231,107,92,211,140 +DB 110,110,165,110,87,203,220,57,110,110,165,110,87,203,220,57 +DB 196,196,55,196,110,243,149,170,196,196,55,196,110,243,149,170 +DB 3,3,12,3,24,15,6,27,3,3,12,3,24,15,6,27 +DB 86,86,69,86,138,19,172,220,86,86,69,86,138,19,172,220 +DB 68,68,13,68,26,73,136,94,68,68,13,68,26,73,136,94 +DB 127,127,225,127,223,158,254,160,127,127,225,127,223,158,254,160 +DB 169,169,158,169,33,55,79,136,169,169,158,169,33,55,79,136 +DB 42,42,168,42,77,130,84,103,42,42,168,42,77,130,84,103 +DB 187,187,214,187,177,109,107,10,187,187,214,187,177,109,107,10 +DB 193,193,35,193,70,226,159,135,193,193,35,193,70,226,159,135 +DB 83,83,81,83,162,2,166,241,83,83,81,83,162,2,166,241 +DB 220,220,87,220,174,139,165,114,220,220,87,220,174,139,165,114 +DB 11,11,44,11,88,39,22,83,11,11,44,11,88,39,22,83 +DB 157,157,78,157,156,211,39,1,157,157,78,157,156,211,39,1 +DB 108,108,173,108,71,193,216,43,108,108,173,108,71,193,216,43 +DB 49,49,196,49,149,245,98,164,49,49,196,49,149,245,98,164 +DB 116,116,205,116,135,185,232,243,116,116,205,116,135,185,232,243 +DB 246,246,255,246,227,9,241,21,246,246,255,246,227,9,241,21 +DB 70,70,5,70,10,67,140,76,70,70,5,70,10,67,140,76 +DB 172,172,138,172,9,38,69,165,172,172,138,172,9,38,69,165 +DB 137,137,30,137,60,151,15,181,137,137,30,137,60,151,15,181 +DB 20,20,80,20,160,68,40,180,20,20,80,20,160,68,40,180 +DB 225,225,163,225,91,66,223,186,225,225,163,225,91,66,223,186 +DB 22,22,88,22,176,78,44,166,22,22,88,22,176,78,44,166 +DB 58,58,232,58,205,210,116,247,58,58,232,58,205,210,116,247 +DB 105,105,185,105,111,208,210,6,105,105,185,105,111,208,210,6 +DB 9,9,36,9,72,45,18,65,9,9,36,9,72,45,18,65 +DB 112,112,221,112,167,173,224,215,112,112,221,112,167,173,224,215 +DB 182,182,226,182,217,84,113,111,182,182,226,182,217,84,113,111 +DB 208,208,103,208,206,183,189,30,208,208,103,208,206,183,189,30 +DB 237,237,147,237,59,126,199,214,237,237,147,237,59,126,199,214 +DB 204,204,23,204,46,219,133,226,204,204,23,204,46,219,133,226 +DB 66,66,21,66,42,87,132,104,66,66,21,66,42,87,132,104 +DB 152,152,90,152,180,194,45,44,152,152,90,152,180,194,45,44 +DB 164,164,170,164,73,14,85,237,164,164,170,164,73,14,85,237 +DB 40,40,160,40,93,136,80,117,40,40,160,40,93,136,80,117 +DB 92,92,109,92,218,49,184,134,92,92,109,92,218,49,184,134 +DB 248,248,199,248,147,63,237,107,248,248,199,248,147,63,237,107 +DB 134,134,34,134,68,164,17,194,134,134,34,134,68,164,17,194 +DB 24,35,198,232,135,184,1,79 +DB 54,166,210,245,121,111,145,82 +DB 96,188,155,142,163,12,123,53 +DB 29,224,215,194,46,75,254,87 +DB 21,119,55,229,159,240,74,218 +DB 88,201,41,10,177,160,107,133 +DB 189,93,16,244,203,62,5,103 +DB 228,39,65,139,167,125,149,216 +DB 251,238,124,102,221,23,71,158 +DB 202,45,191,7,173,90,131,51 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$prologue] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov rax,QWORD[152+r8] + + lea r10,[$L$epilogue] + cmp rbx,r10 + jae NEAR $L$in_prologue + + mov rax,QWORD[((128+32))+rax] + lea rax,[48+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$in_prologue: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_whirlpool_block wrt ..imagebase + DD $L$SEH_end_whirlpool_block wrt ..imagebase + DD $L$SEH_info_whirlpool_block wrt ..imagebase + +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_whirlpool_block: +DB 9,0,0,0 + DD se_handler wrt ..imagebase diff --git a/tmp64/x86_64-gf2m.asm b/tmp64/x86_64-gf2m.asm index 053a3f86..98b572cd 100644 --- a/tmp64/x86_64-gf2m.asm +++ b/tmp64/x86_64-gf2m.asm @@ -1,398 +1,398 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - - -ALIGN 16 -_mul_1x1: - sub rsp,128+8 - mov r9,-1 - lea rsi,[rax*1+rax] - shr r9,3 - lea rdi,[rax*4] - and r9,rax - lea r12,[rax*8] - sar rax,63 - lea r10,[r9*1+r9] - sar rsi,63 - lea r11,[r9*4] - and rax,rbp - sar rdi,63 - mov rdx,rax - shl rax,63 - and rsi,rbp - shr rdx,1 - mov rcx,rsi - shl rsi,62 - and rdi,rbp - shr rcx,2 - xor rax,rsi - mov rbx,rdi - shl rdi,61 - xor rdx,rcx - shr rbx,3 - xor rax,rdi - xor rdx,rbx - - mov r13,r9 - mov QWORD[rsp],0 - xor r13,r10 - mov QWORD[8+rsp],r9 - mov r14,r11 - mov QWORD[16+rsp],r10 - xor r14,r12 - mov QWORD[24+rsp],r13 - - xor r9,r11 - mov QWORD[32+rsp],r11 - xor r10,r11 - mov QWORD[40+rsp],r9 - xor r13,r11 - mov QWORD[48+rsp],r10 - xor r9,r14 - mov QWORD[56+rsp],r13 - xor r10,r14 - - mov QWORD[64+rsp],r12 - xor r13,r14 - mov QWORD[72+rsp],r9 - xor r9,r11 - mov QWORD[80+rsp],r10 - xor r10,r11 - mov QWORD[88+rsp],r13 - - xor r13,r11 - mov QWORD[96+rsp],r14 - mov rsi,r8 - mov QWORD[104+rsp],r9 - and rsi,rbp - mov QWORD[112+rsp],r10 - shr rbp,4 - mov QWORD[120+rsp],r13 - mov rdi,r8 - and rdi,rbp - shr rbp,4 - - movq xmm0,QWORD[rsi*8+rsp] - mov rsi,r8 - and rsi,rbp - shr rbp,4 - mov rcx,QWORD[rdi*8+rsp] - mov rdi,r8 - mov rbx,rcx - shl rcx,4 - and rdi,rbp - movq xmm1,QWORD[rsi*8+rsp] - shr rbx,60 - xor rax,rcx - pslldq xmm1,1 - mov rsi,r8 - shr rbp,4 - xor rdx,rbx - and rsi,rbp - shr rbp,4 - pxor xmm0,xmm1 - mov rcx,QWORD[rdi*8+rsp] - mov rdi,r8 - mov rbx,rcx - shl rcx,12 - and rdi,rbp - movq xmm1,QWORD[rsi*8+rsp] - shr rbx,52 - xor rax,rcx - pslldq xmm1,2 - mov rsi,r8 - shr rbp,4 - xor rdx,rbx - and rsi,rbp - shr rbp,4 - pxor xmm0,xmm1 - mov rcx,QWORD[rdi*8+rsp] - mov rdi,r8 - mov rbx,rcx - shl rcx,20 - and rdi,rbp - movq xmm1,QWORD[rsi*8+rsp] - shr rbx,44 - xor rax,rcx - pslldq xmm1,3 - mov rsi,r8 - shr rbp,4 - xor rdx,rbx - and rsi,rbp - shr rbp,4 - pxor xmm0,xmm1 - mov rcx,QWORD[rdi*8+rsp] - mov rdi,r8 - mov rbx,rcx - shl rcx,28 - and rdi,rbp - movq xmm1,QWORD[rsi*8+rsp] - shr rbx,36 - xor rax,rcx - pslldq xmm1,4 - mov rsi,r8 - shr rbp,4 - xor rdx,rbx - and rsi,rbp - shr rbp,4 - pxor xmm0,xmm1 - mov rcx,QWORD[rdi*8+rsp] - mov rdi,r8 - mov rbx,rcx - shl rcx,36 - and rdi,rbp - movq xmm1,QWORD[rsi*8+rsp] - shr rbx,28 - xor rax,rcx - pslldq xmm1,5 - mov rsi,r8 - shr rbp,4 - xor rdx,rbx - and rsi,rbp - shr rbp,4 - pxor xmm0,xmm1 - mov rcx,QWORD[rdi*8+rsp] - mov rdi,r8 - mov rbx,rcx - shl rcx,44 - and rdi,rbp - movq xmm1,QWORD[rsi*8+rsp] - shr rbx,20 - xor rax,rcx - pslldq xmm1,6 - mov rsi,r8 - shr rbp,4 - xor rdx,rbx - and rsi,rbp - shr rbp,4 - pxor xmm0,xmm1 - mov rcx,QWORD[rdi*8+rsp] - mov rdi,r8 - mov rbx,rcx - shl rcx,52 - and rdi,rbp - movq xmm1,QWORD[rsi*8+rsp] - shr rbx,12 - xor rax,rcx - pslldq xmm1,7 - mov rsi,r8 - shr rbp,4 - xor rdx,rbx - and rsi,rbp - shr rbp,4 - pxor xmm0,xmm1 - mov rcx,QWORD[rdi*8+rsp] - mov rbx,rcx - shl rcx,60 -DB 102,72,15,126,198 - shr rbx,4 - xor rax,rcx - psrldq xmm0,8 - xor rdx,rbx -DB 102,72,15,126,199 - xor rax,rsi - xor rdx,rdi - - add rsp,128+8 - DB 0F3h,0C3h ;repret -$L$end_mul_1x1: - -EXTERN OPENSSL_ia32cap_P -global bn_GF2m_mul_2x2 - -ALIGN 16 -bn_GF2m_mul_2x2: - mov rax,QWORD[OPENSSL_ia32cap_P] - bt rax,33 - jnc NEAR $L$vanilla_mul_2x2 - -DB 102,72,15,110,194 -DB 102,73,15,110,201 -DB 102,73,15,110,208 - movq xmm3,QWORD[40+rsp] - movdqa xmm4,xmm0 - movdqa xmm5,xmm1 -DB 102,15,58,68,193,0 - pxor xmm4,xmm2 - pxor xmm5,xmm3 -DB 102,15,58,68,211,0 -DB 102,15,58,68,229,0 - xorps xmm4,xmm0 - xorps xmm4,xmm2 - movdqa xmm5,xmm4 - pslldq xmm4,8 - psrldq xmm5,8 - pxor xmm2,xmm4 - pxor xmm0,xmm5 - movdqu XMMWORD[rcx],xmm2 - movdqu XMMWORD[16+rcx],xmm0 - DB 0F3h,0C3h ;repret - -ALIGN 16 -$L$vanilla_mul_2x2: - lea rsp,[((-136))+rsp] - mov r10,QWORD[176+rsp] - mov QWORD[120+rsp],rdi - mov QWORD[128+rsp],rsi - mov QWORD[80+rsp],r14 - mov QWORD[88+rsp],r13 - mov QWORD[96+rsp],r12 - mov QWORD[104+rsp],rbp - mov QWORD[112+rsp],rbx -$L$body_mul_2x2: - mov QWORD[32+rsp],rcx - mov QWORD[40+rsp],rdx - mov QWORD[48+rsp],r8 - mov QWORD[56+rsp],r9 - mov QWORD[64+rsp],r10 - - mov r8,0xf - mov rax,rdx - mov rbp,r9 - call _mul_1x1 - mov QWORD[16+rsp],rax - mov QWORD[24+rsp],rdx - - mov rax,QWORD[48+rsp] - mov rbp,QWORD[64+rsp] - call _mul_1x1 - mov QWORD[rsp],rax - mov QWORD[8+rsp],rdx - - mov rax,QWORD[40+rsp] - mov rbp,QWORD[56+rsp] - xor rax,QWORD[48+rsp] - xor rbp,QWORD[64+rsp] - call _mul_1x1 - mov rbx,QWORD[rsp] - mov rcx,QWORD[8+rsp] - mov rdi,QWORD[16+rsp] - mov rsi,QWORD[24+rsp] - mov rbp,QWORD[32+rsp] - - xor rax,rdx - xor rdx,rcx - xor rax,rbx - mov QWORD[rbp],rbx - xor rdx,rdi - mov QWORD[24+rbp],rsi - xor rax,rsi - xor rdx,rsi - xor rax,rdx - mov QWORD[16+rbp],rdx - mov QWORD[8+rbp],rax - - mov r14,QWORD[80+rsp] - mov r13,QWORD[88+rsp] - mov r12,QWORD[96+rsp] - mov rbp,QWORD[104+rsp] - mov rbx,QWORD[112+rsp] - mov rdi,QWORD[120+rsp] - mov rsi,QWORD[128+rsp] - lea rsp,[136+rsp] - DB 0F3h,0C3h ;repret -$L$end_mul_2x2: - -DB 71,70,40,50,94,109,41,32,77,117,108,116,105,112,108,105 -DB 99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54 -DB 52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 -DB 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 -DB 111,114,103,62,0 -ALIGN 16 -EXTERN __imp_RtlVirtualUnwind - - -ALIGN 16 -se_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[152+r8] - mov rbx,QWORD[248+r8] - - lea r10,[$L$body_mul_2x2] - cmp rbx,r10 - jb NEAR $L$in_prologue - - mov r14,QWORD[80+rax] - mov r13,QWORD[88+rax] - mov r12,QWORD[96+rax] - mov rbp,QWORD[104+rax] - mov rbx,QWORD[112+rax] - mov rdi,QWORD[120+rax] - mov rsi,QWORD[128+rax] - - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - -$L$in_prologue: - lea rax,[136+rax] - mov QWORD[152+r8],rax - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD _mul_1x1 wrt ..imagebase - DD $L$end_mul_1x1 wrt ..imagebase - DD $L$SEH_info_1x1 wrt ..imagebase - - DD $L$vanilla_mul_2x2 wrt ..imagebase - DD $L$end_mul_2x2 wrt ..imagebase - DD $L$SEH_info_2x2 wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_1x1: -DB 0x01,0x07,0x02,0x00 -DB 0x07,0x01,0x11,0x00 -$L$SEH_info_2x2: -DB 9,0,0,0 - DD se_handler wrt ..imagebase +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + + +ALIGN 16 +_mul_1x1: + sub rsp,128+8 + mov r9,-1 + lea rsi,[rax*1+rax] + shr r9,3 + lea rdi,[rax*4] + and r9,rax + lea r12,[rax*8] + sar rax,63 + lea r10,[r9*1+r9] + sar rsi,63 + lea r11,[r9*4] + and rax,rbp + sar rdi,63 + mov rdx,rax + shl rax,63 + and rsi,rbp + shr rdx,1 + mov rcx,rsi + shl rsi,62 + and rdi,rbp + shr rcx,2 + xor rax,rsi + mov rbx,rdi + shl rdi,61 + xor rdx,rcx + shr rbx,3 + xor rax,rdi + xor rdx,rbx + + mov r13,r9 + mov QWORD[rsp],0 + xor r13,r10 + mov QWORD[8+rsp],r9 + mov r14,r11 + mov QWORD[16+rsp],r10 + xor r14,r12 + mov QWORD[24+rsp],r13 + + xor r9,r11 + mov QWORD[32+rsp],r11 + xor r10,r11 + mov QWORD[40+rsp],r9 + xor r13,r11 + mov QWORD[48+rsp],r10 + xor r9,r14 + mov QWORD[56+rsp],r13 + xor r10,r14 + + mov QWORD[64+rsp],r12 + xor r13,r14 + mov QWORD[72+rsp],r9 + xor r9,r11 + mov QWORD[80+rsp],r10 + xor r10,r11 + mov QWORD[88+rsp],r13 + + xor r13,r11 + mov QWORD[96+rsp],r14 + mov rsi,r8 + mov QWORD[104+rsp],r9 + and rsi,rbp + mov QWORD[112+rsp],r10 + shr rbp,4 + mov QWORD[120+rsp],r13 + mov rdi,r8 + and rdi,rbp + shr rbp,4 + + movq xmm0,QWORD[rsi*8+rsp] + mov rsi,r8 + and rsi,rbp + shr rbp,4 + mov rcx,QWORD[rdi*8+rsp] + mov rdi,r8 + mov rbx,rcx + shl rcx,4 + and rdi,rbp + movq xmm1,QWORD[rsi*8+rsp] + shr rbx,60 + xor rax,rcx + pslldq xmm1,1 + mov rsi,r8 + shr rbp,4 + xor rdx,rbx + and rsi,rbp + shr rbp,4 + pxor xmm0,xmm1 + mov rcx,QWORD[rdi*8+rsp] + mov rdi,r8 + mov rbx,rcx + shl rcx,12 + and rdi,rbp + movq xmm1,QWORD[rsi*8+rsp] + shr rbx,52 + xor rax,rcx + pslldq xmm1,2 + mov rsi,r8 + shr rbp,4 + xor rdx,rbx + and rsi,rbp + shr rbp,4 + pxor xmm0,xmm1 + mov rcx,QWORD[rdi*8+rsp] + mov rdi,r8 + mov rbx,rcx + shl rcx,20 + and rdi,rbp + movq xmm1,QWORD[rsi*8+rsp] + shr rbx,44 + xor rax,rcx + pslldq xmm1,3 + mov rsi,r8 + shr rbp,4 + xor rdx,rbx + and rsi,rbp + shr rbp,4 + pxor xmm0,xmm1 + mov rcx,QWORD[rdi*8+rsp] + mov rdi,r8 + mov rbx,rcx + shl rcx,28 + and rdi,rbp + movq xmm1,QWORD[rsi*8+rsp] + shr rbx,36 + xor rax,rcx + pslldq xmm1,4 + mov rsi,r8 + shr rbp,4 + xor rdx,rbx + and rsi,rbp + shr rbp,4 + pxor xmm0,xmm1 + mov rcx,QWORD[rdi*8+rsp] + mov rdi,r8 + mov rbx,rcx + shl rcx,36 + and rdi,rbp + movq xmm1,QWORD[rsi*8+rsp] + shr rbx,28 + xor rax,rcx + pslldq xmm1,5 + mov rsi,r8 + shr rbp,4 + xor rdx,rbx + and rsi,rbp + shr rbp,4 + pxor xmm0,xmm1 + mov rcx,QWORD[rdi*8+rsp] + mov rdi,r8 + mov rbx,rcx + shl rcx,44 + and rdi,rbp + movq xmm1,QWORD[rsi*8+rsp] + shr rbx,20 + xor rax,rcx + pslldq xmm1,6 + mov rsi,r8 + shr rbp,4 + xor rdx,rbx + and rsi,rbp + shr rbp,4 + pxor xmm0,xmm1 + mov rcx,QWORD[rdi*8+rsp] + mov rdi,r8 + mov rbx,rcx + shl rcx,52 + and rdi,rbp + movq xmm1,QWORD[rsi*8+rsp] + shr rbx,12 + xor rax,rcx + pslldq xmm1,7 + mov rsi,r8 + shr rbp,4 + xor rdx,rbx + and rsi,rbp + shr rbp,4 + pxor xmm0,xmm1 + mov rcx,QWORD[rdi*8+rsp] + mov rbx,rcx + shl rcx,60 +DB 102,72,15,126,198 + shr rbx,4 + xor rax,rcx + psrldq xmm0,8 + xor rdx,rbx +DB 102,72,15,126,199 + xor rax,rsi + xor rdx,rdi + + add rsp,128+8 + DB 0F3h,0C3h ;repret +$L$end_mul_1x1: + +EXTERN OPENSSL_ia32cap_P +global bn_GF2m_mul_2x2 + +ALIGN 16 +bn_GF2m_mul_2x2: + mov rax,QWORD[OPENSSL_ia32cap_P] + bt rax,33 + jnc NEAR $L$vanilla_mul_2x2 + +DB 102,72,15,110,194 +DB 102,73,15,110,201 +DB 102,73,15,110,208 + movq xmm3,QWORD[40+rsp] + movdqa xmm4,xmm0 + movdqa xmm5,xmm1 +DB 102,15,58,68,193,0 + pxor xmm4,xmm2 + pxor xmm5,xmm3 +DB 102,15,58,68,211,0 +DB 102,15,58,68,229,0 + xorps xmm4,xmm0 + xorps xmm4,xmm2 + movdqa xmm5,xmm4 + pslldq xmm4,8 + psrldq xmm5,8 + pxor xmm2,xmm4 + pxor xmm0,xmm5 + movdqu XMMWORD[rcx],xmm2 + movdqu XMMWORD[16+rcx],xmm0 + DB 0F3h,0C3h ;repret + +ALIGN 16 +$L$vanilla_mul_2x2: + lea rsp,[((-136))+rsp] + mov r10,QWORD[176+rsp] + mov QWORD[120+rsp],rdi + mov QWORD[128+rsp],rsi + mov QWORD[80+rsp],r14 + mov QWORD[88+rsp],r13 + mov QWORD[96+rsp],r12 + mov QWORD[104+rsp],rbp + mov QWORD[112+rsp],rbx +$L$body_mul_2x2: + mov QWORD[32+rsp],rcx + mov QWORD[40+rsp],rdx + mov QWORD[48+rsp],r8 + mov QWORD[56+rsp],r9 + mov QWORD[64+rsp],r10 + + mov r8,0xf + mov rax,rdx + mov rbp,r9 + call _mul_1x1 + mov QWORD[16+rsp],rax + mov QWORD[24+rsp],rdx + + mov rax,QWORD[48+rsp] + mov rbp,QWORD[64+rsp] + call _mul_1x1 + mov QWORD[rsp],rax + mov QWORD[8+rsp],rdx + + mov rax,QWORD[40+rsp] + mov rbp,QWORD[56+rsp] + xor rax,QWORD[48+rsp] + xor rbp,QWORD[64+rsp] + call _mul_1x1 + mov rbx,QWORD[rsp] + mov rcx,QWORD[8+rsp] + mov rdi,QWORD[16+rsp] + mov rsi,QWORD[24+rsp] + mov rbp,QWORD[32+rsp] + + xor rax,rdx + xor rdx,rcx + xor rax,rbx + mov QWORD[rbp],rbx + xor rdx,rdi + mov QWORD[24+rbp],rsi + xor rax,rsi + xor rdx,rsi + xor rax,rdx + mov QWORD[16+rbp],rdx + mov QWORD[8+rbp],rax + + mov r14,QWORD[80+rsp] + mov r13,QWORD[88+rsp] + mov r12,QWORD[96+rsp] + mov rbp,QWORD[104+rsp] + mov rbx,QWORD[112+rsp] + mov rdi,QWORD[120+rsp] + mov rsi,QWORD[128+rsp] + lea rsp,[136+rsp] + DB 0F3h,0C3h ;repret +$L$end_mul_2x2: + +DB 71,70,40,50,94,109,41,32,77,117,108,116,105,112,108,105 +DB 99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54 +DB 52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 +DB 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 +DB 111,114,103,62,0 +ALIGN 16 +EXTERN __imp_RtlVirtualUnwind + + +ALIGN 16 +se_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[152+r8] + mov rbx,QWORD[248+r8] + + lea r10,[$L$body_mul_2x2] + cmp rbx,r10 + jb NEAR $L$in_prologue + + mov r14,QWORD[80+rax] + mov r13,QWORD[88+rax] + mov r12,QWORD[96+rax] + mov rbp,QWORD[104+rax] + mov rbx,QWORD[112+rax] + mov rdi,QWORD[120+rax] + mov rsi,QWORD[128+rax] + + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + +$L$in_prologue: + lea rax,[136+rax] + mov QWORD[152+r8],rax + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD _mul_1x1 wrt ..imagebase + DD $L$end_mul_1x1 wrt ..imagebase + DD $L$SEH_info_1x1 wrt ..imagebase + + DD $L$vanilla_mul_2x2 wrt ..imagebase + DD $L$end_mul_2x2 wrt ..imagebase + DD $L$SEH_info_2x2 wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_1x1: +DB 0x01,0x07,0x02,0x00 +DB 0x07,0x01,0x11,0x00 +$L$SEH_info_2x2: +DB 9,0,0,0 + DD se_handler wrt ..imagebase diff --git a/tmp64/x86_64-mont.asm b/tmp64/x86_64-mont.asm index f505ae8a..cea8c70e 100644 --- a/tmp64/x86_64-mont.asm +++ b/tmp64/x86_64-mont.asm @@ -1,1398 +1,1398 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN OPENSSL_ia32cap_P - -global bn_mul_mont - -ALIGN 16 -bn_mul_mont: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_bn_mul_mont: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov r9d,r9d - mov rax,rsp - test r9d,3 - jnz NEAR $L$mul_enter - cmp r9d,8 - jb NEAR $L$mul_enter - mov r11d,DWORD[((OPENSSL_ia32cap_P+8))] - cmp rdx,rsi - jne NEAR $L$mul4x_enter - test r9d,7 - jz NEAR $L$sqr8x_enter - jmp NEAR $L$mul4x_enter - -ALIGN 16 -$L$mul_enter: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - neg r9 - mov r11,rsp - lea r10,[((-16))+r9*8+rsp] - neg r9 - and r10,-1024 - - - - - - - - sub r11,r10 - and r11,-4096 - lea rsp,[r11*1+r10] - mov r11,QWORD[rsp] - cmp rsp,r10 - ja NEAR $L$mul_page_walk - jmp NEAR $L$mul_page_walk_done - -ALIGN 16 -$L$mul_page_walk: - lea rsp,[((-4096))+rsp] - mov r11,QWORD[rsp] - cmp rsp,r10 - ja NEAR $L$mul_page_walk -$L$mul_page_walk_done: - - mov QWORD[8+r9*8+rsp],rax -$L$mul_body: - mov r12,rdx - mov r8,QWORD[r8] - mov rbx,QWORD[r12] - mov rax,QWORD[rsi] - - xor r14,r14 - xor r15,r15 - - mov rbp,r8 - mul rbx - mov r10,rax - mov rax,QWORD[rcx] - - imul rbp,r10 - mov r11,rdx - - mul rbp - add r10,rax - mov rax,QWORD[8+rsi] - adc rdx,0 - mov r13,rdx - - lea r15,[1+r15] - jmp NEAR $L$1st_enter - -ALIGN 16 -$L$1st: - add r13,rax - mov rax,QWORD[r15*8+rsi] - adc rdx,0 - add r13,r11 - mov r11,r10 - adc rdx,0 - mov QWORD[((-16))+r15*8+rsp],r13 - mov r13,rdx - -$L$1st_enter: - mul rbx - add r11,rax - mov rax,QWORD[r15*8+rcx] - adc rdx,0 - lea r15,[1+r15] - mov r10,rdx - - mul rbp - cmp r15,r9 - jne NEAR $L$1st - - add r13,rax - mov rax,QWORD[rsi] - adc rdx,0 - add r13,r11 - adc rdx,0 - mov QWORD[((-16))+r15*8+rsp],r13 - mov r13,rdx - mov r11,r10 - - xor rdx,rdx - add r13,r11 - adc rdx,0 - mov QWORD[((-8))+r9*8+rsp],r13 - mov QWORD[r9*8+rsp],rdx - - lea r14,[1+r14] - jmp NEAR $L$outer -ALIGN 16 -$L$outer: - mov rbx,QWORD[r14*8+r12] - xor r15,r15 - mov rbp,r8 - mov r10,QWORD[rsp] - mul rbx - add r10,rax - mov rax,QWORD[rcx] - adc rdx,0 - - imul rbp,r10 - mov r11,rdx - - mul rbp - add r10,rax - mov rax,QWORD[8+rsi] - adc rdx,0 - mov r10,QWORD[8+rsp] - mov r13,rdx - - lea r15,[1+r15] - jmp NEAR $L$inner_enter - -ALIGN 16 -$L$inner: - add r13,rax - mov rax,QWORD[r15*8+rsi] - adc rdx,0 - add r13,r10 - mov r10,QWORD[r15*8+rsp] - adc rdx,0 - mov QWORD[((-16))+r15*8+rsp],r13 - mov r13,rdx - -$L$inner_enter: - mul rbx - add r11,rax - mov rax,QWORD[r15*8+rcx] - adc rdx,0 - add r10,r11 - mov r11,rdx - adc r11,0 - lea r15,[1+r15] - - mul rbp - cmp r15,r9 - jne NEAR $L$inner - - add r13,rax - mov rax,QWORD[rsi] - adc rdx,0 - add r13,r10 - mov r10,QWORD[r15*8+rsp] - adc rdx,0 - mov QWORD[((-16))+r15*8+rsp],r13 - mov r13,rdx - - xor rdx,rdx - add r13,r11 - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-8))+r9*8+rsp],r13 - mov QWORD[r9*8+rsp],rdx - - lea r14,[1+r14] - cmp r14,r9 - jb NEAR $L$outer - - xor r14,r14 - mov rax,QWORD[rsp] - mov r15,r9 - -ALIGN 16 -$L$sub: sbb rax,QWORD[r14*8+rcx] - mov QWORD[r14*8+rdi],rax - mov rax,QWORD[8+r14*8+rsp] - lea r14,[1+r14] - dec r15 - jnz NEAR $L$sub - - sbb rax,0 - mov rbx,-1 - xor rbx,rax - xor r14,r14 - mov r15,r9 - -$L$copy: - mov rcx,QWORD[r14*8+rdi] - mov rdx,QWORD[r14*8+rsp] - and rcx,rbx - and rdx,rax - mov QWORD[r14*8+rsp],r9 - or rdx,rcx - mov QWORD[r14*8+rdi],rdx - lea r14,[1+r14] - sub r15,1 - jnz NEAR $L$copy - - mov rsi,QWORD[8+r9*8+rsp] - mov rax,1 - mov r15,QWORD[((-48))+rsi] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$mul_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mul_mont: - -ALIGN 16 -bn_mul4x_mont: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_bn_mul4x_mont: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov r9d,r9d - mov rax,rsp -$L$mul4x_enter: - and r11d,0x80100 - cmp r11d,0x80100 - je NEAR $L$mulx4x_enter - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - neg r9 - mov r11,rsp - lea r10,[((-32))+r9*8+rsp] - neg r9 - and r10,-1024 - - sub r11,r10 - and r11,-4096 - lea rsp,[r11*1+r10] - mov r11,QWORD[rsp] - cmp rsp,r10 - ja NEAR $L$mul4x_page_walk - jmp NEAR $L$mul4x_page_walk_done - -$L$mul4x_page_walk: - lea rsp,[((-4096))+rsp] - mov r11,QWORD[rsp] - cmp rsp,r10 - ja NEAR $L$mul4x_page_walk -$L$mul4x_page_walk_done: - - mov QWORD[8+r9*8+rsp],rax -$L$mul4x_body: - mov QWORD[16+r9*8+rsp],rdi - mov r12,rdx - mov r8,QWORD[r8] - mov rbx,QWORD[r12] - mov rax,QWORD[rsi] - - xor r14,r14 - xor r15,r15 - - mov rbp,r8 - mul rbx - mov r10,rax - mov rax,QWORD[rcx] - - imul rbp,r10 - mov r11,rdx - - mul rbp - add r10,rax - mov rax,QWORD[8+rsi] - adc rdx,0 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[8+rcx] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[16+rsi] - adc rdx,0 - add rdi,r11 - lea r15,[4+r15] - adc rdx,0 - mov QWORD[rsp],rdi - mov r13,rdx - jmp NEAR $L$1st4x -ALIGN 16 -$L$1st4x: - mul rbx - add r10,rax - mov rax,QWORD[((-16))+r15*8+rcx] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[((-8))+r15*8+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-24))+r15*8+rsp],r13 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[((-8))+r15*8+rcx] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[r15*8+rsi] - adc rdx,0 - add rdi,r11 - adc rdx,0 - mov QWORD[((-16))+r15*8+rsp],rdi - mov r13,rdx - - mul rbx - add r10,rax - mov rax,QWORD[r15*8+rcx] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[8+r15*8+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-8))+r15*8+rsp],r13 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[8+r15*8+rcx] - adc rdx,0 - lea r15,[4+r15] - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[((-16))+r15*8+rsi] - adc rdx,0 - add rdi,r11 - adc rdx,0 - mov QWORD[((-32))+r15*8+rsp],rdi - mov r13,rdx - cmp r15,r9 - jb NEAR $L$1st4x - - mul rbx - add r10,rax - mov rax,QWORD[((-16))+r15*8+rcx] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[((-8))+r15*8+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-24))+r15*8+rsp],r13 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[((-8))+r15*8+rcx] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[rsi] - adc rdx,0 - add rdi,r11 - adc rdx,0 - mov QWORD[((-16))+r15*8+rsp],rdi - mov r13,rdx - - xor rdi,rdi - add r13,r10 - adc rdi,0 - mov QWORD[((-8))+r15*8+rsp],r13 - mov QWORD[r15*8+rsp],rdi - - lea r14,[1+r14] -ALIGN 4 -$L$outer4x: - mov rbx,QWORD[r14*8+r12] - xor r15,r15 - mov r10,QWORD[rsp] - mov rbp,r8 - mul rbx - add r10,rax - mov rax,QWORD[rcx] - adc rdx,0 - - imul rbp,r10 - mov r11,rdx - - mul rbp - add r10,rax - mov rax,QWORD[8+rsi] - adc rdx,0 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[8+rcx] - adc rdx,0 - add r11,QWORD[8+rsp] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[16+rsi] - adc rdx,0 - add rdi,r11 - lea r15,[4+r15] - adc rdx,0 - mov QWORD[rsp],rdi - mov r13,rdx - jmp NEAR $L$inner4x -ALIGN 16 -$L$inner4x: - mul rbx - add r10,rax - mov rax,QWORD[((-16))+r15*8+rcx] - adc rdx,0 - add r10,QWORD[((-16))+r15*8+rsp] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[((-8))+r15*8+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-24))+r15*8+rsp],r13 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[((-8))+r15*8+rcx] - adc rdx,0 - add r11,QWORD[((-8))+r15*8+rsp] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[r15*8+rsi] - adc rdx,0 - add rdi,r11 - adc rdx,0 - mov QWORD[((-16))+r15*8+rsp],rdi - mov r13,rdx - - mul rbx - add r10,rax - mov rax,QWORD[r15*8+rcx] - adc rdx,0 - add r10,QWORD[r15*8+rsp] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[8+r15*8+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-8))+r15*8+rsp],r13 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[8+r15*8+rcx] - adc rdx,0 - add r11,QWORD[8+r15*8+rsp] - adc rdx,0 - lea r15,[4+r15] - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[((-16))+r15*8+rsi] - adc rdx,0 - add rdi,r11 - adc rdx,0 - mov QWORD[((-32))+r15*8+rsp],rdi - mov r13,rdx - cmp r15,r9 - jb NEAR $L$inner4x - - mul rbx - add r10,rax - mov rax,QWORD[((-16))+r15*8+rcx] - adc rdx,0 - add r10,QWORD[((-16))+r15*8+rsp] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[((-8))+r15*8+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-24))+r15*8+rsp],r13 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[((-8))+r15*8+rcx] - adc rdx,0 - add r11,QWORD[((-8))+r15*8+rsp] - adc rdx,0 - lea r14,[1+r14] - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[rsi] - adc rdx,0 - add rdi,r11 - adc rdx,0 - mov QWORD[((-16))+r15*8+rsp],rdi - mov r13,rdx - - xor rdi,rdi - add r13,r10 - adc rdi,0 - add r13,QWORD[r9*8+rsp] - adc rdi,0 - mov QWORD[((-8))+r15*8+rsp],r13 - mov QWORD[r15*8+rsp],rdi - - cmp r14,r9 - jb NEAR $L$outer4x - mov rdi,QWORD[16+r9*8+rsp] - lea r15,[((-4))+r9] - mov rax,QWORD[rsp] - mov rdx,QWORD[8+rsp] - shr r15,2 - lea rsi,[rsp] - xor r14,r14 - - sub rax,QWORD[rcx] - mov rbx,QWORD[16+rsi] - mov rbp,QWORD[24+rsi] - sbb rdx,QWORD[8+rcx] - -$L$sub4x: - mov QWORD[r14*8+rdi],rax - mov QWORD[8+r14*8+rdi],rdx - sbb rbx,QWORD[16+r14*8+rcx] - mov rax,QWORD[32+r14*8+rsi] - mov rdx,QWORD[40+r14*8+rsi] - sbb rbp,QWORD[24+r14*8+rcx] - mov QWORD[16+r14*8+rdi],rbx - mov QWORD[24+r14*8+rdi],rbp - sbb rax,QWORD[32+r14*8+rcx] - mov rbx,QWORD[48+r14*8+rsi] - mov rbp,QWORD[56+r14*8+rsi] - sbb rdx,QWORD[40+r14*8+rcx] - lea r14,[4+r14] - dec r15 - jnz NEAR $L$sub4x - - mov QWORD[r14*8+rdi],rax - mov rax,QWORD[32+r14*8+rsi] - sbb rbx,QWORD[16+r14*8+rcx] - mov QWORD[8+r14*8+rdi],rdx - sbb rbp,QWORD[24+r14*8+rcx] - mov QWORD[16+r14*8+rdi],rbx - - sbb rax,0 - mov QWORD[24+r14*8+rdi],rbp - pxor xmm0,xmm0 -DB 102,72,15,110,224 - pcmpeqd xmm5,xmm5 - pshufd xmm4,xmm4,0 - mov r15,r9 - pxor xmm5,xmm4 - shr r15,2 - xor eax,eax - - jmp NEAR $L$copy4x -ALIGN 16 -$L$copy4x: - movdqa xmm1,XMMWORD[rax*1+rsp] - movdqu xmm2,XMMWORD[rax*1+rdi] - pand xmm1,xmm4 - pand xmm2,xmm5 - movdqa xmm3,XMMWORD[16+rax*1+rsp] - movdqa XMMWORD[rax*1+rsp],xmm0 - por xmm1,xmm2 - movdqu xmm2,XMMWORD[16+rax*1+rdi] - movdqu XMMWORD[rax*1+rdi],xmm1 - pand xmm3,xmm4 - pand xmm2,xmm5 - movdqa XMMWORD[16+rax*1+rsp],xmm0 - por xmm3,xmm2 - movdqu XMMWORD[16+rax*1+rdi],xmm3 - lea rax,[32+rax] - dec r15 - jnz NEAR $L$copy4x - mov rsi,QWORD[8+r9*8+rsp] - mov rax,1 - mov r15,QWORD[((-48))+rsi] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$mul4x_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mul4x_mont: -EXTERN bn_sqrx8x_internal -EXTERN bn_sqr8x_internal - - -ALIGN 32 -bn_sqr8x_mont: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_bn_sqr8x_mont: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov rax,rsp -$L$sqr8x_enter: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 -$L$sqr8x_prologue: - - mov r10d,r9d - shl r9d,3 - shl r10,3+2 - neg r9 - - - - - - - lea r11,[((-64))+r9*2+rsp] - mov rbp,rsp - mov r8,QWORD[r8] - sub r11,rsi - and r11,4095 - cmp r10,r11 - jb NEAR $L$sqr8x_sp_alt - sub rbp,r11 - lea rbp,[((-64))+r9*2+rbp] - jmp NEAR $L$sqr8x_sp_done - -ALIGN 32 -$L$sqr8x_sp_alt: - lea r10,[((4096-64))+r9*2] - lea rbp,[((-64))+r9*2+rbp] - sub r11,r10 - mov r10,0 - cmovc r11,r10 - sub rbp,r11 -$L$sqr8x_sp_done: - and rbp,-64 - mov r11,rsp - sub r11,rbp - and r11,-4096 - lea rsp,[rbp*1+r11] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$sqr8x_page_walk - jmp NEAR $L$sqr8x_page_walk_done - -ALIGN 16 -$L$sqr8x_page_walk: - lea rsp,[((-4096))+rsp] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$sqr8x_page_walk -$L$sqr8x_page_walk_done: - - mov r10,r9 - neg r9 - - mov QWORD[32+rsp],r8 - mov QWORD[40+rsp],rax -$L$sqr8x_body: - -DB 102,72,15,110,209 - pxor xmm0,xmm0 -DB 102,72,15,110,207 -DB 102,73,15,110,218 - mov eax,DWORD[((OPENSSL_ia32cap_P+8))] - and eax,0x80100 - cmp eax,0x80100 - jne NEAR $L$sqr8x_nox - - call bn_sqrx8x_internal - - - - - lea rbx,[rcx*1+r8] - mov r9,rcx - mov rdx,rcx -DB 102,72,15,126,207 - sar rcx,3+2 - jmp NEAR $L$sqr8x_sub - -ALIGN 32 -$L$sqr8x_nox: - call bn_sqr8x_internal - - - - - lea rbx,[r9*1+rdi] - mov rcx,r9 - mov rdx,r9 -DB 102,72,15,126,207 - sar rcx,3+2 - jmp NEAR $L$sqr8x_sub - -ALIGN 32 -$L$sqr8x_sub: - mov r12,QWORD[rbx] - mov r13,QWORD[8+rbx] - mov r14,QWORD[16+rbx] - mov r15,QWORD[24+rbx] - lea rbx,[32+rbx] - sbb r12,QWORD[rbp] - sbb r13,QWORD[8+rbp] - sbb r14,QWORD[16+rbp] - sbb r15,QWORD[24+rbp] - lea rbp,[32+rbp] - mov QWORD[rdi],r12 - mov QWORD[8+rdi],r13 - mov QWORD[16+rdi],r14 - mov QWORD[24+rdi],r15 - lea rdi,[32+rdi] - inc rcx - jnz NEAR $L$sqr8x_sub - - sbb rax,0 - lea rbx,[r9*1+rbx] - lea rdi,[r9*1+rdi] - -DB 102,72,15,110,200 - pxor xmm0,xmm0 - pshufd xmm1,xmm1,0 - mov rsi,QWORD[40+rsp] - jmp NEAR $L$sqr8x_cond_copy - -ALIGN 32 -$L$sqr8x_cond_copy: - movdqa xmm2,XMMWORD[rbx] - movdqa xmm3,XMMWORD[16+rbx] - lea rbx,[32+rbx] - movdqu xmm4,XMMWORD[rdi] - movdqu xmm5,XMMWORD[16+rdi] - lea rdi,[32+rdi] - movdqa XMMWORD[(-32)+rbx],xmm0 - movdqa XMMWORD[(-16)+rbx],xmm0 - movdqa XMMWORD[(-32)+rdx*1+rbx],xmm0 - movdqa XMMWORD[(-16)+rdx*1+rbx],xmm0 - pcmpeqd xmm0,xmm1 - pand xmm2,xmm1 - pand xmm3,xmm1 - pand xmm4,xmm0 - pand xmm5,xmm0 - pxor xmm0,xmm0 - por xmm4,xmm2 - por xmm5,xmm3 - movdqu XMMWORD[(-32)+rdi],xmm4 - movdqu XMMWORD[(-16)+rdi],xmm5 - add r9,32 - jnz NEAR $L$sqr8x_cond_copy - - mov rax,1 - mov r15,QWORD[((-48))+rsi] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$sqr8x_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_bn_sqr8x_mont: - -ALIGN 32 -bn_mulx4x_mont: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_bn_mulx4x_mont: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov rax,rsp -$L$mulx4x_enter: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 -$L$mulx4x_prologue: - - shl r9d,3 - xor r10,r10 - sub r10,r9 - mov r8,QWORD[r8] - lea rbp,[((-72))+r10*1+rsp] - and rbp,-128 - mov r11,rsp - sub r11,rbp - and r11,-4096 - lea rsp,[rbp*1+r11] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$mulx4x_page_walk - jmp NEAR $L$mulx4x_page_walk_done - -ALIGN 16 -$L$mulx4x_page_walk: - lea rsp,[((-4096))+rsp] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$mulx4x_page_walk -$L$mulx4x_page_walk_done: - - lea r10,[r9*1+rdx] - - - - - - - - - - - - - mov QWORD[rsp],r9 - shr r9,5 - mov QWORD[16+rsp],r10 - sub r9,1 - mov QWORD[24+rsp],r8 - mov QWORD[32+rsp],rdi - mov QWORD[40+rsp],rax - mov QWORD[48+rsp],r9 - jmp NEAR $L$mulx4x_body - -ALIGN 32 -$L$mulx4x_body: - lea rdi,[8+rdx] - mov rdx,QWORD[rdx] - lea rbx,[((64+32))+rsp] - mov r9,rdx - - mulx rax,r8,QWORD[rsi] - mulx r14,r11,QWORD[8+rsi] - add r11,rax - mov QWORD[8+rsp],rdi - mulx r13,r12,QWORD[16+rsi] - adc r12,r14 - adc r13,0 - - mov rdi,r8 - imul r8,QWORD[24+rsp] - xor rbp,rbp - - mulx r14,rax,QWORD[24+rsi] - mov rdx,r8 - lea rsi,[32+rsi] - adcx r13,rax - adcx r14,rbp - - mulx r10,rax,QWORD[rcx] - adcx rdi,rax - adox r10,r11 - mulx r11,rax,QWORD[8+rcx] - adcx r10,rax - adox r11,r12 -DB 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00 - mov rdi,QWORD[48+rsp] - mov QWORD[((-32))+rbx],r10 - adcx r11,rax - adox r12,r13 - mulx r15,rax,QWORD[24+rcx] - mov rdx,r9 - mov QWORD[((-24))+rbx],r11 - adcx r12,rax - adox r15,rbp - lea rcx,[32+rcx] - mov QWORD[((-16))+rbx],r12 - - jmp NEAR $L$mulx4x_1st - -ALIGN 32 -$L$mulx4x_1st: - adcx r15,rbp - mulx rax,r10,QWORD[rsi] - adcx r10,r14 - mulx r14,r11,QWORD[8+rsi] - adcx r11,rax - mulx rax,r12,QWORD[16+rsi] - adcx r12,r14 - mulx r14,r13,QWORD[24+rsi] -DB 0x67,0x67 - mov rdx,r8 - adcx r13,rax - adcx r14,rbp - lea rsi,[32+rsi] - lea rbx,[32+rbx] - - adox r10,r15 - mulx r15,rax,QWORD[rcx] - adcx r10,rax - adox r11,r15 - mulx r15,rax,QWORD[8+rcx] - adcx r11,rax - adox r12,r15 - mulx r15,rax,QWORD[16+rcx] - mov QWORD[((-40))+rbx],r10 - adcx r12,rax - mov QWORD[((-32))+rbx],r11 - adox r13,r15 - mulx r15,rax,QWORD[24+rcx] - mov rdx,r9 - mov QWORD[((-24))+rbx],r12 - adcx r13,rax - adox r15,rbp - lea rcx,[32+rcx] - mov QWORD[((-16))+rbx],r13 - - dec rdi - jnz NEAR $L$mulx4x_1st - - mov rax,QWORD[rsp] - mov rdi,QWORD[8+rsp] - adc r15,rbp - add r14,r15 - sbb r15,r15 - mov QWORD[((-8))+rbx],r14 - jmp NEAR $L$mulx4x_outer - -ALIGN 32 -$L$mulx4x_outer: - mov rdx,QWORD[rdi] - lea rdi,[8+rdi] - sub rsi,rax - mov QWORD[rbx],r15 - lea rbx,[((64+32))+rsp] - sub rcx,rax - - mulx r11,r8,QWORD[rsi] - xor ebp,ebp - mov r9,rdx - mulx r12,r14,QWORD[8+rsi] - adox r8,QWORD[((-32))+rbx] - adcx r11,r14 - mulx r13,r15,QWORD[16+rsi] - adox r11,QWORD[((-24))+rbx] - adcx r12,r15 - adox r12,QWORD[((-16))+rbx] - adcx r13,rbp - adox r13,rbp - - mov QWORD[8+rsp],rdi - mov r15,r8 - imul r8,QWORD[24+rsp] - xor ebp,ebp - - mulx r14,rax,QWORD[24+rsi] - mov rdx,r8 - adcx r13,rax - adox r13,QWORD[((-8))+rbx] - adcx r14,rbp - lea rsi,[32+rsi] - adox r14,rbp - - mulx r10,rax,QWORD[rcx] - adcx r15,rax - adox r10,r11 - mulx r11,rax,QWORD[8+rcx] - adcx r10,rax - adox r11,r12 - mulx r12,rax,QWORD[16+rcx] - mov QWORD[((-32))+rbx],r10 - adcx r11,rax - adox r12,r13 - mulx r15,rax,QWORD[24+rcx] - mov rdx,r9 - mov QWORD[((-24))+rbx],r11 - lea rcx,[32+rcx] - adcx r12,rax - adox r15,rbp - mov rdi,QWORD[48+rsp] - mov QWORD[((-16))+rbx],r12 - - jmp NEAR $L$mulx4x_inner - -ALIGN 32 -$L$mulx4x_inner: - mulx rax,r10,QWORD[rsi] - adcx r15,rbp - adox r10,r14 - mulx r14,r11,QWORD[8+rsi] - adcx r10,QWORD[rbx] - adox r11,rax - mulx rax,r12,QWORD[16+rsi] - adcx r11,QWORD[8+rbx] - adox r12,r14 - mulx r14,r13,QWORD[24+rsi] - mov rdx,r8 - adcx r12,QWORD[16+rbx] - adox r13,rax - adcx r13,QWORD[24+rbx] - adox r14,rbp - lea rsi,[32+rsi] - lea rbx,[32+rbx] - adcx r14,rbp - - adox r10,r15 - mulx r15,rax,QWORD[rcx] - adcx r10,rax - adox r11,r15 - mulx r15,rax,QWORD[8+rcx] - adcx r11,rax - adox r12,r15 - mulx r15,rax,QWORD[16+rcx] - mov QWORD[((-40))+rbx],r10 - adcx r12,rax - adox r13,r15 - mulx r15,rax,QWORD[24+rcx] - mov rdx,r9 - mov QWORD[((-32))+rbx],r11 - mov QWORD[((-24))+rbx],r12 - adcx r13,rax - adox r15,rbp - lea rcx,[32+rcx] - mov QWORD[((-16))+rbx],r13 - - dec rdi - jnz NEAR $L$mulx4x_inner - - mov rax,QWORD[rsp] - mov rdi,QWORD[8+rsp] - adc r15,rbp - sub rbp,QWORD[rbx] - adc r14,r15 - sbb r15,r15 - mov QWORD[((-8))+rbx],r14 - - cmp rdi,QWORD[16+rsp] - jne NEAR $L$mulx4x_outer - - lea rbx,[64+rsp] - sub rcx,rax - neg r15 - mov rdx,rax - shr rax,3+2 - mov rdi,QWORD[32+rsp] - jmp NEAR $L$mulx4x_sub - -ALIGN 32 -$L$mulx4x_sub: - mov r11,QWORD[rbx] - mov r12,QWORD[8+rbx] - mov r13,QWORD[16+rbx] - mov r14,QWORD[24+rbx] - lea rbx,[32+rbx] - sbb r11,QWORD[rcx] - sbb r12,QWORD[8+rcx] - sbb r13,QWORD[16+rcx] - sbb r14,QWORD[24+rcx] - lea rcx,[32+rcx] - mov QWORD[rdi],r11 - mov QWORD[8+rdi],r12 - mov QWORD[16+rdi],r13 - mov QWORD[24+rdi],r14 - lea rdi,[32+rdi] - dec rax - jnz NEAR $L$mulx4x_sub - - sbb r15,0 - lea rbx,[64+rsp] - sub rdi,rdx - -DB 102,73,15,110,207 - pxor xmm0,xmm0 - pshufd xmm1,xmm1,0 - mov rsi,QWORD[40+rsp] - jmp NEAR $L$mulx4x_cond_copy - -ALIGN 32 -$L$mulx4x_cond_copy: - movdqa xmm2,XMMWORD[rbx] - movdqa xmm3,XMMWORD[16+rbx] - lea rbx,[32+rbx] - movdqu xmm4,XMMWORD[rdi] - movdqu xmm5,XMMWORD[16+rdi] - lea rdi,[32+rdi] - movdqa XMMWORD[(-32)+rbx],xmm0 - movdqa XMMWORD[(-16)+rbx],xmm0 - pcmpeqd xmm0,xmm1 - pand xmm2,xmm1 - pand xmm3,xmm1 - pand xmm4,xmm0 - pand xmm5,xmm0 - pxor xmm0,xmm0 - por xmm4,xmm2 - por xmm5,xmm3 - movdqu XMMWORD[(-32)+rdi],xmm4 - movdqu XMMWORD[(-16)+rdi],xmm5 - sub rdx,32 - jnz NEAR $L$mulx4x_cond_copy - - mov QWORD[rbx],rdx - - mov rax,1 - mov r15,QWORD[((-48))+rsi] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$mulx4x_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mulx4x_mont: -DB 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 -DB 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56 -DB 54,95,54,52,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 -ALIGN 16 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -mul_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - mov r10,QWORD[192+r8] - mov rax,QWORD[8+r10*8+rax] - - jmp NEAR $L$common_pop_regs - - - -ALIGN 16 -sqr_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_pop_regs - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[8+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - mov rax,QWORD[40+rax] - -$L$common_pop_regs: - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$common_seh_tail: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_bn_mul_mont wrt ..imagebase - DD $L$SEH_end_bn_mul_mont wrt ..imagebase - DD $L$SEH_info_bn_mul_mont wrt ..imagebase - - DD $L$SEH_begin_bn_mul4x_mont wrt ..imagebase - DD $L$SEH_end_bn_mul4x_mont wrt ..imagebase - DD $L$SEH_info_bn_mul4x_mont wrt ..imagebase - - DD $L$SEH_begin_bn_sqr8x_mont wrt ..imagebase - DD $L$SEH_end_bn_sqr8x_mont wrt ..imagebase - DD $L$SEH_info_bn_sqr8x_mont wrt ..imagebase - DD $L$SEH_begin_bn_mulx4x_mont wrt ..imagebase - DD $L$SEH_end_bn_mulx4x_mont wrt ..imagebase - DD $L$SEH_info_bn_mulx4x_mont wrt ..imagebase -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_bn_mul_mont: -DB 9,0,0,0 - DD mul_handler wrt ..imagebase - DD $L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase -$L$SEH_info_bn_mul4x_mont: -DB 9,0,0,0 - DD mul_handler wrt ..imagebase - DD $L$mul4x_body wrt ..imagebase,$L$mul4x_epilogue wrt ..imagebase -$L$SEH_info_bn_sqr8x_mont: -DB 9,0,0,0 - DD sqr_handler wrt ..imagebase - DD $L$sqr8x_prologue wrt ..imagebase,$L$sqr8x_body wrt ..imagebase,$L$sqr8x_epilogue wrt ..imagebase -ALIGN 8 -$L$SEH_info_bn_mulx4x_mont: -DB 9,0,0,0 - DD sqr_handler wrt ..imagebase - DD $L$mulx4x_prologue wrt ..imagebase,$L$mulx4x_body wrt ..imagebase,$L$mulx4x_epilogue wrt ..imagebase -ALIGN 8 +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +EXTERN OPENSSL_ia32cap_P + +global bn_mul_mont + +ALIGN 16 +bn_mul_mont: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_bn_mul_mont: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov r9d,r9d + mov rax,rsp + test r9d,3 + jnz NEAR $L$mul_enter + cmp r9d,8 + jb NEAR $L$mul_enter + mov r11d,DWORD[((OPENSSL_ia32cap_P+8))] + cmp rdx,rsi + jne NEAR $L$mul4x_enter + test r9d,7 + jz NEAR $L$sqr8x_enter + jmp NEAR $L$mul4x_enter + +ALIGN 16 +$L$mul_enter: + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + + neg r9 + mov r11,rsp + lea r10,[((-16))+r9*8+rsp] + neg r9 + and r10,-1024 + + + + + + + + sub r11,r10 + and r11,-4096 + lea rsp,[r11*1+r10] + mov r11,QWORD[rsp] + cmp rsp,r10 + ja NEAR $L$mul_page_walk + jmp NEAR $L$mul_page_walk_done + +ALIGN 16 +$L$mul_page_walk: + lea rsp,[((-4096))+rsp] + mov r11,QWORD[rsp] + cmp rsp,r10 + ja NEAR $L$mul_page_walk +$L$mul_page_walk_done: + + mov QWORD[8+r9*8+rsp],rax +$L$mul_body: + mov r12,rdx + mov r8,QWORD[r8] + mov rbx,QWORD[r12] + mov rax,QWORD[rsi] + + xor r14,r14 + xor r15,r15 + + mov rbp,r8 + mul rbx + mov r10,rax + mov rax,QWORD[rcx] + + imul rbp,r10 + mov r11,rdx + + mul rbp + add r10,rax + mov rax,QWORD[8+rsi] + adc rdx,0 + mov r13,rdx + + lea r15,[1+r15] + jmp NEAR $L$1st_enter + +ALIGN 16 +$L$1st: + add r13,rax + mov rax,QWORD[r15*8+rsi] + adc rdx,0 + add r13,r11 + mov r11,r10 + adc rdx,0 + mov QWORD[((-16))+r15*8+rsp],r13 + mov r13,rdx + +$L$1st_enter: + mul rbx + add r11,rax + mov rax,QWORD[r15*8+rcx] + adc rdx,0 + lea r15,[1+r15] + mov r10,rdx + + mul rbp + cmp r15,r9 + jne NEAR $L$1st + + add r13,rax + mov rax,QWORD[rsi] + adc rdx,0 + add r13,r11 + adc rdx,0 + mov QWORD[((-16))+r15*8+rsp],r13 + mov r13,rdx + mov r11,r10 + + xor rdx,rdx + add r13,r11 + adc rdx,0 + mov QWORD[((-8))+r9*8+rsp],r13 + mov QWORD[r9*8+rsp],rdx + + lea r14,[1+r14] + jmp NEAR $L$outer +ALIGN 16 +$L$outer: + mov rbx,QWORD[r14*8+r12] + xor r15,r15 + mov rbp,r8 + mov r10,QWORD[rsp] + mul rbx + add r10,rax + mov rax,QWORD[rcx] + adc rdx,0 + + imul rbp,r10 + mov r11,rdx + + mul rbp + add r10,rax + mov rax,QWORD[8+rsi] + adc rdx,0 + mov r10,QWORD[8+rsp] + mov r13,rdx + + lea r15,[1+r15] + jmp NEAR $L$inner_enter + +ALIGN 16 +$L$inner: + add r13,rax + mov rax,QWORD[r15*8+rsi] + adc rdx,0 + add r13,r10 + mov r10,QWORD[r15*8+rsp] + adc rdx,0 + mov QWORD[((-16))+r15*8+rsp],r13 + mov r13,rdx + +$L$inner_enter: + mul rbx + add r11,rax + mov rax,QWORD[r15*8+rcx] + adc rdx,0 + add r10,r11 + mov r11,rdx + adc r11,0 + lea r15,[1+r15] + + mul rbp + cmp r15,r9 + jne NEAR $L$inner + + add r13,rax + mov rax,QWORD[rsi] + adc rdx,0 + add r13,r10 + mov r10,QWORD[r15*8+rsp] + adc rdx,0 + mov QWORD[((-16))+r15*8+rsp],r13 + mov r13,rdx + + xor rdx,rdx + add r13,r11 + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-8))+r9*8+rsp],r13 + mov QWORD[r9*8+rsp],rdx + + lea r14,[1+r14] + cmp r14,r9 + jb NEAR $L$outer + + xor r14,r14 + mov rax,QWORD[rsp] + mov r15,r9 + +ALIGN 16 +$L$sub: sbb rax,QWORD[r14*8+rcx] + mov QWORD[r14*8+rdi],rax + mov rax,QWORD[8+r14*8+rsp] + lea r14,[1+r14] + dec r15 + jnz NEAR $L$sub + + sbb rax,0 + mov rbx,-1 + xor rbx,rax + xor r14,r14 + mov r15,r9 + +$L$copy: + mov rcx,QWORD[r14*8+rdi] + mov rdx,QWORD[r14*8+rsp] + and rcx,rbx + and rdx,rax + mov QWORD[r14*8+rsp],r9 + or rdx,rcx + mov QWORD[r14*8+rdi],rdx + lea r14,[1+r14] + sub r15,1 + jnz NEAR $L$copy + + mov rsi,QWORD[8+r9*8+rsp] + mov rax,1 + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$mul_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_bn_mul_mont: + +ALIGN 16 +bn_mul4x_mont: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_bn_mul4x_mont: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov r9d,r9d + mov rax,rsp +$L$mul4x_enter: + and r11d,0x80100 + cmp r11d,0x80100 + je NEAR $L$mulx4x_enter + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + + neg r9 + mov r11,rsp + lea r10,[((-32))+r9*8+rsp] + neg r9 + and r10,-1024 + + sub r11,r10 + and r11,-4096 + lea rsp,[r11*1+r10] + mov r11,QWORD[rsp] + cmp rsp,r10 + ja NEAR $L$mul4x_page_walk + jmp NEAR $L$mul4x_page_walk_done + +$L$mul4x_page_walk: + lea rsp,[((-4096))+rsp] + mov r11,QWORD[rsp] + cmp rsp,r10 + ja NEAR $L$mul4x_page_walk +$L$mul4x_page_walk_done: + + mov QWORD[8+r9*8+rsp],rax +$L$mul4x_body: + mov QWORD[16+r9*8+rsp],rdi + mov r12,rdx + mov r8,QWORD[r8] + mov rbx,QWORD[r12] + mov rax,QWORD[rsi] + + xor r14,r14 + xor r15,r15 + + mov rbp,r8 + mul rbx + mov r10,rax + mov rax,QWORD[rcx] + + imul rbp,r10 + mov r11,rdx + + mul rbp + add r10,rax + mov rax,QWORD[8+rsi] + adc rdx,0 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[8+rcx] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[16+rsi] + adc rdx,0 + add rdi,r11 + lea r15,[4+r15] + adc rdx,0 + mov QWORD[rsp],rdi + mov r13,rdx + jmp NEAR $L$1st4x +ALIGN 16 +$L$1st4x: + mul rbx + add r10,rax + mov rax,QWORD[((-16))+r15*8+rcx] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[((-8))+r15*8+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-24))+r15*8+rsp],r13 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[((-8))+r15*8+rcx] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[r15*8+rsi] + adc rdx,0 + add rdi,r11 + adc rdx,0 + mov QWORD[((-16))+r15*8+rsp],rdi + mov r13,rdx + + mul rbx + add r10,rax + mov rax,QWORD[r15*8+rcx] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[8+r15*8+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-8))+r15*8+rsp],r13 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[8+r15*8+rcx] + adc rdx,0 + lea r15,[4+r15] + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[((-16))+r15*8+rsi] + adc rdx,0 + add rdi,r11 + adc rdx,0 + mov QWORD[((-32))+r15*8+rsp],rdi + mov r13,rdx + cmp r15,r9 + jb NEAR $L$1st4x + + mul rbx + add r10,rax + mov rax,QWORD[((-16))+r15*8+rcx] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[((-8))+r15*8+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-24))+r15*8+rsp],r13 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[((-8))+r15*8+rcx] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[rsi] + adc rdx,0 + add rdi,r11 + adc rdx,0 + mov QWORD[((-16))+r15*8+rsp],rdi + mov r13,rdx + + xor rdi,rdi + add r13,r10 + adc rdi,0 + mov QWORD[((-8))+r15*8+rsp],r13 + mov QWORD[r15*8+rsp],rdi + + lea r14,[1+r14] +ALIGN 4 +$L$outer4x: + mov rbx,QWORD[r14*8+r12] + xor r15,r15 + mov r10,QWORD[rsp] + mov rbp,r8 + mul rbx + add r10,rax + mov rax,QWORD[rcx] + adc rdx,0 + + imul rbp,r10 + mov r11,rdx + + mul rbp + add r10,rax + mov rax,QWORD[8+rsi] + adc rdx,0 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[8+rcx] + adc rdx,0 + add r11,QWORD[8+rsp] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[16+rsi] + adc rdx,0 + add rdi,r11 + lea r15,[4+r15] + adc rdx,0 + mov QWORD[rsp],rdi + mov r13,rdx + jmp NEAR $L$inner4x +ALIGN 16 +$L$inner4x: + mul rbx + add r10,rax + mov rax,QWORD[((-16))+r15*8+rcx] + adc rdx,0 + add r10,QWORD[((-16))+r15*8+rsp] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[((-8))+r15*8+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-24))+r15*8+rsp],r13 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[((-8))+r15*8+rcx] + adc rdx,0 + add r11,QWORD[((-8))+r15*8+rsp] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[r15*8+rsi] + adc rdx,0 + add rdi,r11 + adc rdx,0 + mov QWORD[((-16))+r15*8+rsp],rdi + mov r13,rdx + + mul rbx + add r10,rax + mov rax,QWORD[r15*8+rcx] + adc rdx,0 + add r10,QWORD[r15*8+rsp] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[8+r15*8+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-8))+r15*8+rsp],r13 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[8+r15*8+rcx] + adc rdx,0 + add r11,QWORD[8+r15*8+rsp] + adc rdx,0 + lea r15,[4+r15] + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[((-16))+r15*8+rsi] + adc rdx,0 + add rdi,r11 + adc rdx,0 + mov QWORD[((-32))+r15*8+rsp],rdi + mov r13,rdx + cmp r15,r9 + jb NEAR $L$inner4x + + mul rbx + add r10,rax + mov rax,QWORD[((-16))+r15*8+rcx] + adc rdx,0 + add r10,QWORD[((-16))+r15*8+rsp] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[((-8))+r15*8+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-24))+r15*8+rsp],r13 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[((-8))+r15*8+rcx] + adc rdx,0 + add r11,QWORD[((-8))+r15*8+rsp] + adc rdx,0 + lea r14,[1+r14] + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[rsi] + adc rdx,0 + add rdi,r11 + adc rdx,0 + mov QWORD[((-16))+r15*8+rsp],rdi + mov r13,rdx + + xor rdi,rdi + add r13,r10 + adc rdi,0 + add r13,QWORD[r9*8+rsp] + adc rdi,0 + mov QWORD[((-8))+r15*8+rsp],r13 + mov QWORD[r15*8+rsp],rdi + + cmp r14,r9 + jb NEAR $L$outer4x + mov rdi,QWORD[16+r9*8+rsp] + lea r15,[((-4))+r9] + mov rax,QWORD[rsp] + mov rdx,QWORD[8+rsp] + shr r15,2 + lea rsi,[rsp] + xor r14,r14 + + sub rax,QWORD[rcx] + mov rbx,QWORD[16+rsi] + mov rbp,QWORD[24+rsi] + sbb rdx,QWORD[8+rcx] + +$L$sub4x: + mov QWORD[r14*8+rdi],rax + mov QWORD[8+r14*8+rdi],rdx + sbb rbx,QWORD[16+r14*8+rcx] + mov rax,QWORD[32+r14*8+rsi] + mov rdx,QWORD[40+r14*8+rsi] + sbb rbp,QWORD[24+r14*8+rcx] + mov QWORD[16+r14*8+rdi],rbx + mov QWORD[24+r14*8+rdi],rbp + sbb rax,QWORD[32+r14*8+rcx] + mov rbx,QWORD[48+r14*8+rsi] + mov rbp,QWORD[56+r14*8+rsi] + sbb rdx,QWORD[40+r14*8+rcx] + lea r14,[4+r14] + dec r15 + jnz NEAR $L$sub4x + + mov QWORD[r14*8+rdi],rax + mov rax,QWORD[32+r14*8+rsi] + sbb rbx,QWORD[16+r14*8+rcx] + mov QWORD[8+r14*8+rdi],rdx + sbb rbp,QWORD[24+r14*8+rcx] + mov QWORD[16+r14*8+rdi],rbx + + sbb rax,0 + mov QWORD[24+r14*8+rdi],rbp + pxor xmm0,xmm0 +DB 102,72,15,110,224 + pcmpeqd xmm5,xmm5 + pshufd xmm4,xmm4,0 + mov r15,r9 + pxor xmm5,xmm4 + shr r15,2 + xor eax,eax + + jmp NEAR $L$copy4x +ALIGN 16 +$L$copy4x: + movdqa xmm1,XMMWORD[rax*1+rsp] + movdqu xmm2,XMMWORD[rax*1+rdi] + pand xmm1,xmm4 + pand xmm2,xmm5 + movdqa xmm3,XMMWORD[16+rax*1+rsp] + movdqa XMMWORD[rax*1+rsp],xmm0 + por xmm1,xmm2 + movdqu xmm2,XMMWORD[16+rax*1+rdi] + movdqu XMMWORD[rax*1+rdi],xmm1 + pand xmm3,xmm4 + pand xmm2,xmm5 + movdqa XMMWORD[16+rax*1+rsp],xmm0 + por xmm3,xmm2 + movdqu XMMWORD[16+rax*1+rdi],xmm3 + lea rax,[32+rax] + dec r15 + jnz NEAR $L$copy4x + mov rsi,QWORD[8+r9*8+rsp] + mov rax,1 + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$mul4x_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_bn_mul4x_mont: +EXTERN bn_sqrx8x_internal +EXTERN bn_sqr8x_internal + + +ALIGN 32 +bn_sqr8x_mont: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_bn_sqr8x_mont: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov rax,rsp +$L$sqr8x_enter: + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 +$L$sqr8x_prologue: + + mov r10d,r9d + shl r9d,3 + shl r10,3+2 + neg r9 + + + + + + + lea r11,[((-64))+r9*2+rsp] + mov rbp,rsp + mov r8,QWORD[r8] + sub r11,rsi + and r11,4095 + cmp r10,r11 + jb NEAR $L$sqr8x_sp_alt + sub rbp,r11 + lea rbp,[((-64))+r9*2+rbp] + jmp NEAR $L$sqr8x_sp_done + +ALIGN 32 +$L$sqr8x_sp_alt: + lea r10,[((4096-64))+r9*2] + lea rbp,[((-64))+r9*2+rbp] + sub r11,r10 + mov r10,0 + cmovc r11,r10 + sub rbp,r11 +$L$sqr8x_sp_done: + and rbp,-64 + mov r11,rsp + sub r11,rbp + and r11,-4096 + lea rsp,[rbp*1+r11] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$sqr8x_page_walk + jmp NEAR $L$sqr8x_page_walk_done + +ALIGN 16 +$L$sqr8x_page_walk: + lea rsp,[((-4096))+rsp] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$sqr8x_page_walk +$L$sqr8x_page_walk_done: + + mov r10,r9 + neg r9 + + mov QWORD[32+rsp],r8 + mov QWORD[40+rsp],rax +$L$sqr8x_body: + +DB 102,72,15,110,209 + pxor xmm0,xmm0 +DB 102,72,15,110,207 +DB 102,73,15,110,218 + mov eax,DWORD[((OPENSSL_ia32cap_P+8))] + and eax,0x80100 + cmp eax,0x80100 + jne NEAR $L$sqr8x_nox + + call bn_sqrx8x_internal + + + + + lea rbx,[rcx*1+r8] + mov r9,rcx + mov rdx,rcx +DB 102,72,15,126,207 + sar rcx,3+2 + jmp NEAR $L$sqr8x_sub + +ALIGN 32 +$L$sqr8x_nox: + call bn_sqr8x_internal + + + + + lea rbx,[r9*1+rdi] + mov rcx,r9 + mov rdx,r9 +DB 102,72,15,126,207 + sar rcx,3+2 + jmp NEAR $L$sqr8x_sub + +ALIGN 32 +$L$sqr8x_sub: + mov r12,QWORD[rbx] + mov r13,QWORD[8+rbx] + mov r14,QWORD[16+rbx] + mov r15,QWORD[24+rbx] + lea rbx,[32+rbx] + sbb r12,QWORD[rbp] + sbb r13,QWORD[8+rbp] + sbb r14,QWORD[16+rbp] + sbb r15,QWORD[24+rbp] + lea rbp,[32+rbp] + mov QWORD[rdi],r12 + mov QWORD[8+rdi],r13 + mov QWORD[16+rdi],r14 + mov QWORD[24+rdi],r15 + lea rdi,[32+rdi] + inc rcx + jnz NEAR $L$sqr8x_sub + + sbb rax,0 + lea rbx,[r9*1+rbx] + lea rdi,[r9*1+rdi] + +DB 102,72,15,110,200 + pxor xmm0,xmm0 + pshufd xmm1,xmm1,0 + mov rsi,QWORD[40+rsp] + jmp NEAR $L$sqr8x_cond_copy + +ALIGN 32 +$L$sqr8x_cond_copy: + movdqa xmm2,XMMWORD[rbx] + movdqa xmm3,XMMWORD[16+rbx] + lea rbx,[32+rbx] + movdqu xmm4,XMMWORD[rdi] + movdqu xmm5,XMMWORD[16+rdi] + lea rdi,[32+rdi] + movdqa XMMWORD[(-32)+rbx],xmm0 + movdqa XMMWORD[(-16)+rbx],xmm0 + movdqa XMMWORD[(-32)+rdx*1+rbx],xmm0 + movdqa XMMWORD[(-16)+rdx*1+rbx],xmm0 + pcmpeqd xmm0,xmm1 + pand xmm2,xmm1 + pand xmm3,xmm1 + pand xmm4,xmm0 + pand xmm5,xmm0 + pxor xmm0,xmm0 + por xmm4,xmm2 + por xmm5,xmm3 + movdqu XMMWORD[(-32)+rdi],xmm4 + movdqu XMMWORD[(-16)+rdi],xmm5 + add r9,32 + jnz NEAR $L$sqr8x_cond_copy + + mov rax,1 + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$sqr8x_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_bn_sqr8x_mont: + +ALIGN 32 +bn_mulx4x_mont: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_bn_mulx4x_mont: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov rax,rsp +$L$mulx4x_enter: + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 +$L$mulx4x_prologue: + + shl r9d,3 + xor r10,r10 + sub r10,r9 + mov r8,QWORD[r8] + lea rbp,[((-72))+r10*1+rsp] + and rbp,-128 + mov r11,rsp + sub r11,rbp + and r11,-4096 + lea rsp,[rbp*1+r11] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$mulx4x_page_walk + jmp NEAR $L$mulx4x_page_walk_done + +ALIGN 16 +$L$mulx4x_page_walk: + lea rsp,[((-4096))+rsp] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$mulx4x_page_walk +$L$mulx4x_page_walk_done: + + lea r10,[r9*1+rdx] + + + + + + + + + + + + + mov QWORD[rsp],r9 + shr r9,5 + mov QWORD[16+rsp],r10 + sub r9,1 + mov QWORD[24+rsp],r8 + mov QWORD[32+rsp],rdi + mov QWORD[40+rsp],rax + mov QWORD[48+rsp],r9 + jmp NEAR $L$mulx4x_body + +ALIGN 32 +$L$mulx4x_body: + lea rdi,[8+rdx] + mov rdx,QWORD[rdx] + lea rbx,[((64+32))+rsp] + mov r9,rdx + + mulx rax,r8,QWORD[rsi] + mulx r14,r11,QWORD[8+rsi] + add r11,rax + mov QWORD[8+rsp],rdi + mulx r13,r12,QWORD[16+rsi] + adc r12,r14 + adc r13,0 + + mov rdi,r8 + imul r8,QWORD[24+rsp] + xor rbp,rbp + + mulx r14,rax,QWORD[24+rsi] + mov rdx,r8 + lea rsi,[32+rsi] + adcx r13,rax + adcx r14,rbp + + mulx r10,rax,QWORD[rcx] + adcx rdi,rax + adox r10,r11 + mulx r11,rax,QWORD[8+rcx] + adcx r10,rax + adox r11,r12 +DB 0xc4,0x62,0xfb,0xf6,0xa1,0x10,0x00,0x00,0x00 + mov rdi,QWORD[48+rsp] + mov QWORD[((-32))+rbx],r10 + adcx r11,rax + adox r12,r13 + mulx r15,rax,QWORD[24+rcx] + mov rdx,r9 + mov QWORD[((-24))+rbx],r11 + adcx r12,rax + adox r15,rbp + lea rcx,[32+rcx] + mov QWORD[((-16))+rbx],r12 + + jmp NEAR $L$mulx4x_1st + +ALIGN 32 +$L$mulx4x_1st: + adcx r15,rbp + mulx rax,r10,QWORD[rsi] + adcx r10,r14 + mulx r14,r11,QWORD[8+rsi] + adcx r11,rax + mulx rax,r12,QWORD[16+rsi] + adcx r12,r14 + mulx r14,r13,QWORD[24+rsi] +DB 0x67,0x67 + mov rdx,r8 + adcx r13,rax + adcx r14,rbp + lea rsi,[32+rsi] + lea rbx,[32+rbx] + + adox r10,r15 + mulx r15,rax,QWORD[rcx] + adcx r10,rax + adox r11,r15 + mulx r15,rax,QWORD[8+rcx] + adcx r11,rax + adox r12,r15 + mulx r15,rax,QWORD[16+rcx] + mov QWORD[((-40))+rbx],r10 + adcx r12,rax + mov QWORD[((-32))+rbx],r11 + adox r13,r15 + mulx r15,rax,QWORD[24+rcx] + mov rdx,r9 + mov QWORD[((-24))+rbx],r12 + adcx r13,rax + adox r15,rbp + lea rcx,[32+rcx] + mov QWORD[((-16))+rbx],r13 + + dec rdi + jnz NEAR $L$mulx4x_1st + + mov rax,QWORD[rsp] + mov rdi,QWORD[8+rsp] + adc r15,rbp + add r14,r15 + sbb r15,r15 + mov QWORD[((-8))+rbx],r14 + jmp NEAR $L$mulx4x_outer + +ALIGN 32 +$L$mulx4x_outer: + mov rdx,QWORD[rdi] + lea rdi,[8+rdi] + sub rsi,rax + mov QWORD[rbx],r15 + lea rbx,[((64+32))+rsp] + sub rcx,rax + + mulx r11,r8,QWORD[rsi] + xor ebp,ebp + mov r9,rdx + mulx r12,r14,QWORD[8+rsi] + adox r8,QWORD[((-32))+rbx] + adcx r11,r14 + mulx r13,r15,QWORD[16+rsi] + adox r11,QWORD[((-24))+rbx] + adcx r12,r15 + adox r12,QWORD[((-16))+rbx] + adcx r13,rbp + adox r13,rbp + + mov QWORD[8+rsp],rdi + mov r15,r8 + imul r8,QWORD[24+rsp] + xor ebp,ebp + + mulx r14,rax,QWORD[24+rsi] + mov rdx,r8 + adcx r13,rax + adox r13,QWORD[((-8))+rbx] + adcx r14,rbp + lea rsi,[32+rsi] + adox r14,rbp + + mulx r10,rax,QWORD[rcx] + adcx r15,rax + adox r10,r11 + mulx r11,rax,QWORD[8+rcx] + adcx r10,rax + adox r11,r12 + mulx r12,rax,QWORD[16+rcx] + mov QWORD[((-32))+rbx],r10 + adcx r11,rax + adox r12,r13 + mulx r15,rax,QWORD[24+rcx] + mov rdx,r9 + mov QWORD[((-24))+rbx],r11 + lea rcx,[32+rcx] + adcx r12,rax + adox r15,rbp + mov rdi,QWORD[48+rsp] + mov QWORD[((-16))+rbx],r12 + + jmp NEAR $L$mulx4x_inner + +ALIGN 32 +$L$mulx4x_inner: + mulx rax,r10,QWORD[rsi] + adcx r15,rbp + adox r10,r14 + mulx r14,r11,QWORD[8+rsi] + adcx r10,QWORD[rbx] + adox r11,rax + mulx rax,r12,QWORD[16+rsi] + adcx r11,QWORD[8+rbx] + adox r12,r14 + mulx r14,r13,QWORD[24+rsi] + mov rdx,r8 + adcx r12,QWORD[16+rbx] + adox r13,rax + adcx r13,QWORD[24+rbx] + adox r14,rbp + lea rsi,[32+rsi] + lea rbx,[32+rbx] + adcx r14,rbp + + adox r10,r15 + mulx r15,rax,QWORD[rcx] + adcx r10,rax + adox r11,r15 + mulx r15,rax,QWORD[8+rcx] + adcx r11,rax + adox r12,r15 + mulx r15,rax,QWORD[16+rcx] + mov QWORD[((-40))+rbx],r10 + adcx r12,rax + adox r13,r15 + mulx r15,rax,QWORD[24+rcx] + mov rdx,r9 + mov QWORD[((-32))+rbx],r11 + mov QWORD[((-24))+rbx],r12 + adcx r13,rax + adox r15,rbp + lea rcx,[32+rcx] + mov QWORD[((-16))+rbx],r13 + + dec rdi + jnz NEAR $L$mulx4x_inner + + mov rax,QWORD[rsp] + mov rdi,QWORD[8+rsp] + adc r15,rbp + sub rbp,QWORD[rbx] + adc r14,r15 + sbb r15,r15 + mov QWORD[((-8))+rbx],r14 + + cmp rdi,QWORD[16+rsp] + jne NEAR $L$mulx4x_outer + + lea rbx,[64+rsp] + sub rcx,rax + neg r15 + mov rdx,rax + shr rax,3+2 + mov rdi,QWORD[32+rsp] + jmp NEAR $L$mulx4x_sub + +ALIGN 32 +$L$mulx4x_sub: + mov r11,QWORD[rbx] + mov r12,QWORD[8+rbx] + mov r13,QWORD[16+rbx] + mov r14,QWORD[24+rbx] + lea rbx,[32+rbx] + sbb r11,QWORD[rcx] + sbb r12,QWORD[8+rcx] + sbb r13,QWORD[16+rcx] + sbb r14,QWORD[24+rcx] + lea rcx,[32+rcx] + mov QWORD[rdi],r11 + mov QWORD[8+rdi],r12 + mov QWORD[16+rdi],r13 + mov QWORD[24+rdi],r14 + lea rdi,[32+rdi] + dec rax + jnz NEAR $L$mulx4x_sub + + sbb r15,0 + lea rbx,[64+rsp] + sub rdi,rdx + +DB 102,73,15,110,207 + pxor xmm0,xmm0 + pshufd xmm1,xmm1,0 + mov rsi,QWORD[40+rsp] + jmp NEAR $L$mulx4x_cond_copy + +ALIGN 32 +$L$mulx4x_cond_copy: + movdqa xmm2,XMMWORD[rbx] + movdqa xmm3,XMMWORD[16+rbx] + lea rbx,[32+rbx] + movdqu xmm4,XMMWORD[rdi] + movdqu xmm5,XMMWORD[16+rdi] + lea rdi,[32+rdi] + movdqa XMMWORD[(-32)+rbx],xmm0 + movdqa XMMWORD[(-16)+rbx],xmm0 + pcmpeqd xmm0,xmm1 + pand xmm2,xmm1 + pand xmm3,xmm1 + pand xmm4,xmm0 + pand xmm5,xmm0 + pxor xmm0,xmm0 + por xmm4,xmm2 + por xmm5,xmm3 + movdqu XMMWORD[(-32)+rdi],xmm4 + movdqu XMMWORD[(-16)+rdi],xmm5 + sub rdx,32 + jnz NEAR $L$mulx4x_cond_copy + + mov QWORD[rbx],rdx + + mov rax,1 + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$mulx4x_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_bn_mulx4x_mont: +DB 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 +DB 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56 +DB 54,95,54,52,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 +ALIGN 16 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +mul_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + mov r10,QWORD[192+r8] + mov rax,QWORD[8+r10*8+rax] + + jmp NEAR $L$common_pop_regs + + + +ALIGN 16 +sqr_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_pop_regs + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[8+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + mov rax,QWORD[40+rax] + +$L$common_pop_regs: + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$common_seh_tail: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_bn_mul_mont wrt ..imagebase + DD $L$SEH_end_bn_mul_mont wrt ..imagebase + DD $L$SEH_info_bn_mul_mont wrt ..imagebase + + DD $L$SEH_begin_bn_mul4x_mont wrt ..imagebase + DD $L$SEH_end_bn_mul4x_mont wrt ..imagebase + DD $L$SEH_info_bn_mul4x_mont wrt ..imagebase + + DD $L$SEH_begin_bn_sqr8x_mont wrt ..imagebase + DD $L$SEH_end_bn_sqr8x_mont wrt ..imagebase + DD $L$SEH_info_bn_sqr8x_mont wrt ..imagebase + DD $L$SEH_begin_bn_mulx4x_mont wrt ..imagebase + DD $L$SEH_end_bn_mulx4x_mont wrt ..imagebase + DD $L$SEH_info_bn_mulx4x_mont wrt ..imagebase +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_bn_mul_mont: +DB 9,0,0,0 + DD mul_handler wrt ..imagebase + DD $L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase +$L$SEH_info_bn_mul4x_mont: +DB 9,0,0,0 + DD mul_handler wrt ..imagebase + DD $L$mul4x_body wrt ..imagebase,$L$mul4x_epilogue wrt ..imagebase +$L$SEH_info_bn_sqr8x_mont: +DB 9,0,0,0 + DD sqr_handler wrt ..imagebase + DD $L$sqr8x_prologue wrt ..imagebase,$L$sqr8x_body wrt ..imagebase,$L$sqr8x_epilogue wrt ..imagebase +ALIGN 8 +$L$SEH_info_bn_mulx4x_mont: +DB 9,0,0,0 + DD sqr_handler wrt ..imagebase + DD $L$mulx4x_prologue wrt ..imagebase,$L$mulx4x_body wrt ..imagebase,$L$mulx4x_epilogue wrt ..imagebase +ALIGN 8 diff --git a/tmp64/x86_64-mont5.asm b/tmp64/x86_64-mont5.asm index d1c684e5..7439c603 100644 --- a/tmp64/x86_64-mont5.asm +++ b/tmp64/x86_64-mont5.asm @@ -1,3915 +1,3915 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -EXTERN OPENSSL_ia32cap_P - -global bn_mul_mont_gather5 - -ALIGN 64 -bn_mul_mont_gather5: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_bn_mul_mont_gather5: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov r9d,r9d - mov rax,rsp - test r9d,7 - jnz NEAR $L$mul_enter - mov r11d,DWORD[((OPENSSL_ia32cap_P+8))] - jmp NEAR $L$mul4x_enter - -ALIGN 16 -$L$mul_enter: - movd xmm5,DWORD[56+rsp] - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - - neg r9 - mov r11,rsp - lea r10,[((-280))+r9*8+rsp] - neg r9 - and r10,-1024 - - - - - - - - sub r11,r10 - and r11,-4096 - lea rsp,[r11*1+r10] - mov r11,QWORD[rsp] - cmp rsp,r10 - ja NEAR $L$mul_page_walk - jmp NEAR $L$mul_page_walk_done - -$L$mul_page_walk: - lea rsp,[((-4096))+rsp] - mov r11,QWORD[rsp] - cmp rsp,r10 - ja NEAR $L$mul_page_walk -$L$mul_page_walk_done: - - lea r10,[$L$inc] - mov QWORD[8+r9*8+rsp],rax -$L$mul_body: - - lea r12,[128+rdx] - movdqa xmm0,XMMWORD[r10] - movdqa xmm1,XMMWORD[16+r10] - lea r10,[((24-112))+r9*8+rsp] - and r10,-16 - - pshufd xmm5,xmm5,0 - movdqa xmm4,xmm1 - movdqa xmm2,xmm1 - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 -DB 0x67 - movdqa xmm3,xmm4 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[112+r10],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[128+r10],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[144+r10],xmm2 - movdqa xmm2,xmm4 - - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[160+r10],xmm3 - movdqa xmm3,xmm4 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[176+r10],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[192+r10],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[208+r10],xmm2 - movdqa xmm2,xmm4 - - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[224+r10],xmm3 - movdqa xmm3,xmm4 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[240+r10],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[256+r10],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[272+r10],xmm2 - movdqa xmm2,xmm4 - - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[288+r10],xmm3 - movdqa xmm3,xmm4 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[304+r10],xmm0 - - paddd xmm3,xmm2 -DB 0x67 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[320+r10],xmm1 - - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[336+r10],xmm2 - pand xmm0,XMMWORD[64+r12] - - pand xmm1,XMMWORD[80+r12] - pand xmm2,XMMWORD[96+r12] - movdqa XMMWORD[352+r10],xmm3 - pand xmm3,XMMWORD[112+r12] - por xmm0,xmm2 - por xmm1,xmm3 - movdqa xmm4,XMMWORD[((-128))+r12] - movdqa xmm5,XMMWORD[((-112))+r12] - movdqa xmm2,XMMWORD[((-96))+r12] - pand xmm4,XMMWORD[112+r10] - movdqa xmm3,XMMWORD[((-80))+r12] - pand xmm5,XMMWORD[128+r10] - por xmm0,xmm4 - pand xmm2,XMMWORD[144+r10] - por xmm1,xmm5 - pand xmm3,XMMWORD[160+r10] - por xmm0,xmm2 - por xmm1,xmm3 - movdqa xmm4,XMMWORD[((-64))+r12] - movdqa xmm5,XMMWORD[((-48))+r12] - movdqa xmm2,XMMWORD[((-32))+r12] - pand xmm4,XMMWORD[176+r10] - movdqa xmm3,XMMWORD[((-16))+r12] - pand xmm5,XMMWORD[192+r10] - por xmm0,xmm4 - pand xmm2,XMMWORD[208+r10] - por xmm1,xmm5 - pand xmm3,XMMWORD[224+r10] - por xmm0,xmm2 - por xmm1,xmm3 - movdqa xmm4,XMMWORD[r12] - movdqa xmm5,XMMWORD[16+r12] - movdqa xmm2,XMMWORD[32+r12] - pand xmm4,XMMWORD[240+r10] - movdqa xmm3,XMMWORD[48+r12] - pand xmm5,XMMWORD[256+r10] - por xmm0,xmm4 - pand xmm2,XMMWORD[272+r10] - por xmm1,xmm5 - pand xmm3,XMMWORD[288+r10] - por xmm0,xmm2 - por xmm1,xmm3 - por xmm0,xmm1 - pshufd xmm1,xmm0,0x4e - por xmm0,xmm1 - lea r12,[256+r12] -DB 102,72,15,126,195 - - mov r8,QWORD[r8] - mov rax,QWORD[rsi] - - xor r14,r14 - xor r15,r15 - - mov rbp,r8 - mul rbx - mov r10,rax - mov rax,QWORD[rcx] - - imul rbp,r10 - mov r11,rdx - - mul rbp - add r10,rax - mov rax,QWORD[8+rsi] - adc rdx,0 - mov r13,rdx - - lea r15,[1+r15] - jmp NEAR $L$1st_enter - -ALIGN 16 -$L$1st: - add r13,rax - mov rax,QWORD[r15*8+rsi] - adc rdx,0 - add r13,r11 - mov r11,r10 - adc rdx,0 - mov QWORD[((-16))+r15*8+rsp],r13 - mov r13,rdx - -$L$1st_enter: - mul rbx - add r11,rax - mov rax,QWORD[r15*8+rcx] - adc rdx,0 - lea r15,[1+r15] - mov r10,rdx - - mul rbp - cmp r15,r9 - jne NEAR $L$1st - - - add r13,rax - adc rdx,0 - add r13,r11 - adc rdx,0 - mov QWORD[((-16))+r9*8+rsp],r13 - mov r13,rdx - mov r11,r10 - - xor rdx,rdx - add r13,r11 - adc rdx,0 - mov QWORD[((-8))+r9*8+rsp],r13 - mov QWORD[r9*8+rsp],rdx - - lea r14,[1+r14] - jmp NEAR $L$outer -ALIGN 16 -$L$outer: - lea rdx,[((24+128))+r9*8+rsp] - and rdx,-16 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - movdqa xmm0,XMMWORD[((-128))+r12] - movdqa xmm1,XMMWORD[((-112))+r12] - movdqa xmm2,XMMWORD[((-96))+r12] - movdqa xmm3,XMMWORD[((-80))+r12] - pand xmm0,XMMWORD[((-128))+rdx] - pand xmm1,XMMWORD[((-112))+rdx] - por xmm4,xmm0 - pand xmm2,XMMWORD[((-96))+rdx] - por xmm5,xmm1 - pand xmm3,XMMWORD[((-80))+rdx] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[((-64))+r12] - movdqa xmm1,XMMWORD[((-48))+r12] - movdqa xmm2,XMMWORD[((-32))+r12] - movdqa xmm3,XMMWORD[((-16))+r12] - pand xmm0,XMMWORD[((-64))+rdx] - pand xmm1,XMMWORD[((-48))+rdx] - por xmm4,xmm0 - pand xmm2,XMMWORD[((-32))+rdx] - por xmm5,xmm1 - pand xmm3,XMMWORD[((-16))+rdx] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[r12] - movdqa xmm1,XMMWORD[16+r12] - movdqa xmm2,XMMWORD[32+r12] - movdqa xmm3,XMMWORD[48+r12] - pand xmm0,XMMWORD[rdx] - pand xmm1,XMMWORD[16+rdx] - por xmm4,xmm0 - pand xmm2,XMMWORD[32+rdx] - por xmm5,xmm1 - pand xmm3,XMMWORD[48+rdx] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[64+r12] - movdqa xmm1,XMMWORD[80+r12] - movdqa xmm2,XMMWORD[96+r12] - movdqa xmm3,XMMWORD[112+r12] - pand xmm0,XMMWORD[64+rdx] - pand xmm1,XMMWORD[80+rdx] - por xmm4,xmm0 - pand xmm2,XMMWORD[96+rdx] - por xmm5,xmm1 - pand xmm3,XMMWORD[112+rdx] - por xmm4,xmm2 - por xmm5,xmm3 - por xmm4,xmm5 - pshufd xmm0,xmm4,0x4e - por xmm0,xmm4 - lea r12,[256+r12] - - mov rax,QWORD[rsi] -DB 102,72,15,126,195 - - xor r15,r15 - mov rbp,r8 - mov r10,QWORD[rsp] - - mul rbx - add r10,rax - mov rax,QWORD[rcx] - adc rdx,0 - - imul rbp,r10 - mov r11,rdx - - mul rbp - add r10,rax - mov rax,QWORD[8+rsi] - adc rdx,0 - mov r10,QWORD[8+rsp] - mov r13,rdx - - lea r15,[1+r15] - jmp NEAR $L$inner_enter - -ALIGN 16 -$L$inner: - add r13,rax - mov rax,QWORD[r15*8+rsi] - adc rdx,0 - add r13,r10 - mov r10,QWORD[r15*8+rsp] - adc rdx,0 - mov QWORD[((-16))+r15*8+rsp],r13 - mov r13,rdx - -$L$inner_enter: - mul rbx - add r11,rax - mov rax,QWORD[r15*8+rcx] - adc rdx,0 - add r10,r11 - mov r11,rdx - adc r11,0 - lea r15,[1+r15] - - mul rbp - cmp r15,r9 - jne NEAR $L$inner - - add r13,rax - adc rdx,0 - add r13,r10 - mov r10,QWORD[r9*8+rsp] - adc rdx,0 - mov QWORD[((-16))+r9*8+rsp],r13 - mov r13,rdx - - xor rdx,rdx - add r13,r11 - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-8))+r9*8+rsp],r13 - mov QWORD[r9*8+rsp],rdx - - lea r14,[1+r14] - cmp r14,r9 - jb NEAR $L$outer - - xor r14,r14 - mov rax,QWORD[rsp] - lea rsi,[rsp] - mov r15,r9 - jmp NEAR $L$sub -ALIGN 16 -$L$sub: sbb rax,QWORD[r14*8+rcx] - mov QWORD[r14*8+rdi],rax - mov rax,QWORD[8+r14*8+rsi] - lea r14,[1+r14] - dec r15 - jnz NEAR $L$sub - - sbb rax,0 - mov rbx,-1 - xor rbx,rax - xor r14,r14 - mov r15,r9 - -$L$copy: - mov rcx,QWORD[r14*8+rdi] - mov rdx,QWORD[r14*8+rsp] - and rcx,rbx - and rdx,rax - mov QWORD[r14*8+rsp],r14 - or rdx,rcx - mov QWORD[r14*8+rdi],rdx - lea r14,[1+r14] - sub r15,1 - jnz NEAR $L$copy - - mov rsi,QWORD[8+r9*8+rsp] - mov rax,1 - - mov r15,QWORD[((-48))+rsi] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$mul_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mul_mont_gather5: - -ALIGN 32 -bn_mul4x_mont_gather5: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_bn_mul4x_mont_gather5: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - -DB 0x67 - mov rax,rsp -$L$mul4x_enter: - and r11d,0x80108 - cmp r11d,0x80108 - je NEAR $L$mulx4x_enter - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 -$L$mul4x_prologue: - -DB 0x67 - shl r9d,3 - lea r10,[r9*2+r9] - neg r9 - - - - - - - - - - - lea r11,[((-320))+r9*2+rsp] - mov rbp,rsp - sub r11,rdi - and r11,4095 - cmp r10,r11 - jb NEAR $L$mul4xsp_alt - sub rbp,r11 - lea rbp,[((-320))+r9*2+rbp] - jmp NEAR $L$mul4xsp_done - -ALIGN 32 -$L$mul4xsp_alt: - lea r10,[((4096-320))+r9*2] - lea rbp,[((-320))+r9*2+rbp] - sub r11,r10 - mov r10,0 - cmovc r11,r10 - sub rbp,r11 -$L$mul4xsp_done: - and rbp,-64 - mov r11,rsp - sub r11,rbp - and r11,-4096 - lea rsp,[rbp*1+r11] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$mul4x_page_walk - jmp NEAR $L$mul4x_page_walk_done - -$L$mul4x_page_walk: - lea rsp,[((-4096))+rsp] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$mul4x_page_walk -$L$mul4x_page_walk_done: - - neg r9 - - mov QWORD[40+rsp],rax -$L$mul4x_body: - - call mul4x_internal - - mov rsi,QWORD[40+rsp] - mov rax,1 - - mov r15,QWORD[((-48))+rsi] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$mul4x_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mul4x_mont_gather5: - - -ALIGN 32 -mul4x_internal: - shl r9,5 - movd xmm5,DWORD[56+rax] - lea rax,[$L$inc] - lea r13,[128+r9*1+rdx] - shr r9,5 - movdqa xmm0,XMMWORD[rax] - movdqa xmm1,XMMWORD[16+rax] - lea r10,[((88-112))+r9*1+rsp] - lea r12,[128+rdx] - - pshufd xmm5,xmm5,0 - movdqa xmm4,xmm1 -DB 0x67,0x67 - movdqa xmm2,xmm1 - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 -DB 0x67 - movdqa xmm3,xmm4 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[112+r10],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[128+r10],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[144+r10],xmm2 - movdqa xmm2,xmm4 - - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[160+r10],xmm3 - movdqa xmm3,xmm4 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[176+r10],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[192+r10],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[208+r10],xmm2 - movdqa xmm2,xmm4 - - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[224+r10],xmm3 - movdqa xmm3,xmm4 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[240+r10],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[256+r10],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[272+r10],xmm2 - movdqa xmm2,xmm4 - - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[288+r10],xmm3 - movdqa xmm3,xmm4 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[304+r10],xmm0 - - paddd xmm3,xmm2 -DB 0x67 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[320+r10],xmm1 - - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[336+r10],xmm2 - pand xmm0,XMMWORD[64+r12] - - pand xmm1,XMMWORD[80+r12] - pand xmm2,XMMWORD[96+r12] - movdqa XMMWORD[352+r10],xmm3 - pand xmm3,XMMWORD[112+r12] - por xmm0,xmm2 - por xmm1,xmm3 - movdqa xmm4,XMMWORD[((-128))+r12] - movdqa xmm5,XMMWORD[((-112))+r12] - movdqa xmm2,XMMWORD[((-96))+r12] - pand xmm4,XMMWORD[112+r10] - movdqa xmm3,XMMWORD[((-80))+r12] - pand xmm5,XMMWORD[128+r10] - por xmm0,xmm4 - pand xmm2,XMMWORD[144+r10] - por xmm1,xmm5 - pand xmm3,XMMWORD[160+r10] - por xmm0,xmm2 - por xmm1,xmm3 - movdqa xmm4,XMMWORD[((-64))+r12] - movdqa xmm5,XMMWORD[((-48))+r12] - movdqa xmm2,XMMWORD[((-32))+r12] - pand xmm4,XMMWORD[176+r10] - movdqa xmm3,XMMWORD[((-16))+r12] - pand xmm5,XMMWORD[192+r10] - por xmm0,xmm4 - pand xmm2,XMMWORD[208+r10] - por xmm1,xmm5 - pand xmm3,XMMWORD[224+r10] - por xmm0,xmm2 - por xmm1,xmm3 - movdqa xmm4,XMMWORD[r12] - movdqa xmm5,XMMWORD[16+r12] - movdqa xmm2,XMMWORD[32+r12] - pand xmm4,XMMWORD[240+r10] - movdqa xmm3,XMMWORD[48+r12] - pand xmm5,XMMWORD[256+r10] - por xmm0,xmm4 - pand xmm2,XMMWORD[272+r10] - por xmm1,xmm5 - pand xmm3,XMMWORD[288+r10] - por xmm0,xmm2 - por xmm1,xmm3 - por xmm0,xmm1 - pshufd xmm1,xmm0,0x4e - por xmm0,xmm1 - lea r12,[256+r12] -DB 102,72,15,126,195 - - mov QWORD[((16+8))+rsp],r13 - mov QWORD[((56+8))+rsp],rdi - - mov r8,QWORD[r8] - mov rax,QWORD[rsi] - lea rsi,[r9*1+rsi] - neg r9 - - mov rbp,r8 - mul rbx - mov r10,rax - mov rax,QWORD[rcx] - - imul rbp,r10 - lea r14,[((64+8))+rsp] - mov r11,rdx - - mul rbp - add r10,rax - mov rax,QWORD[8+r9*1+rsi] - adc rdx,0 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[8+rcx] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[16+r9*1+rsi] - adc rdx,0 - add rdi,r11 - lea r15,[32+r9] - lea rcx,[32+rcx] - adc rdx,0 - mov QWORD[r14],rdi - mov r13,rdx - jmp NEAR $L$1st4x - -ALIGN 32 -$L$1st4x: - mul rbx - add r10,rax - mov rax,QWORD[((-16))+rcx] - lea r14,[32+r14] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[((-8))+r15*1+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-24))+r14],r13 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[((-8))+rcx] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[r15*1+rsi] - adc rdx,0 - add rdi,r11 - adc rdx,0 - mov QWORD[((-16))+r14],rdi - mov r13,rdx - - mul rbx - add r10,rax - mov rax,QWORD[rcx] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[8+r15*1+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-8))+r14],r13 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[8+rcx] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[16+r15*1+rsi] - adc rdx,0 - add rdi,r11 - lea rcx,[32+rcx] - adc rdx,0 - mov QWORD[r14],rdi - mov r13,rdx - - add r15,32 - jnz NEAR $L$1st4x - - mul rbx - add r10,rax - mov rax,QWORD[((-16))+rcx] - lea r14,[32+r14] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[((-8))+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-24))+r14],r13 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[((-8))+rcx] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[r9*1+rsi] - adc rdx,0 - add rdi,r11 - adc rdx,0 - mov QWORD[((-16))+r14],rdi - mov r13,rdx - - lea rcx,[r9*1+rcx] - - xor rdi,rdi - add r13,r10 - adc rdi,0 - mov QWORD[((-8))+r14],r13 - - jmp NEAR $L$outer4x - -ALIGN 32 -$L$outer4x: - lea rdx,[((16+128))+r14] - pxor xmm4,xmm4 - pxor xmm5,xmm5 - movdqa xmm0,XMMWORD[((-128))+r12] - movdqa xmm1,XMMWORD[((-112))+r12] - movdqa xmm2,XMMWORD[((-96))+r12] - movdqa xmm3,XMMWORD[((-80))+r12] - pand xmm0,XMMWORD[((-128))+rdx] - pand xmm1,XMMWORD[((-112))+rdx] - por xmm4,xmm0 - pand xmm2,XMMWORD[((-96))+rdx] - por xmm5,xmm1 - pand xmm3,XMMWORD[((-80))+rdx] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[((-64))+r12] - movdqa xmm1,XMMWORD[((-48))+r12] - movdqa xmm2,XMMWORD[((-32))+r12] - movdqa xmm3,XMMWORD[((-16))+r12] - pand xmm0,XMMWORD[((-64))+rdx] - pand xmm1,XMMWORD[((-48))+rdx] - por xmm4,xmm0 - pand xmm2,XMMWORD[((-32))+rdx] - por xmm5,xmm1 - pand xmm3,XMMWORD[((-16))+rdx] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[r12] - movdqa xmm1,XMMWORD[16+r12] - movdqa xmm2,XMMWORD[32+r12] - movdqa xmm3,XMMWORD[48+r12] - pand xmm0,XMMWORD[rdx] - pand xmm1,XMMWORD[16+rdx] - por xmm4,xmm0 - pand xmm2,XMMWORD[32+rdx] - por xmm5,xmm1 - pand xmm3,XMMWORD[48+rdx] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[64+r12] - movdqa xmm1,XMMWORD[80+r12] - movdqa xmm2,XMMWORD[96+r12] - movdqa xmm3,XMMWORD[112+r12] - pand xmm0,XMMWORD[64+rdx] - pand xmm1,XMMWORD[80+rdx] - por xmm4,xmm0 - pand xmm2,XMMWORD[96+rdx] - por xmm5,xmm1 - pand xmm3,XMMWORD[112+rdx] - por xmm4,xmm2 - por xmm5,xmm3 - por xmm4,xmm5 - pshufd xmm0,xmm4,0x4e - por xmm0,xmm4 - lea r12,[256+r12] -DB 102,72,15,126,195 - - mov r10,QWORD[r9*1+r14] - mov rbp,r8 - mul rbx - add r10,rax - mov rax,QWORD[rcx] - adc rdx,0 - - imul rbp,r10 - mov r11,rdx - mov QWORD[r14],rdi - - lea r14,[r9*1+r14] - - mul rbp - add r10,rax - mov rax,QWORD[8+r9*1+rsi] - adc rdx,0 - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[8+rcx] - adc rdx,0 - add r11,QWORD[8+r14] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[16+r9*1+rsi] - adc rdx,0 - add rdi,r11 - lea r15,[32+r9] - lea rcx,[32+rcx] - adc rdx,0 - mov r13,rdx - jmp NEAR $L$inner4x - -ALIGN 32 -$L$inner4x: - mul rbx - add r10,rax - mov rax,QWORD[((-16))+rcx] - adc rdx,0 - add r10,QWORD[16+r14] - lea r14,[32+r14] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[((-8))+r15*1+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-32))+r14],rdi - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[((-8))+rcx] - adc rdx,0 - add r11,QWORD[((-8))+r14] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[r15*1+rsi] - adc rdx,0 - add rdi,r11 - adc rdx,0 - mov QWORD[((-24))+r14],r13 - mov r13,rdx - - mul rbx - add r10,rax - mov rax,QWORD[rcx] - adc rdx,0 - add r10,QWORD[r14] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[8+r15*1+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-16))+r14],rdi - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,QWORD[8+rcx] - adc rdx,0 - add r11,QWORD[8+r14] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[16+r15*1+rsi] - adc rdx,0 - add rdi,r11 - lea rcx,[32+rcx] - adc rdx,0 - mov QWORD[((-8))+r14],r13 - mov r13,rdx - - add r15,32 - jnz NEAR $L$inner4x - - mul rbx - add r10,rax - mov rax,QWORD[((-16))+rcx] - adc rdx,0 - add r10,QWORD[16+r14] - lea r14,[32+r14] - adc rdx,0 - mov r11,rdx - - mul rbp - add r13,rax - mov rax,QWORD[((-8))+rsi] - adc rdx,0 - add r13,r10 - adc rdx,0 - mov QWORD[((-32))+r14],rdi - mov rdi,rdx - - mul rbx - add r11,rax - mov rax,rbp - mov rbp,QWORD[((-8))+rcx] - adc rdx,0 - add r11,QWORD[((-8))+r14] - adc rdx,0 - mov r10,rdx - - mul rbp - add rdi,rax - mov rax,QWORD[r9*1+rsi] - adc rdx,0 - add rdi,r11 - adc rdx,0 - mov QWORD[((-24))+r14],r13 - mov r13,rdx - - mov QWORD[((-16))+r14],rdi - lea rcx,[r9*1+rcx] - - xor rdi,rdi - add r13,r10 - adc rdi,0 - add r13,QWORD[r14] - adc rdi,0 - mov QWORD[((-8))+r14],r13 - - cmp r12,QWORD[((16+8))+rsp] - jb NEAR $L$outer4x - xor rax,rax - sub rbp,r13 - adc r15,r15 - or rdi,r15 - sub rax,rdi - lea rbx,[r9*1+r14] - mov r12,QWORD[rcx] - lea rbp,[rcx] - mov rcx,r9 - sar rcx,3+2 - mov rdi,QWORD[((56+8))+rsp] - dec r12 - xor r10,r10 - mov r13,QWORD[8+rbp] - mov r14,QWORD[16+rbp] - mov r15,QWORD[24+rbp] - jmp NEAR $L$sqr4x_sub_entry - -global bn_power5 - -ALIGN 32 -bn_power5: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_bn_power5: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov rax,rsp - mov r11d,DWORD[((OPENSSL_ia32cap_P+8))] - and r11d,0x80108 - cmp r11d,0x80108 - je NEAR $L$powerx5_enter - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 -$L$power5_prologue: - - shl r9d,3 - lea r10d,[r9*2+r9] - neg r9 - mov r8,QWORD[r8] - - - - - - - - - lea r11,[((-320))+r9*2+rsp] - mov rbp,rsp - sub r11,rdi - and r11,4095 - cmp r10,r11 - jb NEAR $L$pwr_sp_alt - sub rbp,r11 - lea rbp,[((-320))+r9*2+rbp] - jmp NEAR $L$pwr_sp_done - -ALIGN 32 -$L$pwr_sp_alt: - lea r10,[((4096-320))+r9*2] - lea rbp,[((-320))+r9*2+rbp] - sub r11,r10 - mov r10,0 - cmovc r11,r10 - sub rbp,r11 -$L$pwr_sp_done: - and rbp,-64 - mov r11,rsp - sub r11,rbp - and r11,-4096 - lea rsp,[rbp*1+r11] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$pwr_page_walk - jmp NEAR $L$pwr_page_walk_done - -$L$pwr_page_walk: - lea rsp,[((-4096))+rsp] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$pwr_page_walk -$L$pwr_page_walk_done: - - mov r10,r9 - neg r9 - - - - - - - - - - - mov QWORD[32+rsp],r8 - mov QWORD[40+rsp],rax -$L$power5_body: -DB 102,72,15,110,207 -DB 102,72,15,110,209 -DB 102,73,15,110,218 -DB 102,72,15,110,226 - - call __bn_sqr8x_internal - call __bn_post4x_internal - call __bn_sqr8x_internal - call __bn_post4x_internal - call __bn_sqr8x_internal - call __bn_post4x_internal - call __bn_sqr8x_internal - call __bn_post4x_internal - call __bn_sqr8x_internal - call __bn_post4x_internal - -DB 102,72,15,126,209 -DB 102,72,15,126,226 - mov rdi,rsi - mov rax,QWORD[40+rsp] - lea r8,[32+rsp] - - call mul4x_internal - - mov rsi,QWORD[40+rsp] - mov rax,1 - mov r15,QWORD[((-48))+rsi] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$power5_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_bn_power5: - -global bn_sqr8x_internal - - -ALIGN 32 -bn_sqr8x_internal: -__bn_sqr8x_internal: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lea rbp,[32+r10] - lea rsi,[r9*1+rsi] - - mov rcx,r9 - - - mov r14,QWORD[((-32))+rbp*1+rsi] - lea rdi,[((48+8))+r9*2+rsp] - mov rax,QWORD[((-24))+rbp*1+rsi] - lea rdi,[((-32))+rbp*1+rdi] - mov rbx,QWORD[((-16))+rbp*1+rsi] - mov r15,rax - - mul r14 - mov r10,rax - mov rax,rbx - mov r11,rdx - mov QWORD[((-24))+rbp*1+rdi],r10 - - mul r14 - add r11,rax - mov rax,rbx - adc rdx,0 - mov QWORD[((-16))+rbp*1+rdi],r11 - mov r10,rdx - - - mov rbx,QWORD[((-8))+rbp*1+rsi] - mul r15 - mov r12,rax - mov rax,rbx - mov r13,rdx - - lea rcx,[rbp] - mul r14 - add r10,rax - mov rax,rbx - mov r11,rdx - adc r11,0 - add r10,r12 - adc r11,0 - mov QWORD[((-8))+rcx*1+rdi],r10 - jmp NEAR $L$sqr4x_1st - -ALIGN 32 -$L$sqr4x_1st: - mov rbx,QWORD[rcx*1+rsi] - mul r15 - add r13,rax - mov rax,rbx - mov r12,rdx - adc r12,0 - - mul r14 - add r11,rax - mov rax,rbx - mov rbx,QWORD[8+rcx*1+rsi] - mov r10,rdx - adc r10,0 - add r11,r13 - adc r10,0 - - - mul r15 - add r12,rax - mov rax,rbx - mov QWORD[rcx*1+rdi],r11 - mov r13,rdx - adc r13,0 - - mul r14 - add r10,rax - mov rax,rbx - mov rbx,QWORD[16+rcx*1+rsi] - mov r11,rdx - adc r11,0 - add r10,r12 - adc r11,0 - - mul r15 - add r13,rax - mov rax,rbx - mov QWORD[8+rcx*1+rdi],r10 - mov r12,rdx - adc r12,0 - - mul r14 - add r11,rax - mov rax,rbx - mov rbx,QWORD[24+rcx*1+rsi] - mov r10,rdx - adc r10,0 - add r11,r13 - adc r10,0 - - - mul r15 - add r12,rax - mov rax,rbx - mov QWORD[16+rcx*1+rdi],r11 - mov r13,rdx - adc r13,0 - lea rcx,[32+rcx] - - mul r14 - add r10,rax - mov rax,rbx - mov r11,rdx - adc r11,0 - add r10,r12 - adc r11,0 - mov QWORD[((-8))+rcx*1+rdi],r10 - - cmp rcx,0 - jne NEAR $L$sqr4x_1st - - mul r15 - add r13,rax - lea rbp,[16+rbp] - adc rdx,0 - add r13,r11 - adc rdx,0 - - mov QWORD[rdi],r13 - mov r12,rdx - mov QWORD[8+rdi],rdx - jmp NEAR $L$sqr4x_outer - -ALIGN 32 -$L$sqr4x_outer: - mov r14,QWORD[((-32))+rbp*1+rsi] - lea rdi,[((48+8))+r9*2+rsp] - mov rax,QWORD[((-24))+rbp*1+rsi] - lea rdi,[((-32))+rbp*1+rdi] - mov rbx,QWORD[((-16))+rbp*1+rsi] - mov r15,rax - - mul r14 - mov r10,QWORD[((-24))+rbp*1+rdi] - add r10,rax - mov rax,rbx - adc rdx,0 - mov QWORD[((-24))+rbp*1+rdi],r10 - mov r11,rdx - - mul r14 - add r11,rax - mov rax,rbx - adc rdx,0 - add r11,QWORD[((-16))+rbp*1+rdi] - mov r10,rdx - adc r10,0 - mov QWORD[((-16))+rbp*1+rdi],r11 - - xor r12,r12 - - mov rbx,QWORD[((-8))+rbp*1+rsi] - mul r15 - add r12,rax - mov rax,rbx - adc rdx,0 - add r12,QWORD[((-8))+rbp*1+rdi] - mov r13,rdx - adc r13,0 - - mul r14 - add r10,rax - mov rax,rbx - adc rdx,0 - add r10,r12 - mov r11,rdx - adc r11,0 - mov QWORD[((-8))+rbp*1+rdi],r10 - - lea rcx,[rbp] - jmp NEAR $L$sqr4x_inner - -ALIGN 32 -$L$sqr4x_inner: - mov rbx,QWORD[rcx*1+rsi] - mul r15 - add r13,rax - mov rax,rbx - mov r12,rdx - adc r12,0 - add r13,QWORD[rcx*1+rdi] - adc r12,0 - -DB 0x67 - mul r14 - add r11,rax - mov rax,rbx - mov rbx,QWORD[8+rcx*1+rsi] - mov r10,rdx - adc r10,0 - add r11,r13 - adc r10,0 - - mul r15 - add r12,rax - mov QWORD[rcx*1+rdi],r11 - mov rax,rbx - mov r13,rdx - adc r13,0 - add r12,QWORD[8+rcx*1+rdi] - lea rcx,[16+rcx] - adc r13,0 - - mul r14 - add r10,rax - mov rax,rbx - adc rdx,0 - add r10,r12 - mov r11,rdx - adc r11,0 - mov QWORD[((-8))+rcx*1+rdi],r10 - - cmp rcx,0 - jne NEAR $L$sqr4x_inner - -DB 0x67 - mul r15 - add r13,rax - adc rdx,0 - add r13,r11 - adc rdx,0 - - mov QWORD[rdi],r13 - mov r12,rdx - mov QWORD[8+rdi],rdx - - add rbp,16 - jnz NEAR $L$sqr4x_outer - - - mov r14,QWORD[((-32))+rsi] - lea rdi,[((48+8))+r9*2+rsp] - mov rax,QWORD[((-24))+rsi] - lea rdi,[((-32))+rbp*1+rdi] - mov rbx,QWORD[((-16))+rsi] - mov r15,rax - - mul r14 - add r10,rax - mov rax,rbx - mov r11,rdx - adc r11,0 - - mul r14 - add r11,rax - mov rax,rbx - mov QWORD[((-24))+rdi],r10 - mov r10,rdx - adc r10,0 - add r11,r13 - mov rbx,QWORD[((-8))+rsi] - adc r10,0 - - mul r15 - add r12,rax - mov rax,rbx - mov QWORD[((-16))+rdi],r11 - mov r13,rdx - adc r13,0 - - mul r14 - add r10,rax - mov rax,rbx - mov r11,rdx - adc r11,0 - add r10,r12 - adc r11,0 - mov QWORD[((-8))+rdi],r10 - - mul r15 - add r13,rax - mov rax,QWORD[((-16))+rsi] - adc rdx,0 - add r13,r11 - adc rdx,0 - - mov QWORD[rdi],r13 - mov r12,rdx - mov QWORD[8+rdi],rdx - - mul rbx - add rbp,16 - xor r14,r14 - sub rbp,r9 - xor r15,r15 - - add rax,r12 - adc rdx,0 - mov QWORD[8+rdi],rax - mov QWORD[16+rdi],rdx - mov QWORD[24+rdi],r15 - - mov rax,QWORD[((-16))+rbp*1+rsi] - lea rdi,[((48+8))+rsp] - xor r10,r10 - mov r11,QWORD[8+rdi] - - lea r12,[r10*2+r14] - shr r10,63 - lea r13,[r11*2+rcx] - shr r11,63 - or r13,r10 - mov r10,QWORD[16+rdi] - mov r14,r11 - mul rax - neg r15 - mov r11,QWORD[24+rdi] - adc r12,rax - mov rax,QWORD[((-8))+rbp*1+rsi] - mov QWORD[rdi],r12 - adc r13,rdx - - lea rbx,[r10*2+r14] - mov QWORD[8+rdi],r13 - sbb r15,r15 - shr r10,63 - lea r8,[r11*2+rcx] - shr r11,63 - or r8,r10 - mov r10,QWORD[32+rdi] - mov r14,r11 - mul rax - neg r15 - mov r11,QWORD[40+rdi] - adc rbx,rax - mov rax,QWORD[rbp*1+rsi] - mov QWORD[16+rdi],rbx - adc r8,rdx - lea rbp,[16+rbp] - mov QWORD[24+rdi],r8 - sbb r15,r15 - lea rdi,[64+rdi] - jmp NEAR $L$sqr4x_shift_n_add - -ALIGN 32 -$L$sqr4x_shift_n_add: - lea r12,[r10*2+r14] - shr r10,63 - lea r13,[r11*2+rcx] - shr r11,63 - or r13,r10 - mov r10,QWORD[((-16))+rdi] - mov r14,r11 - mul rax - neg r15 - mov r11,QWORD[((-8))+rdi] - adc r12,rax - mov rax,QWORD[((-8))+rbp*1+rsi] - mov QWORD[((-32))+rdi],r12 - adc r13,rdx - - lea rbx,[r10*2+r14] - mov QWORD[((-24))+rdi],r13 - sbb r15,r15 - shr r10,63 - lea r8,[r11*2+rcx] - shr r11,63 - or r8,r10 - mov r10,QWORD[rdi] - mov r14,r11 - mul rax - neg r15 - mov r11,QWORD[8+rdi] - adc rbx,rax - mov rax,QWORD[rbp*1+rsi] - mov QWORD[((-16))+rdi],rbx - adc r8,rdx - - lea r12,[r10*2+r14] - mov QWORD[((-8))+rdi],r8 - sbb r15,r15 - shr r10,63 - lea r13,[r11*2+rcx] - shr r11,63 - or r13,r10 - mov r10,QWORD[16+rdi] - mov r14,r11 - mul rax - neg r15 - mov r11,QWORD[24+rdi] - adc r12,rax - mov rax,QWORD[8+rbp*1+rsi] - mov QWORD[rdi],r12 - adc r13,rdx - - lea rbx,[r10*2+r14] - mov QWORD[8+rdi],r13 - sbb r15,r15 - shr r10,63 - lea r8,[r11*2+rcx] - shr r11,63 - or r8,r10 - mov r10,QWORD[32+rdi] - mov r14,r11 - mul rax - neg r15 - mov r11,QWORD[40+rdi] - adc rbx,rax - mov rax,QWORD[16+rbp*1+rsi] - mov QWORD[16+rdi],rbx - adc r8,rdx - mov QWORD[24+rdi],r8 - sbb r15,r15 - lea rdi,[64+rdi] - add rbp,32 - jnz NEAR $L$sqr4x_shift_n_add - - lea r12,[r10*2+r14] -DB 0x67 - shr r10,63 - lea r13,[r11*2+rcx] - shr r11,63 - or r13,r10 - mov r10,QWORD[((-16))+rdi] - mov r14,r11 - mul rax - neg r15 - mov r11,QWORD[((-8))+rdi] - adc r12,rax - mov rax,QWORD[((-8))+rsi] - mov QWORD[((-32))+rdi],r12 - adc r13,rdx - - lea rbx,[r10*2+r14] - mov QWORD[((-24))+rdi],r13 - sbb r15,r15 - shr r10,63 - lea r8,[r11*2+rcx] - shr r11,63 - or r8,r10 - mul rax - neg r15 - adc rbx,rax - adc r8,rdx - mov QWORD[((-16))+rdi],rbx - mov QWORD[((-8))+rdi],r8 -DB 102,72,15,126,213 -__bn_sqr8x_reduction: - xor rax,rax - lea rcx,[rbp*1+r9] - lea rdx,[((48+8))+r9*2+rsp] - mov QWORD[((0+8))+rsp],rcx - lea rdi,[((48+8))+r9*1+rsp] - mov QWORD[((8+8))+rsp],rdx - neg r9 - jmp NEAR $L$8x_reduction_loop - -ALIGN 32 -$L$8x_reduction_loop: - lea rdi,[r9*1+rdi] -DB 0x66 - mov rbx,QWORD[rdi] - mov r9,QWORD[8+rdi] - mov r10,QWORD[16+rdi] - mov r11,QWORD[24+rdi] - mov r12,QWORD[32+rdi] - mov r13,QWORD[40+rdi] - mov r14,QWORD[48+rdi] - mov r15,QWORD[56+rdi] - mov QWORD[rdx],rax - lea rdi,[64+rdi] - -DB 0x67 - mov r8,rbx - imul rbx,QWORD[((32+8))+rsp] - mov rax,QWORD[rbp] - mov ecx,8 - jmp NEAR $L$8x_reduce - -ALIGN 32 -$L$8x_reduce: - mul rbx - mov rax,QWORD[8+rbp] - neg r8 - mov r8,rdx - adc r8,0 - - mul rbx - add r9,rax - mov rax,QWORD[16+rbp] - adc rdx,0 - add r8,r9 - mov QWORD[((48-8+8))+rcx*8+rsp],rbx - mov r9,rdx - adc r9,0 - - mul rbx - add r10,rax - mov rax,QWORD[24+rbp] - adc rdx,0 - add r9,r10 - mov rsi,QWORD[((32+8))+rsp] - mov r10,rdx - adc r10,0 - - mul rbx - add r11,rax - mov rax,QWORD[32+rbp] - adc rdx,0 - imul rsi,r8 - add r10,r11 - mov r11,rdx - adc r11,0 - - mul rbx - add r12,rax - mov rax,QWORD[40+rbp] - adc rdx,0 - add r11,r12 - mov r12,rdx - adc r12,0 - - mul rbx - add r13,rax - mov rax,QWORD[48+rbp] - adc rdx,0 - add r12,r13 - mov r13,rdx - adc r13,0 - - mul rbx - add r14,rax - mov rax,QWORD[56+rbp] - adc rdx,0 - add r13,r14 - mov r14,rdx - adc r14,0 - - mul rbx - mov rbx,rsi - add r15,rax - mov rax,QWORD[rbp] - adc rdx,0 - add r14,r15 - mov r15,rdx - adc r15,0 - - dec ecx - jnz NEAR $L$8x_reduce - - lea rbp,[64+rbp] - xor rax,rax - mov rdx,QWORD[((8+8))+rsp] - cmp rbp,QWORD[((0+8))+rsp] - jae NEAR $L$8x_no_tail - -DB 0x66 - add r8,QWORD[rdi] - adc r9,QWORD[8+rdi] - adc r10,QWORD[16+rdi] - adc r11,QWORD[24+rdi] - adc r12,QWORD[32+rdi] - adc r13,QWORD[40+rdi] - adc r14,QWORD[48+rdi] - adc r15,QWORD[56+rdi] - sbb rsi,rsi - - mov rbx,QWORD[((48+56+8))+rsp] - mov ecx,8 - mov rax,QWORD[rbp] - jmp NEAR $L$8x_tail - -ALIGN 32 -$L$8x_tail: - mul rbx - add r8,rax - mov rax,QWORD[8+rbp] - mov QWORD[rdi],r8 - mov r8,rdx - adc r8,0 - - mul rbx - add r9,rax - mov rax,QWORD[16+rbp] - adc rdx,0 - add r8,r9 - lea rdi,[8+rdi] - mov r9,rdx - adc r9,0 - - mul rbx - add r10,rax - mov rax,QWORD[24+rbp] - adc rdx,0 - add r9,r10 - mov r10,rdx - adc r10,0 - - mul rbx - add r11,rax - mov rax,QWORD[32+rbp] - adc rdx,0 - add r10,r11 - mov r11,rdx - adc r11,0 - - mul rbx - add r12,rax - mov rax,QWORD[40+rbp] - adc rdx,0 - add r11,r12 - mov r12,rdx - adc r12,0 - - mul rbx - add r13,rax - mov rax,QWORD[48+rbp] - adc rdx,0 - add r12,r13 - mov r13,rdx - adc r13,0 - - mul rbx - add r14,rax - mov rax,QWORD[56+rbp] - adc rdx,0 - add r13,r14 - mov r14,rdx - adc r14,0 - - mul rbx - mov rbx,QWORD[((48-16+8))+rcx*8+rsp] - add r15,rax - adc rdx,0 - add r14,r15 - mov rax,QWORD[rbp] - mov r15,rdx - adc r15,0 - - dec ecx - jnz NEAR $L$8x_tail - - lea rbp,[64+rbp] - mov rdx,QWORD[((8+8))+rsp] - cmp rbp,QWORD[((0+8))+rsp] - jae NEAR $L$8x_tail_done - - mov rbx,QWORD[((48+56+8))+rsp] - neg rsi - mov rax,QWORD[rbp] - adc r8,QWORD[rdi] - adc r9,QWORD[8+rdi] - adc r10,QWORD[16+rdi] - adc r11,QWORD[24+rdi] - adc r12,QWORD[32+rdi] - adc r13,QWORD[40+rdi] - adc r14,QWORD[48+rdi] - adc r15,QWORD[56+rdi] - sbb rsi,rsi - - mov ecx,8 - jmp NEAR $L$8x_tail - -ALIGN 32 -$L$8x_tail_done: - xor rax,rax - add r8,QWORD[rdx] - adc r9,0 - adc r10,0 - adc r11,0 - adc r12,0 - adc r13,0 - adc r14,0 - adc r15,0 - adc rax,0 - - neg rsi -$L$8x_no_tail: - adc r8,QWORD[rdi] - adc r9,QWORD[8+rdi] - adc r10,QWORD[16+rdi] - adc r11,QWORD[24+rdi] - adc r12,QWORD[32+rdi] - adc r13,QWORD[40+rdi] - adc r14,QWORD[48+rdi] - adc r15,QWORD[56+rdi] - adc rax,0 - mov rcx,QWORD[((-8))+rbp] - xor rsi,rsi - -DB 102,72,15,126,213 - - mov QWORD[rdi],r8 - mov QWORD[8+rdi],r9 -DB 102,73,15,126,217 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - mov QWORD[32+rdi],r12 - mov QWORD[40+rdi],r13 - mov QWORD[48+rdi],r14 - mov QWORD[56+rdi],r15 - lea rdi,[64+rdi] - - cmp rdi,rdx - jb NEAR $L$8x_reduction_loop - DB 0F3h,0C3h ;repret - - -ALIGN 32 -__bn_post4x_internal: - mov r12,QWORD[rbp] - lea rbx,[r9*1+rdi] - mov rcx,r9 -DB 102,72,15,126,207 - neg rax -DB 102,72,15,126,206 - sar rcx,3+2 - dec r12 - xor r10,r10 - mov r13,QWORD[8+rbp] - mov r14,QWORD[16+rbp] - mov r15,QWORD[24+rbp] - jmp NEAR $L$sqr4x_sub_entry - -ALIGN 16 -$L$sqr4x_sub: - mov r12,QWORD[rbp] - mov r13,QWORD[8+rbp] - mov r14,QWORD[16+rbp] - mov r15,QWORD[24+rbp] -$L$sqr4x_sub_entry: - lea rbp,[32+rbp] - not r12 - not r13 - not r14 - not r15 - and r12,rax - and r13,rax - and r14,rax - and r15,rax - - neg r10 - adc r12,QWORD[rbx] - adc r13,QWORD[8+rbx] - adc r14,QWORD[16+rbx] - adc r15,QWORD[24+rbx] - mov QWORD[rdi],r12 - lea rbx,[32+rbx] - mov QWORD[8+rdi],r13 - sbb r10,r10 - mov QWORD[16+rdi],r14 - mov QWORD[24+rdi],r15 - lea rdi,[32+rdi] - - inc rcx - jnz NEAR $L$sqr4x_sub - - mov r10,r9 - neg r9 - DB 0F3h,0C3h ;repret - -global bn_from_montgomery - -ALIGN 32 -bn_from_montgomery: - test DWORD[48+rsp],7 - jz NEAR bn_from_mont8x - xor eax,eax - DB 0F3h,0C3h ;repret - - - -ALIGN 32 -bn_from_mont8x: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_bn_from_mont8x: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - -DB 0x67 - mov rax,rsp - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 -$L$from_prologue: - - shl r9d,3 - lea r10,[r9*2+r9] - neg r9 - mov r8,QWORD[r8] - - - - - - - - - lea r11,[((-320))+r9*2+rsp] - mov rbp,rsp - sub r11,rdi - and r11,4095 - cmp r10,r11 - jb NEAR $L$from_sp_alt - sub rbp,r11 - lea rbp,[((-320))+r9*2+rbp] - jmp NEAR $L$from_sp_done - -ALIGN 32 -$L$from_sp_alt: - lea r10,[((4096-320))+r9*2] - lea rbp,[((-320))+r9*2+rbp] - sub r11,r10 - mov r10,0 - cmovc r11,r10 - sub rbp,r11 -$L$from_sp_done: - and rbp,-64 - mov r11,rsp - sub r11,rbp - and r11,-4096 - lea rsp,[rbp*1+r11] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$from_page_walk - jmp NEAR $L$from_page_walk_done - -$L$from_page_walk: - lea rsp,[((-4096))+rsp] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$from_page_walk -$L$from_page_walk_done: - - mov r10,r9 - neg r9 - - - - - - - - - - - mov QWORD[32+rsp],r8 - mov QWORD[40+rsp],rax -$L$from_body: - mov r11,r9 - lea rax,[48+rsp] - pxor xmm0,xmm0 - jmp NEAR $L$mul_by_1 - -ALIGN 32 -$L$mul_by_1: - movdqu xmm1,XMMWORD[rsi] - movdqu xmm2,XMMWORD[16+rsi] - movdqu xmm3,XMMWORD[32+rsi] - movdqa XMMWORD[r9*1+rax],xmm0 - movdqu xmm4,XMMWORD[48+rsi] - movdqa XMMWORD[16+r9*1+rax],xmm0 -DB 0x48,0x8d,0xb6,0x40,0x00,0x00,0x00 - movdqa XMMWORD[rax],xmm1 - movdqa XMMWORD[32+r9*1+rax],xmm0 - movdqa XMMWORD[16+rax],xmm2 - movdqa XMMWORD[48+r9*1+rax],xmm0 - movdqa XMMWORD[32+rax],xmm3 - movdqa XMMWORD[48+rax],xmm4 - lea rax,[64+rax] - sub r11,64 - jnz NEAR $L$mul_by_1 - -DB 102,72,15,110,207 -DB 102,72,15,110,209 -DB 0x67 - mov rbp,rcx -DB 102,73,15,110,218 - mov r11d,DWORD[((OPENSSL_ia32cap_P+8))] - and r11d,0x80108 - cmp r11d,0x80108 - jne NEAR $L$from_mont_nox - - lea rdi,[r9*1+rax] - call __bn_sqrx8x_reduction - call __bn_postx4x_internal - - pxor xmm0,xmm0 - lea rax,[48+rsp] - mov rsi,QWORD[40+rsp] - jmp NEAR $L$from_mont_zero - -ALIGN 32 -$L$from_mont_nox: - call __bn_sqr8x_reduction - call __bn_post4x_internal - - pxor xmm0,xmm0 - lea rax,[48+rsp] - mov rsi,QWORD[40+rsp] - jmp NEAR $L$from_mont_zero - -ALIGN 32 -$L$from_mont_zero: - movdqa XMMWORD[rax],xmm0 - movdqa XMMWORD[16+rax],xmm0 - movdqa XMMWORD[32+rax],xmm0 - movdqa XMMWORD[48+rax],xmm0 - lea rax,[64+rax] - sub r9,32 - jnz NEAR $L$from_mont_zero - - mov rax,1 - mov r15,QWORD[((-48))+rsi] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$from_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_bn_from_mont8x: - -ALIGN 32 -bn_mulx4x_mont_gather5: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_bn_mulx4x_mont_gather5: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov rax,rsp -$L$mulx4x_enter: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 -$L$mulx4x_prologue: - - shl r9d,3 - lea r10,[r9*2+r9] - neg r9 - mov r8,QWORD[r8] - - - - - - - - - - - lea r11,[((-320))+r9*2+rsp] - mov rbp,rsp - sub r11,rdi - and r11,4095 - cmp r10,r11 - jb NEAR $L$mulx4xsp_alt - sub rbp,r11 - lea rbp,[((-320))+r9*2+rbp] - jmp NEAR $L$mulx4xsp_done - -$L$mulx4xsp_alt: - lea r10,[((4096-320))+r9*2] - lea rbp,[((-320))+r9*2+rbp] - sub r11,r10 - mov r10,0 - cmovc r11,r10 - sub rbp,r11 -$L$mulx4xsp_done: - and rbp,-64 - mov r11,rsp - sub r11,rbp - and r11,-4096 - lea rsp,[rbp*1+r11] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$mulx4x_page_walk - jmp NEAR $L$mulx4x_page_walk_done - -$L$mulx4x_page_walk: - lea rsp,[((-4096))+rsp] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$mulx4x_page_walk -$L$mulx4x_page_walk_done: - - - - - - - - - - - - - - mov QWORD[32+rsp],r8 - mov QWORD[40+rsp],rax -$L$mulx4x_body: - call mulx4x_internal - - mov rsi,QWORD[40+rsp] - mov rax,1 - - mov r15,QWORD[((-48))+rsi] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$mulx4x_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_bn_mulx4x_mont_gather5: - - -ALIGN 32 -mulx4x_internal: - mov QWORD[8+rsp],r9 - mov r10,r9 - neg r9 - shl r9,5 - neg r10 - lea r13,[128+r9*1+rdx] - shr r9,5+5 - movd xmm5,DWORD[56+rax] - sub r9,1 - lea rax,[$L$inc] - mov QWORD[((16+8))+rsp],r13 - mov QWORD[((24+8))+rsp],r9 - mov QWORD[((56+8))+rsp],rdi - movdqa xmm0,XMMWORD[rax] - movdqa xmm1,XMMWORD[16+rax] - lea r10,[((88-112))+r10*1+rsp] - lea rdi,[128+rdx] - - pshufd xmm5,xmm5,0 - movdqa xmm4,xmm1 -DB 0x67 - movdqa xmm2,xmm1 -DB 0x67 - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa xmm3,xmm4 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[112+r10],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[128+r10],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[144+r10],xmm2 - movdqa xmm2,xmm4 - - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[160+r10],xmm3 - movdqa xmm3,xmm4 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[176+r10],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[192+r10],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[208+r10],xmm2 - movdqa xmm2,xmm4 - - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[224+r10],xmm3 - movdqa xmm3,xmm4 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[240+r10],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[256+r10],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[272+r10],xmm2 - movdqa xmm2,xmm4 - - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[288+r10],xmm3 - movdqa xmm3,xmm4 -DB 0x67 - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[304+r10],xmm0 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[320+r10],xmm1 - - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[336+r10],xmm2 - - pand xmm0,XMMWORD[64+rdi] - pand xmm1,XMMWORD[80+rdi] - pand xmm2,XMMWORD[96+rdi] - movdqa XMMWORD[352+r10],xmm3 - pand xmm3,XMMWORD[112+rdi] - por xmm0,xmm2 - por xmm1,xmm3 - movdqa xmm4,XMMWORD[((-128))+rdi] - movdqa xmm5,XMMWORD[((-112))+rdi] - movdqa xmm2,XMMWORD[((-96))+rdi] - pand xmm4,XMMWORD[112+r10] - movdqa xmm3,XMMWORD[((-80))+rdi] - pand xmm5,XMMWORD[128+r10] - por xmm0,xmm4 - pand xmm2,XMMWORD[144+r10] - por xmm1,xmm5 - pand xmm3,XMMWORD[160+r10] - por xmm0,xmm2 - por xmm1,xmm3 - movdqa xmm4,XMMWORD[((-64))+rdi] - movdqa xmm5,XMMWORD[((-48))+rdi] - movdqa xmm2,XMMWORD[((-32))+rdi] - pand xmm4,XMMWORD[176+r10] - movdqa xmm3,XMMWORD[((-16))+rdi] - pand xmm5,XMMWORD[192+r10] - por xmm0,xmm4 - pand xmm2,XMMWORD[208+r10] - por xmm1,xmm5 - pand xmm3,XMMWORD[224+r10] - por xmm0,xmm2 - por xmm1,xmm3 - movdqa xmm4,XMMWORD[rdi] - movdqa xmm5,XMMWORD[16+rdi] - movdqa xmm2,XMMWORD[32+rdi] - pand xmm4,XMMWORD[240+r10] - movdqa xmm3,XMMWORD[48+rdi] - pand xmm5,XMMWORD[256+r10] - por xmm0,xmm4 - pand xmm2,XMMWORD[272+r10] - por xmm1,xmm5 - pand xmm3,XMMWORD[288+r10] - por xmm0,xmm2 - por xmm1,xmm3 - pxor xmm0,xmm1 - pshufd xmm1,xmm0,0x4e - por xmm0,xmm1 - lea rdi,[256+rdi] -DB 102,72,15,126,194 - lea rbx,[((64+32+8))+rsp] - - mov r9,rdx - mulx rax,r8,QWORD[rsi] - mulx r12,r11,QWORD[8+rsi] - add r11,rax - mulx r13,rax,QWORD[16+rsi] - adc r12,rax - adc r13,0 - mulx r14,rax,QWORD[24+rsi] - - mov r15,r8 - imul r8,QWORD[((32+8))+rsp] - xor rbp,rbp - mov rdx,r8 - - mov QWORD[((8+8))+rsp],rdi - - lea rsi,[32+rsi] - adcx r13,rax - adcx r14,rbp - - mulx r10,rax,QWORD[rcx] - adcx r15,rax - adox r10,r11 - mulx r11,rax,QWORD[8+rcx] - adcx r10,rax - adox r11,r12 - mulx r12,rax,QWORD[16+rcx] - mov rdi,QWORD[((24+8))+rsp] - mov QWORD[((-32))+rbx],r10 - adcx r11,rax - adox r12,r13 - mulx r15,rax,QWORD[24+rcx] - mov rdx,r9 - mov QWORD[((-24))+rbx],r11 - adcx r12,rax - adox r15,rbp - lea rcx,[32+rcx] - mov QWORD[((-16))+rbx],r12 - jmp NEAR $L$mulx4x_1st - -ALIGN 32 -$L$mulx4x_1st: - adcx r15,rbp - mulx rax,r10,QWORD[rsi] - adcx r10,r14 - mulx r14,r11,QWORD[8+rsi] - adcx r11,rax - mulx rax,r12,QWORD[16+rsi] - adcx r12,r14 - mulx r14,r13,QWORD[24+rsi] -DB 0x67,0x67 - mov rdx,r8 - adcx r13,rax - adcx r14,rbp - lea rsi,[32+rsi] - lea rbx,[32+rbx] - - adox r10,r15 - mulx r15,rax,QWORD[rcx] - adcx r10,rax - adox r11,r15 - mulx r15,rax,QWORD[8+rcx] - adcx r11,rax - adox r12,r15 - mulx r15,rax,QWORD[16+rcx] - mov QWORD[((-40))+rbx],r10 - adcx r12,rax - mov QWORD[((-32))+rbx],r11 - adox r13,r15 - mulx r15,rax,QWORD[24+rcx] - mov rdx,r9 - mov QWORD[((-24))+rbx],r12 - adcx r13,rax - adox r15,rbp - lea rcx,[32+rcx] - mov QWORD[((-16))+rbx],r13 - - dec rdi - jnz NEAR $L$mulx4x_1st - - mov rax,QWORD[8+rsp] - adc r15,rbp - lea rsi,[rax*1+rsi] - add r14,r15 - mov rdi,QWORD[((8+8))+rsp] - adc rbp,rbp - mov QWORD[((-8))+rbx],r14 - jmp NEAR $L$mulx4x_outer - -ALIGN 32 -$L$mulx4x_outer: - lea r10,[((16-256))+rbx] - pxor xmm4,xmm4 -DB 0x67,0x67 - pxor xmm5,xmm5 - movdqa xmm0,XMMWORD[((-128))+rdi] - movdqa xmm1,XMMWORD[((-112))+rdi] - movdqa xmm2,XMMWORD[((-96))+rdi] - pand xmm0,XMMWORD[256+r10] - movdqa xmm3,XMMWORD[((-80))+rdi] - pand xmm1,XMMWORD[272+r10] - por xmm4,xmm0 - pand xmm2,XMMWORD[288+r10] - por xmm5,xmm1 - pand xmm3,XMMWORD[304+r10] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[((-64))+rdi] - movdqa xmm1,XMMWORD[((-48))+rdi] - movdqa xmm2,XMMWORD[((-32))+rdi] - pand xmm0,XMMWORD[320+r10] - movdqa xmm3,XMMWORD[((-16))+rdi] - pand xmm1,XMMWORD[336+r10] - por xmm4,xmm0 - pand xmm2,XMMWORD[352+r10] - por xmm5,xmm1 - pand xmm3,XMMWORD[368+r10] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[rdi] - movdqa xmm1,XMMWORD[16+rdi] - movdqa xmm2,XMMWORD[32+rdi] - pand xmm0,XMMWORD[384+r10] - movdqa xmm3,XMMWORD[48+rdi] - pand xmm1,XMMWORD[400+r10] - por xmm4,xmm0 - pand xmm2,XMMWORD[416+r10] - por xmm5,xmm1 - pand xmm3,XMMWORD[432+r10] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[64+rdi] - movdqa xmm1,XMMWORD[80+rdi] - movdqa xmm2,XMMWORD[96+rdi] - pand xmm0,XMMWORD[448+r10] - movdqa xmm3,XMMWORD[112+rdi] - pand xmm1,XMMWORD[464+r10] - por xmm4,xmm0 - pand xmm2,XMMWORD[480+r10] - por xmm5,xmm1 - pand xmm3,XMMWORD[496+r10] - por xmm4,xmm2 - por xmm5,xmm3 - por xmm4,xmm5 - pshufd xmm0,xmm4,0x4e - por xmm0,xmm4 - lea rdi,[256+rdi] -DB 102,72,15,126,194 - - mov QWORD[rbx],rbp - lea rbx,[32+rax*1+rbx] - mulx r11,r8,QWORD[rsi] - xor rbp,rbp - mov r9,rdx - mulx r12,r14,QWORD[8+rsi] - adox r8,QWORD[((-32))+rbx] - adcx r11,r14 - mulx r13,r15,QWORD[16+rsi] - adox r11,QWORD[((-24))+rbx] - adcx r12,r15 - mulx r14,rdx,QWORD[24+rsi] - adox r12,QWORD[((-16))+rbx] - adcx r13,rdx - lea rcx,[rax*1+rcx] - lea rsi,[32+rsi] - adox r13,QWORD[((-8))+rbx] - adcx r14,rbp - adox r14,rbp - - mov r15,r8 - imul r8,QWORD[((32+8))+rsp] - - mov rdx,r8 - xor rbp,rbp - mov QWORD[((8+8))+rsp],rdi - - mulx r10,rax,QWORD[rcx] - adcx r15,rax - adox r10,r11 - mulx r11,rax,QWORD[8+rcx] - adcx r10,rax - adox r11,r12 - mulx r12,rax,QWORD[16+rcx] - adcx r11,rax - adox r12,r13 - mulx r15,rax,QWORD[24+rcx] - mov rdx,r9 - mov rdi,QWORD[((24+8))+rsp] - mov QWORD[((-32))+rbx],r10 - adcx r12,rax - mov QWORD[((-24))+rbx],r11 - adox r15,rbp - mov QWORD[((-16))+rbx],r12 - lea rcx,[32+rcx] - jmp NEAR $L$mulx4x_inner - -ALIGN 32 -$L$mulx4x_inner: - mulx rax,r10,QWORD[rsi] - adcx r15,rbp - adox r10,r14 - mulx r14,r11,QWORD[8+rsi] - adcx r10,QWORD[rbx] - adox r11,rax - mulx rax,r12,QWORD[16+rsi] - adcx r11,QWORD[8+rbx] - adox r12,r14 - mulx r14,r13,QWORD[24+rsi] - mov rdx,r8 - adcx r12,QWORD[16+rbx] - adox r13,rax - adcx r13,QWORD[24+rbx] - adox r14,rbp - lea rsi,[32+rsi] - lea rbx,[32+rbx] - adcx r14,rbp - - adox r10,r15 - mulx r15,rax,QWORD[rcx] - adcx r10,rax - adox r11,r15 - mulx r15,rax,QWORD[8+rcx] - adcx r11,rax - adox r12,r15 - mulx r15,rax,QWORD[16+rcx] - mov QWORD[((-40))+rbx],r10 - adcx r12,rax - adox r13,r15 - mov QWORD[((-32))+rbx],r11 - mulx r15,rax,QWORD[24+rcx] - mov rdx,r9 - lea rcx,[32+rcx] - mov QWORD[((-24))+rbx],r12 - adcx r13,rax - adox r15,rbp - mov QWORD[((-16))+rbx],r13 - - dec rdi - jnz NEAR $L$mulx4x_inner - - mov rax,QWORD[((0+8))+rsp] - adc r15,rbp - sub rdi,QWORD[rbx] - mov rdi,QWORD[((8+8))+rsp] - mov r10,QWORD[((16+8))+rsp] - adc r14,r15 - lea rsi,[rax*1+rsi] - adc rbp,rbp - mov QWORD[((-8))+rbx],r14 - - cmp rdi,r10 - jb NEAR $L$mulx4x_outer - - mov r10,QWORD[((-8))+rcx] - mov r8,rbp - mov r12,QWORD[rax*1+rcx] - lea rbp,[rax*1+rcx] - mov rcx,rax - lea rdi,[rax*1+rbx] - xor eax,eax - xor r15,r15 - sub r10,r14 - adc r15,r15 - or r8,r15 - sar rcx,3+2 - sub rax,r8 - mov rdx,QWORD[((56+8))+rsp] - dec r12 - mov r13,QWORD[8+rbp] - xor r8,r8 - mov r14,QWORD[16+rbp] - mov r15,QWORD[24+rbp] - jmp NEAR $L$sqrx4x_sub_entry - - -ALIGN 32 -bn_powerx5: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_bn_powerx5: - mov rdi,rcx - mov rsi,rdx - mov rdx,r8 - mov rcx,r9 - mov r8,QWORD[40+rsp] - mov r9,QWORD[48+rsp] - - - mov rax,rsp -$L$powerx5_enter: - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 -$L$powerx5_prologue: - - shl r9d,3 - lea r10,[r9*2+r9] - neg r9 - mov r8,QWORD[r8] - - - - - - - - - lea r11,[((-320))+r9*2+rsp] - mov rbp,rsp - sub r11,rdi - and r11,4095 - cmp r10,r11 - jb NEAR $L$pwrx_sp_alt - sub rbp,r11 - lea rbp,[((-320))+r9*2+rbp] - jmp NEAR $L$pwrx_sp_done - -ALIGN 32 -$L$pwrx_sp_alt: - lea r10,[((4096-320))+r9*2] - lea rbp,[((-320))+r9*2+rbp] - sub r11,r10 - mov r10,0 - cmovc r11,r10 - sub rbp,r11 -$L$pwrx_sp_done: - and rbp,-64 - mov r11,rsp - sub r11,rbp - and r11,-4096 - lea rsp,[rbp*1+r11] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$pwrx_page_walk - jmp NEAR $L$pwrx_page_walk_done - -$L$pwrx_page_walk: - lea rsp,[((-4096))+rsp] - mov r10,QWORD[rsp] - cmp rsp,rbp - ja NEAR $L$pwrx_page_walk -$L$pwrx_page_walk_done: - - mov r10,r9 - neg r9 - - - - - - - - - - - - - pxor xmm0,xmm0 -DB 102,72,15,110,207 -DB 102,72,15,110,209 -DB 102,73,15,110,218 -DB 102,72,15,110,226 - mov QWORD[32+rsp],r8 - mov QWORD[40+rsp],rax -$L$powerx5_body: - - call __bn_sqrx8x_internal - call __bn_postx4x_internal - call __bn_sqrx8x_internal - call __bn_postx4x_internal - call __bn_sqrx8x_internal - call __bn_postx4x_internal - call __bn_sqrx8x_internal - call __bn_postx4x_internal - call __bn_sqrx8x_internal - call __bn_postx4x_internal - - mov r9,r10 - mov rdi,rsi -DB 102,72,15,126,209 -DB 102,72,15,126,226 - mov rax,QWORD[40+rsp] - - call mulx4x_internal - - mov rsi,QWORD[40+rsp] - mov rax,1 - - mov r15,QWORD[((-48))+rsi] - mov r14,QWORD[((-40))+rsi] - mov r13,QWORD[((-32))+rsi] - mov r12,QWORD[((-24))+rsi] - mov rbp,QWORD[((-16))+rsi] - mov rbx,QWORD[((-8))+rsi] - lea rsp,[rsi] -$L$powerx5_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_bn_powerx5: - -global bn_sqrx8x_internal - - -ALIGN 32 -bn_sqrx8x_internal: -__bn_sqrx8x_internal: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lea rdi,[((48+8))+rsp] - lea rbp,[r9*1+rsi] - mov QWORD[((0+8))+rsp],r9 - mov QWORD[((8+8))+rsp],rbp - jmp NEAR $L$sqr8x_zero_start - -ALIGN 32 -DB 0x66,0x66,0x66,0x2e,0x0f,0x1f,0x84,0x00,0x00,0x00,0x00,0x00 -$L$sqrx8x_zero: -DB 0x3e - movdqa XMMWORD[rdi],xmm0 - movdqa XMMWORD[16+rdi],xmm0 - movdqa XMMWORD[32+rdi],xmm0 - movdqa XMMWORD[48+rdi],xmm0 -$L$sqr8x_zero_start: - movdqa XMMWORD[64+rdi],xmm0 - movdqa XMMWORD[80+rdi],xmm0 - movdqa XMMWORD[96+rdi],xmm0 - movdqa XMMWORD[112+rdi],xmm0 - lea rdi,[128+rdi] - sub r9,64 - jnz NEAR $L$sqrx8x_zero - - mov rdx,QWORD[rsi] - - xor r10,r10 - xor r11,r11 - xor r12,r12 - xor r13,r13 - xor r14,r14 - xor r15,r15 - lea rdi,[((48+8))+rsp] - xor rbp,rbp - jmp NEAR $L$sqrx8x_outer_loop - -ALIGN 32 -$L$sqrx8x_outer_loop: - mulx rax,r8,QWORD[8+rsi] - adcx r8,r9 - adox r10,rax - mulx rax,r9,QWORD[16+rsi] - adcx r9,r10 - adox r11,rax -DB 0xc4,0xe2,0xab,0xf6,0x86,0x18,0x00,0x00,0x00 - adcx r10,r11 - adox r12,rax -DB 0xc4,0xe2,0xa3,0xf6,0x86,0x20,0x00,0x00,0x00 - adcx r11,r12 - adox r13,rax - mulx rax,r12,QWORD[40+rsi] - adcx r12,r13 - adox r14,rax - mulx rax,r13,QWORD[48+rsi] - adcx r13,r14 - adox rax,r15 - mulx r15,r14,QWORD[56+rsi] - mov rdx,QWORD[8+rsi] - adcx r14,rax - adox r15,rbp - adc r15,QWORD[64+rdi] - mov QWORD[8+rdi],r8 - mov QWORD[16+rdi],r9 - sbb rcx,rcx - xor rbp,rbp - - - mulx rbx,r8,QWORD[16+rsi] - mulx rax,r9,QWORD[24+rsi] - adcx r8,r10 - adox r9,rbx - mulx rbx,r10,QWORD[32+rsi] - adcx r9,r11 - adox r10,rax -DB 0xc4,0xe2,0xa3,0xf6,0x86,0x28,0x00,0x00,0x00 - adcx r10,r12 - adox r11,rbx -DB 0xc4,0xe2,0x9b,0xf6,0x9e,0x30,0x00,0x00,0x00 - adcx r11,r13 - adox r12,r14 -DB 0xc4,0x62,0x93,0xf6,0xb6,0x38,0x00,0x00,0x00 - mov rdx,QWORD[16+rsi] - adcx r12,rax - adox r13,rbx - adcx r13,r15 - adox r14,rbp - adcx r14,rbp - - mov QWORD[24+rdi],r8 - mov QWORD[32+rdi],r9 - - mulx rbx,r8,QWORD[24+rsi] - mulx rax,r9,QWORD[32+rsi] - adcx r8,r10 - adox r9,rbx - mulx rbx,r10,QWORD[40+rsi] - adcx r9,r11 - adox r10,rax -DB 0xc4,0xe2,0xa3,0xf6,0x86,0x30,0x00,0x00,0x00 - adcx r10,r12 - adox r11,r13 -DB 0xc4,0x62,0x9b,0xf6,0xae,0x38,0x00,0x00,0x00 -DB 0x3e - mov rdx,QWORD[24+rsi] - adcx r11,rbx - adox r12,rax - adcx r12,r14 - mov QWORD[40+rdi],r8 - mov QWORD[48+rdi],r9 - mulx rax,r8,QWORD[32+rsi] - adox r13,rbp - adcx r13,rbp - - mulx rbx,r9,QWORD[40+rsi] - adcx r8,r10 - adox r9,rax - mulx rax,r10,QWORD[48+rsi] - adcx r9,r11 - adox r10,r12 - mulx r12,r11,QWORD[56+rsi] - mov rdx,QWORD[32+rsi] - mov r14,QWORD[40+rsi] - adcx r10,rbx - adox r11,rax - mov r15,QWORD[48+rsi] - adcx r11,r13 - adox r12,rbp - adcx r12,rbp - - mov QWORD[56+rdi],r8 - mov QWORD[64+rdi],r9 - - mulx rax,r9,r14 - mov r8,QWORD[56+rsi] - adcx r9,r10 - mulx rbx,r10,r15 - adox r10,rax - adcx r10,r11 - mulx rax,r11,r8 - mov rdx,r14 - adox r11,rbx - adcx r11,r12 - - adcx rax,rbp - - mulx rbx,r14,r15 - mulx r13,r12,r8 - mov rdx,r15 - lea rsi,[64+rsi] - adcx r11,r14 - adox r12,rbx - adcx r12,rax - adox r13,rbp - -DB 0x67,0x67 - mulx r14,r8,r8 - adcx r13,r8 - adcx r14,rbp - - cmp rsi,QWORD[((8+8))+rsp] - je NEAR $L$sqrx8x_outer_break - - neg rcx - mov rcx,-8 - mov r15,rbp - mov r8,QWORD[64+rdi] - adcx r9,QWORD[72+rdi] - adcx r10,QWORD[80+rdi] - adcx r11,QWORD[88+rdi] - adc r12,QWORD[96+rdi] - adc r13,QWORD[104+rdi] - adc r14,QWORD[112+rdi] - adc r15,QWORD[120+rdi] - lea rbp,[rsi] - lea rdi,[128+rdi] - sbb rax,rax - - mov rdx,QWORD[((-64))+rsi] - mov QWORD[((16+8))+rsp],rax - mov QWORD[((24+8))+rsp],rdi - - - xor eax,eax - jmp NEAR $L$sqrx8x_loop - -ALIGN 32 -$L$sqrx8x_loop: - mov rbx,r8 - mulx r8,rax,QWORD[rbp] - adcx rbx,rax - adox r8,r9 - - mulx r9,rax,QWORD[8+rbp] - adcx r8,rax - adox r9,r10 - - mulx r10,rax,QWORD[16+rbp] - adcx r9,rax - adox r10,r11 - - mulx r11,rax,QWORD[24+rbp] - adcx r10,rax - adox r11,r12 - -DB 0xc4,0x62,0xfb,0xf6,0xa5,0x20,0x00,0x00,0x00 - adcx r11,rax - adox r12,r13 - - mulx r13,rax,QWORD[40+rbp] - adcx r12,rax - adox r13,r14 - - mulx r14,rax,QWORD[48+rbp] - mov QWORD[rcx*8+rdi],rbx - mov ebx,0 - adcx r13,rax - adox r14,r15 - -DB 0xc4,0x62,0xfb,0xf6,0xbd,0x38,0x00,0x00,0x00 - mov rdx,QWORD[8+rcx*8+rsi] - adcx r14,rax - adox r15,rbx - adcx r15,rbx - -DB 0x67 - inc rcx - jnz NEAR $L$sqrx8x_loop - - lea rbp,[64+rbp] - mov rcx,-8 - cmp rbp,QWORD[((8+8))+rsp] - je NEAR $L$sqrx8x_break - - sub rbx,QWORD[((16+8))+rsp] -DB 0x66 - mov rdx,QWORD[((-64))+rsi] - adcx r8,QWORD[rdi] - adcx r9,QWORD[8+rdi] - adc r10,QWORD[16+rdi] - adc r11,QWORD[24+rdi] - adc r12,QWORD[32+rdi] - adc r13,QWORD[40+rdi] - adc r14,QWORD[48+rdi] - adc r15,QWORD[56+rdi] - lea rdi,[64+rdi] -DB 0x67 - sbb rax,rax - xor ebx,ebx - mov QWORD[((16+8))+rsp],rax - jmp NEAR $L$sqrx8x_loop - -ALIGN 32 -$L$sqrx8x_break: - xor rbp,rbp - sub rbx,QWORD[((16+8))+rsp] - adcx r8,rbp - mov rcx,QWORD[((24+8))+rsp] - adcx r9,rbp - mov rdx,QWORD[rsi] - adc r10,0 - mov QWORD[rdi],r8 - adc r11,0 - adc r12,0 - adc r13,0 - adc r14,0 - adc r15,0 - cmp rdi,rcx - je NEAR $L$sqrx8x_outer_loop - - mov QWORD[8+rdi],r9 - mov r9,QWORD[8+rcx] - mov QWORD[16+rdi],r10 - mov r10,QWORD[16+rcx] - mov QWORD[24+rdi],r11 - mov r11,QWORD[24+rcx] - mov QWORD[32+rdi],r12 - mov r12,QWORD[32+rcx] - mov QWORD[40+rdi],r13 - mov r13,QWORD[40+rcx] - mov QWORD[48+rdi],r14 - mov r14,QWORD[48+rcx] - mov QWORD[56+rdi],r15 - mov r15,QWORD[56+rcx] - mov rdi,rcx - jmp NEAR $L$sqrx8x_outer_loop - -ALIGN 32 -$L$sqrx8x_outer_break: - mov QWORD[72+rdi],r9 -DB 102,72,15,126,217 - mov QWORD[80+rdi],r10 - mov QWORD[88+rdi],r11 - mov QWORD[96+rdi],r12 - mov QWORD[104+rdi],r13 - mov QWORD[112+rdi],r14 - lea rdi,[((48+8))+rsp] - mov rdx,QWORD[rcx*1+rsi] - - mov r11,QWORD[8+rdi] - xor r10,r10 - mov r9,QWORD[((0+8))+rsp] - adox r11,r11 - mov r12,QWORD[16+rdi] - mov r13,QWORD[24+rdi] - - -ALIGN 32 -$L$sqrx4x_shift_n_add: - mulx rbx,rax,rdx - adox r12,r12 - adcx rax,r10 -DB 0x48,0x8b,0x94,0x0e,0x08,0x00,0x00,0x00 -DB 0x4c,0x8b,0x97,0x20,0x00,0x00,0x00 - adox r13,r13 - adcx rbx,r11 - mov r11,QWORD[40+rdi] - mov QWORD[rdi],rax - mov QWORD[8+rdi],rbx - - mulx rbx,rax,rdx - adox r10,r10 - adcx rax,r12 - mov rdx,QWORD[16+rcx*1+rsi] - mov r12,QWORD[48+rdi] - adox r11,r11 - adcx rbx,r13 - mov r13,QWORD[56+rdi] - mov QWORD[16+rdi],rax - mov QWORD[24+rdi],rbx - - mulx rbx,rax,rdx - adox r12,r12 - adcx rax,r10 - mov rdx,QWORD[24+rcx*1+rsi] - lea rcx,[32+rcx] - mov r10,QWORD[64+rdi] - adox r13,r13 - adcx rbx,r11 - mov r11,QWORD[72+rdi] - mov QWORD[32+rdi],rax - mov QWORD[40+rdi],rbx - - mulx rbx,rax,rdx - adox r10,r10 - adcx rax,r12 - jrcxz $L$sqrx4x_shift_n_add_break -DB 0x48,0x8b,0x94,0x0e,0x00,0x00,0x00,0x00 - adox r11,r11 - adcx rbx,r13 - mov r12,QWORD[80+rdi] - mov r13,QWORD[88+rdi] - mov QWORD[48+rdi],rax - mov QWORD[56+rdi],rbx - lea rdi,[64+rdi] - nop - jmp NEAR $L$sqrx4x_shift_n_add - -ALIGN 32 -$L$sqrx4x_shift_n_add_break: - adcx rbx,r13 - mov QWORD[48+rdi],rax - mov QWORD[56+rdi],rbx - lea rdi,[64+rdi] -DB 102,72,15,126,213 -__bn_sqrx8x_reduction: - xor eax,eax - mov rbx,QWORD[((32+8))+rsp] - mov rdx,QWORD[((48+8))+rsp] - lea rcx,[((-64))+r9*1+rbp] - - mov QWORD[((0+8))+rsp],rcx - mov QWORD[((8+8))+rsp],rdi - - lea rdi,[((48+8))+rsp] - jmp NEAR $L$sqrx8x_reduction_loop - -ALIGN 32 -$L$sqrx8x_reduction_loop: - mov r9,QWORD[8+rdi] - mov r10,QWORD[16+rdi] - mov r11,QWORD[24+rdi] - mov r12,QWORD[32+rdi] - mov r8,rdx - imul rdx,rbx - mov r13,QWORD[40+rdi] - mov r14,QWORD[48+rdi] - mov r15,QWORD[56+rdi] - mov QWORD[((24+8))+rsp],rax - - lea rdi,[64+rdi] - xor rsi,rsi - mov rcx,-8 - jmp NEAR $L$sqrx8x_reduce - -ALIGN 32 -$L$sqrx8x_reduce: - mov rbx,r8 - mulx r8,rax,QWORD[rbp] - adcx rax,rbx - adox r8,r9 - - mulx r9,rbx,QWORD[8+rbp] - adcx r8,rbx - adox r9,r10 - - mulx r10,rbx,QWORD[16+rbp] - adcx r9,rbx - adox r10,r11 - - mulx r11,rbx,QWORD[24+rbp] - adcx r10,rbx - adox r11,r12 - -DB 0xc4,0x62,0xe3,0xf6,0xa5,0x20,0x00,0x00,0x00 - mov rax,rdx - mov rdx,r8 - adcx r11,rbx - adox r12,r13 - - mulx rdx,rbx,QWORD[((32+8))+rsp] - mov rdx,rax - mov QWORD[((64+48+8))+rcx*8+rsp],rax - - mulx r13,rax,QWORD[40+rbp] - adcx r12,rax - adox r13,r14 - - mulx r14,rax,QWORD[48+rbp] - adcx r13,rax - adox r14,r15 - - mulx r15,rax,QWORD[56+rbp] - mov rdx,rbx - adcx r14,rax - adox r15,rsi - adcx r15,rsi - -DB 0x67,0x67,0x67 - inc rcx - jnz NEAR $L$sqrx8x_reduce - - mov rax,rsi - cmp rbp,QWORD[((0+8))+rsp] - jae NEAR $L$sqrx8x_no_tail - - mov rdx,QWORD[((48+8))+rsp] - add r8,QWORD[rdi] - lea rbp,[64+rbp] - mov rcx,-8 - adcx r9,QWORD[8+rdi] - adcx r10,QWORD[16+rdi] - adc r11,QWORD[24+rdi] - adc r12,QWORD[32+rdi] - adc r13,QWORD[40+rdi] - adc r14,QWORD[48+rdi] - adc r15,QWORD[56+rdi] - lea rdi,[64+rdi] - sbb rax,rax - - xor rsi,rsi - mov QWORD[((16+8))+rsp],rax - jmp NEAR $L$sqrx8x_tail - -ALIGN 32 -$L$sqrx8x_tail: - mov rbx,r8 - mulx r8,rax,QWORD[rbp] - adcx rbx,rax - adox r8,r9 - - mulx r9,rax,QWORD[8+rbp] - adcx r8,rax - adox r9,r10 - - mulx r10,rax,QWORD[16+rbp] - adcx r9,rax - adox r10,r11 - - mulx r11,rax,QWORD[24+rbp] - adcx r10,rax - adox r11,r12 - -DB 0xc4,0x62,0xfb,0xf6,0xa5,0x20,0x00,0x00,0x00 - adcx r11,rax - adox r12,r13 - - mulx r13,rax,QWORD[40+rbp] - adcx r12,rax - adox r13,r14 - - mulx r14,rax,QWORD[48+rbp] - adcx r13,rax - adox r14,r15 - - mulx r15,rax,QWORD[56+rbp] - mov rdx,QWORD[((72+48+8))+rcx*8+rsp] - adcx r14,rax - adox r15,rsi - mov QWORD[rcx*8+rdi],rbx - mov rbx,r8 - adcx r15,rsi - - inc rcx - jnz NEAR $L$sqrx8x_tail - - cmp rbp,QWORD[((0+8))+rsp] - jae NEAR $L$sqrx8x_tail_done - - sub rsi,QWORD[((16+8))+rsp] - mov rdx,QWORD[((48+8))+rsp] - lea rbp,[64+rbp] - adc r8,QWORD[rdi] - adc r9,QWORD[8+rdi] - adc r10,QWORD[16+rdi] - adc r11,QWORD[24+rdi] - adc r12,QWORD[32+rdi] - adc r13,QWORD[40+rdi] - adc r14,QWORD[48+rdi] - adc r15,QWORD[56+rdi] - lea rdi,[64+rdi] - sbb rax,rax - sub rcx,8 - - xor rsi,rsi - mov QWORD[((16+8))+rsp],rax - jmp NEAR $L$sqrx8x_tail - -ALIGN 32 -$L$sqrx8x_tail_done: - xor rax,rax - add r8,QWORD[((24+8))+rsp] - adc r9,0 - adc r10,0 - adc r11,0 - adc r12,0 - adc r13,0 - adc r14,0 - adc r15,0 - adc rax,0 - - sub rsi,QWORD[((16+8))+rsp] -$L$sqrx8x_no_tail: - adc r8,QWORD[rdi] -DB 102,72,15,126,217 - adc r9,QWORD[8+rdi] - mov rsi,QWORD[56+rbp] -DB 102,72,15,126,213 - adc r10,QWORD[16+rdi] - adc r11,QWORD[24+rdi] - adc r12,QWORD[32+rdi] - adc r13,QWORD[40+rdi] - adc r14,QWORD[48+rdi] - adc r15,QWORD[56+rdi] - adc rax,0 - - mov rbx,QWORD[((32+8))+rsp] - mov rdx,QWORD[64+rcx*1+rdi] - - mov QWORD[rdi],r8 - lea r8,[64+rdi] - mov QWORD[8+rdi],r9 - mov QWORD[16+rdi],r10 - mov QWORD[24+rdi],r11 - mov QWORD[32+rdi],r12 - mov QWORD[40+rdi],r13 - mov QWORD[48+rdi],r14 - mov QWORD[56+rdi],r15 - - lea rdi,[64+rcx*1+rdi] - cmp r8,QWORD[((8+8))+rsp] - jb NEAR $L$sqrx8x_reduction_loop - DB 0F3h,0C3h ;repret - -ALIGN 32 -__bn_postx4x_internal: - mov r12,QWORD[rbp] - mov r10,rcx - mov r9,rcx - neg rax - sar rcx,3+2 - -DB 102,72,15,126,202 -DB 102,72,15,126,206 - dec r12 - mov r13,QWORD[8+rbp] - xor r8,r8 - mov r14,QWORD[16+rbp] - mov r15,QWORD[24+rbp] - jmp NEAR $L$sqrx4x_sub_entry - -ALIGN 16 -$L$sqrx4x_sub: - mov r12,QWORD[rbp] - mov r13,QWORD[8+rbp] - mov r14,QWORD[16+rbp] - mov r15,QWORD[24+rbp] -$L$sqrx4x_sub_entry: - andn r12,r12,rax - lea rbp,[32+rbp] - andn r13,r13,rax - andn r14,r14,rax - andn r15,r15,rax - - neg r8 - adc r12,QWORD[rdi] - adc r13,QWORD[8+rdi] - adc r14,QWORD[16+rdi] - adc r15,QWORD[24+rdi] - mov QWORD[rdx],r12 - lea rdi,[32+rdi] - mov QWORD[8+rdx],r13 - sbb r8,r8 - mov QWORD[16+rdx],r14 - mov QWORD[24+rdx],r15 - lea rdx,[32+rdx] - - inc rcx - jnz NEAR $L$sqrx4x_sub - - neg r9 - - DB 0F3h,0C3h ;repret - -global bn_get_bits5 - -ALIGN 16 -bn_get_bits5: - lea r10,[rcx] - lea r11,[1+rcx] - mov ecx,edx - shr edx,4 - and ecx,15 - lea eax,[((-8))+rcx] - cmp ecx,11 - cmova r10,r11 - cmova ecx,eax - movzx eax,WORD[rdx*2+r10] - shr eax,cl - and eax,31 - DB 0F3h,0C3h ;repret - - -global bn_scatter5 - -ALIGN 16 -bn_scatter5: - cmp edx,0 - jz NEAR $L$scatter_epilogue - lea r8,[r9*8+r8] -$L$scatter: - mov rax,QWORD[rcx] - lea rcx,[8+rcx] - mov QWORD[r8],rax - lea r8,[256+r8] - sub edx,1 - jnz NEAR $L$scatter -$L$scatter_epilogue: - DB 0F3h,0C3h ;repret - - -global bn_gather5 - -ALIGN 32 -bn_gather5: -$L$SEH_begin_bn_gather5: - -DB 0x4c,0x8d,0x14,0x24 -DB 0x48,0x81,0xec,0x08,0x01,0x00,0x00 - lea rax,[$L$inc] - and rsp,-16 - - movd xmm5,r9d - movdqa xmm0,XMMWORD[rax] - movdqa xmm1,XMMWORD[16+rax] - lea r11,[128+r8] - lea rax,[128+rsp] - - pshufd xmm5,xmm5,0 - movdqa xmm4,xmm1 - movdqa xmm2,xmm1 - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa xmm3,xmm4 - - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[(-128)+rax],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[(-112)+rax],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[(-96)+rax],xmm2 - movdqa xmm2,xmm4 - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[(-80)+rax],xmm3 - movdqa xmm3,xmm4 - - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[(-64)+rax],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[(-48)+rax],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[(-32)+rax],xmm2 - movdqa xmm2,xmm4 - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[(-16)+rax],xmm3 - movdqa xmm3,xmm4 - - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[rax],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[16+rax],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[32+rax],xmm2 - movdqa xmm2,xmm4 - paddd xmm1,xmm0 - pcmpeqd xmm0,xmm5 - movdqa XMMWORD[48+rax],xmm3 - movdqa xmm3,xmm4 - - paddd xmm2,xmm1 - pcmpeqd xmm1,xmm5 - movdqa XMMWORD[64+rax],xmm0 - movdqa xmm0,xmm4 - - paddd xmm3,xmm2 - pcmpeqd xmm2,xmm5 - movdqa XMMWORD[80+rax],xmm1 - movdqa xmm1,xmm4 - - paddd xmm0,xmm3 - pcmpeqd xmm3,xmm5 - movdqa XMMWORD[96+rax],xmm2 - movdqa xmm2,xmm4 - movdqa XMMWORD[112+rax],xmm3 - jmp NEAR $L$gather - -ALIGN 32 -$L$gather: - pxor xmm4,xmm4 - pxor xmm5,xmm5 - movdqa xmm0,XMMWORD[((-128))+r11] - movdqa xmm1,XMMWORD[((-112))+r11] - movdqa xmm2,XMMWORD[((-96))+r11] - pand xmm0,XMMWORD[((-128))+rax] - movdqa xmm3,XMMWORD[((-80))+r11] - pand xmm1,XMMWORD[((-112))+rax] - por xmm4,xmm0 - pand xmm2,XMMWORD[((-96))+rax] - por xmm5,xmm1 - pand xmm3,XMMWORD[((-80))+rax] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[((-64))+r11] - movdqa xmm1,XMMWORD[((-48))+r11] - movdqa xmm2,XMMWORD[((-32))+r11] - pand xmm0,XMMWORD[((-64))+rax] - movdqa xmm3,XMMWORD[((-16))+r11] - pand xmm1,XMMWORD[((-48))+rax] - por xmm4,xmm0 - pand xmm2,XMMWORD[((-32))+rax] - por xmm5,xmm1 - pand xmm3,XMMWORD[((-16))+rax] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[r11] - movdqa xmm1,XMMWORD[16+r11] - movdqa xmm2,XMMWORD[32+r11] - pand xmm0,XMMWORD[rax] - movdqa xmm3,XMMWORD[48+r11] - pand xmm1,XMMWORD[16+rax] - por xmm4,xmm0 - pand xmm2,XMMWORD[32+rax] - por xmm5,xmm1 - pand xmm3,XMMWORD[48+rax] - por xmm4,xmm2 - por xmm5,xmm3 - movdqa xmm0,XMMWORD[64+r11] - movdqa xmm1,XMMWORD[80+r11] - movdqa xmm2,XMMWORD[96+r11] - pand xmm0,XMMWORD[64+rax] - movdqa xmm3,XMMWORD[112+r11] - pand xmm1,XMMWORD[80+rax] - por xmm4,xmm0 - pand xmm2,XMMWORD[96+rax] - por xmm5,xmm1 - pand xmm3,XMMWORD[112+rax] - por xmm4,xmm2 - por xmm5,xmm3 - por xmm4,xmm5 - lea r11,[256+r11] - pshufd xmm0,xmm4,0x4e - por xmm0,xmm4 - movq QWORD[rcx],xmm0 - lea rcx,[8+rcx] - sub edx,1 - jnz NEAR $L$gather - - lea rsp,[r10] - DB 0F3h,0C3h ;repret -$L$SEH_end_bn_gather5: - -ALIGN 64 -$L$inc: - DD 0,0,1,1 - DD 2,2,2,2 -DB 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 -DB 112,108,105,99,97,116,105,111,110,32,119,105,116,104,32,115 -DB 99,97,116,116,101,114,47,103,97,116,104,101,114,32,102,111 -DB 114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79 -DB 71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111 -DB 112,101,110,115,115,108,46,111,114,103,62,0 -EXTERN __imp_RtlVirtualUnwind - -ALIGN 16 -mul_handler: - push rsi - push rdi - push rbx - push rbp - push r12 - push r13 - push r14 - push r15 - pushfq - sub rsp,64 - - mov rax,QWORD[120+r8] - mov rbx,QWORD[248+r8] - - mov rsi,QWORD[8+r9] - mov r11,QWORD[56+r9] - - mov r10d,DWORD[r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jb NEAR $L$common_pop_regs - - mov rax,QWORD[152+r8] - - mov r10d,DWORD[8+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - lea r10,[$L$mul_epilogue] - cmp rbx,r10 - ja NEAR $L$body_40 - - mov r10,QWORD[192+r8] - mov rax,QWORD[8+r10*8+rax] - - jmp NEAR $L$common_pop_regs - -$L$body_40: - mov rax,QWORD[40+rax] -$L$common_pop_regs: - mov rbx,QWORD[((-8))+rax] - mov rbp,QWORD[((-16))+rax] - mov r12,QWORD[((-24))+rax] - mov r13,QWORD[((-32))+rax] - mov r14,QWORD[((-40))+rax] - mov r15,QWORD[((-48))+rax] - mov QWORD[144+r8],rbx - mov QWORD[160+r8],rbp - mov QWORD[216+r8],r12 - mov QWORD[224+r8],r13 - mov QWORD[232+r8],r14 - mov QWORD[240+r8],r15 - -$L$common_seh_tail: - mov rdi,QWORD[8+rax] - mov rsi,QWORD[16+rax] - mov QWORD[152+r8],rax - mov QWORD[168+r8],rsi - mov QWORD[176+r8],rdi - - mov rdi,QWORD[40+r9] - mov rsi,r8 - mov ecx,154 - DD 0xa548f3fc - - mov rsi,r9 - xor rcx,rcx - mov rdx,QWORD[8+rsi] - mov r8,QWORD[rsi] - mov r9,QWORD[16+rsi] - mov r10,QWORD[40+rsi] - lea r11,[56+rsi] - lea r12,[24+rsi] - mov QWORD[32+rsp],r10 - mov QWORD[40+rsp],r11 - mov QWORD[48+rsp],r12 - mov QWORD[56+rsp],rcx - call QWORD[__imp_RtlVirtualUnwind] - - mov eax,1 - add rsp,64 - popfq - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - pop rbx - pop rdi - pop rsi - DB 0F3h,0C3h ;repret - - -section .pdata rdata align=4 -ALIGN 4 - DD $L$SEH_begin_bn_mul_mont_gather5 wrt ..imagebase - DD $L$SEH_end_bn_mul_mont_gather5 wrt ..imagebase - DD $L$SEH_info_bn_mul_mont_gather5 wrt ..imagebase - - DD $L$SEH_begin_bn_mul4x_mont_gather5 wrt ..imagebase - DD $L$SEH_end_bn_mul4x_mont_gather5 wrt ..imagebase - DD $L$SEH_info_bn_mul4x_mont_gather5 wrt ..imagebase - - DD $L$SEH_begin_bn_power5 wrt ..imagebase - DD $L$SEH_end_bn_power5 wrt ..imagebase - DD $L$SEH_info_bn_power5 wrt ..imagebase - - DD $L$SEH_begin_bn_from_mont8x wrt ..imagebase - DD $L$SEH_end_bn_from_mont8x wrt ..imagebase - DD $L$SEH_info_bn_from_mont8x wrt ..imagebase - DD $L$SEH_begin_bn_mulx4x_mont_gather5 wrt ..imagebase - DD $L$SEH_end_bn_mulx4x_mont_gather5 wrt ..imagebase - DD $L$SEH_info_bn_mulx4x_mont_gather5 wrt ..imagebase - - DD $L$SEH_begin_bn_powerx5 wrt ..imagebase - DD $L$SEH_end_bn_powerx5 wrt ..imagebase - DD $L$SEH_info_bn_powerx5 wrt ..imagebase - DD $L$SEH_begin_bn_gather5 wrt ..imagebase - DD $L$SEH_end_bn_gather5 wrt ..imagebase - DD $L$SEH_info_bn_gather5 wrt ..imagebase - -section .xdata rdata align=8 -ALIGN 8 -$L$SEH_info_bn_mul_mont_gather5: -DB 9,0,0,0 - DD mul_handler wrt ..imagebase - DD $L$mul_body wrt ..imagebase,$L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase -ALIGN 8 -$L$SEH_info_bn_mul4x_mont_gather5: -DB 9,0,0,0 - DD mul_handler wrt ..imagebase - DD $L$mul4x_prologue wrt ..imagebase,$L$mul4x_body wrt ..imagebase,$L$mul4x_epilogue wrt ..imagebase -ALIGN 8 -$L$SEH_info_bn_power5: -DB 9,0,0,0 - DD mul_handler wrt ..imagebase - DD $L$power5_prologue wrt ..imagebase,$L$power5_body wrt ..imagebase,$L$power5_epilogue wrt ..imagebase -ALIGN 8 -$L$SEH_info_bn_from_mont8x: -DB 9,0,0,0 - DD mul_handler wrt ..imagebase - DD $L$from_prologue wrt ..imagebase,$L$from_body wrt ..imagebase,$L$from_epilogue wrt ..imagebase -ALIGN 8 -$L$SEH_info_bn_mulx4x_mont_gather5: -DB 9,0,0,0 - DD mul_handler wrt ..imagebase - DD $L$mulx4x_prologue wrt ..imagebase,$L$mulx4x_body wrt ..imagebase,$L$mulx4x_epilogue wrt ..imagebase -ALIGN 8 -$L$SEH_info_bn_powerx5: -DB 9,0,0,0 - DD mul_handler wrt ..imagebase - DD $L$powerx5_prologue wrt ..imagebase,$L$powerx5_body wrt ..imagebase,$L$powerx5_epilogue wrt ..imagebase -ALIGN 8 -$L$SEH_info_bn_gather5: -DB 0x01,0x0b,0x03,0x0a -DB 0x0b,0x01,0x21,0x00 -DB 0x04,0xa3,0x00,0x00 -ALIGN 8 +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 + + +EXTERN OPENSSL_ia32cap_P + +global bn_mul_mont_gather5 + +ALIGN 64 +bn_mul_mont_gather5: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_bn_mul_mont_gather5: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov r9d,r9d + mov rax,rsp + test r9d,7 + jnz NEAR $L$mul_enter + mov r11d,DWORD[((OPENSSL_ia32cap_P+8))] + jmp NEAR $L$mul4x_enter + +ALIGN 16 +$L$mul_enter: + movd xmm5,DWORD[56+rsp] + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + + neg r9 + mov r11,rsp + lea r10,[((-280))+r9*8+rsp] + neg r9 + and r10,-1024 + + + + + + + + sub r11,r10 + and r11,-4096 + lea rsp,[r11*1+r10] + mov r11,QWORD[rsp] + cmp rsp,r10 + ja NEAR $L$mul_page_walk + jmp NEAR $L$mul_page_walk_done + +$L$mul_page_walk: + lea rsp,[((-4096))+rsp] + mov r11,QWORD[rsp] + cmp rsp,r10 + ja NEAR $L$mul_page_walk +$L$mul_page_walk_done: + + lea r10,[$L$inc] + mov QWORD[8+r9*8+rsp],rax +$L$mul_body: + + lea r12,[128+rdx] + movdqa xmm0,XMMWORD[r10] + movdqa xmm1,XMMWORD[16+r10] + lea r10,[((24-112))+r9*8+rsp] + and r10,-16 + + pshufd xmm5,xmm5,0 + movdqa xmm4,xmm1 + movdqa xmm2,xmm1 + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 +DB 0x67 + movdqa xmm3,xmm4 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[112+r10],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[128+r10],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[144+r10],xmm2 + movdqa xmm2,xmm4 + + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[160+r10],xmm3 + movdqa xmm3,xmm4 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[176+r10],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[192+r10],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[208+r10],xmm2 + movdqa xmm2,xmm4 + + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[224+r10],xmm3 + movdqa xmm3,xmm4 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[240+r10],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[256+r10],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[272+r10],xmm2 + movdqa xmm2,xmm4 + + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[288+r10],xmm3 + movdqa xmm3,xmm4 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[304+r10],xmm0 + + paddd xmm3,xmm2 +DB 0x67 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[320+r10],xmm1 + + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[336+r10],xmm2 + pand xmm0,XMMWORD[64+r12] + + pand xmm1,XMMWORD[80+r12] + pand xmm2,XMMWORD[96+r12] + movdqa XMMWORD[352+r10],xmm3 + pand xmm3,XMMWORD[112+r12] + por xmm0,xmm2 + por xmm1,xmm3 + movdqa xmm4,XMMWORD[((-128))+r12] + movdqa xmm5,XMMWORD[((-112))+r12] + movdqa xmm2,XMMWORD[((-96))+r12] + pand xmm4,XMMWORD[112+r10] + movdqa xmm3,XMMWORD[((-80))+r12] + pand xmm5,XMMWORD[128+r10] + por xmm0,xmm4 + pand xmm2,XMMWORD[144+r10] + por xmm1,xmm5 + pand xmm3,XMMWORD[160+r10] + por xmm0,xmm2 + por xmm1,xmm3 + movdqa xmm4,XMMWORD[((-64))+r12] + movdqa xmm5,XMMWORD[((-48))+r12] + movdqa xmm2,XMMWORD[((-32))+r12] + pand xmm4,XMMWORD[176+r10] + movdqa xmm3,XMMWORD[((-16))+r12] + pand xmm5,XMMWORD[192+r10] + por xmm0,xmm4 + pand xmm2,XMMWORD[208+r10] + por xmm1,xmm5 + pand xmm3,XMMWORD[224+r10] + por xmm0,xmm2 + por xmm1,xmm3 + movdqa xmm4,XMMWORD[r12] + movdqa xmm5,XMMWORD[16+r12] + movdqa xmm2,XMMWORD[32+r12] + pand xmm4,XMMWORD[240+r10] + movdqa xmm3,XMMWORD[48+r12] + pand xmm5,XMMWORD[256+r10] + por xmm0,xmm4 + pand xmm2,XMMWORD[272+r10] + por xmm1,xmm5 + pand xmm3,XMMWORD[288+r10] + por xmm0,xmm2 + por xmm1,xmm3 + por xmm0,xmm1 + pshufd xmm1,xmm0,0x4e + por xmm0,xmm1 + lea r12,[256+r12] +DB 102,72,15,126,195 + + mov r8,QWORD[r8] + mov rax,QWORD[rsi] + + xor r14,r14 + xor r15,r15 + + mov rbp,r8 + mul rbx + mov r10,rax + mov rax,QWORD[rcx] + + imul rbp,r10 + mov r11,rdx + + mul rbp + add r10,rax + mov rax,QWORD[8+rsi] + adc rdx,0 + mov r13,rdx + + lea r15,[1+r15] + jmp NEAR $L$1st_enter + +ALIGN 16 +$L$1st: + add r13,rax + mov rax,QWORD[r15*8+rsi] + adc rdx,0 + add r13,r11 + mov r11,r10 + adc rdx,0 + mov QWORD[((-16))+r15*8+rsp],r13 + mov r13,rdx + +$L$1st_enter: + mul rbx + add r11,rax + mov rax,QWORD[r15*8+rcx] + adc rdx,0 + lea r15,[1+r15] + mov r10,rdx + + mul rbp + cmp r15,r9 + jne NEAR $L$1st + + + add r13,rax + adc rdx,0 + add r13,r11 + adc rdx,0 + mov QWORD[((-16))+r9*8+rsp],r13 + mov r13,rdx + mov r11,r10 + + xor rdx,rdx + add r13,r11 + adc rdx,0 + mov QWORD[((-8))+r9*8+rsp],r13 + mov QWORD[r9*8+rsp],rdx + + lea r14,[1+r14] + jmp NEAR $L$outer +ALIGN 16 +$L$outer: + lea rdx,[((24+128))+r9*8+rsp] + and rdx,-16 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + movdqa xmm0,XMMWORD[((-128))+r12] + movdqa xmm1,XMMWORD[((-112))+r12] + movdqa xmm2,XMMWORD[((-96))+r12] + movdqa xmm3,XMMWORD[((-80))+r12] + pand xmm0,XMMWORD[((-128))+rdx] + pand xmm1,XMMWORD[((-112))+rdx] + por xmm4,xmm0 + pand xmm2,XMMWORD[((-96))+rdx] + por xmm5,xmm1 + pand xmm3,XMMWORD[((-80))+rdx] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[((-64))+r12] + movdqa xmm1,XMMWORD[((-48))+r12] + movdqa xmm2,XMMWORD[((-32))+r12] + movdqa xmm3,XMMWORD[((-16))+r12] + pand xmm0,XMMWORD[((-64))+rdx] + pand xmm1,XMMWORD[((-48))+rdx] + por xmm4,xmm0 + pand xmm2,XMMWORD[((-32))+rdx] + por xmm5,xmm1 + pand xmm3,XMMWORD[((-16))+rdx] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[r12] + movdqa xmm1,XMMWORD[16+r12] + movdqa xmm2,XMMWORD[32+r12] + movdqa xmm3,XMMWORD[48+r12] + pand xmm0,XMMWORD[rdx] + pand xmm1,XMMWORD[16+rdx] + por xmm4,xmm0 + pand xmm2,XMMWORD[32+rdx] + por xmm5,xmm1 + pand xmm3,XMMWORD[48+rdx] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[64+r12] + movdqa xmm1,XMMWORD[80+r12] + movdqa xmm2,XMMWORD[96+r12] + movdqa xmm3,XMMWORD[112+r12] + pand xmm0,XMMWORD[64+rdx] + pand xmm1,XMMWORD[80+rdx] + por xmm4,xmm0 + pand xmm2,XMMWORD[96+rdx] + por xmm5,xmm1 + pand xmm3,XMMWORD[112+rdx] + por xmm4,xmm2 + por xmm5,xmm3 + por xmm4,xmm5 + pshufd xmm0,xmm4,0x4e + por xmm0,xmm4 + lea r12,[256+r12] + + mov rax,QWORD[rsi] +DB 102,72,15,126,195 + + xor r15,r15 + mov rbp,r8 + mov r10,QWORD[rsp] + + mul rbx + add r10,rax + mov rax,QWORD[rcx] + adc rdx,0 + + imul rbp,r10 + mov r11,rdx + + mul rbp + add r10,rax + mov rax,QWORD[8+rsi] + adc rdx,0 + mov r10,QWORD[8+rsp] + mov r13,rdx + + lea r15,[1+r15] + jmp NEAR $L$inner_enter + +ALIGN 16 +$L$inner: + add r13,rax + mov rax,QWORD[r15*8+rsi] + adc rdx,0 + add r13,r10 + mov r10,QWORD[r15*8+rsp] + adc rdx,0 + mov QWORD[((-16))+r15*8+rsp],r13 + mov r13,rdx + +$L$inner_enter: + mul rbx + add r11,rax + mov rax,QWORD[r15*8+rcx] + adc rdx,0 + add r10,r11 + mov r11,rdx + adc r11,0 + lea r15,[1+r15] + + mul rbp + cmp r15,r9 + jne NEAR $L$inner + + add r13,rax + adc rdx,0 + add r13,r10 + mov r10,QWORD[r9*8+rsp] + adc rdx,0 + mov QWORD[((-16))+r9*8+rsp],r13 + mov r13,rdx + + xor rdx,rdx + add r13,r11 + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-8))+r9*8+rsp],r13 + mov QWORD[r9*8+rsp],rdx + + lea r14,[1+r14] + cmp r14,r9 + jb NEAR $L$outer + + xor r14,r14 + mov rax,QWORD[rsp] + lea rsi,[rsp] + mov r15,r9 + jmp NEAR $L$sub +ALIGN 16 +$L$sub: sbb rax,QWORD[r14*8+rcx] + mov QWORD[r14*8+rdi],rax + mov rax,QWORD[8+r14*8+rsi] + lea r14,[1+r14] + dec r15 + jnz NEAR $L$sub + + sbb rax,0 + mov rbx,-1 + xor rbx,rax + xor r14,r14 + mov r15,r9 + +$L$copy: + mov rcx,QWORD[r14*8+rdi] + mov rdx,QWORD[r14*8+rsp] + and rcx,rbx + and rdx,rax + mov QWORD[r14*8+rsp],r14 + or rdx,rcx + mov QWORD[r14*8+rdi],rdx + lea r14,[1+r14] + sub r15,1 + jnz NEAR $L$copy + + mov rsi,QWORD[8+r9*8+rsp] + mov rax,1 + + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$mul_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_bn_mul_mont_gather5: + +ALIGN 32 +bn_mul4x_mont_gather5: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_bn_mul4x_mont_gather5: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + +DB 0x67 + mov rax,rsp +$L$mul4x_enter: + and r11d,0x80108 + cmp r11d,0x80108 + je NEAR $L$mulx4x_enter + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 +$L$mul4x_prologue: + +DB 0x67 + shl r9d,3 + lea r10,[r9*2+r9] + neg r9 + + + + + + + + + + + lea r11,[((-320))+r9*2+rsp] + mov rbp,rsp + sub r11,rdi + and r11,4095 + cmp r10,r11 + jb NEAR $L$mul4xsp_alt + sub rbp,r11 + lea rbp,[((-320))+r9*2+rbp] + jmp NEAR $L$mul4xsp_done + +ALIGN 32 +$L$mul4xsp_alt: + lea r10,[((4096-320))+r9*2] + lea rbp,[((-320))+r9*2+rbp] + sub r11,r10 + mov r10,0 + cmovc r11,r10 + sub rbp,r11 +$L$mul4xsp_done: + and rbp,-64 + mov r11,rsp + sub r11,rbp + and r11,-4096 + lea rsp,[rbp*1+r11] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$mul4x_page_walk + jmp NEAR $L$mul4x_page_walk_done + +$L$mul4x_page_walk: + lea rsp,[((-4096))+rsp] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$mul4x_page_walk +$L$mul4x_page_walk_done: + + neg r9 + + mov QWORD[40+rsp],rax +$L$mul4x_body: + + call mul4x_internal + + mov rsi,QWORD[40+rsp] + mov rax,1 + + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$mul4x_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_bn_mul4x_mont_gather5: + + +ALIGN 32 +mul4x_internal: + shl r9,5 + movd xmm5,DWORD[56+rax] + lea rax,[$L$inc] + lea r13,[128+r9*1+rdx] + shr r9,5 + movdqa xmm0,XMMWORD[rax] + movdqa xmm1,XMMWORD[16+rax] + lea r10,[((88-112))+r9*1+rsp] + lea r12,[128+rdx] + + pshufd xmm5,xmm5,0 + movdqa xmm4,xmm1 +DB 0x67,0x67 + movdqa xmm2,xmm1 + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 +DB 0x67 + movdqa xmm3,xmm4 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[112+r10],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[128+r10],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[144+r10],xmm2 + movdqa xmm2,xmm4 + + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[160+r10],xmm3 + movdqa xmm3,xmm4 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[176+r10],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[192+r10],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[208+r10],xmm2 + movdqa xmm2,xmm4 + + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[224+r10],xmm3 + movdqa xmm3,xmm4 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[240+r10],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[256+r10],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[272+r10],xmm2 + movdqa xmm2,xmm4 + + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[288+r10],xmm3 + movdqa xmm3,xmm4 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[304+r10],xmm0 + + paddd xmm3,xmm2 +DB 0x67 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[320+r10],xmm1 + + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[336+r10],xmm2 + pand xmm0,XMMWORD[64+r12] + + pand xmm1,XMMWORD[80+r12] + pand xmm2,XMMWORD[96+r12] + movdqa XMMWORD[352+r10],xmm3 + pand xmm3,XMMWORD[112+r12] + por xmm0,xmm2 + por xmm1,xmm3 + movdqa xmm4,XMMWORD[((-128))+r12] + movdqa xmm5,XMMWORD[((-112))+r12] + movdqa xmm2,XMMWORD[((-96))+r12] + pand xmm4,XMMWORD[112+r10] + movdqa xmm3,XMMWORD[((-80))+r12] + pand xmm5,XMMWORD[128+r10] + por xmm0,xmm4 + pand xmm2,XMMWORD[144+r10] + por xmm1,xmm5 + pand xmm3,XMMWORD[160+r10] + por xmm0,xmm2 + por xmm1,xmm3 + movdqa xmm4,XMMWORD[((-64))+r12] + movdqa xmm5,XMMWORD[((-48))+r12] + movdqa xmm2,XMMWORD[((-32))+r12] + pand xmm4,XMMWORD[176+r10] + movdqa xmm3,XMMWORD[((-16))+r12] + pand xmm5,XMMWORD[192+r10] + por xmm0,xmm4 + pand xmm2,XMMWORD[208+r10] + por xmm1,xmm5 + pand xmm3,XMMWORD[224+r10] + por xmm0,xmm2 + por xmm1,xmm3 + movdqa xmm4,XMMWORD[r12] + movdqa xmm5,XMMWORD[16+r12] + movdqa xmm2,XMMWORD[32+r12] + pand xmm4,XMMWORD[240+r10] + movdqa xmm3,XMMWORD[48+r12] + pand xmm5,XMMWORD[256+r10] + por xmm0,xmm4 + pand xmm2,XMMWORD[272+r10] + por xmm1,xmm5 + pand xmm3,XMMWORD[288+r10] + por xmm0,xmm2 + por xmm1,xmm3 + por xmm0,xmm1 + pshufd xmm1,xmm0,0x4e + por xmm0,xmm1 + lea r12,[256+r12] +DB 102,72,15,126,195 + + mov QWORD[((16+8))+rsp],r13 + mov QWORD[((56+8))+rsp],rdi + + mov r8,QWORD[r8] + mov rax,QWORD[rsi] + lea rsi,[r9*1+rsi] + neg r9 + + mov rbp,r8 + mul rbx + mov r10,rax + mov rax,QWORD[rcx] + + imul rbp,r10 + lea r14,[((64+8))+rsp] + mov r11,rdx + + mul rbp + add r10,rax + mov rax,QWORD[8+r9*1+rsi] + adc rdx,0 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[8+rcx] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[16+r9*1+rsi] + adc rdx,0 + add rdi,r11 + lea r15,[32+r9] + lea rcx,[32+rcx] + adc rdx,0 + mov QWORD[r14],rdi + mov r13,rdx + jmp NEAR $L$1st4x + +ALIGN 32 +$L$1st4x: + mul rbx + add r10,rax + mov rax,QWORD[((-16))+rcx] + lea r14,[32+r14] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[((-8))+r15*1+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-24))+r14],r13 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[((-8))+rcx] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[r15*1+rsi] + adc rdx,0 + add rdi,r11 + adc rdx,0 + mov QWORD[((-16))+r14],rdi + mov r13,rdx + + mul rbx + add r10,rax + mov rax,QWORD[rcx] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[8+r15*1+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-8))+r14],r13 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[8+rcx] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[16+r15*1+rsi] + adc rdx,0 + add rdi,r11 + lea rcx,[32+rcx] + adc rdx,0 + mov QWORD[r14],rdi + mov r13,rdx + + add r15,32 + jnz NEAR $L$1st4x + + mul rbx + add r10,rax + mov rax,QWORD[((-16))+rcx] + lea r14,[32+r14] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[((-8))+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-24))+r14],r13 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[((-8))+rcx] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[r9*1+rsi] + adc rdx,0 + add rdi,r11 + adc rdx,0 + mov QWORD[((-16))+r14],rdi + mov r13,rdx + + lea rcx,[r9*1+rcx] + + xor rdi,rdi + add r13,r10 + adc rdi,0 + mov QWORD[((-8))+r14],r13 + + jmp NEAR $L$outer4x + +ALIGN 32 +$L$outer4x: + lea rdx,[((16+128))+r14] + pxor xmm4,xmm4 + pxor xmm5,xmm5 + movdqa xmm0,XMMWORD[((-128))+r12] + movdqa xmm1,XMMWORD[((-112))+r12] + movdqa xmm2,XMMWORD[((-96))+r12] + movdqa xmm3,XMMWORD[((-80))+r12] + pand xmm0,XMMWORD[((-128))+rdx] + pand xmm1,XMMWORD[((-112))+rdx] + por xmm4,xmm0 + pand xmm2,XMMWORD[((-96))+rdx] + por xmm5,xmm1 + pand xmm3,XMMWORD[((-80))+rdx] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[((-64))+r12] + movdqa xmm1,XMMWORD[((-48))+r12] + movdqa xmm2,XMMWORD[((-32))+r12] + movdqa xmm3,XMMWORD[((-16))+r12] + pand xmm0,XMMWORD[((-64))+rdx] + pand xmm1,XMMWORD[((-48))+rdx] + por xmm4,xmm0 + pand xmm2,XMMWORD[((-32))+rdx] + por xmm5,xmm1 + pand xmm3,XMMWORD[((-16))+rdx] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[r12] + movdqa xmm1,XMMWORD[16+r12] + movdqa xmm2,XMMWORD[32+r12] + movdqa xmm3,XMMWORD[48+r12] + pand xmm0,XMMWORD[rdx] + pand xmm1,XMMWORD[16+rdx] + por xmm4,xmm0 + pand xmm2,XMMWORD[32+rdx] + por xmm5,xmm1 + pand xmm3,XMMWORD[48+rdx] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[64+r12] + movdqa xmm1,XMMWORD[80+r12] + movdqa xmm2,XMMWORD[96+r12] + movdqa xmm3,XMMWORD[112+r12] + pand xmm0,XMMWORD[64+rdx] + pand xmm1,XMMWORD[80+rdx] + por xmm4,xmm0 + pand xmm2,XMMWORD[96+rdx] + por xmm5,xmm1 + pand xmm3,XMMWORD[112+rdx] + por xmm4,xmm2 + por xmm5,xmm3 + por xmm4,xmm5 + pshufd xmm0,xmm4,0x4e + por xmm0,xmm4 + lea r12,[256+r12] +DB 102,72,15,126,195 + + mov r10,QWORD[r9*1+r14] + mov rbp,r8 + mul rbx + add r10,rax + mov rax,QWORD[rcx] + adc rdx,0 + + imul rbp,r10 + mov r11,rdx + mov QWORD[r14],rdi + + lea r14,[r9*1+r14] + + mul rbp + add r10,rax + mov rax,QWORD[8+r9*1+rsi] + adc rdx,0 + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[8+rcx] + adc rdx,0 + add r11,QWORD[8+r14] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[16+r9*1+rsi] + adc rdx,0 + add rdi,r11 + lea r15,[32+r9] + lea rcx,[32+rcx] + adc rdx,0 + mov r13,rdx + jmp NEAR $L$inner4x + +ALIGN 32 +$L$inner4x: + mul rbx + add r10,rax + mov rax,QWORD[((-16))+rcx] + adc rdx,0 + add r10,QWORD[16+r14] + lea r14,[32+r14] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[((-8))+r15*1+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-32))+r14],rdi + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[((-8))+rcx] + adc rdx,0 + add r11,QWORD[((-8))+r14] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[r15*1+rsi] + adc rdx,0 + add rdi,r11 + adc rdx,0 + mov QWORD[((-24))+r14],r13 + mov r13,rdx + + mul rbx + add r10,rax + mov rax,QWORD[rcx] + adc rdx,0 + add r10,QWORD[r14] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[8+r15*1+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-16))+r14],rdi + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,QWORD[8+rcx] + adc rdx,0 + add r11,QWORD[8+r14] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[16+r15*1+rsi] + adc rdx,0 + add rdi,r11 + lea rcx,[32+rcx] + adc rdx,0 + mov QWORD[((-8))+r14],r13 + mov r13,rdx + + add r15,32 + jnz NEAR $L$inner4x + + mul rbx + add r10,rax + mov rax,QWORD[((-16))+rcx] + adc rdx,0 + add r10,QWORD[16+r14] + lea r14,[32+r14] + adc rdx,0 + mov r11,rdx + + mul rbp + add r13,rax + mov rax,QWORD[((-8))+rsi] + adc rdx,0 + add r13,r10 + adc rdx,0 + mov QWORD[((-32))+r14],rdi + mov rdi,rdx + + mul rbx + add r11,rax + mov rax,rbp + mov rbp,QWORD[((-8))+rcx] + adc rdx,0 + add r11,QWORD[((-8))+r14] + adc rdx,0 + mov r10,rdx + + mul rbp + add rdi,rax + mov rax,QWORD[r9*1+rsi] + adc rdx,0 + add rdi,r11 + adc rdx,0 + mov QWORD[((-24))+r14],r13 + mov r13,rdx + + mov QWORD[((-16))+r14],rdi + lea rcx,[r9*1+rcx] + + xor rdi,rdi + add r13,r10 + adc rdi,0 + add r13,QWORD[r14] + adc rdi,0 + mov QWORD[((-8))+r14],r13 + + cmp r12,QWORD[((16+8))+rsp] + jb NEAR $L$outer4x + xor rax,rax + sub rbp,r13 + adc r15,r15 + or rdi,r15 + sub rax,rdi + lea rbx,[r9*1+r14] + mov r12,QWORD[rcx] + lea rbp,[rcx] + mov rcx,r9 + sar rcx,3+2 + mov rdi,QWORD[((56+8))+rsp] + dec r12 + xor r10,r10 + mov r13,QWORD[8+rbp] + mov r14,QWORD[16+rbp] + mov r15,QWORD[24+rbp] + jmp NEAR $L$sqr4x_sub_entry + +global bn_power5 + +ALIGN 32 +bn_power5: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_bn_power5: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov rax,rsp + mov r11d,DWORD[((OPENSSL_ia32cap_P+8))] + and r11d,0x80108 + cmp r11d,0x80108 + je NEAR $L$powerx5_enter + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 +$L$power5_prologue: + + shl r9d,3 + lea r10d,[r9*2+r9] + neg r9 + mov r8,QWORD[r8] + + + + + + + + + lea r11,[((-320))+r9*2+rsp] + mov rbp,rsp + sub r11,rdi + and r11,4095 + cmp r10,r11 + jb NEAR $L$pwr_sp_alt + sub rbp,r11 + lea rbp,[((-320))+r9*2+rbp] + jmp NEAR $L$pwr_sp_done + +ALIGN 32 +$L$pwr_sp_alt: + lea r10,[((4096-320))+r9*2] + lea rbp,[((-320))+r9*2+rbp] + sub r11,r10 + mov r10,0 + cmovc r11,r10 + sub rbp,r11 +$L$pwr_sp_done: + and rbp,-64 + mov r11,rsp + sub r11,rbp + and r11,-4096 + lea rsp,[rbp*1+r11] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$pwr_page_walk + jmp NEAR $L$pwr_page_walk_done + +$L$pwr_page_walk: + lea rsp,[((-4096))+rsp] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$pwr_page_walk +$L$pwr_page_walk_done: + + mov r10,r9 + neg r9 + + + + + + + + + + + mov QWORD[32+rsp],r8 + mov QWORD[40+rsp],rax +$L$power5_body: +DB 102,72,15,110,207 +DB 102,72,15,110,209 +DB 102,73,15,110,218 +DB 102,72,15,110,226 + + call __bn_sqr8x_internal + call __bn_post4x_internal + call __bn_sqr8x_internal + call __bn_post4x_internal + call __bn_sqr8x_internal + call __bn_post4x_internal + call __bn_sqr8x_internal + call __bn_post4x_internal + call __bn_sqr8x_internal + call __bn_post4x_internal + +DB 102,72,15,126,209 +DB 102,72,15,126,226 + mov rdi,rsi + mov rax,QWORD[40+rsp] + lea r8,[32+rsp] + + call mul4x_internal + + mov rsi,QWORD[40+rsp] + mov rax,1 + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$power5_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_bn_power5: + +global bn_sqr8x_internal + + +ALIGN 32 +bn_sqr8x_internal: +__bn_sqr8x_internal: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lea rbp,[32+r10] + lea rsi,[r9*1+rsi] + + mov rcx,r9 + + + mov r14,QWORD[((-32))+rbp*1+rsi] + lea rdi,[((48+8))+r9*2+rsp] + mov rax,QWORD[((-24))+rbp*1+rsi] + lea rdi,[((-32))+rbp*1+rdi] + mov rbx,QWORD[((-16))+rbp*1+rsi] + mov r15,rax + + mul r14 + mov r10,rax + mov rax,rbx + mov r11,rdx + mov QWORD[((-24))+rbp*1+rdi],r10 + + mul r14 + add r11,rax + mov rax,rbx + adc rdx,0 + mov QWORD[((-16))+rbp*1+rdi],r11 + mov r10,rdx + + + mov rbx,QWORD[((-8))+rbp*1+rsi] + mul r15 + mov r12,rax + mov rax,rbx + mov r13,rdx + + lea rcx,[rbp] + mul r14 + add r10,rax + mov rax,rbx + mov r11,rdx + adc r11,0 + add r10,r12 + adc r11,0 + mov QWORD[((-8))+rcx*1+rdi],r10 + jmp NEAR $L$sqr4x_1st + +ALIGN 32 +$L$sqr4x_1st: + mov rbx,QWORD[rcx*1+rsi] + mul r15 + add r13,rax + mov rax,rbx + mov r12,rdx + adc r12,0 + + mul r14 + add r11,rax + mov rax,rbx + mov rbx,QWORD[8+rcx*1+rsi] + mov r10,rdx + adc r10,0 + add r11,r13 + adc r10,0 + + + mul r15 + add r12,rax + mov rax,rbx + mov QWORD[rcx*1+rdi],r11 + mov r13,rdx + adc r13,0 + + mul r14 + add r10,rax + mov rax,rbx + mov rbx,QWORD[16+rcx*1+rsi] + mov r11,rdx + adc r11,0 + add r10,r12 + adc r11,0 + + mul r15 + add r13,rax + mov rax,rbx + mov QWORD[8+rcx*1+rdi],r10 + mov r12,rdx + adc r12,0 + + mul r14 + add r11,rax + mov rax,rbx + mov rbx,QWORD[24+rcx*1+rsi] + mov r10,rdx + adc r10,0 + add r11,r13 + adc r10,0 + + + mul r15 + add r12,rax + mov rax,rbx + mov QWORD[16+rcx*1+rdi],r11 + mov r13,rdx + adc r13,0 + lea rcx,[32+rcx] + + mul r14 + add r10,rax + mov rax,rbx + mov r11,rdx + adc r11,0 + add r10,r12 + adc r11,0 + mov QWORD[((-8))+rcx*1+rdi],r10 + + cmp rcx,0 + jne NEAR $L$sqr4x_1st + + mul r15 + add r13,rax + lea rbp,[16+rbp] + adc rdx,0 + add r13,r11 + adc rdx,0 + + mov QWORD[rdi],r13 + mov r12,rdx + mov QWORD[8+rdi],rdx + jmp NEAR $L$sqr4x_outer + +ALIGN 32 +$L$sqr4x_outer: + mov r14,QWORD[((-32))+rbp*1+rsi] + lea rdi,[((48+8))+r9*2+rsp] + mov rax,QWORD[((-24))+rbp*1+rsi] + lea rdi,[((-32))+rbp*1+rdi] + mov rbx,QWORD[((-16))+rbp*1+rsi] + mov r15,rax + + mul r14 + mov r10,QWORD[((-24))+rbp*1+rdi] + add r10,rax + mov rax,rbx + adc rdx,0 + mov QWORD[((-24))+rbp*1+rdi],r10 + mov r11,rdx + + mul r14 + add r11,rax + mov rax,rbx + adc rdx,0 + add r11,QWORD[((-16))+rbp*1+rdi] + mov r10,rdx + adc r10,0 + mov QWORD[((-16))+rbp*1+rdi],r11 + + xor r12,r12 + + mov rbx,QWORD[((-8))+rbp*1+rsi] + mul r15 + add r12,rax + mov rax,rbx + adc rdx,0 + add r12,QWORD[((-8))+rbp*1+rdi] + mov r13,rdx + adc r13,0 + + mul r14 + add r10,rax + mov rax,rbx + adc rdx,0 + add r10,r12 + mov r11,rdx + adc r11,0 + mov QWORD[((-8))+rbp*1+rdi],r10 + + lea rcx,[rbp] + jmp NEAR $L$sqr4x_inner + +ALIGN 32 +$L$sqr4x_inner: + mov rbx,QWORD[rcx*1+rsi] + mul r15 + add r13,rax + mov rax,rbx + mov r12,rdx + adc r12,0 + add r13,QWORD[rcx*1+rdi] + adc r12,0 + +DB 0x67 + mul r14 + add r11,rax + mov rax,rbx + mov rbx,QWORD[8+rcx*1+rsi] + mov r10,rdx + adc r10,0 + add r11,r13 + adc r10,0 + + mul r15 + add r12,rax + mov QWORD[rcx*1+rdi],r11 + mov rax,rbx + mov r13,rdx + adc r13,0 + add r12,QWORD[8+rcx*1+rdi] + lea rcx,[16+rcx] + adc r13,0 + + mul r14 + add r10,rax + mov rax,rbx + adc rdx,0 + add r10,r12 + mov r11,rdx + adc r11,0 + mov QWORD[((-8))+rcx*1+rdi],r10 + + cmp rcx,0 + jne NEAR $L$sqr4x_inner + +DB 0x67 + mul r15 + add r13,rax + adc rdx,0 + add r13,r11 + adc rdx,0 + + mov QWORD[rdi],r13 + mov r12,rdx + mov QWORD[8+rdi],rdx + + add rbp,16 + jnz NEAR $L$sqr4x_outer + + + mov r14,QWORD[((-32))+rsi] + lea rdi,[((48+8))+r9*2+rsp] + mov rax,QWORD[((-24))+rsi] + lea rdi,[((-32))+rbp*1+rdi] + mov rbx,QWORD[((-16))+rsi] + mov r15,rax + + mul r14 + add r10,rax + mov rax,rbx + mov r11,rdx + adc r11,0 + + mul r14 + add r11,rax + mov rax,rbx + mov QWORD[((-24))+rdi],r10 + mov r10,rdx + adc r10,0 + add r11,r13 + mov rbx,QWORD[((-8))+rsi] + adc r10,0 + + mul r15 + add r12,rax + mov rax,rbx + mov QWORD[((-16))+rdi],r11 + mov r13,rdx + adc r13,0 + + mul r14 + add r10,rax + mov rax,rbx + mov r11,rdx + adc r11,0 + add r10,r12 + adc r11,0 + mov QWORD[((-8))+rdi],r10 + + mul r15 + add r13,rax + mov rax,QWORD[((-16))+rsi] + adc rdx,0 + add r13,r11 + adc rdx,0 + + mov QWORD[rdi],r13 + mov r12,rdx + mov QWORD[8+rdi],rdx + + mul rbx + add rbp,16 + xor r14,r14 + sub rbp,r9 + xor r15,r15 + + add rax,r12 + adc rdx,0 + mov QWORD[8+rdi],rax + mov QWORD[16+rdi],rdx + mov QWORD[24+rdi],r15 + + mov rax,QWORD[((-16))+rbp*1+rsi] + lea rdi,[((48+8))+rsp] + xor r10,r10 + mov r11,QWORD[8+rdi] + + lea r12,[r10*2+r14] + shr r10,63 + lea r13,[r11*2+rcx] + shr r11,63 + or r13,r10 + mov r10,QWORD[16+rdi] + mov r14,r11 + mul rax + neg r15 + mov r11,QWORD[24+rdi] + adc r12,rax + mov rax,QWORD[((-8))+rbp*1+rsi] + mov QWORD[rdi],r12 + adc r13,rdx + + lea rbx,[r10*2+r14] + mov QWORD[8+rdi],r13 + sbb r15,r15 + shr r10,63 + lea r8,[r11*2+rcx] + shr r11,63 + or r8,r10 + mov r10,QWORD[32+rdi] + mov r14,r11 + mul rax + neg r15 + mov r11,QWORD[40+rdi] + adc rbx,rax + mov rax,QWORD[rbp*1+rsi] + mov QWORD[16+rdi],rbx + adc r8,rdx + lea rbp,[16+rbp] + mov QWORD[24+rdi],r8 + sbb r15,r15 + lea rdi,[64+rdi] + jmp NEAR $L$sqr4x_shift_n_add + +ALIGN 32 +$L$sqr4x_shift_n_add: + lea r12,[r10*2+r14] + shr r10,63 + lea r13,[r11*2+rcx] + shr r11,63 + or r13,r10 + mov r10,QWORD[((-16))+rdi] + mov r14,r11 + mul rax + neg r15 + mov r11,QWORD[((-8))+rdi] + adc r12,rax + mov rax,QWORD[((-8))+rbp*1+rsi] + mov QWORD[((-32))+rdi],r12 + adc r13,rdx + + lea rbx,[r10*2+r14] + mov QWORD[((-24))+rdi],r13 + sbb r15,r15 + shr r10,63 + lea r8,[r11*2+rcx] + shr r11,63 + or r8,r10 + mov r10,QWORD[rdi] + mov r14,r11 + mul rax + neg r15 + mov r11,QWORD[8+rdi] + adc rbx,rax + mov rax,QWORD[rbp*1+rsi] + mov QWORD[((-16))+rdi],rbx + adc r8,rdx + + lea r12,[r10*2+r14] + mov QWORD[((-8))+rdi],r8 + sbb r15,r15 + shr r10,63 + lea r13,[r11*2+rcx] + shr r11,63 + or r13,r10 + mov r10,QWORD[16+rdi] + mov r14,r11 + mul rax + neg r15 + mov r11,QWORD[24+rdi] + adc r12,rax + mov rax,QWORD[8+rbp*1+rsi] + mov QWORD[rdi],r12 + adc r13,rdx + + lea rbx,[r10*2+r14] + mov QWORD[8+rdi],r13 + sbb r15,r15 + shr r10,63 + lea r8,[r11*2+rcx] + shr r11,63 + or r8,r10 + mov r10,QWORD[32+rdi] + mov r14,r11 + mul rax + neg r15 + mov r11,QWORD[40+rdi] + adc rbx,rax + mov rax,QWORD[16+rbp*1+rsi] + mov QWORD[16+rdi],rbx + adc r8,rdx + mov QWORD[24+rdi],r8 + sbb r15,r15 + lea rdi,[64+rdi] + add rbp,32 + jnz NEAR $L$sqr4x_shift_n_add + + lea r12,[r10*2+r14] +DB 0x67 + shr r10,63 + lea r13,[r11*2+rcx] + shr r11,63 + or r13,r10 + mov r10,QWORD[((-16))+rdi] + mov r14,r11 + mul rax + neg r15 + mov r11,QWORD[((-8))+rdi] + adc r12,rax + mov rax,QWORD[((-8))+rsi] + mov QWORD[((-32))+rdi],r12 + adc r13,rdx + + lea rbx,[r10*2+r14] + mov QWORD[((-24))+rdi],r13 + sbb r15,r15 + shr r10,63 + lea r8,[r11*2+rcx] + shr r11,63 + or r8,r10 + mul rax + neg r15 + adc rbx,rax + adc r8,rdx + mov QWORD[((-16))+rdi],rbx + mov QWORD[((-8))+rdi],r8 +DB 102,72,15,126,213 +__bn_sqr8x_reduction: + xor rax,rax + lea rcx,[rbp*1+r9] + lea rdx,[((48+8))+r9*2+rsp] + mov QWORD[((0+8))+rsp],rcx + lea rdi,[((48+8))+r9*1+rsp] + mov QWORD[((8+8))+rsp],rdx + neg r9 + jmp NEAR $L$8x_reduction_loop + +ALIGN 32 +$L$8x_reduction_loop: + lea rdi,[r9*1+rdi] +DB 0x66 + mov rbx,QWORD[rdi] + mov r9,QWORD[8+rdi] + mov r10,QWORD[16+rdi] + mov r11,QWORD[24+rdi] + mov r12,QWORD[32+rdi] + mov r13,QWORD[40+rdi] + mov r14,QWORD[48+rdi] + mov r15,QWORD[56+rdi] + mov QWORD[rdx],rax + lea rdi,[64+rdi] + +DB 0x67 + mov r8,rbx + imul rbx,QWORD[((32+8))+rsp] + mov rax,QWORD[rbp] + mov ecx,8 + jmp NEAR $L$8x_reduce + +ALIGN 32 +$L$8x_reduce: + mul rbx + mov rax,QWORD[8+rbp] + neg r8 + mov r8,rdx + adc r8,0 + + mul rbx + add r9,rax + mov rax,QWORD[16+rbp] + adc rdx,0 + add r8,r9 + mov QWORD[((48-8+8))+rcx*8+rsp],rbx + mov r9,rdx + adc r9,0 + + mul rbx + add r10,rax + mov rax,QWORD[24+rbp] + adc rdx,0 + add r9,r10 + mov rsi,QWORD[((32+8))+rsp] + mov r10,rdx + adc r10,0 + + mul rbx + add r11,rax + mov rax,QWORD[32+rbp] + adc rdx,0 + imul rsi,r8 + add r10,r11 + mov r11,rdx + adc r11,0 + + mul rbx + add r12,rax + mov rax,QWORD[40+rbp] + adc rdx,0 + add r11,r12 + mov r12,rdx + adc r12,0 + + mul rbx + add r13,rax + mov rax,QWORD[48+rbp] + adc rdx,0 + add r12,r13 + mov r13,rdx + adc r13,0 + + mul rbx + add r14,rax + mov rax,QWORD[56+rbp] + adc rdx,0 + add r13,r14 + mov r14,rdx + adc r14,0 + + mul rbx + mov rbx,rsi + add r15,rax + mov rax,QWORD[rbp] + adc rdx,0 + add r14,r15 + mov r15,rdx + adc r15,0 + + dec ecx + jnz NEAR $L$8x_reduce + + lea rbp,[64+rbp] + xor rax,rax + mov rdx,QWORD[((8+8))+rsp] + cmp rbp,QWORD[((0+8))+rsp] + jae NEAR $L$8x_no_tail + +DB 0x66 + add r8,QWORD[rdi] + adc r9,QWORD[8+rdi] + adc r10,QWORD[16+rdi] + adc r11,QWORD[24+rdi] + adc r12,QWORD[32+rdi] + adc r13,QWORD[40+rdi] + adc r14,QWORD[48+rdi] + adc r15,QWORD[56+rdi] + sbb rsi,rsi + + mov rbx,QWORD[((48+56+8))+rsp] + mov ecx,8 + mov rax,QWORD[rbp] + jmp NEAR $L$8x_tail + +ALIGN 32 +$L$8x_tail: + mul rbx + add r8,rax + mov rax,QWORD[8+rbp] + mov QWORD[rdi],r8 + mov r8,rdx + adc r8,0 + + mul rbx + add r9,rax + mov rax,QWORD[16+rbp] + adc rdx,0 + add r8,r9 + lea rdi,[8+rdi] + mov r9,rdx + adc r9,0 + + mul rbx + add r10,rax + mov rax,QWORD[24+rbp] + adc rdx,0 + add r9,r10 + mov r10,rdx + adc r10,0 + + mul rbx + add r11,rax + mov rax,QWORD[32+rbp] + adc rdx,0 + add r10,r11 + mov r11,rdx + adc r11,0 + + mul rbx + add r12,rax + mov rax,QWORD[40+rbp] + adc rdx,0 + add r11,r12 + mov r12,rdx + adc r12,0 + + mul rbx + add r13,rax + mov rax,QWORD[48+rbp] + adc rdx,0 + add r12,r13 + mov r13,rdx + adc r13,0 + + mul rbx + add r14,rax + mov rax,QWORD[56+rbp] + adc rdx,0 + add r13,r14 + mov r14,rdx + adc r14,0 + + mul rbx + mov rbx,QWORD[((48-16+8))+rcx*8+rsp] + add r15,rax + adc rdx,0 + add r14,r15 + mov rax,QWORD[rbp] + mov r15,rdx + adc r15,0 + + dec ecx + jnz NEAR $L$8x_tail + + lea rbp,[64+rbp] + mov rdx,QWORD[((8+8))+rsp] + cmp rbp,QWORD[((0+8))+rsp] + jae NEAR $L$8x_tail_done + + mov rbx,QWORD[((48+56+8))+rsp] + neg rsi + mov rax,QWORD[rbp] + adc r8,QWORD[rdi] + adc r9,QWORD[8+rdi] + adc r10,QWORD[16+rdi] + adc r11,QWORD[24+rdi] + adc r12,QWORD[32+rdi] + adc r13,QWORD[40+rdi] + adc r14,QWORD[48+rdi] + adc r15,QWORD[56+rdi] + sbb rsi,rsi + + mov ecx,8 + jmp NEAR $L$8x_tail + +ALIGN 32 +$L$8x_tail_done: + xor rax,rax + add r8,QWORD[rdx] + adc r9,0 + adc r10,0 + adc r11,0 + adc r12,0 + adc r13,0 + adc r14,0 + adc r15,0 + adc rax,0 + + neg rsi +$L$8x_no_tail: + adc r8,QWORD[rdi] + adc r9,QWORD[8+rdi] + adc r10,QWORD[16+rdi] + adc r11,QWORD[24+rdi] + adc r12,QWORD[32+rdi] + adc r13,QWORD[40+rdi] + adc r14,QWORD[48+rdi] + adc r15,QWORD[56+rdi] + adc rax,0 + mov rcx,QWORD[((-8))+rbp] + xor rsi,rsi + +DB 102,72,15,126,213 + + mov QWORD[rdi],r8 + mov QWORD[8+rdi],r9 +DB 102,73,15,126,217 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + mov QWORD[32+rdi],r12 + mov QWORD[40+rdi],r13 + mov QWORD[48+rdi],r14 + mov QWORD[56+rdi],r15 + lea rdi,[64+rdi] + + cmp rdi,rdx + jb NEAR $L$8x_reduction_loop + DB 0F3h,0C3h ;repret + + +ALIGN 32 +__bn_post4x_internal: + mov r12,QWORD[rbp] + lea rbx,[r9*1+rdi] + mov rcx,r9 +DB 102,72,15,126,207 + neg rax +DB 102,72,15,126,206 + sar rcx,3+2 + dec r12 + xor r10,r10 + mov r13,QWORD[8+rbp] + mov r14,QWORD[16+rbp] + mov r15,QWORD[24+rbp] + jmp NEAR $L$sqr4x_sub_entry + +ALIGN 16 +$L$sqr4x_sub: + mov r12,QWORD[rbp] + mov r13,QWORD[8+rbp] + mov r14,QWORD[16+rbp] + mov r15,QWORD[24+rbp] +$L$sqr4x_sub_entry: + lea rbp,[32+rbp] + not r12 + not r13 + not r14 + not r15 + and r12,rax + and r13,rax + and r14,rax + and r15,rax + + neg r10 + adc r12,QWORD[rbx] + adc r13,QWORD[8+rbx] + adc r14,QWORD[16+rbx] + adc r15,QWORD[24+rbx] + mov QWORD[rdi],r12 + lea rbx,[32+rbx] + mov QWORD[8+rdi],r13 + sbb r10,r10 + mov QWORD[16+rdi],r14 + mov QWORD[24+rdi],r15 + lea rdi,[32+rdi] + + inc rcx + jnz NEAR $L$sqr4x_sub + + mov r10,r9 + neg r9 + DB 0F3h,0C3h ;repret + +global bn_from_montgomery + +ALIGN 32 +bn_from_montgomery: + test DWORD[48+rsp],7 + jz NEAR bn_from_mont8x + xor eax,eax + DB 0F3h,0C3h ;repret + + + +ALIGN 32 +bn_from_mont8x: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_bn_from_mont8x: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + +DB 0x67 + mov rax,rsp + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 +$L$from_prologue: + + shl r9d,3 + lea r10,[r9*2+r9] + neg r9 + mov r8,QWORD[r8] + + + + + + + + + lea r11,[((-320))+r9*2+rsp] + mov rbp,rsp + sub r11,rdi + and r11,4095 + cmp r10,r11 + jb NEAR $L$from_sp_alt + sub rbp,r11 + lea rbp,[((-320))+r9*2+rbp] + jmp NEAR $L$from_sp_done + +ALIGN 32 +$L$from_sp_alt: + lea r10,[((4096-320))+r9*2] + lea rbp,[((-320))+r9*2+rbp] + sub r11,r10 + mov r10,0 + cmovc r11,r10 + sub rbp,r11 +$L$from_sp_done: + and rbp,-64 + mov r11,rsp + sub r11,rbp + and r11,-4096 + lea rsp,[rbp*1+r11] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$from_page_walk + jmp NEAR $L$from_page_walk_done + +$L$from_page_walk: + lea rsp,[((-4096))+rsp] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$from_page_walk +$L$from_page_walk_done: + + mov r10,r9 + neg r9 + + + + + + + + + + + mov QWORD[32+rsp],r8 + mov QWORD[40+rsp],rax +$L$from_body: + mov r11,r9 + lea rax,[48+rsp] + pxor xmm0,xmm0 + jmp NEAR $L$mul_by_1 + +ALIGN 32 +$L$mul_by_1: + movdqu xmm1,XMMWORD[rsi] + movdqu xmm2,XMMWORD[16+rsi] + movdqu xmm3,XMMWORD[32+rsi] + movdqa XMMWORD[r9*1+rax],xmm0 + movdqu xmm4,XMMWORD[48+rsi] + movdqa XMMWORD[16+r9*1+rax],xmm0 +DB 0x48,0x8d,0xb6,0x40,0x00,0x00,0x00 + movdqa XMMWORD[rax],xmm1 + movdqa XMMWORD[32+r9*1+rax],xmm0 + movdqa XMMWORD[16+rax],xmm2 + movdqa XMMWORD[48+r9*1+rax],xmm0 + movdqa XMMWORD[32+rax],xmm3 + movdqa XMMWORD[48+rax],xmm4 + lea rax,[64+rax] + sub r11,64 + jnz NEAR $L$mul_by_1 + +DB 102,72,15,110,207 +DB 102,72,15,110,209 +DB 0x67 + mov rbp,rcx +DB 102,73,15,110,218 + mov r11d,DWORD[((OPENSSL_ia32cap_P+8))] + and r11d,0x80108 + cmp r11d,0x80108 + jne NEAR $L$from_mont_nox + + lea rdi,[r9*1+rax] + call __bn_sqrx8x_reduction + call __bn_postx4x_internal + + pxor xmm0,xmm0 + lea rax,[48+rsp] + mov rsi,QWORD[40+rsp] + jmp NEAR $L$from_mont_zero + +ALIGN 32 +$L$from_mont_nox: + call __bn_sqr8x_reduction + call __bn_post4x_internal + + pxor xmm0,xmm0 + lea rax,[48+rsp] + mov rsi,QWORD[40+rsp] + jmp NEAR $L$from_mont_zero + +ALIGN 32 +$L$from_mont_zero: + movdqa XMMWORD[rax],xmm0 + movdqa XMMWORD[16+rax],xmm0 + movdqa XMMWORD[32+rax],xmm0 + movdqa XMMWORD[48+rax],xmm0 + lea rax,[64+rax] + sub r9,32 + jnz NEAR $L$from_mont_zero + + mov rax,1 + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$from_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_bn_from_mont8x: + +ALIGN 32 +bn_mulx4x_mont_gather5: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_bn_mulx4x_mont_gather5: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov rax,rsp +$L$mulx4x_enter: + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 +$L$mulx4x_prologue: + + shl r9d,3 + lea r10,[r9*2+r9] + neg r9 + mov r8,QWORD[r8] + + + + + + + + + + + lea r11,[((-320))+r9*2+rsp] + mov rbp,rsp + sub r11,rdi + and r11,4095 + cmp r10,r11 + jb NEAR $L$mulx4xsp_alt + sub rbp,r11 + lea rbp,[((-320))+r9*2+rbp] + jmp NEAR $L$mulx4xsp_done + +$L$mulx4xsp_alt: + lea r10,[((4096-320))+r9*2] + lea rbp,[((-320))+r9*2+rbp] + sub r11,r10 + mov r10,0 + cmovc r11,r10 + sub rbp,r11 +$L$mulx4xsp_done: + and rbp,-64 + mov r11,rsp + sub r11,rbp + and r11,-4096 + lea rsp,[rbp*1+r11] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$mulx4x_page_walk + jmp NEAR $L$mulx4x_page_walk_done + +$L$mulx4x_page_walk: + lea rsp,[((-4096))+rsp] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$mulx4x_page_walk +$L$mulx4x_page_walk_done: + + + + + + + + + + + + + + mov QWORD[32+rsp],r8 + mov QWORD[40+rsp],rax +$L$mulx4x_body: + call mulx4x_internal + + mov rsi,QWORD[40+rsp] + mov rax,1 + + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$mulx4x_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_bn_mulx4x_mont_gather5: + + +ALIGN 32 +mulx4x_internal: + mov QWORD[8+rsp],r9 + mov r10,r9 + neg r9 + shl r9,5 + neg r10 + lea r13,[128+r9*1+rdx] + shr r9,5+5 + movd xmm5,DWORD[56+rax] + sub r9,1 + lea rax,[$L$inc] + mov QWORD[((16+8))+rsp],r13 + mov QWORD[((24+8))+rsp],r9 + mov QWORD[((56+8))+rsp],rdi + movdqa xmm0,XMMWORD[rax] + movdqa xmm1,XMMWORD[16+rax] + lea r10,[((88-112))+r10*1+rsp] + lea rdi,[128+rdx] + + pshufd xmm5,xmm5,0 + movdqa xmm4,xmm1 +DB 0x67 + movdqa xmm2,xmm1 +DB 0x67 + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa xmm3,xmm4 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[112+r10],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[128+r10],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[144+r10],xmm2 + movdqa xmm2,xmm4 + + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[160+r10],xmm3 + movdqa xmm3,xmm4 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[176+r10],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[192+r10],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[208+r10],xmm2 + movdqa xmm2,xmm4 + + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[224+r10],xmm3 + movdqa xmm3,xmm4 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[240+r10],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[256+r10],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[272+r10],xmm2 + movdqa xmm2,xmm4 + + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[288+r10],xmm3 + movdqa xmm3,xmm4 +DB 0x67 + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[304+r10],xmm0 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[320+r10],xmm1 + + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[336+r10],xmm2 + + pand xmm0,XMMWORD[64+rdi] + pand xmm1,XMMWORD[80+rdi] + pand xmm2,XMMWORD[96+rdi] + movdqa XMMWORD[352+r10],xmm3 + pand xmm3,XMMWORD[112+rdi] + por xmm0,xmm2 + por xmm1,xmm3 + movdqa xmm4,XMMWORD[((-128))+rdi] + movdqa xmm5,XMMWORD[((-112))+rdi] + movdqa xmm2,XMMWORD[((-96))+rdi] + pand xmm4,XMMWORD[112+r10] + movdqa xmm3,XMMWORD[((-80))+rdi] + pand xmm5,XMMWORD[128+r10] + por xmm0,xmm4 + pand xmm2,XMMWORD[144+r10] + por xmm1,xmm5 + pand xmm3,XMMWORD[160+r10] + por xmm0,xmm2 + por xmm1,xmm3 + movdqa xmm4,XMMWORD[((-64))+rdi] + movdqa xmm5,XMMWORD[((-48))+rdi] + movdqa xmm2,XMMWORD[((-32))+rdi] + pand xmm4,XMMWORD[176+r10] + movdqa xmm3,XMMWORD[((-16))+rdi] + pand xmm5,XMMWORD[192+r10] + por xmm0,xmm4 + pand xmm2,XMMWORD[208+r10] + por xmm1,xmm5 + pand xmm3,XMMWORD[224+r10] + por xmm0,xmm2 + por xmm1,xmm3 + movdqa xmm4,XMMWORD[rdi] + movdqa xmm5,XMMWORD[16+rdi] + movdqa xmm2,XMMWORD[32+rdi] + pand xmm4,XMMWORD[240+r10] + movdqa xmm3,XMMWORD[48+rdi] + pand xmm5,XMMWORD[256+r10] + por xmm0,xmm4 + pand xmm2,XMMWORD[272+r10] + por xmm1,xmm5 + pand xmm3,XMMWORD[288+r10] + por xmm0,xmm2 + por xmm1,xmm3 + pxor xmm0,xmm1 + pshufd xmm1,xmm0,0x4e + por xmm0,xmm1 + lea rdi,[256+rdi] +DB 102,72,15,126,194 + lea rbx,[((64+32+8))+rsp] + + mov r9,rdx + mulx rax,r8,QWORD[rsi] + mulx r12,r11,QWORD[8+rsi] + add r11,rax + mulx r13,rax,QWORD[16+rsi] + adc r12,rax + adc r13,0 + mulx r14,rax,QWORD[24+rsi] + + mov r15,r8 + imul r8,QWORD[((32+8))+rsp] + xor rbp,rbp + mov rdx,r8 + + mov QWORD[((8+8))+rsp],rdi + + lea rsi,[32+rsi] + adcx r13,rax + adcx r14,rbp + + mulx r10,rax,QWORD[rcx] + adcx r15,rax + adox r10,r11 + mulx r11,rax,QWORD[8+rcx] + adcx r10,rax + adox r11,r12 + mulx r12,rax,QWORD[16+rcx] + mov rdi,QWORD[((24+8))+rsp] + mov QWORD[((-32))+rbx],r10 + adcx r11,rax + adox r12,r13 + mulx r15,rax,QWORD[24+rcx] + mov rdx,r9 + mov QWORD[((-24))+rbx],r11 + adcx r12,rax + adox r15,rbp + lea rcx,[32+rcx] + mov QWORD[((-16))+rbx],r12 + jmp NEAR $L$mulx4x_1st + +ALIGN 32 +$L$mulx4x_1st: + adcx r15,rbp + mulx rax,r10,QWORD[rsi] + adcx r10,r14 + mulx r14,r11,QWORD[8+rsi] + adcx r11,rax + mulx rax,r12,QWORD[16+rsi] + adcx r12,r14 + mulx r14,r13,QWORD[24+rsi] +DB 0x67,0x67 + mov rdx,r8 + adcx r13,rax + adcx r14,rbp + lea rsi,[32+rsi] + lea rbx,[32+rbx] + + adox r10,r15 + mulx r15,rax,QWORD[rcx] + adcx r10,rax + adox r11,r15 + mulx r15,rax,QWORD[8+rcx] + adcx r11,rax + adox r12,r15 + mulx r15,rax,QWORD[16+rcx] + mov QWORD[((-40))+rbx],r10 + adcx r12,rax + mov QWORD[((-32))+rbx],r11 + adox r13,r15 + mulx r15,rax,QWORD[24+rcx] + mov rdx,r9 + mov QWORD[((-24))+rbx],r12 + adcx r13,rax + adox r15,rbp + lea rcx,[32+rcx] + mov QWORD[((-16))+rbx],r13 + + dec rdi + jnz NEAR $L$mulx4x_1st + + mov rax,QWORD[8+rsp] + adc r15,rbp + lea rsi,[rax*1+rsi] + add r14,r15 + mov rdi,QWORD[((8+8))+rsp] + adc rbp,rbp + mov QWORD[((-8))+rbx],r14 + jmp NEAR $L$mulx4x_outer + +ALIGN 32 +$L$mulx4x_outer: + lea r10,[((16-256))+rbx] + pxor xmm4,xmm4 +DB 0x67,0x67 + pxor xmm5,xmm5 + movdqa xmm0,XMMWORD[((-128))+rdi] + movdqa xmm1,XMMWORD[((-112))+rdi] + movdqa xmm2,XMMWORD[((-96))+rdi] + pand xmm0,XMMWORD[256+r10] + movdqa xmm3,XMMWORD[((-80))+rdi] + pand xmm1,XMMWORD[272+r10] + por xmm4,xmm0 + pand xmm2,XMMWORD[288+r10] + por xmm5,xmm1 + pand xmm3,XMMWORD[304+r10] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[((-64))+rdi] + movdqa xmm1,XMMWORD[((-48))+rdi] + movdqa xmm2,XMMWORD[((-32))+rdi] + pand xmm0,XMMWORD[320+r10] + movdqa xmm3,XMMWORD[((-16))+rdi] + pand xmm1,XMMWORD[336+r10] + por xmm4,xmm0 + pand xmm2,XMMWORD[352+r10] + por xmm5,xmm1 + pand xmm3,XMMWORD[368+r10] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[rdi] + movdqa xmm1,XMMWORD[16+rdi] + movdqa xmm2,XMMWORD[32+rdi] + pand xmm0,XMMWORD[384+r10] + movdqa xmm3,XMMWORD[48+rdi] + pand xmm1,XMMWORD[400+r10] + por xmm4,xmm0 + pand xmm2,XMMWORD[416+r10] + por xmm5,xmm1 + pand xmm3,XMMWORD[432+r10] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[64+rdi] + movdqa xmm1,XMMWORD[80+rdi] + movdqa xmm2,XMMWORD[96+rdi] + pand xmm0,XMMWORD[448+r10] + movdqa xmm3,XMMWORD[112+rdi] + pand xmm1,XMMWORD[464+r10] + por xmm4,xmm0 + pand xmm2,XMMWORD[480+r10] + por xmm5,xmm1 + pand xmm3,XMMWORD[496+r10] + por xmm4,xmm2 + por xmm5,xmm3 + por xmm4,xmm5 + pshufd xmm0,xmm4,0x4e + por xmm0,xmm4 + lea rdi,[256+rdi] +DB 102,72,15,126,194 + + mov QWORD[rbx],rbp + lea rbx,[32+rax*1+rbx] + mulx r11,r8,QWORD[rsi] + xor rbp,rbp + mov r9,rdx + mulx r12,r14,QWORD[8+rsi] + adox r8,QWORD[((-32))+rbx] + adcx r11,r14 + mulx r13,r15,QWORD[16+rsi] + adox r11,QWORD[((-24))+rbx] + adcx r12,r15 + mulx r14,rdx,QWORD[24+rsi] + adox r12,QWORD[((-16))+rbx] + adcx r13,rdx + lea rcx,[rax*1+rcx] + lea rsi,[32+rsi] + adox r13,QWORD[((-8))+rbx] + adcx r14,rbp + adox r14,rbp + + mov r15,r8 + imul r8,QWORD[((32+8))+rsp] + + mov rdx,r8 + xor rbp,rbp + mov QWORD[((8+8))+rsp],rdi + + mulx r10,rax,QWORD[rcx] + adcx r15,rax + adox r10,r11 + mulx r11,rax,QWORD[8+rcx] + adcx r10,rax + adox r11,r12 + mulx r12,rax,QWORD[16+rcx] + adcx r11,rax + adox r12,r13 + mulx r15,rax,QWORD[24+rcx] + mov rdx,r9 + mov rdi,QWORD[((24+8))+rsp] + mov QWORD[((-32))+rbx],r10 + adcx r12,rax + mov QWORD[((-24))+rbx],r11 + adox r15,rbp + mov QWORD[((-16))+rbx],r12 + lea rcx,[32+rcx] + jmp NEAR $L$mulx4x_inner + +ALIGN 32 +$L$mulx4x_inner: + mulx rax,r10,QWORD[rsi] + adcx r15,rbp + adox r10,r14 + mulx r14,r11,QWORD[8+rsi] + adcx r10,QWORD[rbx] + adox r11,rax + mulx rax,r12,QWORD[16+rsi] + adcx r11,QWORD[8+rbx] + adox r12,r14 + mulx r14,r13,QWORD[24+rsi] + mov rdx,r8 + adcx r12,QWORD[16+rbx] + adox r13,rax + adcx r13,QWORD[24+rbx] + adox r14,rbp + lea rsi,[32+rsi] + lea rbx,[32+rbx] + adcx r14,rbp + + adox r10,r15 + mulx r15,rax,QWORD[rcx] + adcx r10,rax + adox r11,r15 + mulx r15,rax,QWORD[8+rcx] + adcx r11,rax + adox r12,r15 + mulx r15,rax,QWORD[16+rcx] + mov QWORD[((-40))+rbx],r10 + adcx r12,rax + adox r13,r15 + mov QWORD[((-32))+rbx],r11 + mulx r15,rax,QWORD[24+rcx] + mov rdx,r9 + lea rcx,[32+rcx] + mov QWORD[((-24))+rbx],r12 + adcx r13,rax + adox r15,rbp + mov QWORD[((-16))+rbx],r13 + + dec rdi + jnz NEAR $L$mulx4x_inner + + mov rax,QWORD[((0+8))+rsp] + adc r15,rbp + sub rdi,QWORD[rbx] + mov rdi,QWORD[((8+8))+rsp] + mov r10,QWORD[((16+8))+rsp] + adc r14,r15 + lea rsi,[rax*1+rsi] + adc rbp,rbp + mov QWORD[((-8))+rbx],r14 + + cmp rdi,r10 + jb NEAR $L$mulx4x_outer + + mov r10,QWORD[((-8))+rcx] + mov r8,rbp + mov r12,QWORD[rax*1+rcx] + lea rbp,[rax*1+rcx] + mov rcx,rax + lea rdi,[rax*1+rbx] + xor eax,eax + xor r15,r15 + sub r10,r14 + adc r15,r15 + or r8,r15 + sar rcx,3+2 + sub rax,r8 + mov rdx,QWORD[((56+8))+rsp] + dec r12 + mov r13,QWORD[8+rbp] + xor r8,r8 + mov r14,QWORD[16+rbp] + mov r15,QWORD[24+rbp] + jmp NEAR $L$sqrx4x_sub_entry + + +ALIGN 32 +bn_powerx5: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_bn_powerx5: + mov rdi,rcx + mov rsi,rdx + mov rdx,r8 + mov rcx,r9 + mov r8,QWORD[40+rsp] + mov r9,QWORD[48+rsp] + + + mov rax,rsp +$L$powerx5_enter: + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 +$L$powerx5_prologue: + + shl r9d,3 + lea r10,[r9*2+r9] + neg r9 + mov r8,QWORD[r8] + + + + + + + + + lea r11,[((-320))+r9*2+rsp] + mov rbp,rsp + sub r11,rdi + and r11,4095 + cmp r10,r11 + jb NEAR $L$pwrx_sp_alt + sub rbp,r11 + lea rbp,[((-320))+r9*2+rbp] + jmp NEAR $L$pwrx_sp_done + +ALIGN 32 +$L$pwrx_sp_alt: + lea r10,[((4096-320))+r9*2] + lea rbp,[((-320))+r9*2+rbp] + sub r11,r10 + mov r10,0 + cmovc r11,r10 + sub rbp,r11 +$L$pwrx_sp_done: + and rbp,-64 + mov r11,rsp + sub r11,rbp + and r11,-4096 + lea rsp,[rbp*1+r11] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$pwrx_page_walk + jmp NEAR $L$pwrx_page_walk_done + +$L$pwrx_page_walk: + lea rsp,[((-4096))+rsp] + mov r10,QWORD[rsp] + cmp rsp,rbp + ja NEAR $L$pwrx_page_walk +$L$pwrx_page_walk_done: + + mov r10,r9 + neg r9 + + + + + + + + + + + + + pxor xmm0,xmm0 +DB 102,72,15,110,207 +DB 102,72,15,110,209 +DB 102,73,15,110,218 +DB 102,72,15,110,226 + mov QWORD[32+rsp],r8 + mov QWORD[40+rsp],rax +$L$powerx5_body: + + call __bn_sqrx8x_internal + call __bn_postx4x_internal + call __bn_sqrx8x_internal + call __bn_postx4x_internal + call __bn_sqrx8x_internal + call __bn_postx4x_internal + call __bn_sqrx8x_internal + call __bn_postx4x_internal + call __bn_sqrx8x_internal + call __bn_postx4x_internal + + mov r9,r10 + mov rdi,rsi +DB 102,72,15,126,209 +DB 102,72,15,126,226 + mov rax,QWORD[40+rsp] + + call mulx4x_internal + + mov rsi,QWORD[40+rsp] + mov rax,1 + + mov r15,QWORD[((-48))+rsi] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$powerx5_epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_bn_powerx5: + +global bn_sqrx8x_internal + + +ALIGN 32 +bn_sqrx8x_internal: +__bn_sqrx8x_internal: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lea rdi,[((48+8))+rsp] + lea rbp,[r9*1+rsi] + mov QWORD[((0+8))+rsp],r9 + mov QWORD[((8+8))+rsp],rbp + jmp NEAR $L$sqr8x_zero_start + +ALIGN 32 +DB 0x66,0x66,0x66,0x2e,0x0f,0x1f,0x84,0x00,0x00,0x00,0x00,0x00 +$L$sqrx8x_zero: +DB 0x3e + movdqa XMMWORD[rdi],xmm0 + movdqa XMMWORD[16+rdi],xmm0 + movdqa XMMWORD[32+rdi],xmm0 + movdqa XMMWORD[48+rdi],xmm0 +$L$sqr8x_zero_start: + movdqa XMMWORD[64+rdi],xmm0 + movdqa XMMWORD[80+rdi],xmm0 + movdqa XMMWORD[96+rdi],xmm0 + movdqa XMMWORD[112+rdi],xmm0 + lea rdi,[128+rdi] + sub r9,64 + jnz NEAR $L$sqrx8x_zero + + mov rdx,QWORD[rsi] + + xor r10,r10 + xor r11,r11 + xor r12,r12 + xor r13,r13 + xor r14,r14 + xor r15,r15 + lea rdi,[((48+8))+rsp] + xor rbp,rbp + jmp NEAR $L$sqrx8x_outer_loop + +ALIGN 32 +$L$sqrx8x_outer_loop: + mulx rax,r8,QWORD[8+rsi] + adcx r8,r9 + adox r10,rax + mulx rax,r9,QWORD[16+rsi] + adcx r9,r10 + adox r11,rax +DB 0xc4,0xe2,0xab,0xf6,0x86,0x18,0x00,0x00,0x00 + adcx r10,r11 + adox r12,rax +DB 0xc4,0xe2,0xa3,0xf6,0x86,0x20,0x00,0x00,0x00 + adcx r11,r12 + adox r13,rax + mulx rax,r12,QWORD[40+rsi] + adcx r12,r13 + adox r14,rax + mulx rax,r13,QWORD[48+rsi] + adcx r13,r14 + adox rax,r15 + mulx r15,r14,QWORD[56+rsi] + mov rdx,QWORD[8+rsi] + adcx r14,rax + adox r15,rbp + adc r15,QWORD[64+rdi] + mov QWORD[8+rdi],r8 + mov QWORD[16+rdi],r9 + sbb rcx,rcx + xor rbp,rbp + + + mulx rbx,r8,QWORD[16+rsi] + mulx rax,r9,QWORD[24+rsi] + adcx r8,r10 + adox r9,rbx + mulx rbx,r10,QWORD[32+rsi] + adcx r9,r11 + adox r10,rax +DB 0xc4,0xe2,0xa3,0xf6,0x86,0x28,0x00,0x00,0x00 + adcx r10,r12 + adox r11,rbx +DB 0xc4,0xe2,0x9b,0xf6,0x9e,0x30,0x00,0x00,0x00 + adcx r11,r13 + adox r12,r14 +DB 0xc4,0x62,0x93,0xf6,0xb6,0x38,0x00,0x00,0x00 + mov rdx,QWORD[16+rsi] + adcx r12,rax + adox r13,rbx + adcx r13,r15 + adox r14,rbp + adcx r14,rbp + + mov QWORD[24+rdi],r8 + mov QWORD[32+rdi],r9 + + mulx rbx,r8,QWORD[24+rsi] + mulx rax,r9,QWORD[32+rsi] + adcx r8,r10 + adox r9,rbx + mulx rbx,r10,QWORD[40+rsi] + adcx r9,r11 + adox r10,rax +DB 0xc4,0xe2,0xa3,0xf6,0x86,0x30,0x00,0x00,0x00 + adcx r10,r12 + adox r11,r13 +DB 0xc4,0x62,0x9b,0xf6,0xae,0x38,0x00,0x00,0x00 +DB 0x3e + mov rdx,QWORD[24+rsi] + adcx r11,rbx + adox r12,rax + adcx r12,r14 + mov QWORD[40+rdi],r8 + mov QWORD[48+rdi],r9 + mulx rax,r8,QWORD[32+rsi] + adox r13,rbp + adcx r13,rbp + + mulx rbx,r9,QWORD[40+rsi] + adcx r8,r10 + adox r9,rax + mulx rax,r10,QWORD[48+rsi] + adcx r9,r11 + adox r10,r12 + mulx r12,r11,QWORD[56+rsi] + mov rdx,QWORD[32+rsi] + mov r14,QWORD[40+rsi] + adcx r10,rbx + adox r11,rax + mov r15,QWORD[48+rsi] + adcx r11,r13 + adox r12,rbp + adcx r12,rbp + + mov QWORD[56+rdi],r8 + mov QWORD[64+rdi],r9 + + mulx rax,r9,r14 + mov r8,QWORD[56+rsi] + adcx r9,r10 + mulx rbx,r10,r15 + adox r10,rax + adcx r10,r11 + mulx rax,r11,r8 + mov rdx,r14 + adox r11,rbx + adcx r11,r12 + + adcx rax,rbp + + mulx rbx,r14,r15 + mulx r13,r12,r8 + mov rdx,r15 + lea rsi,[64+rsi] + adcx r11,r14 + adox r12,rbx + adcx r12,rax + adox r13,rbp + +DB 0x67,0x67 + mulx r14,r8,r8 + adcx r13,r8 + adcx r14,rbp + + cmp rsi,QWORD[((8+8))+rsp] + je NEAR $L$sqrx8x_outer_break + + neg rcx + mov rcx,-8 + mov r15,rbp + mov r8,QWORD[64+rdi] + adcx r9,QWORD[72+rdi] + adcx r10,QWORD[80+rdi] + adcx r11,QWORD[88+rdi] + adc r12,QWORD[96+rdi] + adc r13,QWORD[104+rdi] + adc r14,QWORD[112+rdi] + adc r15,QWORD[120+rdi] + lea rbp,[rsi] + lea rdi,[128+rdi] + sbb rax,rax + + mov rdx,QWORD[((-64))+rsi] + mov QWORD[((16+8))+rsp],rax + mov QWORD[((24+8))+rsp],rdi + + + xor eax,eax + jmp NEAR $L$sqrx8x_loop + +ALIGN 32 +$L$sqrx8x_loop: + mov rbx,r8 + mulx r8,rax,QWORD[rbp] + adcx rbx,rax + adox r8,r9 + + mulx r9,rax,QWORD[8+rbp] + adcx r8,rax + adox r9,r10 + + mulx r10,rax,QWORD[16+rbp] + adcx r9,rax + adox r10,r11 + + mulx r11,rax,QWORD[24+rbp] + adcx r10,rax + adox r11,r12 + +DB 0xc4,0x62,0xfb,0xf6,0xa5,0x20,0x00,0x00,0x00 + adcx r11,rax + adox r12,r13 + + mulx r13,rax,QWORD[40+rbp] + adcx r12,rax + adox r13,r14 + + mulx r14,rax,QWORD[48+rbp] + mov QWORD[rcx*8+rdi],rbx + mov ebx,0 + adcx r13,rax + adox r14,r15 + +DB 0xc4,0x62,0xfb,0xf6,0xbd,0x38,0x00,0x00,0x00 + mov rdx,QWORD[8+rcx*8+rsi] + adcx r14,rax + adox r15,rbx + adcx r15,rbx + +DB 0x67 + inc rcx + jnz NEAR $L$sqrx8x_loop + + lea rbp,[64+rbp] + mov rcx,-8 + cmp rbp,QWORD[((8+8))+rsp] + je NEAR $L$sqrx8x_break + + sub rbx,QWORD[((16+8))+rsp] +DB 0x66 + mov rdx,QWORD[((-64))+rsi] + adcx r8,QWORD[rdi] + adcx r9,QWORD[8+rdi] + adc r10,QWORD[16+rdi] + adc r11,QWORD[24+rdi] + adc r12,QWORD[32+rdi] + adc r13,QWORD[40+rdi] + adc r14,QWORD[48+rdi] + adc r15,QWORD[56+rdi] + lea rdi,[64+rdi] +DB 0x67 + sbb rax,rax + xor ebx,ebx + mov QWORD[((16+8))+rsp],rax + jmp NEAR $L$sqrx8x_loop + +ALIGN 32 +$L$sqrx8x_break: + xor rbp,rbp + sub rbx,QWORD[((16+8))+rsp] + adcx r8,rbp + mov rcx,QWORD[((24+8))+rsp] + adcx r9,rbp + mov rdx,QWORD[rsi] + adc r10,0 + mov QWORD[rdi],r8 + adc r11,0 + adc r12,0 + adc r13,0 + adc r14,0 + adc r15,0 + cmp rdi,rcx + je NEAR $L$sqrx8x_outer_loop + + mov QWORD[8+rdi],r9 + mov r9,QWORD[8+rcx] + mov QWORD[16+rdi],r10 + mov r10,QWORD[16+rcx] + mov QWORD[24+rdi],r11 + mov r11,QWORD[24+rcx] + mov QWORD[32+rdi],r12 + mov r12,QWORD[32+rcx] + mov QWORD[40+rdi],r13 + mov r13,QWORD[40+rcx] + mov QWORD[48+rdi],r14 + mov r14,QWORD[48+rcx] + mov QWORD[56+rdi],r15 + mov r15,QWORD[56+rcx] + mov rdi,rcx + jmp NEAR $L$sqrx8x_outer_loop + +ALIGN 32 +$L$sqrx8x_outer_break: + mov QWORD[72+rdi],r9 +DB 102,72,15,126,217 + mov QWORD[80+rdi],r10 + mov QWORD[88+rdi],r11 + mov QWORD[96+rdi],r12 + mov QWORD[104+rdi],r13 + mov QWORD[112+rdi],r14 + lea rdi,[((48+8))+rsp] + mov rdx,QWORD[rcx*1+rsi] + + mov r11,QWORD[8+rdi] + xor r10,r10 + mov r9,QWORD[((0+8))+rsp] + adox r11,r11 + mov r12,QWORD[16+rdi] + mov r13,QWORD[24+rdi] + + +ALIGN 32 +$L$sqrx4x_shift_n_add: + mulx rbx,rax,rdx + adox r12,r12 + adcx rax,r10 +DB 0x48,0x8b,0x94,0x0e,0x08,0x00,0x00,0x00 +DB 0x4c,0x8b,0x97,0x20,0x00,0x00,0x00 + adox r13,r13 + adcx rbx,r11 + mov r11,QWORD[40+rdi] + mov QWORD[rdi],rax + mov QWORD[8+rdi],rbx + + mulx rbx,rax,rdx + adox r10,r10 + adcx rax,r12 + mov rdx,QWORD[16+rcx*1+rsi] + mov r12,QWORD[48+rdi] + adox r11,r11 + adcx rbx,r13 + mov r13,QWORD[56+rdi] + mov QWORD[16+rdi],rax + mov QWORD[24+rdi],rbx + + mulx rbx,rax,rdx + adox r12,r12 + adcx rax,r10 + mov rdx,QWORD[24+rcx*1+rsi] + lea rcx,[32+rcx] + mov r10,QWORD[64+rdi] + adox r13,r13 + adcx rbx,r11 + mov r11,QWORD[72+rdi] + mov QWORD[32+rdi],rax + mov QWORD[40+rdi],rbx + + mulx rbx,rax,rdx + adox r10,r10 + adcx rax,r12 + jrcxz $L$sqrx4x_shift_n_add_break +DB 0x48,0x8b,0x94,0x0e,0x00,0x00,0x00,0x00 + adox r11,r11 + adcx rbx,r13 + mov r12,QWORD[80+rdi] + mov r13,QWORD[88+rdi] + mov QWORD[48+rdi],rax + mov QWORD[56+rdi],rbx + lea rdi,[64+rdi] + nop + jmp NEAR $L$sqrx4x_shift_n_add + +ALIGN 32 +$L$sqrx4x_shift_n_add_break: + adcx rbx,r13 + mov QWORD[48+rdi],rax + mov QWORD[56+rdi],rbx + lea rdi,[64+rdi] +DB 102,72,15,126,213 +__bn_sqrx8x_reduction: + xor eax,eax + mov rbx,QWORD[((32+8))+rsp] + mov rdx,QWORD[((48+8))+rsp] + lea rcx,[((-64))+r9*1+rbp] + + mov QWORD[((0+8))+rsp],rcx + mov QWORD[((8+8))+rsp],rdi + + lea rdi,[((48+8))+rsp] + jmp NEAR $L$sqrx8x_reduction_loop + +ALIGN 32 +$L$sqrx8x_reduction_loop: + mov r9,QWORD[8+rdi] + mov r10,QWORD[16+rdi] + mov r11,QWORD[24+rdi] + mov r12,QWORD[32+rdi] + mov r8,rdx + imul rdx,rbx + mov r13,QWORD[40+rdi] + mov r14,QWORD[48+rdi] + mov r15,QWORD[56+rdi] + mov QWORD[((24+8))+rsp],rax + + lea rdi,[64+rdi] + xor rsi,rsi + mov rcx,-8 + jmp NEAR $L$sqrx8x_reduce + +ALIGN 32 +$L$sqrx8x_reduce: + mov rbx,r8 + mulx r8,rax,QWORD[rbp] + adcx rax,rbx + adox r8,r9 + + mulx r9,rbx,QWORD[8+rbp] + adcx r8,rbx + adox r9,r10 + + mulx r10,rbx,QWORD[16+rbp] + adcx r9,rbx + adox r10,r11 + + mulx r11,rbx,QWORD[24+rbp] + adcx r10,rbx + adox r11,r12 + +DB 0xc4,0x62,0xe3,0xf6,0xa5,0x20,0x00,0x00,0x00 + mov rax,rdx + mov rdx,r8 + adcx r11,rbx + adox r12,r13 + + mulx rdx,rbx,QWORD[((32+8))+rsp] + mov rdx,rax + mov QWORD[((64+48+8))+rcx*8+rsp],rax + + mulx r13,rax,QWORD[40+rbp] + adcx r12,rax + adox r13,r14 + + mulx r14,rax,QWORD[48+rbp] + adcx r13,rax + adox r14,r15 + + mulx r15,rax,QWORD[56+rbp] + mov rdx,rbx + adcx r14,rax + adox r15,rsi + adcx r15,rsi + +DB 0x67,0x67,0x67 + inc rcx + jnz NEAR $L$sqrx8x_reduce + + mov rax,rsi + cmp rbp,QWORD[((0+8))+rsp] + jae NEAR $L$sqrx8x_no_tail + + mov rdx,QWORD[((48+8))+rsp] + add r8,QWORD[rdi] + lea rbp,[64+rbp] + mov rcx,-8 + adcx r9,QWORD[8+rdi] + adcx r10,QWORD[16+rdi] + adc r11,QWORD[24+rdi] + adc r12,QWORD[32+rdi] + adc r13,QWORD[40+rdi] + adc r14,QWORD[48+rdi] + adc r15,QWORD[56+rdi] + lea rdi,[64+rdi] + sbb rax,rax + + xor rsi,rsi + mov QWORD[((16+8))+rsp],rax + jmp NEAR $L$sqrx8x_tail + +ALIGN 32 +$L$sqrx8x_tail: + mov rbx,r8 + mulx r8,rax,QWORD[rbp] + adcx rbx,rax + adox r8,r9 + + mulx r9,rax,QWORD[8+rbp] + adcx r8,rax + adox r9,r10 + + mulx r10,rax,QWORD[16+rbp] + adcx r9,rax + adox r10,r11 + + mulx r11,rax,QWORD[24+rbp] + adcx r10,rax + adox r11,r12 + +DB 0xc4,0x62,0xfb,0xf6,0xa5,0x20,0x00,0x00,0x00 + adcx r11,rax + adox r12,r13 + + mulx r13,rax,QWORD[40+rbp] + adcx r12,rax + adox r13,r14 + + mulx r14,rax,QWORD[48+rbp] + adcx r13,rax + adox r14,r15 + + mulx r15,rax,QWORD[56+rbp] + mov rdx,QWORD[((72+48+8))+rcx*8+rsp] + adcx r14,rax + adox r15,rsi + mov QWORD[rcx*8+rdi],rbx + mov rbx,r8 + adcx r15,rsi + + inc rcx + jnz NEAR $L$sqrx8x_tail + + cmp rbp,QWORD[((0+8))+rsp] + jae NEAR $L$sqrx8x_tail_done + + sub rsi,QWORD[((16+8))+rsp] + mov rdx,QWORD[((48+8))+rsp] + lea rbp,[64+rbp] + adc r8,QWORD[rdi] + adc r9,QWORD[8+rdi] + adc r10,QWORD[16+rdi] + adc r11,QWORD[24+rdi] + adc r12,QWORD[32+rdi] + adc r13,QWORD[40+rdi] + adc r14,QWORD[48+rdi] + adc r15,QWORD[56+rdi] + lea rdi,[64+rdi] + sbb rax,rax + sub rcx,8 + + xor rsi,rsi + mov QWORD[((16+8))+rsp],rax + jmp NEAR $L$sqrx8x_tail + +ALIGN 32 +$L$sqrx8x_tail_done: + xor rax,rax + add r8,QWORD[((24+8))+rsp] + adc r9,0 + adc r10,0 + adc r11,0 + adc r12,0 + adc r13,0 + adc r14,0 + adc r15,0 + adc rax,0 + + sub rsi,QWORD[((16+8))+rsp] +$L$sqrx8x_no_tail: + adc r8,QWORD[rdi] +DB 102,72,15,126,217 + adc r9,QWORD[8+rdi] + mov rsi,QWORD[56+rbp] +DB 102,72,15,126,213 + adc r10,QWORD[16+rdi] + adc r11,QWORD[24+rdi] + adc r12,QWORD[32+rdi] + adc r13,QWORD[40+rdi] + adc r14,QWORD[48+rdi] + adc r15,QWORD[56+rdi] + adc rax,0 + + mov rbx,QWORD[((32+8))+rsp] + mov rdx,QWORD[64+rcx*1+rdi] + + mov QWORD[rdi],r8 + lea r8,[64+rdi] + mov QWORD[8+rdi],r9 + mov QWORD[16+rdi],r10 + mov QWORD[24+rdi],r11 + mov QWORD[32+rdi],r12 + mov QWORD[40+rdi],r13 + mov QWORD[48+rdi],r14 + mov QWORD[56+rdi],r15 + + lea rdi,[64+rcx*1+rdi] + cmp r8,QWORD[((8+8))+rsp] + jb NEAR $L$sqrx8x_reduction_loop + DB 0F3h,0C3h ;repret + +ALIGN 32 +__bn_postx4x_internal: + mov r12,QWORD[rbp] + mov r10,rcx + mov r9,rcx + neg rax + sar rcx,3+2 + +DB 102,72,15,126,202 +DB 102,72,15,126,206 + dec r12 + mov r13,QWORD[8+rbp] + xor r8,r8 + mov r14,QWORD[16+rbp] + mov r15,QWORD[24+rbp] + jmp NEAR $L$sqrx4x_sub_entry + +ALIGN 16 +$L$sqrx4x_sub: + mov r12,QWORD[rbp] + mov r13,QWORD[8+rbp] + mov r14,QWORD[16+rbp] + mov r15,QWORD[24+rbp] +$L$sqrx4x_sub_entry: + andn r12,r12,rax + lea rbp,[32+rbp] + andn r13,r13,rax + andn r14,r14,rax + andn r15,r15,rax + + neg r8 + adc r12,QWORD[rdi] + adc r13,QWORD[8+rdi] + adc r14,QWORD[16+rdi] + adc r15,QWORD[24+rdi] + mov QWORD[rdx],r12 + lea rdi,[32+rdi] + mov QWORD[8+rdx],r13 + sbb r8,r8 + mov QWORD[16+rdx],r14 + mov QWORD[24+rdx],r15 + lea rdx,[32+rdx] + + inc rcx + jnz NEAR $L$sqrx4x_sub + + neg r9 + + DB 0F3h,0C3h ;repret + +global bn_get_bits5 + +ALIGN 16 +bn_get_bits5: + lea r10,[rcx] + lea r11,[1+rcx] + mov ecx,edx + shr edx,4 + and ecx,15 + lea eax,[((-8))+rcx] + cmp ecx,11 + cmova r10,r11 + cmova ecx,eax + movzx eax,WORD[rdx*2+r10] + shr eax,cl + and eax,31 + DB 0F3h,0C3h ;repret + + +global bn_scatter5 + +ALIGN 16 +bn_scatter5: + cmp edx,0 + jz NEAR $L$scatter_epilogue + lea r8,[r9*8+r8] +$L$scatter: + mov rax,QWORD[rcx] + lea rcx,[8+rcx] + mov QWORD[r8],rax + lea r8,[256+r8] + sub edx,1 + jnz NEAR $L$scatter +$L$scatter_epilogue: + DB 0F3h,0C3h ;repret + + +global bn_gather5 + +ALIGN 32 +bn_gather5: +$L$SEH_begin_bn_gather5: + +DB 0x4c,0x8d,0x14,0x24 +DB 0x48,0x81,0xec,0x08,0x01,0x00,0x00 + lea rax,[$L$inc] + and rsp,-16 + + movd xmm5,r9d + movdqa xmm0,XMMWORD[rax] + movdqa xmm1,XMMWORD[16+rax] + lea r11,[128+r8] + lea rax,[128+rsp] + + pshufd xmm5,xmm5,0 + movdqa xmm4,xmm1 + movdqa xmm2,xmm1 + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa xmm3,xmm4 + + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[(-128)+rax],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[(-112)+rax],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[(-96)+rax],xmm2 + movdqa xmm2,xmm4 + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[(-80)+rax],xmm3 + movdqa xmm3,xmm4 + + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[(-64)+rax],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[(-48)+rax],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[(-32)+rax],xmm2 + movdqa xmm2,xmm4 + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[(-16)+rax],xmm3 + movdqa xmm3,xmm4 + + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[rax],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[16+rax],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[32+rax],xmm2 + movdqa xmm2,xmm4 + paddd xmm1,xmm0 + pcmpeqd xmm0,xmm5 + movdqa XMMWORD[48+rax],xmm3 + movdqa xmm3,xmm4 + + paddd xmm2,xmm1 + pcmpeqd xmm1,xmm5 + movdqa XMMWORD[64+rax],xmm0 + movdqa xmm0,xmm4 + + paddd xmm3,xmm2 + pcmpeqd xmm2,xmm5 + movdqa XMMWORD[80+rax],xmm1 + movdqa xmm1,xmm4 + + paddd xmm0,xmm3 + pcmpeqd xmm3,xmm5 + movdqa XMMWORD[96+rax],xmm2 + movdqa xmm2,xmm4 + movdqa XMMWORD[112+rax],xmm3 + jmp NEAR $L$gather + +ALIGN 32 +$L$gather: + pxor xmm4,xmm4 + pxor xmm5,xmm5 + movdqa xmm0,XMMWORD[((-128))+r11] + movdqa xmm1,XMMWORD[((-112))+r11] + movdqa xmm2,XMMWORD[((-96))+r11] + pand xmm0,XMMWORD[((-128))+rax] + movdqa xmm3,XMMWORD[((-80))+r11] + pand xmm1,XMMWORD[((-112))+rax] + por xmm4,xmm0 + pand xmm2,XMMWORD[((-96))+rax] + por xmm5,xmm1 + pand xmm3,XMMWORD[((-80))+rax] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[((-64))+r11] + movdqa xmm1,XMMWORD[((-48))+r11] + movdqa xmm2,XMMWORD[((-32))+r11] + pand xmm0,XMMWORD[((-64))+rax] + movdqa xmm3,XMMWORD[((-16))+r11] + pand xmm1,XMMWORD[((-48))+rax] + por xmm4,xmm0 + pand xmm2,XMMWORD[((-32))+rax] + por xmm5,xmm1 + pand xmm3,XMMWORD[((-16))+rax] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[r11] + movdqa xmm1,XMMWORD[16+r11] + movdqa xmm2,XMMWORD[32+r11] + pand xmm0,XMMWORD[rax] + movdqa xmm3,XMMWORD[48+r11] + pand xmm1,XMMWORD[16+rax] + por xmm4,xmm0 + pand xmm2,XMMWORD[32+rax] + por xmm5,xmm1 + pand xmm3,XMMWORD[48+rax] + por xmm4,xmm2 + por xmm5,xmm3 + movdqa xmm0,XMMWORD[64+r11] + movdqa xmm1,XMMWORD[80+r11] + movdqa xmm2,XMMWORD[96+r11] + pand xmm0,XMMWORD[64+rax] + movdqa xmm3,XMMWORD[112+r11] + pand xmm1,XMMWORD[80+rax] + por xmm4,xmm0 + pand xmm2,XMMWORD[96+rax] + por xmm5,xmm1 + pand xmm3,XMMWORD[112+rax] + por xmm4,xmm2 + por xmm5,xmm3 + por xmm4,xmm5 + lea r11,[256+r11] + pshufd xmm0,xmm4,0x4e + por xmm0,xmm4 + movq QWORD[rcx],xmm0 + lea rcx,[8+rcx] + sub edx,1 + jnz NEAR $L$gather + + lea rsp,[r10] + DB 0F3h,0C3h ;repret +$L$SEH_end_bn_gather5: + +ALIGN 64 +$L$inc: + DD 0,0,1,1 + DD 2,2,2,2 +DB 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 +DB 112,108,105,99,97,116,105,111,110,32,119,105,116,104,32,115 +DB 99,97,116,116,101,114,47,103,97,116,104,101,114,32,102,111 +DB 114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79 +DB 71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111 +DB 112,101,110,115,115,108,46,111,114,103,62,0 +EXTERN __imp_RtlVirtualUnwind + +ALIGN 16 +mul_handler: + push rsi + push rdi + push rbx + push rbp + push r12 + push r13 + push r14 + push r15 + pushfq + sub rsp,64 + + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] + + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] + + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_seh_tail + + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jb NEAR $L$common_pop_regs + + mov rax,QWORD[152+r8] + + mov r10d,DWORD[8+r11] + lea r10,[r10*1+rsi] + cmp rbx,r10 + jae NEAR $L$common_seh_tail + + lea r10,[$L$mul_epilogue] + cmp rbx,r10 + ja NEAR $L$body_40 + + mov r10,QWORD[192+r8] + mov rax,QWORD[8+r10*8+rax] + + jmp NEAR $L$common_pop_regs + +$L$body_40: + mov rax,QWORD[40+rax] +$L$common_pop_regs: + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + +$L$common_seh_tail: + mov rdi,QWORD[8+rax] + mov rsi,QWORD[16+rax] + mov QWORD[152+r8],rax + mov QWORD[168+r8],rsi + mov QWORD[176+r8],rdi + + mov rdi,QWORD[40+r9] + mov rsi,r8 + mov ecx,154 + DD 0xa548f3fc + + mov rsi,r9 + xor rcx,rcx + mov rdx,QWORD[8+rsi] + mov r8,QWORD[rsi] + mov r9,QWORD[16+rsi] + mov r10,QWORD[40+rsi] + lea r11,[56+rsi] + lea r12,[24+rsi] + mov QWORD[32+rsp],r10 + mov QWORD[40+rsp],r11 + mov QWORD[48+rsp],r12 + mov QWORD[56+rsp],rcx + call QWORD[__imp_RtlVirtualUnwind] + + mov eax,1 + add rsp,64 + popfq + pop r15 + pop r14 + pop r13 + pop r12 + pop rbp + pop rbx + pop rdi + pop rsi + DB 0F3h,0C3h ;repret + + +section .pdata rdata align=4 +ALIGN 4 + DD $L$SEH_begin_bn_mul_mont_gather5 wrt ..imagebase + DD $L$SEH_end_bn_mul_mont_gather5 wrt ..imagebase + DD $L$SEH_info_bn_mul_mont_gather5 wrt ..imagebase + + DD $L$SEH_begin_bn_mul4x_mont_gather5 wrt ..imagebase + DD $L$SEH_end_bn_mul4x_mont_gather5 wrt ..imagebase + DD $L$SEH_info_bn_mul4x_mont_gather5 wrt ..imagebase + + DD $L$SEH_begin_bn_power5 wrt ..imagebase + DD $L$SEH_end_bn_power5 wrt ..imagebase + DD $L$SEH_info_bn_power5 wrt ..imagebase + + DD $L$SEH_begin_bn_from_mont8x wrt ..imagebase + DD $L$SEH_end_bn_from_mont8x wrt ..imagebase + DD $L$SEH_info_bn_from_mont8x wrt ..imagebase + DD $L$SEH_begin_bn_mulx4x_mont_gather5 wrt ..imagebase + DD $L$SEH_end_bn_mulx4x_mont_gather5 wrt ..imagebase + DD $L$SEH_info_bn_mulx4x_mont_gather5 wrt ..imagebase + + DD $L$SEH_begin_bn_powerx5 wrt ..imagebase + DD $L$SEH_end_bn_powerx5 wrt ..imagebase + DD $L$SEH_info_bn_powerx5 wrt ..imagebase + DD $L$SEH_begin_bn_gather5 wrt ..imagebase + DD $L$SEH_end_bn_gather5 wrt ..imagebase + DD $L$SEH_info_bn_gather5 wrt ..imagebase + +section .xdata rdata align=8 +ALIGN 8 +$L$SEH_info_bn_mul_mont_gather5: +DB 9,0,0,0 + DD mul_handler wrt ..imagebase + DD $L$mul_body wrt ..imagebase,$L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase +ALIGN 8 +$L$SEH_info_bn_mul4x_mont_gather5: +DB 9,0,0,0 + DD mul_handler wrt ..imagebase + DD $L$mul4x_prologue wrt ..imagebase,$L$mul4x_body wrt ..imagebase,$L$mul4x_epilogue wrt ..imagebase +ALIGN 8 +$L$SEH_info_bn_power5: +DB 9,0,0,0 + DD mul_handler wrt ..imagebase + DD $L$power5_prologue wrt ..imagebase,$L$power5_body wrt ..imagebase,$L$power5_epilogue wrt ..imagebase +ALIGN 8 +$L$SEH_info_bn_from_mont8x: +DB 9,0,0,0 + DD mul_handler wrt ..imagebase + DD $L$from_prologue wrt ..imagebase,$L$from_body wrt ..imagebase,$L$from_epilogue wrt ..imagebase +ALIGN 8 +$L$SEH_info_bn_mulx4x_mont_gather5: +DB 9,0,0,0 + DD mul_handler wrt ..imagebase + DD $L$mulx4x_prologue wrt ..imagebase,$L$mulx4x_body wrt ..imagebase,$L$mulx4x_epilogue wrt ..imagebase +ALIGN 8 +$L$SEH_info_bn_powerx5: +DB 9,0,0,0 + DD mul_handler wrt ..imagebase + DD $L$powerx5_prologue wrt ..imagebase,$L$powerx5_body wrt ..imagebase,$L$powerx5_epilogue wrt ..imagebase +ALIGN 8 +$L$SEH_info_bn_gather5: +DB 0x01,0x0b,0x03,0x0a +DB 0x0b,0x01,0x21,0x00 +DB 0x04,0xa3,0x00,0x00 +ALIGN 8 diff --git a/tmp64/x86_64cpuid.asm b/tmp64/x86_64cpuid.asm index 1af8748d..434219da 100644 --- a/tmp64/x86_64cpuid.asm +++ b/tmp64/x86_64cpuid.asm @@ -1,277 +1,277 @@ -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -EXTERN OPENSSL_cpuid_setup - -section .CRT$XCU rdata align=8 - DQ OPENSSL_cpuid_setup - - -common OPENSSL_ia32cap_P 16 - -section .text code align=64 - - -global OPENSSL_atomic_add - -ALIGN 16 -OPENSSL_atomic_add: - mov eax,DWORD[rcx] -$L$spin: lea r8,[rax*1+rdx] -DB 0xf0 - cmpxchg DWORD[rcx],r8d - jne NEAR $L$spin - mov eax,r8d -DB 0x48,0x98 - DB 0F3h,0C3h ;repret - - -global OPENSSL_rdtsc - -ALIGN 16 -OPENSSL_rdtsc: - rdtsc - shl rdx,32 - or rax,rdx - DB 0F3h,0C3h ;repret - - -global OPENSSL_ia32_cpuid - -ALIGN 16 -OPENSSL_ia32_cpuid: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_OPENSSL_ia32_cpuid: - mov rdi,rcx - - - mov r8,rbx - - xor eax,eax - mov DWORD[8+rdi],eax - cpuid - mov r11d,eax - - xor eax,eax - cmp ebx,0x756e6547 - setne al - mov r9d,eax - cmp edx,0x49656e69 - setne al - or r9d,eax - cmp ecx,0x6c65746e - setne al - or r9d,eax - jz NEAR $L$intel - - cmp ebx,0x68747541 - setne al - mov r10d,eax - cmp edx,0x69746E65 - setne al - or r10d,eax - cmp ecx,0x444D4163 - setne al - or r10d,eax - jnz NEAR $L$intel - - - mov eax,0x80000000 - cpuid - cmp eax,0x80000001 - jb NEAR $L$intel - mov r10d,eax - mov eax,0x80000001 - cpuid - or r9d,ecx - and r9d,0x00000801 - - cmp r10d,0x80000008 - jb NEAR $L$intel - - mov eax,0x80000008 - cpuid - movzx r10,cl - inc r10 - - mov eax,1 - cpuid - bt edx,28 - jnc NEAR $L$generic - shr ebx,16 - cmp bl,r10b - ja NEAR $L$generic - and edx,0xefffffff - jmp NEAR $L$generic - -$L$intel: - cmp r11d,4 - mov r10d,-1 - jb NEAR $L$nocacheinfo - - mov eax,4 - mov ecx,0 - cpuid - mov r10d,eax - shr r10d,14 - and r10d,0xfff - -$L$nocacheinfo: - mov eax,1 - cpuid - and edx,0xbfefffff - cmp r9d,0 - jne NEAR $L$notintel - or edx,0x40000000 - and ah,15 - cmp ah,15 - jne NEAR $L$notP4 - or edx,0x00100000 -$L$notP4: - cmp ah,6 - jne NEAR $L$notintel - and eax,0x0fff0ff0 - cmp eax,0x00050670 - je NEAR $L$knights - cmp eax,0x00080650 - jne NEAR $L$notintel -$L$knights: - and ecx,0xfbffffff - -$L$notintel: - bt edx,28 - jnc NEAR $L$generic - and edx,0xefffffff - cmp r10d,0 - je NEAR $L$generic - - or edx,0x10000000 - shr ebx,16 - cmp bl,1 - ja NEAR $L$generic - and edx,0xefffffff -$L$generic: - and r9d,0x00000800 - and ecx,0xfffff7ff - or r9d,ecx - - mov r10d,edx - - cmp r11d,7 - jb NEAR $L$no_extended_info - mov eax,7 - xor ecx,ecx - cpuid - bt r9d,26 - jc NEAR $L$notknights - and ebx,0xfff7ffff -$L$notknights: - mov DWORD[8+rdi],ebx -$L$no_extended_info: - - bt r9d,27 - jnc NEAR $L$clear_avx - xor ecx,ecx -DB 0x0f,0x01,0xd0 - and eax,6 - cmp eax,6 - je NEAR $L$done -$L$clear_avx: - mov eax,0xefffe7ff - and r9d,eax - and DWORD[8+rdi],0xffffffdf -$L$done: - shl r9,32 - mov eax,r10d - mov rbx,r8 - or rax,r9 - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret -$L$SEH_end_OPENSSL_ia32_cpuid: - -global OPENSSL_cleanse - -ALIGN 16 -OPENSSL_cleanse: - xor rax,rax - cmp rdx,15 - jae NEAR $L$ot - cmp rdx,0 - je NEAR $L$ret -$L$ittle: - mov BYTE[rcx],al - sub rdx,1 - lea rcx,[1+rcx] - jnz NEAR $L$ittle -$L$ret: - DB 0F3h,0C3h ;repret -ALIGN 16 -$L$ot: - test rcx,7 - jz NEAR $L$aligned - mov BYTE[rcx],al - lea rdx,[((-1))+rdx] - lea rcx,[1+rcx] - jmp NEAR $L$ot -$L$aligned: - mov QWORD[rcx],rax - lea rdx,[((-8))+rdx] - test rdx,-8 - lea rcx,[8+rcx] - jnz NEAR $L$aligned - cmp rdx,0 - jne NEAR $L$ittle - DB 0F3h,0C3h ;repret - -global OPENSSL_wipe_cpu - -ALIGN 16 -OPENSSL_wipe_cpu: - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - xor rcx,rcx - xor rdx,rdx - xor r8,r8 - xor r9,r9 - xor r10,r10 - xor r11,r11 - lea rax,[8+rsp] - DB 0F3h,0C3h ;repret - -global OPENSSL_ia32_rdrand - -ALIGN 16 -OPENSSL_ia32_rdrand: - mov ecx,8 -$L$oop_rdrand: -DB 72,15,199,240 - jc NEAR $L$break_rdrand - loop $L$oop_rdrand -$L$break_rdrand: - cmp rax,0 - cmove rax,rcx - DB 0F3h,0C3h ;repret - - -global OPENSSL_ia32_rdseed - -ALIGN 16 -OPENSSL_ia32_rdseed: - mov ecx,8 -$L$oop_rdseed: -DB 72,15,199,248 - jc NEAR $L$break_rdseed - loop $L$oop_rdseed -$L$break_rdseed: - cmp rax,0 - cmove rax,rcx - DB 0F3h,0C3h ;repret - +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +EXTERN OPENSSL_cpuid_setup + +section .CRT$XCU rdata align=8 + DQ OPENSSL_cpuid_setup + + +common OPENSSL_ia32cap_P 16 + +section .text code align=64 + + +global OPENSSL_atomic_add + +ALIGN 16 +OPENSSL_atomic_add: + mov eax,DWORD[rcx] +$L$spin: lea r8,[rax*1+rdx] +DB 0xf0 + cmpxchg DWORD[rcx],r8d + jne NEAR $L$spin + mov eax,r8d +DB 0x48,0x98 + DB 0F3h,0C3h ;repret + + +global OPENSSL_rdtsc + +ALIGN 16 +OPENSSL_rdtsc: + rdtsc + shl rdx,32 + or rax,rdx + DB 0F3h,0C3h ;repret + + +global OPENSSL_ia32_cpuid + +ALIGN 16 +OPENSSL_ia32_cpuid: + mov QWORD[8+rsp],rdi ;WIN64 prologue + mov QWORD[16+rsp],rsi + mov rax,rsp +$L$SEH_begin_OPENSSL_ia32_cpuid: + mov rdi,rcx + + + mov r8,rbx + + xor eax,eax + mov DWORD[8+rdi],eax + cpuid + mov r11d,eax + + xor eax,eax + cmp ebx,0x756e6547 + setne al + mov r9d,eax + cmp edx,0x49656e69 + setne al + or r9d,eax + cmp ecx,0x6c65746e + setne al + or r9d,eax + jz NEAR $L$intel + + cmp ebx,0x68747541 + setne al + mov r10d,eax + cmp edx,0x69746E65 + setne al + or r10d,eax + cmp ecx,0x444D4163 + setne al + or r10d,eax + jnz NEAR $L$intel + + + mov eax,0x80000000 + cpuid + cmp eax,0x80000001 + jb NEAR $L$intel + mov r10d,eax + mov eax,0x80000001 + cpuid + or r9d,ecx + and r9d,0x00000801 + + cmp r10d,0x80000008 + jb NEAR $L$intel + + mov eax,0x80000008 + cpuid + movzx r10,cl + inc r10 + + mov eax,1 + cpuid + bt edx,28 + jnc NEAR $L$generic + shr ebx,16 + cmp bl,r10b + ja NEAR $L$generic + and edx,0xefffffff + jmp NEAR $L$generic + +$L$intel: + cmp r11d,4 + mov r10d,-1 + jb NEAR $L$nocacheinfo + + mov eax,4 + mov ecx,0 + cpuid + mov r10d,eax + shr r10d,14 + and r10d,0xfff + +$L$nocacheinfo: + mov eax,1 + cpuid + and edx,0xbfefffff + cmp r9d,0 + jne NEAR $L$notintel + or edx,0x40000000 + and ah,15 + cmp ah,15 + jne NEAR $L$notP4 + or edx,0x00100000 +$L$notP4: + cmp ah,6 + jne NEAR $L$notintel + and eax,0x0fff0ff0 + cmp eax,0x00050670 + je NEAR $L$knights + cmp eax,0x00080650 + jne NEAR $L$notintel +$L$knights: + and ecx,0xfbffffff + +$L$notintel: + bt edx,28 + jnc NEAR $L$generic + and edx,0xefffffff + cmp r10d,0 + je NEAR $L$generic + + or edx,0x10000000 + shr ebx,16 + cmp bl,1 + ja NEAR $L$generic + and edx,0xefffffff +$L$generic: + and r9d,0x00000800 + and ecx,0xfffff7ff + or r9d,ecx + + mov r10d,edx + + cmp r11d,7 + jb NEAR $L$no_extended_info + mov eax,7 + xor ecx,ecx + cpuid + bt r9d,26 + jc NEAR $L$notknights + and ebx,0xfff7ffff +$L$notknights: + mov DWORD[8+rdi],ebx +$L$no_extended_info: + + bt r9d,27 + jnc NEAR $L$clear_avx + xor ecx,ecx +DB 0x0f,0x01,0xd0 + and eax,6 + cmp eax,6 + je NEAR $L$done +$L$clear_avx: + mov eax,0xefffe7ff + and r9d,eax + and DWORD[8+rdi],0xffffffdf +$L$done: + shl r9,32 + mov eax,r10d + mov rbx,r8 + or rax,r9 + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] + DB 0F3h,0C3h ;repret +$L$SEH_end_OPENSSL_ia32_cpuid: + +global OPENSSL_cleanse + +ALIGN 16 +OPENSSL_cleanse: + xor rax,rax + cmp rdx,15 + jae NEAR $L$ot + cmp rdx,0 + je NEAR $L$ret +$L$ittle: + mov BYTE[rcx],al + sub rdx,1 + lea rcx,[1+rcx] + jnz NEAR $L$ittle +$L$ret: + DB 0F3h,0C3h ;repret +ALIGN 16 +$L$ot: + test rcx,7 + jz NEAR $L$aligned + mov BYTE[rcx],al + lea rdx,[((-1))+rdx] + lea rcx,[1+rcx] + jmp NEAR $L$ot +$L$aligned: + mov QWORD[rcx],rax + lea rdx,[((-8))+rdx] + test rdx,-8 + lea rcx,[8+rcx] + jnz NEAR $L$aligned + cmp rdx,0 + jne NEAR $L$ittle + DB 0F3h,0C3h ;repret + +global OPENSSL_wipe_cpu + +ALIGN 16 +OPENSSL_wipe_cpu: + pxor xmm0,xmm0 + pxor xmm1,xmm1 + pxor xmm2,xmm2 + pxor xmm3,xmm3 + pxor xmm4,xmm4 + pxor xmm5,xmm5 + xor rcx,rcx + xor rdx,rdx + xor r8,r8 + xor r9,r9 + xor r10,r10 + xor r11,r11 + lea rax,[8+rsp] + DB 0F3h,0C3h ;repret + +global OPENSSL_ia32_rdrand + +ALIGN 16 +OPENSSL_ia32_rdrand: + mov ecx,8 +$L$oop_rdrand: +DB 72,15,199,240 + jc NEAR $L$break_rdrand + loop $L$oop_rdrand +$L$break_rdrand: + cmp rax,0 + cmove rax,rcx + DB 0F3h,0C3h ;repret + + +global OPENSSL_ia32_rdseed + +ALIGN 16 +OPENSSL_ia32_rdseed: + mov ecx,8 +$L$oop_rdseed: +DB 72,15,199,248 + jc NEAR $L$break_rdseed + loop $L$oop_rdseed +$L$break_rdseed: + cmp rax,0 + cmove rax,rcx + DB 0F3h,0C3h ;repret + diff --git a/tools/c_rehash b/tools/c_rehash index 6a27c022..40f12778 100644 --- a/tools/c_rehash +++ b/tools/c_rehash @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/local/bin/perl # Perl c_rehash script, scan all files in a directory # and add symbolic links to their hash values. diff --git a/tools/c_rehash.bak b/tools/c_rehash.bak deleted file mode 100644 index 6a27c022..00000000 --- a/tools/c_rehash.bak +++ /dev/null @@ -1,210 +0,0 @@ -#!/usr/bin/perl - -# Perl c_rehash script, scan all files in a directory -# and add symbolic links to their hash values. - -my $dir = "/usr/local/ssl"; -my $prefix = "/usr/local/ssl"; - -my $openssl = $ENV{OPENSSL} || "openssl"; -my $pwd; -my $x509hash = "-subject_hash"; -my $crlhash = "-hash"; -my $verbose = 0; -my $symlink_exists=eval {symlink("",""); 1}; -my $removelinks = 1; - -## Parse flags. -while ( $ARGV[0] =~ /^-/ ) { - my $flag = shift @ARGV; - last if ( $flag eq '--'); - if ( $flag eq '-old') { - $x509hash = "-subject_hash_old"; - $crlhash = "-hash_old"; - } elsif ( $flag eq '-h') { - help(); - } elsif ( $flag eq '-n' ) { - $removelinks = 0; - } elsif ( $flag eq '-v' ) { - $verbose++; - } - else { - print STDERR "Usage error; try -help.\n"; - exit 1; - } -} - -sub help { - print "Usage: c_rehash [-old] [-h] [-v] [dirs...]\n"; - print " -old use old-style digest\n"; - print " -h print this help text\n"; - print " -v print files removed and linked\n"; - exit 0; -} - -eval "require Cwd"; -if (defined(&Cwd::getcwd)) { - $pwd=Cwd::getcwd(); -} else { - $pwd=`pwd`; - chomp($pwd); -} - -# DOS/Win32 or Unix delimiter? Prefix our installdir, then search. -my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':'; -$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : ""); - -if(! -x $openssl) { - my $found = 0; - foreach (split /$path_delim/, $ENV{PATH}) { - if(-x "$_/$openssl") { - $found = 1; - $openssl = "$_/$openssl"; - last; - } - } - if($found == 0) { - print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n"; - exit 0; - } -} - -if(@ARGV) { - @dirlist = @ARGV; -} elsif($ENV{SSL_CERT_DIR}) { - @dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR}; -} else { - $dirlist[0] = "$dir/certs"; -} - -if (-d $dirlist[0]) { - chdir $dirlist[0]; - $openssl="$pwd/$openssl" if (!-x $openssl); - chdir $pwd; -} - -foreach (@dirlist) { - if(-d $_ and -w $_) { - hash_dir($_); - } -} - -sub hash_dir { - my %hashlist; - print "Doing $_[0]\n"; - chdir $_[0]; - opendir(DIR, "."); - my @flist = readdir(DIR); - closedir DIR; - if ( $removelinks ) { - # Delete any existing symbolic links - foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) { - if(-l $_) { - unlink $_; - print "unlink $_" if $verbose; - } - } - } - FILE: foreach $fname (grep {/\.(pem)|(crt)|(cer)|(crl)$/} @flist) { - # Check to see if certificates and/or CRLs present. - my ($cert, $crl) = check_file($fname); - if(!$cert && !$crl) { - print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n"; - next; - } - link_hash_cert($fname) if($cert); - link_hash_crl($fname) if($crl); - } -} - -sub check_file { - my ($is_cert, $is_crl) = (0,0); - my $fname = $_[0]; - open IN, $fname; - while() { - if(/^-----BEGIN (.*)-----/) { - my $hdr = $1; - if($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) { - $is_cert = 1; - last if($is_crl); - } elsif($hdr eq "X509 CRL") { - $is_crl = 1; - last if($is_cert); - } - } - } - close IN; - return ($is_cert, $is_crl); -} - - -# Link a certificate to its subject name hash value, each hash is of -# the form . where n is an integer. If the hash value already exists -# then we need to up the value of n, unless its a duplicate in which -# case we skip the link. We check for duplicates by comparing the -# certificate fingerprints - -sub link_hash_cert { - my $fname = $_[0]; - $fname =~ s/'/'\\''/g; - my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`; - chomp $hash; - chomp $fprint; - $fprint =~ s/^.*=//; - $fprint =~ tr/://d; - my $suffix = 0; - # Search for an unused hash filename - while(exists $hashlist{"$hash.$suffix"}) { - # Hash matches: if fingerprint matches its a duplicate cert - if($hashlist{"$hash.$suffix"} eq $fprint) { - print STDERR "WARNING: Skipping duplicate certificate $fname\n"; - return; - } - $suffix++; - } - $hash .= ".$suffix"; - if ($symlink_exists) { - symlink $fname, $hash; - print "link $fname -> $hash\n" if $verbose; - } else { - open IN,"<$fname" or die "can't open $fname for read"; - open OUT,">$hash" or die "can't open $hash for write"; - print OUT ; # does the job for small text files - close OUT; - close IN; - print "copy $fname -> $hash\n" if $verbose; - } - $hashlist{$hash} = $fprint; -} - -# Same as above except for a CRL. CRL links are of the form .r - -sub link_hash_crl { - my $fname = $_[0]; - $fname =~ s/'/'\\''/g; - my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`; - chomp $hash; - chomp $fprint; - $fprint =~ s/^.*=//; - $fprint =~ tr/://d; - my $suffix = 0; - # Search for an unused hash filename - while(exists $hashlist{"$hash.r$suffix"}) { - # Hash matches: if fingerprint matches its a duplicate cert - if($hashlist{"$hash.r$suffix"} eq $fprint) { - print STDERR "WARNING: Skipping duplicate CRL $fname\n"; - return; - } - $suffix++; - } - $hash .= ".r$suffix"; - if ($symlink_exists) { - symlink $fname, $hash; - print "link $fname -> $hash\n" if $verbose; - } else { - system ("cp", $fname, $hash); - print "cp $fname -> $hash\n" if $verbose; - } - $hashlist{$hash} = $fprint; -} -