From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.groups.io with SMTP id smtpd.web10.14721.1678696297498565317 for ; Mon, 13 Mar 2023 01:31:38 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=HfOkyA2G; spf=pass (domain: redhat.com, ip: 170.10.133.124, mailfrom: kraxel@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1678696296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=uDVG+dHBKKTClencWTSKjNsj7DSELz23O4g771U6fI4=; b=HfOkyA2G0U0rk0KH4iMWXxVO3EbyGv5i7ObMH2FV2G10HjUYaQfSIIBGyq8ULUYeJYGNFv bOa7eN4SRfLrV7LK8/tjZGq6wwmECWdBQorpM1Z8f/z2WRpOJF8Q8xOb+Mfgw4zULiRyag /Zsu3iAsW4TYlnlLq4gUg3dM3FnY5bQ= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-362-4gDpAnrCOsyHjJhHFuMbeg-1; Mon, 13 Mar 2023 04:31:22 -0400 X-MC-Unique: 4gDpAnrCOsyHjJhHFuMbeg-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CEB0A2A59565; Mon, 13 Mar 2023 08:31:21 +0000 (UTC) Received: from sirius.home.kraxel.org (unknown [10.39.192.142]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9E7922A68; Mon, 13 Mar 2023 08:30:47 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id A2C131801E98; Mon, 13 Mar 2023 09:30:16 +0100 (CET) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Jian J Wang , Pawel Polawski , Xiaoyu Lu , Ard Biesheuvel , Guomin Jiang , Gerd Hoffmann , Jiewen Yao , Oliver Steffen , Jordan Justen Subject: [PATCH 21/22] CryptoPkg/openssl: cleanup remaining openssl-1.1.1 files Date: Mon, 13 Mar 2023 09:30:15 +0100 Message-Id: <20230313083016.136448-22-kraxel@redhat.com> In-Reply-To: <20230313083016.136448-1-kraxel@redhat.com> References: <20230313083016.136448-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true Signed-off-by: Gerd Hoffmann --- .../OpensslLib/IA32/crypto/aes/aesni-x86.nasm | 3212 ----------- .../OpensslLib/IA32/crypto/aes/vpaes-x86.nasm | 651 --- .../IA32/crypto/modes/ghash-x86.nasm | 700 --- .../OpensslLib/IA32/crypto/sha/sha1-586.nasm | 1394 ----- .../IA32/crypto/sha/sha256-586.nasm | 3364 ----------- .../IA32/crypto/sha/sha512-586.nasm | 579 -- .../OpensslLib/IA32/crypto/x86cpuid.nasm | 433 -- .../OpensslLib/IA32Gcc/crypto/aes/aesni-x86.S | 3247 ----------- .../OpensslLib/IA32Gcc/crypto/aes/vpaes-x86.S | 670 --- .../IA32Gcc/crypto/modes/ghash-x86.S | 703 --- .../OpensslLib/IA32Gcc/crypto/sha/sha1-586.S | 1389 ----- .../IA32Gcc/crypto/sha/sha256-586.S | 3356 ----------- .../IA32Gcc/crypto/sha/sha512-586.S | 574 -- .../OpensslLib/IA32Gcc/crypto/x86cpuid.S | 449 -- .../X64/crypto/aes/aesni-mb-x86_64.nasm | 732 --- .../X64/crypto/aes/aesni-sha1-x86_64.nasm | 1916 ------- .../X64/crypto/aes/aesni-sha256-x86_64.nasm | 78 - .../X64/crypto/aes/aesni-x86_64.nasm | 5103 ----------------- .../X64/crypto/aes/vpaes-x86_64.nasm | 1173 ---- .../X64/crypto/modes/aesni-gcm-x86_64.nasm | 34 - .../X64/crypto/modes/ghash-x86_64.nasm | 1569 ----- .../X64/crypto/sha/sha1-mb-x86_64.nasm | 3137 ---------- .../X64/crypto/sha/sha1-x86_64.nasm | 2884 ---------- .../X64/crypto/sha/sha256-mb-x86_64.nasm | 3461 ----------- .../X64/crypto/sha/sha256-x86_64.nasm | 3313 ----------- .../X64/crypto/sha/sha512-x86_64.nasm | 1938 ------- .../OpensslLib/X64/crypto/x86_64cpuid.nasm | 491 -- .../X64Gcc/crypto/aes/aesni-mb-x86_64.S | 552 -- .../X64Gcc/crypto/aes/aesni-sha1-x86_64.S | 1719 ------ .../X64Gcc/crypto/aes/aesni-sha256-x86_64.S | 69 - .../X64Gcc/crypto/aes/aesni-x86_64.S | 4484 --------------- .../X64Gcc/crypto/aes/vpaes-x86_64.S | 863 --- .../X64Gcc/crypto/modes/aesni-gcm-x86_64.S | 29 - .../X64Gcc/crypto/modes/ghash-x86_64.S | 1386 ----- .../X64Gcc/crypto/sha/sha1-mb-x86_64.S | 2962 ---------- .../X64Gcc/crypto/sha/sha1-x86_64.S | 2631 --------- .../X64Gcc/crypto/sha/sha256-mb-x86_64.S | 3286 ----------- .../X64Gcc/crypto/sha/sha256-x86_64.S | 3097 ---------- .../X64Gcc/crypto/sha/sha512-x86_64.S | 1811 ------ .../OpensslLib/X64Gcc/crypto/x86_64cpuid.S | 491 -- CryptoPkg/Library/OpensslLib/process_files.pl | 529 -- 41 files changed, 70459 deletions(-) delete mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/aes/aesni-x86.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/aes/vpaes-x86.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/modes/ghash-x86.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha1-586.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha256-586.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha512-586.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/aesni-x86.S delete mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/vpaes-x86.S delete mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/modes/ghash-x86.S delete mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha1-586.S delete mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha256-586.S delete mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha512-586.S delete mode 100644 CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/x86cpuid.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-mb-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha1-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha256-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/aes/vpaes-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/modes/aesni-gcm-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/modes/ghash-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-mb-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-mb-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha512-x86_64.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/x86_64cpuid.nasm delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-mb-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-sha1-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-sha256-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/vpaes-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/modes/aesni-gcm-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/modes/ghash-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha1-mb-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha1-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha256-mb-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha256-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha512-x86_64.S delete mode 100644 CryptoPkg/Library/OpensslLib/X64Gcc/crypto/x86_64cpuid.S delete mode 100755 CryptoPkg/Library/OpensslLib/process_files.pl diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/aesni-x86.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/aesni-x86.nasm deleted file mode 100644 index e0b5058273be..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/aesni-x86.nasm +++ /dev/null @@ -1,3212 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/aes/asm/aesni-x86.pl -; -; Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -%ifidn __OUTPUT_FORMAT__,obj -section code use32 class=code align=64 -%elifidn __OUTPUT_FORMAT__,win32 -$@feat.00 equ 1 -section .text code align=64 -%else -section .text code -%endif -;extern _OPENSSL_ia32cap_P -global _aesni_encrypt -align 16 -_aesni_encrypt: -L$_aesni_encrypt_begin: - mov eax,DWORD [4+esp] - mov edx,DWORD [12+esp] - movups xmm2,[eax] - mov ecx,DWORD [240+edx] - mov eax,DWORD [8+esp] - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$000enc1_loop_1: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$000enc1_loop_1 -db 102,15,56,221,209 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - movups [eax],xmm2 - pxor xmm2,xmm2 - ret -global _aesni_decrypt -align 16 -_aesni_decrypt: -L$_aesni_decrypt_begin: - mov eax,DWORD [4+esp] - mov edx,DWORD [12+esp] - movups xmm2,[eax] - mov ecx,DWORD [240+edx] - mov eax,DWORD [8+esp] - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$001dec1_loop_2: -db 102,15,56,222,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$001dec1_loop_2 -db 102,15,56,223,209 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - movups [eax],xmm2 - pxor xmm2,xmm2 - ret -align 16 -__aesni_encrypt2: - movups xmm0,[edx] - shl ecx,4 - movups xmm1,[16+edx] - xorps xmm2,xmm0 - pxor xmm3,xmm0 - movups xmm0,[32+edx] - lea edx,[32+ecx*1+edx] - neg ecx - add ecx,16 -L$002enc2_loop: -db 102,15,56,220,209 -db 102,15,56,220,217 - movups xmm1,[ecx*1+edx] - add ecx,32 -db 102,15,56,220,208 -db 102,15,56,220,216 - movups xmm0,[ecx*1+edx-16] - jnz NEAR L$002enc2_loop -db 102,15,56,220,209 -db 102,15,56,220,217 -db 102,15,56,221,208 -db 102,15,56,221,216 - ret -align 16 -__aesni_decrypt2: - movups xmm0,[edx] - shl ecx,4 - movups xmm1,[16+edx] - xorps xmm2,xmm0 - pxor xmm3,xmm0 - movups xmm0,[32+edx] - lea edx,[32+ecx*1+edx] - neg ecx - add ecx,16 -L$003dec2_loop: -db 102,15,56,222,209 -db 102,15,56,222,217 - movups xmm1,[ecx*1+edx] - add ecx,32 -db 102,15,56,222,208 -db 102,15,56,222,216 - movups xmm0,[ecx*1+edx-16] - jnz NEAR L$003dec2_loop -db 102,15,56,222,209 -db 102,15,56,222,217 -db 102,15,56,223,208 -db 102,15,56,223,216 - ret -align 16 -__aesni_encrypt3: - movups xmm0,[edx] - shl ecx,4 - movups xmm1,[16+edx] - xorps xmm2,xmm0 - pxor xmm3,xmm0 - pxor xmm4,xmm0 - movups xmm0,[32+edx] - lea edx,[32+ecx*1+edx] - neg ecx - add ecx,16 -L$004enc3_loop: -db 102,15,56,220,209 -db 102,15,56,220,217 -db 102,15,56,220,225 - movups xmm1,[ecx*1+edx] - add ecx,32 -db 102,15,56,220,208 -db 102,15,56,220,216 -db 102,15,56,220,224 - movups xmm0,[ecx*1+edx-16] - jnz NEAR L$004enc3_loop -db 102,15,56,220,209 -db 102,15,56,220,217 -db 102,15,56,220,225 -db 102,15,56,221,208 -db 102,15,56,221,216 -db 102,15,56,221,224 - ret -align 16 -__aesni_decrypt3: - movups xmm0,[edx] - shl ecx,4 - movups xmm1,[16+edx] - xorps xmm2,xmm0 - pxor xmm3,xmm0 - pxor xmm4,xmm0 - movups xmm0,[32+edx] - lea edx,[32+ecx*1+edx] - neg ecx - add ecx,16 -L$005dec3_loop: -db 102,15,56,222,209 -db 102,15,56,222,217 -db 102,15,56,222,225 - movups xmm1,[ecx*1+edx] - add ecx,32 -db 102,15,56,222,208 -db 102,15,56,222,216 -db 102,15,56,222,224 - movups xmm0,[ecx*1+edx-16] - jnz NEAR L$005dec3_loop -db 102,15,56,222,209 -db 102,15,56,222,217 -db 102,15,56,222,225 -db 102,15,56,223,208 -db 102,15,56,223,216 -db 102,15,56,223,224 - ret -align 16 -__aesni_encrypt4: - movups xmm0,[edx] - movups xmm1,[16+edx] - shl ecx,4 - xorps xmm2,xmm0 - pxor xmm3,xmm0 - pxor xmm4,xmm0 - pxor xmm5,xmm0 - movups xmm0,[32+edx] - lea edx,[32+ecx*1+edx] - neg ecx -db 15,31,64,0 - add ecx,16 -L$006enc4_loop: -db 102,15,56,220,209 -db 102,15,56,220,217 -db 102,15,56,220,225 -db 102,15,56,220,233 - movups xmm1,[ecx*1+edx] - add ecx,32 -db 102,15,56,220,208 -db 102,15,56,220,216 -db 102,15,56,220,224 -db 102,15,56,220,232 - movups xmm0,[ecx*1+edx-16] - jnz NEAR L$006enc4_loop -db 102,15,56,220,209 -db 102,15,56,220,217 -db 102,15,56,220,225 -db 102,15,56,220,233 -db 102,15,56,221,208 -db 102,15,56,221,216 -db 102,15,56,221,224 -db 102,15,56,221,232 - ret -align 16 -__aesni_decrypt4: - movups xmm0,[edx] - movups xmm1,[16+edx] - shl ecx,4 - xorps xmm2,xmm0 - pxor xmm3,xmm0 - pxor xmm4,xmm0 - pxor xmm5,xmm0 - movups xmm0,[32+edx] - lea edx,[32+ecx*1+edx] - neg ecx -db 15,31,64,0 - add ecx,16 -L$007dec4_loop: -db 102,15,56,222,209 -db 102,15,56,222,217 -db 102,15,56,222,225 -db 102,15,56,222,233 - movups xmm1,[ecx*1+edx] - add ecx,32 -db 102,15,56,222,208 -db 102,15,56,222,216 -db 102,15,56,222,224 -db 102,15,56,222,232 - movups xmm0,[ecx*1+edx-16] - jnz NEAR L$007dec4_loop -db 102,15,56,222,209 -db 102,15,56,222,217 -db 102,15,56,222,225 -db 102,15,56,222,233 -db 102,15,56,223,208 -db 102,15,56,223,216 -db 102,15,56,223,224 -db 102,15,56,223,232 - ret -align 16 -__aesni_encrypt6: - movups xmm0,[edx] - shl ecx,4 - movups xmm1,[16+edx] - xorps xmm2,xmm0 - pxor xmm3,xmm0 - pxor xmm4,xmm0 -db 102,15,56,220,209 - pxor xmm5,xmm0 - pxor xmm6,xmm0 -db 102,15,56,220,217 - lea edx,[32+ecx*1+edx] - neg ecx -db 102,15,56,220,225 - pxor xmm7,xmm0 - movups xmm0,[ecx*1+edx] - add ecx,16 - jmp NEAR L$008_aesni_encrypt6_inner -align 16 -L$009enc6_loop: -db 102,15,56,220,209 -db 102,15,56,220,217 -db 102,15,56,220,225 -L$008_aesni_encrypt6_inner: -db 102,15,56,220,233 -db 102,15,56,220,241 -db 102,15,56,220,249 -L$_aesni_encrypt6_enter: - movups xmm1,[ecx*1+edx] - add ecx,32 -db 102,15,56,220,208 -db 102,15,56,220,216 -db 102,15,56,220,224 -db 102,15,56,220,232 -db 102,15,56,220,240 -db 102,15,56,220,248 - movups xmm0,[ecx*1+edx-16] - jnz NEAR L$009enc6_loop -db 102,15,56,220,209 -db 102,15,56,220,217 -db 102,15,56,220,225 -db 102,15,56,220,233 -db 102,15,56,220,241 -db 102,15,56,220,249 -db 102,15,56,221,208 -db 102,15,56,221,216 -db 102,15,56,221,224 -db 102,15,56,221,232 -db 102,15,56,221,240 -db 102,15,56,221,248 - ret -align 16 -__aesni_decrypt6: - movups xmm0,[edx] - shl ecx,4 - movups xmm1,[16+edx] - xorps xmm2,xmm0 - pxor xmm3,xmm0 - pxor xmm4,xmm0 -db 102,15,56,222,209 - pxor xmm5,xmm0 - pxor xmm6,xmm0 -db 102,15,56,222,217 - lea edx,[32+ecx*1+edx] - neg ecx -db 102,15,56,222,225 - pxor xmm7,xmm0 - movups xmm0,[ecx*1+edx] - add ecx,16 - jmp NEAR L$010_aesni_decrypt6_inner -align 16 -L$011dec6_loop: -db 102,15,56,222,209 -db 102,15,56,222,217 -db 102,15,56,222,225 -L$010_aesni_decrypt6_inner: -db 102,15,56,222,233 -db 102,15,56,222,241 -db 102,15,56,222,249 -L$_aesni_decrypt6_enter: - movups xmm1,[ecx*1+edx] - add ecx,32 -db 102,15,56,222,208 -db 102,15,56,222,216 -db 102,15,56,222,224 -db 102,15,56,222,232 -db 102,15,56,222,240 -db 102,15,56,222,248 - movups xmm0,[ecx*1+edx-16] - jnz NEAR L$011dec6_loop -db 102,15,56,222,209 -db 102,15,56,222,217 -db 102,15,56,222,225 -db 102,15,56,222,233 -db 102,15,56,222,241 -db 102,15,56,222,249 -db 102,15,56,223,208 -db 102,15,56,223,216 -db 102,15,56,223,224 -db 102,15,56,223,232 -db 102,15,56,223,240 -db 102,15,56,223,248 - ret -global _aesni_ecb_encrypt -align 16 -_aesni_ecb_encrypt: -L$_aesni_ecb_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov eax,DWORD [28+esp] - mov edx,DWORD [32+esp] - mov ebx,DWORD [36+esp] - and eax,-16 - jz NEAR L$012ecb_ret - mov ecx,DWORD [240+edx] - test ebx,ebx - jz NEAR L$013ecb_decrypt - mov ebp,edx - mov ebx,ecx - cmp eax,96 - jb NEAR L$014ecb_enc_tail - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - movdqu xmm4,[32+esi] - movdqu xmm5,[48+esi] - movdqu xmm6,[64+esi] - movdqu xmm7,[80+esi] - lea esi,[96+esi] - sub eax,96 - jmp NEAR L$015ecb_enc_loop6_enter -align 16 -L$016ecb_enc_loop6: - movups [edi],xmm2 - movdqu xmm2,[esi] - movups [16+edi],xmm3 - movdqu xmm3,[16+esi] - movups [32+edi],xmm4 - movdqu xmm4,[32+esi] - movups [48+edi],xmm5 - movdqu xmm5,[48+esi] - movups [64+edi],xmm6 - movdqu xmm6,[64+esi] - movups [80+edi],xmm7 - lea edi,[96+edi] - movdqu xmm7,[80+esi] - lea esi,[96+esi] -L$015ecb_enc_loop6_enter: - call __aesni_encrypt6 - mov edx,ebp - mov ecx,ebx - sub eax,96 - jnc NEAR L$016ecb_enc_loop6 - movups [edi],xmm2 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - movups [48+edi],xmm5 - movups [64+edi],xmm6 - movups [80+edi],xmm7 - lea edi,[96+edi] - add eax,96 - jz NEAR L$012ecb_ret -L$014ecb_enc_tail: - movups xmm2,[esi] - cmp eax,32 - jb NEAR L$017ecb_enc_one - movups xmm3,[16+esi] - je NEAR L$018ecb_enc_two - movups xmm4,[32+esi] - cmp eax,64 - jb NEAR L$019ecb_enc_three - movups xmm5,[48+esi] - je NEAR L$020ecb_enc_four - movups xmm6,[64+esi] - xorps xmm7,xmm7 - call __aesni_encrypt6 - movups [edi],xmm2 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - movups [48+edi],xmm5 - movups [64+edi],xmm6 - jmp NEAR L$012ecb_ret -align 16 -L$017ecb_enc_one: - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$021enc1_loop_3: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$021enc1_loop_3 -db 102,15,56,221,209 - movups [edi],xmm2 - jmp NEAR L$012ecb_ret -align 16 -L$018ecb_enc_two: - call __aesni_encrypt2 - movups [edi],xmm2 - movups [16+edi],xmm3 - jmp NEAR L$012ecb_ret -align 16 -L$019ecb_enc_three: - call __aesni_encrypt3 - movups [edi],xmm2 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - jmp NEAR L$012ecb_ret -align 16 -L$020ecb_enc_four: - call __aesni_encrypt4 - movups [edi],xmm2 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - movups [48+edi],xmm5 - jmp NEAR L$012ecb_ret -align 16 -L$013ecb_decrypt: - mov ebp,edx - mov ebx,ecx - cmp eax,96 - jb NEAR L$022ecb_dec_tail - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - movdqu xmm4,[32+esi] - movdqu xmm5,[48+esi] - movdqu xmm6,[64+esi] - movdqu xmm7,[80+esi] - lea esi,[96+esi] - sub eax,96 - jmp NEAR L$023ecb_dec_loop6_enter -align 16 -L$024ecb_dec_loop6: - movups [edi],xmm2 - movdqu xmm2,[esi] - movups [16+edi],xmm3 - movdqu xmm3,[16+esi] - movups [32+edi],xmm4 - movdqu xmm4,[32+esi] - movups [48+edi],xmm5 - movdqu xmm5,[48+esi] - movups [64+edi],xmm6 - movdqu xmm6,[64+esi] - movups [80+edi],xmm7 - lea edi,[96+edi] - movdqu xmm7,[80+esi] - lea esi,[96+esi] -L$023ecb_dec_loop6_enter: - call __aesni_decrypt6 - mov edx,ebp - mov ecx,ebx - sub eax,96 - jnc NEAR L$024ecb_dec_loop6 - movups [edi],xmm2 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - movups [48+edi],xmm5 - movups [64+edi],xmm6 - movups [80+edi],xmm7 - lea edi,[96+edi] - add eax,96 - jz NEAR L$012ecb_ret -L$022ecb_dec_tail: - movups xmm2,[esi] - cmp eax,32 - jb NEAR L$025ecb_dec_one - movups xmm3,[16+esi] - je NEAR L$026ecb_dec_two - movups xmm4,[32+esi] - cmp eax,64 - jb NEAR L$027ecb_dec_three - movups xmm5,[48+esi] - je NEAR L$028ecb_dec_four - movups xmm6,[64+esi] - xorps xmm7,xmm7 - call __aesni_decrypt6 - movups [edi],xmm2 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - movups [48+edi],xmm5 - movups [64+edi],xmm6 - jmp NEAR L$012ecb_ret -align 16 -L$025ecb_dec_one: - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$029dec1_loop_4: -db 102,15,56,222,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$029dec1_loop_4 -db 102,15,56,223,209 - movups [edi],xmm2 - jmp NEAR L$012ecb_ret -align 16 -L$026ecb_dec_two: - call __aesni_decrypt2 - movups [edi],xmm2 - movups [16+edi],xmm3 - jmp NEAR L$012ecb_ret -align 16 -L$027ecb_dec_three: - call __aesni_decrypt3 - movups [edi],xmm2 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - jmp NEAR L$012ecb_ret -align 16 -L$028ecb_dec_four: - call __aesni_decrypt4 - movups [edi],xmm2 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - movups [48+edi],xmm5 -L$012ecb_ret: - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - pxor xmm6,xmm6 - pxor xmm7,xmm7 - pop edi - pop esi - pop ebx - pop ebp - ret -global _aesni_ccm64_encrypt_blocks -align 16 -_aesni_ccm64_encrypt_blocks: -L$_aesni_ccm64_encrypt_blocks_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov eax,DWORD [28+esp] - mov edx,DWORD [32+esp] - mov ebx,DWORD [36+esp] - mov ecx,DWORD [40+esp] - mov ebp,esp - sub esp,60 - and esp,-16 - mov DWORD [48+esp],ebp - movdqu xmm7,[ebx] - movdqu xmm3,[ecx] - mov ecx,DWORD [240+edx] - mov DWORD [esp],202182159 - mov DWORD [4+esp],134810123 - mov DWORD [8+esp],67438087 - mov DWORD [12+esp],66051 - mov ebx,1 - xor ebp,ebp - mov DWORD [16+esp],ebx - mov DWORD [20+esp],ebp - mov DWORD [24+esp],ebp - mov DWORD [28+esp],ebp - shl ecx,4 - mov ebx,16 - lea ebp,[edx] - movdqa xmm5,[esp] - movdqa xmm2,xmm7 - lea edx,[32+ecx*1+edx] - sub ebx,ecx -db 102,15,56,0,253 -L$030ccm64_enc_outer: - movups xmm0,[ebp] - mov ecx,ebx - movups xmm6,[esi] - xorps xmm2,xmm0 - movups xmm1,[16+ebp] - xorps xmm0,xmm6 - xorps xmm3,xmm0 - movups xmm0,[32+ebp] -L$031ccm64_enc2_loop: -db 102,15,56,220,209 -db 102,15,56,220,217 - movups xmm1,[ecx*1+edx] - add ecx,32 -db 102,15,56,220,208 -db 102,15,56,220,216 - movups xmm0,[ecx*1+edx-16] - jnz NEAR L$031ccm64_enc2_loop -db 102,15,56,220,209 -db 102,15,56,220,217 - paddq xmm7,[16+esp] - dec eax -db 102,15,56,221,208 -db 102,15,56,221,216 - lea esi,[16+esi] - xorps xmm6,xmm2 - movdqa xmm2,xmm7 - movups [edi],xmm6 -db 102,15,56,0,213 - lea edi,[16+edi] - jnz NEAR L$030ccm64_enc_outer - mov esp,DWORD [48+esp] - mov edi,DWORD [40+esp] - movups [edi],xmm3 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - pxor xmm6,xmm6 - pxor xmm7,xmm7 - pop edi - pop esi - pop ebx - pop ebp - ret -global _aesni_ccm64_decrypt_blocks -align 16 -_aesni_ccm64_decrypt_blocks: -L$_aesni_ccm64_decrypt_blocks_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov eax,DWORD [28+esp] - mov edx,DWORD [32+esp] - mov ebx,DWORD [36+esp] - mov ecx,DWORD [40+esp] - mov ebp,esp - sub esp,60 - and esp,-16 - mov DWORD [48+esp],ebp - movdqu xmm7,[ebx] - movdqu xmm3,[ecx] - mov ecx,DWORD [240+edx] - mov DWORD [esp],202182159 - mov DWORD [4+esp],134810123 - mov DWORD [8+esp],67438087 - mov DWORD [12+esp],66051 - mov ebx,1 - xor ebp,ebp - mov DWORD [16+esp],ebx - mov DWORD [20+esp],ebp - mov DWORD [24+esp],ebp - mov DWORD [28+esp],ebp - movdqa xmm5,[esp] - movdqa xmm2,xmm7 - mov ebp,edx - mov ebx,ecx -db 102,15,56,0,253 - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$032enc1_loop_5: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$032enc1_loop_5 -db 102,15,56,221,209 - shl ebx,4 - mov ecx,16 - movups xmm6,[esi] - paddq xmm7,[16+esp] - lea esi,[16+esi] - sub ecx,ebx - lea edx,[32+ebx*1+ebp] - mov ebx,ecx - jmp NEAR L$033ccm64_dec_outer -align 16 -L$033ccm64_dec_outer: - xorps xmm6,xmm2 - movdqa xmm2,xmm7 - movups [edi],xmm6 - lea edi,[16+edi] -db 102,15,56,0,213 - sub eax,1 - jz NEAR L$034ccm64_dec_break - movups xmm0,[ebp] - mov ecx,ebx - movups xmm1,[16+ebp] - xorps xmm6,xmm0 - xorps xmm2,xmm0 - xorps xmm3,xmm6 - movups xmm0,[32+ebp] -L$035ccm64_dec2_loop: -db 102,15,56,220,209 -db 102,15,56,220,217 - movups xmm1,[ecx*1+edx] - add ecx,32 -db 102,15,56,220,208 -db 102,15,56,220,216 - movups xmm0,[ecx*1+edx-16] - jnz NEAR L$035ccm64_dec2_loop - movups xmm6,[esi] - paddq xmm7,[16+esp] -db 102,15,56,220,209 -db 102,15,56,220,217 -db 102,15,56,221,208 -db 102,15,56,221,216 - lea esi,[16+esi] - jmp NEAR L$033ccm64_dec_outer -align 16 -L$034ccm64_dec_break: - mov ecx,DWORD [240+ebp] - mov edx,ebp - movups xmm0,[edx] - movups xmm1,[16+edx] - xorps xmm6,xmm0 - lea edx,[32+edx] - xorps xmm3,xmm6 -L$036enc1_loop_6: -db 102,15,56,220,217 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$036enc1_loop_6 -db 102,15,56,221,217 - mov esp,DWORD [48+esp] - mov edi,DWORD [40+esp] - movups [edi],xmm3 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - pxor xmm6,xmm6 - pxor xmm7,xmm7 - pop edi - pop esi - pop ebx - pop ebp - ret -global _aesni_ctr32_encrypt_blocks -align 16 -_aesni_ctr32_encrypt_blocks: -L$_aesni_ctr32_encrypt_blocks_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov eax,DWORD [28+esp] - mov edx,DWORD [32+esp] - mov ebx,DWORD [36+esp] - mov ebp,esp - sub esp,88 - and esp,-16 - mov DWORD [80+esp],ebp - cmp eax,1 - je NEAR L$037ctr32_one_shortcut - movdqu xmm7,[ebx] - mov DWORD [esp],202182159 - mov DWORD [4+esp],134810123 - mov DWORD [8+esp],67438087 - mov DWORD [12+esp],66051 - mov ecx,6 - xor ebp,ebp - mov DWORD [16+esp],ecx - mov DWORD [20+esp],ecx - mov DWORD [24+esp],ecx - mov DWORD [28+esp],ebp -db 102,15,58,22,251,3 -db 102,15,58,34,253,3 - mov ecx,DWORD [240+edx] - bswap ebx - pxor xmm0,xmm0 - pxor xmm1,xmm1 - movdqa xmm2,[esp] -db 102,15,58,34,195,0 - lea ebp,[3+ebx] -db 102,15,58,34,205,0 - inc ebx -db 102,15,58,34,195,1 - inc ebp -db 102,15,58,34,205,1 - inc ebx -db 102,15,58,34,195,2 - inc ebp -db 102,15,58,34,205,2 - movdqa [48+esp],xmm0 -db 102,15,56,0,194 - movdqu xmm6,[edx] - movdqa [64+esp],xmm1 -db 102,15,56,0,202 - pshufd xmm2,xmm0,192 - pshufd xmm3,xmm0,128 - cmp eax,6 - jb NEAR L$038ctr32_tail - pxor xmm7,xmm6 - shl ecx,4 - mov ebx,16 - movdqa [32+esp],xmm7 - mov ebp,edx - sub ebx,ecx - lea edx,[32+ecx*1+edx] - sub eax,6 - jmp NEAR L$039ctr32_loop6 -align 16 -L$039ctr32_loop6: - pshufd xmm4,xmm0,64 - movdqa xmm0,[32+esp] - pshufd xmm5,xmm1,192 - pxor xmm2,xmm0 - pshufd xmm6,xmm1,128 - pxor xmm3,xmm0 - pshufd xmm7,xmm1,64 - movups xmm1,[16+ebp] - pxor xmm4,xmm0 - pxor xmm5,xmm0 -db 102,15,56,220,209 - pxor xmm6,xmm0 - pxor xmm7,xmm0 -db 102,15,56,220,217 - movups xmm0,[32+ebp] - mov ecx,ebx -db 102,15,56,220,225 -db 102,15,56,220,233 -db 102,15,56,220,241 -db 102,15,56,220,249 - call L$_aesni_encrypt6_enter - movups xmm1,[esi] - movups xmm0,[16+esi] - xorps xmm2,xmm1 - movups xmm1,[32+esi] - xorps xmm3,xmm0 - movups [edi],xmm2 - movdqa xmm0,[16+esp] - xorps xmm4,xmm1 - movdqa xmm1,[64+esp] - movups [16+edi],xmm3 - movups [32+edi],xmm4 - paddd xmm1,xmm0 - paddd xmm0,[48+esp] - movdqa xmm2,[esp] - movups xmm3,[48+esi] - movups xmm4,[64+esi] - xorps xmm5,xmm3 - movups xmm3,[80+esi] - lea esi,[96+esi] - movdqa [48+esp],xmm0 -db 102,15,56,0,194 - xorps xmm6,xmm4 - movups [48+edi],xmm5 - xorps xmm7,xmm3 - movdqa [64+esp],xmm1 -db 102,15,56,0,202 - movups [64+edi],xmm6 - pshufd xmm2,xmm0,192 - movups [80+edi],xmm7 - lea edi,[96+edi] - pshufd xmm3,xmm0,128 - sub eax,6 - jnc NEAR L$039ctr32_loop6 - add eax,6 - jz NEAR L$040ctr32_ret - movdqu xmm7,[ebp] - mov edx,ebp - pxor xmm7,[32+esp] - mov ecx,DWORD [240+ebp] -L$038ctr32_tail: - por xmm2,xmm7 - cmp eax,2 - jb NEAR L$041ctr32_one - pshufd xmm4,xmm0,64 - por xmm3,xmm7 - je NEAR L$042ctr32_two - pshufd xmm5,xmm1,192 - por xmm4,xmm7 - cmp eax,4 - jb NEAR L$043ctr32_three - pshufd xmm6,xmm1,128 - por xmm5,xmm7 - je NEAR L$044ctr32_four - por xmm6,xmm7 - call __aesni_encrypt6 - movups xmm1,[esi] - movups xmm0,[16+esi] - xorps xmm2,xmm1 - movups xmm1,[32+esi] - xorps xmm3,xmm0 - movups xmm0,[48+esi] - xorps xmm4,xmm1 - movups xmm1,[64+esi] - xorps xmm5,xmm0 - movups [edi],xmm2 - xorps xmm6,xmm1 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - movups [48+edi],xmm5 - movups [64+edi],xmm6 - jmp NEAR L$040ctr32_ret -align 16 -L$037ctr32_one_shortcut: - movups xmm2,[ebx] - mov ecx,DWORD [240+edx] -L$041ctr32_one: - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$045enc1_loop_7: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$045enc1_loop_7 -db 102,15,56,221,209 - movups xmm6,[esi] - xorps xmm6,xmm2 - movups [edi],xmm6 - jmp NEAR L$040ctr32_ret -align 16 -L$042ctr32_two: - call __aesni_encrypt2 - movups xmm5,[esi] - movups xmm6,[16+esi] - xorps xmm2,xmm5 - xorps xmm3,xmm6 - movups [edi],xmm2 - movups [16+edi],xmm3 - jmp NEAR L$040ctr32_ret -align 16 -L$043ctr32_three: - call __aesni_encrypt3 - movups xmm5,[esi] - movups xmm6,[16+esi] - xorps xmm2,xmm5 - movups xmm7,[32+esi] - xorps xmm3,xmm6 - movups [edi],xmm2 - xorps xmm4,xmm7 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - jmp NEAR L$040ctr32_ret -align 16 -L$044ctr32_four: - call __aesni_encrypt4 - movups xmm6,[esi] - movups xmm7,[16+esi] - movups xmm1,[32+esi] - xorps xmm2,xmm6 - movups xmm0,[48+esi] - xorps xmm3,xmm7 - movups [edi],xmm2 - xorps xmm4,xmm1 - movups [16+edi],xmm3 - xorps xmm5,xmm0 - movups [32+edi],xmm4 - movups [48+edi],xmm5 -L$040ctr32_ret: - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - movdqa [32+esp],xmm0 - pxor xmm5,xmm5 - movdqa [48+esp],xmm0 - pxor xmm6,xmm6 - movdqa [64+esp],xmm0 - pxor xmm7,xmm7 - mov esp,DWORD [80+esp] - pop edi - pop esi - pop ebx - pop ebp - ret -global _aesni_xts_encrypt -align 16 -_aesni_xts_encrypt: -L$_aesni_xts_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov edx,DWORD [36+esp] - mov esi,DWORD [40+esp] - mov ecx,DWORD [240+edx] - movups xmm2,[esi] - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$046enc1_loop_8: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$046enc1_loop_8 -db 102,15,56,221,209 - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov eax,DWORD [28+esp] - mov edx,DWORD [32+esp] - mov ebp,esp - sub esp,120 - mov ecx,DWORD [240+edx] - and esp,-16 - mov DWORD [96+esp],135 - mov DWORD [100+esp],0 - mov DWORD [104+esp],1 - mov DWORD [108+esp],0 - mov DWORD [112+esp],eax - mov DWORD [116+esp],ebp - movdqa xmm1,xmm2 - pxor xmm0,xmm0 - movdqa xmm3,[96+esp] - pcmpgtd xmm0,xmm1 - and eax,-16 - mov ebp,edx - mov ebx,ecx - sub eax,96 - jc NEAR L$047xts_enc_short - shl ecx,4 - mov ebx,16 - sub ebx,ecx - lea edx,[32+ecx*1+edx] - jmp NEAR L$048xts_enc_loop6 -align 16 -L$048xts_enc_loop6: - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa [esp],xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa [16+esp],xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa [32+esp],xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa [48+esp],xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - pshufd xmm7,xmm0,19 - movdqa [64+esp],xmm1 - paddq xmm1,xmm1 - movups xmm0,[ebp] - pand xmm7,xmm3 - movups xmm2,[esi] - pxor xmm7,xmm1 - mov ecx,ebx - movdqu xmm3,[16+esi] - xorps xmm2,xmm0 - movdqu xmm4,[32+esi] - pxor xmm3,xmm0 - movdqu xmm5,[48+esi] - pxor xmm4,xmm0 - movdqu xmm6,[64+esi] - pxor xmm5,xmm0 - movdqu xmm1,[80+esi] - pxor xmm6,xmm0 - lea esi,[96+esi] - pxor xmm2,[esp] - movdqa [80+esp],xmm7 - pxor xmm7,xmm1 - movups xmm1,[16+ebp] - pxor xmm3,[16+esp] - pxor xmm4,[32+esp] -db 102,15,56,220,209 - pxor xmm5,[48+esp] - pxor xmm6,[64+esp] -db 102,15,56,220,217 - pxor xmm7,xmm0 - movups xmm0,[32+ebp] -db 102,15,56,220,225 -db 102,15,56,220,233 -db 102,15,56,220,241 -db 102,15,56,220,249 - call L$_aesni_encrypt6_enter - movdqa xmm1,[80+esp] - pxor xmm0,xmm0 - xorps xmm2,[esp] - pcmpgtd xmm0,xmm1 - xorps xmm3,[16+esp] - movups [edi],xmm2 - xorps xmm4,[32+esp] - movups [16+edi],xmm3 - xorps xmm5,[48+esp] - movups [32+edi],xmm4 - xorps xmm6,[64+esp] - movups [48+edi],xmm5 - xorps xmm7,xmm1 - movups [64+edi],xmm6 - pshufd xmm2,xmm0,19 - movups [80+edi],xmm7 - lea edi,[96+edi] - movdqa xmm3,[96+esp] - pxor xmm0,xmm0 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - sub eax,96 - jnc NEAR L$048xts_enc_loop6 - mov ecx,DWORD [240+ebp] - mov edx,ebp - mov ebx,ecx -L$047xts_enc_short: - add eax,96 - jz NEAR L$049xts_enc_done6x - movdqa xmm5,xmm1 - cmp eax,32 - jb NEAR L$050xts_enc_one - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - je NEAR L$051xts_enc_two - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa xmm6,xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - cmp eax,64 - jb NEAR L$052xts_enc_three - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa xmm7,xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - movdqa [esp],xmm5 - movdqa [16+esp],xmm6 - je NEAR L$053xts_enc_four - movdqa [32+esp],xmm7 - pshufd xmm7,xmm0,19 - movdqa [48+esp],xmm1 - paddq xmm1,xmm1 - pand xmm7,xmm3 - pxor xmm7,xmm1 - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - movdqu xmm4,[32+esi] - pxor xmm2,[esp] - movdqu xmm5,[48+esi] - pxor xmm3,[16+esp] - movdqu xmm6,[64+esi] - pxor xmm4,[32+esp] - lea esi,[80+esi] - pxor xmm5,[48+esp] - movdqa [64+esp],xmm7 - pxor xmm6,xmm7 - call __aesni_encrypt6 - movaps xmm1,[64+esp] - xorps xmm2,[esp] - xorps xmm3,[16+esp] - xorps xmm4,[32+esp] - movups [edi],xmm2 - xorps xmm5,[48+esp] - movups [16+edi],xmm3 - xorps xmm6,xmm1 - movups [32+edi],xmm4 - movups [48+edi],xmm5 - movups [64+edi],xmm6 - lea edi,[80+edi] - jmp NEAR L$054xts_enc_done -align 16 -L$050xts_enc_one: - movups xmm2,[esi] - lea esi,[16+esi] - xorps xmm2,xmm5 - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$055enc1_loop_9: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$055enc1_loop_9 -db 102,15,56,221,209 - xorps xmm2,xmm5 - movups [edi],xmm2 - lea edi,[16+edi] - movdqa xmm1,xmm5 - jmp NEAR L$054xts_enc_done -align 16 -L$051xts_enc_two: - movaps xmm6,xmm1 - movups xmm2,[esi] - movups xmm3,[16+esi] - lea esi,[32+esi] - xorps xmm2,xmm5 - xorps xmm3,xmm6 - call __aesni_encrypt2 - xorps xmm2,xmm5 - xorps xmm3,xmm6 - movups [edi],xmm2 - movups [16+edi],xmm3 - lea edi,[32+edi] - movdqa xmm1,xmm6 - jmp NEAR L$054xts_enc_done -align 16 -L$052xts_enc_three: - movaps xmm7,xmm1 - movups xmm2,[esi] - movups xmm3,[16+esi] - movups xmm4,[32+esi] - lea esi,[48+esi] - xorps xmm2,xmm5 - xorps xmm3,xmm6 - xorps xmm4,xmm7 - call __aesni_encrypt3 - xorps xmm2,xmm5 - xorps xmm3,xmm6 - xorps xmm4,xmm7 - movups [edi],xmm2 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - lea edi,[48+edi] - movdqa xmm1,xmm7 - jmp NEAR L$054xts_enc_done -align 16 -L$053xts_enc_four: - movaps xmm6,xmm1 - movups xmm2,[esi] - movups xmm3,[16+esi] - movups xmm4,[32+esi] - xorps xmm2,[esp] - movups xmm5,[48+esi] - lea esi,[64+esi] - xorps xmm3,[16+esp] - xorps xmm4,xmm7 - xorps xmm5,xmm6 - call __aesni_encrypt4 - xorps xmm2,[esp] - xorps xmm3,[16+esp] - xorps xmm4,xmm7 - movups [edi],xmm2 - xorps xmm5,xmm6 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - movups [48+edi],xmm5 - lea edi,[64+edi] - movdqa xmm1,xmm6 - jmp NEAR L$054xts_enc_done -align 16 -L$049xts_enc_done6x: - mov eax,DWORD [112+esp] - and eax,15 - jz NEAR L$056xts_enc_ret - movdqa xmm5,xmm1 - mov DWORD [112+esp],eax - jmp NEAR L$057xts_enc_steal -align 16 -L$054xts_enc_done: - mov eax,DWORD [112+esp] - pxor xmm0,xmm0 - and eax,15 - jz NEAR L$056xts_enc_ret - pcmpgtd xmm0,xmm1 - mov DWORD [112+esp],eax - pshufd xmm5,xmm0,19 - paddq xmm1,xmm1 - pand xmm5,[96+esp] - pxor xmm5,xmm1 -L$057xts_enc_steal: - movzx ecx,BYTE [esi] - movzx edx,BYTE [edi-16] - lea esi,[1+esi] - mov BYTE [edi-16],cl - mov BYTE [edi],dl - lea edi,[1+edi] - sub eax,1 - jnz NEAR L$057xts_enc_steal - sub edi,DWORD [112+esp] - mov edx,ebp - mov ecx,ebx - movups xmm2,[edi-16] - xorps xmm2,xmm5 - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$058enc1_loop_10: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$058enc1_loop_10 -db 102,15,56,221,209 - xorps xmm2,xmm5 - movups [edi-16],xmm2 -L$056xts_enc_ret: - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - movdqa [esp],xmm0 - pxor xmm3,xmm3 - movdqa [16+esp],xmm0 - pxor xmm4,xmm4 - movdqa [32+esp],xmm0 - pxor xmm5,xmm5 - movdqa [48+esp],xmm0 - pxor xmm6,xmm6 - movdqa [64+esp],xmm0 - pxor xmm7,xmm7 - movdqa [80+esp],xmm0 - mov esp,DWORD [116+esp] - pop edi - pop esi - pop ebx - pop ebp - ret -global _aesni_xts_decrypt -align 16 -_aesni_xts_decrypt: -L$_aesni_xts_decrypt_begin: - push ebp - push ebx - push esi - push edi - mov edx,DWORD [36+esp] - mov esi,DWORD [40+esp] - mov ecx,DWORD [240+edx] - movups xmm2,[esi] - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$059enc1_loop_11: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$059enc1_loop_11 -db 102,15,56,221,209 - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov eax,DWORD [28+esp] - mov edx,DWORD [32+esp] - mov ebp,esp - sub esp,120 - and esp,-16 - xor ebx,ebx - test eax,15 - setnz bl - shl ebx,4 - sub eax,ebx - mov DWORD [96+esp],135 - mov DWORD [100+esp],0 - mov DWORD [104+esp],1 - mov DWORD [108+esp],0 - mov DWORD [112+esp],eax - mov DWORD [116+esp],ebp - mov ecx,DWORD [240+edx] - mov ebp,edx - mov ebx,ecx - movdqa xmm1,xmm2 - pxor xmm0,xmm0 - movdqa xmm3,[96+esp] - pcmpgtd xmm0,xmm1 - and eax,-16 - sub eax,96 - jc NEAR L$060xts_dec_short - shl ecx,4 - mov ebx,16 - sub ebx,ecx - lea edx,[32+ecx*1+edx] - jmp NEAR L$061xts_dec_loop6 -align 16 -L$061xts_dec_loop6: - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa [esp],xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa [16+esp],xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa [32+esp],xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa [48+esp],xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - pshufd xmm7,xmm0,19 - movdqa [64+esp],xmm1 - paddq xmm1,xmm1 - movups xmm0,[ebp] - pand xmm7,xmm3 - movups xmm2,[esi] - pxor xmm7,xmm1 - mov ecx,ebx - movdqu xmm3,[16+esi] - xorps xmm2,xmm0 - movdqu xmm4,[32+esi] - pxor xmm3,xmm0 - movdqu xmm5,[48+esi] - pxor xmm4,xmm0 - movdqu xmm6,[64+esi] - pxor xmm5,xmm0 - movdqu xmm1,[80+esi] - pxor xmm6,xmm0 - lea esi,[96+esi] - pxor xmm2,[esp] - movdqa [80+esp],xmm7 - pxor xmm7,xmm1 - movups xmm1,[16+ebp] - pxor xmm3,[16+esp] - pxor xmm4,[32+esp] -db 102,15,56,222,209 - pxor xmm5,[48+esp] - pxor xmm6,[64+esp] -db 102,15,56,222,217 - pxor xmm7,xmm0 - movups xmm0,[32+ebp] -db 102,15,56,222,225 -db 102,15,56,222,233 -db 102,15,56,222,241 -db 102,15,56,222,249 - call L$_aesni_decrypt6_enter - movdqa xmm1,[80+esp] - pxor xmm0,xmm0 - xorps xmm2,[esp] - pcmpgtd xmm0,xmm1 - xorps xmm3,[16+esp] - movups [edi],xmm2 - xorps xmm4,[32+esp] - movups [16+edi],xmm3 - xorps xmm5,[48+esp] - movups [32+edi],xmm4 - xorps xmm6,[64+esp] - movups [48+edi],xmm5 - xorps xmm7,xmm1 - movups [64+edi],xmm6 - pshufd xmm2,xmm0,19 - movups [80+edi],xmm7 - lea edi,[96+edi] - movdqa xmm3,[96+esp] - pxor xmm0,xmm0 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - sub eax,96 - jnc NEAR L$061xts_dec_loop6 - mov ecx,DWORD [240+ebp] - mov edx,ebp - mov ebx,ecx -L$060xts_dec_short: - add eax,96 - jz NEAR L$062xts_dec_done6x - movdqa xmm5,xmm1 - cmp eax,32 - jb NEAR L$063xts_dec_one - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - je NEAR L$064xts_dec_two - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa xmm6,xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - cmp eax,64 - jb NEAR L$065xts_dec_three - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa xmm7,xmm1 - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 - movdqa [esp],xmm5 - movdqa [16+esp],xmm6 - je NEAR L$066xts_dec_four - movdqa [32+esp],xmm7 - pshufd xmm7,xmm0,19 - movdqa [48+esp],xmm1 - paddq xmm1,xmm1 - pand xmm7,xmm3 - pxor xmm7,xmm1 - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - movdqu xmm4,[32+esi] - pxor xmm2,[esp] - movdqu xmm5,[48+esi] - pxor xmm3,[16+esp] - movdqu xmm6,[64+esi] - pxor xmm4,[32+esp] - lea esi,[80+esi] - pxor xmm5,[48+esp] - movdqa [64+esp],xmm7 - pxor xmm6,xmm7 - call __aesni_decrypt6 - movaps xmm1,[64+esp] - xorps xmm2,[esp] - xorps xmm3,[16+esp] - xorps xmm4,[32+esp] - movups [edi],xmm2 - xorps xmm5,[48+esp] - movups [16+edi],xmm3 - xorps xmm6,xmm1 - movups [32+edi],xmm4 - movups [48+edi],xmm5 - movups [64+edi],xmm6 - lea edi,[80+edi] - jmp NEAR L$067xts_dec_done -align 16 -L$063xts_dec_one: - movups xmm2,[esi] - lea esi,[16+esi] - xorps xmm2,xmm5 - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$068dec1_loop_12: -db 102,15,56,222,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$068dec1_loop_12 -db 102,15,56,223,209 - xorps xmm2,xmm5 - movups [edi],xmm2 - lea edi,[16+edi] - movdqa xmm1,xmm5 - jmp NEAR L$067xts_dec_done -align 16 -L$064xts_dec_two: - movaps xmm6,xmm1 - movups xmm2,[esi] - movups xmm3,[16+esi] - lea esi,[32+esi] - xorps xmm2,xmm5 - xorps xmm3,xmm6 - call __aesni_decrypt2 - xorps xmm2,xmm5 - xorps xmm3,xmm6 - movups [edi],xmm2 - movups [16+edi],xmm3 - lea edi,[32+edi] - movdqa xmm1,xmm6 - jmp NEAR L$067xts_dec_done -align 16 -L$065xts_dec_three: - movaps xmm7,xmm1 - movups xmm2,[esi] - movups xmm3,[16+esi] - movups xmm4,[32+esi] - lea esi,[48+esi] - xorps xmm2,xmm5 - xorps xmm3,xmm6 - xorps xmm4,xmm7 - call __aesni_decrypt3 - xorps xmm2,xmm5 - xorps xmm3,xmm6 - xorps xmm4,xmm7 - movups [edi],xmm2 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - lea edi,[48+edi] - movdqa xmm1,xmm7 - jmp NEAR L$067xts_dec_done -align 16 -L$066xts_dec_four: - movaps xmm6,xmm1 - movups xmm2,[esi] - movups xmm3,[16+esi] - movups xmm4,[32+esi] - xorps xmm2,[esp] - movups xmm5,[48+esi] - lea esi,[64+esi] - xorps xmm3,[16+esp] - xorps xmm4,xmm7 - xorps xmm5,xmm6 - call __aesni_decrypt4 - xorps xmm2,[esp] - xorps xmm3,[16+esp] - xorps xmm4,xmm7 - movups [edi],xmm2 - xorps xmm5,xmm6 - movups [16+edi],xmm3 - movups [32+edi],xmm4 - movups [48+edi],xmm5 - lea edi,[64+edi] - movdqa xmm1,xmm6 - jmp NEAR L$067xts_dec_done -align 16 -L$062xts_dec_done6x: - mov eax,DWORD [112+esp] - and eax,15 - jz NEAR L$069xts_dec_ret - mov DWORD [112+esp],eax - jmp NEAR L$070xts_dec_only_one_more -align 16 -L$067xts_dec_done: - mov eax,DWORD [112+esp] - pxor xmm0,xmm0 - and eax,15 - jz NEAR L$069xts_dec_ret - pcmpgtd xmm0,xmm1 - mov DWORD [112+esp],eax - pshufd xmm2,xmm0,19 - pxor xmm0,xmm0 - movdqa xmm3,[96+esp] - paddq xmm1,xmm1 - pand xmm2,xmm3 - pcmpgtd xmm0,xmm1 - pxor xmm1,xmm2 -L$070xts_dec_only_one_more: - pshufd xmm5,xmm0,19 - movdqa xmm6,xmm1 - paddq xmm1,xmm1 - pand xmm5,xmm3 - pxor xmm5,xmm1 - mov edx,ebp - mov ecx,ebx - movups xmm2,[esi] - xorps xmm2,xmm5 - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$071dec1_loop_13: -db 102,15,56,222,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$071dec1_loop_13 -db 102,15,56,223,209 - xorps xmm2,xmm5 - movups [edi],xmm2 -L$072xts_dec_steal: - movzx ecx,BYTE [16+esi] - movzx edx,BYTE [edi] - lea esi,[1+esi] - mov BYTE [edi],cl - mov BYTE [16+edi],dl - lea edi,[1+edi] - sub eax,1 - jnz NEAR L$072xts_dec_steal - sub edi,DWORD [112+esp] - mov edx,ebp - mov ecx,ebx - movups xmm2,[edi] - xorps xmm2,xmm6 - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$073dec1_loop_14: -db 102,15,56,222,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$073dec1_loop_14 -db 102,15,56,223,209 - xorps xmm2,xmm6 - movups [edi],xmm2 -L$069xts_dec_ret: - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - movdqa [esp],xmm0 - pxor xmm3,xmm3 - movdqa [16+esp],xmm0 - pxor xmm4,xmm4 - movdqa [32+esp],xmm0 - pxor xmm5,xmm5 - movdqa [48+esp],xmm0 - pxor xmm6,xmm6 - movdqa [64+esp],xmm0 - pxor xmm7,xmm7 - movdqa [80+esp],xmm0 - mov esp,DWORD [116+esp] - pop edi - pop esi - pop ebx - pop ebp - ret -global _aesni_ocb_encrypt -align 16 -_aesni_ocb_encrypt: -L$_aesni_ocb_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov ecx,DWORD [40+esp] - mov ebx,DWORD [48+esp] - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov eax,DWORD [28+esp] - mov edx,DWORD [32+esp] - movdqu xmm0,[ecx] - mov ebp,DWORD [36+esp] - movdqu xmm1,[ebx] - mov ebx,DWORD [44+esp] - mov ecx,esp - sub esp,132 - and esp,-16 - sub edi,esi - shl eax,4 - lea eax,[eax*1+esi-96] - mov DWORD [120+esp],edi - mov DWORD [124+esp],eax - mov DWORD [128+esp],ecx - mov ecx,DWORD [240+edx] - test ebp,1 - jnz NEAR L$074odd - bsf eax,ebp - add ebp,1 - shl eax,4 - movdqu xmm7,[eax*1+ebx] - mov eax,edx - movdqu xmm2,[esi] - lea esi,[16+esi] - pxor xmm7,xmm0 - pxor xmm1,xmm2 - pxor xmm2,xmm7 - movdqa xmm6,xmm1 - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$075enc1_loop_15: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$075enc1_loop_15 -db 102,15,56,221,209 - xorps xmm2,xmm7 - movdqa xmm0,xmm7 - movdqa xmm1,xmm6 - movups [esi*1+edi-16],xmm2 - mov ecx,DWORD [240+eax] - mov edx,eax - mov eax,DWORD [124+esp] -L$074odd: - shl ecx,4 - mov edi,16 - sub edi,ecx - mov DWORD [112+esp],edx - lea edx,[32+ecx*1+edx] - mov DWORD [116+esp],edi - cmp esi,eax - ja NEAR L$076short - jmp NEAR L$077grandloop -align 32 -L$077grandloop: - lea ecx,[1+ebp] - lea eax,[3+ebp] - lea edi,[5+ebp] - add ebp,6 - bsf ecx,ecx - bsf eax,eax - bsf edi,edi - shl ecx,4 - shl eax,4 - shl edi,4 - movdqu xmm2,[ebx] - movdqu xmm3,[ecx*1+ebx] - mov ecx,DWORD [116+esp] - movdqa xmm4,xmm2 - movdqu xmm5,[eax*1+ebx] - movdqa xmm6,xmm2 - movdqu xmm7,[edi*1+ebx] - pxor xmm2,xmm0 - pxor xmm3,xmm2 - movdqa [esp],xmm2 - pxor xmm4,xmm3 - movdqa [16+esp],xmm3 - pxor xmm5,xmm4 - movdqa [32+esp],xmm4 - pxor xmm6,xmm5 - movdqa [48+esp],xmm5 - pxor xmm7,xmm6 - movdqa [64+esp],xmm6 - movdqa [80+esp],xmm7 - movups xmm0,[ecx*1+edx-48] - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - movdqu xmm4,[32+esi] - movdqu xmm5,[48+esi] - movdqu xmm6,[64+esi] - movdqu xmm7,[80+esi] - lea esi,[96+esi] - pxor xmm1,xmm2 - pxor xmm2,xmm0 - pxor xmm1,xmm3 - pxor xmm3,xmm0 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - pxor xmm1,xmm5 - pxor xmm5,xmm0 - pxor xmm1,xmm6 - pxor xmm6,xmm0 - pxor xmm1,xmm7 - pxor xmm7,xmm0 - movdqa [96+esp],xmm1 - movups xmm1,[ecx*1+edx-32] - pxor xmm2,[esp] - pxor xmm3,[16+esp] - pxor xmm4,[32+esp] - pxor xmm5,[48+esp] - pxor xmm6,[64+esp] - pxor xmm7,[80+esp] - movups xmm0,[ecx*1+edx-16] -db 102,15,56,220,209 -db 102,15,56,220,217 -db 102,15,56,220,225 -db 102,15,56,220,233 -db 102,15,56,220,241 -db 102,15,56,220,249 - mov edi,DWORD [120+esp] - mov eax,DWORD [124+esp] - call L$_aesni_encrypt6_enter - movdqa xmm0,[80+esp] - pxor xmm2,[esp] - pxor xmm3,[16+esp] - pxor xmm4,[32+esp] - pxor xmm5,[48+esp] - pxor xmm6,[64+esp] - pxor xmm7,xmm0 - movdqa xmm1,[96+esp] - movdqu [esi*1+edi-96],xmm2 - movdqu [esi*1+edi-80],xmm3 - movdqu [esi*1+edi-64],xmm4 - movdqu [esi*1+edi-48],xmm5 - movdqu [esi*1+edi-32],xmm6 - movdqu [esi*1+edi-16],xmm7 - cmp esi,eax - jb NEAR L$077grandloop -L$076short: - add eax,96 - sub eax,esi - jz NEAR L$078done - cmp eax,32 - jb NEAR L$079one - je NEAR L$080two - cmp eax,64 - jb NEAR L$081three - je NEAR L$082four - lea ecx,[1+ebp] - lea eax,[3+ebp] - bsf ecx,ecx - bsf eax,eax - shl ecx,4 - shl eax,4 - movdqu xmm2,[ebx] - movdqu xmm3,[ecx*1+ebx] - mov ecx,DWORD [116+esp] - movdqa xmm4,xmm2 - movdqu xmm5,[eax*1+ebx] - movdqa xmm6,xmm2 - pxor xmm2,xmm0 - pxor xmm3,xmm2 - movdqa [esp],xmm2 - pxor xmm4,xmm3 - movdqa [16+esp],xmm3 - pxor xmm5,xmm4 - movdqa [32+esp],xmm4 - pxor xmm6,xmm5 - movdqa [48+esp],xmm5 - pxor xmm7,xmm6 - movdqa [64+esp],xmm6 - movups xmm0,[ecx*1+edx-48] - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - movdqu xmm4,[32+esi] - movdqu xmm5,[48+esi] - movdqu xmm6,[64+esi] - pxor xmm7,xmm7 - pxor xmm1,xmm2 - pxor xmm2,xmm0 - pxor xmm1,xmm3 - pxor xmm3,xmm0 - pxor xmm1,xmm4 - pxor xmm4,xmm0 - pxor xmm1,xmm5 - pxor xmm5,xmm0 - pxor xmm1,xmm6 - pxor xmm6,xmm0 - movdqa [96+esp],xmm1 - movups xmm1,[ecx*1+edx-32] - pxor xmm2,[esp] - pxor xmm3,[16+esp] - pxor xmm4,[32+esp] - pxor xmm5,[48+esp] - pxor xmm6,[64+esp] - movups xmm0,[ecx*1+edx-16] -db 102,15,56,220,209 -db 102,15,56,220,217 -db 102,15,56,220,225 -db 102,15,56,220,233 -db 102,15,56,220,241 -db 102,15,56,220,249 - mov edi,DWORD [120+esp] - call L$_aesni_encrypt6_enter - movdqa xmm0,[64+esp] - pxor xmm2,[esp] - pxor xmm3,[16+esp] - pxor xmm4,[32+esp] - pxor xmm5,[48+esp] - pxor xmm6,xmm0 - movdqa xmm1,[96+esp] - movdqu [esi*1+edi],xmm2 - movdqu [16+esi*1+edi],xmm3 - movdqu [32+esi*1+edi],xmm4 - movdqu [48+esi*1+edi],xmm5 - movdqu [64+esi*1+edi],xmm6 - jmp NEAR L$078done -align 16 -L$079one: - movdqu xmm7,[ebx] - mov edx,DWORD [112+esp] - movdqu xmm2,[esi] - mov ecx,DWORD [240+edx] - pxor xmm7,xmm0 - pxor xmm1,xmm2 - pxor xmm2,xmm7 - movdqa xmm6,xmm1 - mov edi,DWORD [120+esp] - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$083enc1_loop_16: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$083enc1_loop_16 -db 102,15,56,221,209 - xorps xmm2,xmm7 - movdqa xmm0,xmm7 - movdqa xmm1,xmm6 - movups [esi*1+edi],xmm2 - jmp NEAR L$078done -align 16 -L$080two: - lea ecx,[1+ebp] - mov edx,DWORD [112+esp] - bsf ecx,ecx - shl ecx,4 - movdqu xmm6,[ebx] - movdqu xmm7,[ecx*1+ebx] - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - mov ecx,DWORD [240+edx] - pxor xmm6,xmm0 - pxor xmm7,xmm6 - pxor xmm1,xmm2 - pxor xmm2,xmm6 - pxor xmm1,xmm3 - pxor xmm3,xmm7 - movdqa xmm5,xmm1 - mov edi,DWORD [120+esp] - call __aesni_encrypt2 - xorps xmm2,xmm6 - xorps xmm3,xmm7 - movdqa xmm0,xmm7 - movdqa xmm1,xmm5 - movups [esi*1+edi],xmm2 - movups [16+esi*1+edi],xmm3 - jmp NEAR L$078done -align 16 -L$081three: - lea ecx,[1+ebp] - mov edx,DWORD [112+esp] - bsf ecx,ecx - shl ecx,4 - movdqu xmm5,[ebx] - movdqu xmm6,[ecx*1+ebx] - movdqa xmm7,xmm5 - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - movdqu xmm4,[32+esi] - mov ecx,DWORD [240+edx] - pxor xmm5,xmm0 - pxor xmm6,xmm5 - pxor xmm7,xmm6 - pxor xmm1,xmm2 - pxor xmm2,xmm5 - pxor xmm1,xmm3 - pxor xmm3,xmm6 - pxor xmm1,xmm4 - pxor xmm4,xmm7 - movdqa [96+esp],xmm1 - mov edi,DWORD [120+esp] - call __aesni_encrypt3 - xorps xmm2,xmm5 - xorps xmm3,xmm6 - xorps xmm4,xmm7 - movdqa xmm0,xmm7 - movdqa xmm1,[96+esp] - movups [esi*1+edi],xmm2 - movups [16+esi*1+edi],xmm3 - movups [32+esi*1+edi],xmm4 - jmp NEAR L$078done -align 16 -L$082four: - lea ecx,[1+ebp] - lea eax,[3+ebp] - bsf ecx,ecx - bsf eax,eax - mov edx,DWORD [112+esp] - shl ecx,4 - shl eax,4 - movdqu xmm4,[ebx] - movdqu xmm5,[ecx*1+ebx] - movdqa xmm6,xmm4 - movdqu xmm7,[eax*1+ebx] - pxor xmm4,xmm0 - movdqu xmm2,[esi] - pxor xmm5,xmm4 - movdqu xmm3,[16+esi] - pxor xmm6,xmm5 - movdqa [esp],xmm4 - pxor xmm7,xmm6 - movdqa [16+esp],xmm5 - movdqu xmm4,[32+esi] - movdqu xmm5,[48+esi] - mov ecx,DWORD [240+edx] - pxor xmm1,xmm2 - pxor xmm2,[esp] - pxor xmm1,xmm3 - pxor xmm3,[16+esp] - pxor xmm1,xmm4 - pxor xmm4,xmm6 - pxor xmm1,xmm5 - pxor xmm5,xmm7 - movdqa [96+esp],xmm1 - mov edi,DWORD [120+esp] - call __aesni_encrypt4 - xorps xmm2,[esp] - xorps xmm3,[16+esp] - xorps xmm4,xmm6 - movups [esi*1+edi],xmm2 - xorps xmm5,xmm7 - movups [16+esi*1+edi],xmm3 - movdqa xmm0,xmm7 - movups [32+esi*1+edi],xmm4 - movdqa xmm1,[96+esp] - movups [48+esi*1+edi],xmm5 -L$078done: - mov edx,DWORD [128+esp] - pxor xmm2,xmm2 - pxor xmm3,xmm3 - movdqa [esp],xmm2 - pxor xmm4,xmm4 - movdqa [16+esp],xmm2 - pxor xmm5,xmm5 - movdqa [32+esp],xmm2 - pxor xmm6,xmm6 - movdqa [48+esp],xmm2 - pxor xmm7,xmm7 - movdqa [64+esp],xmm2 - movdqa [80+esp],xmm2 - movdqa [96+esp],xmm2 - lea esp,[edx] - mov ecx,DWORD [40+esp] - mov ebx,DWORD [48+esp] - movdqu [ecx],xmm0 - pxor xmm0,xmm0 - movdqu [ebx],xmm1 - pxor xmm1,xmm1 - pop edi - pop esi - pop ebx - pop ebp - ret -global _aesni_ocb_decrypt -align 16 -_aesni_ocb_decrypt: -L$_aesni_ocb_decrypt_begin: - push ebp - push ebx - push esi - push edi - mov ecx,DWORD [40+esp] - mov ebx,DWORD [48+esp] - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov eax,DWORD [28+esp] - mov edx,DWORD [32+esp] - movdqu xmm0,[ecx] - mov ebp,DWORD [36+esp] - movdqu xmm1,[ebx] - mov ebx,DWORD [44+esp] - mov ecx,esp - sub esp,132 - and esp,-16 - sub edi,esi - shl eax,4 - lea eax,[eax*1+esi-96] - mov DWORD [120+esp],edi - mov DWORD [124+esp],eax - mov DWORD [128+esp],ecx - mov ecx,DWORD [240+edx] - test ebp,1 - jnz NEAR L$084odd - bsf eax,ebp - add ebp,1 - shl eax,4 - movdqu xmm7,[eax*1+ebx] - mov eax,edx - movdqu xmm2,[esi] - lea esi,[16+esi] - pxor xmm7,xmm0 - pxor xmm2,xmm7 - movdqa xmm6,xmm1 - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$085dec1_loop_17: -db 102,15,56,222,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$085dec1_loop_17 -db 102,15,56,223,209 - xorps xmm2,xmm7 - movaps xmm1,xmm6 - movdqa xmm0,xmm7 - xorps xmm1,xmm2 - movups [esi*1+edi-16],xmm2 - mov ecx,DWORD [240+eax] - mov edx,eax - mov eax,DWORD [124+esp] -L$084odd: - shl ecx,4 - mov edi,16 - sub edi,ecx - mov DWORD [112+esp],edx - lea edx,[32+ecx*1+edx] - mov DWORD [116+esp],edi - cmp esi,eax - ja NEAR L$086short - jmp NEAR L$087grandloop -align 32 -L$087grandloop: - lea ecx,[1+ebp] - lea eax,[3+ebp] - lea edi,[5+ebp] - add ebp,6 - bsf ecx,ecx - bsf eax,eax - bsf edi,edi - shl ecx,4 - shl eax,4 - shl edi,4 - movdqu xmm2,[ebx] - movdqu xmm3,[ecx*1+ebx] - mov ecx,DWORD [116+esp] - movdqa xmm4,xmm2 - movdqu xmm5,[eax*1+ebx] - movdqa xmm6,xmm2 - movdqu xmm7,[edi*1+ebx] - pxor xmm2,xmm0 - pxor xmm3,xmm2 - movdqa [esp],xmm2 - pxor xmm4,xmm3 - movdqa [16+esp],xmm3 - pxor xmm5,xmm4 - movdqa [32+esp],xmm4 - pxor xmm6,xmm5 - movdqa [48+esp],xmm5 - pxor xmm7,xmm6 - movdqa [64+esp],xmm6 - movdqa [80+esp],xmm7 - movups xmm0,[ecx*1+edx-48] - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - movdqu xmm4,[32+esi] - movdqu xmm5,[48+esi] - movdqu xmm6,[64+esi] - movdqu xmm7,[80+esi] - lea esi,[96+esi] - movdqa [96+esp],xmm1 - pxor xmm2,xmm0 - pxor xmm3,xmm0 - pxor xmm4,xmm0 - pxor xmm5,xmm0 - pxor xmm6,xmm0 - pxor xmm7,xmm0 - movups xmm1,[ecx*1+edx-32] - pxor xmm2,[esp] - pxor xmm3,[16+esp] - pxor xmm4,[32+esp] - pxor xmm5,[48+esp] - pxor xmm6,[64+esp] - pxor xmm7,[80+esp] - movups xmm0,[ecx*1+edx-16] -db 102,15,56,222,209 -db 102,15,56,222,217 -db 102,15,56,222,225 -db 102,15,56,222,233 -db 102,15,56,222,241 -db 102,15,56,222,249 - mov edi,DWORD [120+esp] - mov eax,DWORD [124+esp] - call L$_aesni_decrypt6_enter - movdqa xmm0,[80+esp] - pxor xmm2,[esp] - movdqa xmm1,[96+esp] - pxor xmm3,[16+esp] - pxor xmm4,[32+esp] - pxor xmm5,[48+esp] - pxor xmm6,[64+esp] - pxor xmm7,xmm0 - pxor xmm1,xmm2 - movdqu [esi*1+edi-96],xmm2 - pxor xmm1,xmm3 - movdqu [esi*1+edi-80],xmm3 - pxor xmm1,xmm4 - movdqu [esi*1+edi-64],xmm4 - pxor xmm1,xmm5 - movdqu [esi*1+edi-48],xmm5 - pxor xmm1,xmm6 - movdqu [esi*1+edi-32],xmm6 - pxor xmm1,xmm7 - movdqu [esi*1+edi-16],xmm7 - cmp esi,eax - jb NEAR L$087grandloop -L$086short: - add eax,96 - sub eax,esi - jz NEAR L$088done - cmp eax,32 - jb NEAR L$089one - je NEAR L$090two - cmp eax,64 - jb NEAR L$091three - je NEAR L$092four - lea ecx,[1+ebp] - lea eax,[3+ebp] - bsf ecx,ecx - bsf eax,eax - shl ecx,4 - shl eax,4 - movdqu xmm2,[ebx] - movdqu xmm3,[ecx*1+ebx] - mov ecx,DWORD [116+esp] - movdqa xmm4,xmm2 - movdqu xmm5,[eax*1+ebx] - movdqa xmm6,xmm2 - pxor xmm2,xmm0 - pxor xmm3,xmm2 - movdqa [esp],xmm2 - pxor xmm4,xmm3 - movdqa [16+esp],xmm3 - pxor xmm5,xmm4 - movdqa [32+esp],xmm4 - pxor xmm6,xmm5 - movdqa [48+esp],xmm5 - pxor xmm7,xmm6 - movdqa [64+esp],xmm6 - movups xmm0,[ecx*1+edx-48] - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - movdqu xmm4,[32+esi] - movdqu xmm5,[48+esi] - movdqu xmm6,[64+esi] - pxor xmm7,xmm7 - movdqa [96+esp],xmm1 - pxor xmm2,xmm0 - pxor xmm3,xmm0 - pxor xmm4,xmm0 - pxor xmm5,xmm0 - pxor xmm6,xmm0 - movups xmm1,[ecx*1+edx-32] - pxor xmm2,[esp] - pxor xmm3,[16+esp] - pxor xmm4,[32+esp] - pxor xmm5,[48+esp] - pxor xmm6,[64+esp] - movups xmm0,[ecx*1+edx-16] -db 102,15,56,222,209 -db 102,15,56,222,217 -db 102,15,56,222,225 -db 102,15,56,222,233 -db 102,15,56,222,241 -db 102,15,56,222,249 - mov edi,DWORD [120+esp] - call L$_aesni_decrypt6_enter - movdqa xmm0,[64+esp] - pxor xmm2,[esp] - movdqa xmm1,[96+esp] - pxor xmm3,[16+esp] - pxor xmm4,[32+esp] - pxor xmm5,[48+esp] - pxor xmm6,xmm0 - pxor xmm1,xmm2 - movdqu [esi*1+edi],xmm2 - pxor xmm1,xmm3 - movdqu [16+esi*1+edi],xmm3 - pxor xmm1,xmm4 - movdqu [32+esi*1+edi],xmm4 - pxor xmm1,xmm5 - movdqu [48+esi*1+edi],xmm5 - pxor xmm1,xmm6 - movdqu [64+esi*1+edi],xmm6 - jmp NEAR L$088done -align 16 -L$089one: - movdqu xmm7,[ebx] - mov edx,DWORD [112+esp] - movdqu xmm2,[esi] - mov ecx,DWORD [240+edx] - pxor xmm7,xmm0 - pxor xmm2,xmm7 - movdqa xmm6,xmm1 - mov edi,DWORD [120+esp] - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$093dec1_loop_18: -db 102,15,56,222,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$093dec1_loop_18 -db 102,15,56,223,209 - xorps xmm2,xmm7 - movaps xmm1,xmm6 - movdqa xmm0,xmm7 - xorps xmm1,xmm2 - movups [esi*1+edi],xmm2 - jmp NEAR L$088done -align 16 -L$090two: - lea ecx,[1+ebp] - mov edx,DWORD [112+esp] - bsf ecx,ecx - shl ecx,4 - movdqu xmm6,[ebx] - movdqu xmm7,[ecx*1+ebx] - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - mov ecx,DWORD [240+edx] - movdqa xmm5,xmm1 - pxor xmm6,xmm0 - pxor xmm7,xmm6 - pxor xmm2,xmm6 - pxor xmm3,xmm7 - mov edi,DWORD [120+esp] - call __aesni_decrypt2 - xorps xmm2,xmm6 - xorps xmm3,xmm7 - movdqa xmm0,xmm7 - xorps xmm5,xmm2 - movups [esi*1+edi],xmm2 - xorps xmm5,xmm3 - movups [16+esi*1+edi],xmm3 - movaps xmm1,xmm5 - jmp NEAR L$088done -align 16 -L$091three: - lea ecx,[1+ebp] - mov edx,DWORD [112+esp] - bsf ecx,ecx - shl ecx,4 - movdqu xmm5,[ebx] - movdqu xmm6,[ecx*1+ebx] - movdqa xmm7,xmm5 - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - movdqu xmm4,[32+esi] - mov ecx,DWORD [240+edx] - movdqa [96+esp],xmm1 - pxor xmm5,xmm0 - pxor xmm6,xmm5 - pxor xmm7,xmm6 - pxor xmm2,xmm5 - pxor xmm3,xmm6 - pxor xmm4,xmm7 - mov edi,DWORD [120+esp] - call __aesni_decrypt3 - movdqa xmm1,[96+esp] - xorps xmm2,xmm5 - xorps xmm3,xmm6 - xorps xmm4,xmm7 - movups [esi*1+edi],xmm2 - pxor xmm1,xmm2 - movdqa xmm0,xmm7 - movups [16+esi*1+edi],xmm3 - pxor xmm1,xmm3 - movups [32+esi*1+edi],xmm4 - pxor xmm1,xmm4 - jmp NEAR L$088done -align 16 -L$092four: - lea ecx,[1+ebp] - lea eax,[3+ebp] - bsf ecx,ecx - bsf eax,eax - mov edx,DWORD [112+esp] - shl ecx,4 - shl eax,4 - movdqu xmm4,[ebx] - movdqu xmm5,[ecx*1+ebx] - movdqa xmm6,xmm4 - movdqu xmm7,[eax*1+ebx] - pxor xmm4,xmm0 - movdqu xmm2,[esi] - pxor xmm5,xmm4 - movdqu xmm3,[16+esi] - pxor xmm6,xmm5 - movdqa [esp],xmm4 - pxor xmm7,xmm6 - movdqa [16+esp],xmm5 - movdqu xmm4,[32+esi] - movdqu xmm5,[48+esi] - mov ecx,DWORD [240+edx] - movdqa [96+esp],xmm1 - pxor xmm2,[esp] - pxor xmm3,[16+esp] - pxor xmm4,xmm6 - pxor xmm5,xmm7 - mov edi,DWORD [120+esp] - call __aesni_decrypt4 - movdqa xmm1,[96+esp] - xorps xmm2,[esp] - xorps xmm3,[16+esp] - xorps xmm4,xmm6 - movups [esi*1+edi],xmm2 - pxor xmm1,xmm2 - xorps xmm5,xmm7 - movups [16+esi*1+edi],xmm3 - pxor xmm1,xmm3 - movdqa xmm0,xmm7 - movups [32+esi*1+edi],xmm4 - pxor xmm1,xmm4 - movups [48+esi*1+edi],xmm5 - pxor xmm1,xmm5 -L$088done: - mov edx,DWORD [128+esp] - pxor xmm2,xmm2 - pxor xmm3,xmm3 - movdqa [esp],xmm2 - pxor xmm4,xmm4 - movdqa [16+esp],xmm2 - pxor xmm5,xmm5 - movdqa [32+esp],xmm2 - pxor xmm6,xmm6 - movdqa [48+esp],xmm2 - pxor xmm7,xmm7 - movdqa [64+esp],xmm2 - movdqa [80+esp],xmm2 - movdqa [96+esp],xmm2 - lea esp,[edx] - mov ecx,DWORD [40+esp] - mov ebx,DWORD [48+esp] - movdqu [ecx],xmm0 - pxor xmm0,xmm0 - movdqu [ebx],xmm1 - pxor xmm1,xmm1 - pop edi - pop esi - pop ebx - pop ebp - ret -global _aesni_cbc_encrypt -align 16 -_aesni_cbc_encrypt: -L$_aesni_cbc_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov ebx,esp - mov edi,DWORD [24+esp] - sub ebx,24 - mov eax,DWORD [28+esp] - and ebx,-16 - mov edx,DWORD [32+esp] - mov ebp,DWORD [36+esp] - test eax,eax - jz NEAR L$094cbc_abort - cmp DWORD [40+esp],0 - xchg ebx,esp - movups xmm7,[ebp] - mov ecx,DWORD [240+edx] - mov ebp,edx - mov DWORD [16+esp],ebx - mov ebx,ecx - je NEAR L$095cbc_decrypt - movaps xmm2,xmm7 - cmp eax,16 - jb NEAR L$096cbc_enc_tail - sub eax,16 - jmp NEAR L$097cbc_enc_loop -align 16 -L$097cbc_enc_loop: - movups xmm7,[esi] - lea esi,[16+esi] - movups xmm0,[edx] - movups xmm1,[16+edx] - xorps xmm7,xmm0 - lea edx,[32+edx] - xorps xmm2,xmm7 -L$098enc1_loop_19: -db 102,15,56,220,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$098enc1_loop_19 -db 102,15,56,221,209 - mov ecx,ebx - mov edx,ebp - movups [edi],xmm2 - lea edi,[16+edi] - sub eax,16 - jnc NEAR L$097cbc_enc_loop - add eax,16 - jnz NEAR L$096cbc_enc_tail - movaps xmm7,xmm2 - pxor xmm2,xmm2 - jmp NEAR L$099cbc_ret -L$096cbc_enc_tail: - mov ecx,eax -dd 2767451785 - mov ecx,16 - sub ecx,eax - xor eax,eax -dd 2868115081 - lea edi,[edi-16] - mov ecx,ebx - mov esi,edi - mov edx,ebp - jmp NEAR L$097cbc_enc_loop -align 16 -L$095cbc_decrypt: - cmp eax,80 - jbe NEAR L$100cbc_dec_tail - movaps [esp],xmm7 - sub eax,80 - jmp NEAR L$101cbc_dec_loop6_enter -align 16 -L$102cbc_dec_loop6: - movaps [esp],xmm0 - movups [edi],xmm7 - lea edi,[16+edi] -L$101cbc_dec_loop6_enter: - movdqu xmm2,[esi] - movdqu xmm3,[16+esi] - movdqu xmm4,[32+esi] - movdqu xmm5,[48+esi] - movdqu xmm6,[64+esi] - movdqu xmm7,[80+esi] - call __aesni_decrypt6 - movups xmm1,[esi] - movups xmm0,[16+esi] - xorps xmm2,[esp] - xorps xmm3,xmm1 - movups xmm1,[32+esi] - xorps xmm4,xmm0 - movups xmm0,[48+esi] - xorps xmm5,xmm1 - movups xmm1,[64+esi] - xorps xmm6,xmm0 - movups xmm0,[80+esi] - xorps xmm7,xmm1 - movups [edi],xmm2 - movups [16+edi],xmm3 - lea esi,[96+esi] - movups [32+edi],xmm4 - mov ecx,ebx - movups [48+edi],xmm5 - mov edx,ebp - movups [64+edi],xmm6 - lea edi,[80+edi] - sub eax,96 - ja NEAR L$102cbc_dec_loop6 - movaps xmm2,xmm7 - movaps xmm7,xmm0 - add eax,80 - jle NEAR L$103cbc_dec_clear_tail_collected - movups [edi],xmm2 - lea edi,[16+edi] -L$100cbc_dec_tail: - movups xmm2,[esi] - movaps xmm6,xmm2 - cmp eax,16 - jbe NEAR L$104cbc_dec_one - movups xmm3,[16+esi] - movaps xmm5,xmm3 - cmp eax,32 - jbe NEAR L$105cbc_dec_two - movups xmm4,[32+esi] - cmp eax,48 - jbe NEAR L$106cbc_dec_three - movups xmm5,[48+esi] - cmp eax,64 - jbe NEAR L$107cbc_dec_four - movups xmm6,[64+esi] - movaps [esp],xmm7 - movups xmm2,[esi] - xorps xmm7,xmm7 - call __aesni_decrypt6 - movups xmm1,[esi] - movups xmm0,[16+esi] - xorps xmm2,[esp] - xorps xmm3,xmm1 - movups xmm1,[32+esi] - xorps xmm4,xmm0 - movups xmm0,[48+esi] - xorps xmm5,xmm1 - movups xmm7,[64+esi] - xorps xmm6,xmm0 - movups [edi],xmm2 - movups [16+edi],xmm3 - pxor xmm3,xmm3 - movups [32+edi],xmm4 - pxor xmm4,xmm4 - movups [48+edi],xmm5 - pxor xmm5,xmm5 - lea edi,[64+edi] - movaps xmm2,xmm6 - pxor xmm6,xmm6 - sub eax,80 - jmp NEAR L$108cbc_dec_tail_collected -align 16 -L$104cbc_dec_one: - movups xmm0,[edx] - movups xmm1,[16+edx] - lea edx,[32+edx] - xorps xmm2,xmm0 -L$109dec1_loop_20: -db 102,15,56,222,209 - dec ecx - movups xmm1,[edx] - lea edx,[16+edx] - jnz NEAR L$109dec1_loop_20 -db 102,15,56,223,209 - xorps xmm2,xmm7 - movaps xmm7,xmm6 - sub eax,16 - jmp NEAR L$108cbc_dec_tail_collected -align 16 -L$105cbc_dec_two: - call __aesni_decrypt2 - xorps xmm2,xmm7 - xorps xmm3,xmm6 - movups [edi],xmm2 - movaps xmm2,xmm3 - pxor xmm3,xmm3 - lea edi,[16+edi] - movaps xmm7,xmm5 - sub eax,32 - jmp NEAR L$108cbc_dec_tail_collected -align 16 -L$106cbc_dec_three: - call __aesni_decrypt3 - xorps xmm2,xmm7 - xorps xmm3,xmm6 - xorps xmm4,xmm5 - movups [edi],xmm2 - movaps xmm2,xmm4 - pxor xmm4,xmm4 - movups [16+edi],xmm3 - pxor xmm3,xmm3 - lea edi,[32+edi] - movups xmm7,[32+esi] - sub eax,48 - jmp NEAR L$108cbc_dec_tail_collected -align 16 -L$107cbc_dec_four: - call __aesni_decrypt4 - movups xmm1,[16+esi] - movups xmm0,[32+esi] - xorps xmm2,xmm7 - movups xmm7,[48+esi] - xorps xmm3,xmm6 - movups [edi],xmm2 - xorps xmm4,xmm1 - movups [16+edi],xmm3 - pxor xmm3,xmm3 - xorps xmm5,xmm0 - movups [32+edi],xmm4 - pxor xmm4,xmm4 - lea edi,[48+edi] - movaps xmm2,xmm5 - pxor xmm5,xmm5 - sub eax,64 - jmp NEAR L$108cbc_dec_tail_collected -align 16 -L$103cbc_dec_clear_tail_collected: - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - pxor xmm6,xmm6 -L$108cbc_dec_tail_collected: - and eax,15 - jnz NEAR L$110cbc_dec_tail_partial - movups [edi],xmm2 - pxor xmm0,xmm0 - jmp NEAR L$099cbc_ret -align 16 -L$110cbc_dec_tail_partial: - movaps [esp],xmm2 - pxor xmm0,xmm0 - mov ecx,16 - mov esi,esp - sub ecx,eax -dd 2767451785 - movdqa [esp],xmm2 -L$099cbc_ret: - mov esp,DWORD [16+esp] - mov ebp,DWORD [36+esp] - pxor xmm2,xmm2 - pxor xmm1,xmm1 - movups [ebp],xmm7 - pxor xmm7,xmm7 -L$094cbc_abort: - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__aesni_set_encrypt_key: - push ebp - push ebx - test eax,eax - jz NEAR L$111bad_pointer - test edx,edx - jz NEAR L$111bad_pointer - call L$112pic -L$112pic: - pop ebx - lea ebx,[(L$key_const-L$112pic)+ebx] - lea ebp,[_OPENSSL_ia32cap_P] - movups xmm0,[eax] - xorps xmm4,xmm4 - mov ebp,DWORD [4+ebp] - lea edx,[16+edx] - and ebp,268437504 - cmp ecx,256 - je NEAR L$11314rounds - cmp ecx,192 - je NEAR L$11412rounds - cmp ecx,128 - jne NEAR L$115bad_keybits -align 16 -L$11610rounds: - cmp ebp,268435456 - je NEAR L$11710rounds_alt - mov ecx,9 - movups [edx-16],xmm0 -db 102,15,58,223,200,1 - call L$118key_128_cold -db 102,15,58,223,200,2 - call L$119key_128 -db 102,15,58,223,200,4 - call L$119key_128 -db 102,15,58,223,200,8 - call L$119key_128 -db 102,15,58,223,200,16 - call L$119key_128 -db 102,15,58,223,200,32 - call L$119key_128 -db 102,15,58,223,200,64 - call L$119key_128 -db 102,15,58,223,200,128 - call L$119key_128 -db 102,15,58,223,200,27 - call L$119key_128 -db 102,15,58,223,200,54 - call L$119key_128 - movups [edx],xmm0 - mov DWORD [80+edx],ecx - jmp NEAR L$120good_key -align 16 -L$119key_128: - movups [edx],xmm0 - lea edx,[16+edx] -L$118key_128_cold: - shufps xmm4,xmm0,16 - xorps xmm0,xmm4 - shufps xmm4,xmm0,140 - xorps xmm0,xmm4 - shufps xmm1,xmm1,255 - xorps xmm0,xmm1 - ret -align 16 -L$11710rounds_alt: - movdqa xmm5,[ebx] - mov ecx,8 - movdqa xmm4,[32+ebx] - movdqa xmm2,xmm0 - movdqu [edx-16],xmm0 -L$121loop_key128: -db 102,15,56,0,197 -db 102,15,56,221,196 - pslld xmm4,1 - lea edx,[16+edx] - movdqa xmm3,xmm2 - pslldq xmm2,4 - pxor xmm3,xmm2 - pslldq xmm2,4 - pxor xmm3,xmm2 - pslldq xmm2,4 - pxor xmm2,xmm3 - pxor xmm0,xmm2 - movdqu [edx-16],xmm0 - movdqa xmm2,xmm0 - dec ecx - jnz NEAR L$121loop_key128 - movdqa xmm4,[48+ebx] -db 102,15,56,0,197 -db 102,15,56,221,196 - pslld xmm4,1 - movdqa xmm3,xmm2 - pslldq xmm2,4 - pxor xmm3,xmm2 - pslldq xmm2,4 - pxor xmm3,xmm2 - pslldq xmm2,4 - pxor xmm2,xmm3 - pxor xmm0,xmm2 - movdqu [edx],xmm0 - movdqa xmm2,xmm0 -db 102,15,56,0,197 -db 102,15,56,221,196 - movdqa xmm3,xmm2 - pslldq xmm2,4 - pxor xmm3,xmm2 - pslldq xmm2,4 - pxor xmm3,xmm2 - pslldq xmm2,4 - pxor xmm2,xmm3 - pxor xmm0,xmm2 - movdqu [16+edx],xmm0 - mov ecx,9 - mov DWORD [96+edx],ecx - jmp NEAR L$120good_key -align 16 -L$11412rounds: - movq xmm2,[16+eax] - cmp ebp,268435456 - je NEAR L$12212rounds_alt - mov ecx,11 - movups [edx-16],xmm0 -db 102,15,58,223,202,1 - call L$123key_192a_cold -db 102,15,58,223,202,2 - call L$124key_192b -db 102,15,58,223,202,4 - call L$125key_192a -db 102,15,58,223,202,8 - call L$124key_192b -db 102,15,58,223,202,16 - call L$125key_192a -db 102,15,58,223,202,32 - call L$124key_192b -db 102,15,58,223,202,64 - call L$125key_192a -db 102,15,58,223,202,128 - call L$124key_192b - movups [edx],xmm0 - mov DWORD [48+edx],ecx - jmp NEAR L$120good_key -align 16 -L$125key_192a: - movups [edx],xmm0 - lea edx,[16+edx] -align 16 -L$123key_192a_cold: - movaps xmm5,xmm2 -L$126key_192b_warm: - shufps xmm4,xmm0,16 - movdqa xmm3,xmm2 - xorps xmm0,xmm4 - shufps xmm4,xmm0,140 - pslldq xmm3,4 - xorps xmm0,xmm4 - pshufd xmm1,xmm1,85 - pxor xmm2,xmm3 - pxor xmm0,xmm1 - pshufd xmm3,xmm0,255 - pxor xmm2,xmm3 - ret -align 16 -L$124key_192b: - movaps xmm3,xmm0 - shufps xmm5,xmm0,68 - movups [edx],xmm5 - shufps xmm3,xmm2,78 - movups [16+edx],xmm3 - lea edx,[32+edx] - jmp NEAR L$126key_192b_warm -align 16 -L$12212rounds_alt: - movdqa xmm5,[16+ebx] - movdqa xmm4,[32+ebx] - mov ecx,8 - movdqu [edx-16],xmm0 -L$127loop_key192: - movq [edx],xmm2 - movdqa xmm1,xmm2 -db 102,15,56,0,213 -db 102,15,56,221,212 - pslld xmm4,1 - lea edx,[24+edx] - movdqa xmm3,xmm0 - pslldq xmm0,4 - pxor xmm3,xmm0 - pslldq xmm0,4 - pxor xmm3,xmm0 - pslldq xmm0,4 - pxor xmm0,xmm3 - pshufd xmm3,xmm0,255 - pxor xmm3,xmm1 - pslldq xmm1,4 - pxor xmm3,xmm1 - pxor xmm0,xmm2 - pxor xmm2,xmm3 - movdqu [edx-16],xmm0 - dec ecx - jnz NEAR L$127loop_key192 - mov ecx,11 - mov DWORD [32+edx],ecx - jmp NEAR L$120good_key -align 16 -L$11314rounds: - movups xmm2,[16+eax] - lea edx,[16+edx] - cmp ebp,268435456 - je NEAR L$12814rounds_alt - mov ecx,13 - movups [edx-32],xmm0 - movups [edx-16],xmm2 -db 102,15,58,223,202,1 - call L$129key_256a_cold -db 102,15,58,223,200,1 - call L$130key_256b -db 102,15,58,223,202,2 - call L$131key_256a -db 102,15,58,223,200,2 - call L$130key_256b -db 102,15,58,223,202,4 - call L$131key_256a -db 102,15,58,223,200,4 - call L$130key_256b -db 102,15,58,223,202,8 - call L$131key_256a -db 102,15,58,223,200,8 - call L$130key_256b -db 102,15,58,223,202,16 - call L$131key_256a -db 102,15,58,223,200,16 - call L$130key_256b -db 102,15,58,223,202,32 - call L$131key_256a -db 102,15,58,223,200,32 - call L$130key_256b -db 102,15,58,223,202,64 - call L$131key_256a - movups [edx],xmm0 - mov DWORD [16+edx],ecx - xor eax,eax - jmp NEAR L$120good_key -align 16 -L$131key_256a: - movups [edx],xmm2 - lea edx,[16+edx] -L$129key_256a_cold: - shufps xmm4,xmm0,16 - xorps xmm0,xmm4 - shufps xmm4,xmm0,140 - xorps xmm0,xmm4 - shufps xmm1,xmm1,255 - xorps xmm0,xmm1 - ret -align 16 -L$130key_256b: - movups [edx],xmm0 - lea edx,[16+edx] - shufps xmm4,xmm2,16 - xorps xmm2,xmm4 - shufps xmm4,xmm2,140 - xorps xmm2,xmm4 - shufps xmm1,xmm1,170 - xorps xmm2,xmm1 - ret -align 16 -L$12814rounds_alt: - movdqa xmm5,[ebx] - movdqa xmm4,[32+ebx] - mov ecx,7 - movdqu [edx-32],xmm0 - movdqa xmm1,xmm2 - movdqu [edx-16],xmm2 -L$132loop_key256: -db 102,15,56,0,213 -db 102,15,56,221,212 - movdqa xmm3,xmm0 - pslldq xmm0,4 - pxor xmm3,xmm0 - pslldq xmm0,4 - pxor xmm3,xmm0 - pslldq xmm0,4 - pxor xmm0,xmm3 - pslld xmm4,1 - pxor xmm0,xmm2 - movdqu [edx],xmm0 - dec ecx - jz NEAR L$133done_key256 - pshufd xmm2,xmm0,255 - pxor xmm3,xmm3 -db 102,15,56,221,211 - movdqa xmm3,xmm1 - pslldq xmm1,4 - pxor xmm3,xmm1 - pslldq xmm1,4 - pxor xmm3,xmm1 - pslldq xmm1,4 - pxor xmm1,xmm3 - pxor xmm2,xmm1 - movdqu [16+edx],xmm2 - lea edx,[32+edx] - movdqa xmm1,xmm2 - jmp NEAR L$132loop_key256 -L$133done_key256: - mov ecx,13 - mov DWORD [16+edx],ecx -L$120good_key: - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - xor eax,eax - pop ebx - pop ebp - ret -align 4 -L$111bad_pointer: - mov eax,-1 - pop ebx - pop ebp - ret -align 4 -L$115bad_keybits: - pxor xmm0,xmm0 - mov eax,-2 - pop ebx - pop ebp - ret -global _aesni_set_encrypt_key -align 16 -_aesni_set_encrypt_key: -L$_aesni_set_encrypt_key_begin: - mov eax,DWORD [4+esp] - mov ecx,DWORD [8+esp] - mov edx,DWORD [12+esp] - call __aesni_set_encrypt_key - ret -global _aesni_set_decrypt_key -align 16 -_aesni_set_decrypt_key: -L$_aesni_set_decrypt_key_begin: - mov eax,DWORD [4+esp] - mov ecx,DWORD [8+esp] - mov edx,DWORD [12+esp] - call __aesni_set_encrypt_key - mov edx,DWORD [12+esp] - shl ecx,4 - test eax,eax - jnz NEAR L$134dec_key_ret - lea eax,[16+ecx*1+edx] - movups xmm0,[edx] - movups xmm1,[eax] - movups [eax],xmm0 - movups [edx],xmm1 - lea edx,[16+edx] - lea eax,[eax-16] -L$135dec_key_inverse: - movups xmm0,[edx] - movups xmm1,[eax] -db 102,15,56,219,192 -db 102,15,56,219,201 - lea edx,[16+edx] - lea eax,[eax-16] - movups [16+eax],xmm0 - movups [edx-16],xmm1 - cmp eax,edx - ja NEAR L$135dec_key_inverse - movups xmm0,[edx] -db 102,15,56,219,192 - movups [edx],xmm0 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - xor eax,eax -L$134dec_key_ret: - ret -align 64 -L$key_const: -dd 202313229,202313229,202313229,202313229 -dd 67569157,67569157,67569157,67569157 -dd 1,1,1,1 -dd 27,27,27,27 -db 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69 -db 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83 -db 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 -db 115,108,46,111,114,103,62,0 -segment .bss -common _OPENSSL_ia32cap_P 16 diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/vpaes-x86.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/vpaes-x86.nasm deleted file mode 100644 index cf2e13f620ea..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32/crypto/aes/vpaes-x86.nasm +++ /dev/null @@ -1,651 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/aes/asm/vpaes-x86.pl -; -; Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -%ifidn __OUTPUT_FORMAT__,obj -section code use32 class=code align=64 -%elifidn __OUTPUT_FORMAT__,win32 -$@feat.00 equ 1 -section .text code align=64 -%else -section .text code -%endif -align 64 -L$_vpaes_consts: -dd 218628480,235210255,168496130,67568393 -dd 252381056,17041926,33884169,51187212 -dd 252645135,252645135,252645135,252645135 -dd 1512730624,3266504856,1377990664,3401244816 -dd 830229760,1275146365,2969422977,3447763452 -dd 3411033600,2979783055,338359620,2782886510 -dd 4209124096,907596821,221174255,1006095553 -dd 191964160,3799684038,3164090317,1589111125 -dd 182528256,1777043520,2877432650,3265356744 -dd 1874708224,3503451415,3305285752,363511674 -dd 1606117888,3487855781,1093350906,2384367825 -dd 197121,67569157,134941193,202313229 -dd 67569157,134941193,202313229,197121 -dd 134941193,202313229,197121,67569157 -dd 202313229,197121,67569157,134941193 -dd 33619971,100992007,168364043,235736079 -dd 235736079,33619971,100992007,168364043 -dd 168364043,235736079,33619971,100992007 -dd 100992007,168364043,235736079,33619971 -dd 50462976,117835012,185207048,252579084 -dd 252314880,51251460,117574920,184942860 -dd 184682752,252054788,50987272,118359308 -dd 118099200,185467140,251790600,50727180 -dd 2946363062,528716217,1300004225,1881839624 -dd 1532713819,1532713819,1532713819,1532713819 -dd 3602276352,4288629033,3737020424,4153884961 -dd 1354558464,32357713,2958822624,3775749553 -dd 1201988352,132424512,1572796698,503232858 -dd 2213177600,1597421020,4103937655,675398315 -dd 2749646592,4273543773,1511898873,121693092 -dd 3040248576,1103263732,2871565598,1608280554 -dd 2236667136,2588920351,482954393,64377734 -dd 3069987328,291237287,2117370568,3650299247 -dd 533321216,3573750986,2572112006,1401264716 -dd 1339849704,2721158661,548607111,3445553514 -dd 2128193280,3054596040,2183486460,1257083700 -dd 655635200,1165381986,3923443150,2344132524 -dd 190078720,256924420,290342170,357187870 -dd 1610966272,2263057382,4103205268,309794674 -dd 2592527872,2233205587,1335446729,3402964816 -dd 3973531904,3225098121,3002836325,1918774430 -dd 3870401024,2102906079,2284471353,4117666579 -dd 617007872,1021508343,366931923,691083277 -dd 2528395776,3491914898,2968704004,1613121270 -dd 3445188352,3247741094,844474987,4093578302 -dd 651481088,1190302358,1689581232,574775300 -dd 4289380608,206939853,2555985458,2489840491 -dd 2130264064,327674451,3566485037,3349835193 -dd 2470714624,316102159,3636825756,3393945945 -db 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105 -db 111,110,32,65,69,83,32,102,111,114,32,120,56,54,47,83 -db 83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117 -db 114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105 -db 118,101,114,115,105,116,121,41,0 -align 64 -align 16 -__vpaes_preheat: - add ebp,DWORD [esp] - movdqa xmm7,[ebp-48] - movdqa xmm6,[ebp-16] - ret -align 16 -__vpaes_encrypt_core: - mov ecx,16 - mov eax,DWORD [240+edx] - movdqa xmm1,xmm6 - movdqa xmm2,[ebp] - pandn xmm1,xmm0 - pand xmm0,xmm6 - movdqu xmm5,[edx] -db 102,15,56,0,208 - movdqa xmm0,[16+ebp] - pxor xmm2,xmm5 - psrld xmm1,4 - add edx,16 -db 102,15,56,0,193 - lea ebx,[192+ebp] - pxor xmm0,xmm2 - jmp NEAR L$000enc_entry -align 16 -L$001enc_loop: - movdqa xmm4,[32+ebp] - movdqa xmm0,[48+ebp] -db 102,15,56,0,226 -db 102,15,56,0,195 - pxor xmm4,xmm5 - movdqa xmm5,[64+ebp] - pxor xmm0,xmm4 - movdqa xmm1,[ecx*1+ebx-64] -db 102,15,56,0,234 - movdqa xmm2,[80+ebp] - movdqa xmm4,[ecx*1+ebx] -db 102,15,56,0,211 - movdqa xmm3,xmm0 - pxor xmm2,xmm5 -db 102,15,56,0,193 - add edx,16 - pxor xmm0,xmm2 -db 102,15,56,0,220 - add ecx,16 - pxor xmm3,xmm0 -db 102,15,56,0,193 - and ecx,48 - sub eax,1 - pxor xmm0,xmm3 -L$000enc_entry: - movdqa xmm1,xmm6 - movdqa xmm5,[ebp-32] - pandn xmm1,xmm0 - psrld xmm1,4 - pand xmm0,xmm6 -db 102,15,56,0,232 - movdqa xmm3,xmm7 - pxor xmm0,xmm1 -db 102,15,56,0,217 - movdqa xmm4,xmm7 - pxor xmm3,xmm5 -db 102,15,56,0,224 - movdqa xmm2,xmm7 - pxor xmm4,xmm5 -db 102,15,56,0,211 - movdqa xmm3,xmm7 - pxor xmm2,xmm0 -db 102,15,56,0,220 - movdqu xmm5,[edx] - pxor xmm3,xmm1 - jnz NEAR L$001enc_loop - movdqa xmm4,[96+ebp] - movdqa xmm0,[112+ebp] -db 102,15,56,0,226 - pxor xmm4,xmm5 -db 102,15,56,0,195 - movdqa xmm1,[64+ecx*1+ebx] - pxor xmm0,xmm4 -db 102,15,56,0,193 - ret -align 16 -__vpaes_decrypt_core: - lea ebx,[608+ebp] - mov eax,DWORD [240+edx] - movdqa xmm1,xmm6 - movdqa xmm2,[ebx-64] - pandn xmm1,xmm0 - mov ecx,eax - psrld xmm1,4 - movdqu xmm5,[edx] - shl ecx,4 - pand xmm0,xmm6 -db 102,15,56,0,208 - movdqa xmm0,[ebx-48] - xor ecx,48 -db 102,15,56,0,193 - and ecx,48 - pxor xmm2,xmm5 - movdqa xmm5,[176+ebp] - pxor xmm0,xmm2 - add edx,16 - lea ecx,[ecx*1+ebx-352] - jmp NEAR L$002dec_entry -align 16 -L$003dec_loop: - movdqa xmm4,[ebx-32] - movdqa xmm1,[ebx-16] -db 102,15,56,0,226 -db 102,15,56,0,203 - pxor xmm0,xmm4 - movdqa xmm4,[ebx] - pxor xmm0,xmm1 - movdqa xmm1,[16+ebx] -db 102,15,56,0,226 -db 102,15,56,0,197 -db 102,15,56,0,203 - pxor xmm0,xmm4 - movdqa xmm4,[32+ebx] - pxor xmm0,xmm1 - movdqa xmm1,[48+ebx] -db 102,15,56,0,226 -db 102,15,56,0,197 -db 102,15,56,0,203 - pxor xmm0,xmm4 - movdqa xmm4,[64+ebx] - pxor xmm0,xmm1 - movdqa xmm1,[80+ebx] -db 102,15,56,0,226 -db 102,15,56,0,197 -db 102,15,56,0,203 - pxor xmm0,xmm4 - add edx,16 -db 102,15,58,15,237,12 - pxor xmm0,xmm1 - sub eax,1 -L$002dec_entry: - movdqa xmm1,xmm6 - movdqa xmm2,[ebp-32] - pandn xmm1,xmm0 - pand xmm0,xmm6 - psrld xmm1,4 -db 102,15,56,0,208 - movdqa xmm3,xmm7 - pxor xmm0,xmm1 -db 102,15,56,0,217 - movdqa xmm4,xmm7 - pxor xmm3,xmm2 -db 102,15,56,0,224 - pxor xmm4,xmm2 - movdqa xmm2,xmm7 -db 102,15,56,0,211 - movdqa xmm3,xmm7 - pxor xmm2,xmm0 -db 102,15,56,0,220 - movdqu xmm0,[edx] - pxor xmm3,xmm1 - jnz NEAR L$003dec_loop - movdqa xmm4,[96+ebx] -db 102,15,56,0,226 - pxor xmm4,xmm0 - movdqa xmm0,[112+ebx] - movdqa xmm2,[ecx] -db 102,15,56,0,195 - pxor xmm0,xmm4 -db 102,15,56,0,194 - ret -align 16 -__vpaes_schedule_core: - add ebp,DWORD [esp] - movdqu xmm0,[esi] - movdqa xmm2,[320+ebp] - movdqa xmm3,xmm0 - lea ebx,[ebp] - movdqa [4+esp],xmm2 - call __vpaes_schedule_transform - movdqa xmm7,xmm0 - test edi,edi - jnz NEAR L$004schedule_am_decrypting - movdqu [edx],xmm0 - jmp NEAR L$005schedule_go -L$004schedule_am_decrypting: - movdqa xmm1,[256+ecx*1+ebp] -db 102,15,56,0,217 - movdqu [edx],xmm3 - xor ecx,48 -L$005schedule_go: - cmp eax,192 - ja NEAR L$006schedule_256 - je NEAR L$007schedule_192 -L$008schedule_128: - mov eax,10 -L$009loop_schedule_128: - call __vpaes_schedule_round - dec eax - jz NEAR L$010schedule_mangle_last - call __vpaes_schedule_mangle - jmp NEAR L$009loop_schedule_128 -align 16 -L$007schedule_192: - movdqu xmm0,[8+esi] - call __vpaes_schedule_transform - movdqa xmm6,xmm0 - pxor xmm4,xmm4 - movhlps xmm6,xmm4 - mov eax,4 -L$011loop_schedule_192: - call __vpaes_schedule_round -db 102,15,58,15,198,8 - call __vpaes_schedule_mangle - call __vpaes_schedule_192_smear - call __vpaes_schedule_mangle - call __vpaes_schedule_round - dec eax - jz NEAR L$010schedule_mangle_last - call __vpaes_schedule_mangle - call __vpaes_schedule_192_smear - jmp NEAR L$011loop_schedule_192 -align 16 -L$006schedule_256: - movdqu xmm0,[16+esi] - call __vpaes_schedule_transform - mov eax,7 -L$012loop_schedule_256: - call __vpaes_schedule_mangle - movdqa xmm6,xmm0 - call __vpaes_schedule_round - dec eax - jz NEAR L$010schedule_mangle_last - call __vpaes_schedule_mangle - pshufd xmm0,xmm0,255 - movdqa [20+esp],xmm7 - movdqa xmm7,xmm6 - call L$_vpaes_schedule_low_round - movdqa xmm7,[20+esp] - jmp NEAR L$012loop_schedule_256 -align 16 -L$010schedule_mangle_last: - lea ebx,[384+ebp] - test edi,edi - jnz NEAR L$013schedule_mangle_last_dec - movdqa xmm1,[256+ecx*1+ebp] -db 102,15,56,0,193 - lea ebx,[352+ebp] - add edx,32 -L$013schedule_mangle_last_dec: - add edx,-16 - pxor xmm0,[336+ebp] - call __vpaes_schedule_transform - movdqu [edx],xmm0 - pxor xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - pxor xmm6,xmm6 - pxor xmm7,xmm7 - ret -align 16 -__vpaes_schedule_192_smear: - pshufd xmm1,xmm6,128 - pshufd xmm0,xmm7,254 - pxor xmm6,xmm1 - pxor xmm1,xmm1 - pxor xmm6,xmm0 - movdqa xmm0,xmm6 - movhlps xmm6,xmm1 - ret -align 16 -__vpaes_schedule_round: - movdqa xmm2,[8+esp] - pxor xmm1,xmm1 -db 102,15,58,15,202,15 -db 102,15,58,15,210,15 - pxor xmm7,xmm1 - pshufd xmm0,xmm0,255 -db 102,15,58,15,192,1 - movdqa [8+esp],xmm2 -L$_vpaes_schedule_low_round: - movdqa xmm1,xmm7 - pslldq xmm7,4 - pxor xmm7,xmm1 - movdqa xmm1,xmm7 - pslldq xmm7,8 - pxor xmm7,xmm1 - pxor xmm7,[336+ebp] - movdqa xmm4,[ebp-16] - movdqa xmm5,[ebp-48] - movdqa xmm1,xmm4 - pandn xmm1,xmm0 - psrld xmm1,4 - pand xmm0,xmm4 - movdqa xmm2,[ebp-32] -db 102,15,56,0,208 - pxor xmm0,xmm1 - movdqa xmm3,xmm5 -db 102,15,56,0,217 - pxor xmm3,xmm2 - movdqa xmm4,xmm5 -db 102,15,56,0,224 - pxor xmm4,xmm2 - movdqa xmm2,xmm5 -db 102,15,56,0,211 - pxor xmm2,xmm0 - movdqa xmm3,xmm5 -db 102,15,56,0,220 - pxor xmm3,xmm1 - movdqa xmm4,[32+ebp] -db 102,15,56,0,226 - movdqa xmm0,[48+ebp] -db 102,15,56,0,195 - pxor xmm0,xmm4 - pxor xmm0,xmm7 - movdqa xmm7,xmm0 - ret -align 16 -__vpaes_schedule_transform: - movdqa xmm2,[ebp-16] - movdqa xmm1,xmm2 - pandn xmm1,xmm0 - psrld xmm1,4 - pand xmm0,xmm2 - movdqa xmm2,[ebx] -db 102,15,56,0,208 - movdqa xmm0,[16+ebx] -db 102,15,56,0,193 - pxor xmm0,xmm2 - ret -align 16 -__vpaes_schedule_mangle: - movdqa xmm4,xmm0 - movdqa xmm5,[128+ebp] - test edi,edi - jnz NEAR L$014schedule_mangle_dec - add edx,16 - pxor xmm4,[336+ebp] -db 102,15,56,0,229 - movdqa xmm3,xmm4 -db 102,15,56,0,229 - pxor xmm3,xmm4 -db 102,15,56,0,229 - pxor xmm3,xmm4 - jmp NEAR L$015schedule_mangle_both -align 16 -L$014schedule_mangle_dec: - movdqa xmm2,[ebp-16] - lea esi,[416+ebp] - movdqa xmm1,xmm2 - pandn xmm1,xmm4 - psrld xmm1,4 - pand xmm4,xmm2 - movdqa xmm2,[esi] -db 102,15,56,0,212 - movdqa xmm3,[16+esi] -db 102,15,56,0,217 - pxor xmm3,xmm2 -db 102,15,56,0,221 - movdqa xmm2,[32+esi] -db 102,15,56,0,212 - pxor xmm2,xmm3 - movdqa xmm3,[48+esi] -db 102,15,56,0,217 - pxor xmm3,xmm2 -db 102,15,56,0,221 - movdqa xmm2,[64+esi] -db 102,15,56,0,212 - pxor xmm2,xmm3 - movdqa xmm3,[80+esi] -db 102,15,56,0,217 - pxor xmm3,xmm2 -db 102,15,56,0,221 - movdqa xmm2,[96+esi] -db 102,15,56,0,212 - pxor xmm2,xmm3 - movdqa xmm3,[112+esi] -db 102,15,56,0,217 - pxor xmm3,xmm2 - add edx,-16 -L$015schedule_mangle_both: - movdqa xmm1,[256+ecx*1+ebp] -db 102,15,56,0,217 - add ecx,-16 - and ecx,48 - movdqu [edx],xmm3 - ret -global _vpaes_set_encrypt_key -align 16 -_vpaes_set_encrypt_key: -L$_vpaes_set_encrypt_key_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - lea ebx,[esp-56] - mov eax,DWORD [24+esp] - and ebx,-16 - mov edx,DWORD [28+esp] - xchg ebx,esp - mov DWORD [48+esp],ebx - mov ebx,eax - shr ebx,5 - add ebx,5 - mov DWORD [240+edx],ebx - mov ecx,48 - mov edi,0 - lea ebp,[(L$_vpaes_consts+0x30-L$016pic_point)] - call __vpaes_schedule_core -L$016pic_point: - mov esp,DWORD [48+esp] - xor eax,eax - pop edi - pop esi - pop ebx - pop ebp - ret -global _vpaes_set_decrypt_key -align 16 -_vpaes_set_decrypt_key: -L$_vpaes_set_decrypt_key_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - lea ebx,[esp-56] - mov eax,DWORD [24+esp] - and ebx,-16 - mov edx,DWORD [28+esp] - xchg ebx,esp - mov DWORD [48+esp],ebx - mov ebx,eax - shr ebx,5 - add ebx,5 - mov DWORD [240+edx],ebx - shl ebx,4 - lea edx,[16+ebx*1+edx] - mov edi,1 - mov ecx,eax - shr ecx,1 - and ecx,32 - xor ecx,32 - lea ebp,[(L$_vpaes_consts+0x30-L$017pic_point)] - call __vpaes_schedule_core -L$017pic_point: - mov esp,DWORD [48+esp] - xor eax,eax - pop edi - pop esi - pop ebx - pop ebp - ret -global _vpaes_encrypt -align 16 -_vpaes_encrypt: -L$_vpaes_encrypt_begin: - push ebp - push ebx - push esi - push edi - lea ebp,[(L$_vpaes_consts+0x30-L$018pic_point)] - call __vpaes_preheat -L$018pic_point: - mov esi,DWORD [20+esp] - lea ebx,[esp-56] - mov edi,DWORD [24+esp] - and ebx,-16 - mov edx,DWORD [28+esp] - xchg ebx,esp - mov DWORD [48+esp],ebx - movdqu xmm0,[esi] - call __vpaes_encrypt_core - movdqu [edi],xmm0 - mov esp,DWORD [48+esp] - pop edi - pop esi - pop ebx - pop ebp - ret -global _vpaes_decrypt -align 16 -_vpaes_decrypt: -L$_vpaes_decrypt_begin: - push ebp - push ebx - push esi - push edi - lea ebp,[(L$_vpaes_consts+0x30-L$019pic_point)] - call __vpaes_preheat -L$019pic_point: - mov esi,DWORD [20+esp] - lea ebx,[esp-56] - mov edi,DWORD [24+esp] - and ebx,-16 - mov edx,DWORD [28+esp] - xchg ebx,esp - mov DWORD [48+esp],ebx - movdqu xmm0,[esi] - call __vpaes_decrypt_core - movdqu [edi],xmm0 - mov esp,DWORD [48+esp] - pop edi - pop esi - pop ebx - pop ebp - ret -global _vpaes_cbc_encrypt -align 16 -_vpaes_cbc_encrypt: -L$_vpaes_cbc_encrypt_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov eax,DWORD [28+esp] - mov edx,DWORD [32+esp] - sub eax,16 - jc NEAR L$020cbc_abort - lea ebx,[esp-56] - mov ebp,DWORD [36+esp] - and ebx,-16 - mov ecx,DWORD [40+esp] - xchg ebx,esp - movdqu xmm1,[ebp] - sub edi,esi - mov DWORD [48+esp],ebx - mov DWORD [esp],edi - mov DWORD [4+esp],edx - mov DWORD [8+esp],ebp - mov edi,eax - lea ebp,[(L$_vpaes_consts+0x30-L$021pic_point)] - call __vpaes_preheat -L$021pic_point: - cmp ecx,0 - je NEAR L$022cbc_dec_loop - jmp NEAR L$023cbc_enc_loop -align 16 -L$023cbc_enc_loop: - movdqu xmm0,[esi] - pxor xmm0,xmm1 - call __vpaes_encrypt_core - mov ebx,DWORD [esp] - mov edx,DWORD [4+esp] - movdqa xmm1,xmm0 - movdqu [esi*1+ebx],xmm0 - lea esi,[16+esi] - sub edi,16 - jnc NEAR L$023cbc_enc_loop - jmp NEAR L$024cbc_done -align 16 -L$022cbc_dec_loop: - movdqu xmm0,[esi] - movdqa [16+esp],xmm1 - movdqa [32+esp],xmm0 - call __vpaes_decrypt_core - mov ebx,DWORD [esp] - mov edx,DWORD [4+esp] - pxor xmm0,[16+esp] - movdqa xmm1,[32+esp] - movdqu [esi*1+ebx],xmm0 - lea esi,[16+esi] - sub edi,16 - jnc NEAR L$022cbc_dec_loop -L$024cbc_done: - mov ebx,DWORD [8+esp] - mov esp,DWORD [48+esp] - movdqu [ebx],xmm1 -L$020cbc_abort: - pop edi - pop esi - pop ebx - pop ebp - ret diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/modes/ghash-x86.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/modes/ghash-x86.nasm deleted file mode 100644 index 88c52f746cdc..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32/crypto/modes/ghash-x86.nasm +++ /dev/null @@ -1,700 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/modes/asm/ghash-x86.pl -; -; Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -%ifidn __OUTPUT_FORMAT__,obj -section code use32 class=code align=64 -%elifidn __OUTPUT_FORMAT__,win32 -$@feat.00 equ 1 -section .text code align=64 -%else -section .text code -%endif -global _gcm_gmult_4bit_x86 -align 16 -_gcm_gmult_4bit_x86: -L$_gcm_gmult_4bit_x86_begin: - push ebp - push ebx - push esi - push edi - sub esp,84 - mov edi,DWORD [104+esp] - mov esi,DWORD [108+esp] - mov ebp,DWORD [edi] - mov edx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - mov ebx,DWORD [12+edi] - mov DWORD [16+esp],0 - mov DWORD [20+esp],471859200 - mov DWORD [24+esp],943718400 - mov DWORD [28+esp],610271232 - mov DWORD [32+esp],1887436800 - mov DWORD [36+esp],1822425088 - mov DWORD [40+esp],1220542464 - mov DWORD [44+esp],1423966208 - mov DWORD [48+esp],3774873600 - mov DWORD [52+esp],4246732800 - mov DWORD [56+esp],3644850176 - mov DWORD [60+esp],3311403008 - mov DWORD [64+esp],2441084928 - mov DWORD [68+esp],2376073216 - mov DWORD [72+esp],2847932416 - mov DWORD [76+esp],3051356160 - mov DWORD [esp],ebp - mov DWORD [4+esp],edx - mov DWORD [8+esp],ecx - mov DWORD [12+esp],ebx - shr ebx,20 - and ebx,240 - mov ebp,DWORD [4+ebx*1+esi] - mov edx,DWORD [ebx*1+esi] - mov ecx,DWORD [12+ebx*1+esi] - mov ebx,DWORD [8+ebx*1+esi] - xor eax,eax - mov edi,15 - jmp NEAR L$000x86_loop -align 16 -L$000x86_loop: - mov al,bl - shrd ebx,ecx,4 - and al,15 - shrd ecx,edx,4 - shrd edx,ebp,4 - shr ebp,4 - xor ebp,DWORD [16+eax*4+esp] - mov al,BYTE [edi*1+esp] - and al,240 - xor ebx,DWORD [8+eax*1+esi] - xor ecx,DWORD [12+eax*1+esi] - xor edx,DWORD [eax*1+esi] - xor ebp,DWORD [4+eax*1+esi] - dec edi - js NEAR L$001x86_break - mov al,bl - shrd ebx,ecx,4 - and al,15 - shrd ecx,edx,4 - shrd edx,ebp,4 - shr ebp,4 - xor ebp,DWORD [16+eax*4+esp] - mov al,BYTE [edi*1+esp] - shl al,4 - xor ebx,DWORD [8+eax*1+esi] - xor ecx,DWORD [12+eax*1+esi] - xor edx,DWORD [eax*1+esi] - xor ebp,DWORD [4+eax*1+esi] - jmp NEAR L$000x86_loop -align 16 -L$001x86_break: - bswap ebx - bswap ecx - bswap edx - bswap ebp - mov edi,DWORD [104+esp] - mov DWORD [12+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [4+edi],edx - mov DWORD [edi],ebp - add esp,84 - pop edi - pop esi - pop ebx - pop ebp - ret -global _gcm_ghash_4bit_x86 -align 16 -_gcm_ghash_4bit_x86: -L$_gcm_ghash_4bit_x86_begin: - push ebp - push ebx - push esi - push edi - sub esp,84 - mov ebx,DWORD [104+esp] - mov esi,DWORD [108+esp] - mov edi,DWORD [112+esp] - mov ecx,DWORD [116+esp] - add ecx,edi - mov DWORD [116+esp],ecx - mov ebp,DWORD [ebx] - mov edx,DWORD [4+ebx] - mov ecx,DWORD [8+ebx] - mov ebx,DWORD [12+ebx] - mov DWORD [16+esp],0 - mov DWORD [20+esp],471859200 - mov DWORD [24+esp],943718400 - mov DWORD [28+esp],610271232 - mov DWORD [32+esp],1887436800 - mov DWORD [36+esp],1822425088 - mov DWORD [40+esp],1220542464 - mov DWORD [44+esp],1423966208 - mov DWORD [48+esp],3774873600 - mov DWORD [52+esp],4246732800 - mov DWORD [56+esp],3644850176 - mov DWORD [60+esp],3311403008 - mov DWORD [64+esp],2441084928 - mov DWORD [68+esp],2376073216 - mov DWORD [72+esp],2847932416 - mov DWORD [76+esp],3051356160 -align 16 -L$002x86_outer_loop: - xor ebx,DWORD [12+edi] - xor ecx,DWORD [8+edi] - xor edx,DWORD [4+edi] - xor ebp,DWORD [edi] - mov DWORD [12+esp],ebx - mov DWORD [8+esp],ecx - mov DWORD [4+esp],edx - mov DWORD [esp],ebp - shr ebx,20 - and ebx,240 - mov ebp,DWORD [4+ebx*1+esi] - mov edx,DWORD [ebx*1+esi] - mov ecx,DWORD [12+ebx*1+esi] - mov ebx,DWORD [8+ebx*1+esi] - xor eax,eax - mov edi,15 - jmp NEAR L$003x86_loop -align 16 -L$003x86_loop: - mov al,bl - shrd ebx,ecx,4 - and al,15 - shrd ecx,edx,4 - shrd edx,ebp,4 - shr ebp,4 - xor ebp,DWORD [16+eax*4+esp] - mov al,BYTE [edi*1+esp] - and al,240 - xor ebx,DWORD [8+eax*1+esi] - xor ecx,DWORD [12+eax*1+esi] - xor edx,DWORD [eax*1+esi] - xor ebp,DWORD [4+eax*1+esi] - dec edi - js NEAR L$004x86_break - mov al,bl - shrd ebx,ecx,4 - and al,15 - shrd ecx,edx,4 - shrd edx,ebp,4 - shr ebp,4 - xor ebp,DWORD [16+eax*4+esp] - mov al,BYTE [edi*1+esp] - shl al,4 - xor ebx,DWORD [8+eax*1+esi] - xor ecx,DWORD [12+eax*1+esi] - xor edx,DWORD [eax*1+esi] - xor ebp,DWORD [4+eax*1+esi] - jmp NEAR L$003x86_loop -align 16 -L$004x86_break: - bswap ebx - bswap ecx - bswap edx - bswap ebp - mov edi,DWORD [112+esp] - lea edi,[16+edi] - cmp edi,DWORD [116+esp] - mov DWORD [112+esp],edi - jb NEAR L$002x86_outer_loop - mov edi,DWORD [104+esp] - mov DWORD [12+edi],ebx - mov DWORD [8+edi],ecx - mov DWORD [4+edi],edx - mov DWORD [edi],ebp - add esp,84 - pop edi - pop esi - pop ebx - pop ebp - ret -align 16 -__mmx_gmult_4bit_inner: - xor ecx,ecx - mov edx,ebx - mov cl,dl - shl cl,4 - and edx,240 - movq mm0,[8+ecx*1+esi] - movq mm1,[ecx*1+esi] - movd ebp,mm0 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [14+edi] - psllq mm2,60 - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [13+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [12+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [11+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [10+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [9+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [8+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [7+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [6+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [5+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [4+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [3+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [2+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [1+edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - mov cl,BYTE [edi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - mov edx,ecx - movd ebx,mm0 - pxor mm0,mm2 - shl cl,4 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+ecx*1+esi] - psllq mm2,60 - and edx,240 - pxor mm1,[ebp*8+eax] - and ebx,15 - pxor mm1,[ecx*1+esi] - movd ebp,mm0 - pxor mm0,mm2 - psrlq mm0,4 - movq mm2,mm1 - psrlq mm1,4 - pxor mm0,[8+edx*1+esi] - psllq mm2,60 - pxor mm1,[ebx*8+eax] - and ebp,15 - pxor mm1,[edx*1+esi] - movd ebx,mm0 - pxor mm0,mm2 - mov edi,DWORD [4+ebp*8+eax] - psrlq mm0,32 - movd edx,mm1 - psrlq mm1,32 - movd ecx,mm0 - movd ebp,mm1 - shl edi,4 - bswap ebx - bswap edx - bswap ecx - xor ebp,edi - bswap ebp - ret -global _gcm_gmult_4bit_mmx -align 16 -_gcm_gmult_4bit_mmx: -L$_gcm_gmult_4bit_mmx_begin: - push ebp - push ebx - push esi - push edi - mov edi,DWORD [20+esp] - mov esi,DWORD [24+esp] - call L$005pic_point -L$005pic_point: - pop eax - lea eax,[(L$rem_4bit-L$005pic_point)+eax] - movzx ebx,BYTE [15+edi] - call __mmx_gmult_4bit_inner - mov edi,DWORD [20+esp] - emms - mov DWORD [12+edi],ebx - mov DWORD [4+edi],edx - mov DWORD [8+edi],ecx - mov DWORD [edi],ebp - pop edi - pop esi - pop ebx - pop ebp - ret -global _gcm_ghash_4bit_mmx -align 16 -_gcm_ghash_4bit_mmx: -L$_gcm_ghash_4bit_mmx_begin: - push ebp - push ebx - push esi - push edi - mov ebp,DWORD [20+esp] - mov esi,DWORD [24+esp] - mov edi,DWORD [28+esp] - mov ecx,DWORD [32+esp] - call L$006pic_point -L$006pic_point: - pop eax - lea eax,[(L$rem_4bit-L$006pic_point)+eax] - add ecx,edi - mov DWORD [32+esp],ecx - sub esp,20 - mov ebx,DWORD [12+ebp] - mov edx,DWORD [4+ebp] - mov ecx,DWORD [8+ebp] - mov ebp,DWORD [ebp] - jmp NEAR L$007mmx_outer_loop -align 16 -L$007mmx_outer_loop: - xor ebx,DWORD [12+edi] - xor edx,DWORD [4+edi] - xor ecx,DWORD [8+edi] - xor ebp,DWORD [edi] - mov DWORD [48+esp],edi - mov DWORD [12+esp],ebx - mov DWORD [4+esp],edx - mov DWORD [8+esp],ecx - mov DWORD [esp],ebp - mov edi,esp - shr ebx,24 - call __mmx_gmult_4bit_inner - mov edi,DWORD [48+esp] - lea edi,[16+edi] - cmp edi,DWORD [52+esp] - jb NEAR L$007mmx_outer_loop - mov edi,DWORD [40+esp] - emms - mov DWORD [12+edi],ebx - mov DWORD [4+edi],edx - mov DWORD [8+edi],ecx - mov DWORD [edi],ebp - add esp,20 - pop edi - pop esi - pop ebx - pop ebp - ret -align 64 -L$rem_4bit: -dd 0,0,0,29491200,0,58982400,0,38141952 -dd 0,117964800,0,113901568,0,76283904,0,88997888 -dd 0,235929600,0,265420800,0,227803136,0,206962688 -dd 0,152567808,0,148504576,0,177995776,0,190709760 -db 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 -db 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 -db 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 -db 0 diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha1-586.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha1-586.nasm deleted file mode 100644 index bf2831e5eaef..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha1-586.nasm +++ /dev/null @@ -1,1394 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/sha/asm/sha1-586.pl -; -; Copyright 1998-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -%ifidn __OUTPUT_FORMAT__,obj -section code use32 class=code align=64 -%elifidn __OUTPUT_FORMAT__,win32 -$@feat.00 equ 1 -section .text code align=64 -%else -section .text code -%endif -global _sha1_block_data_order -align 16 -_sha1_block_data_order: -L$_sha1_block_data_order_begin: - push ebp - push ebx - push esi - push edi - mov ebp,DWORD [20+esp] - mov esi,DWORD [24+esp] - mov eax,DWORD [28+esp] - sub esp,76 - shl eax,6 - add eax,esi - mov DWORD [104+esp],eax - mov edi,DWORD [16+ebp] - jmp NEAR L$000loop -align 16 -L$000loop: - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - bswap eax - bswap ebx - bswap ecx - bswap edx - mov DWORD [esp],eax - mov DWORD [4+esp],ebx - mov DWORD [8+esp],ecx - mov DWORD [12+esp],edx - mov eax,DWORD [16+esi] - mov ebx,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov edx,DWORD [28+esi] - bswap eax - bswap ebx - bswap ecx - bswap edx - mov DWORD [16+esp],eax - mov DWORD [20+esp],ebx - mov DWORD [24+esp],ecx - mov DWORD [28+esp],edx - mov eax,DWORD [32+esi] - mov ebx,DWORD [36+esi] - mov ecx,DWORD [40+esi] - mov edx,DWORD [44+esi] - bswap eax - bswap ebx - bswap ecx - bswap edx - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov DWORD [40+esp],ecx - mov DWORD [44+esp],edx - mov eax,DWORD [48+esi] - mov ebx,DWORD [52+esi] - mov ecx,DWORD [56+esi] - mov edx,DWORD [60+esi] - bswap eax - bswap ebx - bswap ecx - bswap edx - mov DWORD [48+esp],eax - mov DWORD [52+esp],ebx - mov DWORD [56+esp],ecx - mov DWORD [60+esp],edx - mov DWORD [100+esp],esi - mov eax,DWORD [ebp] - mov ebx,DWORD [4+ebp] - mov ecx,DWORD [8+ebp] - mov edx,DWORD [12+ebp] - ; 00_15 0 - mov esi,ecx - mov ebp,eax - rol ebp,5 - xor esi,edx - add ebp,edi - mov edi,DWORD [esp] - and esi,ebx - ror ebx,2 - xor esi,edx - lea ebp,[1518500249+edi*1+ebp] - add ebp,esi - ; 00_15 1 - mov edi,ebx - mov esi,ebp - rol ebp,5 - xor edi,ecx - add ebp,edx - mov edx,DWORD [4+esp] - and edi,eax - ror eax,2 - xor edi,ecx - lea ebp,[1518500249+edx*1+ebp] - add ebp,edi - ; 00_15 2 - mov edx,eax - mov edi,ebp - rol ebp,5 - xor edx,ebx - add ebp,ecx - mov ecx,DWORD [8+esp] - and edx,esi - ror esi,2 - xor edx,ebx - lea ebp,[1518500249+ecx*1+ebp] - add ebp,edx - ; 00_15 3 - mov ecx,esi - mov edx,ebp - rol ebp,5 - xor ecx,eax - add ebp,ebx - mov ebx,DWORD [12+esp] - and ecx,edi - ror edi,2 - xor ecx,eax - lea ebp,[1518500249+ebx*1+ebp] - add ebp,ecx - ; 00_15 4 - mov ebx,edi - mov ecx,ebp - rol ebp,5 - xor ebx,esi - add ebp,eax - mov eax,DWORD [16+esp] - and ebx,edx - ror edx,2 - xor ebx,esi - lea ebp,[1518500249+eax*1+ebp] - add ebp,ebx - ; 00_15 5 - mov eax,edx - mov ebx,ebp - rol ebp,5 - xor eax,edi - add ebp,esi - mov esi,DWORD [20+esp] - and eax,ecx - ror ecx,2 - xor eax,edi - lea ebp,[1518500249+esi*1+ebp] - add ebp,eax - ; 00_15 6 - mov esi,ecx - mov eax,ebp - rol ebp,5 - xor esi,edx - add ebp,edi - mov edi,DWORD [24+esp] - and esi,ebx - ror ebx,2 - xor esi,edx - lea ebp,[1518500249+edi*1+ebp] - add ebp,esi - ; 00_15 7 - mov edi,ebx - mov esi,ebp - rol ebp,5 - xor edi,ecx - add ebp,edx - mov edx,DWORD [28+esp] - and edi,eax - ror eax,2 - xor edi,ecx - lea ebp,[1518500249+edx*1+ebp] - add ebp,edi - ; 00_15 8 - mov edx,eax - mov edi,ebp - rol ebp,5 - xor edx,ebx - add ebp,ecx - mov ecx,DWORD [32+esp] - and edx,esi - ror esi,2 - xor edx,ebx - lea ebp,[1518500249+ecx*1+ebp] - add ebp,edx - ; 00_15 9 - mov ecx,esi - mov edx,ebp - rol ebp,5 - xor ecx,eax - add ebp,ebx - mov ebx,DWORD [36+esp] - and ecx,edi - ror edi,2 - xor ecx,eax - lea ebp,[1518500249+ebx*1+ebp] - add ebp,ecx - ; 00_15 10 - mov ebx,edi - mov ecx,ebp - rol ebp,5 - xor ebx,esi - add ebp,eax - mov eax,DWORD [40+esp] - and ebx,edx - ror edx,2 - xor ebx,esi - lea ebp,[1518500249+eax*1+ebp] - add ebp,ebx - ; 00_15 11 - mov eax,edx - mov ebx,ebp - rol ebp,5 - xor eax,edi - add ebp,esi - mov esi,DWORD [44+esp] - and eax,ecx - ror ecx,2 - xor eax,edi - lea ebp,[1518500249+esi*1+ebp] - add ebp,eax - ; 00_15 12 - mov esi,ecx - mov eax,ebp - rol ebp,5 - xor esi,edx - add ebp,edi - mov edi,DWORD [48+esp] - and esi,ebx - ror ebx,2 - xor esi,edx - lea ebp,[1518500249+edi*1+ebp] - add ebp,esi - ; 00_15 13 - mov edi,ebx - mov esi,ebp - rol ebp,5 - xor edi,ecx - add ebp,edx - mov edx,DWORD [52+esp] - and edi,eax - ror eax,2 - xor edi,ecx - lea ebp,[1518500249+edx*1+ebp] - add ebp,edi - ; 00_15 14 - mov edx,eax - mov edi,ebp - rol ebp,5 - xor edx,ebx - add ebp,ecx - mov ecx,DWORD [56+esp] - and edx,esi - ror esi,2 - xor edx,ebx - lea ebp,[1518500249+ecx*1+ebp] - add ebp,edx - ; 00_15 15 - mov ecx,esi - mov edx,ebp - rol ebp,5 - xor ecx,eax - add ebp,ebx - mov ebx,DWORD [60+esp] - and ecx,edi - ror edi,2 - xor ecx,eax - lea ebp,[1518500249+ebx*1+ebp] - mov ebx,DWORD [esp] - add ecx,ebp - ; 16_19 16 - mov ebp,edi - xor ebx,DWORD [8+esp] - xor ebp,esi - xor ebx,DWORD [32+esp] - and ebp,edx - xor ebx,DWORD [52+esp] - rol ebx,1 - xor ebp,esi - add eax,ebp - mov ebp,ecx - ror edx,2 - mov DWORD [esp],ebx - rol ebp,5 - lea ebx,[1518500249+eax*1+ebx] - mov eax,DWORD [4+esp] - add ebx,ebp - ; 16_19 17 - mov ebp,edx - xor eax,DWORD [12+esp] - xor ebp,edi - xor eax,DWORD [36+esp] - and ebp,ecx - xor eax,DWORD [56+esp] - rol eax,1 - xor ebp,edi - add esi,ebp - mov ebp,ebx - ror ecx,2 - mov DWORD [4+esp],eax - rol ebp,5 - lea eax,[1518500249+esi*1+eax] - mov esi,DWORD [8+esp] - add eax,ebp - ; 16_19 18 - mov ebp,ecx - xor esi,DWORD [16+esp] - xor ebp,edx - xor esi,DWORD [40+esp] - and ebp,ebx - xor esi,DWORD [60+esp] - rol esi,1 - xor ebp,edx - add edi,ebp - mov ebp,eax - ror ebx,2 - mov DWORD [8+esp],esi - rol ebp,5 - lea esi,[1518500249+edi*1+esi] - mov edi,DWORD [12+esp] - add esi,ebp - ; 16_19 19 - mov ebp,ebx - xor edi,DWORD [20+esp] - xor ebp,ecx - xor edi,DWORD [44+esp] - and ebp,eax - xor edi,DWORD [esp] - rol edi,1 - xor ebp,ecx - add edx,ebp - mov ebp,esi - ror eax,2 - mov DWORD [12+esp],edi - rol ebp,5 - lea edi,[1518500249+edx*1+edi] - mov edx,DWORD [16+esp] - add edi,ebp - ; 20_39 20 - mov ebp,esi - xor edx,DWORD [24+esp] - xor ebp,eax - xor edx,DWORD [48+esp] - xor ebp,ebx - xor edx,DWORD [4+esp] - rol edx,1 - add ecx,ebp - ror esi,2 - mov ebp,edi - rol ebp,5 - mov DWORD [16+esp],edx - lea edx,[1859775393+ecx*1+edx] - mov ecx,DWORD [20+esp] - add edx,ebp - ; 20_39 21 - mov ebp,edi - xor ecx,DWORD [28+esp] - xor ebp,esi - xor ecx,DWORD [52+esp] - xor ebp,eax - xor ecx,DWORD [8+esp] - rol ecx,1 - add ebx,ebp - ror edi,2 - mov ebp,edx - rol ebp,5 - mov DWORD [20+esp],ecx - lea ecx,[1859775393+ebx*1+ecx] - mov ebx,DWORD [24+esp] - add ecx,ebp - ; 20_39 22 - mov ebp,edx - xor ebx,DWORD [32+esp] - xor ebp,edi - xor ebx,DWORD [56+esp] - xor ebp,esi - xor ebx,DWORD [12+esp] - rol ebx,1 - add eax,ebp - ror edx,2 - mov ebp,ecx - rol ebp,5 - mov DWORD [24+esp],ebx - lea ebx,[1859775393+eax*1+ebx] - mov eax,DWORD [28+esp] - add ebx,ebp - ; 20_39 23 - mov ebp,ecx - xor eax,DWORD [36+esp] - xor ebp,edx - xor eax,DWORD [60+esp] - xor ebp,edi - xor eax,DWORD [16+esp] - rol eax,1 - add esi,ebp - ror ecx,2 - mov ebp,ebx - rol ebp,5 - mov DWORD [28+esp],eax - lea eax,[1859775393+esi*1+eax] - mov esi,DWORD [32+esp] - add eax,ebp - ; 20_39 24 - mov ebp,ebx - xor esi,DWORD [40+esp] - xor ebp,ecx - xor esi,DWORD [esp] - xor ebp,edx - xor esi,DWORD [20+esp] - rol esi,1 - add edi,ebp - ror ebx,2 - mov ebp,eax - rol ebp,5 - mov DWORD [32+esp],esi - lea esi,[1859775393+edi*1+esi] - mov edi,DWORD [36+esp] - add esi,ebp - ; 20_39 25 - mov ebp,eax - xor edi,DWORD [44+esp] - xor ebp,ebx - xor edi,DWORD [4+esp] - xor ebp,ecx - xor edi,DWORD [24+esp] - rol edi,1 - add edx,ebp - ror eax,2 - mov ebp,esi - rol ebp,5 - mov DWORD [36+esp],edi - lea edi,[1859775393+edx*1+edi] - mov edx,DWORD [40+esp] - add edi,ebp - ; 20_39 26 - mov ebp,esi - xor edx,DWORD [48+esp] - xor ebp,eax - xor edx,DWORD [8+esp] - xor ebp,ebx - xor edx,DWORD [28+esp] - rol edx,1 - add ecx,ebp - ror esi,2 - mov ebp,edi - rol ebp,5 - mov DWORD [40+esp],edx - lea edx,[1859775393+ecx*1+edx] - mov ecx,DWORD [44+esp] - add edx,ebp - ; 20_39 27 - mov ebp,edi - xor ecx,DWORD [52+esp] - xor ebp,esi - xor ecx,DWORD [12+esp] - xor ebp,eax - xor ecx,DWORD [32+esp] - rol ecx,1 - add ebx,ebp - ror edi,2 - mov ebp,edx - rol ebp,5 - mov DWORD [44+esp],ecx - lea ecx,[1859775393+ebx*1+ecx] - mov ebx,DWORD [48+esp] - add ecx,ebp - ; 20_39 28 - mov ebp,edx - xor ebx,DWORD [56+esp] - xor ebp,edi - xor ebx,DWORD [16+esp] - xor ebp,esi - xor ebx,DWORD [36+esp] - rol ebx,1 - add eax,ebp - ror edx,2 - mov ebp,ecx - rol ebp,5 - mov DWORD [48+esp],ebx - lea ebx,[1859775393+eax*1+ebx] - mov eax,DWORD [52+esp] - add ebx,ebp - ; 20_39 29 - mov ebp,ecx - xor eax,DWORD [60+esp] - xor ebp,edx - xor eax,DWORD [20+esp] - xor ebp,edi - xor eax,DWORD [40+esp] - rol eax,1 - add esi,ebp - ror ecx,2 - mov ebp,ebx - rol ebp,5 - mov DWORD [52+esp],eax - lea eax,[1859775393+esi*1+eax] - mov esi,DWORD [56+esp] - add eax,ebp - ; 20_39 30 - mov ebp,ebx - xor esi,DWORD [esp] - xor ebp,ecx - xor esi,DWORD [24+esp] - xor ebp,edx - xor esi,DWORD [44+esp] - rol esi,1 - add edi,ebp - ror ebx,2 - mov ebp,eax - rol ebp,5 - mov DWORD [56+esp],esi - lea esi,[1859775393+edi*1+esi] - mov edi,DWORD [60+esp] - add esi,ebp - ; 20_39 31 - mov ebp,eax - xor edi,DWORD [4+esp] - xor ebp,ebx - xor edi,DWORD [28+esp] - xor ebp,ecx - xor edi,DWORD [48+esp] - rol edi,1 - add edx,ebp - ror eax,2 - mov ebp,esi - rol ebp,5 - mov DWORD [60+esp],edi - lea edi,[1859775393+edx*1+edi] - mov edx,DWORD [esp] - add edi,ebp - ; 20_39 32 - mov ebp,esi - xor edx,DWORD [8+esp] - xor ebp,eax - xor edx,DWORD [32+esp] - xor ebp,ebx - xor edx,DWORD [52+esp] - rol edx,1 - add ecx,ebp - ror esi,2 - mov ebp,edi - rol ebp,5 - mov DWORD [esp],edx - lea edx,[1859775393+ecx*1+edx] - mov ecx,DWORD [4+esp] - add edx,ebp - ; 20_39 33 - mov ebp,edi - xor ecx,DWORD [12+esp] - xor ebp,esi - xor ecx,DWORD [36+esp] - xor ebp,eax - xor ecx,DWORD [56+esp] - rol ecx,1 - add ebx,ebp - ror edi,2 - mov ebp,edx - rol ebp,5 - mov DWORD [4+esp],ecx - lea ecx,[1859775393+ebx*1+ecx] - mov ebx,DWORD [8+esp] - add ecx,ebp - ; 20_39 34 - mov ebp,edx - xor ebx,DWORD [16+esp] - xor ebp,edi - xor ebx,DWORD [40+esp] - xor ebp,esi - xor ebx,DWORD [60+esp] - rol ebx,1 - add eax,ebp - ror edx,2 - mov ebp,ecx - rol ebp,5 - mov DWORD [8+esp],ebx - lea ebx,[1859775393+eax*1+ebx] - mov eax,DWORD [12+esp] - add ebx,ebp - ; 20_39 35 - mov ebp,ecx - xor eax,DWORD [20+esp] - xor ebp,edx - xor eax,DWORD [44+esp] - xor ebp,edi - xor eax,DWORD [esp] - rol eax,1 - add esi,ebp - ror ecx,2 - mov ebp,ebx - rol ebp,5 - mov DWORD [12+esp],eax - lea eax,[1859775393+esi*1+eax] - mov esi,DWORD [16+esp] - add eax,ebp - ; 20_39 36 - mov ebp,ebx - xor esi,DWORD [24+esp] - xor ebp,ecx - xor esi,DWORD [48+esp] - xor ebp,edx - xor esi,DWORD [4+esp] - rol esi,1 - add edi,ebp - ror ebx,2 - mov ebp,eax - rol ebp,5 - mov DWORD [16+esp],esi - lea esi,[1859775393+edi*1+esi] - mov edi,DWORD [20+esp] - add esi,ebp - ; 20_39 37 - mov ebp,eax - xor edi,DWORD [28+esp] - xor ebp,ebx - xor edi,DWORD [52+esp] - xor ebp,ecx - xor edi,DWORD [8+esp] - rol edi,1 - add edx,ebp - ror eax,2 - mov ebp,esi - rol ebp,5 - mov DWORD [20+esp],edi - lea edi,[1859775393+edx*1+edi] - mov edx,DWORD [24+esp] - add edi,ebp - ; 20_39 38 - mov ebp,esi - xor edx,DWORD [32+esp] - xor ebp,eax - xor edx,DWORD [56+esp] - xor ebp,ebx - xor edx,DWORD [12+esp] - rol edx,1 - add ecx,ebp - ror esi,2 - mov ebp,edi - rol ebp,5 - mov DWORD [24+esp],edx - lea edx,[1859775393+ecx*1+edx] - mov ecx,DWORD [28+esp] - add edx,ebp - ; 20_39 39 - mov ebp,edi - xor ecx,DWORD [36+esp] - xor ebp,esi - xor ecx,DWORD [60+esp] - xor ebp,eax - xor ecx,DWORD [16+esp] - rol ecx,1 - add ebx,ebp - ror edi,2 - mov ebp,edx - rol ebp,5 - mov DWORD [28+esp],ecx - lea ecx,[1859775393+ebx*1+ecx] - mov ebx,DWORD [32+esp] - add ecx,ebp - ; 40_59 40 - mov ebp,edi - xor ebx,DWORD [40+esp] - xor ebp,esi - xor ebx,DWORD [esp] - and ebp,edx - xor ebx,DWORD [20+esp] - rol ebx,1 - add ebp,eax - ror edx,2 - mov eax,ecx - rol eax,5 - mov DWORD [32+esp],ebx - lea ebx,[2400959708+ebp*1+ebx] - mov ebp,edi - add ebx,eax - and ebp,esi - mov eax,DWORD [36+esp] - add ebx,ebp - ; 40_59 41 - mov ebp,edx - xor eax,DWORD [44+esp] - xor ebp,edi - xor eax,DWORD [4+esp] - and ebp,ecx - xor eax,DWORD [24+esp] - rol eax,1 - add ebp,esi - ror ecx,2 - mov esi,ebx - rol esi,5 - mov DWORD [36+esp],eax - lea eax,[2400959708+ebp*1+eax] - mov ebp,edx - add eax,esi - and ebp,edi - mov esi,DWORD [40+esp] - add eax,ebp - ; 40_59 42 - mov ebp,ecx - xor esi,DWORD [48+esp] - xor ebp,edx - xor esi,DWORD [8+esp] - and ebp,ebx - xor esi,DWORD [28+esp] - rol esi,1 - add ebp,edi - ror ebx,2 - mov edi,eax - rol edi,5 - mov DWORD [40+esp],esi - lea esi,[2400959708+ebp*1+esi] - mov ebp,ecx - add esi,edi - and ebp,edx - mov edi,DWORD [44+esp] - add esi,ebp - ; 40_59 43 - mov ebp,ebx - xor edi,DWORD [52+esp] - xor ebp,ecx - xor edi,DWORD [12+esp] - and ebp,eax - xor edi,DWORD [32+esp] - rol edi,1 - add ebp,edx - ror eax,2 - mov edx,esi - rol edx,5 - mov DWORD [44+esp],edi - lea edi,[2400959708+ebp*1+edi] - mov ebp,ebx - add edi,edx - and ebp,ecx - mov edx,DWORD [48+esp] - add edi,ebp - ; 40_59 44 - mov ebp,eax - xor edx,DWORD [56+esp] - xor ebp,ebx - xor edx,DWORD [16+esp] - and ebp,esi - xor edx,DWORD [36+esp] - rol edx,1 - add ebp,ecx - ror esi,2 - mov ecx,edi - rol ecx,5 - mov DWORD [48+esp],edx - lea edx,[2400959708+ebp*1+edx] - mov ebp,eax - add edx,ecx - and ebp,ebx - mov ecx,DWORD [52+esp] - add edx,ebp - ; 40_59 45 - mov ebp,esi - xor ecx,DWORD [60+esp] - xor ebp,eax - xor ecx,DWORD [20+esp] - and ebp,edi - xor ecx,DWORD [40+esp] - rol ecx,1 - add ebp,ebx - ror edi,2 - mov ebx,edx - rol ebx,5 - mov DWORD [52+esp],ecx - lea ecx,[2400959708+ebp*1+ecx] - mov ebp,esi - add ecx,ebx - and ebp,eax - mov ebx,DWORD [56+esp] - add ecx,ebp - ; 40_59 46 - mov ebp,edi - xor ebx,DWORD [esp] - xor ebp,esi - xor ebx,DWORD [24+esp] - and ebp,edx - xor ebx,DWORD [44+esp] - rol ebx,1 - add ebp,eax - ror edx,2 - mov eax,ecx - rol eax,5 - mov DWORD [56+esp],ebx - lea ebx,[2400959708+ebp*1+ebx] - mov ebp,edi - add ebx,eax - and ebp,esi - mov eax,DWORD [60+esp] - add ebx,ebp - ; 40_59 47 - mov ebp,edx - xor eax,DWORD [4+esp] - xor ebp,edi - xor eax,DWORD [28+esp] - and ebp,ecx - xor eax,DWORD [48+esp] - rol eax,1 - add ebp,esi - ror ecx,2 - mov esi,ebx - rol esi,5 - mov DWORD [60+esp],eax - lea eax,[2400959708+ebp*1+eax] - mov ebp,edx - add eax,esi - and ebp,edi - mov esi,DWORD [esp] - add eax,ebp - ; 40_59 48 - mov ebp,ecx - xor esi,DWORD [8+esp] - xor ebp,edx - xor esi,DWORD [32+esp] - and ebp,ebx - xor esi,DWORD [52+esp] - rol esi,1 - add ebp,edi - ror ebx,2 - mov edi,eax - rol edi,5 - mov DWORD [esp],esi - lea esi,[2400959708+ebp*1+esi] - mov ebp,ecx - add esi,edi - and ebp,edx - mov edi,DWORD [4+esp] - add esi,ebp - ; 40_59 49 - mov ebp,ebx - xor edi,DWORD [12+esp] - xor ebp,ecx - xor edi,DWORD [36+esp] - and ebp,eax - xor edi,DWORD [56+esp] - rol edi,1 - add ebp,edx - ror eax,2 - mov edx,esi - rol edx,5 - mov DWORD [4+esp],edi - lea edi,[2400959708+ebp*1+edi] - mov ebp,ebx - add edi,edx - and ebp,ecx - mov edx,DWORD [8+esp] - add edi,ebp - ; 40_59 50 - mov ebp,eax - xor edx,DWORD [16+esp] - xor ebp,ebx - xor edx,DWORD [40+esp] - and ebp,esi - xor edx,DWORD [60+esp] - rol edx,1 - add ebp,ecx - ror esi,2 - mov ecx,edi - rol ecx,5 - mov DWORD [8+esp],edx - lea edx,[2400959708+ebp*1+edx] - mov ebp,eax - add edx,ecx - and ebp,ebx - mov ecx,DWORD [12+esp] - add edx,ebp - ; 40_59 51 - mov ebp,esi - xor ecx,DWORD [20+esp] - xor ebp,eax - xor ecx,DWORD [44+esp] - and ebp,edi - xor ecx,DWORD [esp] - rol ecx,1 - add ebp,ebx - ror edi,2 - mov ebx,edx - rol ebx,5 - mov DWORD [12+esp],ecx - lea ecx,[2400959708+ebp*1+ecx] - mov ebp,esi - add ecx,ebx - and ebp,eax - mov ebx,DWORD [16+esp] - add ecx,ebp - ; 40_59 52 - mov ebp,edi - xor ebx,DWORD [24+esp] - xor ebp,esi - xor ebx,DWORD [48+esp] - and ebp,edx - xor ebx,DWORD [4+esp] - rol ebx,1 - add ebp,eax - ror edx,2 - mov eax,ecx - rol eax,5 - mov DWORD [16+esp],ebx - lea ebx,[2400959708+ebp*1+ebx] - mov ebp,edi - add ebx,eax - and ebp,esi - mov eax,DWORD [20+esp] - add ebx,ebp - ; 40_59 53 - mov ebp,edx - xor eax,DWORD [28+esp] - xor ebp,edi - xor eax,DWORD [52+esp] - and ebp,ecx - xor eax,DWORD [8+esp] - rol eax,1 - add ebp,esi - ror ecx,2 - mov esi,ebx - rol esi,5 - mov DWORD [20+esp],eax - lea eax,[2400959708+ebp*1+eax] - mov ebp,edx - add eax,esi - and ebp,edi - mov esi,DWORD [24+esp] - add eax,ebp - ; 40_59 54 - mov ebp,ecx - xor esi,DWORD [32+esp] - xor ebp,edx - xor esi,DWORD [56+esp] - and ebp,ebx - xor esi,DWORD [12+esp] - rol esi,1 - add ebp,edi - ror ebx,2 - mov edi,eax - rol edi,5 - mov DWORD [24+esp],esi - lea esi,[2400959708+ebp*1+esi] - mov ebp,ecx - add esi,edi - and ebp,edx - mov edi,DWORD [28+esp] - add esi,ebp - ; 40_59 55 - mov ebp,ebx - xor edi,DWORD [36+esp] - xor ebp,ecx - xor edi,DWORD [60+esp] - and ebp,eax - xor edi,DWORD [16+esp] - rol edi,1 - add ebp,edx - ror eax,2 - mov edx,esi - rol edx,5 - mov DWORD [28+esp],edi - lea edi,[2400959708+ebp*1+edi] - mov ebp,ebx - add edi,edx - and ebp,ecx - mov edx,DWORD [32+esp] - add edi,ebp - ; 40_59 56 - mov ebp,eax - xor edx,DWORD [40+esp] - xor ebp,ebx - xor edx,DWORD [esp] - and ebp,esi - xor edx,DWORD [20+esp] - rol edx,1 - add ebp,ecx - ror esi,2 - mov ecx,edi - rol ecx,5 - mov DWORD [32+esp],edx - lea edx,[2400959708+ebp*1+edx] - mov ebp,eax - add edx,ecx - and ebp,ebx - mov ecx,DWORD [36+esp] - add edx,ebp - ; 40_59 57 - mov ebp,esi - xor ecx,DWORD [44+esp] - xor ebp,eax - xor ecx,DWORD [4+esp] - and ebp,edi - xor ecx,DWORD [24+esp] - rol ecx,1 - add ebp,ebx - ror edi,2 - mov ebx,edx - rol ebx,5 - mov DWORD [36+esp],ecx - lea ecx,[2400959708+ebp*1+ecx] - mov ebp,esi - add ecx,ebx - and ebp,eax - mov ebx,DWORD [40+esp] - add ecx,ebp - ; 40_59 58 - mov ebp,edi - xor ebx,DWORD [48+esp] - xor ebp,esi - xor ebx,DWORD [8+esp] - and ebp,edx - xor ebx,DWORD [28+esp] - rol ebx,1 - add ebp,eax - ror edx,2 - mov eax,ecx - rol eax,5 - mov DWORD [40+esp],ebx - lea ebx,[2400959708+ebp*1+ebx] - mov ebp,edi - add ebx,eax - and ebp,esi - mov eax,DWORD [44+esp] - add ebx,ebp - ; 40_59 59 - mov ebp,edx - xor eax,DWORD [52+esp] - xor ebp,edi - xor eax,DWORD [12+esp] - and ebp,ecx - xor eax,DWORD [32+esp] - rol eax,1 - add ebp,esi - ror ecx,2 - mov esi,ebx - rol esi,5 - mov DWORD [44+esp],eax - lea eax,[2400959708+ebp*1+eax] - mov ebp,edx - add eax,esi - and ebp,edi - mov esi,DWORD [48+esp] - add eax,ebp - ; 20_39 60 - mov ebp,ebx - xor esi,DWORD [56+esp] - xor ebp,ecx - xor esi,DWORD [16+esp] - xor ebp,edx - xor esi,DWORD [36+esp] - rol esi,1 - add edi,ebp - ror ebx,2 - mov ebp,eax - rol ebp,5 - mov DWORD [48+esp],esi - lea esi,[3395469782+edi*1+esi] - mov edi,DWORD [52+esp] - add esi,ebp - ; 20_39 61 - mov ebp,eax - xor edi,DWORD [60+esp] - xor ebp,ebx - xor edi,DWORD [20+esp] - xor ebp,ecx - xor edi,DWORD [40+esp] - rol edi,1 - add edx,ebp - ror eax,2 - mov ebp,esi - rol ebp,5 - mov DWORD [52+esp],edi - lea edi,[3395469782+edx*1+edi] - mov edx,DWORD [56+esp] - add edi,ebp - ; 20_39 62 - mov ebp,esi - xor edx,DWORD [esp] - xor ebp,eax - xor edx,DWORD [24+esp] - xor ebp,ebx - xor edx,DWORD [44+esp] - rol edx,1 - add ecx,ebp - ror esi,2 - mov ebp,edi - rol ebp,5 - mov DWORD [56+esp],edx - lea edx,[3395469782+ecx*1+edx] - mov ecx,DWORD [60+esp] - add edx,ebp - ; 20_39 63 - mov ebp,edi - xor ecx,DWORD [4+esp] - xor ebp,esi - xor ecx,DWORD [28+esp] - xor ebp,eax - xor ecx,DWORD [48+esp] - rol ecx,1 - add ebx,ebp - ror edi,2 - mov ebp,edx - rol ebp,5 - mov DWORD [60+esp],ecx - lea ecx,[3395469782+ebx*1+ecx] - mov ebx,DWORD [esp] - add ecx,ebp - ; 20_39 64 - mov ebp,edx - xor ebx,DWORD [8+esp] - xor ebp,edi - xor ebx,DWORD [32+esp] - xor ebp,esi - xor ebx,DWORD [52+esp] - rol ebx,1 - add eax,ebp - ror edx,2 - mov ebp,ecx - rol ebp,5 - mov DWORD [esp],ebx - lea ebx,[3395469782+eax*1+ebx] - mov eax,DWORD [4+esp] - add ebx,ebp - ; 20_39 65 - mov ebp,ecx - xor eax,DWORD [12+esp] - xor ebp,edx - xor eax,DWORD [36+esp] - xor ebp,edi - xor eax,DWORD [56+esp] - rol eax,1 - add esi,ebp - ror ecx,2 - mov ebp,ebx - rol ebp,5 - mov DWORD [4+esp],eax - lea eax,[3395469782+esi*1+eax] - mov esi,DWORD [8+esp] - add eax,ebp - ; 20_39 66 - mov ebp,ebx - xor esi,DWORD [16+esp] - xor ebp,ecx - xor esi,DWORD [40+esp] - xor ebp,edx - xor esi,DWORD [60+esp] - rol esi,1 - add edi,ebp - ror ebx,2 - mov ebp,eax - rol ebp,5 - mov DWORD [8+esp],esi - lea esi,[3395469782+edi*1+esi] - mov edi,DWORD [12+esp] - add esi,ebp - ; 20_39 67 - mov ebp,eax - xor edi,DWORD [20+esp] - xor ebp,ebx - xor edi,DWORD [44+esp] - xor ebp,ecx - xor edi,DWORD [esp] - rol edi,1 - add edx,ebp - ror eax,2 - mov ebp,esi - rol ebp,5 - mov DWORD [12+esp],edi - lea edi,[3395469782+edx*1+edi] - mov edx,DWORD [16+esp] - add edi,ebp - ; 20_39 68 - mov ebp,esi - xor edx,DWORD [24+esp] - xor ebp,eax - xor edx,DWORD [48+esp] - xor ebp,ebx - xor edx,DWORD [4+esp] - rol edx,1 - add ecx,ebp - ror esi,2 - mov ebp,edi - rol ebp,5 - mov DWORD [16+esp],edx - lea edx,[3395469782+ecx*1+edx] - mov ecx,DWORD [20+esp] - add edx,ebp - ; 20_39 69 - mov ebp,edi - xor ecx,DWORD [28+esp] - xor ebp,esi - xor ecx,DWORD [52+esp] - xor ebp,eax - xor ecx,DWORD [8+esp] - rol ecx,1 - add ebx,ebp - ror edi,2 - mov ebp,edx - rol ebp,5 - mov DWORD [20+esp],ecx - lea ecx,[3395469782+ebx*1+ecx] - mov ebx,DWORD [24+esp] - add ecx,ebp - ; 20_39 70 - mov ebp,edx - xor ebx,DWORD [32+esp] - xor ebp,edi - xor ebx,DWORD [56+esp] - xor ebp,esi - xor ebx,DWORD [12+esp] - rol ebx,1 - add eax,ebp - ror edx,2 - mov ebp,ecx - rol ebp,5 - mov DWORD [24+esp],ebx - lea ebx,[3395469782+eax*1+ebx] - mov eax,DWORD [28+esp] - add ebx,ebp - ; 20_39 71 - mov ebp,ecx - xor eax,DWORD [36+esp] - xor ebp,edx - xor eax,DWORD [60+esp] - xor ebp,edi - xor eax,DWORD [16+esp] - rol eax,1 - add esi,ebp - ror ecx,2 - mov ebp,ebx - rol ebp,5 - mov DWORD [28+esp],eax - lea eax,[3395469782+esi*1+eax] - mov esi,DWORD [32+esp] - add eax,ebp - ; 20_39 72 - mov ebp,ebx - xor esi,DWORD [40+esp] - xor ebp,ecx - xor esi,DWORD [esp] - xor ebp,edx - xor esi,DWORD [20+esp] - rol esi,1 - add edi,ebp - ror ebx,2 - mov ebp,eax - rol ebp,5 - mov DWORD [32+esp],esi - lea esi,[3395469782+edi*1+esi] - mov edi,DWORD [36+esp] - add esi,ebp - ; 20_39 73 - mov ebp,eax - xor edi,DWORD [44+esp] - xor ebp,ebx - xor edi,DWORD [4+esp] - xor ebp,ecx - xor edi,DWORD [24+esp] - rol edi,1 - add edx,ebp - ror eax,2 - mov ebp,esi - rol ebp,5 - mov DWORD [36+esp],edi - lea edi,[3395469782+edx*1+edi] - mov edx,DWORD [40+esp] - add edi,ebp - ; 20_39 74 - mov ebp,esi - xor edx,DWORD [48+esp] - xor ebp,eax - xor edx,DWORD [8+esp] - xor ebp,ebx - xor edx,DWORD [28+esp] - rol edx,1 - add ecx,ebp - ror esi,2 - mov ebp,edi - rol ebp,5 - mov DWORD [40+esp],edx - lea edx,[3395469782+ecx*1+edx] - mov ecx,DWORD [44+esp] - add edx,ebp - ; 20_39 75 - mov ebp,edi - xor ecx,DWORD [52+esp] - xor ebp,esi - xor ecx,DWORD [12+esp] - xor ebp,eax - xor ecx,DWORD [32+esp] - rol ecx,1 - add ebx,ebp - ror edi,2 - mov ebp,edx - rol ebp,5 - mov DWORD [44+esp],ecx - lea ecx,[3395469782+ebx*1+ecx] - mov ebx,DWORD [48+esp] - add ecx,ebp - ; 20_39 76 - mov ebp,edx - xor ebx,DWORD [56+esp] - xor ebp,edi - xor ebx,DWORD [16+esp] - xor ebp,esi - xor ebx,DWORD [36+esp] - rol ebx,1 - add eax,ebp - ror edx,2 - mov ebp,ecx - rol ebp,5 - mov DWORD [48+esp],ebx - lea ebx,[3395469782+eax*1+ebx] - mov eax,DWORD [52+esp] - add ebx,ebp - ; 20_39 77 - mov ebp,ecx - xor eax,DWORD [60+esp] - xor ebp,edx - xor eax,DWORD [20+esp] - xor ebp,edi - xor eax,DWORD [40+esp] - rol eax,1 - add esi,ebp - ror ecx,2 - mov ebp,ebx - rol ebp,5 - lea eax,[3395469782+esi*1+eax] - mov esi,DWORD [56+esp] - add eax,ebp - ; 20_39 78 - mov ebp,ebx - xor esi,DWORD [esp] - xor ebp,ecx - xor esi,DWORD [24+esp] - xor ebp,edx - xor esi,DWORD [44+esp] - rol esi,1 - add edi,ebp - ror ebx,2 - mov ebp,eax - rol ebp,5 - lea esi,[3395469782+edi*1+esi] - mov edi,DWORD [60+esp] - add esi,ebp - ; 20_39 79 - mov ebp,eax - xor edi,DWORD [4+esp] - xor ebp,ebx - xor edi,DWORD [28+esp] - xor ebp,ecx - xor edi,DWORD [48+esp] - rol edi,1 - add edx,ebp - ror eax,2 - mov ebp,esi - rol ebp,5 - lea edi,[3395469782+edx*1+edi] - add edi,ebp - mov ebp,DWORD [96+esp] - mov edx,DWORD [100+esp] - add edi,DWORD [ebp] - add esi,DWORD [4+ebp] - add eax,DWORD [8+ebp] - add ebx,DWORD [12+ebp] - add ecx,DWORD [16+ebp] - mov DWORD [ebp],edi - add edx,64 - mov DWORD [4+ebp],esi - cmp edx,DWORD [104+esp] - mov DWORD [8+ebp],eax - mov edi,ecx - mov DWORD [12+ebp],ebx - mov esi,edx - mov DWORD [16+ebp],ecx - jb NEAR L$000loop - add esp,76 - pop edi - pop esi - pop ebx - pop ebp - ret -db 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115 -db 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82 -db 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112 -db 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha256-586.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha256-586.nasm deleted file mode 100644 index 4598dae75a8b..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha256-586.nasm +++ /dev/null @@ -1,3364 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/sha/asm/sha256-586.pl -; -; Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -%ifidn __OUTPUT_FORMAT__,obj -section code use32 class=code align=64 -%elifidn __OUTPUT_FORMAT__,win32 -$@feat.00 equ 1 -section .text code align=64 -%else -section .text code -%endif -;extern _OPENSSL_ia32cap_P -global _sha256_block_data_order -align 16 -_sha256_block_data_order: -L$_sha256_block_data_order_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov eax,DWORD [28+esp] - mov ebx,esp - call L$000pic_point -L$000pic_point: - pop ebp - lea ebp,[(L$001K256-L$000pic_point)+ebp] - sub esp,16 - and esp,-64 - shl eax,6 - add eax,edi - mov DWORD [esp],esi - mov DWORD [4+esp],edi - mov DWORD [8+esp],eax - mov DWORD [12+esp],ebx - jmp NEAR L$002loop -align 16 -L$002loop: - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - bswap eax - mov edx,DWORD [12+edi] - bswap ebx - push eax - bswap ecx - push ebx - bswap edx - push ecx - push edx - mov eax,DWORD [16+edi] - mov ebx,DWORD [20+edi] - mov ecx,DWORD [24+edi] - bswap eax - mov edx,DWORD [28+edi] - bswap ebx - push eax - bswap ecx - push ebx - bswap edx - push ecx - push edx - mov eax,DWORD [32+edi] - mov ebx,DWORD [36+edi] - mov ecx,DWORD [40+edi] - bswap eax - mov edx,DWORD [44+edi] - bswap ebx - push eax - bswap ecx - push ebx - bswap edx - push ecx - push edx - mov eax,DWORD [48+edi] - mov ebx,DWORD [52+edi] - mov ecx,DWORD [56+edi] - bswap eax - mov edx,DWORD [60+edi] - bswap ebx - push eax - bswap ecx - push ebx - bswap edx - push ecx - push edx - add edi,64 - lea esp,[esp-36] - mov DWORD [104+esp],edi - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edi,DWORD [12+esi] - mov DWORD [8+esp],ebx - xor ebx,ecx - mov DWORD [12+esp],ecx - mov DWORD [16+esp],edi - mov DWORD [esp],ebx - mov edx,DWORD [16+esi] - mov ebx,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov edi,DWORD [28+esi] - mov DWORD [24+esp],ebx - mov DWORD [28+esp],ecx - mov DWORD [32+esp],edi -align 16 -L$00300_15: - mov ecx,edx - mov esi,DWORD [24+esp] - ror ecx,14 - mov edi,DWORD [28+esp] - xor ecx,edx - xor esi,edi - mov ebx,DWORD [96+esp] - ror ecx,5 - and esi,edx - mov DWORD [20+esp],edx - xor edx,ecx - add ebx,DWORD [32+esp] - xor esi,edi - ror edx,6 - mov ecx,eax - add ebx,esi - ror ecx,9 - add ebx,edx - mov edi,DWORD [8+esp] - xor ecx,eax - mov DWORD [4+esp],eax - lea esp,[esp-4] - ror ecx,11 - mov esi,DWORD [ebp] - xor ecx,eax - mov edx,DWORD [20+esp] - xor eax,edi - ror ecx,2 - add ebx,esi - mov DWORD [esp],eax - add edx,ebx - and eax,DWORD [4+esp] - add ebx,ecx - xor eax,edi - add ebp,4 - add eax,ebx - cmp esi,3248222580 - jne NEAR L$00300_15 - mov ecx,DWORD [156+esp] - jmp NEAR L$00416_63 -align 16 -L$00416_63: - mov ebx,ecx - mov esi,DWORD [104+esp] - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [160+esp] - shr edi,10 - add ebx,DWORD [124+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [24+esp] - ror ecx,14 - add ebx,edi - mov edi,DWORD [28+esp] - xor ecx,edx - xor esi,edi - mov DWORD [96+esp],ebx - ror ecx,5 - and esi,edx - mov DWORD [20+esp],edx - xor edx,ecx - add ebx,DWORD [32+esp] - xor esi,edi - ror edx,6 - mov ecx,eax - add ebx,esi - ror ecx,9 - add ebx,edx - mov edi,DWORD [8+esp] - xor ecx,eax - mov DWORD [4+esp],eax - lea esp,[esp-4] - ror ecx,11 - mov esi,DWORD [ebp] - xor ecx,eax - mov edx,DWORD [20+esp] - xor eax,edi - ror ecx,2 - add ebx,esi - mov DWORD [esp],eax - add edx,ebx - and eax,DWORD [4+esp] - add ebx,ecx - xor eax,edi - mov ecx,DWORD [156+esp] - add ebp,4 - add eax,ebx - cmp esi,3329325298 - jne NEAR L$00416_63 - mov esi,DWORD [356+esp] - mov ebx,DWORD [8+esp] - mov ecx,DWORD [16+esp] - add eax,DWORD [esi] - add ebx,DWORD [4+esi] - add edi,DWORD [8+esi] - add ecx,DWORD [12+esi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],edi - mov DWORD [12+esi],ecx - mov eax,DWORD [24+esp] - mov ebx,DWORD [28+esp] - mov ecx,DWORD [32+esp] - mov edi,DWORD [360+esp] - add edx,DWORD [16+esi] - add eax,DWORD [20+esi] - add ebx,DWORD [24+esi] - add ecx,DWORD [28+esi] - mov DWORD [16+esi],edx - mov DWORD [20+esi],eax - mov DWORD [24+esi],ebx - mov DWORD [28+esi],ecx - lea esp,[356+esp] - sub ebp,256 - cmp edi,DWORD [8+esp] - jb NEAR L$002loop - mov esp,DWORD [12+esp] - pop edi - pop esi - pop ebx - pop ebp - ret -align 32 -L$005loop_shrd: - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - bswap eax - mov edx,DWORD [12+edi] - bswap ebx - push eax - bswap ecx - push ebx - bswap edx - push ecx - push edx - mov eax,DWORD [16+edi] - mov ebx,DWORD [20+edi] - mov ecx,DWORD [24+edi] - bswap eax - mov edx,DWORD [28+edi] - bswap ebx - push eax - bswap ecx - push ebx - bswap edx - push ecx - push edx - mov eax,DWORD [32+edi] - mov ebx,DWORD [36+edi] - mov ecx,DWORD [40+edi] - bswap eax - mov edx,DWORD [44+edi] - bswap ebx - push eax - bswap ecx - push ebx - bswap edx - push ecx - push edx - mov eax,DWORD [48+edi] - mov ebx,DWORD [52+edi] - mov ecx,DWORD [56+edi] - bswap eax - mov edx,DWORD [60+edi] - bswap ebx - push eax - bswap ecx - push ebx - bswap edx - push ecx - push edx - add edi,64 - lea esp,[esp-36] - mov DWORD [104+esp],edi - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edi,DWORD [12+esi] - mov DWORD [8+esp],ebx - xor ebx,ecx - mov DWORD [12+esp],ecx - mov DWORD [16+esp],edi - mov DWORD [esp],ebx - mov edx,DWORD [16+esi] - mov ebx,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov edi,DWORD [28+esi] - mov DWORD [24+esp],ebx - mov DWORD [28+esp],ecx - mov DWORD [32+esp],edi -align 16 -L$00600_15_shrd: - mov ecx,edx - mov esi,DWORD [24+esp] - shrd ecx,ecx,14 - mov edi,DWORD [28+esp] - xor ecx,edx - xor esi,edi - mov ebx,DWORD [96+esp] - shrd ecx,ecx,5 - and esi,edx - mov DWORD [20+esp],edx - xor edx,ecx - add ebx,DWORD [32+esp] - xor esi,edi - shrd edx,edx,6 - mov ecx,eax - add ebx,esi - shrd ecx,ecx,9 - add ebx,edx - mov edi,DWORD [8+esp] - xor ecx,eax - mov DWORD [4+esp],eax - lea esp,[esp-4] - shrd ecx,ecx,11 - mov esi,DWORD [ebp] - xor ecx,eax - mov edx,DWORD [20+esp] - xor eax,edi - shrd ecx,ecx,2 - add ebx,esi - mov DWORD [esp],eax - add edx,ebx - and eax,DWORD [4+esp] - add ebx,ecx - xor eax,edi - add ebp,4 - add eax,ebx - cmp esi,3248222580 - jne NEAR L$00600_15_shrd - mov ecx,DWORD [156+esp] - jmp NEAR L$00716_63_shrd -align 16 -L$00716_63_shrd: - mov ebx,ecx - mov esi,DWORD [104+esp] - shrd ecx,ecx,11 - mov edi,esi - shrd esi,esi,2 - xor ecx,ebx - shr ebx,3 - shrd ecx,ecx,7 - xor esi,edi - xor ebx,ecx - shrd esi,esi,17 - add ebx,DWORD [160+esp] - shr edi,10 - add ebx,DWORD [124+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [24+esp] - shrd ecx,ecx,14 - add ebx,edi - mov edi,DWORD [28+esp] - xor ecx,edx - xor esi,edi - mov DWORD [96+esp],ebx - shrd ecx,ecx,5 - and esi,edx - mov DWORD [20+esp],edx - xor edx,ecx - add ebx,DWORD [32+esp] - xor esi,edi - shrd edx,edx,6 - mov ecx,eax - add ebx,esi - shrd ecx,ecx,9 - add ebx,edx - mov edi,DWORD [8+esp] - xor ecx,eax - mov DWORD [4+esp],eax - lea esp,[esp-4] - shrd ecx,ecx,11 - mov esi,DWORD [ebp] - xor ecx,eax - mov edx,DWORD [20+esp] - xor eax,edi - shrd ecx,ecx,2 - add ebx,esi - mov DWORD [esp],eax - add edx,ebx - and eax,DWORD [4+esp] - add ebx,ecx - xor eax,edi - mov ecx,DWORD [156+esp] - add ebp,4 - add eax,ebx - cmp esi,3329325298 - jne NEAR L$00716_63_shrd - mov esi,DWORD [356+esp] - mov ebx,DWORD [8+esp] - mov ecx,DWORD [16+esp] - add eax,DWORD [esi] - add ebx,DWORD [4+esi] - add edi,DWORD [8+esi] - add ecx,DWORD [12+esi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - mov DWORD [8+esi],edi - mov DWORD [12+esi],ecx - mov eax,DWORD [24+esp] - mov ebx,DWORD [28+esp] - mov ecx,DWORD [32+esp] - mov edi,DWORD [360+esp] - add edx,DWORD [16+esi] - add eax,DWORD [20+esi] - add ebx,DWORD [24+esi] - add ecx,DWORD [28+esi] - mov DWORD [16+esi],edx - mov DWORD [20+esi],eax - mov DWORD [24+esi],ebx - mov DWORD [28+esi],ecx - lea esp,[356+esp] - sub ebp,256 - cmp edi,DWORD [8+esp] - jb NEAR L$005loop_shrd - mov esp,DWORD [12+esp] - pop edi - pop esi - pop ebx - pop ebp - ret -align 64 -L$001K256: -dd 1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298 -dd 66051,67438087,134810123,202182159 -db 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97 -db 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32 -db 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 -db 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 -db 62,0 -align 16 -L$008unrolled: - lea esp,[esp-96] - mov eax,DWORD [esi] - mov ebp,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov ebx,DWORD [12+esi] - mov DWORD [4+esp],ebp - xor ebp,ecx - mov DWORD [8+esp],ecx - mov DWORD [12+esp],ebx - mov edx,DWORD [16+esi] - mov ebx,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov esi,DWORD [28+esi] - mov DWORD [20+esp],ebx - mov DWORD [24+esp],ecx - mov DWORD [28+esp],esi - jmp NEAR L$009grand_loop -align 16 -L$009grand_loop: - mov ebx,DWORD [edi] - mov ecx,DWORD [4+edi] - bswap ebx - mov esi,DWORD [8+edi] - bswap ecx - mov DWORD [32+esp],ebx - bswap esi - mov DWORD [36+esp],ecx - mov DWORD [40+esp],esi - mov ebx,DWORD [12+edi] - mov ecx,DWORD [16+edi] - bswap ebx - mov esi,DWORD [20+edi] - bswap ecx - mov DWORD [44+esp],ebx - bswap esi - mov DWORD [48+esp],ecx - mov DWORD [52+esp],esi - mov ebx,DWORD [24+edi] - mov ecx,DWORD [28+edi] - bswap ebx - mov esi,DWORD [32+edi] - bswap ecx - mov DWORD [56+esp],ebx - bswap esi - mov DWORD [60+esp],ecx - mov DWORD [64+esp],esi - mov ebx,DWORD [36+edi] - mov ecx,DWORD [40+edi] - bswap ebx - mov esi,DWORD [44+edi] - bswap ecx - mov DWORD [68+esp],ebx - bswap esi - mov DWORD [72+esp],ecx - mov DWORD [76+esp],esi - mov ebx,DWORD [48+edi] - mov ecx,DWORD [52+edi] - bswap ebx - mov esi,DWORD [56+edi] - bswap ecx - mov DWORD [80+esp],ebx - bswap esi - mov DWORD [84+esp],ecx - mov DWORD [88+esp],esi - mov ebx,DWORD [60+edi] - add edi,64 - bswap ebx - mov DWORD [100+esp],edi - mov DWORD [92+esp],ebx - mov ecx,edx - mov esi,DWORD [20+esp] - ror edx,14 - mov edi,DWORD [24+esp] - xor edx,ecx - mov ebx,DWORD [32+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - add ebx,DWORD [28+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [4+esp] - xor ecx,eax - mov DWORD [esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[1116352408+edx*1+ebx] - xor ecx,esi - xor ebp,edi - ror ecx,2 - add ebp,edx - add edx,DWORD [12+esp] - add ebp,ecx - mov esi,edx - mov ecx,DWORD [16+esp] - ror edx,14 - mov edi,DWORD [20+esp] - xor edx,esi - mov ebx,DWORD [36+esp] - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [12+esp],esi - xor edx,esi - add ebx,DWORD [24+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [esp] - xor esi,ebp - mov DWORD [28+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[1899447441+edx*1+ebx] - xor esi,ecx - xor eax,edi - ror esi,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,esi - mov ecx,edx - mov esi,DWORD [12+esp] - ror edx,14 - mov edi,DWORD [16+esp] - xor edx,ecx - mov ebx,DWORD [40+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - add ebx,DWORD [20+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [28+esp] - xor ecx,eax - mov DWORD [24+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[3049323471+edx*1+ebx] - xor ecx,esi - xor ebp,edi - ror ecx,2 - add ebp,edx - add edx,DWORD [4+esp] - add ebp,ecx - mov esi,edx - mov ecx,DWORD [8+esp] - ror edx,14 - mov edi,DWORD [12+esp] - xor edx,esi - mov ebx,DWORD [44+esp] - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [4+esp],esi - xor edx,esi - add ebx,DWORD [16+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [24+esp] - xor esi,ebp - mov DWORD [20+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[3921009573+edx*1+ebx] - xor esi,ecx - xor eax,edi - ror esi,2 - add eax,edx - add edx,DWORD [esp] - add eax,esi - mov ecx,edx - mov esi,DWORD [4+esp] - ror edx,14 - mov edi,DWORD [8+esp] - xor edx,ecx - mov ebx,DWORD [48+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - add ebx,DWORD [12+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [20+esp] - xor ecx,eax - mov DWORD [16+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[961987163+edx*1+ebx] - xor ecx,esi - xor ebp,edi - ror ecx,2 - add ebp,edx - add edx,DWORD [28+esp] - add ebp,ecx - mov esi,edx - mov ecx,DWORD [esp] - ror edx,14 - mov edi,DWORD [4+esp] - xor edx,esi - mov ebx,DWORD [52+esp] - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [28+esp],esi - xor edx,esi - add ebx,DWORD [8+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [16+esp] - xor esi,ebp - mov DWORD [12+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[1508970993+edx*1+ebx] - xor esi,ecx - xor eax,edi - ror esi,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,esi - mov ecx,edx - mov esi,DWORD [28+esp] - ror edx,14 - mov edi,DWORD [esp] - xor edx,ecx - mov ebx,DWORD [56+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - add ebx,DWORD [4+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [12+esp] - xor ecx,eax - mov DWORD [8+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[2453635748+edx*1+ebx] - xor ecx,esi - xor ebp,edi - ror ecx,2 - add ebp,edx - add edx,DWORD [20+esp] - add ebp,ecx - mov esi,edx - mov ecx,DWORD [24+esp] - ror edx,14 - mov edi,DWORD [28+esp] - xor edx,esi - mov ebx,DWORD [60+esp] - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [20+esp],esi - xor edx,esi - add ebx,DWORD [esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [8+esp] - xor esi,ebp - mov DWORD [4+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[2870763221+edx*1+ebx] - xor esi,ecx - xor eax,edi - ror esi,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,esi - mov ecx,edx - mov esi,DWORD [20+esp] - ror edx,14 - mov edi,DWORD [24+esp] - xor edx,ecx - mov ebx,DWORD [64+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - add ebx,DWORD [28+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [4+esp] - xor ecx,eax - mov DWORD [esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[3624381080+edx*1+ebx] - xor ecx,esi - xor ebp,edi - ror ecx,2 - add ebp,edx - add edx,DWORD [12+esp] - add ebp,ecx - mov esi,edx - mov ecx,DWORD [16+esp] - ror edx,14 - mov edi,DWORD [20+esp] - xor edx,esi - mov ebx,DWORD [68+esp] - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [12+esp],esi - xor edx,esi - add ebx,DWORD [24+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [esp] - xor esi,ebp - mov DWORD [28+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[310598401+edx*1+ebx] - xor esi,ecx - xor eax,edi - ror esi,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,esi - mov ecx,edx - mov esi,DWORD [12+esp] - ror edx,14 - mov edi,DWORD [16+esp] - xor edx,ecx - mov ebx,DWORD [72+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - add ebx,DWORD [20+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [28+esp] - xor ecx,eax - mov DWORD [24+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[607225278+edx*1+ebx] - xor ecx,esi - xor ebp,edi - ror ecx,2 - add ebp,edx - add edx,DWORD [4+esp] - add ebp,ecx - mov esi,edx - mov ecx,DWORD [8+esp] - ror edx,14 - mov edi,DWORD [12+esp] - xor edx,esi - mov ebx,DWORD [76+esp] - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [4+esp],esi - xor edx,esi - add ebx,DWORD [16+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [24+esp] - xor esi,ebp - mov DWORD [20+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[1426881987+edx*1+ebx] - xor esi,ecx - xor eax,edi - ror esi,2 - add eax,edx - add edx,DWORD [esp] - add eax,esi - mov ecx,edx - mov esi,DWORD [4+esp] - ror edx,14 - mov edi,DWORD [8+esp] - xor edx,ecx - mov ebx,DWORD [80+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - add ebx,DWORD [12+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [20+esp] - xor ecx,eax - mov DWORD [16+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[1925078388+edx*1+ebx] - xor ecx,esi - xor ebp,edi - ror ecx,2 - add ebp,edx - add edx,DWORD [28+esp] - add ebp,ecx - mov esi,edx - mov ecx,DWORD [esp] - ror edx,14 - mov edi,DWORD [4+esp] - xor edx,esi - mov ebx,DWORD [84+esp] - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [28+esp],esi - xor edx,esi - add ebx,DWORD [8+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [16+esp] - xor esi,ebp - mov DWORD [12+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[2162078206+edx*1+ebx] - xor esi,ecx - xor eax,edi - ror esi,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,esi - mov ecx,edx - mov esi,DWORD [28+esp] - ror edx,14 - mov edi,DWORD [esp] - xor edx,ecx - mov ebx,DWORD [88+esp] - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - add ebx,DWORD [4+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [12+esp] - xor ecx,eax - mov DWORD [8+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[2614888103+edx*1+ebx] - xor ecx,esi - xor ebp,edi - ror ecx,2 - add ebp,edx - add edx,DWORD [20+esp] - add ebp,ecx - mov esi,edx - mov ecx,DWORD [24+esp] - ror edx,14 - mov edi,DWORD [28+esp] - xor edx,esi - mov ebx,DWORD [92+esp] - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [20+esp],esi - xor edx,esi - add ebx,DWORD [esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [8+esp] - xor esi,ebp - mov DWORD [4+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[3248222580+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [36+esp] - ror esi,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,esi - mov esi,DWORD [88+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [32+esp] - shr edi,10 - add ebx,DWORD [68+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [20+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [24+esp] - xor edx,ecx - mov DWORD [32+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - add ebx,DWORD [28+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [4+esp] - xor ecx,eax - mov DWORD [esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[3835390401+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [40+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [12+esp] - add ebp,ecx - mov ecx,DWORD [92+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [36+esp] - shr edi,10 - add ebx,DWORD [72+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [16+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [20+esp] - xor edx,esi - mov DWORD [36+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [12+esp],esi - xor edx,esi - add ebx,DWORD [24+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [esp] - xor esi,ebp - mov DWORD [28+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[4022224774+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [44+esp] - ror esi,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,esi - mov esi,DWORD [32+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [40+esp] - shr edi,10 - add ebx,DWORD [76+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [12+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [16+esp] - xor edx,ecx - mov DWORD [40+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - add ebx,DWORD [20+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [28+esp] - xor ecx,eax - mov DWORD [24+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[264347078+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [48+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [4+esp] - add ebp,ecx - mov ecx,DWORD [36+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [44+esp] - shr edi,10 - add ebx,DWORD [80+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [8+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [12+esp] - xor edx,esi - mov DWORD [44+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [4+esp],esi - xor edx,esi - add ebx,DWORD [16+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [24+esp] - xor esi,ebp - mov DWORD [20+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[604807628+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [52+esp] - ror esi,2 - add eax,edx - add edx,DWORD [esp] - add eax,esi - mov esi,DWORD [40+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [48+esp] - shr edi,10 - add ebx,DWORD [84+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [4+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [8+esp] - xor edx,ecx - mov DWORD [48+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - add ebx,DWORD [12+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [20+esp] - xor ecx,eax - mov DWORD [16+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[770255983+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [56+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [28+esp] - add ebp,ecx - mov ecx,DWORD [44+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [52+esp] - shr edi,10 - add ebx,DWORD [88+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [4+esp] - xor edx,esi - mov DWORD [52+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [28+esp],esi - xor edx,esi - add ebx,DWORD [8+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [16+esp] - xor esi,ebp - mov DWORD [12+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[1249150122+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [60+esp] - ror esi,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,esi - mov esi,DWORD [48+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [56+esp] - shr edi,10 - add ebx,DWORD [92+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [28+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [esp] - xor edx,ecx - mov DWORD [56+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - add ebx,DWORD [4+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [12+esp] - xor ecx,eax - mov DWORD [8+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[1555081692+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [64+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [20+esp] - add ebp,ecx - mov ecx,DWORD [52+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [60+esp] - shr edi,10 - add ebx,DWORD [32+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [24+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [28+esp] - xor edx,esi - mov DWORD [60+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [20+esp],esi - xor edx,esi - add ebx,DWORD [esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [8+esp] - xor esi,ebp - mov DWORD [4+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[1996064986+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [68+esp] - ror esi,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,esi - mov esi,DWORD [56+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [64+esp] - shr edi,10 - add ebx,DWORD [36+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [20+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [24+esp] - xor edx,ecx - mov DWORD [64+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - add ebx,DWORD [28+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [4+esp] - xor ecx,eax - mov DWORD [esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[2554220882+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [72+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [12+esp] - add ebp,ecx - mov ecx,DWORD [60+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [68+esp] - shr edi,10 - add ebx,DWORD [40+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [16+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [20+esp] - xor edx,esi - mov DWORD [68+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [12+esp],esi - xor edx,esi - add ebx,DWORD [24+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [esp] - xor esi,ebp - mov DWORD [28+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[2821834349+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [76+esp] - ror esi,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,esi - mov esi,DWORD [64+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [72+esp] - shr edi,10 - add ebx,DWORD [44+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [12+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [16+esp] - xor edx,ecx - mov DWORD [72+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - add ebx,DWORD [20+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [28+esp] - xor ecx,eax - mov DWORD [24+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[2952996808+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [80+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [4+esp] - add ebp,ecx - mov ecx,DWORD [68+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [76+esp] - shr edi,10 - add ebx,DWORD [48+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [8+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [12+esp] - xor edx,esi - mov DWORD [76+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [4+esp],esi - xor edx,esi - add ebx,DWORD [16+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [24+esp] - xor esi,ebp - mov DWORD [20+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[3210313671+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [84+esp] - ror esi,2 - add eax,edx - add edx,DWORD [esp] - add eax,esi - mov esi,DWORD [72+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [80+esp] - shr edi,10 - add ebx,DWORD [52+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [4+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [8+esp] - xor edx,ecx - mov DWORD [80+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - add ebx,DWORD [12+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [20+esp] - xor ecx,eax - mov DWORD [16+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[3336571891+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [88+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [28+esp] - add ebp,ecx - mov ecx,DWORD [76+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [84+esp] - shr edi,10 - add ebx,DWORD [56+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [4+esp] - xor edx,esi - mov DWORD [84+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [28+esp],esi - xor edx,esi - add ebx,DWORD [8+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [16+esp] - xor esi,ebp - mov DWORD [12+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[3584528711+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [92+esp] - ror esi,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,esi - mov esi,DWORD [80+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [88+esp] - shr edi,10 - add ebx,DWORD [60+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [28+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [esp] - xor edx,ecx - mov DWORD [88+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - add ebx,DWORD [4+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [12+esp] - xor ecx,eax - mov DWORD [8+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[113926993+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [32+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [20+esp] - add ebp,ecx - mov ecx,DWORD [84+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [92+esp] - shr edi,10 - add ebx,DWORD [64+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [24+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [28+esp] - xor edx,esi - mov DWORD [92+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [20+esp],esi - xor edx,esi - add ebx,DWORD [esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [8+esp] - xor esi,ebp - mov DWORD [4+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[338241895+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [36+esp] - ror esi,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,esi - mov esi,DWORD [88+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [32+esp] - shr edi,10 - add ebx,DWORD [68+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [20+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [24+esp] - xor edx,ecx - mov DWORD [32+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - add ebx,DWORD [28+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [4+esp] - xor ecx,eax - mov DWORD [esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[666307205+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [40+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [12+esp] - add ebp,ecx - mov ecx,DWORD [92+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [36+esp] - shr edi,10 - add ebx,DWORD [72+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [16+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [20+esp] - xor edx,esi - mov DWORD [36+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [12+esp],esi - xor edx,esi - add ebx,DWORD [24+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [esp] - xor esi,ebp - mov DWORD [28+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[773529912+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [44+esp] - ror esi,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,esi - mov esi,DWORD [32+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [40+esp] - shr edi,10 - add ebx,DWORD [76+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [12+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [16+esp] - xor edx,ecx - mov DWORD [40+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - add ebx,DWORD [20+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [28+esp] - xor ecx,eax - mov DWORD [24+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[1294757372+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [48+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [4+esp] - add ebp,ecx - mov ecx,DWORD [36+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [44+esp] - shr edi,10 - add ebx,DWORD [80+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [8+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [12+esp] - xor edx,esi - mov DWORD [44+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [4+esp],esi - xor edx,esi - add ebx,DWORD [16+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [24+esp] - xor esi,ebp - mov DWORD [20+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[1396182291+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [52+esp] - ror esi,2 - add eax,edx - add edx,DWORD [esp] - add eax,esi - mov esi,DWORD [40+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [48+esp] - shr edi,10 - add ebx,DWORD [84+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [4+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [8+esp] - xor edx,ecx - mov DWORD [48+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - add ebx,DWORD [12+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [20+esp] - xor ecx,eax - mov DWORD [16+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[1695183700+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [56+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [28+esp] - add ebp,ecx - mov ecx,DWORD [44+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [52+esp] - shr edi,10 - add ebx,DWORD [88+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [4+esp] - xor edx,esi - mov DWORD [52+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [28+esp],esi - xor edx,esi - add ebx,DWORD [8+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [16+esp] - xor esi,ebp - mov DWORD [12+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[1986661051+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [60+esp] - ror esi,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,esi - mov esi,DWORD [48+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [56+esp] - shr edi,10 - add ebx,DWORD [92+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [28+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [esp] - xor edx,ecx - mov DWORD [56+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - add ebx,DWORD [4+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [12+esp] - xor ecx,eax - mov DWORD [8+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[2177026350+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [64+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [20+esp] - add ebp,ecx - mov ecx,DWORD [52+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [60+esp] - shr edi,10 - add ebx,DWORD [32+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [24+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [28+esp] - xor edx,esi - mov DWORD [60+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [20+esp],esi - xor edx,esi - add ebx,DWORD [esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [8+esp] - xor esi,ebp - mov DWORD [4+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[2456956037+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [68+esp] - ror esi,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,esi - mov esi,DWORD [56+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [64+esp] - shr edi,10 - add ebx,DWORD [36+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [20+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [24+esp] - xor edx,ecx - mov DWORD [64+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - add ebx,DWORD [28+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [4+esp] - xor ecx,eax - mov DWORD [esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[2730485921+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [72+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [12+esp] - add ebp,ecx - mov ecx,DWORD [60+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [68+esp] - shr edi,10 - add ebx,DWORD [40+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [16+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [20+esp] - xor edx,esi - mov DWORD [68+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [12+esp],esi - xor edx,esi - add ebx,DWORD [24+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [esp] - xor esi,ebp - mov DWORD [28+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[2820302411+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [76+esp] - ror esi,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,esi - mov esi,DWORD [64+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [72+esp] - shr edi,10 - add ebx,DWORD [44+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [12+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [16+esp] - xor edx,ecx - mov DWORD [72+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - add ebx,DWORD [20+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [28+esp] - xor ecx,eax - mov DWORD [24+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[3259730800+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [80+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [4+esp] - add ebp,ecx - mov ecx,DWORD [68+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [76+esp] - shr edi,10 - add ebx,DWORD [48+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [8+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [12+esp] - xor edx,esi - mov DWORD [76+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [4+esp],esi - xor edx,esi - add ebx,DWORD [16+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [24+esp] - xor esi,ebp - mov DWORD [20+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[3345764771+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [84+esp] - ror esi,2 - add eax,edx - add edx,DWORD [esp] - add eax,esi - mov esi,DWORD [72+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [80+esp] - shr edi,10 - add ebx,DWORD [52+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [4+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [8+esp] - xor edx,ecx - mov DWORD [80+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - add ebx,DWORD [12+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [20+esp] - xor ecx,eax - mov DWORD [16+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[3516065817+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [88+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [28+esp] - add ebp,ecx - mov ecx,DWORD [76+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [84+esp] - shr edi,10 - add ebx,DWORD [56+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [4+esp] - xor edx,esi - mov DWORD [84+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [28+esp],esi - xor edx,esi - add ebx,DWORD [8+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [16+esp] - xor esi,ebp - mov DWORD [12+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[3600352804+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [92+esp] - ror esi,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,esi - mov esi,DWORD [80+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [88+esp] - shr edi,10 - add ebx,DWORD [60+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [28+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [esp] - xor edx,ecx - mov DWORD [88+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - add ebx,DWORD [4+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [12+esp] - xor ecx,eax - mov DWORD [8+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[4094571909+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [32+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [20+esp] - add ebp,ecx - mov ecx,DWORD [84+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [92+esp] - shr edi,10 - add ebx,DWORD [64+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [24+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [28+esp] - xor edx,esi - mov DWORD [92+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [20+esp],esi - xor edx,esi - add ebx,DWORD [esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [8+esp] - xor esi,ebp - mov DWORD [4+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[275423344+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [36+esp] - ror esi,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,esi - mov esi,DWORD [88+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [32+esp] - shr edi,10 - add ebx,DWORD [68+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [20+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [24+esp] - xor edx,ecx - mov DWORD [32+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - add ebx,DWORD [28+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [4+esp] - xor ecx,eax - mov DWORD [esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[430227734+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [40+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [12+esp] - add ebp,ecx - mov ecx,DWORD [92+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [36+esp] - shr edi,10 - add ebx,DWORD [72+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [16+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [20+esp] - xor edx,esi - mov DWORD [36+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [12+esp],esi - xor edx,esi - add ebx,DWORD [24+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [esp] - xor esi,ebp - mov DWORD [28+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[506948616+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [44+esp] - ror esi,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,esi - mov esi,DWORD [32+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [40+esp] - shr edi,10 - add ebx,DWORD [76+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [12+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [16+esp] - xor edx,ecx - mov DWORD [40+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - add ebx,DWORD [20+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [28+esp] - xor ecx,eax - mov DWORD [24+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[659060556+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [48+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [4+esp] - add ebp,ecx - mov ecx,DWORD [36+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [44+esp] - shr edi,10 - add ebx,DWORD [80+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [8+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [12+esp] - xor edx,esi - mov DWORD [44+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [4+esp],esi - xor edx,esi - add ebx,DWORD [16+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [24+esp] - xor esi,ebp - mov DWORD [20+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[883997877+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [52+esp] - ror esi,2 - add eax,edx - add edx,DWORD [esp] - add eax,esi - mov esi,DWORD [40+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [48+esp] - shr edi,10 - add ebx,DWORD [84+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [4+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [8+esp] - xor edx,ecx - mov DWORD [48+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - add ebx,DWORD [12+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [20+esp] - xor ecx,eax - mov DWORD [16+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[958139571+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [56+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [28+esp] - add ebp,ecx - mov ecx,DWORD [44+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [52+esp] - shr edi,10 - add ebx,DWORD [88+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [4+esp] - xor edx,esi - mov DWORD [52+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [28+esp],esi - xor edx,esi - add ebx,DWORD [8+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [16+esp] - xor esi,ebp - mov DWORD [12+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[1322822218+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [60+esp] - ror esi,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,esi - mov esi,DWORD [48+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [56+esp] - shr edi,10 - add ebx,DWORD [92+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [28+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [esp] - xor edx,ecx - mov DWORD [56+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - add ebx,DWORD [4+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [12+esp] - xor ecx,eax - mov DWORD [8+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[1537002063+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [64+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [20+esp] - add ebp,ecx - mov ecx,DWORD [52+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [60+esp] - shr edi,10 - add ebx,DWORD [32+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [24+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [28+esp] - xor edx,esi - mov DWORD [60+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [20+esp],esi - xor edx,esi - add ebx,DWORD [esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [8+esp] - xor esi,ebp - mov DWORD [4+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[1747873779+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [68+esp] - ror esi,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,esi - mov esi,DWORD [56+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [64+esp] - shr edi,10 - add ebx,DWORD [36+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [20+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [24+esp] - xor edx,ecx - mov DWORD [64+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [16+esp],ecx - xor edx,ecx - add ebx,DWORD [28+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [4+esp] - xor ecx,eax - mov DWORD [esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[1955562222+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [72+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [12+esp] - add ebp,ecx - mov ecx,DWORD [60+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [68+esp] - shr edi,10 - add ebx,DWORD [40+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [16+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [20+esp] - xor edx,esi - mov DWORD [68+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [12+esp],esi - xor edx,esi - add ebx,DWORD [24+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [esp] - xor esi,ebp - mov DWORD [28+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[2024104815+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [76+esp] - ror esi,2 - add eax,edx - add edx,DWORD [8+esp] - add eax,esi - mov esi,DWORD [64+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [72+esp] - shr edi,10 - add ebx,DWORD [44+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [12+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [16+esp] - xor edx,ecx - mov DWORD [72+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [8+esp],ecx - xor edx,ecx - add ebx,DWORD [20+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [28+esp] - xor ecx,eax - mov DWORD [24+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[2227730452+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [80+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [4+esp] - add ebp,ecx - mov ecx,DWORD [68+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [76+esp] - shr edi,10 - add ebx,DWORD [48+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [8+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [12+esp] - xor edx,esi - mov DWORD [76+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [4+esp],esi - xor edx,esi - add ebx,DWORD [16+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [24+esp] - xor esi,ebp - mov DWORD [20+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[2361852424+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [84+esp] - ror esi,2 - add eax,edx - add edx,DWORD [esp] - add eax,esi - mov esi,DWORD [72+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [80+esp] - shr edi,10 - add ebx,DWORD [52+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [4+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [8+esp] - xor edx,ecx - mov DWORD [80+esp],ebx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [esp],ecx - xor edx,ecx - add ebx,DWORD [12+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [20+esp] - xor ecx,eax - mov DWORD [16+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[2428436474+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [88+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [28+esp] - add ebp,ecx - mov ecx,DWORD [76+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [84+esp] - shr edi,10 - add ebx,DWORD [56+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [4+esp] - xor edx,esi - mov DWORD [84+esp],ebx - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [28+esp],esi - xor edx,esi - add ebx,DWORD [8+esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [16+esp] - xor esi,ebp - mov DWORD [12+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[2756734187+edx*1+ebx] - xor esi,ecx - xor eax,edi - mov ecx,DWORD [92+esp] - ror esi,2 - add eax,edx - add edx,DWORD [24+esp] - add eax,esi - mov esi,DWORD [80+esp] - mov ebx,ecx - ror ecx,11 - mov edi,esi - ror esi,2 - xor ecx,ebx - shr ebx,3 - ror ecx,7 - xor esi,edi - xor ebx,ecx - ror esi,17 - add ebx,DWORD [88+esp] - shr edi,10 - add ebx,DWORD [60+esp] - mov ecx,edx - xor edi,esi - mov esi,DWORD [28+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [esp] - xor edx,ecx - xor esi,edi - ror edx,5 - and esi,ecx - mov DWORD [24+esp],ecx - xor edx,ecx - add ebx,DWORD [4+esp] - xor edi,esi - ror edx,6 - mov ecx,eax - add ebx,edi - ror ecx,9 - mov esi,eax - mov edi,DWORD [12+esp] - xor ecx,eax - mov DWORD [8+esp],eax - xor eax,edi - ror ecx,11 - and ebp,eax - lea edx,[3204031479+edx*1+ebx] - xor ecx,esi - xor ebp,edi - mov esi,DWORD [32+esp] - ror ecx,2 - add ebp,edx - add edx,DWORD [20+esp] - add ebp,ecx - mov ecx,DWORD [84+esp] - mov ebx,esi - ror esi,11 - mov edi,ecx - ror ecx,2 - xor esi,ebx - shr ebx,3 - ror esi,7 - xor ecx,edi - xor ebx,esi - ror ecx,17 - add ebx,DWORD [92+esp] - shr edi,10 - add ebx,DWORD [64+esp] - mov esi,edx - xor edi,ecx - mov ecx,DWORD [24+esp] - ror edx,14 - add ebx,edi - mov edi,DWORD [28+esp] - xor edx,esi - xor ecx,edi - ror edx,5 - and ecx,esi - mov DWORD [20+esp],esi - xor edx,esi - add ebx,DWORD [esp] - xor edi,ecx - ror edx,6 - mov esi,ebp - add ebx,edi - ror esi,9 - mov ecx,ebp - mov edi,DWORD [8+esp] - xor esi,ebp - mov DWORD [4+esp],ebp - xor ebp,edi - ror esi,11 - and eax,ebp - lea edx,[3329325298+edx*1+ebx] - xor esi,ecx - xor eax,edi - ror esi,2 - add eax,edx - add edx,DWORD [16+esp] - add eax,esi - mov esi,DWORD [96+esp] - xor ebp,edi - mov ecx,DWORD [12+esp] - add eax,DWORD [esi] - add ebp,DWORD [4+esi] - add edi,DWORD [8+esi] - add ecx,DWORD [12+esi] - mov DWORD [esi],eax - mov DWORD [4+esi],ebp - mov DWORD [8+esi],edi - mov DWORD [12+esi],ecx - mov DWORD [4+esp],ebp - xor ebp,edi - mov DWORD [8+esp],edi - mov DWORD [12+esp],ecx - mov edi,DWORD [20+esp] - mov ebx,DWORD [24+esp] - mov ecx,DWORD [28+esp] - add edx,DWORD [16+esi] - add edi,DWORD [20+esi] - add ebx,DWORD [24+esi] - add ecx,DWORD [28+esi] - mov DWORD [16+esi],edx - mov DWORD [20+esi],edi - mov DWORD [24+esi],ebx - mov DWORD [28+esi],ecx - mov DWORD [20+esp],edi - mov edi,DWORD [100+esp] - mov DWORD [24+esp],ebx - mov DWORD [28+esp],ecx - cmp edi,DWORD [104+esp] - jb NEAR L$009grand_loop - mov esp,DWORD [108+esp] - pop edi - pop esi - pop ebx - pop ebp - ret -segment .bss -common _OPENSSL_ia32cap_P 16 diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha512-586.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha512-586.nasm deleted file mode 100644 index a168b4a79994..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32/crypto/sha/sha512-586.nasm +++ /dev/null @@ -1,579 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/sha/asm/sha512-586.pl -; -; Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -%ifidn __OUTPUT_FORMAT__,obj -section code use32 class=code align=64 -%elifidn __OUTPUT_FORMAT__,win32 -$@feat.00 equ 1 -section .text code align=64 -%else -section .text code -%endif -global _sha512_block_data_order -align 16 -_sha512_block_data_order: -L$_sha512_block_data_order_begin: - push ebp - push ebx - push esi - push edi - mov esi,DWORD [20+esp] - mov edi,DWORD [24+esp] - mov eax,DWORD [28+esp] - mov ebx,esp - call L$000pic_point -L$000pic_point: - pop ebp - lea ebp,[(L$001K512-L$000pic_point)+ebp] - sub esp,16 - and esp,-64 - shl eax,7 - add eax,edi - mov DWORD [esp],esi - mov DWORD [4+esp],edi - mov DWORD [8+esp],eax - mov DWORD [12+esp],ebx -align 16 -L$002loop_x86: - mov eax,DWORD [edi] - mov ebx,DWORD [4+edi] - mov ecx,DWORD [8+edi] - mov edx,DWORD [12+edi] - bswap eax - bswap ebx - bswap ecx - bswap edx - push eax - push ebx - push ecx - push edx - mov eax,DWORD [16+edi] - mov ebx,DWORD [20+edi] - mov ecx,DWORD [24+edi] - mov edx,DWORD [28+edi] - bswap eax - bswap ebx - bswap ecx - bswap edx - push eax - push ebx - push ecx - push edx - mov eax,DWORD [32+edi] - mov ebx,DWORD [36+edi] - mov ecx,DWORD [40+edi] - mov edx,DWORD [44+edi] - bswap eax - bswap ebx - bswap ecx - bswap edx - push eax - push ebx - push ecx - push edx - mov eax,DWORD [48+edi] - mov ebx,DWORD [52+edi] - mov ecx,DWORD [56+edi] - mov edx,DWORD [60+edi] - bswap eax - bswap ebx - bswap ecx - bswap edx - push eax - push ebx - push ecx - push edx - mov eax,DWORD [64+edi] - mov ebx,DWORD [68+edi] - mov ecx,DWORD [72+edi] - mov edx,DWORD [76+edi] - bswap eax - bswap ebx - bswap ecx - bswap edx - push eax - push ebx - push ecx - push edx - mov eax,DWORD [80+edi] - mov ebx,DWORD [84+edi] - mov ecx,DWORD [88+edi] - mov edx,DWORD [92+edi] - bswap eax - bswap ebx - bswap ecx - bswap edx - push eax - push ebx - push ecx - push edx - mov eax,DWORD [96+edi] - mov ebx,DWORD [100+edi] - mov ecx,DWORD [104+edi] - mov edx,DWORD [108+edi] - bswap eax - bswap ebx - bswap ecx - bswap edx - push eax - push ebx - push ecx - push edx - mov eax,DWORD [112+edi] - mov ebx,DWORD [116+edi] - mov ecx,DWORD [120+edi] - mov edx,DWORD [124+edi] - bswap eax - bswap ebx - bswap ecx - bswap edx - push eax - push ebx - push ecx - push edx - add edi,128 - sub esp,72 - mov DWORD [204+esp],edi - lea edi,[8+esp] - mov ecx,16 -dd 2784229001 -align 16 -L$00300_15_x86: - mov ecx,DWORD [40+esp] - mov edx,DWORD [44+esp] - mov esi,ecx - shr ecx,9 - mov edi,edx - shr edx,9 - mov ebx,ecx - shl esi,14 - mov eax,edx - shl edi,14 - xor ebx,esi - shr ecx,5 - xor eax,edi - shr edx,5 - xor eax,ecx - shl esi,4 - xor ebx,edx - shl edi,4 - xor ebx,esi - shr ecx,4 - xor eax,edi - shr edx,4 - xor eax,ecx - shl esi,5 - xor ebx,edx - shl edi,5 - xor eax,esi - xor ebx,edi - mov ecx,DWORD [48+esp] - mov edx,DWORD [52+esp] - mov esi,DWORD [56+esp] - mov edi,DWORD [60+esp] - add eax,DWORD [64+esp] - adc ebx,DWORD [68+esp] - xor ecx,esi - xor edx,edi - and ecx,DWORD [40+esp] - and edx,DWORD [44+esp] - add eax,DWORD [192+esp] - adc ebx,DWORD [196+esp] - xor ecx,esi - xor edx,edi - mov esi,DWORD [ebp] - mov edi,DWORD [4+ebp] - add eax,ecx - adc ebx,edx - mov ecx,DWORD [32+esp] - mov edx,DWORD [36+esp] - add eax,esi - adc ebx,edi - mov DWORD [esp],eax - mov DWORD [4+esp],ebx - add eax,ecx - adc ebx,edx - mov ecx,DWORD [8+esp] - mov edx,DWORD [12+esp] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov esi,ecx - shr ecx,2 - mov edi,edx - shr edx,2 - mov ebx,ecx - shl esi,4 - mov eax,edx - shl edi,4 - xor ebx,esi - shr ecx,5 - xor eax,edi - shr edx,5 - xor ebx,ecx - shl esi,21 - xor eax,edx - shl edi,21 - xor eax,esi - shr ecx,21 - xor ebx,edi - shr edx,21 - xor eax,ecx - shl esi,5 - xor ebx,edx - shl edi,5 - xor eax,esi - xor ebx,edi - mov ecx,DWORD [8+esp] - mov edx,DWORD [12+esp] - mov esi,DWORD [16+esp] - mov edi,DWORD [20+esp] - add eax,DWORD [esp] - adc ebx,DWORD [4+esp] - or ecx,esi - or edx,edi - and ecx,DWORD [24+esp] - and edx,DWORD [28+esp] - and esi,DWORD [8+esp] - and edi,DWORD [12+esp] - or ecx,esi - or edx,edi - add eax,ecx - adc ebx,edx - mov DWORD [esp],eax - mov DWORD [4+esp],ebx - mov dl,BYTE [ebp] - sub esp,8 - lea ebp,[8+ebp] - cmp dl,148 - jne NEAR L$00300_15_x86 -align 16 -L$00416_79_x86: - mov ecx,DWORD [312+esp] - mov edx,DWORD [316+esp] - mov esi,ecx - shr ecx,1 - mov edi,edx - shr edx,1 - mov eax,ecx - shl esi,24 - mov ebx,edx - shl edi,24 - xor ebx,esi - shr ecx,6 - xor eax,edi - shr edx,6 - xor eax,ecx - shl esi,7 - xor ebx,edx - shl edi,1 - xor ebx,esi - shr ecx,1 - xor eax,edi - shr edx,1 - xor eax,ecx - shl edi,6 - xor ebx,edx - xor eax,edi - mov DWORD [esp],eax - mov DWORD [4+esp],ebx - mov ecx,DWORD [208+esp] - mov edx,DWORD [212+esp] - mov esi,ecx - shr ecx,6 - mov edi,edx - shr edx,6 - mov eax,ecx - shl esi,3 - mov ebx,edx - shl edi,3 - xor eax,esi - shr ecx,13 - xor ebx,edi - shr edx,13 - xor eax,ecx - shl esi,10 - xor ebx,edx - shl edi,10 - xor ebx,esi - shr ecx,10 - xor eax,edi - shr edx,10 - xor ebx,ecx - shl edi,13 - xor eax,edx - xor eax,edi - mov ecx,DWORD [320+esp] - mov edx,DWORD [324+esp] - add eax,DWORD [esp] - adc ebx,DWORD [4+esp] - mov esi,DWORD [248+esp] - mov edi,DWORD [252+esp] - add eax,ecx - adc ebx,edx - add eax,esi - adc ebx,edi - mov DWORD [192+esp],eax - mov DWORD [196+esp],ebx - mov ecx,DWORD [40+esp] - mov edx,DWORD [44+esp] - mov esi,ecx - shr ecx,9 - mov edi,edx - shr edx,9 - mov ebx,ecx - shl esi,14 - mov eax,edx - shl edi,14 - xor ebx,esi - shr ecx,5 - xor eax,edi - shr edx,5 - xor eax,ecx - shl esi,4 - xor ebx,edx - shl edi,4 - xor ebx,esi - shr ecx,4 - xor eax,edi - shr edx,4 - xor eax,ecx - shl esi,5 - xor ebx,edx - shl edi,5 - xor eax,esi - xor ebx,edi - mov ecx,DWORD [48+esp] - mov edx,DWORD [52+esp] - mov esi,DWORD [56+esp] - mov edi,DWORD [60+esp] - add eax,DWORD [64+esp] - adc ebx,DWORD [68+esp] - xor ecx,esi - xor edx,edi - and ecx,DWORD [40+esp] - and edx,DWORD [44+esp] - add eax,DWORD [192+esp] - adc ebx,DWORD [196+esp] - xor ecx,esi - xor edx,edi - mov esi,DWORD [ebp] - mov edi,DWORD [4+ebp] - add eax,ecx - adc ebx,edx - mov ecx,DWORD [32+esp] - mov edx,DWORD [36+esp] - add eax,esi - adc ebx,edi - mov DWORD [esp],eax - mov DWORD [4+esp],ebx - add eax,ecx - adc ebx,edx - mov ecx,DWORD [8+esp] - mov edx,DWORD [12+esp] - mov DWORD [32+esp],eax - mov DWORD [36+esp],ebx - mov esi,ecx - shr ecx,2 - mov edi,edx - shr edx,2 - mov ebx,ecx - shl esi,4 - mov eax,edx - shl edi,4 - xor ebx,esi - shr ecx,5 - xor eax,edi - shr edx,5 - xor ebx,ecx - shl esi,21 - xor eax,edx - shl edi,21 - xor eax,esi - shr ecx,21 - xor ebx,edi - shr edx,21 - xor eax,ecx - shl esi,5 - xor ebx,edx - shl edi,5 - xor eax,esi - xor ebx,edi - mov ecx,DWORD [8+esp] - mov edx,DWORD [12+esp] - mov esi,DWORD [16+esp] - mov edi,DWORD [20+esp] - add eax,DWORD [esp] - adc ebx,DWORD [4+esp] - or ecx,esi - or edx,edi - and ecx,DWORD [24+esp] - and edx,DWORD [28+esp] - and esi,DWORD [8+esp] - and edi,DWORD [12+esp] - or ecx,esi - or edx,edi - add eax,ecx - adc ebx,edx - mov DWORD [esp],eax - mov DWORD [4+esp],ebx - mov dl,BYTE [ebp] - sub esp,8 - lea ebp,[8+ebp] - cmp dl,23 - jne NEAR L$00416_79_x86 - mov esi,DWORD [840+esp] - mov edi,DWORD [844+esp] - mov eax,DWORD [esi] - mov ebx,DWORD [4+esi] - mov ecx,DWORD [8+esi] - mov edx,DWORD [12+esi] - add eax,DWORD [8+esp] - adc ebx,DWORD [12+esp] - mov DWORD [esi],eax - mov DWORD [4+esi],ebx - add ecx,DWORD [16+esp] - adc edx,DWORD [20+esp] - mov DWORD [8+esi],ecx - mov DWORD [12+esi],edx - mov eax,DWORD [16+esi] - mov ebx,DWORD [20+esi] - mov ecx,DWORD [24+esi] - mov edx,DWORD [28+esi] - add eax,DWORD [24+esp] - adc ebx,DWORD [28+esp] - mov DWORD [16+esi],eax - mov DWORD [20+esi],ebx - add ecx,DWORD [32+esp] - adc edx,DWORD [36+esp] - mov DWORD [24+esi],ecx - mov DWORD [28+esi],edx - mov eax,DWORD [32+esi] - mov ebx,DWORD [36+esi] - mov ecx,DWORD [40+esi] - mov edx,DWORD [44+esi] - add eax,DWORD [40+esp] - adc ebx,DWORD [44+esp] - mov DWORD [32+esi],eax - mov DWORD [36+esi],ebx - add ecx,DWORD [48+esp] - adc edx,DWORD [52+esp] - mov DWORD [40+esi],ecx - mov DWORD [44+esi],edx - mov eax,DWORD [48+esi] - mov ebx,DWORD [52+esi] - mov ecx,DWORD [56+esi] - mov edx,DWORD [60+esi] - add eax,DWORD [56+esp] - adc ebx,DWORD [60+esp] - mov DWORD [48+esi],eax - mov DWORD [52+esi],ebx - add ecx,DWORD [64+esp] - adc edx,DWORD [68+esp] - mov DWORD [56+esi],ecx - mov DWORD [60+esi],edx - add esp,840 - sub ebp,640 - cmp edi,DWORD [8+esp] - jb NEAR L$002loop_x86 - mov esp,DWORD [12+esp] - pop edi - pop esi - pop ebx - pop ebp - ret -align 64 -L$001K512: -dd 3609767458,1116352408 -dd 602891725,1899447441 -dd 3964484399,3049323471 -dd 2173295548,3921009573 -dd 4081628472,961987163 -dd 3053834265,1508970993 -dd 2937671579,2453635748 -dd 3664609560,2870763221 -dd 2734883394,3624381080 -dd 1164996542,310598401 -dd 1323610764,607225278 -dd 3590304994,1426881987 -dd 4068182383,1925078388 -dd 991336113,2162078206 -dd 633803317,2614888103 -dd 3479774868,3248222580 -dd 2666613458,3835390401 -dd 944711139,4022224774 -dd 2341262773,264347078 -dd 2007800933,604807628 -dd 1495990901,770255983 -dd 1856431235,1249150122 -dd 3175218132,1555081692 -dd 2198950837,1996064986 -dd 3999719339,2554220882 -dd 766784016,2821834349 -dd 2566594879,2952996808 -dd 3203337956,3210313671 -dd 1034457026,3336571891 -dd 2466948901,3584528711 -dd 3758326383,113926993 -dd 168717936,338241895 -dd 1188179964,666307205 -dd 1546045734,773529912 -dd 1522805485,1294757372 -dd 2643833823,1396182291 -dd 2343527390,1695183700 -dd 1014477480,1986661051 -dd 1206759142,2177026350 -dd 344077627,2456956037 -dd 1290863460,2730485921 -dd 3158454273,2820302411 -dd 3505952657,3259730800 -dd 106217008,3345764771 -dd 3606008344,3516065817 -dd 1432725776,3600352804 -dd 1467031594,4094571909 -dd 851169720,275423344 -dd 3100823752,430227734 -dd 1363258195,506948616 -dd 3750685593,659060556 -dd 3785050280,883997877 -dd 3318307427,958139571 -dd 3812723403,1322822218 -dd 2003034995,1537002063 -dd 3602036899,1747873779 -dd 1575990012,1955562222 -dd 1125592928,2024104815 -dd 2716904306,2227730452 -dd 442776044,2361852424 -dd 593698344,2428436474 -dd 3733110249,2756734187 -dd 2999351573,3204031479 -dd 3815920427,3329325298 -dd 3928383900,3391569614 -dd 566280711,3515267271 -dd 3454069534,3940187606 -dd 4000239992,4118630271 -dd 1914138554,116418474 -dd 2731055270,174292421 -dd 3203993006,289380356 -dd 320620315,460393269 -dd 587496836,685471733 -dd 1086792851,852142971 -dd 365543100,1017036298 -dd 2618297676,1126000580 -dd 3409855158,1288033470 -dd 4234509866,1501505948 -dd 987167468,1607167915 -dd 1246189591,1816402316 -dd 67438087,66051 -dd 202182159,134810123 -db 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97 -db 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32 -db 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 -db 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 -db 62,0 diff --git a/CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm b/CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm deleted file mode 100644 index 542e759ecdc6..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32/crypto/x86cpuid.nasm +++ /dev/null @@ -1,433 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/x86cpuid.pl -; -; Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -%ifidn __OUTPUT_FORMAT__,obj -section code use32 class=code align=64 -%elifidn __OUTPUT_FORMAT__,win32 -$@feat.00 equ 1 -section .text code align=64 -%else -section .text code -%endif -global _OPENSSL_ia32_cpuid -align 16 -_OPENSSL_ia32_cpuid: -L$_OPENSSL_ia32_cpuid_begin: - push ebp - push ebx - push esi - push edi - xor edx,edx - pushfd - pop eax - mov ecx,eax - xor eax,2097152 - push eax - popfd - pushfd - pop eax - xor ecx,eax - xor eax,eax - mov esi,DWORD [20+esp] - mov DWORD [8+esi],eax - bt ecx,21 - jnc NEAR L$000nocpuid - cpuid - mov edi,eax - xor eax,eax - cmp ebx,1970169159 - setne al - mov ebp,eax - cmp edx,1231384169 - setne al - or ebp,eax - cmp ecx,1818588270 - setne al - or ebp,eax - jz NEAR L$001intel - cmp ebx,1752462657 - setne al - mov esi,eax - cmp edx,1769238117 - setne al - or esi,eax - cmp ecx,1145913699 - setne al - or esi,eax - jnz NEAR L$001intel - mov eax,2147483648 - cpuid - cmp eax,2147483649 - jb NEAR L$001intel - mov esi,eax - mov eax,2147483649 - cpuid - or ebp,ecx - and ebp,2049 - cmp esi,2147483656 - jb NEAR L$001intel - mov eax,2147483656 - cpuid - movzx esi,cl - inc esi - mov eax,1 - xor ecx,ecx - cpuid - bt edx,28 - jnc NEAR L$002generic - shr ebx,16 - and ebx,255 - cmp ebx,esi - ja NEAR L$002generic - and edx,4026531839 - jmp NEAR L$002generic -L$001intel: - cmp edi,4 - mov esi,-1 - jb NEAR L$003nocacheinfo - mov eax,4 - mov ecx,0 - cpuid - mov esi,eax - shr esi,14 - and esi,4095 -L$003nocacheinfo: - mov eax,1 - xor ecx,ecx - cpuid - and edx,3220176895 - cmp ebp,0 - jne NEAR L$004notintel - or edx,1073741824 - and ah,15 - cmp ah,15 - jne NEAR L$004notintel - or edx,1048576 -L$004notintel: - bt edx,28 - jnc NEAR L$002generic - and edx,4026531839 - cmp esi,0 - je NEAR L$002generic - or edx,268435456 - shr ebx,16 - cmp bl,1 - ja NEAR L$002generic - and edx,4026531839 -L$002generic: - and ebp,2048 - and ecx,4294965247 - mov esi,edx - or ebp,ecx - cmp edi,7 - mov edi,DWORD [20+esp] - jb NEAR L$005no_extended_info - mov eax,7 - xor ecx,ecx - cpuid - mov DWORD [8+edi],ebx -L$005no_extended_info: - bt ebp,27 - jnc NEAR L$006clear_avx - xor ecx,ecx -db 15,1,208 - and eax,6 - cmp eax,6 - je NEAR L$007done - cmp eax,2 - je NEAR L$006clear_avx -L$008clear_xmm: - and ebp,4261412861 - and esi,4278190079 -L$006clear_avx: - and ebp,4026525695 - and DWORD [8+edi],4294967263 -L$007done: - mov eax,esi - mov edx,ebp -L$000nocpuid: - pop edi - pop esi - pop ebx - pop ebp - ret -;extern _OPENSSL_ia32cap_P -global _OPENSSL_rdtsc -align 16 -_OPENSSL_rdtsc: -L$_OPENSSL_rdtsc_begin: - xor eax,eax - xor edx,edx - lea ecx,[_OPENSSL_ia32cap_P] - bt DWORD [ecx],4 - jnc NEAR L$009notsc - rdtsc -L$009notsc: - ret -global _OPENSSL_instrument_halt -align 16 -_OPENSSL_instrument_halt: -L$_OPENSSL_instrument_halt_begin: - lea ecx,[_OPENSSL_ia32cap_P] - bt DWORD [ecx],4 - jnc NEAR L$010nohalt -dd 2421723150 - and eax,3 - jnz NEAR L$010nohalt - pushfd - pop eax - bt eax,9 - jnc NEAR L$010nohalt - rdtsc - push edx - push eax - hlt - rdtsc - sub eax,DWORD [esp] - sbb edx,DWORD [4+esp] - add esp,8 - ret -L$010nohalt: - xor eax,eax - xor edx,edx - ret -global _OPENSSL_far_spin -align 16 -_OPENSSL_far_spin: -L$_OPENSSL_far_spin_begin: - pushfd - pop eax - bt eax,9 - jnc NEAR L$011nospin - mov eax,DWORD [4+esp] - mov ecx,DWORD [8+esp] -dd 2430111262 - xor eax,eax - mov edx,DWORD [ecx] - jmp NEAR L$012spin -align 16 -L$012spin: - inc eax - cmp edx,DWORD [ecx] - je NEAR L$012spin -dd 529567888 - ret -L$011nospin: - xor eax,eax - xor edx,edx - ret -global _OPENSSL_wipe_cpu -align 16 -_OPENSSL_wipe_cpu: -L$_OPENSSL_wipe_cpu_begin: - xor eax,eax - xor edx,edx - lea ecx,[_OPENSSL_ia32cap_P] - mov ecx,DWORD [ecx] - bt DWORD [ecx],1 - jnc NEAR L$013no_x87 -dd 4007259865,4007259865,4007259865,4007259865,2430851995 -L$013no_x87: - lea eax,[4+esp] - ret -global _OPENSSL_atomic_add -align 16 -_OPENSSL_atomic_add: -L$_OPENSSL_atomic_add_begin: - mov edx,DWORD [4+esp] - mov ecx,DWORD [8+esp] - push ebx - nop - mov eax,DWORD [edx] -L$014spin: - lea ebx,[ecx*1+eax] - nop -dd 447811568 - jne NEAR L$014spin - mov eax,ebx - pop ebx - ret -global _OPENSSL_cleanse -align 16 -_OPENSSL_cleanse: -L$_OPENSSL_cleanse_begin: - mov edx,DWORD [4+esp] - mov ecx,DWORD [8+esp] - xor eax,eax - cmp ecx,7 - jae NEAR L$015lot - cmp ecx,0 - je NEAR L$016ret -L$017little: - mov BYTE [edx],al - sub ecx,1 - lea edx,[1+edx] - jnz NEAR L$017little -L$016ret: - ret -align 16 -L$015lot: - test edx,3 - jz NEAR L$018aligned - mov BYTE [edx],al - lea ecx,[ecx-1] - lea edx,[1+edx] - jmp NEAR L$015lot -L$018aligned: - mov DWORD [edx],eax - lea ecx,[ecx-4] - test ecx,-4 - lea edx,[4+edx] - jnz NEAR L$018aligned - cmp ecx,0 - jne NEAR L$017little - ret -global _CRYPTO_memcmp -align 16 -_CRYPTO_memcmp: -L$_CRYPTO_memcmp_begin: - push esi - push edi - mov esi,DWORD [12+esp] - mov edi,DWORD [16+esp] - mov ecx,DWORD [20+esp] - xor eax,eax - xor edx,edx - cmp ecx,0 - je NEAR L$019no_data -L$020loop: - mov dl,BYTE [esi] - lea esi,[1+esi] - xor dl,BYTE [edi] - lea edi,[1+edi] - or al,dl - dec ecx - jnz NEAR L$020loop - neg eax - shr eax,31 -L$019no_data: - pop edi - pop esi - ret -global _OPENSSL_instrument_bus -align 16 -_OPENSSL_instrument_bus: -L$_OPENSSL_instrument_bus_begin: - push ebp - push ebx - push esi - push edi - mov eax,0 - pop edi - pop esi - pop ebx - pop ebp - ret -global _OPENSSL_instrument_bus2 -align 16 -_OPENSSL_instrument_bus2: -L$_OPENSSL_instrument_bus2_begin: - push ebp - push ebx - push esi - push edi - mov eax,0 - pop edi - pop esi - pop ebx - pop ebp - ret -global _OPENSSL_ia32_rdrand_bytes -align 16 -_OPENSSL_ia32_rdrand_bytes: -L$_OPENSSL_ia32_rdrand_bytes_begin: - push edi - push ebx - xor eax,eax - mov edi,DWORD [12+esp] - mov ebx,DWORD [16+esp] - cmp ebx,0 - je NEAR L$021done - mov ecx,8 -L$022loop: -db 15,199,242 - jc NEAR L$023break - loop L$022loop - jmp NEAR L$021done -align 16 -L$023break: - cmp ebx,4 - jb NEAR L$024tail - mov DWORD [edi],edx - lea edi,[4+edi] - add eax,4 - sub ebx,4 - jz NEAR L$021done - mov ecx,8 - jmp NEAR L$022loop -align 16 -L$024tail: - mov BYTE [edi],dl - lea edi,[1+edi] - inc eax - shr edx,8 - dec ebx - jnz NEAR L$024tail -L$021done: - xor edx,edx - pop ebx - pop edi - ret -global _OPENSSL_ia32_rdseed_bytes -align 16 -_OPENSSL_ia32_rdseed_bytes: -L$_OPENSSL_ia32_rdseed_bytes_begin: - push edi - push ebx - xor eax,eax - mov edi,DWORD [12+esp] - mov ebx,DWORD [16+esp] - cmp ebx,0 - je NEAR L$025done - mov ecx,8 -L$026loop: -db 15,199,250 - jc NEAR L$027break - loop L$026loop - jmp NEAR L$025done -align 16 -L$027break: - cmp ebx,4 - jb NEAR L$028tail - mov DWORD [edi],edx - lea edi,[4+edi] - add eax,4 - sub ebx,4 - jz NEAR L$025done - mov ecx,8 - jmp NEAR L$026loop -align 16 -L$028tail: - mov BYTE [edi],dl - lea edi,[1+edi] - inc eax - shr edx,8 - dec ebx - jnz NEAR L$028tail -L$025done: - xor edx,edx - pop ebx - pop edi - ret -segment .bss -common _OPENSSL_ia32cap_P 16 -segment .CRT$XCU data align=4 -extern _OPENSSL_cpuid_setup -dd _OPENSSL_cpuid_setup diff --git a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/aesni-x86.S b/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/aesni-x86.S deleted file mode 100644 index 836e831b183d..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/aesni-x86.S +++ /dev/null @@ -1,3247 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/aes/asm/aesni-x86.pl -# -# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text -.globl aesni_encrypt -.type aesni_encrypt,@function -.align 16 -aesni_encrypt: -.L_aesni_encrypt_begin: - movl 4(%esp),%eax - movl 12(%esp),%edx - movups (%eax),%xmm2 - movl 240(%edx),%ecx - movl 8(%esp),%eax - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L000enc1_loop_1: -.byte 102,15,56,220,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L000enc1_loop_1 -.byte 102,15,56,221,209 - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - movups %xmm2,(%eax) - pxor %xmm2,%xmm2 - ret -.size aesni_encrypt,.-.L_aesni_encrypt_begin -.globl aesni_decrypt -.type aesni_decrypt,@function -.align 16 -aesni_decrypt: -.L_aesni_decrypt_begin: - movl 4(%esp),%eax - movl 12(%esp),%edx - movups (%eax),%xmm2 - movl 240(%edx),%ecx - movl 8(%esp),%eax - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L001dec1_loop_2: -.byte 102,15,56,222,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L001dec1_loop_2 -.byte 102,15,56,223,209 - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - movups %xmm2,(%eax) - pxor %xmm2,%xmm2 - ret -.size aesni_decrypt,.-.L_aesni_decrypt_begin -.type _aesni_encrypt2,@function -.align 16 -_aesni_encrypt2: - movups (%edx),%xmm0 - shll $4,%ecx - movups 16(%edx),%xmm1 - xorps %xmm0,%xmm2 - pxor %xmm0,%xmm3 - movups 32(%edx),%xmm0 - leal 32(%edx,%ecx,1),%edx - negl %ecx - addl $16,%ecx -.L002enc2_loop: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - movups (%edx,%ecx,1),%xmm1 - addl $32,%ecx -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 - movups -16(%edx,%ecx,1),%xmm0 - jnz .L002enc2_loop -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 - ret -.size _aesni_encrypt2,.-_aesni_encrypt2 -.type _aesni_decrypt2,@function -.align 16 -_aesni_decrypt2: - movups (%edx),%xmm0 - shll $4,%ecx - movups 16(%edx),%xmm1 - xorps %xmm0,%xmm2 - pxor %xmm0,%xmm3 - movups 32(%edx),%xmm0 - leal 32(%edx,%ecx,1),%edx - negl %ecx - addl $16,%ecx -.L003dec2_loop: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 - movups (%edx,%ecx,1),%xmm1 - addl $32,%ecx -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 - movups -16(%edx,%ecx,1),%xmm0 - jnz .L003dec2_loop -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,223,208 -.byte 102,15,56,223,216 - ret -.size _aesni_decrypt2,.-_aesni_decrypt2 -.type _aesni_encrypt3,@function -.align 16 -_aesni_encrypt3: - movups (%edx),%xmm0 - shll $4,%ecx - movups 16(%edx),%xmm1 - xorps %xmm0,%xmm2 - pxor %xmm0,%xmm3 - pxor %xmm0,%xmm4 - movups 32(%edx),%xmm0 - leal 32(%edx,%ecx,1),%edx - negl %ecx - addl $16,%ecx -.L004enc3_loop: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 - movups (%edx,%ecx,1),%xmm1 - addl $32,%ecx -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 - movups -16(%edx,%ecx,1),%xmm0 - jnz .L004enc3_loop -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 -.byte 102,15,56,221,224 - ret -.size _aesni_encrypt3,.-_aesni_encrypt3 -.type _aesni_decrypt3,@function -.align 16 -_aesni_decrypt3: - movups (%edx),%xmm0 - shll $4,%ecx - movups 16(%edx),%xmm1 - xorps %xmm0,%xmm2 - pxor %xmm0,%xmm3 - pxor %xmm0,%xmm4 - movups 32(%edx),%xmm0 - leal 32(%edx,%ecx,1),%edx - negl %ecx - addl $16,%ecx -.L005dec3_loop: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 - movups (%edx,%ecx,1),%xmm1 - addl $32,%ecx -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 - movups -16(%edx,%ecx,1),%xmm0 - jnz .L005dec3_loop -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,223,208 -.byte 102,15,56,223,216 -.byte 102,15,56,223,224 - ret -.size _aesni_decrypt3,.-_aesni_decrypt3 -.type _aesni_encrypt4,@function -.align 16 -_aesni_encrypt4: - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - shll $4,%ecx - xorps %xmm0,%xmm2 - pxor %xmm0,%xmm3 - pxor %xmm0,%xmm4 - pxor %xmm0,%xmm5 - movups 32(%edx),%xmm0 - leal 32(%edx,%ecx,1),%edx - negl %ecx -.byte 15,31,64,0 - addl $16,%ecx -.L006enc4_loop: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movups (%edx,%ecx,1),%xmm1 - addl $32,%ecx -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - movups -16(%edx,%ecx,1),%xmm0 - jnz .L006enc4_loop -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 -.byte 102,15,56,221,224 -.byte 102,15,56,221,232 - ret -.size _aesni_encrypt4,.-_aesni_encrypt4 -.type _aesni_decrypt4,@function -.align 16 -_aesni_decrypt4: - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - shll $4,%ecx - xorps %xmm0,%xmm2 - pxor %xmm0,%xmm3 - pxor %xmm0,%xmm4 - pxor %xmm0,%xmm5 - movups 32(%edx),%xmm0 - leal 32(%edx,%ecx,1),%edx - negl %ecx -.byte 15,31,64,0 - addl $16,%ecx -.L007dec4_loop: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - movups (%edx,%ecx,1),%xmm1 - addl $32,%ecx -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 - movups -16(%edx,%ecx,1),%xmm0 - jnz .L007dec4_loop -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,223,208 -.byte 102,15,56,223,216 -.byte 102,15,56,223,224 -.byte 102,15,56,223,232 - ret -.size _aesni_decrypt4,.-_aesni_decrypt4 -.type _aesni_encrypt6,@function -.align 16 -_aesni_encrypt6: - movups (%edx),%xmm0 - shll $4,%ecx - movups 16(%edx),%xmm1 - xorps %xmm0,%xmm2 - pxor %xmm0,%xmm3 - pxor %xmm0,%xmm4 -.byte 102,15,56,220,209 - pxor %xmm0,%xmm5 - pxor %xmm0,%xmm6 -.byte 102,15,56,220,217 - leal 32(%edx,%ecx,1),%edx - negl %ecx -.byte 102,15,56,220,225 - pxor %xmm0,%xmm7 - movups (%edx,%ecx,1),%xmm0 - addl $16,%ecx - jmp .L008_aesni_encrypt6_inner -.align 16 -.L009enc6_loop: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.L008_aesni_encrypt6_inner: -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.L_aesni_encrypt6_enter: - movups (%edx,%ecx,1),%xmm1 - addl $32,%ecx -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 - movups -16(%edx,%ecx,1),%xmm0 - jnz .L009enc6_loop -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 -.byte 102,15,56,221,224 -.byte 102,15,56,221,232 -.byte 102,15,56,221,240 -.byte 102,15,56,221,248 - ret -.size _aesni_encrypt6,.-_aesni_encrypt6 -.type _aesni_decrypt6,@function -.align 16 -_aesni_decrypt6: - movups (%edx),%xmm0 - shll $4,%ecx - movups 16(%edx),%xmm1 - xorps %xmm0,%xmm2 - pxor %xmm0,%xmm3 - pxor %xmm0,%xmm4 -.byte 102,15,56,222,209 - pxor %xmm0,%xmm5 - pxor %xmm0,%xmm6 -.byte 102,15,56,222,217 - leal 32(%edx,%ecx,1),%edx - negl %ecx -.byte 102,15,56,222,225 - pxor %xmm0,%xmm7 - movups (%edx,%ecx,1),%xmm0 - addl $16,%ecx - jmp .L010_aesni_decrypt6_inner -.align 16 -.L011dec6_loop: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.L010_aesni_decrypt6_inner: -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 -.L_aesni_decrypt6_enter: - movups (%edx,%ecx,1),%xmm1 - addl $32,%ecx -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 - movups -16(%edx,%ecx,1),%xmm0 - jnz .L011dec6_loop -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 -.byte 102,15,56,223,208 -.byte 102,15,56,223,216 -.byte 102,15,56,223,224 -.byte 102,15,56,223,232 -.byte 102,15,56,223,240 -.byte 102,15,56,223,248 - ret -.size _aesni_decrypt6,.-_aesni_decrypt6 -.globl aesni_ecb_encrypt -.type aesni_ecb_encrypt,@function -.align 16 -aesni_ecb_encrypt: -.L_aesni_ecb_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 24(%esp),%edi - movl 28(%esp),%eax - movl 32(%esp),%edx - movl 36(%esp),%ebx - andl $-16,%eax - jz .L012ecb_ret - movl 240(%edx),%ecx - testl %ebx,%ebx - jz .L013ecb_decrypt - movl %edx,%ebp - movl %ecx,%ebx - cmpl $96,%eax - jb .L014ecb_enc_tail - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movdqu 32(%esi),%xmm4 - movdqu 48(%esi),%xmm5 - movdqu 64(%esi),%xmm6 - movdqu 80(%esi),%xmm7 - leal 96(%esi),%esi - subl $96,%eax - jmp .L015ecb_enc_loop6_enter -.align 16 -.L016ecb_enc_loop6: - movups %xmm2,(%edi) - movdqu (%esi),%xmm2 - movups %xmm3,16(%edi) - movdqu 16(%esi),%xmm3 - movups %xmm4,32(%edi) - movdqu 32(%esi),%xmm4 - movups %xmm5,48(%edi) - movdqu 48(%esi),%xmm5 - movups %xmm6,64(%edi) - movdqu 64(%esi),%xmm6 - movups %xmm7,80(%edi) - leal 96(%edi),%edi - movdqu 80(%esi),%xmm7 - leal 96(%esi),%esi -.L015ecb_enc_loop6_enter: - call _aesni_encrypt6 - movl %ebp,%edx - movl %ebx,%ecx - subl $96,%eax - jnc .L016ecb_enc_loop6 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) - movups %xmm6,64(%edi) - movups %xmm7,80(%edi) - leal 96(%edi),%edi - addl $96,%eax - jz .L012ecb_ret -.L014ecb_enc_tail: - movups (%esi),%xmm2 - cmpl $32,%eax - jb .L017ecb_enc_one - movups 16(%esi),%xmm3 - je .L018ecb_enc_two - movups 32(%esi),%xmm4 - cmpl $64,%eax - jb .L019ecb_enc_three - movups 48(%esi),%xmm5 - je .L020ecb_enc_four - movups 64(%esi),%xmm6 - xorps %xmm7,%xmm7 - call _aesni_encrypt6 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) - movups %xmm6,64(%edi) - jmp .L012ecb_ret -.align 16 -.L017ecb_enc_one: - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L021enc1_loop_3: -.byte 102,15,56,220,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L021enc1_loop_3 -.byte 102,15,56,221,209 - movups %xmm2,(%edi) - jmp .L012ecb_ret -.align 16 -.L018ecb_enc_two: - call _aesni_encrypt2 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - jmp .L012ecb_ret -.align 16 -.L019ecb_enc_three: - call _aesni_encrypt3 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - jmp .L012ecb_ret -.align 16 -.L020ecb_enc_four: - call _aesni_encrypt4 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) - jmp .L012ecb_ret -.align 16 -.L013ecb_decrypt: - movl %edx,%ebp - movl %ecx,%ebx - cmpl $96,%eax - jb .L022ecb_dec_tail - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movdqu 32(%esi),%xmm4 - movdqu 48(%esi),%xmm5 - movdqu 64(%esi),%xmm6 - movdqu 80(%esi),%xmm7 - leal 96(%esi),%esi - subl $96,%eax - jmp .L023ecb_dec_loop6_enter -.align 16 -.L024ecb_dec_loop6: - movups %xmm2,(%edi) - movdqu (%esi),%xmm2 - movups %xmm3,16(%edi) - movdqu 16(%esi),%xmm3 - movups %xmm4,32(%edi) - movdqu 32(%esi),%xmm4 - movups %xmm5,48(%edi) - movdqu 48(%esi),%xmm5 - movups %xmm6,64(%edi) - movdqu 64(%esi),%xmm6 - movups %xmm7,80(%edi) - leal 96(%edi),%edi - movdqu 80(%esi),%xmm7 - leal 96(%esi),%esi -.L023ecb_dec_loop6_enter: - call _aesni_decrypt6 - movl %ebp,%edx - movl %ebx,%ecx - subl $96,%eax - jnc .L024ecb_dec_loop6 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) - movups %xmm6,64(%edi) - movups %xmm7,80(%edi) - leal 96(%edi),%edi - addl $96,%eax - jz .L012ecb_ret -.L022ecb_dec_tail: - movups (%esi),%xmm2 - cmpl $32,%eax - jb .L025ecb_dec_one - movups 16(%esi),%xmm3 - je .L026ecb_dec_two - movups 32(%esi),%xmm4 - cmpl $64,%eax - jb .L027ecb_dec_three - movups 48(%esi),%xmm5 - je .L028ecb_dec_four - movups 64(%esi),%xmm6 - xorps %xmm7,%xmm7 - call _aesni_decrypt6 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) - movups %xmm6,64(%edi) - jmp .L012ecb_ret -.align 16 -.L025ecb_dec_one: - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L029dec1_loop_4: -.byte 102,15,56,222,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L029dec1_loop_4 -.byte 102,15,56,223,209 - movups %xmm2,(%edi) - jmp .L012ecb_ret -.align 16 -.L026ecb_dec_two: - call _aesni_decrypt2 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - jmp .L012ecb_ret -.align 16 -.L027ecb_dec_three: - call _aesni_decrypt3 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - jmp .L012ecb_ret -.align 16 -.L028ecb_dec_four: - call _aesni_decrypt4 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) -.L012ecb_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 - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aesni_ecb_encrypt,.-.L_aesni_ecb_encrypt_begin -.globl aesni_ccm64_encrypt_blocks -.type aesni_ccm64_encrypt_blocks,@function -.align 16 -aesni_ccm64_encrypt_blocks: -.L_aesni_ccm64_encrypt_blocks_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 24(%esp),%edi - movl 28(%esp),%eax - movl 32(%esp),%edx - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl %esp,%ebp - subl $60,%esp - andl $-16,%esp - movl %ebp,48(%esp) - movdqu (%ebx),%xmm7 - movdqu (%ecx),%xmm3 - movl 240(%edx),%ecx - movl $202182159,(%esp) - movl $134810123,4(%esp) - movl $67438087,8(%esp) - movl $66051,12(%esp) - movl $1,%ebx - xorl %ebp,%ebp - movl %ebx,16(%esp) - movl %ebp,20(%esp) - movl %ebp,24(%esp) - movl %ebp,28(%esp) - shll $4,%ecx - movl $16,%ebx - leal (%edx),%ebp - movdqa (%esp),%xmm5 - movdqa %xmm7,%xmm2 - leal 32(%edx,%ecx,1),%edx - subl %ecx,%ebx -.byte 102,15,56,0,253 -.L030ccm64_enc_outer: - movups (%ebp),%xmm0 - movl %ebx,%ecx - movups (%esi),%xmm6 - xorps %xmm0,%xmm2 - movups 16(%ebp),%xmm1 - xorps %xmm6,%xmm0 - xorps %xmm0,%xmm3 - movups 32(%ebp),%xmm0 -.L031ccm64_enc2_loop: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - movups (%edx,%ecx,1),%xmm1 - addl $32,%ecx -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 - movups -16(%edx,%ecx,1),%xmm0 - jnz .L031ccm64_enc2_loop -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - paddq 16(%esp),%xmm7 - decl %eax -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 - leal 16(%esi),%esi - xorps %xmm2,%xmm6 - movdqa %xmm7,%xmm2 - movups %xmm6,(%edi) -.byte 102,15,56,0,213 - leal 16(%edi),%edi - jnz .L030ccm64_enc_outer - movl 48(%esp),%esp - movl 40(%esp),%edi - movups %xmm3,(%edi) - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aesni_ccm64_encrypt_blocks,.-.L_aesni_ccm64_encrypt_blocks_begin -.globl aesni_ccm64_decrypt_blocks -.type aesni_ccm64_decrypt_blocks,@function -.align 16 -aesni_ccm64_decrypt_blocks: -.L_aesni_ccm64_decrypt_blocks_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 24(%esp),%edi - movl 28(%esp),%eax - movl 32(%esp),%edx - movl 36(%esp),%ebx - movl 40(%esp),%ecx - movl %esp,%ebp - subl $60,%esp - andl $-16,%esp - movl %ebp,48(%esp) - movdqu (%ebx),%xmm7 - movdqu (%ecx),%xmm3 - movl 240(%edx),%ecx - movl $202182159,(%esp) - movl $134810123,4(%esp) - movl $67438087,8(%esp) - movl $66051,12(%esp) - movl $1,%ebx - xorl %ebp,%ebp - movl %ebx,16(%esp) - movl %ebp,20(%esp) - movl %ebp,24(%esp) - movl %ebp,28(%esp) - movdqa (%esp),%xmm5 - movdqa %xmm7,%xmm2 - movl %edx,%ebp - movl %ecx,%ebx -.byte 102,15,56,0,253 - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L032enc1_loop_5: -.byte 102,15,56,220,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L032enc1_loop_5 -.byte 102,15,56,221,209 - shll $4,%ebx - movl $16,%ecx - movups (%esi),%xmm6 - paddq 16(%esp),%xmm7 - leal 16(%esi),%esi - subl %ebx,%ecx - leal 32(%ebp,%ebx,1),%edx - movl %ecx,%ebx - jmp .L033ccm64_dec_outer -.align 16 -.L033ccm64_dec_outer: - xorps %xmm2,%xmm6 - movdqa %xmm7,%xmm2 - movups %xmm6,(%edi) - leal 16(%edi),%edi -.byte 102,15,56,0,213 - subl $1,%eax - jz .L034ccm64_dec_break - movups (%ebp),%xmm0 - movl %ebx,%ecx - movups 16(%ebp),%xmm1 - xorps %xmm0,%xmm6 - xorps %xmm0,%xmm2 - xorps %xmm6,%xmm3 - movups 32(%ebp),%xmm0 -.L035ccm64_dec2_loop: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - movups (%edx,%ecx,1),%xmm1 - addl $32,%ecx -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 - movups -16(%edx,%ecx,1),%xmm0 - jnz .L035ccm64_dec2_loop - movups (%esi),%xmm6 - paddq 16(%esp),%xmm7 -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 - leal 16(%esi),%esi - jmp .L033ccm64_dec_outer -.align 16 -.L034ccm64_dec_break: - movl 240(%ebp),%ecx - movl %ebp,%edx - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - xorps %xmm0,%xmm6 - leal 32(%edx),%edx - xorps %xmm6,%xmm3 -.L036enc1_loop_6: -.byte 102,15,56,220,217 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L036enc1_loop_6 -.byte 102,15,56,221,217 - movl 48(%esp),%esp - movl 40(%esp),%edi - movups %xmm3,(%edi) - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aesni_ccm64_decrypt_blocks,.-.L_aesni_ccm64_decrypt_blocks_begin -.globl aesni_ctr32_encrypt_blocks -.type aesni_ctr32_encrypt_blocks,@function -.align 16 -aesni_ctr32_encrypt_blocks: -.L_aesni_ctr32_encrypt_blocks_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 24(%esp),%edi - movl 28(%esp),%eax - movl 32(%esp),%edx - movl 36(%esp),%ebx - movl %esp,%ebp - subl $88,%esp - andl $-16,%esp - movl %ebp,80(%esp) - cmpl $1,%eax - je .L037ctr32_one_shortcut - movdqu (%ebx),%xmm7 - movl $202182159,(%esp) - movl $134810123,4(%esp) - movl $67438087,8(%esp) - movl $66051,12(%esp) - movl $6,%ecx - xorl %ebp,%ebp - movl %ecx,16(%esp) - movl %ecx,20(%esp) - movl %ecx,24(%esp) - movl %ebp,28(%esp) -.byte 102,15,58,22,251,3 -.byte 102,15,58,34,253,3 - movl 240(%edx),%ecx - bswap %ebx - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - movdqa (%esp),%xmm2 -.byte 102,15,58,34,195,0 - leal 3(%ebx),%ebp -.byte 102,15,58,34,205,0 - incl %ebx -.byte 102,15,58,34,195,1 - incl %ebp -.byte 102,15,58,34,205,1 - incl %ebx -.byte 102,15,58,34,195,2 - incl %ebp -.byte 102,15,58,34,205,2 - movdqa %xmm0,48(%esp) -.byte 102,15,56,0,194 - movdqu (%edx),%xmm6 - movdqa %xmm1,64(%esp) -.byte 102,15,56,0,202 - pshufd $192,%xmm0,%xmm2 - pshufd $128,%xmm0,%xmm3 - cmpl $6,%eax - jb .L038ctr32_tail - pxor %xmm6,%xmm7 - shll $4,%ecx - movl $16,%ebx - movdqa %xmm7,32(%esp) - movl %edx,%ebp - subl %ecx,%ebx - leal 32(%edx,%ecx,1),%edx - subl $6,%eax - jmp .L039ctr32_loop6 -.align 16 -.L039ctr32_loop6: - pshufd $64,%xmm0,%xmm4 - movdqa 32(%esp),%xmm0 - pshufd $192,%xmm1,%xmm5 - pxor %xmm0,%xmm2 - pshufd $128,%xmm1,%xmm6 - pxor %xmm0,%xmm3 - pshufd $64,%xmm1,%xmm7 - movups 16(%ebp),%xmm1 - pxor %xmm0,%xmm4 - pxor %xmm0,%xmm5 -.byte 102,15,56,220,209 - pxor %xmm0,%xmm6 - pxor %xmm0,%xmm7 -.byte 102,15,56,220,217 - movups 32(%ebp),%xmm0 - movl %ebx,%ecx -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 - call .L_aesni_encrypt6_enter - movups (%esi),%xmm1 - movups 16(%esi),%xmm0 - xorps %xmm1,%xmm2 - movups 32(%esi),%xmm1 - xorps %xmm0,%xmm3 - movups %xmm2,(%edi) - movdqa 16(%esp),%xmm0 - xorps %xmm1,%xmm4 - movdqa 64(%esp),%xmm1 - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - paddd %xmm0,%xmm1 - paddd 48(%esp),%xmm0 - movdqa (%esp),%xmm2 - movups 48(%esi),%xmm3 - movups 64(%esi),%xmm4 - xorps %xmm3,%xmm5 - movups 80(%esi),%xmm3 - leal 96(%esi),%esi - movdqa %xmm0,48(%esp) -.byte 102,15,56,0,194 - xorps %xmm4,%xmm6 - movups %xmm5,48(%edi) - xorps %xmm3,%xmm7 - movdqa %xmm1,64(%esp) -.byte 102,15,56,0,202 - movups %xmm6,64(%edi) - pshufd $192,%xmm0,%xmm2 - movups %xmm7,80(%edi) - leal 96(%edi),%edi - pshufd $128,%xmm0,%xmm3 - subl $6,%eax - jnc .L039ctr32_loop6 - addl $6,%eax - jz .L040ctr32_ret - movdqu (%ebp),%xmm7 - movl %ebp,%edx - pxor 32(%esp),%xmm7 - movl 240(%ebp),%ecx -.L038ctr32_tail: - por %xmm7,%xmm2 - cmpl $2,%eax - jb .L041ctr32_one - pshufd $64,%xmm0,%xmm4 - por %xmm7,%xmm3 - je .L042ctr32_two - pshufd $192,%xmm1,%xmm5 - por %xmm7,%xmm4 - cmpl $4,%eax - jb .L043ctr32_three - pshufd $128,%xmm1,%xmm6 - por %xmm7,%xmm5 - je .L044ctr32_four - por %xmm7,%xmm6 - call _aesni_encrypt6 - movups (%esi),%xmm1 - movups 16(%esi),%xmm0 - xorps %xmm1,%xmm2 - movups 32(%esi),%xmm1 - xorps %xmm0,%xmm3 - movups 48(%esi),%xmm0 - xorps %xmm1,%xmm4 - movups 64(%esi),%xmm1 - xorps %xmm0,%xmm5 - movups %xmm2,(%edi) - xorps %xmm1,%xmm6 - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) - movups %xmm6,64(%edi) - jmp .L040ctr32_ret -.align 16 -.L037ctr32_one_shortcut: - movups (%ebx),%xmm2 - movl 240(%edx),%ecx -.L041ctr32_one: - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L045enc1_loop_7: -.byte 102,15,56,220,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L045enc1_loop_7 -.byte 102,15,56,221,209 - movups (%esi),%xmm6 - xorps %xmm2,%xmm6 - movups %xmm6,(%edi) - jmp .L040ctr32_ret -.align 16 -.L042ctr32_two: - call _aesni_encrypt2 - movups (%esi),%xmm5 - movups 16(%esi),%xmm6 - xorps %xmm5,%xmm2 - xorps %xmm6,%xmm3 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - jmp .L040ctr32_ret -.align 16 -.L043ctr32_three: - call _aesni_encrypt3 - movups (%esi),%xmm5 - movups 16(%esi),%xmm6 - xorps %xmm5,%xmm2 - movups 32(%esi),%xmm7 - xorps %xmm6,%xmm3 - movups %xmm2,(%edi) - xorps %xmm7,%xmm4 - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - jmp .L040ctr32_ret -.align 16 -.L044ctr32_four: - call _aesni_encrypt4 - movups (%esi),%xmm6 - movups 16(%esi),%xmm7 - movups 32(%esi),%xmm1 - xorps %xmm6,%xmm2 - movups 48(%esi),%xmm0 - xorps %xmm7,%xmm3 - movups %xmm2,(%edi) - xorps %xmm1,%xmm4 - movups %xmm3,16(%edi) - xorps %xmm0,%xmm5 - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) -.L040ctr32_ret: - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - movdqa %xmm0,32(%esp) - pxor %xmm5,%xmm5 - movdqa %xmm0,48(%esp) - pxor %xmm6,%xmm6 - movdqa %xmm0,64(%esp) - pxor %xmm7,%xmm7 - movl 80(%esp),%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aesni_ctr32_encrypt_blocks,.-.L_aesni_ctr32_encrypt_blocks_begin -.globl aesni_xts_encrypt -.type aesni_xts_encrypt,@function -.align 16 -aesni_xts_encrypt: -.L_aesni_xts_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 36(%esp),%edx - movl 40(%esp),%esi - movl 240(%edx),%ecx - movups (%esi),%xmm2 - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L046enc1_loop_8: -.byte 102,15,56,220,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L046enc1_loop_8 -.byte 102,15,56,221,209 - movl 20(%esp),%esi - movl 24(%esp),%edi - movl 28(%esp),%eax - movl 32(%esp),%edx - movl %esp,%ebp - subl $120,%esp - movl 240(%edx),%ecx - andl $-16,%esp - movl $135,96(%esp) - movl $0,100(%esp) - movl $1,104(%esp) - movl $0,108(%esp) - movl %eax,112(%esp) - movl %ebp,116(%esp) - movdqa %xmm2,%xmm1 - pxor %xmm0,%xmm0 - movdqa 96(%esp),%xmm3 - pcmpgtd %xmm1,%xmm0 - andl $-16,%eax - movl %edx,%ebp - movl %ecx,%ebx - subl $96,%eax - jc .L047xts_enc_short - shll $4,%ecx - movl $16,%ebx - subl %ecx,%ebx - leal 32(%edx,%ecx,1),%edx - jmp .L048xts_enc_loop6 -.align 16 -.L048xts_enc_loop6: - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,(%esp) - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,16(%esp) - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,32(%esp) - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,48(%esp) - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - pshufd $19,%xmm0,%xmm7 - movdqa %xmm1,64(%esp) - paddq %xmm1,%xmm1 - movups (%ebp),%xmm0 - pand %xmm3,%xmm7 - movups (%esi),%xmm2 - pxor %xmm1,%xmm7 - movl %ebx,%ecx - movdqu 16(%esi),%xmm3 - xorps %xmm0,%xmm2 - movdqu 32(%esi),%xmm4 - pxor %xmm0,%xmm3 - movdqu 48(%esi),%xmm5 - pxor %xmm0,%xmm4 - movdqu 64(%esi),%xmm6 - pxor %xmm0,%xmm5 - movdqu 80(%esi),%xmm1 - pxor %xmm0,%xmm6 - leal 96(%esi),%esi - pxor (%esp),%xmm2 - movdqa %xmm7,80(%esp) - pxor %xmm1,%xmm7 - movups 16(%ebp),%xmm1 - pxor 16(%esp),%xmm3 - pxor 32(%esp),%xmm4 -.byte 102,15,56,220,209 - pxor 48(%esp),%xmm5 - pxor 64(%esp),%xmm6 -.byte 102,15,56,220,217 - pxor %xmm0,%xmm7 - movups 32(%ebp),%xmm0 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 - call .L_aesni_encrypt6_enter - movdqa 80(%esp),%xmm1 - pxor %xmm0,%xmm0 - xorps (%esp),%xmm2 - pcmpgtd %xmm1,%xmm0 - xorps 16(%esp),%xmm3 - movups %xmm2,(%edi) - xorps 32(%esp),%xmm4 - movups %xmm3,16(%edi) - xorps 48(%esp),%xmm5 - movups %xmm4,32(%edi) - xorps 64(%esp),%xmm6 - movups %xmm5,48(%edi) - xorps %xmm1,%xmm7 - movups %xmm6,64(%edi) - pshufd $19,%xmm0,%xmm2 - movups %xmm7,80(%edi) - leal 96(%edi),%edi - movdqa 96(%esp),%xmm3 - pxor %xmm0,%xmm0 - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - subl $96,%eax - jnc .L048xts_enc_loop6 - movl 240(%ebp),%ecx - movl %ebp,%edx - movl %ecx,%ebx -.L047xts_enc_short: - addl $96,%eax - jz .L049xts_enc_done6x - movdqa %xmm1,%xmm5 - cmpl $32,%eax - jb .L050xts_enc_one - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - je .L051xts_enc_two - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,%xmm6 - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - cmpl $64,%eax - jb .L052xts_enc_three - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,%xmm7 - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - movdqa %xmm5,(%esp) - movdqa %xmm6,16(%esp) - je .L053xts_enc_four - movdqa %xmm7,32(%esp) - pshufd $19,%xmm0,%xmm7 - movdqa %xmm1,48(%esp) - paddq %xmm1,%xmm1 - pand %xmm3,%xmm7 - pxor %xmm1,%xmm7 - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movdqu 32(%esi),%xmm4 - pxor (%esp),%xmm2 - movdqu 48(%esi),%xmm5 - pxor 16(%esp),%xmm3 - movdqu 64(%esi),%xmm6 - pxor 32(%esp),%xmm4 - leal 80(%esi),%esi - pxor 48(%esp),%xmm5 - movdqa %xmm7,64(%esp) - pxor %xmm7,%xmm6 - call _aesni_encrypt6 - movaps 64(%esp),%xmm1 - xorps (%esp),%xmm2 - xorps 16(%esp),%xmm3 - xorps 32(%esp),%xmm4 - movups %xmm2,(%edi) - xorps 48(%esp),%xmm5 - movups %xmm3,16(%edi) - xorps %xmm1,%xmm6 - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) - movups %xmm6,64(%edi) - leal 80(%edi),%edi - jmp .L054xts_enc_done -.align 16 -.L050xts_enc_one: - movups (%esi),%xmm2 - leal 16(%esi),%esi - xorps %xmm5,%xmm2 - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L055enc1_loop_9: -.byte 102,15,56,220,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L055enc1_loop_9 -.byte 102,15,56,221,209 - xorps %xmm5,%xmm2 - movups %xmm2,(%edi) - leal 16(%edi),%edi - movdqa %xmm5,%xmm1 - jmp .L054xts_enc_done -.align 16 -.L051xts_enc_two: - movaps %xmm1,%xmm6 - movups (%esi),%xmm2 - movups 16(%esi),%xmm3 - leal 32(%esi),%esi - xorps %xmm5,%xmm2 - xorps %xmm6,%xmm3 - call _aesni_encrypt2 - xorps %xmm5,%xmm2 - xorps %xmm6,%xmm3 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - leal 32(%edi),%edi - movdqa %xmm6,%xmm1 - jmp .L054xts_enc_done -.align 16 -.L052xts_enc_three: - movaps %xmm1,%xmm7 - movups (%esi),%xmm2 - movups 16(%esi),%xmm3 - movups 32(%esi),%xmm4 - leal 48(%esi),%esi - xorps %xmm5,%xmm2 - xorps %xmm6,%xmm3 - xorps %xmm7,%xmm4 - call _aesni_encrypt3 - xorps %xmm5,%xmm2 - xorps %xmm6,%xmm3 - xorps %xmm7,%xmm4 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - leal 48(%edi),%edi - movdqa %xmm7,%xmm1 - jmp .L054xts_enc_done -.align 16 -.L053xts_enc_four: - movaps %xmm1,%xmm6 - movups (%esi),%xmm2 - movups 16(%esi),%xmm3 - movups 32(%esi),%xmm4 - xorps (%esp),%xmm2 - movups 48(%esi),%xmm5 - leal 64(%esi),%esi - xorps 16(%esp),%xmm3 - xorps %xmm7,%xmm4 - xorps %xmm6,%xmm5 - call _aesni_encrypt4 - xorps (%esp),%xmm2 - xorps 16(%esp),%xmm3 - xorps %xmm7,%xmm4 - movups %xmm2,(%edi) - xorps %xmm6,%xmm5 - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) - leal 64(%edi),%edi - movdqa %xmm6,%xmm1 - jmp .L054xts_enc_done -.align 16 -.L049xts_enc_done6x: - movl 112(%esp),%eax - andl $15,%eax - jz .L056xts_enc_ret - movdqa %xmm1,%xmm5 - movl %eax,112(%esp) - jmp .L057xts_enc_steal -.align 16 -.L054xts_enc_done: - movl 112(%esp),%eax - pxor %xmm0,%xmm0 - andl $15,%eax - jz .L056xts_enc_ret - pcmpgtd %xmm1,%xmm0 - movl %eax,112(%esp) - pshufd $19,%xmm0,%xmm5 - paddq %xmm1,%xmm1 - pand 96(%esp),%xmm5 - pxor %xmm1,%xmm5 -.L057xts_enc_steal: - movzbl (%esi),%ecx - movzbl -16(%edi),%edx - leal 1(%esi),%esi - movb %cl,-16(%edi) - movb %dl,(%edi) - leal 1(%edi),%edi - subl $1,%eax - jnz .L057xts_enc_steal - subl 112(%esp),%edi - movl %ebp,%edx - movl %ebx,%ecx - movups -16(%edi),%xmm2 - xorps %xmm5,%xmm2 - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L058enc1_loop_10: -.byte 102,15,56,220,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L058enc1_loop_10 -.byte 102,15,56,221,209 - xorps %xmm5,%xmm2 - movups %xmm2,-16(%edi) -.L056xts_enc_ret: - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - movdqa %xmm0,(%esp) - pxor %xmm3,%xmm3 - movdqa %xmm0,16(%esp) - pxor %xmm4,%xmm4 - movdqa %xmm0,32(%esp) - pxor %xmm5,%xmm5 - movdqa %xmm0,48(%esp) - pxor %xmm6,%xmm6 - movdqa %xmm0,64(%esp) - pxor %xmm7,%xmm7 - movdqa %xmm0,80(%esp) - movl 116(%esp),%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aesni_xts_encrypt,.-.L_aesni_xts_encrypt_begin -.globl aesni_xts_decrypt -.type aesni_xts_decrypt,@function -.align 16 -aesni_xts_decrypt: -.L_aesni_xts_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 36(%esp),%edx - movl 40(%esp),%esi - movl 240(%edx),%ecx - movups (%esi),%xmm2 - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L059enc1_loop_11: -.byte 102,15,56,220,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L059enc1_loop_11 -.byte 102,15,56,221,209 - movl 20(%esp),%esi - movl 24(%esp),%edi - movl 28(%esp),%eax - movl 32(%esp),%edx - movl %esp,%ebp - subl $120,%esp - andl $-16,%esp - xorl %ebx,%ebx - testl $15,%eax - setnz %bl - shll $4,%ebx - subl %ebx,%eax - movl $135,96(%esp) - movl $0,100(%esp) - movl $1,104(%esp) - movl $0,108(%esp) - movl %eax,112(%esp) - movl %ebp,116(%esp) - movl 240(%edx),%ecx - movl %edx,%ebp - movl %ecx,%ebx - movdqa %xmm2,%xmm1 - pxor %xmm0,%xmm0 - movdqa 96(%esp),%xmm3 - pcmpgtd %xmm1,%xmm0 - andl $-16,%eax - subl $96,%eax - jc .L060xts_dec_short - shll $4,%ecx - movl $16,%ebx - subl %ecx,%ebx - leal 32(%edx,%ecx,1),%edx - jmp .L061xts_dec_loop6 -.align 16 -.L061xts_dec_loop6: - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,(%esp) - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,16(%esp) - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,32(%esp) - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,48(%esp) - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - pshufd $19,%xmm0,%xmm7 - movdqa %xmm1,64(%esp) - paddq %xmm1,%xmm1 - movups (%ebp),%xmm0 - pand %xmm3,%xmm7 - movups (%esi),%xmm2 - pxor %xmm1,%xmm7 - movl %ebx,%ecx - movdqu 16(%esi),%xmm3 - xorps %xmm0,%xmm2 - movdqu 32(%esi),%xmm4 - pxor %xmm0,%xmm3 - movdqu 48(%esi),%xmm5 - pxor %xmm0,%xmm4 - movdqu 64(%esi),%xmm6 - pxor %xmm0,%xmm5 - movdqu 80(%esi),%xmm1 - pxor %xmm0,%xmm6 - leal 96(%esi),%esi - pxor (%esp),%xmm2 - movdqa %xmm7,80(%esp) - pxor %xmm1,%xmm7 - movups 16(%ebp),%xmm1 - pxor 16(%esp),%xmm3 - pxor 32(%esp),%xmm4 -.byte 102,15,56,222,209 - pxor 48(%esp),%xmm5 - pxor 64(%esp),%xmm6 -.byte 102,15,56,222,217 - pxor %xmm0,%xmm7 - movups 32(%ebp),%xmm0 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 - call .L_aesni_decrypt6_enter - movdqa 80(%esp),%xmm1 - pxor %xmm0,%xmm0 - xorps (%esp),%xmm2 - pcmpgtd %xmm1,%xmm0 - xorps 16(%esp),%xmm3 - movups %xmm2,(%edi) - xorps 32(%esp),%xmm4 - movups %xmm3,16(%edi) - xorps 48(%esp),%xmm5 - movups %xmm4,32(%edi) - xorps 64(%esp),%xmm6 - movups %xmm5,48(%edi) - xorps %xmm1,%xmm7 - movups %xmm6,64(%edi) - pshufd $19,%xmm0,%xmm2 - movups %xmm7,80(%edi) - leal 96(%edi),%edi - movdqa 96(%esp),%xmm3 - pxor %xmm0,%xmm0 - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - subl $96,%eax - jnc .L061xts_dec_loop6 - movl 240(%ebp),%ecx - movl %ebp,%edx - movl %ecx,%ebx -.L060xts_dec_short: - addl $96,%eax - jz .L062xts_dec_done6x - movdqa %xmm1,%xmm5 - cmpl $32,%eax - jb .L063xts_dec_one - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - je .L064xts_dec_two - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,%xmm6 - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - cmpl $64,%eax - jb .L065xts_dec_three - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa %xmm1,%xmm7 - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 - movdqa %xmm5,(%esp) - movdqa %xmm6,16(%esp) - je .L066xts_dec_four - movdqa %xmm7,32(%esp) - pshufd $19,%xmm0,%xmm7 - movdqa %xmm1,48(%esp) - paddq %xmm1,%xmm1 - pand %xmm3,%xmm7 - pxor %xmm1,%xmm7 - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movdqu 32(%esi),%xmm4 - pxor (%esp),%xmm2 - movdqu 48(%esi),%xmm5 - pxor 16(%esp),%xmm3 - movdqu 64(%esi),%xmm6 - pxor 32(%esp),%xmm4 - leal 80(%esi),%esi - pxor 48(%esp),%xmm5 - movdqa %xmm7,64(%esp) - pxor %xmm7,%xmm6 - call _aesni_decrypt6 - movaps 64(%esp),%xmm1 - xorps (%esp),%xmm2 - xorps 16(%esp),%xmm3 - xorps 32(%esp),%xmm4 - movups %xmm2,(%edi) - xorps 48(%esp),%xmm5 - movups %xmm3,16(%edi) - xorps %xmm1,%xmm6 - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) - movups %xmm6,64(%edi) - leal 80(%edi),%edi - jmp .L067xts_dec_done -.align 16 -.L063xts_dec_one: - movups (%esi),%xmm2 - leal 16(%esi),%esi - xorps %xmm5,%xmm2 - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L068dec1_loop_12: -.byte 102,15,56,222,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L068dec1_loop_12 -.byte 102,15,56,223,209 - xorps %xmm5,%xmm2 - movups %xmm2,(%edi) - leal 16(%edi),%edi - movdqa %xmm5,%xmm1 - jmp .L067xts_dec_done -.align 16 -.L064xts_dec_two: - movaps %xmm1,%xmm6 - movups (%esi),%xmm2 - movups 16(%esi),%xmm3 - leal 32(%esi),%esi - xorps %xmm5,%xmm2 - xorps %xmm6,%xmm3 - call _aesni_decrypt2 - xorps %xmm5,%xmm2 - xorps %xmm6,%xmm3 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - leal 32(%edi),%edi - movdqa %xmm6,%xmm1 - jmp .L067xts_dec_done -.align 16 -.L065xts_dec_three: - movaps %xmm1,%xmm7 - movups (%esi),%xmm2 - movups 16(%esi),%xmm3 - movups 32(%esi),%xmm4 - leal 48(%esi),%esi - xorps %xmm5,%xmm2 - xorps %xmm6,%xmm3 - xorps %xmm7,%xmm4 - call _aesni_decrypt3 - xorps %xmm5,%xmm2 - xorps %xmm6,%xmm3 - xorps %xmm7,%xmm4 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - leal 48(%edi),%edi - movdqa %xmm7,%xmm1 - jmp .L067xts_dec_done -.align 16 -.L066xts_dec_four: - movaps %xmm1,%xmm6 - movups (%esi),%xmm2 - movups 16(%esi),%xmm3 - movups 32(%esi),%xmm4 - xorps (%esp),%xmm2 - movups 48(%esi),%xmm5 - leal 64(%esi),%esi - xorps 16(%esp),%xmm3 - xorps %xmm7,%xmm4 - xorps %xmm6,%xmm5 - call _aesni_decrypt4 - xorps (%esp),%xmm2 - xorps 16(%esp),%xmm3 - xorps %xmm7,%xmm4 - movups %xmm2,(%edi) - xorps %xmm6,%xmm5 - movups %xmm3,16(%edi) - movups %xmm4,32(%edi) - movups %xmm5,48(%edi) - leal 64(%edi),%edi - movdqa %xmm6,%xmm1 - jmp .L067xts_dec_done -.align 16 -.L062xts_dec_done6x: - movl 112(%esp),%eax - andl $15,%eax - jz .L069xts_dec_ret - movl %eax,112(%esp) - jmp .L070xts_dec_only_one_more -.align 16 -.L067xts_dec_done: - movl 112(%esp),%eax - pxor %xmm0,%xmm0 - andl $15,%eax - jz .L069xts_dec_ret - pcmpgtd %xmm1,%xmm0 - movl %eax,112(%esp) - pshufd $19,%xmm0,%xmm2 - pxor %xmm0,%xmm0 - movdqa 96(%esp),%xmm3 - paddq %xmm1,%xmm1 - pand %xmm3,%xmm2 - pcmpgtd %xmm1,%xmm0 - pxor %xmm2,%xmm1 -.L070xts_dec_only_one_more: - pshufd $19,%xmm0,%xmm5 - movdqa %xmm1,%xmm6 - paddq %xmm1,%xmm1 - pand %xmm3,%xmm5 - pxor %xmm1,%xmm5 - movl %ebp,%edx - movl %ebx,%ecx - movups (%esi),%xmm2 - xorps %xmm5,%xmm2 - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L071dec1_loop_13: -.byte 102,15,56,222,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L071dec1_loop_13 -.byte 102,15,56,223,209 - xorps %xmm5,%xmm2 - movups %xmm2,(%edi) -.L072xts_dec_steal: - movzbl 16(%esi),%ecx - movzbl (%edi),%edx - leal 1(%esi),%esi - movb %cl,(%edi) - movb %dl,16(%edi) - leal 1(%edi),%edi - subl $1,%eax - jnz .L072xts_dec_steal - subl 112(%esp),%edi - movl %ebp,%edx - movl %ebx,%ecx - movups (%edi),%xmm2 - xorps %xmm6,%xmm2 - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L073dec1_loop_14: -.byte 102,15,56,222,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L073dec1_loop_14 -.byte 102,15,56,223,209 - xorps %xmm6,%xmm2 - movups %xmm2,(%edi) -.L069xts_dec_ret: - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - movdqa %xmm0,(%esp) - pxor %xmm3,%xmm3 - movdqa %xmm0,16(%esp) - pxor %xmm4,%xmm4 - movdqa %xmm0,32(%esp) - pxor %xmm5,%xmm5 - movdqa %xmm0,48(%esp) - pxor %xmm6,%xmm6 - movdqa %xmm0,64(%esp) - pxor %xmm7,%xmm7 - movdqa %xmm0,80(%esp) - movl 116(%esp),%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aesni_xts_decrypt,.-.L_aesni_xts_decrypt_begin -.globl aesni_ocb_encrypt -.type aesni_ocb_encrypt,@function -.align 16 -aesni_ocb_encrypt: -.L_aesni_ocb_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 40(%esp),%ecx - movl 48(%esp),%ebx - movl 20(%esp),%esi - movl 24(%esp),%edi - movl 28(%esp),%eax - movl 32(%esp),%edx - movdqu (%ecx),%xmm0 - movl 36(%esp),%ebp - movdqu (%ebx),%xmm1 - movl 44(%esp),%ebx - movl %esp,%ecx - subl $132,%esp - andl $-16,%esp - subl %esi,%edi - shll $4,%eax - leal -96(%esi,%eax,1),%eax - movl %edi,120(%esp) - movl %eax,124(%esp) - movl %ecx,128(%esp) - movl 240(%edx),%ecx - testl $1,%ebp - jnz .L074odd - bsfl %ebp,%eax - addl $1,%ebp - shll $4,%eax - movdqu (%ebx,%eax,1),%xmm7 - movl %edx,%eax - movdqu (%esi),%xmm2 - leal 16(%esi),%esi - pxor %xmm0,%xmm7 - pxor %xmm2,%xmm1 - pxor %xmm7,%xmm2 - movdqa %xmm1,%xmm6 - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L075enc1_loop_15: -.byte 102,15,56,220,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L075enc1_loop_15 -.byte 102,15,56,221,209 - xorps %xmm7,%xmm2 - movdqa %xmm7,%xmm0 - movdqa %xmm6,%xmm1 - movups %xmm2,-16(%edi,%esi,1) - movl 240(%eax),%ecx - movl %eax,%edx - movl 124(%esp),%eax -.L074odd: - shll $4,%ecx - movl $16,%edi - subl %ecx,%edi - movl %edx,112(%esp) - leal 32(%edx,%ecx,1),%edx - movl %edi,116(%esp) - cmpl %eax,%esi - ja .L076short - jmp .L077grandloop -.align 32 -.L077grandloop: - leal 1(%ebp),%ecx - leal 3(%ebp),%eax - leal 5(%ebp),%edi - addl $6,%ebp - bsfl %ecx,%ecx - bsfl %eax,%eax - bsfl %edi,%edi - shll $4,%ecx - shll $4,%eax - shll $4,%edi - movdqu (%ebx),%xmm2 - movdqu (%ebx,%ecx,1),%xmm3 - movl 116(%esp),%ecx - movdqa %xmm2,%xmm4 - movdqu (%ebx,%eax,1),%xmm5 - movdqa %xmm2,%xmm6 - movdqu (%ebx,%edi,1),%xmm7 - pxor %xmm0,%xmm2 - pxor %xmm2,%xmm3 - movdqa %xmm2,(%esp) - pxor %xmm3,%xmm4 - movdqa %xmm3,16(%esp) - pxor %xmm4,%xmm5 - movdqa %xmm4,32(%esp) - pxor %xmm5,%xmm6 - movdqa %xmm5,48(%esp) - pxor %xmm6,%xmm7 - movdqa %xmm6,64(%esp) - movdqa %xmm7,80(%esp) - movups -48(%edx,%ecx,1),%xmm0 - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movdqu 32(%esi),%xmm4 - movdqu 48(%esi),%xmm5 - movdqu 64(%esi),%xmm6 - movdqu 80(%esi),%xmm7 - leal 96(%esi),%esi - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm2 - pxor %xmm3,%xmm1 - pxor %xmm0,%xmm3 - pxor %xmm4,%xmm1 - pxor %xmm0,%xmm4 - pxor %xmm5,%xmm1 - pxor %xmm0,%xmm5 - pxor %xmm6,%xmm1 - pxor %xmm0,%xmm6 - pxor %xmm7,%xmm1 - pxor %xmm0,%xmm7 - movdqa %xmm1,96(%esp) - movups -32(%edx,%ecx,1),%xmm1 - pxor (%esp),%xmm2 - pxor 16(%esp),%xmm3 - pxor 32(%esp),%xmm4 - pxor 48(%esp),%xmm5 - pxor 64(%esp),%xmm6 - pxor 80(%esp),%xmm7 - movups -16(%edx,%ecx,1),%xmm0 -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 - movl 120(%esp),%edi - movl 124(%esp),%eax - call .L_aesni_encrypt6_enter - movdqa 80(%esp),%xmm0 - pxor (%esp),%xmm2 - pxor 16(%esp),%xmm3 - pxor 32(%esp),%xmm4 - pxor 48(%esp),%xmm5 - pxor 64(%esp),%xmm6 - pxor %xmm0,%xmm7 - movdqa 96(%esp),%xmm1 - movdqu %xmm2,-96(%edi,%esi,1) - movdqu %xmm3,-80(%edi,%esi,1) - movdqu %xmm4,-64(%edi,%esi,1) - movdqu %xmm5,-48(%edi,%esi,1) - movdqu %xmm6,-32(%edi,%esi,1) - movdqu %xmm7,-16(%edi,%esi,1) - cmpl %eax,%esi - jb .L077grandloop -.L076short: - addl $96,%eax - subl %esi,%eax - jz .L078done - cmpl $32,%eax - jb .L079one - je .L080two - cmpl $64,%eax - jb .L081three - je .L082four - leal 1(%ebp),%ecx - leal 3(%ebp),%eax - bsfl %ecx,%ecx - bsfl %eax,%eax - shll $4,%ecx - shll $4,%eax - movdqu (%ebx),%xmm2 - movdqu (%ebx,%ecx,1),%xmm3 - movl 116(%esp),%ecx - movdqa %xmm2,%xmm4 - movdqu (%ebx,%eax,1),%xmm5 - movdqa %xmm2,%xmm6 - pxor %xmm0,%xmm2 - pxor %xmm2,%xmm3 - movdqa %xmm2,(%esp) - pxor %xmm3,%xmm4 - movdqa %xmm3,16(%esp) - pxor %xmm4,%xmm5 - movdqa %xmm4,32(%esp) - pxor %xmm5,%xmm6 - movdqa %xmm5,48(%esp) - pxor %xmm6,%xmm7 - movdqa %xmm6,64(%esp) - movups -48(%edx,%ecx,1),%xmm0 - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movdqu 32(%esi),%xmm4 - movdqu 48(%esi),%xmm5 - movdqu 64(%esi),%xmm6 - pxor %xmm7,%xmm7 - pxor %xmm2,%xmm1 - pxor %xmm0,%xmm2 - pxor %xmm3,%xmm1 - pxor %xmm0,%xmm3 - pxor %xmm4,%xmm1 - pxor %xmm0,%xmm4 - pxor %xmm5,%xmm1 - pxor %xmm0,%xmm5 - pxor %xmm6,%xmm1 - pxor %xmm0,%xmm6 - movdqa %xmm1,96(%esp) - movups -32(%edx,%ecx,1),%xmm1 - pxor (%esp),%xmm2 - pxor 16(%esp),%xmm3 - pxor 32(%esp),%xmm4 - pxor 48(%esp),%xmm5 - pxor 64(%esp),%xmm6 - movups -16(%edx,%ecx,1),%xmm0 -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 - movl 120(%esp),%edi - call .L_aesni_encrypt6_enter - movdqa 64(%esp),%xmm0 - pxor (%esp),%xmm2 - pxor 16(%esp),%xmm3 - pxor 32(%esp),%xmm4 - pxor 48(%esp),%xmm5 - pxor %xmm0,%xmm6 - movdqa 96(%esp),%xmm1 - movdqu %xmm2,(%edi,%esi,1) - movdqu %xmm3,16(%edi,%esi,1) - movdqu %xmm4,32(%edi,%esi,1) - movdqu %xmm5,48(%edi,%esi,1) - movdqu %xmm6,64(%edi,%esi,1) - jmp .L078done -.align 16 -.L079one: - movdqu (%ebx),%xmm7 - movl 112(%esp),%edx - movdqu (%esi),%xmm2 - movl 240(%edx),%ecx - pxor %xmm0,%xmm7 - pxor %xmm2,%xmm1 - pxor %xmm7,%xmm2 - movdqa %xmm1,%xmm6 - movl 120(%esp),%edi - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L083enc1_loop_16: -.byte 102,15,56,220,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L083enc1_loop_16 -.byte 102,15,56,221,209 - xorps %xmm7,%xmm2 - movdqa %xmm7,%xmm0 - movdqa %xmm6,%xmm1 - movups %xmm2,(%edi,%esi,1) - jmp .L078done -.align 16 -.L080two: - leal 1(%ebp),%ecx - movl 112(%esp),%edx - bsfl %ecx,%ecx - shll $4,%ecx - movdqu (%ebx),%xmm6 - movdqu (%ebx,%ecx,1),%xmm7 - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movl 240(%edx),%ecx - pxor %xmm0,%xmm6 - pxor %xmm6,%xmm7 - pxor %xmm2,%xmm1 - pxor %xmm6,%xmm2 - pxor %xmm3,%xmm1 - pxor %xmm7,%xmm3 - movdqa %xmm1,%xmm5 - movl 120(%esp),%edi - call _aesni_encrypt2 - xorps %xmm6,%xmm2 - xorps %xmm7,%xmm3 - movdqa %xmm7,%xmm0 - movdqa %xmm5,%xmm1 - movups %xmm2,(%edi,%esi,1) - movups %xmm3,16(%edi,%esi,1) - jmp .L078done -.align 16 -.L081three: - leal 1(%ebp),%ecx - movl 112(%esp),%edx - bsfl %ecx,%ecx - shll $4,%ecx - movdqu (%ebx),%xmm5 - movdqu (%ebx,%ecx,1),%xmm6 - movdqa %xmm5,%xmm7 - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movdqu 32(%esi),%xmm4 - movl 240(%edx),%ecx - pxor %xmm0,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm7 - pxor %xmm2,%xmm1 - pxor %xmm5,%xmm2 - pxor %xmm3,%xmm1 - pxor %xmm6,%xmm3 - pxor %xmm4,%xmm1 - pxor %xmm7,%xmm4 - movdqa %xmm1,96(%esp) - movl 120(%esp),%edi - call _aesni_encrypt3 - xorps %xmm5,%xmm2 - xorps %xmm6,%xmm3 - xorps %xmm7,%xmm4 - movdqa %xmm7,%xmm0 - movdqa 96(%esp),%xmm1 - movups %xmm2,(%edi,%esi,1) - movups %xmm3,16(%edi,%esi,1) - movups %xmm4,32(%edi,%esi,1) - jmp .L078done -.align 16 -.L082four: - leal 1(%ebp),%ecx - leal 3(%ebp),%eax - bsfl %ecx,%ecx - bsfl %eax,%eax - movl 112(%esp),%edx - shll $4,%ecx - shll $4,%eax - movdqu (%ebx),%xmm4 - movdqu (%ebx,%ecx,1),%xmm5 - movdqa %xmm4,%xmm6 - movdqu (%ebx,%eax,1),%xmm7 - pxor %xmm0,%xmm4 - movdqu (%esi),%xmm2 - pxor %xmm4,%xmm5 - movdqu 16(%esi),%xmm3 - pxor %xmm5,%xmm6 - movdqa %xmm4,(%esp) - pxor %xmm6,%xmm7 - movdqa %xmm5,16(%esp) - movdqu 32(%esi),%xmm4 - movdqu 48(%esi),%xmm5 - movl 240(%edx),%ecx - pxor %xmm2,%xmm1 - pxor (%esp),%xmm2 - pxor %xmm3,%xmm1 - pxor 16(%esp),%xmm3 - pxor %xmm4,%xmm1 - pxor %xmm6,%xmm4 - pxor %xmm5,%xmm1 - pxor %xmm7,%xmm5 - movdqa %xmm1,96(%esp) - movl 120(%esp),%edi - call _aesni_encrypt4 - xorps (%esp),%xmm2 - xorps 16(%esp),%xmm3 - xorps %xmm6,%xmm4 - movups %xmm2,(%edi,%esi,1) - xorps %xmm7,%xmm5 - movups %xmm3,16(%edi,%esi,1) - movdqa %xmm7,%xmm0 - movups %xmm4,32(%edi,%esi,1) - movdqa 96(%esp),%xmm1 - movups %xmm5,48(%edi,%esi,1) -.L078done: - movl 128(%esp),%edx - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - movdqa %xmm2,(%esp) - pxor %xmm4,%xmm4 - movdqa %xmm2,16(%esp) - pxor %xmm5,%xmm5 - movdqa %xmm2,32(%esp) - pxor %xmm6,%xmm6 - movdqa %xmm2,48(%esp) - pxor %xmm7,%xmm7 - movdqa %xmm2,64(%esp) - movdqa %xmm2,80(%esp) - movdqa %xmm2,96(%esp) - leal (%edx),%esp - movl 40(%esp),%ecx - movl 48(%esp),%ebx - movdqu %xmm0,(%ecx) - pxor %xmm0,%xmm0 - movdqu %xmm1,(%ebx) - pxor %xmm1,%xmm1 - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aesni_ocb_encrypt,.-.L_aesni_ocb_encrypt_begin -.globl aesni_ocb_decrypt -.type aesni_ocb_decrypt,@function -.align 16 -aesni_ocb_decrypt: -.L_aesni_ocb_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 40(%esp),%ecx - movl 48(%esp),%ebx - movl 20(%esp),%esi - movl 24(%esp),%edi - movl 28(%esp),%eax - movl 32(%esp),%edx - movdqu (%ecx),%xmm0 - movl 36(%esp),%ebp - movdqu (%ebx),%xmm1 - movl 44(%esp),%ebx - movl %esp,%ecx - subl $132,%esp - andl $-16,%esp - subl %esi,%edi - shll $4,%eax - leal -96(%esi,%eax,1),%eax - movl %edi,120(%esp) - movl %eax,124(%esp) - movl %ecx,128(%esp) - movl 240(%edx),%ecx - testl $1,%ebp - jnz .L084odd - bsfl %ebp,%eax - addl $1,%ebp - shll $4,%eax - movdqu (%ebx,%eax,1),%xmm7 - movl %edx,%eax - movdqu (%esi),%xmm2 - leal 16(%esi),%esi - pxor %xmm0,%xmm7 - pxor %xmm7,%xmm2 - movdqa %xmm1,%xmm6 - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L085dec1_loop_17: -.byte 102,15,56,222,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L085dec1_loop_17 -.byte 102,15,56,223,209 - xorps %xmm7,%xmm2 - movaps %xmm6,%xmm1 - movdqa %xmm7,%xmm0 - xorps %xmm2,%xmm1 - movups %xmm2,-16(%edi,%esi,1) - movl 240(%eax),%ecx - movl %eax,%edx - movl 124(%esp),%eax -.L084odd: - shll $4,%ecx - movl $16,%edi - subl %ecx,%edi - movl %edx,112(%esp) - leal 32(%edx,%ecx,1),%edx - movl %edi,116(%esp) - cmpl %eax,%esi - ja .L086short - jmp .L087grandloop -.align 32 -.L087grandloop: - leal 1(%ebp),%ecx - leal 3(%ebp),%eax - leal 5(%ebp),%edi - addl $6,%ebp - bsfl %ecx,%ecx - bsfl %eax,%eax - bsfl %edi,%edi - shll $4,%ecx - shll $4,%eax - shll $4,%edi - movdqu (%ebx),%xmm2 - movdqu (%ebx,%ecx,1),%xmm3 - movl 116(%esp),%ecx - movdqa %xmm2,%xmm4 - movdqu (%ebx,%eax,1),%xmm5 - movdqa %xmm2,%xmm6 - movdqu (%ebx,%edi,1),%xmm7 - pxor %xmm0,%xmm2 - pxor %xmm2,%xmm3 - movdqa %xmm2,(%esp) - pxor %xmm3,%xmm4 - movdqa %xmm3,16(%esp) - pxor %xmm4,%xmm5 - movdqa %xmm4,32(%esp) - pxor %xmm5,%xmm6 - movdqa %xmm5,48(%esp) - pxor %xmm6,%xmm7 - movdqa %xmm6,64(%esp) - movdqa %xmm7,80(%esp) - movups -48(%edx,%ecx,1),%xmm0 - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movdqu 32(%esi),%xmm4 - movdqu 48(%esi),%xmm5 - movdqu 64(%esi),%xmm6 - movdqu 80(%esi),%xmm7 - leal 96(%esi),%esi - movdqa %xmm1,96(%esp) - pxor %xmm0,%xmm2 - pxor %xmm0,%xmm3 - pxor %xmm0,%xmm4 - pxor %xmm0,%xmm5 - pxor %xmm0,%xmm6 - pxor %xmm0,%xmm7 - movups -32(%edx,%ecx,1),%xmm1 - pxor (%esp),%xmm2 - pxor 16(%esp),%xmm3 - pxor 32(%esp),%xmm4 - pxor 48(%esp),%xmm5 - pxor 64(%esp),%xmm6 - pxor 80(%esp),%xmm7 - movups -16(%edx,%ecx,1),%xmm0 -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 - movl 120(%esp),%edi - movl 124(%esp),%eax - call .L_aesni_decrypt6_enter - movdqa 80(%esp),%xmm0 - pxor (%esp),%xmm2 - movdqa 96(%esp),%xmm1 - pxor 16(%esp),%xmm3 - pxor 32(%esp),%xmm4 - pxor 48(%esp),%xmm5 - pxor 64(%esp),%xmm6 - pxor %xmm0,%xmm7 - pxor %xmm2,%xmm1 - movdqu %xmm2,-96(%edi,%esi,1) - pxor %xmm3,%xmm1 - movdqu %xmm3,-80(%edi,%esi,1) - pxor %xmm4,%xmm1 - movdqu %xmm4,-64(%edi,%esi,1) - pxor %xmm5,%xmm1 - movdqu %xmm5,-48(%edi,%esi,1) - pxor %xmm6,%xmm1 - movdqu %xmm6,-32(%edi,%esi,1) - pxor %xmm7,%xmm1 - movdqu %xmm7,-16(%edi,%esi,1) - cmpl %eax,%esi - jb .L087grandloop -.L086short: - addl $96,%eax - subl %esi,%eax - jz .L088done - cmpl $32,%eax - jb .L089one - je .L090two - cmpl $64,%eax - jb .L091three - je .L092four - leal 1(%ebp),%ecx - leal 3(%ebp),%eax - bsfl %ecx,%ecx - bsfl %eax,%eax - shll $4,%ecx - shll $4,%eax - movdqu (%ebx),%xmm2 - movdqu (%ebx,%ecx,1),%xmm3 - movl 116(%esp),%ecx - movdqa %xmm2,%xmm4 - movdqu (%ebx,%eax,1),%xmm5 - movdqa %xmm2,%xmm6 - pxor %xmm0,%xmm2 - pxor %xmm2,%xmm3 - movdqa %xmm2,(%esp) - pxor %xmm3,%xmm4 - movdqa %xmm3,16(%esp) - pxor %xmm4,%xmm5 - movdqa %xmm4,32(%esp) - pxor %xmm5,%xmm6 - movdqa %xmm5,48(%esp) - pxor %xmm6,%xmm7 - movdqa %xmm6,64(%esp) - movups -48(%edx,%ecx,1),%xmm0 - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movdqu 32(%esi),%xmm4 - movdqu 48(%esi),%xmm5 - movdqu 64(%esi),%xmm6 - pxor %xmm7,%xmm7 - movdqa %xmm1,96(%esp) - pxor %xmm0,%xmm2 - pxor %xmm0,%xmm3 - pxor %xmm0,%xmm4 - pxor %xmm0,%xmm5 - pxor %xmm0,%xmm6 - movups -32(%edx,%ecx,1),%xmm1 - pxor (%esp),%xmm2 - pxor 16(%esp),%xmm3 - pxor 32(%esp),%xmm4 - pxor 48(%esp),%xmm5 - pxor 64(%esp),%xmm6 - movups -16(%edx,%ecx,1),%xmm0 -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 - movl 120(%esp),%edi - call .L_aesni_decrypt6_enter - movdqa 64(%esp),%xmm0 - pxor (%esp),%xmm2 - movdqa 96(%esp),%xmm1 - pxor 16(%esp),%xmm3 - pxor 32(%esp),%xmm4 - pxor 48(%esp),%xmm5 - pxor %xmm0,%xmm6 - pxor %xmm2,%xmm1 - movdqu %xmm2,(%edi,%esi,1) - pxor %xmm3,%xmm1 - movdqu %xmm3,16(%edi,%esi,1) - pxor %xmm4,%xmm1 - movdqu %xmm4,32(%edi,%esi,1) - pxor %xmm5,%xmm1 - movdqu %xmm5,48(%edi,%esi,1) - pxor %xmm6,%xmm1 - movdqu %xmm6,64(%edi,%esi,1) - jmp .L088done -.align 16 -.L089one: - movdqu (%ebx),%xmm7 - movl 112(%esp),%edx - movdqu (%esi),%xmm2 - movl 240(%edx),%ecx - pxor %xmm0,%xmm7 - pxor %xmm7,%xmm2 - movdqa %xmm1,%xmm6 - movl 120(%esp),%edi - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L093dec1_loop_18: -.byte 102,15,56,222,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L093dec1_loop_18 -.byte 102,15,56,223,209 - xorps %xmm7,%xmm2 - movaps %xmm6,%xmm1 - movdqa %xmm7,%xmm0 - xorps %xmm2,%xmm1 - movups %xmm2,(%edi,%esi,1) - jmp .L088done -.align 16 -.L090two: - leal 1(%ebp),%ecx - movl 112(%esp),%edx - bsfl %ecx,%ecx - shll $4,%ecx - movdqu (%ebx),%xmm6 - movdqu (%ebx,%ecx,1),%xmm7 - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movl 240(%edx),%ecx - movdqa %xmm1,%xmm5 - pxor %xmm0,%xmm6 - pxor %xmm6,%xmm7 - pxor %xmm6,%xmm2 - pxor %xmm7,%xmm3 - movl 120(%esp),%edi - call _aesni_decrypt2 - xorps %xmm6,%xmm2 - xorps %xmm7,%xmm3 - movdqa %xmm7,%xmm0 - xorps %xmm2,%xmm5 - movups %xmm2,(%edi,%esi,1) - xorps %xmm3,%xmm5 - movups %xmm3,16(%edi,%esi,1) - movaps %xmm5,%xmm1 - jmp .L088done -.align 16 -.L091three: - leal 1(%ebp),%ecx - movl 112(%esp),%edx - bsfl %ecx,%ecx - shll $4,%ecx - movdqu (%ebx),%xmm5 - movdqu (%ebx,%ecx,1),%xmm6 - movdqa %xmm5,%xmm7 - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movdqu 32(%esi),%xmm4 - movl 240(%edx),%ecx - movdqa %xmm1,96(%esp) - pxor %xmm0,%xmm5 - pxor %xmm5,%xmm6 - pxor %xmm6,%xmm7 - pxor %xmm5,%xmm2 - pxor %xmm6,%xmm3 - pxor %xmm7,%xmm4 - movl 120(%esp),%edi - call _aesni_decrypt3 - movdqa 96(%esp),%xmm1 - xorps %xmm5,%xmm2 - xorps %xmm6,%xmm3 - xorps %xmm7,%xmm4 - movups %xmm2,(%edi,%esi,1) - pxor %xmm2,%xmm1 - movdqa %xmm7,%xmm0 - movups %xmm3,16(%edi,%esi,1) - pxor %xmm3,%xmm1 - movups %xmm4,32(%edi,%esi,1) - pxor %xmm4,%xmm1 - jmp .L088done -.align 16 -.L092four: - leal 1(%ebp),%ecx - leal 3(%ebp),%eax - bsfl %ecx,%ecx - bsfl %eax,%eax - movl 112(%esp),%edx - shll $4,%ecx - shll $4,%eax - movdqu (%ebx),%xmm4 - movdqu (%ebx,%ecx,1),%xmm5 - movdqa %xmm4,%xmm6 - movdqu (%ebx,%eax,1),%xmm7 - pxor %xmm0,%xmm4 - movdqu (%esi),%xmm2 - pxor %xmm4,%xmm5 - movdqu 16(%esi),%xmm3 - pxor %xmm5,%xmm6 - movdqa %xmm4,(%esp) - pxor %xmm6,%xmm7 - movdqa %xmm5,16(%esp) - movdqu 32(%esi),%xmm4 - movdqu 48(%esi),%xmm5 - movl 240(%edx),%ecx - movdqa %xmm1,96(%esp) - pxor (%esp),%xmm2 - pxor 16(%esp),%xmm3 - pxor %xmm6,%xmm4 - pxor %xmm7,%xmm5 - movl 120(%esp),%edi - call _aesni_decrypt4 - movdqa 96(%esp),%xmm1 - xorps (%esp),%xmm2 - xorps 16(%esp),%xmm3 - xorps %xmm6,%xmm4 - movups %xmm2,(%edi,%esi,1) - pxor %xmm2,%xmm1 - xorps %xmm7,%xmm5 - movups %xmm3,16(%edi,%esi,1) - pxor %xmm3,%xmm1 - movdqa %xmm7,%xmm0 - movups %xmm4,32(%edi,%esi,1) - pxor %xmm4,%xmm1 - movups %xmm5,48(%edi,%esi,1) - pxor %xmm5,%xmm1 -.L088done: - movl 128(%esp),%edx - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - movdqa %xmm2,(%esp) - pxor %xmm4,%xmm4 - movdqa %xmm2,16(%esp) - pxor %xmm5,%xmm5 - movdqa %xmm2,32(%esp) - pxor %xmm6,%xmm6 - movdqa %xmm2,48(%esp) - pxor %xmm7,%xmm7 - movdqa %xmm2,64(%esp) - movdqa %xmm2,80(%esp) - movdqa %xmm2,96(%esp) - leal (%edx),%esp - movl 40(%esp),%ecx - movl 48(%esp),%ebx - movdqu %xmm0,(%ecx) - pxor %xmm0,%xmm0 - movdqu %xmm1,(%ebx) - pxor %xmm1,%xmm1 - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aesni_ocb_decrypt,.-.L_aesni_ocb_decrypt_begin -.globl aesni_cbc_encrypt -.type aesni_cbc_encrypt,@function -.align 16 -aesni_cbc_encrypt: -.L_aesni_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl %esp,%ebx - movl 24(%esp),%edi - subl $24,%ebx - movl 28(%esp),%eax - andl $-16,%ebx - movl 32(%esp),%edx - movl 36(%esp),%ebp - testl %eax,%eax - jz .L094cbc_abort - cmpl $0,40(%esp) - xchgl %esp,%ebx - movups (%ebp),%xmm7 - movl 240(%edx),%ecx - movl %edx,%ebp - movl %ebx,16(%esp) - movl %ecx,%ebx - je .L095cbc_decrypt - movaps %xmm7,%xmm2 - cmpl $16,%eax - jb .L096cbc_enc_tail - subl $16,%eax - jmp .L097cbc_enc_loop -.align 16 -.L097cbc_enc_loop: - movups (%esi),%xmm7 - leal 16(%esi),%esi - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - xorps %xmm0,%xmm7 - leal 32(%edx),%edx - xorps %xmm7,%xmm2 -.L098enc1_loop_19: -.byte 102,15,56,220,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L098enc1_loop_19 -.byte 102,15,56,221,209 - movl %ebx,%ecx - movl %ebp,%edx - movups %xmm2,(%edi) - leal 16(%edi),%edi - subl $16,%eax - jnc .L097cbc_enc_loop - addl $16,%eax - jnz .L096cbc_enc_tail - movaps %xmm2,%xmm7 - pxor %xmm2,%xmm2 - jmp .L099cbc_ret -.L096cbc_enc_tail: - movl %eax,%ecx -.long 2767451785 - movl $16,%ecx - subl %eax,%ecx - xorl %eax,%eax -.long 2868115081 - leal -16(%edi),%edi - movl %ebx,%ecx - movl %edi,%esi - movl %ebp,%edx - jmp .L097cbc_enc_loop -.align 16 -.L095cbc_decrypt: - cmpl $80,%eax - jbe .L100cbc_dec_tail - movaps %xmm7,(%esp) - subl $80,%eax - jmp .L101cbc_dec_loop6_enter -.align 16 -.L102cbc_dec_loop6: - movaps %xmm0,(%esp) - movups %xmm7,(%edi) - leal 16(%edi),%edi -.L101cbc_dec_loop6_enter: - movdqu (%esi),%xmm2 - movdqu 16(%esi),%xmm3 - movdqu 32(%esi),%xmm4 - movdqu 48(%esi),%xmm5 - movdqu 64(%esi),%xmm6 - movdqu 80(%esi),%xmm7 - call _aesni_decrypt6 - movups (%esi),%xmm1 - movups 16(%esi),%xmm0 - xorps (%esp),%xmm2 - xorps %xmm1,%xmm3 - movups 32(%esi),%xmm1 - xorps %xmm0,%xmm4 - movups 48(%esi),%xmm0 - xorps %xmm1,%xmm5 - movups 64(%esi),%xmm1 - xorps %xmm0,%xmm6 - movups 80(%esi),%xmm0 - xorps %xmm1,%xmm7 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - leal 96(%esi),%esi - movups %xmm4,32(%edi) - movl %ebx,%ecx - movups %xmm5,48(%edi) - movl %ebp,%edx - movups %xmm6,64(%edi) - leal 80(%edi),%edi - subl $96,%eax - ja .L102cbc_dec_loop6 - movaps %xmm7,%xmm2 - movaps %xmm0,%xmm7 - addl $80,%eax - jle .L103cbc_dec_clear_tail_collected - movups %xmm2,(%edi) - leal 16(%edi),%edi -.L100cbc_dec_tail: - movups (%esi),%xmm2 - movaps %xmm2,%xmm6 - cmpl $16,%eax - jbe .L104cbc_dec_one - movups 16(%esi),%xmm3 - movaps %xmm3,%xmm5 - cmpl $32,%eax - jbe .L105cbc_dec_two - movups 32(%esi),%xmm4 - cmpl $48,%eax - jbe .L106cbc_dec_three - movups 48(%esi),%xmm5 - cmpl $64,%eax - jbe .L107cbc_dec_four - movups 64(%esi),%xmm6 - movaps %xmm7,(%esp) - movups (%esi),%xmm2 - xorps %xmm7,%xmm7 - call _aesni_decrypt6 - movups (%esi),%xmm1 - movups 16(%esi),%xmm0 - xorps (%esp),%xmm2 - xorps %xmm1,%xmm3 - movups 32(%esi),%xmm1 - xorps %xmm0,%xmm4 - movups 48(%esi),%xmm0 - xorps %xmm1,%xmm5 - movups 64(%esi),%xmm7 - xorps %xmm0,%xmm6 - movups %xmm2,(%edi) - movups %xmm3,16(%edi) - pxor %xmm3,%xmm3 - movups %xmm4,32(%edi) - pxor %xmm4,%xmm4 - movups %xmm5,48(%edi) - pxor %xmm5,%xmm5 - leal 64(%edi),%edi - movaps %xmm6,%xmm2 - pxor %xmm6,%xmm6 - subl $80,%eax - jmp .L108cbc_dec_tail_collected -.align 16 -.L104cbc_dec_one: - movups (%edx),%xmm0 - movups 16(%edx),%xmm1 - leal 32(%edx),%edx - xorps %xmm0,%xmm2 -.L109dec1_loop_20: -.byte 102,15,56,222,209 - decl %ecx - movups (%edx),%xmm1 - leal 16(%edx),%edx - jnz .L109dec1_loop_20 -.byte 102,15,56,223,209 - xorps %xmm7,%xmm2 - movaps %xmm6,%xmm7 - subl $16,%eax - jmp .L108cbc_dec_tail_collected -.align 16 -.L105cbc_dec_two: - call _aesni_decrypt2 - xorps %xmm7,%xmm2 - xorps %xmm6,%xmm3 - movups %xmm2,(%edi) - movaps %xmm3,%xmm2 - pxor %xmm3,%xmm3 - leal 16(%edi),%edi - movaps %xmm5,%xmm7 - subl $32,%eax - jmp .L108cbc_dec_tail_collected -.align 16 -.L106cbc_dec_three: - call _aesni_decrypt3 - xorps %xmm7,%xmm2 - xorps %xmm6,%xmm3 - xorps %xmm5,%xmm4 - movups %xmm2,(%edi) - movaps %xmm4,%xmm2 - pxor %xmm4,%xmm4 - movups %xmm3,16(%edi) - pxor %xmm3,%xmm3 - leal 32(%edi),%edi - movups 32(%esi),%xmm7 - subl $48,%eax - jmp .L108cbc_dec_tail_collected -.align 16 -.L107cbc_dec_four: - call _aesni_decrypt4 - movups 16(%esi),%xmm1 - movups 32(%esi),%xmm0 - xorps %xmm7,%xmm2 - movups 48(%esi),%xmm7 - xorps %xmm6,%xmm3 - movups %xmm2,(%edi) - xorps %xmm1,%xmm4 - movups %xmm3,16(%edi) - pxor %xmm3,%xmm3 - xorps %xmm0,%xmm5 - movups %xmm4,32(%edi) - pxor %xmm4,%xmm4 - leal 48(%edi),%edi - movaps %xmm5,%xmm2 - pxor %xmm5,%xmm5 - subl $64,%eax - jmp .L108cbc_dec_tail_collected -.align 16 -.L103cbc_dec_clear_tail_collected: - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 -.L108cbc_dec_tail_collected: - andl $15,%eax - jnz .L110cbc_dec_tail_partial - movups %xmm2,(%edi) - pxor %xmm0,%xmm0 - jmp .L099cbc_ret -.align 16 -.L110cbc_dec_tail_partial: - movaps %xmm2,(%esp) - pxor %xmm0,%xmm0 - movl $16,%ecx - movl %esp,%esi - subl %eax,%ecx -.long 2767451785 - movdqa %xmm2,(%esp) -.L099cbc_ret: - movl 16(%esp),%esp - movl 36(%esp),%ebp - pxor %xmm2,%xmm2 - pxor %xmm1,%xmm1 - movups %xmm7,(%ebp) - pxor %xmm7,%xmm7 -.L094cbc_abort: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size aesni_cbc_encrypt,.-.L_aesni_cbc_encrypt_begin -.type _aesni_set_encrypt_key,@function -.align 16 -_aesni_set_encrypt_key: - pushl %ebp - pushl %ebx - testl %eax,%eax - jz .L111bad_pointer - testl %edx,%edx - jz .L111bad_pointer - call .L112pic -.L112pic: - popl %ebx - leal .Lkey_const-.L112pic(%ebx),%ebx - leal OPENSSL_ia32cap_P,%ebp - movups (%eax),%xmm0 - xorps %xmm4,%xmm4 - movl 4(%ebp),%ebp - leal 16(%edx),%edx - andl $268437504,%ebp - cmpl $256,%ecx - je .L11314rounds - cmpl $192,%ecx - je .L11412rounds - cmpl $128,%ecx - jne .L115bad_keybits -.align 16 -.L11610rounds: - cmpl $268435456,%ebp - je .L11710rounds_alt - movl $9,%ecx - movups %xmm0,-16(%edx) -.byte 102,15,58,223,200,1 - call .L118key_128_cold -.byte 102,15,58,223,200,2 - call .L119key_128 -.byte 102,15,58,223,200,4 - call .L119key_128 -.byte 102,15,58,223,200,8 - call .L119key_128 -.byte 102,15,58,223,200,16 - call .L119key_128 -.byte 102,15,58,223,200,32 - call .L119key_128 -.byte 102,15,58,223,200,64 - call .L119key_128 -.byte 102,15,58,223,200,128 - call .L119key_128 -.byte 102,15,58,223,200,27 - call .L119key_128 -.byte 102,15,58,223,200,54 - call .L119key_128 - movups %xmm0,(%edx) - movl %ecx,80(%edx) - jmp .L120good_key -.align 16 -.L119key_128: - movups %xmm0,(%edx) - leal 16(%edx),%edx -.L118key_128_cold: - shufps $16,%xmm0,%xmm4 - xorps %xmm4,%xmm0 - shufps $140,%xmm0,%xmm4 - xorps %xmm4,%xmm0 - shufps $255,%xmm1,%xmm1 - xorps %xmm1,%xmm0 - ret -.align 16 -.L11710rounds_alt: - movdqa (%ebx),%xmm5 - movl $8,%ecx - movdqa 32(%ebx),%xmm4 - movdqa %xmm0,%xmm2 - movdqu %xmm0,-16(%edx) -.L121loop_key128: -.byte 102,15,56,0,197 -.byte 102,15,56,221,196 - pslld $1,%xmm4 - leal 16(%edx),%edx - movdqa %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm3,%xmm2 - pxor %xmm2,%xmm0 - movdqu %xmm0,-16(%edx) - movdqa %xmm0,%xmm2 - decl %ecx - jnz .L121loop_key128 - movdqa 48(%ebx),%xmm4 -.byte 102,15,56,0,197 -.byte 102,15,56,221,196 - pslld $1,%xmm4 - movdqa %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm3,%xmm2 - pxor %xmm2,%xmm0 - movdqu %xmm0,(%edx) - movdqa %xmm0,%xmm2 -.byte 102,15,56,0,197 -.byte 102,15,56,221,196 - movdqa %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm3,%xmm2 - pxor %xmm2,%xmm0 - movdqu %xmm0,16(%edx) - movl $9,%ecx - movl %ecx,96(%edx) - jmp .L120good_key -.align 16 -.L11412rounds: - movq 16(%eax),%xmm2 - cmpl $268435456,%ebp - je .L12212rounds_alt - movl $11,%ecx - movups %xmm0,-16(%edx) -.byte 102,15,58,223,202,1 - call .L123key_192a_cold -.byte 102,15,58,223,202,2 - call .L124key_192b -.byte 102,15,58,223,202,4 - call .L125key_192a -.byte 102,15,58,223,202,8 - call .L124key_192b -.byte 102,15,58,223,202,16 - call .L125key_192a -.byte 102,15,58,223,202,32 - call .L124key_192b -.byte 102,15,58,223,202,64 - call .L125key_192a -.byte 102,15,58,223,202,128 - call .L124key_192b - movups %xmm0,(%edx) - movl %ecx,48(%edx) - jmp .L120good_key -.align 16 -.L125key_192a: - movups %xmm0,(%edx) - leal 16(%edx),%edx -.align 16 -.L123key_192a_cold: - movaps %xmm2,%xmm5 -.L126key_192b_warm: - shufps $16,%xmm0,%xmm4 - movdqa %xmm2,%xmm3 - xorps %xmm4,%xmm0 - shufps $140,%xmm0,%xmm4 - pslldq $4,%xmm3 - xorps %xmm4,%xmm0 - pshufd $85,%xmm1,%xmm1 - pxor %xmm3,%xmm2 - pxor %xmm1,%xmm0 - pshufd $255,%xmm0,%xmm3 - pxor %xmm3,%xmm2 - ret -.align 16 -.L124key_192b: - movaps %xmm0,%xmm3 - shufps $68,%xmm0,%xmm5 - movups %xmm5,(%edx) - shufps $78,%xmm2,%xmm3 - movups %xmm3,16(%edx) - leal 32(%edx),%edx - jmp .L126key_192b_warm -.align 16 -.L12212rounds_alt: - movdqa 16(%ebx),%xmm5 - movdqa 32(%ebx),%xmm4 - movl $8,%ecx - movdqu %xmm0,-16(%edx) -.L127loop_key192: - movq %xmm2,(%edx) - movdqa %xmm2,%xmm1 -.byte 102,15,56,0,213 -.byte 102,15,56,221,212 - pslld $1,%xmm4 - leal 24(%edx),%edx - movdqa %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm3,%xmm0 - pshufd $255,%xmm0,%xmm3 - pxor %xmm1,%xmm3 - pslldq $4,%xmm1 - pxor %xmm1,%xmm3 - pxor %xmm2,%xmm0 - pxor %xmm3,%xmm2 - movdqu %xmm0,-16(%edx) - decl %ecx - jnz .L127loop_key192 - movl $11,%ecx - movl %ecx,32(%edx) - jmp .L120good_key -.align 16 -.L11314rounds: - movups 16(%eax),%xmm2 - leal 16(%edx),%edx - cmpl $268435456,%ebp - je .L12814rounds_alt - movl $13,%ecx - movups %xmm0,-32(%edx) - movups %xmm2,-16(%edx) -.byte 102,15,58,223,202,1 - call .L129key_256a_cold -.byte 102,15,58,223,200,1 - call .L130key_256b -.byte 102,15,58,223,202,2 - call .L131key_256a -.byte 102,15,58,223,200,2 - call .L130key_256b -.byte 102,15,58,223,202,4 - call .L131key_256a -.byte 102,15,58,223,200,4 - call .L130key_256b -.byte 102,15,58,223,202,8 - call .L131key_256a -.byte 102,15,58,223,200,8 - call .L130key_256b -.byte 102,15,58,223,202,16 - call .L131key_256a -.byte 102,15,58,223,200,16 - call .L130key_256b -.byte 102,15,58,223,202,32 - call .L131key_256a -.byte 102,15,58,223,200,32 - call .L130key_256b -.byte 102,15,58,223,202,64 - call .L131key_256a - movups %xmm0,(%edx) - movl %ecx,16(%edx) - xorl %eax,%eax - jmp .L120good_key -.align 16 -.L131key_256a: - movups %xmm2,(%edx) - leal 16(%edx),%edx -.L129key_256a_cold: - shufps $16,%xmm0,%xmm4 - xorps %xmm4,%xmm0 - shufps $140,%xmm0,%xmm4 - xorps %xmm4,%xmm0 - shufps $255,%xmm1,%xmm1 - xorps %xmm1,%xmm0 - ret -.align 16 -.L130key_256b: - movups %xmm0,(%edx) - leal 16(%edx),%edx - shufps $16,%xmm2,%xmm4 - xorps %xmm4,%xmm2 - shufps $140,%xmm2,%xmm4 - xorps %xmm4,%xmm2 - shufps $170,%xmm1,%xmm1 - xorps %xmm1,%xmm2 - ret -.align 16 -.L12814rounds_alt: - movdqa (%ebx),%xmm5 - movdqa 32(%ebx),%xmm4 - movl $7,%ecx - movdqu %xmm0,-32(%edx) - movdqa %xmm2,%xmm1 - movdqu %xmm2,-16(%edx) -.L132loop_key256: -.byte 102,15,56,0,213 -.byte 102,15,56,221,212 - movdqa %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm3,%xmm0 - pslld $1,%xmm4 - pxor %xmm2,%xmm0 - movdqu %xmm0,(%edx) - decl %ecx - jz .L133done_key256 - pshufd $255,%xmm0,%xmm2 - pxor %xmm3,%xmm3 -.byte 102,15,56,221,211 - movdqa %xmm1,%xmm3 - pslldq $4,%xmm1 - pxor %xmm1,%xmm3 - pslldq $4,%xmm1 - pxor %xmm1,%xmm3 - pslldq $4,%xmm1 - pxor %xmm3,%xmm1 - pxor %xmm1,%xmm2 - movdqu %xmm2,16(%edx) - leal 32(%edx),%edx - movdqa %xmm2,%xmm1 - jmp .L132loop_key256 -.L133done_key256: - movl $13,%ecx - movl %ecx,16(%edx) -.L120good_key: - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - xorl %eax,%eax - popl %ebx - popl %ebp - ret -.align 4 -.L111bad_pointer: - movl $-1,%eax - popl %ebx - popl %ebp - ret -.align 4 -.L115bad_keybits: - pxor %xmm0,%xmm0 - movl $-2,%eax - popl %ebx - popl %ebp - ret -.size _aesni_set_encrypt_key,.-_aesni_set_encrypt_key -.globl aesni_set_encrypt_key -.type aesni_set_encrypt_key,@function -.align 16 -aesni_set_encrypt_key: -.L_aesni_set_encrypt_key_begin: - movl 4(%esp),%eax - movl 8(%esp),%ecx - movl 12(%esp),%edx - call _aesni_set_encrypt_key - ret -.size aesni_set_encrypt_key,.-.L_aesni_set_encrypt_key_begin -.globl aesni_set_decrypt_key -.type aesni_set_decrypt_key,@function -.align 16 -aesni_set_decrypt_key: -.L_aesni_set_decrypt_key_begin: - movl 4(%esp),%eax - movl 8(%esp),%ecx - movl 12(%esp),%edx - call _aesni_set_encrypt_key - movl 12(%esp),%edx - shll $4,%ecx - testl %eax,%eax - jnz .L134dec_key_ret - leal 16(%edx,%ecx,1),%eax - movups (%edx),%xmm0 - movups (%eax),%xmm1 - movups %xmm0,(%eax) - movups %xmm1,(%edx) - leal 16(%edx),%edx - leal -16(%eax),%eax -.L135dec_key_inverse: - movups (%edx),%xmm0 - movups (%eax),%xmm1 -.byte 102,15,56,219,192 -.byte 102,15,56,219,201 - leal 16(%edx),%edx - leal -16(%eax),%eax - movups %xmm0,16(%eax) - movups %xmm1,-16(%edx) - cmpl %edx,%eax - ja .L135dec_key_inverse - movups (%edx),%xmm0 -.byte 102,15,56,219,192 - movups %xmm0,(%edx) - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - xorl %eax,%eax -.L134dec_key_ret: - ret -.size aesni_set_decrypt_key,.-.L_aesni_set_decrypt_key_begin -.align 64 -.Lkey_const: -.long 202313229,202313229,202313229,202313229 -.long 67569157,67569157,67569157,67569157 -.long 1,1,1,1 -.long 27,27,27,27 -.byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69 -.byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83 -.byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 -.byte 115,108,46,111,114,103,62,0 -.comm OPENSSL_ia32cap_P,16,4 diff --git a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/vpaes-x86.S b/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/vpaes-x86.S deleted file mode 100644 index 6f625346826b..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/aes/vpaes-x86.S +++ /dev/null @@ -1,670 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/aes/asm/vpaes-x86.pl -# -# Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text -.align 64 -.L_vpaes_consts: -.long 218628480,235210255,168496130,67568393 -.long 252381056,17041926,33884169,51187212 -.long 252645135,252645135,252645135,252645135 -.long 1512730624,3266504856,1377990664,3401244816 -.long 830229760,1275146365,2969422977,3447763452 -.long 3411033600,2979783055,338359620,2782886510 -.long 4209124096,907596821,221174255,1006095553 -.long 191964160,3799684038,3164090317,1589111125 -.long 182528256,1777043520,2877432650,3265356744 -.long 1874708224,3503451415,3305285752,363511674 -.long 1606117888,3487855781,1093350906,2384367825 -.long 197121,67569157,134941193,202313229 -.long 67569157,134941193,202313229,197121 -.long 134941193,202313229,197121,67569157 -.long 202313229,197121,67569157,134941193 -.long 33619971,100992007,168364043,235736079 -.long 235736079,33619971,100992007,168364043 -.long 168364043,235736079,33619971,100992007 -.long 100992007,168364043,235736079,33619971 -.long 50462976,117835012,185207048,252579084 -.long 252314880,51251460,117574920,184942860 -.long 184682752,252054788,50987272,118359308 -.long 118099200,185467140,251790600,50727180 -.long 2946363062,528716217,1300004225,1881839624 -.long 1532713819,1532713819,1532713819,1532713819 -.long 3602276352,4288629033,3737020424,4153884961 -.long 1354558464,32357713,2958822624,3775749553 -.long 1201988352,132424512,1572796698,503232858 -.long 2213177600,1597421020,4103937655,675398315 -.long 2749646592,4273543773,1511898873,121693092 -.long 3040248576,1103263732,2871565598,1608280554 -.long 2236667136,2588920351,482954393,64377734 -.long 3069987328,291237287,2117370568,3650299247 -.long 533321216,3573750986,2572112006,1401264716 -.long 1339849704,2721158661,548607111,3445553514 -.long 2128193280,3054596040,2183486460,1257083700 -.long 655635200,1165381986,3923443150,2344132524 -.long 190078720,256924420,290342170,357187870 -.long 1610966272,2263057382,4103205268,309794674 -.long 2592527872,2233205587,1335446729,3402964816 -.long 3973531904,3225098121,3002836325,1918774430 -.long 3870401024,2102906079,2284471353,4117666579 -.long 617007872,1021508343,366931923,691083277 -.long 2528395776,3491914898,2968704004,1613121270 -.long 3445188352,3247741094,844474987,4093578302 -.long 651481088,1190302358,1689581232,574775300 -.long 4289380608,206939853,2555985458,2489840491 -.long 2130264064,327674451,3566485037,3349835193 -.long 2470714624,316102159,3636825756,3393945945 -.byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105 -.byte 111,110,32,65,69,83,32,102,111,114,32,120,56,54,47,83 -.byte 83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117 -.byte 114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105 -.byte 118,101,114,115,105,116,121,41,0 -.align 64 -.type _vpaes_preheat,@function -.align 16 -_vpaes_preheat: - addl (%esp),%ebp - movdqa -48(%ebp),%xmm7 - movdqa -16(%ebp),%xmm6 - ret -.size _vpaes_preheat,.-_vpaes_preheat -.type _vpaes_encrypt_core,@function -.align 16 -_vpaes_encrypt_core: - movl $16,%ecx - movl 240(%edx),%eax - movdqa %xmm6,%xmm1 - movdqa (%ebp),%xmm2 - pandn %xmm0,%xmm1 - pand %xmm6,%xmm0 - movdqu (%edx),%xmm5 -.byte 102,15,56,0,208 - movdqa 16(%ebp),%xmm0 - pxor %xmm5,%xmm2 - psrld $4,%xmm1 - addl $16,%edx -.byte 102,15,56,0,193 - leal 192(%ebp),%ebx - pxor %xmm2,%xmm0 - jmp .L000enc_entry -.align 16 -.L001enc_loop: - movdqa 32(%ebp),%xmm4 - movdqa 48(%ebp),%xmm0 -.byte 102,15,56,0,226 -.byte 102,15,56,0,195 - pxor %xmm5,%xmm4 - movdqa 64(%ebp),%xmm5 - pxor %xmm4,%xmm0 - movdqa -64(%ebx,%ecx,1),%xmm1 -.byte 102,15,56,0,234 - movdqa 80(%ebp),%xmm2 - movdqa (%ebx,%ecx,1),%xmm4 -.byte 102,15,56,0,211 - movdqa %xmm0,%xmm3 - pxor %xmm5,%xmm2 -.byte 102,15,56,0,193 - addl $16,%edx - pxor %xmm2,%xmm0 -.byte 102,15,56,0,220 - addl $16,%ecx - pxor %xmm0,%xmm3 -.byte 102,15,56,0,193 - andl $48,%ecx - subl $1,%eax - pxor %xmm3,%xmm0 -.L000enc_entry: - movdqa %xmm6,%xmm1 - movdqa -32(%ebp),%xmm5 - pandn %xmm0,%xmm1 - psrld $4,%xmm1 - pand %xmm6,%xmm0 -.byte 102,15,56,0,232 - movdqa %xmm7,%xmm3 - pxor %xmm1,%xmm0 -.byte 102,15,56,0,217 - movdqa %xmm7,%xmm4 - pxor %xmm5,%xmm3 -.byte 102,15,56,0,224 - movdqa %xmm7,%xmm2 - pxor %xmm5,%xmm4 -.byte 102,15,56,0,211 - movdqa %xmm7,%xmm3 - pxor %xmm0,%xmm2 -.byte 102,15,56,0,220 - movdqu (%edx),%xmm5 - pxor %xmm1,%xmm3 - jnz .L001enc_loop - movdqa 96(%ebp),%xmm4 - movdqa 112(%ebp),%xmm0 -.byte 102,15,56,0,226 - pxor %xmm5,%xmm4 -.byte 102,15,56,0,195 - movdqa 64(%ebx,%ecx,1),%xmm1 - pxor %xmm4,%xmm0 -.byte 102,15,56,0,193 - ret -.size _vpaes_encrypt_core,.-_vpaes_encrypt_core -.type _vpaes_decrypt_core,@function -.align 16 -_vpaes_decrypt_core: - leal 608(%ebp),%ebx - movl 240(%edx),%eax - movdqa %xmm6,%xmm1 - movdqa -64(%ebx),%xmm2 - pandn %xmm0,%xmm1 - movl %eax,%ecx - psrld $4,%xmm1 - movdqu (%edx),%xmm5 - shll $4,%ecx - pand %xmm6,%xmm0 -.byte 102,15,56,0,208 - movdqa -48(%ebx),%xmm0 - xorl $48,%ecx -.byte 102,15,56,0,193 - andl $48,%ecx - pxor %xmm5,%xmm2 - movdqa 176(%ebp),%xmm5 - pxor %xmm2,%xmm0 - addl $16,%edx - leal -352(%ebx,%ecx,1),%ecx - jmp .L002dec_entry -.align 16 -.L003dec_loop: - movdqa -32(%ebx),%xmm4 - movdqa -16(%ebx),%xmm1 -.byte 102,15,56,0,226 -.byte 102,15,56,0,203 - pxor %xmm4,%xmm0 - movdqa (%ebx),%xmm4 - pxor %xmm1,%xmm0 - movdqa 16(%ebx),%xmm1 -.byte 102,15,56,0,226 -.byte 102,15,56,0,197 -.byte 102,15,56,0,203 - pxor %xmm4,%xmm0 - movdqa 32(%ebx),%xmm4 - pxor %xmm1,%xmm0 - movdqa 48(%ebx),%xmm1 -.byte 102,15,56,0,226 -.byte 102,15,56,0,197 -.byte 102,15,56,0,203 - pxor %xmm4,%xmm0 - movdqa 64(%ebx),%xmm4 - pxor %xmm1,%xmm0 - movdqa 80(%ebx),%xmm1 -.byte 102,15,56,0,226 -.byte 102,15,56,0,197 -.byte 102,15,56,0,203 - pxor %xmm4,%xmm0 - addl $16,%edx -.byte 102,15,58,15,237,12 - pxor %xmm1,%xmm0 - subl $1,%eax -.L002dec_entry: - movdqa %xmm6,%xmm1 - movdqa -32(%ebp),%xmm2 - pandn %xmm0,%xmm1 - pand %xmm6,%xmm0 - psrld $4,%xmm1 -.byte 102,15,56,0,208 - movdqa %xmm7,%xmm3 - pxor %xmm1,%xmm0 -.byte 102,15,56,0,217 - movdqa %xmm7,%xmm4 - pxor %xmm2,%xmm3 -.byte 102,15,56,0,224 - pxor %xmm2,%xmm4 - movdqa %xmm7,%xmm2 -.byte 102,15,56,0,211 - movdqa %xmm7,%xmm3 - pxor %xmm0,%xmm2 -.byte 102,15,56,0,220 - movdqu (%edx),%xmm0 - pxor %xmm1,%xmm3 - jnz .L003dec_loop - movdqa 96(%ebx),%xmm4 -.byte 102,15,56,0,226 - pxor %xmm0,%xmm4 - movdqa 112(%ebx),%xmm0 - movdqa (%ecx),%xmm2 -.byte 102,15,56,0,195 - pxor %xmm4,%xmm0 -.byte 102,15,56,0,194 - ret -.size _vpaes_decrypt_core,.-_vpaes_decrypt_core -.type _vpaes_schedule_core,@function -.align 16 -_vpaes_schedule_core: - addl (%esp),%ebp - movdqu (%esi),%xmm0 - movdqa 320(%ebp),%xmm2 - movdqa %xmm0,%xmm3 - leal (%ebp),%ebx - movdqa %xmm2,4(%esp) - call _vpaes_schedule_transform - movdqa %xmm0,%xmm7 - testl %edi,%edi - jnz .L004schedule_am_decrypting - movdqu %xmm0,(%edx) - jmp .L005schedule_go -.L004schedule_am_decrypting: - movdqa 256(%ebp,%ecx,1),%xmm1 -.byte 102,15,56,0,217 - movdqu %xmm3,(%edx) - xorl $48,%ecx -.L005schedule_go: - cmpl $192,%eax - ja .L006schedule_256 - je .L007schedule_192 -.L008schedule_128: - movl $10,%eax -.L009loop_schedule_128: - call _vpaes_schedule_round - decl %eax - jz .L010schedule_mangle_last - call _vpaes_schedule_mangle - jmp .L009loop_schedule_128 -.align 16 -.L007schedule_192: - movdqu 8(%esi),%xmm0 - call _vpaes_schedule_transform - movdqa %xmm0,%xmm6 - pxor %xmm4,%xmm4 - movhlps %xmm4,%xmm6 - movl $4,%eax -.L011loop_schedule_192: - call _vpaes_schedule_round -.byte 102,15,58,15,198,8 - call _vpaes_schedule_mangle - call _vpaes_schedule_192_smear - call _vpaes_schedule_mangle - call _vpaes_schedule_round - decl %eax - jz .L010schedule_mangle_last - call _vpaes_schedule_mangle - call _vpaes_schedule_192_smear - jmp .L011loop_schedule_192 -.align 16 -.L006schedule_256: - movdqu 16(%esi),%xmm0 - call _vpaes_schedule_transform - movl $7,%eax -.L012loop_schedule_256: - call _vpaes_schedule_mangle - movdqa %xmm0,%xmm6 - call _vpaes_schedule_round - decl %eax - jz .L010schedule_mangle_last - call _vpaes_schedule_mangle - pshufd $255,%xmm0,%xmm0 - movdqa %xmm7,20(%esp) - movdqa %xmm6,%xmm7 - call .L_vpaes_schedule_low_round - movdqa 20(%esp),%xmm7 - jmp .L012loop_schedule_256 -.align 16 -.L010schedule_mangle_last: - leal 384(%ebp),%ebx - testl %edi,%edi - jnz .L013schedule_mangle_last_dec - movdqa 256(%ebp,%ecx,1),%xmm1 -.byte 102,15,56,0,193 - leal 352(%ebp),%ebx - addl $32,%edx -.L013schedule_mangle_last_dec: - addl $-16,%edx - pxor 336(%ebp),%xmm0 - call _vpaes_schedule_transform - movdqu %xmm0,(%edx) - 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 -.size _vpaes_schedule_core,.-_vpaes_schedule_core -.type _vpaes_schedule_192_smear,@function -.align 16 -_vpaes_schedule_192_smear: - pshufd $128,%xmm6,%xmm1 - pshufd $254,%xmm7,%xmm0 - pxor %xmm1,%xmm6 - pxor %xmm1,%xmm1 - pxor %xmm0,%xmm6 - movdqa %xmm6,%xmm0 - movhlps %xmm1,%xmm6 - ret -.size _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear -.type _vpaes_schedule_round,@function -.align 16 -_vpaes_schedule_round: - movdqa 8(%esp),%xmm2 - pxor %xmm1,%xmm1 -.byte 102,15,58,15,202,15 -.byte 102,15,58,15,210,15 - pxor %xmm1,%xmm7 - pshufd $255,%xmm0,%xmm0 -.byte 102,15,58,15,192,1 - movdqa %xmm2,8(%esp) -.L_vpaes_schedule_low_round: - movdqa %xmm7,%xmm1 - pslldq $4,%xmm7 - pxor %xmm1,%xmm7 - movdqa %xmm7,%xmm1 - pslldq $8,%xmm7 - pxor %xmm1,%xmm7 - pxor 336(%ebp),%xmm7 - movdqa -16(%ebp),%xmm4 - movdqa -48(%ebp),%xmm5 - movdqa %xmm4,%xmm1 - pandn %xmm0,%xmm1 - psrld $4,%xmm1 - pand %xmm4,%xmm0 - movdqa -32(%ebp),%xmm2 -.byte 102,15,56,0,208 - pxor %xmm1,%xmm0 - movdqa %xmm5,%xmm3 -.byte 102,15,56,0,217 - pxor %xmm2,%xmm3 - movdqa %xmm5,%xmm4 -.byte 102,15,56,0,224 - pxor %xmm2,%xmm4 - movdqa %xmm5,%xmm2 -.byte 102,15,56,0,211 - pxor %xmm0,%xmm2 - movdqa %xmm5,%xmm3 -.byte 102,15,56,0,220 - pxor %xmm1,%xmm3 - movdqa 32(%ebp),%xmm4 -.byte 102,15,56,0,226 - movdqa 48(%ebp),%xmm0 -.byte 102,15,56,0,195 - pxor %xmm4,%xmm0 - pxor %xmm7,%xmm0 - movdqa %xmm0,%xmm7 - ret -.size _vpaes_schedule_round,.-_vpaes_schedule_round -.type _vpaes_schedule_transform,@function -.align 16 -_vpaes_schedule_transform: - movdqa -16(%ebp),%xmm2 - movdqa %xmm2,%xmm1 - pandn %xmm0,%xmm1 - psrld $4,%xmm1 - pand %xmm2,%xmm0 - movdqa (%ebx),%xmm2 -.byte 102,15,56,0,208 - movdqa 16(%ebx),%xmm0 -.byte 102,15,56,0,193 - pxor %xmm2,%xmm0 - ret -.size _vpaes_schedule_transform,.-_vpaes_schedule_transform -.type _vpaes_schedule_mangle,@function -.align 16 -_vpaes_schedule_mangle: - movdqa %xmm0,%xmm4 - movdqa 128(%ebp),%xmm5 - testl %edi,%edi - jnz .L014schedule_mangle_dec - addl $16,%edx - pxor 336(%ebp),%xmm4 -.byte 102,15,56,0,229 - movdqa %xmm4,%xmm3 -.byte 102,15,56,0,229 - pxor %xmm4,%xmm3 -.byte 102,15,56,0,229 - pxor %xmm4,%xmm3 - jmp .L015schedule_mangle_both -.align 16 -.L014schedule_mangle_dec: - movdqa -16(%ebp),%xmm2 - leal 416(%ebp),%esi - movdqa %xmm2,%xmm1 - pandn %xmm4,%xmm1 - psrld $4,%xmm1 - pand %xmm2,%xmm4 - movdqa (%esi),%xmm2 -.byte 102,15,56,0,212 - movdqa 16(%esi),%xmm3 -.byte 102,15,56,0,217 - pxor %xmm2,%xmm3 -.byte 102,15,56,0,221 - movdqa 32(%esi),%xmm2 -.byte 102,15,56,0,212 - pxor %xmm3,%xmm2 - movdqa 48(%esi),%xmm3 -.byte 102,15,56,0,217 - pxor %xmm2,%xmm3 -.byte 102,15,56,0,221 - movdqa 64(%esi),%xmm2 -.byte 102,15,56,0,212 - pxor %xmm3,%xmm2 - movdqa 80(%esi),%xmm3 -.byte 102,15,56,0,217 - pxor %xmm2,%xmm3 -.byte 102,15,56,0,221 - movdqa 96(%esi),%xmm2 -.byte 102,15,56,0,212 - pxor %xmm3,%xmm2 - movdqa 112(%esi),%xmm3 -.byte 102,15,56,0,217 - pxor %xmm2,%xmm3 - addl $-16,%edx -.L015schedule_mangle_both: - movdqa 256(%ebp,%ecx,1),%xmm1 -.byte 102,15,56,0,217 - addl $-16,%ecx - andl $48,%ecx - movdqu %xmm3,(%edx) - ret -.size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle -.globl vpaes_set_encrypt_key -.type vpaes_set_encrypt_key,@function -.align 16 -vpaes_set_encrypt_key: -.L_vpaes_set_encrypt_key_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - leal -56(%esp),%ebx - movl 24(%esp),%eax - andl $-16,%ebx - movl 28(%esp),%edx - xchgl %esp,%ebx - movl %ebx,48(%esp) - movl %eax,%ebx - shrl $5,%ebx - addl $5,%ebx - movl %ebx,240(%edx) - movl $48,%ecx - movl $0,%edi - leal .L_vpaes_consts+0x30-.L016pic_point,%ebp - call _vpaes_schedule_core -.L016pic_point: - movl 48(%esp),%esp - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size vpaes_set_encrypt_key,.-.L_vpaes_set_encrypt_key_begin -.globl vpaes_set_decrypt_key -.type vpaes_set_decrypt_key,@function -.align 16 -vpaes_set_decrypt_key: -.L_vpaes_set_decrypt_key_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - leal -56(%esp),%ebx - movl 24(%esp),%eax - andl $-16,%ebx - movl 28(%esp),%edx - xchgl %esp,%ebx - movl %ebx,48(%esp) - movl %eax,%ebx - shrl $5,%ebx - addl $5,%ebx - movl %ebx,240(%edx) - shll $4,%ebx - leal 16(%edx,%ebx,1),%edx - movl $1,%edi - movl %eax,%ecx - shrl $1,%ecx - andl $32,%ecx - xorl $32,%ecx - leal .L_vpaes_consts+0x30-.L017pic_point,%ebp - call _vpaes_schedule_core -.L017pic_point: - movl 48(%esp),%esp - xorl %eax,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size vpaes_set_decrypt_key,.-.L_vpaes_set_decrypt_key_begin -.globl vpaes_encrypt -.type vpaes_encrypt,@function -.align 16 -vpaes_encrypt: -.L_vpaes_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - leal .L_vpaes_consts+0x30-.L018pic_point,%ebp - call _vpaes_preheat -.L018pic_point: - movl 20(%esp),%esi - leal -56(%esp),%ebx - movl 24(%esp),%edi - andl $-16,%ebx - movl 28(%esp),%edx - xchgl %esp,%ebx - movl %ebx,48(%esp) - movdqu (%esi),%xmm0 - call _vpaes_encrypt_core - movdqu %xmm0,(%edi) - movl 48(%esp),%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size vpaes_encrypt,.-.L_vpaes_encrypt_begin -.globl vpaes_decrypt -.type vpaes_decrypt,@function -.align 16 -vpaes_decrypt: -.L_vpaes_decrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - leal .L_vpaes_consts+0x30-.L019pic_point,%ebp - call _vpaes_preheat -.L019pic_point: - movl 20(%esp),%esi - leal -56(%esp),%ebx - movl 24(%esp),%edi - andl $-16,%ebx - movl 28(%esp),%edx - xchgl %esp,%ebx - movl %ebx,48(%esp) - movdqu (%esi),%xmm0 - call _vpaes_decrypt_core - movdqu %xmm0,(%edi) - movl 48(%esp),%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size vpaes_decrypt,.-.L_vpaes_decrypt_begin -.globl vpaes_cbc_encrypt -.type vpaes_cbc_encrypt,@function -.align 16 -vpaes_cbc_encrypt: -.L_vpaes_cbc_encrypt_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 24(%esp),%edi - movl 28(%esp),%eax - movl 32(%esp),%edx - subl $16,%eax - jc .L020cbc_abort - leal -56(%esp),%ebx - movl 36(%esp),%ebp - andl $-16,%ebx - movl 40(%esp),%ecx - xchgl %esp,%ebx - movdqu (%ebp),%xmm1 - subl %esi,%edi - movl %ebx,48(%esp) - movl %edi,(%esp) - movl %edx,4(%esp) - movl %ebp,8(%esp) - movl %eax,%edi - leal .L_vpaes_consts+0x30-.L021pic_point,%ebp - call _vpaes_preheat -.L021pic_point: - cmpl $0,%ecx - je .L022cbc_dec_loop - jmp .L023cbc_enc_loop -.align 16 -.L023cbc_enc_loop: - movdqu (%esi),%xmm0 - pxor %xmm1,%xmm0 - call _vpaes_encrypt_core - movl (%esp),%ebx - movl 4(%esp),%edx - movdqa %xmm0,%xmm1 - movdqu %xmm0,(%ebx,%esi,1) - leal 16(%esi),%esi - subl $16,%edi - jnc .L023cbc_enc_loop - jmp .L024cbc_done -.align 16 -.L022cbc_dec_loop: - movdqu (%esi),%xmm0 - movdqa %xmm1,16(%esp) - movdqa %xmm0,32(%esp) - call _vpaes_decrypt_core - movl (%esp),%ebx - movl 4(%esp),%edx - pxor 16(%esp),%xmm0 - movdqa 32(%esp),%xmm1 - movdqu %xmm0,(%ebx,%esi,1) - leal 16(%esi),%esi - subl $16,%edi - jnc .L022cbc_dec_loop -.L024cbc_done: - movl 8(%esp),%ebx - movl 48(%esp),%esp - movdqu %xmm1,(%ebx) -.L020cbc_abort: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size vpaes_cbc_encrypt,.-.L_vpaes_cbc_encrypt_begin diff --git a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/modes/ghash-x86.S b/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/modes/ghash-x86.S deleted file mode 100644 index f52b445df2af..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/modes/ghash-x86.S +++ /dev/null @@ -1,703 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/modes/asm/ghash-x86.pl -# -# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text -.globl gcm_gmult_4bit_x86 -.type gcm_gmult_4bit_x86,@function -.align 16 -gcm_gmult_4bit_x86: -.L_gcm_gmult_4bit_x86_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - subl $84,%esp - movl 104(%esp),%edi - movl 108(%esp),%esi - movl (%edi),%ebp - movl 4(%edi),%edx - movl 8(%edi),%ecx - movl 12(%edi),%ebx - movl $0,16(%esp) - movl $471859200,20(%esp) - movl $943718400,24(%esp) - movl $610271232,28(%esp) - movl $1887436800,32(%esp) - movl $1822425088,36(%esp) - movl $1220542464,40(%esp) - movl $1423966208,44(%esp) - movl $3774873600,48(%esp) - movl $4246732800,52(%esp) - movl $3644850176,56(%esp) - movl $3311403008,60(%esp) - movl $2441084928,64(%esp) - movl $2376073216,68(%esp) - movl $2847932416,72(%esp) - movl $3051356160,76(%esp) - movl %ebp,(%esp) - movl %edx,4(%esp) - movl %ecx,8(%esp) - movl %ebx,12(%esp) - shrl $20,%ebx - andl $240,%ebx - movl 4(%esi,%ebx,1),%ebp - movl (%esi,%ebx,1),%edx - movl 12(%esi,%ebx,1),%ecx - movl 8(%esi,%ebx,1),%ebx - xorl %eax,%eax - movl $15,%edi - jmp .L000x86_loop -.align 16 -.L000x86_loop: - movb %bl,%al - shrdl $4,%ecx,%ebx - andb $15,%al - shrdl $4,%edx,%ecx - shrdl $4,%ebp,%edx - shrl $4,%ebp - xorl 16(%esp,%eax,4),%ebp - movb (%esp,%edi,1),%al - andb $240,%al - xorl 8(%esi,%eax,1),%ebx - xorl 12(%esi,%eax,1),%ecx - xorl (%esi,%eax,1),%edx - xorl 4(%esi,%eax,1),%ebp - decl %edi - js .L001x86_break - movb %bl,%al - shrdl $4,%ecx,%ebx - andb $15,%al - shrdl $4,%edx,%ecx - shrdl $4,%ebp,%edx - shrl $4,%ebp - xorl 16(%esp,%eax,4),%ebp - movb (%esp,%edi,1),%al - shlb $4,%al - xorl 8(%esi,%eax,1),%ebx - xorl 12(%esi,%eax,1),%ecx - xorl (%esi,%eax,1),%edx - xorl 4(%esi,%eax,1),%ebp - jmp .L000x86_loop -.align 16 -.L001x86_break: - bswap %ebx - bswap %ecx - bswap %edx - bswap %ebp - movl 104(%esp),%edi - movl %ebx,12(%edi) - movl %ecx,8(%edi) - movl %edx,4(%edi) - movl %ebp,(%edi) - addl $84,%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size gcm_gmult_4bit_x86,.-.L_gcm_gmult_4bit_x86_begin -.globl gcm_ghash_4bit_x86 -.type gcm_ghash_4bit_x86,@function -.align 16 -gcm_ghash_4bit_x86: -.L_gcm_ghash_4bit_x86_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - subl $84,%esp - movl 104(%esp),%ebx - movl 108(%esp),%esi - movl 112(%esp),%edi - movl 116(%esp),%ecx - addl %edi,%ecx - movl %ecx,116(%esp) - movl (%ebx),%ebp - movl 4(%ebx),%edx - movl 8(%ebx),%ecx - movl 12(%ebx),%ebx - movl $0,16(%esp) - movl $471859200,20(%esp) - movl $943718400,24(%esp) - movl $610271232,28(%esp) - movl $1887436800,32(%esp) - movl $1822425088,36(%esp) - movl $1220542464,40(%esp) - movl $1423966208,44(%esp) - movl $3774873600,48(%esp) - movl $4246732800,52(%esp) - movl $3644850176,56(%esp) - movl $3311403008,60(%esp) - movl $2441084928,64(%esp) - movl $2376073216,68(%esp) - movl $2847932416,72(%esp) - movl $3051356160,76(%esp) -.align 16 -.L002x86_outer_loop: - xorl 12(%edi),%ebx - xorl 8(%edi),%ecx - xorl 4(%edi),%edx - xorl (%edi),%ebp - movl %ebx,12(%esp) - movl %ecx,8(%esp) - movl %edx,4(%esp) - movl %ebp,(%esp) - shrl $20,%ebx - andl $240,%ebx - movl 4(%esi,%ebx,1),%ebp - movl (%esi,%ebx,1),%edx - movl 12(%esi,%ebx,1),%ecx - movl 8(%esi,%ebx,1),%ebx - xorl %eax,%eax - movl $15,%edi - jmp .L003x86_loop -.align 16 -.L003x86_loop: - movb %bl,%al - shrdl $4,%ecx,%ebx - andb $15,%al - shrdl $4,%edx,%ecx - shrdl $4,%ebp,%edx - shrl $4,%ebp - xorl 16(%esp,%eax,4),%ebp - movb (%esp,%edi,1),%al - andb $240,%al - xorl 8(%esi,%eax,1),%ebx - xorl 12(%esi,%eax,1),%ecx - xorl (%esi,%eax,1),%edx - xorl 4(%esi,%eax,1),%ebp - decl %edi - js .L004x86_break - movb %bl,%al - shrdl $4,%ecx,%ebx - andb $15,%al - shrdl $4,%edx,%ecx - shrdl $4,%ebp,%edx - shrl $4,%ebp - xorl 16(%esp,%eax,4),%ebp - movb (%esp,%edi,1),%al - shlb $4,%al - xorl 8(%esi,%eax,1),%ebx - xorl 12(%esi,%eax,1),%ecx - xorl (%esi,%eax,1),%edx - xorl 4(%esi,%eax,1),%ebp - jmp .L003x86_loop -.align 16 -.L004x86_break: - bswap %ebx - bswap %ecx - bswap %edx - bswap %ebp - movl 112(%esp),%edi - leal 16(%edi),%edi - cmpl 116(%esp),%edi - movl %edi,112(%esp) - jb .L002x86_outer_loop - movl 104(%esp),%edi - movl %ebx,12(%edi) - movl %ecx,8(%edi) - movl %edx,4(%edi) - movl %ebp,(%edi) - addl $84,%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size gcm_ghash_4bit_x86,.-.L_gcm_ghash_4bit_x86_begin -.type _mmx_gmult_4bit_inner,@function -.align 16 -_mmx_gmult_4bit_inner: - xorl %ecx,%ecx - movl %ebx,%edx - movb %dl,%cl - shlb $4,%cl - andl $240,%edx - movq 8(%esi,%ecx,1),%mm0 - movq (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 14(%edi),%cl - psllq $60,%mm2 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 13(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 12(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 11(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 10(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 9(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 8(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 7(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 6(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 5(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 4(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 3(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 2(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb 1(%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - movb (%edi),%cl - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movl %ecx,%edx - movd %mm0,%ebx - pxor %mm2,%mm0 - shlb $4,%cl - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%ecx,1),%mm0 - psllq $60,%mm2 - andl $240,%edx - pxor (%eax,%ebp,8),%mm1 - andl $15,%ebx - pxor (%esi,%ecx,1),%mm1 - movd %mm0,%ebp - pxor %mm2,%mm0 - psrlq $4,%mm0 - movq %mm1,%mm2 - psrlq $4,%mm1 - pxor 8(%esi,%edx,1),%mm0 - psllq $60,%mm2 - pxor (%eax,%ebx,8),%mm1 - andl $15,%ebp - pxor (%esi,%edx,1),%mm1 - movd %mm0,%ebx - pxor %mm2,%mm0 - movl 4(%eax,%ebp,8),%edi - psrlq $32,%mm0 - movd %mm1,%edx - psrlq $32,%mm1 - movd %mm0,%ecx - movd %mm1,%ebp - shll $4,%edi - bswap %ebx - bswap %edx - bswap %ecx - xorl %edi,%ebp - bswap %ebp - ret -.size _mmx_gmult_4bit_inner,.-_mmx_gmult_4bit_inner -.globl gcm_gmult_4bit_mmx -.type gcm_gmult_4bit_mmx,@function -.align 16 -gcm_gmult_4bit_mmx: -.L_gcm_gmult_4bit_mmx_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%edi - movl 24(%esp),%esi - call .L005pic_point -.L005pic_point: - popl %eax - leal .Lrem_4bit-.L005pic_point(%eax),%eax - movzbl 15(%edi),%ebx - call _mmx_gmult_4bit_inner - movl 20(%esp),%edi - emms - movl %ebx,12(%edi) - movl %edx,4(%edi) - movl %ecx,8(%edi) - movl %ebp,(%edi) - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin -.globl gcm_ghash_4bit_mmx -.type gcm_ghash_4bit_mmx,@function -.align 16 -gcm_ghash_4bit_mmx: -.L_gcm_ghash_4bit_mmx_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%ebp - movl 24(%esp),%esi - movl 28(%esp),%edi - movl 32(%esp),%ecx - call .L006pic_point -.L006pic_point: - popl %eax - leal .Lrem_4bit-.L006pic_point(%eax),%eax - addl %edi,%ecx - movl %ecx,32(%esp) - subl $20,%esp - movl 12(%ebp),%ebx - movl 4(%ebp),%edx - movl 8(%ebp),%ecx - movl (%ebp),%ebp - jmp .L007mmx_outer_loop -.align 16 -.L007mmx_outer_loop: - xorl 12(%edi),%ebx - xorl 4(%edi),%edx - xorl 8(%edi),%ecx - xorl (%edi),%ebp - movl %edi,48(%esp) - movl %ebx,12(%esp) - movl %edx,4(%esp) - movl %ecx,8(%esp) - movl %ebp,(%esp) - movl %esp,%edi - shrl $24,%ebx - call _mmx_gmult_4bit_inner - movl 48(%esp),%edi - leal 16(%edi),%edi - cmpl 52(%esp),%edi - jb .L007mmx_outer_loop - movl 40(%esp),%edi - emms - movl %ebx,12(%edi) - movl %edx,4(%edi) - movl %ecx,8(%edi) - movl %ebp,(%edi) - addl $20,%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin -.align 64 -.Lrem_4bit: -.long 0,0,0,29491200,0,58982400,0,38141952 -.long 0,117964800,0,113901568,0,76283904,0,88997888 -.long 0,235929600,0,265420800,0,227803136,0,206962688 -.long 0,152567808,0,148504576,0,177995776,0,190709760 -.byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 -.byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 -.byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 -.byte 0 diff --git a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha1-586.S b/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha1-586.S deleted file mode 100644 index 0b22a3e5538f..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha1-586.S +++ /dev/null @@ -1,1389 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/sha/asm/sha1-586.pl -# -# Copyright 1998-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text -.globl sha1_block_data_order -.type sha1_block_data_order,@function -.align 16 -sha1_block_data_order: -.L_sha1_block_data_order_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%ebp - movl 24(%esp),%esi - movl 28(%esp),%eax - subl $76,%esp - shll $6,%eax - addl %esi,%eax - movl %eax,104(%esp) - movl 16(%ebp),%edi - jmp .L000loop -.align 16 -.L000loop: - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - movl %eax,(%esp) - movl %ebx,4(%esp) - movl %ecx,8(%esp) - movl %edx,12(%esp) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - movl %eax,16(%esp) - movl %ebx,20(%esp) - movl %ecx,24(%esp) - movl %edx,28(%esp) - movl 32(%esi),%eax - movl 36(%esi),%ebx - movl 40(%esi),%ecx - movl 44(%esi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,40(%esp) - movl %edx,44(%esp) - movl 48(%esi),%eax - movl 52(%esi),%ebx - movl 56(%esi),%ecx - movl 60(%esi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - movl %eax,48(%esp) - movl %ebx,52(%esp) - movl %ecx,56(%esp) - movl %edx,60(%esp) - movl %esi,100(%esp) - movl (%ebp),%eax - movl 4(%ebp),%ebx - movl 8(%ebp),%ecx - movl 12(%ebp),%edx - - movl %ecx,%esi - movl %eax,%ebp - roll $5,%ebp - xorl %edx,%esi - addl %edi,%ebp - movl (%esp),%edi - andl %ebx,%esi - rorl $2,%ebx - xorl %edx,%esi - leal 1518500249(%ebp,%edi,1),%ebp - addl %esi,%ebp - - movl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - xorl %ecx,%edi - addl %edx,%ebp - movl 4(%esp),%edx - andl %eax,%edi - rorl $2,%eax - xorl %ecx,%edi - leal 1518500249(%ebp,%edx,1),%ebp - addl %edi,%ebp - - movl %eax,%edx - movl %ebp,%edi - roll $5,%ebp - xorl %ebx,%edx - addl %ecx,%ebp - movl 8(%esp),%ecx - andl %esi,%edx - rorl $2,%esi - xorl %ebx,%edx - leal 1518500249(%ebp,%ecx,1),%ebp - addl %edx,%ebp - - movl %esi,%ecx - movl %ebp,%edx - roll $5,%ebp - xorl %eax,%ecx - addl %ebx,%ebp - movl 12(%esp),%ebx - andl %edi,%ecx - rorl $2,%edi - xorl %eax,%ecx - leal 1518500249(%ebp,%ebx,1),%ebp - addl %ecx,%ebp - - movl %edi,%ebx - movl %ebp,%ecx - roll $5,%ebp - xorl %esi,%ebx - addl %eax,%ebp - movl 16(%esp),%eax - andl %edx,%ebx - rorl $2,%edx - xorl %esi,%ebx - leal 1518500249(%ebp,%eax,1),%ebp - addl %ebx,%ebp - - movl %edx,%eax - movl %ebp,%ebx - roll $5,%ebp - xorl %edi,%eax - addl %esi,%ebp - movl 20(%esp),%esi - andl %ecx,%eax - rorl $2,%ecx - xorl %edi,%eax - leal 1518500249(%ebp,%esi,1),%ebp - addl %eax,%ebp - - movl %ecx,%esi - movl %ebp,%eax - roll $5,%ebp - xorl %edx,%esi - addl %edi,%ebp - movl 24(%esp),%edi - andl %ebx,%esi - rorl $2,%ebx - xorl %edx,%esi - leal 1518500249(%ebp,%edi,1),%ebp - addl %esi,%ebp - - movl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - xorl %ecx,%edi - addl %edx,%ebp - movl 28(%esp),%edx - andl %eax,%edi - rorl $2,%eax - xorl %ecx,%edi - leal 1518500249(%ebp,%edx,1),%ebp - addl %edi,%ebp - - movl %eax,%edx - movl %ebp,%edi - roll $5,%ebp - xorl %ebx,%edx - addl %ecx,%ebp - movl 32(%esp),%ecx - andl %esi,%edx - rorl $2,%esi - xorl %ebx,%edx - leal 1518500249(%ebp,%ecx,1),%ebp - addl %edx,%ebp - - movl %esi,%ecx - movl %ebp,%edx - roll $5,%ebp - xorl %eax,%ecx - addl %ebx,%ebp - movl 36(%esp),%ebx - andl %edi,%ecx - rorl $2,%edi - xorl %eax,%ecx - leal 1518500249(%ebp,%ebx,1),%ebp - addl %ecx,%ebp - - movl %edi,%ebx - movl %ebp,%ecx - roll $5,%ebp - xorl %esi,%ebx - addl %eax,%ebp - movl 40(%esp),%eax - andl %edx,%ebx - rorl $2,%edx - xorl %esi,%ebx - leal 1518500249(%ebp,%eax,1),%ebp - addl %ebx,%ebp - - movl %edx,%eax - movl %ebp,%ebx - roll $5,%ebp - xorl %edi,%eax - addl %esi,%ebp - movl 44(%esp),%esi - andl %ecx,%eax - rorl $2,%ecx - xorl %edi,%eax - leal 1518500249(%ebp,%esi,1),%ebp - addl %eax,%ebp - - movl %ecx,%esi - movl %ebp,%eax - roll $5,%ebp - xorl %edx,%esi - addl %edi,%ebp - movl 48(%esp),%edi - andl %ebx,%esi - rorl $2,%ebx - xorl %edx,%esi - leal 1518500249(%ebp,%edi,1),%ebp - addl %esi,%ebp - - movl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - xorl %ecx,%edi - addl %edx,%ebp - movl 52(%esp),%edx - andl %eax,%edi - rorl $2,%eax - xorl %ecx,%edi - leal 1518500249(%ebp,%edx,1),%ebp - addl %edi,%ebp - - movl %eax,%edx - movl %ebp,%edi - roll $5,%ebp - xorl %ebx,%edx - addl %ecx,%ebp - movl 56(%esp),%ecx - andl %esi,%edx - rorl $2,%esi - xorl %ebx,%edx - leal 1518500249(%ebp,%ecx,1),%ebp - addl %edx,%ebp - - movl %esi,%ecx - movl %ebp,%edx - roll $5,%ebp - xorl %eax,%ecx - addl %ebx,%ebp - movl 60(%esp),%ebx - andl %edi,%ecx - rorl $2,%edi - xorl %eax,%ecx - leal 1518500249(%ebp,%ebx,1),%ebp - movl (%esp),%ebx - addl %ebp,%ecx - - movl %edi,%ebp - xorl 8(%esp),%ebx - xorl %esi,%ebp - xorl 32(%esp),%ebx - andl %edx,%ebp - xorl 52(%esp),%ebx - roll $1,%ebx - xorl %esi,%ebp - addl %ebp,%eax - movl %ecx,%ebp - rorl $2,%edx - movl %ebx,(%esp) - roll $5,%ebp - leal 1518500249(%ebx,%eax,1),%ebx - movl 4(%esp),%eax - addl %ebp,%ebx - - movl %edx,%ebp - xorl 12(%esp),%eax - xorl %edi,%ebp - xorl 36(%esp),%eax - andl %ecx,%ebp - xorl 56(%esp),%eax - roll $1,%eax - xorl %edi,%ebp - addl %ebp,%esi - movl %ebx,%ebp - rorl $2,%ecx - movl %eax,4(%esp) - roll $5,%ebp - leal 1518500249(%eax,%esi,1),%eax - movl 8(%esp),%esi - addl %ebp,%eax - - movl %ecx,%ebp - xorl 16(%esp),%esi - xorl %edx,%ebp - xorl 40(%esp),%esi - andl %ebx,%ebp - xorl 60(%esp),%esi - roll $1,%esi - xorl %edx,%ebp - addl %ebp,%edi - movl %eax,%ebp - rorl $2,%ebx - movl %esi,8(%esp) - roll $5,%ebp - leal 1518500249(%esi,%edi,1),%esi - movl 12(%esp),%edi - addl %ebp,%esi - - movl %ebx,%ebp - xorl 20(%esp),%edi - xorl %ecx,%ebp - xorl 44(%esp),%edi - andl %eax,%ebp - xorl (%esp),%edi - roll $1,%edi - xorl %ecx,%ebp - addl %ebp,%edx - movl %esi,%ebp - rorl $2,%eax - movl %edi,12(%esp) - roll $5,%ebp - leal 1518500249(%edi,%edx,1),%edi - movl 16(%esp),%edx - addl %ebp,%edi - - movl %esi,%ebp - xorl 24(%esp),%edx - xorl %eax,%ebp - xorl 48(%esp),%edx - xorl %ebx,%ebp - xorl 4(%esp),%edx - roll $1,%edx - addl %ebp,%ecx - rorl $2,%esi - movl %edi,%ebp - roll $5,%ebp - movl %edx,16(%esp) - leal 1859775393(%edx,%ecx,1),%edx - movl 20(%esp),%ecx - addl %ebp,%edx - - movl %edi,%ebp - xorl 28(%esp),%ecx - xorl %esi,%ebp - xorl 52(%esp),%ecx - xorl %eax,%ebp - xorl 8(%esp),%ecx - roll $1,%ecx - addl %ebp,%ebx - rorl $2,%edi - movl %edx,%ebp - roll $5,%ebp - movl %ecx,20(%esp) - leal 1859775393(%ecx,%ebx,1),%ecx - movl 24(%esp),%ebx - addl %ebp,%ecx - - movl %edx,%ebp - xorl 32(%esp),%ebx - xorl %edi,%ebp - xorl 56(%esp),%ebx - xorl %esi,%ebp - xorl 12(%esp),%ebx - roll $1,%ebx - addl %ebp,%eax - rorl $2,%edx - movl %ecx,%ebp - roll $5,%ebp - movl %ebx,24(%esp) - leal 1859775393(%ebx,%eax,1),%ebx - movl 28(%esp),%eax - addl %ebp,%ebx - - movl %ecx,%ebp - xorl 36(%esp),%eax - xorl %edx,%ebp - xorl 60(%esp),%eax - xorl %edi,%ebp - xorl 16(%esp),%eax - roll $1,%eax - addl %ebp,%esi - rorl $2,%ecx - movl %ebx,%ebp - roll $5,%ebp - movl %eax,28(%esp) - leal 1859775393(%eax,%esi,1),%eax - movl 32(%esp),%esi - addl %ebp,%eax - - movl %ebx,%ebp - xorl 40(%esp),%esi - xorl %ecx,%ebp - xorl (%esp),%esi - xorl %edx,%ebp - xorl 20(%esp),%esi - roll $1,%esi - addl %ebp,%edi - rorl $2,%ebx - movl %eax,%ebp - roll $5,%ebp - movl %esi,32(%esp) - leal 1859775393(%esi,%edi,1),%esi - movl 36(%esp),%edi - addl %ebp,%esi - - movl %eax,%ebp - xorl 44(%esp),%edi - xorl %ebx,%ebp - xorl 4(%esp),%edi - xorl %ecx,%ebp - xorl 24(%esp),%edi - roll $1,%edi - addl %ebp,%edx - rorl $2,%eax - movl %esi,%ebp - roll $5,%ebp - movl %edi,36(%esp) - leal 1859775393(%edi,%edx,1),%edi - movl 40(%esp),%edx - addl %ebp,%edi - - movl %esi,%ebp - xorl 48(%esp),%edx - xorl %eax,%ebp - xorl 8(%esp),%edx - xorl %ebx,%ebp - xorl 28(%esp),%edx - roll $1,%edx - addl %ebp,%ecx - rorl $2,%esi - movl %edi,%ebp - roll $5,%ebp - movl %edx,40(%esp) - leal 1859775393(%edx,%ecx,1),%edx - movl 44(%esp),%ecx - addl %ebp,%edx - - movl %edi,%ebp - xorl 52(%esp),%ecx - xorl %esi,%ebp - xorl 12(%esp),%ecx - xorl %eax,%ebp - xorl 32(%esp),%ecx - roll $1,%ecx - addl %ebp,%ebx - rorl $2,%edi - movl %edx,%ebp - roll $5,%ebp - movl %ecx,44(%esp) - leal 1859775393(%ecx,%ebx,1),%ecx - movl 48(%esp),%ebx - addl %ebp,%ecx - - movl %edx,%ebp - xorl 56(%esp),%ebx - xorl %edi,%ebp - xorl 16(%esp),%ebx - xorl %esi,%ebp - xorl 36(%esp),%ebx - roll $1,%ebx - addl %ebp,%eax - rorl $2,%edx - movl %ecx,%ebp - roll $5,%ebp - movl %ebx,48(%esp) - leal 1859775393(%ebx,%eax,1),%ebx - movl 52(%esp),%eax - addl %ebp,%ebx - - movl %ecx,%ebp - xorl 60(%esp),%eax - xorl %edx,%ebp - xorl 20(%esp),%eax - xorl %edi,%ebp - xorl 40(%esp),%eax - roll $1,%eax - addl %ebp,%esi - rorl $2,%ecx - movl %ebx,%ebp - roll $5,%ebp - movl %eax,52(%esp) - leal 1859775393(%eax,%esi,1),%eax - movl 56(%esp),%esi - addl %ebp,%eax - - movl %ebx,%ebp - xorl (%esp),%esi - xorl %ecx,%ebp - xorl 24(%esp),%esi - xorl %edx,%ebp - xorl 44(%esp),%esi - roll $1,%esi - addl %ebp,%edi - rorl $2,%ebx - movl %eax,%ebp - roll $5,%ebp - movl %esi,56(%esp) - leal 1859775393(%esi,%edi,1),%esi - movl 60(%esp),%edi - addl %ebp,%esi - - movl %eax,%ebp - xorl 4(%esp),%edi - xorl %ebx,%ebp - xorl 28(%esp),%edi - xorl %ecx,%ebp - xorl 48(%esp),%edi - roll $1,%edi - addl %ebp,%edx - rorl $2,%eax - movl %esi,%ebp - roll $5,%ebp - movl %edi,60(%esp) - leal 1859775393(%edi,%edx,1),%edi - movl (%esp),%edx - addl %ebp,%edi - - movl %esi,%ebp - xorl 8(%esp),%edx - xorl %eax,%ebp - xorl 32(%esp),%edx - xorl %ebx,%ebp - xorl 52(%esp),%edx - roll $1,%edx - addl %ebp,%ecx - rorl $2,%esi - movl %edi,%ebp - roll $5,%ebp - movl %edx,(%esp) - leal 1859775393(%edx,%ecx,1),%edx - movl 4(%esp),%ecx - addl %ebp,%edx - - movl %edi,%ebp - xorl 12(%esp),%ecx - xorl %esi,%ebp - xorl 36(%esp),%ecx - xorl %eax,%ebp - xorl 56(%esp),%ecx - roll $1,%ecx - addl %ebp,%ebx - rorl $2,%edi - movl %edx,%ebp - roll $5,%ebp - movl %ecx,4(%esp) - leal 1859775393(%ecx,%ebx,1),%ecx - movl 8(%esp),%ebx - addl %ebp,%ecx - - movl %edx,%ebp - xorl 16(%esp),%ebx - xorl %edi,%ebp - xorl 40(%esp),%ebx - xorl %esi,%ebp - xorl 60(%esp),%ebx - roll $1,%ebx - addl %ebp,%eax - rorl $2,%edx - movl %ecx,%ebp - roll $5,%ebp - movl %ebx,8(%esp) - leal 1859775393(%ebx,%eax,1),%ebx - movl 12(%esp),%eax - addl %ebp,%ebx - - movl %ecx,%ebp - xorl 20(%esp),%eax - xorl %edx,%ebp - xorl 44(%esp),%eax - xorl %edi,%ebp - xorl (%esp),%eax - roll $1,%eax - addl %ebp,%esi - rorl $2,%ecx - movl %ebx,%ebp - roll $5,%ebp - movl %eax,12(%esp) - leal 1859775393(%eax,%esi,1),%eax - movl 16(%esp),%esi - addl %ebp,%eax - - movl %ebx,%ebp - xorl 24(%esp),%esi - xorl %ecx,%ebp - xorl 48(%esp),%esi - xorl %edx,%ebp - xorl 4(%esp),%esi - roll $1,%esi - addl %ebp,%edi - rorl $2,%ebx - movl %eax,%ebp - roll $5,%ebp - movl %esi,16(%esp) - leal 1859775393(%esi,%edi,1),%esi - movl 20(%esp),%edi - addl %ebp,%esi - - movl %eax,%ebp - xorl 28(%esp),%edi - xorl %ebx,%ebp - xorl 52(%esp),%edi - xorl %ecx,%ebp - xorl 8(%esp),%edi - roll $1,%edi - addl %ebp,%edx - rorl $2,%eax - movl %esi,%ebp - roll $5,%ebp - movl %edi,20(%esp) - leal 1859775393(%edi,%edx,1),%edi - movl 24(%esp),%edx - addl %ebp,%edi - - movl %esi,%ebp - xorl 32(%esp),%edx - xorl %eax,%ebp - xorl 56(%esp),%edx - xorl %ebx,%ebp - xorl 12(%esp),%edx - roll $1,%edx - addl %ebp,%ecx - rorl $2,%esi - movl %edi,%ebp - roll $5,%ebp - movl %edx,24(%esp) - leal 1859775393(%edx,%ecx,1),%edx - movl 28(%esp),%ecx - addl %ebp,%edx - - movl %edi,%ebp - xorl 36(%esp),%ecx - xorl %esi,%ebp - xorl 60(%esp),%ecx - xorl %eax,%ebp - xorl 16(%esp),%ecx - roll $1,%ecx - addl %ebp,%ebx - rorl $2,%edi - movl %edx,%ebp - roll $5,%ebp - movl %ecx,28(%esp) - leal 1859775393(%ecx,%ebx,1),%ecx - movl 32(%esp),%ebx - addl %ebp,%ecx - - movl %edi,%ebp - xorl 40(%esp),%ebx - xorl %esi,%ebp - xorl (%esp),%ebx - andl %edx,%ebp - xorl 20(%esp),%ebx - roll $1,%ebx - addl %eax,%ebp - rorl $2,%edx - movl %ecx,%eax - roll $5,%eax - movl %ebx,32(%esp) - leal 2400959708(%ebx,%ebp,1),%ebx - movl %edi,%ebp - addl %eax,%ebx - andl %esi,%ebp - movl 36(%esp),%eax - addl %ebp,%ebx - - movl %edx,%ebp - xorl 44(%esp),%eax - xorl %edi,%ebp - xorl 4(%esp),%eax - andl %ecx,%ebp - xorl 24(%esp),%eax - roll $1,%eax - addl %esi,%ebp - rorl $2,%ecx - movl %ebx,%esi - roll $5,%esi - movl %eax,36(%esp) - leal 2400959708(%eax,%ebp,1),%eax - movl %edx,%ebp - addl %esi,%eax - andl %edi,%ebp - movl 40(%esp),%esi - addl %ebp,%eax - - movl %ecx,%ebp - xorl 48(%esp),%esi - xorl %edx,%ebp - xorl 8(%esp),%esi - andl %ebx,%ebp - xorl 28(%esp),%esi - roll $1,%esi - addl %edi,%ebp - rorl $2,%ebx - movl %eax,%edi - roll $5,%edi - movl %esi,40(%esp) - leal 2400959708(%esi,%ebp,1),%esi - movl %ecx,%ebp - addl %edi,%esi - andl %edx,%ebp - movl 44(%esp),%edi - addl %ebp,%esi - - movl %ebx,%ebp - xorl 52(%esp),%edi - xorl %ecx,%ebp - xorl 12(%esp),%edi - andl %eax,%ebp - xorl 32(%esp),%edi - roll $1,%edi - addl %edx,%ebp - rorl $2,%eax - movl %esi,%edx - roll $5,%edx - movl %edi,44(%esp) - leal 2400959708(%edi,%ebp,1),%edi - movl %ebx,%ebp - addl %edx,%edi - andl %ecx,%ebp - movl 48(%esp),%edx - addl %ebp,%edi - - movl %eax,%ebp - xorl 56(%esp),%edx - xorl %ebx,%ebp - xorl 16(%esp),%edx - andl %esi,%ebp - xorl 36(%esp),%edx - roll $1,%edx - addl %ecx,%ebp - rorl $2,%esi - movl %edi,%ecx - roll $5,%ecx - movl %edx,48(%esp) - leal 2400959708(%edx,%ebp,1),%edx - movl %eax,%ebp - addl %ecx,%edx - andl %ebx,%ebp - movl 52(%esp),%ecx - addl %ebp,%edx - - movl %esi,%ebp - xorl 60(%esp),%ecx - xorl %eax,%ebp - xorl 20(%esp),%ecx - andl %edi,%ebp - xorl 40(%esp),%ecx - roll $1,%ecx - addl %ebx,%ebp - rorl $2,%edi - movl %edx,%ebx - roll $5,%ebx - movl %ecx,52(%esp) - leal 2400959708(%ecx,%ebp,1),%ecx - movl %esi,%ebp - addl %ebx,%ecx - andl %eax,%ebp - movl 56(%esp),%ebx - addl %ebp,%ecx - - movl %edi,%ebp - xorl (%esp),%ebx - xorl %esi,%ebp - xorl 24(%esp),%ebx - andl %edx,%ebp - xorl 44(%esp),%ebx - roll $1,%ebx - addl %eax,%ebp - rorl $2,%edx - movl %ecx,%eax - roll $5,%eax - movl %ebx,56(%esp) - leal 2400959708(%ebx,%ebp,1),%ebx - movl %edi,%ebp - addl %eax,%ebx - andl %esi,%ebp - movl 60(%esp),%eax - addl %ebp,%ebx - - movl %edx,%ebp - xorl 4(%esp),%eax - xorl %edi,%ebp - xorl 28(%esp),%eax - andl %ecx,%ebp - xorl 48(%esp),%eax - roll $1,%eax - addl %esi,%ebp - rorl $2,%ecx - movl %ebx,%esi - roll $5,%esi - movl %eax,60(%esp) - leal 2400959708(%eax,%ebp,1),%eax - movl %edx,%ebp - addl %esi,%eax - andl %edi,%ebp - movl (%esp),%esi - addl %ebp,%eax - - movl %ecx,%ebp - xorl 8(%esp),%esi - xorl %edx,%ebp - xorl 32(%esp),%esi - andl %ebx,%ebp - xorl 52(%esp),%esi - roll $1,%esi - addl %edi,%ebp - rorl $2,%ebx - movl %eax,%edi - roll $5,%edi - movl %esi,(%esp) - leal 2400959708(%esi,%ebp,1),%esi - movl %ecx,%ebp - addl %edi,%esi - andl %edx,%ebp - movl 4(%esp),%edi - addl %ebp,%esi - - movl %ebx,%ebp - xorl 12(%esp),%edi - xorl %ecx,%ebp - xorl 36(%esp),%edi - andl %eax,%ebp - xorl 56(%esp),%edi - roll $1,%edi - addl %edx,%ebp - rorl $2,%eax - movl %esi,%edx - roll $5,%edx - movl %edi,4(%esp) - leal 2400959708(%edi,%ebp,1),%edi - movl %ebx,%ebp - addl %edx,%edi - andl %ecx,%ebp - movl 8(%esp),%edx - addl %ebp,%edi - - movl %eax,%ebp - xorl 16(%esp),%edx - xorl %ebx,%ebp - xorl 40(%esp),%edx - andl %esi,%ebp - xorl 60(%esp),%edx - roll $1,%edx - addl %ecx,%ebp - rorl $2,%esi - movl %edi,%ecx - roll $5,%ecx - movl %edx,8(%esp) - leal 2400959708(%edx,%ebp,1),%edx - movl %eax,%ebp - addl %ecx,%edx - andl %ebx,%ebp - movl 12(%esp),%ecx - addl %ebp,%edx - - movl %esi,%ebp - xorl 20(%esp),%ecx - xorl %eax,%ebp - xorl 44(%esp),%ecx - andl %edi,%ebp - xorl (%esp),%ecx - roll $1,%ecx - addl %ebx,%ebp - rorl $2,%edi - movl %edx,%ebx - roll $5,%ebx - movl %ecx,12(%esp) - leal 2400959708(%ecx,%ebp,1),%ecx - movl %esi,%ebp - addl %ebx,%ecx - andl %eax,%ebp - movl 16(%esp),%ebx - addl %ebp,%ecx - - movl %edi,%ebp - xorl 24(%esp),%ebx - xorl %esi,%ebp - xorl 48(%esp),%ebx - andl %edx,%ebp - xorl 4(%esp),%ebx - roll $1,%ebx - addl %eax,%ebp - rorl $2,%edx - movl %ecx,%eax - roll $5,%eax - movl %ebx,16(%esp) - leal 2400959708(%ebx,%ebp,1),%ebx - movl %edi,%ebp - addl %eax,%ebx - andl %esi,%ebp - movl 20(%esp),%eax - addl %ebp,%ebx - - movl %edx,%ebp - xorl 28(%esp),%eax - xorl %edi,%ebp - xorl 52(%esp),%eax - andl %ecx,%ebp - xorl 8(%esp),%eax - roll $1,%eax - addl %esi,%ebp - rorl $2,%ecx - movl %ebx,%esi - roll $5,%esi - movl %eax,20(%esp) - leal 2400959708(%eax,%ebp,1),%eax - movl %edx,%ebp - addl %esi,%eax - andl %edi,%ebp - movl 24(%esp),%esi - addl %ebp,%eax - - movl %ecx,%ebp - xorl 32(%esp),%esi - xorl %edx,%ebp - xorl 56(%esp),%esi - andl %ebx,%ebp - xorl 12(%esp),%esi - roll $1,%esi - addl %edi,%ebp - rorl $2,%ebx - movl %eax,%edi - roll $5,%edi - movl %esi,24(%esp) - leal 2400959708(%esi,%ebp,1),%esi - movl %ecx,%ebp - addl %edi,%esi - andl %edx,%ebp - movl 28(%esp),%edi - addl %ebp,%esi - - movl %ebx,%ebp - xorl 36(%esp),%edi - xorl %ecx,%ebp - xorl 60(%esp),%edi - andl %eax,%ebp - xorl 16(%esp),%edi - roll $1,%edi - addl %edx,%ebp - rorl $2,%eax - movl %esi,%edx - roll $5,%edx - movl %edi,28(%esp) - leal 2400959708(%edi,%ebp,1),%edi - movl %ebx,%ebp - addl %edx,%edi - andl %ecx,%ebp - movl 32(%esp),%edx - addl %ebp,%edi - - movl %eax,%ebp - xorl 40(%esp),%edx - xorl %ebx,%ebp - xorl (%esp),%edx - andl %esi,%ebp - xorl 20(%esp),%edx - roll $1,%edx - addl %ecx,%ebp - rorl $2,%esi - movl %edi,%ecx - roll $5,%ecx - movl %edx,32(%esp) - leal 2400959708(%edx,%ebp,1),%edx - movl %eax,%ebp - addl %ecx,%edx - andl %ebx,%ebp - movl 36(%esp),%ecx - addl %ebp,%edx - - movl %esi,%ebp - xorl 44(%esp),%ecx - xorl %eax,%ebp - xorl 4(%esp),%ecx - andl %edi,%ebp - xorl 24(%esp),%ecx - roll $1,%ecx - addl %ebx,%ebp - rorl $2,%edi - movl %edx,%ebx - roll $5,%ebx - movl %ecx,36(%esp) - leal 2400959708(%ecx,%ebp,1),%ecx - movl %esi,%ebp - addl %ebx,%ecx - andl %eax,%ebp - movl 40(%esp),%ebx - addl %ebp,%ecx - - movl %edi,%ebp - xorl 48(%esp),%ebx - xorl %esi,%ebp - xorl 8(%esp),%ebx - andl %edx,%ebp - xorl 28(%esp),%ebx - roll $1,%ebx - addl %eax,%ebp - rorl $2,%edx - movl %ecx,%eax - roll $5,%eax - movl %ebx,40(%esp) - leal 2400959708(%ebx,%ebp,1),%ebx - movl %edi,%ebp - addl %eax,%ebx - andl %esi,%ebp - movl 44(%esp),%eax - addl %ebp,%ebx - - movl %edx,%ebp - xorl 52(%esp),%eax - xorl %edi,%ebp - xorl 12(%esp),%eax - andl %ecx,%ebp - xorl 32(%esp),%eax - roll $1,%eax - addl %esi,%ebp - rorl $2,%ecx - movl %ebx,%esi - roll $5,%esi - movl %eax,44(%esp) - leal 2400959708(%eax,%ebp,1),%eax - movl %edx,%ebp - addl %esi,%eax - andl %edi,%ebp - movl 48(%esp),%esi - addl %ebp,%eax - - movl %ebx,%ebp - xorl 56(%esp),%esi - xorl %ecx,%ebp - xorl 16(%esp),%esi - xorl %edx,%ebp - xorl 36(%esp),%esi - roll $1,%esi - addl %ebp,%edi - rorl $2,%ebx - movl %eax,%ebp - roll $5,%ebp - movl %esi,48(%esp) - leal 3395469782(%esi,%edi,1),%esi - movl 52(%esp),%edi - addl %ebp,%esi - - movl %eax,%ebp - xorl 60(%esp),%edi - xorl %ebx,%ebp - xorl 20(%esp),%edi - xorl %ecx,%ebp - xorl 40(%esp),%edi - roll $1,%edi - addl %ebp,%edx - rorl $2,%eax - movl %esi,%ebp - roll $5,%ebp - movl %edi,52(%esp) - leal 3395469782(%edi,%edx,1),%edi - movl 56(%esp),%edx - addl %ebp,%edi - - movl %esi,%ebp - xorl (%esp),%edx - xorl %eax,%ebp - xorl 24(%esp),%edx - xorl %ebx,%ebp - xorl 44(%esp),%edx - roll $1,%edx - addl %ebp,%ecx - rorl $2,%esi - movl %edi,%ebp - roll $5,%ebp - movl %edx,56(%esp) - leal 3395469782(%edx,%ecx,1),%edx - movl 60(%esp),%ecx - addl %ebp,%edx - - movl %edi,%ebp - xorl 4(%esp),%ecx - xorl %esi,%ebp - xorl 28(%esp),%ecx - xorl %eax,%ebp - xorl 48(%esp),%ecx - roll $1,%ecx - addl %ebp,%ebx - rorl $2,%edi - movl %edx,%ebp - roll $5,%ebp - movl %ecx,60(%esp) - leal 3395469782(%ecx,%ebx,1),%ecx - movl (%esp),%ebx - addl %ebp,%ecx - - movl %edx,%ebp - xorl 8(%esp),%ebx - xorl %edi,%ebp - xorl 32(%esp),%ebx - xorl %esi,%ebp - xorl 52(%esp),%ebx - roll $1,%ebx - addl %ebp,%eax - rorl $2,%edx - movl %ecx,%ebp - roll $5,%ebp - movl %ebx,(%esp) - leal 3395469782(%ebx,%eax,1),%ebx - movl 4(%esp),%eax - addl %ebp,%ebx - - movl %ecx,%ebp - xorl 12(%esp),%eax - xorl %edx,%ebp - xorl 36(%esp),%eax - xorl %edi,%ebp - xorl 56(%esp),%eax - roll $1,%eax - addl %ebp,%esi - rorl $2,%ecx - movl %ebx,%ebp - roll $5,%ebp - movl %eax,4(%esp) - leal 3395469782(%eax,%esi,1),%eax - movl 8(%esp),%esi - addl %ebp,%eax - - movl %ebx,%ebp - xorl 16(%esp),%esi - xorl %ecx,%ebp - xorl 40(%esp),%esi - xorl %edx,%ebp - xorl 60(%esp),%esi - roll $1,%esi - addl %ebp,%edi - rorl $2,%ebx - movl %eax,%ebp - roll $5,%ebp - movl %esi,8(%esp) - leal 3395469782(%esi,%edi,1),%esi - movl 12(%esp),%edi - addl %ebp,%esi - - movl %eax,%ebp - xorl 20(%esp),%edi - xorl %ebx,%ebp - xorl 44(%esp),%edi - xorl %ecx,%ebp - xorl (%esp),%edi - roll $1,%edi - addl %ebp,%edx - rorl $2,%eax - movl %esi,%ebp - roll $5,%ebp - movl %edi,12(%esp) - leal 3395469782(%edi,%edx,1),%edi - movl 16(%esp),%edx - addl %ebp,%edi - - movl %esi,%ebp - xorl 24(%esp),%edx - xorl %eax,%ebp - xorl 48(%esp),%edx - xorl %ebx,%ebp - xorl 4(%esp),%edx - roll $1,%edx - addl %ebp,%ecx - rorl $2,%esi - movl %edi,%ebp - roll $5,%ebp - movl %edx,16(%esp) - leal 3395469782(%edx,%ecx,1),%edx - movl 20(%esp),%ecx - addl %ebp,%edx - - movl %edi,%ebp - xorl 28(%esp),%ecx - xorl %esi,%ebp - xorl 52(%esp),%ecx - xorl %eax,%ebp - xorl 8(%esp),%ecx - roll $1,%ecx - addl %ebp,%ebx - rorl $2,%edi - movl %edx,%ebp - roll $5,%ebp - movl %ecx,20(%esp) - leal 3395469782(%ecx,%ebx,1),%ecx - movl 24(%esp),%ebx - addl %ebp,%ecx - - movl %edx,%ebp - xorl 32(%esp),%ebx - xorl %edi,%ebp - xorl 56(%esp),%ebx - xorl %esi,%ebp - xorl 12(%esp),%ebx - roll $1,%ebx - addl %ebp,%eax - rorl $2,%edx - movl %ecx,%ebp - roll $5,%ebp - movl %ebx,24(%esp) - leal 3395469782(%ebx,%eax,1),%ebx - movl 28(%esp),%eax - addl %ebp,%ebx - - movl %ecx,%ebp - xorl 36(%esp),%eax - xorl %edx,%ebp - xorl 60(%esp),%eax - xorl %edi,%ebp - xorl 16(%esp),%eax - roll $1,%eax - addl %ebp,%esi - rorl $2,%ecx - movl %ebx,%ebp - roll $5,%ebp - movl %eax,28(%esp) - leal 3395469782(%eax,%esi,1),%eax - movl 32(%esp),%esi - addl %ebp,%eax - - movl %ebx,%ebp - xorl 40(%esp),%esi - xorl %ecx,%ebp - xorl (%esp),%esi - xorl %edx,%ebp - xorl 20(%esp),%esi - roll $1,%esi - addl %ebp,%edi - rorl $2,%ebx - movl %eax,%ebp - roll $5,%ebp - movl %esi,32(%esp) - leal 3395469782(%esi,%edi,1),%esi - movl 36(%esp),%edi - addl %ebp,%esi - - movl %eax,%ebp - xorl 44(%esp),%edi - xorl %ebx,%ebp - xorl 4(%esp),%edi - xorl %ecx,%ebp - xorl 24(%esp),%edi - roll $1,%edi - addl %ebp,%edx - rorl $2,%eax - movl %esi,%ebp - roll $5,%ebp - movl %edi,36(%esp) - leal 3395469782(%edi,%edx,1),%edi - movl 40(%esp),%edx - addl %ebp,%edi - - movl %esi,%ebp - xorl 48(%esp),%edx - xorl %eax,%ebp - xorl 8(%esp),%edx - xorl %ebx,%ebp - xorl 28(%esp),%edx - roll $1,%edx - addl %ebp,%ecx - rorl $2,%esi - movl %edi,%ebp - roll $5,%ebp - movl %edx,40(%esp) - leal 3395469782(%edx,%ecx,1),%edx - movl 44(%esp),%ecx - addl %ebp,%edx - - movl %edi,%ebp - xorl 52(%esp),%ecx - xorl %esi,%ebp - xorl 12(%esp),%ecx - xorl %eax,%ebp - xorl 32(%esp),%ecx - roll $1,%ecx - addl %ebp,%ebx - rorl $2,%edi - movl %edx,%ebp - roll $5,%ebp - movl %ecx,44(%esp) - leal 3395469782(%ecx,%ebx,1),%ecx - movl 48(%esp),%ebx - addl %ebp,%ecx - - movl %edx,%ebp - xorl 56(%esp),%ebx - xorl %edi,%ebp - xorl 16(%esp),%ebx - xorl %esi,%ebp - xorl 36(%esp),%ebx - roll $1,%ebx - addl %ebp,%eax - rorl $2,%edx - movl %ecx,%ebp - roll $5,%ebp - movl %ebx,48(%esp) - leal 3395469782(%ebx,%eax,1),%ebx - movl 52(%esp),%eax - addl %ebp,%ebx - - movl %ecx,%ebp - xorl 60(%esp),%eax - xorl %edx,%ebp - xorl 20(%esp),%eax - xorl %edi,%ebp - xorl 40(%esp),%eax - roll $1,%eax - addl %ebp,%esi - rorl $2,%ecx - movl %ebx,%ebp - roll $5,%ebp - leal 3395469782(%eax,%esi,1),%eax - movl 56(%esp),%esi - addl %ebp,%eax - - movl %ebx,%ebp - xorl (%esp),%esi - xorl %ecx,%ebp - xorl 24(%esp),%esi - xorl %edx,%ebp - xorl 44(%esp),%esi - roll $1,%esi - addl %ebp,%edi - rorl $2,%ebx - movl %eax,%ebp - roll $5,%ebp - leal 3395469782(%esi,%edi,1),%esi - movl 60(%esp),%edi - addl %ebp,%esi - - movl %eax,%ebp - xorl 4(%esp),%edi - xorl %ebx,%ebp - xorl 28(%esp),%edi - xorl %ecx,%ebp - xorl 48(%esp),%edi - roll $1,%edi - addl %ebp,%edx - rorl $2,%eax - movl %esi,%ebp - roll $5,%ebp - leal 3395469782(%edi,%edx,1),%edi - addl %ebp,%edi - movl 96(%esp),%ebp - movl 100(%esp),%edx - addl (%ebp),%edi - addl 4(%ebp),%esi - addl 8(%ebp),%eax - addl 12(%ebp),%ebx - addl 16(%ebp),%ecx - movl %edi,(%ebp) - addl $64,%edx - movl %esi,4(%ebp) - cmpl 104(%esp),%edx - movl %eax,8(%ebp) - movl %ecx,%edi - movl %ebx,12(%ebp) - movl %edx,%esi - movl %ecx,16(%ebp) - jb .L000loop - addl $76,%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size sha1_block_data_order,.-.L_sha1_block_data_order_begin -.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115 -.byte 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82 -.byte 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112 -.byte 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha256-586.S b/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha256-586.S deleted file mode 100644 index 260dde7ad7f8..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha256-586.S +++ /dev/null @@ -1,3356 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/sha/asm/sha256-586.pl -# -# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text -.globl sha256_block_data_order -.type sha256_block_data_order,@function -.align 16 -sha256_block_data_order: -.L_sha256_block_data_order_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 24(%esp),%edi - movl 28(%esp),%eax - movl %esp,%ebx - call .L000pic_point -.L000pic_point: - popl %ebp - leal .L001K256-.L000pic_point(%ebp),%ebp - subl $16,%esp - andl $-64,%esp - shll $6,%eax - addl %edi,%eax - movl %esi,(%esp) - movl %edi,4(%esp) - movl %eax,8(%esp) - movl %ebx,12(%esp) - jmp .L002loop -.align 16 -.L002loop: - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - bswap %eax - movl 12(%edi),%edx - bswap %ebx - pushl %eax - bswap %ecx - pushl %ebx - bswap %edx - pushl %ecx - pushl %edx - movl 16(%edi),%eax - movl 20(%edi),%ebx - movl 24(%edi),%ecx - bswap %eax - movl 28(%edi),%edx - bswap %ebx - pushl %eax - bswap %ecx - pushl %ebx - bswap %edx - pushl %ecx - pushl %edx - movl 32(%edi),%eax - movl 36(%edi),%ebx - movl 40(%edi),%ecx - bswap %eax - movl 44(%edi),%edx - bswap %ebx - pushl %eax - bswap %ecx - pushl %ebx - bswap %edx - pushl %ecx - pushl %edx - movl 48(%edi),%eax - movl 52(%edi),%ebx - movl 56(%edi),%ecx - bswap %eax - movl 60(%edi),%edx - bswap %ebx - pushl %eax - bswap %ecx - pushl %ebx - bswap %edx - pushl %ecx - pushl %edx - addl $64,%edi - leal -36(%esp),%esp - movl %edi,104(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edi - movl %ebx,8(%esp) - xorl %ecx,%ebx - movl %ecx,12(%esp) - movl %edi,16(%esp) - movl %ebx,(%esp) - movl 16(%esi),%edx - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edi - movl %ebx,24(%esp) - movl %ecx,28(%esp) - movl %edi,32(%esp) -.align 16 -.L00300_15: - movl %edx,%ecx - movl 24(%esp),%esi - rorl $14,%ecx - movl 28(%esp),%edi - xorl %edx,%ecx - xorl %edi,%esi - movl 96(%esp),%ebx - rorl $5,%ecx - andl %edx,%esi - movl %edx,20(%esp) - xorl %ecx,%edx - addl 32(%esp),%ebx - xorl %edi,%esi - rorl $6,%edx - movl %eax,%ecx - addl %esi,%ebx - rorl $9,%ecx - addl %edx,%ebx - movl 8(%esp),%edi - xorl %eax,%ecx - movl %eax,4(%esp) - leal -4(%esp),%esp - rorl $11,%ecx - movl (%ebp),%esi - xorl %eax,%ecx - movl 20(%esp),%edx - xorl %edi,%eax - rorl $2,%ecx - addl %esi,%ebx - movl %eax,(%esp) - addl %ebx,%edx - andl 4(%esp),%eax - addl %ecx,%ebx - xorl %edi,%eax - addl $4,%ebp - addl %ebx,%eax - cmpl $3248222580,%esi - jne .L00300_15 - movl 156(%esp),%ecx - jmp .L00416_63 -.align 16 -.L00416_63: - movl %ecx,%ebx - movl 104(%esp),%esi - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 160(%esp),%ebx - shrl $10,%edi - addl 124(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 24(%esp),%esi - rorl $14,%ecx - addl %edi,%ebx - movl 28(%esp),%edi - xorl %edx,%ecx - xorl %edi,%esi - movl %ebx,96(%esp) - rorl $5,%ecx - andl %edx,%esi - movl %edx,20(%esp) - xorl %ecx,%edx - addl 32(%esp),%ebx - xorl %edi,%esi - rorl $6,%edx - movl %eax,%ecx - addl %esi,%ebx - rorl $9,%ecx - addl %edx,%ebx - movl 8(%esp),%edi - xorl %eax,%ecx - movl %eax,4(%esp) - leal -4(%esp),%esp - rorl $11,%ecx - movl (%ebp),%esi - xorl %eax,%ecx - movl 20(%esp),%edx - xorl %edi,%eax - rorl $2,%ecx - addl %esi,%ebx - movl %eax,(%esp) - addl %ebx,%edx - andl 4(%esp),%eax - addl %ecx,%ebx - xorl %edi,%eax - movl 156(%esp),%ecx - addl $4,%ebp - addl %ebx,%eax - cmpl $3329325298,%esi - jne .L00416_63 - movl 356(%esp),%esi - movl 8(%esp),%ebx - movl 16(%esp),%ecx - addl (%esi),%eax - addl 4(%esi),%ebx - addl 8(%esi),%edi - addl 12(%esi),%ecx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %edi,8(%esi) - movl %ecx,12(%esi) - movl 24(%esp),%eax - movl 28(%esp),%ebx - movl 32(%esp),%ecx - movl 360(%esp),%edi - addl 16(%esi),%edx - addl 20(%esi),%eax - addl 24(%esi),%ebx - addl 28(%esi),%ecx - movl %edx,16(%esi) - movl %eax,20(%esi) - movl %ebx,24(%esi) - movl %ecx,28(%esi) - leal 356(%esp),%esp - subl $256,%ebp - cmpl 8(%esp),%edi - jb .L002loop - movl 12(%esp),%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 32 -.L005loop_shrd: - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - bswap %eax - movl 12(%edi),%edx - bswap %ebx - pushl %eax - bswap %ecx - pushl %ebx - bswap %edx - pushl %ecx - pushl %edx - movl 16(%edi),%eax - movl 20(%edi),%ebx - movl 24(%edi),%ecx - bswap %eax - movl 28(%edi),%edx - bswap %ebx - pushl %eax - bswap %ecx - pushl %ebx - bswap %edx - pushl %ecx - pushl %edx - movl 32(%edi),%eax - movl 36(%edi),%ebx - movl 40(%edi),%ecx - bswap %eax - movl 44(%edi),%edx - bswap %ebx - pushl %eax - bswap %ecx - pushl %ebx - bswap %edx - pushl %ecx - pushl %edx - movl 48(%edi),%eax - movl 52(%edi),%ebx - movl 56(%edi),%ecx - bswap %eax - movl 60(%edi),%edx - bswap %ebx - pushl %eax - bswap %ecx - pushl %ebx - bswap %edx - pushl %ecx - pushl %edx - addl $64,%edi - leal -36(%esp),%esp - movl %edi,104(%esp) - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edi - movl %ebx,8(%esp) - xorl %ecx,%ebx - movl %ecx,12(%esp) - movl %edi,16(%esp) - movl %ebx,(%esp) - movl 16(%esi),%edx - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edi - movl %ebx,24(%esp) - movl %ecx,28(%esp) - movl %edi,32(%esp) -.align 16 -.L00600_15_shrd: - movl %edx,%ecx - movl 24(%esp),%esi - shrdl $14,%ecx,%ecx - movl 28(%esp),%edi - xorl %edx,%ecx - xorl %edi,%esi - movl 96(%esp),%ebx - shrdl $5,%ecx,%ecx - andl %edx,%esi - movl %edx,20(%esp) - xorl %ecx,%edx - addl 32(%esp),%ebx - xorl %edi,%esi - shrdl $6,%edx,%edx - movl %eax,%ecx - addl %esi,%ebx - shrdl $9,%ecx,%ecx - addl %edx,%ebx - movl 8(%esp),%edi - xorl %eax,%ecx - movl %eax,4(%esp) - leal -4(%esp),%esp - shrdl $11,%ecx,%ecx - movl (%ebp),%esi - xorl %eax,%ecx - movl 20(%esp),%edx - xorl %edi,%eax - shrdl $2,%ecx,%ecx - addl %esi,%ebx - movl %eax,(%esp) - addl %ebx,%edx - andl 4(%esp),%eax - addl %ecx,%ebx - xorl %edi,%eax - addl $4,%ebp - addl %ebx,%eax - cmpl $3248222580,%esi - jne .L00600_15_shrd - movl 156(%esp),%ecx - jmp .L00716_63_shrd -.align 16 -.L00716_63_shrd: - movl %ecx,%ebx - movl 104(%esp),%esi - shrdl $11,%ecx,%ecx - movl %esi,%edi - shrdl $2,%esi,%esi - xorl %ebx,%ecx - shrl $3,%ebx - shrdl $7,%ecx,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - shrdl $17,%esi,%esi - addl 160(%esp),%ebx - shrl $10,%edi - addl 124(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 24(%esp),%esi - shrdl $14,%ecx,%ecx - addl %edi,%ebx - movl 28(%esp),%edi - xorl %edx,%ecx - xorl %edi,%esi - movl %ebx,96(%esp) - shrdl $5,%ecx,%ecx - andl %edx,%esi - movl %edx,20(%esp) - xorl %ecx,%edx - addl 32(%esp),%ebx - xorl %edi,%esi - shrdl $6,%edx,%edx - movl %eax,%ecx - addl %esi,%ebx - shrdl $9,%ecx,%ecx - addl %edx,%ebx - movl 8(%esp),%edi - xorl %eax,%ecx - movl %eax,4(%esp) - leal -4(%esp),%esp - shrdl $11,%ecx,%ecx - movl (%ebp),%esi - xorl %eax,%ecx - movl 20(%esp),%edx - xorl %edi,%eax - shrdl $2,%ecx,%ecx - addl %esi,%ebx - movl %eax,(%esp) - addl %ebx,%edx - andl 4(%esp),%eax - addl %ecx,%ebx - xorl %edi,%eax - movl 156(%esp),%ecx - addl $4,%ebp - addl %ebx,%eax - cmpl $3329325298,%esi - jne .L00716_63_shrd - movl 356(%esp),%esi - movl 8(%esp),%ebx - movl 16(%esp),%ecx - addl (%esi),%eax - addl 4(%esi),%ebx - addl 8(%esi),%edi - addl 12(%esi),%ecx - movl %eax,(%esi) - movl %ebx,4(%esi) - movl %edi,8(%esi) - movl %ecx,12(%esi) - movl 24(%esp),%eax - movl 28(%esp),%ebx - movl 32(%esp),%ecx - movl 360(%esp),%edi - addl 16(%esi),%edx - addl 20(%esi),%eax - addl 24(%esi),%ebx - addl 28(%esi),%ecx - movl %edx,16(%esi) - movl %eax,20(%esi) - movl %ebx,24(%esi) - movl %ecx,28(%esi) - leal 356(%esp),%esp - subl $256,%ebp - cmpl 8(%esp),%edi - jb .L005loop_shrd - movl 12(%esp),%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 64 -.L001K256: -.long 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 -.long 66051,67438087,134810123,202182159 -.byte 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97 -.byte 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32 -.byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 -.byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 -.byte 62,0 -.align 16 -.L008unrolled: - leal -96(%esp),%esp - movl (%esi),%eax - movl 4(%esi),%ebp - movl 8(%esi),%ecx - movl 12(%esi),%ebx - movl %ebp,4(%esp) - xorl %ecx,%ebp - movl %ecx,8(%esp) - movl %ebx,12(%esp) - movl 16(%esi),%edx - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%esi - movl %ebx,20(%esp) - movl %ecx,24(%esp) - movl %esi,28(%esp) - jmp .L009grand_loop -.align 16 -.L009grand_loop: - movl (%edi),%ebx - movl 4(%edi),%ecx - bswap %ebx - movl 8(%edi),%esi - bswap %ecx - movl %ebx,32(%esp) - bswap %esi - movl %ecx,36(%esp) - movl %esi,40(%esp) - movl 12(%edi),%ebx - movl 16(%edi),%ecx - bswap %ebx - movl 20(%edi),%esi - bswap %ecx - movl %ebx,44(%esp) - bswap %esi - movl %ecx,48(%esp) - movl %esi,52(%esp) - movl 24(%edi),%ebx - movl 28(%edi),%ecx - bswap %ebx - movl 32(%edi),%esi - bswap %ecx - movl %ebx,56(%esp) - bswap %esi - movl %ecx,60(%esp) - movl %esi,64(%esp) - movl 36(%edi),%ebx - movl 40(%edi),%ecx - bswap %ebx - movl 44(%edi),%esi - bswap %ecx - movl %ebx,68(%esp) - bswap %esi - movl %ecx,72(%esp) - movl %esi,76(%esp) - movl 48(%edi),%ebx - movl 52(%edi),%ecx - bswap %ebx - movl 56(%edi),%esi - bswap %ecx - movl %ebx,80(%esp) - bswap %esi - movl %ecx,84(%esp) - movl %esi,88(%esp) - movl 60(%edi),%ebx - addl $64,%edi - bswap %ebx - movl %edi,100(%esp) - movl %ebx,92(%esp) - movl %edx,%ecx - movl 20(%esp),%esi - rorl $14,%edx - movl 24(%esp),%edi - xorl %ecx,%edx - movl 32(%esp),%ebx - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,16(%esp) - xorl %ecx,%edx - addl 28(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 4(%esp),%edi - xorl %eax,%ecx - movl %eax,(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 1116352408(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - rorl $2,%ecx - addl %edx,%ebp - addl 12(%esp),%edx - addl %ecx,%ebp - movl %edx,%esi - movl 16(%esp),%ecx - rorl $14,%edx - movl 20(%esp),%edi - xorl %esi,%edx - movl 36(%esp),%ebx - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,12(%esp) - xorl %esi,%edx - addl 24(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl (%esp),%edi - xorl %ebp,%esi - movl %ebp,28(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 1899447441(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - rorl $2,%esi - addl %edx,%eax - addl 8(%esp),%edx - addl %esi,%eax - movl %edx,%ecx - movl 12(%esp),%esi - rorl $14,%edx - movl 16(%esp),%edi - xorl %ecx,%edx - movl 40(%esp),%ebx - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,8(%esp) - xorl %ecx,%edx - addl 20(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 28(%esp),%edi - xorl %eax,%ecx - movl %eax,24(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 3049323471(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - rorl $2,%ecx - addl %edx,%ebp - addl 4(%esp),%edx - addl %ecx,%ebp - movl %edx,%esi - movl 8(%esp),%ecx - rorl $14,%edx - movl 12(%esp),%edi - xorl %esi,%edx - movl 44(%esp),%ebx - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,4(%esp) - xorl %esi,%edx - addl 16(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 24(%esp),%edi - xorl %ebp,%esi - movl %ebp,20(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 3921009573(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - rorl $2,%esi - addl %edx,%eax - addl (%esp),%edx - addl %esi,%eax - movl %edx,%ecx - movl 4(%esp),%esi - rorl $14,%edx - movl 8(%esp),%edi - xorl %ecx,%edx - movl 48(%esp),%ebx - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,(%esp) - xorl %ecx,%edx - addl 12(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 20(%esp),%edi - xorl %eax,%ecx - movl %eax,16(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 961987163(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - rorl $2,%ecx - addl %edx,%ebp - addl 28(%esp),%edx - addl %ecx,%ebp - movl %edx,%esi - movl (%esp),%ecx - rorl $14,%edx - movl 4(%esp),%edi - xorl %esi,%edx - movl 52(%esp),%ebx - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,28(%esp) - xorl %esi,%edx - addl 8(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 16(%esp),%edi - xorl %ebp,%esi - movl %ebp,12(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 1508970993(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - rorl $2,%esi - addl %edx,%eax - addl 24(%esp),%edx - addl %esi,%eax - movl %edx,%ecx - movl 28(%esp),%esi - rorl $14,%edx - movl (%esp),%edi - xorl %ecx,%edx - movl 56(%esp),%ebx - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,24(%esp) - xorl %ecx,%edx - addl 4(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 12(%esp),%edi - xorl %eax,%ecx - movl %eax,8(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 2453635748(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - rorl $2,%ecx - addl %edx,%ebp - addl 20(%esp),%edx - addl %ecx,%ebp - movl %edx,%esi - movl 24(%esp),%ecx - rorl $14,%edx - movl 28(%esp),%edi - xorl %esi,%edx - movl 60(%esp),%ebx - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,20(%esp) - xorl %esi,%edx - addl (%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 8(%esp),%edi - xorl %ebp,%esi - movl %ebp,4(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 2870763221(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - rorl $2,%esi - addl %edx,%eax - addl 16(%esp),%edx - addl %esi,%eax - movl %edx,%ecx - movl 20(%esp),%esi - rorl $14,%edx - movl 24(%esp),%edi - xorl %ecx,%edx - movl 64(%esp),%ebx - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,16(%esp) - xorl %ecx,%edx - addl 28(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 4(%esp),%edi - xorl %eax,%ecx - movl %eax,(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 3624381080(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - rorl $2,%ecx - addl %edx,%ebp - addl 12(%esp),%edx - addl %ecx,%ebp - movl %edx,%esi - movl 16(%esp),%ecx - rorl $14,%edx - movl 20(%esp),%edi - xorl %esi,%edx - movl 68(%esp),%ebx - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,12(%esp) - xorl %esi,%edx - addl 24(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl (%esp),%edi - xorl %ebp,%esi - movl %ebp,28(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 310598401(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - rorl $2,%esi - addl %edx,%eax - addl 8(%esp),%edx - addl %esi,%eax - movl %edx,%ecx - movl 12(%esp),%esi - rorl $14,%edx - movl 16(%esp),%edi - xorl %ecx,%edx - movl 72(%esp),%ebx - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,8(%esp) - xorl %ecx,%edx - addl 20(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 28(%esp),%edi - xorl %eax,%ecx - movl %eax,24(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 607225278(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - rorl $2,%ecx - addl %edx,%ebp - addl 4(%esp),%edx - addl %ecx,%ebp - movl %edx,%esi - movl 8(%esp),%ecx - rorl $14,%edx - movl 12(%esp),%edi - xorl %esi,%edx - movl 76(%esp),%ebx - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,4(%esp) - xorl %esi,%edx - addl 16(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 24(%esp),%edi - xorl %ebp,%esi - movl %ebp,20(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 1426881987(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - rorl $2,%esi - addl %edx,%eax - addl (%esp),%edx - addl %esi,%eax - movl %edx,%ecx - movl 4(%esp),%esi - rorl $14,%edx - movl 8(%esp),%edi - xorl %ecx,%edx - movl 80(%esp),%ebx - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,(%esp) - xorl %ecx,%edx - addl 12(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 20(%esp),%edi - xorl %eax,%ecx - movl %eax,16(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 1925078388(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - rorl $2,%ecx - addl %edx,%ebp - addl 28(%esp),%edx - addl %ecx,%ebp - movl %edx,%esi - movl (%esp),%ecx - rorl $14,%edx - movl 4(%esp),%edi - xorl %esi,%edx - movl 84(%esp),%ebx - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,28(%esp) - xorl %esi,%edx - addl 8(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 16(%esp),%edi - xorl %ebp,%esi - movl %ebp,12(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 2162078206(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - rorl $2,%esi - addl %edx,%eax - addl 24(%esp),%edx - addl %esi,%eax - movl %edx,%ecx - movl 28(%esp),%esi - rorl $14,%edx - movl (%esp),%edi - xorl %ecx,%edx - movl 88(%esp),%ebx - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,24(%esp) - xorl %ecx,%edx - addl 4(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 12(%esp),%edi - xorl %eax,%ecx - movl %eax,8(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 2614888103(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - rorl $2,%ecx - addl %edx,%ebp - addl 20(%esp),%edx - addl %ecx,%ebp - movl %edx,%esi - movl 24(%esp),%ecx - rorl $14,%edx - movl 28(%esp),%edi - xorl %esi,%edx - movl 92(%esp),%ebx - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,20(%esp) - xorl %esi,%edx - addl (%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 8(%esp),%edi - xorl %ebp,%esi - movl %ebp,4(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 3248222580(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 36(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 16(%esp),%edx - addl %esi,%eax - movl 88(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 32(%esp),%ebx - shrl $10,%edi - addl 68(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 20(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 24(%esp),%edi - xorl %ecx,%edx - movl %ebx,32(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,16(%esp) - xorl %ecx,%edx - addl 28(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 4(%esp),%edi - xorl %eax,%ecx - movl %eax,(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 3835390401(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 40(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 12(%esp),%edx - addl %ecx,%ebp - movl 92(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 36(%esp),%ebx - shrl $10,%edi - addl 72(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 16(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 20(%esp),%edi - xorl %esi,%edx - movl %ebx,36(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,12(%esp) - xorl %esi,%edx - addl 24(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl (%esp),%edi - xorl %ebp,%esi - movl %ebp,28(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 4022224774(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 44(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 8(%esp),%edx - addl %esi,%eax - movl 32(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 40(%esp),%ebx - shrl $10,%edi - addl 76(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 12(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 16(%esp),%edi - xorl %ecx,%edx - movl %ebx,40(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,8(%esp) - xorl %ecx,%edx - addl 20(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 28(%esp),%edi - xorl %eax,%ecx - movl %eax,24(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 264347078(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 48(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 4(%esp),%edx - addl %ecx,%ebp - movl 36(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 44(%esp),%ebx - shrl $10,%edi - addl 80(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 8(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 12(%esp),%edi - xorl %esi,%edx - movl %ebx,44(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,4(%esp) - xorl %esi,%edx - addl 16(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 24(%esp),%edi - xorl %ebp,%esi - movl %ebp,20(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 604807628(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 52(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl (%esp),%edx - addl %esi,%eax - movl 40(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 48(%esp),%ebx - shrl $10,%edi - addl 84(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 4(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 8(%esp),%edi - xorl %ecx,%edx - movl %ebx,48(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,(%esp) - xorl %ecx,%edx - addl 12(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 20(%esp),%edi - xorl %eax,%ecx - movl %eax,16(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 770255983(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 56(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 28(%esp),%edx - addl %ecx,%ebp - movl 44(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 52(%esp),%ebx - shrl $10,%edi - addl 88(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl (%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 4(%esp),%edi - xorl %esi,%edx - movl %ebx,52(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,28(%esp) - xorl %esi,%edx - addl 8(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 16(%esp),%edi - xorl %ebp,%esi - movl %ebp,12(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 1249150122(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 60(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 24(%esp),%edx - addl %esi,%eax - movl 48(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 56(%esp),%ebx - shrl $10,%edi - addl 92(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 28(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl (%esp),%edi - xorl %ecx,%edx - movl %ebx,56(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,24(%esp) - xorl %ecx,%edx - addl 4(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 12(%esp),%edi - xorl %eax,%ecx - movl %eax,8(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 1555081692(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 64(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 20(%esp),%edx - addl %ecx,%ebp - movl 52(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 60(%esp),%ebx - shrl $10,%edi - addl 32(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 24(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 28(%esp),%edi - xorl %esi,%edx - movl %ebx,60(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,20(%esp) - xorl %esi,%edx - addl (%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 8(%esp),%edi - xorl %ebp,%esi - movl %ebp,4(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 1996064986(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 68(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 16(%esp),%edx - addl %esi,%eax - movl 56(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 64(%esp),%ebx - shrl $10,%edi - addl 36(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 20(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 24(%esp),%edi - xorl %ecx,%edx - movl %ebx,64(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,16(%esp) - xorl %ecx,%edx - addl 28(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 4(%esp),%edi - xorl %eax,%ecx - movl %eax,(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 2554220882(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 72(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 12(%esp),%edx - addl %ecx,%ebp - movl 60(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 68(%esp),%ebx - shrl $10,%edi - addl 40(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 16(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 20(%esp),%edi - xorl %esi,%edx - movl %ebx,68(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,12(%esp) - xorl %esi,%edx - addl 24(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl (%esp),%edi - xorl %ebp,%esi - movl %ebp,28(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 2821834349(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 76(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 8(%esp),%edx - addl %esi,%eax - movl 64(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 72(%esp),%ebx - shrl $10,%edi - addl 44(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 12(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 16(%esp),%edi - xorl %ecx,%edx - movl %ebx,72(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,8(%esp) - xorl %ecx,%edx - addl 20(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 28(%esp),%edi - xorl %eax,%ecx - movl %eax,24(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 2952996808(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 80(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 4(%esp),%edx - addl %ecx,%ebp - movl 68(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 76(%esp),%ebx - shrl $10,%edi - addl 48(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 8(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 12(%esp),%edi - xorl %esi,%edx - movl %ebx,76(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,4(%esp) - xorl %esi,%edx - addl 16(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 24(%esp),%edi - xorl %ebp,%esi - movl %ebp,20(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 3210313671(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 84(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl (%esp),%edx - addl %esi,%eax - movl 72(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 80(%esp),%ebx - shrl $10,%edi - addl 52(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 4(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 8(%esp),%edi - xorl %ecx,%edx - movl %ebx,80(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,(%esp) - xorl %ecx,%edx - addl 12(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 20(%esp),%edi - xorl %eax,%ecx - movl %eax,16(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 3336571891(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 88(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 28(%esp),%edx - addl %ecx,%ebp - movl 76(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 84(%esp),%ebx - shrl $10,%edi - addl 56(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl (%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 4(%esp),%edi - xorl %esi,%edx - movl %ebx,84(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,28(%esp) - xorl %esi,%edx - addl 8(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 16(%esp),%edi - xorl %ebp,%esi - movl %ebp,12(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 3584528711(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 92(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 24(%esp),%edx - addl %esi,%eax - movl 80(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 88(%esp),%ebx - shrl $10,%edi - addl 60(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 28(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl (%esp),%edi - xorl %ecx,%edx - movl %ebx,88(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,24(%esp) - xorl %ecx,%edx - addl 4(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 12(%esp),%edi - xorl %eax,%ecx - movl %eax,8(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 113926993(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 32(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 20(%esp),%edx - addl %ecx,%ebp - movl 84(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 92(%esp),%ebx - shrl $10,%edi - addl 64(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 24(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 28(%esp),%edi - xorl %esi,%edx - movl %ebx,92(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,20(%esp) - xorl %esi,%edx - addl (%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 8(%esp),%edi - xorl %ebp,%esi - movl %ebp,4(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 338241895(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 36(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 16(%esp),%edx - addl %esi,%eax - movl 88(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 32(%esp),%ebx - shrl $10,%edi - addl 68(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 20(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 24(%esp),%edi - xorl %ecx,%edx - movl %ebx,32(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,16(%esp) - xorl %ecx,%edx - addl 28(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 4(%esp),%edi - xorl %eax,%ecx - movl %eax,(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 666307205(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 40(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 12(%esp),%edx - addl %ecx,%ebp - movl 92(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 36(%esp),%ebx - shrl $10,%edi - addl 72(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 16(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 20(%esp),%edi - xorl %esi,%edx - movl %ebx,36(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,12(%esp) - xorl %esi,%edx - addl 24(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl (%esp),%edi - xorl %ebp,%esi - movl %ebp,28(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 773529912(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 44(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 8(%esp),%edx - addl %esi,%eax - movl 32(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 40(%esp),%ebx - shrl $10,%edi - addl 76(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 12(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 16(%esp),%edi - xorl %ecx,%edx - movl %ebx,40(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,8(%esp) - xorl %ecx,%edx - addl 20(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 28(%esp),%edi - xorl %eax,%ecx - movl %eax,24(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 1294757372(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 48(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 4(%esp),%edx - addl %ecx,%ebp - movl 36(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 44(%esp),%ebx - shrl $10,%edi - addl 80(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 8(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 12(%esp),%edi - xorl %esi,%edx - movl %ebx,44(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,4(%esp) - xorl %esi,%edx - addl 16(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 24(%esp),%edi - xorl %ebp,%esi - movl %ebp,20(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 1396182291(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 52(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl (%esp),%edx - addl %esi,%eax - movl 40(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 48(%esp),%ebx - shrl $10,%edi - addl 84(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 4(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 8(%esp),%edi - xorl %ecx,%edx - movl %ebx,48(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,(%esp) - xorl %ecx,%edx - addl 12(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 20(%esp),%edi - xorl %eax,%ecx - movl %eax,16(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 1695183700(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 56(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 28(%esp),%edx - addl %ecx,%ebp - movl 44(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 52(%esp),%ebx - shrl $10,%edi - addl 88(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl (%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 4(%esp),%edi - xorl %esi,%edx - movl %ebx,52(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,28(%esp) - xorl %esi,%edx - addl 8(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 16(%esp),%edi - xorl %ebp,%esi - movl %ebp,12(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 1986661051(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 60(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 24(%esp),%edx - addl %esi,%eax - movl 48(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 56(%esp),%ebx - shrl $10,%edi - addl 92(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 28(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl (%esp),%edi - xorl %ecx,%edx - movl %ebx,56(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,24(%esp) - xorl %ecx,%edx - addl 4(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 12(%esp),%edi - xorl %eax,%ecx - movl %eax,8(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 2177026350(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 64(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 20(%esp),%edx - addl %ecx,%ebp - movl 52(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 60(%esp),%ebx - shrl $10,%edi - addl 32(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 24(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 28(%esp),%edi - xorl %esi,%edx - movl %ebx,60(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,20(%esp) - xorl %esi,%edx - addl (%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 8(%esp),%edi - xorl %ebp,%esi - movl %ebp,4(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 2456956037(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 68(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 16(%esp),%edx - addl %esi,%eax - movl 56(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 64(%esp),%ebx - shrl $10,%edi - addl 36(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 20(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 24(%esp),%edi - xorl %ecx,%edx - movl %ebx,64(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,16(%esp) - xorl %ecx,%edx - addl 28(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 4(%esp),%edi - xorl %eax,%ecx - movl %eax,(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 2730485921(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 72(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 12(%esp),%edx - addl %ecx,%ebp - movl 60(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 68(%esp),%ebx - shrl $10,%edi - addl 40(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 16(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 20(%esp),%edi - xorl %esi,%edx - movl %ebx,68(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,12(%esp) - xorl %esi,%edx - addl 24(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl (%esp),%edi - xorl %ebp,%esi - movl %ebp,28(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 2820302411(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 76(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 8(%esp),%edx - addl %esi,%eax - movl 64(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 72(%esp),%ebx - shrl $10,%edi - addl 44(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 12(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 16(%esp),%edi - xorl %ecx,%edx - movl %ebx,72(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,8(%esp) - xorl %ecx,%edx - addl 20(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 28(%esp),%edi - xorl %eax,%ecx - movl %eax,24(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 3259730800(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 80(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 4(%esp),%edx - addl %ecx,%ebp - movl 68(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 76(%esp),%ebx - shrl $10,%edi - addl 48(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 8(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 12(%esp),%edi - xorl %esi,%edx - movl %ebx,76(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,4(%esp) - xorl %esi,%edx - addl 16(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 24(%esp),%edi - xorl %ebp,%esi - movl %ebp,20(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 3345764771(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 84(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl (%esp),%edx - addl %esi,%eax - movl 72(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 80(%esp),%ebx - shrl $10,%edi - addl 52(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 4(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 8(%esp),%edi - xorl %ecx,%edx - movl %ebx,80(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,(%esp) - xorl %ecx,%edx - addl 12(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 20(%esp),%edi - xorl %eax,%ecx - movl %eax,16(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 3516065817(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 88(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 28(%esp),%edx - addl %ecx,%ebp - movl 76(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 84(%esp),%ebx - shrl $10,%edi - addl 56(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl (%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 4(%esp),%edi - xorl %esi,%edx - movl %ebx,84(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,28(%esp) - xorl %esi,%edx - addl 8(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 16(%esp),%edi - xorl %ebp,%esi - movl %ebp,12(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 3600352804(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 92(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 24(%esp),%edx - addl %esi,%eax - movl 80(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 88(%esp),%ebx - shrl $10,%edi - addl 60(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 28(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl (%esp),%edi - xorl %ecx,%edx - movl %ebx,88(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,24(%esp) - xorl %ecx,%edx - addl 4(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 12(%esp),%edi - xorl %eax,%ecx - movl %eax,8(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 4094571909(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 32(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 20(%esp),%edx - addl %ecx,%ebp - movl 84(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 92(%esp),%ebx - shrl $10,%edi - addl 64(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 24(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 28(%esp),%edi - xorl %esi,%edx - movl %ebx,92(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,20(%esp) - xorl %esi,%edx - addl (%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 8(%esp),%edi - xorl %ebp,%esi - movl %ebp,4(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 275423344(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 36(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 16(%esp),%edx - addl %esi,%eax - movl 88(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 32(%esp),%ebx - shrl $10,%edi - addl 68(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 20(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 24(%esp),%edi - xorl %ecx,%edx - movl %ebx,32(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,16(%esp) - xorl %ecx,%edx - addl 28(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 4(%esp),%edi - xorl %eax,%ecx - movl %eax,(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 430227734(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 40(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 12(%esp),%edx - addl %ecx,%ebp - movl 92(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 36(%esp),%ebx - shrl $10,%edi - addl 72(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 16(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 20(%esp),%edi - xorl %esi,%edx - movl %ebx,36(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,12(%esp) - xorl %esi,%edx - addl 24(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl (%esp),%edi - xorl %ebp,%esi - movl %ebp,28(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 506948616(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 44(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 8(%esp),%edx - addl %esi,%eax - movl 32(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 40(%esp),%ebx - shrl $10,%edi - addl 76(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 12(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 16(%esp),%edi - xorl %ecx,%edx - movl %ebx,40(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,8(%esp) - xorl %ecx,%edx - addl 20(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 28(%esp),%edi - xorl %eax,%ecx - movl %eax,24(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 659060556(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 48(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 4(%esp),%edx - addl %ecx,%ebp - movl 36(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 44(%esp),%ebx - shrl $10,%edi - addl 80(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 8(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 12(%esp),%edi - xorl %esi,%edx - movl %ebx,44(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,4(%esp) - xorl %esi,%edx - addl 16(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 24(%esp),%edi - xorl %ebp,%esi - movl %ebp,20(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 883997877(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 52(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl (%esp),%edx - addl %esi,%eax - movl 40(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 48(%esp),%ebx - shrl $10,%edi - addl 84(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 4(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 8(%esp),%edi - xorl %ecx,%edx - movl %ebx,48(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,(%esp) - xorl %ecx,%edx - addl 12(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 20(%esp),%edi - xorl %eax,%ecx - movl %eax,16(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 958139571(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 56(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 28(%esp),%edx - addl %ecx,%ebp - movl 44(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 52(%esp),%ebx - shrl $10,%edi - addl 88(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl (%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 4(%esp),%edi - xorl %esi,%edx - movl %ebx,52(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,28(%esp) - xorl %esi,%edx - addl 8(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 16(%esp),%edi - xorl %ebp,%esi - movl %ebp,12(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 1322822218(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 60(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 24(%esp),%edx - addl %esi,%eax - movl 48(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 56(%esp),%ebx - shrl $10,%edi - addl 92(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 28(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl (%esp),%edi - xorl %ecx,%edx - movl %ebx,56(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,24(%esp) - xorl %ecx,%edx - addl 4(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 12(%esp),%edi - xorl %eax,%ecx - movl %eax,8(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 1537002063(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 64(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 20(%esp),%edx - addl %ecx,%ebp - movl 52(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 60(%esp),%ebx - shrl $10,%edi - addl 32(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 24(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 28(%esp),%edi - xorl %esi,%edx - movl %ebx,60(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,20(%esp) - xorl %esi,%edx - addl (%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 8(%esp),%edi - xorl %ebp,%esi - movl %ebp,4(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 1747873779(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 68(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 16(%esp),%edx - addl %esi,%eax - movl 56(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 64(%esp),%ebx - shrl $10,%edi - addl 36(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 20(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 24(%esp),%edi - xorl %ecx,%edx - movl %ebx,64(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,16(%esp) - xorl %ecx,%edx - addl 28(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 4(%esp),%edi - xorl %eax,%ecx - movl %eax,(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 1955562222(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 72(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 12(%esp),%edx - addl %ecx,%ebp - movl 60(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 68(%esp),%ebx - shrl $10,%edi - addl 40(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 16(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 20(%esp),%edi - xorl %esi,%edx - movl %ebx,68(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,12(%esp) - xorl %esi,%edx - addl 24(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl (%esp),%edi - xorl %ebp,%esi - movl %ebp,28(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 2024104815(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 76(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 8(%esp),%edx - addl %esi,%eax - movl 64(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 72(%esp),%ebx - shrl $10,%edi - addl 44(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 12(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 16(%esp),%edi - xorl %ecx,%edx - movl %ebx,72(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,8(%esp) - xorl %ecx,%edx - addl 20(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 28(%esp),%edi - xorl %eax,%ecx - movl %eax,24(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 2227730452(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 80(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 4(%esp),%edx - addl %ecx,%ebp - movl 68(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 76(%esp),%ebx - shrl $10,%edi - addl 48(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 8(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 12(%esp),%edi - xorl %esi,%edx - movl %ebx,76(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,4(%esp) - xorl %esi,%edx - addl 16(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 24(%esp),%edi - xorl %ebp,%esi - movl %ebp,20(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 2361852424(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 84(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl (%esp),%edx - addl %esi,%eax - movl 72(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 80(%esp),%ebx - shrl $10,%edi - addl 52(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 4(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl 8(%esp),%edi - xorl %ecx,%edx - movl %ebx,80(%esp) - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,(%esp) - xorl %ecx,%edx - addl 12(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 20(%esp),%edi - xorl %eax,%ecx - movl %eax,16(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 2428436474(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 88(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 28(%esp),%edx - addl %ecx,%ebp - movl 76(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 84(%esp),%ebx - shrl $10,%edi - addl 56(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl (%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 4(%esp),%edi - xorl %esi,%edx - movl %ebx,84(%esp) - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,28(%esp) - xorl %esi,%edx - addl 8(%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 16(%esp),%edi - xorl %ebp,%esi - movl %ebp,12(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 2756734187(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - movl 92(%esp),%ecx - rorl $2,%esi - addl %edx,%eax - addl 24(%esp),%edx - addl %esi,%eax - movl 80(%esp),%esi - movl %ecx,%ebx - rorl $11,%ecx - movl %esi,%edi - rorl $2,%esi - xorl %ebx,%ecx - shrl $3,%ebx - rorl $7,%ecx - xorl %edi,%esi - xorl %ecx,%ebx - rorl $17,%esi - addl 88(%esp),%ebx - shrl $10,%edi - addl 60(%esp),%ebx - movl %edx,%ecx - xorl %esi,%edi - movl 28(%esp),%esi - rorl $14,%edx - addl %edi,%ebx - movl (%esp),%edi - xorl %ecx,%edx - xorl %edi,%esi - rorl $5,%edx - andl %ecx,%esi - movl %ecx,24(%esp) - xorl %ecx,%edx - addl 4(%esp),%ebx - xorl %esi,%edi - rorl $6,%edx - movl %eax,%ecx - addl %edi,%ebx - rorl $9,%ecx - movl %eax,%esi - movl 12(%esp),%edi - xorl %eax,%ecx - movl %eax,8(%esp) - xorl %edi,%eax - rorl $11,%ecx - andl %eax,%ebp - leal 3204031479(%ebx,%edx,1),%edx - xorl %esi,%ecx - xorl %edi,%ebp - movl 32(%esp),%esi - rorl $2,%ecx - addl %edx,%ebp - addl 20(%esp),%edx - addl %ecx,%ebp - movl 84(%esp),%ecx - movl %esi,%ebx - rorl $11,%esi - movl %ecx,%edi - rorl $2,%ecx - xorl %ebx,%esi - shrl $3,%ebx - rorl $7,%esi - xorl %edi,%ecx - xorl %esi,%ebx - rorl $17,%ecx - addl 92(%esp),%ebx - shrl $10,%edi - addl 64(%esp),%ebx - movl %edx,%esi - xorl %ecx,%edi - movl 24(%esp),%ecx - rorl $14,%edx - addl %edi,%ebx - movl 28(%esp),%edi - xorl %esi,%edx - xorl %edi,%ecx - rorl $5,%edx - andl %esi,%ecx - movl %esi,20(%esp) - xorl %esi,%edx - addl (%esp),%ebx - xorl %ecx,%edi - rorl $6,%edx - movl %ebp,%esi - addl %edi,%ebx - rorl $9,%esi - movl %ebp,%ecx - movl 8(%esp),%edi - xorl %ebp,%esi - movl %ebp,4(%esp) - xorl %edi,%ebp - rorl $11,%esi - andl %ebp,%eax - leal 3329325298(%ebx,%edx,1),%edx - xorl %ecx,%esi - xorl %edi,%eax - rorl $2,%esi - addl %edx,%eax - addl 16(%esp),%edx - addl %esi,%eax - movl 96(%esp),%esi - xorl %edi,%ebp - movl 12(%esp),%ecx - addl (%esi),%eax - addl 4(%esi),%ebp - addl 8(%esi),%edi - addl 12(%esi),%ecx - movl %eax,(%esi) - movl %ebp,4(%esi) - movl %edi,8(%esi) - movl %ecx,12(%esi) - movl %ebp,4(%esp) - xorl %edi,%ebp - movl %edi,8(%esp) - movl %ecx,12(%esp) - movl 20(%esp),%edi - movl 24(%esp),%ebx - movl 28(%esp),%ecx - addl 16(%esi),%edx - addl 20(%esi),%edi - addl 24(%esi),%ebx - addl 28(%esi),%ecx - movl %edx,16(%esi) - movl %edi,20(%esi) - movl %ebx,24(%esi) - movl %ecx,28(%esi) - movl %edi,20(%esp) - movl 100(%esp),%edi - movl %ebx,24(%esp) - movl %ecx,28(%esp) - cmpl 104(%esp),%edi - jb .L009grand_loop - movl 108(%esp),%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size sha256_block_data_order,.-.L_sha256_block_data_order_begin diff --git a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha512-586.S b/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha512-586.S deleted file mode 100644 index c01cc2bed876..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/sha/sha512-586.S +++ /dev/null @@ -1,574 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/sha/asm/sha512-586.pl -# -# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text -.globl sha512_block_data_order -.type sha512_block_data_order,@function -.align 16 -sha512_block_data_order: -.L_sha512_block_data_order_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl 20(%esp),%esi - movl 24(%esp),%edi - movl 28(%esp),%eax - movl %esp,%ebx - call .L000pic_point -.L000pic_point: - popl %ebp - leal .L001K512-.L000pic_point(%ebp),%ebp - subl $16,%esp - andl $-64,%esp - shll $7,%eax - addl %edi,%eax - movl %esi,(%esp) - movl %edi,4(%esp) - movl %eax,8(%esp) - movl %ebx,12(%esp) -.align 16 -.L002loop_x86: - movl (%edi),%eax - movl 4(%edi),%ebx - movl 8(%edi),%ecx - movl 12(%edi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - movl 16(%edi),%eax - movl 20(%edi),%ebx - movl 24(%edi),%ecx - movl 28(%edi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - movl 32(%edi),%eax - movl 36(%edi),%ebx - movl 40(%edi),%ecx - movl 44(%edi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - movl 48(%edi),%eax - movl 52(%edi),%ebx - movl 56(%edi),%ecx - movl 60(%edi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - movl 64(%edi),%eax - movl 68(%edi),%ebx - movl 72(%edi),%ecx - movl 76(%edi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - movl 80(%edi),%eax - movl 84(%edi),%ebx - movl 88(%edi),%ecx - movl 92(%edi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - movl 96(%edi),%eax - movl 100(%edi),%ebx - movl 104(%edi),%ecx - movl 108(%edi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - movl 112(%edi),%eax - movl 116(%edi),%ebx - movl 120(%edi),%ecx - movl 124(%edi),%edx - bswap %eax - bswap %ebx - bswap %ecx - bswap %edx - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - addl $128,%edi - subl $72,%esp - movl %edi,204(%esp) - leal 8(%esp),%edi - movl $16,%ecx -.long 2784229001 -.align 16 -.L00300_15_x86: - movl 40(%esp),%ecx - movl 44(%esp),%edx - movl %ecx,%esi - shrl $9,%ecx - movl %edx,%edi - shrl $9,%edx - movl %ecx,%ebx - shll $14,%esi - movl %edx,%eax - shll $14,%edi - xorl %esi,%ebx - shrl $5,%ecx - xorl %edi,%eax - shrl $5,%edx - xorl %ecx,%eax - shll $4,%esi - xorl %edx,%ebx - shll $4,%edi - xorl %esi,%ebx - shrl $4,%ecx - xorl %edi,%eax - shrl $4,%edx - xorl %ecx,%eax - shll $5,%esi - xorl %edx,%ebx - shll $5,%edi - xorl %esi,%eax - xorl %edi,%ebx - movl 48(%esp),%ecx - movl 52(%esp),%edx - movl 56(%esp),%esi - movl 60(%esp),%edi - addl 64(%esp),%eax - adcl 68(%esp),%ebx - xorl %esi,%ecx - xorl %edi,%edx - andl 40(%esp),%ecx - andl 44(%esp),%edx - addl 192(%esp),%eax - adcl 196(%esp),%ebx - xorl %esi,%ecx - xorl %edi,%edx - movl (%ebp),%esi - movl 4(%ebp),%edi - addl %ecx,%eax - adcl %edx,%ebx - movl 32(%esp),%ecx - movl 36(%esp),%edx - addl %esi,%eax - adcl %edi,%ebx - movl %eax,(%esp) - movl %ebx,4(%esp) - addl %ecx,%eax - adcl %edx,%ebx - movl 8(%esp),%ecx - movl 12(%esp),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,%esi - shrl $2,%ecx - movl %edx,%edi - shrl $2,%edx - movl %ecx,%ebx - shll $4,%esi - movl %edx,%eax - shll $4,%edi - xorl %esi,%ebx - shrl $5,%ecx - xorl %edi,%eax - shrl $5,%edx - xorl %ecx,%ebx - shll $21,%esi - xorl %edx,%eax - shll $21,%edi - xorl %esi,%eax - shrl $21,%ecx - xorl %edi,%ebx - shrl $21,%edx - xorl %ecx,%eax - shll $5,%esi - xorl %edx,%ebx - shll $5,%edi - xorl %esi,%eax - xorl %edi,%ebx - movl 8(%esp),%ecx - movl 12(%esp),%edx - movl 16(%esp),%esi - movl 20(%esp),%edi - addl (%esp),%eax - adcl 4(%esp),%ebx - orl %esi,%ecx - orl %edi,%edx - andl 24(%esp),%ecx - andl 28(%esp),%edx - andl 8(%esp),%esi - andl 12(%esp),%edi - orl %esi,%ecx - orl %edi,%edx - addl %ecx,%eax - adcl %edx,%ebx - movl %eax,(%esp) - movl %ebx,4(%esp) - movb (%ebp),%dl - subl $8,%esp - leal 8(%ebp),%ebp - cmpb $148,%dl - jne .L00300_15_x86 -.align 16 -.L00416_79_x86: - movl 312(%esp),%ecx - movl 316(%esp),%edx - movl %ecx,%esi - shrl $1,%ecx - movl %edx,%edi - shrl $1,%edx - movl %ecx,%eax - shll $24,%esi - movl %edx,%ebx - shll $24,%edi - xorl %esi,%ebx - shrl $6,%ecx - xorl %edi,%eax - shrl $6,%edx - xorl %ecx,%eax - shll $7,%esi - xorl %edx,%ebx - shll $1,%edi - xorl %esi,%ebx - shrl $1,%ecx - xorl %edi,%eax - shrl $1,%edx - xorl %ecx,%eax - shll $6,%edi - xorl %edx,%ebx - xorl %edi,%eax - movl %eax,(%esp) - movl %ebx,4(%esp) - movl 208(%esp),%ecx - movl 212(%esp),%edx - movl %ecx,%esi - shrl $6,%ecx - movl %edx,%edi - shrl $6,%edx - movl %ecx,%eax - shll $3,%esi - movl %edx,%ebx - shll $3,%edi - xorl %esi,%eax - shrl $13,%ecx - xorl %edi,%ebx - shrl $13,%edx - xorl %ecx,%eax - shll $10,%esi - xorl %edx,%ebx - shll $10,%edi - xorl %esi,%ebx - shrl $10,%ecx - xorl %edi,%eax - shrl $10,%edx - xorl %ecx,%ebx - shll $13,%edi - xorl %edx,%eax - xorl %edi,%eax - movl 320(%esp),%ecx - movl 324(%esp),%edx - addl (%esp),%eax - adcl 4(%esp),%ebx - movl 248(%esp),%esi - movl 252(%esp),%edi - addl %ecx,%eax - adcl %edx,%ebx - addl %esi,%eax - adcl %edi,%ebx - movl %eax,192(%esp) - movl %ebx,196(%esp) - movl 40(%esp),%ecx - movl 44(%esp),%edx - movl %ecx,%esi - shrl $9,%ecx - movl %edx,%edi - shrl $9,%edx - movl %ecx,%ebx - shll $14,%esi - movl %edx,%eax - shll $14,%edi - xorl %esi,%ebx - shrl $5,%ecx - xorl %edi,%eax - shrl $5,%edx - xorl %ecx,%eax - shll $4,%esi - xorl %edx,%ebx - shll $4,%edi - xorl %esi,%ebx - shrl $4,%ecx - xorl %edi,%eax - shrl $4,%edx - xorl %ecx,%eax - shll $5,%esi - xorl %edx,%ebx - shll $5,%edi - xorl %esi,%eax - xorl %edi,%ebx - movl 48(%esp),%ecx - movl 52(%esp),%edx - movl 56(%esp),%esi - movl 60(%esp),%edi - addl 64(%esp),%eax - adcl 68(%esp),%ebx - xorl %esi,%ecx - xorl %edi,%edx - andl 40(%esp),%ecx - andl 44(%esp),%edx - addl 192(%esp),%eax - adcl 196(%esp),%ebx - xorl %esi,%ecx - xorl %edi,%edx - movl (%ebp),%esi - movl 4(%ebp),%edi - addl %ecx,%eax - adcl %edx,%ebx - movl 32(%esp),%ecx - movl 36(%esp),%edx - addl %esi,%eax - adcl %edi,%ebx - movl %eax,(%esp) - movl %ebx,4(%esp) - addl %ecx,%eax - adcl %edx,%ebx - movl 8(%esp),%ecx - movl 12(%esp),%edx - movl %eax,32(%esp) - movl %ebx,36(%esp) - movl %ecx,%esi - shrl $2,%ecx - movl %edx,%edi - shrl $2,%edx - movl %ecx,%ebx - shll $4,%esi - movl %edx,%eax - shll $4,%edi - xorl %esi,%ebx - shrl $5,%ecx - xorl %edi,%eax - shrl $5,%edx - xorl %ecx,%ebx - shll $21,%esi - xorl %edx,%eax - shll $21,%edi - xorl %esi,%eax - shrl $21,%ecx - xorl %edi,%ebx - shrl $21,%edx - xorl %ecx,%eax - shll $5,%esi - xorl %edx,%ebx - shll $5,%edi - xorl %esi,%eax - xorl %edi,%ebx - movl 8(%esp),%ecx - movl 12(%esp),%edx - movl 16(%esp),%esi - movl 20(%esp),%edi - addl (%esp),%eax - adcl 4(%esp),%ebx - orl %esi,%ecx - orl %edi,%edx - andl 24(%esp),%ecx - andl 28(%esp),%edx - andl 8(%esp),%esi - andl 12(%esp),%edi - orl %esi,%ecx - orl %edi,%edx - addl %ecx,%eax - adcl %edx,%ebx - movl %eax,(%esp) - movl %ebx,4(%esp) - movb (%ebp),%dl - subl $8,%esp - leal 8(%ebp),%ebp - cmpb $23,%dl - jne .L00416_79_x86 - movl 840(%esp),%esi - movl 844(%esp),%edi - movl (%esi),%eax - movl 4(%esi),%ebx - movl 8(%esi),%ecx - movl 12(%esi),%edx - addl 8(%esp),%eax - adcl 12(%esp),%ebx - movl %eax,(%esi) - movl %ebx,4(%esi) - addl 16(%esp),%ecx - adcl 20(%esp),%edx - movl %ecx,8(%esi) - movl %edx,12(%esi) - movl 16(%esi),%eax - movl 20(%esi),%ebx - movl 24(%esi),%ecx - movl 28(%esi),%edx - addl 24(%esp),%eax - adcl 28(%esp),%ebx - movl %eax,16(%esi) - movl %ebx,20(%esi) - addl 32(%esp),%ecx - adcl 36(%esp),%edx - movl %ecx,24(%esi) - movl %edx,28(%esi) - movl 32(%esi),%eax - movl 36(%esi),%ebx - movl 40(%esi),%ecx - movl 44(%esi),%edx - addl 40(%esp),%eax - adcl 44(%esp),%ebx - movl %eax,32(%esi) - movl %ebx,36(%esi) - addl 48(%esp),%ecx - adcl 52(%esp),%edx - movl %ecx,40(%esi) - movl %edx,44(%esi) - movl 48(%esi),%eax - movl 52(%esi),%ebx - movl 56(%esi),%ecx - movl 60(%esi),%edx - addl 56(%esp),%eax - adcl 60(%esp),%ebx - movl %eax,48(%esi) - movl %ebx,52(%esi) - addl 64(%esp),%ecx - adcl 68(%esp),%edx - movl %ecx,56(%esi) - movl %edx,60(%esi) - addl $840,%esp - subl $640,%ebp - cmpl 8(%esp),%edi - jb .L002loop_x86 - movl 12(%esp),%esp - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.align 64 -.L001K512: -.long 3609767458,1116352408 -.long 602891725,1899447441 -.long 3964484399,3049323471 -.long 2173295548,3921009573 -.long 4081628472,961987163 -.long 3053834265,1508970993 -.long 2937671579,2453635748 -.long 3664609560,2870763221 -.long 2734883394,3624381080 -.long 1164996542,310598401 -.long 1323610764,607225278 -.long 3590304994,1426881987 -.long 4068182383,1925078388 -.long 991336113,2162078206 -.long 633803317,2614888103 -.long 3479774868,3248222580 -.long 2666613458,3835390401 -.long 944711139,4022224774 -.long 2341262773,264347078 -.long 2007800933,604807628 -.long 1495990901,770255983 -.long 1856431235,1249150122 -.long 3175218132,1555081692 -.long 2198950837,1996064986 -.long 3999719339,2554220882 -.long 766784016,2821834349 -.long 2566594879,2952996808 -.long 3203337956,3210313671 -.long 1034457026,3336571891 -.long 2466948901,3584528711 -.long 3758326383,113926993 -.long 168717936,338241895 -.long 1188179964,666307205 -.long 1546045734,773529912 -.long 1522805485,1294757372 -.long 2643833823,1396182291 -.long 2343527390,1695183700 -.long 1014477480,1986661051 -.long 1206759142,2177026350 -.long 344077627,2456956037 -.long 1290863460,2730485921 -.long 3158454273,2820302411 -.long 3505952657,3259730800 -.long 106217008,3345764771 -.long 3606008344,3516065817 -.long 1432725776,3600352804 -.long 1467031594,4094571909 -.long 851169720,275423344 -.long 3100823752,430227734 -.long 1363258195,506948616 -.long 3750685593,659060556 -.long 3785050280,883997877 -.long 3318307427,958139571 -.long 3812723403,1322822218 -.long 2003034995,1537002063 -.long 3602036899,1747873779 -.long 1575990012,1955562222 -.long 1125592928,2024104815 -.long 2716904306,2227730452 -.long 442776044,2361852424 -.long 593698344,2428436474 -.long 3733110249,2756734187 -.long 2999351573,3204031479 -.long 3815920427,3329325298 -.long 3928383900,3391569614 -.long 566280711,3515267271 -.long 3454069534,3940187606 -.long 4000239992,4118630271 -.long 1914138554,116418474 -.long 2731055270,174292421 -.long 3203993006,289380356 -.long 320620315,460393269 -.long 587496836,685471733 -.long 1086792851,852142971 -.long 365543100,1017036298 -.long 2618297676,1126000580 -.long 3409855158,1288033470 -.long 4234509866,1501505948 -.long 987167468,1607167915 -.long 1246189591,1816402316 -.long 67438087,66051 -.long 202182159,134810123 -.size sha512_block_data_order,.-.L_sha512_block_data_order_begin -.byte 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97 -.byte 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32 -.byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 -.byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 -.byte 62,0 diff --git a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/x86cpuid.S b/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/x86cpuid.S deleted file mode 100644 index a1934cbc5896..000000000000 --- a/CryptoPkg/Library/OpensslLib/IA32Gcc/crypto/x86cpuid.S +++ /dev/null @@ -1,449 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/x86cpuid.pl -# -# Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text -.globl OPENSSL_ia32_cpuid -.type OPENSSL_ia32_cpuid,@function -.align 16 -OPENSSL_ia32_cpuid: -.L_OPENSSL_ia32_cpuid_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - xorl %edx,%edx - pushfl - popl %eax - movl %eax,%ecx - xorl $2097152,%eax - pushl %eax - popfl - pushfl - popl %eax - xorl %eax,%ecx - xorl %eax,%eax - movl 20(%esp),%esi - movl %eax,8(%esi) - btl $21,%ecx - jnc .L000nocpuid - .byte 0x0f,0xa2 - movl %eax,%edi - xorl %eax,%eax - cmpl $1970169159,%ebx - setne %al - movl %eax,%ebp - cmpl $1231384169,%edx - setne %al - orl %eax,%ebp - cmpl $1818588270,%ecx - setne %al - orl %eax,%ebp - jz .L001intel - cmpl $1752462657,%ebx - setne %al - movl %eax,%esi - cmpl $1769238117,%edx - setne %al - orl %eax,%esi - cmpl $1145913699,%ecx - setne %al - orl %eax,%esi - jnz .L001intel - movl $2147483648,%eax - .byte 0x0f,0xa2 - cmpl $2147483649,%eax - jb .L001intel - movl %eax,%esi - movl $2147483649,%eax - .byte 0x0f,0xa2 - orl %ecx,%ebp - andl $2049,%ebp - cmpl $2147483656,%esi - jb .L001intel - movl $2147483656,%eax - .byte 0x0f,0xa2 - movzbl %cl,%esi - incl %esi - movl $1,%eax - xorl %ecx,%ecx - .byte 0x0f,0xa2 - btl $28,%edx - jnc .L002generic - shrl $16,%ebx - andl $255,%ebx - cmpl %esi,%ebx - ja .L002generic - andl $4026531839,%edx - jmp .L002generic -.L001intel: - cmpl $4,%edi - movl $-1,%esi - jb .L003nocacheinfo - movl $4,%eax - movl $0,%ecx - .byte 0x0f,0xa2 - movl %eax,%esi - shrl $14,%esi - andl $4095,%esi -.L003nocacheinfo: - movl $1,%eax - xorl %ecx,%ecx - .byte 0x0f,0xa2 - andl $3220176895,%edx - cmpl $0,%ebp - jne .L004notintel - orl $1073741824,%edx - andb $15,%ah - cmpb $15,%ah - jne .L004notintel - orl $1048576,%edx -.L004notintel: - btl $28,%edx - jnc .L002generic - andl $4026531839,%edx - cmpl $0,%esi - je .L002generic - orl $268435456,%edx - shrl $16,%ebx - cmpb $1,%bl - ja .L002generic - andl $4026531839,%edx -.L002generic: - andl $2048,%ebp - andl $4294965247,%ecx - movl %edx,%esi - orl %ecx,%ebp - cmpl $7,%edi - movl 20(%esp),%edi - jb .L005no_extended_info - movl $7,%eax - xorl %ecx,%ecx - .byte 0x0f,0xa2 - movl %ebx,8(%edi) -.L005no_extended_info: - btl $27,%ebp - jnc .L006clear_avx - xorl %ecx,%ecx -.byte 15,1,208 - andl $6,%eax - cmpl $6,%eax - je .L007done - cmpl $2,%eax - je .L006clear_avx -.L008clear_xmm: - andl $4261412861,%ebp - andl $4278190079,%esi -.L006clear_avx: - andl $4026525695,%ebp - andl $4294967263,8(%edi) -.L007done: - movl %esi,%eax - movl %ebp,%edx -.L000nocpuid: - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size OPENSSL_ia32_cpuid,.-.L_OPENSSL_ia32_cpuid_begin -.globl OPENSSL_rdtsc -.type OPENSSL_rdtsc,@function -.align 16 -OPENSSL_rdtsc: -.L_OPENSSL_rdtsc_begin: - xorl %eax,%eax - xorl %edx,%edx - leal OPENSSL_ia32cap_P,%ecx - btl $4,(%ecx) - jnc .L009notsc - .byte 0x0f,0x31 -.L009notsc: - ret -.size OPENSSL_rdtsc,.-.L_OPENSSL_rdtsc_begin -.globl OPENSSL_instrument_halt -.type OPENSSL_instrument_halt,@function -.align 16 -OPENSSL_instrument_halt: -.L_OPENSSL_instrument_halt_begin: - leal OPENSSL_ia32cap_P,%ecx - btl $4,(%ecx) - jnc .L010nohalt -.long 2421723150 - andl $3,%eax - jnz .L010nohalt - pushfl - popl %eax - btl $9,%eax - jnc .L010nohalt - .byte 0x0f,0x31 - pushl %edx - pushl %eax - hlt - .byte 0x0f,0x31 - subl (%esp),%eax - sbbl 4(%esp),%edx - addl $8,%esp - ret -.L010nohalt: - xorl %eax,%eax - xorl %edx,%edx - ret -.size OPENSSL_instrument_halt,.-.L_OPENSSL_instrument_halt_begin -.globl OPENSSL_far_spin -.type OPENSSL_far_spin,@function -.align 16 -OPENSSL_far_spin: -.L_OPENSSL_far_spin_begin: - pushfl - popl %eax - btl $9,%eax - jnc .L011nospin - movl 4(%esp),%eax - movl 8(%esp),%ecx -.long 2430111262 - xorl %eax,%eax - movl (%ecx),%edx - jmp .L012spin -.align 16 -.L012spin: - incl %eax - cmpl (%ecx),%edx - je .L012spin -.long 529567888 - ret -.L011nospin: - xorl %eax,%eax - xorl %edx,%edx - ret -.size OPENSSL_far_spin,.-.L_OPENSSL_far_spin_begin -.globl OPENSSL_wipe_cpu -.type OPENSSL_wipe_cpu,@function -.align 16 -OPENSSL_wipe_cpu: -.L_OPENSSL_wipe_cpu_begin: - xorl %eax,%eax - xorl %edx,%edx - leal OPENSSL_ia32cap_P,%ecx - movl (%ecx),%ecx - btl $1,(%ecx) - jnc .L013no_x87 -.long 4007259865,4007259865,4007259865,4007259865,2430851995 -.L013no_x87: - leal 4(%esp),%eax - ret -.size OPENSSL_wipe_cpu,.-.L_OPENSSL_wipe_cpu_begin -.globl OPENSSL_atomic_add -.type OPENSSL_atomic_add,@function -.align 16 -OPENSSL_atomic_add: -.L_OPENSSL_atomic_add_begin: - movl 4(%esp),%edx - movl 8(%esp),%ecx - pushl %ebx - nop - movl (%edx),%eax -.L014spin: - leal (%eax,%ecx,1),%ebx - nop -.long 447811568 - jne .L014spin - movl %ebx,%eax - popl %ebx - ret -.size OPENSSL_atomic_add,.-.L_OPENSSL_atomic_add_begin -.globl OPENSSL_cleanse -.type OPENSSL_cleanse,@function -.align 16 -OPENSSL_cleanse: -.L_OPENSSL_cleanse_begin: - movl 4(%esp),%edx - movl 8(%esp),%ecx - xorl %eax,%eax - cmpl $7,%ecx - jae .L015lot - cmpl $0,%ecx - je .L016ret -.L017little: - movb %al,(%edx) - subl $1,%ecx - leal 1(%edx),%edx - jnz .L017little -.L016ret: - ret -.align 16 -.L015lot: - testl $3,%edx - jz .L018aligned - movb %al,(%edx) - leal -1(%ecx),%ecx - leal 1(%edx),%edx - jmp .L015lot -.L018aligned: - movl %eax,(%edx) - leal -4(%ecx),%ecx - testl $-4,%ecx - leal 4(%edx),%edx - jnz .L018aligned - cmpl $0,%ecx - jne .L017little - ret -.size OPENSSL_cleanse,.-.L_OPENSSL_cleanse_begin -.globl CRYPTO_memcmp -.type CRYPTO_memcmp,@function -.align 16 -CRYPTO_memcmp: -.L_CRYPTO_memcmp_begin: - pushl %esi - pushl %edi - movl 12(%esp),%esi - movl 16(%esp),%edi - movl 20(%esp),%ecx - xorl %eax,%eax - xorl %edx,%edx - cmpl $0,%ecx - je .L019no_data -.L020loop: - movb (%esi),%dl - leal 1(%esi),%esi - xorb (%edi),%dl - leal 1(%edi),%edi - orb %dl,%al - decl %ecx - jnz .L020loop - negl %eax - shrl $31,%eax -.L019no_data: - popl %edi - popl %esi - ret -.size CRYPTO_memcmp,.-.L_CRYPTO_memcmp_begin -.globl OPENSSL_instrument_bus -.type OPENSSL_instrument_bus,@function -.align 16 -OPENSSL_instrument_bus: -.L_OPENSSL_instrument_bus_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl $0,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size OPENSSL_instrument_bus,.-.L_OPENSSL_instrument_bus_begin -.globl OPENSSL_instrument_bus2 -.type OPENSSL_instrument_bus2,@function -.align 16 -OPENSSL_instrument_bus2: -.L_OPENSSL_instrument_bus2_begin: - pushl %ebp - pushl %ebx - pushl %esi - pushl %edi - movl $0,%eax - popl %edi - popl %esi - popl %ebx - popl %ebp - ret -.size OPENSSL_instrument_bus2,.-.L_OPENSSL_instrument_bus2_begin -.globl OPENSSL_ia32_rdrand_bytes -.type OPENSSL_ia32_rdrand_bytes,@function -.align 16 -OPENSSL_ia32_rdrand_bytes: -.L_OPENSSL_ia32_rdrand_bytes_begin: - pushl %edi - pushl %ebx - xorl %eax,%eax - movl 12(%esp),%edi - movl 16(%esp),%ebx - cmpl $0,%ebx - je .L021done - movl $8,%ecx -.L022loop: -.byte 15,199,242 - jc .L023break - loop .L022loop - jmp .L021done -.align 16 -.L023break: - cmpl $4,%ebx - jb .L024tail - movl %edx,(%edi) - leal 4(%edi),%edi - addl $4,%eax - subl $4,%ebx - jz .L021done - movl $8,%ecx - jmp .L022loop -.align 16 -.L024tail: - movb %dl,(%edi) - leal 1(%edi),%edi - incl %eax - shrl $8,%edx - decl %ebx - jnz .L024tail -.L021done: - xorl %edx,%edx - popl %ebx - popl %edi - ret -.size OPENSSL_ia32_rdrand_bytes,.-.L_OPENSSL_ia32_rdrand_bytes_begin -.globl OPENSSL_ia32_rdseed_bytes -.type OPENSSL_ia32_rdseed_bytes,@function -.align 16 -OPENSSL_ia32_rdseed_bytes: -.L_OPENSSL_ia32_rdseed_bytes_begin: - pushl %edi - pushl %ebx - xorl %eax,%eax - movl 12(%esp),%edi - movl 16(%esp),%ebx - cmpl $0,%ebx - je .L025done - movl $8,%ecx -.L026loop: -.byte 15,199,250 - jc .L027break - loop .L026loop - jmp .L025done -.align 16 -.L027break: - cmpl $4,%ebx - jb .L028tail - movl %edx,(%edi) - leal 4(%edi),%edi - addl $4,%eax - subl $4,%ebx - jz .L025done - movl $8,%ecx - jmp .L026loop -.align 16 -.L028tail: - movb %dl,(%edi) - leal 1(%edi),%edi - incl %eax - shrl $8,%edx - decl %ebx - jnz .L028tail -.L025done: - xorl %edx,%edx - popl %ebx - popl %edi - ret -.size OPENSSL_ia32_rdseed_bytes,.-.L_OPENSSL_ia32_rdseed_bytes_begin -.hidden OPENSSL_cpuid_setup -.hidden OPENSSL_ia32cap_P -.comm OPENSSL_ia32cap_P,16,4 -.section .init - call OPENSSL_cpuid_setup diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-mb-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-mb-x86_64.nasm deleted file mode 100644 index 1a3ed1dd35ec..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-mb-x86_64.nasm +++ /dev/null @@ -1,732 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/aes/asm/aesni-mb-x86_64.pl -; -; Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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 - - - - 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 - - - - 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: -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 -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 diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha1-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha1-x86_64.nasm deleted file mode 100644 index f4fd9ca50d61..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha1-x86_64.nasm +++ /dev/null @@ -1,1916 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/aes/asm/aesni-sha1-x86_64.pl -; -; Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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 - 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 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$aesenclast6 - 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$aesenclast6 - movups xmm0,XMMWORD[96+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+rcx] -DB 102,15,56,220,208 -$L$aesenclast6: -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$aesenclast7 - 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$aesenclast7 - movups xmm0,XMMWORD[96+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+rcx] -DB 102,15,56,220,208 -$L$aesenclast7: -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$aesenclast8 - 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$aesenclast8 - movups xmm0,XMMWORD[96+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+rcx] -DB 102,15,56,220,208 -$L$aesenclast8: -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$aesenclast9 - 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$aesenclast9 - movups xmm0,XMMWORD[96+rcx] -DB 102,15,56,220,209 - movups xmm1,XMMWORD[112+rcx] -DB 102,15,56,220,208 -$L$aesenclast9: -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_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_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/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha256-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha256-x86_64.nasm deleted file mode 100644 index f5c250b9040f..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha256-x86_64.nasm +++ /dev/null @@ -1,78 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/aes/asm/aesni-sha256-x86_64.pl -; -; Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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: - - 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 diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-x86_64.nasm deleted file mode 100644 index 57ee23ea8c96..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-x86_64.nasm +++ /dev/null @@ -1,5103 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/aes/asm/aesni-x86_64.pl -; -; Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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 r11,[rsp] - - push rbp - - sub rsp,288 - and rsp,-16 - movaps XMMWORD[(-168)+r11],xmm6 - movaps XMMWORD[(-152)+r11],xmm7 - movaps XMMWORD[(-136)+r11],xmm8 - movaps XMMWORD[(-120)+r11],xmm9 - movaps XMMWORD[(-104)+r11],xmm10 - movaps XMMWORD[(-88)+r11],xmm11 - movaps XMMWORD[(-72)+r11],xmm12 - movaps XMMWORD[(-56)+r11],xmm13 - movaps XMMWORD[(-40)+r11],xmm14 - movaps XMMWORD[(-24)+r11],xmm15 -$L$ctr32_body: - - - - - movdqu xmm2,XMMWORD[r8] - movdqu xmm0,XMMWORD[rcx] - mov r8d,DWORD[12+r8] - pxor xmm2,xmm0 - mov ebp,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,ebp - xor edx,ebp -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,ebp - bswap r10d -DB 102,15,58,34,232,3 - xor r10d,ebp - 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,ebp - bswap r10d - mov DWORD[((80+12))+rsp],r9d - xor r10d,ebp - lea r9,[7+r8] - mov DWORD[((96+12))+rsp],r10d - bswap r9d - mov r10d,DWORD[((OPENSSL_ia32cap_P+4))] - xor r9d,ebp - 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 ebp - 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,ebp -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,ebp -DB 0x0f,0x38,0xf1,0x44,0x24,28 -DB 102,15,56,220,233 - lea eax,[2+r8] - xor eax,ebp -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,ebp - -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,ebp -DB 0x0f,0x38,0xf1,0x44,0x24,76 -DB 102,15,56,220,224 - lea eax,[5+r8] - xor eax,ebp -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,ebp - 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,ebp -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,ebp -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,ebp -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,ebp -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,ebp -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,ebp -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,ebp - 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 ebp,ebp - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - movaps xmm6,XMMWORD[((-168))+r11] - movaps XMMWORD[(-168)+r11],xmm0 - movaps xmm7,XMMWORD[((-152))+r11] - movaps XMMWORD[(-152)+r11],xmm0 - movaps xmm8,XMMWORD[((-136))+r11] - movaps XMMWORD[(-136)+r11],xmm0 - movaps xmm9,XMMWORD[((-120))+r11] - movaps XMMWORD[(-120)+r11],xmm0 - movaps xmm10,XMMWORD[((-104))+r11] - movaps XMMWORD[(-104)+r11],xmm0 - movaps xmm11,XMMWORD[((-88))+r11] - movaps XMMWORD[(-88)+r11],xmm0 - movaps xmm12,XMMWORD[((-72))+r11] - movaps XMMWORD[(-72)+r11],xmm0 - movaps xmm13,XMMWORD[((-56))+r11] - movaps XMMWORD[(-56)+r11],xmm0 - movaps xmm14,XMMWORD[((-40))+r11] - movaps XMMWORD[(-40)+r11],xmm0 - movaps xmm15,XMMWORD[((-24))+r11] - movaps XMMWORD[(-24)+r11],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 - mov rbp,QWORD[((-8))+r11] - - lea rsp,[r11] - -$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 r11,[rsp] - - push rbp - - sub rsp,272 - and rsp,-16 - movaps XMMWORD[(-168)+r11],xmm6 - movaps XMMWORD[(-152)+r11],xmm7 - movaps XMMWORD[(-136)+r11],xmm8 - movaps XMMWORD[(-120)+r11],xmm9 - movaps XMMWORD[(-104)+r11],xmm10 - movaps XMMWORD[(-88)+r11],xmm11 - movaps XMMWORD[(-72)+r11],xmm12 - movaps XMMWORD[(-56)+r11],xmm13 - movaps XMMWORD[(-40)+r11],xmm14 - movaps XMMWORD[(-24)+r11],xmm15 -$L$xts_enc_body: - 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 rbp,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+rbp] - sub rax,r10 - movups xmm1,XMMWORD[16+rbp] - 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+rbp] - 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+rbp] - 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+rbp] - 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[rbp] -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[rbp] -DB 102,15,56,220,241 -DB 102,15,56,220,249 - movups xmm1,XMMWORD[16+rbp] - - 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,rbp - 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,rbp - 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[((-168))+r11] - movaps XMMWORD[(-168)+r11],xmm0 - movaps xmm7,XMMWORD[((-152))+r11] - movaps XMMWORD[(-152)+r11],xmm0 - movaps xmm8,XMMWORD[((-136))+r11] - movaps XMMWORD[(-136)+r11],xmm0 - movaps xmm9,XMMWORD[((-120))+r11] - movaps XMMWORD[(-120)+r11],xmm0 - movaps xmm10,XMMWORD[((-104))+r11] - movaps XMMWORD[(-104)+r11],xmm0 - movaps xmm11,XMMWORD[((-88))+r11] - movaps XMMWORD[(-88)+r11],xmm0 - movaps xmm12,XMMWORD[((-72))+r11] - movaps XMMWORD[(-72)+r11],xmm0 - movaps xmm13,XMMWORD[((-56))+r11] - movaps XMMWORD[(-56)+r11],xmm0 - movaps xmm14,XMMWORD[((-40))+r11] - movaps XMMWORD[(-40)+r11],xmm0 - movaps xmm15,XMMWORD[((-24))+r11] - movaps XMMWORD[(-24)+r11],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 - mov rbp,QWORD[((-8))+r11] - - lea rsp,[r11] - -$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 r11,[rsp] - - push rbp - - sub rsp,272 - and rsp,-16 - movaps XMMWORD[(-168)+r11],xmm6 - movaps XMMWORD[(-152)+r11],xmm7 - movaps XMMWORD[(-136)+r11],xmm8 - movaps XMMWORD[(-120)+r11],xmm9 - movaps XMMWORD[(-104)+r11],xmm10 - movaps XMMWORD[(-88)+r11],xmm11 - movaps XMMWORD[(-72)+r11],xmm12 - movaps XMMWORD[(-56)+r11],xmm13 - movaps XMMWORD[(-40)+r11],xmm14 - movaps XMMWORD[(-24)+r11],xmm15 -$L$xts_dec_body: - 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 rbp,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+rbp] - sub rax,r10 - movups xmm1,XMMWORD[16+rbp] - 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+rbp] - 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+rbp] - 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+rbp] - 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[rbp] -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[rbp] -DB 102,15,56,222,241 -DB 102,15,56,222,249 - movups xmm1,XMMWORD[16+rbp] - - 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,rbp - 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,rbp - 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,rbp - 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[((-168))+r11] - movaps XMMWORD[(-168)+r11],xmm0 - movaps xmm7,XMMWORD[((-152))+r11] - movaps XMMWORD[(-152)+r11],xmm0 - movaps xmm8,XMMWORD[((-136))+r11] - movaps XMMWORD[(-136)+r11],xmm0 - movaps xmm9,XMMWORD[((-120))+r11] - movaps XMMWORD[(-120)+r11],xmm0 - movaps xmm10,XMMWORD[((-104))+r11] - movaps XMMWORD[(-104)+r11],xmm0 - movaps xmm11,XMMWORD[((-88))+r11] - movaps XMMWORD[(-88)+r11],xmm0 - movaps xmm12,XMMWORD[((-72))+r11] - movaps XMMWORD[(-72)+r11],xmm0 - movaps xmm13,XMMWORD[((-56))+r11] - movaps XMMWORD[(-56)+r11],xmm0 - movaps xmm14,XMMWORD[((-40))+r11] - movaps XMMWORD[(-40)+r11],xmm0 - movaps xmm15,XMMWORD[((-24))+r11] - movaps XMMWORD[(-24)+r11],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 - mov rbp,QWORD[((-8))+r11] - - lea rsp,[r11] - -$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_ocb_encrypt - -ALIGN 32 -aesni_ocb_encrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_ocb_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 rbx - - push rbp - - push r12 - - push r13 - - push r14 - - lea rsp,[((-160))+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[112+rsp],xmm13 - movaps XMMWORD[128+rsp],xmm14 - movaps XMMWORD[144+rsp],xmm15 -$L$ocb_enc_body: - mov rbx,QWORD[56+rax] - mov rbp,QWORD[((56+8))+rax] - - mov r10d,DWORD[240+rcx] - mov r11,rcx - shl r10d,4 - movups xmm9,XMMWORD[rcx] - movups xmm1,XMMWORD[16+r10*1+rcx] - - movdqu xmm15,XMMWORD[r9] - pxor xmm9,xmm1 - pxor xmm15,xmm1 - - mov eax,16+32 - lea rcx,[32+r10*1+r11] - movups xmm1,XMMWORD[16+r11] - sub rax,r10 - mov r10,rax - - movdqu xmm10,XMMWORD[rbx] - movdqu xmm8,XMMWORD[rbp] - - test r8,1 - jnz NEAR $L$ocb_enc_odd - - bsf r12,r8 - add r8,1 - shl r12,4 - movdqu xmm7,XMMWORD[r12*1+rbx] - movdqu xmm2,XMMWORD[rdi] - lea rdi,[16+rdi] - - call __ocb_encrypt1 - - movdqa xmm15,xmm7 - movups XMMWORD[rsi],xmm2 - lea rsi,[16+rsi] - sub rdx,1 - jz NEAR $L$ocb_enc_done - -$L$ocb_enc_odd: - lea r12,[1+r8] - lea r13,[3+r8] - lea r14,[5+r8] - lea r8,[6+r8] - bsf r12,r12 - bsf r13,r13 - bsf r14,r14 - shl r12,4 - shl r13,4 - shl r14,4 - - sub rdx,6 - jc NEAR $L$ocb_enc_short - jmp NEAR $L$ocb_enc_grandloop - -ALIGN 32 -$L$ocb_enc_grandloop: - 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] - lea rdi,[96+rdi] - - call __ocb_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 - lea rsi,[96+rsi] - sub rdx,6 - jnc NEAR $L$ocb_enc_grandloop - -$L$ocb_enc_short: - add rdx,6 - jz NEAR $L$ocb_enc_done - - movdqu xmm2,XMMWORD[rdi] - cmp rdx,2 - jb NEAR $L$ocb_enc_one - movdqu xmm3,XMMWORD[16+rdi] - je NEAR $L$ocb_enc_two - - movdqu xmm4,XMMWORD[32+rdi] - cmp rdx,4 - jb NEAR $L$ocb_enc_three - movdqu xmm5,XMMWORD[48+rdi] - je NEAR $L$ocb_enc_four - - movdqu xmm6,XMMWORD[64+rdi] - pxor xmm7,xmm7 - - call __ocb_encrypt6 - - movdqa xmm15,xmm14 - 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$ocb_enc_done - -ALIGN 16 -$L$ocb_enc_one: - movdqa xmm7,xmm10 - - call __ocb_encrypt1 - - movdqa xmm15,xmm7 - movups XMMWORD[rsi],xmm2 - jmp NEAR $L$ocb_enc_done - -ALIGN 16 -$L$ocb_enc_two: - pxor xmm4,xmm4 - pxor xmm5,xmm5 - - call __ocb_encrypt4 - - movdqa xmm15,xmm11 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - - jmp NEAR $L$ocb_enc_done - -ALIGN 16 -$L$ocb_enc_three: - pxor xmm5,xmm5 - - call __ocb_encrypt4 - - movdqa xmm15,xmm12 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - movups XMMWORD[32+rsi],xmm4 - - jmp NEAR $L$ocb_enc_done - -ALIGN 16 -$L$ocb_enc_four: - call __ocb_encrypt4 - - movdqa xmm15,xmm13 - movups XMMWORD[rsi],xmm2 - movups XMMWORD[16+rsi],xmm3 - movups XMMWORD[32+rsi],xmm4 - movups XMMWORD[48+rsi],xmm5 - -$L$ocb_enc_done: - pxor xmm15,xmm0 - movdqu XMMWORD[rbp],xmm8 - movdqu XMMWORD[r9],xmm15 - - xorps xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - 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 - movaps xmm10,XMMWORD[64+rsp] - movaps XMMWORD[64+rsp],xmm0 - movaps xmm11,XMMWORD[80+rsp] - movaps XMMWORD[80+rsp],xmm0 - movaps xmm12,XMMWORD[96+rsp] - movaps XMMWORD[96+rsp],xmm0 - movaps xmm13,XMMWORD[112+rsp] - movaps XMMWORD[112+rsp],xmm0 - movaps xmm14,XMMWORD[128+rsp] - movaps XMMWORD[128+rsp],xmm0 - movaps xmm15,XMMWORD[144+rsp] - movaps XMMWORD[144+rsp],xmm0 - lea rax,[((160+40))+rsp] -$L$ocb_enc_pop: - 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$ocb_enc_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aesni_ocb_encrypt: - - -ALIGN 32 -__ocb_encrypt6: - - pxor xmm15,xmm9 - movdqu xmm11,XMMWORD[r12*1+rbx] - movdqa xmm12,xmm10 - movdqu xmm13,XMMWORD[r13*1+rbx] - movdqa xmm14,xmm10 - pxor xmm10,xmm15 - movdqu xmm15,XMMWORD[r14*1+rbx] - pxor xmm11,xmm10 - pxor xmm8,xmm2 - pxor xmm2,xmm10 - pxor xmm12,xmm11 - pxor xmm8,xmm3 - pxor xmm3,xmm11 - pxor xmm13,xmm12 - pxor xmm8,xmm4 - pxor xmm4,xmm12 - pxor xmm14,xmm13 - pxor xmm8,xmm5 - pxor xmm5,xmm13 - pxor xmm15,xmm14 - pxor xmm8,xmm6 - pxor xmm6,xmm14 - pxor xmm8,xmm7 - pxor xmm7,xmm15 - movups xmm0,XMMWORD[32+r11] - - lea r12,[1+r8] - lea r13,[3+r8] - lea r14,[5+r8] - add r8,6 - pxor xmm10,xmm9 - bsf r12,r12 - bsf r13,r13 - bsf r14,r14 - -DB 102,15,56,220,209 -DB 102,15,56,220,217 -DB 102,15,56,220,225 -DB 102,15,56,220,233 - pxor xmm11,xmm9 - pxor xmm12,xmm9 -DB 102,15,56,220,241 - pxor xmm13,xmm9 - pxor xmm14,xmm9 -DB 102,15,56,220,249 - movups xmm1,XMMWORD[48+r11] - pxor xmm15,xmm9 - -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[64+r11] - shl r12,4 - shl r13,4 - jmp NEAR $L$ocb_enc_loop6 - -ALIGN 32 -$L$ocb_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[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$ocb_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[16+r11] - shl r14,4 - -DB 102,65,15,56,221,210 - movdqu xmm10,XMMWORD[rbx] - mov rax,r10 -DB 102,65,15,56,221,219 -DB 102,65,15,56,221,228 -DB 102,65,15,56,221,237 -DB 102,65,15,56,221,246 -DB 102,65,15,56,221,255 - DB 0F3h,0C3h ;repret - - - - -ALIGN 32 -__ocb_encrypt4: - - pxor xmm15,xmm9 - movdqu xmm11,XMMWORD[r12*1+rbx] - movdqa xmm12,xmm10 - movdqu xmm13,XMMWORD[r13*1+rbx] - pxor xmm10,xmm15 - pxor xmm11,xmm10 - pxor xmm8,xmm2 - pxor xmm2,xmm10 - pxor xmm12,xmm11 - pxor xmm8,xmm3 - pxor xmm3,xmm11 - pxor xmm13,xmm12 - pxor xmm8,xmm4 - pxor xmm4,xmm12 - pxor xmm8,xmm5 - pxor xmm5,xmm13 - movups xmm0,XMMWORD[32+r11] - - pxor xmm10,xmm9 - pxor xmm11,xmm9 - pxor xmm12,xmm9 - pxor xmm13,xmm9 - -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[48+r11] - -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[64+r11] - jmp NEAR $L$ocb_enc_loop4 - -ALIGN 32 -$L$ocb_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$ocb_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[16+r11] - mov rax,r10 - -DB 102,65,15,56,221,210 -DB 102,65,15,56,221,219 -DB 102,65,15,56,221,228 -DB 102,65,15,56,221,237 - DB 0F3h,0C3h ;repret - - - - -ALIGN 32 -__ocb_encrypt1: - - pxor xmm7,xmm15 - pxor xmm7,xmm9 - pxor xmm8,xmm2 - pxor xmm2,xmm7 - movups xmm0,XMMWORD[32+r11] - -DB 102,15,56,220,209 - movups xmm1,XMMWORD[48+r11] - pxor xmm7,xmm9 - -DB 102,15,56,220,208 - movups xmm0,XMMWORD[64+r11] - jmp NEAR $L$ocb_enc_loop1 - -ALIGN 32 -$L$ocb_enc_loop1: -DB 102,15,56,220,209 - movups xmm1,XMMWORD[rax*1+rcx] - add rax,32 - -DB 102,15,56,220,208 - movups xmm0,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$ocb_enc_loop1 - -DB 102,15,56,220,209 - movups xmm1,XMMWORD[16+r11] - mov rax,r10 - -DB 102,15,56,221,215 - DB 0F3h,0C3h ;repret - - - -global aesni_ocb_decrypt - -ALIGN 32 -aesni_ocb_decrypt: - mov QWORD[8+rsp],rdi ;WIN64 prologue - mov QWORD[16+rsp],rsi - mov rax,rsp -$L$SEH_begin_aesni_ocb_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 rbx - - push rbp - - push r12 - - push r13 - - push r14 - - lea rsp,[((-160))+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[112+rsp],xmm13 - movaps XMMWORD[128+rsp],xmm14 - movaps XMMWORD[144+rsp],xmm15 -$L$ocb_dec_body: - mov rbx,QWORD[56+rax] - mov rbp,QWORD[((56+8))+rax] - - mov r10d,DWORD[240+rcx] - mov r11,rcx - shl r10d,4 - movups xmm9,XMMWORD[rcx] - movups xmm1,XMMWORD[16+r10*1+rcx] - - movdqu xmm15,XMMWORD[r9] - pxor xmm9,xmm1 - pxor xmm15,xmm1 - - mov eax,16+32 - lea rcx,[32+r10*1+r11] - movups xmm1,XMMWORD[16+r11] - sub rax,r10 - mov r10,rax - - movdqu xmm10,XMMWORD[rbx] - movdqu xmm8,XMMWORD[rbp] - - test r8,1 - jnz NEAR $L$ocb_dec_odd - - bsf r12,r8 - add r8,1 - shl r12,4 - movdqu xmm7,XMMWORD[r12*1+rbx] - movdqu xmm2,XMMWORD[rdi] - lea rdi,[16+rdi] - - call __ocb_decrypt1 - - movdqa xmm15,xmm7 - movups XMMWORD[rsi],xmm2 - xorps xmm8,xmm2 - lea rsi,[16+rsi] - sub rdx,1 - jz NEAR $L$ocb_dec_done - -$L$ocb_dec_odd: - lea r12,[1+r8] - lea r13,[3+r8] - lea r14,[5+r8] - lea r8,[6+r8] - bsf r12,r12 - bsf r13,r13 - bsf r14,r14 - shl r12,4 - shl r13,4 - shl r14,4 - - sub rdx,6 - jc NEAR $L$ocb_dec_short - jmp NEAR $L$ocb_dec_grandloop - -ALIGN 32 -$L$ocb_dec_grandloop: - 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] - lea rdi,[96+rdi] - - call __ocb_decrypt6 - - movups XMMWORD[rsi],xmm2 - pxor xmm8,xmm2 - movups XMMWORD[16+rsi],xmm3 - pxor xmm8,xmm3 - movups XMMWORD[32+rsi],xmm4 - pxor xmm8,xmm4 - movups XMMWORD[48+rsi],xmm5 - pxor xmm8,xmm5 - movups XMMWORD[64+rsi],xmm6 - pxor xmm8,xmm6 - movups XMMWORD[80+rsi],xmm7 - pxor xmm8,xmm7 - lea rsi,[96+rsi] - sub rdx,6 - jnc NEAR $L$ocb_dec_grandloop - -$L$ocb_dec_short: - add rdx,6 - jz NEAR $L$ocb_dec_done - - movdqu xmm2,XMMWORD[rdi] - cmp rdx,2 - jb NEAR $L$ocb_dec_one - movdqu xmm3,XMMWORD[16+rdi] - je NEAR $L$ocb_dec_two - - movdqu xmm4,XMMWORD[32+rdi] - cmp rdx,4 - jb NEAR $L$ocb_dec_three - movdqu xmm5,XMMWORD[48+rdi] - je NEAR $L$ocb_dec_four - - movdqu xmm6,XMMWORD[64+rdi] - pxor xmm7,xmm7 - - call __ocb_decrypt6 - - movdqa xmm15,xmm14 - movups XMMWORD[rsi],xmm2 - pxor xmm8,xmm2 - movups XMMWORD[16+rsi],xmm3 - pxor xmm8,xmm3 - movups XMMWORD[32+rsi],xmm4 - pxor xmm8,xmm4 - movups XMMWORD[48+rsi],xmm5 - pxor xmm8,xmm5 - movups XMMWORD[64+rsi],xmm6 - pxor xmm8,xmm6 - - jmp NEAR $L$ocb_dec_done - -ALIGN 16 -$L$ocb_dec_one: - movdqa xmm7,xmm10 - - call __ocb_decrypt1 - - movdqa xmm15,xmm7 - movups XMMWORD[rsi],xmm2 - xorps xmm8,xmm2 - jmp NEAR $L$ocb_dec_done - -ALIGN 16 -$L$ocb_dec_two: - pxor xmm4,xmm4 - pxor xmm5,xmm5 - - call __ocb_decrypt4 - - movdqa xmm15,xmm11 - movups XMMWORD[rsi],xmm2 - xorps xmm8,xmm2 - movups XMMWORD[16+rsi],xmm3 - xorps xmm8,xmm3 - - jmp NEAR $L$ocb_dec_done - -ALIGN 16 -$L$ocb_dec_three: - pxor xmm5,xmm5 - - call __ocb_decrypt4 - - movdqa xmm15,xmm12 - movups XMMWORD[rsi],xmm2 - xorps xmm8,xmm2 - movups XMMWORD[16+rsi],xmm3 - xorps xmm8,xmm3 - movups XMMWORD[32+rsi],xmm4 - xorps xmm8,xmm4 - - jmp NEAR $L$ocb_dec_done - -ALIGN 16 -$L$ocb_dec_four: - call __ocb_decrypt4 - - movdqa xmm15,xmm13 - movups XMMWORD[rsi],xmm2 - pxor xmm8,xmm2 - movups XMMWORD[16+rsi],xmm3 - pxor xmm8,xmm3 - movups XMMWORD[32+rsi],xmm4 - pxor xmm8,xmm4 - movups XMMWORD[48+rsi],xmm5 - pxor xmm8,xmm5 - -$L$ocb_dec_done: - pxor xmm15,xmm0 - movdqu XMMWORD[rbp],xmm8 - movdqu XMMWORD[r9],xmm15 - - xorps xmm0,xmm0 - pxor xmm1,xmm1 - pxor xmm2,xmm2 - pxor xmm3,xmm3 - pxor xmm4,xmm4 - pxor xmm5,xmm5 - 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 - movaps xmm10,XMMWORD[64+rsp] - movaps XMMWORD[64+rsp],xmm0 - movaps xmm11,XMMWORD[80+rsp] - movaps XMMWORD[80+rsp],xmm0 - movaps xmm12,XMMWORD[96+rsp] - movaps XMMWORD[96+rsp],xmm0 - movaps xmm13,XMMWORD[112+rsp] - movaps XMMWORD[112+rsp],xmm0 - movaps xmm14,XMMWORD[128+rsp] - movaps XMMWORD[128+rsp],xmm0 - movaps xmm15,XMMWORD[144+rsp] - movaps XMMWORD[144+rsp],xmm0 - lea rax,[((160+40))+rsp] -$L$ocb_dec_pop: - 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$ocb_dec_epilogue: - mov rdi,QWORD[8+rsp] ;WIN64 epilogue - mov rsi,QWORD[16+rsp] - DB 0F3h,0C3h ;repret - -$L$SEH_end_aesni_ocb_decrypt: - - -ALIGN 32 -__ocb_decrypt6: - - pxor xmm15,xmm9 - movdqu xmm11,XMMWORD[r12*1+rbx] - movdqa xmm12,xmm10 - movdqu xmm13,XMMWORD[r13*1+rbx] - movdqa xmm14,xmm10 - pxor xmm10,xmm15 - movdqu xmm15,XMMWORD[r14*1+rbx] - pxor xmm11,xmm10 - pxor xmm2,xmm10 - pxor xmm12,xmm11 - pxor xmm3,xmm11 - pxor xmm13,xmm12 - pxor xmm4,xmm12 - pxor xmm14,xmm13 - pxor xmm5,xmm13 - pxor xmm15,xmm14 - pxor xmm6,xmm14 - pxor xmm7,xmm15 - movups xmm0,XMMWORD[32+r11] - - lea r12,[1+r8] - lea r13,[3+r8] - lea r14,[5+r8] - add r8,6 - pxor xmm10,xmm9 - bsf r12,r12 - bsf r13,r13 - bsf r14,r14 - -DB 102,15,56,222,209 -DB 102,15,56,222,217 -DB 102,15,56,222,225 -DB 102,15,56,222,233 - pxor xmm11,xmm9 - pxor xmm12,xmm9 -DB 102,15,56,222,241 - pxor xmm13,xmm9 - pxor xmm14,xmm9 -DB 102,15,56,222,249 - movups xmm1,XMMWORD[48+r11] - pxor xmm15,xmm9 - -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[64+r11] - shl r12,4 - shl r13,4 - jmp NEAR $L$ocb_dec_loop6 - -ALIGN 32 -$L$ocb_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[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$ocb_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[16+r11] - shl r14,4 - -DB 102,65,15,56,223,210 - movdqu xmm10,XMMWORD[rbx] - mov rax,r10 -DB 102,65,15,56,223,219 -DB 102,65,15,56,223,228 -DB 102,65,15,56,223,237 -DB 102,65,15,56,223,246 -DB 102,65,15,56,223,255 - DB 0F3h,0C3h ;repret - - - - -ALIGN 32 -__ocb_decrypt4: - - pxor xmm15,xmm9 - movdqu xmm11,XMMWORD[r12*1+rbx] - movdqa xmm12,xmm10 - movdqu xmm13,XMMWORD[r13*1+rbx] - pxor xmm10,xmm15 - pxor xmm11,xmm10 - pxor xmm2,xmm10 - pxor xmm12,xmm11 - pxor xmm3,xmm11 - pxor xmm13,xmm12 - pxor xmm4,xmm12 - pxor xmm5,xmm13 - movups xmm0,XMMWORD[32+r11] - - pxor xmm10,xmm9 - pxor xmm11,xmm9 - pxor xmm12,xmm9 - pxor xmm13,xmm9 - -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[48+r11] - -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[64+r11] - jmp NEAR $L$ocb_dec_loop4 - -ALIGN 32 -$L$ocb_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$ocb_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[16+r11] - mov rax,r10 - -DB 102,65,15,56,223,210 -DB 102,65,15,56,223,219 -DB 102,65,15,56,223,228 -DB 102,65,15,56,223,237 - DB 0F3h,0C3h ;repret - - - - -ALIGN 32 -__ocb_decrypt1: - - pxor xmm7,xmm15 - pxor xmm7,xmm9 - pxor xmm2,xmm7 - movups xmm0,XMMWORD[32+r11] - -DB 102,15,56,222,209 - movups xmm1,XMMWORD[48+r11] - pxor xmm7,xmm9 - -DB 102,15,56,222,208 - movups xmm0,XMMWORD[64+r11] - jmp NEAR $L$ocb_dec_loop1 - -ALIGN 32 -$L$ocb_dec_loop1: -DB 102,15,56,222,209 - movups xmm1,XMMWORD[rax*1+rcx] - add rax,32 - -DB 102,15,56,222,208 - movups xmm0,XMMWORD[((-16))+rax*1+rcx] - jnz NEAR $L$ocb_dec_loop1 - -DB 102,15,56,222,209 - movups xmm1,XMMWORD[16+r11] - mov rax,r10 - -DB 102,15,56,223,215 - DB 0F3h,0C3h ;repret - - -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 r11,[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: - mov rbp,rcx - 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 - mov rbp,-1 - 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 - adc rbp,0 - and rbp,128 -DB 102,68,15,56,222,201 - add rbp,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[rbp] -DB 102,65,15,56,223,237 -DB 102,65,15,56,223,246 - movdqu xmm12,XMMWORD[16+rbp] - movdqu xmm13,XMMWORD[32+rbp] -DB 102,65,15,56,223,255 -DB 102,68,15,56,223,193 - movdqu xmm14,XMMWORD[48+rbp] - movdqu xmm15,XMMWORD[64+rbp] -DB 102,69,15,56,223,202 - movdqa xmm10,xmm0 - movdqu xmm1,XMMWORD[80+rbp] - 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,rbp - 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 - mov rbp,QWORD[((-8))+r11] - - lea rsp,[r11] - -$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[208+r8] - - lea rsi,[((-168))+rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - - mov rbp,QWORD[((-8))+rax] - mov QWORD[160+r8],rbp - jmp NEAR $L$common_seh_tail - - - -ALIGN 16 -ocb_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 r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - mov r10d,DWORD[8+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$ocb_no_xmm - - mov rax,QWORD[152+r8] - - lea rsi,[rax] - lea rdi,[512+r8] - mov ecx,20 - DD 0xa548f3fc - lea rax,[((160+40))+rax] - -$L$ocb_no_xmm: - 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 -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 - - mov rax,QWORD[120+r8] - - lea r10,[$L$cbc_decrypt_body] - cmp rbx,r10 - jb NEAR $L$common_seh_tail - - mov rax,QWORD[152+r8] - - 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 - - mov rax,QWORD[208+r8] - - mov rbp,QWORD[((-8))+rax] - mov QWORD[160+r8],rbp - -$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_ocb_encrypt wrt ..imagebase - DD $L$SEH_end_aesni_ocb_encrypt wrt ..imagebase - DD $L$SEH_info_ocb_enc wrt ..imagebase - - DD $L$SEH_begin_aesni_ocb_decrypt wrt ..imagebase - DD $L$SEH_end_aesni_ocb_decrypt wrt ..imagebase - DD $L$SEH_info_ocb_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_ocb_enc: -DB 9,0,0,0 - DD ocb_se_handler wrt ..imagebase - DD $L$ocb_enc_body wrt ..imagebase,$L$ocb_enc_epilogue wrt ..imagebase - DD $L$ocb_enc_pop wrt ..imagebase - DD 0 -$L$SEH_info_ocb_dec: -DB 9,0,0,0 - DD ocb_se_handler wrt ..imagebase - DD $L$ocb_dec_body wrt ..imagebase,$L$ocb_dec_epilogue wrt ..imagebase - DD $L$ocb_dec_pop wrt ..imagebase - DD 0 -$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/CryptoPkg/Library/OpensslLib/X64/crypto/aes/vpaes-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/aes/vpaes-x86_64.nasm deleted file mode 100644 index 1c911fa294f6..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/aes/vpaes-x86_64.nasm +++ /dev/null @@ -1,1173 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/aes/asm/vpaes-x86_64.pl -; -; Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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/CryptoPkg/Library/OpensslLib/X64/crypto/modes/aesni-gcm-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/modes/aesni-gcm-x86_64.nasm deleted file mode 100644 index 9e1a2d0a4036..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/modes/aesni-gcm-x86_64.nasm +++ /dev/null @@ -1,34 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/modes/asm/aesni-gcm-x86_64.pl -; -; Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -default rel -%define XMMWORD -%define YMMWORD -%define ZMMWORD -section .text code align=64 - - -global aesni_gcm_encrypt - -aesni_gcm_encrypt: - - xor eax,eax - DB 0F3h,0C3h ;repret - - - -global aesni_gcm_decrypt - -aesni_gcm_decrypt: - - xor eax,eax - DB 0F3h,0C3h ;repret - - diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/modes/ghash-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/modes/ghash-x86_64.nasm deleted file mode 100644 index 60f283d5fbfa..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/modes/ghash-x86_64.nasm +++ /dev/null @@ -1,1569 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/modes/asm/ghash-x86_64.pl -; -; Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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 - - push r13 - - push r14 - - push r15 - - sub rsp,280 - -$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 - - lea rsi,[((280+48))+rsp] - - mov rbx,QWORD[((-8))+rsi] - - lea rsp,[rsi] - -$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+48))+rsp] - - 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$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: - - jmp NEAR $L$_init_clmul - - -global gcm_gmult_avx - -ALIGN 32 -gcm_gmult_avx: - - jmp NEAR $L$_gmult_clmul - - -global gcm_ghash_avx - -ALIGN 32 -gcm_ghash_avx: - - jmp NEAR $L$_ghash_clmul - - -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,[((48+280))+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_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 -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/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-mb-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-mb-x86_64.nasm deleted file mode 100644 index f3b7b0e35eb0..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-mb-x86_64.nasm +++ /dev/null @@ -1,3137 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/sha/asm/sha1-mb-x86_64.pl -; -; Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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 - 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 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 - -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 -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 diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-x86_64.nasm deleted file mode 100644 index c6d68d348f41..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-x86_64.nasm +++ /dev/null @@ -1,2884 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/sha/asm/sha1-x86_64.pl -; -; Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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 - 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 r11,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - lea rsp,[((-160))+rsp] - movaps XMMWORD[(-40-96)+r11],xmm6 - movaps XMMWORD[(-40-80)+r11],xmm7 - movaps XMMWORD[(-40-64)+r11],xmm8 - movaps XMMWORD[(-40-48)+r11],xmm9 - movaps XMMWORD[(-40-32)+r11],xmm10 - movaps XMMWORD[(-40-16)+r11],xmm11 -$L$prologue_ssse3: - and rsp,-64 - mov r8,rdi - mov r9,rsi - mov r10,rdx - - shl r10,6 - add r10,r9 - lea r14,[((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+r14] - movdqa xmm9,XMMWORD[((-64))+r14] - 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))+r14] - 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))+r14] - 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))+r14] - 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))+r14] - 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[r14] - 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+r14] - 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+r14] - movdqa xmm9,XMMWORD[((-64))+r14] - 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))+r11] - movaps xmm7,XMMWORD[((-40-80))+r11] - movaps xmm8,XMMWORD[((-40-64))+r11] - movaps xmm9,XMMWORD[((-40-48))+r11] - movaps xmm10,XMMWORD[((-40-32))+r11] - movaps xmm11,XMMWORD[((-40-16))+r11] - mov r14,QWORD[((-40))+r11] - - mov r13,QWORD[((-32))+r11] - - mov r12,QWORD[((-24))+r11] - - mov rbp,QWORD[((-16))+r11] - - mov rbx,QWORD[((-8))+r11] - - lea rsp,[r11] - -$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 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[208+r8] - - mov r10d,DWORD[4+r11] - lea r10,[r10*1+rsi] - cmp rbx,r10 - jae NEAR $L$common_seh_tail - - 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 -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 diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-mb-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-mb-x86_64.nasm deleted file mode 100644 index 7cd5eae85ca1..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-mb-x86_64.nasm +++ /dev/null @@ -1,3461 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/sha/asm/sha256-mb-x86_64.pl -; -; Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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 - 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 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 - -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 -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 diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-x86_64.nasm deleted file mode 100644 index 70e49862a364..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-x86_64.nasm +++ /dev/null @@ -1,3313 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/sha/asm/sha512-x86_64.pl -; -; Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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 - test r10d,512 - jnz NEAR $L$ssse3_shortcut - mov rax,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - 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[88+rsp],rax - -$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[88+rsp] - - 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$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: - mov rax,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - 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[88+rsp],rax - - 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[88+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[((-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$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: -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 rsi,rax - mov rax,QWORD[((64+24))+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 -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 diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha512-x86_64.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha512-x86_64.nasm deleted file mode 100644 index c6397d439324..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha512-x86_64.nasm +++ /dev/null @@ -1,1938 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/sha/asm/sha512-x86_64.pl -; -; Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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 - - - - mov rax,rsp - - push rbx - - push rbp - - push r12 - - push r13 - - push r14 - - push r15 - - 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[152+rsp],rax - -$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[152+rsp] - - 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$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 -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 rsi,rax - mov rax,QWORD[((128+24))+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 -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 diff --git a/CryptoPkg/Library/OpensslLib/X64/crypto/x86_64cpuid.nasm b/CryptoPkg/Library/OpensslLib/X64/crypto/x86_64cpuid.nasm deleted file mode 100644 index 2a3d5bcf72e5..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64/crypto/x86_64cpuid.nasm +++ /dev/null @@ -1,491 +0,0 @@ -; WARNING: do not edit! -; Generated from openssl/crypto/x86_64cpuid.pl -; -; Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. -; -; Licensed under the OpenSSL license (the "License"). You may not use -; this file except in compliance with the License. You can obtain a copy -; in the file LICENSE in the source distribution or at -; https://www.openssl.org/source/license.html - -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 QWORD[8+rdi],rax - 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 - movd xmm0,eax - 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: - movd eax,xmm0 - and eax,0x0fff0ff0 - cmp eax,0x00050650 - jne NEAR $L$notskylakex - and ebx,0xfffeffff - -$L$notskylakex: - mov DWORD[8+rdi],ebx - mov DWORD[12+rdi],ecx -$L$no_extended_info: - - bt r9d,27 - jnc NEAR $L$clear_avx - xor ecx,ecx -DB 0x0f,0x01,0xd0 - and eax,0xe6 - cmp eax,0xe6 - je NEAR $L$done - and DWORD[8+rdi],0x3fdeffff - - - - - and eax,6 - cmp eax,6 - je NEAR $L$done -$L$clear_avx: - mov eax,0xefffe7ff - and r9d,eax - mov eax,0x3fdeffdf - and DWORD[8+rdi],eax -$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 CRYPTO_memcmp - -ALIGN 16 -CRYPTO_memcmp: - - xor rax,rax - xor r10,r10 - cmp r8,0 - je NEAR $L$no_data - cmp r8,16 - jne NEAR $L$oop_cmp - mov r10,QWORD[rcx] - mov r11,QWORD[8+rcx] - mov r8,1 - xor r10,QWORD[rdx] - xor r11,QWORD[8+rdx] - or r10,r11 - cmovnz rax,r8 - DB 0F3h,0C3h ;repret - -ALIGN 16 -$L$oop_cmp: - mov r10b,BYTE[rcx] - lea rcx,[1+rcx] - xor r10b,BYTE[rdx] - lea rdx,[1+rdx] - or al,r10b - dec r8 - jnz NEAR $L$oop_cmp - neg rax - shr rax,63 -$L$no_data: - 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_instrument_bus - -ALIGN 16 -OPENSSL_instrument_bus: - - mov r10,rcx - mov rcx,rdx - mov r11,rdx - - rdtsc - mov r8d,eax - mov r9d,0 - clflush [r10] -DB 0xf0 - add DWORD[r10],r9d - jmp NEAR $L$oop -ALIGN 16 -$L$oop: rdtsc - mov edx,eax - sub eax,r8d - mov r8d,edx - mov r9d,eax - clflush [r10] -DB 0xf0 - add DWORD[r10],eax - lea r10,[4+r10] - sub rcx,1 - jnz NEAR $L$oop - - mov rax,r11 - DB 0F3h,0C3h ;repret - - - -global OPENSSL_instrument_bus2 - -ALIGN 16 -OPENSSL_instrument_bus2: - - mov r10,rcx - mov rcx,rdx - mov r11,r8 - mov QWORD[8+rsp],rcx - - rdtsc - mov r8d,eax - mov r9d,0 - - clflush [r10] -DB 0xf0 - add DWORD[r10],r9d - - rdtsc - mov edx,eax - sub eax,r8d - mov r8d,edx - mov r9d,eax -$L$oop2: - clflush [r10] -DB 0xf0 - add DWORD[r10],eax - - sub r11,1 - jz NEAR $L$done2 - - rdtsc - mov edx,eax - sub eax,r8d - mov r8d,edx - cmp eax,r9d - mov r9d,eax - mov edx,0 - setne dl - sub rcx,rdx - lea r10,[rdx*4+r10] - jnz NEAR $L$oop2 - -$L$done2: - mov rax,QWORD[8+rsp] - sub rax,rcx - DB 0F3h,0C3h ;repret - - -global OPENSSL_ia32_rdrand_bytes - -ALIGN 16 -OPENSSL_ia32_rdrand_bytes: - - xor rax,rax - cmp rdx,0 - je NEAR $L$done_rdrand_bytes - - mov r11,8 -$L$oop_rdrand_bytes: -DB 73,15,199,242 - jc NEAR $L$break_rdrand_bytes - dec r11 - jnz NEAR $L$oop_rdrand_bytes - jmp NEAR $L$done_rdrand_bytes - -ALIGN 16 -$L$break_rdrand_bytes: - cmp rdx,8 - jb NEAR $L$tail_rdrand_bytes - mov QWORD[rcx],r10 - lea rcx,[8+rcx] - add rax,8 - sub rdx,8 - jz NEAR $L$done_rdrand_bytes - mov r11,8 - jmp NEAR $L$oop_rdrand_bytes - -ALIGN 16 -$L$tail_rdrand_bytes: - mov BYTE[rcx],r10b - lea rcx,[1+rcx] - inc rax - shr r10,8 - dec rdx - jnz NEAR $L$tail_rdrand_bytes - -$L$done_rdrand_bytes: - xor r10,r10 - DB 0F3h,0C3h ;repret - - -global OPENSSL_ia32_rdseed_bytes - -ALIGN 16 -OPENSSL_ia32_rdseed_bytes: - - xor rax,rax - cmp rdx,0 - je NEAR $L$done_rdseed_bytes - - mov r11,8 -$L$oop_rdseed_bytes: -DB 73,15,199,250 - jc NEAR $L$break_rdseed_bytes - dec r11 - jnz NEAR $L$oop_rdseed_bytes - jmp NEAR $L$done_rdseed_bytes - -ALIGN 16 -$L$break_rdseed_bytes: - cmp rdx,8 - jb NEAR $L$tail_rdseed_bytes - mov QWORD[rcx],r10 - lea rcx,[8+rcx] - add rax,8 - sub rdx,8 - jz NEAR $L$done_rdseed_bytes - mov r11,8 - jmp NEAR $L$oop_rdseed_bytes - -ALIGN 16 -$L$tail_rdseed_bytes: - mov BYTE[rcx],r10b - lea rcx,[1+rcx] - inc rax - shr r10,8 - dec rdx - jnz NEAR $L$tail_rdseed_bytes - -$L$done_rdseed_bytes: - xor r10,r10 - DB 0F3h,0C3h ;repret - - diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-mb-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-mb-x86_64.S deleted file mode 100644 index 7749fd685a27..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-mb-x86_64.S +++ /dev/null @@ -1,552 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/aes/asm/aesni-mb-x86_64.pl -# -# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - - - -.globl aesni_multi_cbc_encrypt -.type aesni_multi_cbc_encrypt,@function -.align 32 -aesni_multi_cbc_encrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - - - - - subq $48,%rsp - andq $-64,%rsp - movq %rax,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x08 - -.Lenc4x_body: - movdqu (%rsi),%xmm12 - leaq 120(%rsi),%rsi - leaq 80(%rdi),%rdi - -.Lenc4x_loop_grande: - movl %edx,24(%rsp) - xorl %edx,%edx - movl -64(%rdi),%ecx - movq -80(%rdi),%r8 - cmpl %edx,%ecx - movq -72(%rdi),%r12 - cmovgl %ecx,%edx - testl %ecx,%ecx - movdqu -56(%rdi),%xmm2 - movl %ecx,32(%rsp) - cmovleq %rsp,%r8 - movl -24(%rdi),%ecx - movq -40(%rdi),%r9 - cmpl %edx,%ecx - movq -32(%rdi),%r13 - cmovgl %ecx,%edx - testl %ecx,%ecx - movdqu -16(%rdi),%xmm3 - movl %ecx,36(%rsp) - cmovleq %rsp,%r9 - movl 16(%rdi),%ecx - movq 0(%rdi),%r10 - cmpl %edx,%ecx - movq 8(%rdi),%r14 - cmovgl %ecx,%edx - testl %ecx,%ecx - movdqu 24(%rdi),%xmm4 - movl %ecx,40(%rsp) - cmovleq %rsp,%r10 - movl 56(%rdi),%ecx - movq 40(%rdi),%r11 - cmpl %edx,%ecx - movq 48(%rdi),%r15 - cmovgl %ecx,%edx - testl %ecx,%ecx - movdqu 64(%rdi),%xmm5 - movl %ecx,44(%rsp) - cmovleq %rsp,%r11 - testl %edx,%edx - jz .Lenc4x_done - - movups 16-120(%rsi),%xmm1 - pxor %xmm12,%xmm2 - movups 32-120(%rsi),%xmm0 - pxor %xmm12,%xmm3 - movl 240-120(%rsi),%eax - pxor %xmm12,%xmm4 - movdqu (%r8),%xmm6 - pxor %xmm12,%xmm5 - movdqu (%r9),%xmm7 - pxor %xmm6,%xmm2 - movdqu (%r10),%xmm8 - pxor %xmm7,%xmm3 - movdqu (%r11),%xmm9 - pxor %xmm8,%xmm4 - pxor %xmm9,%xmm5 - movdqa 32(%rsp),%xmm10 - xorq %rbx,%rbx - jmp .Loop_enc4x - -.align 32 -.Loop_enc4x: - addq $16,%rbx - leaq 16(%rsp),%rbp - movl $1,%ecx - subq %rbx,%rbp - -.byte 102,15,56,220,209 - prefetcht0 31(%r8,%rbx,1) - prefetcht0 31(%r9,%rbx,1) -.byte 102,15,56,220,217 - prefetcht0 31(%r10,%rbx,1) - prefetcht0 31(%r10,%rbx,1) -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movups 48-120(%rsi),%xmm1 - cmpl 32(%rsp),%ecx -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 - cmovgeq %rbp,%r8 - cmovgq %rbp,%r12 -.byte 102,15,56,220,232 - movups -56(%rsi),%xmm0 - cmpl 36(%rsp),%ecx -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 - cmovgeq %rbp,%r9 - cmovgq %rbp,%r13 -.byte 102,15,56,220,233 - movups -40(%rsi),%xmm1 - cmpl 40(%rsp),%ecx -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 - cmovgeq %rbp,%r10 - cmovgq %rbp,%r14 -.byte 102,15,56,220,232 - movups -24(%rsi),%xmm0 - cmpl 44(%rsp),%ecx -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 - cmovgeq %rbp,%r11 - cmovgq %rbp,%r15 -.byte 102,15,56,220,233 - movups -8(%rsi),%xmm1 - movdqa %xmm10,%xmm11 -.byte 102,15,56,220,208 - prefetcht0 15(%r12,%rbx,1) - prefetcht0 15(%r13,%rbx,1) -.byte 102,15,56,220,216 - prefetcht0 15(%r14,%rbx,1) - prefetcht0 15(%r15,%rbx,1) -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - movups 128-120(%rsi),%xmm0 - pxor %xmm12,%xmm12 - -.byte 102,15,56,220,209 - pcmpgtd %xmm12,%xmm11 - movdqu -120(%rsi),%xmm12 -.byte 102,15,56,220,217 - paddd %xmm11,%xmm10 - movdqa %xmm10,32(%rsp) -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movups 144-120(%rsi),%xmm1 - - cmpl $11,%eax - -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - movups 160-120(%rsi),%xmm0 - - jb .Lenc4x_tail - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movups 176-120(%rsi),%xmm1 - -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - movups 192-120(%rsi),%xmm0 - - je .Lenc4x_tail - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movups 208-120(%rsi),%xmm1 - -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - movups 224-120(%rsi),%xmm0 - jmp .Lenc4x_tail - -.align 32 -.Lenc4x_tail: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movdqu (%r8,%rbx,1),%xmm6 - movdqu 16-120(%rsi),%xmm1 - -.byte 102,15,56,221,208 - movdqu (%r9,%rbx,1),%xmm7 - pxor %xmm12,%xmm6 -.byte 102,15,56,221,216 - movdqu (%r10,%rbx,1),%xmm8 - pxor %xmm12,%xmm7 -.byte 102,15,56,221,224 - movdqu (%r11,%rbx,1),%xmm9 - pxor %xmm12,%xmm8 -.byte 102,15,56,221,232 - movdqu 32-120(%rsi),%xmm0 - pxor %xmm12,%xmm9 - - movups %xmm2,-16(%r12,%rbx,1) - pxor %xmm6,%xmm2 - movups %xmm3,-16(%r13,%rbx,1) - pxor %xmm7,%xmm3 - movups %xmm4,-16(%r14,%rbx,1) - pxor %xmm8,%xmm4 - movups %xmm5,-16(%r15,%rbx,1) - pxor %xmm9,%xmm5 - - decl %edx - jnz .Loop_enc4x - - movq 16(%rsp),%rax -.cfi_def_cfa %rax,8 - movl 24(%rsp),%edx - - - - - - - - - - - leaq 160(%rdi),%rdi - decl %edx - jnz .Lenc4x_loop_grande - -.Lenc4x_done: - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbp -.cfi_restore %rbp - movq -8(%rax),%rbx -.cfi_restore %rbx - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lenc4x_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_multi_cbc_encrypt,.-aesni_multi_cbc_encrypt - -.globl aesni_multi_cbc_decrypt -.type aesni_multi_cbc_decrypt,@function -.align 32 -aesni_multi_cbc_decrypt: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - - - - - - - subq $48,%rsp - andq $-64,%rsp - movq %rax,16(%rsp) -.cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x08 - -.Ldec4x_body: - movdqu (%rsi),%xmm12 - leaq 120(%rsi),%rsi - leaq 80(%rdi),%rdi - -.Ldec4x_loop_grande: - movl %edx,24(%rsp) - xorl %edx,%edx - movl -64(%rdi),%ecx - movq -80(%rdi),%r8 - cmpl %edx,%ecx - movq -72(%rdi),%r12 - cmovgl %ecx,%edx - testl %ecx,%ecx - movdqu -56(%rdi),%xmm6 - movl %ecx,32(%rsp) - cmovleq %rsp,%r8 - movl -24(%rdi),%ecx - movq -40(%rdi),%r9 - cmpl %edx,%ecx - movq -32(%rdi),%r13 - cmovgl %ecx,%edx - testl %ecx,%ecx - movdqu -16(%rdi),%xmm7 - movl %ecx,36(%rsp) - cmovleq %rsp,%r9 - movl 16(%rdi),%ecx - movq 0(%rdi),%r10 - cmpl %edx,%ecx - movq 8(%rdi),%r14 - cmovgl %ecx,%edx - testl %ecx,%ecx - movdqu 24(%rdi),%xmm8 - movl %ecx,40(%rsp) - cmovleq %rsp,%r10 - movl 56(%rdi),%ecx - movq 40(%rdi),%r11 - cmpl %edx,%ecx - movq 48(%rdi),%r15 - cmovgl %ecx,%edx - testl %ecx,%ecx - movdqu 64(%rdi),%xmm9 - movl %ecx,44(%rsp) - cmovleq %rsp,%r11 - testl %edx,%edx - jz .Ldec4x_done - - movups 16-120(%rsi),%xmm1 - movups 32-120(%rsi),%xmm0 - movl 240-120(%rsi),%eax - movdqu (%r8),%xmm2 - movdqu (%r9),%xmm3 - pxor %xmm12,%xmm2 - movdqu (%r10),%xmm4 - pxor %xmm12,%xmm3 - movdqu (%r11),%xmm5 - pxor %xmm12,%xmm4 - pxor %xmm12,%xmm5 - movdqa 32(%rsp),%xmm10 - xorq %rbx,%rbx - jmp .Loop_dec4x - -.align 32 -.Loop_dec4x: - addq $16,%rbx - leaq 16(%rsp),%rbp - movl $1,%ecx - subq %rbx,%rbp - -.byte 102,15,56,222,209 - prefetcht0 31(%r8,%rbx,1) - prefetcht0 31(%r9,%rbx,1) -.byte 102,15,56,222,217 - prefetcht0 31(%r10,%rbx,1) - prefetcht0 31(%r11,%rbx,1) -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - movups 48-120(%rsi),%xmm1 - cmpl 32(%rsp),%ecx -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 - cmovgeq %rbp,%r8 - cmovgq %rbp,%r12 -.byte 102,15,56,222,232 - movups -56(%rsi),%xmm0 - cmpl 36(%rsp),%ecx -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 - cmovgeq %rbp,%r9 - cmovgq %rbp,%r13 -.byte 102,15,56,222,233 - movups -40(%rsi),%xmm1 - cmpl 40(%rsp),%ecx -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 - cmovgeq %rbp,%r10 - cmovgq %rbp,%r14 -.byte 102,15,56,222,232 - movups -24(%rsi),%xmm0 - cmpl 44(%rsp),%ecx -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 - cmovgeq %rbp,%r11 - cmovgq %rbp,%r15 -.byte 102,15,56,222,233 - movups -8(%rsi),%xmm1 - movdqa %xmm10,%xmm11 -.byte 102,15,56,222,208 - prefetcht0 15(%r12,%rbx,1) - prefetcht0 15(%r13,%rbx,1) -.byte 102,15,56,222,216 - prefetcht0 15(%r14,%rbx,1) - prefetcht0 15(%r15,%rbx,1) -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 - movups 128-120(%rsi),%xmm0 - pxor %xmm12,%xmm12 - -.byte 102,15,56,222,209 - pcmpgtd %xmm12,%xmm11 - movdqu -120(%rsi),%xmm12 -.byte 102,15,56,222,217 - paddd %xmm11,%xmm10 - movdqa %xmm10,32(%rsp) -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - movups 144-120(%rsi),%xmm1 - - cmpl $11,%eax - -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 - movups 160-120(%rsi),%xmm0 - - jb .Ldec4x_tail - -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - movups 176-120(%rsi),%xmm1 - -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 - movups 192-120(%rsi),%xmm0 - - je .Ldec4x_tail - -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - movups 208-120(%rsi),%xmm1 - -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 - movups 224-120(%rsi),%xmm0 - jmp .Ldec4x_tail - -.align 32 -.Ldec4x_tail: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 - pxor %xmm0,%xmm6 - pxor %xmm0,%xmm7 -.byte 102,15,56,222,233 - movdqu 16-120(%rsi),%xmm1 - pxor %xmm0,%xmm8 - pxor %xmm0,%xmm9 - movdqu 32-120(%rsi),%xmm0 - -.byte 102,15,56,223,214 -.byte 102,15,56,223,223 - movdqu -16(%r8,%rbx,1),%xmm6 - movdqu -16(%r9,%rbx,1),%xmm7 -.byte 102,65,15,56,223,224 -.byte 102,65,15,56,223,233 - movdqu -16(%r10,%rbx,1),%xmm8 - movdqu -16(%r11,%rbx,1),%xmm9 - - movups %xmm2,-16(%r12,%rbx,1) - movdqu (%r8,%rbx,1),%xmm2 - movups %xmm3,-16(%r13,%rbx,1) - movdqu (%r9,%rbx,1),%xmm3 - pxor %xmm12,%xmm2 - movups %xmm4,-16(%r14,%rbx,1) - movdqu (%r10,%rbx,1),%xmm4 - pxor %xmm12,%xmm3 - movups %xmm5,-16(%r15,%rbx,1) - movdqu (%r11,%rbx,1),%xmm5 - pxor %xmm12,%xmm4 - pxor %xmm12,%xmm5 - - decl %edx - jnz .Loop_dec4x - - movq 16(%rsp),%rax -.cfi_def_cfa %rax,8 - movl 24(%rsp),%edx - - leaq 160(%rdi),%rdi - decl %edx - jnz .Ldec4x_loop_grande - -.Ldec4x_done: - movq -48(%rax),%r15 -.cfi_restore %r15 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbp -.cfi_restore %rbp - movq -8(%rax),%rbx -.cfi_restore %rbx - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Ldec4x_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_multi_cbc_decrypt,.-aesni_multi_cbc_decrypt diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-sha1-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-sha1-x86_64.S deleted file mode 100644 index ab763a2eec37..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-sha1-x86_64.S +++ /dev/null @@ -1,1719 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/aes/asm/aesni-sha1-x86_64.pl -# -# Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - - -.globl aesni_cbc_sha1_enc -.type aesni_cbc_sha1_enc,@function -.align 32 -aesni_cbc_sha1_enc: -.cfi_startproc - - movl OPENSSL_ia32cap_P+0(%rip),%r10d - movq OPENSSL_ia32cap_P+4(%rip),%r11 - btq $61,%r11 - jc aesni_cbc_sha1_enc_shaext - jmp aesni_cbc_sha1_enc_ssse3 - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc -.type aesni_cbc_sha1_enc_ssse3,@function -.align 32 -aesni_cbc_sha1_enc_ssse3: -.cfi_startproc - movq 8(%rsp),%r10 - - - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - leaq -104(%rsp),%rsp -.cfi_adjust_cfa_offset 104 - - - movq %rdi,%r12 - movq %rsi,%r13 - movq %rdx,%r14 - leaq 112(%rcx),%r15 - movdqu (%r8),%xmm2 - movq %r8,88(%rsp) - shlq $6,%r14 - subq %r12,%r13 - movl 240-112(%r15),%r8d - addq %r10,%r14 - - leaq K_XX_XX(%rip),%r11 - movl 0(%r9),%eax - movl 4(%r9),%ebx - movl 8(%r9),%ecx - movl 12(%r9),%edx - movl %ebx,%esi - movl 16(%r9),%ebp - movl %ecx,%edi - xorl %edx,%edi - andl %edi,%esi - - movdqa 64(%r11),%xmm3 - movdqa 0(%r11),%xmm13 - movdqu 0(%r10),%xmm4 - movdqu 16(%r10),%xmm5 - movdqu 32(%r10),%xmm6 - movdqu 48(%r10),%xmm7 -.byte 102,15,56,0,227 -.byte 102,15,56,0,235 -.byte 102,15,56,0,243 - addq $64,%r10 - paddd %xmm13,%xmm4 -.byte 102,15,56,0,251 - paddd %xmm13,%xmm5 - paddd %xmm13,%xmm6 - movdqa %xmm4,0(%rsp) - psubd %xmm13,%xmm4 - movdqa %xmm5,16(%rsp) - psubd %xmm13,%xmm5 - movdqa %xmm6,32(%rsp) - psubd %xmm13,%xmm6 - movups -112(%r15),%xmm15 - movups 16-112(%r15),%xmm0 - jmp .Loop_ssse3 -.align 32 -.Loop_ssse3: - rorl $2,%ebx - movups 0(%r12),%xmm14 - xorps %xmm15,%xmm14 - xorps %xmm14,%xmm2 - movups -80(%r15),%xmm1 -.byte 102,15,56,220,208 - pshufd $238,%xmm4,%xmm8 - xorl %edx,%esi - movdqa %xmm7,%xmm12 - paddd %xmm7,%xmm13 - movl %eax,%edi - addl 0(%rsp),%ebp - punpcklqdq %xmm5,%xmm8 - xorl %ecx,%ebx - roll $5,%eax - addl %esi,%ebp - psrldq $4,%xmm12 - andl %ebx,%edi - xorl %ecx,%ebx - pxor %xmm4,%xmm8 - addl %eax,%ebp - rorl $7,%eax - pxor %xmm6,%xmm12 - xorl %ecx,%edi - movl %ebp,%esi - addl 4(%rsp),%edx - pxor %xmm12,%xmm8 - xorl %ebx,%eax - roll $5,%ebp - movdqa %xmm13,48(%rsp) - addl %edi,%edx - movups -64(%r15),%xmm0 -.byte 102,15,56,220,209 - andl %eax,%esi - movdqa %xmm8,%xmm3 - xorl %ebx,%eax - addl %ebp,%edx - rorl $7,%ebp - movdqa %xmm8,%xmm12 - xorl %ebx,%esi - pslldq $12,%xmm3 - paddd %xmm8,%xmm8 - movl %edx,%edi - addl 8(%rsp),%ecx - psrld $31,%xmm12 - xorl %eax,%ebp - roll $5,%edx - addl %esi,%ecx - movdqa %xmm3,%xmm13 - andl %ebp,%edi - xorl %eax,%ebp - psrld $30,%xmm3 - addl %edx,%ecx - rorl $7,%edx - por %xmm12,%xmm8 - xorl %eax,%edi - movl %ecx,%esi - addl 12(%rsp),%ebx - movups -48(%r15),%xmm1 -.byte 102,15,56,220,208 - pslld $2,%xmm13 - pxor %xmm3,%xmm8 - xorl %ebp,%edx - movdqa 0(%r11),%xmm3 - roll $5,%ecx - addl %edi,%ebx - andl %edx,%esi - pxor %xmm13,%xmm8 - xorl %ebp,%edx - addl %ecx,%ebx - rorl $7,%ecx - pshufd $238,%xmm5,%xmm9 - xorl %ebp,%esi - movdqa %xmm8,%xmm13 - paddd %xmm8,%xmm3 - movl %ebx,%edi - addl 16(%rsp),%eax - punpcklqdq %xmm6,%xmm9 - xorl %edx,%ecx - roll $5,%ebx - addl %esi,%eax - psrldq $4,%xmm13 - andl %ecx,%edi - xorl %edx,%ecx - pxor %xmm5,%xmm9 - addl %ebx,%eax - rorl $7,%ebx - movups -32(%r15),%xmm0 -.byte 102,15,56,220,209 - pxor %xmm7,%xmm13 - xorl %edx,%edi - movl %eax,%esi - addl 20(%rsp),%ebp - pxor %xmm13,%xmm9 - xorl %ecx,%ebx - roll $5,%eax - movdqa %xmm3,0(%rsp) - addl %edi,%ebp - andl %ebx,%esi - movdqa %xmm9,%xmm12 - xorl %ecx,%ebx - addl %eax,%ebp - rorl $7,%eax - movdqa %xmm9,%xmm13 - xorl %ecx,%esi - pslldq $12,%xmm12 - paddd %xmm9,%xmm9 - movl %ebp,%edi - addl 24(%rsp),%edx - psrld $31,%xmm13 - xorl %ebx,%eax - roll $5,%ebp - addl %esi,%edx - movups -16(%r15),%xmm1 -.byte 102,15,56,220,208 - movdqa %xmm12,%xmm3 - andl %eax,%edi - xorl %ebx,%eax - psrld $30,%xmm12 - addl %ebp,%edx - rorl $7,%ebp - por %xmm13,%xmm9 - xorl %ebx,%edi - movl %edx,%esi - addl 28(%rsp),%ecx - pslld $2,%xmm3 - pxor %xmm12,%xmm9 - xorl %eax,%ebp - movdqa 16(%r11),%xmm12 - roll $5,%edx - addl %edi,%ecx - andl %ebp,%esi - pxor %xmm3,%xmm9 - xorl %eax,%ebp - addl %edx,%ecx - rorl $7,%edx - pshufd $238,%xmm6,%xmm10 - xorl %eax,%esi - movdqa %xmm9,%xmm3 - paddd %xmm9,%xmm12 - movl %ecx,%edi - addl 32(%rsp),%ebx - movups 0(%r15),%xmm0 -.byte 102,15,56,220,209 - punpcklqdq %xmm7,%xmm10 - xorl %ebp,%edx - roll $5,%ecx - addl %esi,%ebx - psrldq $4,%xmm3 - andl %edx,%edi - xorl %ebp,%edx - pxor %xmm6,%xmm10 - addl %ecx,%ebx - rorl $7,%ecx - pxor %xmm8,%xmm3 - xorl %ebp,%edi - movl %ebx,%esi - addl 36(%rsp),%eax - pxor %xmm3,%xmm10 - xorl %edx,%ecx - roll $5,%ebx - movdqa %xmm12,16(%rsp) - addl %edi,%eax - andl %ecx,%esi - movdqa %xmm10,%xmm13 - xorl %edx,%ecx - addl %ebx,%eax - rorl $7,%ebx - movups 16(%r15),%xmm1 -.byte 102,15,56,220,208 - movdqa %xmm10,%xmm3 - xorl %edx,%esi - pslldq $12,%xmm13 - paddd %xmm10,%xmm10 - movl %eax,%edi - addl 40(%rsp),%ebp - psrld $31,%xmm3 - xorl %ecx,%ebx - roll $5,%eax - addl %esi,%ebp - movdqa %xmm13,%xmm12 - andl %ebx,%edi - xorl %ecx,%ebx - psrld $30,%xmm13 - addl %eax,%ebp - rorl $7,%eax - por %xmm3,%xmm10 - xorl %ecx,%edi - movl %ebp,%esi - addl 44(%rsp),%edx - pslld $2,%xmm12 - pxor %xmm13,%xmm10 - xorl %ebx,%eax - movdqa 16(%r11),%xmm13 - roll $5,%ebp - addl %edi,%edx - movups 32(%r15),%xmm0 -.byte 102,15,56,220,209 - andl %eax,%esi - pxor %xmm12,%xmm10 - xorl %ebx,%eax - addl %ebp,%edx - rorl $7,%ebp - pshufd $238,%xmm7,%xmm11 - xorl %ebx,%esi - movdqa %xmm10,%xmm12 - paddd %xmm10,%xmm13 - movl %edx,%edi - addl 48(%rsp),%ecx - punpcklqdq %xmm8,%xmm11 - xorl %eax,%ebp - roll $5,%edx - addl %esi,%ecx - psrldq $4,%xmm12 - andl %ebp,%edi - xorl %eax,%ebp - pxor %xmm7,%xmm11 - addl %edx,%ecx - rorl $7,%edx - pxor %xmm9,%xmm12 - xorl %eax,%edi - movl %ecx,%esi - addl 52(%rsp),%ebx - movups 48(%r15),%xmm1 -.byte 102,15,56,220,208 - pxor %xmm12,%xmm11 - xorl %ebp,%edx - roll $5,%ecx - movdqa %xmm13,32(%rsp) - addl %edi,%ebx - andl %edx,%esi - movdqa %xmm11,%xmm3 - xorl %ebp,%edx - addl %ecx,%ebx - rorl $7,%ecx - movdqa %xmm11,%xmm12 - xorl %ebp,%esi - pslldq $12,%xmm3 - paddd %xmm11,%xmm11 - movl %ebx,%edi - addl 56(%rsp),%eax - psrld $31,%xmm12 - xorl %edx,%ecx - roll $5,%ebx - addl %esi,%eax - movdqa %xmm3,%xmm13 - andl %ecx,%edi - xorl %edx,%ecx - psrld $30,%xmm3 - addl %ebx,%eax - rorl $7,%ebx - cmpl $11,%r8d - jb .Laesenclast1 - movups 64(%r15),%xmm0 -.byte 102,15,56,220,209 - movups 80(%r15),%xmm1 -.byte 102,15,56,220,208 - je .Laesenclast1 - movups 96(%r15),%xmm0 -.byte 102,15,56,220,209 - movups 112(%r15),%xmm1 -.byte 102,15,56,220,208 -.Laesenclast1: -.byte 102,15,56,221,209 - movups 16-112(%r15),%xmm0 - por %xmm12,%xmm11 - xorl %edx,%edi - movl %eax,%esi - addl 60(%rsp),%ebp - pslld $2,%xmm13 - pxor %xmm3,%xmm11 - xorl %ecx,%ebx - movdqa 16(%r11),%xmm3 - roll $5,%eax - addl %edi,%ebp - andl %ebx,%esi - pxor %xmm13,%xmm11 - pshufd $238,%xmm10,%xmm13 - xorl %ecx,%ebx - addl %eax,%ebp - rorl $7,%eax - pxor %xmm8,%xmm4 - xorl %ecx,%esi - movl %ebp,%edi - addl 0(%rsp),%edx - punpcklqdq %xmm11,%xmm13 - xorl %ebx,%eax - roll $5,%ebp - pxor %xmm5,%xmm4 - addl %esi,%edx - movups 16(%r12),%xmm14 - xorps %xmm15,%xmm14 - movups %xmm2,0(%r12,%r13,1) - xorps %xmm14,%xmm2 - movups -80(%r15),%xmm1 -.byte 102,15,56,220,208 - andl %eax,%edi - movdqa %xmm3,%xmm12 - xorl %ebx,%eax - paddd %xmm11,%xmm3 - addl %ebp,%edx - pxor %xmm13,%xmm4 - rorl $7,%ebp - xorl %ebx,%edi - movl %edx,%esi - addl 4(%rsp),%ecx - movdqa %xmm4,%xmm13 - xorl %eax,%ebp - roll $5,%edx - movdqa %xmm3,48(%rsp) - addl %edi,%ecx - andl %ebp,%esi - xorl %eax,%ebp - pslld $2,%xmm4 - addl %edx,%ecx - rorl $7,%edx - psrld $30,%xmm13 - xorl %eax,%esi - movl %ecx,%edi - addl 8(%rsp),%ebx - movups -64(%r15),%xmm0 -.byte 102,15,56,220,209 - por %xmm13,%xmm4 - xorl %ebp,%edx - roll $5,%ecx - pshufd $238,%xmm11,%xmm3 - addl %esi,%ebx - andl %edx,%edi - xorl %ebp,%edx - addl %ecx,%ebx - addl 12(%rsp),%eax - xorl %ebp,%edi - movl %ebx,%esi - roll $5,%ebx - addl %edi,%eax - xorl %edx,%esi - rorl $7,%ecx - addl %ebx,%eax - pxor %xmm9,%xmm5 - addl 16(%rsp),%ebp - movups -48(%r15),%xmm1 -.byte 102,15,56,220,208 - xorl %ecx,%esi - punpcklqdq %xmm4,%xmm3 - movl %eax,%edi - roll $5,%eax - pxor %xmm6,%xmm5 - addl %esi,%ebp - xorl %ecx,%edi - movdqa %xmm12,%xmm13 - rorl $7,%ebx - paddd %xmm4,%xmm12 - addl %eax,%ebp - pxor %xmm3,%xmm5 - addl 20(%rsp),%edx - xorl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - movdqa %xmm5,%xmm3 - addl %edi,%edx - xorl %ebx,%esi - movdqa %xmm12,0(%rsp) - rorl $7,%eax - addl %ebp,%edx - addl 24(%rsp),%ecx - pslld $2,%xmm5 - xorl %eax,%esi - movl %edx,%edi - psrld $30,%xmm3 - roll $5,%edx - addl %esi,%ecx - movups -32(%r15),%xmm0 -.byte 102,15,56,220,209 - xorl %eax,%edi - rorl $7,%ebp - por %xmm3,%xmm5 - addl %edx,%ecx - addl 28(%rsp),%ebx - pshufd $238,%xmm4,%xmm12 - xorl %ebp,%edi - movl %ecx,%esi - roll $5,%ecx - addl %edi,%ebx - xorl %ebp,%esi - rorl $7,%edx - addl %ecx,%ebx - pxor %xmm10,%xmm6 - addl 32(%rsp),%eax - xorl %edx,%esi - punpcklqdq %xmm5,%xmm12 - movl %ebx,%edi - roll $5,%ebx - pxor %xmm7,%xmm6 - addl %esi,%eax - xorl %edx,%edi - movdqa 32(%r11),%xmm3 - rorl $7,%ecx - paddd %xmm5,%xmm13 - addl %ebx,%eax - pxor %xmm12,%xmm6 - addl 36(%rsp),%ebp - movups -16(%r15),%xmm1 -.byte 102,15,56,220,208 - xorl %ecx,%edi - movl %eax,%esi - roll $5,%eax - movdqa %xmm6,%xmm12 - addl %edi,%ebp - xorl %ecx,%esi - movdqa %xmm13,16(%rsp) - rorl $7,%ebx - addl %eax,%ebp - addl 40(%rsp),%edx - pslld $2,%xmm6 - xorl %ebx,%esi - movl %ebp,%edi - psrld $30,%xmm12 - roll $5,%ebp - addl %esi,%edx - xorl %ebx,%edi - rorl $7,%eax - por %xmm12,%xmm6 - addl %ebp,%edx - addl 44(%rsp),%ecx - pshufd $238,%xmm5,%xmm13 - xorl %eax,%edi - movl %edx,%esi - roll $5,%edx - addl %edi,%ecx - movups 0(%r15),%xmm0 -.byte 102,15,56,220,209 - xorl %eax,%esi - rorl $7,%ebp - addl %edx,%ecx - pxor %xmm11,%xmm7 - addl 48(%rsp),%ebx - xorl %ebp,%esi - punpcklqdq %xmm6,%xmm13 - movl %ecx,%edi - roll $5,%ecx - pxor %xmm8,%xmm7 - addl %esi,%ebx - xorl %ebp,%edi - movdqa %xmm3,%xmm12 - rorl $7,%edx - paddd %xmm6,%xmm3 - addl %ecx,%ebx - pxor %xmm13,%xmm7 - addl 52(%rsp),%eax - xorl %edx,%edi - movl %ebx,%esi - roll $5,%ebx - movdqa %xmm7,%xmm13 - addl %edi,%eax - xorl %edx,%esi - movdqa %xmm3,32(%rsp) - rorl $7,%ecx - addl %ebx,%eax - addl 56(%rsp),%ebp - movups 16(%r15),%xmm1 -.byte 102,15,56,220,208 - pslld $2,%xmm7 - xorl %ecx,%esi - movl %eax,%edi - psrld $30,%xmm13 - roll $5,%eax - addl %esi,%ebp - xorl %ecx,%edi - rorl $7,%ebx - por %xmm13,%xmm7 - addl %eax,%ebp - addl 60(%rsp),%edx - pshufd $238,%xmm6,%xmm3 - xorl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - addl %edi,%edx - xorl %ebx,%esi - rorl $7,%eax - addl %ebp,%edx - pxor %xmm4,%xmm8 - addl 0(%rsp),%ecx - xorl %eax,%esi - punpcklqdq %xmm7,%xmm3 - movl %edx,%edi - roll $5,%edx - pxor %xmm9,%xmm8 - addl %esi,%ecx - movups 32(%r15),%xmm0 -.byte 102,15,56,220,209 - xorl %eax,%edi - movdqa %xmm12,%xmm13 - rorl $7,%ebp - paddd %xmm7,%xmm12 - addl %edx,%ecx - pxor %xmm3,%xmm8 - addl 4(%rsp),%ebx - xorl %ebp,%edi - movl %ecx,%esi - roll $5,%ecx - movdqa %xmm8,%xmm3 - addl %edi,%ebx - xorl %ebp,%esi - movdqa %xmm12,48(%rsp) - rorl $7,%edx - addl %ecx,%ebx - addl 8(%rsp),%eax - pslld $2,%xmm8 - xorl %edx,%esi - movl %ebx,%edi - psrld $30,%xmm3 - roll $5,%ebx - addl %esi,%eax - xorl %edx,%edi - rorl $7,%ecx - por %xmm3,%xmm8 - addl %ebx,%eax - addl 12(%rsp),%ebp - movups 48(%r15),%xmm1 -.byte 102,15,56,220,208 - pshufd $238,%xmm7,%xmm12 - xorl %ecx,%edi - movl %eax,%esi - roll $5,%eax - addl %edi,%ebp - xorl %ecx,%esi - rorl $7,%ebx - addl %eax,%ebp - pxor %xmm5,%xmm9 - addl 16(%rsp),%edx - xorl %ebx,%esi - punpcklqdq %xmm8,%xmm12 - movl %ebp,%edi - roll $5,%ebp - pxor %xmm10,%xmm9 - addl %esi,%edx - xorl %ebx,%edi - movdqa %xmm13,%xmm3 - rorl $7,%eax - paddd %xmm8,%xmm13 - addl %ebp,%edx - pxor %xmm12,%xmm9 - addl 20(%rsp),%ecx - xorl %eax,%edi - movl %edx,%esi - roll $5,%edx - movdqa %xmm9,%xmm12 - addl %edi,%ecx - cmpl $11,%r8d - jb .Laesenclast2 - movups 64(%r15),%xmm0 -.byte 102,15,56,220,209 - movups 80(%r15),%xmm1 -.byte 102,15,56,220,208 - je .Laesenclast2 - movups 96(%r15),%xmm0 -.byte 102,15,56,220,209 - movups 112(%r15),%xmm1 -.byte 102,15,56,220,208 -.Laesenclast2: -.byte 102,15,56,221,209 - movups 16-112(%r15),%xmm0 - xorl %eax,%esi - movdqa %xmm13,0(%rsp) - rorl $7,%ebp - addl %edx,%ecx - addl 24(%rsp),%ebx - pslld $2,%xmm9 - xorl %ebp,%esi - movl %ecx,%edi - psrld $30,%xmm12 - roll $5,%ecx - addl %esi,%ebx - xorl %ebp,%edi - rorl $7,%edx - por %xmm12,%xmm9 - addl %ecx,%ebx - addl 28(%rsp),%eax - pshufd $238,%xmm8,%xmm13 - rorl $7,%ecx - movl %ebx,%esi - xorl %edx,%edi - roll $5,%ebx - addl %edi,%eax - xorl %ecx,%esi - xorl %edx,%ecx - addl %ebx,%eax - pxor %xmm6,%xmm10 - addl 32(%rsp),%ebp - movups 32(%r12),%xmm14 - xorps %xmm15,%xmm14 - movups %xmm2,16(%r13,%r12,1) - xorps %xmm14,%xmm2 - movups -80(%r15),%xmm1 -.byte 102,15,56,220,208 - andl %ecx,%esi - xorl %edx,%ecx - rorl $7,%ebx - punpcklqdq %xmm9,%xmm13 - movl %eax,%edi - xorl %ecx,%esi - pxor %xmm11,%xmm10 - roll $5,%eax - addl %esi,%ebp - movdqa %xmm3,%xmm12 - xorl %ebx,%edi - paddd %xmm9,%xmm3 - xorl %ecx,%ebx - pxor %xmm13,%xmm10 - addl %eax,%ebp - addl 36(%rsp),%edx - andl %ebx,%edi - xorl %ecx,%ebx - rorl $7,%eax - movdqa %xmm10,%xmm13 - movl %ebp,%esi - xorl %ebx,%edi - movdqa %xmm3,16(%rsp) - roll $5,%ebp - addl %edi,%edx - movups -64(%r15),%xmm0 -.byte 102,15,56,220,209 - xorl %eax,%esi - pslld $2,%xmm10 - xorl %ebx,%eax - addl %ebp,%edx - psrld $30,%xmm13 - addl 40(%rsp),%ecx - andl %eax,%esi - xorl %ebx,%eax - por %xmm13,%xmm10 - rorl $7,%ebp - movl %edx,%edi - xorl %eax,%esi - roll $5,%edx - pshufd $238,%xmm9,%xmm3 - addl %esi,%ecx - xorl %ebp,%edi - xorl %eax,%ebp - addl %edx,%ecx - addl 44(%rsp),%ebx - andl %ebp,%edi - xorl %eax,%ebp - rorl $7,%edx - movups -48(%r15),%xmm1 -.byte 102,15,56,220,208 - movl %ecx,%esi - xorl %ebp,%edi - roll $5,%ecx - addl %edi,%ebx - xorl %edx,%esi - xorl %ebp,%edx - addl %ecx,%ebx - pxor %xmm7,%xmm11 - addl 48(%rsp),%eax - andl %edx,%esi - xorl %ebp,%edx - rorl $7,%ecx - punpcklqdq %xmm10,%xmm3 - movl %ebx,%edi - xorl %edx,%esi - pxor %xmm4,%xmm11 - roll $5,%ebx - addl %esi,%eax - movdqa 48(%r11),%xmm13 - xorl %ecx,%edi - paddd %xmm10,%xmm12 - xorl %edx,%ecx - pxor %xmm3,%xmm11 - addl %ebx,%eax - addl 52(%rsp),%ebp - movups -32(%r15),%xmm0 -.byte 102,15,56,220,209 - andl %ecx,%edi - xorl %edx,%ecx - rorl $7,%ebx - movdqa %xmm11,%xmm3 - movl %eax,%esi - xorl %ecx,%edi - movdqa %xmm12,32(%rsp) - roll $5,%eax - addl %edi,%ebp - xorl %ebx,%esi - pslld $2,%xmm11 - xorl %ecx,%ebx - addl %eax,%ebp - psrld $30,%xmm3 - addl 56(%rsp),%edx - andl %ebx,%esi - xorl %ecx,%ebx - por %xmm3,%xmm11 - rorl $7,%eax - movl %ebp,%edi - xorl %ebx,%esi - roll $5,%ebp - pshufd $238,%xmm10,%xmm12 - addl %esi,%edx - movups -16(%r15),%xmm1 -.byte 102,15,56,220,208 - xorl %eax,%edi - xorl %ebx,%eax - addl %ebp,%edx - addl 60(%rsp),%ecx - andl %eax,%edi - xorl %ebx,%eax - rorl $7,%ebp - movl %edx,%esi - xorl %eax,%edi - roll $5,%edx - addl %edi,%ecx - xorl %ebp,%esi - xorl %eax,%ebp - addl %edx,%ecx - pxor %xmm8,%xmm4 - addl 0(%rsp),%ebx - andl %ebp,%esi - xorl %eax,%ebp - rorl $7,%edx - movups 0(%r15),%xmm0 -.byte 102,15,56,220,209 - punpcklqdq %xmm11,%xmm12 - movl %ecx,%edi - xorl %ebp,%esi - pxor %xmm5,%xmm4 - roll $5,%ecx - addl %esi,%ebx - movdqa %xmm13,%xmm3 - xorl %edx,%edi - paddd %xmm11,%xmm13 - xorl %ebp,%edx - pxor %xmm12,%xmm4 - addl %ecx,%ebx - addl 4(%rsp),%eax - andl %edx,%edi - xorl %ebp,%edx - rorl $7,%ecx - movdqa %xmm4,%xmm12 - movl %ebx,%esi - xorl %edx,%edi - movdqa %xmm13,48(%rsp) - roll $5,%ebx - addl %edi,%eax - xorl %ecx,%esi - pslld $2,%xmm4 - xorl %edx,%ecx - addl %ebx,%eax - psrld $30,%xmm12 - addl 8(%rsp),%ebp - movups 16(%r15),%xmm1 -.byte 102,15,56,220,208 - andl %ecx,%esi - xorl %edx,%ecx - por %xmm12,%xmm4 - rorl $7,%ebx - movl %eax,%edi - xorl %ecx,%esi - roll $5,%eax - pshufd $238,%xmm11,%xmm13 - addl %esi,%ebp - xorl %ebx,%edi - xorl %ecx,%ebx - addl %eax,%ebp - addl 12(%rsp),%edx - andl %ebx,%edi - xorl %ecx,%ebx - rorl $7,%eax - movl %ebp,%esi - xorl %ebx,%edi - roll $5,%ebp - addl %edi,%edx - movups 32(%r15),%xmm0 -.byte 102,15,56,220,209 - xorl %eax,%esi - xorl %ebx,%eax - addl %ebp,%edx - pxor %xmm9,%xmm5 - addl 16(%rsp),%ecx - andl %eax,%esi - xorl %ebx,%eax - rorl $7,%ebp - punpcklqdq %xmm4,%xmm13 - movl %edx,%edi - xorl %eax,%esi - pxor %xmm6,%xmm5 - roll $5,%edx - addl %esi,%ecx - movdqa %xmm3,%xmm12 - xorl %ebp,%edi - paddd %xmm4,%xmm3 - xorl %eax,%ebp - pxor %xmm13,%xmm5 - addl %edx,%ecx - addl 20(%rsp),%ebx - andl %ebp,%edi - xorl %eax,%ebp - rorl $7,%edx - movups 48(%r15),%xmm1 -.byte 102,15,56,220,208 - movdqa %xmm5,%xmm13 - movl %ecx,%esi - xorl %ebp,%edi - movdqa %xmm3,0(%rsp) - roll $5,%ecx - addl %edi,%ebx - xorl %edx,%esi - pslld $2,%xmm5 - xorl %ebp,%edx - addl %ecx,%ebx - psrld $30,%xmm13 - addl 24(%rsp),%eax - andl %edx,%esi - xorl %ebp,%edx - por %xmm13,%xmm5 - rorl $7,%ecx - movl %ebx,%edi - xorl %edx,%esi - roll $5,%ebx - pshufd $238,%xmm4,%xmm3 - addl %esi,%eax - xorl %ecx,%edi - xorl %edx,%ecx - addl %ebx,%eax - addl 28(%rsp),%ebp - cmpl $11,%r8d - jb .Laesenclast3 - movups 64(%r15),%xmm0 -.byte 102,15,56,220,209 - movups 80(%r15),%xmm1 -.byte 102,15,56,220,208 - je .Laesenclast3 - movups 96(%r15),%xmm0 -.byte 102,15,56,220,209 - movups 112(%r15),%xmm1 -.byte 102,15,56,220,208 -.Laesenclast3: -.byte 102,15,56,221,209 - movups 16-112(%r15),%xmm0 - andl %ecx,%edi - xorl %edx,%ecx - rorl $7,%ebx - movl %eax,%esi - xorl %ecx,%edi - roll $5,%eax - addl %edi,%ebp - xorl %ebx,%esi - xorl %ecx,%ebx - addl %eax,%ebp - pxor %xmm10,%xmm6 - addl 32(%rsp),%edx - andl %ebx,%esi - xorl %ecx,%ebx - rorl $7,%eax - punpcklqdq %xmm5,%xmm3 - movl %ebp,%edi - xorl %ebx,%esi - pxor %xmm7,%xmm6 - roll $5,%ebp - addl %esi,%edx - movups 48(%r12),%xmm14 - xorps %xmm15,%xmm14 - movups %xmm2,32(%r13,%r12,1) - xorps %xmm14,%xmm2 - movups -80(%r15),%xmm1 -.byte 102,15,56,220,208 - movdqa %xmm12,%xmm13 - xorl %eax,%edi - paddd %xmm5,%xmm12 - xorl %ebx,%eax - pxor %xmm3,%xmm6 - addl %ebp,%edx - addl 36(%rsp),%ecx - andl %eax,%edi - xorl %ebx,%eax - rorl $7,%ebp - movdqa %xmm6,%xmm3 - movl %edx,%esi - xorl %eax,%edi - movdqa %xmm12,16(%rsp) - roll $5,%edx - addl %edi,%ecx - xorl %ebp,%esi - pslld $2,%xmm6 - xorl %eax,%ebp - addl %edx,%ecx - psrld $30,%xmm3 - addl 40(%rsp),%ebx - andl %ebp,%esi - xorl %eax,%ebp - por %xmm3,%xmm6 - rorl $7,%edx - movups -64(%r15),%xmm0 -.byte 102,15,56,220,209 - movl %ecx,%edi - xorl %ebp,%esi - roll $5,%ecx - pshufd $238,%xmm5,%xmm12 - addl %esi,%ebx - xorl %edx,%edi - xorl %ebp,%edx - addl %ecx,%ebx - addl 44(%rsp),%eax - andl %edx,%edi - xorl %ebp,%edx - rorl $7,%ecx - movl %ebx,%esi - xorl %edx,%edi - roll $5,%ebx - addl %edi,%eax - xorl %edx,%esi - addl %ebx,%eax - pxor %xmm11,%xmm7 - addl 48(%rsp),%ebp - movups -48(%r15),%xmm1 -.byte 102,15,56,220,208 - xorl %ecx,%esi - punpcklqdq %xmm6,%xmm12 - movl %eax,%edi - roll $5,%eax - pxor %xmm8,%xmm7 - addl %esi,%ebp - xorl %ecx,%edi - movdqa %xmm13,%xmm3 - rorl $7,%ebx - paddd %xmm6,%xmm13 - addl %eax,%ebp - pxor %xmm12,%xmm7 - addl 52(%rsp),%edx - xorl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - movdqa %xmm7,%xmm12 - addl %edi,%edx - xorl %ebx,%esi - movdqa %xmm13,32(%rsp) - rorl $7,%eax - addl %ebp,%edx - addl 56(%rsp),%ecx - pslld $2,%xmm7 - xorl %eax,%esi - movl %edx,%edi - psrld $30,%xmm12 - roll $5,%edx - addl %esi,%ecx - movups -32(%r15),%xmm0 -.byte 102,15,56,220,209 - xorl %eax,%edi - rorl $7,%ebp - por %xmm12,%xmm7 - addl %edx,%ecx - addl 60(%rsp),%ebx - xorl %ebp,%edi - movl %ecx,%esi - roll $5,%ecx - addl %edi,%ebx - xorl %ebp,%esi - rorl $7,%edx - addl %ecx,%ebx - addl 0(%rsp),%eax - xorl %edx,%esi - movl %ebx,%edi - roll $5,%ebx - paddd %xmm7,%xmm3 - addl %esi,%eax - xorl %edx,%edi - movdqa %xmm3,48(%rsp) - rorl $7,%ecx - addl %ebx,%eax - addl 4(%rsp),%ebp - movups -16(%r15),%xmm1 -.byte 102,15,56,220,208 - xorl %ecx,%edi - movl %eax,%esi - roll $5,%eax - addl %edi,%ebp - xorl %ecx,%esi - rorl $7,%ebx - addl %eax,%ebp - addl 8(%rsp),%edx - xorl %ebx,%esi - movl %ebp,%edi - roll $5,%ebp - addl %esi,%edx - xorl %ebx,%edi - rorl $7,%eax - addl %ebp,%edx - addl 12(%rsp),%ecx - xorl %eax,%edi - movl %edx,%esi - roll $5,%edx - addl %edi,%ecx - movups 0(%r15),%xmm0 -.byte 102,15,56,220,209 - xorl %eax,%esi - rorl $7,%ebp - addl %edx,%ecx - cmpq %r14,%r10 - je .Ldone_ssse3 - movdqa 64(%r11),%xmm3 - movdqa 0(%r11),%xmm13 - movdqu 0(%r10),%xmm4 - movdqu 16(%r10),%xmm5 - movdqu 32(%r10),%xmm6 - movdqu 48(%r10),%xmm7 -.byte 102,15,56,0,227 - addq $64,%r10 - addl 16(%rsp),%ebx - xorl %ebp,%esi - movl %ecx,%edi -.byte 102,15,56,0,235 - roll $5,%ecx - addl %esi,%ebx - xorl %ebp,%edi - rorl $7,%edx - paddd %xmm13,%xmm4 - addl %ecx,%ebx - addl 20(%rsp),%eax - xorl %edx,%edi - movl %ebx,%esi - movdqa %xmm4,0(%rsp) - roll $5,%ebx - addl %edi,%eax - xorl %edx,%esi - rorl $7,%ecx - psubd %xmm13,%xmm4 - addl %ebx,%eax - addl 24(%rsp),%ebp - movups 16(%r15),%xmm1 -.byte 102,15,56,220,208 - xorl %ecx,%esi - movl %eax,%edi - roll $5,%eax - addl %esi,%ebp - xorl %ecx,%edi - rorl $7,%ebx - addl %eax,%ebp - addl 28(%rsp),%edx - xorl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - addl %edi,%edx - xorl %ebx,%esi - rorl $7,%eax - addl %ebp,%edx - addl 32(%rsp),%ecx - xorl %eax,%esi - movl %edx,%edi -.byte 102,15,56,0,243 - roll $5,%edx - addl %esi,%ecx - movups 32(%r15),%xmm0 -.byte 102,15,56,220,209 - xorl %eax,%edi - rorl $7,%ebp - paddd %xmm13,%xmm5 - addl %edx,%ecx - addl 36(%rsp),%ebx - xorl %ebp,%edi - movl %ecx,%esi - movdqa %xmm5,16(%rsp) - roll $5,%ecx - addl %edi,%ebx - xorl %ebp,%esi - rorl $7,%edx - psubd %xmm13,%xmm5 - addl %ecx,%ebx - addl 40(%rsp),%eax - xorl %edx,%esi - movl %ebx,%edi - roll $5,%ebx - addl %esi,%eax - xorl %edx,%edi - rorl $7,%ecx - addl %ebx,%eax - addl 44(%rsp),%ebp - movups 48(%r15),%xmm1 -.byte 102,15,56,220,208 - xorl %ecx,%edi - movl %eax,%esi - roll $5,%eax - addl %edi,%ebp - xorl %ecx,%esi - rorl $7,%ebx - addl %eax,%ebp - addl 48(%rsp),%edx - xorl %ebx,%esi - movl %ebp,%edi -.byte 102,15,56,0,251 - roll $5,%ebp - addl %esi,%edx - xorl %ebx,%edi - rorl $7,%eax - paddd %xmm13,%xmm6 - addl %ebp,%edx - addl 52(%rsp),%ecx - xorl %eax,%edi - movl %edx,%esi - movdqa %xmm6,32(%rsp) - roll $5,%edx - addl %edi,%ecx - cmpl $11,%r8d - jb .Laesenclast4 - movups 64(%r15),%xmm0 -.byte 102,15,56,220,209 - movups 80(%r15),%xmm1 -.byte 102,15,56,220,208 - je .Laesenclast4 - movups 96(%r15),%xmm0 -.byte 102,15,56,220,209 - movups 112(%r15),%xmm1 -.byte 102,15,56,220,208 -.Laesenclast4: -.byte 102,15,56,221,209 - movups 16-112(%r15),%xmm0 - xorl %eax,%esi - rorl $7,%ebp - psubd %xmm13,%xmm6 - addl %edx,%ecx - addl 56(%rsp),%ebx - xorl %ebp,%esi - movl %ecx,%edi - roll $5,%ecx - addl %esi,%ebx - xorl %ebp,%edi - rorl $7,%edx - addl %ecx,%ebx - addl 60(%rsp),%eax - xorl %edx,%edi - movl %ebx,%esi - roll $5,%ebx - addl %edi,%eax - rorl $7,%ecx - addl %ebx,%eax - movups %xmm2,48(%r13,%r12,1) - leaq 64(%r12),%r12 - - addl 0(%r9),%eax - addl 4(%r9),%esi - addl 8(%r9),%ecx - addl 12(%r9),%edx - movl %eax,0(%r9) - addl 16(%r9),%ebp - movl %esi,4(%r9) - movl %esi,%ebx - movl %ecx,8(%r9) - movl %ecx,%edi - movl %edx,12(%r9) - xorl %edx,%edi - movl %ebp,16(%r9) - andl %edi,%esi - jmp .Loop_ssse3 - -.Ldone_ssse3: - addl 16(%rsp),%ebx - xorl %ebp,%esi - movl %ecx,%edi - roll $5,%ecx - addl %esi,%ebx - xorl %ebp,%edi - rorl $7,%edx - addl %ecx,%ebx - addl 20(%rsp),%eax - xorl %edx,%edi - movl %ebx,%esi - roll $5,%ebx - addl %edi,%eax - xorl %edx,%esi - rorl $7,%ecx - addl %ebx,%eax - addl 24(%rsp),%ebp - movups 16(%r15),%xmm1 -.byte 102,15,56,220,208 - xorl %ecx,%esi - movl %eax,%edi - roll $5,%eax - addl %esi,%ebp - xorl %ecx,%edi - rorl $7,%ebx - addl %eax,%ebp - addl 28(%rsp),%edx - xorl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - addl %edi,%edx - xorl %ebx,%esi - rorl $7,%eax - addl %ebp,%edx - addl 32(%rsp),%ecx - xorl %eax,%esi - movl %edx,%edi - roll $5,%edx - addl %esi,%ecx - movups 32(%r15),%xmm0 -.byte 102,15,56,220,209 - xorl %eax,%edi - rorl $7,%ebp - addl %edx,%ecx - addl 36(%rsp),%ebx - xorl %ebp,%edi - movl %ecx,%esi - roll $5,%ecx - addl %edi,%ebx - xorl %ebp,%esi - rorl $7,%edx - addl %ecx,%ebx - addl 40(%rsp),%eax - xorl %edx,%esi - movl %ebx,%edi - roll $5,%ebx - addl %esi,%eax - xorl %edx,%edi - rorl $7,%ecx - addl %ebx,%eax - addl 44(%rsp),%ebp - movups 48(%r15),%xmm1 -.byte 102,15,56,220,208 - xorl %ecx,%edi - movl %eax,%esi - roll $5,%eax - addl %edi,%ebp - xorl %ecx,%esi - rorl $7,%ebx - addl %eax,%ebp - addl 48(%rsp),%edx - xorl %ebx,%esi - movl %ebp,%edi - roll $5,%ebp - addl %esi,%edx - xorl %ebx,%edi - rorl $7,%eax - addl %ebp,%edx - addl 52(%rsp),%ecx - xorl %eax,%edi - movl %edx,%esi - roll $5,%edx - addl %edi,%ecx - cmpl $11,%r8d - jb .Laesenclast5 - movups 64(%r15),%xmm0 -.byte 102,15,56,220,209 - movups 80(%r15),%xmm1 -.byte 102,15,56,220,208 - je .Laesenclast5 - movups 96(%r15),%xmm0 -.byte 102,15,56,220,209 - movups 112(%r15),%xmm1 -.byte 102,15,56,220,208 -.Laesenclast5: -.byte 102,15,56,221,209 - movups 16-112(%r15),%xmm0 - xorl %eax,%esi - rorl $7,%ebp - addl %edx,%ecx - addl 56(%rsp),%ebx - xorl %ebp,%esi - movl %ecx,%edi - roll $5,%ecx - addl %esi,%ebx - xorl %ebp,%edi - rorl $7,%edx - addl %ecx,%ebx - addl 60(%rsp),%eax - xorl %edx,%edi - movl %ebx,%esi - roll $5,%ebx - addl %edi,%eax - rorl $7,%ecx - addl %ebx,%eax - movups %xmm2,48(%r13,%r12,1) - movq 88(%rsp),%r8 - - addl 0(%r9),%eax - addl 4(%r9),%esi - addl 8(%r9),%ecx - movl %eax,0(%r9) - addl 12(%r9),%edx - movl %esi,4(%r9) - addl 16(%r9),%ebp - movl %ecx,8(%r9) - movl %edx,12(%r9) - movl %ebp,16(%r9) - movups %xmm2,(%r8) - leaq 104(%rsp),%rsi -.cfi_def_cfa %rsi,56 - movq 0(%rsi),%r15 -.cfi_restore %r15 - movq 8(%rsi),%r14 -.cfi_restore %r14 - movq 16(%rsi),%r13 -.cfi_restore %r13 - movq 24(%rsi),%r12 -.cfi_restore %r12 - movq 32(%rsi),%rbp -.cfi_restore %rbp - movq 40(%rsi),%rbx -.cfi_restore %rbx - leaq 48(%rsi),%rsp -.cfi_def_cfa %rsp,8 -.Lepilogue_ssse3: - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_cbc_sha1_enc_ssse3,.-aesni_cbc_sha1_enc_ssse3 -.align 64 -K_XX_XX: -.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 -.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 -.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc -.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 -.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -.byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 - -.byte 65,69,83,78,73,45,67,66,67,43,83,72,65,49,32,115,116,105,116,99,104,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 -.type aesni_cbc_sha1_enc_shaext,@function -.align 32 -aesni_cbc_sha1_enc_shaext: -.cfi_startproc - movq 8(%rsp),%r10 - movdqu (%r9),%xmm8 - movd 16(%r9),%xmm9 - movdqa K_XX_XX+80(%rip),%xmm7 - - movl 240(%rcx),%r11d - subq %rdi,%rsi - movups (%rcx),%xmm15 - movups (%r8),%xmm2 - movups 16(%rcx),%xmm0 - leaq 112(%rcx),%rcx - - pshufd $27,%xmm8,%xmm8 - pshufd $27,%xmm9,%xmm9 - jmp .Loop_shaext - -.align 16 -.Loop_shaext: - movups 0(%rdi),%xmm14 - xorps %xmm15,%xmm14 - xorps %xmm14,%xmm2 - movups -80(%rcx),%xmm1 -.byte 102,15,56,220,208 - movdqu (%r10),%xmm3 - movdqa %xmm9,%xmm12 -.byte 102,15,56,0,223 - movdqu 16(%r10),%xmm4 - movdqa %xmm8,%xmm11 - movups -64(%rcx),%xmm0 -.byte 102,15,56,220,209 -.byte 102,15,56,0,231 - - paddd %xmm3,%xmm9 - movdqu 32(%r10),%xmm5 - leaq 64(%r10),%r10 - pxor %xmm12,%xmm3 - movups -48(%rcx),%xmm1 -.byte 102,15,56,220,208 - pxor %xmm12,%xmm3 - movdqa %xmm8,%xmm10 -.byte 102,15,56,0,239 -.byte 69,15,58,204,193,0 -.byte 68,15,56,200,212 - movups -32(%rcx),%xmm0 -.byte 102,15,56,220,209 -.byte 15,56,201,220 - movdqu -16(%r10),%xmm6 - movdqa %xmm8,%xmm9 -.byte 102,15,56,0,247 - movups -16(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 69,15,58,204,194,0 -.byte 68,15,56,200,205 - pxor %xmm5,%xmm3 -.byte 15,56,201,229 - movups 0(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm10 -.byte 69,15,58,204,193,0 -.byte 68,15,56,200,214 - movups 16(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,222 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 - movups 32(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm9 -.byte 69,15,58,204,194,0 -.byte 68,15,56,200,203 - movups 48(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,227 - pxor %xmm3,%xmm5 -.byte 15,56,201,243 - cmpl $11,%r11d - jb .Laesenclast6 - movups 64(%rcx),%xmm0 -.byte 102,15,56,220,209 - movups 80(%rcx),%xmm1 -.byte 102,15,56,220,208 - je .Laesenclast6 - movups 96(%rcx),%xmm0 -.byte 102,15,56,220,209 - movups 112(%rcx),%xmm1 -.byte 102,15,56,220,208 -.Laesenclast6: -.byte 102,15,56,221,209 - movups 16-112(%rcx),%xmm0 - movdqa %xmm8,%xmm10 -.byte 69,15,58,204,193,0 -.byte 68,15,56,200,212 - movups 16(%rdi),%xmm14 - xorps %xmm15,%xmm14 - movups %xmm2,0(%rsi,%rdi,1) - xorps %xmm14,%xmm2 - movups -80(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,236 - pxor %xmm4,%xmm6 -.byte 15,56,201,220 - movups -64(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm9 -.byte 69,15,58,204,194,1 -.byte 68,15,56,200,205 - movups -48(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,245 - pxor %xmm5,%xmm3 -.byte 15,56,201,229 - movups -32(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm10 -.byte 69,15,58,204,193,1 -.byte 68,15,56,200,214 - movups -16(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,222 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 - movups 0(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm9 -.byte 69,15,58,204,194,1 -.byte 68,15,56,200,203 - movups 16(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,227 - pxor %xmm3,%xmm5 -.byte 15,56,201,243 - movups 32(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm10 -.byte 69,15,58,204,193,1 -.byte 68,15,56,200,212 - movups 48(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,236 - pxor %xmm4,%xmm6 -.byte 15,56,201,220 - cmpl $11,%r11d - jb .Laesenclast7 - movups 64(%rcx),%xmm0 -.byte 102,15,56,220,209 - movups 80(%rcx),%xmm1 -.byte 102,15,56,220,208 - je .Laesenclast7 - movups 96(%rcx),%xmm0 -.byte 102,15,56,220,209 - movups 112(%rcx),%xmm1 -.byte 102,15,56,220,208 -.Laesenclast7: -.byte 102,15,56,221,209 - movups 16-112(%rcx),%xmm0 - movdqa %xmm8,%xmm9 -.byte 69,15,58,204,194,1 -.byte 68,15,56,200,205 - movups 32(%rdi),%xmm14 - xorps %xmm15,%xmm14 - movups %xmm2,16(%rsi,%rdi,1) - xorps %xmm14,%xmm2 - movups -80(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,245 - pxor %xmm5,%xmm3 -.byte 15,56,201,229 - movups -64(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm10 -.byte 69,15,58,204,193,2 -.byte 68,15,56,200,214 - movups -48(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,222 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 - movups -32(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm9 -.byte 69,15,58,204,194,2 -.byte 68,15,56,200,203 - movups -16(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,227 - pxor %xmm3,%xmm5 -.byte 15,56,201,243 - movups 0(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm10 -.byte 69,15,58,204,193,2 -.byte 68,15,56,200,212 - movups 16(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,236 - pxor %xmm4,%xmm6 -.byte 15,56,201,220 - movups 32(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm9 -.byte 69,15,58,204,194,2 -.byte 68,15,56,200,205 - movups 48(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,245 - pxor %xmm5,%xmm3 -.byte 15,56,201,229 - cmpl $11,%r11d - jb .Laesenclast8 - movups 64(%rcx),%xmm0 -.byte 102,15,56,220,209 - movups 80(%rcx),%xmm1 -.byte 102,15,56,220,208 - je .Laesenclast8 - movups 96(%rcx),%xmm0 -.byte 102,15,56,220,209 - movups 112(%rcx),%xmm1 -.byte 102,15,56,220,208 -.Laesenclast8: -.byte 102,15,56,221,209 - movups 16-112(%rcx),%xmm0 - movdqa %xmm8,%xmm10 -.byte 69,15,58,204,193,2 -.byte 68,15,56,200,214 - movups 48(%rdi),%xmm14 - xorps %xmm15,%xmm14 - movups %xmm2,32(%rsi,%rdi,1) - xorps %xmm14,%xmm2 - movups -80(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,222 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 - movups -64(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm9 -.byte 69,15,58,204,194,3 -.byte 68,15,56,200,203 - movups -48(%rcx),%xmm1 -.byte 102,15,56,220,208 -.byte 15,56,202,227 - pxor %xmm3,%xmm5 -.byte 15,56,201,243 - movups -32(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm8,%xmm10 -.byte 69,15,58,204,193,3 -.byte 68,15,56,200,212 -.byte 15,56,202,236 - pxor %xmm4,%xmm6 - movups -16(%rcx),%xmm1 -.byte 102,15,56,220,208 - movdqa %xmm8,%xmm9 -.byte 69,15,58,204,194,3 -.byte 68,15,56,200,205 -.byte 15,56,202,245 - movups 0(%rcx),%xmm0 -.byte 102,15,56,220,209 - movdqa %xmm12,%xmm5 - movdqa %xmm8,%xmm10 -.byte 69,15,58,204,193,3 -.byte 68,15,56,200,214 - movups 16(%rcx),%xmm1 -.byte 102,15,56,220,208 - movdqa %xmm8,%xmm9 -.byte 69,15,58,204,194,3 -.byte 68,15,56,200,205 - movups 32(%rcx),%xmm0 -.byte 102,15,56,220,209 - movups 48(%rcx),%xmm1 -.byte 102,15,56,220,208 - cmpl $11,%r11d - jb .Laesenclast9 - movups 64(%rcx),%xmm0 -.byte 102,15,56,220,209 - movups 80(%rcx),%xmm1 -.byte 102,15,56,220,208 - je .Laesenclast9 - movups 96(%rcx),%xmm0 -.byte 102,15,56,220,209 - movups 112(%rcx),%xmm1 -.byte 102,15,56,220,208 -.Laesenclast9: -.byte 102,15,56,221,209 - movups 16-112(%rcx),%xmm0 - decq %rdx - - paddd %xmm11,%xmm8 - movups %xmm2,48(%rsi,%rdi,1) - leaq 64(%rdi),%rdi - jnz .Loop_shaext - - pshufd $27,%xmm8,%xmm8 - pshufd $27,%xmm9,%xmm9 - movups %xmm2,(%r8) - movdqu %xmm8,(%r9) - movd %xmm9,16(%r9) - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-sha256-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-sha256-x86_64.S deleted file mode 100644 index e25716928700..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-sha256-x86_64.S +++ /dev/null @@ -1,69 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/aes/asm/aesni-sha256-x86_64.pl -# -# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - - -.globl aesni_cbc_sha256_enc -.type aesni_cbc_sha256_enc,@function -.align 16 -aesni_cbc_sha256_enc: -.cfi_startproc - xorl %eax,%eax - cmpq $0,%rdi - je .Lprobe - ud2 -.Lprobe: - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc - -.align 64 -.type K256,@object -K256: -.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 -.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 -.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 -.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 -.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 -.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 -.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 -.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 -.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc -.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc -.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da -.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da -.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 -.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 -.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 -.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 -.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 -.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 -.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 -.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 -.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 -.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 -.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 -.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 -.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 -.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 -.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 -.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 -.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 -.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 -.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 -.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 - -.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -.long 0,0,0,0, 0,0,0,0, -1,-1,-1,-1 -.long 0,0,0,0, 0,0,0,0 -.byte 65,69,83,78,73,45,67,66,67,43,83,72,65,50,53,54,32,115,116,105,116,99,104,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-x86_64.S deleted file mode 100644 index 2bdb5cf251dd..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/aesni-x86_64.S +++ /dev/null @@ -1,4484 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/aes/asm/aesni-x86_64.pl -# -# Copyright 2009-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - -.globl aesni_encrypt -.type aesni_encrypt,@function -.align 16 -aesni_encrypt: -.cfi_startproc - movups (%rdi),%xmm2 - movl 240(%rdx),%eax - movups (%rdx),%xmm0 - movups 16(%rdx),%xmm1 - leaq 32(%rdx),%rdx - xorps %xmm0,%xmm2 -.Loop_enc1_1: -.byte 102,15,56,220,209 - decl %eax - movups (%rdx),%xmm1 - leaq 16(%rdx),%rdx - jnz .Loop_enc1_1 -.byte 102,15,56,221,209 - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_encrypt,.-aesni_encrypt - -.globl aesni_decrypt -.type aesni_decrypt,@function -.align 16 -aesni_decrypt: -.cfi_startproc - movups (%rdi),%xmm2 - movl 240(%rdx),%eax - movups (%rdx),%xmm0 - movups 16(%rdx),%xmm1 - leaq 32(%rdx),%rdx - xorps %xmm0,%xmm2 -.Loop_dec1_2: -.byte 102,15,56,222,209 - decl %eax - movups (%rdx),%xmm1 - leaq 16(%rdx),%rdx - jnz .Loop_dec1_2 -.byte 102,15,56,223,209 - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_decrypt, .-aesni_decrypt -.type _aesni_encrypt2,@function -.align 16 -_aesni_encrypt2: -.cfi_startproc - movups (%rcx),%xmm0 - shll $4,%eax - movups 16(%rcx),%xmm1 - xorps %xmm0,%xmm2 - xorps %xmm0,%xmm3 - movups 32(%rcx),%xmm0 - leaq 32(%rcx,%rax,1),%rcx - negq %rax - addq $16,%rax - -.Lenc_loop2: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Lenc_loop2 - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 - .byte 0xf3,0xc3 -.cfi_endproc -.size _aesni_encrypt2,.-_aesni_encrypt2 -.type _aesni_decrypt2,@function -.align 16 -_aesni_decrypt2: -.cfi_startproc - movups (%rcx),%xmm0 - shll $4,%eax - movups 16(%rcx),%xmm1 - xorps %xmm0,%xmm2 - xorps %xmm0,%xmm3 - movups 32(%rcx),%xmm0 - leaq 32(%rcx,%rax,1),%rcx - negq %rax - addq $16,%rax - -.Ldec_loop2: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Ldec_loop2 - -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,223,208 -.byte 102,15,56,223,216 - .byte 0xf3,0xc3 -.cfi_endproc -.size _aesni_decrypt2,.-_aesni_decrypt2 -.type _aesni_encrypt3,@function -.align 16 -_aesni_encrypt3: -.cfi_startproc - movups (%rcx),%xmm0 - shll $4,%eax - movups 16(%rcx),%xmm1 - xorps %xmm0,%xmm2 - xorps %xmm0,%xmm3 - xorps %xmm0,%xmm4 - movups 32(%rcx),%xmm0 - leaq 32(%rcx,%rax,1),%rcx - negq %rax - addq $16,%rax - -.Lenc_loop3: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Lenc_loop3 - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 -.byte 102,15,56,221,224 - .byte 0xf3,0xc3 -.cfi_endproc -.size _aesni_encrypt3,.-_aesni_encrypt3 -.type _aesni_decrypt3,@function -.align 16 -_aesni_decrypt3: -.cfi_startproc - movups (%rcx),%xmm0 - shll $4,%eax - movups 16(%rcx),%xmm1 - xorps %xmm0,%xmm2 - xorps %xmm0,%xmm3 - xorps %xmm0,%xmm4 - movups 32(%rcx),%xmm0 - leaq 32(%rcx,%rax,1),%rcx - negq %rax - addq $16,%rax - -.Ldec_loop3: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Ldec_loop3 - -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,223,208 -.byte 102,15,56,223,216 -.byte 102,15,56,223,224 - .byte 0xf3,0xc3 -.cfi_endproc -.size _aesni_decrypt3,.-_aesni_decrypt3 -.type _aesni_encrypt4,@function -.align 16 -_aesni_encrypt4: -.cfi_startproc - movups (%rcx),%xmm0 - shll $4,%eax - movups 16(%rcx),%xmm1 - xorps %xmm0,%xmm2 - xorps %xmm0,%xmm3 - xorps %xmm0,%xmm4 - xorps %xmm0,%xmm5 - movups 32(%rcx),%xmm0 - leaq 32(%rcx,%rax,1),%rcx - negq %rax -.byte 0x0f,0x1f,0x00 - addq $16,%rax - -.Lenc_loop4: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Lenc_loop4 - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 -.byte 102,15,56,221,224 -.byte 102,15,56,221,232 - .byte 0xf3,0xc3 -.cfi_endproc -.size _aesni_encrypt4,.-_aesni_encrypt4 -.type _aesni_decrypt4,@function -.align 16 -_aesni_decrypt4: -.cfi_startproc - movups (%rcx),%xmm0 - shll $4,%eax - movups 16(%rcx),%xmm1 - xorps %xmm0,%xmm2 - xorps %xmm0,%xmm3 - xorps %xmm0,%xmm4 - xorps %xmm0,%xmm5 - movups 32(%rcx),%xmm0 - leaq 32(%rcx,%rax,1),%rcx - negq %rax -.byte 0x0f,0x1f,0x00 - addq $16,%rax - -.Ldec_loop4: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Ldec_loop4 - -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,223,208 -.byte 102,15,56,223,216 -.byte 102,15,56,223,224 -.byte 102,15,56,223,232 - .byte 0xf3,0xc3 -.cfi_endproc -.size _aesni_decrypt4,.-_aesni_decrypt4 -.type _aesni_encrypt6,@function -.align 16 -_aesni_encrypt6: -.cfi_startproc - movups (%rcx),%xmm0 - shll $4,%eax - movups 16(%rcx),%xmm1 - xorps %xmm0,%xmm2 - pxor %xmm0,%xmm3 - pxor %xmm0,%xmm4 -.byte 102,15,56,220,209 - leaq 32(%rcx,%rax,1),%rcx - negq %rax -.byte 102,15,56,220,217 - pxor %xmm0,%xmm5 - pxor %xmm0,%xmm6 -.byte 102,15,56,220,225 - pxor %xmm0,%xmm7 - movups (%rcx,%rax,1),%xmm0 - addq $16,%rax - jmp .Lenc_loop6_enter -.align 16 -.Lenc_loop6: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.Lenc_loop6_enter: -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Lenc_loop6 - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 -.byte 102,15,56,221,224 -.byte 102,15,56,221,232 -.byte 102,15,56,221,240 -.byte 102,15,56,221,248 - .byte 0xf3,0xc3 -.cfi_endproc -.size _aesni_encrypt6,.-_aesni_encrypt6 -.type _aesni_decrypt6,@function -.align 16 -_aesni_decrypt6: -.cfi_startproc - movups (%rcx),%xmm0 - shll $4,%eax - movups 16(%rcx),%xmm1 - xorps %xmm0,%xmm2 - pxor %xmm0,%xmm3 - pxor %xmm0,%xmm4 -.byte 102,15,56,222,209 - leaq 32(%rcx,%rax,1),%rcx - negq %rax -.byte 102,15,56,222,217 - pxor %xmm0,%xmm5 - pxor %xmm0,%xmm6 -.byte 102,15,56,222,225 - pxor %xmm0,%xmm7 - movups (%rcx,%rax,1),%xmm0 - addq $16,%rax - jmp .Ldec_loop6_enter -.align 16 -.Ldec_loop6: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.Ldec_loop6_enter: -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Ldec_loop6 - -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 -.byte 102,15,56,223,208 -.byte 102,15,56,223,216 -.byte 102,15,56,223,224 -.byte 102,15,56,223,232 -.byte 102,15,56,223,240 -.byte 102,15,56,223,248 - .byte 0xf3,0xc3 -.cfi_endproc -.size _aesni_decrypt6,.-_aesni_decrypt6 -.type _aesni_encrypt8,@function -.align 16 -_aesni_encrypt8: -.cfi_startproc - movups (%rcx),%xmm0 - shll $4,%eax - movups 16(%rcx),%xmm1 - xorps %xmm0,%xmm2 - xorps %xmm0,%xmm3 - pxor %xmm0,%xmm4 - pxor %xmm0,%xmm5 - pxor %xmm0,%xmm6 - leaq 32(%rcx,%rax,1),%rcx - negq %rax -.byte 102,15,56,220,209 - pxor %xmm0,%xmm7 - pxor %xmm0,%xmm8 -.byte 102,15,56,220,217 - pxor %xmm0,%xmm9 - movups (%rcx,%rax,1),%xmm0 - addq $16,%rax - jmp .Lenc_loop8_inner -.align 16 -.Lenc_loop8: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.Lenc_loop8_inner: -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.byte 102,68,15,56,220,193 -.byte 102,68,15,56,220,201 -.Lenc_loop8_enter: - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 -.byte 102,68,15,56,220,192 -.byte 102,68,15,56,220,200 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Lenc_loop8 - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.byte 102,68,15,56,220,193 -.byte 102,68,15,56,220,201 -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 -.byte 102,15,56,221,224 -.byte 102,15,56,221,232 -.byte 102,15,56,221,240 -.byte 102,15,56,221,248 -.byte 102,68,15,56,221,192 -.byte 102,68,15,56,221,200 - .byte 0xf3,0xc3 -.cfi_endproc -.size _aesni_encrypt8,.-_aesni_encrypt8 -.type _aesni_decrypt8,@function -.align 16 -_aesni_decrypt8: -.cfi_startproc - movups (%rcx),%xmm0 - shll $4,%eax - movups 16(%rcx),%xmm1 - xorps %xmm0,%xmm2 - xorps %xmm0,%xmm3 - pxor %xmm0,%xmm4 - pxor %xmm0,%xmm5 - pxor %xmm0,%xmm6 - leaq 32(%rcx,%rax,1),%rcx - negq %rax -.byte 102,15,56,222,209 - pxor %xmm0,%xmm7 - pxor %xmm0,%xmm8 -.byte 102,15,56,222,217 - pxor %xmm0,%xmm9 - movups (%rcx,%rax,1),%xmm0 - addq $16,%rax - jmp .Ldec_loop8_inner -.align 16 -.Ldec_loop8: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.Ldec_loop8_inner: -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 -.byte 102,68,15,56,222,193 -.byte 102,68,15,56,222,201 -.Ldec_loop8_enter: - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 -.byte 102,68,15,56,222,192 -.byte 102,68,15,56,222,200 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Ldec_loop8 - -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 -.byte 102,68,15,56,222,193 -.byte 102,68,15,56,222,201 -.byte 102,15,56,223,208 -.byte 102,15,56,223,216 -.byte 102,15,56,223,224 -.byte 102,15,56,223,232 -.byte 102,15,56,223,240 -.byte 102,15,56,223,248 -.byte 102,68,15,56,223,192 -.byte 102,68,15,56,223,200 - .byte 0xf3,0xc3 -.cfi_endproc -.size _aesni_decrypt8,.-_aesni_decrypt8 -.globl aesni_ecb_encrypt -.type aesni_ecb_encrypt,@function -.align 16 -aesni_ecb_encrypt: -.cfi_startproc - andq $-16,%rdx - jz .Lecb_ret - - movl 240(%rcx),%eax - movups (%rcx),%xmm0 - movq %rcx,%r11 - movl %eax,%r10d - testl %r8d,%r8d - jz .Lecb_decrypt - - cmpq $0x80,%rdx - jb .Lecb_enc_tail - - movdqu (%rdi),%xmm2 - movdqu 16(%rdi),%xmm3 - movdqu 32(%rdi),%xmm4 - movdqu 48(%rdi),%xmm5 - movdqu 64(%rdi),%xmm6 - movdqu 80(%rdi),%xmm7 - movdqu 96(%rdi),%xmm8 - movdqu 112(%rdi),%xmm9 - leaq 128(%rdi),%rdi - subq $0x80,%rdx - jmp .Lecb_enc_loop8_enter -.align 16 -.Lecb_enc_loop8: - movups %xmm2,(%rsi) - movq %r11,%rcx - movdqu (%rdi),%xmm2 - movl %r10d,%eax - movups %xmm3,16(%rsi) - movdqu 16(%rdi),%xmm3 - movups %xmm4,32(%rsi) - movdqu 32(%rdi),%xmm4 - movups %xmm5,48(%rsi) - movdqu 48(%rdi),%xmm5 - movups %xmm6,64(%rsi) - movdqu 64(%rdi),%xmm6 - movups %xmm7,80(%rsi) - movdqu 80(%rdi),%xmm7 - movups %xmm8,96(%rsi) - movdqu 96(%rdi),%xmm8 - movups %xmm9,112(%rsi) - leaq 128(%rsi),%rsi - movdqu 112(%rdi),%xmm9 - leaq 128(%rdi),%rdi -.Lecb_enc_loop8_enter: - - call _aesni_encrypt8 - - subq $0x80,%rdx - jnc .Lecb_enc_loop8 - - movups %xmm2,(%rsi) - movq %r11,%rcx - movups %xmm3,16(%rsi) - movl %r10d,%eax - movups %xmm4,32(%rsi) - movups %xmm5,48(%rsi) - movups %xmm6,64(%rsi) - movups %xmm7,80(%rsi) - movups %xmm8,96(%rsi) - movups %xmm9,112(%rsi) - leaq 128(%rsi),%rsi - addq $0x80,%rdx - jz .Lecb_ret - -.Lecb_enc_tail: - movups (%rdi),%xmm2 - cmpq $0x20,%rdx - jb .Lecb_enc_one - movups 16(%rdi),%xmm3 - je .Lecb_enc_two - movups 32(%rdi),%xmm4 - cmpq $0x40,%rdx - jb .Lecb_enc_three - movups 48(%rdi),%xmm5 - je .Lecb_enc_four - movups 64(%rdi),%xmm6 - cmpq $0x60,%rdx - jb .Lecb_enc_five - movups 80(%rdi),%xmm7 - je .Lecb_enc_six - movdqu 96(%rdi),%xmm8 - xorps %xmm9,%xmm9 - call _aesni_encrypt8 - movups %xmm2,(%rsi) - movups %xmm3,16(%rsi) - movups %xmm4,32(%rsi) - movups %xmm5,48(%rsi) - movups %xmm6,64(%rsi) - movups %xmm7,80(%rsi) - movups %xmm8,96(%rsi) - jmp .Lecb_ret -.align 16 -.Lecb_enc_one: - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - leaq 32(%rcx),%rcx - xorps %xmm0,%xmm2 -.Loop_enc1_3: -.byte 102,15,56,220,209 - decl %eax - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_enc1_3 -.byte 102,15,56,221,209 - movups %xmm2,(%rsi) - jmp .Lecb_ret -.align 16 -.Lecb_enc_two: - call _aesni_encrypt2 - movups %xmm2,(%rsi) - movups %xmm3,16(%rsi) - jmp .Lecb_ret -.align 16 -.Lecb_enc_three: - call _aesni_encrypt3 - movups %xmm2,(%rsi) - movups %xmm3,16(%rsi) - movups %xmm4,32(%rsi) - jmp .Lecb_ret -.align 16 -.Lecb_enc_four: - call _aesni_encrypt4 - movups %xmm2,(%rsi) - movups %xmm3,16(%rsi) - movups %xmm4,32(%rsi) - movups %xmm5,48(%rsi) - jmp .Lecb_ret -.align 16 -.Lecb_enc_five: - xorps %xmm7,%xmm7 - call _aesni_encrypt6 - movups %xmm2,(%rsi) - movups %xmm3,16(%rsi) - movups %xmm4,32(%rsi) - movups %xmm5,48(%rsi) - movups %xmm6,64(%rsi) - jmp .Lecb_ret -.align 16 -.Lecb_enc_six: - call _aesni_encrypt6 - movups %xmm2,(%rsi) - movups %xmm3,16(%rsi) - movups %xmm4,32(%rsi) - movups %xmm5,48(%rsi) - movups %xmm6,64(%rsi) - movups %xmm7,80(%rsi) - jmp .Lecb_ret - -.align 16 -.Lecb_decrypt: - cmpq $0x80,%rdx - jb .Lecb_dec_tail - - movdqu (%rdi),%xmm2 - movdqu 16(%rdi),%xmm3 - movdqu 32(%rdi),%xmm4 - movdqu 48(%rdi),%xmm5 - movdqu 64(%rdi),%xmm6 - movdqu 80(%rdi),%xmm7 - movdqu 96(%rdi),%xmm8 - movdqu 112(%rdi),%xmm9 - leaq 128(%rdi),%rdi - subq $0x80,%rdx - jmp .Lecb_dec_loop8_enter -.align 16 -.Lecb_dec_loop8: - movups %xmm2,(%rsi) - movq %r11,%rcx - movdqu (%rdi),%xmm2 - movl %r10d,%eax - movups %xmm3,16(%rsi) - movdqu 16(%rdi),%xmm3 - movups %xmm4,32(%rsi) - movdqu 32(%rdi),%xmm4 - movups %xmm5,48(%rsi) - movdqu 48(%rdi),%xmm5 - movups %xmm6,64(%rsi) - movdqu 64(%rdi),%xmm6 - movups %xmm7,80(%rsi) - movdqu 80(%rdi),%xmm7 - movups %xmm8,96(%rsi) - movdqu 96(%rdi),%xmm8 - movups %xmm9,112(%rsi) - leaq 128(%rsi),%rsi - movdqu 112(%rdi),%xmm9 - leaq 128(%rdi),%rdi -.Lecb_dec_loop8_enter: - - call _aesni_decrypt8 - - movups (%r11),%xmm0 - subq $0x80,%rdx - jnc .Lecb_dec_loop8 - - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - movq %r11,%rcx - movups %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - movl %r10d,%eax - movups %xmm4,32(%rsi) - pxor %xmm4,%xmm4 - movups %xmm5,48(%rsi) - pxor %xmm5,%xmm5 - movups %xmm6,64(%rsi) - pxor %xmm6,%xmm6 - movups %xmm7,80(%rsi) - pxor %xmm7,%xmm7 - movups %xmm8,96(%rsi) - pxor %xmm8,%xmm8 - movups %xmm9,112(%rsi) - pxor %xmm9,%xmm9 - leaq 128(%rsi),%rsi - addq $0x80,%rdx - jz .Lecb_ret - -.Lecb_dec_tail: - movups (%rdi),%xmm2 - cmpq $0x20,%rdx - jb .Lecb_dec_one - movups 16(%rdi),%xmm3 - je .Lecb_dec_two - movups 32(%rdi),%xmm4 - cmpq $0x40,%rdx - jb .Lecb_dec_three - movups 48(%rdi),%xmm5 - je .Lecb_dec_four - movups 64(%rdi),%xmm6 - cmpq $0x60,%rdx - jb .Lecb_dec_five - movups 80(%rdi),%xmm7 - je .Lecb_dec_six - movups 96(%rdi),%xmm8 - movups (%rcx),%xmm0 - xorps %xmm9,%xmm9 - call _aesni_decrypt8 - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - movups %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - movups %xmm4,32(%rsi) - pxor %xmm4,%xmm4 - movups %xmm5,48(%rsi) - pxor %xmm5,%xmm5 - movups %xmm6,64(%rsi) - pxor %xmm6,%xmm6 - movups %xmm7,80(%rsi) - pxor %xmm7,%xmm7 - movups %xmm8,96(%rsi) - pxor %xmm8,%xmm8 - pxor %xmm9,%xmm9 - jmp .Lecb_ret -.align 16 -.Lecb_dec_one: - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - leaq 32(%rcx),%rcx - xorps %xmm0,%xmm2 -.Loop_dec1_4: -.byte 102,15,56,222,209 - decl %eax - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_dec1_4 -.byte 102,15,56,223,209 - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - jmp .Lecb_ret -.align 16 -.Lecb_dec_two: - call _aesni_decrypt2 - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - movups %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - jmp .Lecb_ret -.align 16 -.Lecb_dec_three: - call _aesni_decrypt3 - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - movups %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - movups %xmm4,32(%rsi) - pxor %xmm4,%xmm4 - jmp .Lecb_ret -.align 16 -.Lecb_dec_four: - call _aesni_decrypt4 - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - movups %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - movups %xmm4,32(%rsi) - pxor %xmm4,%xmm4 - movups %xmm5,48(%rsi) - pxor %xmm5,%xmm5 - jmp .Lecb_ret -.align 16 -.Lecb_dec_five: - xorps %xmm7,%xmm7 - call _aesni_decrypt6 - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - movups %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - movups %xmm4,32(%rsi) - pxor %xmm4,%xmm4 - movups %xmm5,48(%rsi) - pxor %xmm5,%xmm5 - movups %xmm6,64(%rsi) - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - jmp .Lecb_ret -.align 16 -.Lecb_dec_six: - call _aesni_decrypt6 - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - movups %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - movups %xmm4,32(%rsi) - pxor %xmm4,%xmm4 - movups %xmm5,48(%rsi) - pxor %xmm5,%xmm5 - movups %xmm6,64(%rsi) - pxor %xmm6,%xmm6 - movups %xmm7,80(%rsi) - pxor %xmm7,%xmm7 - -.Lecb_ret: - xorps %xmm0,%xmm0 - pxor %xmm1,%xmm1 - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_ecb_encrypt,.-aesni_ecb_encrypt -.globl aesni_ccm64_encrypt_blocks -.type aesni_ccm64_encrypt_blocks,@function -.align 16 -aesni_ccm64_encrypt_blocks: -.cfi_startproc - movl 240(%rcx),%eax - movdqu (%r8),%xmm6 - movdqa .Lincrement64(%rip),%xmm9 - movdqa .Lbswap_mask(%rip),%xmm7 - - shll $4,%eax - movl $16,%r10d - leaq 0(%rcx),%r11 - movdqu (%r9),%xmm3 - movdqa %xmm6,%xmm2 - leaq 32(%rcx,%rax,1),%rcx -.byte 102,15,56,0,247 - subq %rax,%r10 - jmp .Lccm64_enc_outer -.align 16 -.Lccm64_enc_outer: - movups (%r11),%xmm0 - movq %r10,%rax - movups (%rdi),%xmm8 - - xorps %xmm0,%xmm2 - movups 16(%r11),%xmm1 - xorps %xmm8,%xmm0 - xorps %xmm0,%xmm3 - movups 32(%r11),%xmm0 - -.Lccm64_enc2_loop: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Lccm64_enc2_loop -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - paddq %xmm9,%xmm6 - decq %rdx -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 - - leaq 16(%rdi),%rdi - xorps %xmm2,%xmm8 - movdqa %xmm6,%xmm2 - movups %xmm8,(%rsi) -.byte 102,15,56,0,215 - leaq 16(%rsi),%rsi - jnz .Lccm64_enc_outer - - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - movups %xmm3,(%r9) - pxor %xmm3,%xmm3 - pxor %xmm8,%xmm8 - pxor %xmm6,%xmm6 - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks -.globl aesni_ccm64_decrypt_blocks -.type aesni_ccm64_decrypt_blocks,@function -.align 16 -aesni_ccm64_decrypt_blocks: -.cfi_startproc - movl 240(%rcx),%eax - movups (%r8),%xmm6 - movdqu (%r9),%xmm3 - movdqa .Lincrement64(%rip),%xmm9 - movdqa .Lbswap_mask(%rip),%xmm7 - - movaps %xmm6,%xmm2 - movl %eax,%r10d - movq %rcx,%r11 -.byte 102,15,56,0,247 - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - leaq 32(%rcx),%rcx - xorps %xmm0,%xmm2 -.Loop_enc1_5: -.byte 102,15,56,220,209 - decl %eax - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_enc1_5 -.byte 102,15,56,221,209 - shll $4,%r10d - movl $16,%eax - movups (%rdi),%xmm8 - paddq %xmm9,%xmm6 - leaq 16(%rdi),%rdi - subq %r10,%rax - leaq 32(%r11,%r10,1),%rcx - movq %rax,%r10 - jmp .Lccm64_dec_outer -.align 16 -.Lccm64_dec_outer: - xorps %xmm2,%xmm8 - movdqa %xmm6,%xmm2 - movups %xmm8,(%rsi) - leaq 16(%rsi),%rsi -.byte 102,15,56,0,215 - - subq $1,%rdx - jz .Lccm64_dec_break - - movups (%r11),%xmm0 - movq %r10,%rax - movups 16(%r11),%xmm1 - xorps %xmm0,%xmm8 - xorps %xmm0,%xmm2 - xorps %xmm8,%xmm3 - movups 32(%r11),%xmm0 - jmp .Lccm64_dec2_loop -.align 16 -.Lccm64_dec2_loop: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Lccm64_dec2_loop - movups (%rdi),%xmm8 - paddq %xmm9,%xmm6 -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,221,208 -.byte 102,15,56,221,216 - leaq 16(%rdi),%rdi - jmp .Lccm64_dec_outer - -.align 16 -.Lccm64_dec_break: - - movl 240(%r11),%eax - movups (%r11),%xmm0 - movups 16(%r11),%xmm1 - xorps %xmm0,%xmm8 - leaq 32(%r11),%r11 - xorps %xmm8,%xmm3 -.Loop_enc1_6: -.byte 102,15,56,220,217 - decl %eax - movups (%r11),%xmm1 - leaq 16(%r11),%r11 - jnz .Loop_enc1_6 -.byte 102,15,56,221,217 - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - movups %xmm3,(%r9) - pxor %xmm3,%xmm3 - pxor %xmm8,%xmm8 - pxor %xmm6,%xmm6 - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks -.globl aesni_ctr32_encrypt_blocks -.type aesni_ctr32_encrypt_blocks,@function -.align 16 -aesni_ctr32_encrypt_blocks: -.cfi_startproc - cmpq $1,%rdx - jne .Lctr32_bulk - - - - movups (%r8),%xmm2 - movups (%rdi),%xmm3 - movl 240(%rcx),%edx - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - leaq 32(%rcx),%rcx - xorps %xmm0,%xmm2 -.Loop_enc1_7: -.byte 102,15,56,220,209 - decl %edx - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_enc1_7 -.byte 102,15,56,221,209 - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - xorps %xmm3,%xmm2 - pxor %xmm3,%xmm3 - movups %xmm2,(%rsi) - xorps %xmm2,%xmm2 - jmp .Lctr32_epilogue - -.align 16 -.Lctr32_bulk: - leaq (%rsp),%r11 -.cfi_def_cfa_register %r11 - pushq %rbp -.cfi_offset %rbp,-16 - subq $128,%rsp - andq $-16,%rsp - - - - - movdqu (%r8),%xmm2 - movdqu (%rcx),%xmm0 - movl 12(%r8),%r8d - pxor %xmm0,%xmm2 - movl 12(%rcx),%ebp - movdqa %xmm2,0(%rsp) - bswapl %r8d - movdqa %xmm2,%xmm3 - movdqa %xmm2,%xmm4 - movdqa %xmm2,%xmm5 - movdqa %xmm2,64(%rsp) - movdqa %xmm2,80(%rsp) - movdqa %xmm2,96(%rsp) - movq %rdx,%r10 - movdqa %xmm2,112(%rsp) - - leaq 1(%r8),%rax - leaq 2(%r8),%rdx - bswapl %eax - bswapl %edx - xorl %ebp,%eax - xorl %ebp,%edx -.byte 102,15,58,34,216,3 - leaq 3(%r8),%rax - movdqa %xmm3,16(%rsp) -.byte 102,15,58,34,226,3 - bswapl %eax - movq %r10,%rdx - leaq 4(%r8),%r10 - movdqa %xmm4,32(%rsp) - xorl %ebp,%eax - bswapl %r10d -.byte 102,15,58,34,232,3 - xorl %ebp,%r10d - movdqa %xmm5,48(%rsp) - leaq 5(%r8),%r9 - movl %r10d,64+12(%rsp) - bswapl %r9d - leaq 6(%r8),%r10 - movl 240(%rcx),%eax - xorl %ebp,%r9d - bswapl %r10d - movl %r9d,80+12(%rsp) - xorl %ebp,%r10d - leaq 7(%r8),%r9 - movl %r10d,96+12(%rsp) - bswapl %r9d - movl OPENSSL_ia32cap_P+4(%rip),%r10d - xorl %ebp,%r9d - andl $71303168,%r10d - movl %r9d,112+12(%rsp) - - movups 16(%rcx),%xmm1 - - movdqa 64(%rsp),%xmm6 - movdqa 80(%rsp),%xmm7 - - cmpq $8,%rdx - jb .Lctr32_tail - - subq $6,%rdx - cmpl $4194304,%r10d - je .Lctr32_6x - - leaq 128(%rcx),%rcx - subq $2,%rdx - jmp .Lctr32_loop8 - -.align 16 -.Lctr32_6x: - shll $4,%eax - movl $48,%r10d - bswapl %ebp - leaq 32(%rcx,%rax,1),%rcx - subq %rax,%r10 - jmp .Lctr32_loop6 - -.align 16 -.Lctr32_loop6: - addl $6,%r8d - movups -48(%rcx,%r10,1),%xmm0 -.byte 102,15,56,220,209 - movl %r8d,%eax - xorl %ebp,%eax -.byte 102,15,56,220,217 -.byte 0x0f,0x38,0xf1,0x44,0x24,12 - leal 1(%r8),%eax -.byte 102,15,56,220,225 - xorl %ebp,%eax -.byte 0x0f,0x38,0xf1,0x44,0x24,28 -.byte 102,15,56,220,233 - leal 2(%r8),%eax - xorl %ebp,%eax -.byte 102,15,56,220,241 -.byte 0x0f,0x38,0xf1,0x44,0x24,44 - leal 3(%r8),%eax -.byte 102,15,56,220,249 - movups -32(%rcx,%r10,1),%xmm1 - xorl %ebp,%eax - -.byte 102,15,56,220,208 -.byte 0x0f,0x38,0xf1,0x44,0x24,60 - leal 4(%r8),%eax -.byte 102,15,56,220,216 - xorl %ebp,%eax -.byte 0x0f,0x38,0xf1,0x44,0x24,76 -.byte 102,15,56,220,224 - leal 5(%r8),%eax - xorl %ebp,%eax -.byte 102,15,56,220,232 -.byte 0x0f,0x38,0xf1,0x44,0x24,92 - movq %r10,%rax -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 - movups -16(%rcx,%r10,1),%xmm0 - - call .Lenc_loop6 - - movdqu (%rdi),%xmm8 - movdqu 16(%rdi),%xmm9 - movdqu 32(%rdi),%xmm10 - movdqu 48(%rdi),%xmm11 - movdqu 64(%rdi),%xmm12 - movdqu 80(%rdi),%xmm13 - leaq 96(%rdi),%rdi - movups -64(%rcx,%r10,1),%xmm1 - pxor %xmm2,%xmm8 - movaps 0(%rsp),%xmm2 - pxor %xmm3,%xmm9 - movaps 16(%rsp),%xmm3 - pxor %xmm4,%xmm10 - movaps 32(%rsp),%xmm4 - pxor %xmm5,%xmm11 - movaps 48(%rsp),%xmm5 - pxor %xmm6,%xmm12 - movaps 64(%rsp),%xmm6 - pxor %xmm7,%xmm13 - movaps 80(%rsp),%xmm7 - movdqu %xmm8,(%rsi) - movdqu %xmm9,16(%rsi) - movdqu %xmm10,32(%rsi) - movdqu %xmm11,48(%rsi) - movdqu %xmm12,64(%rsi) - movdqu %xmm13,80(%rsi) - leaq 96(%rsi),%rsi - - subq $6,%rdx - jnc .Lctr32_loop6 - - addq $6,%rdx - jz .Lctr32_done - - leal -48(%r10),%eax - leaq -80(%rcx,%r10,1),%rcx - negl %eax - shrl $4,%eax - jmp .Lctr32_tail - -.align 32 -.Lctr32_loop8: - addl $8,%r8d - movdqa 96(%rsp),%xmm8 -.byte 102,15,56,220,209 - movl %r8d,%r9d - movdqa 112(%rsp),%xmm9 -.byte 102,15,56,220,217 - bswapl %r9d - movups 32-128(%rcx),%xmm0 -.byte 102,15,56,220,225 - xorl %ebp,%r9d - nop -.byte 102,15,56,220,233 - movl %r9d,0+12(%rsp) - leaq 1(%r8),%r9 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.byte 102,68,15,56,220,193 -.byte 102,68,15,56,220,201 - movups 48-128(%rcx),%xmm1 - bswapl %r9d -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 - xorl %ebp,%r9d -.byte 0x66,0x90 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - movl %r9d,16+12(%rsp) - leaq 2(%r8),%r9 -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 -.byte 102,68,15,56,220,192 -.byte 102,68,15,56,220,200 - movups 64-128(%rcx),%xmm0 - bswapl %r9d -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - xorl %ebp,%r9d -.byte 0x66,0x90 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movl %r9d,32+12(%rsp) - leaq 3(%r8),%r9 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.byte 102,68,15,56,220,193 -.byte 102,68,15,56,220,201 - movups 80-128(%rcx),%xmm1 - bswapl %r9d -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 - xorl %ebp,%r9d -.byte 0x66,0x90 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - movl %r9d,48+12(%rsp) - leaq 4(%r8),%r9 -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 -.byte 102,68,15,56,220,192 -.byte 102,68,15,56,220,200 - movups 96-128(%rcx),%xmm0 - bswapl %r9d -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - xorl %ebp,%r9d -.byte 0x66,0x90 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movl %r9d,64+12(%rsp) - leaq 5(%r8),%r9 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.byte 102,68,15,56,220,193 -.byte 102,68,15,56,220,201 - movups 112-128(%rcx),%xmm1 - bswapl %r9d -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 - xorl %ebp,%r9d -.byte 0x66,0x90 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - movl %r9d,80+12(%rsp) - leaq 6(%r8),%r9 -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 -.byte 102,68,15,56,220,192 -.byte 102,68,15,56,220,200 - movups 128-128(%rcx),%xmm0 - bswapl %r9d -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - xorl %ebp,%r9d -.byte 0x66,0x90 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movl %r9d,96+12(%rsp) - leaq 7(%r8),%r9 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.byte 102,68,15,56,220,193 -.byte 102,68,15,56,220,201 - movups 144-128(%rcx),%xmm1 - bswapl %r9d -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 - xorl %ebp,%r9d - movdqu 0(%rdi),%xmm10 -.byte 102,15,56,220,232 - movl %r9d,112+12(%rsp) - cmpl $11,%eax -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 -.byte 102,68,15,56,220,192 -.byte 102,68,15,56,220,200 - movups 160-128(%rcx),%xmm0 - - jb .Lctr32_enc_done - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.byte 102,68,15,56,220,193 -.byte 102,68,15,56,220,201 - movups 176-128(%rcx),%xmm1 - -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 -.byte 102,68,15,56,220,192 -.byte 102,68,15,56,220,200 - movups 192-128(%rcx),%xmm0 - je .Lctr32_enc_done - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.byte 102,68,15,56,220,193 -.byte 102,68,15,56,220,201 - movups 208-128(%rcx),%xmm1 - -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 -.byte 102,68,15,56,220,192 -.byte 102,68,15,56,220,200 - movups 224-128(%rcx),%xmm0 - jmp .Lctr32_enc_done - -.align 16 -.Lctr32_enc_done: - movdqu 16(%rdi),%xmm11 - pxor %xmm0,%xmm10 - movdqu 32(%rdi),%xmm12 - pxor %xmm0,%xmm11 - movdqu 48(%rdi),%xmm13 - pxor %xmm0,%xmm12 - movdqu 64(%rdi),%xmm14 - pxor %xmm0,%xmm13 - movdqu 80(%rdi),%xmm15 - pxor %xmm0,%xmm14 - pxor %xmm0,%xmm15 -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 -.byte 102,68,15,56,220,193 -.byte 102,68,15,56,220,201 - movdqu 96(%rdi),%xmm1 - leaq 128(%rdi),%rdi - -.byte 102,65,15,56,221,210 - pxor %xmm0,%xmm1 - movdqu 112-128(%rdi),%xmm10 -.byte 102,65,15,56,221,219 - pxor %xmm0,%xmm10 - movdqa 0(%rsp),%xmm11 -.byte 102,65,15,56,221,228 -.byte 102,65,15,56,221,237 - movdqa 16(%rsp),%xmm12 - movdqa 32(%rsp),%xmm13 -.byte 102,65,15,56,221,246 -.byte 102,65,15,56,221,255 - movdqa 48(%rsp),%xmm14 - movdqa 64(%rsp),%xmm15 -.byte 102,68,15,56,221,193 - movdqa 80(%rsp),%xmm0 - movups 16-128(%rcx),%xmm1 -.byte 102,69,15,56,221,202 - - movups %xmm2,(%rsi) - movdqa %xmm11,%xmm2 - movups %xmm3,16(%rsi) - movdqa %xmm12,%xmm3 - movups %xmm4,32(%rsi) - movdqa %xmm13,%xmm4 - movups %xmm5,48(%rsi) - movdqa %xmm14,%xmm5 - movups %xmm6,64(%rsi) - movdqa %xmm15,%xmm6 - movups %xmm7,80(%rsi) - movdqa %xmm0,%xmm7 - movups %xmm8,96(%rsi) - movups %xmm9,112(%rsi) - leaq 128(%rsi),%rsi - - subq $8,%rdx - jnc .Lctr32_loop8 - - addq $8,%rdx - jz .Lctr32_done - leaq -128(%rcx),%rcx - -.Lctr32_tail: - - - leaq 16(%rcx),%rcx - cmpq $4,%rdx - jb .Lctr32_loop3 - je .Lctr32_loop4 - - - shll $4,%eax - movdqa 96(%rsp),%xmm8 - pxor %xmm9,%xmm9 - - movups 16(%rcx),%xmm0 -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 - leaq 32-16(%rcx,%rax,1),%rcx - negq %rax -.byte 102,15,56,220,225 - addq $16,%rax - movups (%rdi),%xmm10 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 - movups 16(%rdi),%xmm11 - movups 32(%rdi),%xmm12 -.byte 102,15,56,220,249 -.byte 102,68,15,56,220,193 - - call .Lenc_loop8_enter - - movdqu 48(%rdi),%xmm13 - pxor %xmm10,%xmm2 - movdqu 64(%rdi),%xmm10 - pxor %xmm11,%xmm3 - movdqu %xmm2,(%rsi) - pxor %xmm12,%xmm4 - movdqu %xmm3,16(%rsi) - pxor %xmm13,%xmm5 - movdqu %xmm4,32(%rsi) - pxor %xmm10,%xmm6 - movdqu %xmm5,48(%rsi) - movdqu %xmm6,64(%rsi) - cmpq $6,%rdx - jb .Lctr32_done - - movups 80(%rdi),%xmm11 - xorps %xmm11,%xmm7 - movups %xmm7,80(%rsi) - je .Lctr32_done - - movups 96(%rdi),%xmm12 - xorps %xmm12,%xmm8 - movups %xmm8,96(%rsi) - jmp .Lctr32_done - -.align 32 -.Lctr32_loop4: -.byte 102,15,56,220,209 - leaq 16(%rcx),%rcx - decl %eax -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movups (%rcx),%xmm1 - jnz .Lctr32_loop4 -.byte 102,15,56,221,209 -.byte 102,15,56,221,217 - movups (%rdi),%xmm10 - movups 16(%rdi),%xmm11 -.byte 102,15,56,221,225 -.byte 102,15,56,221,233 - movups 32(%rdi),%xmm12 - movups 48(%rdi),%xmm13 - - xorps %xmm10,%xmm2 - movups %xmm2,(%rsi) - xorps %xmm11,%xmm3 - movups %xmm3,16(%rsi) - pxor %xmm12,%xmm4 - movdqu %xmm4,32(%rsi) - pxor %xmm13,%xmm5 - movdqu %xmm5,48(%rsi) - jmp .Lctr32_done - -.align 32 -.Lctr32_loop3: -.byte 102,15,56,220,209 - leaq 16(%rcx),%rcx - decl %eax -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 - movups (%rcx),%xmm1 - jnz .Lctr32_loop3 -.byte 102,15,56,221,209 -.byte 102,15,56,221,217 -.byte 102,15,56,221,225 - - movups (%rdi),%xmm10 - xorps %xmm10,%xmm2 - movups %xmm2,(%rsi) - cmpq $2,%rdx - jb .Lctr32_done - - movups 16(%rdi),%xmm11 - xorps %xmm11,%xmm3 - movups %xmm3,16(%rsi) - je .Lctr32_done - - movups 32(%rdi),%xmm12 - xorps %xmm12,%xmm4 - movups %xmm4,32(%rsi) - -.Lctr32_done: - xorps %xmm0,%xmm0 - xorl %ebp,%ebp - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - movaps %xmm0,0(%rsp) - pxor %xmm8,%xmm8 - movaps %xmm0,16(%rsp) - pxor %xmm9,%xmm9 - movaps %xmm0,32(%rsp) - pxor %xmm10,%xmm10 - movaps %xmm0,48(%rsp) - pxor %xmm11,%xmm11 - movaps %xmm0,64(%rsp) - pxor %xmm12,%xmm12 - movaps %xmm0,80(%rsp) - pxor %xmm13,%xmm13 - movaps %xmm0,96(%rsp) - pxor %xmm14,%xmm14 - movaps %xmm0,112(%rsp) - pxor %xmm15,%xmm15 - movq -8(%r11),%rbp -.cfi_restore %rbp - leaq (%r11),%rsp -.cfi_def_cfa_register %rsp -.Lctr32_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_ctr32_encrypt_blocks,.-aesni_ctr32_encrypt_blocks -.globl aesni_xts_encrypt -.type aesni_xts_encrypt,@function -.align 16 -aesni_xts_encrypt: -.cfi_startproc - leaq (%rsp),%r11 -.cfi_def_cfa_register %r11 - pushq %rbp -.cfi_offset %rbp,-16 - subq $112,%rsp - andq $-16,%rsp - movups (%r9),%xmm2 - movl 240(%r8),%eax - movl 240(%rcx),%r10d - movups (%r8),%xmm0 - movups 16(%r8),%xmm1 - leaq 32(%r8),%r8 - xorps %xmm0,%xmm2 -.Loop_enc1_8: -.byte 102,15,56,220,209 - decl %eax - movups (%r8),%xmm1 - leaq 16(%r8),%r8 - jnz .Loop_enc1_8 -.byte 102,15,56,221,209 - movups (%rcx),%xmm0 - movq %rcx,%rbp - movl %r10d,%eax - shll $4,%r10d - movq %rdx,%r9 - andq $-16,%rdx - - movups 16(%rcx,%r10,1),%xmm1 - - movdqa .Lxts_magic(%rip),%xmm8 - movdqa %xmm2,%xmm15 - pshufd $0x5f,%xmm2,%xmm9 - pxor %xmm0,%xmm1 - movdqa %xmm9,%xmm14 - paddd %xmm9,%xmm9 - movdqa %xmm15,%xmm10 - psrad $31,%xmm14 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 - pxor %xmm0,%xmm10 - pxor %xmm14,%xmm15 - movdqa %xmm9,%xmm14 - paddd %xmm9,%xmm9 - movdqa %xmm15,%xmm11 - psrad $31,%xmm14 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 - pxor %xmm0,%xmm11 - pxor %xmm14,%xmm15 - movdqa %xmm9,%xmm14 - paddd %xmm9,%xmm9 - movdqa %xmm15,%xmm12 - psrad $31,%xmm14 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 - pxor %xmm0,%xmm12 - pxor %xmm14,%xmm15 - movdqa %xmm9,%xmm14 - paddd %xmm9,%xmm9 - movdqa %xmm15,%xmm13 - psrad $31,%xmm14 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 - pxor %xmm0,%xmm13 - pxor %xmm14,%xmm15 - movdqa %xmm15,%xmm14 - psrad $31,%xmm9 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm9 - pxor %xmm0,%xmm14 - pxor %xmm9,%xmm15 - movaps %xmm1,96(%rsp) - - subq $96,%rdx - jc .Lxts_enc_short - - movl $16+96,%eax - leaq 32(%rbp,%r10,1),%rcx - subq %r10,%rax - movups 16(%rbp),%xmm1 - movq %rax,%r10 - leaq .Lxts_magic(%rip),%r8 - jmp .Lxts_enc_grandloop - -.align 32 -.Lxts_enc_grandloop: - movdqu 0(%rdi),%xmm2 - movdqa %xmm0,%xmm8 - movdqu 16(%rdi),%xmm3 - pxor %xmm10,%xmm2 - movdqu 32(%rdi),%xmm4 - pxor %xmm11,%xmm3 -.byte 102,15,56,220,209 - movdqu 48(%rdi),%xmm5 - pxor %xmm12,%xmm4 -.byte 102,15,56,220,217 - movdqu 64(%rdi),%xmm6 - pxor %xmm13,%xmm5 -.byte 102,15,56,220,225 - movdqu 80(%rdi),%xmm7 - pxor %xmm15,%xmm8 - movdqa 96(%rsp),%xmm9 - pxor %xmm14,%xmm6 -.byte 102,15,56,220,233 - movups 32(%rbp),%xmm0 - leaq 96(%rdi),%rdi - pxor %xmm8,%xmm7 - - pxor %xmm9,%xmm10 -.byte 102,15,56,220,241 - pxor %xmm9,%xmm11 - movdqa %xmm10,0(%rsp) -.byte 102,15,56,220,249 - movups 48(%rbp),%xmm1 - pxor %xmm9,%xmm12 - -.byte 102,15,56,220,208 - pxor %xmm9,%xmm13 - movdqa %xmm11,16(%rsp) -.byte 102,15,56,220,216 - pxor %xmm9,%xmm14 - movdqa %xmm12,32(%rsp) -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - pxor %xmm9,%xmm8 - movdqa %xmm14,64(%rsp) -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 - movups 64(%rbp),%xmm0 - movdqa %xmm8,80(%rsp) - pshufd $0x5f,%xmm15,%xmm9 - jmp .Lxts_enc_loop6 -.align 32 -.Lxts_enc_loop6: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 - movups -64(%rcx,%rax,1),%xmm1 - addq $32,%rax - -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 - movups -80(%rcx,%rax,1),%xmm0 - jnz .Lxts_enc_loop6 - - movdqa (%r8),%xmm8 - movdqa %xmm9,%xmm14 - paddd %xmm9,%xmm9 -.byte 102,15,56,220,209 - paddq %xmm15,%xmm15 - psrad $31,%xmm14 -.byte 102,15,56,220,217 - pand %xmm8,%xmm14 - movups (%rbp),%xmm10 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 - pxor %xmm14,%xmm15 - movaps %xmm10,%xmm11 -.byte 102,15,56,220,249 - movups -64(%rcx),%xmm1 - - movdqa %xmm9,%xmm14 -.byte 102,15,56,220,208 - paddd %xmm9,%xmm9 - pxor %xmm15,%xmm10 -.byte 102,15,56,220,216 - psrad $31,%xmm14 - paddq %xmm15,%xmm15 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - pand %xmm8,%xmm14 - movaps %xmm11,%xmm12 -.byte 102,15,56,220,240 - pxor %xmm14,%xmm15 - movdqa %xmm9,%xmm14 -.byte 102,15,56,220,248 - movups -48(%rcx),%xmm0 - - paddd %xmm9,%xmm9 -.byte 102,15,56,220,209 - pxor %xmm15,%xmm11 - psrad $31,%xmm14 -.byte 102,15,56,220,217 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movdqa %xmm13,48(%rsp) - pxor %xmm14,%xmm15 -.byte 102,15,56,220,241 - movaps %xmm12,%xmm13 - movdqa %xmm9,%xmm14 -.byte 102,15,56,220,249 - movups -32(%rcx),%xmm1 - - paddd %xmm9,%xmm9 -.byte 102,15,56,220,208 - pxor %xmm15,%xmm12 - psrad $31,%xmm14 -.byte 102,15,56,220,216 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 -.byte 102,15,56,220,240 - pxor %xmm14,%xmm15 - movaps %xmm13,%xmm14 -.byte 102,15,56,220,248 - - movdqa %xmm9,%xmm0 - paddd %xmm9,%xmm9 -.byte 102,15,56,220,209 - pxor %xmm15,%xmm13 - psrad $31,%xmm0 -.byte 102,15,56,220,217 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm0 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - pxor %xmm0,%xmm15 - movups (%rbp),%xmm0 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 - movups 16(%rbp),%xmm1 - - pxor %xmm15,%xmm14 -.byte 102,15,56,221,84,36,0 - psrad $31,%xmm9 - paddq %xmm15,%xmm15 -.byte 102,15,56,221,92,36,16 -.byte 102,15,56,221,100,36,32 - pand %xmm8,%xmm9 - movq %r10,%rax -.byte 102,15,56,221,108,36,48 -.byte 102,15,56,221,116,36,64 -.byte 102,15,56,221,124,36,80 - pxor %xmm9,%xmm15 - - leaq 96(%rsi),%rsi - movups %xmm2,-96(%rsi) - movups %xmm3,-80(%rsi) - movups %xmm4,-64(%rsi) - movups %xmm5,-48(%rsi) - movups %xmm6,-32(%rsi) - movups %xmm7,-16(%rsi) - subq $96,%rdx - jnc .Lxts_enc_grandloop - - movl $16+96,%eax - subl %r10d,%eax - movq %rbp,%rcx - shrl $4,%eax - -.Lxts_enc_short: - - movl %eax,%r10d - pxor %xmm0,%xmm10 - addq $96,%rdx - jz .Lxts_enc_done - - pxor %xmm0,%xmm11 - cmpq $0x20,%rdx - jb .Lxts_enc_one - pxor %xmm0,%xmm12 - je .Lxts_enc_two - - pxor %xmm0,%xmm13 - cmpq $0x40,%rdx - jb .Lxts_enc_three - pxor %xmm0,%xmm14 - je .Lxts_enc_four - - movdqu (%rdi),%xmm2 - movdqu 16(%rdi),%xmm3 - movdqu 32(%rdi),%xmm4 - pxor %xmm10,%xmm2 - movdqu 48(%rdi),%xmm5 - pxor %xmm11,%xmm3 - movdqu 64(%rdi),%xmm6 - leaq 80(%rdi),%rdi - pxor %xmm12,%xmm4 - pxor %xmm13,%xmm5 - pxor %xmm14,%xmm6 - pxor %xmm7,%xmm7 - - call _aesni_encrypt6 - - xorps %xmm10,%xmm2 - movdqa %xmm15,%xmm10 - xorps %xmm11,%xmm3 - xorps %xmm12,%xmm4 - movdqu %xmm2,(%rsi) - xorps %xmm13,%xmm5 - movdqu %xmm3,16(%rsi) - xorps %xmm14,%xmm6 - movdqu %xmm4,32(%rsi) - movdqu %xmm5,48(%rsi) - movdqu %xmm6,64(%rsi) - leaq 80(%rsi),%rsi - jmp .Lxts_enc_done - -.align 16 -.Lxts_enc_one: - movups (%rdi),%xmm2 - leaq 16(%rdi),%rdi - xorps %xmm10,%xmm2 - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - leaq 32(%rcx),%rcx - xorps %xmm0,%xmm2 -.Loop_enc1_9: -.byte 102,15,56,220,209 - decl %eax - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_enc1_9 -.byte 102,15,56,221,209 - xorps %xmm10,%xmm2 - movdqa %xmm11,%xmm10 - movups %xmm2,(%rsi) - leaq 16(%rsi),%rsi - jmp .Lxts_enc_done - -.align 16 -.Lxts_enc_two: - movups (%rdi),%xmm2 - movups 16(%rdi),%xmm3 - leaq 32(%rdi),%rdi - xorps %xmm10,%xmm2 - xorps %xmm11,%xmm3 - - call _aesni_encrypt2 - - xorps %xmm10,%xmm2 - movdqa %xmm12,%xmm10 - xorps %xmm11,%xmm3 - movups %xmm2,(%rsi) - movups %xmm3,16(%rsi) - leaq 32(%rsi),%rsi - jmp .Lxts_enc_done - -.align 16 -.Lxts_enc_three: - movups (%rdi),%xmm2 - movups 16(%rdi),%xmm3 - movups 32(%rdi),%xmm4 - leaq 48(%rdi),%rdi - xorps %xmm10,%xmm2 - xorps %xmm11,%xmm3 - xorps %xmm12,%xmm4 - - call _aesni_encrypt3 - - xorps %xmm10,%xmm2 - movdqa %xmm13,%xmm10 - xorps %xmm11,%xmm3 - xorps %xmm12,%xmm4 - movups %xmm2,(%rsi) - movups %xmm3,16(%rsi) - movups %xmm4,32(%rsi) - leaq 48(%rsi),%rsi - jmp .Lxts_enc_done - -.align 16 -.Lxts_enc_four: - movups (%rdi),%xmm2 - movups 16(%rdi),%xmm3 - movups 32(%rdi),%xmm4 - xorps %xmm10,%xmm2 - movups 48(%rdi),%xmm5 - leaq 64(%rdi),%rdi - xorps %xmm11,%xmm3 - xorps %xmm12,%xmm4 - xorps %xmm13,%xmm5 - - call _aesni_encrypt4 - - pxor %xmm10,%xmm2 - movdqa %xmm14,%xmm10 - pxor %xmm11,%xmm3 - pxor %xmm12,%xmm4 - movdqu %xmm2,(%rsi) - pxor %xmm13,%xmm5 - movdqu %xmm3,16(%rsi) - movdqu %xmm4,32(%rsi) - movdqu %xmm5,48(%rsi) - leaq 64(%rsi),%rsi - jmp .Lxts_enc_done - -.align 16 -.Lxts_enc_done: - andq $15,%r9 - jz .Lxts_enc_ret - movq %r9,%rdx - -.Lxts_enc_steal: - movzbl (%rdi),%eax - movzbl -16(%rsi),%ecx - leaq 1(%rdi),%rdi - movb %al,-16(%rsi) - movb %cl,0(%rsi) - leaq 1(%rsi),%rsi - subq $1,%rdx - jnz .Lxts_enc_steal - - subq %r9,%rsi - movq %rbp,%rcx - movl %r10d,%eax - - movups -16(%rsi),%xmm2 - xorps %xmm10,%xmm2 - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - leaq 32(%rcx),%rcx - xorps %xmm0,%xmm2 -.Loop_enc1_10: -.byte 102,15,56,220,209 - decl %eax - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_enc1_10 -.byte 102,15,56,221,209 - xorps %xmm10,%xmm2 - movups %xmm2,-16(%rsi) - -.Lxts_enc_ret: - xorps %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - movaps %xmm0,0(%rsp) - pxor %xmm8,%xmm8 - movaps %xmm0,16(%rsp) - pxor %xmm9,%xmm9 - movaps %xmm0,32(%rsp) - pxor %xmm10,%xmm10 - movaps %xmm0,48(%rsp) - pxor %xmm11,%xmm11 - movaps %xmm0,64(%rsp) - pxor %xmm12,%xmm12 - movaps %xmm0,80(%rsp) - pxor %xmm13,%xmm13 - movaps %xmm0,96(%rsp) - pxor %xmm14,%xmm14 - pxor %xmm15,%xmm15 - movq -8(%r11),%rbp -.cfi_restore %rbp - leaq (%r11),%rsp -.cfi_def_cfa_register %rsp -.Lxts_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_xts_encrypt,.-aesni_xts_encrypt -.globl aesni_xts_decrypt -.type aesni_xts_decrypt,@function -.align 16 -aesni_xts_decrypt: -.cfi_startproc - leaq (%rsp),%r11 -.cfi_def_cfa_register %r11 - pushq %rbp -.cfi_offset %rbp,-16 - subq $112,%rsp - andq $-16,%rsp - movups (%r9),%xmm2 - movl 240(%r8),%eax - movl 240(%rcx),%r10d - movups (%r8),%xmm0 - movups 16(%r8),%xmm1 - leaq 32(%r8),%r8 - xorps %xmm0,%xmm2 -.Loop_enc1_11: -.byte 102,15,56,220,209 - decl %eax - movups (%r8),%xmm1 - leaq 16(%r8),%r8 - jnz .Loop_enc1_11 -.byte 102,15,56,221,209 - xorl %eax,%eax - testq $15,%rdx - setnz %al - shlq $4,%rax - subq %rax,%rdx - - movups (%rcx),%xmm0 - movq %rcx,%rbp - movl %r10d,%eax - shll $4,%r10d - movq %rdx,%r9 - andq $-16,%rdx - - movups 16(%rcx,%r10,1),%xmm1 - - movdqa .Lxts_magic(%rip),%xmm8 - movdqa %xmm2,%xmm15 - pshufd $0x5f,%xmm2,%xmm9 - pxor %xmm0,%xmm1 - movdqa %xmm9,%xmm14 - paddd %xmm9,%xmm9 - movdqa %xmm15,%xmm10 - psrad $31,%xmm14 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 - pxor %xmm0,%xmm10 - pxor %xmm14,%xmm15 - movdqa %xmm9,%xmm14 - paddd %xmm9,%xmm9 - movdqa %xmm15,%xmm11 - psrad $31,%xmm14 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 - pxor %xmm0,%xmm11 - pxor %xmm14,%xmm15 - movdqa %xmm9,%xmm14 - paddd %xmm9,%xmm9 - movdqa %xmm15,%xmm12 - psrad $31,%xmm14 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 - pxor %xmm0,%xmm12 - pxor %xmm14,%xmm15 - movdqa %xmm9,%xmm14 - paddd %xmm9,%xmm9 - movdqa %xmm15,%xmm13 - psrad $31,%xmm14 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 - pxor %xmm0,%xmm13 - pxor %xmm14,%xmm15 - movdqa %xmm15,%xmm14 - psrad $31,%xmm9 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm9 - pxor %xmm0,%xmm14 - pxor %xmm9,%xmm15 - movaps %xmm1,96(%rsp) - - subq $96,%rdx - jc .Lxts_dec_short - - movl $16+96,%eax - leaq 32(%rbp,%r10,1),%rcx - subq %r10,%rax - movups 16(%rbp),%xmm1 - movq %rax,%r10 - leaq .Lxts_magic(%rip),%r8 - jmp .Lxts_dec_grandloop - -.align 32 -.Lxts_dec_grandloop: - movdqu 0(%rdi),%xmm2 - movdqa %xmm0,%xmm8 - movdqu 16(%rdi),%xmm3 - pxor %xmm10,%xmm2 - movdqu 32(%rdi),%xmm4 - pxor %xmm11,%xmm3 -.byte 102,15,56,222,209 - movdqu 48(%rdi),%xmm5 - pxor %xmm12,%xmm4 -.byte 102,15,56,222,217 - movdqu 64(%rdi),%xmm6 - pxor %xmm13,%xmm5 -.byte 102,15,56,222,225 - movdqu 80(%rdi),%xmm7 - pxor %xmm15,%xmm8 - movdqa 96(%rsp),%xmm9 - pxor %xmm14,%xmm6 -.byte 102,15,56,222,233 - movups 32(%rbp),%xmm0 - leaq 96(%rdi),%rdi - pxor %xmm8,%xmm7 - - pxor %xmm9,%xmm10 -.byte 102,15,56,222,241 - pxor %xmm9,%xmm11 - movdqa %xmm10,0(%rsp) -.byte 102,15,56,222,249 - movups 48(%rbp),%xmm1 - pxor %xmm9,%xmm12 - -.byte 102,15,56,222,208 - pxor %xmm9,%xmm13 - movdqa %xmm11,16(%rsp) -.byte 102,15,56,222,216 - pxor %xmm9,%xmm14 - movdqa %xmm12,32(%rsp) -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 - pxor %xmm9,%xmm8 - movdqa %xmm14,64(%rsp) -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 - movups 64(%rbp),%xmm0 - movdqa %xmm8,80(%rsp) - pshufd $0x5f,%xmm15,%xmm9 - jmp .Lxts_dec_loop6 -.align 32 -.Lxts_dec_loop6: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 - movups -64(%rcx,%rax,1),%xmm1 - addq $32,%rax - -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 - movups -80(%rcx,%rax,1),%xmm0 - jnz .Lxts_dec_loop6 - - movdqa (%r8),%xmm8 - movdqa %xmm9,%xmm14 - paddd %xmm9,%xmm9 -.byte 102,15,56,222,209 - paddq %xmm15,%xmm15 - psrad $31,%xmm14 -.byte 102,15,56,222,217 - pand %xmm8,%xmm14 - movups (%rbp),%xmm10 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 - pxor %xmm14,%xmm15 - movaps %xmm10,%xmm11 -.byte 102,15,56,222,249 - movups -64(%rcx),%xmm1 - - movdqa %xmm9,%xmm14 -.byte 102,15,56,222,208 - paddd %xmm9,%xmm9 - pxor %xmm15,%xmm10 -.byte 102,15,56,222,216 - psrad $31,%xmm14 - paddq %xmm15,%xmm15 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 - pand %xmm8,%xmm14 - movaps %xmm11,%xmm12 -.byte 102,15,56,222,240 - pxor %xmm14,%xmm15 - movdqa %xmm9,%xmm14 -.byte 102,15,56,222,248 - movups -48(%rcx),%xmm0 - - paddd %xmm9,%xmm9 -.byte 102,15,56,222,209 - pxor %xmm15,%xmm11 - psrad $31,%xmm14 -.byte 102,15,56,222,217 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - movdqa %xmm13,48(%rsp) - pxor %xmm14,%xmm15 -.byte 102,15,56,222,241 - movaps %xmm12,%xmm13 - movdqa %xmm9,%xmm14 -.byte 102,15,56,222,249 - movups -32(%rcx),%xmm1 - - paddd %xmm9,%xmm9 -.byte 102,15,56,222,208 - pxor %xmm15,%xmm12 - psrad $31,%xmm14 -.byte 102,15,56,222,216 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm14 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 - pxor %xmm14,%xmm15 - movaps %xmm13,%xmm14 -.byte 102,15,56,222,248 - - movdqa %xmm9,%xmm0 - paddd %xmm9,%xmm9 -.byte 102,15,56,222,209 - pxor %xmm15,%xmm13 - psrad $31,%xmm0 -.byte 102,15,56,222,217 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm0 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - pxor %xmm0,%xmm15 - movups (%rbp),%xmm0 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 - movups 16(%rbp),%xmm1 - - pxor %xmm15,%xmm14 -.byte 102,15,56,223,84,36,0 - psrad $31,%xmm9 - paddq %xmm15,%xmm15 -.byte 102,15,56,223,92,36,16 -.byte 102,15,56,223,100,36,32 - pand %xmm8,%xmm9 - movq %r10,%rax -.byte 102,15,56,223,108,36,48 -.byte 102,15,56,223,116,36,64 -.byte 102,15,56,223,124,36,80 - pxor %xmm9,%xmm15 - - leaq 96(%rsi),%rsi - movups %xmm2,-96(%rsi) - movups %xmm3,-80(%rsi) - movups %xmm4,-64(%rsi) - movups %xmm5,-48(%rsi) - movups %xmm6,-32(%rsi) - movups %xmm7,-16(%rsi) - subq $96,%rdx - jnc .Lxts_dec_grandloop - - movl $16+96,%eax - subl %r10d,%eax - movq %rbp,%rcx - shrl $4,%eax - -.Lxts_dec_short: - - movl %eax,%r10d - pxor %xmm0,%xmm10 - pxor %xmm0,%xmm11 - addq $96,%rdx - jz .Lxts_dec_done - - pxor %xmm0,%xmm12 - cmpq $0x20,%rdx - jb .Lxts_dec_one - pxor %xmm0,%xmm13 - je .Lxts_dec_two - - pxor %xmm0,%xmm14 - cmpq $0x40,%rdx - jb .Lxts_dec_three - je .Lxts_dec_four - - movdqu (%rdi),%xmm2 - movdqu 16(%rdi),%xmm3 - movdqu 32(%rdi),%xmm4 - pxor %xmm10,%xmm2 - movdqu 48(%rdi),%xmm5 - pxor %xmm11,%xmm3 - movdqu 64(%rdi),%xmm6 - leaq 80(%rdi),%rdi - pxor %xmm12,%xmm4 - pxor %xmm13,%xmm5 - pxor %xmm14,%xmm6 - - call _aesni_decrypt6 - - xorps %xmm10,%xmm2 - xorps %xmm11,%xmm3 - xorps %xmm12,%xmm4 - movdqu %xmm2,(%rsi) - xorps %xmm13,%xmm5 - movdqu %xmm3,16(%rsi) - xorps %xmm14,%xmm6 - movdqu %xmm4,32(%rsi) - pxor %xmm14,%xmm14 - movdqu %xmm5,48(%rsi) - pcmpgtd %xmm15,%xmm14 - movdqu %xmm6,64(%rsi) - leaq 80(%rsi),%rsi - pshufd $0x13,%xmm14,%xmm11 - andq $15,%r9 - jz .Lxts_dec_ret - - movdqa %xmm15,%xmm10 - paddq %xmm15,%xmm15 - pand %xmm8,%xmm11 - pxor %xmm15,%xmm11 - jmp .Lxts_dec_done2 - -.align 16 -.Lxts_dec_one: - movups (%rdi),%xmm2 - leaq 16(%rdi),%rdi - xorps %xmm10,%xmm2 - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - leaq 32(%rcx),%rcx - xorps %xmm0,%xmm2 -.Loop_dec1_12: -.byte 102,15,56,222,209 - decl %eax - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_dec1_12 -.byte 102,15,56,223,209 - xorps %xmm10,%xmm2 - movdqa %xmm11,%xmm10 - movups %xmm2,(%rsi) - movdqa %xmm12,%xmm11 - leaq 16(%rsi),%rsi - jmp .Lxts_dec_done - -.align 16 -.Lxts_dec_two: - movups (%rdi),%xmm2 - movups 16(%rdi),%xmm3 - leaq 32(%rdi),%rdi - xorps %xmm10,%xmm2 - xorps %xmm11,%xmm3 - - call _aesni_decrypt2 - - xorps %xmm10,%xmm2 - movdqa %xmm12,%xmm10 - xorps %xmm11,%xmm3 - movdqa %xmm13,%xmm11 - movups %xmm2,(%rsi) - movups %xmm3,16(%rsi) - leaq 32(%rsi),%rsi - jmp .Lxts_dec_done - -.align 16 -.Lxts_dec_three: - movups (%rdi),%xmm2 - movups 16(%rdi),%xmm3 - movups 32(%rdi),%xmm4 - leaq 48(%rdi),%rdi - xorps %xmm10,%xmm2 - xorps %xmm11,%xmm3 - xorps %xmm12,%xmm4 - - call _aesni_decrypt3 - - xorps %xmm10,%xmm2 - movdqa %xmm13,%xmm10 - xorps %xmm11,%xmm3 - movdqa %xmm14,%xmm11 - xorps %xmm12,%xmm4 - movups %xmm2,(%rsi) - movups %xmm3,16(%rsi) - movups %xmm4,32(%rsi) - leaq 48(%rsi),%rsi - jmp .Lxts_dec_done - -.align 16 -.Lxts_dec_four: - movups (%rdi),%xmm2 - movups 16(%rdi),%xmm3 - movups 32(%rdi),%xmm4 - xorps %xmm10,%xmm2 - movups 48(%rdi),%xmm5 - leaq 64(%rdi),%rdi - xorps %xmm11,%xmm3 - xorps %xmm12,%xmm4 - xorps %xmm13,%xmm5 - - call _aesni_decrypt4 - - pxor %xmm10,%xmm2 - movdqa %xmm14,%xmm10 - pxor %xmm11,%xmm3 - movdqa %xmm15,%xmm11 - pxor %xmm12,%xmm4 - movdqu %xmm2,(%rsi) - pxor %xmm13,%xmm5 - movdqu %xmm3,16(%rsi) - movdqu %xmm4,32(%rsi) - movdqu %xmm5,48(%rsi) - leaq 64(%rsi),%rsi - jmp .Lxts_dec_done - -.align 16 -.Lxts_dec_done: - andq $15,%r9 - jz .Lxts_dec_ret -.Lxts_dec_done2: - movq %r9,%rdx - movq %rbp,%rcx - movl %r10d,%eax - - movups (%rdi),%xmm2 - xorps %xmm11,%xmm2 - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - leaq 32(%rcx),%rcx - xorps %xmm0,%xmm2 -.Loop_dec1_13: -.byte 102,15,56,222,209 - decl %eax - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_dec1_13 -.byte 102,15,56,223,209 - xorps %xmm11,%xmm2 - movups %xmm2,(%rsi) - -.Lxts_dec_steal: - movzbl 16(%rdi),%eax - movzbl (%rsi),%ecx - leaq 1(%rdi),%rdi - movb %al,(%rsi) - movb %cl,16(%rsi) - leaq 1(%rsi),%rsi - subq $1,%rdx - jnz .Lxts_dec_steal - - subq %r9,%rsi - movq %rbp,%rcx - movl %r10d,%eax - - movups (%rsi),%xmm2 - xorps %xmm10,%xmm2 - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - leaq 32(%rcx),%rcx - xorps %xmm0,%xmm2 -.Loop_dec1_14: -.byte 102,15,56,222,209 - decl %eax - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_dec1_14 -.byte 102,15,56,223,209 - xorps %xmm10,%xmm2 - movups %xmm2,(%rsi) - -.Lxts_dec_ret: - xorps %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - movaps %xmm0,0(%rsp) - pxor %xmm8,%xmm8 - movaps %xmm0,16(%rsp) - pxor %xmm9,%xmm9 - movaps %xmm0,32(%rsp) - pxor %xmm10,%xmm10 - movaps %xmm0,48(%rsp) - pxor %xmm11,%xmm11 - movaps %xmm0,64(%rsp) - pxor %xmm12,%xmm12 - movaps %xmm0,80(%rsp) - pxor %xmm13,%xmm13 - movaps %xmm0,96(%rsp) - pxor %xmm14,%xmm14 - pxor %xmm15,%xmm15 - movq -8(%r11),%rbp -.cfi_restore %rbp - leaq (%r11),%rsp -.cfi_def_cfa_register %rsp -.Lxts_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_xts_decrypt,.-aesni_xts_decrypt -.globl aesni_ocb_encrypt -.type aesni_ocb_encrypt,@function -.align 32 -aesni_ocb_encrypt: -.cfi_startproc - leaq (%rsp),%rax - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - movq 8(%rax),%rbx - movq 8+8(%rax),%rbp - - movl 240(%rcx),%r10d - movq %rcx,%r11 - shll $4,%r10d - movups (%rcx),%xmm9 - movups 16(%rcx,%r10,1),%xmm1 - - movdqu (%r9),%xmm15 - pxor %xmm1,%xmm9 - pxor %xmm1,%xmm15 - - movl $16+32,%eax - leaq 32(%r11,%r10,1),%rcx - movups 16(%r11),%xmm1 - subq %r10,%rax - movq %rax,%r10 - - movdqu (%rbx),%xmm10 - movdqu (%rbp),%xmm8 - - testq $1,%r8 - jnz .Locb_enc_odd - - bsfq %r8,%r12 - addq $1,%r8 - shlq $4,%r12 - movdqu (%rbx,%r12,1),%xmm7 - movdqu (%rdi),%xmm2 - leaq 16(%rdi),%rdi - - call __ocb_encrypt1 - - movdqa %xmm7,%xmm15 - movups %xmm2,(%rsi) - leaq 16(%rsi),%rsi - subq $1,%rdx - jz .Locb_enc_done - -.Locb_enc_odd: - leaq 1(%r8),%r12 - leaq 3(%r8),%r13 - leaq 5(%r8),%r14 - leaq 6(%r8),%r8 - bsfq %r12,%r12 - bsfq %r13,%r13 - bsfq %r14,%r14 - shlq $4,%r12 - shlq $4,%r13 - shlq $4,%r14 - - subq $6,%rdx - jc .Locb_enc_short - jmp .Locb_enc_grandloop - -.align 32 -.Locb_enc_grandloop: - movdqu 0(%rdi),%xmm2 - movdqu 16(%rdi),%xmm3 - movdqu 32(%rdi),%xmm4 - movdqu 48(%rdi),%xmm5 - movdqu 64(%rdi),%xmm6 - movdqu 80(%rdi),%xmm7 - leaq 96(%rdi),%rdi - - call __ocb_encrypt6 - - movups %xmm2,0(%rsi) - movups %xmm3,16(%rsi) - movups %xmm4,32(%rsi) - movups %xmm5,48(%rsi) - movups %xmm6,64(%rsi) - movups %xmm7,80(%rsi) - leaq 96(%rsi),%rsi - subq $6,%rdx - jnc .Locb_enc_grandloop - -.Locb_enc_short: - addq $6,%rdx - jz .Locb_enc_done - - movdqu 0(%rdi),%xmm2 - cmpq $2,%rdx - jb .Locb_enc_one - movdqu 16(%rdi),%xmm3 - je .Locb_enc_two - - movdqu 32(%rdi),%xmm4 - cmpq $4,%rdx - jb .Locb_enc_three - movdqu 48(%rdi),%xmm5 - je .Locb_enc_four - - movdqu 64(%rdi),%xmm6 - pxor %xmm7,%xmm7 - - call __ocb_encrypt6 - - movdqa %xmm14,%xmm15 - movups %xmm2,0(%rsi) - movups %xmm3,16(%rsi) - movups %xmm4,32(%rsi) - movups %xmm5,48(%rsi) - movups %xmm6,64(%rsi) - - jmp .Locb_enc_done - -.align 16 -.Locb_enc_one: - movdqa %xmm10,%xmm7 - - call __ocb_encrypt1 - - movdqa %xmm7,%xmm15 - movups %xmm2,0(%rsi) - jmp .Locb_enc_done - -.align 16 -.Locb_enc_two: - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - - call __ocb_encrypt4 - - movdqa %xmm11,%xmm15 - movups %xmm2,0(%rsi) - movups %xmm3,16(%rsi) - - jmp .Locb_enc_done - -.align 16 -.Locb_enc_three: - pxor %xmm5,%xmm5 - - call __ocb_encrypt4 - - movdqa %xmm12,%xmm15 - movups %xmm2,0(%rsi) - movups %xmm3,16(%rsi) - movups %xmm4,32(%rsi) - - jmp .Locb_enc_done - -.align 16 -.Locb_enc_four: - call __ocb_encrypt4 - - movdqa %xmm13,%xmm15 - movups %xmm2,0(%rsi) - movups %xmm3,16(%rsi) - movups %xmm4,32(%rsi) - movups %xmm5,48(%rsi) - -.Locb_enc_done: - pxor %xmm0,%xmm15 - movdqu %xmm8,(%rbp) - movdqu %xmm15,(%r9) - - xorps %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - pxor %xmm8,%xmm8 - pxor %xmm9,%xmm9 - pxor %xmm10,%xmm10 - pxor %xmm11,%xmm11 - pxor %xmm12,%xmm12 - pxor %xmm13,%xmm13 - pxor %xmm14,%xmm14 - pxor %xmm15,%xmm15 - leaq 40(%rsp),%rax -.cfi_def_cfa %rax,8 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbp -.cfi_restore %rbp - movq -8(%rax),%rbx -.cfi_restore %rbx - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Locb_enc_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_ocb_encrypt,.-aesni_ocb_encrypt - -.type __ocb_encrypt6,@function -.align 32 -__ocb_encrypt6: -.cfi_startproc - pxor %xmm9,%xmm15 - movdqu (%rbx,%r12,1),%xmm11 - movdqa %xmm10,%xmm12 - movdqu (%rbx,%r13,1),%xmm13 - movdqa %xmm10,%xmm14 - pxor %xmm15,%xmm10 - movdqu (%rbx,%r14,1),%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm2,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm11,%xmm12 - pxor %xmm3,%xmm8 - pxor %xmm11,%xmm3 - pxor %xmm12,%xmm13 - pxor %xmm4,%xmm8 - pxor %xmm12,%xmm4 - pxor %xmm13,%xmm14 - pxor %xmm5,%xmm8 - pxor %xmm13,%xmm5 - pxor %xmm14,%xmm15 - pxor %xmm6,%xmm8 - pxor %xmm14,%xmm6 - pxor %xmm7,%xmm8 - pxor %xmm15,%xmm7 - movups 32(%r11),%xmm0 - - leaq 1(%r8),%r12 - leaq 3(%r8),%r13 - leaq 5(%r8),%r14 - addq $6,%r8 - pxor %xmm9,%xmm10 - bsfq %r12,%r12 - bsfq %r13,%r13 - bsfq %r14,%r14 - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - pxor %xmm9,%xmm11 - pxor %xmm9,%xmm12 -.byte 102,15,56,220,241 - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm14 -.byte 102,15,56,220,249 - movups 48(%r11),%xmm1 - pxor %xmm9,%xmm15 - -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 - movups 64(%r11),%xmm0 - shlq $4,%r12 - shlq $4,%r13 - jmp .Locb_enc_loop6 - -.align 32 -.Locb_enc_loop6: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax - -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 -.byte 102,15,56,220,240 -.byte 102,15,56,220,248 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Locb_enc_loop6 - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 -.byte 102,15,56,220,241 -.byte 102,15,56,220,249 - movups 16(%r11),%xmm1 - shlq $4,%r14 - -.byte 102,65,15,56,221,210 - movdqu (%rbx),%xmm10 - movq %r10,%rax -.byte 102,65,15,56,221,219 -.byte 102,65,15,56,221,228 -.byte 102,65,15,56,221,237 -.byte 102,65,15,56,221,246 -.byte 102,65,15,56,221,255 - .byte 0xf3,0xc3 -.cfi_endproc -.size __ocb_encrypt6,.-__ocb_encrypt6 - -.type __ocb_encrypt4,@function -.align 32 -__ocb_encrypt4: -.cfi_startproc - pxor %xmm9,%xmm15 - movdqu (%rbx,%r12,1),%xmm11 - movdqa %xmm10,%xmm12 - movdqu (%rbx,%r13,1),%xmm13 - pxor %xmm15,%xmm10 - pxor %xmm10,%xmm11 - pxor %xmm2,%xmm8 - pxor %xmm10,%xmm2 - pxor %xmm11,%xmm12 - pxor %xmm3,%xmm8 - pxor %xmm11,%xmm3 - pxor %xmm12,%xmm13 - pxor %xmm4,%xmm8 - pxor %xmm12,%xmm4 - pxor %xmm5,%xmm8 - pxor %xmm13,%xmm5 - movups 32(%r11),%xmm0 - - pxor %xmm9,%xmm10 - pxor %xmm9,%xmm11 - pxor %xmm9,%xmm12 - pxor %xmm9,%xmm13 - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movups 48(%r11),%xmm1 - -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - movups 64(%r11),%xmm0 - jmp .Locb_enc_loop4 - -.align 32 -.Locb_enc_loop4: -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax - -.byte 102,15,56,220,208 -.byte 102,15,56,220,216 -.byte 102,15,56,220,224 -.byte 102,15,56,220,232 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Locb_enc_loop4 - -.byte 102,15,56,220,209 -.byte 102,15,56,220,217 -.byte 102,15,56,220,225 -.byte 102,15,56,220,233 - movups 16(%r11),%xmm1 - movq %r10,%rax - -.byte 102,65,15,56,221,210 -.byte 102,65,15,56,221,219 -.byte 102,65,15,56,221,228 -.byte 102,65,15,56,221,237 - .byte 0xf3,0xc3 -.cfi_endproc -.size __ocb_encrypt4,.-__ocb_encrypt4 - -.type __ocb_encrypt1,@function -.align 32 -__ocb_encrypt1: -.cfi_startproc - pxor %xmm15,%xmm7 - pxor %xmm9,%xmm7 - pxor %xmm2,%xmm8 - pxor %xmm7,%xmm2 - movups 32(%r11),%xmm0 - -.byte 102,15,56,220,209 - movups 48(%r11),%xmm1 - pxor %xmm9,%xmm7 - -.byte 102,15,56,220,208 - movups 64(%r11),%xmm0 - jmp .Locb_enc_loop1 - -.align 32 -.Locb_enc_loop1: -.byte 102,15,56,220,209 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax - -.byte 102,15,56,220,208 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Locb_enc_loop1 - -.byte 102,15,56,220,209 - movups 16(%r11),%xmm1 - movq %r10,%rax - -.byte 102,15,56,221,215 - .byte 0xf3,0xc3 -.cfi_endproc -.size __ocb_encrypt1,.-__ocb_encrypt1 - -.globl aesni_ocb_decrypt -.type aesni_ocb_decrypt,@function -.align 32 -aesni_ocb_decrypt: -.cfi_startproc - leaq (%rsp),%rax - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - movq 8(%rax),%rbx - movq 8+8(%rax),%rbp - - movl 240(%rcx),%r10d - movq %rcx,%r11 - shll $4,%r10d - movups (%rcx),%xmm9 - movups 16(%rcx,%r10,1),%xmm1 - - movdqu (%r9),%xmm15 - pxor %xmm1,%xmm9 - pxor %xmm1,%xmm15 - - movl $16+32,%eax - leaq 32(%r11,%r10,1),%rcx - movups 16(%r11),%xmm1 - subq %r10,%rax - movq %rax,%r10 - - movdqu (%rbx),%xmm10 - movdqu (%rbp),%xmm8 - - testq $1,%r8 - jnz .Locb_dec_odd - - bsfq %r8,%r12 - addq $1,%r8 - shlq $4,%r12 - movdqu (%rbx,%r12,1),%xmm7 - movdqu (%rdi),%xmm2 - leaq 16(%rdi),%rdi - - call __ocb_decrypt1 - - movdqa %xmm7,%xmm15 - movups %xmm2,(%rsi) - xorps %xmm2,%xmm8 - leaq 16(%rsi),%rsi - subq $1,%rdx - jz .Locb_dec_done - -.Locb_dec_odd: - leaq 1(%r8),%r12 - leaq 3(%r8),%r13 - leaq 5(%r8),%r14 - leaq 6(%r8),%r8 - bsfq %r12,%r12 - bsfq %r13,%r13 - bsfq %r14,%r14 - shlq $4,%r12 - shlq $4,%r13 - shlq $4,%r14 - - subq $6,%rdx - jc .Locb_dec_short - jmp .Locb_dec_grandloop - -.align 32 -.Locb_dec_grandloop: - movdqu 0(%rdi),%xmm2 - movdqu 16(%rdi),%xmm3 - movdqu 32(%rdi),%xmm4 - movdqu 48(%rdi),%xmm5 - movdqu 64(%rdi),%xmm6 - movdqu 80(%rdi),%xmm7 - leaq 96(%rdi),%rdi - - call __ocb_decrypt6 - - movups %xmm2,0(%rsi) - pxor %xmm2,%xmm8 - movups %xmm3,16(%rsi) - pxor %xmm3,%xmm8 - movups %xmm4,32(%rsi) - pxor %xmm4,%xmm8 - movups %xmm5,48(%rsi) - pxor %xmm5,%xmm8 - movups %xmm6,64(%rsi) - pxor %xmm6,%xmm8 - movups %xmm7,80(%rsi) - pxor %xmm7,%xmm8 - leaq 96(%rsi),%rsi - subq $6,%rdx - jnc .Locb_dec_grandloop - -.Locb_dec_short: - addq $6,%rdx - jz .Locb_dec_done - - movdqu 0(%rdi),%xmm2 - cmpq $2,%rdx - jb .Locb_dec_one - movdqu 16(%rdi),%xmm3 - je .Locb_dec_two - - movdqu 32(%rdi),%xmm4 - cmpq $4,%rdx - jb .Locb_dec_three - movdqu 48(%rdi),%xmm5 - je .Locb_dec_four - - movdqu 64(%rdi),%xmm6 - pxor %xmm7,%xmm7 - - call __ocb_decrypt6 - - movdqa %xmm14,%xmm15 - movups %xmm2,0(%rsi) - pxor %xmm2,%xmm8 - movups %xmm3,16(%rsi) - pxor %xmm3,%xmm8 - movups %xmm4,32(%rsi) - pxor %xmm4,%xmm8 - movups %xmm5,48(%rsi) - pxor %xmm5,%xmm8 - movups %xmm6,64(%rsi) - pxor %xmm6,%xmm8 - - jmp .Locb_dec_done - -.align 16 -.Locb_dec_one: - movdqa %xmm10,%xmm7 - - call __ocb_decrypt1 - - movdqa %xmm7,%xmm15 - movups %xmm2,0(%rsi) - xorps %xmm2,%xmm8 - jmp .Locb_dec_done - -.align 16 -.Locb_dec_two: - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - - call __ocb_decrypt4 - - movdqa %xmm11,%xmm15 - movups %xmm2,0(%rsi) - xorps %xmm2,%xmm8 - movups %xmm3,16(%rsi) - xorps %xmm3,%xmm8 - - jmp .Locb_dec_done - -.align 16 -.Locb_dec_three: - pxor %xmm5,%xmm5 - - call __ocb_decrypt4 - - movdqa %xmm12,%xmm15 - movups %xmm2,0(%rsi) - xorps %xmm2,%xmm8 - movups %xmm3,16(%rsi) - xorps %xmm3,%xmm8 - movups %xmm4,32(%rsi) - xorps %xmm4,%xmm8 - - jmp .Locb_dec_done - -.align 16 -.Locb_dec_four: - call __ocb_decrypt4 - - movdqa %xmm13,%xmm15 - movups %xmm2,0(%rsi) - pxor %xmm2,%xmm8 - movups %xmm3,16(%rsi) - pxor %xmm3,%xmm8 - movups %xmm4,32(%rsi) - pxor %xmm4,%xmm8 - movups %xmm5,48(%rsi) - pxor %xmm5,%xmm8 - -.Locb_dec_done: - pxor %xmm0,%xmm15 - movdqu %xmm8,(%rbp) - movdqu %xmm15,(%r9) - - xorps %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - pxor %xmm8,%xmm8 - pxor %xmm9,%xmm9 - pxor %xmm10,%xmm10 - pxor %xmm11,%xmm11 - pxor %xmm12,%xmm12 - pxor %xmm13,%xmm13 - pxor %xmm14,%xmm14 - pxor %xmm15,%xmm15 - leaq 40(%rsp),%rax -.cfi_def_cfa %rax,8 - movq -40(%rax),%r14 -.cfi_restore %r14 - movq -32(%rax),%r13 -.cfi_restore %r13 - movq -24(%rax),%r12 -.cfi_restore %r12 - movq -16(%rax),%rbp -.cfi_restore %rbp - movq -8(%rax),%rbx -.cfi_restore %rbx - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Locb_dec_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_ocb_decrypt,.-aesni_ocb_decrypt - -.type __ocb_decrypt6,@function -.align 32 -__ocb_decrypt6: -.cfi_startproc - pxor %xmm9,%xmm15 - movdqu (%rbx,%r12,1),%xmm11 - movdqa %xmm10,%xmm12 - movdqu (%rbx,%r13,1),%xmm13 - movdqa %xmm10,%xmm14 - pxor %xmm15,%xmm10 - movdqu (%rbx,%r14,1),%xmm15 - pxor %xmm10,%xmm11 - pxor %xmm10,%xmm2 - pxor %xmm11,%xmm12 - pxor %xmm11,%xmm3 - pxor %xmm12,%xmm13 - pxor %xmm12,%xmm4 - pxor %xmm13,%xmm14 - pxor %xmm13,%xmm5 - pxor %xmm14,%xmm15 - pxor %xmm14,%xmm6 - pxor %xmm15,%xmm7 - movups 32(%r11),%xmm0 - - leaq 1(%r8),%r12 - leaq 3(%r8),%r13 - leaq 5(%r8),%r14 - addq $6,%r8 - pxor %xmm9,%xmm10 - bsfq %r12,%r12 - bsfq %r13,%r13 - bsfq %r14,%r14 - -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - pxor %xmm9,%xmm11 - pxor %xmm9,%xmm12 -.byte 102,15,56,222,241 - pxor %xmm9,%xmm13 - pxor %xmm9,%xmm14 -.byte 102,15,56,222,249 - movups 48(%r11),%xmm1 - pxor %xmm9,%xmm15 - -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 - movups 64(%r11),%xmm0 - shlq $4,%r12 - shlq $4,%r13 - jmp .Locb_dec_loop6 - -.align 32 -.Locb_dec_loop6: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax - -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Locb_dec_loop6 - -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 - movups 16(%r11),%xmm1 - shlq $4,%r14 - -.byte 102,65,15,56,223,210 - movdqu (%rbx),%xmm10 - movq %r10,%rax -.byte 102,65,15,56,223,219 -.byte 102,65,15,56,223,228 -.byte 102,65,15,56,223,237 -.byte 102,65,15,56,223,246 -.byte 102,65,15,56,223,255 - .byte 0xf3,0xc3 -.cfi_endproc -.size __ocb_decrypt6,.-__ocb_decrypt6 - -.type __ocb_decrypt4,@function -.align 32 -__ocb_decrypt4: -.cfi_startproc - pxor %xmm9,%xmm15 - movdqu (%rbx,%r12,1),%xmm11 - movdqa %xmm10,%xmm12 - movdqu (%rbx,%r13,1),%xmm13 - pxor %xmm15,%xmm10 - pxor %xmm10,%xmm11 - pxor %xmm10,%xmm2 - pxor %xmm11,%xmm12 - pxor %xmm11,%xmm3 - pxor %xmm12,%xmm13 - pxor %xmm12,%xmm4 - pxor %xmm13,%xmm5 - movups 32(%r11),%xmm0 - - pxor %xmm9,%xmm10 - pxor %xmm9,%xmm11 - pxor %xmm9,%xmm12 - pxor %xmm9,%xmm13 - -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - movups 48(%r11),%xmm1 - -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 - movups 64(%r11),%xmm0 - jmp .Locb_dec_loop4 - -.align 32 -.Locb_dec_loop4: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax - -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Locb_dec_loop4 - -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - movups 16(%r11),%xmm1 - movq %r10,%rax - -.byte 102,65,15,56,223,210 -.byte 102,65,15,56,223,219 -.byte 102,65,15,56,223,228 -.byte 102,65,15,56,223,237 - .byte 0xf3,0xc3 -.cfi_endproc -.size __ocb_decrypt4,.-__ocb_decrypt4 - -.type __ocb_decrypt1,@function -.align 32 -__ocb_decrypt1: -.cfi_startproc - pxor %xmm15,%xmm7 - pxor %xmm9,%xmm7 - pxor %xmm7,%xmm2 - movups 32(%r11),%xmm0 - -.byte 102,15,56,222,209 - movups 48(%r11),%xmm1 - pxor %xmm9,%xmm7 - -.byte 102,15,56,222,208 - movups 64(%r11),%xmm0 - jmp .Locb_dec_loop1 - -.align 32 -.Locb_dec_loop1: -.byte 102,15,56,222,209 - movups (%rcx,%rax,1),%xmm1 - addq $32,%rax - -.byte 102,15,56,222,208 - movups -16(%rcx,%rax,1),%xmm0 - jnz .Locb_dec_loop1 - -.byte 102,15,56,222,209 - movups 16(%r11),%xmm1 - movq %r10,%rax - -.byte 102,15,56,223,215 - .byte 0xf3,0xc3 -.cfi_endproc -.size __ocb_decrypt1,.-__ocb_decrypt1 -.globl aesni_cbc_encrypt -.type aesni_cbc_encrypt,@function -.align 16 -aesni_cbc_encrypt: -.cfi_startproc - testq %rdx,%rdx - jz .Lcbc_ret - - movl 240(%rcx),%r10d - movq %rcx,%r11 - testl %r9d,%r9d - jz .Lcbc_decrypt - - movups (%r8),%xmm2 - movl %r10d,%eax - cmpq $16,%rdx - jb .Lcbc_enc_tail - subq $16,%rdx - jmp .Lcbc_enc_loop -.align 16 -.Lcbc_enc_loop: - movups (%rdi),%xmm3 - leaq 16(%rdi),%rdi - - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - xorps %xmm0,%xmm3 - leaq 32(%rcx),%rcx - xorps %xmm3,%xmm2 -.Loop_enc1_15: -.byte 102,15,56,220,209 - decl %eax - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_enc1_15 -.byte 102,15,56,221,209 - movl %r10d,%eax - movq %r11,%rcx - movups %xmm2,0(%rsi) - leaq 16(%rsi),%rsi - subq $16,%rdx - jnc .Lcbc_enc_loop - addq $16,%rdx - jnz .Lcbc_enc_tail - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - movups %xmm2,(%r8) - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - jmp .Lcbc_ret - -.Lcbc_enc_tail: - movq %rdx,%rcx - xchgq %rdi,%rsi -.long 0x9066A4F3 - movl $16,%ecx - subq %rdx,%rcx - xorl %eax,%eax -.long 0x9066AAF3 - leaq -16(%rdi),%rdi - movl %r10d,%eax - movq %rdi,%rsi - movq %r11,%rcx - xorq %rdx,%rdx - jmp .Lcbc_enc_loop - -.align 16 -.Lcbc_decrypt: - cmpq $16,%rdx - jne .Lcbc_decrypt_bulk - - - - movdqu (%rdi),%xmm2 - movdqu (%r8),%xmm3 - movdqa %xmm2,%xmm4 - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - leaq 32(%rcx),%rcx - xorps %xmm0,%xmm2 -.Loop_dec1_16: -.byte 102,15,56,222,209 - decl %r10d - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_dec1_16 -.byte 102,15,56,223,209 - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - movdqu %xmm4,(%r8) - xorps %xmm3,%xmm2 - pxor %xmm3,%xmm3 - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - jmp .Lcbc_ret -.align 16 -.Lcbc_decrypt_bulk: - leaq (%rsp),%r11 -.cfi_def_cfa_register %r11 - pushq %rbp -.cfi_offset %rbp,-16 - subq $16,%rsp - andq $-16,%rsp - movq %rcx,%rbp - movups (%r8),%xmm10 - movl %r10d,%eax - cmpq $0x50,%rdx - jbe .Lcbc_dec_tail - - movups (%rcx),%xmm0 - movdqu 0(%rdi),%xmm2 - movdqu 16(%rdi),%xmm3 - movdqa %xmm2,%xmm11 - movdqu 32(%rdi),%xmm4 - movdqa %xmm3,%xmm12 - movdqu 48(%rdi),%xmm5 - movdqa %xmm4,%xmm13 - movdqu 64(%rdi),%xmm6 - movdqa %xmm5,%xmm14 - movdqu 80(%rdi),%xmm7 - movdqa %xmm6,%xmm15 - movl OPENSSL_ia32cap_P+4(%rip),%r9d - cmpq $0x70,%rdx - jbe .Lcbc_dec_six_or_seven - - andl $71303168,%r9d - subq $0x50,%rdx - cmpl $4194304,%r9d - je .Lcbc_dec_loop6_enter - subq $0x20,%rdx - leaq 112(%rcx),%rcx - jmp .Lcbc_dec_loop8_enter -.align 16 -.Lcbc_dec_loop8: - movups %xmm9,(%rsi) - leaq 16(%rsi),%rsi -.Lcbc_dec_loop8_enter: - movdqu 96(%rdi),%xmm8 - pxor %xmm0,%xmm2 - movdqu 112(%rdi),%xmm9 - pxor %xmm0,%xmm3 - movups 16-112(%rcx),%xmm1 - pxor %xmm0,%xmm4 - movq $-1,%rbp - cmpq $0x70,%rdx - pxor %xmm0,%xmm5 - pxor %xmm0,%xmm6 - pxor %xmm0,%xmm7 - pxor %xmm0,%xmm8 - -.byte 102,15,56,222,209 - pxor %xmm0,%xmm9 - movups 32-112(%rcx),%xmm0 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 -.byte 102,68,15,56,222,193 - adcq $0,%rbp - andq $128,%rbp -.byte 102,68,15,56,222,201 - addq %rdi,%rbp - movups 48-112(%rcx),%xmm1 -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 -.byte 102,68,15,56,222,192 -.byte 102,68,15,56,222,200 - movups 64-112(%rcx),%xmm0 - nop -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 -.byte 102,68,15,56,222,193 -.byte 102,68,15,56,222,201 - movups 80-112(%rcx),%xmm1 - nop -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 -.byte 102,68,15,56,222,192 -.byte 102,68,15,56,222,200 - movups 96-112(%rcx),%xmm0 - nop -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 -.byte 102,68,15,56,222,193 -.byte 102,68,15,56,222,201 - movups 112-112(%rcx),%xmm1 - nop -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 -.byte 102,68,15,56,222,192 -.byte 102,68,15,56,222,200 - movups 128-112(%rcx),%xmm0 - nop -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 -.byte 102,68,15,56,222,193 -.byte 102,68,15,56,222,201 - movups 144-112(%rcx),%xmm1 - cmpl $11,%eax -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 -.byte 102,68,15,56,222,192 -.byte 102,68,15,56,222,200 - movups 160-112(%rcx),%xmm0 - jb .Lcbc_dec_done -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 -.byte 102,68,15,56,222,193 -.byte 102,68,15,56,222,201 - movups 176-112(%rcx),%xmm1 - nop -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 -.byte 102,68,15,56,222,192 -.byte 102,68,15,56,222,200 - movups 192-112(%rcx),%xmm0 - je .Lcbc_dec_done -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 -.byte 102,68,15,56,222,193 -.byte 102,68,15,56,222,201 - movups 208-112(%rcx),%xmm1 - nop -.byte 102,15,56,222,208 -.byte 102,15,56,222,216 -.byte 102,15,56,222,224 -.byte 102,15,56,222,232 -.byte 102,15,56,222,240 -.byte 102,15,56,222,248 -.byte 102,68,15,56,222,192 -.byte 102,68,15,56,222,200 - movups 224-112(%rcx),%xmm0 - jmp .Lcbc_dec_done -.align 16 -.Lcbc_dec_done: -.byte 102,15,56,222,209 -.byte 102,15,56,222,217 - pxor %xmm0,%xmm10 - pxor %xmm0,%xmm11 -.byte 102,15,56,222,225 -.byte 102,15,56,222,233 - pxor %xmm0,%xmm12 - pxor %xmm0,%xmm13 -.byte 102,15,56,222,241 -.byte 102,15,56,222,249 - pxor %xmm0,%xmm14 - pxor %xmm0,%xmm15 -.byte 102,68,15,56,222,193 -.byte 102,68,15,56,222,201 - movdqu 80(%rdi),%xmm1 - -.byte 102,65,15,56,223,210 - movdqu 96(%rdi),%xmm10 - pxor %xmm0,%xmm1 -.byte 102,65,15,56,223,219 - pxor %xmm0,%xmm10 - movdqu 112(%rdi),%xmm0 -.byte 102,65,15,56,223,228 - leaq 128(%rdi),%rdi - movdqu 0(%rbp),%xmm11 -.byte 102,65,15,56,223,237 -.byte 102,65,15,56,223,246 - movdqu 16(%rbp),%xmm12 - movdqu 32(%rbp),%xmm13 -.byte 102,65,15,56,223,255 -.byte 102,68,15,56,223,193 - movdqu 48(%rbp),%xmm14 - movdqu 64(%rbp),%xmm15 -.byte 102,69,15,56,223,202 - movdqa %xmm0,%xmm10 - movdqu 80(%rbp),%xmm1 - movups -112(%rcx),%xmm0 - - movups %xmm2,(%rsi) - movdqa %xmm11,%xmm2 - movups %xmm3,16(%rsi) - movdqa %xmm12,%xmm3 - movups %xmm4,32(%rsi) - movdqa %xmm13,%xmm4 - movups %xmm5,48(%rsi) - movdqa %xmm14,%xmm5 - movups %xmm6,64(%rsi) - movdqa %xmm15,%xmm6 - movups %xmm7,80(%rsi) - movdqa %xmm1,%xmm7 - movups %xmm8,96(%rsi) - leaq 112(%rsi),%rsi - - subq $0x80,%rdx - ja .Lcbc_dec_loop8 - - movaps %xmm9,%xmm2 - leaq -112(%rcx),%rcx - addq $0x70,%rdx - jle .Lcbc_dec_clear_tail_collected - movups %xmm9,(%rsi) - leaq 16(%rsi),%rsi - cmpq $0x50,%rdx - jbe .Lcbc_dec_tail - - movaps %xmm11,%xmm2 -.Lcbc_dec_six_or_seven: - cmpq $0x60,%rdx - ja .Lcbc_dec_seven - - movaps %xmm7,%xmm8 - call _aesni_decrypt6 - pxor %xmm10,%xmm2 - movaps %xmm8,%xmm10 - pxor %xmm11,%xmm3 - movdqu %xmm2,(%rsi) - pxor %xmm12,%xmm4 - movdqu %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - pxor %xmm13,%xmm5 - movdqu %xmm4,32(%rsi) - pxor %xmm4,%xmm4 - pxor %xmm14,%xmm6 - movdqu %xmm5,48(%rsi) - pxor %xmm5,%xmm5 - pxor %xmm15,%xmm7 - movdqu %xmm6,64(%rsi) - pxor %xmm6,%xmm6 - leaq 80(%rsi),%rsi - movdqa %xmm7,%xmm2 - pxor %xmm7,%xmm7 - jmp .Lcbc_dec_tail_collected - -.align 16 -.Lcbc_dec_seven: - movups 96(%rdi),%xmm8 - xorps %xmm9,%xmm9 - call _aesni_decrypt8 - movups 80(%rdi),%xmm9 - pxor %xmm10,%xmm2 - movups 96(%rdi),%xmm10 - pxor %xmm11,%xmm3 - movdqu %xmm2,(%rsi) - pxor %xmm12,%xmm4 - movdqu %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - pxor %xmm13,%xmm5 - movdqu %xmm4,32(%rsi) - pxor %xmm4,%xmm4 - pxor %xmm14,%xmm6 - movdqu %xmm5,48(%rsi) - pxor %xmm5,%xmm5 - pxor %xmm15,%xmm7 - movdqu %xmm6,64(%rsi) - pxor %xmm6,%xmm6 - pxor %xmm9,%xmm8 - movdqu %xmm7,80(%rsi) - pxor %xmm7,%xmm7 - leaq 96(%rsi),%rsi - movdqa %xmm8,%xmm2 - pxor %xmm8,%xmm8 - pxor %xmm9,%xmm9 - jmp .Lcbc_dec_tail_collected - -.align 16 -.Lcbc_dec_loop6: - movups %xmm7,(%rsi) - leaq 16(%rsi),%rsi - movdqu 0(%rdi),%xmm2 - movdqu 16(%rdi),%xmm3 - movdqa %xmm2,%xmm11 - movdqu 32(%rdi),%xmm4 - movdqa %xmm3,%xmm12 - movdqu 48(%rdi),%xmm5 - movdqa %xmm4,%xmm13 - movdqu 64(%rdi),%xmm6 - movdqa %xmm5,%xmm14 - movdqu 80(%rdi),%xmm7 - movdqa %xmm6,%xmm15 -.Lcbc_dec_loop6_enter: - leaq 96(%rdi),%rdi - movdqa %xmm7,%xmm8 - - call _aesni_decrypt6 - - pxor %xmm10,%xmm2 - movdqa %xmm8,%xmm10 - pxor %xmm11,%xmm3 - movdqu %xmm2,(%rsi) - pxor %xmm12,%xmm4 - movdqu %xmm3,16(%rsi) - pxor %xmm13,%xmm5 - movdqu %xmm4,32(%rsi) - pxor %xmm14,%xmm6 - movq %rbp,%rcx - movdqu %xmm5,48(%rsi) - pxor %xmm15,%xmm7 - movl %r10d,%eax - movdqu %xmm6,64(%rsi) - leaq 80(%rsi),%rsi - subq $0x60,%rdx - ja .Lcbc_dec_loop6 - - movdqa %xmm7,%xmm2 - addq $0x50,%rdx - jle .Lcbc_dec_clear_tail_collected - movups %xmm7,(%rsi) - leaq 16(%rsi),%rsi - -.Lcbc_dec_tail: - movups (%rdi),%xmm2 - subq $0x10,%rdx - jbe .Lcbc_dec_one - - movups 16(%rdi),%xmm3 - movaps %xmm2,%xmm11 - subq $0x10,%rdx - jbe .Lcbc_dec_two - - movups 32(%rdi),%xmm4 - movaps %xmm3,%xmm12 - subq $0x10,%rdx - jbe .Lcbc_dec_three - - movups 48(%rdi),%xmm5 - movaps %xmm4,%xmm13 - subq $0x10,%rdx - jbe .Lcbc_dec_four - - movups 64(%rdi),%xmm6 - movaps %xmm5,%xmm14 - movaps %xmm6,%xmm15 - xorps %xmm7,%xmm7 - call _aesni_decrypt6 - pxor %xmm10,%xmm2 - movaps %xmm15,%xmm10 - pxor %xmm11,%xmm3 - movdqu %xmm2,(%rsi) - pxor %xmm12,%xmm4 - movdqu %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - pxor %xmm13,%xmm5 - movdqu %xmm4,32(%rsi) - pxor %xmm4,%xmm4 - pxor %xmm14,%xmm6 - movdqu %xmm5,48(%rsi) - pxor %xmm5,%xmm5 - leaq 64(%rsi),%rsi - movdqa %xmm6,%xmm2 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - subq $0x10,%rdx - jmp .Lcbc_dec_tail_collected - -.align 16 -.Lcbc_dec_one: - movaps %xmm2,%xmm11 - movups (%rcx),%xmm0 - movups 16(%rcx),%xmm1 - leaq 32(%rcx),%rcx - xorps %xmm0,%xmm2 -.Loop_dec1_17: -.byte 102,15,56,222,209 - decl %eax - movups (%rcx),%xmm1 - leaq 16(%rcx),%rcx - jnz .Loop_dec1_17 -.byte 102,15,56,223,209 - xorps %xmm10,%xmm2 - movaps %xmm11,%xmm10 - jmp .Lcbc_dec_tail_collected -.align 16 -.Lcbc_dec_two: - movaps %xmm3,%xmm12 - call _aesni_decrypt2 - pxor %xmm10,%xmm2 - movaps %xmm12,%xmm10 - pxor %xmm11,%xmm3 - movdqu %xmm2,(%rsi) - movdqa %xmm3,%xmm2 - pxor %xmm3,%xmm3 - leaq 16(%rsi),%rsi - jmp .Lcbc_dec_tail_collected -.align 16 -.Lcbc_dec_three: - movaps %xmm4,%xmm13 - call _aesni_decrypt3 - pxor %xmm10,%xmm2 - movaps %xmm13,%xmm10 - pxor %xmm11,%xmm3 - movdqu %xmm2,(%rsi) - pxor %xmm12,%xmm4 - movdqu %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - movdqa %xmm4,%xmm2 - pxor %xmm4,%xmm4 - leaq 32(%rsi),%rsi - jmp .Lcbc_dec_tail_collected -.align 16 -.Lcbc_dec_four: - movaps %xmm5,%xmm14 - call _aesni_decrypt4 - pxor %xmm10,%xmm2 - movaps %xmm14,%xmm10 - pxor %xmm11,%xmm3 - movdqu %xmm2,(%rsi) - pxor %xmm12,%xmm4 - movdqu %xmm3,16(%rsi) - pxor %xmm3,%xmm3 - pxor %xmm13,%xmm5 - movdqu %xmm4,32(%rsi) - pxor %xmm4,%xmm4 - movdqa %xmm5,%xmm2 - pxor %xmm5,%xmm5 - leaq 48(%rsi),%rsi - jmp .Lcbc_dec_tail_collected - -.align 16 -.Lcbc_dec_clear_tail_collected: - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - pxor %xmm8,%xmm8 - pxor %xmm9,%xmm9 -.Lcbc_dec_tail_collected: - movups %xmm10,(%r8) - andq $15,%rdx - jnz .Lcbc_dec_tail_partial - movups %xmm2,(%rsi) - pxor %xmm2,%xmm2 - jmp .Lcbc_dec_ret -.align 16 -.Lcbc_dec_tail_partial: - movaps %xmm2,(%rsp) - pxor %xmm2,%xmm2 - movq $16,%rcx - movq %rsi,%rdi - subq %rdx,%rcx - leaq (%rsp),%rsi -.long 0x9066A4F3 - movdqa %xmm2,(%rsp) - -.Lcbc_dec_ret: - xorps %xmm0,%xmm0 - pxor %xmm1,%xmm1 - movq -8(%r11),%rbp -.cfi_restore %rbp - leaq (%r11),%rsp -.cfi_def_cfa_register %rsp -.Lcbc_ret: - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_cbc_encrypt,.-aesni_cbc_encrypt -.globl aesni_set_decrypt_key -.type aesni_set_decrypt_key,@function -.align 16 -aesni_set_decrypt_key: -.cfi_startproc -.byte 0x48,0x83,0xEC,0x08 -.cfi_adjust_cfa_offset 8 - call __aesni_set_encrypt_key - shll $4,%esi - testl %eax,%eax - jnz .Ldec_key_ret - leaq 16(%rdx,%rsi,1),%rdi - - movups (%rdx),%xmm0 - movups (%rdi),%xmm1 - movups %xmm0,(%rdi) - movups %xmm1,(%rdx) - leaq 16(%rdx),%rdx - leaq -16(%rdi),%rdi - -.Ldec_key_inverse: - movups (%rdx),%xmm0 - movups (%rdi),%xmm1 -.byte 102,15,56,219,192 -.byte 102,15,56,219,201 - leaq 16(%rdx),%rdx - leaq -16(%rdi),%rdi - movups %xmm0,16(%rdi) - movups %xmm1,-16(%rdx) - cmpq %rdx,%rdi - ja .Ldec_key_inverse - - movups (%rdx),%xmm0 -.byte 102,15,56,219,192 - pxor %xmm1,%xmm1 - movups %xmm0,(%rdi) - pxor %xmm0,%xmm0 -.Ldec_key_ret: - addq $8,%rsp -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.cfi_endproc -.LSEH_end_set_decrypt_key: -.size aesni_set_decrypt_key,.-aesni_set_decrypt_key -.globl aesni_set_encrypt_key -.type aesni_set_encrypt_key,@function -.align 16 -aesni_set_encrypt_key: -__aesni_set_encrypt_key: -.cfi_startproc -.byte 0x48,0x83,0xEC,0x08 -.cfi_adjust_cfa_offset 8 - movq $-1,%rax - testq %rdi,%rdi - jz .Lenc_key_ret - testq %rdx,%rdx - jz .Lenc_key_ret - - movl $268437504,%r10d - movups (%rdi),%xmm0 - xorps %xmm4,%xmm4 - andl OPENSSL_ia32cap_P+4(%rip),%r10d - leaq 16(%rdx),%rax - cmpl $256,%esi - je .L14rounds - cmpl $192,%esi - je .L12rounds - cmpl $128,%esi - jne .Lbad_keybits - -.L10rounds: - movl $9,%esi - cmpl $268435456,%r10d - je .L10rounds_alt - - movups %xmm0,(%rdx) -.byte 102,15,58,223,200,1 - call .Lkey_expansion_128_cold -.byte 102,15,58,223,200,2 - call .Lkey_expansion_128 -.byte 102,15,58,223,200,4 - call .Lkey_expansion_128 -.byte 102,15,58,223,200,8 - call .Lkey_expansion_128 -.byte 102,15,58,223,200,16 - call .Lkey_expansion_128 -.byte 102,15,58,223,200,32 - call .Lkey_expansion_128 -.byte 102,15,58,223,200,64 - call .Lkey_expansion_128 -.byte 102,15,58,223,200,128 - call .Lkey_expansion_128 -.byte 102,15,58,223,200,27 - call .Lkey_expansion_128 -.byte 102,15,58,223,200,54 - call .Lkey_expansion_128 - movups %xmm0,(%rax) - movl %esi,80(%rax) - xorl %eax,%eax - jmp .Lenc_key_ret - -.align 16 -.L10rounds_alt: - movdqa .Lkey_rotate(%rip),%xmm5 - movl $8,%r10d - movdqa .Lkey_rcon1(%rip),%xmm4 - movdqa %xmm0,%xmm2 - movdqu %xmm0,(%rdx) - jmp .Loop_key128 - -.align 16 -.Loop_key128: -.byte 102,15,56,0,197 -.byte 102,15,56,221,196 - pslld $1,%xmm4 - leaq 16(%rax),%rax - - movdqa %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm3,%xmm2 - - pxor %xmm2,%xmm0 - movdqu %xmm0,-16(%rax) - movdqa %xmm0,%xmm2 - - decl %r10d - jnz .Loop_key128 - - movdqa .Lkey_rcon1b(%rip),%xmm4 - -.byte 102,15,56,0,197 -.byte 102,15,56,221,196 - pslld $1,%xmm4 - - movdqa %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm3,%xmm2 - - pxor %xmm2,%xmm0 - movdqu %xmm0,(%rax) - - movdqa %xmm0,%xmm2 -.byte 102,15,56,0,197 -.byte 102,15,56,221,196 - - movdqa %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm2,%xmm3 - pslldq $4,%xmm2 - pxor %xmm3,%xmm2 - - pxor %xmm2,%xmm0 - movdqu %xmm0,16(%rax) - - movl %esi,96(%rax) - xorl %eax,%eax - jmp .Lenc_key_ret - -.align 16 -.L12rounds: - movq 16(%rdi),%xmm2 - movl $11,%esi - cmpl $268435456,%r10d - je .L12rounds_alt - - movups %xmm0,(%rdx) -.byte 102,15,58,223,202,1 - call .Lkey_expansion_192a_cold -.byte 102,15,58,223,202,2 - call .Lkey_expansion_192b -.byte 102,15,58,223,202,4 - call .Lkey_expansion_192a -.byte 102,15,58,223,202,8 - call .Lkey_expansion_192b -.byte 102,15,58,223,202,16 - call .Lkey_expansion_192a -.byte 102,15,58,223,202,32 - call .Lkey_expansion_192b -.byte 102,15,58,223,202,64 - call .Lkey_expansion_192a -.byte 102,15,58,223,202,128 - call .Lkey_expansion_192b - movups %xmm0,(%rax) - movl %esi,48(%rax) - xorq %rax,%rax - jmp .Lenc_key_ret - -.align 16 -.L12rounds_alt: - movdqa .Lkey_rotate192(%rip),%xmm5 - movdqa .Lkey_rcon1(%rip),%xmm4 - movl $8,%r10d - movdqu %xmm0,(%rdx) - jmp .Loop_key192 - -.align 16 -.Loop_key192: - movq %xmm2,0(%rax) - movdqa %xmm2,%xmm1 -.byte 102,15,56,0,213 -.byte 102,15,56,221,212 - pslld $1,%xmm4 - leaq 24(%rax),%rax - - movdqa %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm3,%xmm0 - - pshufd $0xff,%xmm0,%xmm3 - pxor %xmm1,%xmm3 - pslldq $4,%xmm1 - pxor %xmm1,%xmm3 - - pxor %xmm2,%xmm0 - pxor %xmm3,%xmm2 - movdqu %xmm0,-16(%rax) - - decl %r10d - jnz .Loop_key192 - - movl %esi,32(%rax) - xorl %eax,%eax - jmp .Lenc_key_ret - -.align 16 -.L14rounds: - movups 16(%rdi),%xmm2 - movl $13,%esi - leaq 16(%rax),%rax - cmpl $268435456,%r10d - je .L14rounds_alt - - movups %xmm0,(%rdx) - movups %xmm2,16(%rdx) -.byte 102,15,58,223,202,1 - call .Lkey_expansion_256a_cold -.byte 102,15,58,223,200,1 - call .Lkey_expansion_256b -.byte 102,15,58,223,202,2 - call .Lkey_expansion_256a -.byte 102,15,58,223,200,2 - call .Lkey_expansion_256b -.byte 102,15,58,223,202,4 - call .Lkey_expansion_256a -.byte 102,15,58,223,200,4 - call .Lkey_expansion_256b -.byte 102,15,58,223,202,8 - call .Lkey_expansion_256a -.byte 102,15,58,223,200,8 - call .Lkey_expansion_256b -.byte 102,15,58,223,202,16 - call .Lkey_expansion_256a -.byte 102,15,58,223,200,16 - call .Lkey_expansion_256b -.byte 102,15,58,223,202,32 - call .Lkey_expansion_256a -.byte 102,15,58,223,200,32 - call .Lkey_expansion_256b -.byte 102,15,58,223,202,64 - call .Lkey_expansion_256a - movups %xmm0,(%rax) - movl %esi,16(%rax) - xorq %rax,%rax - jmp .Lenc_key_ret - -.align 16 -.L14rounds_alt: - movdqa .Lkey_rotate(%rip),%xmm5 - movdqa .Lkey_rcon1(%rip),%xmm4 - movl $7,%r10d - movdqu %xmm0,0(%rdx) - movdqa %xmm2,%xmm1 - movdqu %xmm2,16(%rdx) - jmp .Loop_key256 - -.align 16 -.Loop_key256: -.byte 102,15,56,0,213 -.byte 102,15,56,221,212 - - movdqa %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm0,%xmm3 - pslldq $4,%xmm0 - pxor %xmm3,%xmm0 - pslld $1,%xmm4 - - pxor %xmm2,%xmm0 - movdqu %xmm0,(%rax) - - decl %r10d - jz .Ldone_key256 - - pshufd $0xff,%xmm0,%xmm2 - pxor %xmm3,%xmm3 -.byte 102,15,56,221,211 - - movdqa %xmm1,%xmm3 - pslldq $4,%xmm1 - pxor %xmm1,%xmm3 - pslldq $4,%xmm1 - pxor %xmm1,%xmm3 - pslldq $4,%xmm1 - pxor %xmm3,%xmm1 - - pxor %xmm1,%xmm2 - movdqu %xmm2,16(%rax) - leaq 32(%rax),%rax - movdqa %xmm2,%xmm1 - - jmp .Loop_key256 - -.Ldone_key256: - movl %esi,16(%rax) - xorl %eax,%eax - jmp .Lenc_key_ret - -.align 16 -.Lbad_keybits: - movq $-2,%rax -.Lenc_key_ret: - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - addq $8,%rsp -.cfi_adjust_cfa_offset -8 - .byte 0xf3,0xc3 -.LSEH_end_set_encrypt_key: - -.align 16 -.Lkey_expansion_128: - movups %xmm0,(%rax) - leaq 16(%rax),%rax -.Lkey_expansion_128_cold: - shufps $16,%xmm0,%xmm4 - xorps %xmm4,%xmm0 - shufps $140,%xmm0,%xmm4 - xorps %xmm4,%xmm0 - shufps $255,%xmm1,%xmm1 - xorps %xmm1,%xmm0 - .byte 0xf3,0xc3 - -.align 16 -.Lkey_expansion_192a: - movups %xmm0,(%rax) - leaq 16(%rax),%rax -.Lkey_expansion_192a_cold: - movaps %xmm2,%xmm5 -.Lkey_expansion_192b_warm: - shufps $16,%xmm0,%xmm4 - movdqa %xmm2,%xmm3 - xorps %xmm4,%xmm0 - shufps $140,%xmm0,%xmm4 - pslldq $4,%xmm3 - xorps %xmm4,%xmm0 - pshufd $85,%xmm1,%xmm1 - pxor %xmm3,%xmm2 - pxor %xmm1,%xmm0 - pshufd $255,%xmm0,%xmm3 - pxor %xmm3,%xmm2 - .byte 0xf3,0xc3 - -.align 16 -.Lkey_expansion_192b: - movaps %xmm0,%xmm3 - shufps $68,%xmm0,%xmm5 - movups %xmm5,(%rax) - shufps $78,%xmm2,%xmm3 - movups %xmm3,16(%rax) - leaq 32(%rax),%rax - jmp .Lkey_expansion_192b_warm - -.align 16 -.Lkey_expansion_256a: - movups %xmm2,(%rax) - leaq 16(%rax),%rax -.Lkey_expansion_256a_cold: - shufps $16,%xmm0,%xmm4 - xorps %xmm4,%xmm0 - shufps $140,%xmm0,%xmm4 - xorps %xmm4,%xmm0 - shufps $255,%xmm1,%xmm1 - xorps %xmm1,%xmm0 - .byte 0xf3,0xc3 - -.align 16 -.Lkey_expansion_256b: - movups %xmm0,(%rax) - leaq 16(%rax),%rax - - shufps $16,%xmm2,%xmm4 - xorps %xmm4,%xmm2 - shufps $140,%xmm2,%xmm4 - xorps %xmm4,%xmm2 - shufps $170,%xmm1,%xmm1 - xorps %xmm1,%xmm2 - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_set_encrypt_key,.-aesni_set_encrypt_key -.size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key -.align 64 -.Lbswap_mask: -.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 -.Lincrement32: -.long 6,6,6,0 -.Lincrement64: -.long 1,0,0,0 -.Lxts_magic: -.long 0x87,0,1,0 -.Lincrement1: -.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -.Lkey_rotate: -.long 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d -.Lkey_rotate192: -.long 0x04070605,0x04070605,0x04070605,0x04070605 -.Lkey_rcon1: -.long 1,1,1,1 -.Lkey_rcon1b: -.long 0x1b,0x1b,0x1b,0x1b - -.byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69,83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/vpaes-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/vpaes-x86_64.S deleted file mode 100644 index 982818f83b23..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/aes/vpaes-x86_64.S +++ /dev/null @@ -1,863 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/aes/asm/vpaes-x86_64.pl -# -# Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - - - - - - - - - - - - - - - - -.type _vpaes_encrypt_core,@function -.align 16 -_vpaes_encrypt_core: -.cfi_startproc - movq %rdx,%r9 - movq $16,%r11 - movl 240(%rdx),%eax - movdqa %xmm9,%xmm1 - movdqa .Lk_ipt(%rip),%xmm2 - pandn %xmm0,%xmm1 - movdqu (%r9),%xmm5 - psrld $4,%xmm1 - pand %xmm9,%xmm0 -.byte 102,15,56,0,208 - movdqa .Lk_ipt+16(%rip),%xmm0 -.byte 102,15,56,0,193 - pxor %xmm5,%xmm2 - addq $16,%r9 - pxor %xmm2,%xmm0 - leaq .Lk_mc_backward(%rip),%r10 - jmp .Lenc_entry - -.align 16 -.Lenc_loop: - - movdqa %xmm13,%xmm4 - movdqa %xmm12,%xmm0 -.byte 102,15,56,0,226 -.byte 102,15,56,0,195 - pxor %xmm5,%xmm4 - movdqa %xmm15,%xmm5 - pxor %xmm4,%xmm0 - movdqa -64(%r11,%r10,1),%xmm1 -.byte 102,15,56,0,234 - movdqa (%r11,%r10,1),%xmm4 - movdqa %xmm14,%xmm2 -.byte 102,15,56,0,211 - movdqa %xmm0,%xmm3 - pxor %xmm5,%xmm2 -.byte 102,15,56,0,193 - addq $16,%r9 - pxor %xmm2,%xmm0 -.byte 102,15,56,0,220 - addq $16,%r11 - pxor %xmm0,%xmm3 -.byte 102,15,56,0,193 - andq $0x30,%r11 - subq $1,%rax - pxor %xmm3,%xmm0 - -.Lenc_entry: - - movdqa %xmm9,%xmm1 - movdqa %xmm11,%xmm5 - pandn %xmm0,%xmm1 - psrld $4,%xmm1 - pand %xmm9,%xmm0 -.byte 102,15,56,0,232 - movdqa %xmm10,%xmm3 - pxor %xmm1,%xmm0 -.byte 102,15,56,0,217 - movdqa %xmm10,%xmm4 - pxor %xmm5,%xmm3 -.byte 102,15,56,0,224 - movdqa %xmm10,%xmm2 - pxor %xmm5,%xmm4 -.byte 102,15,56,0,211 - movdqa %xmm10,%xmm3 - pxor %xmm0,%xmm2 -.byte 102,15,56,0,220 - movdqu (%r9),%xmm5 - pxor %xmm1,%xmm3 - jnz .Lenc_loop - - - movdqa -96(%r10),%xmm4 - movdqa -80(%r10),%xmm0 -.byte 102,15,56,0,226 - pxor %xmm5,%xmm4 -.byte 102,15,56,0,195 - movdqa 64(%r11,%r10,1),%xmm1 - pxor %xmm4,%xmm0 -.byte 102,15,56,0,193 - .byte 0xf3,0xc3 -.cfi_endproc -.size _vpaes_encrypt_core,.-_vpaes_encrypt_core - - - - - - -.type _vpaes_decrypt_core,@function -.align 16 -_vpaes_decrypt_core: -.cfi_startproc - movq %rdx,%r9 - movl 240(%rdx),%eax - movdqa %xmm9,%xmm1 - movdqa .Lk_dipt(%rip),%xmm2 - pandn %xmm0,%xmm1 - movq %rax,%r11 - psrld $4,%xmm1 - movdqu (%r9),%xmm5 - shlq $4,%r11 - pand %xmm9,%xmm0 -.byte 102,15,56,0,208 - movdqa .Lk_dipt+16(%rip),%xmm0 - xorq $0x30,%r11 - leaq .Lk_dsbd(%rip),%r10 -.byte 102,15,56,0,193 - andq $0x30,%r11 - pxor %xmm5,%xmm2 - movdqa .Lk_mc_forward+48(%rip),%xmm5 - pxor %xmm2,%xmm0 - addq $16,%r9 - addq %r10,%r11 - jmp .Ldec_entry - -.align 16 -.Ldec_loop: - - - - movdqa -32(%r10),%xmm4 - movdqa -16(%r10),%xmm1 -.byte 102,15,56,0,226 -.byte 102,15,56,0,203 - pxor %xmm4,%xmm0 - movdqa 0(%r10),%xmm4 - pxor %xmm1,%xmm0 - movdqa 16(%r10),%xmm1 - -.byte 102,15,56,0,226 -.byte 102,15,56,0,197 -.byte 102,15,56,0,203 - pxor %xmm4,%xmm0 - movdqa 32(%r10),%xmm4 - pxor %xmm1,%xmm0 - movdqa 48(%r10),%xmm1 - -.byte 102,15,56,0,226 -.byte 102,15,56,0,197 -.byte 102,15,56,0,203 - pxor %xmm4,%xmm0 - movdqa 64(%r10),%xmm4 - pxor %xmm1,%xmm0 - movdqa 80(%r10),%xmm1 - -.byte 102,15,56,0,226 -.byte 102,15,56,0,197 -.byte 102,15,56,0,203 - pxor %xmm4,%xmm0 - addq $16,%r9 -.byte 102,15,58,15,237,12 - pxor %xmm1,%xmm0 - subq $1,%rax - -.Ldec_entry: - - movdqa %xmm9,%xmm1 - pandn %xmm0,%xmm1 - movdqa %xmm11,%xmm2 - psrld $4,%xmm1 - pand %xmm9,%xmm0 -.byte 102,15,56,0,208 - movdqa %xmm10,%xmm3 - pxor %xmm1,%xmm0 -.byte 102,15,56,0,217 - movdqa %xmm10,%xmm4 - pxor %xmm2,%xmm3 -.byte 102,15,56,0,224 - pxor %xmm2,%xmm4 - movdqa %xmm10,%xmm2 -.byte 102,15,56,0,211 - movdqa %xmm10,%xmm3 - pxor %xmm0,%xmm2 -.byte 102,15,56,0,220 - movdqu (%r9),%xmm0 - pxor %xmm1,%xmm3 - jnz .Ldec_loop - - - movdqa 96(%r10),%xmm4 -.byte 102,15,56,0,226 - pxor %xmm0,%xmm4 - movdqa 112(%r10),%xmm0 - movdqa -352(%r11),%xmm2 -.byte 102,15,56,0,195 - pxor %xmm4,%xmm0 -.byte 102,15,56,0,194 - .byte 0xf3,0xc3 -.cfi_endproc -.size _vpaes_decrypt_core,.-_vpaes_decrypt_core - - - - - - -.type _vpaes_schedule_core,@function -.align 16 -_vpaes_schedule_core: -.cfi_startproc - - - - - - call _vpaes_preheat - movdqa .Lk_rcon(%rip),%xmm8 - movdqu (%rdi),%xmm0 - - - movdqa %xmm0,%xmm3 - leaq .Lk_ipt(%rip),%r11 - call _vpaes_schedule_transform - movdqa %xmm0,%xmm7 - - leaq .Lk_sr(%rip),%r10 - testq %rcx,%rcx - jnz .Lschedule_am_decrypting - - - movdqu %xmm0,(%rdx) - jmp .Lschedule_go - -.Lschedule_am_decrypting: - - movdqa (%r8,%r10,1),%xmm1 -.byte 102,15,56,0,217 - movdqu %xmm3,(%rdx) - xorq $0x30,%r8 - -.Lschedule_go: - cmpl $192,%esi - ja .Lschedule_256 - je .Lschedule_192 - - - - - - - - - - -.Lschedule_128: - movl $10,%esi - -.Loop_schedule_128: - call _vpaes_schedule_round - decq %rsi - jz .Lschedule_mangle_last - call _vpaes_schedule_mangle - jmp .Loop_schedule_128 - - - - - - - - - - - - - - - - -.align 16 -.Lschedule_192: - movdqu 8(%rdi),%xmm0 - call _vpaes_schedule_transform - movdqa %xmm0,%xmm6 - pxor %xmm4,%xmm4 - movhlps %xmm4,%xmm6 - movl $4,%esi - -.Loop_schedule_192: - call _vpaes_schedule_round -.byte 102,15,58,15,198,8 - call _vpaes_schedule_mangle - call _vpaes_schedule_192_smear - call _vpaes_schedule_mangle - call _vpaes_schedule_round - decq %rsi - jz .Lschedule_mangle_last - call _vpaes_schedule_mangle - call _vpaes_schedule_192_smear - jmp .Loop_schedule_192 - - - - - - - - - - - -.align 16 -.Lschedule_256: - movdqu 16(%rdi),%xmm0 - call _vpaes_schedule_transform - movl $7,%esi - -.Loop_schedule_256: - call _vpaes_schedule_mangle - movdqa %xmm0,%xmm6 - - - call _vpaes_schedule_round - decq %rsi - jz .Lschedule_mangle_last - call _vpaes_schedule_mangle - - - pshufd $0xFF,%xmm0,%xmm0 - movdqa %xmm7,%xmm5 - movdqa %xmm6,%xmm7 - call _vpaes_schedule_low_round - movdqa %xmm5,%xmm7 - - jmp .Loop_schedule_256 - - - - - - - - - - - - -.align 16 -.Lschedule_mangle_last: - - leaq .Lk_deskew(%rip),%r11 - testq %rcx,%rcx - jnz .Lschedule_mangle_last_dec - - - movdqa (%r8,%r10,1),%xmm1 -.byte 102,15,56,0,193 - leaq .Lk_opt(%rip),%r11 - addq $32,%rdx - -.Lschedule_mangle_last_dec: - addq $-16,%rdx - pxor .Lk_s63(%rip),%xmm0 - call _vpaes_schedule_transform - movdqu %xmm0,(%rdx) - - - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - .byte 0xf3,0xc3 -.cfi_endproc -.size _vpaes_schedule_core,.-_vpaes_schedule_core - - - - - - - - - - - - - - - -.type _vpaes_schedule_192_smear,@function -.align 16 -_vpaes_schedule_192_smear: -.cfi_startproc - pshufd $0x80,%xmm6,%xmm1 - pshufd $0xFE,%xmm7,%xmm0 - pxor %xmm1,%xmm6 - pxor %xmm1,%xmm1 - pxor %xmm0,%xmm6 - movdqa %xmm6,%xmm0 - movhlps %xmm1,%xmm6 - .byte 0xf3,0xc3 -.cfi_endproc -.size _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear - - - - - - - - - - - - - - - - - - - -.type _vpaes_schedule_round,@function -.align 16 -_vpaes_schedule_round: -.cfi_startproc - - pxor %xmm1,%xmm1 -.byte 102,65,15,58,15,200,15 -.byte 102,69,15,58,15,192,15 - pxor %xmm1,%xmm7 - - - pshufd $0xFF,%xmm0,%xmm0 -.byte 102,15,58,15,192,1 - - - - -_vpaes_schedule_low_round: - - movdqa %xmm7,%xmm1 - pslldq $4,%xmm7 - pxor %xmm1,%xmm7 - movdqa %xmm7,%xmm1 - pslldq $8,%xmm7 - pxor %xmm1,%xmm7 - pxor .Lk_s63(%rip),%xmm7 - - - movdqa %xmm9,%xmm1 - pandn %xmm0,%xmm1 - psrld $4,%xmm1 - pand %xmm9,%xmm0 - movdqa %xmm11,%xmm2 -.byte 102,15,56,0,208 - pxor %xmm1,%xmm0 - movdqa %xmm10,%xmm3 -.byte 102,15,56,0,217 - pxor %xmm2,%xmm3 - movdqa %xmm10,%xmm4 -.byte 102,15,56,0,224 - pxor %xmm2,%xmm4 - movdqa %xmm10,%xmm2 -.byte 102,15,56,0,211 - pxor %xmm0,%xmm2 - movdqa %xmm10,%xmm3 -.byte 102,15,56,0,220 - pxor %xmm1,%xmm3 - movdqa %xmm13,%xmm4 -.byte 102,15,56,0,226 - movdqa %xmm12,%xmm0 -.byte 102,15,56,0,195 - pxor %xmm4,%xmm0 - - - pxor %xmm7,%xmm0 - movdqa %xmm0,%xmm7 - .byte 0xf3,0xc3 -.cfi_endproc -.size _vpaes_schedule_round,.-_vpaes_schedule_round - - - - - - - - - - -.type _vpaes_schedule_transform,@function -.align 16 -_vpaes_schedule_transform: -.cfi_startproc - movdqa %xmm9,%xmm1 - pandn %xmm0,%xmm1 - psrld $4,%xmm1 - pand %xmm9,%xmm0 - movdqa (%r11),%xmm2 -.byte 102,15,56,0,208 - movdqa 16(%r11),%xmm0 -.byte 102,15,56,0,193 - pxor %xmm2,%xmm0 - .byte 0xf3,0xc3 -.cfi_endproc -.size _vpaes_schedule_transform,.-_vpaes_schedule_transform - - - - - - - - - - - - - - - - - - - - - - - - -.type _vpaes_schedule_mangle,@function -.align 16 -_vpaes_schedule_mangle: -.cfi_startproc - movdqa %xmm0,%xmm4 - movdqa .Lk_mc_forward(%rip),%xmm5 - testq %rcx,%rcx - jnz .Lschedule_mangle_dec - - - addq $16,%rdx - pxor .Lk_s63(%rip),%xmm4 -.byte 102,15,56,0,229 - movdqa %xmm4,%xmm3 -.byte 102,15,56,0,229 - pxor %xmm4,%xmm3 -.byte 102,15,56,0,229 - pxor %xmm4,%xmm3 - - jmp .Lschedule_mangle_both -.align 16 -.Lschedule_mangle_dec: - - leaq .Lk_dksd(%rip),%r11 - movdqa %xmm9,%xmm1 - pandn %xmm4,%xmm1 - psrld $4,%xmm1 - pand %xmm9,%xmm4 - - movdqa 0(%r11),%xmm2 -.byte 102,15,56,0,212 - movdqa 16(%r11),%xmm3 -.byte 102,15,56,0,217 - pxor %xmm2,%xmm3 -.byte 102,15,56,0,221 - - movdqa 32(%r11),%xmm2 -.byte 102,15,56,0,212 - pxor %xmm3,%xmm2 - movdqa 48(%r11),%xmm3 -.byte 102,15,56,0,217 - pxor %xmm2,%xmm3 -.byte 102,15,56,0,221 - - movdqa 64(%r11),%xmm2 -.byte 102,15,56,0,212 - pxor %xmm3,%xmm2 - movdqa 80(%r11),%xmm3 -.byte 102,15,56,0,217 - pxor %xmm2,%xmm3 -.byte 102,15,56,0,221 - - movdqa 96(%r11),%xmm2 -.byte 102,15,56,0,212 - pxor %xmm3,%xmm2 - movdqa 112(%r11),%xmm3 -.byte 102,15,56,0,217 - pxor %xmm2,%xmm3 - - addq $-16,%rdx - -.Lschedule_mangle_both: - movdqa (%r8,%r10,1),%xmm1 -.byte 102,15,56,0,217 - addq $-16,%r8 - andq $0x30,%r8 - movdqu %xmm3,(%rdx) - .byte 0xf3,0xc3 -.cfi_endproc -.size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle - - - - -.globl vpaes_set_encrypt_key -.type vpaes_set_encrypt_key,@function -.align 16 -vpaes_set_encrypt_key: -.cfi_startproc - movl %esi,%eax - shrl $5,%eax - addl $5,%eax - movl %eax,240(%rdx) - - movl $0,%ecx - movl $0x30,%r8d - call _vpaes_schedule_core - xorl %eax,%eax - .byte 0xf3,0xc3 -.cfi_endproc -.size vpaes_set_encrypt_key,.-vpaes_set_encrypt_key - -.globl vpaes_set_decrypt_key -.type vpaes_set_decrypt_key,@function -.align 16 -vpaes_set_decrypt_key: -.cfi_startproc - movl %esi,%eax - shrl $5,%eax - addl $5,%eax - movl %eax,240(%rdx) - shll $4,%eax - leaq 16(%rdx,%rax,1),%rdx - - movl $1,%ecx - movl %esi,%r8d - shrl $1,%r8d - andl $32,%r8d - xorl $32,%r8d - call _vpaes_schedule_core - xorl %eax,%eax - .byte 0xf3,0xc3 -.cfi_endproc -.size vpaes_set_decrypt_key,.-vpaes_set_decrypt_key - -.globl vpaes_encrypt -.type vpaes_encrypt,@function -.align 16 -vpaes_encrypt: -.cfi_startproc - movdqu (%rdi),%xmm0 - call _vpaes_preheat - call _vpaes_encrypt_core - movdqu %xmm0,(%rsi) - .byte 0xf3,0xc3 -.cfi_endproc -.size vpaes_encrypt,.-vpaes_encrypt - -.globl vpaes_decrypt -.type vpaes_decrypt,@function -.align 16 -vpaes_decrypt: -.cfi_startproc - movdqu (%rdi),%xmm0 - call _vpaes_preheat - call _vpaes_decrypt_core - movdqu %xmm0,(%rsi) - .byte 0xf3,0xc3 -.cfi_endproc -.size vpaes_decrypt,.-vpaes_decrypt -.globl vpaes_cbc_encrypt -.type vpaes_cbc_encrypt,@function -.align 16 -vpaes_cbc_encrypt: -.cfi_startproc - xchgq %rcx,%rdx - subq $16,%rcx - jc .Lcbc_abort - movdqu (%r8),%xmm6 - subq %rdi,%rsi - call _vpaes_preheat - cmpl $0,%r9d - je .Lcbc_dec_loop - jmp .Lcbc_enc_loop -.align 16 -.Lcbc_enc_loop: - movdqu (%rdi),%xmm0 - pxor %xmm6,%xmm0 - call _vpaes_encrypt_core - movdqa %xmm0,%xmm6 - movdqu %xmm0,(%rsi,%rdi,1) - leaq 16(%rdi),%rdi - subq $16,%rcx - jnc .Lcbc_enc_loop - jmp .Lcbc_done -.align 16 -.Lcbc_dec_loop: - movdqu (%rdi),%xmm0 - movdqa %xmm0,%xmm7 - call _vpaes_decrypt_core - pxor %xmm6,%xmm0 - movdqa %xmm7,%xmm6 - movdqu %xmm0,(%rsi,%rdi,1) - leaq 16(%rdi),%rdi - subq $16,%rcx - jnc .Lcbc_dec_loop -.Lcbc_done: - movdqu %xmm6,(%r8) -.Lcbc_abort: - .byte 0xf3,0xc3 -.cfi_endproc -.size vpaes_cbc_encrypt,.-vpaes_cbc_encrypt - - - - - - -.type _vpaes_preheat,@function -.align 16 -_vpaes_preheat: -.cfi_startproc - leaq .Lk_s0F(%rip),%r10 - movdqa -32(%r10),%xmm10 - movdqa -16(%r10),%xmm11 - movdqa 0(%r10),%xmm9 - movdqa 48(%r10),%xmm13 - movdqa 64(%r10),%xmm12 - movdqa 80(%r10),%xmm15 - movdqa 96(%r10),%xmm14 - .byte 0xf3,0xc3 -.cfi_endproc -.size _vpaes_preheat,.-_vpaes_preheat - - - - - -.type _vpaes_consts,@object -.align 64 -_vpaes_consts: -.Lk_inv: -.quad 0x0E05060F0D080180, 0x040703090A0B0C02 -.quad 0x01040A060F0B0780, 0x030D0E0C02050809 - -.Lk_s0F: -.quad 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F - -.Lk_ipt: -.quad 0xC2B2E8985A2A7000, 0xCABAE09052227808 -.quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81 - -.Lk_sb1: -.quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544 -.quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF -.Lk_sb2: -.quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD -.quad 0x69EB88400AE12900, 0xC2A163C8AB82234A -.Lk_sbo: -.quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878 -.quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA - -.Lk_mc_forward: -.quad 0x0407060500030201, 0x0C0F0E0D080B0A09 -.quad 0x080B0A0904070605, 0x000302010C0F0E0D -.quad 0x0C0F0E0D080B0A09, 0x0407060500030201 -.quad 0x000302010C0F0E0D, 0x080B0A0904070605 - -.Lk_mc_backward: -.quad 0x0605040702010003, 0x0E0D0C0F0A09080B -.quad 0x020100030E0D0C0F, 0x0A09080B06050407 -.quad 0x0E0D0C0F0A09080B, 0x0605040702010003 -.quad 0x0A09080B06050407, 0x020100030E0D0C0F - -.Lk_sr: -.quad 0x0706050403020100, 0x0F0E0D0C0B0A0908 -.quad 0x030E09040F0A0500, 0x0B06010C07020D08 -.quad 0x0F060D040B020900, 0x070E050C030A0108 -.quad 0x0B0E0104070A0D00, 0x0306090C0F020508 - -.Lk_rcon: -.quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81 - -.Lk_s63: -.quad 0x5B5B5B5B5B5B5B5B, 0x5B5B5B5B5B5B5B5B - -.Lk_opt: -.quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808 -.quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0 - -.Lk_deskew: -.quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A -.quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77 - - - - - -.Lk_dksd: -.quad 0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9 -.quad 0x41C277F4B5368300, 0x5FDC69EAAB289D1E -.Lk_dksb: -.quad 0x9A4FCA1F8550D500, 0x03D653861CC94C99 -.quad 0x115BEDA7B6FC4A00, 0xD993256F7E3482C8 -.Lk_dkse: -.quad 0xD5031CCA1FC9D600, 0x53859A4C994F5086 -.quad 0xA23196054FDC7BE8, 0xCD5EF96A20B31487 -.Lk_dks9: -.quad 0xB6116FC87ED9A700, 0x4AED933482255BFC -.quad 0x4576516227143300, 0x8BB89FACE9DAFDCE - - - - - -.Lk_dipt: -.quad 0x0F505B040B545F00, 0x154A411E114E451A -.quad 0x86E383E660056500, 0x12771772F491F194 - -.Lk_dsb9: -.quad 0x851C03539A86D600, 0xCAD51F504F994CC9 -.quad 0xC03B1789ECD74900, 0x725E2C9EB2FBA565 -.Lk_dsbd: -.quad 0x7D57CCDFE6B1A200, 0xF56E9B13882A4439 -.quad 0x3CE2FAF724C6CB00, 0x2931180D15DEEFD3 -.Lk_dsbb: -.quad 0xD022649296B44200, 0x602646F6B0F2D404 -.quad 0xC19498A6CD596700, 0xF3FF0C3E3255AA6B -.Lk_dsbe: -.quad 0x46F2929626D4D000, 0x2242600464B4F6B0 -.quad 0x0C55A6CDFFAAC100, 0x9467F36B98593E32 -.Lk_dsbo: -.quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D -.quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C -.byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105,111,110,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105,118,101,114,115,105,116,121,41,0 -.align 64 -.size _vpaes_consts,.-_vpaes_consts diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/modes/aesni-gcm-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/modes/aesni-gcm-x86_64.S deleted file mode 100644 index 1201f3427a06..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/modes/aesni-gcm-x86_64.S +++ /dev/null @@ -1,29 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/modes/asm/aesni-gcm-x86_64.pl -# -# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - -.globl aesni_gcm_encrypt -.type aesni_gcm_encrypt,@function -aesni_gcm_encrypt: -.cfi_startproc - xorl %eax,%eax - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_gcm_encrypt,.-aesni_gcm_encrypt - -.globl aesni_gcm_decrypt -.type aesni_gcm_decrypt,@function -aesni_gcm_decrypt: -.cfi_startproc - xorl %eax,%eax - .byte 0xf3,0xc3 -.cfi_endproc -.size aesni_gcm_decrypt,.-aesni_gcm_decrypt diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/modes/ghash-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/modes/ghash-x86_64.S deleted file mode 100644 index 3fcaa4b2ef5e..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/modes/ghash-x86_64.S +++ /dev/null @@ -1,1386 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/modes/asm/ghash-x86_64.pl -# -# Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - - -.globl gcm_gmult_4bit -.type gcm_gmult_4bit,@function -.align 16 -gcm_gmult_4bit: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $280,%rsp -.cfi_adjust_cfa_offset 280 -.Lgmult_prologue: - - movzbq 15(%rdi),%r8 - leaq .Lrem_4bit(%rip),%r11 - xorq %rax,%rax - xorq %rbx,%rbx - movb %r8b,%al - movb %r8b,%bl - shlb $4,%al - movq $14,%rcx - movq 8(%rsi,%rax,1),%r8 - movq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - movq %r8,%rdx - jmp .Loop1 - -.align 16 -.Loop1: - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - movb (%rdi,%rcx,1),%al - shrq $4,%r9 - xorq 8(%rsi,%rbx,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rbx,1),%r9 - movb %al,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - shlb $4,%al - xorq %r10,%r8 - decq %rcx - js .Lbreak1 - - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rax,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - xorq %r10,%r8 - jmp .Loop1 - -.align 16 -.Lbreak1: - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rax,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rax,1),%r9 - andb $0xf0,%bl - xorq (%r11,%rdx,8),%r9 - movq %r8,%rdx - xorq %r10,%r8 - - shrq $4,%r8 - andq $0xf,%rdx - movq %r9,%r10 - shrq $4,%r9 - xorq 8(%rsi,%rbx,1),%r8 - shlq $60,%r10 - xorq (%rsi,%rbx,1),%r9 - xorq %r10,%r8 - xorq (%r11,%rdx,8),%r9 - - bswapq %r8 - bswapq %r9 - movq %r8,8(%rdi) - movq %r9,(%rdi) - - leaq 280+48(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lgmult_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size gcm_gmult_4bit,.-gcm_gmult_4bit -.globl gcm_ghash_4bit -.type gcm_ghash_4bit,@function -.align 16 -gcm_ghash_4bit: -.cfi_startproc - pushq %rbx -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_adjust_cfa_offset 8 -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_adjust_cfa_offset 8 -.cfi_offset %r15,-56 - subq $280,%rsp -.cfi_adjust_cfa_offset 280 -.Lghash_prologue: - movq %rdx,%r14 - movq %rcx,%r15 - subq $-128,%rsi - leaq 16+128(%rsp),%rbp - xorl %edx,%edx - movq 0+0-128(%rsi),%r8 - movq 0+8-128(%rsi),%rax - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq 16+0-128(%rsi),%r9 - shlb $4,%dl - movq 16+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,0(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,0(%rbp) - movq 32+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,0-128(%rbp) - movq 32+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,1(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,8(%rbp) - movq 48+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,8-128(%rbp) - movq 48+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,2(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,16(%rbp) - movq 64+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,16-128(%rbp) - movq 64+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,3(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,24(%rbp) - movq 80+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,24-128(%rbp) - movq 80+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,4(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,32(%rbp) - movq 96+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,32-128(%rbp) - movq 96+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,5(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,40(%rbp) - movq 112+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,40-128(%rbp) - movq 112+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,6(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,48(%rbp) - movq 128+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,48-128(%rbp) - movq 128+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,7(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,56(%rbp) - movq 144+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,56-128(%rbp) - movq 144+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,8(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,64(%rbp) - movq 160+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,64-128(%rbp) - movq 160+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,9(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,72(%rbp) - movq 176+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,72-128(%rbp) - movq 176+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,10(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,80(%rbp) - movq 192+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,80-128(%rbp) - movq 192+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,11(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,88(%rbp) - movq 208+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,88-128(%rbp) - movq 208+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,12(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,96(%rbp) - movq 224+0-128(%rsi),%r8 - shlb $4,%dl - movq %rax,96-128(%rbp) - movq 224+8-128(%rsi),%rax - shlq $60,%r10 - movb %dl,13(%rsp) - orq %r10,%rbx - movb %al,%dl - shrq $4,%rax - movq %r8,%r10 - shrq $4,%r8 - movq %r9,104(%rbp) - movq 240+0-128(%rsi),%r9 - shlb $4,%dl - movq %rbx,104-128(%rbp) - movq 240+8-128(%rsi),%rbx - shlq $60,%r10 - movb %dl,14(%rsp) - orq %r10,%rax - movb %bl,%dl - shrq $4,%rbx - movq %r9,%r10 - shrq $4,%r9 - movq %r8,112(%rbp) - shlb $4,%dl - movq %rax,112-128(%rbp) - shlq $60,%r10 - movb %dl,15(%rsp) - orq %r10,%rbx - movq %r9,120(%rbp) - movq %rbx,120-128(%rbp) - addq $-128,%rsi - movq 8(%rdi),%r8 - movq 0(%rdi),%r9 - addq %r14,%r15 - leaq .Lrem_8bit(%rip),%r11 - jmp .Louter_loop -.align 16 -.Louter_loop: - xorq (%r14),%r9 - movq 8(%r14),%rdx - leaq 16(%r14),%r14 - xorq %r8,%rdx - movq %r9,(%rdi) - movq %rdx,8(%rdi) - shrq $32,%rdx - xorq %rax,%rax - roll $8,%edx - movb %dl,%al - movzbl %dl,%ebx - shlb $4,%al - shrl $4,%ebx - roll $8,%edx - movq 8(%rsi,%rax,1),%r8 - movq (%rsi,%rax,1),%r9 - movb %dl,%al - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - xorq %r8,%r12 - movq %r9,%r10 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 8(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 4(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl 0(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - shrl $4,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r12,2),%r12 - movzbl %dl,%ebx - shlb $4,%al - movzbq (%rsp,%rcx,1),%r13 - shrl $4,%ebx - shlq $48,%r12 - xorq %r8,%r13 - movq %r9,%r10 - xorq %r12,%r9 - shrq $8,%r8 - movzbq %r13b,%r13 - shrq $8,%r9 - xorq -128(%rbp,%rcx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rcx,8),%r9 - roll $8,%edx - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - movb %dl,%al - xorq %r10,%r8 - movzwq (%r11,%r13,2),%r13 - movzbl %dl,%ecx - shlb $4,%al - movzbq (%rsp,%rbx,1),%r12 - andl $240,%ecx - shlq $48,%r13 - xorq %r8,%r12 - movq %r9,%r10 - xorq %r13,%r9 - shrq $8,%r8 - movzbq %r12b,%r12 - movl -4(%rdi),%edx - shrq $8,%r9 - xorq -128(%rbp,%rbx,8),%r8 - shlq $56,%r10 - xorq (%rbp,%rbx,8),%r9 - movzwq (%r11,%r12,2),%r12 - xorq 8(%rsi,%rax,1),%r8 - xorq (%rsi,%rax,1),%r9 - shlq $48,%r12 - xorq %r10,%r8 - xorq %r12,%r9 - movzbq %r8b,%r13 - shrq $4,%r8 - movq %r9,%r10 - shlb $4,%r13b - shrq $4,%r9 - xorq 8(%rsi,%rcx,1),%r8 - movzwq (%r11,%r13,2),%r13 - shlq $60,%r10 - xorq (%rsi,%rcx,1),%r9 - xorq %r10,%r8 - shlq $48,%r13 - bswapq %r8 - xorq %r13,%r9 - bswapq %r9 - cmpq %r15,%r14 - jb .Louter_loop - movq %r8,8(%rdi) - movq %r9,(%rdi) - - leaq 280+48(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq 0(%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lghash_epilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size gcm_ghash_4bit,.-gcm_ghash_4bit -.globl gcm_init_clmul -.type gcm_init_clmul,@function -.align 16 -gcm_init_clmul: -.cfi_startproc -.L_init_clmul: - movdqu (%rsi),%xmm2 - pshufd $78,%xmm2,%xmm2 - - - pshufd $255,%xmm2,%xmm4 - movdqa %xmm2,%xmm3 - psllq $1,%xmm2 - pxor %xmm5,%xmm5 - psrlq $63,%xmm3 - pcmpgtd %xmm4,%xmm5 - pslldq $8,%xmm3 - por %xmm3,%xmm2 - - - pand .L0x1c2_polynomial(%rip),%xmm5 - pxor %xmm5,%xmm2 - - - pshufd $78,%xmm2,%xmm6 - movdqa %xmm2,%xmm0 - pxor %xmm2,%xmm6 - movdqa %xmm0,%xmm1 - pshufd $78,%xmm0,%xmm3 - pxor %xmm0,%xmm3 -.byte 102,15,58,68,194,0 -.byte 102,15,58,68,202,17 -.byte 102,15,58,68,222,0 - pxor %xmm0,%xmm3 - pxor %xmm1,%xmm3 - - movdqa %xmm3,%xmm4 - psrldq $8,%xmm3 - pslldq $8,%xmm4 - pxor %xmm3,%xmm1 - pxor %xmm4,%xmm0 - - movdqa %xmm0,%xmm4 - movdqa %xmm0,%xmm3 - psllq $5,%xmm0 - pxor %xmm0,%xmm3 - psllq $1,%xmm0 - pxor %xmm3,%xmm0 - psllq $57,%xmm0 - movdqa %xmm0,%xmm3 - pslldq $8,%xmm0 - psrldq $8,%xmm3 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm1 - - - movdqa %xmm0,%xmm4 - psrlq $1,%xmm0 - pxor %xmm4,%xmm1 - pxor %xmm0,%xmm4 - psrlq $5,%xmm0 - pxor %xmm4,%xmm0 - psrlq $1,%xmm0 - pxor %xmm1,%xmm0 - pshufd $78,%xmm2,%xmm3 - pshufd $78,%xmm0,%xmm4 - pxor %xmm2,%xmm3 - movdqu %xmm2,0(%rdi) - pxor %xmm0,%xmm4 - movdqu %xmm0,16(%rdi) -.byte 102,15,58,15,227,8 - movdqu %xmm4,32(%rdi) - movdqa %xmm0,%xmm1 - pshufd $78,%xmm0,%xmm3 - pxor %xmm0,%xmm3 -.byte 102,15,58,68,194,0 -.byte 102,15,58,68,202,17 -.byte 102,15,58,68,222,0 - pxor %xmm0,%xmm3 - pxor %xmm1,%xmm3 - - movdqa %xmm3,%xmm4 - psrldq $8,%xmm3 - pslldq $8,%xmm4 - pxor %xmm3,%xmm1 - pxor %xmm4,%xmm0 - - movdqa %xmm0,%xmm4 - movdqa %xmm0,%xmm3 - psllq $5,%xmm0 - pxor %xmm0,%xmm3 - psllq $1,%xmm0 - pxor %xmm3,%xmm0 - psllq $57,%xmm0 - movdqa %xmm0,%xmm3 - pslldq $8,%xmm0 - psrldq $8,%xmm3 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm1 - - - movdqa %xmm0,%xmm4 - psrlq $1,%xmm0 - pxor %xmm4,%xmm1 - pxor %xmm0,%xmm4 - psrlq $5,%xmm0 - pxor %xmm4,%xmm0 - psrlq $1,%xmm0 - pxor %xmm1,%xmm0 - movdqa %xmm0,%xmm5 - movdqa %xmm0,%xmm1 - pshufd $78,%xmm0,%xmm3 - pxor %xmm0,%xmm3 -.byte 102,15,58,68,194,0 -.byte 102,15,58,68,202,17 -.byte 102,15,58,68,222,0 - pxor %xmm0,%xmm3 - pxor %xmm1,%xmm3 - - movdqa %xmm3,%xmm4 - psrldq $8,%xmm3 - pslldq $8,%xmm4 - pxor %xmm3,%xmm1 - pxor %xmm4,%xmm0 - - movdqa %xmm0,%xmm4 - movdqa %xmm0,%xmm3 - psllq $5,%xmm0 - pxor %xmm0,%xmm3 - psllq $1,%xmm0 - pxor %xmm3,%xmm0 - psllq $57,%xmm0 - movdqa %xmm0,%xmm3 - pslldq $8,%xmm0 - psrldq $8,%xmm3 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm1 - - - movdqa %xmm0,%xmm4 - psrlq $1,%xmm0 - pxor %xmm4,%xmm1 - pxor %xmm0,%xmm4 - psrlq $5,%xmm0 - pxor %xmm4,%xmm0 - psrlq $1,%xmm0 - pxor %xmm1,%xmm0 - pshufd $78,%xmm5,%xmm3 - pshufd $78,%xmm0,%xmm4 - pxor %xmm5,%xmm3 - movdqu %xmm5,48(%rdi) - pxor %xmm0,%xmm4 - movdqu %xmm0,64(%rdi) -.byte 102,15,58,15,227,8 - movdqu %xmm4,80(%rdi) - .byte 0xf3,0xc3 -.cfi_endproc -.size gcm_init_clmul,.-gcm_init_clmul -.globl gcm_gmult_clmul -.type gcm_gmult_clmul,@function -.align 16 -gcm_gmult_clmul: -.cfi_startproc -.L_gmult_clmul: - movdqu (%rdi),%xmm0 - movdqa .Lbswap_mask(%rip),%xmm5 - movdqu (%rsi),%xmm2 - movdqu 32(%rsi),%xmm4 -.byte 102,15,56,0,197 - movdqa %xmm0,%xmm1 - pshufd $78,%xmm0,%xmm3 - pxor %xmm0,%xmm3 -.byte 102,15,58,68,194,0 -.byte 102,15,58,68,202,17 -.byte 102,15,58,68,220,0 - pxor %xmm0,%xmm3 - pxor %xmm1,%xmm3 - - movdqa %xmm3,%xmm4 - psrldq $8,%xmm3 - pslldq $8,%xmm4 - pxor %xmm3,%xmm1 - pxor %xmm4,%xmm0 - - movdqa %xmm0,%xmm4 - movdqa %xmm0,%xmm3 - psllq $5,%xmm0 - pxor %xmm0,%xmm3 - psllq $1,%xmm0 - pxor %xmm3,%xmm0 - psllq $57,%xmm0 - movdqa %xmm0,%xmm3 - pslldq $8,%xmm0 - psrldq $8,%xmm3 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm1 - - - movdqa %xmm0,%xmm4 - psrlq $1,%xmm0 - pxor %xmm4,%xmm1 - pxor %xmm0,%xmm4 - psrlq $5,%xmm0 - pxor %xmm4,%xmm0 - psrlq $1,%xmm0 - pxor %xmm1,%xmm0 -.byte 102,15,56,0,197 - movdqu %xmm0,(%rdi) - .byte 0xf3,0xc3 -.cfi_endproc -.size gcm_gmult_clmul,.-gcm_gmult_clmul -.globl gcm_ghash_clmul -.type gcm_ghash_clmul,@function -.align 32 -gcm_ghash_clmul: -.cfi_startproc -.L_ghash_clmul: - movdqa .Lbswap_mask(%rip),%xmm10 - - movdqu (%rdi),%xmm0 - movdqu (%rsi),%xmm2 - movdqu 32(%rsi),%xmm7 -.byte 102,65,15,56,0,194 - - subq $0x10,%rcx - jz .Lodd_tail - - movdqu 16(%rsi),%xmm6 - movl OPENSSL_ia32cap_P+4(%rip),%eax - cmpq $0x30,%rcx - jb .Lskip4x - - andl $71303168,%eax - cmpl $4194304,%eax - je .Lskip4x - - subq $0x30,%rcx - movq $0xA040608020C0E000,%rax - movdqu 48(%rsi),%xmm14 - movdqu 64(%rsi),%xmm15 - - - - - movdqu 48(%rdx),%xmm3 - movdqu 32(%rdx),%xmm11 -.byte 102,65,15,56,0,218 -.byte 102,69,15,56,0,218 - movdqa %xmm3,%xmm5 - pshufd $78,%xmm3,%xmm4 - pxor %xmm3,%xmm4 -.byte 102,15,58,68,218,0 -.byte 102,15,58,68,234,17 -.byte 102,15,58,68,231,0 - - movdqa %xmm11,%xmm13 - pshufd $78,%xmm11,%xmm12 - pxor %xmm11,%xmm12 -.byte 102,68,15,58,68,222,0 -.byte 102,68,15,58,68,238,17 -.byte 102,68,15,58,68,231,16 - xorps %xmm11,%xmm3 - xorps %xmm13,%xmm5 - movups 80(%rsi),%xmm7 - xorps %xmm12,%xmm4 - - movdqu 16(%rdx),%xmm11 - movdqu 0(%rdx),%xmm8 -.byte 102,69,15,56,0,218 -.byte 102,69,15,56,0,194 - movdqa %xmm11,%xmm13 - pshufd $78,%xmm11,%xmm12 - pxor %xmm8,%xmm0 - pxor %xmm11,%xmm12 -.byte 102,69,15,58,68,222,0 - movdqa %xmm0,%xmm1 - pshufd $78,%xmm0,%xmm8 - pxor %xmm0,%xmm8 -.byte 102,69,15,58,68,238,17 -.byte 102,68,15,58,68,231,0 - xorps %xmm11,%xmm3 - xorps %xmm13,%xmm5 - - leaq 64(%rdx),%rdx - subq $0x40,%rcx - jc .Ltail4x - - jmp .Lmod4_loop -.align 32 -.Lmod4_loop: -.byte 102,65,15,58,68,199,0 - xorps %xmm12,%xmm4 - movdqu 48(%rdx),%xmm11 -.byte 102,69,15,56,0,218 -.byte 102,65,15,58,68,207,17 - xorps %xmm3,%xmm0 - movdqu 32(%rdx),%xmm3 - movdqa %xmm11,%xmm13 -.byte 102,68,15,58,68,199,16 - pshufd $78,%xmm11,%xmm12 - xorps %xmm5,%xmm1 - pxor %xmm11,%xmm12 -.byte 102,65,15,56,0,218 - movups 32(%rsi),%xmm7 - xorps %xmm4,%xmm8 -.byte 102,68,15,58,68,218,0 - pshufd $78,%xmm3,%xmm4 - - pxor %xmm0,%xmm8 - movdqa %xmm3,%xmm5 - pxor %xmm1,%xmm8 - pxor %xmm3,%xmm4 - movdqa %xmm8,%xmm9 -.byte 102,68,15,58,68,234,17 - pslldq $8,%xmm8 - psrldq $8,%xmm9 - pxor %xmm8,%xmm0 - movdqa .L7_mask(%rip),%xmm8 - pxor %xmm9,%xmm1 -.byte 102,76,15,110,200 - - pand %xmm0,%xmm8 -.byte 102,69,15,56,0,200 - pxor %xmm0,%xmm9 -.byte 102,68,15,58,68,231,0 - psllq $57,%xmm9 - movdqa %xmm9,%xmm8 - pslldq $8,%xmm9 -.byte 102,15,58,68,222,0 - psrldq $8,%xmm8 - pxor %xmm9,%xmm0 - pxor %xmm8,%xmm1 - movdqu 0(%rdx),%xmm8 - - movdqa %xmm0,%xmm9 - psrlq $1,%xmm0 -.byte 102,15,58,68,238,17 - xorps %xmm11,%xmm3 - movdqu 16(%rdx),%xmm11 -.byte 102,69,15,56,0,218 -.byte 102,15,58,68,231,16 - xorps %xmm13,%xmm5 - movups 80(%rsi),%xmm7 -.byte 102,69,15,56,0,194 - pxor %xmm9,%xmm1 - pxor %xmm0,%xmm9 - psrlq $5,%xmm0 - - movdqa %xmm11,%xmm13 - pxor %xmm12,%xmm4 - pshufd $78,%xmm11,%xmm12 - pxor %xmm9,%xmm0 - pxor %xmm8,%xmm1 - pxor %xmm11,%xmm12 -.byte 102,69,15,58,68,222,0 - psrlq $1,%xmm0 - pxor %xmm1,%xmm0 - movdqa %xmm0,%xmm1 -.byte 102,69,15,58,68,238,17 - xorps %xmm11,%xmm3 - pshufd $78,%xmm0,%xmm8 - pxor %xmm0,%xmm8 - -.byte 102,68,15,58,68,231,0 - xorps %xmm13,%xmm5 - - leaq 64(%rdx),%rdx - subq $0x40,%rcx - jnc .Lmod4_loop - -.Ltail4x: -.byte 102,65,15,58,68,199,0 -.byte 102,65,15,58,68,207,17 -.byte 102,68,15,58,68,199,16 - xorps %xmm12,%xmm4 - xorps %xmm3,%xmm0 - xorps %xmm5,%xmm1 - pxor %xmm0,%xmm1 - pxor %xmm4,%xmm8 - - pxor %xmm1,%xmm8 - pxor %xmm0,%xmm1 - - movdqa %xmm8,%xmm9 - psrldq $8,%xmm8 - pslldq $8,%xmm9 - pxor %xmm8,%xmm1 - pxor %xmm9,%xmm0 - - movdqa %xmm0,%xmm4 - movdqa %xmm0,%xmm3 - psllq $5,%xmm0 - pxor %xmm0,%xmm3 - psllq $1,%xmm0 - pxor %xmm3,%xmm0 - psllq $57,%xmm0 - movdqa %xmm0,%xmm3 - pslldq $8,%xmm0 - psrldq $8,%xmm3 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm1 - - - movdqa %xmm0,%xmm4 - psrlq $1,%xmm0 - pxor %xmm4,%xmm1 - pxor %xmm0,%xmm4 - psrlq $5,%xmm0 - pxor %xmm4,%xmm0 - psrlq $1,%xmm0 - pxor %xmm1,%xmm0 - addq $0x40,%rcx - jz .Ldone - movdqu 32(%rsi),%xmm7 - subq $0x10,%rcx - jz .Lodd_tail -.Lskip4x: - - - - - - movdqu (%rdx),%xmm8 - movdqu 16(%rdx),%xmm3 -.byte 102,69,15,56,0,194 -.byte 102,65,15,56,0,218 - pxor %xmm8,%xmm0 - - movdqa %xmm3,%xmm5 - pshufd $78,%xmm3,%xmm4 - pxor %xmm3,%xmm4 -.byte 102,15,58,68,218,0 -.byte 102,15,58,68,234,17 -.byte 102,15,58,68,231,0 - - leaq 32(%rdx),%rdx - nop - subq $0x20,%rcx - jbe .Leven_tail - nop - jmp .Lmod_loop - -.align 32 -.Lmod_loop: - movdqa %xmm0,%xmm1 - movdqa %xmm4,%xmm8 - pshufd $78,%xmm0,%xmm4 - pxor %xmm0,%xmm4 - -.byte 102,15,58,68,198,0 -.byte 102,15,58,68,206,17 -.byte 102,15,58,68,231,16 - - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm1 - movdqu (%rdx),%xmm9 - pxor %xmm0,%xmm8 -.byte 102,69,15,56,0,202 - movdqu 16(%rdx),%xmm3 - - pxor %xmm1,%xmm8 - pxor %xmm9,%xmm1 - pxor %xmm8,%xmm4 -.byte 102,65,15,56,0,218 - movdqa %xmm4,%xmm8 - psrldq $8,%xmm8 - pslldq $8,%xmm4 - pxor %xmm8,%xmm1 - pxor %xmm4,%xmm0 - - movdqa %xmm3,%xmm5 - - movdqa %xmm0,%xmm9 - movdqa %xmm0,%xmm8 - psllq $5,%xmm0 - pxor %xmm0,%xmm8 -.byte 102,15,58,68,218,0 - psllq $1,%xmm0 - pxor %xmm8,%xmm0 - psllq $57,%xmm0 - movdqa %xmm0,%xmm8 - pslldq $8,%xmm0 - psrldq $8,%xmm8 - pxor %xmm9,%xmm0 - pshufd $78,%xmm5,%xmm4 - pxor %xmm8,%xmm1 - pxor %xmm5,%xmm4 - - movdqa %xmm0,%xmm9 - psrlq $1,%xmm0 -.byte 102,15,58,68,234,17 - pxor %xmm9,%xmm1 - pxor %xmm0,%xmm9 - psrlq $5,%xmm0 - pxor %xmm9,%xmm0 - leaq 32(%rdx),%rdx - psrlq $1,%xmm0 -.byte 102,15,58,68,231,0 - pxor %xmm1,%xmm0 - - subq $0x20,%rcx - ja .Lmod_loop - -.Leven_tail: - movdqa %xmm0,%xmm1 - movdqa %xmm4,%xmm8 - pshufd $78,%xmm0,%xmm4 - pxor %xmm0,%xmm4 - -.byte 102,15,58,68,198,0 -.byte 102,15,58,68,206,17 -.byte 102,15,58,68,231,16 - - pxor %xmm3,%xmm0 - pxor %xmm5,%xmm1 - pxor %xmm0,%xmm8 - pxor %xmm1,%xmm8 - pxor %xmm8,%xmm4 - movdqa %xmm4,%xmm8 - psrldq $8,%xmm8 - pslldq $8,%xmm4 - pxor %xmm8,%xmm1 - pxor %xmm4,%xmm0 - - movdqa %xmm0,%xmm4 - movdqa %xmm0,%xmm3 - psllq $5,%xmm0 - pxor %xmm0,%xmm3 - psllq $1,%xmm0 - pxor %xmm3,%xmm0 - psllq $57,%xmm0 - movdqa %xmm0,%xmm3 - pslldq $8,%xmm0 - psrldq $8,%xmm3 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm1 - - - movdqa %xmm0,%xmm4 - psrlq $1,%xmm0 - pxor %xmm4,%xmm1 - pxor %xmm0,%xmm4 - psrlq $5,%xmm0 - pxor %xmm4,%xmm0 - psrlq $1,%xmm0 - pxor %xmm1,%xmm0 - testq %rcx,%rcx - jnz .Ldone - -.Lodd_tail: - movdqu (%rdx),%xmm8 -.byte 102,69,15,56,0,194 - pxor %xmm8,%xmm0 - movdqa %xmm0,%xmm1 - pshufd $78,%xmm0,%xmm3 - pxor %xmm0,%xmm3 -.byte 102,15,58,68,194,0 -.byte 102,15,58,68,202,17 -.byte 102,15,58,68,223,0 - pxor %xmm0,%xmm3 - pxor %xmm1,%xmm3 - - movdqa %xmm3,%xmm4 - psrldq $8,%xmm3 - pslldq $8,%xmm4 - pxor %xmm3,%xmm1 - pxor %xmm4,%xmm0 - - movdqa %xmm0,%xmm4 - movdqa %xmm0,%xmm3 - psllq $5,%xmm0 - pxor %xmm0,%xmm3 - psllq $1,%xmm0 - pxor %xmm3,%xmm0 - psllq $57,%xmm0 - movdqa %xmm0,%xmm3 - pslldq $8,%xmm0 - psrldq $8,%xmm3 - pxor %xmm4,%xmm0 - pxor %xmm3,%xmm1 - - - movdqa %xmm0,%xmm4 - psrlq $1,%xmm0 - pxor %xmm4,%xmm1 - pxor %xmm0,%xmm4 - psrlq $5,%xmm0 - pxor %xmm4,%xmm0 - psrlq $1,%xmm0 - pxor %xmm1,%xmm0 -.Ldone: -.byte 102,65,15,56,0,194 - movdqu %xmm0,(%rdi) - .byte 0xf3,0xc3 -.cfi_endproc -.size gcm_ghash_clmul,.-gcm_ghash_clmul -.globl gcm_init_avx -.type gcm_init_avx,@function -.align 32 -gcm_init_avx: -.cfi_startproc - jmp .L_init_clmul -.cfi_endproc -.size gcm_init_avx,.-gcm_init_avx -.globl gcm_gmult_avx -.type gcm_gmult_avx,@function -.align 32 -gcm_gmult_avx: -.cfi_startproc - jmp .L_gmult_clmul -.cfi_endproc -.size gcm_gmult_avx,.-gcm_gmult_avx -.globl gcm_ghash_avx -.type gcm_ghash_avx,@function -.align 32 -gcm_ghash_avx: -.cfi_startproc - jmp .L_ghash_clmul -.cfi_endproc -.size gcm_ghash_avx,.-gcm_ghash_avx -.align 64 -.Lbswap_mask: -.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 -.L0x1c2_polynomial: -.byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2 -.L7_mask: -.long 7,0,7,0 -.L7_mask_poly: -.long 7,0,450,0 -.align 64 -.type .Lrem_4bit,@object -.Lrem_4bit: -.long 0,0,0,471859200,0,943718400,0,610271232 -.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 -.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 -.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 -.type .Lrem_8bit,@object -.Lrem_8bit: -.value 0x0000,0x01C2,0x0384,0x0246,0x0708,0x06CA,0x048C,0x054E -.value 0x0E10,0x0FD2,0x0D94,0x0C56,0x0918,0x08DA,0x0A9C,0x0B5E -.value 0x1C20,0x1DE2,0x1FA4,0x1E66,0x1B28,0x1AEA,0x18AC,0x196E -.value 0x1230,0x13F2,0x11B4,0x1076,0x1538,0x14FA,0x16BC,0x177E -.value 0x3840,0x3982,0x3BC4,0x3A06,0x3F48,0x3E8A,0x3CCC,0x3D0E -.value 0x3650,0x3792,0x35D4,0x3416,0x3158,0x309A,0x32DC,0x331E -.value 0x2460,0x25A2,0x27E4,0x2626,0x2368,0x22AA,0x20EC,0x212E -.value 0x2A70,0x2BB2,0x29F4,0x2836,0x2D78,0x2CBA,0x2EFC,0x2F3E -.value 0x7080,0x7142,0x7304,0x72C6,0x7788,0x764A,0x740C,0x75CE -.value 0x7E90,0x7F52,0x7D14,0x7CD6,0x7998,0x785A,0x7A1C,0x7BDE -.value 0x6CA0,0x6D62,0x6F24,0x6EE6,0x6BA8,0x6A6A,0x682C,0x69EE -.value 0x62B0,0x6372,0x6134,0x60F6,0x65B8,0x647A,0x663C,0x67FE -.value 0x48C0,0x4902,0x4B44,0x4A86,0x4FC8,0x4E0A,0x4C4C,0x4D8E -.value 0x46D0,0x4712,0x4554,0x4496,0x41D8,0x401A,0x425C,0x439E -.value 0x54E0,0x5522,0x5764,0x56A6,0x53E8,0x522A,0x506C,0x51AE -.value 0x5AF0,0x5B32,0x5974,0x58B6,0x5DF8,0x5C3A,0x5E7C,0x5FBE -.value 0xE100,0xE0C2,0xE284,0xE346,0xE608,0xE7CA,0xE58C,0xE44E -.value 0xEF10,0xEED2,0xEC94,0xED56,0xE818,0xE9DA,0xEB9C,0xEA5E -.value 0xFD20,0xFCE2,0xFEA4,0xFF66,0xFA28,0xFBEA,0xF9AC,0xF86E -.value 0xF330,0xF2F2,0xF0B4,0xF176,0xF438,0xF5FA,0xF7BC,0xF67E -.value 0xD940,0xD882,0xDAC4,0xDB06,0xDE48,0xDF8A,0xDDCC,0xDC0E -.value 0xD750,0xD692,0xD4D4,0xD516,0xD058,0xD19A,0xD3DC,0xD21E -.value 0xC560,0xC4A2,0xC6E4,0xC726,0xC268,0xC3AA,0xC1EC,0xC02E -.value 0xCB70,0xCAB2,0xC8F4,0xC936,0xCC78,0xCDBA,0xCFFC,0xCE3E -.value 0x9180,0x9042,0x9204,0x93C6,0x9688,0x974A,0x950C,0x94CE -.value 0x9F90,0x9E52,0x9C14,0x9DD6,0x9898,0x995A,0x9B1C,0x9ADE -.value 0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE -.value 0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE -.value 0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E -.value 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E -.value 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE -.value 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE - -.byte 71,72,65,83,72,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha1-mb-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha1-mb-x86_64.S deleted file mode 100644 index 4572bc722780..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha1-mb-x86_64.S +++ /dev/null @@ -1,2962 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/sha/asm/sha1-mb-x86_64.pl -# -# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - - - -.globl sha1_multi_block -.type sha1_multi_block,@function -.align 32 -sha1_multi_block: -.cfi_startproc - movq OPENSSL_ia32cap_P+4(%rip),%rcx - btq $61,%rcx - jc _shaext_shortcut - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbx,-24 - subq $288,%rsp - andq $-256,%rsp - movq %rax,272(%rsp) -.cfi_escape 0x0f,0x06,0x77,0x90,0x02,0x06,0x23,0x08 -.Lbody: - leaq K_XX_XX(%rip),%rbp - leaq 256(%rsp),%rbx - -.Loop_grande: - movl %edx,280(%rsp) - xorl %edx,%edx - movq 0(%rsi),%r8 - movl 8(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,0(%rbx) - cmovleq %rbp,%r8 - movq 16(%rsi),%r9 - movl 24(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,4(%rbx) - cmovleq %rbp,%r9 - movq 32(%rsi),%r10 - movl 40(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,8(%rbx) - cmovleq %rbp,%r10 - movq 48(%rsi),%r11 - movl 56(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,12(%rbx) - cmovleq %rbp,%r11 - testl %edx,%edx - jz .Ldone - - movdqu 0(%rdi),%xmm10 - leaq 128(%rsp),%rax - movdqu 32(%rdi),%xmm11 - movdqu 64(%rdi),%xmm12 - movdqu 96(%rdi),%xmm13 - movdqu 128(%rdi),%xmm14 - movdqa 96(%rbp),%xmm5 - movdqa -32(%rbp),%xmm15 - jmp .Loop - -.align 32 -.Loop: - movd (%r8),%xmm0 - leaq 64(%r8),%r8 - movd (%r9),%xmm2 - leaq 64(%r9),%r9 - movd (%r10),%xmm3 - leaq 64(%r10),%r10 - movd (%r11),%xmm4 - leaq 64(%r11),%r11 - punpckldq %xmm3,%xmm0 - movd -60(%r8),%xmm1 - punpckldq %xmm4,%xmm2 - movd -60(%r9),%xmm9 - punpckldq %xmm2,%xmm0 - movd -60(%r10),%xmm8 -.byte 102,15,56,0,197 - movd -60(%r11),%xmm7 - punpckldq %xmm8,%xmm1 - movdqa %xmm10,%xmm8 - paddd %xmm15,%xmm14 - punpckldq %xmm7,%xmm9 - movdqa %xmm11,%xmm7 - movdqa %xmm11,%xmm6 - pslld $5,%xmm8 - pandn %xmm13,%xmm7 - pand %xmm12,%xmm6 - punpckldq %xmm9,%xmm1 - movdqa %xmm10,%xmm9 - - movdqa %xmm0,0-128(%rax) - paddd %xmm0,%xmm14 - movd -56(%r8),%xmm2 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm11,%xmm7 - - por %xmm9,%xmm8 - movd -56(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm14 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 -.byte 102,15,56,0,205 - movd -56(%r10),%xmm8 - por %xmm7,%xmm11 - movd -56(%r11),%xmm7 - punpckldq %xmm8,%xmm2 - movdqa %xmm14,%xmm8 - paddd %xmm15,%xmm13 - punpckldq %xmm7,%xmm9 - movdqa %xmm10,%xmm7 - movdqa %xmm10,%xmm6 - pslld $5,%xmm8 - pandn %xmm12,%xmm7 - pand %xmm11,%xmm6 - punpckldq %xmm9,%xmm2 - movdqa %xmm14,%xmm9 - - movdqa %xmm1,16-128(%rax) - paddd %xmm1,%xmm13 - movd -52(%r8),%xmm3 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm10,%xmm7 - - por %xmm9,%xmm8 - movd -52(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm13 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 -.byte 102,15,56,0,213 - movd -52(%r10),%xmm8 - por %xmm7,%xmm10 - movd -52(%r11),%xmm7 - punpckldq %xmm8,%xmm3 - movdqa %xmm13,%xmm8 - paddd %xmm15,%xmm12 - punpckldq %xmm7,%xmm9 - movdqa %xmm14,%xmm7 - movdqa %xmm14,%xmm6 - pslld $5,%xmm8 - pandn %xmm11,%xmm7 - pand %xmm10,%xmm6 - punpckldq %xmm9,%xmm3 - movdqa %xmm13,%xmm9 - - movdqa %xmm2,32-128(%rax) - paddd %xmm2,%xmm12 - movd -48(%r8),%xmm4 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm14,%xmm7 - - por %xmm9,%xmm8 - movd -48(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm12 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 -.byte 102,15,56,0,221 - movd -48(%r10),%xmm8 - por %xmm7,%xmm14 - movd -48(%r11),%xmm7 - punpckldq %xmm8,%xmm4 - movdqa %xmm12,%xmm8 - paddd %xmm15,%xmm11 - punpckldq %xmm7,%xmm9 - movdqa %xmm13,%xmm7 - movdqa %xmm13,%xmm6 - pslld $5,%xmm8 - pandn %xmm10,%xmm7 - pand %xmm14,%xmm6 - punpckldq %xmm9,%xmm4 - movdqa %xmm12,%xmm9 - - movdqa %xmm3,48-128(%rax) - paddd %xmm3,%xmm11 - movd -44(%r8),%xmm0 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm13,%xmm7 - - por %xmm9,%xmm8 - movd -44(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm11 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 -.byte 102,15,56,0,229 - movd -44(%r10),%xmm8 - por %xmm7,%xmm13 - movd -44(%r11),%xmm7 - punpckldq %xmm8,%xmm0 - movdqa %xmm11,%xmm8 - paddd %xmm15,%xmm10 - punpckldq %xmm7,%xmm9 - movdqa %xmm12,%xmm7 - movdqa %xmm12,%xmm6 - pslld $5,%xmm8 - pandn %xmm14,%xmm7 - pand %xmm13,%xmm6 - punpckldq %xmm9,%xmm0 - movdqa %xmm11,%xmm9 - - movdqa %xmm4,64-128(%rax) - paddd %xmm4,%xmm10 - movd -40(%r8),%xmm1 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm12,%xmm7 - - por %xmm9,%xmm8 - movd -40(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm10 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 -.byte 102,15,56,0,197 - movd -40(%r10),%xmm8 - por %xmm7,%xmm12 - movd -40(%r11),%xmm7 - punpckldq %xmm8,%xmm1 - movdqa %xmm10,%xmm8 - paddd %xmm15,%xmm14 - punpckldq %xmm7,%xmm9 - movdqa %xmm11,%xmm7 - movdqa %xmm11,%xmm6 - pslld $5,%xmm8 - pandn %xmm13,%xmm7 - pand %xmm12,%xmm6 - punpckldq %xmm9,%xmm1 - movdqa %xmm10,%xmm9 - - movdqa %xmm0,80-128(%rax) - paddd %xmm0,%xmm14 - movd -36(%r8),%xmm2 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm11,%xmm7 - - por %xmm9,%xmm8 - movd -36(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm14 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 -.byte 102,15,56,0,205 - movd -36(%r10),%xmm8 - por %xmm7,%xmm11 - movd -36(%r11),%xmm7 - punpckldq %xmm8,%xmm2 - movdqa %xmm14,%xmm8 - paddd %xmm15,%xmm13 - punpckldq %xmm7,%xmm9 - movdqa %xmm10,%xmm7 - movdqa %xmm10,%xmm6 - pslld $5,%xmm8 - pandn %xmm12,%xmm7 - pand %xmm11,%xmm6 - punpckldq %xmm9,%xmm2 - movdqa %xmm14,%xmm9 - - movdqa %xmm1,96-128(%rax) - paddd %xmm1,%xmm13 - movd -32(%r8),%xmm3 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm10,%xmm7 - - por %xmm9,%xmm8 - movd -32(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm13 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 -.byte 102,15,56,0,213 - movd -32(%r10),%xmm8 - por %xmm7,%xmm10 - movd -32(%r11),%xmm7 - punpckldq %xmm8,%xmm3 - movdqa %xmm13,%xmm8 - paddd %xmm15,%xmm12 - punpckldq %xmm7,%xmm9 - movdqa %xmm14,%xmm7 - movdqa %xmm14,%xmm6 - pslld $5,%xmm8 - pandn %xmm11,%xmm7 - pand %xmm10,%xmm6 - punpckldq %xmm9,%xmm3 - movdqa %xmm13,%xmm9 - - movdqa %xmm2,112-128(%rax) - paddd %xmm2,%xmm12 - movd -28(%r8),%xmm4 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm14,%xmm7 - - por %xmm9,%xmm8 - movd -28(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm12 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 -.byte 102,15,56,0,221 - movd -28(%r10),%xmm8 - por %xmm7,%xmm14 - movd -28(%r11),%xmm7 - punpckldq %xmm8,%xmm4 - movdqa %xmm12,%xmm8 - paddd %xmm15,%xmm11 - punpckldq %xmm7,%xmm9 - movdqa %xmm13,%xmm7 - movdqa %xmm13,%xmm6 - pslld $5,%xmm8 - pandn %xmm10,%xmm7 - pand %xmm14,%xmm6 - punpckldq %xmm9,%xmm4 - movdqa %xmm12,%xmm9 - - movdqa %xmm3,128-128(%rax) - paddd %xmm3,%xmm11 - movd -24(%r8),%xmm0 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm13,%xmm7 - - por %xmm9,%xmm8 - movd -24(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm11 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 -.byte 102,15,56,0,229 - movd -24(%r10),%xmm8 - por %xmm7,%xmm13 - movd -24(%r11),%xmm7 - punpckldq %xmm8,%xmm0 - movdqa %xmm11,%xmm8 - paddd %xmm15,%xmm10 - punpckldq %xmm7,%xmm9 - movdqa %xmm12,%xmm7 - movdqa %xmm12,%xmm6 - pslld $5,%xmm8 - pandn %xmm14,%xmm7 - pand %xmm13,%xmm6 - punpckldq %xmm9,%xmm0 - movdqa %xmm11,%xmm9 - - movdqa %xmm4,144-128(%rax) - paddd %xmm4,%xmm10 - movd -20(%r8),%xmm1 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm12,%xmm7 - - por %xmm9,%xmm8 - movd -20(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm10 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 -.byte 102,15,56,0,197 - movd -20(%r10),%xmm8 - por %xmm7,%xmm12 - movd -20(%r11),%xmm7 - punpckldq %xmm8,%xmm1 - movdqa %xmm10,%xmm8 - paddd %xmm15,%xmm14 - punpckldq %xmm7,%xmm9 - movdqa %xmm11,%xmm7 - movdqa %xmm11,%xmm6 - pslld $5,%xmm8 - pandn %xmm13,%xmm7 - pand %xmm12,%xmm6 - punpckldq %xmm9,%xmm1 - movdqa %xmm10,%xmm9 - - movdqa %xmm0,160-128(%rax) - paddd %xmm0,%xmm14 - movd -16(%r8),%xmm2 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm11,%xmm7 - - por %xmm9,%xmm8 - movd -16(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm14 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 -.byte 102,15,56,0,205 - movd -16(%r10),%xmm8 - por %xmm7,%xmm11 - movd -16(%r11),%xmm7 - punpckldq %xmm8,%xmm2 - movdqa %xmm14,%xmm8 - paddd %xmm15,%xmm13 - punpckldq %xmm7,%xmm9 - movdqa %xmm10,%xmm7 - movdqa %xmm10,%xmm6 - pslld $5,%xmm8 - pandn %xmm12,%xmm7 - pand %xmm11,%xmm6 - punpckldq %xmm9,%xmm2 - movdqa %xmm14,%xmm9 - - movdqa %xmm1,176-128(%rax) - paddd %xmm1,%xmm13 - movd -12(%r8),%xmm3 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm10,%xmm7 - - por %xmm9,%xmm8 - movd -12(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm13 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 -.byte 102,15,56,0,213 - movd -12(%r10),%xmm8 - por %xmm7,%xmm10 - movd -12(%r11),%xmm7 - punpckldq %xmm8,%xmm3 - movdqa %xmm13,%xmm8 - paddd %xmm15,%xmm12 - punpckldq %xmm7,%xmm9 - movdqa %xmm14,%xmm7 - movdqa %xmm14,%xmm6 - pslld $5,%xmm8 - pandn %xmm11,%xmm7 - pand %xmm10,%xmm6 - punpckldq %xmm9,%xmm3 - movdqa %xmm13,%xmm9 - - movdqa %xmm2,192-128(%rax) - paddd %xmm2,%xmm12 - movd -8(%r8),%xmm4 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm14,%xmm7 - - por %xmm9,%xmm8 - movd -8(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm12 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 -.byte 102,15,56,0,221 - movd -8(%r10),%xmm8 - por %xmm7,%xmm14 - movd -8(%r11),%xmm7 - punpckldq %xmm8,%xmm4 - movdqa %xmm12,%xmm8 - paddd %xmm15,%xmm11 - punpckldq %xmm7,%xmm9 - movdqa %xmm13,%xmm7 - movdqa %xmm13,%xmm6 - pslld $5,%xmm8 - pandn %xmm10,%xmm7 - pand %xmm14,%xmm6 - punpckldq %xmm9,%xmm4 - movdqa %xmm12,%xmm9 - - movdqa %xmm3,208-128(%rax) - paddd %xmm3,%xmm11 - movd -4(%r8),%xmm0 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm13,%xmm7 - - por %xmm9,%xmm8 - movd -4(%r9),%xmm9 - pslld $30,%xmm7 - paddd %xmm6,%xmm11 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 -.byte 102,15,56,0,229 - movd -4(%r10),%xmm8 - por %xmm7,%xmm13 - movdqa 0-128(%rax),%xmm1 - movd -4(%r11),%xmm7 - punpckldq %xmm8,%xmm0 - movdqa %xmm11,%xmm8 - paddd %xmm15,%xmm10 - punpckldq %xmm7,%xmm9 - movdqa %xmm12,%xmm7 - movdqa %xmm12,%xmm6 - pslld $5,%xmm8 - prefetcht0 63(%r8) - pandn %xmm14,%xmm7 - pand %xmm13,%xmm6 - punpckldq %xmm9,%xmm0 - movdqa %xmm11,%xmm9 - - movdqa %xmm4,224-128(%rax) - paddd %xmm4,%xmm10 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - movdqa %xmm12,%xmm7 - prefetcht0 63(%r9) - - por %xmm9,%xmm8 - pslld $30,%xmm7 - paddd %xmm6,%xmm10 - prefetcht0 63(%r10) - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 -.byte 102,15,56,0,197 - prefetcht0 63(%r11) - por %xmm7,%xmm12 - movdqa 16-128(%rax),%xmm2 - pxor %xmm3,%xmm1 - movdqa 32-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - pxor 128-128(%rax),%xmm1 - paddd %xmm15,%xmm14 - movdqa %xmm11,%xmm7 - pslld $5,%xmm8 - pxor %xmm3,%xmm1 - movdqa %xmm11,%xmm6 - pandn %xmm13,%xmm7 - movdqa %xmm1,%xmm5 - pand %xmm12,%xmm6 - movdqa %xmm10,%xmm9 - psrld $31,%xmm5 - paddd %xmm1,%xmm1 - - movdqa %xmm0,240-128(%rax) - paddd %xmm0,%xmm14 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - - movdqa %xmm11,%xmm7 - por %xmm9,%xmm8 - pslld $30,%xmm7 - paddd %xmm6,%xmm14 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 48-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - pxor 144-128(%rax),%xmm2 - paddd %xmm15,%xmm13 - movdqa %xmm10,%xmm7 - pslld $5,%xmm8 - pxor %xmm4,%xmm2 - movdqa %xmm10,%xmm6 - pandn %xmm12,%xmm7 - movdqa %xmm2,%xmm5 - pand %xmm11,%xmm6 - movdqa %xmm14,%xmm9 - psrld $31,%xmm5 - paddd %xmm2,%xmm2 - - movdqa %xmm1,0-128(%rax) - paddd %xmm1,%xmm13 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - - movdqa %xmm10,%xmm7 - por %xmm9,%xmm8 - pslld $30,%xmm7 - paddd %xmm6,%xmm13 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 64-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - pxor 160-128(%rax),%xmm3 - paddd %xmm15,%xmm12 - movdqa %xmm14,%xmm7 - pslld $5,%xmm8 - pxor %xmm0,%xmm3 - movdqa %xmm14,%xmm6 - pandn %xmm11,%xmm7 - movdqa %xmm3,%xmm5 - pand %xmm10,%xmm6 - movdqa %xmm13,%xmm9 - psrld $31,%xmm5 - paddd %xmm3,%xmm3 - - movdqa %xmm2,16-128(%rax) - paddd %xmm2,%xmm12 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - - movdqa %xmm14,%xmm7 - por %xmm9,%xmm8 - pslld $30,%xmm7 - paddd %xmm6,%xmm12 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 80-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - pxor 176-128(%rax),%xmm4 - paddd %xmm15,%xmm11 - movdqa %xmm13,%xmm7 - pslld $5,%xmm8 - pxor %xmm1,%xmm4 - movdqa %xmm13,%xmm6 - pandn %xmm10,%xmm7 - movdqa %xmm4,%xmm5 - pand %xmm14,%xmm6 - movdqa %xmm12,%xmm9 - psrld $31,%xmm5 - paddd %xmm4,%xmm4 - - movdqa %xmm3,32-128(%rax) - paddd %xmm3,%xmm11 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - - movdqa %xmm13,%xmm7 - por %xmm9,%xmm8 - pslld $30,%xmm7 - paddd %xmm6,%xmm11 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 96-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - pxor 192-128(%rax),%xmm0 - paddd %xmm15,%xmm10 - movdqa %xmm12,%xmm7 - pslld $5,%xmm8 - pxor %xmm2,%xmm0 - movdqa %xmm12,%xmm6 - pandn %xmm14,%xmm7 - movdqa %xmm0,%xmm5 - pand %xmm13,%xmm6 - movdqa %xmm11,%xmm9 - psrld $31,%xmm5 - paddd %xmm0,%xmm0 - - movdqa %xmm4,48-128(%rax) - paddd %xmm4,%xmm10 - psrld $27,%xmm9 - pxor %xmm7,%xmm6 - - movdqa %xmm12,%xmm7 - por %xmm9,%xmm8 - pslld $30,%xmm7 - paddd %xmm6,%xmm10 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - movdqa 0(%rbp),%xmm15 - pxor %xmm3,%xmm1 - movdqa 112-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm6 - pxor 208-128(%rax),%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - pxor %xmm11,%xmm6 - - movdqa %xmm10,%xmm9 - movdqa %xmm0,64-128(%rax) - paddd %xmm0,%xmm14 - pxor %xmm3,%xmm1 - psrld $27,%xmm9 - pxor %xmm12,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm1,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm14 - paddd %xmm1,%xmm1 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 128-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm6 - pxor 224-128(%rax),%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - pxor %xmm10,%xmm6 - - movdqa %xmm14,%xmm9 - movdqa %xmm1,80-128(%rax) - paddd %xmm1,%xmm13 - pxor %xmm4,%xmm2 - psrld $27,%xmm9 - pxor %xmm11,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm2,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm13 - paddd %xmm2,%xmm2 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 144-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm6 - pxor 240-128(%rax),%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - pxor %xmm14,%xmm6 - - movdqa %xmm13,%xmm9 - movdqa %xmm2,96-128(%rax) - paddd %xmm2,%xmm12 - pxor %xmm0,%xmm3 - psrld $27,%xmm9 - pxor %xmm10,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm3,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm12 - paddd %xmm3,%xmm3 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 160-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm6 - pxor 0-128(%rax),%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - pxor %xmm13,%xmm6 - - movdqa %xmm12,%xmm9 - movdqa %xmm3,112-128(%rax) - paddd %xmm3,%xmm11 - pxor %xmm1,%xmm4 - psrld $27,%xmm9 - pxor %xmm14,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm4,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm11 - paddd %xmm4,%xmm4 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 176-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - movdqa %xmm14,%xmm6 - pxor 16-128(%rax),%xmm0 - paddd %xmm15,%xmm10 - pslld $5,%xmm8 - pxor %xmm12,%xmm6 - - movdqa %xmm11,%xmm9 - movdqa %xmm4,128-128(%rax) - paddd %xmm4,%xmm10 - pxor %xmm2,%xmm0 - psrld $27,%xmm9 - pxor %xmm13,%xmm6 - movdqa %xmm12,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm0,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm10 - paddd %xmm0,%xmm0 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - pxor %xmm3,%xmm1 - movdqa 192-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm6 - pxor 32-128(%rax),%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - pxor %xmm11,%xmm6 - - movdqa %xmm10,%xmm9 - movdqa %xmm0,144-128(%rax) - paddd %xmm0,%xmm14 - pxor %xmm3,%xmm1 - psrld $27,%xmm9 - pxor %xmm12,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm1,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm14 - paddd %xmm1,%xmm1 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 208-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm6 - pxor 48-128(%rax),%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - pxor %xmm10,%xmm6 - - movdqa %xmm14,%xmm9 - movdqa %xmm1,160-128(%rax) - paddd %xmm1,%xmm13 - pxor %xmm4,%xmm2 - psrld $27,%xmm9 - pxor %xmm11,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm2,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm13 - paddd %xmm2,%xmm2 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 224-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm6 - pxor 64-128(%rax),%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - pxor %xmm14,%xmm6 - - movdqa %xmm13,%xmm9 - movdqa %xmm2,176-128(%rax) - paddd %xmm2,%xmm12 - pxor %xmm0,%xmm3 - psrld $27,%xmm9 - pxor %xmm10,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm3,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm12 - paddd %xmm3,%xmm3 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 240-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm6 - pxor 80-128(%rax),%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - pxor %xmm13,%xmm6 - - movdqa %xmm12,%xmm9 - movdqa %xmm3,192-128(%rax) - paddd %xmm3,%xmm11 - pxor %xmm1,%xmm4 - psrld $27,%xmm9 - pxor %xmm14,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm4,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm11 - paddd %xmm4,%xmm4 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 0-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - movdqa %xmm14,%xmm6 - pxor 96-128(%rax),%xmm0 - paddd %xmm15,%xmm10 - pslld $5,%xmm8 - pxor %xmm12,%xmm6 - - movdqa %xmm11,%xmm9 - movdqa %xmm4,208-128(%rax) - paddd %xmm4,%xmm10 - pxor %xmm2,%xmm0 - psrld $27,%xmm9 - pxor %xmm13,%xmm6 - movdqa %xmm12,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm0,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm10 - paddd %xmm0,%xmm0 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - pxor %xmm3,%xmm1 - movdqa 16-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm6 - pxor 112-128(%rax),%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - pxor %xmm11,%xmm6 - - movdqa %xmm10,%xmm9 - movdqa %xmm0,224-128(%rax) - paddd %xmm0,%xmm14 - pxor %xmm3,%xmm1 - psrld $27,%xmm9 - pxor %xmm12,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm1,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm14 - paddd %xmm1,%xmm1 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 32-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm6 - pxor 128-128(%rax),%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - pxor %xmm10,%xmm6 - - movdqa %xmm14,%xmm9 - movdqa %xmm1,240-128(%rax) - paddd %xmm1,%xmm13 - pxor %xmm4,%xmm2 - psrld $27,%xmm9 - pxor %xmm11,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm2,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm13 - paddd %xmm2,%xmm2 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 48-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm6 - pxor 144-128(%rax),%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - pxor %xmm14,%xmm6 - - movdqa %xmm13,%xmm9 - movdqa %xmm2,0-128(%rax) - paddd %xmm2,%xmm12 - pxor %xmm0,%xmm3 - psrld $27,%xmm9 - pxor %xmm10,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm3,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm12 - paddd %xmm3,%xmm3 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 64-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm6 - pxor 160-128(%rax),%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - pxor %xmm13,%xmm6 - - movdqa %xmm12,%xmm9 - movdqa %xmm3,16-128(%rax) - paddd %xmm3,%xmm11 - pxor %xmm1,%xmm4 - psrld $27,%xmm9 - pxor %xmm14,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm4,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm11 - paddd %xmm4,%xmm4 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 80-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - movdqa %xmm14,%xmm6 - pxor 176-128(%rax),%xmm0 - paddd %xmm15,%xmm10 - pslld $5,%xmm8 - pxor %xmm12,%xmm6 - - movdqa %xmm11,%xmm9 - movdqa %xmm4,32-128(%rax) - paddd %xmm4,%xmm10 - pxor %xmm2,%xmm0 - psrld $27,%xmm9 - pxor %xmm13,%xmm6 - movdqa %xmm12,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm0,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm10 - paddd %xmm0,%xmm0 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - pxor %xmm3,%xmm1 - movdqa 96-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm6 - pxor 192-128(%rax),%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - pxor %xmm11,%xmm6 - - movdqa %xmm10,%xmm9 - movdqa %xmm0,48-128(%rax) - paddd %xmm0,%xmm14 - pxor %xmm3,%xmm1 - psrld $27,%xmm9 - pxor %xmm12,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm1,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm14 - paddd %xmm1,%xmm1 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 112-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm6 - pxor 208-128(%rax),%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - pxor %xmm10,%xmm6 - - movdqa %xmm14,%xmm9 - movdqa %xmm1,64-128(%rax) - paddd %xmm1,%xmm13 - pxor %xmm4,%xmm2 - psrld $27,%xmm9 - pxor %xmm11,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm2,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm13 - paddd %xmm2,%xmm2 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 128-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm6 - pxor 224-128(%rax),%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - pxor %xmm14,%xmm6 - - movdqa %xmm13,%xmm9 - movdqa %xmm2,80-128(%rax) - paddd %xmm2,%xmm12 - pxor %xmm0,%xmm3 - psrld $27,%xmm9 - pxor %xmm10,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm3,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm12 - paddd %xmm3,%xmm3 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 144-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm6 - pxor 240-128(%rax),%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - pxor %xmm13,%xmm6 - - movdqa %xmm12,%xmm9 - movdqa %xmm3,96-128(%rax) - paddd %xmm3,%xmm11 - pxor %xmm1,%xmm4 - psrld $27,%xmm9 - pxor %xmm14,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm4,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm11 - paddd %xmm4,%xmm4 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 160-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - movdqa %xmm14,%xmm6 - pxor 0-128(%rax),%xmm0 - paddd %xmm15,%xmm10 - pslld $5,%xmm8 - pxor %xmm12,%xmm6 - - movdqa %xmm11,%xmm9 - movdqa %xmm4,112-128(%rax) - paddd %xmm4,%xmm10 - pxor %xmm2,%xmm0 - psrld $27,%xmm9 - pxor %xmm13,%xmm6 - movdqa %xmm12,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm0,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm10 - paddd %xmm0,%xmm0 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - movdqa 32(%rbp),%xmm15 - pxor %xmm3,%xmm1 - movdqa 176-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm7 - pxor 16-128(%rax),%xmm1 - pxor %xmm3,%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - movdqa %xmm10,%xmm9 - pand %xmm12,%xmm7 - - movdqa %xmm13,%xmm6 - movdqa %xmm1,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm14 - pxor %xmm12,%xmm6 - - movdqa %xmm0,128-128(%rax) - paddd %xmm0,%xmm14 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm11,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - paddd %xmm1,%xmm1 - paddd %xmm6,%xmm14 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 192-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm7 - pxor 32-128(%rax),%xmm2 - pxor %xmm4,%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - movdqa %xmm14,%xmm9 - pand %xmm11,%xmm7 - - movdqa %xmm12,%xmm6 - movdqa %xmm2,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm13 - pxor %xmm11,%xmm6 - - movdqa %xmm1,144-128(%rax) - paddd %xmm1,%xmm13 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm10,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - paddd %xmm2,%xmm2 - paddd %xmm6,%xmm13 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 208-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm7 - pxor 48-128(%rax),%xmm3 - pxor %xmm0,%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - movdqa %xmm13,%xmm9 - pand %xmm10,%xmm7 - - movdqa %xmm11,%xmm6 - movdqa %xmm3,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm12 - pxor %xmm10,%xmm6 - - movdqa %xmm2,160-128(%rax) - paddd %xmm2,%xmm12 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm14,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - paddd %xmm3,%xmm3 - paddd %xmm6,%xmm12 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 224-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm7 - pxor 64-128(%rax),%xmm4 - pxor %xmm1,%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - movdqa %xmm12,%xmm9 - pand %xmm14,%xmm7 - - movdqa %xmm10,%xmm6 - movdqa %xmm4,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm11 - pxor %xmm14,%xmm6 - - movdqa %xmm3,176-128(%rax) - paddd %xmm3,%xmm11 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm13,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - paddd %xmm4,%xmm4 - paddd %xmm6,%xmm11 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 240-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - movdqa %xmm14,%xmm7 - pxor 80-128(%rax),%xmm0 - pxor %xmm2,%xmm0 - paddd %xmm15,%xmm10 - pslld $5,%xmm8 - movdqa %xmm11,%xmm9 - pand %xmm13,%xmm7 - - movdqa %xmm14,%xmm6 - movdqa %xmm0,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm10 - pxor %xmm13,%xmm6 - - movdqa %xmm4,192-128(%rax) - paddd %xmm4,%xmm10 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm12,%xmm6 - movdqa %xmm12,%xmm7 - - pslld $30,%xmm7 - paddd %xmm0,%xmm0 - paddd %xmm6,%xmm10 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - pxor %xmm3,%xmm1 - movdqa 0-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm7 - pxor 96-128(%rax),%xmm1 - pxor %xmm3,%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - movdqa %xmm10,%xmm9 - pand %xmm12,%xmm7 - - movdqa %xmm13,%xmm6 - movdqa %xmm1,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm14 - pxor %xmm12,%xmm6 - - movdqa %xmm0,208-128(%rax) - paddd %xmm0,%xmm14 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm11,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - paddd %xmm1,%xmm1 - paddd %xmm6,%xmm14 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 16-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm7 - pxor 112-128(%rax),%xmm2 - pxor %xmm4,%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - movdqa %xmm14,%xmm9 - pand %xmm11,%xmm7 - - movdqa %xmm12,%xmm6 - movdqa %xmm2,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm13 - pxor %xmm11,%xmm6 - - movdqa %xmm1,224-128(%rax) - paddd %xmm1,%xmm13 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm10,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - paddd %xmm2,%xmm2 - paddd %xmm6,%xmm13 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 32-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm7 - pxor 128-128(%rax),%xmm3 - pxor %xmm0,%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - movdqa %xmm13,%xmm9 - pand %xmm10,%xmm7 - - movdqa %xmm11,%xmm6 - movdqa %xmm3,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm12 - pxor %xmm10,%xmm6 - - movdqa %xmm2,240-128(%rax) - paddd %xmm2,%xmm12 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm14,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - paddd %xmm3,%xmm3 - paddd %xmm6,%xmm12 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 48-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm7 - pxor 144-128(%rax),%xmm4 - pxor %xmm1,%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - movdqa %xmm12,%xmm9 - pand %xmm14,%xmm7 - - movdqa %xmm10,%xmm6 - movdqa %xmm4,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm11 - pxor %xmm14,%xmm6 - - movdqa %xmm3,0-128(%rax) - paddd %xmm3,%xmm11 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm13,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - paddd %xmm4,%xmm4 - paddd %xmm6,%xmm11 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 64-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - movdqa %xmm14,%xmm7 - pxor 160-128(%rax),%xmm0 - pxor %xmm2,%xmm0 - paddd %xmm15,%xmm10 - pslld $5,%xmm8 - movdqa %xmm11,%xmm9 - pand %xmm13,%xmm7 - - movdqa %xmm14,%xmm6 - movdqa %xmm0,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm10 - pxor %xmm13,%xmm6 - - movdqa %xmm4,16-128(%rax) - paddd %xmm4,%xmm10 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm12,%xmm6 - movdqa %xmm12,%xmm7 - - pslld $30,%xmm7 - paddd %xmm0,%xmm0 - paddd %xmm6,%xmm10 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - pxor %xmm3,%xmm1 - movdqa 80-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm7 - pxor 176-128(%rax),%xmm1 - pxor %xmm3,%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - movdqa %xmm10,%xmm9 - pand %xmm12,%xmm7 - - movdqa %xmm13,%xmm6 - movdqa %xmm1,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm14 - pxor %xmm12,%xmm6 - - movdqa %xmm0,32-128(%rax) - paddd %xmm0,%xmm14 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm11,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - paddd %xmm1,%xmm1 - paddd %xmm6,%xmm14 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 96-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm7 - pxor 192-128(%rax),%xmm2 - pxor %xmm4,%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - movdqa %xmm14,%xmm9 - pand %xmm11,%xmm7 - - movdqa %xmm12,%xmm6 - movdqa %xmm2,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm13 - pxor %xmm11,%xmm6 - - movdqa %xmm1,48-128(%rax) - paddd %xmm1,%xmm13 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm10,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - paddd %xmm2,%xmm2 - paddd %xmm6,%xmm13 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 112-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm7 - pxor 208-128(%rax),%xmm3 - pxor %xmm0,%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - movdqa %xmm13,%xmm9 - pand %xmm10,%xmm7 - - movdqa %xmm11,%xmm6 - movdqa %xmm3,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm12 - pxor %xmm10,%xmm6 - - movdqa %xmm2,64-128(%rax) - paddd %xmm2,%xmm12 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm14,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - paddd %xmm3,%xmm3 - paddd %xmm6,%xmm12 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 128-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm7 - pxor 224-128(%rax),%xmm4 - pxor %xmm1,%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - movdqa %xmm12,%xmm9 - pand %xmm14,%xmm7 - - movdqa %xmm10,%xmm6 - movdqa %xmm4,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm11 - pxor %xmm14,%xmm6 - - movdqa %xmm3,80-128(%rax) - paddd %xmm3,%xmm11 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm13,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - paddd %xmm4,%xmm4 - paddd %xmm6,%xmm11 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 144-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - movdqa %xmm14,%xmm7 - pxor 240-128(%rax),%xmm0 - pxor %xmm2,%xmm0 - paddd %xmm15,%xmm10 - pslld $5,%xmm8 - movdqa %xmm11,%xmm9 - pand %xmm13,%xmm7 - - movdqa %xmm14,%xmm6 - movdqa %xmm0,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm10 - pxor %xmm13,%xmm6 - - movdqa %xmm4,96-128(%rax) - paddd %xmm4,%xmm10 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm12,%xmm6 - movdqa %xmm12,%xmm7 - - pslld $30,%xmm7 - paddd %xmm0,%xmm0 - paddd %xmm6,%xmm10 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - pxor %xmm3,%xmm1 - movdqa 160-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm7 - pxor 0-128(%rax),%xmm1 - pxor %xmm3,%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - movdqa %xmm10,%xmm9 - pand %xmm12,%xmm7 - - movdqa %xmm13,%xmm6 - movdqa %xmm1,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm14 - pxor %xmm12,%xmm6 - - movdqa %xmm0,112-128(%rax) - paddd %xmm0,%xmm14 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm11,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - paddd %xmm1,%xmm1 - paddd %xmm6,%xmm14 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 176-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm7 - pxor 16-128(%rax),%xmm2 - pxor %xmm4,%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - movdqa %xmm14,%xmm9 - pand %xmm11,%xmm7 - - movdqa %xmm12,%xmm6 - movdqa %xmm2,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm13 - pxor %xmm11,%xmm6 - - movdqa %xmm1,128-128(%rax) - paddd %xmm1,%xmm13 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm10,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - paddd %xmm2,%xmm2 - paddd %xmm6,%xmm13 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 192-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm7 - pxor 32-128(%rax),%xmm3 - pxor %xmm0,%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - movdqa %xmm13,%xmm9 - pand %xmm10,%xmm7 - - movdqa %xmm11,%xmm6 - movdqa %xmm3,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm12 - pxor %xmm10,%xmm6 - - movdqa %xmm2,144-128(%rax) - paddd %xmm2,%xmm12 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm14,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - paddd %xmm3,%xmm3 - paddd %xmm6,%xmm12 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 208-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm7 - pxor 48-128(%rax),%xmm4 - pxor %xmm1,%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - movdqa %xmm12,%xmm9 - pand %xmm14,%xmm7 - - movdqa %xmm10,%xmm6 - movdqa %xmm4,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm11 - pxor %xmm14,%xmm6 - - movdqa %xmm3,160-128(%rax) - paddd %xmm3,%xmm11 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm13,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - paddd %xmm4,%xmm4 - paddd %xmm6,%xmm11 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 224-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - movdqa %xmm14,%xmm7 - pxor 64-128(%rax),%xmm0 - pxor %xmm2,%xmm0 - paddd %xmm15,%xmm10 - pslld $5,%xmm8 - movdqa %xmm11,%xmm9 - pand %xmm13,%xmm7 - - movdqa %xmm14,%xmm6 - movdqa %xmm0,%xmm5 - psrld $27,%xmm9 - paddd %xmm7,%xmm10 - pxor %xmm13,%xmm6 - - movdqa %xmm4,176-128(%rax) - paddd %xmm4,%xmm10 - por %xmm9,%xmm8 - psrld $31,%xmm5 - pand %xmm12,%xmm6 - movdqa %xmm12,%xmm7 - - pslld $30,%xmm7 - paddd %xmm0,%xmm0 - paddd %xmm6,%xmm10 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - movdqa 64(%rbp),%xmm15 - pxor %xmm3,%xmm1 - movdqa 240-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm6 - pxor 80-128(%rax),%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - pxor %xmm11,%xmm6 - - movdqa %xmm10,%xmm9 - movdqa %xmm0,192-128(%rax) - paddd %xmm0,%xmm14 - pxor %xmm3,%xmm1 - psrld $27,%xmm9 - pxor %xmm12,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm1,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm14 - paddd %xmm1,%xmm1 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 0-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm6 - pxor 96-128(%rax),%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - pxor %xmm10,%xmm6 - - movdqa %xmm14,%xmm9 - movdqa %xmm1,208-128(%rax) - paddd %xmm1,%xmm13 - pxor %xmm4,%xmm2 - psrld $27,%xmm9 - pxor %xmm11,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm2,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm13 - paddd %xmm2,%xmm2 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 16-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm6 - pxor 112-128(%rax),%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - pxor %xmm14,%xmm6 - - movdqa %xmm13,%xmm9 - movdqa %xmm2,224-128(%rax) - paddd %xmm2,%xmm12 - pxor %xmm0,%xmm3 - psrld $27,%xmm9 - pxor %xmm10,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm3,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm12 - paddd %xmm3,%xmm3 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 32-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm6 - pxor 128-128(%rax),%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - pxor %xmm13,%xmm6 - - movdqa %xmm12,%xmm9 - movdqa %xmm3,240-128(%rax) - paddd %xmm3,%xmm11 - pxor %xmm1,%xmm4 - psrld $27,%xmm9 - pxor %xmm14,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm4,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm11 - paddd %xmm4,%xmm4 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 48-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - movdqa %xmm14,%xmm6 - pxor 144-128(%rax),%xmm0 - paddd %xmm15,%xmm10 - pslld $5,%xmm8 - pxor %xmm12,%xmm6 - - movdqa %xmm11,%xmm9 - movdqa %xmm4,0-128(%rax) - paddd %xmm4,%xmm10 - pxor %xmm2,%xmm0 - psrld $27,%xmm9 - pxor %xmm13,%xmm6 - movdqa %xmm12,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm0,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm10 - paddd %xmm0,%xmm0 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - pxor %xmm3,%xmm1 - movdqa 64-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm6 - pxor 160-128(%rax),%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - pxor %xmm11,%xmm6 - - movdqa %xmm10,%xmm9 - movdqa %xmm0,16-128(%rax) - paddd %xmm0,%xmm14 - pxor %xmm3,%xmm1 - psrld $27,%xmm9 - pxor %xmm12,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm1,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm14 - paddd %xmm1,%xmm1 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 80-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm6 - pxor 176-128(%rax),%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - pxor %xmm10,%xmm6 - - movdqa %xmm14,%xmm9 - movdqa %xmm1,32-128(%rax) - paddd %xmm1,%xmm13 - pxor %xmm4,%xmm2 - psrld $27,%xmm9 - pxor %xmm11,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm2,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm13 - paddd %xmm2,%xmm2 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 96-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm6 - pxor 192-128(%rax),%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - pxor %xmm14,%xmm6 - - movdqa %xmm13,%xmm9 - movdqa %xmm2,48-128(%rax) - paddd %xmm2,%xmm12 - pxor %xmm0,%xmm3 - psrld $27,%xmm9 - pxor %xmm10,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm3,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm12 - paddd %xmm3,%xmm3 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 112-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm6 - pxor 208-128(%rax),%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - pxor %xmm13,%xmm6 - - movdqa %xmm12,%xmm9 - movdqa %xmm3,64-128(%rax) - paddd %xmm3,%xmm11 - pxor %xmm1,%xmm4 - psrld $27,%xmm9 - pxor %xmm14,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm4,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm11 - paddd %xmm4,%xmm4 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 128-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - movdqa %xmm14,%xmm6 - pxor 224-128(%rax),%xmm0 - paddd %xmm15,%xmm10 - pslld $5,%xmm8 - pxor %xmm12,%xmm6 - - movdqa %xmm11,%xmm9 - movdqa %xmm4,80-128(%rax) - paddd %xmm4,%xmm10 - pxor %xmm2,%xmm0 - psrld $27,%xmm9 - pxor %xmm13,%xmm6 - movdqa %xmm12,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm0,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm10 - paddd %xmm0,%xmm0 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - pxor %xmm3,%xmm1 - movdqa 144-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm6 - pxor 240-128(%rax),%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - pxor %xmm11,%xmm6 - - movdqa %xmm10,%xmm9 - movdqa %xmm0,96-128(%rax) - paddd %xmm0,%xmm14 - pxor %xmm3,%xmm1 - psrld $27,%xmm9 - pxor %xmm12,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm1,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm14 - paddd %xmm1,%xmm1 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 160-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm6 - pxor 0-128(%rax),%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - pxor %xmm10,%xmm6 - - movdqa %xmm14,%xmm9 - movdqa %xmm1,112-128(%rax) - paddd %xmm1,%xmm13 - pxor %xmm4,%xmm2 - psrld $27,%xmm9 - pxor %xmm11,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm2,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm13 - paddd %xmm2,%xmm2 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 176-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm6 - pxor 16-128(%rax),%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - pxor %xmm14,%xmm6 - - movdqa %xmm13,%xmm9 - paddd %xmm2,%xmm12 - pxor %xmm0,%xmm3 - psrld $27,%xmm9 - pxor %xmm10,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm3,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm12 - paddd %xmm3,%xmm3 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 192-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm6 - pxor 32-128(%rax),%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - pxor %xmm13,%xmm6 - - movdqa %xmm12,%xmm9 - paddd %xmm3,%xmm11 - pxor %xmm1,%xmm4 - psrld $27,%xmm9 - pxor %xmm14,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm4,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm11 - paddd %xmm4,%xmm4 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - pxor %xmm2,%xmm0 - movdqa 208-128(%rax),%xmm2 - - movdqa %xmm11,%xmm8 - movdqa %xmm14,%xmm6 - pxor 48-128(%rax),%xmm0 - paddd %xmm15,%xmm10 - pslld $5,%xmm8 - pxor %xmm12,%xmm6 - - movdqa %xmm11,%xmm9 - paddd %xmm4,%xmm10 - pxor %xmm2,%xmm0 - psrld $27,%xmm9 - pxor %xmm13,%xmm6 - movdqa %xmm12,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm0,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm10 - paddd %xmm0,%xmm0 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm5,%xmm0 - por %xmm7,%xmm12 - pxor %xmm3,%xmm1 - movdqa 224-128(%rax),%xmm3 - - movdqa %xmm10,%xmm8 - movdqa %xmm13,%xmm6 - pxor 64-128(%rax),%xmm1 - paddd %xmm15,%xmm14 - pslld $5,%xmm8 - pxor %xmm11,%xmm6 - - movdqa %xmm10,%xmm9 - paddd %xmm0,%xmm14 - pxor %xmm3,%xmm1 - psrld $27,%xmm9 - pxor %xmm12,%xmm6 - movdqa %xmm11,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm1,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm14 - paddd %xmm1,%xmm1 - - psrld $2,%xmm11 - paddd %xmm8,%xmm14 - por %xmm5,%xmm1 - por %xmm7,%xmm11 - pxor %xmm4,%xmm2 - movdqa 240-128(%rax),%xmm4 - - movdqa %xmm14,%xmm8 - movdqa %xmm12,%xmm6 - pxor 80-128(%rax),%xmm2 - paddd %xmm15,%xmm13 - pslld $5,%xmm8 - pxor %xmm10,%xmm6 - - movdqa %xmm14,%xmm9 - paddd %xmm1,%xmm13 - pxor %xmm4,%xmm2 - psrld $27,%xmm9 - pxor %xmm11,%xmm6 - movdqa %xmm10,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm2,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm13 - paddd %xmm2,%xmm2 - - psrld $2,%xmm10 - paddd %xmm8,%xmm13 - por %xmm5,%xmm2 - por %xmm7,%xmm10 - pxor %xmm0,%xmm3 - movdqa 0-128(%rax),%xmm0 - - movdqa %xmm13,%xmm8 - movdqa %xmm11,%xmm6 - pxor 96-128(%rax),%xmm3 - paddd %xmm15,%xmm12 - pslld $5,%xmm8 - pxor %xmm14,%xmm6 - - movdqa %xmm13,%xmm9 - paddd %xmm2,%xmm12 - pxor %xmm0,%xmm3 - psrld $27,%xmm9 - pxor %xmm10,%xmm6 - movdqa %xmm14,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm3,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm12 - paddd %xmm3,%xmm3 - - psrld $2,%xmm14 - paddd %xmm8,%xmm12 - por %xmm5,%xmm3 - por %xmm7,%xmm14 - pxor %xmm1,%xmm4 - movdqa 16-128(%rax),%xmm1 - - movdqa %xmm12,%xmm8 - movdqa %xmm10,%xmm6 - pxor 112-128(%rax),%xmm4 - paddd %xmm15,%xmm11 - pslld $5,%xmm8 - pxor %xmm13,%xmm6 - - movdqa %xmm12,%xmm9 - paddd %xmm3,%xmm11 - pxor %xmm1,%xmm4 - psrld $27,%xmm9 - pxor %xmm14,%xmm6 - movdqa %xmm13,%xmm7 - - pslld $30,%xmm7 - movdqa %xmm4,%xmm5 - por %xmm9,%xmm8 - psrld $31,%xmm5 - paddd %xmm6,%xmm11 - paddd %xmm4,%xmm4 - - psrld $2,%xmm13 - paddd %xmm8,%xmm11 - por %xmm5,%xmm4 - por %xmm7,%xmm13 - movdqa %xmm11,%xmm8 - paddd %xmm15,%xmm10 - movdqa %xmm14,%xmm6 - pslld $5,%xmm8 - pxor %xmm12,%xmm6 - - movdqa %xmm11,%xmm9 - paddd %xmm4,%xmm10 - psrld $27,%xmm9 - movdqa %xmm12,%xmm7 - pxor %xmm13,%xmm6 - - pslld $30,%xmm7 - por %xmm9,%xmm8 - paddd %xmm6,%xmm10 - - psrld $2,%xmm12 - paddd %xmm8,%xmm10 - por %xmm7,%xmm12 - movdqa (%rbx),%xmm0 - movl $1,%ecx - cmpl 0(%rbx),%ecx - pxor %xmm8,%xmm8 - cmovgeq %rbp,%r8 - cmpl 4(%rbx),%ecx - movdqa %xmm0,%xmm1 - cmovgeq %rbp,%r9 - cmpl 8(%rbx),%ecx - pcmpgtd %xmm8,%xmm1 - cmovgeq %rbp,%r10 - cmpl 12(%rbx),%ecx - paddd %xmm1,%xmm0 - cmovgeq %rbp,%r11 - - movdqu 0(%rdi),%xmm6 - pand %xmm1,%xmm10 - movdqu 32(%rdi),%xmm7 - pand %xmm1,%xmm11 - paddd %xmm6,%xmm10 - movdqu 64(%rdi),%xmm8 - pand %xmm1,%xmm12 - paddd %xmm7,%xmm11 - movdqu 96(%rdi),%xmm9 - pand %xmm1,%xmm13 - paddd %xmm8,%xmm12 - movdqu 128(%rdi),%xmm5 - pand %xmm1,%xmm14 - movdqu %xmm10,0(%rdi) - paddd %xmm9,%xmm13 - movdqu %xmm11,32(%rdi) - paddd %xmm5,%xmm14 - movdqu %xmm12,64(%rdi) - movdqu %xmm13,96(%rdi) - movdqu %xmm14,128(%rdi) - - movdqa %xmm0,(%rbx) - movdqa 96(%rbp),%xmm5 - movdqa -32(%rbp),%xmm15 - decl %edx - jnz .Loop - - movl 280(%rsp),%edx - leaq 16(%rdi),%rdi - leaq 64(%rsi),%rsi - decl %edx - jnz .Loop_grande - -.Ldone: - movq 272(%rsp),%rax -.cfi_def_cfa %rax,8 - movq -16(%rax),%rbp -.cfi_restore %rbp - movq -8(%rax),%rbx -.cfi_restore %rbx - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lepilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size sha1_multi_block,.-sha1_multi_block -.type sha1_multi_block_shaext,@function -.align 32 -sha1_multi_block_shaext: -.cfi_startproc -_shaext_shortcut: - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - subq $288,%rsp - shll $1,%edx - andq $-256,%rsp - leaq 64(%rdi),%rdi - movq %rax,272(%rsp) -.Lbody_shaext: - leaq 256(%rsp),%rbx - movdqa K_XX_XX+128(%rip),%xmm3 - -.Loop_grande_shaext: - movl %edx,280(%rsp) - xorl %edx,%edx - movq 0(%rsi),%r8 - movl 8(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,0(%rbx) - cmovleq %rsp,%r8 - movq 16(%rsi),%r9 - movl 24(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,4(%rbx) - cmovleq %rsp,%r9 - testl %edx,%edx - jz .Ldone_shaext - - movq 0-64(%rdi),%xmm0 - movq 32-64(%rdi),%xmm4 - movq 64-64(%rdi),%xmm5 - movq 96-64(%rdi),%xmm6 - movq 128-64(%rdi),%xmm7 - - punpckldq %xmm4,%xmm0 - punpckldq %xmm6,%xmm5 - - movdqa %xmm0,%xmm8 - punpcklqdq %xmm5,%xmm0 - punpckhqdq %xmm5,%xmm8 - - pshufd $63,%xmm7,%xmm1 - pshufd $127,%xmm7,%xmm9 - pshufd $27,%xmm0,%xmm0 - pshufd $27,%xmm8,%xmm8 - jmp .Loop_shaext - -.align 32 -.Loop_shaext: - movdqu 0(%r8),%xmm4 - movdqu 0(%r9),%xmm11 - movdqu 16(%r8),%xmm5 - movdqu 16(%r9),%xmm12 - movdqu 32(%r8),%xmm6 -.byte 102,15,56,0,227 - movdqu 32(%r9),%xmm13 -.byte 102,68,15,56,0,219 - movdqu 48(%r8),%xmm7 - leaq 64(%r8),%r8 -.byte 102,15,56,0,235 - movdqu 48(%r9),%xmm14 - leaq 64(%r9),%r9 -.byte 102,68,15,56,0,227 - - movdqa %xmm1,80(%rsp) - paddd %xmm4,%xmm1 - movdqa %xmm9,112(%rsp) - paddd %xmm11,%xmm9 - movdqa %xmm0,64(%rsp) - movdqa %xmm0,%xmm2 - movdqa %xmm8,96(%rsp) - movdqa %xmm8,%xmm10 -.byte 15,58,204,193,0 -.byte 15,56,200,213 -.byte 69,15,58,204,193,0 -.byte 69,15,56,200,212 -.byte 102,15,56,0,243 - prefetcht0 127(%r8) -.byte 15,56,201,229 -.byte 102,68,15,56,0,235 - prefetcht0 127(%r9) -.byte 69,15,56,201,220 - -.byte 102,15,56,0,251 - movdqa %xmm0,%xmm1 -.byte 102,68,15,56,0,243 - movdqa %xmm8,%xmm9 -.byte 15,58,204,194,0 -.byte 15,56,200,206 -.byte 69,15,58,204,194,0 -.byte 69,15,56,200,205 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 - pxor %xmm13,%xmm11 -.byte 69,15,56,201,229 - movdqa %xmm0,%xmm2 - movdqa %xmm8,%xmm10 -.byte 15,58,204,193,0 -.byte 15,56,200,215 -.byte 69,15,58,204,193,0 -.byte 69,15,56,200,214 -.byte 15,56,202,231 -.byte 69,15,56,202,222 - pxor %xmm7,%xmm5 -.byte 15,56,201,247 - pxor %xmm14,%xmm12 -.byte 69,15,56,201,238 - movdqa %xmm0,%xmm1 - movdqa %xmm8,%xmm9 -.byte 15,58,204,194,0 -.byte 15,56,200,204 -.byte 69,15,58,204,194,0 -.byte 69,15,56,200,203 -.byte 15,56,202,236 -.byte 69,15,56,202,227 - pxor %xmm4,%xmm6 -.byte 15,56,201,252 - pxor %xmm11,%xmm13 -.byte 69,15,56,201,243 - movdqa %xmm0,%xmm2 - movdqa %xmm8,%xmm10 -.byte 15,58,204,193,0 -.byte 15,56,200,213 -.byte 69,15,58,204,193,0 -.byte 69,15,56,200,212 -.byte 15,56,202,245 -.byte 69,15,56,202,236 - pxor %xmm5,%xmm7 -.byte 15,56,201,229 - pxor %xmm12,%xmm14 -.byte 69,15,56,201,220 - movdqa %xmm0,%xmm1 - movdqa %xmm8,%xmm9 -.byte 15,58,204,194,1 -.byte 15,56,200,206 -.byte 69,15,58,204,194,1 -.byte 69,15,56,200,205 -.byte 15,56,202,254 -.byte 69,15,56,202,245 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 - pxor %xmm13,%xmm11 -.byte 69,15,56,201,229 - movdqa %xmm0,%xmm2 - movdqa %xmm8,%xmm10 -.byte 15,58,204,193,1 -.byte 15,56,200,215 -.byte 69,15,58,204,193,1 -.byte 69,15,56,200,214 -.byte 15,56,202,231 -.byte 69,15,56,202,222 - pxor %xmm7,%xmm5 -.byte 15,56,201,247 - pxor %xmm14,%xmm12 -.byte 69,15,56,201,238 - movdqa %xmm0,%xmm1 - movdqa %xmm8,%xmm9 -.byte 15,58,204,194,1 -.byte 15,56,200,204 -.byte 69,15,58,204,194,1 -.byte 69,15,56,200,203 -.byte 15,56,202,236 -.byte 69,15,56,202,227 - pxor %xmm4,%xmm6 -.byte 15,56,201,252 - pxor %xmm11,%xmm13 -.byte 69,15,56,201,243 - movdqa %xmm0,%xmm2 - movdqa %xmm8,%xmm10 -.byte 15,58,204,193,1 -.byte 15,56,200,213 -.byte 69,15,58,204,193,1 -.byte 69,15,56,200,212 -.byte 15,56,202,245 -.byte 69,15,56,202,236 - pxor %xmm5,%xmm7 -.byte 15,56,201,229 - pxor %xmm12,%xmm14 -.byte 69,15,56,201,220 - movdqa %xmm0,%xmm1 - movdqa %xmm8,%xmm9 -.byte 15,58,204,194,1 -.byte 15,56,200,206 -.byte 69,15,58,204,194,1 -.byte 69,15,56,200,205 -.byte 15,56,202,254 -.byte 69,15,56,202,245 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 - pxor %xmm13,%xmm11 -.byte 69,15,56,201,229 - movdqa %xmm0,%xmm2 - movdqa %xmm8,%xmm10 -.byte 15,58,204,193,2 -.byte 15,56,200,215 -.byte 69,15,58,204,193,2 -.byte 69,15,56,200,214 -.byte 15,56,202,231 -.byte 69,15,56,202,222 - pxor %xmm7,%xmm5 -.byte 15,56,201,247 - pxor %xmm14,%xmm12 -.byte 69,15,56,201,238 - movdqa %xmm0,%xmm1 - movdqa %xmm8,%xmm9 -.byte 15,58,204,194,2 -.byte 15,56,200,204 -.byte 69,15,58,204,194,2 -.byte 69,15,56,200,203 -.byte 15,56,202,236 -.byte 69,15,56,202,227 - pxor %xmm4,%xmm6 -.byte 15,56,201,252 - pxor %xmm11,%xmm13 -.byte 69,15,56,201,243 - movdqa %xmm0,%xmm2 - movdqa %xmm8,%xmm10 -.byte 15,58,204,193,2 -.byte 15,56,200,213 -.byte 69,15,58,204,193,2 -.byte 69,15,56,200,212 -.byte 15,56,202,245 -.byte 69,15,56,202,236 - pxor %xmm5,%xmm7 -.byte 15,56,201,229 - pxor %xmm12,%xmm14 -.byte 69,15,56,201,220 - movdqa %xmm0,%xmm1 - movdqa %xmm8,%xmm9 -.byte 15,58,204,194,2 -.byte 15,56,200,206 -.byte 69,15,58,204,194,2 -.byte 69,15,56,200,205 -.byte 15,56,202,254 -.byte 69,15,56,202,245 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 - pxor %xmm13,%xmm11 -.byte 69,15,56,201,229 - movdqa %xmm0,%xmm2 - movdqa %xmm8,%xmm10 -.byte 15,58,204,193,2 -.byte 15,56,200,215 -.byte 69,15,58,204,193,2 -.byte 69,15,56,200,214 -.byte 15,56,202,231 -.byte 69,15,56,202,222 - pxor %xmm7,%xmm5 -.byte 15,56,201,247 - pxor %xmm14,%xmm12 -.byte 69,15,56,201,238 - movdqa %xmm0,%xmm1 - movdqa %xmm8,%xmm9 -.byte 15,58,204,194,3 -.byte 15,56,200,204 -.byte 69,15,58,204,194,3 -.byte 69,15,56,200,203 -.byte 15,56,202,236 -.byte 69,15,56,202,227 - pxor %xmm4,%xmm6 -.byte 15,56,201,252 - pxor %xmm11,%xmm13 -.byte 69,15,56,201,243 - movdqa %xmm0,%xmm2 - movdqa %xmm8,%xmm10 -.byte 15,58,204,193,3 -.byte 15,56,200,213 -.byte 69,15,58,204,193,3 -.byte 69,15,56,200,212 -.byte 15,56,202,245 -.byte 69,15,56,202,236 - pxor %xmm5,%xmm7 - pxor %xmm12,%xmm14 - - movl $1,%ecx - pxor %xmm4,%xmm4 - cmpl 0(%rbx),%ecx - cmovgeq %rsp,%r8 - - movdqa %xmm0,%xmm1 - movdqa %xmm8,%xmm9 -.byte 15,58,204,194,3 -.byte 15,56,200,206 -.byte 69,15,58,204,194,3 -.byte 69,15,56,200,205 -.byte 15,56,202,254 -.byte 69,15,56,202,245 - - cmpl 4(%rbx),%ecx - cmovgeq %rsp,%r9 - movq (%rbx),%xmm6 - - movdqa %xmm0,%xmm2 - movdqa %xmm8,%xmm10 -.byte 15,58,204,193,3 -.byte 15,56,200,215 -.byte 69,15,58,204,193,3 -.byte 69,15,56,200,214 - - pshufd $0x00,%xmm6,%xmm11 - pshufd $0x55,%xmm6,%xmm12 - movdqa %xmm6,%xmm7 - pcmpgtd %xmm4,%xmm11 - pcmpgtd %xmm4,%xmm12 - - movdqa %xmm0,%xmm1 - movdqa %xmm8,%xmm9 -.byte 15,58,204,194,3 -.byte 15,56,200,204 -.byte 69,15,58,204,194,3 -.byte 68,15,56,200,204 - - pcmpgtd %xmm4,%xmm7 - pand %xmm11,%xmm0 - pand %xmm11,%xmm1 - pand %xmm12,%xmm8 - pand %xmm12,%xmm9 - paddd %xmm7,%xmm6 - - paddd 64(%rsp),%xmm0 - paddd 80(%rsp),%xmm1 - paddd 96(%rsp),%xmm8 - paddd 112(%rsp),%xmm9 - - movq %xmm6,(%rbx) - decl %edx - jnz .Loop_shaext - - movl 280(%rsp),%edx - - pshufd $27,%xmm0,%xmm0 - pshufd $27,%xmm8,%xmm8 - - movdqa %xmm0,%xmm6 - punpckldq %xmm8,%xmm0 - punpckhdq %xmm8,%xmm6 - punpckhdq %xmm9,%xmm1 - movq %xmm0,0-64(%rdi) - psrldq $8,%xmm0 - movq %xmm6,64-64(%rdi) - psrldq $8,%xmm6 - movq %xmm0,32-64(%rdi) - psrldq $8,%xmm1 - movq %xmm6,96-64(%rdi) - movq %xmm1,128-64(%rdi) - - leaq 8(%rdi),%rdi - leaq 32(%rsi),%rsi - decl %edx - jnz .Loop_grande_shaext - -.Ldone_shaext: - - movq -16(%rax),%rbp -.cfi_restore %rbp - movq -8(%rax),%rbx -.cfi_restore %rbx - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lepilogue_shaext: - .byte 0xf3,0xc3 -.cfi_endproc -.size sha1_multi_block_shaext,.-sha1_multi_block_shaext - -.align 256 -.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 -.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 -K_XX_XX: -.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 -.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 -.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc -.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc -.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 -.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 -.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -.byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 -.byte 83,72,65,49,32,109,117,108,116,105,45,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha1-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha1-x86_64.S deleted file mode 100644 index 0b59726ae4e3..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha1-x86_64.S +++ /dev/null @@ -1,2631 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/sha/asm/sha1-x86_64.pl -# -# Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - - -.globl sha1_block_data_order -.type sha1_block_data_order,@function -.align 16 -sha1_block_data_order: -.cfi_startproc - movl OPENSSL_ia32cap_P+0(%rip),%r9d - movl OPENSSL_ia32cap_P+4(%rip),%r8d - movl OPENSSL_ia32cap_P+8(%rip),%r10d - testl $512,%r8d - jz .Lialu - testl $536870912,%r10d - jnz _shaext_shortcut - jmp _ssse3_shortcut - -.align 16 -.Lialu: - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - movq %rdi,%r8 - subq $72,%rsp - movq %rsi,%r9 - andq $-64,%rsp - movq %rdx,%r10 - movq %rax,64(%rsp) -.cfi_escape 0x0f,0x06,0x77,0xc0,0x00,0x06,0x23,0x08 -.Lprologue: - - movl 0(%r8),%esi - movl 4(%r8),%edi - movl 8(%r8),%r11d - movl 12(%r8),%r12d - movl 16(%r8),%r13d - jmp .Lloop - -.align 16 -.Lloop: - movl 0(%r9),%edx - bswapl %edx - movl 4(%r9),%ebp - movl %r12d,%eax - movl %edx,0(%rsp) - movl %esi,%ecx - bswapl %ebp - xorl %r11d,%eax - roll $5,%ecx - andl %edi,%eax - leal 1518500249(%rdx,%r13,1),%r13d - addl %ecx,%r13d - xorl %r12d,%eax - roll $30,%edi - addl %eax,%r13d - movl 8(%r9),%r14d - movl %r11d,%eax - movl %ebp,4(%rsp) - movl %r13d,%ecx - bswapl %r14d - xorl %edi,%eax - roll $5,%ecx - andl %esi,%eax - leal 1518500249(%rbp,%r12,1),%r12d - addl %ecx,%r12d - xorl %r11d,%eax - roll $30,%esi - addl %eax,%r12d - movl 12(%r9),%edx - movl %edi,%eax - movl %r14d,8(%rsp) - movl %r12d,%ecx - bswapl %edx - xorl %esi,%eax - roll $5,%ecx - andl %r13d,%eax - leal 1518500249(%r14,%r11,1),%r11d - addl %ecx,%r11d - xorl %edi,%eax - roll $30,%r13d - addl %eax,%r11d - movl 16(%r9),%ebp - movl %esi,%eax - movl %edx,12(%rsp) - movl %r11d,%ecx - bswapl %ebp - xorl %r13d,%eax - roll $5,%ecx - andl %r12d,%eax - leal 1518500249(%rdx,%rdi,1),%edi - addl %ecx,%edi - xorl %esi,%eax - roll $30,%r12d - addl %eax,%edi - movl 20(%r9),%r14d - movl %r13d,%eax - movl %ebp,16(%rsp) - movl %edi,%ecx - bswapl %r14d - xorl %r12d,%eax - roll $5,%ecx - andl %r11d,%eax - leal 1518500249(%rbp,%rsi,1),%esi - addl %ecx,%esi - xorl %r13d,%eax - roll $30,%r11d - addl %eax,%esi - movl 24(%r9),%edx - movl %r12d,%eax - movl %r14d,20(%rsp) - movl %esi,%ecx - bswapl %edx - xorl %r11d,%eax - roll $5,%ecx - andl %edi,%eax - leal 1518500249(%r14,%r13,1),%r13d - addl %ecx,%r13d - xorl %r12d,%eax - roll $30,%edi - addl %eax,%r13d - movl 28(%r9),%ebp - movl %r11d,%eax - movl %edx,24(%rsp) - movl %r13d,%ecx - bswapl %ebp - xorl %edi,%eax - roll $5,%ecx - andl %esi,%eax - leal 1518500249(%rdx,%r12,1),%r12d - addl %ecx,%r12d - xorl %r11d,%eax - roll $30,%esi - addl %eax,%r12d - movl 32(%r9),%r14d - movl %edi,%eax - movl %ebp,28(%rsp) - movl %r12d,%ecx - bswapl %r14d - xorl %esi,%eax - roll $5,%ecx - andl %r13d,%eax - leal 1518500249(%rbp,%r11,1),%r11d - addl %ecx,%r11d - xorl %edi,%eax - roll $30,%r13d - addl %eax,%r11d - movl 36(%r9),%edx - movl %esi,%eax - movl %r14d,32(%rsp) - movl %r11d,%ecx - bswapl %edx - xorl %r13d,%eax - roll $5,%ecx - andl %r12d,%eax - leal 1518500249(%r14,%rdi,1),%edi - addl %ecx,%edi - xorl %esi,%eax - roll $30,%r12d - addl %eax,%edi - movl 40(%r9),%ebp - movl %r13d,%eax - movl %edx,36(%rsp) - movl %edi,%ecx - bswapl %ebp - xorl %r12d,%eax - roll $5,%ecx - andl %r11d,%eax - leal 1518500249(%rdx,%rsi,1),%esi - addl %ecx,%esi - xorl %r13d,%eax - roll $30,%r11d - addl %eax,%esi - movl 44(%r9),%r14d - movl %r12d,%eax - movl %ebp,40(%rsp) - movl %esi,%ecx - bswapl %r14d - xorl %r11d,%eax - roll $5,%ecx - andl %edi,%eax - leal 1518500249(%rbp,%r13,1),%r13d - addl %ecx,%r13d - xorl %r12d,%eax - roll $30,%edi - addl %eax,%r13d - movl 48(%r9),%edx - movl %r11d,%eax - movl %r14d,44(%rsp) - movl %r13d,%ecx - bswapl %edx - xorl %edi,%eax - roll $5,%ecx - andl %esi,%eax - leal 1518500249(%r14,%r12,1),%r12d - addl %ecx,%r12d - xorl %r11d,%eax - roll $30,%esi - addl %eax,%r12d - movl 52(%r9),%ebp - movl %edi,%eax - movl %edx,48(%rsp) - movl %r12d,%ecx - bswapl %ebp - xorl %esi,%eax - roll $5,%ecx - andl %r13d,%eax - leal 1518500249(%rdx,%r11,1),%r11d - addl %ecx,%r11d - xorl %edi,%eax - roll $30,%r13d - addl %eax,%r11d - movl 56(%r9),%r14d - movl %esi,%eax - movl %ebp,52(%rsp) - movl %r11d,%ecx - bswapl %r14d - xorl %r13d,%eax - roll $5,%ecx - andl %r12d,%eax - leal 1518500249(%rbp,%rdi,1),%edi - addl %ecx,%edi - xorl %esi,%eax - roll $30,%r12d - addl %eax,%edi - movl 60(%r9),%edx - movl %r13d,%eax - movl %r14d,56(%rsp) - movl %edi,%ecx - bswapl %edx - xorl %r12d,%eax - roll $5,%ecx - andl %r11d,%eax - leal 1518500249(%r14,%rsi,1),%esi - addl %ecx,%esi - xorl %r13d,%eax - roll $30,%r11d - addl %eax,%esi - xorl 0(%rsp),%ebp - movl %r12d,%eax - movl %edx,60(%rsp) - movl %esi,%ecx - xorl 8(%rsp),%ebp - xorl %r11d,%eax - roll $5,%ecx - xorl 32(%rsp),%ebp - andl %edi,%eax - leal 1518500249(%rdx,%r13,1),%r13d - roll $30,%edi - xorl %r12d,%eax - addl %ecx,%r13d - roll $1,%ebp - addl %eax,%r13d - xorl 4(%rsp),%r14d - movl %r11d,%eax - movl %ebp,0(%rsp) - movl %r13d,%ecx - xorl 12(%rsp),%r14d - xorl %edi,%eax - roll $5,%ecx - xorl 36(%rsp),%r14d - andl %esi,%eax - leal 1518500249(%rbp,%r12,1),%r12d - roll $30,%esi - xorl %r11d,%eax - addl %ecx,%r12d - roll $1,%r14d - addl %eax,%r12d - xorl 8(%rsp),%edx - movl %edi,%eax - movl %r14d,4(%rsp) - movl %r12d,%ecx - xorl 16(%rsp),%edx - xorl %esi,%eax - roll $5,%ecx - xorl 40(%rsp),%edx - andl %r13d,%eax - leal 1518500249(%r14,%r11,1),%r11d - roll $30,%r13d - xorl %edi,%eax - addl %ecx,%r11d - roll $1,%edx - addl %eax,%r11d - xorl 12(%rsp),%ebp - movl %esi,%eax - movl %edx,8(%rsp) - movl %r11d,%ecx - xorl 20(%rsp),%ebp - xorl %r13d,%eax - roll $5,%ecx - xorl 44(%rsp),%ebp - andl %r12d,%eax - leal 1518500249(%rdx,%rdi,1),%edi - roll $30,%r12d - xorl %esi,%eax - addl %ecx,%edi - roll $1,%ebp - addl %eax,%edi - xorl 16(%rsp),%r14d - movl %r13d,%eax - movl %ebp,12(%rsp) - movl %edi,%ecx - xorl 24(%rsp),%r14d - xorl %r12d,%eax - roll $5,%ecx - xorl 48(%rsp),%r14d - andl %r11d,%eax - leal 1518500249(%rbp,%rsi,1),%esi - roll $30,%r11d - xorl %r13d,%eax - addl %ecx,%esi - roll $1,%r14d - addl %eax,%esi - xorl 20(%rsp),%edx - movl %edi,%eax - movl %r14d,16(%rsp) - movl %esi,%ecx - xorl 28(%rsp),%edx - xorl %r12d,%eax - roll $5,%ecx - xorl 52(%rsp),%edx - leal 1859775393(%r14,%r13,1),%r13d - xorl %r11d,%eax - addl %ecx,%r13d - roll $30,%edi - addl %eax,%r13d - roll $1,%edx - xorl 24(%rsp),%ebp - movl %esi,%eax - movl %edx,20(%rsp) - movl %r13d,%ecx - xorl 32(%rsp),%ebp - xorl %r11d,%eax - roll $5,%ecx - xorl 56(%rsp),%ebp - leal 1859775393(%rdx,%r12,1),%r12d - xorl %edi,%eax - addl %ecx,%r12d - roll $30,%esi - addl %eax,%r12d - roll $1,%ebp - xorl 28(%rsp),%r14d - movl %r13d,%eax - movl %ebp,24(%rsp) - movl %r12d,%ecx - xorl 36(%rsp),%r14d - xorl %edi,%eax - roll $5,%ecx - xorl 60(%rsp),%r14d - leal 1859775393(%rbp,%r11,1),%r11d - xorl %esi,%eax - addl %ecx,%r11d - roll $30,%r13d - addl %eax,%r11d - roll $1,%r14d - xorl 32(%rsp),%edx - movl %r12d,%eax - movl %r14d,28(%rsp) - movl %r11d,%ecx - xorl 40(%rsp),%edx - xorl %esi,%eax - roll $5,%ecx - xorl 0(%rsp),%edx - leal 1859775393(%r14,%rdi,1),%edi - xorl %r13d,%eax - addl %ecx,%edi - roll $30,%r12d - addl %eax,%edi - roll $1,%edx - xorl 36(%rsp),%ebp - movl %r11d,%eax - movl %edx,32(%rsp) - movl %edi,%ecx - xorl 44(%rsp),%ebp - xorl %r13d,%eax - roll $5,%ecx - xorl 4(%rsp),%ebp - leal 1859775393(%rdx,%rsi,1),%esi - xorl %r12d,%eax - addl %ecx,%esi - roll $30,%r11d - addl %eax,%esi - roll $1,%ebp - xorl 40(%rsp),%r14d - movl %edi,%eax - movl %ebp,36(%rsp) - movl %esi,%ecx - xorl 48(%rsp),%r14d - xorl %r12d,%eax - roll $5,%ecx - xorl 8(%rsp),%r14d - leal 1859775393(%rbp,%r13,1),%r13d - xorl %r11d,%eax - addl %ecx,%r13d - roll $30,%edi - addl %eax,%r13d - roll $1,%r14d - xorl 44(%rsp),%edx - movl %esi,%eax - movl %r14d,40(%rsp) - movl %r13d,%ecx - xorl 52(%rsp),%edx - xorl %r11d,%eax - roll $5,%ecx - xorl 12(%rsp),%edx - leal 1859775393(%r14,%r12,1),%r12d - xorl %edi,%eax - addl %ecx,%r12d - roll $30,%esi - addl %eax,%r12d - roll $1,%edx - xorl 48(%rsp),%ebp - movl %r13d,%eax - movl %edx,44(%rsp) - movl %r12d,%ecx - xorl 56(%rsp),%ebp - xorl %edi,%eax - roll $5,%ecx - xorl 16(%rsp),%ebp - leal 1859775393(%rdx,%r11,1),%r11d - xorl %esi,%eax - addl %ecx,%r11d - roll $30,%r13d - addl %eax,%r11d - roll $1,%ebp - xorl 52(%rsp),%r14d - movl %r12d,%eax - movl %ebp,48(%rsp) - movl %r11d,%ecx - xorl 60(%rsp),%r14d - xorl %esi,%eax - roll $5,%ecx - xorl 20(%rsp),%r14d - leal 1859775393(%rbp,%rdi,1),%edi - xorl %r13d,%eax - addl %ecx,%edi - roll $30,%r12d - addl %eax,%edi - roll $1,%r14d - xorl 56(%rsp),%edx - movl %r11d,%eax - movl %r14d,52(%rsp) - movl %edi,%ecx - xorl 0(%rsp),%edx - xorl %r13d,%eax - roll $5,%ecx - xorl 24(%rsp),%edx - leal 1859775393(%r14,%rsi,1),%esi - xorl %r12d,%eax - addl %ecx,%esi - roll $30,%r11d - addl %eax,%esi - roll $1,%edx - xorl 60(%rsp),%ebp - movl %edi,%eax - movl %edx,56(%rsp) - movl %esi,%ecx - xorl 4(%rsp),%ebp - xorl %r12d,%eax - roll $5,%ecx - xorl 28(%rsp),%ebp - leal 1859775393(%rdx,%r13,1),%r13d - xorl %r11d,%eax - addl %ecx,%r13d - roll $30,%edi - addl %eax,%r13d - roll $1,%ebp - xorl 0(%rsp),%r14d - movl %esi,%eax - movl %ebp,60(%rsp) - movl %r13d,%ecx - xorl 8(%rsp),%r14d - xorl %r11d,%eax - roll $5,%ecx - xorl 32(%rsp),%r14d - leal 1859775393(%rbp,%r12,1),%r12d - xorl %edi,%eax - addl %ecx,%r12d - roll $30,%esi - addl %eax,%r12d - roll $1,%r14d - xorl 4(%rsp),%edx - movl %r13d,%eax - movl %r14d,0(%rsp) - movl %r12d,%ecx - xorl 12(%rsp),%edx - xorl %edi,%eax - roll $5,%ecx - xorl 36(%rsp),%edx - leal 1859775393(%r14,%r11,1),%r11d - xorl %esi,%eax - addl %ecx,%r11d - roll $30,%r13d - addl %eax,%r11d - roll $1,%edx - xorl 8(%rsp),%ebp - movl %r12d,%eax - movl %edx,4(%rsp) - movl %r11d,%ecx - xorl 16(%rsp),%ebp - xorl %esi,%eax - roll $5,%ecx - xorl 40(%rsp),%ebp - leal 1859775393(%rdx,%rdi,1),%edi - xorl %r13d,%eax - addl %ecx,%edi - roll $30,%r12d - addl %eax,%edi - roll $1,%ebp - xorl 12(%rsp),%r14d - movl %r11d,%eax - movl %ebp,8(%rsp) - movl %edi,%ecx - xorl 20(%rsp),%r14d - xorl %r13d,%eax - roll $5,%ecx - xorl 44(%rsp),%r14d - leal 1859775393(%rbp,%rsi,1),%esi - xorl %r12d,%eax - addl %ecx,%esi - roll $30,%r11d - addl %eax,%esi - roll $1,%r14d - xorl 16(%rsp),%edx - movl %edi,%eax - movl %r14d,12(%rsp) - movl %esi,%ecx - xorl 24(%rsp),%edx - xorl %r12d,%eax - roll $5,%ecx - xorl 48(%rsp),%edx - leal 1859775393(%r14,%r13,1),%r13d - xorl %r11d,%eax - addl %ecx,%r13d - roll $30,%edi - addl %eax,%r13d - roll $1,%edx - xorl 20(%rsp),%ebp - movl %esi,%eax - movl %edx,16(%rsp) - movl %r13d,%ecx - xorl 28(%rsp),%ebp - xorl %r11d,%eax - roll $5,%ecx - xorl 52(%rsp),%ebp - leal 1859775393(%rdx,%r12,1),%r12d - xorl %edi,%eax - addl %ecx,%r12d - roll $30,%esi - addl %eax,%r12d - roll $1,%ebp - xorl 24(%rsp),%r14d - movl %r13d,%eax - movl %ebp,20(%rsp) - movl %r12d,%ecx - xorl 32(%rsp),%r14d - xorl %edi,%eax - roll $5,%ecx - xorl 56(%rsp),%r14d - leal 1859775393(%rbp,%r11,1),%r11d - xorl %esi,%eax - addl %ecx,%r11d - roll $30,%r13d - addl %eax,%r11d - roll $1,%r14d - xorl 28(%rsp),%edx - movl %r12d,%eax - movl %r14d,24(%rsp) - movl %r11d,%ecx - xorl 36(%rsp),%edx - xorl %esi,%eax - roll $5,%ecx - xorl 60(%rsp),%edx - leal 1859775393(%r14,%rdi,1),%edi - xorl %r13d,%eax - addl %ecx,%edi - roll $30,%r12d - addl %eax,%edi - roll $1,%edx - xorl 32(%rsp),%ebp - movl %r11d,%eax - movl %edx,28(%rsp) - movl %edi,%ecx - xorl 40(%rsp),%ebp - xorl %r13d,%eax - roll $5,%ecx - xorl 0(%rsp),%ebp - leal 1859775393(%rdx,%rsi,1),%esi - xorl %r12d,%eax - addl %ecx,%esi - roll $30,%r11d - addl %eax,%esi - roll $1,%ebp - xorl 36(%rsp),%r14d - movl %r12d,%eax - movl %ebp,32(%rsp) - movl %r12d,%ebx - xorl 44(%rsp),%r14d - andl %r11d,%eax - movl %esi,%ecx - xorl 4(%rsp),%r14d - leal -1894007588(%rbp,%r13,1),%r13d - xorl %r11d,%ebx - roll $5,%ecx - addl %eax,%r13d - roll $1,%r14d - andl %edi,%ebx - addl %ecx,%r13d - roll $30,%edi - addl %ebx,%r13d - xorl 40(%rsp),%edx - movl %r11d,%eax - movl %r14d,36(%rsp) - movl %r11d,%ebx - xorl 48(%rsp),%edx - andl %edi,%eax - movl %r13d,%ecx - xorl 8(%rsp),%edx - leal -1894007588(%r14,%r12,1),%r12d - xorl %edi,%ebx - roll $5,%ecx - addl %eax,%r12d - roll $1,%edx - andl %esi,%ebx - addl %ecx,%r12d - roll $30,%esi - addl %ebx,%r12d - xorl 44(%rsp),%ebp - movl %edi,%eax - movl %edx,40(%rsp) - movl %edi,%ebx - xorl 52(%rsp),%ebp - andl %esi,%eax - movl %r12d,%ecx - xorl 12(%rsp),%ebp - leal -1894007588(%rdx,%r11,1),%r11d - xorl %esi,%ebx - roll $5,%ecx - addl %eax,%r11d - roll $1,%ebp - andl %r13d,%ebx - addl %ecx,%r11d - roll $30,%r13d - addl %ebx,%r11d - xorl 48(%rsp),%r14d - movl %esi,%eax - movl %ebp,44(%rsp) - movl %esi,%ebx - xorl 56(%rsp),%r14d - andl %r13d,%eax - movl %r11d,%ecx - xorl 16(%rsp),%r14d - leal -1894007588(%rbp,%rdi,1),%edi - xorl %r13d,%ebx - roll $5,%ecx - addl %eax,%edi - roll $1,%r14d - andl %r12d,%ebx - addl %ecx,%edi - roll $30,%r12d - addl %ebx,%edi - xorl 52(%rsp),%edx - movl %r13d,%eax - movl %r14d,48(%rsp) - movl %r13d,%ebx - xorl 60(%rsp),%edx - andl %r12d,%eax - movl %edi,%ecx - xorl 20(%rsp),%edx - leal -1894007588(%r14,%rsi,1),%esi - xorl %r12d,%ebx - roll $5,%ecx - addl %eax,%esi - roll $1,%edx - andl %r11d,%ebx - addl %ecx,%esi - roll $30,%r11d - addl %ebx,%esi - xorl 56(%rsp),%ebp - movl %r12d,%eax - movl %edx,52(%rsp) - movl %r12d,%ebx - xorl 0(%rsp),%ebp - andl %r11d,%eax - movl %esi,%ecx - xorl 24(%rsp),%ebp - leal -1894007588(%rdx,%r13,1),%r13d - xorl %r11d,%ebx - roll $5,%ecx - addl %eax,%r13d - roll $1,%ebp - andl %edi,%ebx - addl %ecx,%r13d - roll $30,%edi - addl %ebx,%r13d - xorl 60(%rsp),%r14d - movl %r11d,%eax - movl %ebp,56(%rsp) - movl %r11d,%ebx - xorl 4(%rsp),%r14d - andl %edi,%eax - movl %r13d,%ecx - xorl 28(%rsp),%r14d - leal -1894007588(%rbp,%r12,1),%r12d - xorl %edi,%ebx - roll $5,%ecx - addl %eax,%r12d - roll $1,%r14d - andl %esi,%ebx - addl %ecx,%r12d - roll $30,%esi - addl %ebx,%r12d - xorl 0(%rsp),%edx - movl %edi,%eax - movl %r14d,60(%rsp) - movl %edi,%ebx - xorl 8(%rsp),%edx - andl %esi,%eax - movl %r12d,%ecx - xorl 32(%rsp),%edx - leal -1894007588(%r14,%r11,1),%r11d - xorl %esi,%ebx - roll $5,%ecx - addl %eax,%r11d - roll $1,%edx - andl %r13d,%ebx - addl %ecx,%r11d - roll $30,%r13d - addl %ebx,%r11d - xorl 4(%rsp),%ebp - movl %esi,%eax - movl %edx,0(%rsp) - movl %esi,%ebx - xorl 12(%rsp),%ebp - andl %r13d,%eax - movl %r11d,%ecx - xorl 36(%rsp),%ebp - leal -1894007588(%rdx,%rdi,1),%edi - xorl %r13d,%ebx - roll $5,%ecx - addl %eax,%edi - roll $1,%ebp - andl %r12d,%ebx - addl %ecx,%edi - roll $30,%r12d - addl %ebx,%edi - xorl 8(%rsp),%r14d - movl %r13d,%eax - movl %ebp,4(%rsp) - movl %r13d,%ebx - xorl 16(%rsp),%r14d - andl %r12d,%eax - movl %edi,%ecx - xorl 40(%rsp),%r14d - leal -1894007588(%rbp,%rsi,1),%esi - xorl %r12d,%ebx - roll $5,%ecx - addl %eax,%esi - roll $1,%r14d - andl %r11d,%ebx - addl %ecx,%esi - roll $30,%r11d - addl %ebx,%esi - xorl 12(%rsp),%edx - movl %r12d,%eax - movl %r14d,8(%rsp) - movl %r12d,%ebx - xorl 20(%rsp),%edx - andl %r11d,%eax - movl %esi,%ecx - xorl 44(%rsp),%edx - leal -1894007588(%r14,%r13,1),%r13d - xorl %r11d,%ebx - roll $5,%ecx - addl %eax,%r13d - roll $1,%edx - andl %edi,%ebx - addl %ecx,%r13d - roll $30,%edi - addl %ebx,%r13d - xorl 16(%rsp),%ebp - movl %r11d,%eax - movl %edx,12(%rsp) - movl %r11d,%ebx - xorl 24(%rsp),%ebp - andl %edi,%eax - movl %r13d,%ecx - xorl 48(%rsp),%ebp - leal -1894007588(%rdx,%r12,1),%r12d - xorl %edi,%ebx - roll $5,%ecx - addl %eax,%r12d - roll $1,%ebp - andl %esi,%ebx - addl %ecx,%r12d - roll $30,%esi - addl %ebx,%r12d - xorl 20(%rsp),%r14d - movl %edi,%eax - movl %ebp,16(%rsp) - movl %edi,%ebx - xorl 28(%rsp),%r14d - andl %esi,%eax - movl %r12d,%ecx - xorl 52(%rsp),%r14d - leal -1894007588(%rbp,%r11,1),%r11d - xorl %esi,%ebx - roll $5,%ecx - addl %eax,%r11d - roll $1,%r14d - andl %r13d,%ebx - addl %ecx,%r11d - roll $30,%r13d - addl %ebx,%r11d - xorl 24(%rsp),%edx - movl %esi,%eax - movl %r14d,20(%rsp) - movl %esi,%ebx - xorl 32(%rsp),%edx - andl %r13d,%eax - movl %r11d,%ecx - xorl 56(%rsp),%edx - leal -1894007588(%r14,%rdi,1),%edi - xorl %r13d,%ebx - roll $5,%ecx - addl %eax,%edi - roll $1,%edx - andl %r12d,%ebx - addl %ecx,%edi - roll $30,%r12d - addl %ebx,%edi - xorl 28(%rsp),%ebp - movl %r13d,%eax - movl %edx,24(%rsp) - movl %r13d,%ebx - xorl 36(%rsp),%ebp - andl %r12d,%eax - movl %edi,%ecx - xorl 60(%rsp),%ebp - leal -1894007588(%rdx,%rsi,1),%esi - xorl %r12d,%ebx - roll $5,%ecx - addl %eax,%esi - roll $1,%ebp - andl %r11d,%ebx - addl %ecx,%esi - roll $30,%r11d - addl %ebx,%esi - xorl 32(%rsp),%r14d - movl %r12d,%eax - movl %ebp,28(%rsp) - movl %r12d,%ebx - xorl 40(%rsp),%r14d - andl %r11d,%eax - movl %esi,%ecx - xorl 0(%rsp),%r14d - leal -1894007588(%rbp,%r13,1),%r13d - xorl %r11d,%ebx - roll $5,%ecx - addl %eax,%r13d - roll $1,%r14d - andl %edi,%ebx - addl %ecx,%r13d - roll $30,%edi - addl %ebx,%r13d - xorl 36(%rsp),%edx - movl %r11d,%eax - movl %r14d,32(%rsp) - movl %r11d,%ebx - xorl 44(%rsp),%edx - andl %edi,%eax - movl %r13d,%ecx - xorl 4(%rsp),%edx - leal -1894007588(%r14,%r12,1),%r12d - xorl %edi,%ebx - roll $5,%ecx - addl %eax,%r12d - roll $1,%edx - andl %esi,%ebx - addl %ecx,%r12d - roll $30,%esi - addl %ebx,%r12d - xorl 40(%rsp),%ebp - movl %edi,%eax - movl %edx,36(%rsp) - movl %edi,%ebx - xorl 48(%rsp),%ebp - andl %esi,%eax - movl %r12d,%ecx - xorl 8(%rsp),%ebp - leal -1894007588(%rdx,%r11,1),%r11d - xorl %esi,%ebx - roll $5,%ecx - addl %eax,%r11d - roll $1,%ebp - andl %r13d,%ebx - addl %ecx,%r11d - roll $30,%r13d - addl %ebx,%r11d - xorl 44(%rsp),%r14d - movl %esi,%eax - movl %ebp,40(%rsp) - movl %esi,%ebx - xorl 52(%rsp),%r14d - andl %r13d,%eax - movl %r11d,%ecx - xorl 12(%rsp),%r14d - leal -1894007588(%rbp,%rdi,1),%edi - xorl %r13d,%ebx - roll $5,%ecx - addl %eax,%edi - roll $1,%r14d - andl %r12d,%ebx - addl %ecx,%edi - roll $30,%r12d - addl %ebx,%edi - xorl 48(%rsp),%edx - movl %r13d,%eax - movl %r14d,44(%rsp) - movl %r13d,%ebx - xorl 56(%rsp),%edx - andl %r12d,%eax - movl %edi,%ecx - xorl 16(%rsp),%edx - leal -1894007588(%r14,%rsi,1),%esi - xorl %r12d,%ebx - roll $5,%ecx - addl %eax,%esi - roll $1,%edx - andl %r11d,%ebx - addl %ecx,%esi - roll $30,%r11d - addl %ebx,%esi - xorl 52(%rsp),%ebp - movl %edi,%eax - movl %edx,48(%rsp) - movl %esi,%ecx - xorl 60(%rsp),%ebp - xorl %r12d,%eax - roll $5,%ecx - xorl 20(%rsp),%ebp - leal -899497514(%rdx,%r13,1),%r13d - xorl %r11d,%eax - addl %ecx,%r13d - roll $30,%edi - addl %eax,%r13d - roll $1,%ebp - xorl 56(%rsp),%r14d - movl %esi,%eax - movl %ebp,52(%rsp) - movl %r13d,%ecx - xorl 0(%rsp),%r14d - xorl %r11d,%eax - roll $5,%ecx - xorl 24(%rsp),%r14d - leal -899497514(%rbp,%r12,1),%r12d - xorl %edi,%eax - addl %ecx,%r12d - roll $30,%esi - addl %eax,%r12d - roll $1,%r14d - xorl 60(%rsp),%edx - movl %r13d,%eax - movl %r14d,56(%rsp) - movl %r12d,%ecx - xorl 4(%rsp),%edx - xorl %edi,%eax - roll $5,%ecx - xorl 28(%rsp),%edx - leal -899497514(%r14,%r11,1),%r11d - xorl %esi,%eax - addl %ecx,%r11d - roll $30,%r13d - addl %eax,%r11d - roll $1,%edx - xorl 0(%rsp),%ebp - movl %r12d,%eax - movl %edx,60(%rsp) - movl %r11d,%ecx - xorl 8(%rsp),%ebp - xorl %esi,%eax - roll $5,%ecx - xorl 32(%rsp),%ebp - leal -899497514(%rdx,%rdi,1),%edi - xorl %r13d,%eax - addl %ecx,%edi - roll $30,%r12d - addl %eax,%edi - roll $1,%ebp - xorl 4(%rsp),%r14d - movl %r11d,%eax - movl %ebp,0(%rsp) - movl %edi,%ecx - xorl 12(%rsp),%r14d - xorl %r13d,%eax - roll $5,%ecx - xorl 36(%rsp),%r14d - leal -899497514(%rbp,%rsi,1),%esi - xorl %r12d,%eax - addl %ecx,%esi - roll $30,%r11d - addl %eax,%esi - roll $1,%r14d - xorl 8(%rsp),%edx - movl %edi,%eax - movl %r14d,4(%rsp) - movl %esi,%ecx - xorl 16(%rsp),%edx - xorl %r12d,%eax - roll $5,%ecx - xorl 40(%rsp),%edx - leal -899497514(%r14,%r13,1),%r13d - xorl %r11d,%eax - addl %ecx,%r13d - roll $30,%edi - addl %eax,%r13d - roll $1,%edx - xorl 12(%rsp),%ebp - movl %esi,%eax - movl %edx,8(%rsp) - movl %r13d,%ecx - xorl 20(%rsp),%ebp - xorl %r11d,%eax - roll $5,%ecx - xorl 44(%rsp),%ebp - leal -899497514(%rdx,%r12,1),%r12d - xorl %edi,%eax - addl %ecx,%r12d - roll $30,%esi - addl %eax,%r12d - roll $1,%ebp - xorl 16(%rsp),%r14d - movl %r13d,%eax - movl %ebp,12(%rsp) - movl %r12d,%ecx - xorl 24(%rsp),%r14d - xorl %edi,%eax - roll $5,%ecx - xorl 48(%rsp),%r14d - leal -899497514(%rbp,%r11,1),%r11d - xorl %esi,%eax - addl %ecx,%r11d - roll $30,%r13d - addl %eax,%r11d - roll $1,%r14d - xorl 20(%rsp),%edx - movl %r12d,%eax - movl %r14d,16(%rsp) - movl %r11d,%ecx - xorl 28(%rsp),%edx - xorl %esi,%eax - roll $5,%ecx - xorl 52(%rsp),%edx - leal -899497514(%r14,%rdi,1),%edi - xorl %r13d,%eax - addl %ecx,%edi - roll $30,%r12d - addl %eax,%edi - roll $1,%edx - xorl 24(%rsp),%ebp - movl %r11d,%eax - movl %edx,20(%rsp) - movl %edi,%ecx - xorl 32(%rsp),%ebp - xorl %r13d,%eax - roll $5,%ecx - xorl 56(%rsp),%ebp - leal -899497514(%rdx,%rsi,1),%esi - xorl %r12d,%eax - addl %ecx,%esi - roll $30,%r11d - addl %eax,%esi - roll $1,%ebp - xorl 28(%rsp),%r14d - movl %edi,%eax - movl %ebp,24(%rsp) - movl %esi,%ecx - xorl 36(%rsp),%r14d - xorl %r12d,%eax - roll $5,%ecx - xorl 60(%rsp),%r14d - leal -899497514(%rbp,%r13,1),%r13d - xorl %r11d,%eax - addl %ecx,%r13d - roll $30,%edi - addl %eax,%r13d - roll $1,%r14d - xorl 32(%rsp),%edx - movl %esi,%eax - movl %r14d,28(%rsp) - movl %r13d,%ecx - xorl 40(%rsp),%edx - xorl %r11d,%eax - roll $5,%ecx - xorl 0(%rsp),%edx - leal -899497514(%r14,%r12,1),%r12d - xorl %edi,%eax - addl %ecx,%r12d - roll $30,%esi - addl %eax,%r12d - roll $1,%edx - xorl 36(%rsp),%ebp - movl %r13d,%eax - - movl %r12d,%ecx - xorl 44(%rsp),%ebp - xorl %edi,%eax - roll $5,%ecx - xorl 4(%rsp),%ebp - leal -899497514(%rdx,%r11,1),%r11d - xorl %esi,%eax - addl %ecx,%r11d - roll $30,%r13d - addl %eax,%r11d - roll $1,%ebp - xorl 40(%rsp),%r14d - movl %r12d,%eax - - movl %r11d,%ecx - xorl 48(%rsp),%r14d - xorl %esi,%eax - roll $5,%ecx - xorl 8(%rsp),%r14d - leal -899497514(%rbp,%rdi,1),%edi - xorl %r13d,%eax - addl %ecx,%edi - roll $30,%r12d - addl %eax,%edi - roll $1,%r14d - xorl 44(%rsp),%edx - movl %r11d,%eax - - movl %edi,%ecx - xorl 52(%rsp),%edx - xorl %r13d,%eax - roll $5,%ecx - xorl 12(%rsp),%edx - leal -899497514(%r14,%rsi,1),%esi - xorl %r12d,%eax - addl %ecx,%esi - roll $30,%r11d - addl %eax,%esi - roll $1,%edx - xorl 48(%rsp),%ebp - movl %edi,%eax - - movl %esi,%ecx - xorl 56(%rsp),%ebp - xorl %r12d,%eax - roll $5,%ecx - xorl 16(%rsp),%ebp - leal -899497514(%rdx,%r13,1),%r13d - xorl %r11d,%eax - addl %ecx,%r13d - roll $30,%edi - addl %eax,%r13d - roll $1,%ebp - xorl 52(%rsp),%r14d - movl %esi,%eax - - movl %r13d,%ecx - xorl 60(%rsp),%r14d - xorl %r11d,%eax - roll $5,%ecx - xorl 20(%rsp),%r14d - leal -899497514(%rbp,%r12,1),%r12d - xorl %edi,%eax - addl %ecx,%r12d - roll $30,%esi - addl %eax,%r12d - roll $1,%r14d - xorl 56(%rsp),%edx - movl %r13d,%eax - - movl %r12d,%ecx - xorl 0(%rsp),%edx - xorl %edi,%eax - roll $5,%ecx - xorl 24(%rsp),%edx - leal -899497514(%r14,%r11,1),%r11d - xorl %esi,%eax - addl %ecx,%r11d - roll $30,%r13d - addl %eax,%r11d - roll $1,%edx - xorl 60(%rsp),%ebp - movl %r12d,%eax - - movl %r11d,%ecx - xorl 4(%rsp),%ebp - xorl %esi,%eax - roll $5,%ecx - xorl 28(%rsp),%ebp - leal -899497514(%rdx,%rdi,1),%edi - xorl %r13d,%eax - addl %ecx,%edi - roll $30,%r12d - addl %eax,%edi - roll $1,%ebp - movl %r11d,%eax - movl %edi,%ecx - xorl %r13d,%eax - leal -899497514(%rbp,%rsi,1),%esi - roll $5,%ecx - xorl %r12d,%eax - addl %ecx,%esi - roll $30,%r11d - addl %eax,%esi - addl 0(%r8),%esi - addl 4(%r8),%edi - addl 8(%r8),%r11d - addl 12(%r8),%r12d - addl 16(%r8),%r13d - movl %esi,0(%r8) - movl %edi,4(%r8) - movl %r11d,8(%r8) - movl %r12d,12(%r8) - movl %r13d,16(%r8) - - subq $1,%r10 - leaq 64(%r9),%r9 - jnz .Lloop - - movq 64(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lepilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size sha1_block_data_order,.-sha1_block_data_order -.type sha1_block_data_order_shaext,@function -.align 32 -sha1_block_data_order_shaext: -_shaext_shortcut: -.cfi_startproc - movdqu (%rdi),%xmm0 - movd 16(%rdi),%xmm1 - movdqa K_XX_XX+160(%rip),%xmm3 - - movdqu (%rsi),%xmm4 - pshufd $27,%xmm0,%xmm0 - movdqu 16(%rsi),%xmm5 - pshufd $27,%xmm1,%xmm1 - movdqu 32(%rsi),%xmm6 -.byte 102,15,56,0,227 - movdqu 48(%rsi),%xmm7 -.byte 102,15,56,0,235 -.byte 102,15,56,0,243 - movdqa %xmm1,%xmm9 -.byte 102,15,56,0,251 - jmp .Loop_shaext - -.align 16 -.Loop_shaext: - decq %rdx - leaq 64(%rsi),%r8 - paddd %xmm4,%xmm1 - cmovneq %r8,%rsi - movdqa %xmm0,%xmm8 -.byte 15,56,201,229 - movdqa %xmm0,%xmm2 -.byte 15,58,204,193,0 -.byte 15,56,200,213 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 -.byte 15,56,202,231 - - movdqa %xmm0,%xmm1 -.byte 15,58,204,194,0 -.byte 15,56,200,206 - pxor %xmm7,%xmm5 -.byte 15,56,202,236 -.byte 15,56,201,247 - movdqa %xmm0,%xmm2 -.byte 15,58,204,193,0 -.byte 15,56,200,215 - pxor %xmm4,%xmm6 -.byte 15,56,201,252 -.byte 15,56,202,245 - - movdqa %xmm0,%xmm1 -.byte 15,58,204,194,0 -.byte 15,56,200,204 - pxor %xmm5,%xmm7 -.byte 15,56,202,254 -.byte 15,56,201,229 - movdqa %xmm0,%xmm2 -.byte 15,58,204,193,0 -.byte 15,56,200,213 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 -.byte 15,56,202,231 - - movdqa %xmm0,%xmm1 -.byte 15,58,204,194,1 -.byte 15,56,200,206 - pxor %xmm7,%xmm5 -.byte 15,56,202,236 -.byte 15,56,201,247 - movdqa %xmm0,%xmm2 -.byte 15,58,204,193,1 -.byte 15,56,200,215 - pxor %xmm4,%xmm6 -.byte 15,56,201,252 -.byte 15,56,202,245 - - movdqa %xmm0,%xmm1 -.byte 15,58,204,194,1 -.byte 15,56,200,204 - pxor %xmm5,%xmm7 -.byte 15,56,202,254 -.byte 15,56,201,229 - movdqa %xmm0,%xmm2 -.byte 15,58,204,193,1 -.byte 15,56,200,213 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 -.byte 15,56,202,231 - - movdqa %xmm0,%xmm1 -.byte 15,58,204,194,1 -.byte 15,56,200,206 - pxor %xmm7,%xmm5 -.byte 15,56,202,236 -.byte 15,56,201,247 - movdqa %xmm0,%xmm2 -.byte 15,58,204,193,2 -.byte 15,56,200,215 - pxor %xmm4,%xmm6 -.byte 15,56,201,252 -.byte 15,56,202,245 - - movdqa %xmm0,%xmm1 -.byte 15,58,204,194,2 -.byte 15,56,200,204 - pxor %xmm5,%xmm7 -.byte 15,56,202,254 -.byte 15,56,201,229 - movdqa %xmm0,%xmm2 -.byte 15,58,204,193,2 -.byte 15,56,200,213 - pxor %xmm6,%xmm4 -.byte 15,56,201,238 -.byte 15,56,202,231 - - movdqa %xmm0,%xmm1 -.byte 15,58,204,194,2 -.byte 15,56,200,206 - pxor %xmm7,%xmm5 -.byte 15,56,202,236 -.byte 15,56,201,247 - movdqa %xmm0,%xmm2 -.byte 15,58,204,193,2 -.byte 15,56,200,215 - pxor %xmm4,%xmm6 -.byte 15,56,201,252 -.byte 15,56,202,245 - - movdqa %xmm0,%xmm1 -.byte 15,58,204,194,3 -.byte 15,56,200,204 - pxor %xmm5,%xmm7 -.byte 15,56,202,254 - movdqu (%rsi),%xmm4 - movdqa %xmm0,%xmm2 -.byte 15,58,204,193,3 -.byte 15,56,200,213 - movdqu 16(%rsi),%xmm5 -.byte 102,15,56,0,227 - - movdqa %xmm0,%xmm1 -.byte 15,58,204,194,3 -.byte 15,56,200,206 - movdqu 32(%rsi),%xmm6 -.byte 102,15,56,0,235 - - movdqa %xmm0,%xmm2 -.byte 15,58,204,193,3 -.byte 15,56,200,215 - movdqu 48(%rsi),%xmm7 -.byte 102,15,56,0,243 - - movdqa %xmm0,%xmm1 -.byte 15,58,204,194,3 -.byte 65,15,56,200,201 -.byte 102,15,56,0,251 - - paddd %xmm8,%xmm0 - movdqa %xmm1,%xmm9 - - jnz .Loop_shaext - - pshufd $27,%xmm0,%xmm0 - pshufd $27,%xmm1,%xmm1 - movdqu %xmm0,(%rdi) - movd %xmm1,16(%rdi) - .byte 0xf3,0xc3 -.cfi_endproc -.size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext -.type sha1_block_data_order_ssse3,@function -.align 16 -sha1_block_data_order_ssse3: -_ssse3_shortcut: -.cfi_startproc - movq %rsp,%r11 -.cfi_def_cfa_register %r11 - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - leaq -64(%rsp),%rsp - andq $-64,%rsp - movq %rdi,%r8 - movq %rsi,%r9 - movq %rdx,%r10 - - shlq $6,%r10 - addq %r9,%r10 - leaq K_XX_XX+64(%rip),%r14 - - movl 0(%r8),%eax - movl 4(%r8),%ebx - movl 8(%r8),%ecx - movl 12(%r8),%edx - movl %ebx,%esi - movl 16(%r8),%ebp - movl %ecx,%edi - xorl %edx,%edi - andl %edi,%esi - - movdqa 64(%r14),%xmm6 - movdqa -64(%r14),%xmm9 - movdqu 0(%r9),%xmm0 - movdqu 16(%r9),%xmm1 - movdqu 32(%r9),%xmm2 - movdqu 48(%r9),%xmm3 -.byte 102,15,56,0,198 -.byte 102,15,56,0,206 -.byte 102,15,56,0,214 - addq $64,%r9 - paddd %xmm9,%xmm0 -.byte 102,15,56,0,222 - paddd %xmm9,%xmm1 - paddd %xmm9,%xmm2 - movdqa %xmm0,0(%rsp) - psubd %xmm9,%xmm0 - movdqa %xmm1,16(%rsp) - psubd %xmm9,%xmm1 - movdqa %xmm2,32(%rsp) - psubd %xmm9,%xmm2 - jmp .Loop_ssse3 -.align 16 -.Loop_ssse3: - rorl $2,%ebx - pshufd $238,%xmm0,%xmm4 - xorl %edx,%esi - movdqa %xmm3,%xmm8 - paddd %xmm3,%xmm9 - movl %eax,%edi - addl 0(%rsp),%ebp - punpcklqdq %xmm1,%xmm4 - xorl %ecx,%ebx - roll $5,%eax - addl %esi,%ebp - psrldq $4,%xmm8 - andl %ebx,%edi - xorl %ecx,%ebx - pxor %xmm0,%xmm4 - addl %eax,%ebp - rorl $7,%eax - pxor %xmm2,%xmm8 - xorl %ecx,%edi - movl %ebp,%esi - addl 4(%rsp),%edx - pxor %xmm8,%xmm4 - xorl %ebx,%eax - roll $5,%ebp - movdqa %xmm9,48(%rsp) - addl %edi,%edx - andl %eax,%esi - movdqa %xmm4,%xmm10 - xorl %ebx,%eax - addl %ebp,%edx - rorl $7,%ebp - movdqa %xmm4,%xmm8 - xorl %ebx,%esi - pslldq $12,%xmm10 - paddd %xmm4,%xmm4 - movl %edx,%edi - addl 8(%rsp),%ecx - psrld $31,%xmm8 - xorl %eax,%ebp - roll $5,%edx - addl %esi,%ecx - movdqa %xmm10,%xmm9 - andl %ebp,%edi - xorl %eax,%ebp - psrld $30,%xmm10 - addl %edx,%ecx - rorl $7,%edx - por %xmm8,%xmm4 - xorl %eax,%edi - movl %ecx,%esi - addl 12(%rsp),%ebx - pslld $2,%xmm9 - pxor %xmm10,%xmm4 - xorl %ebp,%edx - movdqa -64(%r14),%xmm10 - roll $5,%ecx - addl %edi,%ebx - andl %edx,%esi - pxor %xmm9,%xmm4 - xorl %ebp,%edx - addl %ecx,%ebx - rorl $7,%ecx - pshufd $238,%xmm1,%xmm5 - xorl %ebp,%esi - movdqa %xmm4,%xmm9 - paddd %xmm4,%xmm10 - movl %ebx,%edi - addl 16(%rsp),%eax - punpcklqdq %xmm2,%xmm5 - xorl %edx,%ecx - roll $5,%ebx - addl %esi,%eax - psrldq $4,%xmm9 - andl %ecx,%edi - xorl %edx,%ecx - pxor %xmm1,%xmm5 - addl %ebx,%eax - rorl $7,%ebx - pxor %xmm3,%xmm9 - xorl %edx,%edi - movl %eax,%esi - addl 20(%rsp),%ebp - pxor %xmm9,%xmm5 - xorl %ecx,%ebx - roll $5,%eax - movdqa %xmm10,0(%rsp) - addl %edi,%ebp - andl %ebx,%esi - movdqa %xmm5,%xmm8 - xorl %ecx,%ebx - addl %eax,%ebp - rorl $7,%eax - movdqa %xmm5,%xmm9 - xorl %ecx,%esi - pslldq $12,%xmm8 - paddd %xmm5,%xmm5 - movl %ebp,%edi - addl 24(%rsp),%edx - psrld $31,%xmm9 - xorl %ebx,%eax - roll $5,%ebp - addl %esi,%edx - movdqa %xmm8,%xmm10 - andl %eax,%edi - xorl %ebx,%eax - psrld $30,%xmm8 - addl %ebp,%edx - rorl $7,%ebp - por %xmm9,%xmm5 - xorl %ebx,%edi - movl %edx,%esi - addl 28(%rsp),%ecx - pslld $2,%xmm10 - pxor %xmm8,%xmm5 - xorl %eax,%ebp - movdqa -32(%r14),%xmm8 - roll $5,%edx - addl %edi,%ecx - andl %ebp,%esi - pxor %xmm10,%xmm5 - xorl %eax,%ebp - addl %edx,%ecx - rorl $7,%edx - pshufd $238,%xmm2,%xmm6 - xorl %eax,%esi - movdqa %xmm5,%xmm10 - paddd %xmm5,%xmm8 - movl %ecx,%edi - addl 32(%rsp),%ebx - punpcklqdq %xmm3,%xmm6 - xorl %ebp,%edx - roll $5,%ecx - addl %esi,%ebx - psrldq $4,%xmm10 - andl %edx,%edi - xorl %ebp,%edx - pxor %xmm2,%xmm6 - addl %ecx,%ebx - rorl $7,%ecx - pxor %xmm4,%xmm10 - xorl %ebp,%edi - movl %ebx,%esi - addl 36(%rsp),%eax - pxor %xmm10,%xmm6 - xorl %edx,%ecx - roll $5,%ebx - movdqa %xmm8,16(%rsp) - addl %edi,%eax - andl %ecx,%esi - movdqa %xmm6,%xmm9 - xorl %edx,%ecx - addl %ebx,%eax - rorl $7,%ebx - movdqa %xmm6,%xmm10 - xorl %edx,%esi - pslldq $12,%xmm9 - paddd %xmm6,%xmm6 - movl %eax,%edi - addl 40(%rsp),%ebp - psrld $31,%xmm10 - xorl %ecx,%ebx - roll $5,%eax - addl %esi,%ebp - movdqa %xmm9,%xmm8 - andl %ebx,%edi - xorl %ecx,%ebx - psrld $30,%xmm9 - addl %eax,%ebp - rorl $7,%eax - por %xmm10,%xmm6 - xorl %ecx,%edi - movl %ebp,%esi - addl 44(%rsp),%edx - pslld $2,%xmm8 - pxor %xmm9,%xmm6 - xorl %ebx,%eax - movdqa -32(%r14),%xmm9 - roll $5,%ebp - addl %edi,%edx - andl %eax,%esi - pxor %xmm8,%xmm6 - xorl %ebx,%eax - addl %ebp,%edx - rorl $7,%ebp - pshufd $238,%xmm3,%xmm7 - xorl %ebx,%esi - movdqa %xmm6,%xmm8 - paddd %xmm6,%xmm9 - movl %edx,%edi - addl 48(%rsp),%ecx - punpcklqdq %xmm4,%xmm7 - xorl %eax,%ebp - roll $5,%edx - addl %esi,%ecx - psrldq $4,%xmm8 - andl %ebp,%edi - xorl %eax,%ebp - pxor %xmm3,%xmm7 - addl %edx,%ecx - rorl $7,%edx - pxor %xmm5,%xmm8 - xorl %eax,%edi - movl %ecx,%esi - addl 52(%rsp),%ebx - pxor %xmm8,%xmm7 - xorl %ebp,%edx - roll $5,%ecx - movdqa %xmm9,32(%rsp) - addl %edi,%ebx - andl %edx,%esi - movdqa %xmm7,%xmm10 - xorl %ebp,%edx - addl %ecx,%ebx - rorl $7,%ecx - movdqa %xmm7,%xmm8 - xorl %ebp,%esi - pslldq $12,%xmm10 - paddd %xmm7,%xmm7 - movl %ebx,%edi - addl 56(%rsp),%eax - psrld $31,%xmm8 - xorl %edx,%ecx - roll $5,%ebx - addl %esi,%eax - movdqa %xmm10,%xmm9 - andl %ecx,%edi - xorl %edx,%ecx - psrld $30,%xmm10 - addl %ebx,%eax - rorl $7,%ebx - por %xmm8,%xmm7 - xorl %edx,%edi - movl %eax,%esi - addl 60(%rsp),%ebp - pslld $2,%xmm9 - pxor %xmm10,%xmm7 - xorl %ecx,%ebx - movdqa -32(%r14),%xmm10 - roll $5,%eax - addl %edi,%ebp - andl %ebx,%esi - pxor %xmm9,%xmm7 - pshufd $238,%xmm6,%xmm9 - xorl %ecx,%ebx - addl %eax,%ebp - rorl $7,%eax - pxor %xmm4,%xmm0 - xorl %ecx,%esi - movl %ebp,%edi - addl 0(%rsp),%edx - punpcklqdq %xmm7,%xmm9 - xorl %ebx,%eax - roll $5,%ebp - pxor %xmm1,%xmm0 - addl %esi,%edx - andl %eax,%edi - movdqa %xmm10,%xmm8 - xorl %ebx,%eax - paddd %xmm7,%xmm10 - addl %ebp,%edx - pxor %xmm9,%xmm0 - rorl $7,%ebp - xorl %ebx,%edi - movl %edx,%esi - addl 4(%rsp),%ecx - movdqa %xmm0,%xmm9 - xorl %eax,%ebp - roll $5,%edx - movdqa %xmm10,48(%rsp) - addl %edi,%ecx - andl %ebp,%esi - xorl %eax,%ebp - pslld $2,%xmm0 - addl %edx,%ecx - rorl $7,%edx - psrld $30,%xmm9 - xorl %eax,%esi - movl %ecx,%edi - addl 8(%rsp),%ebx - por %xmm9,%xmm0 - xorl %ebp,%edx - roll $5,%ecx - pshufd $238,%xmm7,%xmm10 - addl %esi,%ebx - andl %edx,%edi - xorl %ebp,%edx - addl %ecx,%ebx - addl 12(%rsp),%eax - xorl %ebp,%edi - movl %ebx,%esi - roll $5,%ebx - addl %edi,%eax - xorl %edx,%esi - rorl $7,%ecx - addl %ebx,%eax - pxor %xmm5,%xmm1 - addl 16(%rsp),%ebp - xorl %ecx,%esi - punpcklqdq %xmm0,%xmm10 - movl %eax,%edi - roll $5,%eax - pxor %xmm2,%xmm1 - addl %esi,%ebp - xorl %ecx,%edi - movdqa %xmm8,%xmm9 - rorl $7,%ebx - paddd %xmm0,%xmm8 - addl %eax,%ebp - pxor %xmm10,%xmm1 - addl 20(%rsp),%edx - xorl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - movdqa %xmm1,%xmm10 - addl %edi,%edx - xorl %ebx,%esi - movdqa %xmm8,0(%rsp) - rorl $7,%eax - addl %ebp,%edx - addl 24(%rsp),%ecx - pslld $2,%xmm1 - xorl %eax,%esi - movl %edx,%edi - psrld $30,%xmm10 - roll $5,%edx - addl %esi,%ecx - xorl %eax,%edi - rorl $7,%ebp - por %xmm10,%xmm1 - addl %edx,%ecx - addl 28(%rsp),%ebx - pshufd $238,%xmm0,%xmm8 - xorl %ebp,%edi - movl %ecx,%esi - roll $5,%ecx - addl %edi,%ebx - xorl %ebp,%esi - rorl $7,%edx - addl %ecx,%ebx - pxor %xmm6,%xmm2 - addl 32(%rsp),%eax - xorl %edx,%esi - punpcklqdq %xmm1,%xmm8 - movl %ebx,%edi - roll $5,%ebx - pxor %xmm3,%xmm2 - addl %esi,%eax - xorl %edx,%edi - movdqa 0(%r14),%xmm10 - rorl $7,%ecx - paddd %xmm1,%xmm9 - addl %ebx,%eax - pxor %xmm8,%xmm2 - addl 36(%rsp),%ebp - xorl %ecx,%edi - movl %eax,%esi - roll $5,%eax - movdqa %xmm2,%xmm8 - addl %edi,%ebp - xorl %ecx,%esi - movdqa %xmm9,16(%rsp) - rorl $7,%ebx - addl %eax,%ebp - addl 40(%rsp),%edx - pslld $2,%xmm2 - xorl %ebx,%esi - movl %ebp,%edi - psrld $30,%xmm8 - roll $5,%ebp - addl %esi,%edx - xorl %ebx,%edi - rorl $7,%eax - por %xmm8,%xmm2 - addl %ebp,%edx - addl 44(%rsp),%ecx - pshufd $238,%xmm1,%xmm9 - xorl %eax,%edi - movl %edx,%esi - roll $5,%edx - addl %edi,%ecx - xorl %eax,%esi - rorl $7,%ebp - addl %edx,%ecx - pxor %xmm7,%xmm3 - addl 48(%rsp),%ebx - xorl %ebp,%esi - punpcklqdq %xmm2,%xmm9 - movl %ecx,%edi - roll $5,%ecx - pxor %xmm4,%xmm3 - addl %esi,%ebx - xorl %ebp,%edi - movdqa %xmm10,%xmm8 - rorl $7,%edx - paddd %xmm2,%xmm10 - addl %ecx,%ebx - pxor %xmm9,%xmm3 - addl 52(%rsp),%eax - xorl %edx,%edi - movl %ebx,%esi - roll $5,%ebx - movdqa %xmm3,%xmm9 - addl %edi,%eax - xorl %edx,%esi - movdqa %xmm10,32(%rsp) - rorl $7,%ecx - addl %ebx,%eax - addl 56(%rsp),%ebp - pslld $2,%xmm3 - xorl %ecx,%esi - movl %eax,%edi - psrld $30,%xmm9 - roll $5,%eax - addl %esi,%ebp - xorl %ecx,%edi - rorl $7,%ebx - por %xmm9,%xmm3 - addl %eax,%ebp - addl 60(%rsp),%edx - pshufd $238,%xmm2,%xmm10 - xorl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - addl %edi,%edx - xorl %ebx,%esi - rorl $7,%eax - addl %ebp,%edx - pxor %xmm0,%xmm4 - addl 0(%rsp),%ecx - xorl %eax,%esi - punpcklqdq %xmm3,%xmm10 - movl %edx,%edi - roll $5,%edx - pxor %xmm5,%xmm4 - addl %esi,%ecx - xorl %eax,%edi - movdqa %xmm8,%xmm9 - rorl $7,%ebp - paddd %xmm3,%xmm8 - addl %edx,%ecx - pxor %xmm10,%xmm4 - addl 4(%rsp),%ebx - xorl %ebp,%edi - movl %ecx,%esi - roll $5,%ecx - movdqa %xmm4,%xmm10 - addl %edi,%ebx - xorl %ebp,%esi - movdqa %xmm8,48(%rsp) - rorl $7,%edx - addl %ecx,%ebx - addl 8(%rsp),%eax - pslld $2,%xmm4 - xorl %edx,%esi - movl %ebx,%edi - psrld $30,%xmm10 - roll $5,%ebx - addl %esi,%eax - xorl %edx,%edi - rorl $7,%ecx - por %xmm10,%xmm4 - addl %ebx,%eax - addl 12(%rsp),%ebp - pshufd $238,%xmm3,%xmm8 - xorl %ecx,%edi - movl %eax,%esi - roll $5,%eax - addl %edi,%ebp - xorl %ecx,%esi - rorl $7,%ebx - addl %eax,%ebp - pxor %xmm1,%xmm5 - addl 16(%rsp),%edx - xorl %ebx,%esi - punpcklqdq %xmm4,%xmm8 - movl %ebp,%edi - roll $5,%ebp - pxor %xmm6,%xmm5 - addl %esi,%edx - xorl %ebx,%edi - movdqa %xmm9,%xmm10 - rorl $7,%eax - paddd %xmm4,%xmm9 - addl %ebp,%edx - pxor %xmm8,%xmm5 - addl 20(%rsp),%ecx - xorl %eax,%edi - movl %edx,%esi - roll $5,%edx - movdqa %xmm5,%xmm8 - addl %edi,%ecx - xorl %eax,%esi - movdqa %xmm9,0(%rsp) - rorl $7,%ebp - addl %edx,%ecx - addl 24(%rsp),%ebx - pslld $2,%xmm5 - xorl %ebp,%esi - movl %ecx,%edi - psrld $30,%xmm8 - roll $5,%ecx - addl %esi,%ebx - xorl %ebp,%edi - rorl $7,%edx - por %xmm8,%xmm5 - addl %ecx,%ebx - addl 28(%rsp),%eax - pshufd $238,%xmm4,%xmm9 - rorl $7,%ecx - movl %ebx,%esi - xorl %edx,%edi - roll $5,%ebx - addl %edi,%eax - xorl %ecx,%esi - xorl %edx,%ecx - addl %ebx,%eax - pxor %xmm2,%xmm6 - addl 32(%rsp),%ebp - andl %ecx,%esi - xorl %edx,%ecx - rorl $7,%ebx - punpcklqdq %xmm5,%xmm9 - movl %eax,%edi - xorl %ecx,%esi - pxor %xmm7,%xmm6 - roll $5,%eax - addl %esi,%ebp - movdqa %xmm10,%xmm8 - xorl %ebx,%edi - paddd %xmm5,%xmm10 - xorl %ecx,%ebx - pxor %xmm9,%xmm6 - addl %eax,%ebp - addl 36(%rsp),%edx - andl %ebx,%edi - xorl %ecx,%ebx - rorl $7,%eax - movdqa %xmm6,%xmm9 - movl %ebp,%esi - xorl %ebx,%edi - movdqa %xmm10,16(%rsp) - roll $5,%ebp - addl %edi,%edx - xorl %eax,%esi - pslld $2,%xmm6 - xorl %ebx,%eax - addl %ebp,%edx - psrld $30,%xmm9 - addl 40(%rsp),%ecx - andl %eax,%esi - xorl %ebx,%eax - por %xmm9,%xmm6 - rorl $7,%ebp - movl %edx,%edi - xorl %eax,%esi - roll $5,%edx - pshufd $238,%xmm5,%xmm10 - addl %esi,%ecx - xorl %ebp,%edi - xorl %eax,%ebp - addl %edx,%ecx - addl 44(%rsp),%ebx - andl %ebp,%edi - xorl %eax,%ebp - rorl $7,%edx - movl %ecx,%esi - xorl %ebp,%edi - roll $5,%ecx - addl %edi,%ebx - xorl %edx,%esi - xorl %ebp,%edx - addl %ecx,%ebx - pxor %xmm3,%xmm7 - addl 48(%rsp),%eax - andl %edx,%esi - xorl %ebp,%edx - rorl $7,%ecx - punpcklqdq %xmm6,%xmm10 - movl %ebx,%edi - xorl %edx,%esi - pxor %xmm0,%xmm7 - roll $5,%ebx - addl %esi,%eax - movdqa 32(%r14),%xmm9 - xorl %ecx,%edi - paddd %xmm6,%xmm8 - xorl %edx,%ecx - pxor %xmm10,%xmm7 - addl %ebx,%eax - addl 52(%rsp),%ebp - andl %ecx,%edi - xorl %edx,%ecx - rorl $7,%ebx - movdqa %xmm7,%xmm10 - movl %eax,%esi - xorl %ecx,%edi - movdqa %xmm8,32(%rsp) - roll $5,%eax - addl %edi,%ebp - xorl %ebx,%esi - pslld $2,%xmm7 - xorl %ecx,%ebx - addl %eax,%ebp - psrld $30,%xmm10 - addl 56(%rsp),%edx - andl %ebx,%esi - xorl %ecx,%ebx - por %xmm10,%xmm7 - rorl $7,%eax - movl %ebp,%edi - xorl %ebx,%esi - roll $5,%ebp - pshufd $238,%xmm6,%xmm8 - addl %esi,%edx - xorl %eax,%edi - xorl %ebx,%eax - addl %ebp,%edx - addl 60(%rsp),%ecx - andl %eax,%edi - xorl %ebx,%eax - rorl $7,%ebp - movl %edx,%esi - xorl %eax,%edi - roll $5,%edx - addl %edi,%ecx - xorl %ebp,%esi - xorl %eax,%ebp - addl %edx,%ecx - pxor %xmm4,%xmm0 - addl 0(%rsp),%ebx - andl %ebp,%esi - xorl %eax,%ebp - rorl $7,%edx - punpcklqdq %xmm7,%xmm8 - movl %ecx,%edi - xorl %ebp,%esi - pxor %xmm1,%xmm0 - roll $5,%ecx - addl %esi,%ebx - movdqa %xmm9,%xmm10 - xorl %edx,%edi - paddd %xmm7,%xmm9 - xorl %ebp,%edx - pxor %xmm8,%xmm0 - addl %ecx,%ebx - addl 4(%rsp),%eax - andl %edx,%edi - xorl %ebp,%edx - rorl $7,%ecx - movdqa %xmm0,%xmm8 - movl %ebx,%esi - xorl %edx,%edi - movdqa %xmm9,48(%rsp) - roll $5,%ebx - addl %edi,%eax - xorl %ecx,%esi - pslld $2,%xmm0 - xorl %edx,%ecx - addl %ebx,%eax - psrld $30,%xmm8 - addl 8(%rsp),%ebp - andl %ecx,%esi - xorl %edx,%ecx - por %xmm8,%xmm0 - rorl $7,%ebx - movl %eax,%edi - xorl %ecx,%esi - roll $5,%eax - pshufd $238,%xmm7,%xmm9 - addl %esi,%ebp - xorl %ebx,%edi - xorl %ecx,%ebx - addl %eax,%ebp - addl 12(%rsp),%edx - andl %ebx,%edi - xorl %ecx,%ebx - rorl $7,%eax - movl %ebp,%esi - xorl %ebx,%edi - roll $5,%ebp - addl %edi,%edx - xorl %eax,%esi - xorl %ebx,%eax - addl %ebp,%edx - pxor %xmm5,%xmm1 - addl 16(%rsp),%ecx - andl %eax,%esi - xorl %ebx,%eax - rorl $7,%ebp - punpcklqdq %xmm0,%xmm9 - movl %edx,%edi - xorl %eax,%esi - pxor %xmm2,%xmm1 - roll $5,%edx - addl %esi,%ecx - movdqa %xmm10,%xmm8 - xorl %ebp,%edi - paddd %xmm0,%xmm10 - xorl %eax,%ebp - pxor %xmm9,%xmm1 - addl %edx,%ecx - addl 20(%rsp),%ebx - andl %ebp,%edi - xorl %eax,%ebp - rorl $7,%edx - movdqa %xmm1,%xmm9 - movl %ecx,%esi - xorl %ebp,%edi - movdqa %xmm10,0(%rsp) - roll $5,%ecx - addl %edi,%ebx - xorl %edx,%esi - pslld $2,%xmm1 - xorl %ebp,%edx - addl %ecx,%ebx - psrld $30,%xmm9 - addl 24(%rsp),%eax - andl %edx,%esi - xorl %ebp,%edx - por %xmm9,%xmm1 - rorl $7,%ecx - movl %ebx,%edi - xorl %edx,%esi - roll $5,%ebx - pshufd $238,%xmm0,%xmm10 - addl %esi,%eax - xorl %ecx,%edi - xorl %edx,%ecx - addl %ebx,%eax - addl 28(%rsp),%ebp - andl %ecx,%edi - xorl %edx,%ecx - rorl $7,%ebx - movl %eax,%esi - xorl %ecx,%edi - roll $5,%eax - addl %edi,%ebp - xorl %ebx,%esi - xorl %ecx,%ebx - addl %eax,%ebp - pxor %xmm6,%xmm2 - addl 32(%rsp),%edx - andl %ebx,%esi - xorl %ecx,%ebx - rorl $7,%eax - punpcklqdq %xmm1,%xmm10 - movl %ebp,%edi - xorl %ebx,%esi - pxor %xmm3,%xmm2 - roll $5,%ebp - addl %esi,%edx - movdqa %xmm8,%xmm9 - xorl %eax,%edi - paddd %xmm1,%xmm8 - xorl %ebx,%eax - pxor %xmm10,%xmm2 - addl %ebp,%edx - addl 36(%rsp),%ecx - andl %eax,%edi - xorl %ebx,%eax - rorl $7,%ebp - movdqa %xmm2,%xmm10 - movl %edx,%esi - xorl %eax,%edi - movdqa %xmm8,16(%rsp) - roll $5,%edx - addl %edi,%ecx - xorl %ebp,%esi - pslld $2,%xmm2 - xorl %eax,%ebp - addl %edx,%ecx - psrld $30,%xmm10 - addl 40(%rsp),%ebx - andl %ebp,%esi - xorl %eax,%ebp - por %xmm10,%xmm2 - rorl $7,%edx - movl %ecx,%edi - xorl %ebp,%esi - roll $5,%ecx - pshufd $238,%xmm1,%xmm8 - addl %esi,%ebx - xorl %edx,%edi - xorl %ebp,%edx - addl %ecx,%ebx - addl 44(%rsp),%eax - andl %edx,%edi - xorl %ebp,%edx - rorl $7,%ecx - movl %ebx,%esi - xorl %edx,%edi - roll $5,%ebx - addl %edi,%eax - xorl %edx,%esi - addl %ebx,%eax - pxor %xmm7,%xmm3 - addl 48(%rsp),%ebp - xorl %ecx,%esi - punpcklqdq %xmm2,%xmm8 - movl %eax,%edi - roll $5,%eax - pxor %xmm4,%xmm3 - addl %esi,%ebp - xorl %ecx,%edi - movdqa %xmm9,%xmm10 - rorl $7,%ebx - paddd %xmm2,%xmm9 - addl %eax,%ebp - pxor %xmm8,%xmm3 - addl 52(%rsp),%edx - xorl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - movdqa %xmm3,%xmm8 - addl %edi,%edx - xorl %ebx,%esi - movdqa %xmm9,32(%rsp) - rorl $7,%eax - addl %ebp,%edx - addl 56(%rsp),%ecx - pslld $2,%xmm3 - xorl %eax,%esi - movl %edx,%edi - psrld $30,%xmm8 - roll $5,%edx - addl %esi,%ecx - xorl %eax,%edi - rorl $7,%ebp - por %xmm8,%xmm3 - addl %edx,%ecx - addl 60(%rsp),%ebx - xorl %ebp,%edi - movl %ecx,%esi - roll $5,%ecx - addl %edi,%ebx - xorl %ebp,%esi - rorl $7,%edx - addl %ecx,%ebx - addl 0(%rsp),%eax - xorl %edx,%esi - movl %ebx,%edi - roll $5,%ebx - paddd %xmm3,%xmm10 - addl %esi,%eax - xorl %edx,%edi - movdqa %xmm10,48(%rsp) - rorl $7,%ecx - addl %ebx,%eax - addl 4(%rsp),%ebp - xorl %ecx,%edi - movl %eax,%esi - roll $5,%eax - addl %edi,%ebp - xorl %ecx,%esi - rorl $7,%ebx - addl %eax,%ebp - addl 8(%rsp),%edx - xorl %ebx,%esi - movl %ebp,%edi - roll $5,%ebp - addl %esi,%edx - xorl %ebx,%edi - rorl $7,%eax - addl %ebp,%edx - addl 12(%rsp),%ecx - xorl %eax,%edi - movl %edx,%esi - roll $5,%edx - addl %edi,%ecx - xorl %eax,%esi - rorl $7,%ebp - addl %edx,%ecx - cmpq %r10,%r9 - je .Ldone_ssse3 - movdqa 64(%r14),%xmm6 - movdqa -64(%r14),%xmm9 - movdqu 0(%r9),%xmm0 - movdqu 16(%r9),%xmm1 - movdqu 32(%r9),%xmm2 - movdqu 48(%r9),%xmm3 -.byte 102,15,56,0,198 - addq $64,%r9 - addl 16(%rsp),%ebx - xorl %ebp,%esi - movl %ecx,%edi -.byte 102,15,56,0,206 - roll $5,%ecx - addl %esi,%ebx - xorl %ebp,%edi - rorl $7,%edx - paddd %xmm9,%xmm0 - addl %ecx,%ebx - addl 20(%rsp),%eax - xorl %edx,%edi - movl %ebx,%esi - movdqa %xmm0,0(%rsp) - roll $5,%ebx - addl %edi,%eax - xorl %edx,%esi - rorl $7,%ecx - psubd %xmm9,%xmm0 - addl %ebx,%eax - addl 24(%rsp),%ebp - xorl %ecx,%esi - movl %eax,%edi - roll $5,%eax - addl %esi,%ebp - xorl %ecx,%edi - rorl $7,%ebx - addl %eax,%ebp - addl 28(%rsp),%edx - xorl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - addl %edi,%edx - xorl %ebx,%esi - rorl $7,%eax - addl %ebp,%edx - addl 32(%rsp),%ecx - xorl %eax,%esi - movl %edx,%edi -.byte 102,15,56,0,214 - roll $5,%edx - addl %esi,%ecx - xorl %eax,%edi - rorl $7,%ebp - paddd %xmm9,%xmm1 - addl %edx,%ecx - addl 36(%rsp),%ebx - xorl %ebp,%edi - movl %ecx,%esi - movdqa %xmm1,16(%rsp) - roll $5,%ecx - addl %edi,%ebx - xorl %ebp,%esi - rorl $7,%edx - psubd %xmm9,%xmm1 - addl %ecx,%ebx - addl 40(%rsp),%eax - xorl %edx,%esi - movl %ebx,%edi - roll $5,%ebx - addl %esi,%eax - xorl %edx,%edi - rorl $7,%ecx - addl %ebx,%eax - addl 44(%rsp),%ebp - xorl %ecx,%edi - movl %eax,%esi - roll $5,%eax - addl %edi,%ebp - xorl %ecx,%esi - rorl $7,%ebx - addl %eax,%ebp - addl 48(%rsp),%edx - xorl %ebx,%esi - movl %ebp,%edi -.byte 102,15,56,0,222 - roll $5,%ebp - addl %esi,%edx - xorl %ebx,%edi - rorl $7,%eax - paddd %xmm9,%xmm2 - addl %ebp,%edx - addl 52(%rsp),%ecx - xorl %eax,%edi - movl %edx,%esi - movdqa %xmm2,32(%rsp) - roll $5,%edx - addl %edi,%ecx - xorl %eax,%esi - rorl $7,%ebp - psubd %xmm9,%xmm2 - addl %edx,%ecx - addl 56(%rsp),%ebx - xorl %ebp,%esi - movl %ecx,%edi - roll $5,%ecx - addl %esi,%ebx - xorl %ebp,%edi - rorl $7,%edx - addl %ecx,%ebx - addl 60(%rsp),%eax - xorl %edx,%edi - movl %ebx,%esi - roll $5,%ebx - addl %edi,%eax - rorl $7,%ecx - addl %ebx,%eax - addl 0(%r8),%eax - addl 4(%r8),%esi - addl 8(%r8),%ecx - addl 12(%r8),%edx - movl %eax,0(%r8) - addl 16(%r8),%ebp - movl %esi,4(%r8) - movl %esi,%ebx - movl %ecx,8(%r8) - movl %ecx,%edi - movl %edx,12(%r8) - xorl %edx,%edi - movl %ebp,16(%r8) - andl %edi,%esi - jmp .Loop_ssse3 - -.align 16 -.Ldone_ssse3: - addl 16(%rsp),%ebx - xorl %ebp,%esi - movl %ecx,%edi - roll $5,%ecx - addl %esi,%ebx - xorl %ebp,%edi - rorl $7,%edx - addl %ecx,%ebx - addl 20(%rsp),%eax - xorl %edx,%edi - movl %ebx,%esi - roll $5,%ebx - addl %edi,%eax - xorl %edx,%esi - rorl $7,%ecx - addl %ebx,%eax - addl 24(%rsp),%ebp - xorl %ecx,%esi - movl %eax,%edi - roll $5,%eax - addl %esi,%ebp - xorl %ecx,%edi - rorl $7,%ebx - addl %eax,%ebp - addl 28(%rsp),%edx - xorl %ebx,%edi - movl %ebp,%esi - roll $5,%ebp - addl %edi,%edx - xorl %ebx,%esi - rorl $7,%eax - addl %ebp,%edx - addl 32(%rsp),%ecx - xorl %eax,%esi - movl %edx,%edi - roll $5,%edx - addl %esi,%ecx - xorl %eax,%edi - rorl $7,%ebp - addl %edx,%ecx - addl 36(%rsp),%ebx - xorl %ebp,%edi - movl %ecx,%esi - roll $5,%ecx - addl %edi,%ebx - xorl %ebp,%esi - rorl $7,%edx - addl %ecx,%ebx - addl 40(%rsp),%eax - xorl %edx,%esi - movl %ebx,%edi - roll $5,%ebx - addl %esi,%eax - xorl %edx,%edi - rorl $7,%ecx - addl %ebx,%eax - addl 44(%rsp),%ebp - xorl %ecx,%edi - movl %eax,%esi - roll $5,%eax - addl %edi,%ebp - xorl %ecx,%esi - rorl $7,%ebx - addl %eax,%ebp - addl 48(%rsp),%edx - xorl %ebx,%esi - movl %ebp,%edi - roll $5,%ebp - addl %esi,%edx - xorl %ebx,%edi - rorl $7,%eax - addl %ebp,%edx - addl 52(%rsp),%ecx - xorl %eax,%edi - movl %edx,%esi - roll $5,%edx - addl %edi,%ecx - xorl %eax,%esi - rorl $7,%ebp - addl %edx,%ecx - addl 56(%rsp),%ebx - xorl %ebp,%esi - movl %ecx,%edi - roll $5,%ecx - addl %esi,%ebx - xorl %ebp,%edi - rorl $7,%edx - addl %ecx,%ebx - addl 60(%rsp),%eax - xorl %edx,%edi - movl %ebx,%esi - roll $5,%ebx - addl %edi,%eax - rorl $7,%ecx - addl %ebx,%eax - addl 0(%r8),%eax - addl 4(%r8),%esi - addl 8(%r8),%ecx - movl %eax,0(%r8) - addl 12(%r8),%edx - movl %esi,4(%r8) - addl 16(%r8),%ebp - movl %ecx,8(%r8) - movl %edx,12(%r8) - movl %ebp,16(%r8) - movq -40(%r11),%r14 -.cfi_restore %r14 - movq -32(%r11),%r13 -.cfi_restore %r13 - movq -24(%r11),%r12 -.cfi_restore %r12 - movq -16(%r11),%rbp -.cfi_restore %rbp - movq -8(%r11),%rbx -.cfi_restore %rbx - leaq (%r11),%rsp -.cfi_def_cfa_register %rsp -.Lepilogue_ssse3: - .byte 0xf3,0xc3 -.cfi_endproc -.size sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3 -.align 64 -K_XX_XX: -.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 -.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 -.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 -.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 -.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc -.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc -.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 -.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 -.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -.byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0 -.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.align 64 diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha256-mb-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha256-mb-x86_64.S deleted file mode 100644 index 25dee488b866..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha256-mb-x86_64.S +++ /dev/null @@ -1,3286 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/sha/asm/sha256-mb-x86_64.pl -# -# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - - - -.globl sha256_multi_block -.type sha256_multi_block,@function -.align 32 -sha256_multi_block: -.cfi_startproc - movq OPENSSL_ia32cap_P+4(%rip),%rcx - btq $61,%rcx - jc _shaext_shortcut - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - subq $288,%rsp - andq $-256,%rsp - movq %rax,272(%rsp) -.cfi_escape 0x0f,0x06,0x77,0x90,0x02,0x06,0x23,0x08 -.Lbody: - leaq K256+128(%rip),%rbp - leaq 256(%rsp),%rbx - leaq 128(%rdi),%rdi - -.Loop_grande: - movl %edx,280(%rsp) - xorl %edx,%edx - movq 0(%rsi),%r8 - movl 8(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,0(%rbx) - cmovleq %rbp,%r8 - movq 16(%rsi),%r9 - movl 24(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,4(%rbx) - cmovleq %rbp,%r9 - movq 32(%rsi),%r10 - movl 40(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,8(%rbx) - cmovleq %rbp,%r10 - movq 48(%rsi),%r11 - movl 56(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,12(%rbx) - cmovleq %rbp,%r11 - testl %edx,%edx - jz .Ldone - - movdqu 0-128(%rdi),%xmm8 - leaq 128(%rsp),%rax - movdqu 32-128(%rdi),%xmm9 - movdqu 64-128(%rdi),%xmm10 - movdqu 96-128(%rdi),%xmm11 - movdqu 128-128(%rdi),%xmm12 - movdqu 160-128(%rdi),%xmm13 - movdqu 192-128(%rdi),%xmm14 - movdqu 224-128(%rdi),%xmm15 - movdqu .Lpbswap(%rip),%xmm6 - jmp .Loop - -.align 32 -.Loop: - movdqa %xmm10,%xmm4 - pxor %xmm9,%xmm4 - movd 0(%r8),%xmm5 - movd 0(%r9),%xmm0 - movd 0(%r10),%xmm1 - movd 0(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm12,%xmm7 -.byte 102,15,56,0,238 - movdqa %xmm12,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm12,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,0-128(%rax) - paddd %xmm15,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -128(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm12,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm12,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm14,%xmm0 - pand %xmm13,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm8,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm8,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm9,%xmm3 - movdqa %xmm8,%xmm7 - pslld $10,%xmm2 - pxor %xmm8,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm9,%xmm15 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm15 - paddd %xmm5,%xmm11 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm15 - paddd %xmm7,%xmm15 - movd 4(%r8),%xmm5 - movd 4(%r9),%xmm0 - movd 4(%r10),%xmm1 - movd 4(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm11,%xmm7 - - movdqa %xmm11,%xmm2 -.byte 102,15,56,0,238 - psrld $6,%xmm7 - movdqa %xmm11,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,16-128(%rax) - paddd %xmm14,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -96(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm11,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm11,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm13,%xmm0 - pand %xmm12,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm15,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm15,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm4,%xmm0 - movdqa %xmm8,%xmm4 - movdqa %xmm15,%xmm7 - pslld $10,%xmm2 - pxor %xmm15,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm8,%xmm14 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm14 - paddd %xmm5,%xmm10 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm14 - paddd %xmm7,%xmm14 - movd 8(%r8),%xmm5 - movd 8(%r9),%xmm0 - movd 8(%r10),%xmm1 - movd 8(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm10,%xmm7 -.byte 102,15,56,0,238 - movdqa %xmm10,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm10,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,32-128(%rax) - paddd %xmm13,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -64(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm10,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm10,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm12,%xmm0 - pand %xmm11,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm14,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm14,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm15,%xmm3 - movdqa %xmm14,%xmm7 - pslld $10,%xmm2 - pxor %xmm14,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm15,%xmm13 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm13 - paddd %xmm5,%xmm9 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm13 - paddd %xmm7,%xmm13 - movd 12(%r8),%xmm5 - movd 12(%r9),%xmm0 - movd 12(%r10),%xmm1 - movd 12(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm9,%xmm7 - - movdqa %xmm9,%xmm2 -.byte 102,15,56,0,238 - psrld $6,%xmm7 - movdqa %xmm9,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,48-128(%rax) - paddd %xmm12,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -32(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm9,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm9,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm11,%xmm0 - pand %xmm10,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm13,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm13,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm4,%xmm0 - movdqa %xmm14,%xmm4 - movdqa %xmm13,%xmm7 - pslld $10,%xmm2 - pxor %xmm13,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm14,%xmm12 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm12 - paddd %xmm5,%xmm8 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm12 - paddd %xmm7,%xmm12 - movd 16(%r8),%xmm5 - movd 16(%r9),%xmm0 - movd 16(%r10),%xmm1 - movd 16(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm8,%xmm7 -.byte 102,15,56,0,238 - movdqa %xmm8,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm8,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,64-128(%rax) - paddd %xmm11,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 0(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm8,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm8,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm10,%xmm0 - pand %xmm9,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm12,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm12,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm13,%xmm3 - movdqa %xmm12,%xmm7 - pslld $10,%xmm2 - pxor %xmm12,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm13,%xmm11 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm11 - paddd %xmm5,%xmm15 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm11 - paddd %xmm7,%xmm11 - movd 20(%r8),%xmm5 - movd 20(%r9),%xmm0 - movd 20(%r10),%xmm1 - movd 20(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm15,%xmm7 - - movdqa %xmm15,%xmm2 -.byte 102,15,56,0,238 - psrld $6,%xmm7 - movdqa %xmm15,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,80-128(%rax) - paddd %xmm10,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 32(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm15,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm15,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm9,%xmm0 - pand %xmm8,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm11,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm11,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm4,%xmm0 - movdqa %xmm12,%xmm4 - movdqa %xmm11,%xmm7 - pslld $10,%xmm2 - pxor %xmm11,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm12,%xmm10 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm10 - paddd %xmm5,%xmm14 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm10 - paddd %xmm7,%xmm10 - movd 24(%r8),%xmm5 - movd 24(%r9),%xmm0 - movd 24(%r10),%xmm1 - movd 24(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm14,%xmm7 -.byte 102,15,56,0,238 - movdqa %xmm14,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm14,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,96-128(%rax) - paddd %xmm9,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 64(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm14,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm14,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm8,%xmm0 - pand %xmm15,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm10,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm10,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm11,%xmm3 - movdqa %xmm10,%xmm7 - pslld $10,%xmm2 - pxor %xmm10,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm11,%xmm9 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm9 - paddd %xmm5,%xmm13 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm9 - paddd %xmm7,%xmm9 - movd 28(%r8),%xmm5 - movd 28(%r9),%xmm0 - movd 28(%r10),%xmm1 - movd 28(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm13,%xmm7 - - movdqa %xmm13,%xmm2 -.byte 102,15,56,0,238 - psrld $6,%xmm7 - movdqa %xmm13,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,112-128(%rax) - paddd %xmm8,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 96(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm13,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm13,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm15,%xmm0 - pand %xmm14,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm9,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm9,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm4,%xmm0 - movdqa %xmm10,%xmm4 - movdqa %xmm9,%xmm7 - pslld $10,%xmm2 - pxor %xmm9,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm10,%xmm8 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm8 - paddd %xmm5,%xmm12 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm8 - paddd %xmm7,%xmm8 - leaq 256(%rbp),%rbp - movd 32(%r8),%xmm5 - movd 32(%r9),%xmm0 - movd 32(%r10),%xmm1 - movd 32(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm12,%xmm7 -.byte 102,15,56,0,238 - movdqa %xmm12,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm12,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,128-128(%rax) - paddd %xmm15,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -128(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm12,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm12,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm14,%xmm0 - pand %xmm13,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm8,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm8,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm9,%xmm3 - movdqa %xmm8,%xmm7 - pslld $10,%xmm2 - pxor %xmm8,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm9,%xmm15 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm15 - paddd %xmm5,%xmm11 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm15 - paddd %xmm7,%xmm15 - movd 36(%r8),%xmm5 - movd 36(%r9),%xmm0 - movd 36(%r10),%xmm1 - movd 36(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm11,%xmm7 - - movdqa %xmm11,%xmm2 -.byte 102,15,56,0,238 - psrld $6,%xmm7 - movdqa %xmm11,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,144-128(%rax) - paddd %xmm14,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -96(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm11,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm11,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm13,%xmm0 - pand %xmm12,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm15,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm15,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm4,%xmm0 - movdqa %xmm8,%xmm4 - movdqa %xmm15,%xmm7 - pslld $10,%xmm2 - pxor %xmm15,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm8,%xmm14 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm14 - paddd %xmm5,%xmm10 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm14 - paddd %xmm7,%xmm14 - movd 40(%r8),%xmm5 - movd 40(%r9),%xmm0 - movd 40(%r10),%xmm1 - movd 40(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm10,%xmm7 -.byte 102,15,56,0,238 - movdqa %xmm10,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm10,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,160-128(%rax) - paddd %xmm13,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -64(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm10,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm10,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm12,%xmm0 - pand %xmm11,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm14,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm14,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm15,%xmm3 - movdqa %xmm14,%xmm7 - pslld $10,%xmm2 - pxor %xmm14,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm15,%xmm13 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm13 - paddd %xmm5,%xmm9 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm13 - paddd %xmm7,%xmm13 - movd 44(%r8),%xmm5 - movd 44(%r9),%xmm0 - movd 44(%r10),%xmm1 - movd 44(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm9,%xmm7 - - movdqa %xmm9,%xmm2 -.byte 102,15,56,0,238 - psrld $6,%xmm7 - movdqa %xmm9,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,176-128(%rax) - paddd %xmm12,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -32(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm9,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm9,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm11,%xmm0 - pand %xmm10,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm13,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm13,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm4,%xmm0 - movdqa %xmm14,%xmm4 - movdqa %xmm13,%xmm7 - pslld $10,%xmm2 - pxor %xmm13,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm14,%xmm12 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm12 - paddd %xmm5,%xmm8 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm12 - paddd %xmm7,%xmm12 - movd 48(%r8),%xmm5 - movd 48(%r9),%xmm0 - movd 48(%r10),%xmm1 - movd 48(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm8,%xmm7 -.byte 102,15,56,0,238 - movdqa %xmm8,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm8,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,192-128(%rax) - paddd %xmm11,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 0(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm8,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm8,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm10,%xmm0 - pand %xmm9,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm12,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm12,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm13,%xmm3 - movdqa %xmm12,%xmm7 - pslld $10,%xmm2 - pxor %xmm12,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm13,%xmm11 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm11 - paddd %xmm5,%xmm15 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm11 - paddd %xmm7,%xmm11 - movd 52(%r8),%xmm5 - movd 52(%r9),%xmm0 - movd 52(%r10),%xmm1 - movd 52(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm15,%xmm7 - - movdqa %xmm15,%xmm2 -.byte 102,15,56,0,238 - psrld $6,%xmm7 - movdqa %xmm15,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,208-128(%rax) - paddd %xmm10,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 32(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm15,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm15,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm9,%xmm0 - pand %xmm8,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm11,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm11,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm4,%xmm0 - movdqa %xmm12,%xmm4 - movdqa %xmm11,%xmm7 - pslld $10,%xmm2 - pxor %xmm11,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm12,%xmm10 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm10 - paddd %xmm5,%xmm14 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm10 - paddd %xmm7,%xmm10 - movd 56(%r8),%xmm5 - movd 56(%r9),%xmm0 - movd 56(%r10),%xmm1 - movd 56(%r11),%xmm2 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm14,%xmm7 -.byte 102,15,56,0,238 - movdqa %xmm14,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm14,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,224-128(%rax) - paddd %xmm9,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 64(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm14,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm14,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm8,%xmm0 - pand %xmm15,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm10,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm10,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm11,%xmm3 - movdqa %xmm10,%xmm7 - pslld $10,%xmm2 - pxor %xmm10,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm11,%xmm9 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm9 - paddd %xmm5,%xmm13 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm9 - paddd %xmm7,%xmm9 - movd 60(%r8),%xmm5 - leaq 64(%r8),%r8 - movd 60(%r9),%xmm0 - leaq 64(%r9),%r9 - movd 60(%r10),%xmm1 - leaq 64(%r10),%r10 - movd 60(%r11),%xmm2 - leaq 64(%r11),%r11 - punpckldq %xmm1,%xmm5 - punpckldq %xmm2,%xmm0 - punpckldq %xmm0,%xmm5 - movdqa %xmm13,%xmm7 - - movdqa %xmm13,%xmm2 -.byte 102,15,56,0,238 - psrld $6,%xmm7 - movdqa %xmm13,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,240-128(%rax) - paddd %xmm8,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 96(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm13,%xmm0 - prefetcht0 63(%r8) - pxor %xmm2,%xmm7 - movdqa %xmm13,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm15,%xmm0 - pand %xmm14,%xmm4 - pxor %xmm1,%xmm7 - - prefetcht0 63(%r9) - movdqa %xmm9,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm9,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm4,%xmm0 - movdqa %xmm10,%xmm4 - movdqa %xmm9,%xmm7 - pslld $10,%xmm2 - pxor %xmm9,%xmm4 - - prefetcht0 63(%r10) - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - prefetcht0 63(%r11) - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm10,%xmm8 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm8 - paddd %xmm5,%xmm12 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm8 - paddd %xmm7,%xmm8 - leaq 256(%rbp),%rbp - movdqu 0-128(%rax),%xmm5 - movl $3,%ecx - jmp .Loop_16_xx -.align 32 -.Loop_16_xx: - movdqa 16-128(%rax),%xmm6 - paddd 144-128(%rax),%xmm5 - - movdqa %xmm6,%xmm7 - movdqa %xmm6,%xmm1 - psrld $3,%xmm7 - movdqa %xmm6,%xmm2 - - psrld $7,%xmm1 - movdqa 224-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm3 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm3,%xmm1 - - psrld $17,%xmm3 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - psrld $19-17,%xmm3 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm3,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm5 - movdqa %xmm12,%xmm7 - - movdqa %xmm12,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm12,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,0-128(%rax) - paddd %xmm15,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -128(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm12,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm12,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm14,%xmm0 - pand %xmm13,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm8,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm8,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm9,%xmm3 - movdqa %xmm8,%xmm7 - pslld $10,%xmm2 - pxor %xmm8,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm9,%xmm15 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm15 - paddd %xmm5,%xmm11 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm15 - paddd %xmm7,%xmm15 - movdqa 32-128(%rax),%xmm5 - paddd 160-128(%rax),%xmm6 - - movdqa %xmm5,%xmm7 - movdqa %xmm5,%xmm1 - psrld $3,%xmm7 - movdqa %xmm5,%xmm2 - - psrld $7,%xmm1 - movdqa 240-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm4 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm4,%xmm1 - - psrld $17,%xmm4 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - psrld $19-17,%xmm4 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm6 - movdqa %xmm11,%xmm7 - - movdqa %xmm11,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm11,%xmm1 - pslld $7,%xmm2 - movdqa %xmm6,16-128(%rax) - paddd %xmm14,%xmm6 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -96(%rbp),%xmm6 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm11,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm11,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm13,%xmm0 - pand %xmm12,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm15,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm15,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - movdqa %xmm8,%xmm4 - movdqa %xmm15,%xmm7 - pslld $10,%xmm2 - pxor %xmm15,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm6 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm8,%xmm14 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm14 - paddd %xmm6,%xmm10 - pxor %xmm2,%xmm7 - - paddd %xmm6,%xmm14 - paddd %xmm7,%xmm14 - movdqa 48-128(%rax),%xmm6 - paddd 176-128(%rax),%xmm5 - - movdqa %xmm6,%xmm7 - movdqa %xmm6,%xmm1 - psrld $3,%xmm7 - movdqa %xmm6,%xmm2 - - psrld $7,%xmm1 - movdqa 0-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm3 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm3,%xmm1 - - psrld $17,%xmm3 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - psrld $19-17,%xmm3 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm3,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm5 - movdqa %xmm10,%xmm7 - - movdqa %xmm10,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm10,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,32-128(%rax) - paddd %xmm13,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -64(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm10,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm10,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm12,%xmm0 - pand %xmm11,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm14,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm14,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm15,%xmm3 - movdqa %xmm14,%xmm7 - pslld $10,%xmm2 - pxor %xmm14,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm15,%xmm13 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm13 - paddd %xmm5,%xmm9 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm13 - paddd %xmm7,%xmm13 - movdqa 64-128(%rax),%xmm5 - paddd 192-128(%rax),%xmm6 - - movdqa %xmm5,%xmm7 - movdqa %xmm5,%xmm1 - psrld $3,%xmm7 - movdqa %xmm5,%xmm2 - - psrld $7,%xmm1 - movdqa 16-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm4 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm4,%xmm1 - - psrld $17,%xmm4 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - psrld $19-17,%xmm4 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm6 - movdqa %xmm9,%xmm7 - - movdqa %xmm9,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm9,%xmm1 - pslld $7,%xmm2 - movdqa %xmm6,48-128(%rax) - paddd %xmm12,%xmm6 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -32(%rbp),%xmm6 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm9,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm9,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm11,%xmm0 - pand %xmm10,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm13,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm13,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - movdqa %xmm14,%xmm4 - movdqa %xmm13,%xmm7 - pslld $10,%xmm2 - pxor %xmm13,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm6 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm14,%xmm12 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm12 - paddd %xmm6,%xmm8 - pxor %xmm2,%xmm7 - - paddd %xmm6,%xmm12 - paddd %xmm7,%xmm12 - movdqa 80-128(%rax),%xmm6 - paddd 208-128(%rax),%xmm5 - - movdqa %xmm6,%xmm7 - movdqa %xmm6,%xmm1 - psrld $3,%xmm7 - movdqa %xmm6,%xmm2 - - psrld $7,%xmm1 - movdqa 32-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm3 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm3,%xmm1 - - psrld $17,%xmm3 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - psrld $19-17,%xmm3 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm3,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm5 - movdqa %xmm8,%xmm7 - - movdqa %xmm8,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm8,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,64-128(%rax) - paddd %xmm11,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 0(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm8,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm8,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm10,%xmm0 - pand %xmm9,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm12,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm12,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm13,%xmm3 - movdqa %xmm12,%xmm7 - pslld $10,%xmm2 - pxor %xmm12,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm13,%xmm11 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm11 - paddd %xmm5,%xmm15 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm11 - paddd %xmm7,%xmm11 - movdqa 96-128(%rax),%xmm5 - paddd 224-128(%rax),%xmm6 - - movdqa %xmm5,%xmm7 - movdqa %xmm5,%xmm1 - psrld $3,%xmm7 - movdqa %xmm5,%xmm2 - - psrld $7,%xmm1 - movdqa 48-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm4 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm4,%xmm1 - - psrld $17,%xmm4 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - psrld $19-17,%xmm4 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm6 - movdqa %xmm15,%xmm7 - - movdqa %xmm15,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm15,%xmm1 - pslld $7,%xmm2 - movdqa %xmm6,80-128(%rax) - paddd %xmm10,%xmm6 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 32(%rbp),%xmm6 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm15,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm15,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm9,%xmm0 - pand %xmm8,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm11,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm11,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - movdqa %xmm12,%xmm4 - movdqa %xmm11,%xmm7 - pslld $10,%xmm2 - pxor %xmm11,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm6 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm12,%xmm10 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm10 - paddd %xmm6,%xmm14 - pxor %xmm2,%xmm7 - - paddd %xmm6,%xmm10 - paddd %xmm7,%xmm10 - movdqa 112-128(%rax),%xmm6 - paddd 240-128(%rax),%xmm5 - - movdqa %xmm6,%xmm7 - movdqa %xmm6,%xmm1 - psrld $3,%xmm7 - movdqa %xmm6,%xmm2 - - psrld $7,%xmm1 - movdqa 64-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm3 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm3,%xmm1 - - psrld $17,%xmm3 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - psrld $19-17,%xmm3 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm3,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm5 - movdqa %xmm14,%xmm7 - - movdqa %xmm14,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm14,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,96-128(%rax) - paddd %xmm9,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 64(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm14,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm14,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm8,%xmm0 - pand %xmm15,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm10,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm10,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm11,%xmm3 - movdqa %xmm10,%xmm7 - pslld $10,%xmm2 - pxor %xmm10,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm11,%xmm9 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm9 - paddd %xmm5,%xmm13 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm9 - paddd %xmm7,%xmm9 - movdqa 128-128(%rax),%xmm5 - paddd 0-128(%rax),%xmm6 - - movdqa %xmm5,%xmm7 - movdqa %xmm5,%xmm1 - psrld $3,%xmm7 - movdqa %xmm5,%xmm2 - - psrld $7,%xmm1 - movdqa 80-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm4 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm4,%xmm1 - - psrld $17,%xmm4 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - psrld $19-17,%xmm4 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm6 - movdqa %xmm13,%xmm7 - - movdqa %xmm13,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm13,%xmm1 - pslld $7,%xmm2 - movdqa %xmm6,112-128(%rax) - paddd %xmm8,%xmm6 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 96(%rbp),%xmm6 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm13,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm13,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm15,%xmm0 - pand %xmm14,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm9,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm9,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - movdqa %xmm10,%xmm4 - movdqa %xmm9,%xmm7 - pslld $10,%xmm2 - pxor %xmm9,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm6 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm10,%xmm8 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm8 - paddd %xmm6,%xmm12 - pxor %xmm2,%xmm7 - - paddd %xmm6,%xmm8 - paddd %xmm7,%xmm8 - leaq 256(%rbp),%rbp - movdqa 144-128(%rax),%xmm6 - paddd 16-128(%rax),%xmm5 - - movdqa %xmm6,%xmm7 - movdqa %xmm6,%xmm1 - psrld $3,%xmm7 - movdqa %xmm6,%xmm2 - - psrld $7,%xmm1 - movdqa 96-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm3 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm3,%xmm1 - - psrld $17,%xmm3 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - psrld $19-17,%xmm3 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm3,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm5 - movdqa %xmm12,%xmm7 - - movdqa %xmm12,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm12,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,128-128(%rax) - paddd %xmm15,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -128(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm12,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm12,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm14,%xmm0 - pand %xmm13,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm8,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm8,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm9,%xmm3 - movdqa %xmm8,%xmm7 - pslld $10,%xmm2 - pxor %xmm8,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm9,%xmm15 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm15 - paddd %xmm5,%xmm11 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm15 - paddd %xmm7,%xmm15 - movdqa 160-128(%rax),%xmm5 - paddd 32-128(%rax),%xmm6 - - movdqa %xmm5,%xmm7 - movdqa %xmm5,%xmm1 - psrld $3,%xmm7 - movdqa %xmm5,%xmm2 - - psrld $7,%xmm1 - movdqa 112-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm4 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm4,%xmm1 - - psrld $17,%xmm4 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - psrld $19-17,%xmm4 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm6 - movdqa %xmm11,%xmm7 - - movdqa %xmm11,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm11,%xmm1 - pslld $7,%xmm2 - movdqa %xmm6,144-128(%rax) - paddd %xmm14,%xmm6 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -96(%rbp),%xmm6 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm11,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm11,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm13,%xmm0 - pand %xmm12,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm15,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm15,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - movdqa %xmm8,%xmm4 - movdqa %xmm15,%xmm7 - pslld $10,%xmm2 - pxor %xmm15,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm6 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm8,%xmm14 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm14 - paddd %xmm6,%xmm10 - pxor %xmm2,%xmm7 - - paddd %xmm6,%xmm14 - paddd %xmm7,%xmm14 - movdqa 176-128(%rax),%xmm6 - paddd 48-128(%rax),%xmm5 - - movdqa %xmm6,%xmm7 - movdqa %xmm6,%xmm1 - psrld $3,%xmm7 - movdqa %xmm6,%xmm2 - - psrld $7,%xmm1 - movdqa 128-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm3 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm3,%xmm1 - - psrld $17,%xmm3 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - psrld $19-17,%xmm3 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm3,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm5 - movdqa %xmm10,%xmm7 - - movdqa %xmm10,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm10,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,160-128(%rax) - paddd %xmm13,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -64(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm10,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm10,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm12,%xmm0 - pand %xmm11,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm14,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm14,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm15,%xmm3 - movdqa %xmm14,%xmm7 - pslld $10,%xmm2 - pxor %xmm14,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm15,%xmm13 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm13 - paddd %xmm5,%xmm9 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm13 - paddd %xmm7,%xmm13 - movdqa 192-128(%rax),%xmm5 - paddd 64-128(%rax),%xmm6 - - movdqa %xmm5,%xmm7 - movdqa %xmm5,%xmm1 - psrld $3,%xmm7 - movdqa %xmm5,%xmm2 - - psrld $7,%xmm1 - movdqa 144-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm4 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm4,%xmm1 - - psrld $17,%xmm4 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - psrld $19-17,%xmm4 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm6 - movdqa %xmm9,%xmm7 - - movdqa %xmm9,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm9,%xmm1 - pslld $7,%xmm2 - movdqa %xmm6,176-128(%rax) - paddd %xmm12,%xmm6 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd -32(%rbp),%xmm6 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm9,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm9,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm11,%xmm0 - pand %xmm10,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm13,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm13,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - movdqa %xmm14,%xmm4 - movdqa %xmm13,%xmm7 - pslld $10,%xmm2 - pxor %xmm13,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm6 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm14,%xmm12 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm12 - paddd %xmm6,%xmm8 - pxor %xmm2,%xmm7 - - paddd %xmm6,%xmm12 - paddd %xmm7,%xmm12 - movdqa 208-128(%rax),%xmm6 - paddd 80-128(%rax),%xmm5 - - movdqa %xmm6,%xmm7 - movdqa %xmm6,%xmm1 - psrld $3,%xmm7 - movdqa %xmm6,%xmm2 - - psrld $7,%xmm1 - movdqa 160-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm3 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm3,%xmm1 - - psrld $17,%xmm3 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - psrld $19-17,%xmm3 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm3,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm5 - movdqa %xmm8,%xmm7 - - movdqa %xmm8,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm8,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,192-128(%rax) - paddd %xmm11,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 0(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm8,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm8,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm10,%xmm0 - pand %xmm9,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm12,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm12,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm13,%xmm3 - movdqa %xmm12,%xmm7 - pslld $10,%xmm2 - pxor %xmm12,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm13,%xmm11 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm11 - paddd %xmm5,%xmm15 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm11 - paddd %xmm7,%xmm11 - movdqa 224-128(%rax),%xmm5 - paddd 96-128(%rax),%xmm6 - - movdqa %xmm5,%xmm7 - movdqa %xmm5,%xmm1 - psrld $3,%xmm7 - movdqa %xmm5,%xmm2 - - psrld $7,%xmm1 - movdqa 176-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm4 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm4,%xmm1 - - psrld $17,%xmm4 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - psrld $19-17,%xmm4 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm6 - movdqa %xmm15,%xmm7 - - movdqa %xmm15,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm15,%xmm1 - pslld $7,%xmm2 - movdqa %xmm6,208-128(%rax) - paddd %xmm10,%xmm6 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 32(%rbp),%xmm6 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm15,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm15,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm9,%xmm0 - pand %xmm8,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm11,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm11,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - movdqa %xmm12,%xmm4 - movdqa %xmm11,%xmm7 - pslld $10,%xmm2 - pxor %xmm11,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm6 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm12,%xmm10 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm10 - paddd %xmm6,%xmm14 - pxor %xmm2,%xmm7 - - paddd %xmm6,%xmm10 - paddd %xmm7,%xmm10 - movdqa 240-128(%rax),%xmm6 - paddd 112-128(%rax),%xmm5 - - movdqa %xmm6,%xmm7 - movdqa %xmm6,%xmm1 - psrld $3,%xmm7 - movdqa %xmm6,%xmm2 - - psrld $7,%xmm1 - movdqa 192-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm3 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm3,%xmm1 - - psrld $17,%xmm3 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - psrld $19-17,%xmm3 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm3,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm5 - movdqa %xmm14,%xmm7 - - movdqa %xmm14,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm14,%xmm1 - pslld $7,%xmm2 - movdqa %xmm5,224-128(%rax) - paddd %xmm9,%xmm5 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 64(%rbp),%xmm5 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm14,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm14,%xmm3 - pslld $26-21,%xmm2 - pandn %xmm8,%xmm0 - pand %xmm15,%xmm3 - pxor %xmm1,%xmm7 - - - movdqa %xmm10,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm10,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm5 - pxor %xmm3,%xmm0 - movdqa %xmm11,%xmm3 - movdqa %xmm10,%xmm7 - pslld $10,%xmm2 - pxor %xmm10,%xmm3 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm5 - pslld $19-10,%xmm2 - pand %xmm3,%xmm4 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm11,%xmm9 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm4,%xmm9 - paddd %xmm5,%xmm13 - pxor %xmm2,%xmm7 - - paddd %xmm5,%xmm9 - paddd %xmm7,%xmm9 - movdqa 0-128(%rax),%xmm5 - paddd 128-128(%rax),%xmm6 - - movdqa %xmm5,%xmm7 - movdqa %xmm5,%xmm1 - psrld $3,%xmm7 - movdqa %xmm5,%xmm2 - - psrld $7,%xmm1 - movdqa 208-128(%rax),%xmm0 - pslld $14,%xmm2 - pxor %xmm1,%xmm7 - psrld $18-7,%xmm1 - movdqa %xmm0,%xmm4 - pxor %xmm2,%xmm7 - pslld $25-14,%xmm2 - pxor %xmm1,%xmm7 - psrld $10,%xmm0 - movdqa %xmm4,%xmm1 - - psrld $17,%xmm4 - pxor %xmm2,%xmm7 - pslld $13,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - psrld $19-17,%xmm4 - pxor %xmm1,%xmm0 - pslld $15-13,%xmm1 - pxor %xmm4,%xmm0 - pxor %xmm1,%xmm0 - paddd %xmm0,%xmm6 - movdqa %xmm13,%xmm7 - - movdqa %xmm13,%xmm2 - - psrld $6,%xmm7 - movdqa %xmm13,%xmm1 - pslld $7,%xmm2 - movdqa %xmm6,240-128(%rax) - paddd %xmm8,%xmm6 - - psrld $11,%xmm1 - pxor %xmm2,%xmm7 - pslld $21-7,%xmm2 - paddd 96(%rbp),%xmm6 - pxor %xmm1,%xmm7 - - psrld $25-11,%xmm1 - movdqa %xmm13,%xmm0 - - pxor %xmm2,%xmm7 - movdqa %xmm13,%xmm4 - pslld $26-21,%xmm2 - pandn %xmm15,%xmm0 - pand %xmm14,%xmm4 - pxor %xmm1,%xmm7 - - - movdqa %xmm9,%xmm1 - pxor %xmm2,%xmm7 - movdqa %xmm9,%xmm2 - psrld $2,%xmm1 - paddd %xmm7,%xmm6 - pxor %xmm4,%xmm0 - movdqa %xmm10,%xmm4 - movdqa %xmm9,%xmm7 - pslld $10,%xmm2 - pxor %xmm9,%xmm4 - - - psrld $13,%xmm7 - pxor %xmm2,%xmm1 - paddd %xmm0,%xmm6 - pslld $19-10,%xmm2 - pand %xmm4,%xmm3 - pxor %xmm7,%xmm1 - - - psrld $22-13,%xmm7 - pxor %xmm2,%xmm1 - movdqa %xmm10,%xmm8 - pslld $30-19,%xmm2 - pxor %xmm1,%xmm7 - pxor %xmm3,%xmm8 - paddd %xmm6,%xmm12 - pxor %xmm2,%xmm7 - - paddd %xmm6,%xmm8 - paddd %xmm7,%xmm8 - leaq 256(%rbp),%rbp - decl %ecx - jnz .Loop_16_xx - - movl $1,%ecx - leaq K256+128(%rip),%rbp - - movdqa (%rbx),%xmm7 - cmpl 0(%rbx),%ecx - pxor %xmm0,%xmm0 - cmovgeq %rbp,%r8 - cmpl 4(%rbx),%ecx - movdqa %xmm7,%xmm6 - cmovgeq %rbp,%r9 - cmpl 8(%rbx),%ecx - pcmpgtd %xmm0,%xmm6 - cmovgeq %rbp,%r10 - cmpl 12(%rbx),%ecx - paddd %xmm6,%xmm7 - cmovgeq %rbp,%r11 - - movdqu 0-128(%rdi),%xmm0 - pand %xmm6,%xmm8 - movdqu 32-128(%rdi),%xmm1 - pand %xmm6,%xmm9 - movdqu 64-128(%rdi),%xmm2 - pand %xmm6,%xmm10 - movdqu 96-128(%rdi),%xmm5 - pand %xmm6,%xmm11 - paddd %xmm0,%xmm8 - movdqu 128-128(%rdi),%xmm0 - pand %xmm6,%xmm12 - paddd %xmm1,%xmm9 - movdqu 160-128(%rdi),%xmm1 - pand %xmm6,%xmm13 - paddd %xmm2,%xmm10 - movdqu 192-128(%rdi),%xmm2 - pand %xmm6,%xmm14 - paddd %xmm5,%xmm11 - movdqu 224-128(%rdi),%xmm5 - pand %xmm6,%xmm15 - paddd %xmm0,%xmm12 - paddd %xmm1,%xmm13 - movdqu %xmm8,0-128(%rdi) - paddd %xmm2,%xmm14 - movdqu %xmm9,32-128(%rdi) - paddd %xmm5,%xmm15 - movdqu %xmm10,64-128(%rdi) - movdqu %xmm11,96-128(%rdi) - movdqu %xmm12,128-128(%rdi) - movdqu %xmm13,160-128(%rdi) - movdqu %xmm14,192-128(%rdi) - movdqu %xmm15,224-128(%rdi) - - movdqa %xmm7,(%rbx) - movdqa .Lpbswap(%rip),%xmm6 - decl %edx - jnz .Loop - - movl 280(%rsp),%edx - leaq 16(%rdi),%rdi - leaq 64(%rsi),%rsi - decl %edx - jnz .Loop_grande - -.Ldone: - movq 272(%rsp),%rax -.cfi_def_cfa %rax,8 - movq -16(%rax),%rbp -.cfi_restore %rbp - movq -8(%rax),%rbx -.cfi_restore %rbx - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lepilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size sha256_multi_block,.-sha256_multi_block -.type sha256_multi_block_shaext,@function -.align 32 -sha256_multi_block_shaext: -.cfi_startproc -_shaext_shortcut: - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - subq $288,%rsp - shll $1,%edx - andq $-256,%rsp - leaq 128(%rdi),%rdi - movq %rax,272(%rsp) -.Lbody_shaext: - leaq 256(%rsp),%rbx - leaq K256_shaext+128(%rip),%rbp - -.Loop_grande_shaext: - movl %edx,280(%rsp) - xorl %edx,%edx - movq 0(%rsi),%r8 - movl 8(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,0(%rbx) - cmovleq %rsp,%r8 - movq 16(%rsi),%r9 - movl 24(%rsi),%ecx - cmpl %edx,%ecx - cmovgl %ecx,%edx - testl %ecx,%ecx - movl %ecx,4(%rbx) - cmovleq %rsp,%r9 - testl %edx,%edx - jz .Ldone_shaext - - movq 0-128(%rdi),%xmm12 - movq 32-128(%rdi),%xmm4 - movq 64-128(%rdi),%xmm13 - movq 96-128(%rdi),%xmm5 - movq 128-128(%rdi),%xmm8 - movq 160-128(%rdi),%xmm9 - movq 192-128(%rdi),%xmm10 - movq 224-128(%rdi),%xmm11 - - punpckldq %xmm4,%xmm12 - punpckldq %xmm5,%xmm13 - punpckldq %xmm9,%xmm8 - punpckldq %xmm11,%xmm10 - movdqa K256_shaext-16(%rip),%xmm3 - - movdqa %xmm12,%xmm14 - movdqa %xmm13,%xmm15 - punpcklqdq %xmm8,%xmm12 - punpcklqdq %xmm10,%xmm13 - punpckhqdq %xmm8,%xmm14 - punpckhqdq %xmm10,%xmm15 - - pshufd $27,%xmm12,%xmm12 - pshufd $27,%xmm13,%xmm13 - pshufd $27,%xmm14,%xmm14 - pshufd $27,%xmm15,%xmm15 - jmp .Loop_shaext - -.align 32 -.Loop_shaext: - movdqu 0(%r8),%xmm4 - movdqu 0(%r9),%xmm8 - movdqu 16(%r8),%xmm5 - movdqu 16(%r9),%xmm9 - movdqu 32(%r8),%xmm6 -.byte 102,15,56,0,227 - movdqu 32(%r9),%xmm10 -.byte 102,68,15,56,0,195 - movdqu 48(%r8),%xmm7 - leaq 64(%r8),%r8 - movdqu 48(%r9),%xmm11 - leaq 64(%r9),%r9 - - movdqa 0-128(%rbp),%xmm0 -.byte 102,15,56,0,235 - paddd %xmm4,%xmm0 - pxor %xmm12,%xmm4 - movdqa %xmm0,%xmm1 - movdqa 0-128(%rbp),%xmm2 -.byte 102,68,15,56,0,203 - paddd %xmm8,%xmm2 - movdqa %xmm13,80(%rsp) -.byte 69,15,56,203,236 - pxor %xmm14,%xmm8 - movdqa %xmm2,%xmm0 - movdqa %xmm15,112(%rsp) -.byte 69,15,56,203,254 - pshufd $0x0e,%xmm1,%xmm0 - pxor %xmm12,%xmm4 - movdqa %xmm12,64(%rsp) -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - pxor %xmm14,%xmm8 - movdqa %xmm14,96(%rsp) - movdqa 16-128(%rbp),%xmm1 - paddd %xmm5,%xmm1 -.byte 102,15,56,0,243 -.byte 69,15,56,203,247 - - movdqa %xmm1,%xmm0 - movdqa 16-128(%rbp),%xmm2 - paddd %xmm9,%xmm2 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - prefetcht0 127(%r8) -.byte 102,15,56,0,251 -.byte 102,68,15,56,0,211 - prefetcht0 127(%r9) -.byte 69,15,56,203,254 - pshufd $0x0e,%xmm1,%xmm0 -.byte 102,68,15,56,0,219 -.byte 15,56,204,229 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 32-128(%rbp),%xmm1 - paddd %xmm6,%xmm1 -.byte 69,15,56,203,247 - - movdqa %xmm1,%xmm0 - movdqa 32-128(%rbp),%xmm2 - paddd %xmm10,%xmm2 -.byte 69,15,56,203,236 -.byte 69,15,56,204,193 - movdqa %xmm2,%xmm0 - movdqa %xmm7,%xmm3 -.byte 69,15,56,203,254 - pshufd $0x0e,%xmm1,%xmm0 -.byte 102,15,58,15,222,4 - paddd %xmm3,%xmm4 - movdqa %xmm11,%xmm3 -.byte 102,65,15,58,15,218,4 -.byte 15,56,204,238 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 48-128(%rbp),%xmm1 - paddd %xmm7,%xmm1 -.byte 69,15,56,203,247 -.byte 69,15,56,204,202 - - movdqa %xmm1,%xmm0 - movdqa 48-128(%rbp),%xmm2 - paddd %xmm3,%xmm8 - paddd %xmm11,%xmm2 -.byte 15,56,205,231 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movdqa %xmm4,%xmm3 -.byte 102,15,58,15,223,4 -.byte 69,15,56,203,254 -.byte 69,15,56,205,195 - pshufd $0x0e,%xmm1,%xmm0 - paddd %xmm3,%xmm5 - movdqa %xmm8,%xmm3 -.byte 102,65,15,58,15,219,4 -.byte 15,56,204,247 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 64-128(%rbp),%xmm1 - paddd %xmm4,%xmm1 -.byte 69,15,56,203,247 -.byte 69,15,56,204,211 - movdqa %xmm1,%xmm0 - movdqa 64-128(%rbp),%xmm2 - paddd %xmm3,%xmm9 - paddd %xmm8,%xmm2 -.byte 15,56,205,236 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movdqa %xmm5,%xmm3 -.byte 102,15,58,15,220,4 -.byte 69,15,56,203,254 -.byte 69,15,56,205,200 - pshufd $0x0e,%xmm1,%xmm0 - paddd %xmm3,%xmm6 - movdqa %xmm9,%xmm3 -.byte 102,65,15,58,15,216,4 -.byte 15,56,204,252 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 80-128(%rbp),%xmm1 - paddd %xmm5,%xmm1 -.byte 69,15,56,203,247 -.byte 69,15,56,204,216 - movdqa %xmm1,%xmm0 - movdqa 80-128(%rbp),%xmm2 - paddd %xmm3,%xmm10 - paddd %xmm9,%xmm2 -.byte 15,56,205,245 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movdqa %xmm6,%xmm3 -.byte 102,15,58,15,221,4 -.byte 69,15,56,203,254 -.byte 69,15,56,205,209 - pshufd $0x0e,%xmm1,%xmm0 - paddd %xmm3,%xmm7 - movdqa %xmm10,%xmm3 -.byte 102,65,15,58,15,217,4 -.byte 15,56,204,229 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 96-128(%rbp),%xmm1 - paddd %xmm6,%xmm1 -.byte 69,15,56,203,247 -.byte 69,15,56,204,193 - movdqa %xmm1,%xmm0 - movdqa 96-128(%rbp),%xmm2 - paddd %xmm3,%xmm11 - paddd %xmm10,%xmm2 -.byte 15,56,205,254 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movdqa %xmm7,%xmm3 -.byte 102,15,58,15,222,4 -.byte 69,15,56,203,254 -.byte 69,15,56,205,218 - pshufd $0x0e,%xmm1,%xmm0 - paddd %xmm3,%xmm4 - movdqa %xmm11,%xmm3 -.byte 102,65,15,58,15,218,4 -.byte 15,56,204,238 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 112-128(%rbp),%xmm1 - paddd %xmm7,%xmm1 -.byte 69,15,56,203,247 -.byte 69,15,56,204,202 - movdqa %xmm1,%xmm0 - movdqa 112-128(%rbp),%xmm2 - paddd %xmm3,%xmm8 - paddd %xmm11,%xmm2 -.byte 15,56,205,231 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movdqa %xmm4,%xmm3 -.byte 102,15,58,15,223,4 -.byte 69,15,56,203,254 -.byte 69,15,56,205,195 - pshufd $0x0e,%xmm1,%xmm0 - paddd %xmm3,%xmm5 - movdqa %xmm8,%xmm3 -.byte 102,65,15,58,15,219,4 -.byte 15,56,204,247 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 128-128(%rbp),%xmm1 - paddd %xmm4,%xmm1 -.byte 69,15,56,203,247 -.byte 69,15,56,204,211 - movdqa %xmm1,%xmm0 - movdqa 128-128(%rbp),%xmm2 - paddd %xmm3,%xmm9 - paddd %xmm8,%xmm2 -.byte 15,56,205,236 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movdqa %xmm5,%xmm3 -.byte 102,15,58,15,220,4 -.byte 69,15,56,203,254 -.byte 69,15,56,205,200 - pshufd $0x0e,%xmm1,%xmm0 - paddd %xmm3,%xmm6 - movdqa %xmm9,%xmm3 -.byte 102,65,15,58,15,216,4 -.byte 15,56,204,252 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 144-128(%rbp),%xmm1 - paddd %xmm5,%xmm1 -.byte 69,15,56,203,247 -.byte 69,15,56,204,216 - movdqa %xmm1,%xmm0 - movdqa 144-128(%rbp),%xmm2 - paddd %xmm3,%xmm10 - paddd %xmm9,%xmm2 -.byte 15,56,205,245 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movdqa %xmm6,%xmm3 -.byte 102,15,58,15,221,4 -.byte 69,15,56,203,254 -.byte 69,15,56,205,209 - pshufd $0x0e,%xmm1,%xmm0 - paddd %xmm3,%xmm7 - movdqa %xmm10,%xmm3 -.byte 102,65,15,58,15,217,4 -.byte 15,56,204,229 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 160-128(%rbp),%xmm1 - paddd %xmm6,%xmm1 -.byte 69,15,56,203,247 -.byte 69,15,56,204,193 - movdqa %xmm1,%xmm0 - movdqa 160-128(%rbp),%xmm2 - paddd %xmm3,%xmm11 - paddd %xmm10,%xmm2 -.byte 15,56,205,254 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movdqa %xmm7,%xmm3 -.byte 102,15,58,15,222,4 -.byte 69,15,56,203,254 -.byte 69,15,56,205,218 - pshufd $0x0e,%xmm1,%xmm0 - paddd %xmm3,%xmm4 - movdqa %xmm11,%xmm3 -.byte 102,65,15,58,15,218,4 -.byte 15,56,204,238 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 176-128(%rbp),%xmm1 - paddd %xmm7,%xmm1 -.byte 69,15,56,203,247 -.byte 69,15,56,204,202 - movdqa %xmm1,%xmm0 - movdqa 176-128(%rbp),%xmm2 - paddd %xmm3,%xmm8 - paddd %xmm11,%xmm2 -.byte 15,56,205,231 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movdqa %xmm4,%xmm3 -.byte 102,15,58,15,223,4 -.byte 69,15,56,203,254 -.byte 69,15,56,205,195 - pshufd $0x0e,%xmm1,%xmm0 - paddd %xmm3,%xmm5 - movdqa %xmm8,%xmm3 -.byte 102,65,15,58,15,219,4 -.byte 15,56,204,247 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 192-128(%rbp),%xmm1 - paddd %xmm4,%xmm1 -.byte 69,15,56,203,247 -.byte 69,15,56,204,211 - movdqa %xmm1,%xmm0 - movdqa 192-128(%rbp),%xmm2 - paddd %xmm3,%xmm9 - paddd %xmm8,%xmm2 -.byte 15,56,205,236 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movdqa %xmm5,%xmm3 -.byte 102,15,58,15,220,4 -.byte 69,15,56,203,254 -.byte 69,15,56,205,200 - pshufd $0x0e,%xmm1,%xmm0 - paddd %xmm3,%xmm6 - movdqa %xmm9,%xmm3 -.byte 102,65,15,58,15,216,4 -.byte 15,56,204,252 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 208-128(%rbp),%xmm1 - paddd %xmm5,%xmm1 -.byte 69,15,56,203,247 -.byte 69,15,56,204,216 - movdqa %xmm1,%xmm0 - movdqa 208-128(%rbp),%xmm2 - paddd %xmm3,%xmm10 - paddd %xmm9,%xmm2 -.byte 15,56,205,245 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movdqa %xmm6,%xmm3 -.byte 102,15,58,15,221,4 -.byte 69,15,56,203,254 -.byte 69,15,56,205,209 - pshufd $0x0e,%xmm1,%xmm0 - paddd %xmm3,%xmm7 - movdqa %xmm10,%xmm3 -.byte 102,65,15,58,15,217,4 - nop -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 224-128(%rbp),%xmm1 - paddd %xmm6,%xmm1 -.byte 69,15,56,203,247 - - movdqa %xmm1,%xmm0 - movdqa 224-128(%rbp),%xmm2 - paddd %xmm3,%xmm11 - paddd %xmm10,%xmm2 -.byte 15,56,205,254 - nop -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - movl $1,%ecx - pxor %xmm6,%xmm6 -.byte 69,15,56,203,254 -.byte 69,15,56,205,218 - pshufd $0x0e,%xmm1,%xmm0 - movdqa 240-128(%rbp),%xmm1 - paddd %xmm7,%xmm1 - movq (%rbx),%xmm7 - nop -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - movdqa 240-128(%rbp),%xmm2 - paddd %xmm11,%xmm2 -.byte 69,15,56,203,247 - - movdqa %xmm1,%xmm0 - cmpl 0(%rbx),%ecx - cmovgeq %rsp,%r8 - cmpl 4(%rbx),%ecx - cmovgeq %rsp,%r9 - pshufd $0x00,%xmm7,%xmm9 -.byte 69,15,56,203,236 - movdqa %xmm2,%xmm0 - pshufd $0x55,%xmm7,%xmm10 - movdqa %xmm7,%xmm11 -.byte 69,15,56,203,254 - pshufd $0x0e,%xmm1,%xmm0 - pcmpgtd %xmm6,%xmm9 - pcmpgtd %xmm6,%xmm10 -.byte 69,15,56,203,229 - pshufd $0x0e,%xmm2,%xmm0 - pcmpgtd %xmm6,%xmm11 - movdqa K256_shaext-16(%rip),%xmm3 -.byte 69,15,56,203,247 - - pand %xmm9,%xmm13 - pand %xmm10,%xmm15 - pand %xmm9,%xmm12 - pand %xmm10,%xmm14 - paddd %xmm7,%xmm11 - - paddd 80(%rsp),%xmm13 - paddd 112(%rsp),%xmm15 - paddd 64(%rsp),%xmm12 - paddd 96(%rsp),%xmm14 - - movq %xmm11,(%rbx) - decl %edx - jnz .Loop_shaext - - movl 280(%rsp),%edx - - pshufd $27,%xmm12,%xmm12 - pshufd $27,%xmm13,%xmm13 - pshufd $27,%xmm14,%xmm14 - pshufd $27,%xmm15,%xmm15 - - movdqa %xmm12,%xmm5 - movdqa %xmm13,%xmm6 - punpckldq %xmm14,%xmm12 - punpckhdq %xmm14,%xmm5 - punpckldq %xmm15,%xmm13 - punpckhdq %xmm15,%xmm6 - - movq %xmm12,0-128(%rdi) - psrldq $8,%xmm12 - movq %xmm5,128-128(%rdi) - psrldq $8,%xmm5 - movq %xmm12,32-128(%rdi) - movq %xmm5,160-128(%rdi) - - movq %xmm13,64-128(%rdi) - psrldq $8,%xmm13 - movq %xmm6,192-128(%rdi) - psrldq $8,%xmm6 - movq %xmm13,96-128(%rdi) - movq %xmm6,224-128(%rdi) - - leaq 8(%rdi),%rdi - leaq 32(%rsi),%rsi - decl %edx - jnz .Loop_grande_shaext - -.Ldone_shaext: - - movq -16(%rax),%rbp -.cfi_restore %rbp - movq -8(%rax),%rbx -.cfi_restore %rbx - leaq (%rax),%rsp -.cfi_def_cfa_register %rsp -.Lepilogue_shaext: - .byte 0xf3,0xc3 -.cfi_endproc -.size sha256_multi_block_shaext,.-sha256_multi_block_shaext -.align 256 -K256: -.long 1116352408,1116352408,1116352408,1116352408 -.long 1116352408,1116352408,1116352408,1116352408 -.long 1899447441,1899447441,1899447441,1899447441 -.long 1899447441,1899447441,1899447441,1899447441 -.long 3049323471,3049323471,3049323471,3049323471 -.long 3049323471,3049323471,3049323471,3049323471 -.long 3921009573,3921009573,3921009573,3921009573 -.long 3921009573,3921009573,3921009573,3921009573 -.long 961987163,961987163,961987163,961987163 -.long 961987163,961987163,961987163,961987163 -.long 1508970993,1508970993,1508970993,1508970993 -.long 1508970993,1508970993,1508970993,1508970993 -.long 2453635748,2453635748,2453635748,2453635748 -.long 2453635748,2453635748,2453635748,2453635748 -.long 2870763221,2870763221,2870763221,2870763221 -.long 2870763221,2870763221,2870763221,2870763221 -.long 3624381080,3624381080,3624381080,3624381080 -.long 3624381080,3624381080,3624381080,3624381080 -.long 310598401,310598401,310598401,310598401 -.long 310598401,310598401,310598401,310598401 -.long 607225278,607225278,607225278,607225278 -.long 607225278,607225278,607225278,607225278 -.long 1426881987,1426881987,1426881987,1426881987 -.long 1426881987,1426881987,1426881987,1426881987 -.long 1925078388,1925078388,1925078388,1925078388 -.long 1925078388,1925078388,1925078388,1925078388 -.long 2162078206,2162078206,2162078206,2162078206 -.long 2162078206,2162078206,2162078206,2162078206 -.long 2614888103,2614888103,2614888103,2614888103 -.long 2614888103,2614888103,2614888103,2614888103 -.long 3248222580,3248222580,3248222580,3248222580 -.long 3248222580,3248222580,3248222580,3248222580 -.long 3835390401,3835390401,3835390401,3835390401 -.long 3835390401,3835390401,3835390401,3835390401 -.long 4022224774,4022224774,4022224774,4022224774 -.long 4022224774,4022224774,4022224774,4022224774 -.long 264347078,264347078,264347078,264347078 -.long 264347078,264347078,264347078,264347078 -.long 604807628,604807628,604807628,604807628 -.long 604807628,604807628,604807628,604807628 -.long 770255983,770255983,770255983,770255983 -.long 770255983,770255983,770255983,770255983 -.long 1249150122,1249150122,1249150122,1249150122 -.long 1249150122,1249150122,1249150122,1249150122 -.long 1555081692,1555081692,1555081692,1555081692 -.long 1555081692,1555081692,1555081692,1555081692 -.long 1996064986,1996064986,1996064986,1996064986 -.long 1996064986,1996064986,1996064986,1996064986 -.long 2554220882,2554220882,2554220882,2554220882 -.long 2554220882,2554220882,2554220882,2554220882 -.long 2821834349,2821834349,2821834349,2821834349 -.long 2821834349,2821834349,2821834349,2821834349 -.long 2952996808,2952996808,2952996808,2952996808 -.long 2952996808,2952996808,2952996808,2952996808 -.long 3210313671,3210313671,3210313671,3210313671 -.long 3210313671,3210313671,3210313671,3210313671 -.long 3336571891,3336571891,3336571891,3336571891 -.long 3336571891,3336571891,3336571891,3336571891 -.long 3584528711,3584528711,3584528711,3584528711 -.long 3584528711,3584528711,3584528711,3584528711 -.long 113926993,113926993,113926993,113926993 -.long 113926993,113926993,113926993,113926993 -.long 338241895,338241895,338241895,338241895 -.long 338241895,338241895,338241895,338241895 -.long 666307205,666307205,666307205,666307205 -.long 666307205,666307205,666307205,666307205 -.long 773529912,773529912,773529912,773529912 -.long 773529912,773529912,773529912,773529912 -.long 1294757372,1294757372,1294757372,1294757372 -.long 1294757372,1294757372,1294757372,1294757372 -.long 1396182291,1396182291,1396182291,1396182291 -.long 1396182291,1396182291,1396182291,1396182291 -.long 1695183700,1695183700,1695183700,1695183700 -.long 1695183700,1695183700,1695183700,1695183700 -.long 1986661051,1986661051,1986661051,1986661051 -.long 1986661051,1986661051,1986661051,1986661051 -.long 2177026350,2177026350,2177026350,2177026350 -.long 2177026350,2177026350,2177026350,2177026350 -.long 2456956037,2456956037,2456956037,2456956037 -.long 2456956037,2456956037,2456956037,2456956037 -.long 2730485921,2730485921,2730485921,2730485921 -.long 2730485921,2730485921,2730485921,2730485921 -.long 2820302411,2820302411,2820302411,2820302411 -.long 2820302411,2820302411,2820302411,2820302411 -.long 3259730800,3259730800,3259730800,3259730800 -.long 3259730800,3259730800,3259730800,3259730800 -.long 3345764771,3345764771,3345764771,3345764771 -.long 3345764771,3345764771,3345764771,3345764771 -.long 3516065817,3516065817,3516065817,3516065817 -.long 3516065817,3516065817,3516065817,3516065817 -.long 3600352804,3600352804,3600352804,3600352804 -.long 3600352804,3600352804,3600352804,3600352804 -.long 4094571909,4094571909,4094571909,4094571909 -.long 4094571909,4094571909,4094571909,4094571909 -.long 275423344,275423344,275423344,275423344 -.long 275423344,275423344,275423344,275423344 -.long 430227734,430227734,430227734,430227734 -.long 430227734,430227734,430227734,430227734 -.long 506948616,506948616,506948616,506948616 -.long 506948616,506948616,506948616,506948616 -.long 659060556,659060556,659060556,659060556 -.long 659060556,659060556,659060556,659060556 -.long 883997877,883997877,883997877,883997877 -.long 883997877,883997877,883997877,883997877 -.long 958139571,958139571,958139571,958139571 -.long 958139571,958139571,958139571,958139571 -.long 1322822218,1322822218,1322822218,1322822218 -.long 1322822218,1322822218,1322822218,1322822218 -.long 1537002063,1537002063,1537002063,1537002063 -.long 1537002063,1537002063,1537002063,1537002063 -.long 1747873779,1747873779,1747873779,1747873779 -.long 1747873779,1747873779,1747873779,1747873779 -.long 1955562222,1955562222,1955562222,1955562222 -.long 1955562222,1955562222,1955562222,1955562222 -.long 2024104815,2024104815,2024104815,2024104815 -.long 2024104815,2024104815,2024104815,2024104815 -.long 2227730452,2227730452,2227730452,2227730452 -.long 2227730452,2227730452,2227730452,2227730452 -.long 2361852424,2361852424,2361852424,2361852424 -.long 2361852424,2361852424,2361852424,2361852424 -.long 2428436474,2428436474,2428436474,2428436474 -.long 2428436474,2428436474,2428436474,2428436474 -.long 2756734187,2756734187,2756734187,2756734187 -.long 2756734187,2756734187,2756734187,2756734187 -.long 3204031479,3204031479,3204031479,3204031479 -.long 3204031479,3204031479,3204031479,3204031479 -.long 3329325298,3329325298,3329325298,3329325298 -.long 3329325298,3329325298,3329325298,3329325298 -.Lpbswap: -.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -K256_shaext: -.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 -.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 -.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 -.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 -.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc -.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da -.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 -.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 -.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 -.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 -.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 -.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 -.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 -.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 -.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 -.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 -.byte 83,72,65,50,53,54,32,109,117,108,116,105,45,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha256-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha256-x86_64.S deleted file mode 100644 index a5d3cf506819..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha256-x86_64.S +++ /dev/null @@ -1,3097 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/sha/asm/sha512-x86_64.pl -# -# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - - -.globl sha256_block_data_order -.type sha256_block_data_order,@function -.align 16 -sha256_block_data_order: -.cfi_startproc - leaq OPENSSL_ia32cap_P(%rip),%r11 - movl 0(%r11),%r9d - movl 4(%r11),%r10d - movl 8(%r11),%r11d - testl $536870912,%r11d - jnz _shaext_shortcut - testl $512,%r10d - jnz .Lssse3_shortcut - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - shlq $4,%rdx - subq $64+32,%rsp - leaq (%rsi,%rdx,4),%rdx - andq $-64,%rsp - movq %rdi,64+0(%rsp) - movq %rsi,64+8(%rsp) - movq %rdx,64+16(%rsp) - movq %rax,88(%rsp) -.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08 -.Lprologue: - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - movl 16(%rdi),%r8d - movl 20(%rdi),%r9d - movl 24(%rdi),%r10d - movl 28(%rdi),%r11d - jmp .Lloop - -.align 16 -.Lloop: - movl %ebx,%edi - leaq K256(%rip),%rbp - xorl %ecx,%edi - movl 0(%rsi),%r12d - movl %r8d,%r13d - movl %eax,%r14d - bswapl %r12d - rorl $14,%r13d - movl %r9d,%r15d - - xorl %r8d,%r13d - rorl $9,%r14d - xorl %r10d,%r15d - - movl %r12d,0(%rsp) - xorl %eax,%r14d - andl %r8d,%r15d - - rorl $5,%r13d - addl %r11d,%r12d - xorl %r10d,%r15d - - rorl $11,%r14d - xorl %r8d,%r13d - addl %r15d,%r12d - - movl %eax,%r15d - addl (%rbp),%r12d - xorl %eax,%r14d - - xorl %ebx,%r15d - rorl $6,%r13d - movl %ebx,%r11d - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%r11d - addl %r12d,%edx - addl %r12d,%r11d - - leaq 4(%rbp),%rbp - addl %r14d,%r11d - movl 4(%rsi),%r12d - movl %edx,%r13d - movl %r11d,%r14d - bswapl %r12d - rorl $14,%r13d - movl %r8d,%edi - - xorl %edx,%r13d - rorl $9,%r14d - xorl %r9d,%edi - - movl %r12d,4(%rsp) - xorl %r11d,%r14d - andl %edx,%edi - - rorl $5,%r13d - addl %r10d,%r12d - xorl %r9d,%edi - - rorl $11,%r14d - xorl %edx,%r13d - addl %edi,%r12d - - movl %r11d,%edi - addl (%rbp),%r12d - xorl %r11d,%r14d - - xorl %eax,%edi - rorl $6,%r13d - movl %eax,%r10d - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%r10d - addl %r12d,%ecx - addl %r12d,%r10d - - leaq 4(%rbp),%rbp - addl %r14d,%r10d - movl 8(%rsi),%r12d - movl %ecx,%r13d - movl %r10d,%r14d - bswapl %r12d - rorl $14,%r13d - movl %edx,%r15d - - xorl %ecx,%r13d - rorl $9,%r14d - xorl %r8d,%r15d - - movl %r12d,8(%rsp) - xorl %r10d,%r14d - andl %ecx,%r15d - - rorl $5,%r13d - addl %r9d,%r12d - xorl %r8d,%r15d - - rorl $11,%r14d - xorl %ecx,%r13d - addl %r15d,%r12d - - movl %r10d,%r15d - addl (%rbp),%r12d - xorl %r10d,%r14d - - xorl %r11d,%r15d - rorl $6,%r13d - movl %r11d,%r9d - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%r9d - addl %r12d,%ebx - addl %r12d,%r9d - - leaq 4(%rbp),%rbp - addl %r14d,%r9d - movl 12(%rsi),%r12d - movl %ebx,%r13d - movl %r9d,%r14d - bswapl %r12d - rorl $14,%r13d - movl %ecx,%edi - - xorl %ebx,%r13d - rorl $9,%r14d - xorl %edx,%edi - - movl %r12d,12(%rsp) - xorl %r9d,%r14d - andl %ebx,%edi - - rorl $5,%r13d - addl %r8d,%r12d - xorl %edx,%edi - - rorl $11,%r14d - xorl %ebx,%r13d - addl %edi,%r12d - - movl %r9d,%edi - addl (%rbp),%r12d - xorl %r9d,%r14d - - xorl %r10d,%edi - rorl $6,%r13d - movl %r10d,%r8d - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%r8d - addl %r12d,%eax - addl %r12d,%r8d - - leaq 20(%rbp),%rbp - addl %r14d,%r8d - movl 16(%rsi),%r12d - movl %eax,%r13d - movl %r8d,%r14d - bswapl %r12d - rorl $14,%r13d - movl %ebx,%r15d - - xorl %eax,%r13d - rorl $9,%r14d - xorl %ecx,%r15d - - movl %r12d,16(%rsp) - xorl %r8d,%r14d - andl %eax,%r15d - - rorl $5,%r13d - addl %edx,%r12d - xorl %ecx,%r15d - - rorl $11,%r14d - xorl %eax,%r13d - addl %r15d,%r12d - - movl %r8d,%r15d - addl (%rbp),%r12d - xorl %r8d,%r14d - - xorl %r9d,%r15d - rorl $6,%r13d - movl %r9d,%edx - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%edx - addl %r12d,%r11d - addl %r12d,%edx - - leaq 4(%rbp),%rbp - addl %r14d,%edx - movl 20(%rsi),%r12d - movl %r11d,%r13d - movl %edx,%r14d - bswapl %r12d - rorl $14,%r13d - movl %eax,%edi - - xorl %r11d,%r13d - rorl $9,%r14d - xorl %ebx,%edi - - movl %r12d,20(%rsp) - xorl %edx,%r14d - andl %r11d,%edi - - rorl $5,%r13d - addl %ecx,%r12d - xorl %ebx,%edi - - rorl $11,%r14d - xorl %r11d,%r13d - addl %edi,%r12d - - movl %edx,%edi - addl (%rbp),%r12d - xorl %edx,%r14d - - xorl %r8d,%edi - rorl $6,%r13d - movl %r8d,%ecx - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%ecx - addl %r12d,%r10d - addl %r12d,%ecx - - leaq 4(%rbp),%rbp - addl %r14d,%ecx - movl 24(%rsi),%r12d - movl %r10d,%r13d - movl %ecx,%r14d - bswapl %r12d - rorl $14,%r13d - movl %r11d,%r15d - - xorl %r10d,%r13d - rorl $9,%r14d - xorl %eax,%r15d - - movl %r12d,24(%rsp) - xorl %ecx,%r14d - andl %r10d,%r15d - - rorl $5,%r13d - addl %ebx,%r12d - xorl %eax,%r15d - - rorl $11,%r14d - xorl %r10d,%r13d - addl %r15d,%r12d - - movl %ecx,%r15d - addl (%rbp),%r12d - xorl %ecx,%r14d - - xorl %edx,%r15d - rorl $6,%r13d - movl %edx,%ebx - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%ebx - addl %r12d,%r9d - addl %r12d,%ebx - - leaq 4(%rbp),%rbp - addl %r14d,%ebx - movl 28(%rsi),%r12d - movl %r9d,%r13d - movl %ebx,%r14d - bswapl %r12d - rorl $14,%r13d - movl %r10d,%edi - - xorl %r9d,%r13d - rorl $9,%r14d - xorl %r11d,%edi - - movl %r12d,28(%rsp) - xorl %ebx,%r14d - andl %r9d,%edi - - rorl $5,%r13d - addl %eax,%r12d - xorl %r11d,%edi - - rorl $11,%r14d - xorl %r9d,%r13d - addl %edi,%r12d - - movl %ebx,%edi - addl (%rbp),%r12d - xorl %ebx,%r14d - - xorl %ecx,%edi - rorl $6,%r13d - movl %ecx,%eax - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%eax - addl %r12d,%r8d - addl %r12d,%eax - - leaq 20(%rbp),%rbp - addl %r14d,%eax - movl 32(%rsi),%r12d - movl %r8d,%r13d - movl %eax,%r14d - bswapl %r12d - rorl $14,%r13d - movl %r9d,%r15d - - xorl %r8d,%r13d - rorl $9,%r14d - xorl %r10d,%r15d - - movl %r12d,32(%rsp) - xorl %eax,%r14d - andl %r8d,%r15d - - rorl $5,%r13d - addl %r11d,%r12d - xorl %r10d,%r15d - - rorl $11,%r14d - xorl %r8d,%r13d - addl %r15d,%r12d - - movl %eax,%r15d - addl (%rbp),%r12d - xorl %eax,%r14d - - xorl %ebx,%r15d - rorl $6,%r13d - movl %ebx,%r11d - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%r11d - addl %r12d,%edx - addl %r12d,%r11d - - leaq 4(%rbp),%rbp - addl %r14d,%r11d - movl 36(%rsi),%r12d - movl %edx,%r13d - movl %r11d,%r14d - bswapl %r12d - rorl $14,%r13d - movl %r8d,%edi - - xorl %edx,%r13d - rorl $9,%r14d - xorl %r9d,%edi - - movl %r12d,36(%rsp) - xorl %r11d,%r14d - andl %edx,%edi - - rorl $5,%r13d - addl %r10d,%r12d - xorl %r9d,%edi - - rorl $11,%r14d - xorl %edx,%r13d - addl %edi,%r12d - - movl %r11d,%edi - addl (%rbp),%r12d - xorl %r11d,%r14d - - xorl %eax,%edi - rorl $6,%r13d - movl %eax,%r10d - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%r10d - addl %r12d,%ecx - addl %r12d,%r10d - - leaq 4(%rbp),%rbp - addl %r14d,%r10d - movl 40(%rsi),%r12d - movl %ecx,%r13d - movl %r10d,%r14d - bswapl %r12d - rorl $14,%r13d - movl %edx,%r15d - - xorl %ecx,%r13d - rorl $9,%r14d - xorl %r8d,%r15d - - movl %r12d,40(%rsp) - xorl %r10d,%r14d - andl %ecx,%r15d - - rorl $5,%r13d - addl %r9d,%r12d - xorl %r8d,%r15d - - rorl $11,%r14d - xorl %ecx,%r13d - addl %r15d,%r12d - - movl %r10d,%r15d - addl (%rbp),%r12d - xorl %r10d,%r14d - - xorl %r11d,%r15d - rorl $6,%r13d - movl %r11d,%r9d - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%r9d - addl %r12d,%ebx - addl %r12d,%r9d - - leaq 4(%rbp),%rbp - addl %r14d,%r9d - movl 44(%rsi),%r12d - movl %ebx,%r13d - movl %r9d,%r14d - bswapl %r12d - rorl $14,%r13d - movl %ecx,%edi - - xorl %ebx,%r13d - rorl $9,%r14d - xorl %edx,%edi - - movl %r12d,44(%rsp) - xorl %r9d,%r14d - andl %ebx,%edi - - rorl $5,%r13d - addl %r8d,%r12d - xorl %edx,%edi - - rorl $11,%r14d - xorl %ebx,%r13d - addl %edi,%r12d - - movl %r9d,%edi - addl (%rbp),%r12d - xorl %r9d,%r14d - - xorl %r10d,%edi - rorl $6,%r13d - movl %r10d,%r8d - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%r8d - addl %r12d,%eax - addl %r12d,%r8d - - leaq 20(%rbp),%rbp - addl %r14d,%r8d - movl 48(%rsi),%r12d - movl %eax,%r13d - movl %r8d,%r14d - bswapl %r12d - rorl $14,%r13d - movl %ebx,%r15d - - xorl %eax,%r13d - rorl $9,%r14d - xorl %ecx,%r15d - - movl %r12d,48(%rsp) - xorl %r8d,%r14d - andl %eax,%r15d - - rorl $5,%r13d - addl %edx,%r12d - xorl %ecx,%r15d - - rorl $11,%r14d - xorl %eax,%r13d - addl %r15d,%r12d - - movl %r8d,%r15d - addl (%rbp),%r12d - xorl %r8d,%r14d - - xorl %r9d,%r15d - rorl $6,%r13d - movl %r9d,%edx - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%edx - addl %r12d,%r11d - addl %r12d,%edx - - leaq 4(%rbp),%rbp - addl %r14d,%edx - movl 52(%rsi),%r12d - movl %r11d,%r13d - movl %edx,%r14d - bswapl %r12d - rorl $14,%r13d - movl %eax,%edi - - xorl %r11d,%r13d - rorl $9,%r14d - xorl %ebx,%edi - - movl %r12d,52(%rsp) - xorl %edx,%r14d - andl %r11d,%edi - - rorl $5,%r13d - addl %ecx,%r12d - xorl %ebx,%edi - - rorl $11,%r14d - xorl %r11d,%r13d - addl %edi,%r12d - - movl %edx,%edi - addl (%rbp),%r12d - xorl %edx,%r14d - - xorl %r8d,%edi - rorl $6,%r13d - movl %r8d,%ecx - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%ecx - addl %r12d,%r10d - addl %r12d,%ecx - - leaq 4(%rbp),%rbp - addl %r14d,%ecx - movl 56(%rsi),%r12d - movl %r10d,%r13d - movl %ecx,%r14d - bswapl %r12d - rorl $14,%r13d - movl %r11d,%r15d - - xorl %r10d,%r13d - rorl $9,%r14d - xorl %eax,%r15d - - movl %r12d,56(%rsp) - xorl %ecx,%r14d - andl %r10d,%r15d - - rorl $5,%r13d - addl %ebx,%r12d - xorl %eax,%r15d - - rorl $11,%r14d - xorl %r10d,%r13d - addl %r15d,%r12d - - movl %ecx,%r15d - addl (%rbp),%r12d - xorl %ecx,%r14d - - xorl %edx,%r15d - rorl $6,%r13d - movl %edx,%ebx - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%ebx - addl %r12d,%r9d - addl %r12d,%ebx - - leaq 4(%rbp),%rbp - addl %r14d,%ebx - movl 60(%rsi),%r12d - movl %r9d,%r13d - movl %ebx,%r14d - bswapl %r12d - rorl $14,%r13d - movl %r10d,%edi - - xorl %r9d,%r13d - rorl $9,%r14d - xorl %r11d,%edi - - movl %r12d,60(%rsp) - xorl %ebx,%r14d - andl %r9d,%edi - - rorl $5,%r13d - addl %eax,%r12d - xorl %r11d,%edi - - rorl $11,%r14d - xorl %r9d,%r13d - addl %edi,%r12d - - movl %ebx,%edi - addl (%rbp),%r12d - xorl %ebx,%r14d - - xorl %ecx,%edi - rorl $6,%r13d - movl %ecx,%eax - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%eax - addl %r12d,%r8d - addl %r12d,%eax - - leaq 20(%rbp),%rbp - jmp .Lrounds_16_xx -.align 16 -.Lrounds_16_xx: - movl 4(%rsp),%r13d - movl 56(%rsp),%r15d - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%eax - movl %r15d,%r14d - rorl $2,%r15d - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%r15d - shrl $10,%r14d - - rorl $17,%r15d - xorl %r13d,%r12d - xorl %r14d,%r15d - addl 36(%rsp),%r12d - - addl 0(%rsp),%r12d - movl %r8d,%r13d - addl %r15d,%r12d - movl %eax,%r14d - rorl $14,%r13d - movl %r9d,%r15d - - xorl %r8d,%r13d - rorl $9,%r14d - xorl %r10d,%r15d - - movl %r12d,0(%rsp) - xorl %eax,%r14d - andl %r8d,%r15d - - rorl $5,%r13d - addl %r11d,%r12d - xorl %r10d,%r15d - - rorl $11,%r14d - xorl %r8d,%r13d - addl %r15d,%r12d - - movl %eax,%r15d - addl (%rbp),%r12d - xorl %eax,%r14d - - xorl %ebx,%r15d - rorl $6,%r13d - movl %ebx,%r11d - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%r11d - addl %r12d,%edx - addl %r12d,%r11d - - leaq 4(%rbp),%rbp - movl 8(%rsp),%r13d - movl 60(%rsp),%edi - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%r11d - movl %edi,%r14d - rorl $2,%edi - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%edi - shrl $10,%r14d - - rorl $17,%edi - xorl %r13d,%r12d - xorl %r14d,%edi - addl 40(%rsp),%r12d - - addl 4(%rsp),%r12d - movl %edx,%r13d - addl %edi,%r12d - movl %r11d,%r14d - rorl $14,%r13d - movl %r8d,%edi - - xorl %edx,%r13d - rorl $9,%r14d - xorl %r9d,%edi - - movl %r12d,4(%rsp) - xorl %r11d,%r14d - andl %edx,%edi - - rorl $5,%r13d - addl %r10d,%r12d - xorl %r9d,%edi - - rorl $11,%r14d - xorl %edx,%r13d - addl %edi,%r12d - - movl %r11d,%edi - addl (%rbp),%r12d - xorl %r11d,%r14d - - xorl %eax,%edi - rorl $6,%r13d - movl %eax,%r10d - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%r10d - addl %r12d,%ecx - addl %r12d,%r10d - - leaq 4(%rbp),%rbp - movl 12(%rsp),%r13d - movl 0(%rsp),%r15d - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%r10d - movl %r15d,%r14d - rorl $2,%r15d - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%r15d - shrl $10,%r14d - - rorl $17,%r15d - xorl %r13d,%r12d - xorl %r14d,%r15d - addl 44(%rsp),%r12d - - addl 8(%rsp),%r12d - movl %ecx,%r13d - addl %r15d,%r12d - movl %r10d,%r14d - rorl $14,%r13d - movl %edx,%r15d - - xorl %ecx,%r13d - rorl $9,%r14d - xorl %r8d,%r15d - - movl %r12d,8(%rsp) - xorl %r10d,%r14d - andl %ecx,%r15d - - rorl $5,%r13d - addl %r9d,%r12d - xorl %r8d,%r15d - - rorl $11,%r14d - xorl %ecx,%r13d - addl %r15d,%r12d - - movl %r10d,%r15d - addl (%rbp),%r12d - xorl %r10d,%r14d - - xorl %r11d,%r15d - rorl $6,%r13d - movl %r11d,%r9d - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%r9d - addl %r12d,%ebx - addl %r12d,%r9d - - leaq 4(%rbp),%rbp - movl 16(%rsp),%r13d - movl 4(%rsp),%edi - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%r9d - movl %edi,%r14d - rorl $2,%edi - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%edi - shrl $10,%r14d - - rorl $17,%edi - xorl %r13d,%r12d - xorl %r14d,%edi - addl 48(%rsp),%r12d - - addl 12(%rsp),%r12d - movl %ebx,%r13d - addl %edi,%r12d - movl %r9d,%r14d - rorl $14,%r13d - movl %ecx,%edi - - xorl %ebx,%r13d - rorl $9,%r14d - xorl %edx,%edi - - movl %r12d,12(%rsp) - xorl %r9d,%r14d - andl %ebx,%edi - - rorl $5,%r13d - addl %r8d,%r12d - xorl %edx,%edi - - rorl $11,%r14d - xorl %ebx,%r13d - addl %edi,%r12d - - movl %r9d,%edi - addl (%rbp),%r12d - xorl %r9d,%r14d - - xorl %r10d,%edi - rorl $6,%r13d - movl %r10d,%r8d - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%r8d - addl %r12d,%eax - addl %r12d,%r8d - - leaq 20(%rbp),%rbp - movl 20(%rsp),%r13d - movl 8(%rsp),%r15d - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%r8d - movl %r15d,%r14d - rorl $2,%r15d - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%r15d - shrl $10,%r14d - - rorl $17,%r15d - xorl %r13d,%r12d - xorl %r14d,%r15d - addl 52(%rsp),%r12d - - addl 16(%rsp),%r12d - movl %eax,%r13d - addl %r15d,%r12d - movl %r8d,%r14d - rorl $14,%r13d - movl %ebx,%r15d - - xorl %eax,%r13d - rorl $9,%r14d - xorl %ecx,%r15d - - movl %r12d,16(%rsp) - xorl %r8d,%r14d - andl %eax,%r15d - - rorl $5,%r13d - addl %edx,%r12d - xorl %ecx,%r15d - - rorl $11,%r14d - xorl %eax,%r13d - addl %r15d,%r12d - - movl %r8d,%r15d - addl (%rbp),%r12d - xorl %r8d,%r14d - - xorl %r9d,%r15d - rorl $6,%r13d - movl %r9d,%edx - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%edx - addl %r12d,%r11d - addl %r12d,%edx - - leaq 4(%rbp),%rbp - movl 24(%rsp),%r13d - movl 12(%rsp),%edi - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%edx - movl %edi,%r14d - rorl $2,%edi - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%edi - shrl $10,%r14d - - rorl $17,%edi - xorl %r13d,%r12d - xorl %r14d,%edi - addl 56(%rsp),%r12d - - addl 20(%rsp),%r12d - movl %r11d,%r13d - addl %edi,%r12d - movl %edx,%r14d - rorl $14,%r13d - movl %eax,%edi - - xorl %r11d,%r13d - rorl $9,%r14d - xorl %ebx,%edi - - movl %r12d,20(%rsp) - xorl %edx,%r14d - andl %r11d,%edi - - rorl $5,%r13d - addl %ecx,%r12d - xorl %ebx,%edi - - rorl $11,%r14d - xorl %r11d,%r13d - addl %edi,%r12d - - movl %edx,%edi - addl (%rbp),%r12d - xorl %edx,%r14d - - xorl %r8d,%edi - rorl $6,%r13d - movl %r8d,%ecx - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%ecx - addl %r12d,%r10d - addl %r12d,%ecx - - leaq 4(%rbp),%rbp - movl 28(%rsp),%r13d - movl 16(%rsp),%r15d - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%ecx - movl %r15d,%r14d - rorl $2,%r15d - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%r15d - shrl $10,%r14d - - rorl $17,%r15d - xorl %r13d,%r12d - xorl %r14d,%r15d - addl 60(%rsp),%r12d - - addl 24(%rsp),%r12d - movl %r10d,%r13d - addl %r15d,%r12d - movl %ecx,%r14d - rorl $14,%r13d - movl %r11d,%r15d - - xorl %r10d,%r13d - rorl $9,%r14d - xorl %eax,%r15d - - movl %r12d,24(%rsp) - xorl %ecx,%r14d - andl %r10d,%r15d - - rorl $5,%r13d - addl %ebx,%r12d - xorl %eax,%r15d - - rorl $11,%r14d - xorl %r10d,%r13d - addl %r15d,%r12d - - movl %ecx,%r15d - addl (%rbp),%r12d - xorl %ecx,%r14d - - xorl %edx,%r15d - rorl $6,%r13d - movl %edx,%ebx - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%ebx - addl %r12d,%r9d - addl %r12d,%ebx - - leaq 4(%rbp),%rbp - movl 32(%rsp),%r13d - movl 20(%rsp),%edi - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%ebx - movl %edi,%r14d - rorl $2,%edi - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%edi - shrl $10,%r14d - - rorl $17,%edi - xorl %r13d,%r12d - xorl %r14d,%edi - addl 0(%rsp),%r12d - - addl 28(%rsp),%r12d - movl %r9d,%r13d - addl %edi,%r12d - movl %ebx,%r14d - rorl $14,%r13d - movl %r10d,%edi - - xorl %r9d,%r13d - rorl $9,%r14d - xorl %r11d,%edi - - movl %r12d,28(%rsp) - xorl %ebx,%r14d - andl %r9d,%edi - - rorl $5,%r13d - addl %eax,%r12d - xorl %r11d,%edi - - rorl $11,%r14d - xorl %r9d,%r13d - addl %edi,%r12d - - movl %ebx,%edi - addl (%rbp),%r12d - xorl %ebx,%r14d - - xorl %ecx,%edi - rorl $6,%r13d - movl %ecx,%eax - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%eax - addl %r12d,%r8d - addl %r12d,%eax - - leaq 20(%rbp),%rbp - movl 36(%rsp),%r13d - movl 24(%rsp),%r15d - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%eax - movl %r15d,%r14d - rorl $2,%r15d - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%r15d - shrl $10,%r14d - - rorl $17,%r15d - xorl %r13d,%r12d - xorl %r14d,%r15d - addl 4(%rsp),%r12d - - addl 32(%rsp),%r12d - movl %r8d,%r13d - addl %r15d,%r12d - movl %eax,%r14d - rorl $14,%r13d - movl %r9d,%r15d - - xorl %r8d,%r13d - rorl $9,%r14d - xorl %r10d,%r15d - - movl %r12d,32(%rsp) - xorl %eax,%r14d - andl %r8d,%r15d - - rorl $5,%r13d - addl %r11d,%r12d - xorl %r10d,%r15d - - rorl $11,%r14d - xorl %r8d,%r13d - addl %r15d,%r12d - - movl %eax,%r15d - addl (%rbp),%r12d - xorl %eax,%r14d - - xorl %ebx,%r15d - rorl $6,%r13d - movl %ebx,%r11d - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%r11d - addl %r12d,%edx - addl %r12d,%r11d - - leaq 4(%rbp),%rbp - movl 40(%rsp),%r13d - movl 28(%rsp),%edi - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%r11d - movl %edi,%r14d - rorl $2,%edi - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%edi - shrl $10,%r14d - - rorl $17,%edi - xorl %r13d,%r12d - xorl %r14d,%edi - addl 8(%rsp),%r12d - - addl 36(%rsp),%r12d - movl %edx,%r13d - addl %edi,%r12d - movl %r11d,%r14d - rorl $14,%r13d - movl %r8d,%edi - - xorl %edx,%r13d - rorl $9,%r14d - xorl %r9d,%edi - - movl %r12d,36(%rsp) - xorl %r11d,%r14d - andl %edx,%edi - - rorl $5,%r13d - addl %r10d,%r12d - xorl %r9d,%edi - - rorl $11,%r14d - xorl %edx,%r13d - addl %edi,%r12d - - movl %r11d,%edi - addl (%rbp),%r12d - xorl %r11d,%r14d - - xorl %eax,%edi - rorl $6,%r13d - movl %eax,%r10d - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%r10d - addl %r12d,%ecx - addl %r12d,%r10d - - leaq 4(%rbp),%rbp - movl 44(%rsp),%r13d - movl 32(%rsp),%r15d - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%r10d - movl %r15d,%r14d - rorl $2,%r15d - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%r15d - shrl $10,%r14d - - rorl $17,%r15d - xorl %r13d,%r12d - xorl %r14d,%r15d - addl 12(%rsp),%r12d - - addl 40(%rsp),%r12d - movl %ecx,%r13d - addl %r15d,%r12d - movl %r10d,%r14d - rorl $14,%r13d - movl %edx,%r15d - - xorl %ecx,%r13d - rorl $9,%r14d - xorl %r8d,%r15d - - movl %r12d,40(%rsp) - xorl %r10d,%r14d - andl %ecx,%r15d - - rorl $5,%r13d - addl %r9d,%r12d - xorl %r8d,%r15d - - rorl $11,%r14d - xorl %ecx,%r13d - addl %r15d,%r12d - - movl %r10d,%r15d - addl (%rbp),%r12d - xorl %r10d,%r14d - - xorl %r11d,%r15d - rorl $6,%r13d - movl %r11d,%r9d - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%r9d - addl %r12d,%ebx - addl %r12d,%r9d - - leaq 4(%rbp),%rbp - movl 48(%rsp),%r13d - movl 36(%rsp),%edi - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%r9d - movl %edi,%r14d - rorl $2,%edi - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%edi - shrl $10,%r14d - - rorl $17,%edi - xorl %r13d,%r12d - xorl %r14d,%edi - addl 16(%rsp),%r12d - - addl 44(%rsp),%r12d - movl %ebx,%r13d - addl %edi,%r12d - movl %r9d,%r14d - rorl $14,%r13d - movl %ecx,%edi - - xorl %ebx,%r13d - rorl $9,%r14d - xorl %edx,%edi - - movl %r12d,44(%rsp) - xorl %r9d,%r14d - andl %ebx,%edi - - rorl $5,%r13d - addl %r8d,%r12d - xorl %edx,%edi - - rorl $11,%r14d - xorl %ebx,%r13d - addl %edi,%r12d - - movl %r9d,%edi - addl (%rbp),%r12d - xorl %r9d,%r14d - - xorl %r10d,%edi - rorl $6,%r13d - movl %r10d,%r8d - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%r8d - addl %r12d,%eax - addl %r12d,%r8d - - leaq 20(%rbp),%rbp - movl 52(%rsp),%r13d - movl 40(%rsp),%r15d - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%r8d - movl %r15d,%r14d - rorl $2,%r15d - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%r15d - shrl $10,%r14d - - rorl $17,%r15d - xorl %r13d,%r12d - xorl %r14d,%r15d - addl 20(%rsp),%r12d - - addl 48(%rsp),%r12d - movl %eax,%r13d - addl %r15d,%r12d - movl %r8d,%r14d - rorl $14,%r13d - movl %ebx,%r15d - - xorl %eax,%r13d - rorl $9,%r14d - xorl %ecx,%r15d - - movl %r12d,48(%rsp) - xorl %r8d,%r14d - andl %eax,%r15d - - rorl $5,%r13d - addl %edx,%r12d - xorl %ecx,%r15d - - rorl $11,%r14d - xorl %eax,%r13d - addl %r15d,%r12d - - movl %r8d,%r15d - addl (%rbp),%r12d - xorl %r8d,%r14d - - xorl %r9d,%r15d - rorl $6,%r13d - movl %r9d,%edx - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%edx - addl %r12d,%r11d - addl %r12d,%edx - - leaq 4(%rbp),%rbp - movl 56(%rsp),%r13d - movl 44(%rsp),%edi - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%edx - movl %edi,%r14d - rorl $2,%edi - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%edi - shrl $10,%r14d - - rorl $17,%edi - xorl %r13d,%r12d - xorl %r14d,%edi - addl 24(%rsp),%r12d - - addl 52(%rsp),%r12d - movl %r11d,%r13d - addl %edi,%r12d - movl %edx,%r14d - rorl $14,%r13d - movl %eax,%edi - - xorl %r11d,%r13d - rorl $9,%r14d - xorl %ebx,%edi - - movl %r12d,52(%rsp) - xorl %edx,%r14d - andl %r11d,%edi - - rorl $5,%r13d - addl %ecx,%r12d - xorl %ebx,%edi - - rorl $11,%r14d - xorl %r11d,%r13d - addl %edi,%r12d - - movl %edx,%edi - addl (%rbp),%r12d - xorl %edx,%r14d - - xorl %r8d,%edi - rorl $6,%r13d - movl %r8d,%ecx - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%ecx - addl %r12d,%r10d - addl %r12d,%ecx - - leaq 4(%rbp),%rbp - movl 60(%rsp),%r13d - movl 48(%rsp),%r15d - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%ecx - movl %r15d,%r14d - rorl $2,%r15d - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%r15d - shrl $10,%r14d - - rorl $17,%r15d - xorl %r13d,%r12d - xorl %r14d,%r15d - addl 28(%rsp),%r12d - - addl 56(%rsp),%r12d - movl %r10d,%r13d - addl %r15d,%r12d - movl %ecx,%r14d - rorl $14,%r13d - movl %r11d,%r15d - - xorl %r10d,%r13d - rorl $9,%r14d - xorl %eax,%r15d - - movl %r12d,56(%rsp) - xorl %ecx,%r14d - andl %r10d,%r15d - - rorl $5,%r13d - addl %ebx,%r12d - xorl %eax,%r15d - - rorl $11,%r14d - xorl %r10d,%r13d - addl %r15d,%r12d - - movl %ecx,%r15d - addl (%rbp),%r12d - xorl %ecx,%r14d - - xorl %edx,%r15d - rorl $6,%r13d - movl %edx,%ebx - - andl %r15d,%edi - rorl $2,%r14d - addl %r13d,%r12d - - xorl %edi,%ebx - addl %r12d,%r9d - addl %r12d,%ebx - - leaq 4(%rbp),%rbp - movl 0(%rsp),%r13d - movl 52(%rsp),%edi - - movl %r13d,%r12d - rorl $11,%r13d - addl %r14d,%ebx - movl %edi,%r14d - rorl $2,%edi - - xorl %r12d,%r13d - shrl $3,%r12d - rorl $7,%r13d - xorl %r14d,%edi - shrl $10,%r14d - - rorl $17,%edi - xorl %r13d,%r12d - xorl %r14d,%edi - addl 32(%rsp),%r12d - - addl 60(%rsp),%r12d - movl %r9d,%r13d - addl %edi,%r12d - movl %ebx,%r14d - rorl $14,%r13d - movl %r10d,%edi - - xorl %r9d,%r13d - rorl $9,%r14d - xorl %r11d,%edi - - movl %r12d,60(%rsp) - xorl %ebx,%r14d - andl %r9d,%edi - - rorl $5,%r13d - addl %eax,%r12d - xorl %r11d,%edi - - rorl $11,%r14d - xorl %r9d,%r13d - addl %edi,%r12d - - movl %ebx,%edi - addl (%rbp),%r12d - xorl %ebx,%r14d - - xorl %ecx,%edi - rorl $6,%r13d - movl %ecx,%eax - - andl %edi,%r15d - rorl $2,%r14d - addl %r13d,%r12d - - xorl %r15d,%eax - addl %r12d,%r8d - addl %r12d,%eax - - leaq 20(%rbp),%rbp - cmpb $0,3(%rbp) - jnz .Lrounds_16_xx - - movq 64+0(%rsp),%rdi - addl %r14d,%eax - leaq 64(%rsi),%rsi - - addl 0(%rdi),%eax - addl 4(%rdi),%ebx - addl 8(%rdi),%ecx - addl 12(%rdi),%edx - addl 16(%rdi),%r8d - addl 20(%rdi),%r9d - addl 24(%rdi),%r10d - addl 28(%rdi),%r11d - - cmpq 64+16(%rsp),%rsi - - movl %eax,0(%rdi) - movl %ebx,4(%rdi) - movl %ecx,8(%rdi) - movl %edx,12(%rdi) - movl %r8d,16(%rdi) - movl %r9d,20(%rdi) - movl %r10d,24(%rdi) - movl %r11d,28(%rdi) - jb .Lloop - - movq 88(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lepilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size sha256_block_data_order,.-sha256_block_data_order -.align 64 -.type K256,@object -K256: -.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 -.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 -.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 -.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 -.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 -.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 -.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 -.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 -.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc -.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc -.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da -.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da -.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 -.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7 -.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 -.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967 -.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 -.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13 -.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 -.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85 -.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 -.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3 -.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 -.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070 -.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 -.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5 -.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 -.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 -.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 -.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 -.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 -.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 - -.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f -.long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff -.long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff -.long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908 -.long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908 -.byte 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 -.type sha256_block_data_order_shaext,@function -.align 64 -sha256_block_data_order_shaext: -_shaext_shortcut: -.cfi_startproc - leaq K256+128(%rip),%rcx - movdqu (%rdi),%xmm1 - movdqu 16(%rdi),%xmm2 - movdqa 512-128(%rcx),%xmm7 - - pshufd $0x1b,%xmm1,%xmm0 - pshufd $0xb1,%xmm1,%xmm1 - pshufd $0x1b,%xmm2,%xmm2 - movdqa %xmm7,%xmm8 -.byte 102,15,58,15,202,8 - punpcklqdq %xmm0,%xmm2 - jmp .Loop_shaext - -.align 16 -.Loop_shaext: - movdqu (%rsi),%xmm3 - movdqu 16(%rsi),%xmm4 - movdqu 32(%rsi),%xmm5 -.byte 102,15,56,0,223 - movdqu 48(%rsi),%xmm6 - - movdqa 0-128(%rcx),%xmm0 - paddd %xmm3,%xmm0 -.byte 102,15,56,0,231 - movdqa %xmm2,%xmm10 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - nop - movdqa %xmm1,%xmm9 -.byte 15,56,203,202 - - movdqa 32-128(%rcx),%xmm0 - paddd %xmm4,%xmm0 -.byte 102,15,56,0,239 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - leaq 64(%rsi),%rsi -.byte 15,56,204,220 -.byte 15,56,203,202 - - movdqa 64-128(%rcx),%xmm0 - paddd %xmm5,%xmm0 -.byte 102,15,56,0,247 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm6,%xmm7 -.byte 102,15,58,15,253,4 - nop - paddd %xmm7,%xmm3 -.byte 15,56,204,229 -.byte 15,56,203,202 - - movdqa 96-128(%rcx),%xmm0 - paddd %xmm6,%xmm0 -.byte 15,56,205,222 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm3,%xmm7 -.byte 102,15,58,15,254,4 - nop - paddd %xmm7,%xmm4 -.byte 15,56,204,238 -.byte 15,56,203,202 - movdqa 128-128(%rcx),%xmm0 - paddd %xmm3,%xmm0 -.byte 15,56,205,227 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm4,%xmm7 -.byte 102,15,58,15,251,4 - nop - paddd %xmm7,%xmm5 -.byte 15,56,204,243 -.byte 15,56,203,202 - movdqa 160-128(%rcx),%xmm0 - paddd %xmm4,%xmm0 -.byte 15,56,205,236 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm5,%xmm7 -.byte 102,15,58,15,252,4 - nop - paddd %xmm7,%xmm6 -.byte 15,56,204,220 -.byte 15,56,203,202 - movdqa 192-128(%rcx),%xmm0 - paddd %xmm5,%xmm0 -.byte 15,56,205,245 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm6,%xmm7 -.byte 102,15,58,15,253,4 - nop - paddd %xmm7,%xmm3 -.byte 15,56,204,229 -.byte 15,56,203,202 - movdqa 224-128(%rcx),%xmm0 - paddd %xmm6,%xmm0 -.byte 15,56,205,222 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm3,%xmm7 -.byte 102,15,58,15,254,4 - nop - paddd %xmm7,%xmm4 -.byte 15,56,204,238 -.byte 15,56,203,202 - movdqa 256-128(%rcx),%xmm0 - paddd %xmm3,%xmm0 -.byte 15,56,205,227 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm4,%xmm7 -.byte 102,15,58,15,251,4 - nop - paddd %xmm7,%xmm5 -.byte 15,56,204,243 -.byte 15,56,203,202 - movdqa 288-128(%rcx),%xmm0 - paddd %xmm4,%xmm0 -.byte 15,56,205,236 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm5,%xmm7 -.byte 102,15,58,15,252,4 - nop - paddd %xmm7,%xmm6 -.byte 15,56,204,220 -.byte 15,56,203,202 - movdqa 320-128(%rcx),%xmm0 - paddd %xmm5,%xmm0 -.byte 15,56,205,245 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm6,%xmm7 -.byte 102,15,58,15,253,4 - nop - paddd %xmm7,%xmm3 -.byte 15,56,204,229 -.byte 15,56,203,202 - movdqa 352-128(%rcx),%xmm0 - paddd %xmm6,%xmm0 -.byte 15,56,205,222 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm3,%xmm7 -.byte 102,15,58,15,254,4 - nop - paddd %xmm7,%xmm4 -.byte 15,56,204,238 -.byte 15,56,203,202 - movdqa 384-128(%rcx),%xmm0 - paddd %xmm3,%xmm0 -.byte 15,56,205,227 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm4,%xmm7 -.byte 102,15,58,15,251,4 - nop - paddd %xmm7,%xmm5 -.byte 15,56,204,243 -.byte 15,56,203,202 - movdqa 416-128(%rcx),%xmm0 - paddd %xmm4,%xmm0 -.byte 15,56,205,236 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - movdqa %xmm5,%xmm7 -.byte 102,15,58,15,252,4 -.byte 15,56,203,202 - paddd %xmm7,%xmm6 - - movdqa 448-128(%rcx),%xmm0 - paddd %xmm5,%xmm0 -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 -.byte 15,56,205,245 - movdqa %xmm8,%xmm7 -.byte 15,56,203,202 - - movdqa 480-128(%rcx),%xmm0 - paddd %xmm6,%xmm0 - nop -.byte 15,56,203,209 - pshufd $0x0e,%xmm0,%xmm0 - decq %rdx - nop -.byte 15,56,203,202 - - paddd %xmm10,%xmm2 - paddd %xmm9,%xmm1 - jnz .Loop_shaext - - pshufd $0xb1,%xmm2,%xmm2 - pshufd $0x1b,%xmm1,%xmm7 - pshufd $0xb1,%xmm1,%xmm1 - punpckhqdq %xmm2,%xmm1 -.byte 102,15,58,15,215,8 - - movdqu %xmm1,(%rdi) - movdqu %xmm2,16(%rdi) - .byte 0xf3,0xc3 -.cfi_endproc -.size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext -.type sha256_block_data_order_ssse3,@function -.align 64 -sha256_block_data_order_ssse3: -.cfi_startproc -.Lssse3_shortcut: - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - shlq $4,%rdx - subq $96,%rsp - leaq (%rsi,%rdx,4),%rdx - andq $-64,%rsp - movq %rdi,64+0(%rsp) - movq %rsi,64+8(%rsp) - movq %rdx,64+16(%rsp) - movq %rax,88(%rsp) -.cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08 -.Lprologue_ssse3: - - movl 0(%rdi),%eax - movl 4(%rdi),%ebx - movl 8(%rdi),%ecx - movl 12(%rdi),%edx - movl 16(%rdi),%r8d - movl 20(%rdi),%r9d - movl 24(%rdi),%r10d - movl 28(%rdi),%r11d - - - jmp .Lloop_ssse3 -.align 16 -.Lloop_ssse3: - movdqa K256+512(%rip),%xmm7 - movdqu 0(%rsi),%xmm0 - movdqu 16(%rsi),%xmm1 - movdqu 32(%rsi),%xmm2 -.byte 102,15,56,0,199 - movdqu 48(%rsi),%xmm3 - leaq K256(%rip),%rbp -.byte 102,15,56,0,207 - movdqa 0(%rbp),%xmm4 - movdqa 32(%rbp),%xmm5 -.byte 102,15,56,0,215 - paddd %xmm0,%xmm4 - movdqa 64(%rbp),%xmm6 -.byte 102,15,56,0,223 - movdqa 96(%rbp),%xmm7 - paddd %xmm1,%xmm5 - paddd %xmm2,%xmm6 - paddd %xmm3,%xmm7 - movdqa %xmm4,0(%rsp) - movl %eax,%r14d - movdqa %xmm5,16(%rsp) - movl %ebx,%edi - movdqa %xmm6,32(%rsp) - xorl %ecx,%edi - movdqa %xmm7,48(%rsp) - movl %r8d,%r13d - jmp .Lssse3_00_47 - -.align 16 -.Lssse3_00_47: - subq $-128,%rbp - rorl $14,%r13d - movdqa %xmm1,%xmm4 - movl %r14d,%eax - movl %r9d,%r12d - movdqa %xmm3,%xmm7 - rorl $9,%r14d - xorl %r8d,%r13d - xorl %r10d,%r12d - rorl $5,%r13d - xorl %eax,%r14d -.byte 102,15,58,15,224,4 - andl %r8d,%r12d - xorl %r8d,%r13d -.byte 102,15,58,15,250,4 - addl 0(%rsp),%r11d - movl %eax,%r15d - xorl %r10d,%r12d - rorl $11,%r14d - movdqa %xmm4,%xmm5 - xorl %ebx,%r15d - addl %r12d,%r11d - movdqa %xmm4,%xmm6 - rorl $6,%r13d - andl %r15d,%edi - psrld $3,%xmm4 - xorl %eax,%r14d - addl %r13d,%r11d - xorl %ebx,%edi - paddd %xmm7,%xmm0 - rorl $2,%r14d - addl %r11d,%edx - psrld $7,%xmm6 - addl %edi,%r11d - movl %edx,%r13d - pshufd $250,%xmm3,%xmm7 - addl %r11d,%r14d - rorl $14,%r13d - pslld $14,%xmm5 - movl %r14d,%r11d - movl %r8d,%r12d - pxor %xmm6,%xmm4 - rorl $9,%r14d - xorl %edx,%r13d - xorl %r9d,%r12d - rorl $5,%r13d - psrld $11,%xmm6 - xorl %r11d,%r14d - pxor %xmm5,%xmm4 - andl %edx,%r12d - xorl %edx,%r13d - pslld $11,%xmm5 - addl 4(%rsp),%r10d - movl %r11d,%edi - pxor %xmm6,%xmm4 - xorl %r9d,%r12d - rorl $11,%r14d - movdqa %xmm7,%xmm6 - xorl %eax,%edi - addl %r12d,%r10d - pxor %xmm5,%xmm4 - rorl $6,%r13d - andl %edi,%r15d - xorl %r11d,%r14d - psrld $10,%xmm7 - addl %r13d,%r10d - xorl %eax,%r15d - paddd %xmm4,%xmm0 - rorl $2,%r14d - addl %r10d,%ecx - psrlq $17,%xmm6 - addl %r15d,%r10d - movl %ecx,%r13d - addl %r10d,%r14d - pxor %xmm6,%xmm7 - rorl $14,%r13d - movl %r14d,%r10d - movl %edx,%r12d - rorl $9,%r14d - psrlq $2,%xmm6 - xorl %ecx,%r13d - xorl %r8d,%r12d - pxor %xmm6,%xmm7 - rorl $5,%r13d - xorl %r10d,%r14d - andl %ecx,%r12d - pshufd $128,%xmm7,%xmm7 - xorl %ecx,%r13d - addl 8(%rsp),%r9d - movl %r10d,%r15d - psrldq $8,%xmm7 - xorl %r8d,%r12d - rorl $11,%r14d - xorl %r11d,%r15d - addl %r12d,%r9d - rorl $6,%r13d - paddd %xmm7,%xmm0 - andl %r15d,%edi - xorl %r10d,%r14d - addl %r13d,%r9d - pshufd $80,%xmm0,%xmm7 - xorl %r11d,%edi - rorl $2,%r14d - addl %r9d,%ebx - movdqa %xmm7,%xmm6 - addl %edi,%r9d - movl %ebx,%r13d - psrld $10,%xmm7 - addl %r9d,%r14d - rorl $14,%r13d - psrlq $17,%xmm6 - movl %r14d,%r9d - movl %ecx,%r12d - pxor %xmm6,%xmm7 - rorl $9,%r14d - xorl %ebx,%r13d - xorl %edx,%r12d - rorl $5,%r13d - xorl %r9d,%r14d - psrlq $2,%xmm6 - andl %ebx,%r12d - xorl %ebx,%r13d - addl 12(%rsp),%r8d - pxor %xmm6,%xmm7 - movl %r9d,%edi - xorl %edx,%r12d - rorl $11,%r14d - pshufd $8,%xmm7,%xmm7 - xorl %r10d,%edi - addl %r12d,%r8d - movdqa 0(%rbp),%xmm6 - rorl $6,%r13d - andl %edi,%r15d - pslldq $8,%xmm7 - xorl %r9d,%r14d - addl %r13d,%r8d - xorl %r10d,%r15d - paddd %xmm7,%xmm0 - rorl $2,%r14d - addl %r8d,%eax - addl %r15d,%r8d - paddd %xmm0,%xmm6 - movl %eax,%r13d - addl %r8d,%r14d - movdqa %xmm6,0(%rsp) - rorl $14,%r13d - movdqa %xmm2,%xmm4 - movl %r14d,%r8d - movl %ebx,%r12d - movdqa %xmm0,%xmm7 - rorl $9,%r14d - xorl %eax,%r13d - xorl %ecx,%r12d - rorl $5,%r13d - xorl %r8d,%r14d -.byte 102,15,58,15,225,4 - andl %eax,%r12d - xorl %eax,%r13d -.byte 102,15,58,15,251,4 - addl 16(%rsp),%edx - movl %r8d,%r15d - xorl %ecx,%r12d - rorl $11,%r14d - movdqa %xmm4,%xmm5 - xorl %r9d,%r15d - addl %r12d,%edx - movdqa %xmm4,%xmm6 - rorl $6,%r13d - andl %r15d,%edi - psrld $3,%xmm4 - xorl %r8d,%r14d - addl %r13d,%edx - xorl %r9d,%edi - paddd %xmm7,%xmm1 - rorl $2,%r14d - addl %edx,%r11d - psrld $7,%xmm6 - addl %edi,%edx - movl %r11d,%r13d - pshufd $250,%xmm0,%xmm7 - addl %edx,%r14d - rorl $14,%r13d - pslld $14,%xmm5 - movl %r14d,%edx - movl %eax,%r12d - pxor %xmm6,%xmm4 - rorl $9,%r14d - xorl %r11d,%r13d - xorl %ebx,%r12d - rorl $5,%r13d - psrld $11,%xmm6 - xorl %edx,%r14d - pxor %xmm5,%xmm4 - andl %r11d,%r12d - xorl %r11d,%r13d - pslld $11,%xmm5 - addl 20(%rsp),%ecx - movl %edx,%edi - pxor %xmm6,%xmm4 - xorl %ebx,%r12d - rorl $11,%r14d - movdqa %xmm7,%xmm6 - xorl %r8d,%edi - addl %r12d,%ecx - pxor %xmm5,%xmm4 - rorl $6,%r13d - andl %edi,%r15d - xorl %edx,%r14d - psrld $10,%xmm7 - addl %r13d,%ecx - xorl %r8d,%r15d - paddd %xmm4,%xmm1 - rorl $2,%r14d - addl %ecx,%r10d - psrlq $17,%xmm6 - addl %r15d,%ecx - movl %r10d,%r13d - addl %ecx,%r14d - pxor %xmm6,%xmm7 - rorl $14,%r13d - movl %r14d,%ecx - movl %r11d,%r12d - rorl $9,%r14d - psrlq $2,%xmm6 - xorl %r10d,%r13d - xorl %eax,%r12d - pxor %xmm6,%xmm7 - rorl $5,%r13d - xorl %ecx,%r14d - andl %r10d,%r12d - pshufd $128,%xmm7,%xmm7 - xorl %r10d,%r13d - addl 24(%rsp),%ebx - movl %ecx,%r15d - psrldq $8,%xmm7 - xorl %eax,%r12d - rorl $11,%r14d - xorl %edx,%r15d - addl %r12d,%ebx - rorl $6,%r13d - paddd %xmm7,%xmm1 - andl %r15d,%edi - xorl %ecx,%r14d - addl %r13d,%ebx - pshufd $80,%xmm1,%xmm7 - xorl %edx,%edi - rorl $2,%r14d - addl %ebx,%r9d - movdqa %xmm7,%xmm6 - addl %edi,%ebx - movl %r9d,%r13d - psrld $10,%xmm7 - addl %ebx,%r14d - rorl $14,%r13d - psrlq $17,%xmm6 - movl %r14d,%ebx - movl %r10d,%r12d - pxor %xmm6,%xmm7 - rorl $9,%r14d - xorl %r9d,%r13d - xorl %r11d,%r12d - rorl $5,%r13d - xorl %ebx,%r14d - psrlq $2,%xmm6 - andl %r9d,%r12d - xorl %r9d,%r13d - addl 28(%rsp),%eax - pxor %xmm6,%xmm7 - movl %ebx,%edi - xorl %r11d,%r12d - rorl $11,%r14d - pshufd $8,%xmm7,%xmm7 - xorl %ecx,%edi - addl %r12d,%eax - movdqa 32(%rbp),%xmm6 - rorl $6,%r13d - andl %edi,%r15d - pslldq $8,%xmm7 - xorl %ebx,%r14d - addl %r13d,%eax - xorl %ecx,%r15d - paddd %xmm7,%xmm1 - rorl $2,%r14d - addl %eax,%r8d - addl %r15d,%eax - paddd %xmm1,%xmm6 - movl %r8d,%r13d - addl %eax,%r14d - movdqa %xmm6,16(%rsp) - rorl $14,%r13d - movdqa %xmm3,%xmm4 - movl %r14d,%eax - movl %r9d,%r12d - movdqa %xmm1,%xmm7 - rorl $9,%r14d - xorl %r8d,%r13d - xorl %r10d,%r12d - rorl $5,%r13d - xorl %eax,%r14d -.byte 102,15,58,15,226,4 - andl %r8d,%r12d - xorl %r8d,%r13d -.byte 102,15,58,15,248,4 - addl 32(%rsp),%r11d - movl %eax,%r15d - xorl %r10d,%r12d - rorl $11,%r14d - movdqa %xmm4,%xmm5 - xorl %ebx,%r15d - addl %r12d,%r11d - movdqa %xmm4,%xmm6 - rorl $6,%r13d - andl %r15d,%edi - psrld $3,%xmm4 - xorl %eax,%r14d - addl %r13d,%r11d - xorl %ebx,%edi - paddd %xmm7,%xmm2 - rorl $2,%r14d - addl %r11d,%edx - psrld $7,%xmm6 - addl %edi,%r11d - movl %edx,%r13d - pshufd $250,%xmm1,%xmm7 - addl %r11d,%r14d - rorl $14,%r13d - pslld $14,%xmm5 - movl %r14d,%r11d - movl %r8d,%r12d - pxor %xmm6,%xmm4 - rorl $9,%r14d - xorl %edx,%r13d - xorl %r9d,%r12d - rorl $5,%r13d - psrld $11,%xmm6 - xorl %r11d,%r14d - pxor %xmm5,%xmm4 - andl %edx,%r12d - xorl %edx,%r13d - pslld $11,%xmm5 - addl 36(%rsp),%r10d - movl %r11d,%edi - pxor %xmm6,%xmm4 - xorl %r9d,%r12d - rorl $11,%r14d - movdqa %xmm7,%xmm6 - xorl %eax,%edi - addl %r12d,%r10d - pxor %xmm5,%xmm4 - rorl $6,%r13d - andl %edi,%r15d - xorl %r11d,%r14d - psrld $10,%xmm7 - addl %r13d,%r10d - xorl %eax,%r15d - paddd %xmm4,%xmm2 - rorl $2,%r14d - addl %r10d,%ecx - psrlq $17,%xmm6 - addl %r15d,%r10d - movl %ecx,%r13d - addl %r10d,%r14d - pxor %xmm6,%xmm7 - rorl $14,%r13d - movl %r14d,%r10d - movl %edx,%r12d - rorl $9,%r14d - psrlq $2,%xmm6 - xorl %ecx,%r13d - xorl %r8d,%r12d - pxor %xmm6,%xmm7 - rorl $5,%r13d - xorl %r10d,%r14d - andl %ecx,%r12d - pshufd $128,%xmm7,%xmm7 - xorl %ecx,%r13d - addl 40(%rsp),%r9d - movl %r10d,%r15d - psrldq $8,%xmm7 - xorl %r8d,%r12d - rorl $11,%r14d - xorl %r11d,%r15d - addl %r12d,%r9d - rorl $6,%r13d - paddd %xmm7,%xmm2 - andl %r15d,%edi - xorl %r10d,%r14d - addl %r13d,%r9d - pshufd $80,%xmm2,%xmm7 - xorl %r11d,%edi - rorl $2,%r14d - addl %r9d,%ebx - movdqa %xmm7,%xmm6 - addl %edi,%r9d - movl %ebx,%r13d - psrld $10,%xmm7 - addl %r9d,%r14d - rorl $14,%r13d - psrlq $17,%xmm6 - movl %r14d,%r9d - movl %ecx,%r12d - pxor %xmm6,%xmm7 - rorl $9,%r14d - xorl %ebx,%r13d - xorl %edx,%r12d - rorl $5,%r13d - xorl %r9d,%r14d - psrlq $2,%xmm6 - andl %ebx,%r12d - xorl %ebx,%r13d - addl 44(%rsp),%r8d - pxor %xmm6,%xmm7 - movl %r9d,%edi - xorl %edx,%r12d - rorl $11,%r14d - pshufd $8,%xmm7,%xmm7 - xorl %r10d,%edi - addl %r12d,%r8d - movdqa 64(%rbp),%xmm6 - rorl $6,%r13d - andl %edi,%r15d - pslldq $8,%xmm7 - xorl %r9d,%r14d - addl %r13d,%r8d - xorl %r10d,%r15d - paddd %xmm7,%xmm2 - rorl $2,%r14d - addl %r8d,%eax - addl %r15d,%r8d - paddd %xmm2,%xmm6 - movl %eax,%r13d - addl %r8d,%r14d - movdqa %xmm6,32(%rsp) - rorl $14,%r13d - movdqa %xmm0,%xmm4 - movl %r14d,%r8d - movl %ebx,%r12d - movdqa %xmm2,%xmm7 - rorl $9,%r14d - xorl %eax,%r13d - xorl %ecx,%r12d - rorl $5,%r13d - xorl %r8d,%r14d -.byte 102,15,58,15,227,4 - andl %eax,%r12d - xorl %eax,%r13d -.byte 102,15,58,15,249,4 - addl 48(%rsp),%edx - movl %r8d,%r15d - xorl %ecx,%r12d - rorl $11,%r14d - movdqa %xmm4,%xmm5 - xorl %r9d,%r15d - addl %r12d,%edx - movdqa %xmm4,%xmm6 - rorl $6,%r13d - andl %r15d,%edi - psrld $3,%xmm4 - xorl %r8d,%r14d - addl %r13d,%edx - xorl %r9d,%edi - paddd %xmm7,%xmm3 - rorl $2,%r14d - addl %edx,%r11d - psrld $7,%xmm6 - addl %edi,%edx - movl %r11d,%r13d - pshufd $250,%xmm2,%xmm7 - addl %edx,%r14d - rorl $14,%r13d - pslld $14,%xmm5 - movl %r14d,%edx - movl %eax,%r12d - pxor %xmm6,%xmm4 - rorl $9,%r14d - xorl %r11d,%r13d - xorl %ebx,%r12d - rorl $5,%r13d - psrld $11,%xmm6 - xorl %edx,%r14d - pxor %xmm5,%xmm4 - andl %r11d,%r12d - xorl %r11d,%r13d - pslld $11,%xmm5 - addl 52(%rsp),%ecx - movl %edx,%edi - pxor %xmm6,%xmm4 - xorl %ebx,%r12d - rorl $11,%r14d - movdqa %xmm7,%xmm6 - xorl %r8d,%edi - addl %r12d,%ecx - pxor %xmm5,%xmm4 - rorl $6,%r13d - andl %edi,%r15d - xorl %edx,%r14d - psrld $10,%xmm7 - addl %r13d,%ecx - xorl %r8d,%r15d - paddd %xmm4,%xmm3 - rorl $2,%r14d - addl %ecx,%r10d - psrlq $17,%xmm6 - addl %r15d,%ecx - movl %r10d,%r13d - addl %ecx,%r14d - pxor %xmm6,%xmm7 - rorl $14,%r13d - movl %r14d,%ecx - movl %r11d,%r12d - rorl $9,%r14d - psrlq $2,%xmm6 - xorl %r10d,%r13d - xorl %eax,%r12d - pxor %xmm6,%xmm7 - rorl $5,%r13d - xorl %ecx,%r14d - andl %r10d,%r12d - pshufd $128,%xmm7,%xmm7 - xorl %r10d,%r13d - addl 56(%rsp),%ebx - movl %ecx,%r15d - psrldq $8,%xmm7 - xorl %eax,%r12d - rorl $11,%r14d - xorl %edx,%r15d - addl %r12d,%ebx - rorl $6,%r13d - paddd %xmm7,%xmm3 - andl %r15d,%edi - xorl %ecx,%r14d - addl %r13d,%ebx - pshufd $80,%xmm3,%xmm7 - xorl %edx,%edi - rorl $2,%r14d - addl %ebx,%r9d - movdqa %xmm7,%xmm6 - addl %edi,%ebx - movl %r9d,%r13d - psrld $10,%xmm7 - addl %ebx,%r14d - rorl $14,%r13d - psrlq $17,%xmm6 - movl %r14d,%ebx - movl %r10d,%r12d - pxor %xmm6,%xmm7 - rorl $9,%r14d - xorl %r9d,%r13d - xorl %r11d,%r12d - rorl $5,%r13d - xorl %ebx,%r14d - psrlq $2,%xmm6 - andl %r9d,%r12d - xorl %r9d,%r13d - addl 60(%rsp),%eax - pxor %xmm6,%xmm7 - movl %ebx,%edi - xorl %r11d,%r12d - rorl $11,%r14d - pshufd $8,%xmm7,%xmm7 - xorl %ecx,%edi - addl %r12d,%eax - movdqa 96(%rbp),%xmm6 - rorl $6,%r13d - andl %edi,%r15d - pslldq $8,%xmm7 - xorl %ebx,%r14d - addl %r13d,%eax - xorl %ecx,%r15d - paddd %xmm7,%xmm3 - rorl $2,%r14d - addl %eax,%r8d - addl %r15d,%eax - paddd %xmm3,%xmm6 - movl %r8d,%r13d - addl %eax,%r14d - movdqa %xmm6,48(%rsp) - cmpb $0,131(%rbp) - jne .Lssse3_00_47 - rorl $14,%r13d - movl %r14d,%eax - movl %r9d,%r12d - rorl $9,%r14d - xorl %r8d,%r13d - xorl %r10d,%r12d - rorl $5,%r13d - xorl %eax,%r14d - andl %r8d,%r12d - xorl %r8d,%r13d - addl 0(%rsp),%r11d - movl %eax,%r15d - xorl %r10d,%r12d - rorl $11,%r14d - xorl %ebx,%r15d - addl %r12d,%r11d - rorl $6,%r13d - andl %r15d,%edi - xorl %eax,%r14d - addl %r13d,%r11d - xorl %ebx,%edi - rorl $2,%r14d - addl %r11d,%edx - addl %edi,%r11d - movl %edx,%r13d - addl %r11d,%r14d - rorl $14,%r13d - movl %r14d,%r11d - movl %r8d,%r12d - rorl $9,%r14d - xorl %edx,%r13d - xorl %r9d,%r12d - rorl $5,%r13d - xorl %r11d,%r14d - andl %edx,%r12d - xorl %edx,%r13d - addl 4(%rsp),%r10d - movl %r11d,%edi - xorl %r9d,%r12d - rorl $11,%r14d - xorl %eax,%edi - addl %r12d,%r10d - rorl $6,%r13d - andl %edi,%r15d - xorl %r11d,%r14d - addl %r13d,%r10d - xorl %eax,%r15d - rorl $2,%r14d - addl %r10d,%ecx - addl %r15d,%r10d - movl %ecx,%r13d - addl %r10d,%r14d - rorl $14,%r13d - movl %r14d,%r10d - movl %edx,%r12d - rorl $9,%r14d - xorl %ecx,%r13d - xorl %r8d,%r12d - rorl $5,%r13d - xorl %r10d,%r14d - andl %ecx,%r12d - xorl %ecx,%r13d - addl 8(%rsp),%r9d - movl %r10d,%r15d - xorl %r8d,%r12d - rorl $11,%r14d - xorl %r11d,%r15d - addl %r12d,%r9d - rorl $6,%r13d - andl %r15d,%edi - xorl %r10d,%r14d - addl %r13d,%r9d - xorl %r11d,%edi - rorl $2,%r14d - addl %r9d,%ebx - addl %edi,%r9d - movl %ebx,%r13d - addl %r9d,%r14d - rorl $14,%r13d - movl %r14d,%r9d - movl %ecx,%r12d - rorl $9,%r14d - xorl %ebx,%r13d - xorl %edx,%r12d - rorl $5,%r13d - xorl %r9d,%r14d - andl %ebx,%r12d - xorl %ebx,%r13d - addl 12(%rsp),%r8d - movl %r9d,%edi - xorl %edx,%r12d - rorl $11,%r14d - xorl %r10d,%edi - addl %r12d,%r8d - rorl $6,%r13d - andl %edi,%r15d - xorl %r9d,%r14d - addl %r13d,%r8d - xorl %r10d,%r15d - rorl $2,%r14d - addl %r8d,%eax - addl %r15d,%r8d - movl %eax,%r13d - addl %r8d,%r14d - rorl $14,%r13d - movl %r14d,%r8d - movl %ebx,%r12d - rorl $9,%r14d - xorl %eax,%r13d - xorl %ecx,%r12d - rorl $5,%r13d - xorl %r8d,%r14d - andl %eax,%r12d - xorl %eax,%r13d - addl 16(%rsp),%edx - movl %r8d,%r15d - xorl %ecx,%r12d - rorl $11,%r14d - xorl %r9d,%r15d - addl %r12d,%edx - rorl $6,%r13d - andl %r15d,%edi - xorl %r8d,%r14d - addl %r13d,%edx - xorl %r9d,%edi - rorl $2,%r14d - addl %edx,%r11d - addl %edi,%edx - movl %r11d,%r13d - addl %edx,%r14d - rorl $14,%r13d - movl %r14d,%edx - movl %eax,%r12d - rorl $9,%r14d - xorl %r11d,%r13d - xorl %ebx,%r12d - rorl $5,%r13d - xorl %edx,%r14d - andl %r11d,%r12d - xorl %r11d,%r13d - addl 20(%rsp),%ecx - movl %edx,%edi - xorl %ebx,%r12d - rorl $11,%r14d - xorl %r8d,%edi - addl %r12d,%ecx - rorl $6,%r13d - andl %edi,%r15d - xorl %edx,%r14d - addl %r13d,%ecx - xorl %r8d,%r15d - rorl $2,%r14d - addl %ecx,%r10d - addl %r15d,%ecx - movl %r10d,%r13d - addl %ecx,%r14d - rorl $14,%r13d - movl %r14d,%ecx - movl %r11d,%r12d - rorl $9,%r14d - xorl %r10d,%r13d - xorl %eax,%r12d - rorl $5,%r13d - xorl %ecx,%r14d - andl %r10d,%r12d - xorl %r10d,%r13d - addl 24(%rsp),%ebx - movl %ecx,%r15d - xorl %eax,%r12d - rorl $11,%r14d - xorl %edx,%r15d - addl %r12d,%ebx - rorl $6,%r13d - andl %r15d,%edi - xorl %ecx,%r14d - addl %r13d,%ebx - xorl %edx,%edi - rorl $2,%r14d - addl %ebx,%r9d - addl %edi,%ebx - movl %r9d,%r13d - addl %ebx,%r14d - rorl $14,%r13d - movl %r14d,%ebx - movl %r10d,%r12d - rorl $9,%r14d - xorl %r9d,%r13d - xorl %r11d,%r12d - rorl $5,%r13d - xorl %ebx,%r14d - andl %r9d,%r12d - xorl %r9d,%r13d - addl 28(%rsp),%eax - movl %ebx,%edi - xorl %r11d,%r12d - rorl $11,%r14d - xorl %ecx,%edi - addl %r12d,%eax - rorl $6,%r13d - andl %edi,%r15d - xorl %ebx,%r14d - addl %r13d,%eax - xorl %ecx,%r15d - rorl $2,%r14d - addl %eax,%r8d - addl %r15d,%eax - movl %r8d,%r13d - addl %eax,%r14d - rorl $14,%r13d - movl %r14d,%eax - movl %r9d,%r12d - rorl $9,%r14d - xorl %r8d,%r13d - xorl %r10d,%r12d - rorl $5,%r13d - xorl %eax,%r14d - andl %r8d,%r12d - xorl %r8d,%r13d - addl 32(%rsp),%r11d - movl %eax,%r15d - xorl %r10d,%r12d - rorl $11,%r14d - xorl %ebx,%r15d - addl %r12d,%r11d - rorl $6,%r13d - andl %r15d,%edi - xorl %eax,%r14d - addl %r13d,%r11d - xorl %ebx,%edi - rorl $2,%r14d - addl %r11d,%edx - addl %edi,%r11d - movl %edx,%r13d - addl %r11d,%r14d - rorl $14,%r13d - movl %r14d,%r11d - movl %r8d,%r12d - rorl $9,%r14d - xorl %edx,%r13d - xorl %r9d,%r12d - rorl $5,%r13d - xorl %r11d,%r14d - andl %edx,%r12d - xorl %edx,%r13d - addl 36(%rsp),%r10d - movl %r11d,%edi - xorl %r9d,%r12d - rorl $11,%r14d - xorl %eax,%edi - addl %r12d,%r10d - rorl $6,%r13d - andl %edi,%r15d - xorl %r11d,%r14d - addl %r13d,%r10d - xorl %eax,%r15d - rorl $2,%r14d - addl %r10d,%ecx - addl %r15d,%r10d - movl %ecx,%r13d - addl %r10d,%r14d - rorl $14,%r13d - movl %r14d,%r10d - movl %edx,%r12d - rorl $9,%r14d - xorl %ecx,%r13d - xorl %r8d,%r12d - rorl $5,%r13d - xorl %r10d,%r14d - andl %ecx,%r12d - xorl %ecx,%r13d - addl 40(%rsp),%r9d - movl %r10d,%r15d - xorl %r8d,%r12d - rorl $11,%r14d - xorl %r11d,%r15d - addl %r12d,%r9d - rorl $6,%r13d - andl %r15d,%edi - xorl %r10d,%r14d - addl %r13d,%r9d - xorl %r11d,%edi - rorl $2,%r14d - addl %r9d,%ebx - addl %edi,%r9d - movl %ebx,%r13d - addl %r9d,%r14d - rorl $14,%r13d - movl %r14d,%r9d - movl %ecx,%r12d - rorl $9,%r14d - xorl %ebx,%r13d - xorl %edx,%r12d - rorl $5,%r13d - xorl %r9d,%r14d - andl %ebx,%r12d - xorl %ebx,%r13d - addl 44(%rsp),%r8d - movl %r9d,%edi - xorl %edx,%r12d - rorl $11,%r14d - xorl %r10d,%edi - addl %r12d,%r8d - rorl $6,%r13d - andl %edi,%r15d - xorl %r9d,%r14d - addl %r13d,%r8d - xorl %r10d,%r15d - rorl $2,%r14d - addl %r8d,%eax - addl %r15d,%r8d - movl %eax,%r13d - addl %r8d,%r14d - rorl $14,%r13d - movl %r14d,%r8d - movl %ebx,%r12d - rorl $9,%r14d - xorl %eax,%r13d - xorl %ecx,%r12d - rorl $5,%r13d - xorl %r8d,%r14d - andl %eax,%r12d - xorl %eax,%r13d - addl 48(%rsp),%edx - movl %r8d,%r15d - xorl %ecx,%r12d - rorl $11,%r14d - xorl %r9d,%r15d - addl %r12d,%edx - rorl $6,%r13d - andl %r15d,%edi - xorl %r8d,%r14d - addl %r13d,%edx - xorl %r9d,%edi - rorl $2,%r14d - addl %edx,%r11d - addl %edi,%edx - movl %r11d,%r13d - addl %edx,%r14d - rorl $14,%r13d - movl %r14d,%edx - movl %eax,%r12d - rorl $9,%r14d - xorl %r11d,%r13d - xorl %ebx,%r12d - rorl $5,%r13d - xorl %edx,%r14d - andl %r11d,%r12d - xorl %r11d,%r13d - addl 52(%rsp),%ecx - movl %edx,%edi - xorl %ebx,%r12d - rorl $11,%r14d - xorl %r8d,%edi - addl %r12d,%ecx - rorl $6,%r13d - andl %edi,%r15d - xorl %edx,%r14d - addl %r13d,%ecx - xorl %r8d,%r15d - rorl $2,%r14d - addl %ecx,%r10d - addl %r15d,%ecx - movl %r10d,%r13d - addl %ecx,%r14d - rorl $14,%r13d - movl %r14d,%ecx - movl %r11d,%r12d - rorl $9,%r14d - xorl %r10d,%r13d - xorl %eax,%r12d - rorl $5,%r13d - xorl %ecx,%r14d - andl %r10d,%r12d - xorl %r10d,%r13d - addl 56(%rsp),%ebx - movl %ecx,%r15d - xorl %eax,%r12d - rorl $11,%r14d - xorl %edx,%r15d - addl %r12d,%ebx - rorl $6,%r13d - andl %r15d,%edi - xorl %ecx,%r14d - addl %r13d,%ebx - xorl %edx,%edi - rorl $2,%r14d - addl %ebx,%r9d - addl %edi,%ebx - movl %r9d,%r13d - addl %ebx,%r14d - rorl $14,%r13d - movl %r14d,%ebx - movl %r10d,%r12d - rorl $9,%r14d - xorl %r9d,%r13d - xorl %r11d,%r12d - rorl $5,%r13d - xorl %ebx,%r14d - andl %r9d,%r12d - xorl %r9d,%r13d - addl 60(%rsp),%eax - movl %ebx,%edi - xorl %r11d,%r12d - rorl $11,%r14d - xorl %ecx,%edi - addl %r12d,%eax - rorl $6,%r13d - andl %edi,%r15d - xorl %ebx,%r14d - addl %r13d,%eax - xorl %ecx,%r15d - rorl $2,%r14d - addl %eax,%r8d - addl %r15d,%eax - movl %r8d,%r13d - addl %eax,%r14d - movq 64+0(%rsp),%rdi - movl %r14d,%eax - - addl 0(%rdi),%eax - leaq 64(%rsi),%rsi - addl 4(%rdi),%ebx - addl 8(%rdi),%ecx - addl 12(%rdi),%edx - addl 16(%rdi),%r8d - addl 20(%rdi),%r9d - addl 24(%rdi),%r10d - addl 28(%rdi),%r11d - - cmpq 64+16(%rsp),%rsi - - movl %eax,0(%rdi) - movl %ebx,4(%rdi) - movl %ecx,8(%rdi) - movl %edx,12(%rdi) - movl %r8d,16(%rdi) - movl %r9d,20(%rdi) - movl %r10d,24(%rdi) - movl %r11d,28(%rdi) - jb .Lloop_ssse3 - - movq 88(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lepilogue_ssse3: - .byte 0xf3,0xc3 -.cfi_endproc -.size sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3 diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha512-x86_64.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha512-x86_64.S deleted file mode 100644 index 11e67e5ba1c6..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/sha/sha512-x86_64.S +++ /dev/null @@ -1,1811 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/sha/asm/sha512-x86_64.pl -# -# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - -.text - - -.globl sha512_block_data_order -.type sha512_block_data_order,@function -.align 16 -sha512_block_data_order: -.cfi_startproc - movq %rsp,%rax -.cfi_def_cfa_register %rax - pushq %rbx -.cfi_offset %rbx,-16 - pushq %rbp -.cfi_offset %rbp,-24 - pushq %r12 -.cfi_offset %r12,-32 - pushq %r13 -.cfi_offset %r13,-40 - pushq %r14 -.cfi_offset %r14,-48 - pushq %r15 -.cfi_offset %r15,-56 - shlq $4,%rdx - subq $128+32,%rsp - leaq (%rsi,%rdx,8),%rdx - andq $-64,%rsp - movq %rdi,128+0(%rsp) - movq %rsi,128+8(%rsp) - movq %rdx,128+16(%rsp) - movq %rax,152(%rsp) -.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 -.Lprologue: - - movq 0(%rdi),%rax - movq 8(%rdi),%rbx - movq 16(%rdi),%rcx - movq 24(%rdi),%rdx - movq 32(%rdi),%r8 - movq 40(%rdi),%r9 - movq 48(%rdi),%r10 - movq 56(%rdi),%r11 - jmp .Lloop - -.align 16 -.Lloop: - movq %rbx,%rdi - leaq K512(%rip),%rbp - xorq %rcx,%rdi - movq 0(%rsi),%r12 - movq %r8,%r13 - movq %rax,%r14 - bswapq %r12 - rorq $23,%r13 - movq %r9,%r15 - - xorq %r8,%r13 - rorq $5,%r14 - xorq %r10,%r15 - - movq %r12,0(%rsp) - xorq %rax,%r14 - andq %r8,%r15 - - rorq $4,%r13 - addq %r11,%r12 - xorq %r10,%r15 - - rorq $6,%r14 - xorq %r8,%r13 - addq %r15,%r12 - - movq %rax,%r15 - addq (%rbp),%r12 - xorq %rax,%r14 - - xorq %rbx,%r15 - rorq $14,%r13 - movq %rbx,%r11 - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%r11 - addq %r12,%rdx - addq %r12,%r11 - - leaq 8(%rbp),%rbp - addq %r14,%r11 - movq 8(%rsi),%r12 - movq %rdx,%r13 - movq %r11,%r14 - bswapq %r12 - rorq $23,%r13 - movq %r8,%rdi - - xorq %rdx,%r13 - rorq $5,%r14 - xorq %r9,%rdi - - movq %r12,8(%rsp) - xorq %r11,%r14 - andq %rdx,%rdi - - rorq $4,%r13 - addq %r10,%r12 - xorq %r9,%rdi - - rorq $6,%r14 - xorq %rdx,%r13 - addq %rdi,%r12 - - movq %r11,%rdi - addq (%rbp),%r12 - xorq %r11,%r14 - - xorq %rax,%rdi - rorq $14,%r13 - movq %rax,%r10 - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%r10 - addq %r12,%rcx - addq %r12,%r10 - - leaq 24(%rbp),%rbp - addq %r14,%r10 - movq 16(%rsi),%r12 - movq %rcx,%r13 - movq %r10,%r14 - bswapq %r12 - rorq $23,%r13 - movq %rdx,%r15 - - xorq %rcx,%r13 - rorq $5,%r14 - xorq %r8,%r15 - - movq %r12,16(%rsp) - xorq %r10,%r14 - andq %rcx,%r15 - - rorq $4,%r13 - addq %r9,%r12 - xorq %r8,%r15 - - rorq $6,%r14 - xorq %rcx,%r13 - addq %r15,%r12 - - movq %r10,%r15 - addq (%rbp),%r12 - xorq %r10,%r14 - - xorq %r11,%r15 - rorq $14,%r13 - movq %r11,%r9 - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%r9 - addq %r12,%rbx - addq %r12,%r9 - - leaq 8(%rbp),%rbp - addq %r14,%r9 - movq 24(%rsi),%r12 - movq %rbx,%r13 - movq %r9,%r14 - bswapq %r12 - rorq $23,%r13 - movq %rcx,%rdi - - xorq %rbx,%r13 - rorq $5,%r14 - xorq %rdx,%rdi - - movq %r12,24(%rsp) - xorq %r9,%r14 - andq %rbx,%rdi - - rorq $4,%r13 - addq %r8,%r12 - xorq %rdx,%rdi - - rorq $6,%r14 - xorq %rbx,%r13 - addq %rdi,%r12 - - movq %r9,%rdi - addq (%rbp),%r12 - xorq %r9,%r14 - - xorq %r10,%rdi - rorq $14,%r13 - movq %r10,%r8 - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%r8 - addq %r12,%rax - addq %r12,%r8 - - leaq 24(%rbp),%rbp - addq %r14,%r8 - movq 32(%rsi),%r12 - movq %rax,%r13 - movq %r8,%r14 - bswapq %r12 - rorq $23,%r13 - movq %rbx,%r15 - - xorq %rax,%r13 - rorq $5,%r14 - xorq %rcx,%r15 - - movq %r12,32(%rsp) - xorq %r8,%r14 - andq %rax,%r15 - - rorq $4,%r13 - addq %rdx,%r12 - xorq %rcx,%r15 - - rorq $6,%r14 - xorq %rax,%r13 - addq %r15,%r12 - - movq %r8,%r15 - addq (%rbp),%r12 - xorq %r8,%r14 - - xorq %r9,%r15 - rorq $14,%r13 - movq %r9,%rdx - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%rdx - addq %r12,%r11 - addq %r12,%rdx - - leaq 8(%rbp),%rbp - addq %r14,%rdx - movq 40(%rsi),%r12 - movq %r11,%r13 - movq %rdx,%r14 - bswapq %r12 - rorq $23,%r13 - movq %rax,%rdi - - xorq %r11,%r13 - rorq $5,%r14 - xorq %rbx,%rdi - - movq %r12,40(%rsp) - xorq %rdx,%r14 - andq %r11,%rdi - - rorq $4,%r13 - addq %rcx,%r12 - xorq %rbx,%rdi - - rorq $6,%r14 - xorq %r11,%r13 - addq %rdi,%r12 - - movq %rdx,%rdi - addq (%rbp),%r12 - xorq %rdx,%r14 - - xorq %r8,%rdi - rorq $14,%r13 - movq %r8,%rcx - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%rcx - addq %r12,%r10 - addq %r12,%rcx - - leaq 24(%rbp),%rbp - addq %r14,%rcx - movq 48(%rsi),%r12 - movq %r10,%r13 - movq %rcx,%r14 - bswapq %r12 - rorq $23,%r13 - movq %r11,%r15 - - xorq %r10,%r13 - rorq $5,%r14 - xorq %rax,%r15 - - movq %r12,48(%rsp) - xorq %rcx,%r14 - andq %r10,%r15 - - rorq $4,%r13 - addq %rbx,%r12 - xorq %rax,%r15 - - rorq $6,%r14 - xorq %r10,%r13 - addq %r15,%r12 - - movq %rcx,%r15 - addq (%rbp),%r12 - xorq %rcx,%r14 - - xorq %rdx,%r15 - rorq $14,%r13 - movq %rdx,%rbx - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%rbx - addq %r12,%r9 - addq %r12,%rbx - - leaq 8(%rbp),%rbp - addq %r14,%rbx - movq 56(%rsi),%r12 - movq %r9,%r13 - movq %rbx,%r14 - bswapq %r12 - rorq $23,%r13 - movq %r10,%rdi - - xorq %r9,%r13 - rorq $5,%r14 - xorq %r11,%rdi - - movq %r12,56(%rsp) - xorq %rbx,%r14 - andq %r9,%rdi - - rorq $4,%r13 - addq %rax,%r12 - xorq %r11,%rdi - - rorq $6,%r14 - xorq %r9,%r13 - addq %rdi,%r12 - - movq %rbx,%rdi - addq (%rbp),%r12 - xorq %rbx,%r14 - - xorq %rcx,%rdi - rorq $14,%r13 - movq %rcx,%rax - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%rax - addq %r12,%r8 - addq %r12,%rax - - leaq 24(%rbp),%rbp - addq %r14,%rax - movq 64(%rsi),%r12 - movq %r8,%r13 - movq %rax,%r14 - bswapq %r12 - rorq $23,%r13 - movq %r9,%r15 - - xorq %r8,%r13 - rorq $5,%r14 - xorq %r10,%r15 - - movq %r12,64(%rsp) - xorq %rax,%r14 - andq %r8,%r15 - - rorq $4,%r13 - addq %r11,%r12 - xorq %r10,%r15 - - rorq $6,%r14 - xorq %r8,%r13 - addq %r15,%r12 - - movq %rax,%r15 - addq (%rbp),%r12 - xorq %rax,%r14 - - xorq %rbx,%r15 - rorq $14,%r13 - movq %rbx,%r11 - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%r11 - addq %r12,%rdx - addq %r12,%r11 - - leaq 8(%rbp),%rbp - addq %r14,%r11 - movq 72(%rsi),%r12 - movq %rdx,%r13 - movq %r11,%r14 - bswapq %r12 - rorq $23,%r13 - movq %r8,%rdi - - xorq %rdx,%r13 - rorq $5,%r14 - xorq %r9,%rdi - - movq %r12,72(%rsp) - xorq %r11,%r14 - andq %rdx,%rdi - - rorq $4,%r13 - addq %r10,%r12 - xorq %r9,%rdi - - rorq $6,%r14 - xorq %rdx,%r13 - addq %rdi,%r12 - - movq %r11,%rdi - addq (%rbp),%r12 - xorq %r11,%r14 - - xorq %rax,%rdi - rorq $14,%r13 - movq %rax,%r10 - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%r10 - addq %r12,%rcx - addq %r12,%r10 - - leaq 24(%rbp),%rbp - addq %r14,%r10 - movq 80(%rsi),%r12 - movq %rcx,%r13 - movq %r10,%r14 - bswapq %r12 - rorq $23,%r13 - movq %rdx,%r15 - - xorq %rcx,%r13 - rorq $5,%r14 - xorq %r8,%r15 - - movq %r12,80(%rsp) - xorq %r10,%r14 - andq %rcx,%r15 - - rorq $4,%r13 - addq %r9,%r12 - xorq %r8,%r15 - - rorq $6,%r14 - xorq %rcx,%r13 - addq %r15,%r12 - - movq %r10,%r15 - addq (%rbp),%r12 - xorq %r10,%r14 - - xorq %r11,%r15 - rorq $14,%r13 - movq %r11,%r9 - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%r9 - addq %r12,%rbx - addq %r12,%r9 - - leaq 8(%rbp),%rbp - addq %r14,%r9 - movq 88(%rsi),%r12 - movq %rbx,%r13 - movq %r9,%r14 - bswapq %r12 - rorq $23,%r13 - movq %rcx,%rdi - - xorq %rbx,%r13 - rorq $5,%r14 - xorq %rdx,%rdi - - movq %r12,88(%rsp) - xorq %r9,%r14 - andq %rbx,%rdi - - rorq $4,%r13 - addq %r8,%r12 - xorq %rdx,%rdi - - rorq $6,%r14 - xorq %rbx,%r13 - addq %rdi,%r12 - - movq %r9,%rdi - addq (%rbp),%r12 - xorq %r9,%r14 - - xorq %r10,%rdi - rorq $14,%r13 - movq %r10,%r8 - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%r8 - addq %r12,%rax - addq %r12,%r8 - - leaq 24(%rbp),%rbp - addq %r14,%r8 - movq 96(%rsi),%r12 - movq %rax,%r13 - movq %r8,%r14 - bswapq %r12 - rorq $23,%r13 - movq %rbx,%r15 - - xorq %rax,%r13 - rorq $5,%r14 - xorq %rcx,%r15 - - movq %r12,96(%rsp) - xorq %r8,%r14 - andq %rax,%r15 - - rorq $4,%r13 - addq %rdx,%r12 - xorq %rcx,%r15 - - rorq $6,%r14 - xorq %rax,%r13 - addq %r15,%r12 - - movq %r8,%r15 - addq (%rbp),%r12 - xorq %r8,%r14 - - xorq %r9,%r15 - rorq $14,%r13 - movq %r9,%rdx - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%rdx - addq %r12,%r11 - addq %r12,%rdx - - leaq 8(%rbp),%rbp - addq %r14,%rdx - movq 104(%rsi),%r12 - movq %r11,%r13 - movq %rdx,%r14 - bswapq %r12 - rorq $23,%r13 - movq %rax,%rdi - - xorq %r11,%r13 - rorq $5,%r14 - xorq %rbx,%rdi - - movq %r12,104(%rsp) - xorq %rdx,%r14 - andq %r11,%rdi - - rorq $4,%r13 - addq %rcx,%r12 - xorq %rbx,%rdi - - rorq $6,%r14 - xorq %r11,%r13 - addq %rdi,%r12 - - movq %rdx,%rdi - addq (%rbp),%r12 - xorq %rdx,%r14 - - xorq %r8,%rdi - rorq $14,%r13 - movq %r8,%rcx - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%rcx - addq %r12,%r10 - addq %r12,%rcx - - leaq 24(%rbp),%rbp - addq %r14,%rcx - movq 112(%rsi),%r12 - movq %r10,%r13 - movq %rcx,%r14 - bswapq %r12 - rorq $23,%r13 - movq %r11,%r15 - - xorq %r10,%r13 - rorq $5,%r14 - xorq %rax,%r15 - - movq %r12,112(%rsp) - xorq %rcx,%r14 - andq %r10,%r15 - - rorq $4,%r13 - addq %rbx,%r12 - xorq %rax,%r15 - - rorq $6,%r14 - xorq %r10,%r13 - addq %r15,%r12 - - movq %rcx,%r15 - addq (%rbp),%r12 - xorq %rcx,%r14 - - xorq %rdx,%r15 - rorq $14,%r13 - movq %rdx,%rbx - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%rbx - addq %r12,%r9 - addq %r12,%rbx - - leaq 8(%rbp),%rbp - addq %r14,%rbx - movq 120(%rsi),%r12 - movq %r9,%r13 - movq %rbx,%r14 - bswapq %r12 - rorq $23,%r13 - movq %r10,%rdi - - xorq %r9,%r13 - rorq $5,%r14 - xorq %r11,%rdi - - movq %r12,120(%rsp) - xorq %rbx,%r14 - andq %r9,%rdi - - rorq $4,%r13 - addq %rax,%r12 - xorq %r11,%rdi - - rorq $6,%r14 - xorq %r9,%r13 - addq %rdi,%r12 - - movq %rbx,%rdi - addq (%rbp),%r12 - xorq %rbx,%r14 - - xorq %rcx,%rdi - rorq $14,%r13 - movq %rcx,%rax - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%rax - addq %r12,%r8 - addq %r12,%rax - - leaq 24(%rbp),%rbp - jmp .Lrounds_16_xx -.align 16 -.Lrounds_16_xx: - movq 8(%rsp),%r13 - movq 112(%rsp),%r15 - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%rax - movq %r15,%r14 - rorq $42,%r15 - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%r15 - shrq $6,%r14 - - rorq $19,%r15 - xorq %r13,%r12 - xorq %r14,%r15 - addq 72(%rsp),%r12 - - addq 0(%rsp),%r12 - movq %r8,%r13 - addq %r15,%r12 - movq %rax,%r14 - rorq $23,%r13 - movq %r9,%r15 - - xorq %r8,%r13 - rorq $5,%r14 - xorq %r10,%r15 - - movq %r12,0(%rsp) - xorq %rax,%r14 - andq %r8,%r15 - - rorq $4,%r13 - addq %r11,%r12 - xorq %r10,%r15 - - rorq $6,%r14 - xorq %r8,%r13 - addq %r15,%r12 - - movq %rax,%r15 - addq (%rbp),%r12 - xorq %rax,%r14 - - xorq %rbx,%r15 - rorq $14,%r13 - movq %rbx,%r11 - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%r11 - addq %r12,%rdx - addq %r12,%r11 - - leaq 8(%rbp),%rbp - movq 16(%rsp),%r13 - movq 120(%rsp),%rdi - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%r11 - movq %rdi,%r14 - rorq $42,%rdi - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%rdi - shrq $6,%r14 - - rorq $19,%rdi - xorq %r13,%r12 - xorq %r14,%rdi - addq 80(%rsp),%r12 - - addq 8(%rsp),%r12 - movq %rdx,%r13 - addq %rdi,%r12 - movq %r11,%r14 - rorq $23,%r13 - movq %r8,%rdi - - xorq %rdx,%r13 - rorq $5,%r14 - xorq %r9,%rdi - - movq %r12,8(%rsp) - xorq %r11,%r14 - andq %rdx,%rdi - - rorq $4,%r13 - addq %r10,%r12 - xorq %r9,%rdi - - rorq $6,%r14 - xorq %rdx,%r13 - addq %rdi,%r12 - - movq %r11,%rdi - addq (%rbp),%r12 - xorq %r11,%r14 - - xorq %rax,%rdi - rorq $14,%r13 - movq %rax,%r10 - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%r10 - addq %r12,%rcx - addq %r12,%r10 - - leaq 24(%rbp),%rbp - movq 24(%rsp),%r13 - movq 0(%rsp),%r15 - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%r10 - movq %r15,%r14 - rorq $42,%r15 - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%r15 - shrq $6,%r14 - - rorq $19,%r15 - xorq %r13,%r12 - xorq %r14,%r15 - addq 88(%rsp),%r12 - - addq 16(%rsp),%r12 - movq %rcx,%r13 - addq %r15,%r12 - movq %r10,%r14 - rorq $23,%r13 - movq %rdx,%r15 - - xorq %rcx,%r13 - rorq $5,%r14 - xorq %r8,%r15 - - movq %r12,16(%rsp) - xorq %r10,%r14 - andq %rcx,%r15 - - rorq $4,%r13 - addq %r9,%r12 - xorq %r8,%r15 - - rorq $6,%r14 - xorq %rcx,%r13 - addq %r15,%r12 - - movq %r10,%r15 - addq (%rbp),%r12 - xorq %r10,%r14 - - xorq %r11,%r15 - rorq $14,%r13 - movq %r11,%r9 - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%r9 - addq %r12,%rbx - addq %r12,%r9 - - leaq 8(%rbp),%rbp - movq 32(%rsp),%r13 - movq 8(%rsp),%rdi - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%r9 - movq %rdi,%r14 - rorq $42,%rdi - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%rdi - shrq $6,%r14 - - rorq $19,%rdi - xorq %r13,%r12 - xorq %r14,%rdi - addq 96(%rsp),%r12 - - addq 24(%rsp),%r12 - movq %rbx,%r13 - addq %rdi,%r12 - movq %r9,%r14 - rorq $23,%r13 - movq %rcx,%rdi - - xorq %rbx,%r13 - rorq $5,%r14 - xorq %rdx,%rdi - - movq %r12,24(%rsp) - xorq %r9,%r14 - andq %rbx,%rdi - - rorq $4,%r13 - addq %r8,%r12 - xorq %rdx,%rdi - - rorq $6,%r14 - xorq %rbx,%r13 - addq %rdi,%r12 - - movq %r9,%rdi - addq (%rbp),%r12 - xorq %r9,%r14 - - xorq %r10,%rdi - rorq $14,%r13 - movq %r10,%r8 - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%r8 - addq %r12,%rax - addq %r12,%r8 - - leaq 24(%rbp),%rbp - movq 40(%rsp),%r13 - movq 16(%rsp),%r15 - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%r8 - movq %r15,%r14 - rorq $42,%r15 - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%r15 - shrq $6,%r14 - - rorq $19,%r15 - xorq %r13,%r12 - xorq %r14,%r15 - addq 104(%rsp),%r12 - - addq 32(%rsp),%r12 - movq %rax,%r13 - addq %r15,%r12 - movq %r8,%r14 - rorq $23,%r13 - movq %rbx,%r15 - - xorq %rax,%r13 - rorq $5,%r14 - xorq %rcx,%r15 - - movq %r12,32(%rsp) - xorq %r8,%r14 - andq %rax,%r15 - - rorq $4,%r13 - addq %rdx,%r12 - xorq %rcx,%r15 - - rorq $6,%r14 - xorq %rax,%r13 - addq %r15,%r12 - - movq %r8,%r15 - addq (%rbp),%r12 - xorq %r8,%r14 - - xorq %r9,%r15 - rorq $14,%r13 - movq %r9,%rdx - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%rdx - addq %r12,%r11 - addq %r12,%rdx - - leaq 8(%rbp),%rbp - movq 48(%rsp),%r13 - movq 24(%rsp),%rdi - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%rdx - movq %rdi,%r14 - rorq $42,%rdi - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%rdi - shrq $6,%r14 - - rorq $19,%rdi - xorq %r13,%r12 - xorq %r14,%rdi - addq 112(%rsp),%r12 - - addq 40(%rsp),%r12 - movq %r11,%r13 - addq %rdi,%r12 - movq %rdx,%r14 - rorq $23,%r13 - movq %rax,%rdi - - xorq %r11,%r13 - rorq $5,%r14 - xorq %rbx,%rdi - - movq %r12,40(%rsp) - xorq %rdx,%r14 - andq %r11,%rdi - - rorq $4,%r13 - addq %rcx,%r12 - xorq %rbx,%rdi - - rorq $6,%r14 - xorq %r11,%r13 - addq %rdi,%r12 - - movq %rdx,%rdi - addq (%rbp),%r12 - xorq %rdx,%r14 - - xorq %r8,%rdi - rorq $14,%r13 - movq %r8,%rcx - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%rcx - addq %r12,%r10 - addq %r12,%rcx - - leaq 24(%rbp),%rbp - movq 56(%rsp),%r13 - movq 32(%rsp),%r15 - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%rcx - movq %r15,%r14 - rorq $42,%r15 - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%r15 - shrq $6,%r14 - - rorq $19,%r15 - xorq %r13,%r12 - xorq %r14,%r15 - addq 120(%rsp),%r12 - - addq 48(%rsp),%r12 - movq %r10,%r13 - addq %r15,%r12 - movq %rcx,%r14 - rorq $23,%r13 - movq %r11,%r15 - - xorq %r10,%r13 - rorq $5,%r14 - xorq %rax,%r15 - - movq %r12,48(%rsp) - xorq %rcx,%r14 - andq %r10,%r15 - - rorq $4,%r13 - addq %rbx,%r12 - xorq %rax,%r15 - - rorq $6,%r14 - xorq %r10,%r13 - addq %r15,%r12 - - movq %rcx,%r15 - addq (%rbp),%r12 - xorq %rcx,%r14 - - xorq %rdx,%r15 - rorq $14,%r13 - movq %rdx,%rbx - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%rbx - addq %r12,%r9 - addq %r12,%rbx - - leaq 8(%rbp),%rbp - movq 64(%rsp),%r13 - movq 40(%rsp),%rdi - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%rbx - movq %rdi,%r14 - rorq $42,%rdi - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%rdi - shrq $6,%r14 - - rorq $19,%rdi - xorq %r13,%r12 - xorq %r14,%rdi - addq 0(%rsp),%r12 - - addq 56(%rsp),%r12 - movq %r9,%r13 - addq %rdi,%r12 - movq %rbx,%r14 - rorq $23,%r13 - movq %r10,%rdi - - xorq %r9,%r13 - rorq $5,%r14 - xorq %r11,%rdi - - movq %r12,56(%rsp) - xorq %rbx,%r14 - andq %r9,%rdi - - rorq $4,%r13 - addq %rax,%r12 - xorq %r11,%rdi - - rorq $6,%r14 - xorq %r9,%r13 - addq %rdi,%r12 - - movq %rbx,%rdi - addq (%rbp),%r12 - xorq %rbx,%r14 - - xorq %rcx,%rdi - rorq $14,%r13 - movq %rcx,%rax - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%rax - addq %r12,%r8 - addq %r12,%rax - - leaq 24(%rbp),%rbp - movq 72(%rsp),%r13 - movq 48(%rsp),%r15 - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%rax - movq %r15,%r14 - rorq $42,%r15 - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%r15 - shrq $6,%r14 - - rorq $19,%r15 - xorq %r13,%r12 - xorq %r14,%r15 - addq 8(%rsp),%r12 - - addq 64(%rsp),%r12 - movq %r8,%r13 - addq %r15,%r12 - movq %rax,%r14 - rorq $23,%r13 - movq %r9,%r15 - - xorq %r8,%r13 - rorq $5,%r14 - xorq %r10,%r15 - - movq %r12,64(%rsp) - xorq %rax,%r14 - andq %r8,%r15 - - rorq $4,%r13 - addq %r11,%r12 - xorq %r10,%r15 - - rorq $6,%r14 - xorq %r8,%r13 - addq %r15,%r12 - - movq %rax,%r15 - addq (%rbp),%r12 - xorq %rax,%r14 - - xorq %rbx,%r15 - rorq $14,%r13 - movq %rbx,%r11 - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%r11 - addq %r12,%rdx - addq %r12,%r11 - - leaq 8(%rbp),%rbp - movq 80(%rsp),%r13 - movq 56(%rsp),%rdi - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%r11 - movq %rdi,%r14 - rorq $42,%rdi - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%rdi - shrq $6,%r14 - - rorq $19,%rdi - xorq %r13,%r12 - xorq %r14,%rdi - addq 16(%rsp),%r12 - - addq 72(%rsp),%r12 - movq %rdx,%r13 - addq %rdi,%r12 - movq %r11,%r14 - rorq $23,%r13 - movq %r8,%rdi - - xorq %rdx,%r13 - rorq $5,%r14 - xorq %r9,%rdi - - movq %r12,72(%rsp) - xorq %r11,%r14 - andq %rdx,%rdi - - rorq $4,%r13 - addq %r10,%r12 - xorq %r9,%rdi - - rorq $6,%r14 - xorq %rdx,%r13 - addq %rdi,%r12 - - movq %r11,%rdi - addq (%rbp),%r12 - xorq %r11,%r14 - - xorq %rax,%rdi - rorq $14,%r13 - movq %rax,%r10 - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%r10 - addq %r12,%rcx - addq %r12,%r10 - - leaq 24(%rbp),%rbp - movq 88(%rsp),%r13 - movq 64(%rsp),%r15 - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%r10 - movq %r15,%r14 - rorq $42,%r15 - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%r15 - shrq $6,%r14 - - rorq $19,%r15 - xorq %r13,%r12 - xorq %r14,%r15 - addq 24(%rsp),%r12 - - addq 80(%rsp),%r12 - movq %rcx,%r13 - addq %r15,%r12 - movq %r10,%r14 - rorq $23,%r13 - movq %rdx,%r15 - - xorq %rcx,%r13 - rorq $5,%r14 - xorq %r8,%r15 - - movq %r12,80(%rsp) - xorq %r10,%r14 - andq %rcx,%r15 - - rorq $4,%r13 - addq %r9,%r12 - xorq %r8,%r15 - - rorq $6,%r14 - xorq %rcx,%r13 - addq %r15,%r12 - - movq %r10,%r15 - addq (%rbp),%r12 - xorq %r10,%r14 - - xorq %r11,%r15 - rorq $14,%r13 - movq %r11,%r9 - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%r9 - addq %r12,%rbx - addq %r12,%r9 - - leaq 8(%rbp),%rbp - movq 96(%rsp),%r13 - movq 72(%rsp),%rdi - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%r9 - movq %rdi,%r14 - rorq $42,%rdi - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%rdi - shrq $6,%r14 - - rorq $19,%rdi - xorq %r13,%r12 - xorq %r14,%rdi - addq 32(%rsp),%r12 - - addq 88(%rsp),%r12 - movq %rbx,%r13 - addq %rdi,%r12 - movq %r9,%r14 - rorq $23,%r13 - movq %rcx,%rdi - - xorq %rbx,%r13 - rorq $5,%r14 - xorq %rdx,%rdi - - movq %r12,88(%rsp) - xorq %r9,%r14 - andq %rbx,%rdi - - rorq $4,%r13 - addq %r8,%r12 - xorq %rdx,%rdi - - rorq $6,%r14 - xorq %rbx,%r13 - addq %rdi,%r12 - - movq %r9,%rdi - addq (%rbp),%r12 - xorq %r9,%r14 - - xorq %r10,%rdi - rorq $14,%r13 - movq %r10,%r8 - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%r8 - addq %r12,%rax - addq %r12,%r8 - - leaq 24(%rbp),%rbp - movq 104(%rsp),%r13 - movq 80(%rsp),%r15 - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%r8 - movq %r15,%r14 - rorq $42,%r15 - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%r15 - shrq $6,%r14 - - rorq $19,%r15 - xorq %r13,%r12 - xorq %r14,%r15 - addq 40(%rsp),%r12 - - addq 96(%rsp),%r12 - movq %rax,%r13 - addq %r15,%r12 - movq %r8,%r14 - rorq $23,%r13 - movq %rbx,%r15 - - xorq %rax,%r13 - rorq $5,%r14 - xorq %rcx,%r15 - - movq %r12,96(%rsp) - xorq %r8,%r14 - andq %rax,%r15 - - rorq $4,%r13 - addq %rdx,%r12 - xorq %rcx,%r15 - - rorq $6,%r14 - xorq %rax,%r13 - addq %r15,%r12 - - movq %r8,%r15 - addq (%rbp),%r12 - xorq %r8,%r14 - - xorq %r9,%r15 - rorq $14,%r13 - movq %r9,%rdx - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%rdx - addq %r12,%r11 - addq %r12,%rdx - - leaq 8(%rbp),%rbp - movq 112(%rsp),%r13 - movq 88(%rsp),%rdi - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%rdx - movq %rdi,%r14 - rorq $42,%rdi - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%rdi - shrq $6,%r14 - - rorq $19,%rdi - xorq %r13,%r12 - xorq %r14,%rdi - addq 48(%rsp),%r12 - - addq 104(%rsp),%r12 - movq %r11,%r13 - addq %rdi,%r12 - movq %rdx,%r14 - rorq $23,%r13 - movq %rax,%rdi - - xorq %r11,%r13 - rorq $5,%r14 - xorq %rbx,%rdi - - movq %r12,104(%rsp) - xorq %rdx,%r14 - andq %r11,%rdi - - rorq $4,%r13 - addq %rcx,%r12 - xorq %rbx,%rdi - - rorq $6,%r14 - xorq %r11,%r13 - addq %rdi,%r12 - - movq %rdx,%rdi - addq (%rbp),%r12 - xorq %rdx,%r14 - - xorq %r8,%rdi - rorq $14,%r13 - movq %r8,%rcx - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%rcx - addq %r12,%r10 - addq %r12,%rcx - - leaq 24(%rbp),%rbp - movq 120(%rsp),%r13 - movq 96(%rsp),%r15 - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%rcx - movq %r15,%r14 - rorq $42,%r15 - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%r15 - shrq $6,%r14 - - rorq $19,%r15 - xorq %r13,%r12 - xorq %r14,%r15 - addq 56(%rsp),%r12 - - addq 112(%rsp),%r12 - movq %r10,%r13 - addq %r15,%r12 - movq %rcx,%r14 - rorq $23,%r13 - movq %r11,%r15 - - xorq %r10,%r13 - rorq $5,%r14 - xorq %rax,%r15 - - movq %r12,112(%rsp) - xorq %rcx,%r14 - andq %r10,%r15 - - rorq $4,%r13 - addq %rbx,%r12 - xorq %rax,%r15 - - rorq $6,%r14 - xorq %r10,%r13 - addq %r15,%r12 - - movq %rcx,%r15 - addq (%rbp),%r12 - xorq %rcx,%r14 - - xorq %rdx,%r15 - rorq $14,%r13 - movq %rdx,%rbx - - andq %r15,%rdi - rorq $28,%r14 - addq %r13,%r12 - - xorq %rdi,%rbx - addq %r12,%r9 - addq %r12,%rbx - - leaq 8(%rbp),%rbp - movq 0(%rsp),%r13 - movq 104(%rsp),%rdi - - movq %r13,%r12 - rorq $7,%r13 - addq %r14,%rbx - movq %rdi,%r14 - rorq $42,%rdi - - xorq %r12,%r13 - shrq $7,%r12 - rorq $1,%r13 - xorq %r14,%rdi - shrq $6,%r14 - - rorq $19,%rdi - xorq %r13,%r12 - xorq %r14,%rdi - addq 64(%rsp),%r12 - - addq 120(%rsp),%r12 - movq %r9,%r13 - addq %rdi,%r12 - movq %rbx,%r14 - rorq $23,%r13 - movq %r10,%rdi - - xorq %r9,%r13 - rorq $5,%r14 - xorq %r11,%rdi - - movq %r12,120(%rsp) - xorq %rbx,%r14 - andq %r9,%rdi - - rorq $4,%r13 - addq %rax,%r12 - xorq %r11,%rdi - - rorq $6,%r14 - xorq %r9,%r13 - addq %rdi,%r12 - - movq %rbx,%rdi - addq (%rbp),%r12 - xorq %rbx,%r14 - - xorq %rcx,%rdi - rorq $14,%r13 - movq %rcx,%rax - - andq %rdi,%r15 - rorq $28,%r14 - addq %r13,%r12 - - xorq %r15,%rax - addq %r12,%r8 - addq %r12,%rax - - leaq 24(%rbp),%rbp - cmpb $0,7(%rbp) - jnz .Lrounds_16_xx - - movq 128+0(%rsp),%rdi - addq %r14,%rax - leaq 128(%rsi),%rsi - - addq 0(%rdi),%rax - addq 8(%rdi),%rbx - addq 16(%rdi),%rcx - addq 24(%rdi),%rdx - addq 32(%rdi),%r8 - addq 40(%rdi),%r9 - addq 48(%rdi),%r10 - addq 56(%rdi),%r11 - - cmpq 128+16(%rsp),%rsi - - movq %rax,0(%rdi) - movq %rbx,8(%rdi) - movq %rcx,16(%rdi) - movq %rdx,24(%rdi) - movq %r8,32(%rdi) - movq %r9,40(%rdi) - movq %r10,48(%rdi) - movq %r11,56(%rdi) - jb .Lloop - - movq 152(%rsp),%rsi -.cfi_def_cfa %rsi,8 - movq -48(%rsi),%r15 -.cfi_restore %r15 - movq -40(%rsi),%r14 -.cfi_restore %r14 - movq -32(%rsi),%r13 -.cfi_restore %r13 - movq -24(%rsi),%r12 -.cfi_restore %r12 - movq -16(%rsi),%rbp -.cfi_restore %rbp - movq -8(%rsi),%rbx -.cfi_restore %rbx - leaq (%rsi),%rsp -.cfi_def_cfa_register %rsp -.Lepilogue: - .byte 0xf3,0xc3 -.cfi_endproc -.size sha512_block_data_order,.-sha512_block_data_order -.align 64 -.type K512,@object -K512: -.quad 0x428a2f98d728ae22,0x7137449123ef65cd -.quad 0x428a2f98d728ae22,0x7137449123ef65cd -.quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc -.quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc -.quad 0x3956c25bf348b538,0x59f111f1b605d019 -.quad 0x3956c25bf348b538,0x59f111f1b605d019 -.quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118 -.quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118 -.quad 0xd807aa98a3030242,0x12835b0145706fbe -.quad 0xd807aa98a3030242,0x12835b0145706fbe -.quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2 -.quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2 -.quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1 -.quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1 -.quad 0x9bdc06a725c71235,0xc19bf174cf692694 -.quad 0x9bdc06a725c71235,0xc19bf174cf692694 -.quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3 -.quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3 -.quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65 -.quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65 -.quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483 -.quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483 -.quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5 -.quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5 -.quad 0x983e5152ee66dfab,0xa831c66d2db43210 -.quad 0x983e5152ee66dfab,0xa831c66d2db43210 -.quad 0xb00327c898fb213f,0xbf597fc7beef0ee4 -.quad 0xb00327c898fb213f,0xbf597fc7beef0ee4 -.quad 0xc6e00bf33da88fc2,0xd5a79147930aa725 -.quad 0xc6e00bf33da88fc2,0xd5a79147930aa725 -.quad 0x06ca6351e003826f,0x142929670a0e6e70 -.quad 0x06ca6351e003826f,0x142929670a0e6e70 -.quad 0x27b70a8546d22ffc,0x2e1b21385c26c926 -.quad 0x27b70a8546d22ffc,0x2e1b21385c26c926 -.quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df -.quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df -.quad 0x650a73548baf63de,0x766a0abb3c77b2a8 -.quad 0x650a73548baf63de,0x766a0abb3c77b2a8 -.quad 0x81c2c92e47edaee6,0x92722c851482353b -.quad 0x81c2c92e47edaee6,0x92722c851482353b -.quad 0xa2bfe8a14cf10364,0xa81a664bbc423001 -.quad 0xa2bfe8a14cf10364,0xa81a664bbc423001 -.quad 0xc24b8b70d0f89791,0xc76c51a30654be30 -.quad 0xc24b8b70d0f89791,0xc76c51a30654be30 -.quad 0xd192e819d6ef5218,0xd69906245565a910 -.quad 0xd192e819d6ef5218,0xd69906245565a910 -.quad 0xf40e35855771202a,0x106aa07032bbd1b8 -.quad 0xf40e35855771202a,0x106aa07032bbd1b8 -.quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53 -.quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53 -.quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8 -.quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8 -.quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb -.quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb -.quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3 -.quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3 -.quad 0x748f82ee5defb2fc,0x78a5636f43172f60 -.quad 0x748f82ee5defb2fc,0x78a5636f43172f60 -.quad 0x84c87814a1f0ab72,0x8cc702081a6439ec -.quad 0x84c87814a1f0ab72,0x8cc702081a6439ec -.quad 0x90befffa23631e28,0xa4506cebde82bde9 -.quad 0x90befffa23631e28,0xa4506cebde82bde9 -.quad 0xbef9a3f7b2c67915,0xc67178f2e372532b -.quad 0xbef9a3f7b2c67915,0xc67178f2e372532b -.quad 0xca273eceea26619c,0xd186b8c721c0c207 -.quad 0xca273eceea26619c,0xd186b8c721c0c207 -.quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178 -.quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178 -.quad 0x06f067aa72176fba,0x0a637dc5a2c898a6 -.quad 0x06f067aa72176fba,0x0a637dc5a2c898a6 -.quad 0x113f9804bef90dae,0x1b710b35131c471b -.quad 0x113f9804bef90dae,0x1b710b35131c471b -.quad 0x28db77f523047d84,0x32caab7b40c72493 -.quad 0x28db77f523047d84,0x32caab7b40c72493 -.quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c -.quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c -.quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a -.quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a -.quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817 -.quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817 - -.quad 0x0001020304050607,0x08090a0b0c0d0e0f -.quad 0x0001020304050607,0x08090a0b0c0d0e0f -.byte 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 diff --git a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/x86_64cpuid.S b/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/x86_64cpuid.S deleted file mode 100644 index cac5f8f32c54..000000000000 --- a/CryptoPkg/Library/OpensslLib/X64Gcc/crypto/x86_64cpuid.S +++ /dev/null @@ -1,491 +0,0 @@ -# WARNING: do not edit! -# Generated from openssl/crypto/x86_64cpuid.pl -# -# Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved. -# -# Licensed under the OpenSSL license (the "License"). You may not use -# this file except in compliance with the License. You can obtain a copy -# in the file LICENSE in the source distribution or at -# https://www.openssl.org/source/license.html - - -.hidden OPENSSL_cpuid_setup -.section .init - call OPENSSL_cpuid_setup - -.hidden OPENSSL_ia32cap_P -.comm OPENSSL_ia32cap_P,16,4 - -.text - -.globl OPENSSL_atomic_add -.type OPENSSL_atomic_add,@function -.align 16 -OPENSSL_atomic_add: -.cfi_startproc - movl (%rdi),%eax -.Lspin: leaq (%rsi,%rax,1),%r8 -.byte 0xf0 - cmpxchgl %r8d,(%rdi) - jne .Lspin - movl %r8d,%eax -.byte 0x48,0x98 - .byte 0xf3,0xc3 -.cfi_endproc -.size OPENSSL_atomic_add,.-OPENSSL_atomic_add - -.globl OPENSSL_rdtsc -.type OPENSSL_rdtsc,@function -.align 16 -OPENSSL_rdtsc: -.cfi_startproc - rdtsc - shlq $32,%rdx - orq %rdx,%rax - .byte 0xf3,0xc3 -.cfi_endproc -.size OPENSSL_rdtsc,.-OPENSSL_rdtsc - -.globl OPENSSL_ia32_cpuid -.type OPENSSL_ia32_cpuid,@function -.align 16 -OPENSSL_ia32_cpuid: -.cfi_startproc - movq %rbx,%r8 -.cfi_register %rbx,%r8 - - xorl %eax,%eax - movq %rax,8(%rdi) - cpuid - movl %eax,%r11d - - xorl %eax,%eax - cmpl $0x756e6547,%ebx - setne %al - movl %eax,%r9d - cmpl $0x49656e69,%edx - setne %al - orl %eax,%r9d - cmpl $0x6c65746e,%ecx - setne %al - orl %eax,%r9d - jz .Lintel - - cmpl $0x68747541,%ebx - setne %al - movl %eax,%r10d - cmpl $0x69746E65,%edx - setne %al - orl %eax,%r10d - cmpl $0x444D4163,%ecx - setne %al - orl %eax,%r10d - jnz .Lintel - - - movl $0x80000000,%eax - cpuid - cmpl $0x80000001,%eax - jb .Lintel - movl %eax,%r10d - movl $0x80000001,%eax - cpuid - orl %ecx,%r9d - andl $0x00000801,%r9d - - cmpl $0x80000008,%r10d - jb .Lintel - - movl $0x80000008,%eax - cpuid - movzbq %cl,%r10 - incq %r10 - - movl $1,%eax - cpuid - btl $28,%edx - jnc .Lgeneric - shrl $16,%ebx - cmpb %r10b,%bl - ja .Lgeneric - andl $0xefffffff,%edx - jmp .Lgeneric - -.Lintel: - cmpl $4,%r11d - movl $-1,%r10d - jb .Lnocacheinfo - - movl $4,%eax - movl $0,%ecx - cpuid - movl %eax,%r10d - shrl $14,%r10d - andl $0xfff,%r10d - -.Lnocacheinfo: - movl $1,%eax - cpuid - movd %eax,%xmm0 - andl $0xbfefffff,%edx - cmpl $0,%r9d - jne .Lnotintel - orl $0x40000000,%edx - andb $15,%ah - cmpb $15,%ah - jne .LnotP4 - orl $0x00100000,%edx -.LnotP4: - cmpb $6,%ah - jne .Lnotintel - andl $0x0fff0ff0,%eax - cmpl $0x00050670,%eax - je .Lknights - cmpl $0x00080650,%eax - jne .Lnotintel -.Lknights: - andl $0xfbffffff,%ecx - -.Lnotintel: - btl $28,%edx - jnc .Lgeneric - andl $0xefffffff,%edx - cmpl $0,%r10d - je .Lgeneric - - orl $0x10000000,%edx - shrl $16,%ebx - cmpb $1,%bl - ja .Lgeneric - andl $0xefffffff,%edx -.Lgeneric: - andl $0x00000800,%r9d - andl $0xfffff7ff,%ecx - orl %ecx,%r9d - - movl %edx,%r10d - - cmpl $7,%r11d - jb .Lno_extended_info - movl $7,%eax - xorl %ecx,%ecx - cpuid - btl $26,%r9d - jc .Lnotknights - andl $0xfff7ffff,%ebx -.Lnotknights: - movd %xmm0,%eax - andl $0x0fff0ff0,%eax - cmpl $0x00050650,%eax - jne .Lnotskylakex - andl $0xfffeffff,%ebx - -.Lnotskylakex: - movl %ebx,8(%rdi) - movl %ecx,12(%rdi) -.Lno_extended_info: - - btl $27,%r9d - jnc .Lclear_avx - xorl %ecx,%ecx -.byte 0x0f,0x01,0xd0 - andl $0xe6,%eax - cmpl $0xe6,%eax - je .Ldone - andl $0x3fdeffff,8(%rdi) - - - - - andl $6,%eax - cmpl $6,%eax - je .Ldone -.Lclear_avx: - movl $0xefffe7ff,%eax - andl %eax,%r9d - movl $0x3fdeffdf,%eax - andl %eax,8(%rdi) -.Ldone: - shlq $32,%r9 - movl %r10d,%eax - movq %r8,%rbx -.cfi_restore %rbx - orq %r9,%rax - .byte 0xf3,0xc3 -.cfi_endproc -.size OPENSSL_ia32_cpuid,.-OPENSSL_ia32_cpuid - -.globl OPENSSL_cleanse -.type OPENSSL_cleanse,@function -.align 16 -OPENSSL_cleanse: -.cfi_startproc - xorq %rax,%rax - cmpq $15,%rsi - jae .Lot - cmpq $0,%rsi - je .Lret -.Little: - movb %al,(%rdi) - subq $1,%rsi - leaq 1(%rdi),%rdi - jnz .Little -.Lret: - .byte 0xf3,0xc3 -.align 16 -.Lot: - testq $7,%rdi - jz .Laligned - movb %al,(%rdi) - leaq -1(%rsi),%rsi - leaq 1(%rdi),%rdi - jmp .Lot -.Laligned: - movq %rax,(%rdi) - leaq -8(%rsi),%rsi - testq $-8,%rsi - leaq 8(%rdi),%rdi - jnz .Laligned - cmpq $0,%rsi - jne .Little - .byte 0xf3,0xc3 -.cfi_endproc -.size OPENSSL_cleanse,.-OPENSSL_cleanse - -.globl CRYPTO_memcmp -.type CRYPTO_memcmp,@function -.align 16 -CRYPTO_memcmp: -.cfi_startproc - xorq %rax,%rax - xorq %r10,%r10 - cmpq $0,%rdx - je .Lno_data - cmpq $16,%rdx - jne .Loop_cmp - movq (%rdi),%r10 - movq 8(%rdi),%r11 - movq $1,%rdx - xorq (%rsi),%r10 - xorq 8(%rsi),%r11 - orq %r11,%r10 - cmovnzq %rdx,%rax - .byte 0xf3,0xc3 - -.align 16 -.Loop_cmp: - movb (%rdi),%r10b - leaq 1(%rdi),%rdi - xorb (%rsi),%r10b - leaq 1(%rsi),%rsi - orb %r10b,%al - decq %rdx - jnz .Loop_cmp - negq %rax - shrq $63,%rax -.Lno_data: - .byte 0xf3,0xc3 -.cfi_endproc -.size CRYPTO_memcmp,.-CRYPTO_memcmp -.globl OPENSSL_wipe_cpu -.type OPENSSL_wipe_cpu,@function -.align 16 -OPENSSL_wipe_cpu: -.cfi_startproc - pxor %xmm0,%xmm0 - pxor %xmm1,%xmm1 - pxor %xmm2,%xmm2 - pxor %xmm3,%xmm3 - pxor %xmm4,%xmm4 - pxor %xmm5,%xmm5 - pxor %xmm6,%xmm6 - pxor %xmm7,%xmm7 - pxor %xmm8,%xmm8 - pxor %xmm9,%xmm9 - pxor %xmm10,%xmm10 - pxor %xmm11,%xmm11 - pxor %xmm12,%xmm12 - pxor %xmm13,%xmm13 - pxor %xmm14,%xmm14 - pxor %xmm15,%xmm15 - xorq %rcx,%rcx - xorq %rdx,%rdx - xorq %rsi,%rsi - xorq %rdi,%rdi - xorq %r8,%r8 - xorq %r9,%r9 - xorq %r10,%r10 - xorq %r11,%r11 - leaq 8(%rsp),%rax - .byte 0xf3,0xc3 -.cfi_endproc -.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu -.globl OPENSSL_instrument_bus -.type OPENSSL_instrument_bus,@function -.align 16 -OPENSSL_instrument_bus: -.cfi_startproc - movq %rdi,%r10 - movq %rsi,%rcx - movq %rsi,%r11 - - rdtsc - movl %eax,%r8d - movl $0,%r9d - clflush (%r10) -.byte 0xf0 - addl %r9d,(%r10) - jmp .Loop -.align 16 -.Loop: rdtsc - movl %eax,%edx - subl %r8d,%eax - movl %edx,%r8d - movl %eax,%r9d - clflush (%r10) -.byte 0xf0 - addl %eax,(%r10) - leaq 4(%r10),%r10 - subq $1,%rcx - jnz .Loop - - movq %r11,%rax - .byte 0xf3,0xc3 -.cfi_endproc -.size OPENSSL_instrument_bus,.-OPENSSL_instrument_bus - -.globl OPENSSL_instrument_bus2 -.type OPENSSL_instrument_bus2,@function -.align 16 -OPENSSL_instrument_bus2: -.cfi_startproc - movq %rdi,%r10 - movq %rsi,%rcx - movq %rdx,%r11 - movq %rcx,8(%rsp) - - rdtsc - movl %eax,%r8d - movl $0,%r9d - - clflush (%r10) -.byte 0xf0 - addl %r9d,(%r10) - - rdtsc - movl %eax,%edx - subl %r8d,%eax - movl %edx,%r8d - movl %eax,%r9d -.Loop2: - clflush (%r10) -.byte 0xf0 - addl %eax,(%r10) - - subq $1,%r11 - jz .Ldone2 - - rdtsc - movl %eax,%edx - subl %r8d,%eax - movl %edx,%r8d - cmpl %r9d,%eax - movl %eax,%r9d - movl $0,%edx - setne %dl - subq %rdx,%rcx - leaq (%r10,%rdx,4),%r10 - jnz .Loop2 - -.Ldone2: - movq 8(%rsp),%rax - subq %rcx,%rax - .byte 0xf3,0xc3 -.cfi_endproc -.size OPENSSL_instrument_bus2,.-OPENSSL_instrument_bus2 -.globl OPENSSL_ia32_rdrand_bytes -.type OPENSSL_ia32_rdrand_bytes,@function -.align 16 -OPENSSL_ia32_rdrand_bytes: -.cfi_startproc - xorq %rax,%rax - cmpq $0,%rsi - je .Ldone_rdrand_bytes - - movq $8,%r11 -.Loop_rdrand_bytes: -.byte 73,15,199,242 - jc .Lbreak_rdrand_bytes - decq %r11 - jnz .Loop_rdrand_bytes - jmp .Ldone_rdrand_bytes - -.align 16 -.Lbreak_rdrand_bytes: - cmpq $8,%rsi - jb .Ltail_rdrand_bytes - movq %r10,(%rdi) - leaq 8(%rdi),%rdi - addq $8,%rax - subq $8,%rsi - jz .Ldone_rdrand_bytes - movq $8,%r11 - jmp .Loop_rdrand_bytes - -.align 16 -.Ltail_rdrand_bytes: - movb %r10b,(%rdi) - leaq 1(%rdi),%rdi - incq %rax - shrq $8,%r10 - decq %rsi - jnz .Ltail_rdrand_bytes - -.Ldone_rdrand_bytes: - xorq %r10,%r10 - .byte 0xf3,0xc3 -.cfi_endproc -.size OPENSSL_ia32_rdrand_bytes,.-OPENSSL_ia32_rdrand_bytes -.globl OPENSSL_ia32_rdseed_bytes -.type OPENSSL_ia32_rdseed_bytes,@function -.align 16 -OPENSSL_ia32_rdseed_bytes: -.cfi_startproc - xorq %rax,%rax - cmpq $0,%rsi - je .Ldone_rdseed_bytes - - movq $8,%r11 -.Loop_rdseed_bytes: -.byte 73,15,199,250 - jc .Lbreak_rdseed_bytes - decq %r11 - jnz .Loop_rdseed_bytes - jmp .Ldone_rdseed_bytes - -.align 16 -.Lbreak_rdseed_bytes: - cmpq $8,%rsi - jb .Ltail_rdseed_bytes - movq %r10,(%rdi) - leaq 8(%rdi),%rdi - addq $8,%rax - subq $8,%rsi - jz .Ldone_rdseed_bytes - movq $8,%r11 - jmp .Loop_rdseed_bytes - -.align 16 -.Ltail_rdseed_bytes: - movb %r10b,(%rdi) - leaq 1(%rdi),%rdi - incq %rax - shrq $8,%r10 - decq %rsi - jnz .Ltail_rdseed_bytes - -.Ldone_rdseed_bytes: - xorq %r10,%r10 - .byte 0xf3,0xc3 -.cfi_endproc -.size OPENSSL_ia32_rdseed_bytes,.-OPENSSL_ia32_rdseed_bytes diff --git a/CryptoPkg/Library/OpensslLib/process_files.pl b/CryptoPkg/Library/OpensslLib/process_files.pl deleted file mode 100755 index fba97e7c39a7..000000000000 --- a/CryptoPkg/Library/OpensslLib/process_files.pl +++ /dev/null @@ -1,529 +0,0 @@ -#!/usr/bin/perl -w -# -# This script runs the OpenSSL Configure script, then processes the -# resulting file list into our local OpensslLib[Crypto].inf and also -# takes copies of opensslconf.h and dso_conf.h. -# -# This only needs to be done once by a developer when updating to a -# new version of OpenSSL (or changing options, etc.). Normal users -# do not need to do this, since the results are stored in the EDK2 -# git repository for them. -# -# Due to the script wrapping required to process the OpenSSL -# configuration data, each native architecture must be processed -# individually by the maintainer (in addition to the standard version): -# ./process_files.pl -# ./process_files.pl X64 -# ./process_files.pl [Arch] -# -# Follow the command below to update the INF file: -# 1. OpensslLib.inf ,OpensslLibCrypto.inf and OpensslLibFull.inf -# ./process_files.pl -# 2. OpensslLibAccel.inf and OpensslLibFullAccel.inf -# ./process_files.pl X64 -# ./process_files.pl X64Gcc -# ./process_files.pl IA32 -# ./process_files.pl IA32Gcc - -use strict; -use Cwd; -use File::Copy; -use File::Basename; -use File::Path qw(make_path remove_tree); -use Text::Tabs; - -my $comment_character; - -# -# OpenSSL perlasm generator script does not transfer the copyright header -# -sub copy_license_header -{ - my @args = split / /, shift; #Separate args by spaces - my $source = $args[1]; #Source file is second (after "perl") - my $target = pop @args; #Target file is always last - chop ($target); #Remove newline char - - my $temp_file_name = "license.tmp"; - open (my $source_file, "<" . $source) || die $source; - open (my $target_file, "<" . $target) || die $target; - open (my $temp_file, ">" . $temp_file_name) || die $temp_file_name; - - #Add "generated file" warning - $source =~ s/^..//; #Remove leading "./" - print ($temp_file "$comment_character WARNING: do not edit!\r\n"); - print ($temp_file "$comment_character Generated from $source\r\n"); - print ($temp_file "$comment_character\r\n"); - - #Copy source file header to temp file - while (my $line = <$source_file>) { - next if ($line =~ /#!/); #Ignore shebang line - $line =~ s/#/$comment_character/; #Fix comment character for assembly - $line =~ s/\s+$/\r\n/; #Trim trailing whitepsace, fixup line endings - print ($temp_file $line); - last if ($line =~ /http/); #Last line of copyright header contains a web link - } - print ($temp_file "\r\n"); - #Retrieve generated assembly contents - while (my $line = <$target_file>) { - $line =~ s/\s+$/\r\n/; #Trim trailing whitepsace, fixup line endings - print ($temp_file expand ($line)); #expand() replaces tabs with spaces - } - - close ($source_file); - close ($target_file); - close ($temp_file); - - move ($temp_file_name, $target) || - die "Cannot replace \"" . $target . "\"!"; -} - -# -# Find the openssl directory name for use lib. We have to do this -# inside of BEGIN. The variables we create here, however, don't seem -# to be available to the main script, so we have to repeat the -# exercise. -# -my $inf_file; -my $OPENSSL_PATH; -my $uefi_config; -my $extension; -my $compile; -my $arch; -my @inf; - -BEGIN { - $inf_file = "OpensslLib.inf"; - $uefi_config = "UEFI"; - $arch = shift; - - if (defined $arch) { - if (uc ($arch) eq "X64") { - $arch = "X64"; - $uefi_config = "UEFI-x86_64"; - $extension = "nasm"; - $compile = "MSFT"; - $comment_character = ";"; - } elsif (uc ($arch) eq "X64GCC") { - $arch = "X64Gcc"; - $uefi_config = "UEFI-x86_64-GCC"; - $extension = "S"; - $compile = "GCC"; - $comment_character = "#"; - } elsif (uc ($arch) eq "IA32") { - $arch = "IA32"; - $uefi_config = "UEFI-x86"; - $extension = "nasm"; - $compile = "MSFT"; - $comment_character = ";"; - } elsif (uc ($arch) eq "IA32GCC") { - $arch = "IA32Gcc"; - $uefi_config = "UEFI-x86-GCC"; - $extension = "S"; - $compile = "GCC"; - $comment_character = "#"; - } else { - die "Unsupported architecture \"" . $arch . "\"!"; - } - $inf_file = "OpensslLibAccel.inf"; - if ($extension eq "nasm") { - if (`nasm -v 2>&1`) { - #Presence of nasm executable will trigger inclusion of AVX instructions - die "\nCannot run assembly generators with NASM in path!\n\n"; - } - } - - # Prepare assembly folder - if (-d $arch) { - opendir my $dir, $arch || - die "Cannot open assembly folder \"" . $arch . "\"!"; - while (defined (my $file = readdir $dir)) { - if (-d "$arch/$file") { - next if $file eq "."; - next if $file eq ".."; - remove_tree ("$arch/$file", {safe => 1}) || - die "Cannot clean assembly folder \"" . "$arch/$file" . "\"!"; - } - } - - } else { - mkdir $arch || - die "Cannot create assembly folder \"" . $arch . "\"!"; - } - } - - # Read the contents of the inf file - open( FD, "<" . $inf_file ) || - die "Cannot open \"" . $inf_file . "\"!"; - @inf = (); - close(FD) || - die "Cannot close \"" . $inf_file . "\"!"; - - foreach (@inf) { - if (/DEFINE\s+OPENSSL_PATH\s*=\s*([a-z]+)/) { - - # We need to run Configure before we can include its result... - $OPENSSL_PATH = $1; - - my $basedir = getcwd(); - - chdir($OPENSSL_PATH) || - die "Cannot change to OpenSSL directory \"" . $OPENSSL_PATH . "\""; - - # Configure UEFI - system( - "./Configure", - "--config=../UefiAsm.conf", - "$uefi_config", - "no-afalgeng", - "no-async", - "no-autoerrinit", - "no-autoload-config", - "no-bf", - "no-blake2", - "no-camellia", - "no-capieng", - "no-cast", - "no-chacha", - "no-cms", - "no-ct", - "no-deprecated", - "no-des", - "no-dgram", - "no-dsa", - "no-dynamic-engine", - "no-ec2m", - "no-engine", - "no-err", - "no-filenames", - "no-gost", - "no-hw", - "no-idea", - "no-md4", - "no-mdc2", - "no-pic", - "no-ocb", - "no-poly1305", - "no-posix-io", - "no-rc2", - "no-rc4", - "no-rfc3779", - "no-rmd160", - "no-scrypt", - "no-seed", - "no-sock", - "no-srp", - "no-ssl", - "no-stdio", - "no-threads", - "no-ts", - "no-ui", - "no-whirlpool", - # OpenSSL1_1_1b doesn't support default rand-seed-os for UEFI - # UEFI only support --with-rand-seed=none - "--with-rand-seed=none" - ) == 0 || - die "OpenSSL Configure failed!\n"; - - # Generate opensslconf.h per config data - system( - "perl -I. -Mconfigdata util/dofile.pl " . - "include/openssl/opensslconf.h.in " . - "> include/openssl/opensslconf.h" - ) == 0 || - die "Failed to generate opensslconf.h!\n"; - - # Generate dso_conf.h per config data - system( - "perl -I. -Mconfigdata util/dofile.pl " . - "include/crypto/dso_conf.h.in " . - "> include/crypto/dso_conf.h" - ) == 0 || - die "Failed to generate dso_conf.h!\n"; - - chdir($basedir) || - die "Cannot change to base directory \"" . $basedir . "\""; - - push @INC, $1; - last; - } - } -} - -# -# Retrieve file lists from OpenSSL configdata -# -use configdata qw/%unified_info/; -use configdata qw/%config/; -use configdata qw/%target/; - -# -# Collect build flags from configdata -# -my $flags = ""; -foreach my $f (@{$config{lib_defines}}) { - $flags .= " -D$f"; -} - -my @cryptofilelist = (); -my @sslfilelist = (); -my @ecfilelist = (); -my @asmfilelist = (); -my @asmbuild = (); -foreach my $product ((@{$unified_info{libraries}}, - @{$unified_info{engines}})) { - foreach my $o (@{$unified_info{sources}->{$product}}) { - foreach my $s (@{$unified_info{sources}->{$o}}) { - # No need to add unused files in UEFI. - # So it can reduce porting time, compile time, library size. - next if $s =~ "crypto/bio/b_print.c"; - next if $s =~ "crypto/rand/randfile.c"; - next if $s =~ "crypto/store/"; - next if $s =~ "crypto/err/err_all.c"; - next if $s =~ "crypto/aes/aes_ecb.c"; - - if ($unified_info{generate}->{$s}) { - if (defined $arch) { - my $buildstring = "perl"; - foreach my $arg (@{$unified_info{generate}->{$s}}) { - if ($arg =~ ".pl") { - $buildstring .= " ./openssl/$arg"; - } elsif ($arg =~ "PERLASM_SCHEME") { - $buildstring .= " $target{perlasm_scheme}"; - } elsif ($arg =~ "LIB_CFLAGS") { - $buildstring .= "$flags"; - } - } - ($s, my $path, undef) = fileparse($s, qr/\.[^.]*/); - $buildstring .= " ./$arch/$path$s.$extension"; - make_path ("./$arch/$path"); - push @asmbuild, "$buildstring\n"; - push @asmfilelist, " $arch/$path$s.$extension |$compile\r\n"; - } - next; - } - if ($s =~ "/ec/" || $s =~ "/sm2/") { - push @ecfilelist, ' $(OPENSSL_PATH)/' . $s . "\r\n"; - next; - } - if ($product =~ "libssl") { - push @sslfilelist, ' $(OPENSSL_PATH)/' . $s . "\r\n"; - next; - } - push @cryptofilelist, ' $(OPENSSL_PATH)/' . $s . "\r\n"; - } - } -} - - -# -# Update the perl script to generate the missing header files -# -my @dir_list = (); -for (sort keys %{$unified_info{dirinfo}}){ - push @dir_list,$_; -} - -my $dir = getcwd(); -my @files = (); -my @headers = (); -chdir ("openssl"); -foreach(@dir_list){ - @files = glob($_."/*.h"); - push @headers, @files; -} -chdir ($dir); - -foreach (@headers){ - if(/ssl/){ - push @sslfilelist, ' $(OPENSSL_PATH)/' . $_ . "\r\n"; - next; - } - if ($_ =~ "/ec/" || $_ =~ "/sm2/") { - push @ecfilelist, ' $(OPENSSL_PATH)/' . $_ . "\r\n"; - next; - } - push @cryptofilelist, ' $(OPENSSL_PATH)/' . $_ . "\r\n"; -} - - -# -# Generate assembly files -# -if (@asmbuild) { - print "\n--> Generating assembly files ... "; - foreach my $buildstring (@asmbuild) { - system ("$buildstring"); - copy_license_header ($buildstring); - } - print "Done!"; -} - -# -# Update OpensslLib.inf with autogenerated file list -# -my @new_inf = (); -my $subbing = 0; -print "\n--> Updating $inf_file ... "; -foreach (@inf) { - if ($_ =~ "DEFINE OPENSSL_FLAGS_CONFIG") { - push @new_inf, " DEFINE OPENSSL_FLAGS_CONFIG =" . $flags . "\r\n"; - next; - } - if ( $_ =~ "# Autogenerated files list starts here" ) { - push @new_inf, $_, @cryptofilelist, @sslfilelist; - $subbing = 1; - next; - } - if (defined $arch) { - my $arch_asmfile_flag = "# Autogenerated " . $arch . " files list starts here"; - if ($_ =~ $arch_asmfile_flag) { - push @new_inf, $_, @asmfilelist; - $subbing = 1; - next; - } - } - if ( $_ =~ "# Autogenerated files list ends here" ) { - push @new_inf, $_; - $subbing = 0; - next; - } - - push @new_inf, $_ - unless ($subbing); -} - -my $new_inf_file = $inf_file . ".new"; -open( FD, ">" . $new_inf_file ) || - die $new_inf_file; -print( FD @new_inf ) || - die $new_inf_file; -close(FD) || - die $new_inf_file; -rename( $new_inf_file, $inf_file ) || - die "rename $inf_file"; -print "Done!"; - -if (!defined $arch) { - # - # Update OpensslLibCrypto.inf with auto-generated file list (no libssl) - # - $inf_file = "OpensslLibCrypto.inf"; - - # Read the contents of the inf file - @inf = (); - @new_inf = (); - open( FD, "<" . $inf_file ) || - die "Cannot open \"" . $inf_file . "\"!"; - @inf = (); - close(FD) || - die "Cannot close \"" . $inf_file . "\"!"; - - $subbing = 0; - print "\n--> Updating OpensslLibCrypto.inf ... "; - foreach (@inf) { - if ( $_ =~ "# Autogenerated files list starts here" ) { - push @new_inf, $_, @cryptofilelist; - $subbing = 1; - next; - } - if ( $_ =~ "# Autogenerated files list ends here" ) { - push @new_inf, $_; - $subbing = 0; - next; - } - - push @new_inf, $_ - unless ($subbing); - } - - $new_inf_file = $inf_file . ".new"; - open( FD, ">" . $new_inf_file ) || - die $new_inf_file; - print( FD @new_inf ) || - die $new_inf_file; - close(FD) || - die $new_inf_file; - rename( $new_inf_file, $inf_file ) || - die "rename $inf_file"; - print "Done!"; -} - -# -# Update OpensslLibFull.inf with autogenerated file list -# -if (!defined $arch) { - $inf_file = "OpensslLibFull.inf"; -} else { - $inf_file = "OpensslLibFullAccel.inf"; -} -# Read the contents of the inf file -@inf = (); -@new_inf = (); -open( FD, "<" . $inf_file ) || - die "Cannot open \"" . $inf_file . "\"!"; -@inf = (); -close(FD) || - die "Cannot close \"" . $inf_file . "\"!"; -$subbing = 0; -print "\n--> Updating $inf_file ... "; -foreach (@inf) { - if ( $_ =~ "# Autogenerated files list starts here" ) { - push @new_inf, $_, @cryptofilelist, @sslfilelist, @ecfilelist; - $subbing = 1; - next; - } - if (defined $arch) { - my $arch_asmfile_flag = "# Autogenerated " . $arch . " files list starts here"; - if ($_ =~ $arch_asmfile_flag) { - push @new_inf, $_, @asmfilelist; - $subbing = 1; - next; - } - } - if ( $_ =~ "# Autogenerated files list ends here" ) { - push @new_inf, $_; - $subbing = 0; - next; - } - - push @new_inf, $_ - unless ($subbing); -} - -$new_inf_file = $inf_file . ".new"; -open( FD, ">" . $new_inf_file ) || - die $new_inf_file; -print( FD @new_inf ) || - die $new_inf_file; -close(FD) || - die $new_inf_file; -rename( $new_inf_file, $inf_file ) || - die "rename $inf_file"; -print "Done!"; - -# -# Copy opensslconf.h and dso_conf.h generated from OpenSSL Configuration -# -print "\n--> Duplicating opensslconf.h into Include/openssl ... "; -system( - "perl -pe 's/\\n/\\r\\n/' " . - "< " . $OPENSSL_PATH . "/include/openssl/opensslconf.h " . - "> " . $OPENSSL_PATH . "/../../Include/openssl/opensslconf.h" - ) == 0 || - die "Cannot copy opensslconf.h!"; -print "Done!"; - -print "\n--> Duplicating dso_conf.h into Include/crypto ... "; -system( - "perl -pe 's/\\n/\\r\\n/' " . - "< " . $OPENSSL_PATH . "/include/crypto/dso_conf.h" . - "> " . $OPENSSL_PATH . "/../../Include/crypto/dso_conf.h" - ) == 0 || - die "Cannot copy dso_conf.h!"; -print "Done!\n"; - -print "\nProcessing Files Done!\n"; - -exit(0); - -- 2.39.2