diff options
author | Adam Langley <agl@google.com> | 2015-05-11 17:20:37 -0700 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2015-05-12 23:06:14 +0000 |
commit | e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5 (patch) | |
tree | 6e43e34595ecf887c26c32b86d8ab097fe8cac64 /win-x86_64/crypto/sha | |
parent | b3106a0cc1493bbe0505c0ec0ce3da4ca90a29ae (diff) | |
download | external_boringssl-e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5.zip external_boringssl-e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5.tar.gz external_boringssl-e9ada863a7b3e81f5d2b1e3bdd2305da902a87f5.tar.bz2 |
external/boringssl: bump revision.
This change bumps the BoringSSL revision to the current tip-of-tree.
Change-Id: I91d5bf467e16e8d86cb19a4de873985f524e5faa
Diffstat (limited to 'win-x86_64/crypto/sha')
-rw-r--r-- | win-x86_64/crypto/sha/sha1-x86_64.asm | 1397 | ||||
-rw-r--r-- | win-x86_64/crypto/sha/sha256-x86_64.asm | 971 | ||||
-rw-r--r-- | win-x86_64/crypto/sha/sha512-x86_64.asm | 786 |
3 files changed, 1573 insertions, 1581 deletions
diff --git a/win-x86_64/crypto/sha/sha1-x86_64.asm b/win-x86_64/crypto/sha/sha1-x86_64.asm index ecda6dc..0f5361a 100644 --- a/win-x86_64/crypto/sha/sha1-x86_64.asm +++ b/win-x86_64/crypto/sha/sha1-x86_64.asm @@ -1,29 +1,33 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' -EXTERN OPENSSL_ia32cap_P:NEAR +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 -PUBLIC sha1_block_data_order +EXTERN OPENSSL_ia32cap_P + +global sha1_block_data_order ALIGN 16 -sha1_block_data_order PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +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:: +$L$SEH_begin_sha1_block_data_order: mov rdi,rcx mov rsi,rdx mov rdx,r8 - mov r9d,DWORD PTR[((OPENSSL_ia32cap_P+0))] - mov r8d,DWORD PTR[((OPENSSL_ia32cap_P+4))] - mov r10d,DWORD PTR[((OPENSSL_ia32cap_P+8))] + 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 $L$ialu - jmp _ssse3_shortcut + jz NEAR $L$ialu + jmp NEAR _ssse3_shortcut ALIGN 16 -$L$ialu:: +$L$ialu: mov rax,rsp push rbx push rbp @@ -35,579 +39,579 @@ $L$ialu:: mov r9,rsi and rsp,-64 mov r10,rdx - mov QWORD PTR[64+rsp],rax -$L$prologue:: + mov QWORD[64+rsp],rax +$L$prologue: - mov esi,DWORD PTR[r8] - mov edi,DWORD PTR[4+r8] - mov r11d,DWORD PTR[8+r8] - mov r12d,DWORD PTR[12+r8] - mov r13d,DWORD PTR[16+r8] - jmp $L$loop + 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 PTR[r9] +$L$loop: + mov edx,DWORD[r9] bswap edx - mov ebp,DWORD PTR[4+r9] + mov ebp,DWORD[4+r9] mov eax,r12d - mov DWORD PTR[rsp],edx + mov DWORD[rsp],edx mov ecx,esi bswap ebp xor eax,r11d rol ecx,5 and eax,edi - lea r13d,DWORD PTR[1518500249+r13*1+rdx] + lea r13d,[1518500249+r13*1+rdx] add r13d,ecx xor eax,r12d rol edi,30 add r13d,eax - mov r14d,DWORD PTR[8+r9] + mov r14d,DWORD[8+r9] mov eax,r11d - mov DWORD PTR[4+rsp],ebp + mov DWORD[4+rsp],ebp mov ecx,r13d bswap r14d xor eax,edi rol ecx,5 and eax,esi - lea r12d,DWORD PTR[1518500249+r12*1+rbp] + lea r12d,[1518500249+r12*1+rbp] add r12d,ecx xor eax,r11d rol esi,30 add r12d,eax - mov edx,DWORD PTR[12+r9] + mov edx,DWORD[12+r9] mov eax,edi - mov DWORD PTR[8+rsp],r14d + mov DWORD[8+rsp],r14d mov ecx,r12d bswap edx xor eax,esi rol ecx,5 and eax,r13d - lea r11d,DWORD PTR[1518500249+r11*1+r14] + lea r11d,[1518500249+r11*1+r14] add r11d,ecx xor eax,edi rol r13d,30 add r11d,eax - mov ebp,DWORD PTR[16+r9] + mov ebp,DWORD[16+r9] mov eax,esi - mov DWORD PTR[12+rsp],edx + mov DWORD[12+rsp],edx mov ecx,r11d bswap ebp xor eax,r13d rol ecx,5 and eax,r12d - lea edi,DWORD PTR[1518500249+rdi*1+rdx] + lea edi,[1518500249+rdi*1+rdx] add edi,ecx xor eax,esi rol r12d,30 add edi,eax - mov r14d,DWORD PTR[20+r9] + mov r14d,DWORD[20+r9] mov eax,r13d - mov DWORD PTR[16+rsp],ebp + mov DWORD[16+rsp],ebp mov ecx,edi bswap r14d xor eax,r12d rol ecx,5 and eax,r11d - lea esi,DWORD PTR[1518500249+rsi*1+rbp] + lea esi,[1518500249+rsi*1+rbp] add esi,ecx xor eax,r13d rol r11d,30 add esi,eax - mov edx,DWORD PTR[24+r9] + mov edx,DWORD[24+r9] mov eax,r12d - mov DWORD PTR[20+rsp],r14d + mov DWORD[20+rsp],r14d mov ecx,esi bswap edx xor eax,r11d rol ecx,5 and eax,edi - lea r13d,DWORD PTR[1518500249+r13*1+r14] + lea r13d,[1518500249+r13*1+r14] add r13d,ecx xor eax,r12d rol edi,30 add r13d,eax - mov ebp,DWORD PTR[28+r9] + mov ebp,DWORD[28+r9] mov eax,r11d - mov DWORD PTR[24+rsp],edx + mov DWORD[24+rsp],edx mov ecx,r13d bswap ebp xor eax,edi rol ecx,5 and eax,esi - lea r12d,DWORD PTR[1518500249+r12*1+rdx] + lea r12d,[1518500249+r12*1+rdx] add r12d,ecx xor eax,r11d rol esi,30 add r12d,eax - mov r14d,DWORD PTR[32+r9] + mov r14d,DWORD[32+r9] mov eax,edi - mov DWORD PTR[28+rsp],ebp + mov DWORD[28+rsp],ebp mov ecx,r12d bswap r14d xor eax,esi rol ecx,5 and eax,r13d - lea r11d,DWORD PTR[1518500249+r11*1+rbp] + lea r11d,[1518500249+r11*1+rbp] add r11d,ecx xor eax,edi rol r13d,30 add r11d,eax - mov edx,DWORD PTR[36+r9] + mov edx,DWORD[36+r9] mov eax,esi - mov DWORD PTR[32+rsp],r14d + mov DWORD[32+rsp],r14d mov ecx,r11d bswap edx xor eax,r13d rol ecx,5 and eax,r12d - lea edi,DWORD PTR[1518500249+rdi*1+r14] + lea edi,[1518500249+rdi*1+r14] add edi,ecx xor eax,esi rol r12d,30 add edi,eax - mov ebp,DWORD PTR[40+r9] + mov ebp,DWORD[40+r9] mov eax,r13d - mov DWORD PTR[36+rsp],edx + mov DWORD[36+rsp],edx mov ecx,edi bswap ebp xor eax,r12d rol ecx,5 and eax,r11d - lea esi,DWORD PTR[1518500249+rsi*1+rdx] + lea esi,[1518500249+rsi*1+rdx] add esi,ecx xor eax,r13d rol r11d,30 add esi,eax - mov r14d,DWORD PTR[44+r9] + mov r14d,DWORD[44+r9] mov eax,r12d - mov DWORD PTR[40+rsp],ebp + mov DWORD[40+rsp],ebp mov ecx,esi bswap r14d xor eax,r11d rol ecx,5 and eax,edi - lea r13d,DWORD PTR[1518500249+r13*1+rbp] + lea r13d,[1518500249+r13*1+rbp] add r13d,ecx xor eax,r12d rol edi,30 add r13d,eax - mov edx,DWORD PTR[48+r9] + mov edx,DWORD[48+r9] mov eax,r11d - mov DWORD PTR[44+rsp],r14d + mov DWORD[44+rsp],r14d mov ecx,r13d bswap edx xor eax,edi rol ecx,5 and eax,esi - lea r12d,DWORD PTR[1518500249+r12*1+r14] + lea r12d,[1518500249+r12*1+r14] add r12d,ecx xor eax,r11d rol esi,30 add r12d,eax - mov ebp,DWORD PTR[52+r9] + mov ebp,DWORD[52+r9] mov eax,edi - mov DWORD PTR[48+rsp],edx + mov DWORD[48+rsp],edx mov ecx,r12d bswap ebp xor eax,esi rol ecx,5 and eax,r13d - lea r11d,DWORD PTR[1518500249+r11*1+rdx] + lea r11d,[1518500249+r11*1+rdx] add r11d,ecx xor eax,edi rol r13d,30 add r11d,eax - mov r14d,DWORD PTR[56+r9] + mov r14d,DWORD[56+r9] mov eax,esi - mov DWORD PTR[52+rsp],ebp + mov DWORD[52+rsp],ebp mov ecx,r11d bswap r14d xor eax,r13d rol ecx,5 and eax,r12d - lea edi,DWORD PTR[1518500249+rdi*1+rbp] + lea edi,[1518500249+rdi*1+rbp] add edi,ecx xor eax,esi rol r12d,30 add edi,eax - mov edx,DWORD PTR[60+r9] + mov edx,DWORD[60+r9] mov eax,r13d - mov DWORD PTR[56+rsp],r14d + mov DWORD[56+rsp],r14d mov ecx,edi bswap edx xor eax,r12d rol ecx,5 and eax,r11d - lea esi,DWORD PTR[1518500249+rsi*1+r14] + lea esi,[1518500249+rsi*1+r14] add esi,ecx xor eax,r13d rol r11d,30 add esi,eax - xor ebp,DWORD PTR[rsp] + xor ebp,DWORD[rsp] mov eax,r12d - mov DWORD PTR[60+rsp],edx + mov DWORD[60+rsp],edx mov ecx,esi - xor ebp,DWORD PTR[8+rsp] + xor ebp,DWORD[8+rsp] xor eax,r11d rol ecx,5 - xor ebp,DWORD PTR[32+rsp] + xor ebp,DWORD[32+rsp] and eax,edi - lea r13d,DWORD PTR[1518500249+r13*1+rdx] + lea r13d,[1518500249+r13*1+rdx] rol edi,30 xor eax,r12d add r13d,ecx rol ebp,1 add r13d,eax - xor r14d,DWORD PTR[4+rsp] + xor r14d,DWORD[4+rsp] mov eax,r11d - mov DWORD PTR[rsp],ebp + mov DWORD[rsp],ebp mov ecx,r13d - xor r14d,DWORD PTR[12+rsp] + xor r14d,DWORD[12+rsp] xor eax,edi rol ecx,5 - xor r14d,DWORD PTR[36+rsp] + xor r14d,DWORD[36+rsp] and eax,esi - lea r12d,DWORD PTR[1518500249+r12*1+rbp] + lea r12d,[1518500249+r12*1+rbp] rol esi,30 xor eax,r11d add r12d,ecx rol r14d,1 add r12d,eax - xor edx,DWORD PTR[8+rsp] + xor edx,DWORD[8+rsp] mov eax,edi - mov DWORD PTR[4+rsp],r14d + mov DWORD[4+rsp],r14d mov ecx,r12d - xor edx,DWORD PTR[16+rsp] + xor edx,DWORD[16+rsp] xor eax,esi rol ecx,5 - xor edx,DWORD PTR[40+rsp] + xor edx,DWORD[40+rsp] and eax,r13d - lea r11d,DWORD PTR[1518500249+r11*1+r14] + lea r11d,[1518500249+r11*1+r14] rol r13d,30 xor eax,edi add r11d,ecx rol edx,1 add r11d,eax - xor ebp,DWORD PTR[12+rsp] + xor ebp,DWORD[12+rsp] mov eax,esi - mov DWORD PTR[8+rsp],edx + mov DWORD[8+rsp],edx mov ecx,r11d - xor ebp,DWORD PTR[20+rsp] + xor ebp,DWORD[20+rsp] xor eax,r13d rol ecx,5 - xor ebp,DWORD PTR[44+rsp] + xor ebp,DWORD[44+rsp] and eax,r12d - lea edi,DWORD PTR[1518500249+rdi*1+rdx] + lea edi,[1518500249+rdi*1+rdx] rol r12d,30 xor eax,esi add edi,ecx rol ebp,1 add edi,eax - xor r14d,DWORD PTR[16+rsp] + xor r14d,DWORD[16+rsp] mov eax,r13d - mov DWORD PTR[12+rsp],ebp + mov DWORD[12+rsp],ebp mov ecx,edi - xor r14d,DWORD PTR[24+rsp] + xor r14d,DWORD[24+rsp] xor eax,r12d rol ecx,5 - xor r14d,DWORD PTR[48+rsp] + xor r14d,DWORD[48+rsp] and eax,r11d - lea esi,DWORD PTR[1518500249+rsi*1+rbp] + lea esi,[1518500249+rsi*1+rbp] rol r11d,30 xor eax,r13d add esi,ecx rol r14d,1 add esi,eax - xor edx,DWORD PTR[20+rsp] + xor edx,DWORD[20+rsp] mov eax,edi - mov DWORD PTR[16+rsp],r14d + mov DWORD[16+rsp],r14d mov ecx,esi - xor edx,DWORD PTR[28+rsp] + xor edx,DWORD[28+rsp] xor eax,r12d rol ecx,5 - xor edx,DWORD PTR[52+rsp] - lea r13d,DWORD PTR[1859775393+r13*1+r14] + 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 PTR[24+rsp] + xor ebp,DWORD[24+rsp] mov eax,esi - mov DWORD PTR[20+rsp],edx + mov DWORD[20+rsp],edx mov ecx,r13d - xor ebp,DWORD PTR[32+rsp] + xor ebp,DWORD[32+rsp] xor eax,r11d rol ecx,5 - xor ebp,DWORD PTR[56+rsp] - lea r12d,DWORD PTR[1859775393+r12*1+rdx] + 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 PTR[28+rsp] + xor r14d,DWORD[28+rsp] mov eax,r13d - mov DWORD PTR[24+rsp],ebp + mov DWORD[24+rsp],ebp mov ecx,r12d - xor r14d,DWORD PTR[36+rsp] + xor r14d,DWORD[36+rsp] xor eax,edi rol ecx,5 - xor r14d,DWORD PTR[60+rsp] - lea r11d,DWORD PTR[1859775393+r11*1+rbp] + 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 PTR[32+rsp] + xor edx,DWORD[32+rsp] mov eax,r12d - mov DWORD PTR[28+rsp],r14d + mov DWORD[28+rsp],r14d mov ecx,r11d - xor edx,DWORD PTR[40+rsp] + xor edx,DWORD[40+rsp] xor eax,esi rol ecx,5 - xor edx,DWORD PTR[rsp] - lea edi,DWORD PTR[1859775393+rdi*1+r14] + 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 PTR[36+rsp] + xor ebp,DWORD[36+rsp] mov eax,r11d - mov DWORD PTR[32+rsp],edx + mov DWORD[32+rsp],edx mov ecx,edi - xor ebp,DWORD PTR[44+rsp] + xor ebp,DWORD[44+rsp] xor eax,r13d rol ecx,5 - xor ebp,DWORD PTR[4+rsp] - lea esi,DWORD PTR[1859775393+rsi*1+rdx] + 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 PTR[40+rsp] + xor r14d,DWORD[40+rsp] mov eax,edi - mov DWORD PTR[36+rsp],ebp + mov DWORD[36+rsp],ebp mov ecx,esi - xor r14d,DWORD PTR[48+rsp] + xor r14d,DWORD[48+rsp] xor eax,r12d rol ecx,5 - xor r14d,DWORD PTR[8+rsp] - lea r13d,DWORD PTR[1859775393+r13*1+rbp] + 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 PTR[44+rsp] + xor edx,DWORD[44+rsp] mov eax,esi - mov DWORD PTR[40+rsp],r14d + mov DWORD[40+rsp],r14d mov ecx,r13d - xor edx,DWORD PTR[52+rsp] + xor edx,DWORD[52+rsp] xor eax,r11d rol ecx,5 - xor edx,DWORD PTR[12+rsp] - lea r12d,DWORD PTR[1859775393+r12*1+r14] + 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 PTR[48+rsp] + xor ebp,DWORD[48+rsp] mov eax,r13d - mov DWORD PTR[44+rsp],edx + mov DWORD[44+rsp],edx mov ecx,r12d - xor ebp,DWORD PTR[56+rsp] + xor ebp,DWORD[56+rsp] xor eax,edi rol ecx,5 - xor ebp,DWORD PTR[16+rsp] - lea r11d,DWORD PTR[1859775393+r11*1+rdx] + 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 PTR[52+rsp] + xor r14d,DWORD[52+rsp] mov eax,r12d - mov DWORD PTR[48+rsp],ebp + mov DWORD[48+rsp],ebp mov ecx,r11d - xor r14d,DWORD PTR[60+rsp] + xor r14d,DWORD[60+rsp] xor eax,esi rol ecx,5 - xor r14d,DWORD PTR[20+rsp] - lea edi,DWORD PTR[1859775393+rdi*1+rbp] + 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 PTR[56+rsp] + xor edx,DWORD[56+rsp] mov eax,r11d - mov DWORD PTR[52+rsp],r14d + mov DWORD[52+rsp],r14d mov ecx,edi - xor edx,DWORD PTR[rsp] + xor edx,DWORD[rsp] xor eax,r13d rol ecx,5 - xor edx,DWORD PTR[24+rsp] - lea esi,DWORD PTR[1859775393+rsi*1+r14] + 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 PTR[60+rsp] + xor ebp,DWORD[60+rsp] mov eax,edi - mov DWORD PTR[56+rsp],edx + mov DWORD[56+rsp],edx mov ecx,esi - xor ebp,DWORD PTR[4+rsp] + xor ebp,DWORD[4+rsp] xor eax,r12d rol ecx,5 - xor ebp,DWORD PTR[28+rsp] - lea r13d,DWORD PTR[1859775393+r13*1+rdx] + 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 PTR[rsp] + xor r14d,DWORD[rsp] mov eax,esi - mov DWORD PTR[60+rsp],ebp + mov DWORD[60+rsp],ebp mov ecx,r13d - xor r14d,DWORD PTR[8+rsp] + xor r14d,DWORD[8+rsp] xor eax,r11d rol ecx,5 - xor r14d,DWORD PTR[32+rsp] - lea r12d,DWORD PTR[1859775393+r12*1+rbp] + 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 PTR[4+rsp] + xor edx,DWORD[4+rsp] mov eax,r13d - mov DWORD PTR[rsp],r14d + mov DWORD[rsp],r14d mov ecx,r12d - xor edx,DWORD PTR[12+rsp] + xor edx,DWORD[12+rsp] xor eax,edi rol ecx,5 - xor edx,DWORD PTR[36+rsp] - lea r11d,DWORD PTR[1859775393+r11*1+r14] + 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 PTR[8+rsp] + xor ebp,DWORD[8+rsp] mov eax,r12d - mov DWORD PTR[4+rsp],edx + mov DWORD[4+rsp],edx mov ecx,r11d - xor ebp,DWORD PTR[16+rsp] + xor ebp,DWORD[16+rsp] xor eax,esi rol ecx,5 - xor ebp,DWORD PTR[40+rsp] - lea edi,DWORD PTR[1859775393+rdi*1+rdx] + 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 PTR[12+rsp] + xor r14d,DWORD[12+rsp] mov eax,r11d - mov DWORD PTR[8+rsp],ebp + mov DWORD[8+rsp],ebp mov ecx,edi - xor r14d,DWORD PTR[20+rsp] + xor r14d,DWORD[20+rsp] xor eax,r13d rol ecx,5 - xor r14d,DWORD PTR[44+rsp] - lea esi,DWORD PTR[1859775393+rsi*1+rbp] + 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 PTR[16+rsp] + xor edx,DWORD[16+rsp] mov eax,edi - mov DWORD PTR[12+rsp],r14d + mov DWORD[12+rsp],r14d mov ecx,esi - xor edx,DWORD PTR[24+rsp] + xor edx,DWORD[24+rsp] xor eax,r12d rol ecx,5 - xor edx,DWORD PTR[48+rsp] - lea r13d,DWORD PTR[1859775393+r13*1+r14] + 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 PTR[20+rsp] + xor ebp,DWORD[20+rsp] mov eax,esi - mov DWORD PTR[16+rsp],edx + mov DWORD[16+rsp],edx mov ecx,r13d - xor ebp,DWORD PTR[28+rsp] + xor ebp,DWORD[28+rsp] xor eax,r11d rol ecx,5 - xor ebp,DWORD PTR[52+rsp] - lea r12d,DWORD PTR[1859775393+r12*1+rdx] + 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 PTR[24+rsp] + xor r14d,DWORD[24+rsp] mov eax,r13d - mov DWORD PTR[20+rsp],ebp + mov DWORD[20+rsp],ebp mov ecx,r12d - xor r14d,DWORD PTR[32+rsp] + xor r14d,DWORD[32+rsp] xor eax,edi rol ecx,5 - xor r14d,DWORD PTR[56+rsp] - lea r11d,DWORD PTR[1859775393+r11*1+rbp] + 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 PTR[28+rsp] + xor edx,DWORD[28+rsp] mov eax,r12d - mov DWORD PTR[24+rsp],r14d + mov DWORD[24+rsp],r14d mov ecx,r11d - xor edx,DWORD PTR[36+rsp] + xor edx,DWORD[36+rsp] xor eax,esi rol ecx,5 - xor edx,DWORD PTR[60+rsp] - lea edi,DWORD PTR[1859775393+rdi*1+r14] + 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 PTR[32+rsp] + xor ebp,DWORD[32+rsp] mov eax,r11d - mov DWORD PTR[28+rsp],edx + mov DWORD[28+rsp],edx mov ecx,edi - xor ebp,DWORD PTR[40+rsp] + xor ebp,DWORD[40+rsp] xor eax,r13d rol ecx,5 - xor ebp,DWORD PTR[rsp] - lea esi,DWORD PTR[1859775393+rsi*1+rdx] + 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 PTR[36+rsp] + xor r14d,DWORD[36+rsp] mov eax,r12d - mov DWORD PTR[32+rsp],ebp + mov DWORD[32+rsp],ebp mov ebx,r12d - xor r14d,DWORD PTR[44+rsp] + xor r14d,DWORD[44+rsp] and eax,r11d mov ecx,esi - xor r14d,DWORD PTR[4+rsp] - lea r13d,DWORD PTR[((-1894007588))+r13*1+rbp] + xor r14d,DWORD[4+rsp] + lea r13d,[((-1894007588))+r13*1+rbp] xor ebx,r11d rol ecx,5 add r13d,eax @@ -616,15 +620,15 @@ $L$loop:: add r13d,ecx rol edi,30 add r13d,ebx - xor edx,DWORD PTR[40+rsp] + xor edx,DWORD[40+rsp] mov eax,r11d - mov DWORD PTR[36+rsp],r14d + mov DWORD[36+rsp],r14d mov ebx,r11d - xor edx,DWORD PTR[48+rsp] + xor edx,DWORD[48+rsp] and eax,edi mov ecx,r13d - xor edx,DWORD PTR[8+rsp] - lea r12d,DWORD PTR[((-1894007588))+r12*1+r14] + xor edx,DWORD[8+rsp] + lea r12d,[((-1894007588))+r12*1+r14] xor ebx,edi rol ecx,5 add r12d,eax @@ -633,15 +637,15 @@ $L$loop:: add r12d,ecx rol esi,30 add r12d,ebx - xor ebp,DWORD PTR[44+rsp] + xor ebp,DWORD[44+rsp] mov eax,edi - mov DWORD PTR[40+rsp],edx + mov DWORD[40+rsp],edx mov ebx,edi - xor ebp,DWORD PTR[52+rsp] + xor ebp,DWORD[52+rsp] and eax,esi mov ecx,r12d - xor ebp,DWORD PTR[12+rsp] - lea r11d,DWORD PTR[((-1894007588))+r11*1+rdx] + xor ebp,DWORD[12+rsp] + lea r11d,[((-1894007588))+r11*1+rdx] xor ebx,esi rol ecx,5 add r11d,eax @@ -650,15 +654,15 @@ $L$loop:: add r11d,ecx rol r13d,30 add r11d,ebx - xor r14d,DWORD PTR[48+rsp] + xor r14d,DWORD[48+rsp] mov eax,esi - mov DWORD PTR[44+rsp],ebp + mov DWORD[44+rsp],ebp mov ebx,esi - xor r14d,DWORD PTR[56+rsp] + xor r14d,DWORD[56+rsp] and eax,r13d mov ecx,r11d - xor r14d,DWORD PTR[16+rsp] - lea edi,DWORD PTR[((-1894007588))+rdi*1+rbp] + xor r14d,DWORD[16+rsp] + lea edi,[((-1894007588))+rdi*1+rbp] xor ebx,r13d rol ecx,5 add edi,eax @@ -667,15 +671,15 @@ $L$loop:: add edi,ecx rol r12d,30 add edi,ebx - xor edx,DWORD PTR[52+rsp] + xor edx,DWORD[52+rsp] mov eax,r13d - mov DWORD PTR[48+rsp],r14d + mov DWORD[48+rsp],r14d mov ebx,r13d - xor edx,DWORD PTR[60+rsp] + xor edx,DWORD[60+rsp] and eax,r12d mov ecx,edi - xor edx,DWORD PTR[20+rsp] - lea esi,DWORD PTR[((-1894007588))+rsi*1+r14] + xor edx,DWORD[20+rsp] + lea esi,[((-1894007588))+rsi*1+r14] xor ebx,r12d rol ecx,5 add esi,eax @@ -684,15 +688,15 @@ $L$loop:: add esi,ecx rol r11d,30 add esi,ebx - xor ebp,DWORD PTR[56+rsp] + xor ebp,DWORD[56+rsp] mov eax,r12d - mov DWORD PTR[52+rsp],edx + mov DWORD[52+rsp],edx mov ebx,r12d - xor ebp,DWORD PTR[rsp] + xor ebp,DWORD[rsp] and eax,r11d mov ecx,esi - xor ebp,DWORD PTR[24+rsp] - lea r13d,DWORD PTR[((-1894007588))+r13*1+rdx] + xor ebp,DWORD[24+rsp] + lea r13d,[((-1894007588))+r13*1+rdx] xor ebx,r11d rol ecx,5 add r13d,eax @@ -701,15 +705,15 @@ $L$loop:: add r13d,ecx rol edi,30 add r13d,ebx - xor r14d,DWORD PTR[60+rsp] + xor r14d,DWORD[60+rsp] mov eax,r11d - mov DWORD PTR[56+rsp],ebp + mov DWORD[56+rsp],ebp mov ebx,r11d - xor r14d,DWORD PTR[4+rsp] + xor r14d,DWORD[4+rsp] and eax,edi mov ecx,r13d - xor r14d,DWORD PTR[28+rsp] - lea r12d,DWORD PTR[((-1894007588))+r12*1+rbp] + xor r14d,DWORD[28+rsp] + lea r12d,[((-1894007588))+r12*1+rbp] xor ebx,edi rol ecx,5 add r12d,eax @@ -718,15 +722,15 @@ $L$loop:: add r12d,ecx rol esi,30 add r12d,ebx - xor edx,DWORD PTR[rsp] + xor edx,DWORD[rsp] mov eax,edi - mov DWORD PTR[60+rsp],r14d + mov DWORD[60+rsp],r14d mov ebx,edi - xor edx,DWORD PTR[8+rsp] + xor edx,DWORD[8+rsp] and eax,esi mov ecx,r12d - xor edx,DWORD PTR[32+rsp] - lea r11d,DWORD PTR[((-1894007588))+r11*1+r14] + xor edx,DWORD[32+rsp] + lea r11d,[((-1894007588))+r11*1+r14] xor ebx,esi rol ecx,5 add r11d,eax @@ -735,15 +739,15 @@ $L$loop:: add r11d,ecx rol r13d,30 add r11d,ebx - xor ebp,DWORD PTR[4+rsp] + xor ebp,DWORD[4+rsp] mov eax,esi - mov DWORD PTR[rsp],edx + mov DWORD[rsp],edx mov ebx,esi - xor ebp,DWORD PTR[12+rsp] + xor ebp,DWORD[12+rsp] and eax,r13d mov ecx,r11d - xor ebp,DWORD PTR[36+rsp] - lea edi,DWORD PTR[((-1894007588))+rdi*1+rdx] + xor ebp,DWORD[36+rsp] + lea edi,[((-1894007588))+rdi*1+rdx] xor ebx,r13d rol ecx,5 add edi,eax @@ -752,15 +756,15 @@ $L$loop:: add edi,ecx rol r12d,30 add edi,ebx - xor r14d,DWORD PTR[8+rsp] + xor r14d,DWORD[8+rsp] mov eax,r13d - mov DWORD PTR[4+rsp],ebp + mov DWORD[4+rsp],ebp mov ebx,r13d - xor r14d,DWORD PTR[16+rsp] + xor r14d,DWORD[16+rsp] and eax,r12d mov ecx,edi - xor r14d,DWORD PTR[40+rsp] - lea esi,DWORD PTR[((-1894007588))+rsi*1+rbp] + xor r14d,DWORD[40+rsp] + lea esi,[((-1894007588))+rsi*1+rbp] xor ebx,r12d rol ecx,5 add esi,eax @@ -769,15 +773,15 @@ $L$loop:: add esi,ecx rol r11d,30 add esi,ebx - xor edx,DWORD PTR[12+rsp] + xor edx,DWORD[12+rsp] mov eax,r12d - mov DWORD PTR[8+rsp],r14d + mov DWORD[8+rsp],r14d mov ebx,r12d - xor edx,DWORD PTR[20+rsp] + xor edx,DWORD[20+rsp] and eax,r11d mov ecx,esi - xor edx,DWORD PTR[44+rsp] - lea r13d,DWORD PTR[((-1894007588))+r13*1+r14] + xor edx,DWORD[44+rsp] + lea r13d,[((-1894007588))+r13*1+r14] xor ebx,r11d rol ecx,5 add r13d,eax @@ -786,15 +790,15 @@ $L$loop:: add r13d,ecx rol edi,30 add r13d,ebx - xor ebp,DWORD PTR[16+rsp] + xor ebp,DWORD[16+rsp] mov eax,r11d - mov DWORD PTR[12+rsp],edx + mov DWORD[12+rsp],edx mov ebx,r11d - xor ebp,DWORD PTR[24+rsp] + xor ebp,DWORD[24+rsp] and eax,edi mov ecx,r13d - xor ebp,DWORD PTR[48+rsp] - lea r12d,DWORD PTR[((-1894007588))+r12*1+rdx] + xor ebp,DWORD[48+rsp] + lea r12d,[((-1894007588))+r12*1+rdx] xor ebx,edi rol ecx,5 add r12d,eax @@ -803,15 +807,15 @@ $L$loop:: add r12d,ecx rol esi,30 add r12d,ebx - xor r14d,DWORD PTR[20+rsp] + xor r14d,DWORD[20+rsp] mov eax,edi - mov DWORD PTR[16+rsp],ebp + mov DWORD[16+rsp],ebp mov ebx,edi - xor r14d,DWORD PTR[28+rsp] + xor r14d,DWORD[28+rsp] and eax,esi mov ecx,r12d - xor r14d,DWORD PTR[52+rsp] - lea r11d,DWORD PTR[((-1894007588))+r11*1+rbp] + xor r14d,DWORD[52+rsp] + lea r11d,[((-1894007588))+r11*1+rbp] xor ebx,esi rol ecx,5 add r11d,eax @@ -820,15 +824,15 @@ $L$loop:: add r11d,ecx rol r13d,30 add r11d,ebx - xor edx,DWORD PTR[24+rsp] + xor edx,DWORD[24+rsp] mov eax,esi - mov DWORD PTR[20+rsp],r14d + mov DWORD[20+rsp],r14d mov ebx,esi - xor edx,DWORD PTR[32+rsp] + xor edx,DWORD[32+rsp] and eax,r13d mov ecx,r11d - xor edx,DWORD PTR[56+rsp] - lea edi,DWORD PTR[((-1894007588))+rdi*1+r14] + xor edx,DWORD[56+rsp] + lea edi,[((-1894007588))+rdi*1+r14] xor ebx,r13d rol ecx,5 add edi,eax @@ -837,15 +841,15 @@ $L$loop:: add edi,ecx rol r12d,30 add edi,ebx - xor ebp,DWORD PTR[28+rsp] + xor ebp,DWORD[28+rsp] mov eax,r13d - mov DWORD PTR[24+rsp],edx + mov DWORD[24+rsp],edx mov ebx,r13d - xor ebp,DWORD PTR[36+rsp] + xor ebp,DWORD[36+rsp] and eax,r12d mov ecx,edi - xor ebp,DWORD PTR[60+rsp] - lea esi,DWORD PTR[((-1894007588))+rsi*1+rdx] + xor ebp,DWORD[60+rsp] + lea esi,[((-1894007588))+rsi*1+rdx] xor ebx,r12d rol ecx,5 add esi,eax @@ -854,15 +858,15 @@ $L$loop:: add esi,ecx rol r11d,30 add esi,ebx - xor r14d,DWORD PTR[32+rsp] + xor r14d,DWORD[32+rsp] mov eax,r12d - mov DWORD PTR[28+rsp],ebp + mov DWORD[28+rsp],ebp mov ebx,r12d - xor r14d,DWORD PTR[40+rsp] + xor r14d,DWORD[40+rsp] and eax,r11d mov ecx,esi - xor r14d,DWORD PTR[rsp] - lea r13d,DWORD PTR[((-1894007588))+r13*1+rbp] + xor r14d,DWORD[rsp] + lea r13d,[((-1894007588))+r13*1+rbp] xor ebx,r11d rol ecx,5 add r13d,eax @@ -871,15 +875,15 @@ $L$loop:: add r13d,ecx rol edi,30 add r13d,ebx - xor edx,DWORD PTR[36+rsp] + xor edx,DWORD[36+rsp] mov eax,r11d - mov DWORD PTR[32+rsp],r14d + mov DWORD[32+rsp],r14d mov ebx,r11d - xor edx,DWORD PTR[44+rsp] + xor edx,DWORD[44+rsp] and eax,edi mov ecx,r13d - xor edx,DWORD PTR[4+rsp] - lea r12d,DWORD PTR[((-1894007588))+r12*1+r14] + xor edx,DWORD[4+rsp] + lea r12d,[((-1894007588))+r12*1+r14] xor ebx,edi rol ecx,5 add r12d,eax @@ -888,15 +892,15 @@ $L$loop:: add r12d,ecx rol esi,30 add r12d,ebx - xor ebp,DWORD PTR[40+rsp] + xor ebp,DWORD[40+rsp] mov eax,edi - mov DWORD PTR[36+rsp],edx + mov DWORD[36+rsp],edx mov ebx,edi - xor ebp,DWORD PTR[48+rsp] + xor ebp,DWORD[48+rsp] and eax,esi mov ecx,r12d - xor ebp,DWORD PTR[8+rsp] - lea r11d,DWORD PTR[((-1894007588))+r11*1+rdx] + xor ebp,DWORD[8+rsp] + lea r11d,[((-1894007588))+r11*1+rdx] xor ebx,esi rol ecx,5 add r11d,eax @@ -905,15 +909,15 @@ $L$loop:: add r11d,ecx rol r13d,30 add r11d,ebx - xor r14d,DWORD PTR[44+rsp] + xor r14d,DWORD[44+rsp] mov eax,esi - mov DWORD PTR[40+rsp],ebp + mov DWORD[40+rsp],ebp mov ebx,esi - xor r14d,DWORD PTR[52+rsp] + xor r14d,DWORD[52+rsp] and eax,r13d mov ecx,r11d - xor r14d,DWORD PTR[12+rsp] - lea edi,DWORD PTR[((-1894007588))+rdi*1+rbp] + xor r14d,DWORD[12+rsp] + lea edi,[((-1894007588))+rdi*1+rbp] xor ebx,r13d rol ecx,5 add edi,eax @@ -922,15 +926,15 @@ $L$loop:: add edi,ecx rol r12d,30 add edi,ebx - xor edx,DWORD PTR[48+rsp] + xor edx,DWORD[48+rsp] mov eax,r13d - mov DWORD PTR[44+rsp],r14d + mov DWORD[44+rsp],r14d mov ebx,r13d - xor edx,DWORD PTR[56+rsp] + xor edx,DWORD[56+rsp] and eax,r12d mov ecx,edi - xor edx,DWORD PTR[16+rsp] - lea esi,DWORD PTR[((-1894007588))+rsi*1+r14] + xor edx,DWORD[16+rsp] + lea esi,[((-1894007588))+rsi*1+r14] xor ebx,r12d rol ecx,5 add esi,eax @@ -939,267 +943,267 @@ $L$loop:: add esi,ecx rol r11d,30 add esi,ebx - xor ebp,DWORD PTR[52+rsp] + xor ebp,DWORD[52+rsp] mov eax,edi - mov DWORD PTR[48+rsp],edx + mov DWORD[48+rsp],edx mov ecx,esi - xor ebp,DWORD PTR[60+rsp] + xor ebp,DWORD[60+rsp] xor eax,r12d rol ecx,5 - xor ebp,DWORD PTR[20+rsp] - lea r13d,DWORD PTR[((-899497514))+r13*1+rdx] + 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 PTR[56+rsp] + xor r14d,DWORD[56+rsp] mov eax,esi - mov DWORD PTR[52+rsp],ebp + mov DWORD[52+rsp],ebp mov ecx,r13d - xor r14d,DWORD PTR[rsp] + xor r14d,DWORD[rsp] xor eax,r11d rol ecx,5 - xor r14d,DWORD PTR[24+rsp] - lea r12d,DWORD PTR[((-899497514))+r12*1+rbp] + 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 PTR[60+rsp] + xor edx,DWORD[60+rsp] mov eax,r13d - mov DWORD PTR[56+rsp],r14d + mov DWORD[56+rsp],r14d mov ecx,r12d - xor edx,DWORD PTR[4+rsp] + xor edx,DWORD[4+rsp] xor eax,edi rol ecx,5 - xor edx,DWORD PTR[28+rsp] - lea r11d,DWORD PTR[((-899497514))+r11*1+r14] + 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 PTR[rsp] + xor ebp,DWORD[rsp] mov eax,r12d - mov DWORD PTR[60+rsp],edx + mov DWORD[60+rsp],edx mov ecx,r11d - xor ebp,DWORD PTR[8+rsp] + xor ebp,DWORD[8+rsp] xor eax,esi rol ecx,5 - xor ebp,DWORD PTR[32+rsp] - lea edi,DWORD PTR[((-899497514))+rdi*1+rdx] + 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 PTR[4+rsp] + xor r14d,DWORD[4+rsp] mov eax,r11d - mov DWORD PTR[rsp],ebp + mov DWORD[rsp],ebp mov ecx,edi - xor r14d,DWORD PTR[12+rsp] + xor r14d,DWORD[12+rsp] xor eax,r13d rol ecx,5 - xor r14d,DWORD PTR[36+rsp] - lea esi,DWORD PTR[((-899497514))+rsi*1+rbp] + 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 PTR[8+rsp] + xor edx,DWORD[8+rsp] mov eax,edi - mov DWORD PTR[4+rsp],r14d + mov DWORD[4+rsp],r14d mov ecx,esi - xor edx,DWORD PTR[16+rsp] + xor edx,DWORD[16+rsp] xor eax,r12d rol ecx,5 - xor edx,DWORD PTR[40+rsp] - lea r13d,DWORD PTR[((-899497514))+r13*1+r14] + 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 PTR[12+rsp] + xor ebp,DWORD[12+rsp] mov eax,esi - mov DWORD PTR[8+rsp],edx + mov DWORD[8+rsp],edx mov ecx,r13d - xor ebp,DWORD PTR[20+rsp] + xor ebp,DWORD[20+rsp] xor eax,r11d rol ecx,5 - xor ebp,DWORD PTR[44+rsp] - lea r12d,DWORD PTR[((-899497514))+r12*1+rdx] + 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 PTR[16+rsp] + xor r14d,DWORD[16+rsp] mov eax,r13d - mov DWORD PTR[12+rsp],ebp + mov DWORD[12+rsp],ebp mov ecx,r12d - xor r14d,DWORD PTR[24+rsp] + xor r14d,DWORD[24+rsp] xor eax,edi rol ecx,5 - xor r14d,DWORD PTR[48+rsp] - lea r11d,DWORD PTR[((-899497514))+r11*1+rbp] + 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 PTR[20+rsp] + xor edx,DWORD[20+rsp] mov eax,r12d - mov DWORD PTR[16+rsp],r14d + mov DWORD[16+rsp],r14d mov ecx,r11d - xor edx,DWORD PTR[28+rsp] + xor edx,DWORD[28+rsp] xor eax,esi rol ecx,5 - xor edx,DWORD PTR[52+rsp] - lea edi,DWORD PTR[((-899497514))+rdi*1+r14] + 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 PTR[24+rsp] + xor ebp,DWORD[24+rsp] mov eax,r11d - mov DWORD PTR[20+rsp],edx + mov DWORD[20+rsp],edx mov ecx,edi - xor ebp,DWORD PTR[32+rsp] + xor ebp,DWORD[32+rsp] xor eax,r13d rol ecx,5 - xor ebp,DWORD PTR[56+rsp] - lea esi,DWORD PTR[((-899497514))+rsi*1+rdx] + 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 PTR[28+rsp] + xor r14d,DWORD[28+rsp] mov eax,edi - mov DWORD PTR[24+rsp],ebp + mov DWORD[24+rsp],ebp mov ecx,esi - xor r14d,DWORD PTR[36+rsp] + xor r14d,DWORD[36+rsp] xor eax,r12d rol ecx,5 - xor r14d,DWORD PTR[60+rsp] - lea r13d,DWORD PTR[((-899497514))+r13*1+rbp] + 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 PTR[32+rsp] + xor edx,DWORD[32+rsp] mov eax,esi - mov DWORD PTR[28+rsp],r14d + mov DWORD[28+rsp],r14d mov ecx,r13d - xor edx,DWORD PTR[40+rsp] + xor edx,DWORD[40+rsp] xor eax,r11d rol ecx,5 - xor edx,DWORD PTR[rsp] - lea r12d,DWORD PTR[((-899497514))+r12*1+r14] + 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 PTR[36+rsp] + xor ebp,DWORD[36+rsp] mov eax,r13d mov ecx,r12d - xor ebp,DWORD PTR[44+rsp] + xor ebp,DWORD[44+rsp] xor eax,edi rol ecx,5 - xor ebp,DWORD PTR[4+rsp] - lea r11d,DWORD PTR[((-899497514))+r11*1+rdx] + 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 PTR[40+rsp] + xor r14d,DWORD[40+rsp] mov eax,r12d mov ecx,r11d - xor r14d,DWORD PTR[48+rsp] + xor r14d,DWORD[48+rsp] xor eax,esi rol ecx,5 - xor r14d,DWORD PTR[8+rsp] - lea edi,DWORD PTR[((-899497514))+rdi*1+rbp] + 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 PTR[44+rsp] + xor edx,DWORD[44+rsp] mov eax,r11d mov ecx,edi - xor edx,DWORD PTR[52+rsp] + xor edx,DWORD[52+rsp] xor eax,r13d rol ecx,5 - xor edx,DWORD PTR[12+rsp] - lea esi,DWORD PTR[((-899497514))+rsi*1+r14] + 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 PTR[48+rsp] + xor ebp,DWORD[48+rsp] mov eax,edi mov ecx,esi - xor ebp,DWORD PTR[56+rsp] + xor ebp,DWORD[56+rsp] xor eax,r12d rol ecx,5 - xor ebp,DWORD PTR[16+rsp] - lea r13d,DWORD PTR[((-899497514))+r13*1+rdx] + 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 PTR[52+rsp] + xor r14d,DWORD[52+rsp] mov eax,esi mov ecx,r13d - xor r14d,DWORD PTR[60+rsp] + xor r14d,DWORD[60+rsp] xor eax,r11d rol ecx,5 - xor r14d,DWORD PTR[20+rsp] - lea r12d,DWORD PTR[((-899497514))+r12*1+rbp] + 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 PTR[56+rsp] + xor edx,DWORD[56+rsp] mov eax,r13d mov ecx,r12d - xor edx,DWORD PTR[rsp] + xor edx,DWORD[rsp] xor eax,edi rol ecx,5 - xor edx,DWORD PTR[24+rsp] - lea r11d,DWORD PTR[((-899497514))+r11*1+r14] + 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 PTR[60+rsp] + xor ebp,DWORD[60+rsp] mov eax,r12d mov ecx,r11d - xor ebp,DWORD PTR[4+rsp] + xor ebp,DWORD[4+rsp] xor eax,esi rol ecx,5 - xor ebp,DWORD PTR[28+rsp] - lea edi,DWORD PTR[((-899497514))+rdi*1+rdx] + xor ebp,DWORD[28+rsp] + lea edi,[((-899497514))+rdi*1+rdx] xor eax,r13d add edi,ecx rol r12d,30 @@ -1208,67 +1212,66 @@ $L$loop:: mov eax,r11d mov ecx,edi xor eax,r13d - lea esi,DWORD PTR[((-899497514))+rsi*1+rbp] + lea esi,[((-899497514))+rsi*1+rbp] rol ecx,5 xor eax,r12d add esi,ecx rol r11d,30 add esi,eax - add esi,DWORD PTR[r8] - add edi,DWORD PTR[4+r8] - add r11d,DWORD PTR[8+r8] - add r12d,DWORD PTR[12+r8] - add r13d,DWORD PTR[16+r8] - mov DWORD PTR[r8],esi - mov DWORD PTR[4+r8],edi - mov DWORD PTR[8+r8],r11d - mov DWORD PTR[12+r8],r12d - mov DWORD PTR[16+r8],r13d + 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,QWORD PTR[64+r9] - jnz $L$loop + lea r9,[64+r9] + jnz NEAR $L$loop - mov rsi,QWORD PTR[64+rsp] - mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] -$L$epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + 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:: -sha1_block_data_order ENDP +$L$SEH_end_sha1_block_data_order: ALIGN 16 -sha1_block_data_order_ssse3 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +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:: +$L$SEH_begin_sha1_block_data_order_ssse3: mov rdi,rcx mov rsi,rdx mov rdx,r8 -_ssse3_shortcut:: +_ssse3_shortcut: mov rax,rsp push rbx push rbp push r12 push r13 push r14 - lea rsp,QWORD PTR[((-160))+rsp] - movaps XMMWORD PTR[(-40-96)+rax],xmm6 - movaps XMMWORD PTR[(-40-80)+rax],xmm7 - movaps XMMWORD PTR[(-40-64)+rax],xmm8 - movaps XMMWORD PTR[(-40-48)+rax],xmm9 - movaps XMMWORD PTR[(-40-32)+rax],xmm10 - movaps XMMWORD PTR[(-40-16)+rax],xmm11 -$L$prologue_ssse3:: + lea rsp,[((-160))+rsp] + movaps XMMWORD[(-40-96)+rax],xmm6 + movaps XMMWORD[(-40-80)+rax],xmm7 + movaps XMMWORD[(-40-64)+rax],xmm8 + movaps XMMWORD[(-40-48)+rax],xmm9 + movaps XMMWORD[(-40-32)+rax],xmm10 + movaps XMMWORD[(-40-16)+rax],xmm11 +$L$prologue_ssse3: mov r14,rax and rsp,-64 mov r8,rdi @@ -1277,24 +1280,24 @@ $L$prologue_ssse3:: shl r10,6 add r10,r9 - lea r11,QWORD PTR[((K_XX_XX+64))] + lea r11,[((K_XX_XX+64))] - mov eax,DWORD PTR[r8] - mov ebx,DWORD PTR[4+r8] - mov ecx,DWORD PTR[8+r8] - mov edx,DWORD PTR[12+r8] + 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 PTR[16+r8] + mov ebp,DWORD[16+r8] mov edi,ecx xor edi,edx and esi,edi - movdqa xmm6,XMMWORD PTR[64+r11] - movdqa xmm9,XMMWORD PTR[((-64))+r11] - movdqu xmm0,XMMWORD PTR[r9] - movdqu xmm1,XMMWORD PTR[16+r9] - movdqu xmm2,XMMWORD PTR[32+r9] - movdqu xmm3,XMMWORD PTR[48+r9] + movdqa xmm6,XMMWORD[64+r11] + movdqa xmm9,XMMWORD[((-64))+r11] + movdqu xmm0,XMMWORD[r9] + movdqu xmm1,XMMWORD[16+r9] + movdqu xmm2,XMMWORD[32+r9] + movdqu xmm3,XMMWORD[48+r9] DB 102,15,56,0,198 DB 102,15,56,0,206 DB 102,15,56,0,214 @@ -1303,22 +1306,22 @@ DB 102,15,56,0,214 DB 102,15,56,0,222 paddd xmm1,xmm9 paddd xmm2,xmm9 - movdqa XMMWORD PTR[rsp],xmm0 + movdqa XMMWORD[rsp],xmm0 psubd xmm0,xmm9 - movdqa XMMWORD PTR[16+rsp],xmm1 + movdqa XMMWORD[16+rsp],xmm1 psubd xmm1,xmm9 - movdqa XMMWORD PTR[32+rsp],xmm2 + movdqa XMMWORD[32+rsp],xmm2 psubd xmm2,xmm9 - jmp $L$oop_ssse3 + jmp NEAR $L$oop_ssse3 ALIGN 16 -$L$oop_ssse3:: +$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 PTR[rsp] + add ebp,DWORD[rsp] punpcklqdq xmm4,xmm1 xor ebx,ecx rol eax,5 @@ -1332,11 +1335,11 @@ $L$oop_ssse3:: pxor xmm8,xmm2 xor edi,ecx mov esi,ebp - add edx,DWORD PTR[4+rsp] + add edx,DWORD[4+rsp] pxor xmm4,xmm8 xor eax,ebx rol ebp,5 - movdqa XMMWORD PTR[48+rsp],xmm9 + movdqa XMMWORD[48+rsp],xmm9 add edx,edi and esi,eax movdqa xmm10,xmm4 @@ -1348,7 +1351,7 @@ $L$oop_ssse3:: pslldq xmm10,12 paddd xmm4,xmm4 mov edi,edx - add ecx,DWORD PTR[8+rsp] + add ecx,DWORD[8+rsp] psrld xmm8,31 xor ebp,eax rol edx,5 @@ -1362,11 +1365,11 @@ $L$oop_ssse3:: por xmm4,xmm8 xor edi,eax mov esi,ecx - add ebx,DWORD PTR[12+rsp] + add ebx,DWORD[12+rsp] pslld xmm9,2 pxor xmm4,xmm10 xor edx,ebp - movdqa xmm10,XMMWORD PTR[((-64))+r11] + movdqa xmm10,XMMWORD[((-64))+r11] rol ecx,5 add ebx,edi and esi,edx @@ -1379,7 +1382,7 @@ $L$oop_ssse3:: movdqa xmm9,xmm4 paddd xmm10,xmm4 mov edi,ebx - add eax,DWORD PTR[16+rsp] + add eax,DWORD[16+rsp] punpcklqdq xmm5,xmm2 xor ecx,edx rol ebx,5 @@ -1393,11 +1396,11 @@ $L$oop_ssse3:: pxor xmm9,xmm3 xor edi,edx mov esi,eax - add ebp,DWORD PTR[20+rsp] + add ebp,DWORD[20+rsp] pxor xmm5,xmm9 xor ebx,ecx rol eax,5 - movdqa XMMWORD PTR[rsp],xmm10 + movdqa XMMWORD[rsp],xmm10 add ebp,edi and esi,ebx movdqa xmm8,xmm5 @@ -1409,7 +1412,7 @@ $L$oop_ssse3:: pslldq xmm8,12 paddd xmm5,xmm5 mov edi,ebp - add edx,DWORD PTR[24+rsp] + add edx,DWORD[24+rsp] psrld xmm9,31 xor eax,ebx rol ebp,5 @@ -1423,11 +1426,11 @@ $L$oop_ssse3:: por xmm5,xmm9 xor edi,ebx mov esi,edx - add ecx,DWORD PTR[28+rsp] + add ecx,DWORD[28+rsp] pslld xmm10,2 pxor xmm5,xmm8 xor ebp,eax - movdqa xmm8,XMMWORD PTR[((-32))+r11] + movdqa xmm8,XMMWORD[((-32))+r11] rol edx,5 add ecx,edi and esi,ebp @@ -1440,7 +1443,7 @@ $L$oop_ssse3:: movdqa xmm10,xmm5 paddd xmm8,xmm5 mov edi,ecx - add ebx,DWORD PTR[32+rsp] + add ebx,DWORD[32+rsp] punpcklqdq xmm6,xmm3 xor edx,ebp rol ecx,5 @@ -1454,11 +1457,11 @@ $L$oop_ssse3:: pxor xmm10,xmm4 xor edi,ebp mov esi,ebx - add eax,DWORD PTR[36+rsp] + add eax,DWORD[36+rsp] pxor xmm6,xmm10 xor ecx,edx rol ebx,5 - movdqa XMMWORD PTR[16+rsp],xmm8 + movdqa XMMWORD[16+rsp],xmm8 add eax,edi and esi,ecx movdqa xmm9,xmm6 @@ -1470,7 +1473,7 @@ $L$oop_ssse3:: pslldq xmm9,12 paddd xmm6,xmm6 mov edi,eax - add ebp,DWORD PTR[40+rsp] + add ebp,DWORD[40+rsp] psrld xmm10,31 xor ebx,ecx rol eax,5 @@ -1484,11 +1487,11 @@ $L$oop_ssse3:: por xmm6,xmm10 xor edi,ecx mov esi,ebp - add edx,DWORD PTR[44+rsp] + add edx,DWORD[44+rsp] pslld xmm8,2 pxor xmm6,xmm9 xor eax,ebx - movdqa xmm9,XMMWORD PTR[((-32))+r11] + movdqa xmm9,XMMWORD[((-32))+r11] rol ebp,5 add edx,edi and esi,eax @@ -1501,7 +1504,7 @@ $L$oop_ssse3:: movdqa xmm8,xmm6 paddd xmm9,xmm6 mov edi,edx - add ecx,DWORD PTR[48+rsp] + add ecx,DWORD[48+rsp] punpcklqdq xmm7,xmm4 xor ebp,eax rol edx,5 @@ -1515,11 +1518,11 @@ $L$oop_ssse3:: pxor xmm8,xmm5 xor edi,eax mov esi,ecx - add ebx,DWORD PTR[52+rsp] + add ebx,DWORD[52+rsp] pxor xmm7,xmm8 xor edx,ebp rol ecx,5 - movdqa XMMWORD PTR[32+rsp],xmm9 + movdqa XMMWORD[32+rsp],xmm9 add ebx,edi and esi,edx movdqa xmm10,xmm7 @@ -1531,7 +1534,7 @@ $L$oop_ssse3:: pslldq xmm10,12 paddd xmm7,xmm7 mov edi,ebx - add eax,DWORD PTR[56+rsp] + add eax,DWORD[56+rsp] psrld xmm8,31 xor ecx,edx rol ebx,5 @@ -1545,11 +1548,11 @@ $L$oop_ssse3:: por xmm7,xmm8 xor edi,edx mov esi,eax - add ebp,DWORD PTR[60+rsp] + add ebp,DWORD[60+rsp] pslld xmm9,2 pxor xmm7,xmm10 xor ebx,ecx - movdqa xmm10,XMMWORD PTR[((-32))+r11] + movdqa xmm10,XMMWORD[((-32))+r11] rol eax,5 add ebp,edi and esi,ebx @@ -1561,7 +1564,7 @@ $L$oop_ssse3:: pxor xmm0,xmm4 xor esi,ecx mov edi,ebp - add edx,DWORD PTR[rsp] + add edx,DWORD[rsp] punpcklqdq xmm9,xmm7 xor eax,ebx rol ebp,5 @@ -1576,11 +1579,11 @@ $L$oop_ssse3:: ror ebp,7 xor edi,ebx mov esi,edx - add ecx,DWORD PTR[4+rsp] + add ecx,DWORD[4+rsp] movdqa xmm9,xmm0 xor ebp,eax rol edx,5 - movdqa XMMWORD PTR[48+rsp],xmm10 + movdqa XMMWORD[48+rsp],xmm10 add ecx,edi and esi,ebp xor ebp,eax @@ -1590,7 +1593,7 @@ $L$oop_ssse3:: psrld xmm9,30 xor esi,eax mov edi,ecx - add ebx,DWORD PTR[8+rsp] + add ebx,DWORD[8+rsp] por xmm0,xmm9 xor edx,ebp rol ecx,5 @@ -1599,7 +1602,7 @@ $L$oop_ssse3:: and edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[12+rsp] + add eax,DWORD[12+rsp] xor edi,ebp mov esi,ebx rol ebx,5 @@ -1608,7 +1611,7 @@ $L$oop_ssse3:: ror ecx,7 add eax,ebx pxor xmm1,xmm5 - add ebp,DWORD PTR[16+rsp] + add ebp,DWORD[16+rsp] xor esi,ecx punpcklqdq xmm10,xmm0 mov edi,eax @@ -1621,17 +1624,17 @@ $L$oop_ssse3:: paddd xmm8,xmm0 add ebp,eax pxor xmm1,xmm10 - add edx,DWORD PTR[20+rsp] + 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 PTR[rsp],xmm8 + movdqa XMMWORD[rsp],xmm8 ror eax,7 add edx,ebp - add ecx,DWORD PTR[24+rsp] + add ecx,DWORD[24+rsp] pslld xmm1,2 xor esi,eax mov edi,edx @@ -1642,7 +1645,7 @@ $L$oop_ssse3:: ror ebp,7 por xmm1,xmm10 add ecx,edx - add ebx,DWORD PTR[28+rsp] + add ebx,DWORD[28+rsp] pshufd xmm8,xmm0,238 xor edi,ebp mov esi,ecx @@ -1652,7 +1655,7 @@ $L$oop_ssse3:: ror edx,7 add ebx,ecx pxor xmm2,xmm6 - add eax,DWORD PTR[32+rsp] + add eax,DWORD[32+rsp] xor esi,edx punpcklqdq xmm8,xmm1 mov edi,ebx @@ -1660,22 +1663,22 @@ $L$oop_ssse3:: pxor xmm2,xmm3 add eax,esi xor edi,edx - movdqa xmm10,XMMWORD PTR[r11] + movdqa xmm10,XMMWORD[r11] ror ecx,7 paddd xmm9,xmm1 add eax,ebx pxor xmm2,xmm8 - add ebp,DWORD PTR[36+rsp] + 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 PTR[16+rsp],xmm9 + movdqa XMMWORD[16+rsp],xmm9 ror ebx,7 add ebp,eax - add edx,DWORD PTR[40+rsp] + add edx,DWORD[40+rsp] pslld xmm2,2 xor esi,ebx mov edi,ebp @@ -1686,7 +1689,7 @@ $L$oop_ssse3:: ror eax,7 por xmm2,xmm8 add edx,ebp - add ecx,DWORD PTR[44+rsp] + add ecx,DWORD[44+rsp] pshufd xmm9,xmm1,238 xor edi,eax mov esi,edx @@ -1696,7 +1699,7 @@ $L$oop_ssse3:: ror ebp,7 add ecx,edx pxor xmm3,xmm7 - add ebx,DWORD PTR[48+rsp] + add ebx,DWORD[48+rsp] xor esi,ebp punpcklqdq xmm9,xmm2 mov edi,ecx @@ -1709,17 +1712,17 @@ $L$oop_ssse3:: paddd xmm10,xmm2 add ebx,ecx pxor xmm3,xmm9 - add eax,DWORD PTR[52+rsp] + 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 PTR[32+rsp],xmm10 + movdqa XMMWORD[32+rsp],xmm10 ror ecx,7 add eax,ebx - add ebp,DWORD PTR[56+rsp] + add ebp,DWORD[56+rsp] pslld xmm3,2 xor esi,ecx mov edi,eax @@ -1730,7 +1733,7 @@ $L$oop_ssse3:: ror ebx,7 por xmm3,xmm9 add ebp,eax - add edx,DWORD PTR[60+rsp] + add edx,DWORD[60+rsp] pshufd xmm10,xmm2,238 xor edi,ebx mov esi,ebp @@ -1740,7 +1743,7 @@ $L$oop_ssse3:: ror eax,7 add edx,ebp pxor xmm4,xmm0 - add ecx,DWORD PTR[rsp] + add ecx,DWORD[rsp] xor esi,eax punpcklqdq xmm10,xmm3 mov edi,edx @@ -1753,17 +1756,17 @@ $L$oop_ssse3:: paddd xmm8,xmm3 add ecx,edx pxor xmm4,xmm10 - add ebx,DWORD PTR[4+rsp] + 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 PTR[48+rsp],xmm8 + movdqa XMMWORD[48+rsp],xmm8 ror edx,7 add ebx,ecx - add eax,DWORD PTR[8+rsp] + add eax,DWORD[8+rsp] pslld xmm4,2 xor esi,edx mov edi,ebx @@ -1774,7 +1777,7 @@ $L$oop_ssse3:: ror ecx,7 por xmm4,xmm10 add eax,ebx - add ebp,DWORD PTR[12+rsp] + add ebp,DWORD[12+rsp] pshufd xmm8,xmm3,238 xor edi,ecx mov esi,eax @@ -1784,7 +1787,7 @@ $L$oop_ssse3:: ror ebx,7 add ebp,eax pxor xmm5,xmm1 - add edx,DWORD PTR[16+rsp] + add edx,DWORD[16+rsp] xor esi,ebx punpcklqdq xmm8,xmm4 mov edi,ebp @@ -1797,17 +1800,17 @@ $L$oop_ssse3:: paddd xmm9,xmm4 add edx,ebp pxor xmm5,xmm8 - add ecx,DWORD PTR[20+rsp] + 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 PTR[rsp],xmm9 + movdqa XMMWORD[rsp],xmm9 ror ebp,7 add ecx,edx - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD[24+rsp] pslld xmm5,2 xor esi,ebp mov edi,ecx @@ -1818,7 +1821,7 @@ $L$oop_ssse3:: ror edx,7 por xmm5,xmm8 add ebx,ecx - add eax,DWORD PTR[28+rsp] + add eax,DWORD[28+rsp] pshufd xmm9,xmm4,238 ror ecx,7 mov esi,ebx @@ -1829,7 +1832,7 @@ $L$oop_ssse3:: xor ecx,edx add eax,ebx pxor xmm6,xmm2 - add ebp,DWORD PTR[32+rsp] + add ebp,DWORD[32+rsp] and esi,ecx xor ecx,edx ror ebx,7 @@ -1845,14 +1848,14 @@ $L$oop_ssse3:: xor ebx,ecx pxor xmm6,xmm9 add ebp,eax - add edx,DWORD PTR[36+rsp] + 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 PTR[16+rsp],xmm10 + movdqa XMMWORD[16+rsp],xmm10 rol ebp,5 add edx,edi xor esi,eax @@ -1860,7 +1863,7 @@ $L$oop_ssse3:: xor eax,ebx add edx,ebp psrld xmm9,30 - add ecx,DWORD PTR[40+rsp] + add ecx,DWORD[40+rsp] and esi,eax xor eax,ebx por xmm6,xmm9 @@ -1873,7 +1876,7 @@ $L$oop_ssse3:: xor edi,ebp xor ebp,eax add ecx,edx - add ebx,DWORD PTR[44+rsp] + add ebx,DWORD[44+rsp] and edi,ebp xor ebp,eax ror edx,7 @@ -1885,7 +1888,7 @@ $L$oop_ssse3:: xor edx,ebp add ebx,ecx pxor xmm7,xmm3 - add eax,DWORD PTR[48+rsp] + add eax,DWORD[48+rsp] and esi,edx xor edx,ebp ror ecx,7 @@ -1895,20 +1898,20 @@ $L$oop_ssse3:: pxor xmm7,xmm0 rol ebx,5 add eax,esi - movdqa xmm9,XMMWORD PTR[32+r11] + movdqa xmm9,XMMWORD[32+r11] xor edi,ecx paddd xmm8,xmm6 xor ecx,edx pxor xmm7,xmm10 add eax,ebx - add ebp,DWORD PTR[52+rsp] + 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 PTR[32+rsp],xmm8 + movdqa XMMWORD[32+rsp],xmm8 rol eax,5 add ebp,edi xor esi,ebx @@ -1916,7 +1919,7 @@ $L$oop_ssse3:: xor ebx,ecx add ebp,eax psrld xmm10,30 - add edx,DWORD PTR[56+rsp] + add edx,DWORD[56+rsp] and esi,ebx xor ebx,ecx por xmm7,xmm10 @@ -1929,7 +1932,7 @@ $L$oop_ssse3:: xor edi,eax xor eax,ebx add edx,ebp - add ecx,DWORD PTR[60+rsp] + add ecx,DWORD[60+rsp] and edi,eax xor eax,ebx ror ebp,7 @@ -1941,7 +1944,7 @@ $L$oop_ssse3:: xor ebp,eax add ecx,edx pxor xmm0,xmm4 - add ebx,DWORD PTR[rsp] + add ebx,DWORD[rsp] and esi,ebp xor ebp,eax ror edx,7 @@ -1957,14 +1960,14 @@ $L$oop_ssse3:: xor edx,ebp pxor xmm0,xmm8 add ebx,ecx - add eax,DWORD PTR[4+rsp] + 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 PTR[48+rsp],xmm9 + movdqa XMMWORD[48+rsp],xmm9 rol ebx,5 add eax,edi xor esi,ecx @@ -1972,7 +1975,7 @@ $L$oop_ssse3:: xor ecx,edx add eax,ebx psrld xmm8,30 - add ebp,DWORD PTR[8+rsp] + add ebp,DWORD[8+rsp] and esi,ecx xor ecx,edx por xmm0,xmm8 @@ -1985,7 +1988,7 @@ $L$oop_ssse3:: xor edi,ebx xor ebx,ecx add ebp,eax - add edx,DWORD PTR[12+rsp] + add edx,DWORD[12+rsp] and edi,ebx xor ebx,ecx ror eax,7 @@ -1997,7 +2000,7 @@ $L$oop_ssse3:: xor eax,ebx add edx,ebp pxor xmm1,xmm5 - add ecx,DWORD PTR[16+rsp] + add ecx,DWORD[16+rsp] and esi,eax xor eax,ebx ror ebp,7 @@ -2013,14 +2016,14 @@ $L$oop_ssse3:: xor ebp,eax pxor xmm1,xmm9 add ecx,edx - add ebx,DWORD PTR[20+rsp] + 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 PTR[rsp],xmm10 + movdqa XMMWORD[rsp],xmm10 rol ecx,5 add ebx,edi xor esi,edx @@ -2028,7 +2031,7 @@ $L$oop_ssse3:: xor edx,ebp add ebx,ecx psrld xmm9,30 - add eax,DWORD PTR[24+rsp] + add eax,DWORD[24+rsp] and esi,edx xor edx,ebp por xmm1,xmm9 @@ -2041,7 +2044,7 @@ $L$oop_ssse3:: xor edi,ecx xor ecx,edx add eax,ebx - add ebp,DWORD PTR[28+rsp] + add ebp,DWORD[28+rsp] and edi,ecx xor ecx,edx ror ebx,7 @@ -2053,7 +2056,7 @@ $L$oop_ssse3:: xor ebx,ecx add ebp,eax pxor xmm2,xmm6 - add edx,DWORD PTR[32+rsp] + add edx,DWORD[32+rsp] and esi,ebx xor ebx,ecx ror eax,7 @@ -2069,14 +2072,14 @@ $L$oop_ssse3:: xor eax,ebx pxor xmm2,xmm10 add edx,ebp - add ecx,DWORD PTR[36+rsp] + 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 PTR[16+rsp],xmm8 + movdqa XMMWORD[16+rsp],xmm8 rol edx,5 add ecx,edi xor esi,ebp @@ -2084,7 +2087,7 @@ $L$oop_ssse3:: xor ebp,eax add ecx,edx psrld xmm10,30 - add ebx,DWORD PTR[40+rsp] + add ebx,DWORD[40+rsp] and esi,ebp xor ebp,eax por xmm2,xmm10 @@ -2097,7 +2100,7 @@ $L$oop_ssse3:: xor edi,edx xor edx,ebp add ebx,ecx - add eax,DWORD PTR[44+rsp] + add eax,DWORD[44+rsp] and edi,edx xor edx,ebp ror ecx,7 @@ -2108,7 +2111,7 @@ $L$oop_ssse3:: xor esi,edx add eax,ebx pxor xmm3,xmm7 - add ebp,DWORD PTR[48+rsp] + add ebp,DWORD[48+rsp] xor esi,ecx punpcklqdq xmm8,xmm2 mov edi,eax @@ -2121,17 +2124,17 @@ $L$oop_ssse3:: paddd xmm9,xmm2 add ebp,eax pxor xmm3,xmm8 - add edx,DWORD PTR[52+rsp] + 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 PTR[32+rsp],xmm9 + movdqa XMMWORD[32+rsp],xmm9 ror eax,7 add edx,ebp - add ecx,DWORD PTR[56+rsp] + add ecx,DWORD[56+rsp] pslld xmm3,2 xor esi,eax mov edi,edx @@ -2142,7 +2145,7 @@ $L$oop_ssse3:: ror ebp,7 por xmm3,xmm8 add ecx,edx - add ebx,DWORD PTR[60+rsp] + add ebx,DWORD[60+rsp] xor edi,ebp mov esi,ecx rol ecx,5 @@ -2150,17 +2153,17 @@ $L$oop_ssse3:: xor esi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[rsp] + add eax,DWORD[rsp] xor esi,edx mov edi,ebx rol ebx,5 paddd xmm10,xmm3 add eax,esi xor edi,edx - movdqa XMMWORD PTR[48+rsp],xmm10 + movdqa XMMWORD[48+rsp],xmm10 ror ecx,7 add eax,ebx - add ebp,DWORD PTR[4+rsp] + add ebp,DWORD[4+rsp] xor edi,ecx mov esi,eax rol eax,5 @@ -2168,7 +2171,7 @@ $L$oop_ssse3:: xor esi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[8+rsp] + add edx,DWORD[8+rsp] xor esi,ebx mov edi,ebp rol ebp,5 @@ -2176,7 +2179,7 @@ $L$oop_ssse3:: xor edi,ebx ror eax,7 add edx,ebp - add ecx,DWORD PTR[12+rsp] + add ecx,DWORD[12+rsp] xor edi,eax mov esi,edx rol edx,5 @@ -2185,16 +2188,16 @@ $L$oop_ssse3:: ror ebp,7 add ecx,edx cmp r9,r10 - je $L$done_ssse3 - movdqa xmm6,XMMWORD PTR[64+r11] - movdqa xmm9,XMMWORD PTR[((-64))+r11] - movdqu xmm0,XMMWORD PTR[r9] - movdqu xmm1,XMMWORD PTR[16+r9] - movdqu xmm2,XMMWORD PTR[32+r9] - movdqu xmm3,XMMWORD PTR[48+r9] + je NEAR $L$done_ssse3 + movdqa xmm6,XMMWORD[64+r11] + movdqa xmm9,XMMWORD[((-64))+r11] + movdqu xmm0,XMMWORD[r9] + movdqu xmm1,XMMWORD[16+r9] + movdqu xmm2,XMMWORD[32+r9] + movdqu xmm3,XMMWORD[48+r9] DB 102,15,56,0,198 add r9,64 - add ebx,DWORD PTR[16+rsp] + add ebx,DWORD[16+rsp] xor esi,ebp mov edi,ecx DB 102,15,56,0,206 @@ -2204,17 +2207,17 @@ DB 102,15,56,0,206 ror edx,7 paddd xmm0,xmm9 add ebx,ecx - add eax,DWORD PTR[20+rsp] + add eax,DWORD[20+rsp] xor edi,edx mov esi,ebx - movdqa XMMWORD PTR[rsp],xmm0 + 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 PTR[24+rsp] + add ebp,DWORD[24+rsp] xor esi,ecx mov edi,eax rol eax,5 @@ -2222,7 +2225,7 @@ DB 102,15,56,0,206 xor edi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[28+rsp] + add edx,DWORD[28+rsp] xor edi,ebx mov esi,ebp rol ebp,5 @@ -2230,7 +2233,7 @@ DB 102,15,56,0,206 xor esi,ebx ror eax,7 add edx,ebp - add ecx,DWORD PTR[32+rsp] + add ecx,DWORD[32+rsp] xor esi,eax mov edi,edx DB 102,15,56,0,214 @@ -2240,17 +2243,17 @@ DB 102,15,56,0,214 ror ebp,7 paddd xmm1,xmm9 add ecx,edx - add ebx,DWORD PTR[36+rsp] + add ebx,DWORD[36+rsp] xor edi,ebp mov esi,ecx - movdqa XMMWORD PTR[16+rsp],xmm1 + 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 PTR[40+rsp] + add eax,DWORD[40+rsp] xor esi,edx mov edi,ebx rol ebx,5 @@ -2258,7 +2261,7 @@ DB 102,15,56,0,214 xor edi,edx ror ecx,7 add eax,ebx - add ebp,DWORD PTR[44+rsp] + add ebp,DWORD[44+rsp] xor edi,ecx mov esi,eax rol eax,5 @@ -2266,7 +2269,7 @@ DB 102,15,56,0,214 xor esi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD[48+rsp] xor esi,ebx mov edi,ebp DB 102,15,56,0,222 @@ -2276,17 +2279,17 @@ DB 102,15,56,0,222 ror eax,7 paddd xmm2,xmm9 add edx,ebp - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD[52+rsp] xor edi,eax mov esi,edx - movdqa XMMWORD PTR[32+rsp],xmm2 + 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 PTR[56+rsp] + add ebx,DWORD[56+rsp] xor esi,ebp mov edi,ecx rol ecx,5 @@ -2294,32 +2297,32 @@ DB 102,15,56,0,222 xor edi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[60+rsp] + 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 PTR[r8] - add esi,DWORD PTR[4+r8] - add ecx,DWORD PTR[8+r8] - add edx,DWORD PTR[12+r8] - mov DWORD PTR[r8],eax - add ebp,DWORD PTR[16+r8] - mov DWORD PTR[4+r8],esi + 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 PTR[8+r8],ecx + mov DWORD[8+r8],ecx mov edi,ecx - mov DWORD PTR[12+r8],edx + mov DWORD[12+r8],edx xor edi,edx - mov DWORD PTR[16+r8],ebp + mov DWORD[16+r8],ebp and esi,edi - jmp $L$oop_ssse3 + jmp NEAR $L$oop_ssse3 ALIGN 16 -$L$done_ssse3:: - add ebx,DWORD PTR[16+rsp] +$L$done_ssse3: + add ebx,DWORD[16+rsp] xor esi,ebp mov edi,ecx rol ecx,5 @@ -2327,7 +2330,7 @@ $L$done_ssse3:: xor edi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[20+rsp] + add eax,DWORD[20+rsp] xor edi,edx mov esi,ebx rol ebx,5 @@ -2335,7 +2338,7 @@ $L$done_ssse3:: xor esi,edx ror ecx,7 add eax,ebx - add ebp,DWORD PTR[24+rsp] + add ebp,DWORD[24+rsp] xor esi,ecx mov edi,eax rol eax,5 @@ -2343,7 +2346,7 @@ $L$done_ssse3:: xor edi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[28+rsp] + add edx,DWORD[28+rsp] xor edi,ebx mov esi,ebp rol ebp,5 @@ -2351,7 +2354,7 @@ $L$done_ssse3:: xor esi,ebx ror eax,7 add edx,ebp - add ecx,DWORD PTR[32+rsp] + add ecx,DWORD[32+rsp] xor esi,eax mov edi,edx rol edx,5 @@ -2359,7 +2362,7 @@ $L$done_ssse3:: xor edi,eax ror ebp,7 add ecx,edx - add ebx,DWORD PTR[36+rsp] + add ebx,DWORD[36+rsp] xor edi,ebp mov esi,ecx rol ecx,5 @@ -2367,7 +2370,7 @@ $L$done_ssse3:: xor esi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[40+rsp] + add eax,DWORD[40+rsp] xor esi,edx mov edi,ebx rol ebx,5 @@ -2375,7 +2378,7 @@ $L$done_ssse3:: xor edi,edx ror ecx,7 add eax,ebx - add ebp,DWORD PTR[44+rsp] + add ebp,DWORD[44+rsp] xor edi,ecx mov esi,eax rol eax,5 @@ -2383,7 +2386,7 @@ $L$done_ssse3:: xor esi,ecx ror ebx,7 add ebp,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD[48+rsp] xor esi,ebx mov edi,ebp rol ebp,5 @@ -2391,7 +2394,7 @@ $L$done_ssse3:: xor edi,ebx ror eax,7 add edx,ebp - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD[52+rsp] xor edi,eax mov esi,edx rol edx,5 @@ -2399,7 +2402,7 @@ $L$done_ssse3:: xor esi,eax ror ebp,7 add ecx,edx - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD[56+rsp] xor esi,ebp mov edi,ecx rol ecx,5 @@ -2407,65 +2410,64 @@ $L$done_ssse3:: xor edi,ebp ror edx,7 add ebx,ecx - add eax,DWORD PTR[60+rsp] + 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 PTR[r8] - add esi,DWORD PTR[4+r8] - add ecx,DWORD PTR[8+r8] - mov DWORD PTR[r8],eax - add edx,DWORD PTR[12+r8] - mov DWORD PTR[4+r8],esi - add ebp,DWORD PTR[16+r8] - mov DWORD PTR[8+r8],ecx - mov DWORD PTR[12+r8],edx - mov DWORD PTR[16+r8],ebp - movaps xmm6,XMMWORD PTR[((-40-96))+r14] - movaps xmm7,XMMWORD PTR[((-40-80))+r14] - movaps xmm8,XMMWORD PTR[((-40-64))+r14] - movaps xmm9,XMMWORD PTR[((-40-48))+r14] - movaps xmm10,XMMWORD PTR[((-40-32))+r14] - movaps xmm11,XMMWORD PTR[((-40-16))+r14] - lea rsi,QWORD PTR[r14] - mov r14,QWORD PTR[((-40))+rsi] - mov r13,QWORD PTR[((-32))+rsi] - mov r12,QWORD PTR[((-24))+rsi] - mov rbp,QWORD PTR[((-16))+rsi] - mov rbx,QWORD PTR[((-8))+rsi] - lea rsp,QWORD PTR[rsi] -$L$epilogue_ssse3:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + add eax,DWORD[r8] + add esi,DWORD[4+r8] + add ecx,DWORD[8+r8] + mov DWORD[r8],eax + add edx,DWORD[12+r8] + mov DWORD[4+r8],esi + add ebp,DWORD[16+r8] + mov DWORD[8+r8],ecx + mov DWORD[12+r8],edx + mov DWORD[16+r8],ebp + movaps xmm6,XMMWORD[((-40-96))+r14] + movaps xmm7,XMMWORD[((-40-80))+r14] + movaps xmm8,XMMWORD[((-40-64))+r14] + movaps xmm9,XMMWORD[((-40-48))+r14] + movaps xmm10,XMMWORD[((-40-32))+r14] + movaps xmm11,XMMWORD[((-40-16))+r14] + lea rsi,[r14] + mov r14,QWORD[((-40))+rsi] + mov r13,QWORD[((-32))+rsi] + mov r12,QWORD[((-24))+rsi] + mov rbp,QWORD[((-16))+rsi] + mov rbx,QWORD[((-8))+rsi] + lea rsp,[rsi] +$L$epilogue_ssse3: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha1_block_data_order_ssse3:: -sha1_block_data_order_ssse3 ENDP +$L$SEH_end_sha1_block_data_order_ssse3: ALIGN 64 -K_XX_XX:: - DD 05a827999h,05a827999h,05a827999h,05a827999h - DD 05a827999h,05a827999h,05a827999h,05a827999h - DD 06ed9eba1h,06ed9eba1h,06ed9eba1h,06ed9eba1h - DD 06ed9eba1h,06ed9eba1h,06ed9eba1h,06ed9eba1h - DD 08f1bbcdch,08f1bbcdch,08f1bbcdch,08f1bbcdch - DD 08f1bbcdch,08f1bbcdch,08f1bbcdch,08f1bbcdch - DD 0ca62c1d6h,0ca62c1d6h,0ca62c1d6h,0ca62c1d6h - DD 0ca62c1d6h,0ca62c1d6h,0ca62c1d6h,0ca62c1d6h - DD 000010203h,004050607h,008090a0bh,00c0d0e0fh - DD 000010203h,004050607h,008090a0bh,00c0d0e0fh -DB 0fh,0eh,0dh,0ch,0bh,0ah,09h,08h,07h,06h,05h,04h,03h,02h,01h,00h +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:NEAR +EXTERN __imp_RtlVirtualUnwind ALIGN 16 -se_handler PROC PRIVATE +se_handler: push rsi push rdi push rbx @@ -2477,37 +2479,37 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] - lea r10,QWORD PTR[$L$prologue] + lea r10,[$L$prologue] cmp rbx,r10 - jb $L$common_seh_tail + jb NEAR $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD[152+r8] - lea r10,QWORD PTR[$L$epilogue] + lea r10,[$L$epilogue] cmp rbx,r10 - jae $L$common_seh_tail + jae NEAR $L$common_seh_tail + + mov rax,QWORD[64+rax] - mov rax,QWORD PTR[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 - mov rbx,QWORD PTR[((-8))+rax] - mov rbp,QWORD PTR[((-16))+rax] - mov r12,QWORD PTR[((-24))+rax] - mov r13,QWORD PTR[((-32))+rax] - mov r14,QWORD PTR[((-40))+rax] - mov QWORD PTR[144+r8],rbx - mov QWORD PTR[160+r8],rbp - mov QWORD PTR[216+r8],r12 - mov QWORD PTR[224+r8],r13 - mov QWORD PTR[232+r8],r14 + jmp NEAR $L$common_seh_tail - jmp $L$common_seh_tail -se_handler ENDP ALIGN 16 -ssse3_handler PROC PRIVATE +ssse3_handler: push rsi push rdi push rbx @@ -2519,67 +2521,67 @@ ssse3_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] cmp rbx,r10 - jb $L$common_seh_tail + jb NEAR $L$common_seh_tail - mov rax,QWORD PTR[152+r8] + mov rax,QWORD[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] cmp rbx,r10 - jae $L$common_seh_tail + jae NEAR $L$common_seh_tail - mov rax,QWORD PTR[232+r8] + mov rax,QWORD[232+r8] - lea rsi,QWORD PTR[((-40-96))+rax] - lea rdi,QWORD PTR[512+r8] + lea rsi,[((-40-96))+rax] + lea rdi,[512+r8] mov ecx,12 - DD 0a548f3fch + DD 0xa548f3fc - mov rbx,QWORD PTR[((-8))+rax] - mov rbp,QWORD PTR[((-16))+rax] - mov r12,QWORD PTR[((-24))+rax] - mov r13,QWORD PTR[((-32))+rax] - mov r14,QWORD PTR[((-40))+rax] - mov QWORD PTR[144+r8],rbx - mov QWORD PTR[160+r8],rbp - mov QWORD PTR[216+r8],r12 - mov QWORD PTR[224+r8],r13 - mov QWORD PTR[232+r8],r14 + 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 PTR[8+rax] - mov rsi,QWORD PTR[16+rax] - mov QWORD PTR[152+r8],rax - mov QWORD PTR[168+r8],rsi - mov QWORD PTR[176+r8],rdi +$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 PTR[40+r9] + mov rdi,QWORD[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0xa548f3fc mov rsi,r9 xor rcx,rcx - mov rdx,QWORD PTR[8+rsi] - mov r8,QWORD PTR[rsi] - mov r9,QWORD PTR[16+rsi] - mov r10,QWORD PTR[40+rsi] - lea r11,QWORD PTR[56+rsi] - lea r12,QWORD PTR[24+rsi] - mov QWORD PTR[32+rsp],r10 - mov QWORD PTR[40+rsp],r11 - mov QWORD PTR[48+rsp],r12 - mov QWORD PTR[56+rsp],rcx - call QWORD PTR[__imp_RtlVirtualUnwind] + mov 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 @@ -2593,27 +2595,22 @@ $L$common_seh_tail:: pop rdi pop rsi DB 0F3h,0C3h ;repret -ssse3_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) + +section .pdata rdata align=4 ALIGN 4 - DD imagerel $L$SEH_begin_sha1_block_data_order - DD imagerel $L$SEH_end_sha1_block_data_order - DD imagerel $L$SEH_info_sha1_block_data_order - DD imagerel $L$SEH_begin_sha1_block_data_order_ssse3 - DD imagerel $L$SEH_end_sha1_block_data_order_ssse3 - DD imagerel $L$SEH_info_sha1_block_data_order_ssse3 -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + 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_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:: +$L$SEH_info_sha1_block_data_order: DB 9,0,0,0 - DD imagerel se_handler -$L$SEH_info_sha1_block_data_order_ssse3:: + DD se_handler wrt ..imagebase +$L$SEH_info_sha1_block_data_order_ssse3: DB 9,0,0,0 - DD imagerel ssse3_handler - DD imagerel $L$prologue_ssse3,imagerel $L$epilogue_ssse3 - -.xdata ENDS -END + DD ssse3_handler wrt ..imagebase + DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase diff --git a/win-x86_64/crypto/sha/sha256-x86_64.asm b/win-x86_64/crypto/sha/sha256-x86_64.asm index 41f2edd..e6193c5 100644 --- a/win-x86_64/crypto/sha/sha256-x86_64.asm +++ b/win-x86_64/crypto/sha/sha256-x86_64.asm @@ -1,26 +1,30 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 -EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC sha256_block_data_order + +EXTERN OPENSSL_ia32cap_P +global sha256_block_data_order ALIGN 16 -sha256_block_data_order PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +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:: +$L$SEH_begin_sha256_block_data_order: mov rdi,rcx mov rsi,rdx mov rdx,r8 - lea r11,QWORD PTR[OPENSSL_ia32cap_P] - mov r9d,DWORD PTR[r11] - mov r10d,DWORD PTR[4+r11] - mov r11d,DWORD PTR[8+r11] + lea r11,[OPENSSL_ia32cap_P] + mov r9d,DWORD[r11] + mov r10d,DWORD[4+r11] + mov r11d,DWORD[8+r11] test r10d,512 - jnz $L$ssse3_shortcut + jnz NEAR $L$ssse3_shortcut push rbx push rbp push r12 @@ -30,30 +34,30 @@ $L$SEH_begin_sha256_block_data_order:: mov r11,rsp shl rdx,4 sub rsp,16*4+4*8 - lea rdx,QWORD PTR[rdx*4+rsi] + lea rdx,[rdx*4+rsi] and rsp,-64 - mov QWORD PTR[((64+0))+rsp],rdi - mov QWORD PTR[((64+8))+rsp],rsi - mov QWORD PTR[((64+16))+rsp],rdx - mov QWORD PTR[((64+24))+rsp],r11 -$L$prologue:: - - mov eax,DWORD PTR[rdi] - mov ebx,DWORD PTR[4+rdi] - mov ecx,DWORD PTR[8+rdi] - mov edx,DWORD PTR[12+rdi] - mov r8d,DWORD PTR[16+rdi] - mov r9d,DWORD PTR[20+rdi] - mov r10d,DWORD PTR[24+rdi] - mov r11d,DWORD PTR[28+rdi] - jmp $L$loop + mov QWORD[((64+0))+rsp],rdi + mov QWORD[((64+8))+rsp],rsi + mov QWORD[((64+16))+rsp],rdx + mov QWORD[((64+24))+rsp],r11 +$L$prologue: + + mov eax,DWORD[rdi] + mov ebx,DWORD[4+rdi] + mov ecx,DWORD[8+rdi] + mov edx,DWORD[12+rdi] + mov r8d,DWORD[16+rdi] + mov r9d,DWORD[20+rdi] + mov r10d,DWORD[24+rdi] + mov r11d,DWORD[28+rdi] + jmp NEAR $L$loop ALIGN 16 -$L$loop:: +$L$loop: mov edi,ebx - lea rbp,QWORD PTR[K256] + lea rbp,[K256] xor edi,ecx - mov r12d,DWORD PTR[rsi] + mov r12d,DWORD[rsi] mov r13d,r8d mov r14d,eax bswap r12d @@ -64,7 +68,7 @@ $L$loop:: ror r14d,9 xor r15d,r10d - mov DWORD PTR[rsp],r12d + mov DWORD[rsp],r12d xor r14d,eax and r15d,r8d @@ -77,7 +81,7 @@ $L$loop:: add r12d,r15d mov r15d,eax - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,eax xor r15d,ebx @@ -92,9 +96,9 @@ $L$loop:: add edx,r12d add r11d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add r11d,r14d - mov r12d,DWORD PTR[4+rsi] + mov r12d,DWORD[4+rsi] mov r13d,edx mov r14d,r11d bswap r12d @@ -105,7 +109,7 @@ $L$loop:: ror r14d,9 xor edi,r9d - mov DWORD PTR[4+rsp],r12d + mov DWORD[4+rsp],r12d xor r14d,r11d and edi,edx @@ -118,7 +122,7 @@ $L$loop:: add r12d,edi mov edi,r11d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r11d xor edi,eax @@ -133,9 +137,9 @@ $L$loop:: add ecx,r12d add r10d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add r10d,r14d - mov r12d,DWORD PTR[8+rsi] + mov r12d,DWORD[8+rsi] mov r13d,ecx mov r14d,r10d bswap r12d @@ -146,7 +150,7 @@ $L$loop:: ror r14d,9 xor r15d,r8d - mov DWORD PTR[8+rsp],r12d + mov DWORD[8+rsp],r12d xor r14d,r10d and r15d,ecx @@ -159,7 +163,7 @@ $L$loop:: add r12d,r15d mov r15d,r10d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r10d xor r15d,r11d @@ -174,9 +178,9 @@ $L$loop:: add ebx,r12d add r9d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add r9d,r14d - mov r12d,DWORD PTR[12+rsi] + mov r12d,DWORD[12+rsi] mov r13d,ebx mov r14d,r9d bswap r12d @@ -187,7 +191,7 @@ $L$loop:: ror r14d,9 xor edi,edx - mov DWORD PTR[12+rsp],r12d + mov DWORD[12+rsp],r12d xor r14d,r9d and edi,ebx @@ -200,7 +204,7 @@ $L$loop:: add r12d,edi mov edi,r9d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r9d xor edi,r10d @@ -215,9 +219,9 @@ $L$loop:: add eax,r12d add r8d,r12d - lea rbp,QWORD PTR[20+rbp] + lea rbp,[20+rbp] add r8d,r14d - mov r12d,DWORD PTR[16+rsi] + mov r12d,DWORD[16+rsi] mov r13d,eax mov r14d,r8d bswap r12d @@ -228,7 +232,7 @@ $L$loop:: ror r14d,9 xor r15d,ecx - mov DWORD PTR[16+rsp],r12d + mov DWORD[16+rsp],r12d xor r14d,r8d and r15d,eax @@ -241,7 +245,7 @@ $L$loop:: add r12d,r15d mov r15d,r8d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r8d xor r15d,r9d @@ -256,9 +260,9 @@ $L$loop:: add r11d,r12d add edx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add edx,r14d - mov r12d,DWORD PTR[20+rsi] + mov r12d,DWORD[20+rsi] mov r13d,r11d mov r14d,edx bswap r12d @@ -269,7 +273,7 @@ $L$loop:: ror r14d,9 xor edi,ebx - mov DWORD PTR[20+rsp],r12d + mov DWORD[20+rsp],r12d xor r14d,edx and edi,r11d @@ -282,7 +286,7 @@ $L$loop:: add r12d,edi mov edi,edx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,edx xor edi,r8d @@ -297,9 +301,9 @@ $L$loop:: add r10d,r12d add ecx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add ecx,r14d - mov r12d,DWORD PTR[24+rsi] + mov r12d,DWORD[24+rsi] mov r13d,r10d mov r14d,ecx bswap r12d @@ -310,7 +314,7 @@ $L$loop:: ror r14d,9 xor r15d,eax - mov DWORD PTR[24+rsp],r12d + mov DWORD[24+rsp],r12d xor r14d,ecx and r15d,r10d @@ -323,7 +327,7 @@ $L$loop:: add r12d,r15d mov r15d,ecx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,ecx xor r15d,edx @@ -338,9 +342,9 @@ $L$loop:: add r9d,r12d add ebx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add ebx,r14d - mov r12d,DWORD PTR[28+rsi] + mov r12d,DWORD[28+rsi] mov r13d,r9d mov r14d,ebx bswap r12d @@ -351,7 +355,7 @@ $L$loop:: ror r14d,9 xor edi,r11d - mov DWORD PTR[28+rsp],r12d + mov DWORD[28+rsp],r12d xor r14d,ebx and edi,r9d @@ -364,7 +368,7 @@ $L$loop:: add r12d,edi mov edi,ebx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,ebx xor edi,ecx @@ -379,9 +383,9 @@ $L$loop:: add r8d,r12d add eax,r12d - lea rbp,QWORD PTR[20+rbp] + lea rbp,[20+rbp] add eax,r14d - mov r12d,DWORD PTR[32+rsi] + mov r12d,DWORD[32+rsi] mov r13d,r8d mov r14d,eax bswap r12d @@ -392,7 +396,7 @@ $L$loop:: ror r14d,9 xor r15d,r10d - mov DWORD PTR[32+rsp],r12d + mov DWORD[32+rsp],r12d xor r14d,eax and r15d,r8d @@ -405,7 +409,7 @@ $L$loop:: add r12d,r15d mov r15d,eax - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,eax xor r15d,ebx @@ -420,9 +424,9 @@ $L$loop:: add edx,r12d add r11d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add r11d,r14d - mov r12d,DWORD PTR[36+rsi] + mov r12d,DWORD[36+rsi] mov r13d,edx mov r14d,r11d bswap r12d @@ -433,7 +437,7 @@ $L$loop:: ror r14d,9 xor edi,r9d - mov DWORD PTR[36+rsp],r12d + mov DWORD[36+rsp],r12d xor r14d,r11d and edi,edx @@ -446,7 +450,7 @@ $L$loop:: add r12d,edi mov edi,r11d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r11d xor edi,eax @@ -461,9 +465,9 @@ $L$loop:: add ecx,r12d add r10d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add r10d,r14d - mov r12d,DWORD PTR[40+rsi] + mov r12d,DWORD[40+rsi] mov r13d,ecx mov r14d,r10d bswap r12d @@ -474,7 +478,7 @@ $L$loop:: ror r14d,9 xor r15d,r8d - mov DWORD PTR[40+rsp],r12d + mov DWORD[40+rsp],r12d xor r14d,r10d and r15d,ecx @@ -487,7 +491,7 @@ $L$loop:: add r12d,r15d mov r15d,r10d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r10d xor r15d,r11d @@ -502,9 +506,9 @@ $L$loop:: add ebx,r12d add r9d,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add r9d,r14d - mov r12d,DWORD PTR[44+rsi] + mov r12d,DWORD[44+rsi] mov r13d,ebx mov r14d,r9d bswap r12d @@ -515,7 +519,7 @@ $L$loop:: ror r14d,9 xor edi,edx - mov DWORD PTR[44+rsp],r12d + mov DWORD[44+rsp],r12d xor r14d,r9d and edi,ebx @@ -528,7 +532,7 @@ $L$loop:: add r12d,edi mov edi,r9d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r9d xor edi,r10d @@ -543,9 +547,9 @@ $L$loop:: add eax,r12d add r8d,r12d - lea rbp,QWORD PTR[20+rbp] + lea rbp,[20+rbp] add r8d,r14d - mov r12d,DWORD PTR[48+rsi] + mov r12d,DWORD[48+rsi] mov r13d,eax mov r14d,r8d bswap r12d @@ -556,7 +560,7 @@ $L$loop:: ror r14d,9 xor r15d,ecx - mov DWORD PTR[48+rsp],r12d + mov DWORD[48+rsp],r12d xor r14d,r8d and r15d,eax @@ -569,7 +573,7 @@ $L$loop:: add r12d,r15d mov r15d,r8d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r8d xor r15d,r9d @@ -584,9 +588,9 @@ $L$loop:: add r11d,r12d add edx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add edx,r14d - mov r12d,DWORD PTR[52+rsi] + mov r12d,DWORD[52+rsi] mov r13d,r11d mov r14d,edx bswap r12d @@ -597,7 +601,7 @@ $L$loop:: ror r14d,9 xor edi,ebx - mov DWORD PTR[52+rsp],r12d + mov DWORD[52+rsp],r12d xor r14d,edx and edi,r11d @@ -610,7 +614,7 @@ $L$loop:: add r12d,edi mov edi,edx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,edx xor edi,r8d @@ -625,9 +629,9 @@ $L$loop:: add r10d,r12d add ecx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add ecx,r14d - mov r12d,DWORD PTR[56+rsi] + mov r12d,DWORD[56+rsi] mov r13d,r10d mov r14d,ecx bswap r12d @@ -638,7 +642,7 @@ $L$loop:: ror r14d,9 xor r15d,eax - mov DWORD PTR[56+rsp],r12d + mov DWORD[56+rsp],r12d xor r14d,ecx and r15d,r10d @@ -651,7 +655,7 @@ $L$loop:: add r12d,r15d mov r15d,ecx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,ecx xor r15d,edx @@ -666,9 +670,9 @@ $L$loop:: add r9d,r12d add ebx,r12d - lea rbp,QWORD PTR[4+rbp] + lea rbp,[4+rbp] add ebx,r14d - mov r12d,DWORD PTR[60+rsi] + mov r12d,DWORD[60+rsi] mov r13d,r9d mov r14d,ebx bswap r12d @@ -679,7 +683,7 @@ $L$loop:: ror r14d,9 xor edi,r11d - mov DWORD PTR[60+rsp],r12d + mov DWORD[60+rsp],r12d xor r14d,ebx and edi,r9d @@ -692,7 +696,7 @@ $L$loop:: add r12d,edi mov edi,ebx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,ebx xor edi,ecx @@ -707,12 +711,12 @@ $L$loop:: add r8d,r12d add eax,r12d - lea rbp,QWORD PTR[20+rbp] - jmp $L$rounds_16_xx + lea rbp,[20+rbp] + jmp NEAR $L$rounds_16_xx ALIGN 16 -$L$rounds_16_xx:: - mov r13d,DWORD PTR[4+rsp] - mov r15d,DWORD PTR[56+rsp] +$L$rounds_16_xx: + mov r13d,DWORD[4+rsp] + mov r15d,DWORD[56+rsp] mov r12d,r13d ror r13d,11 @@ -729,9 +733,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[36+rsp] + add r12d,DWORD[36+rsp] - add r12d,DWORD PTR[rsp] + add r12d,DWORD[rsp] mov r13d,r8d add r12d,r15d mov r14d,eax @@ -742,7 +746,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,r10d - mov DWORD PTR[rsp],r12d + mov DWORD[rsp],r12d xor r14d,eax and r15d,r8d @@ -755,7 +759,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,eax - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,eax xor r15d,ebx @@ -770,9 +774,9 @@ $L$rounds_16_xx:: add edx,r12d add r11d,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[8+rsp] - mov edi,DWORD PTR[60+rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[8+rsp] + mov edi,DWORD[60+rsp] mov r12d,r13d ror r13d,11 @@ -789,9 +793,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[40+rsp] + add r12d,DWORD[40+rsp] - add r12d,DWORD PTR[4+rsp] + add r12d,DWORD[4+rsp] mov r13d,edx add r12d,edi mov r14d,r11d @@ -802,7 +806,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,r9d - mov DWORD PTR[4+rsp],r12d + mov DWORD[4+rsp],r12d xor r14d,r11d and edi,edx @@ -815,7 +819,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,r11d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r11d xor edi,eax @@ -830,9 +834,9 @@ $L$rounds_16_xx:: add ecx,r12d add r10d,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[12+rsp] - mov r15d,DWORD PTR[rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[12+rsp] + mov r15d,DWORD[rsp] mov r12d,r13d ror r13d,11 @@ -849,9 +853,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[44+rsp] + add r12d,DWORD[44+rsp] - add r12d,DWORD PTR[8+rsp] + add r12d,DWORD[8+rsp] mov r13d,ecx add r12d,r15d mov r14d,r10d @@ -862,7 +866,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,r8d - mov DWORD PTR[8+rsp],r12d + mov DWORD[8+rsp],r12d xor r14d,r10d and r15d,ecx @@ -875,7 +879,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,r10d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r10d xor r15d,r11d @@ -890,9 +894,9 @@ $L$rounds_16_xx:: add ebx,r12d add r9d,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[16+rsp] - mov edi,DWORD PTR[4+rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[16+rsp] + mov edi,DWORD[4+rsp] mov r12d,r13d ror r13d,11 @@ -909,9 +913,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[48+rsp] + add r12d,DWORD[48+rsp] - add r12d,DWORD PTR[12+rsp] + add r12d,DWORD[12+rsp] mov r13d,ebx add r12d,edi mov r14d,r9d @@ -922,7 +926,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,edx - mov DWORD PTR[12+rsp],r12d + mov DWORD[12+rsp],r12d xor r14d,r9d and edi,ebx @@ -935,7 +939,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,r9d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r9d xor edi,r10d @@ -950,9 +954,9 @@ $L$rounds_16_xx:: add eax,r12d add r8d,r12d - lea rbp,QWORD PTR[20+rbp] - mov r13d,DWORD PTR[20+rsp] - mov r15d,DWORD PTR[8+rsp] + lea rbp,[20+rbp] + mov r13d,DWORD[20+rsp] + mov r15d,DWORD[8+rsp] mov r12d,r13d ror r13d,11 @@ -969,9 +973,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[52+rsp] + add r12d,DWORD[52+rsp] - add r12d,DWORD PTR[16+rsp] + add r12d,DWORD[16+rsp] mov r13d,eax add r12d,r15d mov r14d,r8d @@ -982,7 +986,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,ecx - mov DWORD PTR[16+rsp],r12d + mov DWORD[16+rsp],r12d xor r14d,r8d and r15d,eax @@ -995,7 +999,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,r8d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r8d xor r15d,r9d @@ -1010,9 +1014,9 @@ $L$rounds_16_xx:: add r11d,r12d add edx,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[24+rsp] - mov edi,DWORD PTR[12+rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[24+rsp] + mov edi,DWORD[12+rsp] mov r12d,r13d ror r13d,11 @@ -1029,9 +1033,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[56+rsp] + add r12d,DWORD[56+rsp] - add r12d,DWORD PTR[20+rsp] + add r12d,DWORD[20+rsp] mov r13d,r11d add r12d,edi mov r14d,edx @@ -1042,7 +1046,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,ebx - mov DWORD PTR[20+rsp],r12d + mov DWORD[20+rsp],r12d xor r14d,edx and edi,r11d @@ -1055,7 +1059,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,edx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,edx xor edi,r8d @@ -1070,9 +1074,9 @@ $L$rounds_16_xx:: add r10d,r12d add ecx,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[28+rsp] - mov r15d,DWORD PTR[16+rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[28+rsp] + mov r15d,DWORD[16+rsp] mov r12d,r13d ror r13d,11 @@ -1089,9 +1093,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[60+rsp] + add r12d,DWORD[60+rsp] - add r12d,DWORD PTR[24+rsp] + add r12d,DWORD[24+rsp] mov r13d,r10d add r12d,r15d mov r14d,ecx @@ -1102,7 +1106,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,eax - mov DWORD PTR[24+rsp],r12d + mov DWORD[24+rsp],r12d xor r14d,ecx and r15d,r10d @@ -1115,7 +1119,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,ecx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,ecx xor r15d,edx @@ -1130,9 +1134,9 @@ $L$rounds_16_xx:: add r9d,r12d add ebx,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[32+rsp] - mov edi,DWORD PTR[20+rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[32+rsp] + mov edi,DWORD[20+rsp] mov r12d,r13d ror r13d,11 @@ -1149,9 +1153,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[rsp] + add r12d,DWORD[rsp] - add r12d,DWORD PTR[28+rsp] + add r12d,DWORD[28+rsp] mov r13d,r9d add r12d,edi mov r14d,ebx @@ -1162,7 +1166,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,r11d - mov DWORD PTR[28+rsp],r12d + mov DWORD[28+rsp],r12d xor r14d,ebx and edi,r9d @@ -1175,7 +1179,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,ebx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,ebx xor edi,ecx @@ -1190,9 +1194,9 @@ $L$rounds_16_xx:: add r8d,r12d add eax,r12d - lea rbp,QWORD PTR[20+rbp] - mov r13d,DWORD PTR[36+rsp] - mov r15d,DWORD PTR[24+rsp] + lea rbp,[20+rbp] + mov r13d,DWORD[36+rsp] + mov r15d,DWORD[24+rsp] mov r12d,r13d ror r13d,11 @@ -1209,9 +1213,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[4+rsp] + add r12d,DWORD[4+rsp] - add r12d,DWORD PTR[32+rsp] + add r12d,DWORD[32+rsp] mov r13d,r8d add r12d,r15d mov r14d,eax @@ -1222,7 +1226,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,r10d - mov DWORD PTR[32+rsp],r12d + mov DWORD[32+rsp],r12d xor r14d,eax and r15d,r8d @@ -1235,7 +1239,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,eax - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,eax xor r15d,ebx @@ -1250,9 +1254,9 @@ $L$rounds_16_xx:: add edx,r12d add r11d,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[40+rsp] - mov edi,DWORD PTR[28+rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[40+rsp] + mov edi,DWORD[28+rsp] mov r12d,r13d ror r13d,11 @@ -1269,9 +1273,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[8+rsp] + add r12d,DWORD[8+rsp] - add r12d,DWORD PTR[36+rsp] + add r12d,DWORD[36+rsp] mov r13d,edx add r12d,edi mov r14d,r11d @@ -1282,7 +1286,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,r9d - mov DWORD PTR[36+rsp],r12d + mov DWORD[36+rsp],r12d xor r14d,r11d and edi,edx @@ -1295,7 +1299,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,r11d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r11d xor edi,eax @@ -1310,9 +1314,9 @@ $L$rounds_16_xx:: add ecx,r12d add r10d,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[44+rsp] - mov r15d,DWORD PTR[32+rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[44+rsp] + mov r15d,DWORD[32+rsp] mov r12d,r13d ror r13d,11 @@ -1329,9 +1333,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[12+rsp] + add r12d,DWORD[12+rsp] - add r12d,DWORD PTR[40+rsp] + add r12d,DWORD[40+rsp] mov r13d,ecx add r12d,r15d mov r14d,r10d @@ -1342,7 +1346,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,r8d - mov DWORD PTR[40+rsp],r12d + mov DWORD[40+rsp],r12d xor r14d,r10d and r15d,ecx @@ -1355,7 +1359,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,r10d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r10d xor r15d,r11d @@ -1370,9 +1374,9 @@ $L$rounds_16_xx:: add ebx,r12d add r9d,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[48+rsp] - mov edi,DWORD PTR[36+rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[48+rsp] + mov edi,DWORD[36+rsp] mov r12d,r13d ror r13d,11 @@ -1389,9 +1393,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[16+rsp] + add r12d,DWORD[16+rsp] - add r12d,DWORD PTR[44+rsp] + add r12d,DWORD[44+rsp] mov r13d,ebx add r12d,edi mov r14d,r9d @@ -1402,7 +1406,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,edx - mov DWORD PTR[44+rsp],r12d + mov DWORD[44+rsp],r12d xor r14d,r9d and edi,ebx @@ -1415,7 +1419,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,r9d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r9d xor edi,r10d @@ -1430,9 +1434,9 @@ $L$rounds_16_xx:: add eax,r12d add r8d,r12d - lea rbp,QWORD PTR[20+rbp] - mov r13d,DWORD PTR[52+rsp] - mov r15d,DWORD PTR[40+rsp] + lea rbp,[20+rbp] + mov r13d,DWORD[52+rsp] + mov r15d,DWORD[40+rsp] mov r12d,r13d ror r13d,11 @@ -1449,9 +1453,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[20+rsp] + add r12d,DWORD[20+rsp] - add r12d,DWORD PTR[48+rsp] + add r12d,DWORD[48+rsp] mov r13d,eax add r12d,r15d mov r14d,r8d @@ -1462,7 +1466,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,ecx - mov DWORD PTR[48+rsp],r12d + mov DWORD[48+rsp],r12d xor r14d,r8d and r15d,eax @@ -1475,7 +1479,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,r8d - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,r8d xor r15d,r9d @@ -1490,9 +1494,9 @@ $L$rounds_16_xx:: add r11d,r12d add edx,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[56+rsp] - mov edi,DWORD PTR[44+rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[56+rsp] + mov edi,DWORD[44+rsp] mov r12d,r13d ror r13d,11 @@ -1509,9 +1513,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[24+rsp] + add r12d,DWORD[24+rsp] - add r12d,DWORD PTR[52+rsp] + add r12d,DWORD[52+rsp] mov r13d,r11d add r12d,edi mov r14d,edx @@ -1522,7 +1526,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,ebx - mov DWORD PTR[52+rsp],r12d + mov DWORD[52+rsp],r12d xor r14d,edx and edi,r11d @@ -1535,7 +1539,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,edx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,edx xor edi,r8d @@ -1550,9 +1554,9 @@ $L$rounds_16_xx:: add r10d,r12d add ecx,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[60+rsp] - mov r15d,DWORD PTR[48+rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[60+rsp] + mov r15d,DWORD[48+rsp] mov r12d,r13d ror r13d,11 @@ -1569,9 +1573,9 @@ $L$rounds_16_xx:: ror r15d,17 xor r12d,r13d xor r15d,r14d - add r12d,DWORD PTR[28+rsp] + add r12d,DWORD[28+rsp] - add r12d,DWORD PTR[56+rsp] + add r12d,DWORD[56+rsp] mov r13d,r10d add r12d,r15d mov r14d,ecx @@ -1582,7 +1586,7 @@ $L$rounds_16_xx:: ror r14d,9 xor r15d,eax - mov DWORD PTR[56+rsp],r12d + mov DWORD[56+rsp],r12d xor r14d,ecx and r15d,r10d @@ -1595,7 +1599,7 @@ $L$rounds_16_xx:: add r12d,r15d mov r15d,ecx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,ecx xor r15d,edx @@ -1610,9 +1614,9 @@ $L$rounds_16_xx:: add r9d,r12d add ebx,r12d - lea rbp,QWORD PTR[4+rbp] - mov r13d,DWORD PTR[rsp] - mov edi,DWORD PTR[52+rsp] + lea rbp,[4+rbp] + mov r13d,DWORD[rsp] + mov edi,DWORD[52+rsp] mov r12d,r13d ror r13d,11 @@ -1629,9 +1633,9 @@ $L$rounds_16_xx:: ror edi,17 xor r12d,r13d xor edi,r14d - add r12d,DWORD PTR[32+rsp] + add r12d,DWORD[32+rsp] - add r12d,DWORD PTR[60+rsp] + add r12d,DWORD[60+rsp] mov r13d,r9d add r12d,edi mov r14d,ebx @@ -1642,7 +1646,7 @@ $L$rounds_16_xx:: ror r14d,9 xor edi,r11d - mov DWORD PTR[60+rsp],r12d + mov DWORD[60+rsp],r12d xor r14d,ebx and edi,r9d @@ -1655,7 +1659,7 @@ $L$rounds_16_xx:: add r12d,edi mov edi,ebx - add r12d,DWORD PTR[rbp] + add r12d,DWORD[rbp] xor r14d,ebx xor edi,ecx @@ -1670,91 +1674,90 @@ $L$rounds_16_xx:: add r8d,r12d add eax,r12d - lea rbp,QWORD PTR[20+rbp] - cmp BYTE PTR[3+rbp],0 - jnz $L$rounds_16_xx + lea rbp,[20+rbp] + cmp BYTE[3+rbp],0 + jnz NEAR $L$rounds_16_xx - mov rdi,QWORD PTR[((64+0))+rsp] + mov rdi,QWORD[((64+0))+rsp] add eax,r14d - lea rsi,QWORD PTR[64+rsi] - - add eax,DWORD PTR[rdi] - add ebx,DWORD PTR[4+rdi] - add ecx,DWORD PTR[8+rdi] - add edx,DWORD PTR[12+rdi] - add r8d,DWORD PTR[16+rdi] - add r9d,DWORD PTR[20+rdi] - add r10d,DWORD PTR[24+rdi] - add r11d,DWORD PTR[28+rdi] - - cmp rsi,QWORD PTR[((64+16))+rsp] - - mov DWORD PTR[rdi],eax - mov DWORD PTR[4+rdi],ebx - mov DWORD PTR[8+rdi],ecx - mov DWORD PTR[12+rdi],edx - mov DWORD PTR[16+rdi],r8d - mov DWORD PTR[20+rdi],r9d - mov DWORD PTR[24+rdi],r10d - mov DWORD PTR[28+rdi],r11d - jb $L$loop - - mov rsi,QWORD PTR[((64+24))+rsp] - mov r15,QWORD PTR[rsi] - mov r14,QWORD PTR[8+rsi] - mov r13,QWORD PTR[16+rsi] - mov r12,QWORD PTR[24+rsi] - mov rbp,QWORD PTR[32+rsi] - mov rbx,QWORD PTR[40+rsi] - lea rsp,QWORD PTR[48+rsi] -$L$epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + lea rsi,[64+rsi] + + add eax,DWORD[rdi] + add ebx,DWORD[4+rdi] + add ecx,DWORD[8+rdi] + add edx,DWORD[12+rdi] + add r8d,DWORD[16+rdi] + add r9d,DWORD[20+rdi] + add r10d,DWORD[24+rdi] + add r11d,DWORD[28+rdi] + + cmp rsi,QWORD[((64+16))+rsp] + + mov DWORD[rdi],eax + mov DWORD[4+rdi],ebx + mov DWORD[8+rdi],ecx + mov DWORD[12+rdi],edx + mov DWORD[16+rdi],r8d + mov DWORD[20+rdi],r9d + mov DWORD[24+rdi],r10d + mov DWORD[28+rdi],r11d + jb NEAR $L$loop + + mov rsi,QWORD[((64+24))+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_block_data_order:: -sha256_block_data_order ENDP +$L$SEH_end_sha256_block_data_order: ALIGN 64 -K256:: - DD 0428a2f98h,071374491h,0b5c0fbcfh,0e9b5dba5h - DD 0428a2f98h,071374491h,0b5c0fbcfh,0e9b5dba5h - DD 03956c25bh,059f111f1h,0923f82a4h,0ab1c5ed5h - DD 03956c25bh,059f111f1h,0923f82a4h,0ab1c5ed5h - DD 0d807aa98h,012835b01h,0243185beh,0550c7dc3h - DD 0d807aa98h,012835b01h,0243185beh,0550c7dc3h - DD 072be5d74h,080deb1feh,09bdc06a7h,0c19bf174h - DD 072be5d74h,080deb1feh,09bdc06a7h,0c19bf174h - DD 0e49b69c1h,0efbe4786h,00fc19dc6h,0240ca1cch - DD 0e49b69c1h,0efbe4786h,00fc19dc6h,0240ca1cch - DD 02de92c6fh,04a7484aah,05cb0a9dch,076f988dah - DD 02de92c6fh,04a7484aah,05cb0a9dch,076f988dah - DD 0983e5152h,0a831c66dh,0b00327c8h,0bf597fc7h - DD 0983e5152h,0a831c66dh,0b00327c8h,0bf597fc7h - DD 0c6e00bf3h,0d5a79147h,006ca6351h,014292967h - DD 0c6e00bf3h,0d5a79147h,006ca6351h,014292967h - DD 027b70a85h,02e1b2138h,04d2c6dfch,053380d13h - DD 027b70a85h,02e1b2138h,04d2c6dfch,053380d13h - DD 0650a7354h,0766a0abbh,081c2c92eh,092722c85h - DD 0650a7354h,0766a0abbh,081c2c92eh,092722c85h - DD 0a2bfe8a1h,0a81a664bh,0c24b8b70h,0c76c51a3h - DD 0a2bfe8a1h,0a81a664bh,0c24b8b70h,0c76c51a3h - DD 0d192e819h,0d6990624h,0f40e3585h,0106aa070h - DD 0d192e819h,0d6990624h,0f40e3585h,0106aa070h - DD 019a4c116h,01e376c08h,02748774ch,034b0bcb5h - DD 019a4c116h,01e376c08h,02748774ch,034b0bcb5h - DD 0391c0cb3h,04ed8aa4ah,05b9cca4fh,0682e6ff3h - DD 0391c0cb3h,04ed8aa4ah,05b9cca4fh,0682e6ff3h - DD 0748f82eeh,078a5636fh,084c87814h,08cc70208h - DD 0748f82eeh,078a5636fh,084c87814h,08cc70208h - DD 090befffah,0a4506cebh,0bef9a3f7h,0c67178f2h - DD 090befffah,0a4506cebh,0bef9a3f7h,0c67178f2h - - DD 000010203h,004050607h,008090a0bh,00c0d0e0fh - DD 000010203h,004050607h,008090a0bh,00c0d0e0fh - DD 003020100h,00b0a0908h,0ffffffffh,0ffffffffh - DD 003020100h,00b0a0908h,0ffffffffh,0ffffffffh - DD 0ffffffffh,0ffffffffh,003020100h,00b0a0908h - DD 0ffffffffh,0ffffffffh,003020100h,00b0a0908h +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 @@ -1762,17 +1765,17 @@ 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_ssse3 PROC PRIVATE - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +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:: +$L$SEH_begin_sha256_block_data_order_ssse3: mov rdi,rcx mov rsi,rdx mov rdx,r8 -$L$ssse3_shortcut:: +$L$ssse3_shortcut: push rbx push rbp push r12 @@ -1782,61 +1785,61 @@ $L$ssse3_shortcut:: mov r11,rsp shl rdx,4 sub rsp,160 - lea rdx,QWORD PTR[rdx*4+rsi] + lea rdx,[rdx*4+rsi] and rsp,-64 - mov QWORD PTR[((64+0))+rsp],rdi - mov QWORD PTR[((64+8))+rsp],rsi - mov QWORD PTR[((64+16))+rsp],rdx - mov QWORD PTR[((64+24))+rsp],r11 - movaps XMMWORD PTR[(64+32)+rsp],xmm6 - movaps XMMWORD PTR[(64+48)+rsp],xmm7 - movaps XMMWORD PTR[(64+64)+rsp],xmm8 - movaps XMMWORD PTR[(64+80)+rsp],xmm9 -$L$prologue_ssse3:: - - mov eax,DWORD PTR[rdi] - mov ebx,DWORD PTR[4+rdi] - mov ecx,DWORD PTR[8+rdi] - mov edx,DWORD PTR[12+rdi] - mov r8d,DWORD PTR[16+rdi] - mov r9d,DWORD PTR[20+rdi] - mov r10d,DWORD PTR[24+rdi] - mov r11d,DWORD PTR[28+rdi] - - - jmp $L$loop_ssse3 + mov QWORD[((64+0))+rsp],rdi + mov QWORD[((64+8))+rsp],rsi + mov QWORD[((64+16))+rsp],rdx + mov QWORD[((64+24))+rsp],r11 + movaps XMMWORD[(64+32)+rsp],xmm6 + movaps XMMWORD[(64+48)+rsp],xmm7 + movaps XMMWORD[(64+64)+rsp],xmm8 + movaps XMMWORD[(64+80)+rsp],xmm9 +$L$prologue_ssse3: + + mov eax,DWORD[rdi] + mov ebx,DWORD[4+rdi] + mov ecx,DWORD[8+rdi] + mov edx,DWORD[12+rdi] + mov r8d,DWORD[16+rdi] + mov r9d,DWORD[20+rdi] + mov r10d,DWORD[24+rdi] + mov r11d,DWORD[28+rdi] + + + jmp NEAR $L$loop_ssse3 ALIGN 16 -$L$loop_ssse3:: - movdqa xmm7,XMMWORD PTR[((K256+512))] - movdqu xmm0,XMMWORD PTR[rsi] - movdqu xmm1,XMMWORD PTR[16+rsi] - movdqu xmm2,XMMWORD PTR[32+rsi] +$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 PTR[48+rsi] - lea rbp,QWORD PTR[K256] + movdqu xmm3,XMMWORD[48+rsi] + lea rbp,[K256] DB 102,15,56,0,207 - movdqa xmm4,XMMWORD PTR[rbp] - movdqa xmm5,XMMWORD PTR[32+rbp] + movdqa xmm4,XMMWORD[rbp] + movdqa xmm5,XMMWORD[32+rbp] DB 102,15,56,0,215 paddd xmm4,xmm0 - movdqa xmm6,XMMWORD PTR[64+rbp] + movdqa xmm6,XMMWORD[64+rbp] DB 102,15,56,0,223 - movdqa xmm7,XMMWORD PTR[96+rbp] + movdqa xmm7,XMMWORD[96+rbp] paddd xmm5,xmm1 paddd xmm6,xmm2 paddd xmm7,xmm3 - movdqa XMMWORD PTR[rsp],xmm4 + movdqa XMMWORD[rsp],xmm4 mov r14d,eax - movdqa XMMWORD PTR[16+rsp],xmm5 + movdqa XMMWORD[16+rsp],xmm5 mov edi,ebx - movdqa XMMWORD PTR[32+rsp],xmm6 + movdqa XMMWORD[32+rsp],xmm6 xor edi,ecx - movdqa XMMWORD PTR[48+rsp],xmm7 + movdqa XMMWORD[48+rsp],xmm7 mov r13d,r8d - jmp $L$ssse3_00_47 + jmp NEAR $L$ssse3_00_47 ALIGN 16 -$L$ssse3_00_47:: +$L$ssse3_00_47: sub rbp,-128 ror r13d,14 movdqa xmm4,xmm1 @@ -1852,7 +1855,7 @@ DB 102,15,58,15,224,4 and r12d,r8d xor r13d,r8d DB 102,15,58,15,250,4 - add r11d,DWORD PTR[rsp] + add r11d,DWORD[rsp] mov r15d,eax xor r12d,r10d ror r14d,11 @@ -1889,7 +1892,7 @@ DB 102,15,58,15,250,4 and r12d,edx xor r13d,edx pslld xmm5,11 - add r10d,DWORD PTR[4+rsp] + add r10d,DWORD[4+rsp] mov edi,r11d pxor xmm4,xmm6 xor r12d,r9d @@ -1925,7 +1928,7 @@ DB 102,15,58,15,250,4 and r12d,ecx pshufd xmm7,xmm7,128 xor r13d,ecx - add r9d,DWORD PTR[8+rsp] + add r9d,DWORD[8+rsp] mov r15d,r10d psrldq xmm7,8 xor r12d,r8d @@ -1959,7 +1962,7 @@ DB 102,15,58,15,250,4 psrlq xmm6,2 and r12d,ebx xor r13d,ebx - add r8d,DWORD PTR[12+rsp] + add r8d,DWORD[12+rsp] pxor xmm7,xmm6 mov edi,r9d xor r12d,edx @@ -1967,7 +1970,7 @@ DB 102,15,58,15,250,4 pshufd xmm7,xmm7,8 xor edi,r10d add r8d,r12d - movdqa xmm6,XMMWORD PTR[rbp] + movdqa xmm6,XMMWORD[rbp] ror r13d,6 and r15d,edi pslldq xmm7,8 @@ -1981,7 +1984,7 @@ DB 102,15,58,15,250,4 paddd xmm6,xmm0 mov r13d,eax add r14d,r8d - movdqa XMMWORD PTR[rsp],xmm6 + movdqa XMMWORD[rsp],xmm6 ror r13d,14 movdqa xmm4,xmm2 mov r8d,r14d @@ -1996,7 +1999,7 @@ DB 102,15,58,15,225,4 and r12d,eax xor r13d,eax DB 102,15,58,15,251,4 - add edx,DWORD PTR[16+rsp] + add edx,DWORD[16+rsp] mov r15d,r8d xor r12d,ecx ror r14d,11 @@ -2033,7 +2036,7 @@ DB 102,15,58,15,251,4 and r12d,r11d xor r13d,r11d pslld xmm5,11 - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD[20+rsp] mov edi,edx pxor xmm4,xmm6 xor r12d,ebx @@ -2069,7 +2072,7 @@ DB 102,15,58,15,251,4 and r12d,r10d pshufd xmm7,xmm7,128 xor r13d,r10d - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD[24+rsp] mov r15d,ecx psrldq xmm7,8 xor r12d,eax @@ -2103,7 +2106,7 @@ DB 102,15,58,15,251,4 psrlq xmm6,2 and r12d,r9d xor r13d,r9d - add eax,DWORD PTR[28+rsp] + add eax,DWORD[28+rsp] pxor xmm7,xmm6 mov edi,ebx xor r12d,r11d @@ -2111,7 +2114,7 @@ DB 102,15,58,15,251,4 pshufd xmm7,xmm7,8 xor edi,ecx add eax,r12d - movdqa xmm6,XMMWORD PTR[32+rbp] + movdqa xmm6,XMMWORD[32+rbp] ror r13d,6 and r15d,edi pslldq xmm7,8 @@ -2125,7 +2128,7 @@ DB 102,15,58,15,251,4 paddd xmm6,xmm1 mov r13d,r8d add r14d,eax - movdqa XMMWORD PTR[16+rsp],xmm6 + movdqa XMMWORD[16+rsp],xmm6 ror r13d,14 movdqa xmm4,xmm3 mov eax,r14d @@ -2140,7 +2143,7 @@ DB 102,15,58,15,226,4 and r12d,r8d xor r13d,r8d DB 102,15,58,15,248,4 - add r11d,DWORD PTR[32+rsp] + add r11d,DWORD[32+rsp] mov r15d,eax xor r12d,r10d ror r14d,11 @@ -2177,7 +2180,7 @@ DB 102,15,58,15,248,4 and r12d,edx xor r13d,edx pslld xmm5,11 - add r10d,DWORD PTR[36+rsp] + add r10d,DWORD[36+rsp] mov edi,r11d pxor xmm4,xmm6 xor r12d,r9d @@ -2213,7 +2216,7 @@ DB 102,15,58,15,248,4 and r12d,ecx pshufd xmm7,xmm7,128 xor r13d,ecx - add r9d,DWORD PTR[40+rsp] + add r9d,DWORD[40+rsp] mov r15d,r10d psrldq xmm7,8 xor r12d,r8d @@ -2247,7 +2250,7 @@ DB 102,15,58,15,248,4 psrlq xmm6,2 and r12d,ebx xor r13d,ebx - add r8d,DWORD PTR[44+rsp] + add r8d,DWORD[44+rsp] pxor xmm7,xmm6 mov edi,r9d xor r12d,edx @@ -2255,7 +2258,7 @@ DB 102,15,58,15,248,4 pshufd xmm7,xmm7,8 xor edi,r10d add r8d,r12d - movdqa xmm6,XMMWORD PTR[64+rbp] + movdqa xmm6,XMMWORD[64+rbp] ror r13d,6 and r15d,edi pslldq xmm7,8 @@ -2269,7 +2272,7 @@ DB 102,15,58,15,248,4 paddd xmm6,xmm2 mov r13d,eax add r14d,r8d - movdqa XMMWORD PTR[32+rsp],xmm6 + movdqa XMMWORD[32+rsp],xmm6 ror r13d,14 movdqa xmm4,xmm0 mov r8d,r14d @@ -2284,7 +2287,7 @@ DB 102,15,58,15,227,4 and r12d,eax xor r13d,eax DB 102,15,58,15,249,4 - add edx,DWORD PTR[48+rsp] + add edx,DWORD[48+rsp] mov r15d,r8d xor r12d,ecx ror r14d,11 @@ -2321,7 +2324,7 @@ DB 102,15,58,15,249,4 and r12d,r11d xor r13d,r11d pslld xmm5,11 - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD[52+rsp] mov edi,edx pxor xmm4,xmm6 xor r12d,ebx @@ -2357,7 +2360,7 @@ DB 102,15,58,15,249,4 and r12d,r10d pshufd xmm7,xmm7,128 xor r13d,r10d - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD[56+rsp] mov r15d,ecx psrldq xmm7,8 xor r12d,eax @@ -2391,7 +2394,7 @@ DB 102,15,58,15,249,4 psrlq xmm6,2 and r12d,r9d xor r13d,r9d - add eax,DWORD PTR[60+rsp] + add eax,DWORD[60+rsp] pxor xmm7,xmm6 mov edi,ebx xor r12d,r11d @@ -2399,7 +2402,7 @@ DB 102,15,58,15,249,4 pshufd xmm7,xmm7,8 xor edi,ecx add eax,r12d - movdqa xmm6,XMMWORD PTR[96+rbp] + movdqa xmm6,XMMWORD[96+rbp] ror r13d,6 and r15d,edi pslldq xmm7,8 @@ -2413,9 +2416,9 @@ DB 102,15,58,15,249,4 paddd xmm6,xmm3 mov r13d,r8d add r14d,eax - movdqa XMMWORD PTR[48+rsp],xmm6 - cmp BYTE PTR[131+rbp],0 - jne $L$ssse3_00_47 + 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 @@ -2426,7 +2429,7 @@ DB 102,15,58,15,249,4 xor r14d,eax and r12d,r8d xor r13d,r8d - add r11d,DWORD PTR[rsp] + add r11d,DWORD[rsp] mov r15d,eax xor r12d,r10d ror r14d,11 @@ -2452,7 +2455,7 @@ DB 102,15,58,15,249,4 xor r14d,r11d and r12d,edx xor r13d,edx - add r10d,DWORD PTR[4+rsp] + add r10d,DWORD[4+rsp] mov edi,r11d xor r12d,r9d ror r14d,11 @@ -2478,7 +2481,7 @@ DB 102,15,58,15,249,4 xor r14d,r10d and r12d,ecx xor r13d,ecx - add r9d,DWORD PTR[8+rsp] + add r9d,DWORD[8+rsp] mov r15d,r10d xor r12d,r8d ror r14d,11 @@ -2504,7 +2507,7 @@ DB 102,15,58,15,249,4 xor r14d,r9d and r12d,ebx xor r13d,ebx - add r8d,DWORD PTR[12+rsp] + add r8d,DWORD[12+rsp] mov edi,r9d xor r12d,edx ror r14d,11 @@ -2530,7 +2533,7 @@ DB 102,15,58,15,249,4 xor r14d,r8d and r12d,eax xor r13d,eax - add edx,DWORD PTR[16+rsp] + add edx,DWORD[16+rsp] mov r15d,r8d xor r12d,ecx ror r14d,11 @@ -2556,7 +2559,7 @@ DB 102,15,58,15,249,4 xor r14d,edx and r12d,r11d xor r13d,r11d - add ecx,DWORD PTR[20+rsp] + add ecx,DWORD[20+rsp] mov edi,edx xor r12d,ebx ror r14d,11 @@ -2582,7 +2585,7 @@ DB 102,15,58,15,249,4 xor r14d,ecx and r12d,r10d xor r13d,r10d - add ebx,DWORD PTR[24+rsp] + add ebx,DWORD[24+rsp] mov r15d,ecx xor r12d,eax ror r14d,11 @@ -2608,7 +2611,7 @@ DB 102,15,58,15,249,4 xor r14d,ebx and r12d,r9d xor r13d,r9d - add eax,DWORD PTR[28+rsp] + add eax,DWORD[28+rsp] mov edi,ebx xor r12d,r11d ror r14d,11 @@ -2634,7 +2637,7 @@ DB 102,15,58,15,249,4 xor r14d,eax and r12d,r8d xor r13d,r8d - add r11d,DWORD PTR[32+rsp] + add r11d,DWORD[32+rsp] mov r15d,eax xor r12d,r10d ror r14d,11 @@ -2660,7 +2663,7 @@ DB 102,15,58,15,249,4 xor r14d,r11d and r12d,edx xor r13d,edx - add r10d,DWORD PTR[36+rsp] + add r10d,DWORD[36+rsp] mov edi,r11d xor r12d,r9d ror r14d,11 @@ -2686,7 +2689,7 @@ DB 102,15,58,15,249,4 xor r14d,r10d and r12d,ecx xor r13d,ecx - add r9d,DWORD PTR[40+rsp] + add r9d,DWORD[40+rsp] mov r15d,r10d xor r12d,r8d ror r14d,11 @@ -2712,7 +2715,7 @@ DB 102,15,58,15,249,4 xor r14d,r9d and r12d,ebx xor r13d,ebx - add r8d,DWORD PTR[44+rsp] + add r8d,DWORD[44+rsp] mov edi,r9d xor r12d,edx ror r14d,11 @@ -2738,7 +2741,7 @@ DB 102,15,58,15,249,4 xor r14d,r8d and r12d,eax xor r13d,eax - add edx,DWORD PTR[48+rsp] + add edx,DWORD[48+rsp] mov r15d,r8d xor r12d,ecx ror r14d,11 @@ -2764,7 +2767,7 @@ DB 102,15,58,15,249,4 xor r14d,edx and r12d,r11d xor r13d,r11d - add ecx,DWORD PTR[52+rsp] + add ecx,DWORD[52+rsp] mov edi,edx xor r12d,ebx ror r14d,11 @@ -2790,7 +2793,7 @@ DB 102,15,58,15,249,4 xor r14d,ecx and r12d,r10d xor r13d,r10d - add ebx,DWORD PTR[56+rsp] + add ebx,DWORD[56+rsp] mov r15d,ecx xor r12d,eax ror r14d,11 @@ -2816,7 +2819,7 @@ DB 102,15,58,15,249,4 xor r14d,ebx and r12d,r9d xor r13d,r9d - add eax,DWORD PTR[60+rsp] + add eax,DWORD[60+rsp] mov edi,ebx xor r12d,r11d ror r14d,11 @@ -2832,53 +2835,52 @@ DB 102,15,58,15,249,4 add eax,r15d mov r13d,r8d add r14d,eax - mov rdi,QWORD PTR[((64+0))+rsp] + mov rdi,QWORD[((64+0))+rsp] mov eax,r14d - add eax,DWORD PTR[rdi] - lea rsi,QWORD PTR[64+rsi] - add ebx,DWORD PTR[4+rdi] - add ecx,DWORD PTR[8+rdi] - add edx,DWORD PTR[12+rdi] - add r8d,DWORD PTR[16+rdi] - add r9d,DWORD PTR[20+rdi] - add r10d,DWORD PTR[24+rdi] - add r11d,DWORD PTR[28+rdi] - - cmp rsi,QWORD PTR[((64+16))+rsp] - - mov DWORD PTR[rdi],eax - mov DWORD PTR[4+rdi],ebx - mov DWORD PTR[8+rdi],ecx - mov DWORD PTR[12+rdi],edx - mov DWORD PTR[16+rdi],r8d - mov DWORD PTR[20+rdi],r9d - mov DWORD PTR[24+rdi],r10d - mov DWORD PTR[28+rdi],r11d - jb $L$loop_ssse3 - - mov rsi,QWORD PTR[((64+24))+rsp] - movaps xmm6,XMMWORD PTR[((64+32))+rsp] - movaps xmm7,XMMWORD PTR[((64+48))+rsp] - movaps xmm8,XMMWORD PTR[((64+64))+rsp] - movaps xmm9,XMMWORD PTR[((64+80))+rsp] - mov r15,QWORD PTR[rsi] - mov r14,QWORD PTR[8+rsi] - mov r13,QWORD PTR[16+rsi] - mov r12,QWORD PTR[24+rsi] - mov rbp,QWORD PTR[32+rsi] - mov rbx,QWORD PTR[40+rsi] - lea rsp,QWORD PTR[48+rsi] -$L$epilogue_ssse3:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + add eax,DWORD[rdi] + lea rsi,[64+rsi] + add ebx,DWORD[4+rdi] + add ecx,DWORD[8+rdi] + add edx,DWORD[12+rdi] + add r8d,DWORD[16+rdi] + add r9d,DWORD[20+rdi] + add r10d,DWORD[24+rdi] + add r11d,DWORD[28+rdi] + + cmp rsi,QWORD[((64+16))+rsp] + + mov DWORD[rdi],eax + mov DWORD[4+rdi],ebx + mov DWORD[8+rdi],ecx + mov DWORD[12+rdi],edx + mov DWORD[16+rdi],r8d + mov DWORD[20+rdi],r9d + mov DWORD[24+rdi],r10d + mov DWORD[28+rdi],r11d + jb NEAR $L$loop_ssse3 + + mov rsi,QWORD[((64+24))+rsp] + movaps xmm6,XMMWORD[((64+32))+rsp] + movaps xmm7,XMMWORD[((64+48))+rsp] + movaps xmm8,XMMWORD[((64+64))+rsp] + movaps xmm9,XMMWORD[((64+80))+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue_ssse3: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha256_block_data_order_ssse3:: -sha256_block_data_order_ssse3 ENDP -EXTERN __imp_RtlVirtualUnwind:NEAR +$L$SEH_end_sha256_block_data_order_ssse3: +EXTERN __imp_RtlVirtualUnwind ALIGN 16 -se_handler PROC PRIVATE +se_handler: push rsi push rdi push rbx @@ -2890,74 +2892,74 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb NEAR $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue + jae NEAR $L$in_prologue mov rsi,rax - mov rax,QWORD PTR[((64+24))+rax] - lea rax,QWORD PTR[48+rax] - - mov rbx,QWORD PTR[((-8))+rax] - mov rbp,QWORD PTR[((-16))+rax] - mov r12,QWORD PTR[((-24))+rax] - mov r13,QWORD PTR[((-32))+rax] - mov r14,QWORD PTR[((-40))+rax] - mov r15,QWORD PTR[((-48))+rax] - mov QWORD PTR[144+r8],rbx - mov QWORD PTR[160+r8],rbp - mov QWORD PTR[216+r8],r12 - mov QWORD PTR[224+r8],r13 - mov QWORD PTR[232+r8],r14 - mov QWORD PTR[240+r8],r15 - - lea r10,QWORD PTR[$L$epilogue] + mov rax,QWORD[((64+24))+rax] + lea rax,[48+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + + lea r10,[$L$epilogue] cmp rbx,r10 - jb $L$in_prologue + jb NEAR $L$in_prologue - lea rsi,QWORD PTR[((64+32))+rsi] - lea rdi,QWORD PTR[512+r8] + lea rsi,[((64+32))+rsi] + lea rdi,[512+r8] mov ecx,8 - DD 0a548f3fch + DD 0xa548f3fc -$L$in_prologue:: - mov rdi,QWORD PTR[8+rax] - mov rsi,QWORD PTR[16+rax] - mov QWORD PTR[152+r8],rax - mov QWORD PTR[168+r8],rsi - mov QWORD PTR[176+r8],rdi +$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 PTR[40+r9] + mov rdi,QWORD[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0xa548f3fc mov rsi,r9 xor rcx,rcx - mov rdx,QWORD PTR[8+rsi] - mov r8,QWORD PTR[rsi] - mov r9,QWORD PTR[16+rsi] - mov r10,QWORD PTR[40+rsi] - lea r11,QWORD PTR[56+rsi] - lea r12,QWORD PTR[24+rsi] - mov QWORD PTR[32+rsp],r10 - mov QWORD PTR[40+rsp],r11 - mov QWORD PTR[48+rsp],r12 - mov QWORD PTR[56+rsp],rcx - call QWORD PTR[__imp_RtlVirtualUnwind] + mov 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 @@ -2971,27 +2973,22 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) + +section .pdata rdata align=4 ALIGN 4 - DD imagerel $L$SEH_begin_sha256_block_data_order - DD imagerel $L$SEH_end_sha256_block_data_order - DD imagerel $L$SEH_info_sha256_block_data_order - DD imagerel $L$SEH_begin_sha256_block_data_order_ssse3 - DD imagerel $L$SEH_end_sha256_block_data_order_ssse3 - DD imagerel $L$SEH_info_sha256_block_data_order_ssse3 -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + 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_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:: +$L$SEH_info_sha256_block_data_order: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue,imagerel $L$epilogue -$L$SEH_info_sha256_block_data_order_ssse3:: + DD se_handler wrt ..imagebase + DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase +$L$SEH_info_sha256_block_data_order_ssse3: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue_ssse3,imagerel $L$epilogue_ssse3 - -.xdata ENDS -END + DD se_handler wrt ..imagebase + DD $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase diff --git a/win-x86_64/crypto/sha/sha512-x86_64.asm b/win-x86_64/crypto/sha/sha512-x86_64.asm index e993c3c..b76cc0e 100644 --- a/win-x86_64/crypto/sha/sha512-x86_64.asm +++ b/win-x86_64/crypto/sha/sha512-x86_64.asm @@ -1,15 +1,19 @@ -OPTION DOTNAME -.text$ SEGMENT ALIGN(256) 'CODE' +default rel +%define XMMWORD +%define YMMWORD +%define ZMMWORD +section .text code align=64 -EXTERN OPENSSL_ia32cap_P:NEAR -PUBLIC sha512_block_data_order + +EXTERN OPENSSL_ia32cap_P +global sha512_block_data_order ALIGN 16 -sha512_block_data_order PROC PUBLIC - mov QWORD PTR[8+rsp],rdi ;WIN64 prologue - mov QWORD PTR[16+rsp],rsi +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:: +$L$SEH_begin_sha512_block_data_order: mov rdi,rcx mov rsi,rdx mov rdx,r8 @@ -24,30 +28,30 @@ $L$SEH_begin_sha512_block_data_order:: mov r11,rsp shl rdx,4 sub rsp,16*8+4*8 - lea rdx,QWORD PTR[rdx*8+rsi] + lea rdx,[rdx*8+rsi] and rsp,-64 - mov QWORD PTR[((128+0))+rsp],rdi - mov QWORD PTR[((128+8))+rsp],rsi - mov QWORD PTR[((128+16))+rsp],rdx - mov QWORD PTR[((128+24))+rsp],r11 -$L$prologue:: - - mov rax,QWORD PTR[rdi] - mov rbx,QWORD PTR[8+rdi] - mov rcx,QWORD PTR[16+rdi] - mov rdx,QWORD PTR[24+rdi] - mov r8,QWORD PTR[32+rdi] - mov r9,QWORD PTR[40+rdi] - mov r10,QWORD PTR[48+rdi] - mov r11,QWORD PTR[56+rdi] - jmp $L$loop + mov QWORD[((128+0))+rsp],rdi + mov QWORD[((128+8))+rsp],rsi + mov QWORD[((128+16))+rsp],rdx + mov QWORD[((128+24))+rsp],r11 +$L$prologue: + + mov rax,QWORD[rdi] + mov rbx,QWORD[8+rdi] + mov rcx,QWORD[16+rdi] + mov rdx,QWORD[24+rdi] + mov r8,QWORD[32+rdi] + mov r9,QWORD[40+rdi] + mov r10,QWORD[48+rdi] + mov r11,QWORD[56+rdi] + jmp NEAR $L$loop ALIGN 16 -$L$loop:: +$L$loop: mov rdi,rbx - lea rbp,QWORD PTR[K512] + lea rbp,[K512] xor rdi,rcx - mov r12,QWORD PTR[rsi] + mov r12,QWORD[rsi] mov r13,r8 mov r14,rax bswap r12 @@ -58,7 +62,7 @@ $L$loop:: ror r14,5 xor r15,r10 - mov QWORD PTR[rsp],r12 + mov QWORD[rsp],r12 xor r14,rax and r15,r8 @@ -71,7 +75,7 @@ $L$loop:: add r12,r15 mov r15,rax - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rax xor r15,rbx @@ -86,9 +90,9 @@ $L$loop:: add rdx,r12 add r11,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,[8+rbp] add r11,r14 - mov r12,QWORD PTR[8+rsi] + mov r12,QWORD[8+rsi] mov r13,rdx mov r14,r11 bswap r12 @@ -99,7 +103,7 @@ $L$loop:: ror r14,5 xor rdi,r9 - mov QWORD PTR[8+rsp],r12 + mov QWORD[8+rsp],r12 xor r14,r11 and rdi,rdx @@ -112,7 +116,7 @@ $L$loop:: add r12,rdi mov rdi,r11 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r11 xor rdi,rax @@ -127,9 +131,9 @@ $L$loop:: add rcx,r12 add r10,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,[24+rbp] add r10,r14 - mov r12,QWORD PTR[16+rsi] + mov r12,QWORD[16+rsi] mov r13,rcx mov r14,r10 bswap r12 @@ -140,7 +144,7 @@ $L$loop:: ror r14,5 xor r15,r8 - mov QWORD PTR[16+rsp],r12 + mov QWORD[16+rsp],r12 xor r14,r10 and r15,rcx @@ -153,7 +157,7 @@ $L$loop:: add r12,r15 mov r15,r10 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r10 xor r15,r11 @@ -168,9 +172,9 @@ $L$loop:: add rbx,r12 add r9,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,[8+rbp] add r9,r14 - mov r12,QWORD PTR[24+rsi] + mov r12,QWORD[24+rsi] mov r13,rbx mov r14,r9 bswap r12 @@ -181,7 +185,7 @@ $L$loop:: ror r14,5 xor rdi,rdx - mov QWORD PTR[24+rsp],r12 + mov QWORD[24+rsp],r12 xor r14,r9 and rdi,rbx @@ -194,7 +198,7 @@ $L$loop:: add r12,rdi mov rdi,r9 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r9 xor rdi,r10 @@ -209,9 +213,9 @@ $L$loop:: add rax,r12 add r8,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,[24+rbp] add r8,r14 - mov r12,QWORD PTR[32+rsi] + mov r12,QWORD[32+rsi] mov r13,rax mov r14,r8 bswap r12 @@ -222,7 +226,7 @@ $L$loop:: ror r14,5 xor r15,rcx - mov QWORD PTR[32+rsp],r12 + mov QWORD[32+rsp],r12 xor r14,r8 and r15,rax @@ -235,7 +239,7 @@ $L$loop:: add r12,r15 mov r15,r8 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r8 xor r15,r9 @@ -250,9 +254,9 @@ $L$loop:: add r11,r12 add rdx,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,[8+rbp] add rdx,r14 - mov r12,QWORD PTR[40+rsi] + mov r12,QWORD[40+rsi] mov r13,r11 mov r14,rdx bswap r12 @@ -263,7 +267,7 @@ $L$loop:: ror r14,5 xor rdi,rbx - mov QWORD PTR[40+rsp],r12 + mov QWORD[40+rsp],r12 xor r14,rdx and rdi,r11 @@ -276,7 +280,7 @@ $L$loop:: add r12,rdi mov rdi,rdx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rdx xor rdi,r8 @@ -291,9 +295,9 @@ $L$loop:: add r10,r12 add rcx,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,[24+rbp] add rcx,r14 - mov r12,QWORD PTR[48+rsi] + mov r12,QWORD[48+rsi] mov r13,r10 mov r14,rcx bswap r12 @@ -304,7 +308,7 @@ $L$loop:: ror r14,5 xor r15,rax - mov QWORD PTR[48+rsp],r12 + mov QWORD[48+rsp],r12 xor r14,rcx and r15,r10 @@ -317,7 +321,7 @@ $L$loop:: add r12,r15 mov r15,rcx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rcx xor r15,rdx @@ -332,9 +336,9 @@ $L$loop:: add r9,r12 add rbx,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,[8+rbp] add rbx,r14 - mov r12,QWORD PTR[56+rsi] + mov r12,QWORD[56+rsi] mov r13,r9 mov r14,rbx bswap r12 @@ -345,7 +349,7 @@ $L$loop:: ror r14,5 xor rdi,r11 - mov QWORD PTR[56+rsp],r12 + mov QWORD[56+rsp],r12 xor r14,rbx and rdi,r9 @@ -358,7 +362,7 @@ $L$loop:: add r12,rdi mov rdi,rbx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rbx xor rdi,rcx @@ -373,9 +377,9 @@ $L$loop:: add r8,r12 add rax,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,[24+rbp] add rax,r14 - mov r12,QWORD PTR[64+rsi] + mov r12,QWORD[64+rsi] mov r13,r8 mov r14,rax bswap r12 @@ -386,7 +390,7 @@ $L$loop:: ror r14,5 xor r15,r10 - mov QWORD PTR[64+rsp],r12 + mov QWORD[64+rsp],r12 xor r14,rax and r15,r8 @@ -399,7 +403,7 @@ $L$loop:: add r12,r15 mov r15,rax - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rax xor r15,rbx @@ -414,9 +418,9 @@ $L$loop:: add rdx,r12 add r11,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,[8+rbp] add r11,r14 - mov r12,QWORD PTR[72+rsi] + mov r12,QWORD[72+rsi] mov r13,rdx mov r14,r11 bswap r12 @@ -427,7 +431,7 @@ $L$loop:: ror r14,5 xor rdi,r9 - mov QWORD PTR[72+rsp],r12 + mov QWORD[72+rsp],r12 xor r14,r11 and rdi,rdx @@ -440,7 +444,7 @@ $L$loop:: add r12,rdi mov rdi,r11 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r11 xor rdi,rax @@ -455,9 +459,9 @@ $L$loop:: add rcx,r12 add r10,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,[24+rbp] add r10,r14 - mov r12,QWORD PTR[80+rsi] + mov r12,QWORD[80+rsi] mov r13,rcx mov r14,r10 bswap r12 @@ -468,7 +472,7 @@ $L$loop:: ror r14,5 xor r15,r8 - mov QWORD PTR[80+rsp],r12 + mov QWORD[80+rsp],r12 xor r14,r10 and r15,rcx @@ -481,7 +485,7 @@ $L$loop:: add r12,r15 mov r15,r10 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r10 xor r15,r11 @@ -496,9 +500,9 @@ $L$loop:: add rbx,r12 add r9,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,[8+rbp] add r9,r14 - mov r12,QWORD PTR[88+rsi] + mov r12,QWORD[88+rsi] mov r13,rbx mov r14,r9 bswap r12 @@ -509,7 +513,7 @@ $L$loop:: ror r14,5 xor rdi,rdx - mov QWORD PTR[88+rsp],r12 + mov QWORD[88+rsp],r12 xor r14,r9 and rdi,rbx @@ -522,7 +526,7 @@ $L$loop:: add r12,rdi mov rdi,r9 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r9 xor rdi,r10 @@ -537,9 +541,9 @@ $L$loop:: add rax,r12 add r8,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,[24+rbp] add r8,r14 - mov r12,QWORD PTR[96+rsi] + mov r12,QWORD[96+rsi] mov r13,rax mov r14,r8 bswap r12 @@ -550,7 +554,7 @@ $L$loop:: ror r14,5 xor r15,rcx - mov QWORD PTR[96+rsp],r12 + mov QWORD[96+rsp],r12 xor r14,r8 and r15,rax @@ -563,7 +567,7 @@ $L$loop:: add r12,r15 mov r15,r8 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r8 xor r15,r9 @@ -578,9 +582,9 @@ $L$loop:: add r11,r12 add rdx,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,[8+rbp] add rdx,r14 - mov r12,QWORD PTR[104+rsi] + mov r12,QWORD[104+rsi] mov r13,r11 mov r14,rdx bswap r12 @@ -591,7 +595,7 @@ $L$loop:: ror r14,5 xor rdi,rbx - mov QWORD PTR[104+rsp],r12 + mov QWORD[104+rsp],r12 xor r14,rdx and rdi,r11 @@ -604,7 +608,7 @@ $L$loop:: add r12,rdi mov rdi,rdx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rdx xor rdi,r8 @@ -619,9 +623,9 @@ $L$loop:: add r10,r12 add rcx,r12 - lea rbp,QWORD PTR[24+rbp] + lea rbp,[24+rbp] add rcx,r14 - mov r12,QWORD PTR[112+rsi] + mov r12,QWORD[112+rsi] mov r13,r10 mov r14,rcx bswap r12 @@ -632,7 +636,7 @@ $L$loop:: ror r14,5 xor r15,rax - mov QWORD PTR[112+rsp],r12 + mov QWORD[112+rsp],r12 xor r14,rcx and r15,r10 @@ -645,7 +649,7 @@ $L$loop:: add r12,r15 mov r15,rcx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rcx xor r15,rdx @@ -660,9 +664,9 @@ $L$loop:: add r9,r12 add rbx,r12 - lea rbp,QWORD PTR[8+rbp] + lea rbp,[8+rbp] add rbx,r14 - mov r12,QWORD PTR[120+rsi] + mov r12,QWORD[120+rsi] mov r13,r9 mov r14,rbx bswap r12 @@ -673,7 +677,7 @@ $L$loop:: ror r14,5 xor rdi,r11 - mov QWORD PTR[120+rsp],r12 + mov QWORD[120+rsp],r12 xor r14,rbx and rdi,r9 @@ -686,7 +690,7 @@ $L$loop:: add r12,rdi mov rdi,rbx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rbx xor rdi,rcx @@ -701,12 +705,12 @@ $L$loop:: add r8,r12 add rax,r12 - lea rbp,QWORD PTR[24+rbp] - jmp $L$rounds_16_xx + lea rbp,[24+rbp] + jmp NEAR $L$rounds_16_xx ALIGN 16 -$L$rounds_16_xx:: - mov r13,QWORD PTR[8+rsp] - mov r15,QWORD PTR[112+rsp] +$L$rounds_16_xx: + mov r13,QWORD[8+rsp] + mov r15,QWORD[112+rsp] mov r12,r13 ror r13,7 @@ -723,9 +727,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[72+rsp] + add r12,QWORD[72+rsp] - add r12,QWORD PTR[rsp] + add r12,QWORD[rsp] mov r13,r8 add r12,r15 mov r14,rax @@ -736,7 +740,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,r10 - mov QWORD PTR[rsp],r12 + mov QWORD[rsp],r12 xor r14,rax and r15,r8 @@ -749,7 +753,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,rax - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rax xor r15,rbx @@ -764,9 +768,9 @@ $L$rounds_16_xx:: add rdx,r12 add r11,r12 - lea rbp,QWORD PTR[8+rbp] - mov r13,QWORD PTR[16+rsp] - mov rdi,QWORD PTR[120+rsp] + lea rbp,[8+rbp] + mov r13,QWORD[16+rsp] + mov rdi,QWORD[120+rsp] mov r12,r13 ror r13,7 @@ -783,9 +787,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[80+rsp] + add r12,QWORD[80+rsp] - add r12,QWORD PTR[8+rsp] + add r12,QWORD[8+rsp] mov r13,rdx add r12,rdi mov r14,r11 @@ -796,7 +800,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,r9 - mov QWORD PTR[8+rsp],r12 + mov QWORD[8+rsp],r12 xor r14,r11 and rdi,rdx @@ -809,7 +813,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,r11 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r11 xor rdi,rax @@ -824,9 +828,9 @@ $L$rounds_16_xx:: add rcx,r12 add r10,r12 - lea rbp,QWORD PTR[24+rbp] - mov r13,QWORD PTR[24+rsp] - mov r15,QWORD PTR[rsp] + lea rbp,[24+rbp] + mov r13,QWORD[24+rsp] + mov r15,QWORD[rsp] mov r12,r13 ror r13,7 @@ -843,9 +847,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[88+rsp] + add r12,QWORD[88+rsp] - add r12,QWORD PTR[16+rsp] + add r12,QWORD[16+rsp] mov r13,rcx add r12,r15 mov r14,r10 @@ -856,7 +860,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,r8 - mov QWORD PTR[16+rsp],r12 + mov QWORD[16+rsp],r12 xor r14,r10 and r15,rcx @@ -869,7 +873,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,r10 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r10 xor r15,r11 @@ -884,9 +888,9 @@ $L$rounds_16_xx:: add rbx,r12 add r9,r12 - lea rbp,QWORD PTR[8+rbp] - mov r13,QWORD PTR[32+rsp] - mov rdi,QWORD PTR[8+rsp] + lea rbp,[8+rbp] + mov r13,QWORD[32+rsp] + mov rdi,QWORD[8+rsp] mov r12,r13 ror r13,7 @@ -903,9 +907,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[96+rsp] + add r12,QWORD[96+rsp] - add r12,QWORD PTR[24+rsp] + add r12,QWORD[24+rsp] mov r13,rbx add r12,rdi mov r14,r9 @@ -916,7 +920,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,rdx - mov QWORD PTR[24+rsp],r12 + mov QWORD[24+rsp],r12 xor r14,r9 and rdi,rbx @@ -929,7 +933,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,r9 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r9 xor rdi,r10 @@ -944,9 +948,9 @@ $L$rounds_16_xx:: add rax,r12 add r8,r12 - lea rbp,QWORD PTR[24+rbp] - mov r13,QWORD PTR[40+rsp] - mov r15,QWORD PTR[16+rsp] + lea rbp,[24+rbp] + mov r13,QWORD[40+rsp] + mov r15,QWORD[16+rsp] mov r12,r13 ror r13,7 @@ -963,9 +967,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[104+rsp] + add r12,QWORD[104+rsp] - add r12,QWORD PTR[32+rsp] + add r12,QWORD[32+rsp] mov r13,rax add r12,r15 mov r14,r8 @@ -976,7 +980,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,rcx - mov QWORD PTR[32+rsp],r12 + mov QWORD[32+rsp],r12 xor r14,r8 and r15,rax @@ -989,7 +993,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,r8 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r8 xor r15,r9 @@ -1004,9 +1008,9 @@ $L$rounds_16_xx:: add r11,r12 add rdx,r12 - lea rbp,QWORD PTR[8+rbp] - mov r13,QWORD PTR[48+rsp] - mov rdi,QWORD PTR[24+rsp] + lea rbp,[8+rbp] + mov r13,QWORD[48+rsp] + mov rdi,QWORD[24+rsp] mov r12,r13 ror r13,7 @@ -1023,9 +1027,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[112+rsp] + add r12,QWORD[112+rsp] - add r12,QWORD PTR[40+rsp] + add r12,QWORD[40+rsp] mov r13,r11 add r12,rdi mov r14,rdx @@ -1036,7 +1040,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,rbx - mov QWORD PTR[40+rsp],r12 + mov QWORD[40+rsp],r12 xor r14,rdx and rdi,r11 @@ -1049,7 +1053,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,rdx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rdx xor rdi,r8 @@ -1064,9 +1068,9 @@ $L$rounds_16_xx:: add r10,r12 add rcx,r12 - lea rbp,QWORD PTR[24+rbp] - mov r13,QWORD PTR[56+rsp] - mov r15,QWORD PTR[32+rsp] + lea rbp,[24+rbp] + mov r13,QWORD[56+rsp] + mov r15,QWORD[32+rsp] mov r12,r13 ror r13,7 @@ -1083,9 +1087,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[120+rsp] + add r12,QWORD[120+rsp] - add r12,QWORD PTR[48+rsp] + add r12,QWORD[48+rsp] mov r13,r10 add r12,r15 mov r14,rcx @@ -1096,7 +1100,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,rax - mov QWORD PTR[48+rsp],r12 + mov QWORD[48+rsp],r12 xor r14,rcx and r15,r10 @@ -1109,7 +1113,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,rcx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rcx xor r15,rdx @@ -1124,9 +1128,9 @@ $L$rounds_16_xx:: add r9,r12 add rbx,r12 - lea rbp,QWORD PTR[8+rbp] - mov r13,QWORD PTR[64+rsp] - mov rdi,QWORD PTR[40+rsp] + lea rbp,[8+rbp] + mov r13,QWORD[64+rsp] + mov rdi,QWORD[40+rsp] mov r12,r13 ror r13,7 @@ -1143,9 +1147,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[rsp] + add r12,QWORD[rsp] - add r12,QWORD PTR[56+rsp] + add r12,QWORD[56+rsp] mov r13,r9 add r12,rdi mov r14,rbx @@ -1156,7 +1160,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,r11 - mov QWORD PTR[56+rsp],r12 + mov QWORD[56+rsp],r12 xor r14,rbx and rdi,r9 @@ -1169,7 +1173,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,rbx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rbx xor rdi,rcx @@ -1184,9 +1188,9 @@ $L$rounds_16_xx:: add r8,r12 add rax,r12 - lea rbp,QWORD PTR[24+rbp] - mov r13,QWORD PTR[72+rsp] - mov r15,QWORD PTR[48+rsp] + lea rbp,[24+rbp] + mov r13,QWORD[72+rsp] + mov r15,QWORD[48+rsp] mov r12,r13 ror r13,7 @@ -1203,9 +1207,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[8+rsp] + add r12,QWORD[8+rsp] - add r12,QWORD PTR[64+rsp] + add r12,QWORD[64+rsp] mov r13,r8 add r12,r15 mov r14,rax @@ -1216,7 +1220,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,r10 - mov QWORD PTR[64+rsp],r12 + mov QWORD[64+rsp],r12 xor r14,rax and r15,r8 @@ -1229,7 +1233,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,rax - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rax xor r15,rbx @@ -1244,9 +1248,9 @@ $L$rounds_16_xx:: add rdx,r12 add r11,r12 - lea rbp,QWORD PTR[8+rbp] - mov r13,QWORD PTR[80+rsp] - mov rdi,QWORD PTR[56+rsp] + lea rbp,[8+rbp] + mov r13,QWORD[80+rsp] + mov rdi,QWORD[56+rsp] mov r12,r13 ror r13,7 @@ -1263,9 +1267,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[16+rsp] + add r12,QWORD[16+rsp] - add r12,QWORD PTR[72+rsp] + add r12,QWORD[72+rsp] mov r13,rdx add r12,rdi mov r14,r11 @@ -1276,7 +1280,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,r9 - mov QWORD PTR[72+rsp],r12 + mov QWORD[72+rsp],r12 xor r14,r11 and rdi,rdx @@ -1289,7 +1293,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,r11 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r11 xor rdi,rax @@ -1304,9 +1308,9 @@ $L$rounds_16_xx:: add rcx,r12 add r10,r12 - lea rbp,QWORD PTR[24+rbp] - mov r13,QWORD PTR[88+rsp] - mov r15,QWORD PTR[64+rsp] + lea rbp,[24+rbp] + mov r13,QWORD[88+rsp] + mov r15,QWORD[64+rsp] mov r12,r13 ror r13,7 @@ -1323,9 +1327,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[24+rsp] + add r12,QWORD[24+rsp] - add r12,QWORD PTR[80+rsp] + add r12,QWORD[80+rsp] mov r13,rcx add r12,r15 mov r14,r10 @@ -1336,7 +1340,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,r8 - mov QWORD PTR[80+rsp],r12 + mov QWORD[80+rsp],r12 xor r14,r10 and r15,rcx @@ -1349,7 +1353,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,r10 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r10 xor r15,r11 @@ -1364,9 +1368,9 @@ $L$rounds_16_xx:: add rbx,r12 add r9,r12 - lea rbp,QWORD PTR[8+rbp] - mov r13,QWORD PTR[96+rsp] - mov rdi,QWORD PTR[72+rsp] + lea rbp,[8+rbp] + mov r13,QWORD[96+rsp] + mov rdi,QWORD[72+rsp] mov r12,r13 ror r13,7 @@ -1383,9 +1387,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[32+rsp] + add r12,QWORD[32+rsp] - add r12,QWORD PTR[88+rsp] + add r12,QWORD[88+rsp] mov r13,rbx add r12,rdi mov r14,r9 @@ -1396,7 +1400,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,rdx - mov QWORD PTR[88+rsp],r12 + mov QWORD[88+rsp],r12 xor r14,r9 and rdi,rbx @@ -1409,7 +1413,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,r9 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r9 xor rdi,r10 @@ -1424,9 +1428,9 @@ $L$rounds_16_xx:: add rax,r12 add r8,r12 - lea rbp,QWORD PTR[24+rbp] - mov r13,QWORD PTR[104+rsp] - mov r15,QWORD PTR[80+rsp] + lea rbp,[24+rbp] + mov r13,QWORD[104+rsp] + mov r15,QWORD[80+rsp] mov r12,r13 ror r13,7 @@ -1443,9 +1447,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[40+rsp] + add r12,QWORD[40+rsp] - add r12,QWORD PTR[96+rsp] + add r12,QWORD[96+rsp] mov r13,rax add r12,r15 mov r14,r8 @@ -1456,7 +1460,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,rcx - mov QWORD PTR[96+rsp],r12 + mov QWORD[96+rsp],r12 xor r14,r8 and r15,rax @@ -1469,7 +1473,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,r8 - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,r8 xor r15,r9 @@ -1484,9 +1488,9 @@ $L$rounds_16_xx:: add r11,r12 add rdx,r12 - lea rbp,QWORD PTR[8+rbp] - mov r13,QWORD PTR[112+rsp] - mov rdi,QWORD PTR[88+rsp] + lea rbp,[8+rbp] + mov r13,QWORD[112+rsp] + mov rdi,QWORD[88+rsp] mov r12,r13 ror r13,7 @@ -1503,9 +1507,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[48+rsp] + add r12,QWORD[48+rsp] - add r12,QWORD PTR[104+rsp] + add r12,QWORD[104+rsp] mov r13,r11 add r12,rdi mov r14,rdx @@ -1516,7 +1520,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,rbx - mov QWORD PTR[104+rsp],r12 + mov QWORD[104+rsp],r12 xor r14,rdx and rdi,r11 @@ -1529,7 +1533,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,rdx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rdx xor rdi,r8 @@ -1544,9 +1548,9 @@ $L$rounds_16_xx:: add r10,r12 add rcx,r12 - lea rbp,QWORD PTR[24+rbp] - mov r13,QWORD PTR[120+rsp] - mov r15,QWORD PTR[96+rsp] + lea rbp,[24+rbp] + mov r13,QWORD[120+rsp] + mov r15,QWORD[96+rsp] mov r12,r13 ror r13,7 @@ -1563,9 +1567,9 @@ $L$rounds_16_xx:: ror r15,19 xor r12,r13 xor r15,r14 - add r12,QWORD PTR[56+rsp] + add r12,QWORD[56+rsp] - add r12,QWORD PTR[112+rsp] + add r12,QWORD[112+rsp] mov r13,r10 add r12,r15 mov r14,rcx @@ -1576,7 +1580,7 @@ $L$rounds_16_xx:: ror r14,5 xor r15,rax - mov QWORD PTR[112+rsp],r12 + mov QWORD[112+rsp],r12 xor r14,rcx and r15,r10 @@ -1589,7 +1593,7 @@ $L$rounds_16_xx:: add r12,r15 mov r15,rcx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rcx xor r15,rdx @@ -1604,9 +1608,9 @@ $L$rounds_16_xx:: add r9,r12 add rbx,r12 - lea rbp,QWORD PTR[8+rbp] - mov r13,QWORD PTR[rsp] - mov rdi,QWORD PTR[104+rsp] + lea rbp,[8+rbp] + mov r13,QWORD[rsp] + mov rdi,QWORD[104+rsp] mov r12,r13 ror r13,7 @@ -1623,9 +1627,9 @@ $L$rounds_16_xx:: ror rdi,19 xor r12,r13 xor rdi,r14 - add r12,QWORD PTR[64+rsp] + add r12,QWORD[64+rsp] - add r12,QWORD PTR[120+rsp] + add r12,QWORD[120+rsp] mov r13,r9 add r12,rdi mov r14,rbx @@ -1636,7 +1640,7 @@ $L$rounds_16_xx:: ror r14,5 xor rdi,r11 - mov QWORD PTR[120+rsp],r12 + mov QWORD[120+rsp],r12 xor r14,rbx and rdi,r9 @@ -1649,7 +1653,7 @@ $L$rounds_16_xx:: add r12,rdi mov rdi,rbx - add r12,QWORD PTR[rbp] + add r12,QWORD[rbp] xor r14,rbx xor rdi,rcx @@ -1664,144 +1668,143 @@ $L$rounds_16_xx:: add r8,r12 add rax,r12 - lea rbp,QWORD PTR[24+rbp] - cmp BYTE PTR[7+rbp],0 - jnz $L$rounds_16_xx + lea rbp,[24+rbp] + cmp BYTE[7+rbp],0 + jnz NEAR $L$rounds_16_xx - mov rdi,QWORD PTR[((128+0))+rsp] + mov rdi,QWORD[((128+0))+rsp] add rax,r14 - lea rsi,QWORD PTR[128+rsi] - - add rax,QWORD PTR[rdi] - add rbx,QWORD PTR[8+rdi] - add rcx,QWORD PTR[16+rdi] - add rdx,QWORD PTR[24+rdi] - add r8,QWORD PTR[32+rdi] - add r9,QWORD PTR[40+rdi] - add r10,QWORD PTR[48+rdi] - add r11,QWORD PTR[56+rdi] - - cmp rsi,QWORD PTR[((128+16))+rsp] - - mov QWORD PTR[rdi],rax - mov QWORD PTR[8+rdi],rbx - mov QWORD PTR[16+rdi],rcx - mov QWORD PTR[24+rdi],rdx - mov QWORD PTR[32+rdi],r8 - mov QWORD PTR[40+rdi],r9 - mov QWORD PTR[48+rdi],r10 - mov QWORD PTR[56+rdi],r11 - jb $L$loop - - mov rsi,QWORD PTR[((128+24))+rsp] - mov r15,QWORD PTR[rsi] - mov r14,QWORD PTR[8+rsi] - mov r13,QWORD PTR[16+rsi] - mov r12,QWORD PTR[24+rsi] - mov rbp,QWORD PTR[32+rsi] - mov rbx,QWORD PTR[40+rsi] - lea rsp,QWORD PTR[48+rsi] -$L$epilogue:: - mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue - mov rsi,QWORD PTR[16+rsp] + lea rsi,[128+rsi] + + add rax,QWORD[rdi] + add rbx,QWORD[8+rdi] + add rcx,QWORD[16+rdi] + add rdx,QWORD[24+rdi] + add r8,QWORD[32+rdi] + add r9,QWORD[40+rdi] + add r10,QWORD[48+rdi] + add r11,QWORD[56+rdi] + + cmp rsi,QWORD[((128+16))+rsp] + + mov QWORD[rdi],rax + mov QWORD[8+rdi],rbx + mov QWORD[16+rdi],rcx + mov QWORD[24+rdi],rdx + mov QWORD[32+rdi],r8 + mov QWORD[40+rdi],r9 + mov QWORD[48+rdi],r10 + mov QWORD[56+rdi],r11 + jb NEAR $L$loop + + mov rsi,QWORD[((128+24))+rsp] + mov r15,QWORD[rsi] + mov r14,QWORD[8+rsi] + mov r13,QWORD[16+rsi] + mov r12,QWORD[24+rsi] + mov rbp,QWORD[32+rsi] + mov rbx,QWORD[40+rsi] + lea rsp,[48+rsi] +$L$epilogue: + mov rdi,QWORD[8+rsp] ;WIN64 epilogue + mov rsi,QWORD[16+rsp] DB 0F3h,0C3h ;repret -$L$SEH_end_sha512_block_data_order:: -sha512_block_data_order ENDP +$L$SEH_end_sha512_block_data_order: ALIGN 64 -K512:: - DQ 0428a2f98d728ae22h,07137449123ef65cdh - DQ 0428a2f98d728ae22h,07137449123ef65cdh - DQ 0b5c0fbcfec4d3b2fh,0e9b5dba58189dbbch - DQ 0b5c0fbcfec4d3b2fh,0e9b5dba58189dbbch - DQ 03956c25bf348b538h,059f111f1b605d019h - DQ 03956c25bf348b538h,059f111f1b605d019h - DQ 0923f82a4af194f9bh,0ab1c5ed5da6d8118h - DQ 0923f82a4af194f9bh,0ab1c5ed5da6d8118h - DQ 0d807aa98a3030242h,012835b0145706fbeh - DQ 0d807aa98a3030242h,012835b0145706fbeh - DQ 0243185be4ee4b28ch,0550c7dc3d5ffb4e2h - DQ 0243185be4ee4b28ch,0550c7dc3d5ffb4e2h - DQ 072be5d74f27b896fh,080deb1fe3b1696b1h - DQ 072be5d74f27b896fh,080deb1fe3b1696b1h - DQ 09bdc06a725c71235h,0c19bf174cf692694h - DQ 09bdc06a725c71235h,0c19bf174cf692694h - DQ 0e49b69c19ef14ad2h,0efbe4786384f25e3h - DQ 0e49b69c19ef14ad2h,0efbe4786384f25e3h - DQ 00fc19dc68b8cd5b5h,0240ca1cc77ac9c65h - DQ 00fc19dc68b8cd5b5h,0240ca1cc77ac9c65h - DQ 02de92c6f592b0275h,04a7484aa6ea6e483h - DQ 02de92c6f592b0275h,04a7484aa6ea6e483h - DQ 05cb0a9dcbd41fbd4h,076f988da831153b5h - DQ 05cb0a9dcbd41fbd4h,076f988da831153b5h - DQ 0983e5152ee66dfabh,0a831c66d2db43210h - DQ 0983e5152ee66dfabh,0a831c66d2db43210h - DQ 0b00327c898fb213fh,0bf597fc7beef0ee4h - DQ 0b00327c898fb213fh,0bf597fc7beef0ee4h - DQ 0c6e00bf33da88fc2h,0d5a79147930aa725h - DQ 0c6e00bf33da88fc2h,0d5a79147930aa725h - DQ 006ca6351e003826fh,0142929670a0e6e70h - DQ 006ca6351e003826fh,0142929670a0e6e70h - DQ 027b70a8546d22ffch,02e1b21385c26c926h - DQ 027b70a8546d22ffch,02e1b21385c26c926h - DQ 04d2c6dfc5ac42aedh,053380d139d95b3dfh - DQ 04d2c6dfc5ac42aedh,053380d139d95b3dfh - DQ 0650a73548baf63deh,0766a0abb3c77b2a8h - DQ 0650a73548baf63deh,0766a0abb3c77b2a8h - DQ 081c2c92e47edaee6h,092722c851482353bh - DQ 081c2c92e47edaee6h,092722c851482353bh - DQ 0a2bfe8a14cf10364h,0a81a664bbc423001h - DQ 0a2bfe8a14cf10364h,0a81a664bbc423001h - DQ 0c24b8b70d0f89791h,0c76c51a30654be30h - DQ 0c24b8b70d0f89791h,0c76c51a30654be30h - DQ 0d192e819d6ef5218h,0d69906245565a910h - DQ 0d192e819d6ef5218h,0d69906245565a910h - DQ 0f40e35855771202ah,0106aa07032bbd1b8h - DQ 0f40e35855771202ah,0106aa07032bbd1b8h - DQ 019a4c116b8d2d0c8h,01e376c085141ab53h - DQ 019a4c116b8d2d0c8h,01e376c085141ab53h - DQ 02748774cdf8eeb99h,034b0bcb5e19b48a8h - DQ 02748774cdf8eeb99h,034b0bcb5e19b48a8h - DQ 0391c0cb3c5c95a63h,04ed8aa4ae3418acbh - DQ 0391c0cb3c5c95a63h,04ed8aa4ae3418acbh - DQ 05b9cca4f7763e373h,0682e6ff3d6b2b8a3h - DQ 05b9cca4f7763e373h,0682e6ff3d6b2b8a3h - DQ 0748f82ee5defb2fch,078a5636f43172f60h - DQ 0748f82ee5defb2fch,078a5636f43172f60h - DQ 084c87814a1f0ab72h,08cc702081a6439ech - DQ 084c87814a1f0ab72h,08cc702081a6439ech - DQ 090befffa23631e28h,0a4506cebde82bde9h - DQ 090befffa23631e28h,0a4506cebde82bde9h - DQ 0bef9a3f7b2c67915h,0c67178f2e372532bh - DQ 0bef9a3f7b2c67915h,0c67178f2e372532bh - DQ 0ca273eceea26619ch,0d186b8c721c0c207h - DQ 0ca273eceea26619ch,0d186b8c721c0c207h - DQ 0eada7dd6cde0eb1eh,0f57d4f7fee6ed178h - DQ 0eada7dd6cde0eb1eh,0f57d4f7fee6ed178h - DQ 006f067aa72176fbah,00a637dc5a2c898a6h - DQ 006f067aa72176fbah,00a637dc5a2c898a6h - DQ 0113f9804bef90daeh,01b710b35131c471bh - DQ 0113f9804bef90daeh,01b710b35131c471bh - DQ 028db77f523047d84h,032caab7b40c72493h - DQ 028db77f523047d84h,032caab7b40c72493h - DQ 03c9ebe0a15c9bebch,0431d67c49c100d4ch - DQ 03c9ebe0a15c9bebch,0431d67c49c100d4ch - DQ 04cc5d4becb3e42b6h,0597f299cfc657e2ah - DQ 04cc5d4becb3e42b6h,0597f299cfc657e2ah - DQ 05fcb6fab3ad6faech,06c44198c4a475817h - DQ 05fcb6fab3ad6faech,06c44198c4a475817h - - DQ 00001020304050607h,008090a0b0c0d0e0fh - DQ 00001020304050607h,008090a0b0c0d0e0fh +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:NEAR +EXTERN __imp_RtlVirtualUnwind ALIGN 16 -se_handler PROC PRIVATE +se_handler: push rsi push rdi push rbx @@ -1813,74 +1816,74 @@ se_handler PROC PRIVATE pushfq sub rsp,64 - mov rax,QWORD PTR[120+r8] - mov rbx,QWORD PTR[248+r8] + mov rax,QWORD[120+r8] + mov rbx,QWORD[248+r8] - mov rsi,QWORD PTR[8+r9] - mov r11,QWORD PTR[56+r9] + mov rsi,QWORD[8+r9] + mov r11,QWORD[56+r9] - mov r10d,DWORD PTR[r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD[r11] + lea r10,[r10*1+rsi] cmp rbx,r10 - jb $L$in_prologue + jb NEAR $L$in_prologue - mov rax,QWORD PTR[152+r8] + mov rax,QWORD[152+r8] - mov r10d,DWORD PTR[4+r11] - lea r10,QWORD PTR[r10*1+rsi] + mov r10d,DWORD[4+r11] + lea r10,[r10*1+rsi] cmp rbx,r10 - jae $L$in_prologue + jae NEAR $L$in_prologue mov rsi,rax - mov rax,QWORD PTR[((128+24))+rax] - lea rax,QWORD PTR[48+rax] - - mov rbx,QWORD PTR[((-8))+rax] - mov rbp,QWORD PTR[((-16))+rax] - mov r12,QWORD PTR[((-24))+rax] - mov r13,QWORD PTR[((-32))+rax] - mov r14,QWORD PTR[((-40))+rax] - mov r15,QWORD PTR[((-48))+rax] - mov QWORD PTR[144+r8],rbx - mov QWORD PTR[160+r8],rbp - mov QWORD PTR[216+r8],r12 - mov QWORD PTR[224+r8],r13 - mov QWORD PTR[232+r8],r14 - mov QWORD PTR[240+r8],r15 - - lea r10,QWORD PTR[$L$epilogue] + mov rax,QWORD[((128+24))+rax] + lea rax,[48+rax] + + mov rbx,QWORD[((-8))+rax] + mov rbp,QWORD[((-16))+rax] + mov r12,QWORD[((-24))+rax] + mov r13,QWORD[((-32))+rax] + mov r14,QWORD[((-40))+rax] + mov r15,QWORD[((-48))+rax] + mov QWORD[144+r8],rbx + mov QWORD[160+r8],rbp + mov QWORD[216+r8],r12 + mov QWORD[224+r8],r13 + mov QWORD[232+r8],r14 + mov QWORD[240+r8],r15 + + lea r10,[$L$epilogue] cmp rbx,r10 - jb $L$in_prologue + jb NEAR $L$in_prologue - lea rsi,QWORD PTR[((128+32))+rsi] - lea rdi,QWORD PTR[512+r8] + lea rsi,[((128+32))+rsi] + lea rdi,[512+r8] mov ecx,12 - DD 0a548f3fch + DD 0xa548f3fc -$L$in_prologue:: - mov rdi,QWORD PTR[8+rax] - mov rsi,QWORD PTR[16+rax] - mov QWORD PTR[152+r8],rax - mov QWORD PTR[168+r8],rsi - mov QWORD PTR[176+r8],rdi +$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 PTR[40+r9] + mov rdi,QWORD[40+r9] mov rsi,r8 mov ecx,154 - DD 0a548f3fch + DD 0xa548f3fc mov rsi,r9 xor rcx,rcx - mov rdx,QWORD PTR[8+rsi] - mov r8,QWORD PTR[rsi] - mov r9,QWORD PTR[16+rsi] - mov r10,QWORD PTR[40+rsi] - lea r11,QWORD PTR[56+rsi] - lea r12,QWORD PTR[24+rsi] - mov QWORD PTR[32+rsp],r10 - mov QWORD PTR[40+rsp],r11 - mov QWORD PTR[48+rsp],r12 - mov QWORD PTR[56+rsp],rcx - call QWORD PTR[__imp_RtlVirtualUnwind] + mov 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 @@ -1894,20 +1897,15 @@ $L$in_prologue:: pop rdi pop rsi DB 0F3h,0C3h ;repret -se_handler ENDP -.text$ ENDS -.pdata SEGMENT READONLY ALIGN(4) + +section .pdata rdata align=4 ALIGN 4 - DD imagerel $L$SEH_begin_sha512_block_data_order - DD imagerel $L$SEH_end_sha512_block_data_order - DD imagerel $L$SEH_info_sha512_block_data_order -.pdata ENDS -.xdata SEGMENT READONLY ALIGN(8) + 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:: +$L$SEH_info_sha512_block_data_order: DB 9,0,0,0 - DD imagerel se_handler - DD imagerel $L$prologue,imagerel $L$epilogue - -.xdata ENDS -END + DD se_handler wrt ..imagebase + DD $L$prologue wrt ..imagebase,$L$epilogue wrt ..imagebase |